(57)【要約】【課題】  双方のデバイスがサービス検索を実施していると、互いのサービスを検出するまでに時間がかかるという問題があった。【解決手段】  上位のアプリケーションから指定されたサービスにおける役割に応じて、検索信号の送信または待受のどちらか一方のみを行う。デバイス検索およびサービス検索の処理を減らすことができ、サービス開始までの時間を短縮することが可能となる。【選択図】  図４
2015144422.tif 000002
【特許請求の範囲】
【請求項１】
他の通信装置と通信する通信装置であって、
他の通信装置が提供する機能の検索処理を行う検索手段と、
前記通信装置が提供する機能を前記他の通信装置に通知する通知手段と、
前記他の通信装置と無線ネットワークを構築する際に、前記通信装置または前記他の通信装置のいずれかにおいて、該無線ネットワークを介して実現される所定のサービスが指定されているか否かを判定する判定手段と、
前記検索手段による検索と前記通知手段による通知の実行時間を前記判定手段による判定結果に基づいて変更する変更手段と、
を有することを特徴とする通信装置。
【請求項２】
前記判定手段は、前記通信装置と前記他の通信装置とが無線ネットワークを構築する際に、前記通信装置が提供する機能を利用してユーザにサービスを提供するか、前記他の通信装置が提供する機能を利用してユーザにサービスを提供するか、のいずれかをユーザが指示していた場合に、前記決定がなされていると判定することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記他の通信装置が機能を提供する装置であるか、前記他の通信装置が前記通信装置の機能を利用する装置であるかを判別する判別手段を更に有し、
前記通信装置と前記他の通信装置とが無線ネットワークを構築する前に前記判別手段による判別が行われた場合、前記判定手段は前記決定がなされていると判定することを特徴とする請求項１に記載の通信装置。
【請求項４】
前記通知手段は、前記他の通信装置に提供可能な前記通信装置のサービスの情報を含む信号を前記他の通信装置に送信することにより、前記他の通信装置に提供可能な前記通信装置のサービスを通知することを特徴とする請求項１乃至３のいずれか１項に記載の通信装置。
【請求項５】
前記他の通信装置から送信された所定の信号に対する応答として、前記通知手段は、前記他の通信装置に提供可能な前記通信装置のサービスの情報を含む信号を前記他の通信装置に送信することを特徴とする請求項４に記載の通信装置。
【請求項６】
前記検索手段は、所定の信号を送信し、当該所定の信号に対する応答信号を受信することにより、前記他の通信装置が提供可能なサービスを検索することを特徴とする請求項１乃至５のいずれか１項に記載の通信装置。
【請求項７】
前記所定の信号はＳＤ  Ｒｅｑｕｅｓｔであることを特徴とする請求項５または６に記載の通信装置。
【請求項８】
前記所定の信号はＰｒｏｂｅ  Ｒｅｑｕｅｓｔであることを特徴とする請求項５または６に記載の通信装置。
【請求項９】
前記検索手段は、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔにおいて規定されたＳｅａｒｃｈ  Ｓｔａｔｅにおいて、前記検索処理を行うことを特徴とする請求項１乃至８のいずれか１項に記載の通信装置。
【請求項１０】
前記通信装置と前記他の通信装置とが前記無線ネットワークを介して通信することにより提供されるサービスに、印刷サービスが含まれることを特徴とする請求項１乃至９のいずれか１項に記載の通信装置。
【請求項１１】
前記通信装置と前記他の通信装置とが前記無線ネットワークを介して通信することにより提供されるサービスに、動画像ストリーミングサービスが含まれることを特徴とする請求項１乃至１０のいずれか１項に記載の通信装置。
【請求項１２】
前記通信装置と前記他の通信装置とが前記無線ネットワークを介して通信することにより提供されるサービスに、画像転送サービスが含まれることを特徴とする請求項１乃至１１のいずれか１項に記載の通信装置。
【請求項１３】
前記制御手段は、前記検索手段を選択的に開始してから所定の時間内に所望の機能を提供する装置を発見できなかった場合に、前記検索手段による検索と前記通知手段による通知とを交互に行うことを特徴とする請求項１に記載の通信装置。
【請求項１４】
前記制御手段は、前記検索と前記通知手段による通知を選択的に開始してから所定の時間内に前記通知を完了しなかった場合に、前記検索手段による検索と前記通知手段による通知とを交互に行うことを特徴とする請求項１に記載の通信装置。
【請求項１５】
通信装置の制御方法であって、
他の通信装置が提供するサービスの検索処理を行う検索工程と、
前記通信装置が提供するサービスを前記他の通信装置に通知する通知工程と、
前記通信装置と前記他の通信装置とが無線ネットワークを構築する際に、前記通信装置が提供する機能を利用してユーザにサービスを提供するか、前記他の通信装置が提供する機能を利用してユーザにサービスを提供するか、が決定されているか否かを判定する判定工程と、
前記判定の結果に基づいて、前記検索処理と前記通知とを交互に行うか、前記検索処理と前記通知のうちのいずれか一方を行うかを前記通信装置に選択的に行わせる制御工程と、
を有することを特徴とする制御方法。
【請求項１６】
コンピュータを、請求項１乃至１２のいずれか１項に記載の通信装置として動作させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、通信装置の制御方法、プログラムに関する。
【背景技術】
【０００２】
近年、デジタルカメラやプリンタなどの電子機器に無線ＬＡＮステーション機能を搭載し、電子機器を通信装置として、無線ＬＡＮに接続して使用するケースが増えてきている。例えば特許文献１には、デジタルカメラに無線ＬＡＮ機能を搭載し、画像共有する方法が開示されている。
【０００３】
また、Ｗｉ−Ｆｉ  ＡｌｌｉａｎｃｅによりＷｉ−Ｆｉ  Ｄｉｒｅｃｔ（登録商標）という規格が策定された。Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔでは、各通信装置が無線ＬＡＮアクセスポイントまたは無線ＬＡＮステーションのいずれとして動作するかを決定するプロトコルが規定されている。このプロトコルを実行することにより、通信装置のどちらが無線ＬＡＮアクセスポイントになり、どちらが無線ＬＡＮステーションになるかが自動的に決定される。
【０００４】
Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔでは、接続する相手装置を検索するためのプロトコルであるデバイスディスカバリもまた規定されている。デバイスディスカバリでは、各通信装置が検索信号を送信して相手装置を検索する検索状態と、当該検索を待ち受け、相手装置からの検索に対して応答を行う待受状態とをランダム周期で繰り返すことで、接続する相手装置を検索する。Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔでは、上記検索状態のことをＳｅａｒｃｈ  Ｓｔａｔｅ、待受状態のことをＬｉｓｔｅｎ  Ｓｔａｔｅと呼ぶ。
【０００５】
さらに、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔでは、オプション機能として上位のアプリケーションがサポートしているサービス情報を広告・検索する機能（サービスディスカバリ機能）もまた規定されている。サービスディスカバリ機能によれば、接続処理実行前に、相手装置が有する機能情報を知ることができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−３５７６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、デバイスディスカバリでは、一方がＳｅａｒｃｈ  Ｓｔａｔｅであり他方がＬｉｓｔｅｎ  Ｓｔａｔｅである状態でないと、相手装置の検出はできない。このため、Ｓｅａｒｃｈ  ＳｔａｔｅとＬｉｓｔｅｎ  Ｓｔａｔｅとをランダム周期で繰り返すのでは、相手装置を検出するまでに時間がかかってしまう場合がある。
【０００８】
そこで本発明は、所定の条件に応じて検索する装置と検索の待ち受けを行う装置を予め定めるようにすることで、相手装置を検出するまでの時間を短縮できるようにすることを目的とする。
【課題を解決するための手段】
【０００９】
本発明の通信装置は、他の通信装置と通信する通信装置であって、他の通信装置が提供する機能の検索処理を行う検索手段と、前記通信装置が提供する機能を前記他の通信装置に通知する通知手段と、前記他の通信装置と無線ネットワークを構築する際に、前記通信装置または前記他の通信装置のいずれかにおいて、該無線ネットワークを介して実現される所定のサービスが指定されているか否かを判定する判定手段と、前記判定手段による判定結果に基づいて、前記検索手段による検索と前記通知手段による通知とを交互に行うか、前記検索手段もしくは検索と前記通知手段による通知のうちのいずれか一方を行うかを選択的に行う制御手段と、を有する。
【発明の効果】
【００１０】
本発明によれば、所定のサービスが指定されていることに応じて、検索信号の送信または待受のどちらか一方のみを行うため、相手装置を検出するまでの時間を短縮することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】装置を構成するブロック図
【図２】装置内のソフトウェア機能ブロック図
【図３】本発明が適用されるネットワーク構成の一例を示す図
【図４】実施形態１における装置が実現するフローチャート
【図５】実施形態１におけるシーケンスチャート
【図６】実施形態１におけるシーケンスチャート
【図７】実施形態２における装置が実現するフローチャート
【図８】実施形態２におけるシーケンスチャート
【発明を実施するための形態】
【００１２】
（実施形態１）
以下、本実施形態について、図面を参照しながら詳細に説明する。以下では、ＩＥＥＥ８０２．１１シリーズに準拠した無線ＬＡＮシステムを用いた例について説明するが、通信形態は必ずしもＩＥＥＥ８０２．１１シリーズに準拠した無線ＬＡＮに限らない。例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）やＬＴＥ（Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）といった他の通信規格に準拠した通信形態であってもよい。なお、ＩＥＥＥは、Ｔｈｅ  Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓの略である。
【００１３】
図１は本発明を適用できる実施形態に係る通信装置の構成の一例を表すブロック図である。１０１は装置全体を示す。１０２は、記憶部１０３に記憶される制御プログラムを実行することにより装置全体を制御する制御部である。制御部１０２は、他の装置との間で通信パラメータの設定制御も行う。１０３は制御部１０２が実行する制御プログラムと、通信パラメータ等の各種情報を記憶する記憶部である。後述する各種動作は、記憶部１０３に記憶された制御プログラムを制御部１０２が実行することにより実現される。
【００１４】
１０４はＩＥＥＥ８０２．１１シリーズに準拠した無線ＬＡＮ通信を行うための無線部である。１０５は各種表示を行う表示部でありＬＣＤやＬＥＤのように視覚で認知可能な情報の出力、あるいはスピーカなどの音出力が可能な機能を有する。表示部１０５は視覚情報および音情報の少なくともどちらか一方を出力する機能を備えるものである。
【００１５】
１０７はアンテナ制御部、そして１０８はアンテナである。１０９は、ユーザが各種入力等を行い、通信装置を操作するための操作部である。
【００１６】
サービス提供部１１０は、通信機器が提供するアプリケーションレベルのサービス情報を提供する機能を備えている。例えば、本通信機器がプリンタである場合にはサービス提供部１１０は印刷機能を提供する印刷部であり、デジタルカメラである場合にはサービス提供部１１０は撮像機能を提供する撮像部である。
【００１７】
図２は、記憶部１０３に記憶された制御プログラムを制御部１０２が実行することにより実現され、通信制御機能を実行するソフトウェア機能ブロックの構成の一例を表すブロック図である。
【００１８】
２０１はソフトウェア機能ブロック全体を示す。２０２はＤｉｓｃｏｖｅｒｙ制御部であり、通信相手となる通信装置を検索する検索処理を行う。
【００１９】
２０３はＷｉ−Ｆｉ  Ｄｉｒｅｃｔ制御部であり、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔプロトコル仕様に基づいた制御を行う。Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔにおいては、無線ＬＡＮアクセスポイント機能を実施する通信装置をＰ２Ｐグループオーナー（以下、ＧＯ）、無線ＬＡＮステーション機能を実施する通信装置をＰ２Ｐクライアント（以下、ＣＬ）と称する。これらの役割はＷｉ−Ｆｉ  Ｄｉｒｅｃｔ仕様で規定されているＧＯ  Ｎｅｇｏｔｉａｔｉｏｎのプロトコルで決定される。
【００２０】
Ｗｉ−Ｆｉ  ＤｉｒｅｃｔではＧＯが開催したネットワークをＰ２Ｐグループと称する。本明細書でもネットワークのことをＰ２Ｐグループと記載する場合もあるが、どちらも同一の意味で記載されている。
【００２１】
なお、本明細書では、Ｐ２Ｐグループオーナー（ＧＯ）、Ｐ２Ｐクライアント（ＣＬ）および役割が未決定の通信装置群をまとめて、Ｐ２Ｐデバイスと称す。
【００２２】
２０４はサービスディスカバリ制御部であり、サービスディスカバリを行う。サービスディスカバリでは、ＩＥＥＥ８０２．１１ｕで定められたアクションフレームを送受信することにより、通信装置１０１と相手通信装置（以下、単に相手装置と称する）との各々が保有するサービス情報をやりとりする。具体的には、相手装置が提供するサービス情報を要求するＳＤ  Ｑｕｅｒｙを通信装置１０１が送信し、該ＳＤ  Ｑｕｅｒｙに対する応答信号としてＳＤ  Ｒｅｓｐｏｎｓｅを相手装置から受信する。もしくは、通信装置１０１が提供するサービス情報を要求するＳＤ  Ｑｕｅｒｙを通信装置１０１が相手装置から受信し、該ＳＤ  Ｑｕｅｒｙに対する応答としてＳＤ  Ｒｅｓｐｏｎｓｅを相手装置に送信する。
【００２３】
ここで、ＳＤ  ＱｕｅｒｙおよびＳＤ  Ｒｅｓｐｏｎｓｅの各々には次の情報が含まれる。通信装置１０１と相手装置との通信のために自装置（ＳＤ  Ｑｕｅｒｙ、ＳＤ  Ｒｅｓｐｏｎｓｅを送信した装置）が利用可能なプロトコル情報。自装置のサービスの必須機能やオプション機能の対応を示すサービス機能対応情報。例えば、プリンタであれば、両面印刷対応、カラーあるいは白黒印刷対応、フォーマット印刷対応を本サービス情報により通知ないしは、取得可能である。なお、ここでの具体例は発明を限定する意図ではなく、理解を深めるための例示である。
【００２４】
２０５はパケット受信部、２０６はパケット送信部であり、上位レイヤの通信プロトコルを含むあらゆるパケットの送受信をつかさどる。２０７はアプリケーションレイヤにおけるサービス提供部である。ここでのアプリケーションレイヤとはＯＳＩ参照モデルにおける第５層以上の上位レイヤにおけるサービス提供層のことをさす。すなわち印刷サービスや動画像ストリーミングサービス、画像転送サービスや、ファイル転送サービスなどを提供する。
【００２５】
２０８はアプリケーションレイヤにおけるサービス利用部である。対向となる相手装置のアプリケーションレイヤのサービス提供部からのサービスを受ける。すなわち、印刷サービス提供装置へ印刷物を送信する機能や、デジタルディスプレイに動画像を送信する機能などを司る。
【００２６】
なお、全ての機能ブロックはソフトウェアもしくはハードウェア的に相互関係を有するものである。また、上記機能ブロックは一例であり、複数の機能ブロックが１つの機能ブロックを構成するようにしてもよいし、何れかの機能ブロックが更に複数の機能を行うブロックに分かれてもよい。また、上記機能ブロックの一部または全部をハードウェアとして構成するようにしてもよい。
【００２７】
図３は、上述した構成を有する通信装置Ａ３２（以下、ＳＴＡ−Ａ）と、通信装置Ｂ３３（以下、ＳＴＡ−Ｂ）とが構築する無線ネットワークＡ３１（以下、ネットワークＡ）を示した図である。本実施形態１においては、印刷、映像ストリーミングといったサービスを実行する場合のサービス検索処理及び無線ＬＡＮレイヤでの接続処理について説明する。
【００２８】
図４は、記憶部１０３に記憶された制御プログラムを制御部１０２が実行することにより実現される動作フローチャートである。本フローチャートを用いてサービス検索からサービス動作開始までの通信装置１０１の動作を説明する。
【００２９】
まず、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔの動作開始に先立って、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ制御部２０３は、ユーザがサービスを特定してネットワーク接続を要求したか否かを判定する（Ｓ４０１）。例えば、操作部を通してユーザが無線経由での印刷を要求した場合などユーザがサービスを特定してネットワーク接続を要求した場合、ネットワーク接続前にサービス検索を行うと判定する。また、ユーザがサービスを特定せずにネットワーク接続のみを要求した場合、ネットワーク接続前にサービス検索を行わないと判定する。ここで、ユーザがサービスを特定してネットワーク接続を要求した場合には、ネットワーク接続前にサービス検索が行われ、ユーザがサービスを特定することなくネットワーク接続を要求した場合には、ネットワーク接続前にサービス検索が行われない。
【００３０】
Ｓ４０１の判定結果において、ネットワーク接続前にサービス検索を行うと判定された場合、Ｓｅｒｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ制御部２０４は、下記の判別を行う。即ち、Ｓｅｒｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ制御部２０４は、検索するサービスにおいてＳＴＡ−Ａがサービス提供装置として動作するか、サービス利用装置として動作するかを判別する（Ｓ４０２）。例えば、サービスとして印刷機能が指定された場合にはサービスを提供するサービス提供装置として動作すると判定する。一方、サービスとして印刷装置への印刷データ送信機能が指定された場合にはサービスを利用するサービス利用装置として動作すると判定する。
【００３１】
Ｓ４０２でサービス提供装置として動作すると判別された場合、Ｓｅｒｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ制御部２０４は、相手装置からのサービス検索の待受を行う（Ｓ４０３）。サービス検索の待受けでは、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔの仕様に則りＬｉｓｔｅｎ  Ｓｔａｔｅでパケットの到来を待機する。具体的には、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ動作開始時に決定された１つの無線周波数チャネルで所定期間、検索信号の受信動作を行う。相手装置からＰｒｏｂｅ  Ｒｅｑｕｅｓｔ（検索要求）を受信した場合には、通信装置１０１は該相手装置に対してＰｒｏｂｅ  Ｒｅｓｐｏｎｓｅ（検索応答）を返送する。相手装置からＳＤ  Ｑｕｅｒｙを受信した場合には、通信装置１０１は該相手装置に対してＳＤ  Ｒｅｓｐｏｎｓｅを返送する。
【００３２】
次に、Ｓｅｒｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ制御部２０４は、Ｓ４０３における待受状態の際に、相手装置からサービス検索が行われたか否かを判定する（Ｓ４０４）。例えば、Ｌｉｓｔｅｎ  Ｓｔａｔｅにおいて、Ｐｒｏｂｅ  Ｒｅｑｕｅｓｔ、または、ＳＤ  Ｑｕｅｒｙを受信した場合に、相手装置からサービス検索が行われたと判定する。相手装置からサービス検索が行われたと判定された場合（Ｓ４０４のはい）、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ制御部２０３は、サービス利用装置として動作する当該相手装置と無線接続処理を実施する（Ｓ４０９）。無線接続処理では、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔの仕様に則り、サービス提供装置とサービス利用装置とがＰ２Ｐグループを形成し、無線ＬＡＮ層及びＩＰ層での接続を確立する。接続確立後、サービスを開始する（Ｓ４１０）。一方、Ｓ４０３の待受け状態で、相手装置からサービス検索が行われなかったと判定された場合（Ｓ４０４のいいえ）、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ制御部２０３は、対向となる相手装置が不在であることを示す情報を表示部１０５に表示する（Ｓ４１１）。そして、エラー終了する。      
【００３３】
なお、Ｓ４０４にて、所定の期間内に相手装置からサービス検索が行われなかったと判定した場合、Ｓ４０７に移行し、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔで規定されたデバイスディスカバリを実施するよう構成してもよい。
【００３４】
一方、Ｓ４０２でサービス利用装置として動作すると判別された場合、ＳｅｒｖｉｃｅＤｉｓｃｏｖｅｒｙ制御部２０４は、相手装置のサービス検索を行う（Ｓ４０５）。サービス検索では、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔの仕様に則りＳｅａｒｃｈ  Ｓｔａｔｅで、所定期間、相手装置の検索および当該相手装置が有するサービスの検索を行う。具体的には、Ｐｒｏｂｅ  Ｒｅｑｕｅｓｔをブロードキャスト送信し、相手装置からのＰｒｏｂｅＲｅｓｐｏｎｓｅを受信することで、相手装置を検索する。また、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔのサービスディスカバリ機能を用いてＳＤ  Ｑｕｅｒｙを送信し、ＳＤ  Ｒｅｓｐｏｎｓｅを受信することで相手装置が有するサービスを検索する。なお、Ｐｒｏｂｅ  ＲｅｑｕｅｓｔやＰｒｏｂｅ  Ｒｅｓｐｏｎｓｅに、自装置のサービス情報を付加した情報要素であるＩＥ（Ｉｎｆｏｒｍａｔｉｏｎ  Ｅｌｅｍｅｎｔ）を付与することで、相手装置が有するサービスを検索するようにしてもよい。これにより、ＳＤ  ＱｕｅｒｙやＳＤＲｅｓｐｏｎｓｅの送受信を行うことなく、Ｐｒｏｂｅ  ＲｅｑｕｅｓｔとＰｒｏｂｅＲｅｓｐｏｎｓｅとを送受信するだけで、相手装置の検索および当該相手装置が有するサービスを検索することができる。
【００３５】
次に、Ｓｅｒｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ制御部２０４は、Ｓ４０５において所定のサービスを提供する相手装置を検出したか否かを判定する（Ｓ４０６）。例えば、所定期間内にＳＤ  Ｒｅｓｐｏｎｓｅを受信した場合、所定のサービスを提供する相手装置を検出したと判定する。また、ＩＥが付与されたＰｒｏｂｅ  Ｒｅｓｐｏｎｓｅを所定期間内に受信した場合、所定のサービスを提供する相手装置を検出したと判定するようにしてもよい。
【００３６】
所定のサービスを提供する相手装置を検出したと判定された場合（Ｓ４０６のはい）、サービス提供装置として動作する当該相手装置と無線接続処理を実施する（Ｓ４０９）。一方、サービス応答を受信しなかったと判定した場合（Ｓ４０６のいいえ）、対向となる相手装置が不在であることを示す情報を表示部１０５に表示し（Ｓ４１１）、エラー終了する。なお、Ｓ４０６にて、所定の期間内にサービス応答を受信しなかったと判定した場合、Ｓ４０７に移行し、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔで規定されたデバイスディスカバリを実施するよう構成してもよい。
【００３７】
Ｓ４０１でネットワーク接続前にサービス検索を行わないと判定された場合、Ｄｉｓｃｏｖｅｒｙ制御部２０２は、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔで規定されたデバイスディスカバリ処理を行う（Ｓ４０７）。デバイスディスカバリ処理では、Ｓｅａｒｃｈ  ＳｔａｔｅとＬｉｓｔｅｎ  Ｓｔａｔｅとをランダムな周期で交互に繰り返す。Ｓｅａｒｃｈ  Ｓｔａｔｅでは、Ｐｒｏｂｅ  Ｒｅｑｕｅｓｔを送信し、Ｐｒｏｂｅ  Ｒｅｓｐｏｎｓｅの受信を待機する。Ｌｉｓｔｅｎ  Ｓｔａｔｅでは、Ｐｒｏｂｅ  Ｒｅｑｕｅｓｔの受信を待機し、Ｐｒｏｂｅ  Ｒｅｓｐｏｎｓｅを返送する。
【００３８】
次に、Ｄｉｓｃｏｖｅｒｙ制御部２０２は、デバイスディスカバリ処理にて相手装置が検出されたか否かを判定する（Ｓ４０８）。相手装置が検出されなかった場合（Ｓ４０８のいいえ）は、対向となる相手装置が不在であることを示す情報を表示部１０５に表示し（Ｓ４１１）、エラー終了する。
【００３９】
一方、相手装置が検出された場合（Ｓ４０８のはい）は、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ制御部２０３は、検出された相手装置と無線接続処理を実施する（Ｓ４０９）。無線接続処理では、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔの仕様に則り、サービス提供装置とサービス利用装置とがＰ２Ｐグループを形成し、無線ＬＡＮ層及びＩＰ層での接続を確立する。接続確立後、サービスを開始する（Ｓ４１０）。なお、Ｓ４１０のサービス開始前に、ＯＳＩ参照モデルにおけるネットワーク層（レイヤ３）でのサービスディスカバリを行ってもよい。例えば、サービスディスカバリ機能は、ＵＰｎＰ（登録商標）（Ｕｎｉｖｅｒｓａｌ  Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ）やＢｏｎｊｏｕｒ（登録商標）といったプロトコルに則って行う。
【００４０】
本発明におけるサービス利用装置とは、印刷サービスであれば、サービス利用装置は、印刷すべき画像、書類等のデータを有している装置である。また、サービス提供装置とは、利用装置からデータを受信し、当該データを印刷する印刷機能を有している装置である。前者は例えばデジタルカメラやスマートフォンなどであり、後者は例えばプリンタである。また、映像ストリーミングサービスであれば、サービス利用装置は、デジタルカメラやカムコーダなどの映像記録装置であり、サービス提供装置は、デジタルＴＶやプロジェクタなどの画像表示装置である。
【００４１】
また、使用するサービスをＤＬＮＡ（登録商標）とすると、例えば、サービス利用装置はＤＭＳ（デジタルメディアサーバ）であり、サービス提供装置はＤＭＲ（デジタルメディアレンダラ―）である。ＤＬＮＡ規格においては様々なデバイスクラスが存在するため本記述は一例である。詳細はＤＬＮＡ規格を参照されたい。
【００４２】
図５は、ネットワーク接続前にサービス検索を行う場合の動作シーケンスである。ここでは、通信装置ＳＴＡ−ＡがサービスＸの提供装置、通信装置ＳＴＡ−ＢがサービスＸの利用装置である場合について説明する。
【００４３】
ＳＴＡ−Ａは、ユーザからサービス提供動作の開始の指示を受けると（Ｆ５０１）、サービス検索の待受状態であるＬｉｓｔｅｎ  Ｓｔａｔｅへ移行する（Ｆ５０２）。一方、ＳＴＡ−Ｂはユーザからサービス利用動作の開始の指示を受けると（Ｆ５０３）、Ｓｅａｒｃｈ  Ｓｔａｔｅで、所定期間、相手装置の検索および当該相手装置が有するサービスの検索を行う（Ｆ５０４）。ＳＴＡ−Ｂは、まずデバイスを検出するため、Ｐｒｏｂｅ  Ｒｅｑｕｅｓｔを送信する（Ｆ５０５）。ＳＴＡ−ＡはＰｒｏｂｅ  Ｒｅｑｕｅｓｔを受信すると自装置の情報を含めたＰｒｏｂｅ  ＲｅｓｐｏｎｓｅをＳＴＡ−Ｂに送信する（Ｆ５０６）。続けて、ＳＴＡ−ＢはサービスＸのサービスディスカバリ機能を開始し、ＳＤ  Ｑｕｅｒｙを送信する（Ｆ５０７）。この例では、サービスＸの提供装置を検索する旨の情報を含むパケットを送信する。同パケットはユニキャストで送信することも可能であるし、ブロードキャストまたはマルチキャストで送信することも可能である。ＳＴＡ−ＡはＳＤ  Ｑｕｅｒｙを受信するとサービスＸが提供可能である旨のＳＤ  ＲｅｓｐｏｎｓｅをＳＴＡ−Ｂに送信する（Ｆ５０８）。ＳＤ  Ｒｅｓｐｏｎｓｅには、それ以外にサービス情報を付与することも可能である。
【００４４】
サービス検索により、ＳＴＡ−ＡがサービスＸを提供可能であると判定したＳＴＡ−ＢはＳＴＡ−ＡとＷｉ−Ｆｉ  Ｄｉｒｅｃｔの仕様に則り無線接続処理を実施する（Ｆ５０９）。この処理により、ＳＴＡ−ＡとＳＴＡ−Ｂは無線ＬＡＮでの接続とＩＰ設定が完了した状態となる。無線接続処理が完了するとサービス検索により取得したサービス情報を元にサービスＸを開始する（Ｆ５１０）。
【００４５】
具体的には、ＳＴＡ−Ａがプリンタ、ＳＴＡ−Ｂがデジタルカメラであった場合に、撮影した画像を印刷する際に、印刷機能を有したプリンタを検索して、無線経由で印刷処理を行う場合が想定される。
【００４６】
図６は、ネットワーク接続前にサービス検索を行うことなく、通信装置同士（ＳＴＡ−ＡおよびＳＴＡ−Ｂ）がＷｉ−Ｆｉ  Ｄｉｒｅｃｔで接続する場合の動作シーケンスである。
【００４７】
ＳＴＡ−ＡおよびＳＴＡ−Ｂは、ユーザからＷｉ−Ｆｉ  Ｄｉｒｅｃｔ動作の開始の指示を受ける（Ｆ６０１）。この時、ユーザからは特定のサービス起動の指示は与えられず、ネットワーク接続のみを要求されるものとする。
【００４８】
ＳＴＡ−Ａは相手装置を検索するＳｅａｒｃｈ  Ｓｔａｔｅに移行し、Ｐｒｏｂｅ  Ｒｅｑｕｅｓｔを送信する（Ｆ６０２）。ＳＴＡ−Ｂも同じく相手装置を検索するＳｅａｒｃｈ  Ｓｔａｔｅに移行し、Ｐｒｏｂｅ  Ｒｅｑｕｅｓｔを送信する（Ｆ６０３）。ＳＴＡ−ＡとＳＴＡ−Ｂは共にＳｅａｒｃｈ  Ｓｔａｔｅであるため、互いにＰｒｏｂｅ  Ｒｅｑｕｅｓｔを受信することができない。
【００４９】
その後、ＳＴＡ−ＡおよびＳＴＡ−Ｂは相手装置からの検索を待受けるＬｉｓｔｅｎ  Ｓｔａｔｅに移行する（Ｆ６０４、Ｆ６０５）。ランダムな期間経過後、ＳＴＡ−Ａは再度Ｓｅａｒｃｈ  Ｓｔａｔｅに移行し、Ｐｒｏｂｅ  Ｒｅｑｕｅｓｔを送信する（Ｆ６０６）。この時、ＳＴＡ−ＢはＬｉｓｔｅｎ  Ｓｔａｔｅであるので、ＳＴＡ−ＡからのＰｒｏｂｅ  Ｒｅｑｕｅｓｔを受信し、自装置の情報を含めたＰｒｏｂｅ  ＲｅｓｐｏｎｓｅをＳＴＡ−Ａに送信する（Ｆ６０７）。
【００５０】
このようにしてＳＴＡ−Ｂを検出したＳＴＡ−Ａは、ＳＴＡ−ＢとＷｉ−Ｆｉ  Ｄｉｒｅｃｔの仕様に則り無線接続処理を実施する（Ｆ６０８）。この処理により、ＳＴＡ−ＡとＳＴＡ−Ｂは無線ＬＡＮでの接続とＩＰ設定が完了した状態となる。
【００５１】
無線接続処理が完了すると、ユーザはサービスＸの開始指示を行う（Ｆ６０９）。ＳＴＡ−ＡおよびＳＴＡ−Ｂはサービス検索により取得したサービス情報を元にサービスＸを開始する（Ｆ６１０）。
【００５２】
以上のように、本実施形態によれば、ユーザから指定されたサービスにおける役割に応じて、検索信号の送信または待受のどちらか一方を選択的に行うため、デバイス検索およびサービス検索の処理を減らすことができる。結果として、サービス開始までの時間を短縮することが可能となり、ユーザの利便性が向上する。
【００５３】
（実施形態２）
実施形態１においては、上位アプリケーションからのサービス指定に基づいてサービス検索処理を実施した場合の例について説明した。本実施形態２においては、通信装置においてサービス検索処理を行う前にスキャン処理を実施し、ネットワーク上のサービス提供装置およびサービス利用装置の存在に応じて検索信号の送信または待受を行う例を示す。なお、各装置の構成は実施形態１と同様であるため、ここでの説明を省略する。
【００５４】
図７は、通信装置の動作フローチャートである。本フローチャート図を用いてサービス検索からサービス動作開始までの通信装置の動作フローを説明する。
【００５５】
まず、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔの動作開始に先立って、Ｄｉｓｃｏｖｅｒｙ制御部２０２は周囲に存在するＷｉ−Ｆｉ  Ｄｉｒｅｃｔデバイスの検索を行う（Ｓ７０１）。例えば、Ｐｒｏｂｅ  Ｒｅｑｕｅｓｔをブロードキャストで送信し、各デバイスからのＰｒｏｂｅ  Ｒｅｓｐｏｎｓｅを受信することで周囲に存在するＷｉ−Ｆｉ  Ｄｉｒｅｃｔデバイスを検出する。
【００５６】
次に、Ｓｅｒｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ制御部２０４は、Ｓ７０１で検出されたＷｉ−Ｆｉ  Ｄｉｒｅｃｔデバイスの中に、指定されたサービスをサポートするデバイスが存在するかどうか判定する（Ｓ７０２）。例えば、Ｓ７０１で受信したＰｒｏｂｅ  ＲｅｓｐｏｎｓｅにサービスＸをサポートする旨を示す情報が含まれている場合、指定されたサービスをサポートするデバイスが存在すると判定する。また、Ｓ７０１で受信したＰｒｏｂｅ  ＲｅｓｐｏｎｓｅにサービスＸのサポートについて判定するための情報が含まれていない場合、指定されたサービスをサポートするデバイスが存在しないと判定する。また、Ｓ７０１にてＰｒｏｂｅ  Ｒｅｓｐｏｎｓｅを一つも受信しない場合、指定されたサービスをサポートするデバイスが存在しないと判定する。
【００５７】
Ｓ７０２でサービスＸをサポートするデバイスが存在すると判定された場合（Ｓ７０２のはい）、Ｓｅｒｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ制御部２０４は、その装置がサービスＸの提供装置であるか利用装置であるか判定する（Ｓ７０３）。例えば、Ｓ７０１で受信したＰｒｏｂｅ  ＲｅｓｐｏｎｓｅにサービスＸを提供する旨が含まれている場合、提供装置であると判定する。あるいは、Ｓ７０１で受信したＰｒｏｂｅ  ＲｅｓｐｏｎｓｅにサービスＸを利用する旨が含まれている場合、利用装置であると判定する。また、Ｐｒｏｂｅ  Ｒｅｓｐｏｎｓｅに装置がプリンタである旨が含まれている場合、印刷サービスの提供装置であると判定するなど、装置種別により提供装置か利用装置か判定するよう構成してもよい。
【００５８】
Ｓ７０３で、検出された相手装置がサービスＸの利用装置であると判定した場合、サービス検索の待受を行う（Ｓ７０４）。一方、Ｓ７０３で、検出された相手装置がサービスＸの提供装置であると判定した場合、サービス検索を行う（Ｓ７０６）。
【００５９】
Ｓ７０２でサービスＸをサポートするデバイスが存在しないと判定した場合（Ｓ７０２のいいえ）、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔで規定されたデバイスディスカバリ処理を行う（Ｓ７０８）。デバイスディスカバリ処理では、Ｓｅａｒｃｈ  ＳｔａｔｅとＬｉｓｔｅｎＳｔａｔｅとをランダムな周期で交互に繰り返す。
【００６０】
なお、Ｓ７０４からＳ７０７、Ｓ７０９からＳ７１１のステップについては、各々、実施形態１の図４におけるＳ４０３からＳ４０６、Ｓ４０８からＳ４１０と同様の動作であるため、説明は省略する。
【００６１】
図８は、ＳＴＡ−ＡがサービスＸの提供装置、ＳＴＡ−ＢがサービスＸの利用装置である場合の各装置間の動作シーケンスを示す模式図である。
【００６２】
通信装置（ここではＳＴＡ−Ａ）は、ユーザからサービス開始の指示を受けると（Ｆ８０１）、周囲のデバイスを検索するため、Ｐｒｏｂｅ  Ｒｅｑｕｅｓｔを送信する（Ｆ８０２）。ＳＴＡ−Ｂは、自装置がサービスＸの利用装置である旨を含めたＰｒｏｂｅ  ＲｅｓｐｏｎｓｅをＳＴＡ−Ａへ送信する（Ｆ８０３）。ＳＴＡ−ＢからのＰｒｏｂｅ  Ｒｅｓｐｏｎｓｅを受信したＳＴＡ−Ａは、周囲にサービスＸの利用装置が存在すると判定し、サービス検索の待受状態へ移行する（Ｆ８０４）。Ｆ８０５以降のシーケンスは、実施形態の図５におけるＦ５０３以降のシーケンスと同様の動作であるため、ここでの説明は省略する。
【００６３】
以上のように、本実施形態によれば周囲に存在するデバイスがサービス提供装置かサービス利用装置かに応じて、検索信号の送信または待受のどちらか一方のみを行うため、デバイス検索およびサービス検索の処理を減らすことができる。結果として、サービス開始までの時間を短縮することが可能となり、ユーザの利便性が向上する。
【００６４】
なお、上述の実施形態では、無線ネットワークを構築する際に、通信装置（自装置）もしくは他の装置においてユーザがサービスを指定している場合には、通信装置は検索信号の送信または待受のどちらか一方のみを実行した。通信装置は検索信号の送信（Ｓｅａｒｃｈ  Ｓｔａｔｅ）と待受（Ｌｉｓｅｔｅｎ  Ｓｔａｔｅ）の時間比率を変更するようにしてもよい。
【００６５】
例えば、通信装置がサービス利用装置として動作する場合、通信装置は検索信号を送信する状態（Ｓｅａｒｃｈ  Ｓｔａｔｅ）の時間と待受状態（Ｌｉｓｔｅｎ  Ｓｔａｔｅ）の時間とを２：１に変更する。また、通信装置がサービス提供装置として動作する場合、通信装置は検索信号を送信する状態（Ｓｅａｒｃｈ  Ｓｔａｔｅ）の時間と待受状態（Ｌｉｓｔｅｎ  Ｓｔａｔｅ）の時間を１：２に変更する。
【００６６】
なお、検索信号を送信する状態（Ｓｅａｒｃｈ  Ｓｔａｔｅ）の時間と待受状態（Ｌｉｓｔｅｎ  Ｓｔａｔｅ）の時間とを２：１である場合、通信装置は、例えば、２００ｍｓ検索信号を送信して１００ｍｓ待ち受けるという動作を交互に繰り返す。なお、２００ｍｓと１００ｍｓに限らず、２０ｍｓと１０ｍｓなどでもよいし、繰り返すごとにランダムに異なる時間を採用してもよい。
【００６７】
このように、時間比率を変更することによっても、サービス開始までの時間を短縮することが可能となり、ユーザの利便性が向上する。
【００６８】
また、検索信号の送信（Ｓｅａｒｃｈ  Ｓｔａｔｅ）と待受（Ｌｉｓｅｔｅｎ  Ｓｔａｔｅ）の時間比率を変更してから所定時間が経過しても通信装置が相手装置を検出できなかった場合には、時間比率を更に変更するようにしてもよい。即ち、所定時間、相手装置を検出できなかった場合、通信装置はサービス検索の時間（Ｓｅａｒｃｈ  Ｓｔａｔｅ）と待受状態（Ｌｉｓｔｅｎ  Ｓｔａｔｅ）の時間の比率を１：１に変更するようにしてもよい。
【００６９】
本発明は前述の機能を実現するソフトウェアのプログラムコードを記録した記録媒体をシステムあるいは装置に供給し、システムあるいは装置のコンピュータ（ＣＰＵ、ＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行するようにしてもよい。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することとなり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００７０】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤなどを用いることができる。
【００７１】
また、コンピュータが読み出したプログラムコードを実行することにより、前述の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳが実際の処理の一部または全部を行い、前述の機能を実現してもよい。ＯＳとは、Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍの略である。
【００７２】
さらに、記憶媒体から読み出されたプログラムコードを、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込む。そして、そのプログラムコードの指示に基づき、機能拡張ボードや機能拡張ユニットに備わるＣＰＵが実際の処理の一部または全部を行い、前述の機能を実現してもよい。
【符号の説明】
【００７３】
３１  ネットワークＡ
３２  ＳＴＡ−Ａ
３３  ＳＴＡ−Ｂ
【図１】
2015144422.tif 000003
【図２】
2015144422.tif 000004
【図３】
2015144422.tif 000005
【図４】
2015144422.tif 000006
【図５】
2015144422.tif 000007
【図６】
2015144422.tif 000008
【図７】
2015144422.tif 000009
【図８】
2015144422.tif 000010