(57)【要約】 【課題】複数の通信装置からなる集合が複数存在する場合に、それら集合のマージを促進させる。【解決手段】NAN（Neighbor Awareness Networking）に準拠するネットワークにおいて他の通信装置と通信可能な通信装置は、それぞれが固有の属性値を有する複数のNANクラスタのうちの第1のNANクラスタに参加している間に、該複数のNANクラスタのうちの第2のNANクラスタの存在を検知し、該第2のNANクラスタの属性値と、該第1のNANクラスタの属性値とを比較し、該第2のクラスタの属性値が該第1のNANクラスタの属性値より低い場合に、該第1のNANクラスタの存在を示す情報を該第2のNANクラスタに対して送信する送信する。【選択図】  図4
2018117221.tif 000002
【特許請求の範囲】
【請求項１】
NAN（Neighbor Awareness Networking）に準拠するネットワークにおいて他の通信装置と通信可能な通信装置であって、
それぞれが固有の属性値を有する複数のNANクラスタのうちの第1のNANクラスタに参加している間に、前記複数のNANクラスタのうちの第2のNANクラスタの存在を検知する検知手段と、
前記第2のNANクラスタの属性値と、前記第1のNANクラスタの属性値とを比較する比較手段と、
前記第2のクラスタの属性値が前記第1のNANクラスタの属性値より低い場合に、前記第1のNANクラスタの存在を示す情報を前記第2のNANクラスタに対して送信する送信手段と、
を有することを特徴とする通信装置。
【請求項２】
前記通信装置の前記第1のNANクラスタにおける役割がMasterである場合、前記送信手段は、前記第1のNANクラスタの存在を示す情報を含むDiscovery Beaconを送信することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記通信装置の役割を変更する変更手段を更に有し、
前記通信装置の前記第1のNANクラスタにおける役割がMasterでない場合、前記変更手段は、前記通信装置の役割をMasterに変更し、前記送信手段は、前記Discovery Beaconを送信することを特徴とする請求項２に記載の通信装置。
【請求項４】
前記通信装置の前記第1のNANクラスタにおける役割がMasterでない場合、前記送信手段は、前記第1のNANクラスタの存在を示す情報を含むSynchronization Beaconを送信することを特徴とする請求項１または２に記載の通信装置。
【請求項５】
前記通信装置の役割を変更する変更手段を更に有し、
前記通信装置の前記第1のNANクラスタにおける役割がMasterでない場合、
所定の条件を満たす場合は、前記変更手段は、前記通信装置の役割をMasterに変更し、前記送信手段は前記Discovery Beaconを送信し、
前記所定の条件を満たさない場合は、前記送信手段は、前記第1のNANクラスタの存在を示す情報を含むSynchronization Beaconを送信することを特徴とする請求項２に記載の通信装置。
【請求項６】
前記所定の条件は、前記検知手段により前記第2のNANクラスタの存在が検知された時点で、所定の時間を経過しているか否かであることを特徴とする請求項５に記載の通信装置。
【請求項７】
前記送信手段は、前記第2のクラスタに定められるDW（Discovery Window）において前記Discovery Beaconを送信することを特徴とする請求項２、３、５、６のいずれか１項に記載の通信装置。
【請求項８】
前記送信手段は、前記第2のクラスタに定められるDW（Discovery Window）において前記Synchronization Beaconを送信することを特徴とする請求項４から６のいずれか１項に記載の通信装置。
【請求項９】
前記第2のクラスタの属性値が前記第1のNANクラスタの属性値より高い場合、前記送信手段は前記第2のNANクラスタの存在を示す情報を含むSynchronization Beaconを前記第1のNANクラスタに対して送信することを特徴とする請求項１に記載の通信装置。
【請求項１０】
前記通信装置の役割を変更する変更手段を更に有し、
前記通信装置の前記第1のNANクラスタにおける役割がNon-Master Non-Syncである場合、前記変更手段は、前記通信装置の役割をMasterまたはNon-Master Syncに変更し、前記送信手段は前記Synchronization Beaconを送信することを特徴とする請求項９に記載の通信装置。
【請求項１１】
前記送信手段は、前記第1のNANクラスタに参加している他の通信装置が前記Synchronization Beaconを受信可能な時間期間に、前記Synchronization Beaconを送信することを特徴とする請求項９または１０に記載の通信装置。
【請求項１２】
前記時間期間は前記第1のクラスタに定められるDW（Discovery Window）のうち前記他の通信装置により指定されたDWであることを特徴とする請求項１１に記載の通信装置。
【請求項１３】
複数の通信装置からなる集合に参加し、当該集合に参加している他の通信装置と通信可能な通信装置であって、
前記通信装置が参加している第1の集合とは異なる第2の集合を検知する検知手段と、
前記第1の集合の属性値と、前記第2の集合の属性値とを比較する比較手段と、
前記比較の結果、前記第2の集合の属性値が前記第1の集合の属性値より低い場合に、前記第1の集合の存在を示す情報を前記第2の集合に参加している通信装置に送信する送信手段と、
を有することを特徴とする通信装置。
【請求項１４】
NAN（Neighbor Awareness Networking）に準拠するネットワークにおいて他の通信装置と通信可能な通信装置の制御方法であって、
それぞれが固有の属性値を有する複数のNANクラスタのうちの第1のNANクラスタに参加している間に、前記複数のNANクラスタのうちの第2のNANクラスタの存在を検知する検知工程と、
前記第2のNANクラスタの属性値と、前記第1のNANクラスタの属性値とを比較する比較工程と、
前記第2のクラスタの属性値が前記第1のNANクラスタの属性値より低い場合に、前記第1のNANクラスタの存在を示す情報を前記第2のNANクラスタに対して送信する送信工程と、
を有することを特徴とする通信装置の制御方法。
【請求項１５】
複数の通信装置からなる集合に参加し、当該集合に参加している他の通信装置と通信可能な通信装置の制御方法であって、
前記通信装置が参加している第1の集合とは異なる第2の集合を検知する検知工程と、
前記第1の集合の属性値と、前記第2の集合の属性値とを比較する比較工程と、
前記比較の結果、前記第2の集合の属性値が前記第1の集合の属性値より低い場合に、前記第1の集合の存在を示す情報を前記第2の集合に参加している通信装置に送信する送信工程と、
を有することを特徴とする通信装置の制御方法。
【請求項１６】
コンピュータを、請求項１から１３のいずれか１項に記載の通信装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、その制御方法、およびプログラムに関する。
【背景技術】
【０００２】
IEEE802.11に代表される無線LAN(Local Area Network)システムが広く利用されるようになっている。無線LANでは、アクセスポイント（以後、AP）と呼ばれる基地局によってネットワークが制御される。このAPと、APの電波到達範囲内に存在し、無線接続状態であるステーション（STA）とによって、無線ネットワークが構成される。近年、このような従来型のAPとSTAによる単純な無線ネットワーク構成だけでなく、さまざまな無線LANネットワーク形態の製品および仕様規格が登場している。
【０００３】
省電力で通信装置や該通信装置が提供するサービスなどを発見するための通信の規格として、Wi-Fi AllianceによってNeighbor Awareness Networking(NAN)が規定されている（特許文献１参照）。NANでは、NANを構成する各通信装置（以後、NANデバイス）が情報交換する期間を同期する。これにより、無線RFを有効にする時間を短くすることができ、省電力を実現することができる。NANでは、この同期のための期間を、Discovery Window(DW)と呼ぶ。また、所定の同期期間が共有されたNANデバイスの集合を、NANクラスタと呼ぶ。
【０００４】
NANデバイスはNANクラスタ内に位置し、当該NANクラスタ内でMaster、Non-Master Sync、Non-Master Non-Syncという役割（Role）のいずれかを担うことができる。Masterの役割を有する端末（以降Masterデバイスと呼ぶ）は、定められた間隔内でDW期間外にDiscovery Beaconを送信する。Discovery BeaconはMasterデバイスが所属するNANクラスタの存在を、他のNANクラスタに所属するNANデバイスや、NANクラスタに所属していないNANデバイスに報知するための信号である。なお、他のNANクラスタの情報には、Probe Responseや後述するSynchronization Beaconに含めることもできる。
【０００５】
NANデバイスは、Discovery Beaconによって他のNANクラスタの存在を検知すると、NANクラスタのマージを行うことで、２つの異なるNANクラスタを一つに統合することができる。具体的には、他のNANクラスタのMasterデバイスから送信されるDiscovery Beaconを受信したNANデバイスが、NANクラスタ間のCluster Gradeを比較し、他のNANクラスタのCluster Gradeが高い場合に他のNANクラスタに参加する。Cluster Gradeはクラスタごとに設定される固有の属性（属性値）である。他のNANクラスタに参加したNANデバイスは、役割がMasterもしくはNon-Master Syncであった場合に、もといたNANクラスタ宛に新しく参加するNANクラスタの情報を含むSynchronization Beaconを送信する。そのSynchronization Beaconを受信したNANデバイスも新しいNANクラスタに参加することで、全体としてNANクラスタがマージされる。
【０００６】
Masterデバイスはまた、同じNANクラスタの各NANデバイスが同期をとれるようにするための信号であるSynchronization BeaconをDW内において送信する。このSynchronization Beaconに他のNANクラスタの情報を載せて報知することもできる。そして、NANクラスタ内の各NANデバイスは、同期を取った上で、DW期間に、サービスを探すための信号であるSubscribeメッセージや、サービスを提供していることを通知するための信号であるPublishメッセージを互いに送受信しあう。更に、各NANデバイスは、DW期間ではサービスに関する追加情報を交換するためのFollow-upメッセージをやりとりすることができる。Publishメッセージ、Subscribeメッセージ、Follow-upメッセージといったメッセージのフレーム構成はNAN規格で定義されており、Service Discovery Frame (SDF)と呼ばれる。SDFには、対象となるサービスを特定するための識別子であるService IDが含まれる。NANデバイスがお互いにSDFをやりとりすることで、サービスの発見、検出を行うことができる。
【０００７】
NANクラスタの統合を行うことで、より多くのNANデバイスの中からサービス検索が行えるようになる。例えばNANクラスタ1に所属するNANデバイスAがNANクラスタ2に所属するNANデバイスBのサービスを利用したい場合を考える。このとき、NANクラスタごとにDW期間は設定されるため、NANクラスタ1と2のDW期間は異なる可能性が高い。DW期間が異なると、DW期間以外は他機器の送信するデータを受信しなくても良いため、NANデバイスA、Bは電波の届く距離に存在していても互いのSDFを受信できない。このとき、NANクラスタのマージを行うことで、DW期間を統一すれば互いのSDFを受信し、サービスを発見することが可能になる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】米国特許出願公開第2014/302787号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上述したように、NANデバイスは、自身が所属するNANクラスタ（低GradeNANクラスタ）よりも高いCluster Gradeを持つNANクラスタ（高GradeNANクラスタ）を発見した場合、マージ処理を介して、高GradeNANクラスタに参加することができる。しかしながら、NANデバイスは、自身が所属するNANクラスタより（高Gradeクラスタ）も低いCluster Gradeを持つNANクラスタ（低Gradeクラスタ）を発見したとしても、低GradeNANクラスタのNANデバイスが高GradeNANクラスタを発見できない限り、マージ処理は行われない。このような場合は、高GradeNANクラスタにおけるNANデバイスは、低ClusterNANクラスタに参加できないという課題があった。
【００１０】
本発明は、上記課題に鑑みてなされたものであり、複数の通信装置からなる集合が複数存在する場合に、それら集合のマージを促進させることを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するための一手段として、本発明の通信装置は以下の構成を有する。すなわち、NAN（Neighbor Awareness Networking）に準拠するネットワークにおいて他の通信装置と通信可能な通信装置であって、それぞれが固有の属性値を有する複数のNANクラスタのうちの第1のNANクラスタに参加している間に、前記複数のNANクラスタのうちの第2のNANクラスタの存在を検知する検知手段と、前記第2のNANクラスタの属性値と、前記第1のNANクラスタの属性値とを比較する比較手段と、前記第2のクラスタの属性値が前記第1のNANクラスタの属性値より低い場合に、前記第1のNANクラスタの存在を示す情報を前記第2のNANクラスタに対して送信する送信手段と、を有する。
【発明の効果】
【００１２】
本発明によれば、複数の通信装置からなる集合が複数存在する場合に、それら集合のマージを促進させることができる。
【図面の簡単な説明】
【００１３】
【図１】実施形態における無線ネットワーク構成を示す図。
【図２】実施形態におけるNANデバイスの機能構成を示す図。
【図３】実施形態におけるNANデバイスのハードウェア構成を示す図。
【図４】実施形態１におけるNANクラスタ監視処理のフローチャート。
【図５】実施形態１におけるNANクラスタマージ処理のフローチャート。
【図６】実施形態１におけるNANデバイス101がMasterの場合のシーケンス図。
【図７】実施形態１におけるNANデバイス101がMasterでない場合のシーケンス図。
【図８】実施形態２におけるNANクラスタ監視処理のフローチャート。
【図９】実施形態２におけるシーケンス図。
【図１０】実施形態３におけるNANクラスタ監視処理のフローチャート。
【図１１】実施形態４におけるシーケンス図。
【発明を実施するための形態】
【００１４】
以下、添付の図面を参照して、本発明をその実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１５】
＜実施形態１＞
図1に、本実施形態におけるネットワーク構成例を示す。以下では、Neighbor Awareness Networing(NAN)規格に準拠した無線LANシステムを用いた例について説明する。
【００１６】
NANデバイス101、102、103、104、105は、本実施形態を適用したNAN規格に則った無線通信装置である。なお、NANデバイス101、102、103、104、105は、NANクラスタに参加可能で、アプリケーションによる通信を行うことが可能であれば、カメラ、プリンタ、スマートフォン、PC等、どのような種類の装置であってもよい。NANデバイス101、102、103、104、105は、NAN規格に基づいて、周囲の通信装置およびそれらが提供するサービスを発見、提供することができる。
【００１７】
図1において、NANデバイス101、102はNANクラスタ106に、NANデバイス103、104、105はNANクラスタ107にそれぞれ参加している。NANデバイス101、102はNANクラスタ106において通信可能であり、NANデバイス103、104、105はNANクラスタ107において通信可能である。各NANデバイスにはNAN規格で規定されているMaster Rankが設定されている。Master Rankとは、NANクラスタ内での役割を決定するための因子である。Master Rankは、NANデバイスごとに設定されるMaster Preferenceとランダム値であるRandom Factor、インターフェイスアドレスのMACから次の式によって決定される。Master Rank = Master Preference * 256 + Random Factor * 248 + MAC[5] *240 +… + MAC[0]。Master Rankが高い NAN デバイスほどMasterの役割になりやすく、Master Rankが低いNANデバイスほどNon-Master Non-Syncになりやすい。特に、NANクラスタ内でMaster Rankが最も高いNANデバイスはAnchor Masterと呼ばれ、NANクラスタにおいて時刻を同期する際の基準となるデバイスである。
【００１８】
NAN規格において、NANクラスタ内に安定的に参加しているNANデバイス、例えば、電源で駆動しており場所を移動しないようなNANデバイスは、Master Rankを大きくすることが推奨されている。また、バッテリ駆動であったり、モバイル端末のようにNANクラスタに安定的には存在しない可能性があったりするNANデバイスは、Master Rankを小さくすることが推奨されている。安定的にNANクラスタ内にとどまっているNANデバイスがMasterとなり同期信号を送信することによって、NANクラスタを安定的に維持することができる。
【００１９】
NANデバイスはMaster Preferenceを変更することで、Master Rankを変更することができ、結果として周囲のNANデバイスのMaster Rankとの相対関係に応じて役割を変更することが可能になる。なお、NAN仕様では一度Master Preferenceを変更した場合は、240DW（=240 * 512 * 1024μ秒）の間はMaster Preferenceを変更することができない。
【００２０】
各NANクラスタには、固有の属性（属性値）として、NAN規格で規定されているCluster Gradeが設定される。Cluster GradeはA1をAnchor MasterのMaster Preference、A2をTSF(Time Synchronization Function)値として、CG = 264*A1+A2の計算式で設定される。NAN仕様では特定のNANクラスタに所属するNANデバイスが別のクラスタを発見するとCluster Gradeの高いクラスタにマージするよう規定されている。本実施形態において、Cluster GradeはNANクラスタ106よりもNANクラスタ107が低いものとする。
【００２１】
NANクラスタ106は、NANデバイス101、102が参加しているネットワークであり、NANクラスタ107は、NANデバイス103、104、105が参加しているネットワークである。本実施形態において、NANクラスタ106、107に参加しているNANデバイスは、それぞれ2.4GHzの周波数帯域における6chでネットワークを構築している。各NANクラスタのネットワーク内で、周期的な通信期間であるDiscovery Window(DW)は、16TU(Time Unit)であり、また、DWの先頭から次のDWの先頭までは、512TUの間隔がある。なお、NANの無線チャネルとDWの構成は、これらに限定されない。
【００２２】
図2は、NANデバイス101の機能構成を示す図である。なお、NANデバイス102、103、104、105の機能構成は、NANデバイス101と同様である。無線LAN制御部201は、他の無線LAN装置との間で無線信号の送受信を行うための制御を行う。また、無線LAN制御部201は、IEEE802.11に則った無線LAN制御を行う。NAN制御部202は、NAN規格に則った制御及び、本実施形態において後述するNAN機能開始処理及び動作モード決定処理を行う。NAN制御部202は動作モード決定処理で決定された動作モードに応じて無線LAN制御部201を制御する。特にNAN制御部202は、無線LAN制御部201に対して、適切な期間機能を無効化することで、図3の通信部306の消費する電力を低減し、省電力性を高める機能を有する。
【００２３】
アプリケーション制御部203は、アプリケーションの処理に応じてNAN制御部202へのNAN機能の開始、終了を制御し、NANで発見された機器間でネットワークを形成し、アプリケーションデータの通信を制御する。例えばNANデバイス101のユーザ（不図示）がNANを利用する画像共有サービスアプリケーションを起動すると、アプリケーション制御部203はNAN制御部202に対してNAN機能の開始処理を指示する。その後NANで発見された機器間でIEEE802.11に則ったネットワークを形成し、形成したネットワークを通して画像データの送受信を行う。アプリケーション制御部203は、アプリケーションを終了するとNAN制御部202に対してNAN機能の終了処理を指示する。なお、アプリケーションデータの通信は本実施形態の形態に限定されず、NANのネットワークを使用する、もしくは他の通信規格を使用しても良い。操作制御部204は、NANデバイス101のユーザにより入力部304(図3)に対して行われた操作を管理し、必要な信号を他の制御部201〜203へ伝達する。
【００２４】
図3に、NANデバイス101のハードウェア構成を示す。なお、NANデバイス102、103、104、105のハードウェア構成は、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に記憶されたプログラムを読み出して実行することにより実現される。なお、制御部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デバイスと通信する。通信部306は送信機能、受信機能を有し、制御部302の指示に従いそれぞれを有効、無効に切り替えることが可能である。送信機能、受信機能はそれぞれ有効であるときに電力を消費し、無効であるときには電力を消費しない、もしくは有効であるときに比べて低消費電力で動作可能であることとする。
【００２９】
次に、本実施形態におけるNANデバイスによるNANクラスタ監視処理について図4を参照して説明する。NANデバイスは、監視して発見したNANクラスタのCluster Gradeに応じて、以降の処理を切り替える。図4は、本実施形態におけるNANクラスタ監視処理のフローチャートである。本説明では、NANクラスタ監視処理は、NANデバイス101がNANクラスタ106に参加した際に開始されるものとする。なお、NANクラスタ106への参加は、NANデバイス101がNAN機能を開始し、NANデバイス102が形成していたNANクラスタ106を発見したことを契機に行っても良いし、NANデバイス101が自ら形成しても良い。NAN機能の開始は、例えばNANを利用した画像共有サービスアプリケーションを起動するときに実行されてもよいし、NANデバイス101の電源を入れたときに実行されても良い。
【００３０】
NANクラスタ監視処理が実行されると、S401でNANデバイス101はパッシブスキャニングを開始する。本実施形態においては、NANデバイス101は、6chをスキャンする。スキャンは、少なくともNANクラスタ106のDW0期間中は実施するが（DW0は周期的に到来する特定のDW）、その他の期間に実施しても良い。NANデバイス101は、DWO期間以外でスキャンを実施することで、他のNANクラスタに所属するNANデバイスが送信するDiscovery BeaconやSynchronization Beaconなどの信号を受信する確率が上がる。この結果、NANデバイス101は所属するNANクラスタ以外の他のNANクラスタを発見する確率が上がる。
【００３１】
この際に、NANデバイス101が、NANクラスタ107に所属する各NANデバイスからDiscovery BeaconもしくはSynchronization Beaconを受信すれば、S402でNANクラスタを発見したと判定され、受信しなければ発見しなかったと判定される。NANクラスタを発見しなかった場合は（S402でNo）、再びS401のパッシブスキャニングに戻る。
【００３２】
S402においてNANクラスタ107が発見された場合（S402でYes）は、NANデバイス101は、Discovery BeaconもしくはSynchronization Beaconに含まれるNANクラスタ107のCluster Gradeと、自身の所属するNANクラスタ106のCluster Gradeとを比較する。
【００３３】
NANクラスタ107（発見されたNANクラスタ）のCluster Gradeの方が、NANクラスタ106（NANデバイス101が所属するNANクラスタ）より高い場合には（S403でNo）、S404でNANデバイス101はNANクラスタマージ処理を行う。NANクラスタマージ処理についての詳細は、図5の説明にて後述する。NANクラスタ107のCluster Gradeの方が、NANクラスタ106より低い（等しい場合も含む）場合には（S403でNo）、S405でNANデバイス101のNANクラスタ106内での役割に応じて処理が切り替えられる。
【００３４】
S405では、NANデバイス101は、NANクラスタ106内での自身の役割を判定する。NANデバイス101の役割がMasterの場合は（S405でYes）、NANデバイス101は、S406でNANクラスタ通知処理Aを行う。S406（NANクラスタ通知処理A）では、NANデバイス101は、NANクラスタ107のDW期間内にNANクラスタ106の情報を含むDiscovery Beaconを送信することにより、NANクラスタ107に所属するNANデバイスに対してNANクラスタ106の存在を通知する。なお、より確実にこのDiscovery BeaconをNANクラスタ107のNANデバイスに通知するために、NANデバイス101は、Discovery BeaconをDW0期間に送信することとしても良い。なぜなら、NAN仕様では、DW0期間では、NANクラスタ107に所属しているすべてのNANデバイスが受信可能状態にあるからである。このとき、NANデバイス101は、DW0まで待って送信しても良いし、DW0までのすべてのDWで送信しても良い。
【００３５】
NANデバイス101の役割がMasterでない場合は（S405でNo）、NANデバイス101は、上記Discovery Beaconを送信することができないため、S407でNANクラスタ参加処理を行う。S407（NANクラスタ参加処理）では、NANデバイス101は、一度、S402で発見されたNANクラスタ（NANクラスタ107）に参加する。このとき、NANデバイス101は、一時的にNANクラスタ106とNANクラスタ107の両方に参加している状態となる。NANデバイス101は、NANクラスタ107に参加すると、NANクラスタ107に対応するDW期間の監視や役割に応じたBeaconの送信、役割の遷移などの一連の処理をNAN仕様に沿って開始する。
【００３６】
NAN仕様によると、新しいクラスタに参加した直後のNANデバイスは、当該新しいクラスタ内ではMasterとして動作する。このことを利用して、S408（NANクラスタ通知処理B）では、NANデバイス101は、NANクラスタ107のDW期間に、NANクラスタ107に所属する他のNANデバイスに対してNANクラスタ106の情報を含むSynchronization Beaconを送信する。このSynchronization Beaconには、例えば、発見したNANクラスタ106に対応するCluster IDをA3 address fieldに含むNAN IEが付与される。これによって、NANデバイス101は、NANデバイス103、104、105にNANクラスタ106の存在を通知することが可能となる。
【００３７】
なお、より確実にこのSynchronization BeaconをNANクラスタ107のNANデバイスに通知するために、NANデバイス101は、DW0期間にこのSynchronization Beaconを送信しても良い。なぜなら、NAN仕様では、DW0期間では、NANクラスタ107に所属しているすべてのNANデバイスがSynchronization Beaconを受信可能な状態にあるからである。このとき、NANデバイス101は、DW0まで待ってSynchronization Beaconを送信しても良いし、DW0までのすべてのDWでSynchronization Beaconを送信しても良い。この場合、DW0期間までに複数のDWを待つことになるため、NANデバイス101の役割がNon-Master Non-Syncに遷移してしまう可能性がある。これを防ぐために、NANデバイス101はNANクラスタ107におけるMaster Preferenceを高い値に設定しておいても良い。以上の方法により、NANクラスタ107に所属するNANデバイス101以外のNANデバイスに、NANクラスタ106の存在を通知することができる。
【００３８】
NANデバイス101は、上記のSynchronization Beaconを送信した後、S409で、NANクラスタ離脱処理を行う。S409（NANクラスタ離脱処理）では、NANデバイス101は、NANクラスタ107を離脱する。NANクラスタ107を離脱すると、NANデバイス101は、NANクラスタ107参加時に開始した、該NANクラスタに対応する一連の処理を停止する。
【００３９】
S404（NANクラスタマージ処理）、S406（NANクラスタ通知処理A）、S409（NANクラスタ離脱処理)の処理を終えたNANデバイス101は、S410にて初めのパッシブスキャニングに戻ることでNANクラスタ監視処理を継続する。なお、NANクラスタ監視処理の終了については本実施形態では言及しないが、例えばNANを利用した画像共有サービスアプリケーションを終了するときに終了してもよいし、NANデバイス101の電源を消したときに終了しても良い。
【００４０】
図5に、図4のS404の処理として、本実施形態におけるNANクラスタマージ処理のフローチャートを示す。より説明を具体化するために、ここではNANデバイス103が図4のS402でNANクラスタ106を発見した際の動作を例に説明する。
【００４１】
S501において、NANデバイス103は、自身のNANクラスタ107内での役割を判定し、判定結果に応じて処理を切り替える。NANデバイス103の役割がNon-Master Non-Syncの場合（S501でYes）、S502において、NANデバイス103は役割変更処理を実行し、役割をNon-Master SyncもしくはMasterに変更する。役割変更の処理については、後述する。このような役割の変更により、NANデバイス103は、後のS504（NANクラスタ通知処理）において、Synchronization Beaconを送信し、NANクラスタ107内の他のNANデバイス(NANデバイス104, 105)にNANクラスタ情報を通知することが可能になる。
【００４２】
ここで、役割決定および役割変更の処理について説明する。NAN規格では、各NANデバイスが、Master、Non-Master Sync、Non-Master Non-Syncの３つの、どの役割を担うかをそれぞれ決定する。また、NAN規格では、NANクラスタを生成、および、NANクラスタに参加した全てのNANデバイスは、初めはMasterの役割を持つ。その後、各NANデバイスは、DW期間内でMasterデバイスから受信したSynchronization BeaconのRSSI(Received Signal Strength Indication)値、Synchronization Beacon 内のMaster Rank、AMR値、Hop Count Fieldの値に応じて、自身の役割を変更する。ここで、RSSI値は、受信電波強度であるため、近くにMaster Rankの高いNANデバイスがいるかいないかに応じて役割が遷移し得る。Master Rankの高いNANデバイスほどMasterになりやすく、次にNon-Master Sync、Non-Master Non-Syncの順になる。役割決定は2つ以上のDW期間をまたがって変化しなかった場合に収束したと判定して終えても良いがこれに限定されない。なお、役割は、DW期間内でSynchronization Beaconを受信する、もしくはDW期間終了時に変更される可能性がある。
【００４３】
S502では、例えば、NANデバイス103がMaster Preferenceを変更してMaster Rankを変更することにより、役割を変更する。そして、DW期間の経過により、NANデバイス103は、Non-Master Non-SyncからNon-Master Sync、またはMasterへと遷移することを試みる。意図した遷移が起こらなければ、NANデバイス103は、再度Master Preferenceを変更してもよい。このとき、NANデバイス103のMaster RankがNANクラスタ107内で最高になると、Anchor Masterとなり、Cluster Gradeを更新してしまう可能性がある。Cluster Gradeの大小の関係が逆転すると処理が複雑化してしまうため、ここではNANデバイス103は、NANクラスタ107のCluster GradeがNANクラスタ106のCluster Gradeを超えない範囲でMaster Preferenceを変更するものとする。
【００４４】
S501において、NANデバイス103は、自身の役割がNon-Master Non-Syncでない場合（S501でNo）、もしくはS502で役割変更処理を終えた後は、S503において、NANクラスタ参加処理を行う。すなわち、NANデバイス103は、図4のS402の処理で発見されたNANクラスタ106へのNANクラスタ参加処理を行う。S503のNANクラスタ参加処理の処理は、図4のS407の処理の説明と同等なため、詳細は省略する。
【００４５】
次に、S504において、NANデバイス103は、NANクラスタ通知処理を行う。例えば、NANデバイス103は、もともと所属していたNANクラスタ107のDW期間において、新たに発見したNANクラスタ106の情報を含むSynchronization Beaconを送信する。このとき、NANデバイス103は、このSynchronization BeaconをDW0まで待って送信してもよいし、DW0までのすべてのDWで送信を続けても良い。これにより、NANデバイス103は、NANデバイス104、105に、NANクラスタ106の情報を通知することができる。ここで、NANデバイス104、105も、NANデバイス103が図4のS402でNANクラスタ106を発見した時点で同様にNANクラスタ106を発見している可能性もある。しかし、NANデバイス104、105は、電波が届かない範囲に存在していた、受信状態にいなかったなどの理由で、NANクラスタ106を発見できない場合もある。そのため、S504において、NANデバイス103がSynchronization Beaconを送り、発見したNANクラスタ（NANクラスタ106）を再度通知することで、NANクラスタのマージをより高確率に促進することができる。
【００４６】
NAN仕様では、ネットワーク帯域の節約および各NANデバイスの処理負荷、消費電力を低減するために、各役割において送信できる信号に制限が加えられている。例えば、Discovery BeaconはMasterのみ、Synchronization BeaconはMaster及びNon-Master Syncのみが送信可能である。したがって、Non-Master Non-SyncのNANデバイスは、Synchronization Beaconを投げることができない。しかしながら、本実施形態では、NANデバイス103は、当初役割がNon-Master Non-Syncであったとしても、S502においてNon-Master役割を変更していることから、S504においてSynchronization Beaconの送信が可能となる。
【００４７】
NANデバイス103は、Synchronization Beaconの送信により、NANクラスタ107内へのNANクラスタ106の情報の通知が終了したら、S505においてNANクラスタ離脱処理を行い、NANクラスタ107を離脱する。S505のNANクラスタ離脱処理の詳細は、S409の処理と同等のため省略する。
【００４８】
なお、図5に示す処理の変形例として、NANデバイス103は、S503のNANクラスタ参加処理を、S501の処理の前に行っても良いし、S505のNANクラスタ離脱処理の前後に行っても良い。
【００４９】
また、NAN仕様では、NANデバイスは、一度Master Preferenceを変更すると、一定期間（240個のDWが経過するまで）の間変更をしてはならないという制約がある。そのため、NANデバイス103は、S502において即時に役割変更処理が行えない場合は、役割が変更できるようになるまで待機してから、役割を変更する。この場合、上述したように、NANデバイス103は、発見したNANクラスタ（NANクラスタ106）の存在の通知をより多くのNANデバイス（NANデバイス104、105）に高確率で実施できる。一方、NANデバイス103は、待機せずに、即時的な処理を優先し、S502の役割変更処理を実行せずにS503のNANクラスタ参加処理に進んでも良い。この場合、S504において、NANデバイス103は、Synchronization Beaconが送信できないため実行できない。よって、NANデバイス103は、S504の処理を実行せずに、S505のNANクラスタ離脱処理に進み得る。
【００５０】
図6に、本実施形態における例示的なシーケンス図を示す。ここでは、NANデバイス101、103、104の動作を例に説明し、NANデバイス102、105の動作の説明については、説明の簡単化のために省略する。
【００５１】
まず初めに、NANデバイス101、103、104のNAN機能が各デバイスのユーザによって起動され、図1に示すようなNANクラスタ106、107がそれぞれ形成されたと仮定する。また、NANデバイス101とNANデバイス103の役割はMasterであり、NANデバイス104の役割はNon-Master Syncであると仮定する。前提として、NANデバイス101は、画像共有サービスを検索することを意図し、NANデバイス104が画像共有サービスを提供できるものとする。本仮定は説明をより具体的にするために行うものであり、実施形態はこれに限定されない。
【００５２】
シーケンスの開始時点で、各NANデバイス101、103、104は、NANクラスタへの参加を終えており、NANクラスタ監視処理が実行されている。各NANデバイス101、103、104は、パッシブスキャニング（図4のS401）を実行するとともに、役割に応じてBeaconの送信を行う。
【００５３】
S601において、NANデバイス101は、NANクラスタ106の情報を含むDiscovery Beaconを送信するが、このときNANデバイス103は受信状態にあらず受信できなかったとする。一方、S602において、NANデバイス103は、NANクラスタ107の情報を含むDiscovery Beaconを送信し、NANデバイス101はこれを受信できたとする。すると、NANデバイス101は、S603でNANクラスタ107を発見をしたと判定する。S603でNANデバイス101がNANクラスタ107を発見したことは、図4におけるS402でYesに対応する。続いて、NANデバイス101は、自身が所属するNANクラスタ106と発見したNANクラスタ107のCluster Gradeを比較する。本例では、NANクラスタ107のCluster Gradeが低く（S403でNo）、NANデバイス101の役割はMasterのため（S405でYes）、NANデバイス101は、NANクラスタ通知処理A（S406）を行う。
【００５４】
NANデバイス101は、NANクラスタ通知処理Aとして、S604において、NANクラスタ107のDW期間において、NANクラスタ106の情報を含むDiscovery Beaconを送信する。なお、より確実にこのDiscovery BeaconをNANデバイス103に通知するために、NANデバイス101は、DW0期間にこのDiscovery Beaconを送信することとしても良い。なぜなら、NAN仕様によれば、DW0期間では、NANクラスタ107に所属しているすべてのNANデバイスが受信可能状態にあるからである。このとき、NANデバイス101は、上記のDiscovery BeaconをDW0まで待って送信しても良いし、DW0までのすべてのDWで送信しても良い。
【００５５】
S604においてDiscovery Beaconを受信したNANデバイス103は、S605においてNANクラスタ106を発見する。S605でNANデバイス103がNANクラスタ106を発見したことは、図4におけるS402でYesに対応する。続いて、NANデバイス103は、自身が所属するNANクラスタ107と発見したNANクラスタ106のCluster Gradeを比較する。本例では、発見したNANクラスタ106のCluster Gradeが高いため（S403でYes）、NANデバイス103は、NANクラスタマージ処理（S404）を行う。
【００５６】
NANクラスタマージ処理を説明する図5において、NANデバイス103はMasterの役割のため、NANクラスタ参加処理（S503）を行う。このNANクラスタ参加処理はS606に対応する。続いて、NANデバイス103は、NANクラスタ107のDW期間に、NANクラスタ106の情報を含むSynchronization Beaconを送信する（S504、S607）。なお、NANデバイス103は、より確実にこのSynchronization BeaconをNANデバイス104に通知するために、DW0期間にこのSynchronization Beaconを送信することとしても良い。なぜなら、NAN仕様によれば、DW0期間ではNANクラスタ107に所属しているすべてのNANデバイスが受信可能状態にあるからである。このとき、NANデバイス103は、上記のDiscovery BeaconをDW0まで待って送信しても良いし、DW0までのすべてのDWで送信しても良い。Synchronization Beaconの通知後、NANデバイス103は、NANクラスタ離脱処理を行う（S505、S608）
【００５７】
S607でNANデバイス103からNANクラスタ106の情報を含むSynchronization Beaconを受信したNANデバイス104は、S609〜S612の処理を実行する。S609〜S612の処理は、NANデバイス103により実行されたS605〜S608の処理と同様のため説明を省略する。
【００５８】
以上の処理により、NANデバイス101、103、104がすべてNANクラスタ106にマージされる。クラスタがマージされた結果、NANデバイス103は、NANデバイス104の提供する画像共有サービスを発見できるようになる。具体的には、NANデバイス101は、NANクラスタ106のDW期間内でSubscribeをBroadcast送信することで、NANデバイス104がこれを受信し、Publishを返答する。もしくは、NANデバイス101は、Subscribeを送信せずに、NANデバイス104が送信するPublishを受信することでNANデバイス104の提供する画像共有サービスを発見しても良い。
【００５９】
図7に、本実施形態における別のシーケンス図を示す。図6と同様に、ここでは、NANデバイス101、103、104の動作を例に説明し、NANデバイス102、105の動作の説明については、説明の簡単化のために省略する。
【００６０】
まず初めに、NANデバイス101、103、104のNAN機能が各デバイスのユーザによって起動され、図1に示すようなNANクラスタ106、107がそれぞれ形成されたと仮定する。また、NANデバイス101の役割はNon-Master Syncであり（すなわち、Masterではない）、NANデバイス103の役割はMasterであり、NANデバイス104の役割はNon-Master Non-Syncであると仮定する。本仮定は説明をより具体的にするために行うものであり、実施形態はこれに限定されない。
【００６１】
S701の処理は、図6のS602の処理と同様のため説明を省略する。S702において、NANデバイス101は、クラスタ107を発見する、S701でNANクラスタ107を発見したことは、図4におけるS403におけるNoに対応し、NANデバイス101は、自身が所属するNANクラスタ106と発見したNANクラスタ107のCluster Gradeを比較する。本例では、NANクラスタ107のCluster Gradeが低く（S403でNo）、NANデバイス101の役割はMasterではないため（S405でNo）、NANデバイス101は、NANクラスタ107へのNANクラスタ参加処理を行う（S407）。これに応じて、S703において、NANデバイス101は、一旦NANクラスタ107に参加する。
【００６２】
次に、S704において、NANデバイス101は、クラスタ107のDW期間に、NANクラスタ106の情報を含むSynchronization Beaconを送信することで、NANデバイス103にクラスタ106の存在を通知する。S704の処理は、図4のS408のNANクラスタ通知処理Bにあたる。なお、より確実にこのSynchronization BeaconをNANデバイス103に通知するために、NANデバイス101は、DW0期間にこのDiscovery Beaconを送信することとしても良い。NANデバイス101は、NANデバイス103へのクラスタ106の通知が完了したら、S705においてNANクラスタ107を離脱し、元の状態に戻る。S705の処理は、図4のS409のNANクラスタ離脱処理にあたる。
【００６３】
S706〜S710の処理は、図6のS605〜S609の処理と同様のため説明を省略する。S710において、NANデバイス104は、NANクラスタ106を発見する。S710でNANデバイス104がNANクラスタ106を発見したことは、図4におけるS402でYesに対応する。続いて、NANデバイス104は、自身が所属するNANクラスタ107と発見したNANクラスタ106のCluster Gradeを比較する。本例では、発見したNANクラスタ106のCluster Gradeが高いため（S403でYes）、NANデバイス104は、NANクラスタマージ処理（S404）を行う。
【００６４】
NANクラスタマージ処理を説明する図5において、NANデバイス104の役割はNon-Master Non-Syncであるため（S501でYes）、役割変更処理を行い、自身の役割をNon-Master Non-SyncからNon-Master SyncもしくはMasterに変更する（S502、S711）。これにより、NANデバイス104は、NANクラスタ107に所属する他のNANデバイスにクラスタ106の存在を通知し、マージを促進することが可能になる。なぜなら、S704やS708で送信されるSynchronization Beaconを受信できなかったクラスタ107に所属するNANデバイスも、S713で送信されるSynchronization Beaconを受信し得るからである。その場合、該NANデバイスのクラスタ106への参加だけでなく、さらに該NANデバイスが同様にSynchronization Beaconを送信することでマージのための情報を伝播することができる。S712〜S714の処理は、図6のS610〜S612の処理と同様のため説明を省略する。
【００６５】
このように本実施形態によれば、NANデバイスが、他のNANクラスタを発見した場合、当該NANデバイスが所属するNANクラスタのCluster Gradeが当該他のNANクラスタのCluster Gradeより高い場合であっても、上記のように所定の信号を送信することにｙろい、マージ処理を促進することができる。また、当該NANデバイスが所属するNANクラスタのCluster Gradeが当該他のNANクラスタのCluster Gradeより低く、当該NANデバイスの役割がNon-Master Non-Syncである場合に、役割の変更を行うことにより、マージ処理を促進することが可能となる。NANクラスタがマージされることにより、NANデバイスは、所望のサービスを享受できる可能性が高まる。
【００６６】
＜実施形態２＞
実施形態１では、図4のS405において、NANデバイスの役割がMasterでない場合に、NANデバイスは、一時的に発見したNANデバイスに参加して、NANクラスタ通知処理Bを行った（S407、408）。本実施形態では、それに代えて、NANデバイスの役割をMasterに変更する例について記載する。本実施形態では実施形態１と異なる点を説明する。
【００６７】
図8は、本実施形態におけるNANクラスタ監視処理のフローチャートである。S801〜S804の処理は図4のS401〜S404の処理と同様であり、S806の処理は図4のS406の処理と同様、S808の処理は図4のS410の処理と同様のため説明省略する。
【００６８】
S805において、NANデバイスは、自身の役割がMasterでない場合に（S805でNo）、S807において役割変更処理を実行する。S807の処理は、図5のS502の処理と同様である。ただし、S807では役割はS806でDiscovery Beaconを送信するための役割（Master）に変更される。役割をMasterに変更したことによって、S803でNo、S805でNoの場合に、NANデバイスは、発見したNANクラスタに参加することなく、S806でDiscovery Beaconを用いたクラスタの通知を行うことが可能になる。
【００６９】
図9に、本実施形態におけるシーケンス図を示す。ここでは、NANデバイス101、103、104の動作を例に説明し、NANデバイス102、105の動作の説明については、説明の簡単化のために省略する。
【００７０】
まず初めに、NANデバイス101、103、104のNAN機能が各デバイスのユーザによって起動され、図1に示すようなNANクラスタ106、107がそれぞれ形成されたと仮定する。また、NANデバイス101の役割はNon-Master Sync、NANデバイス103の役割はMaster、NANデバイス104の役割はMasterであると仮定する。本仮定は説明をより具体的にするために行うものであり、実施形態はこれに限定されない。
【００７１】
S901〜S902の処理は、図7のS701〜S702の処理と同様のため説明を省略する。S902においてNANデバイス101はクラスタ107を発見すると、NANデバイス101は、自身が所属するNANクラスタ106と発見したNANクラスタ107のCluster Gradeを比較する。本例では、NANクラスタ107のCluster Gradeが低く（S803でNo）、NANデバイス101の役割はNon-Master Syncであるため（S805でNo）、NANデバイス101は役割変更処理を行う（S807、S903）。ここでNANデバイス101は役割を例えばMasterに変更することで、S904においてDiscovery Beaconを送ることが可能になる。これにより、NANデバイス101は、実施形態１のようにNANクラスタ107に参加することなく、NANクラスタ106とNANクラスタ107のマージを促進することが可能となる。S904〜S912の処理は、図6のS604〜S612と同様のため説明を省略する。
【００７２】
＜実施形態３＞
本実施形態では、既に説明した実施形態１と実施形態２を組み合わせる例について説明する。実施形態１の図6の説明では、NANデバイス101の役割がMasterでない場合に、NANデバイス101はNANクラスタ107に参加しSynchronization Beaconを送信することで、NANデバイス103にNANクラスタ106の情報を通知した。一方、実施形態２の図9の説明では、NANデバイス101の役割がMasterでない場合に、NANデバイス101は自身の役割をMasterに変更することで、NANクラスタ107に参加せずに、Discovery Beaconを送信してNANデバイス103にNANクラスタ１の情報を通知した。
【００７３】
ところで、NAN仕様では、NANデバイスは、一度Master Preferenceを変更すると、一定期間（240個のDWが経過するまで）の間変更をしてはならないという制約がある。これにより、NANデバイスは、実施形態２に説明した役割変更処理（S807）を即時に実施することができない場合が起こりうる。この場合、実施形態１の方法を適用することで、マージをより即時に進めることができる。一方、発見したクラスタに参加しないでマージを促進させる実施形態２の方が、実施形態１に比べてNANデバイスの処理負荷は軽減される。
【００７４】
また、実施形態１では、NANデバイスは複数のNANクラスタに参加するため、少なくともそれぞれのNANクラスタのDW期間で受信機能を有効にする必要がある。一方、実施形態２では、NANデバイスは一つのNANクラスタにのみ参加しており、少なくともそのNANクラスタのDW期間で受信機能を有効にすれば良い。結果として、実施形態２では、実施形態１に比べてNANデバイス省電力効果が高まる。よって、NANデバイスは、役割変更が即時に実施可能である場合は、実施形態２の方法を適用することで、より効率的にマージ処理を進めることができる。
【００７５】
以上を鑑みて、本実施形態３では、NANデバイスが、役割変更が可能かどうかについての所定の条件に基づいて処理を切り替える例について記載する。以下、実施形態１、２と異なる点について説明する。なお、本実施形態では、役割変更が可能かどうかについての条件を時間的な条件とするが、役割変更が可能かどうかについての他の条件を適用することも可能である。
【００７６】
図10は、本実施形態におけるNANクラスタ監視処理のフローチャートである。S1001〜S1006の処理は図4のS401〜S406と同様であり、S1008の処理は図8のS807の処理と同様であり、S1009〜S1012の処理は図4S407〜S410の処理と同様のため説明を省略する。
【００７７】
S1007において、NANデバイスは、役割変更が可能であるかどうかに応じて処理を切り替える。役割変更可能かどうかは、例えば、最後にMaster Preferenceを変更してから所定の時間期間（NAN規格では240個のDW）が経過したか否かによって判断される。所定の時間期間が経過していれば、NANデバイスは役割変更が可能である。役割変更が可能であれば（S1007でYes）、NANデバイスは役割変更処理（S1008）を行い、可能でなければ（S1007でNo）、NANデバイスはNANクラスタ参加処理（S1009）を行う。
【００７８】
＜実施形態４＞
本実施形態では、実施形態１の変形例として、図6におけるNANデバイス103がNANデバイス104の起きている（各種Beaconを受信可能な）DW期間を知っている場合の例について記載する。以下、実施形態１と異なる点について説明する。
【００７９】
NAN仕様では、複数あるDWのうち、周期的に到来するDW0においては、同一クラスタ内の全てのNANデバイスが起きている必要がある。しかし、役割がNon-Master Non-SyncのNANデバイスは、DW0以外のDWでは起きている必要性はない。このとき、Non-Master Non-SyncのNANデバイスは、DW0以外のDWで起きない代わりに、同一クラスタ内の他のNANデバイスに代理でサービス通知や応答を依頼することが考えられる。さらにこのとき、代理を依頼する側のNANデバイス（代理デバイス）は、自身が起きているDW期間を、代理を依頼される側のNANデバイス（被代理デバイス）に通知することで、代理デバイスがが起きているときに効率よく通信することができる。
【００８０】
本実施形態では上記に鑑み、Non-Master Non-Sync以外の役割のNANデバイス（被代理デバイス）が、Non-Master Non-SyncのNANデバイス（代理デバイス）の起きているDW期間に、図5のNANクラスタ通知処理（S504）を行う。これにより、被代理NANデバイスは、代理デバイスに対して、確実に移動する先のNANクラスタの通知を行うことが可能となる。
【００８１】
図11に、本実施形態におけるシーケンス図を示す。ここでは、NANデバイス101、103、104の動作を例に説明し、NANデバイス102、105の動作の説明については、説明の簡単化のために省略する。
【００８２】
まず初めに、NANデバイス101、103、104のNAN機能が各デバイスのユーザによって起動され、図1に示すようなNANクラスタ106、107がそれぞれ形成されたと仮定する。また、NANデバイス101とNANデバイス103の役割はMasterであり、NANデバイス104の役割はNon-Master Non-Syncであると仮定する。本仮定は説明をより具体的にするために行うものであり、実施形態はこれに限定されない。
【００８３】
S1101において、NANデバイス103は、自身が代理サービスを提供可能であることを、Publishメッセージを用いてNANクラスタ107内に通知する。NANデバイス104は、この通知を受信し、S1102において、代理を依頼するためのRegisterメッセージをNANデバイス103に送信する。NANデバイス104は、このRegisterメッセージに、自身が起きているDW期間を指定して（例えば。自身が起きているDW期間の情報を含めて）、NANデバイス103に通知する。なお、代理サービスの提供および依頼方法、起きているDW期間の通知方法・指定方法はこれに限らず、Beaconなど別の信号を用いてやりとりしても良い。
【００８４】
S1103〜S1107の処理はS602〜S606の処理と同様であり、S1109〜S1114の処理はS709〜S714の処理と同様のため説明を省略する。S1108において、NANデバイス103は、NANクラスタ107内にSynchronization Beaconを送信することで、クラスタ106の存在を通知する。本実施形態では、NANデバイス103は、NANデバイス104の起きているDW期間を知っているので、次のDW0まで待たずに、Synchronization Beaconの送信準備ができた時点から最も近いDWで通知することで、NANデバイス104に通知が可能となる。
【００８５】
このように、本実施形態では、NANクラスタ内のすべてのNANデバイスが起きている期間（DW0）にSynchronization Beaconを送信する場合に比べて、代理を依頼しているNANデバイスに対してより速く通知が可能になる。さらに、代理を依頼しているNANデバイスには確実にSynchronization Beaconを送信したいが、他のNANデバイスには送信が必須でない場合に、本実施形態による方法が有効である。また、代理を依頼しているNANデバイスがNANクラスタを離脱する場合には、代理の依頼を解除することが考えられる。マージが完了すると、代理を依頼しているNANデバイスは、代理を依頼されたNANデバイスと同じNANクラスタに所属することになる。
【００８６】
＜その他の実施形態＞
上述の各実施形態では、複数の通信装置からなる集合を形成して無線通信を行う通信システムの一例として、NAN規格に準拠した無線LANシステムについて説明した。しかしながらNANに限らず、複数の通信装置からなる集合が複数存在する場合にそれらをマージすることができる通信システムにおいて本発明は適用可能である。無線通信の方式についても、IEEE802.11シリーズに準拠した無線LANに限らず、Bluetooth（登録商標）、Zigbee等、その他の通信方式を用いてもよい。
【００８７】
また、本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００８８】
101、102、103、104、105  NANデバイス、106、107  NANクラスタ
【図１】
2018117221.tif 000003
【図２】
2018117221.tif 000004
【図３】
2018117221.tif 000005
【図４】
2018117221.tif 000006
【図５】
2018117221.tif 000007
【図６】
2018117221.tif 000008
【図７】
2018117221.tif 000009
【図８】
2018117221.tif 000010
【図９】
2018117221.tif 000011
【図１０】
2018117221.tif 000012
【図１１】
2018117221.tif 000013