(57)【要約】【課題】所望のサービスを実行可能な他の通信装置と、サービスを実行するための通信を速やかに開始する。【解決手段】通信装置は、Neighbor Awareness Networking（NAN）に規定されるDiscovery Windowである第１の期間で、所定のサービスを探すための信号または当該信号に対する応答が他の通信装置と通信された場合に、該他の通信装置と共有された通信パラメータがあるか否かを判定し、該他の通信装置と共有された通信パラメータがあると判定された場合に、該共有された通信パラメータを用いて、該他の通信装置との間でデータリンクを確立し、該第１の期間と異なる期間を含む第２の期間において、該確立されたデータリンクで該所定のサービスを実行する。【選択図】  図４
2018019144.tif 000002
【特許請求の範囲】
【請求項１】
通信装置であって、
Neighbor Awareness Networking（NAN）に規定されるDiscovery Windowである第１の期間で、所定のサービスを探すための信号または当該信号に対する応答が他の通信装置と通信された場合に、前記他の通信装置と共有された通信パラメータがあるか否かを判定する判定手段と、
前記判定手段により前記他の通信装置と共有された通信パラメータがあると判定された場合に、当該共有された通信パラメータを用いて、前記他の通信装置との間でデータリンクを確立するデータリンク制御手段と、
前記第１の期間と異なる期間を含む第２の期間において、前記データリンク制御手段により確立されたデータリンクで前記所定のサービスを実行する実行手段と、
を有することを特徴とする通信装置。
【請求項２】
前記判定手段により前記他の通信装置と共有された通信パラメータがないと判定された場合に、データリンクを確立するための通信パラメータを前記他の通信装置と共有する共有処理を実行する共有手段を有し、
前記判定手段により前記他の通信装置と共有された通信パラメータがないと判定された場合に、前記データリンク制御手段は、前記共有手段による前記共有処理により共有された通信パラメータを用いて、前記他の通信装置との間でデータリンクを確立する
ことを特徴とする請求項１に記載の通信装置。
【請求項３】
前記データリンク制御手段は、Wi-Fi Directに規定される処理に従って、前記他の通信装置との間でデータリンクを確立することを特徴とする請求項１または２に記載の通信装置。
【請求項４】
前記通信装置がWi-Fi DirectにおけるGO（Group Owner）として動作中に、前記通信装置は、前記所定のサービスの情報と前記第２の期間の情報とを前記他の通信装置と通信することを特徴とする請求項３に記載の通信装置。
【請求項５】
前記所定のサービスの情報と前記第２の期間の情報とを通信した後に受信した接続要求に応じて、前記実行手段は、前記所定のサービスを実行することを特徴とする請求項４に記載の通信装置。
【請求項６】
前記通信装置は、過去に実行されたサービスを識別する情報と当該サービスを実行するために使用された通信パラメータを識別する情報とを有するリストを前記他の通信装置に送信することを特徴とする請求項３に記載の通信装置。
【請求項７】
前記リストを送信した後に前記他の通信装置から受信された情報に前記通信パラメータを識別する情報が含まれる場合に、前記データリンク制御手段は、GOとしての動作を行うことを特徴とする請求項６に記載の通信装置。
【請求項８】
前記データリンク制御手段がGOとして動作中に接続要求が受信された場合、前記実行手段は、前記所定のサービスを実行することを特徴とする請求項８に記載の通信装置。
【請求項９】
前記データリンク制御手段は、Wi-Fi DirectにおけるCL（Client）としての動作を行うことを特徴とする請求項１に記載の通信装置。
【請求項１０】
P2P Invitation Requestを送信し、前記他の通信装置からP2P Invitation Responseを受信した場合に、前記データリンク制御手段は、CLとしての動作を行うことを特徴とする請求項９に記載の通信装置。
【請求項１１】
前記データリンク制御手段がCLとして動作中に、接続要求を前記他の通信装置に送信したことにより、当該他の通信装置から当該接続要求を許可することを示す応答を受信した場合に、前記実行手段は、前記所定のサービスを実行することを特徴とする請求項１０に記載の通信装置。
【請求項１２】
通信装置の制御方法であって、
Neighbor Awareness Networking（NAN）に規定されるDiscovery Windowである第１の期間で、所定のサービスを探すための信号または当該信号に対する応答が他の通信装置と通信された場合に、前記他の通信装置と共有された通信パラメータがあるか否かを判定する判定工程と、
前記判定工程において前記他の通信装置と共有された通信パラメータがあると判定された場合に、当該共有された通信パラメータを用いて、前記他の通信装置との間でデータリンクを確立するデータリンク制御工程と、
前記第１の期間と異なる期間を含む第２の期間において、前記データリンク制御手段により確立されたデータリンクで前記所定のサービスを実行する実行工程と、
を有することを特徴とする通信装置の制御方法。
【請求項１３】
コンピュータを、請求項１から１１のいずれか１項に記載の通信装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、その制御方法、およびプログラムに関する。
【背景技術】
【０００２】
IEEE802.11に代表される無線LANシステムが広く利用されるようになっている。無線LANでは、アクセスポイント（AP）と呼ばれる基地局によってネットワークが制御される。このAPと、APの電波到達範囲内に存在し、無線接続状態であるステーション（STA）とによって無線ネットワークが構成される。近年、このような従来型のAPとSTAによる単純な無線ネットワーク構成だけでなく、さまざまな無線LANネットワーク形態の製品および仕様規格が登場している。
【０００３】
特許文献１には、省電力で通信装置や該通信装置が提供するサービスなどを検出するための通信の規格として、Wi-Fi Allianceによって規定されるNeighbor Awareness Networking（NAN）が記載されている。NANでは、NANを構成する各通信装置（以後、NANデバイス）が情報交換する期間を同期する。なお、Wi-Fi Alliance は、NAN をWi-Fi  Awareの名称で認証を行っている。これにより、無線RFを有効にする時間を短くすることができ、省電力を実現することができる。NANでは、この同期のための期間を、Discovery Window（DW）と呼ぶ。また、所定の同期期間が共有されたNANデバイスの集合を、NANクラスタと呼ぶ。
【０００４】
NANデバイスは、NANクラスタ内で、Master、Non-Master Sync、Non-Master Non-Syncという役割のいずれかを担うことができる。Masterの役割を有するNANデバイスは、DW期間に、同じNANクラスタの各NANデバイスが同期をとれるようにするための信号であるSync Beaconを送信する。そして、NANクラスタ内の各NANデバイスは、同期を取った上で、DW期間に、サービスを探すための信号であるSubscribeメッセージや、サービスを提供していることを通知するための信号であるPublishメッセージを互いに送受信しあう。更に、各NANデバイスは、DW期間ではサービスに関する追加情報を交換するためのFollow-upメッセージをやりとりすることができる。Publish、Subscribe、Follow-upメッセージといったメッセージのフレーム構成はNAN規格で定義されており、Service Discovery Frame （SDF）と呼ばれる。SDFには、対象となるサービスを特定するための識別子であるService IDが含まれる。NANデバイスは、お互いにSDFをやりとりすることで、サービスの検出を行うことができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許出願公開第2014/302787号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
NANデバイスは、NANクラスタ内で、上記のような手法により、サービスの検出を行うことができる。しかし、NANデバイスは、サービスを検出した後に実際にそのサービスを実施するためのアプリケーションの通信を行う場合には、無線接続を別途確立する必要がある。サービスを実施するための通信は、NANクラスタとは別のネットワーク、すなわちInfraネットワーク、IBSS、Wi-Fi Directなどの、NANとは別のネットワークで行われる。NANデバイスは、新たなネットワークを確立して、アプリケーションによる通信をすることができるようになる。しかしながら、従来では、別途新たなネットワークで通信するための処理を行わなければならず、速やかにサービスを実行するための通信を開始することができないという課題があった。
【０００７】
本発明は、上記課題に鑑みてなされたものであり、所望のサービスを実行可能な他の通信装置と、サービスを実行するための通信を速やかに開始することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するための一手段として、本発明の通信装置は以下の構成を有する。すなわち、通信装置であって、Neighbor Awareness Networking（NAN）に規定されるDiscovery Windowである第１の期間で、所定のサービスを探すための信号または当該信号に対する応答が他の通信装置と通信された場合に、前記他の通信装置と共有された通信パラメータがあるか否かを判定する判定手段と、前記判定手段により前記他の通信装置と共有された通信パラメータがあると判定された場合に、当該共有された通信パラメータを用いて、前記他の通信装置との間でデータリンクを確立するデータリンク制御手段と、前記第１の期間と異なる期間を含む第２の期間において、前記データリンク制御手段により確立されたデータリンクで前記所定のサービスを実行する。
【発明の効果】
【０００９】
本発明によれば、所望のサービスを実行可能な他の通信装置と、サービスを実行するための通信を速やかに開始することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】実施形態における無線ネットワーク構成を示す図。
【図２】実施形態におけるNANデバイスの機能構成の一例を示す図。
【図３】実施形態におけるNANデバイスのハードウェア構成の一例を示す図。
【図４】実施形態1における通信リンク確立処理のフローチャート。
【図５】実施形態1における処理のシーケンス図。
【図６】実施形態2における通信リンク確立処理のフローチャート。
【図７】実施形態2における処理のシーケンス図。
【図８】実施形態3における通信リンク確立処理のフローチャート。
【図９】実施形態3における処理のシーケンス図。
【発明を実施するための形態】
【００１１】
（実施形態１）
図1に、本実施形態におけるネットワーク構成例を示す。以下では、Neighbor Awareness Networking（NAN）規格に準拠した無線LANシステムを用いた例について説明する。NANでは、サービス情報をDiscovery Window（DW）と呼ばれる期間に通信する。DWは、NANを実行する複数のデバイスが、convergeする時間およびチャネルである。また、DWのスケジュールを共有している端末の集合をNANクラスタと呼ぶ。なお、DWは、一定周期毎に発生する。
【００１２】
NANクラスタに属する各端末（NANデバイス）は、Master、Non-Master Sync及びNon-Master Non-Syncのうちの何れかの役割で動作する。Masterとして動作する端末は、各端末がDWを識別し、同期するためのビーコンであるSynchronization Beacon（以降、Sync Beaconと称す）を送信する。また、Masterとして動作する端末は、NANクラスタに属していない端末に当該NANクラスタを認識させるための信号であるDiscovery Beaconを送信する。Discovery Beaconは、例えば100msごとに、DWの期間外で送信される。なお、各NANクラスタにおいて、少なくとも１台の端末は、Masterとして動作する。
【００１３】
Non-Master Syncとして動作する端末は、Sync Beaconを送信するが、Discovery Beaconは送信しない。Non-Master Non-Syncとして動作する端末は、Sync BeaconもDiscovery Beaconも送信しない。
【００１４】
NANクラスタに参加する端末は、Sync Beaconに従って、所定周期毎のDW期間に同期し、DW期間においてサービス情報を通信する。
【００１５】
各端末は、DW期間にサービスを検出または要求するための信号であるSubscribeメッセージや、サービスを提供していることを通知するための信号であるPublishメッセージを互いに通信する。更に、各端末は、DW期間にサービスに関する追加情報を交換するためのFollow-upメッセージをやりとりすることができる。なお、Publish、Subscribe、Follow-upといったメッセージを、総称してService Discovery Frame（SDF）と呼ぶ。各端末は、SDFをやりとりすることで、サービスの広告または検出を行うことができる。
【００１６】
また、NANクラスタに参加している各端末は、2.4GHzの周波数帯域の6ch（2.437GHz）で通信する。NANクラスタにおいて、512TU（Time Unit、1TUは、1024μ秒）毎に16TUのDWが設けられる。即ち、NANクラスタにおいて、512TUごとに繰り返し、16TUのDWが設けられる。NANクラスタに参加する各端末は、DWにおいて送受されるSync Beaconにより、DWのスケジュールを同期する。各DW期間にNANクラスタに属する各端末は、SDFにより、サービス情報を通信する。
【００１７】
また、NANでは、サービスまたはアプリケーションの検出を行い、当該サービスまたはアプリケーションを実行するための無線接続を確立することをPostNANと呼ぶ。PostNANでは、NANクラスタとは別のネットワーク、すなわちInfraネットワーク、IBSS、Wi-Fi Directなどの、NANとは別のネットワークを確立する。NANデバイスは、新たなネットワークを確立して、アプリケーションによる通信をすることができるようになる。
【００１８】
NANデバイス101、102、103は、NAN規格に則った無線通信を行う無線通信装置である。なお、NANデバイス101、102、103は、NANに参加可能で、アプリケーションによる通信を行うことが可能であれば、どのような装置であってもよい。NANデバイス101、102、103は、NAN規格に基づいて、周囲の通信装置およびそれらが提供するサービスを発見、提供することができる。図1において、NANデバイス101、102、103は、NANクラスタ104に参加している。NANデバイス101、103はNon-Master SyncとしてNANクラスタ104に参加しており、NANデバイス102はMaster、Anchor MasterとしてNANクラスタ104参加している。本実施形態では、NANデバイス101は、所定のサービスを探しているSubscriberである。また、NANデバイス103は、NANデバイス101が探している所定のサービスを提供可能なPublisherである。
【００１９】
NANクラスタ104は、NANデバイス101、102、103が参加しているネットワークである。本実施形態において、NANクラスタ104に参加しているNANデバイスは、6chでネットワークを構築している。NANクラスタ104のネットワーク内で、Discovery Window（DW）は、16TU（Time Unit）であり、また、DWの先頭から次のDWの先頭までは、512TUの間隔がある。なお、NANの無線チャネルとDWの構成は、これらに限定されない。
【００２０】
図2は、NANデバイス101の機能構成の一例を示す図である。なお、NANデバイス102、103の機能構成は、NANデバイス101と同様である。無線LAN制御部201は、他の無線LAN機能を有する装置との間で無線信号の送受信を行うための制御を行う。また、無線LAN制御部201は、IEEE802.11に則った無線LAN制御を行う。NAN制御部202は、NAN規格に則った制御を行う。Wi-Fi Direct制御部203は、無線LAN制御部201を制御してWi-Fi Directで通信リンクを確立するための制御を行う。Wi-Fi Direct制御部203の処理により、データリンク層が確立されると、NANデバイス101は、アプリケーションによるデータ通信を行うことが可能となる。本実施形態では、一例として、データリンクが確立した後、NANデバイス101は、IPv4による通信が可能になるものとする。データリンクの確立を含むデータリンク制御の詳細な処理は、図4、図5を用いて後述する。
【００２１】
通信制御部204は、Wi-Fi Direct制御部203によって確立されたデータリンク層を用いて、アプリケーションによる通信を制御する。通信制御部204の制御により、NANデバイス101は、IPv4のパケットの送受信（すなわち、アプリケーションデータの通信）を行うことが可能となる。アプリケーションデータの通信の詳細な処理は、図4を用いて後述する。
【００２２】
アプリケーション制御部205は、NANで発見されたサービスを実行するための制御を行う。例えば、NANデバイス101がプリントサービスを発見した場合、アプリケーション制御部205は、プリントのジョブを要求するアプリケーションを実行するための制御を行う。あるいは、NANデバイス101が写真共有サービスを発見した場合には、アプリケーション制御部205は、写真データを交換するアプリケーションを実行するための制御を行う。NANデバイス101は複数のサービスを探しており、複数のアプリケーション制御部205を有することもできる。本実施形態では、一例として、NANデバイス101とNANデバイス103間において、アプリケーションとしてプリントアプリケーションが実行されるものとする。また、本実施形態では、プリントアプリケーションはIPv4を用いて通信を介して行われるものとする。操作制御部206は、NANデバイス101のユーザにより入力部304（図3）に対して行われた操作を管理し、必要な信号を他の制御部201〜205へ伝達する。
【００２３】
図3に、NANデバイス101のハードウェア構成の一例を示す。なお、NANデバイス102、103のハードウェア構成は、NANデバイス101と同様である。記憶部301は、ROM（Read Only Memory）、RAM（Random Access Memory）の両方、もしくは、いずれか一方により構成され、後述する各種動作を行うためのプログラムや、無線通信のための通信パラメータ等の各種情報を記憶する。なお、記憶部301として、ROM、RAM等のメモリの他に、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD-ROM、CD-R、磁気テープ、不揮発性のメモリカード、DVDなどの記憶媒体を用いてもよい。
【００２４】
制御部302は、CPU（Central Processing Unit）、または、MPU（Micro Processing Unit）により構成され、記憶部301に記憶されたプログラムを実行することによりNANデバイス101全体を制御する。なお、制御部302は、記憶部301に記憶されたプログラムとOS（Operating System）との協働によりNANデバイス101全体を制御するようにしてもよい。また、制御部302は、機能部303を制御して、撮像や印刷、投影等の所定の処理を実行する。
【００２５】
機能部303は、NANデバイス101が所定の処理を実行するためのハードウェアである。例えば、NANデバイス101がカメラである場合、機能部303は撮像部であり、撮像処理を行う。また、例えば、NANデバイス101がプリンタである場合、機能部303は印刷部であり、印刷処理を行う。また、例えば、NANデバイス101がプロジェクタである場合、機能部303は投影部であり、投影処理を行う。機能部303が処理するデータは、記憶部301に記憶されているデータであってもよいし、後述する通信部306を介して他のNANデバイスと通信したデータであってもよい。
【００２６】
入力部304は、ユーザからの各種操作の受付を行う。出力部305は、ユーザに対して各種出力を行う。ここで、出力部305による出力とは、画面上への表示や、スピーカーによる音声出力、振動出力等の少なくとも１つを含む。なお、タッチパネルのように入力部304と出力部305の両方を１つのモジュールで実現するようにしてもよい。
【００２７】
通信部306は、IEEE802.11シリーズに準拠した無線通信の制御や、IP（Internet Protocol）通信の制御を行う。また、通信部306はアンテナ307を制御して、無線通信のための無線信号の送受信を行う。NANデバイス101は通信部306を介して、画像データや文書データ、映像データ等のコンテンツを他のNANデバイスと通信する。
【００２８】
次に、図4を参照して、NANデバイス103がPostNANの通信リンク確立を要求するための処理を説明する。図4は、本実施形態における通信リンク確立処理のフローチャートである。図4に示すフローチャートは、NANデバイス103の制御部302が記憶部301に記憶されている制御プログラムを実行し、情報の演算および加工並びに各ハードウェアの制御を実行することにより実現される。なお、図4に示すフローチャートに示すステップの一部または全部を、例えばASIC等のハードウェアで実現する構成としても良い。
【００２９】
本実施形態では、図1を用いて説明したネットワーク構成に基づき、まず、プリントサービスを提供するNANデバイス103が、NANクラスタ104において他のNANデバイスからのプリントサービスの検索を待機する。そして、NANデバイス103は、サービス発見の要求を受信し、Wi-Fi DirectにおけるGO（Group Owner）としての動作を開始し、サービス発見の応答を送信する。サービス発見の応答を受信したNANデバイス101は、Wi-Fi DirectにおけるCL（Client）としての動作を開始し、GOが構築したネットワークに接続し、プリントアプリケーションの通信を行う。以下、NANデバイス103の処理として説明するが、NANクラスタ104における他のNANデバイスも同様の処理を行うことができる。
【００３０】
なお、本実施形態では、NANデバイス103の記憶部301には、NANデバイス103が過去に接続したデバイスの情報や当該接続に関する情報としてのエントリが登録された接続履歴が記憶され得るものとする。接続履歴に登録されるエントリには、具合的には、MACアドレス等のデバイスを識別可能な識別子、通信に使用した通信パラメータ、提供したサービスまたは享受したサービスの識別子等が含まれる。
【００３１】
まず、NANデバイス103のNAN制御部202は、NANクラスタ104における周期的なDW期間にSubscribeメッセージを受信するまで待機する（S401、S402）。ここで、NANデバイス103は、SDFにおいてサービスを識別するService IDとして、プリントアプリケーションサービスに該当するService IDが指定されたSubscribeメッセージの受信を待機するものとする。また、このSubscribeメッセージには、Wi-Fi Directによるデータリンクを確立できるNANデバイスを探索していることを示す情報も含まれ得る。
【００３２】
NANデバイス103のNAN制御部202が、通信部306を介してSubscribeメッセージを受信したと判定すると（S402でYes）、処理はS403へ進む。S403では、NAN制御部202は、Subscribeメッセージを送信した他のNANデバイスとの間で通信パラメータを既に共有済みか否かを判定する。具体的には、NAN制御部は、記憶部301に、Subscribeメッセージを送信した他のNANデバイスとの接続履歴が記憶されているか否かを判定する。
【００３３】
NAN制御部202が当該他のNANデバイスとの間で通信パラメータを既に共有済みと判定した場合（S403でYes）、Wi-Fi Direct制御部203は、Wi-Fi DirectにおけるGOとしての動作を開始する（S408）。このとき、NANデバイス103は、当該他のNANデバイスとの間で過去に通信を実施して既にネットワークを構築しているため、当該他のNANデバイスからの接続を受け入れ可能な状態となっている。
【００３４】
Wi-Fi Direct制御部203がGOの起動が完了すると、NAN制御部202は、通信部306を介して、当該他のNANデバイスに対してPublishメッセージを送信する（S409）。なお、送信するPublishメッセージのSDFにおいて、サービスを識別するService IDとして、プリントアプリケーションサービスに該当するService IDが指定される。また、NAN制御部202は、送信するPublishメッセージにP2P Operation attribute等を付与することで、Wi-Fi Directで通信可能な期間、チャネル、動作中の役割（GO、CL、P2P Device）を通知することが可能である。また、NAN制御部202は、送信するPublishメッセージに、GOとして動作することを示す値を格納することも可能である。
【００３５】
Publishメッセージを受信した当該他のNANデバイスは、NANデバイス103がGOで動作していることを認識する。続いて、当該他のNANデバイスは、接続要求を送信することにより、CLとしてNANデバイス103との接続処理を実施する。NANデバイス103のNAN制御部202は、通信部306を介して当該他のNANデバイスからの接続要求を受信し、接続処理を実施する（S410）。
【００３６】
接続処理が成功すると、NANデバイス103は、プリントアプリケーションによる通信を行うことが可能となり、他のNANデバイスから印刷データを受信することに応じて印刷を実施することが可能となる。NANデバイス103の通信制御部204は、アプリケーションによるデータ通信を開始する（S411）。また、アプリケーション制御部205は、アプリケーションを実行するための制御を行う。なお、S410で接続処理に失敗した場合は、NAN制御部202は、一定時間経過後に、再度接続処理を試みるなどしても良い。
【００３７】
一方、S403で、NAN制御部202は、Subscribeメッセージを送信した他のNANデバイスとの間で通信パラメータを共有済みではないと判定した場合（S403でNo）、通信パラメータ共有処理を行う。まず、NAN制御部202は、通信部306を介してPublishメッセージを送信する（S404）。この時点では、NANデバイス103は、GOまたはCLとして動作するかは決まっていないため、送信するPublishメッセージに、P2P Deviceとして動作していることを示す値を格納する。
【００３８】
Publishメッセージを受信した他のNANデバイスは、NANデバイス103がP2P Deviceとして動作していることを認識する。続いて、Wi-Fi Direct制御部203は、当該他のNANデバイスとの間で、Wi-Fi Directの役割決定処理（GO Negotiation）を実施する（S405）。
【００３９】
Wi-Fi Directの役割決定処理を通じてNANデバイス103と当該他のNANデバイスの役割が決定すると、NANデバイス103のWi-Fi Direct制御部203は、決定した役割において接続処理を実施する（S406）。接続処理が完了後、Wi-Fi Direct制御部203は、記憶部301に記憶されている接続履歴に、当該他のNANデバイスと接続した情報としてエントリを登録する（S407）。接続履歴の登録が完了すると、NANデバイス103は、プリントアプリケーションによる通信を行うことが可能となる。
【００４０】
図5に、本実施形態における、サービスの発見、Wi-Fi Directによるデータリンクの確立、アプリケーション通信処理の一連の流れをシーケンス図で示す。NANデバイス101は、Subscriberとしてプリントアプリケーションでプリンタを探しており、NANデバイス103は、Publisherとしてプリントサービスを待ち受ける処理を実施している状況を想定する。NANデバイス102は、プリントアプリケーション以外のアプリケーションを動作させているものとする。
【００４１】
まず、NANデバイス101のユーザが、入力部304を介して、プリントサービスの検索を行うための指示を入力する（S501）。これに応じて、NANデバイス101の操作制御部206は、NAN制御部202に対してプリントサービスの検索を行うための処理を開始させる。NANデバイス102は、Sync BeaconでDW期間を通知する（S502）。NANデバイス101は、検索処理を開始しても、DW期間になるまではメッセージの送信はしない。
【００４２】
NANデバイス101は、DW期間になると、プリンタを探すためにSubscribeメッセージをブロードキャストで送信する（S503）。NANデバイス103は、プリントサービスを探していることが示されたSubscribeメッセージを受信すると、 NANデバイス101との接続履歴を参照する。NANデバイス103は、接続履歴を参照することにより、過去にNANデバイス101との間でGOとして動作したことを認識し、GOとしての動作を開始する（S504）。
【００４３】
GOとしての動作を開始したNANデバイス103は、プリントサービスが動作していることを示すPublishメッセージでNANデバイス101に応答する（S505）。Publishメッセージには、NANデバイス103がGOで動作していることやWi-Fi Directで通信可能な期間（DW期間以外の期間）といった情報を含めることが可能である。
【００４４】
Publishメッセージを受信したNANデバイス101は、NANデバイス103がGOとして動作していることを認識し、CLとしての動作を開始する。続いて、NANデバイス101は、過去のNANデバイス103との間の通信を行った際に使用した通信パラメータ等を用いることにより、接続要求を送信する（S506）。また、NANデバイス101は、受信したPublishメッセージに付与されていた、通信可能な期間の情報を参照することで、NANデバイス103がWi-Fi Directで応答が可能な期間に、接続要求を送信することができる。
【００４５】
NANデバイス103は、NANデバイス101からの接続要求を受信し、当該要求を許可する場合に、接続応答を送信する（S507）。NANデバイス103は、NANデバイス101との接続を許容できない場合は、拒絶を示す接続応答を送信する。一方、NANデバイス103は、NANデバイス101との接続を許容できる場合は、肯定を示す接続応答を送信すると共に、暗号化通信に必要な鍵交換の処理等も実施する。
【００４６】
これにより、NANデバイス101とNANデバイス103は、Wi-Fi Directによるデータ通信が可能な状態になる（S508、S509）。この状態で、ユーザがNANデバイス101で入力部304を介してプリントアプリケーションに印刷を指示すると、NANデバイス103に印刷データが送信され、NANデバイス103で印刷が実行される（S510、S511）。ここで、NANデバイス101は、入力部304を介してユーザにより指定された印刷データ、または、予め決められた印刷データを送信しても良い。また、NANデバイス101は、NANデバイス103や他の装置から指定された印刷データを送信しても良い。
【００４７】
このように、本実施形態によれば、過去の接続履歴の情報を用いることにより、PostNANのネットワークを確立するための手順（端末の発見、無線パラメータの交換等）を簡略化することが可能となる。そのため、例えば、プリントアプリケーションなど、何度も同一の装置（プリンタ）でサービスを実行する場合に、PostNANのネットワークを確立するための繰り返しの手順を省き、迅速にサービスを実行することが可能となる。
【００４８】
（実施形態２）
実施形態２では、SubscriberとしてのNANデバイス101が、PublisherとしてのNANデバイス103からPublishメッセージを受信後に、Invitation Requestの送信/Responseの受信を介してネゴシエーションを行う。NANデバイス101とNANデバイス103は、当該ネゴシエーションによりPostNANで使用する通信パラメータを決定する。以下、実施形態１と異なる点について説明する。
【００４９】
図6を参照して、NANデバイス101がPostNANの通信リンク確立を要求するための処理を説明する。図6は、本実施形態における通信リンク確立処理のフローチャートである。
【００５０】
NANデバイス101は、NANクラスタ104における周期的なDW期間を待つ（S601）。DW期間になると、NANデバイス101のNAN制御部202は、通信部306を介して、Subscribeメッセージをブロードキャストで送信する（S602）。ここで、NANデバイス101は、SDFにおいてサービスを識別するService IDとして、プリントアプリケーションサービスに該当するService IDが指定されたSubscribeメッセージを送信するものとする。また、このSubscribeメッセージには、Wi-Fi DirectによるPostNANデータリンクを確立できるNANデバイスを探索していることを示す情報も含まれ得る。Subscribeメッセージの送信により、NANデバイス101は、プリントサービスを実行可能な、NANクラスタ104におけるNANデバイスを探すことが可能となる。
【００５１】
NANデバイス101のNAN制御部202は、通信部306を介して、送信したSubscribeメッセージの応答として、SDFにおいてプリントアプリケーションサービスに該当するService IDが指定されたPublishメッセージを受信したかどうかを判定する（S603）。NAN制御部202が通信部306を介してPublishメッセージを受信したと判定すると（S603でYes）、Publishメッセージを送信した他のNANデバイスとの間で通信パラメータを既に共有済みかを判定する。なお、S604の処理は、図4のS403の処理と同様であるため、説明を省略する。
【００５２】
NAN制御部202が当該他のNANデバイスとの間で通信パラメータを既に共有済みと判定した場合（S604でYes）、通信部306を介して、NANのFollow-upメッセージを用いてInvitation Requestを送信する（S608）。これにより、NANデバイス101は当該他のNANデバイスとの間のネットワーク構築を要求する。なお、NAN制御部202は、Wi-Fi Directで定められたP2P invitation Requestに用いるP2P attributeをSDFに付与することにより、このInvitation Requestを送信することが可能である。Invitation Requestを受信したNANデバイスがネットワーク構築の要求を受け入れる（許可する）場合は、Follow-upメッセージを用いて、Statusに成功を示す値を格納したInvitation Responseを返信する。なお、Wi-Fi Directで定められたP2P invitation Responseに用いるP2P attributeをSDFに付与することにより、このInvitation Responseの送信が可能となる。
【００５３】
なお、P2P invitation RequestまたはP2P Invitation Responseには、過去に接続したネットワークの識別子（P2P Group BSSID）やP2Pグループの識別子（P2P Group ID）などの情報が格納される。これにより、P2P invitation RequestまたはP2P Invitation Responseを再度同じネットワークを構築するためのネゴシエーションに用いることが可能となる。
【００５４】
NANデバイス101のNAN制御部202は、通信部306を介して、成功を示す値が格納されたStatusを有するInvitation Responseを受信したと判定した場合（S609でYes）、処理はS610へ進む。S610では、Wi-Fi Direct制御部203は、Wi-Fi Directによる接続処理を実施する。接続処理が完了後、NANデバイス101の通信制御部204は、アプリケーションによるデータ通信を開始する（S611）。また、アプリケーション制御部205は、アプリケーションを実行するための制御を行う。
【００５５】
一方、NAN制御部202が、通信部306を介して、成功を示す値が格納されたStatusを有するInvitation Responseを受信しなかったと判定した場合（S609でNo）、処理はS605へ進む。S605〜S607の処理は、図4のS405〜S407、S411の処理と同様であるため、説明を省略する。なお、S609でNoの場合、NAN制御部202は、通信部306を介して、再度Invitation Requestを送信してもよい。また、他に使用可能なパラメータが存在する場合は、NAN制御部202は、異なる内容のInvitation Requestを送信してもよい。これにより、NANデバイス101は、成功を示す値が格納されたStatusを有するInvitation Responseの受信を一定期間待機し得る。
【００５６】
このように、Invitation RequestまたはResponseの授受により、NANデバイスは、PostNANへ移行する前に、PostNANで使用するパラメータのネゴシエーションを実施することが可能となる。
【００５７】
また、NAN制御部202が、Publishメッセージを送信した他のNANデバイスとの間で通信パラメータを既に共有済みではないと判定した場合（S604でNo）、処理はS605へ進む。前述したように、S605〜S607の処理は、図4のS405〜S407の処理と同様であるため、説明を省略する。
【００５８】
図7に、本実施形態における、サービスの発見、Wi-Fi Directによるデータリンクの確立、アプリケーション通信処理の一連の流れをシーケンス図で示す。
【００５９】
S701〜S704の処理は、図5のS501〜S504の処理と同様であるため、説明を省略する。S705において、NANデバイス101は、Follow-upメッセージを用いてInvitation RequestをNANデバイス103に送信する。invitation Requestには、前述の通り、NANデバイス101が過去にNANデバイス103と接続した際のネットワーク識別子等が格納されている。NANデバイス103はネットワーク識別子等の情報をもとにネットワークの再構築が可能と判断し、Follow-upメッセージを用いてStatusに成功を表す値を格納したInvitation ResponseをNANデバイス101に送信する。NANデバイス101とNANデバイス103は、Invitation Request/Responseによるネゴシエーションを終えると、それぞれ過去の役割で動作を開始する（S707、S708）。例えば、過去のWi-Fi Direct接続でGOとして動作していたNANデバイス103は、再度GOとしての動作を開始する。以降の、S709〜S714の処理は、図5のS506〜S511の処理と同様であるため、説明を省略する。
【００６０】
なお、本実施形態では、Subscribeメッセージを受信したNANデバイス103がPublishメッセージを送信する場合を例に説明した。この例に限定されず、NANデバイス103が自律的にPublishメッセージを送信する場合にも、本実施形態の適用が可能である。
【００６１】
このように、本実施形態によれば、双方のNANデバイスが再度構築するネットワークを事前にネゴシエーションで決定するため、互いに一意の通信パラメータを用いて接続処理が実施することが可能となる。そのため、互いに異なる通信パラメータを用いて接続処理を実施することを防止することが可能となり、効率的な接続が可能となる。
【００６２】
（実施形態３）
本実施形態では、PublisherとしてのNANデバイス103からSubscribeメッセージを受信後に、過去にサービスを提供した際のService IDと、その時に使用した通信パラメータを識別する情報との組み合わせのリストを作成する。NANデバイス103は、作成したリストをSubscriberとしてのNANデバイス101に送信し、その後NANデバイス101から指定された情報を参照して、PostNANで使用する通信パラメータを決定する。以下、実施形態１、２と異なる点について説明する。
【００６３】
図8を参照して、NANデバイス103がPostNANの通信リンク確立を要求するための処理を説明する。図8は、本実施形態における通信リンク確立処理のフローチャートである。なお、PublisherとしてのNANデバイス103は、過去にサービスを提供した際のService IDと、その時に使用した通信パラメータの組み合せを接続履歴として記憶部301に記憶しているものとする。
【００６４】
S801〜S802の処理は、図6のS601〜S602の処理と同様であるため、説明を省略する。次に、NANデバイス103のNAN制御部202は、Service IDと通信パラメータから算出したハッシュ値のリストを作成する（S803）。NANデバイス103のNAN制御部202は、記憶部301に記憶されている、過去にサービスを提供した際のService IDと、その時に使用した通信パラメータの情報から、Service IDとハッシュ値のリストを作成することができる。このリストにより、NANデバイス103は、どの通信パラメータで何のサービスを提供するかを認識することが可能となる。また、通信パラメータをハッシュ値で扱うことで、NANデバイス103は、暗号鍵などの秘匿性を担保しつつ、過去に接続した経験のあるデバイスに対して一意に通信パラメータを特定することが可能となる。なお、ここでは、ハッシュ値を例に説明したが、P2Pグループの識別子を使用すること可能である。NANデバイス103のNAN制御部202は、リストを作成すると、当該リストを付与したPublishメッセージを通信部306を介して送信する（S804）。
【００６５】
次に、NANデバイス103は、Follow-upメッセージの受信を待機する（S805）。NANデバイス103のNAN制御部202が、通信部306を介してFollow-upメッセージを受信したと判定した場合（S805でYes）、当該メッセージにハッシュ値の指定があるか否かを判定する（S806）。ハッシュ値の指定があると判定された場合（S806でYes）、NAN制御部202は、指定されたハッシュ値に対応する通信パラメータで通信を行うことを許容すること示す応答を、通信部306を介して送信する（S810）。
【００６６】
NAN制御部202が応答を送信すると、Wi-Fi Direct制御部203は、指定されたハッシュ値に対応する通信パラメータを用いてWi-Fi Directでの接続処理を実施する（S811）。接続処理の完了後、NANデバイス103の通信制御部204は、アプリケーションによるデータ通信を開始する（S812）。当該アプリケーションのサービスは、作成したリストにおいて、当該通信パラメータに対応するService IDのサービスである。
【００６７】
一方、S806でハッシュ値の指定がないと判定された場合（S806でNo）、NANデバイス103のWi-Fi Direct制御部203は、NANデバイス101との間で、Wi-Fi Directの役割決定処理を実施する（S807）。S807〜S809の処理は、図4のS405〜S407の処理と同様であるため、説明を省略する。
【００６８】
図9に、本実施形態における、サービスの発見、Wi-Fi Directによるデータリンクの確立、アプリケーション通信処理の一連の流れをシーケンス図で示す。
【００６９】
S901〜S903の処理は、図5のS501〜S503の処理と同様であるため、説明を省略する。S904において、NANデバイス103は、Service IDと、通信パラメータから算出したハッシュ値とのリストを作成し、当該リストを付与したPublishメッセージを送信する。Publishメッセージを受信したNANデバイス101は、ハッシュ値を指定したFollow-upメッセージを送信する（S905）。ハッシュ値が指定されたFollow-upメッセージを受信したNANデバイス103は、指定されたハッシュ値に対応する通信パラメータを用いて通信を行うことを許容すること（OK）を示すFollow-upメッセージを送信する（S906）。S907〜S914の処理は、図7のS707〜S714の処理と同様であるため、説明を省略する。
【００７０】
なお、本実施形態では、Subscribeメッセージを受信したNANデバイス103がPublishメッセージを送信する場合を例に説明したが、NANデバイス103が自律的にPublishメッセージを送信する場合にも適用が可能である。
【００７１】
このように、本実施形態によれば、Service IDと通信パラメータのリストから双方のNANデバイスが再度構築するネットワークを選択するため、意図しないネットワークの再構築をリクエストされた場合に発生しうる接続エラーを防止することが可能となる。そのため、互いに使用する通信パラメータが決定するまでの時間を短縮すること可能となり、接続性が向上する。
【００７２】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００７３】
101、102、103  NANデバイス、104  NANクラスタ
【図１】
2018019144.tif 000003
【図２】
2018019144.tif 000004
【図３】
2018019144.tif 000005
【図４】
2018019144.tif 000006
【図５】
2018019144.tif 000007
【図６】
2018019144.tif 000008
【図７】
2018019144.tif 000009
【図８】
2018019144.tif 000010
【図９】
2018019144.tif 000011