(57)【特許請求の範囲】
【請求項１】
通信装置であって、
ディスカバリビーコンを受信することにより、前記通信装置が属している第１のＮＡＮ（Ｎｅｉｇｈｂｏｒ  Ａｗａｒｅｎｅｓｓ  Ｎｅｔｗｏｒｋｉｎｇ）クラスタとは異なるＮＡＮクラスタを探索する探索手段と、
前記探索手段により、前記第１のＮＡＮクラスタのＣｌｕｓｔｅｒ  Ｇｒａｄｅよりも高いＣｌｕｓｔｅｒ  Ｇｒａｄｅを有する第２のＮＡＮクラスタが検出された場合、前記通信装置が前記第１のＮＡＮクラスタにおいて、前記第１のＮＡＮクラスタにおけるＤｉｓｃｏｖｅｒｙ  Ｗｉｎｄｏｗの期間とは異なる期間に通信相手と所定の無線データ通信を実行しているかを判定する判定手段と、
前記判定手段により前記通信装置が前記Ｄｉｓｃｏｖｅｒｙ  Ｗｉｎｄｏｗの期間とは異なる期間に所定の無線データ通信を実行していると判定された場合、前記探索手段により前記第２のＮＡＮクラスタが検出された場合であっても、前記第１のＮＡＮクラスタへの参加を継続し、
前記判定手段により前記通信装置が前記Ｄｉｓｃｏｖｅｒｙ  Ｗｉｎｄｏｗの期間とは異なる期間に所定の無線データ通信を実行していないと判定された場合、前記探索手段により前記第２のＮＡＮクラスタが検出されたことに応じて、前記第１のＮＡＮクラスタへの参加を停止し、前記第２のＮＡＮクラスタに参加するように制御する制御手段と、
を有することを特徴とする通信装置。
【請求項２】
前記第１のＮＡＮクラスタに参加している間、所定の通知信号を繰り返し送信する送信手段を更に有することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記送信手段は、前記第１のＮＡＮクラスタのＤｉｓｃｏｖｅｒｙ  Ｗｉｎｄｏｗの期間に前記所定の通知信号を送信することを特徴とする請求項２に記載の通信装置。
【請求項４】
前記所定の通知信号は、Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ  Ｂｅａｃｏｎであることを特徴とする請求項２または３に記載の通信装置。
【請求項５】
ＮＡＮ規格とは異なる規格に従って通信が行われる無線ネットワークに参加する参加手段を更に有し、
前記所定の無線データ通信は、前記無線ネットワークに参加するために行われる通信であることを特徴とする請求項１から４のいずれか１項に記載の通信装置。
【請求項６】
前記無線データ通信は、前記通信相手が提供するサービスにアクセスするための通信であることを特徴とする請求項１から４のいずれか１項に記載の通信装置。
【請求項７】
前記第２のＮＡＮクラスタに参加している装置から前記ディスカバリビーコンを受信する受信手段を更に有することを特徴とする請求項１から６のいずれか１項に記載の通信装置。
【請求項８】
前記制御手段は、前記通信装置が前記所定の無線データ通信を行っている間は、前記第２のＮＡＮクラスタに参加しないように制御することを特徴とする請求項１から７のいずれか１項に記載の通信装置。
【請求項９】
前記制御手段は、前記所定の無線データ通信の終了に応じて、前記第２のＮＡＮクラスタに参加するように制御することを特徴とする請求項１から８のいずれか１項に記載の通信装置。
【請求項１０】
前記制御手段は、前記所定の無線データ通信の終了に応じて、前記第１のＮＡＮクラスタへの参加を停止するように制御することを特徴とする請求項１から９のいずれか１項に記載の通信装置。
【請求項１１】
前記所定の無線データ通信は、前記相手装置との間で、ユニキャストもしくはマルチキャストの信号を送信または受信することで行われることを特徴とする請求項１から１０のいずれか１項に記載の通信装置。
【請求項１２】
前記所定の無線データ通信は、前記第１のＮＡＮクラスタにおけるＤｉｓｃｏｖｅｒｙ  Ｗｉｎｄｏｗの期間におけるネゴシエーションの結果に応じて行われる通信であることを特徴とする請求項１から１０のいずれか１項に記載の通信装置。
【請求項１３】
前記所定の無線データ通信は、前記第１のＮＡＮクラスタにおけるＤｉｓｃｏｖｅｒｙ  Ｗｉｎｄｏｗの期間におけるネゴシエーションが完了しなかったことに応じて行われる通信であることを特徴とする請求項１２に記載の通信装置。
【請求項１４】
通信装置の制御方法であって、
ディスカバリビーコンを受信することにより、前記通信装置が属している第１のＮＡＮ（Ｎｅｉｇｈｂｏｒ  Ａｗａｒｅｎｅｓｓ  Ｎｅｔｗｏｒｋｉｎｇ）クラスタとは異なるＮＡＮクラスタを探索する探索工程と、
前記探索工程において、前記第１のＮＡＮクラスタのＣｌｕｓｔｅｒ  Ｇｒａｄｅよりも高いＣｌｕｓｔｅｒ  Ｇｒａｄｅを有する第２のＮＡＮクラスタが検出された場合、前記通信装置が前記第１のＮＡＮクラスタにおいて、前記第１のＮＡＮクラスタにおけるＤｉｓｃｏｖｅｒｙ  Ｗｉｎｄｏｗの期間とは異なる期間に通信相手と所定の無線データ通信を実行しているかを判定する判定工程と、
前記判定工程において前記通信装置が前記Ｄｉｓｃｏｖｅｒｙ  Ｗｉｎｄｏｗの期間とは異なる期間に所定の無線データ通信を実行していると判定された場合、前記探索工程において前記第２のＮＡＮクラスタが検出された場合であっても、前記第１のＮＡＮクラスタへの参加を継続する継続工程と、
前記判定工程において前記通信装置が前記Ｄｉｓｃｏｖｅｒｙ  Ｗｉｎｄｏｗの期間とは異なる期間に所定の無線データ通信を実行していないと判定された場合、前記探索工程において前記第２のＮＡＮクラスタが検出されたことに応じて、前記第１のＮＡＮクラスタへの参加を停止し、前記第２のＮＡＮクラスタに参加するように制御する制御工程と、
を有することを特徴とする制御方法。
【請求項１５】
コンピュータを請求項１から１３のいずれか１項に記載の通信装置として動作させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、参加する無線ネットワークを切替えて通信する通信装置に関する。
【背景技術】
【０００２】
通信装置に、利用可能なサービス（機能）や様々な情報を低消費電力で検出可能とさせるＮｅｉｇｈｂｏｒ  Ａｗａｒｅｎｅｓｓ  Ｎｅｔｗｏｒｋｉｎｇ（ＮＡＮ）という技術がある（特許文献１）。
【０００３】
ＮＡＮでは、無線ネットワーク（ＮＡＮ  Ｃｌｕｓｔｅｒ）が形成され、ＮＡＮ  Ｃｌｕｓｔｅｒにおいてサービスや様々な情報を検出することができる。また、所望のサービスや情報を提供する相手装置を検出した場合、相手装置を特定したデータ通信を行うこともできる。これにより、通信装置を利用するユーザは、相手装置が提供する所望のサービスの利用や、所望の情報の取得を行うことができる。
【０００４】
一方で、ＮＡＮでは、ＮＡＮ  Ｃｌｕｓｔｅｒの優先度を示すＣｌｕｓｔｅｒ  Ｇｒａｄｅ（ＣＧ）が定義されている。ＮＡＮ  Ｃｌｕｓｔｅｒに参加している通信装置は、よりＣＧの高い他のＮＡＮ  Ｃｌｕｓｔｅｒを検出した場合、当該よりＣＧの高い他のＮＡＮ  Ｃｌｕｓｔｅｒに参加するＣｌｕｓｔｅｒを切替えることが、ＮＡＮでは推奨されている。
【０００５】
これにより、ＣＧの低いＮＡＮ  Ｃｌｕｓｔｅｒは消滅し、ＣＧの高いＮＡＮ  Ｃｌｕｓｔｅｒに集約されるため、ＮＡＮ  Ｃｌｕｓｔｅｒの乱立を防止することができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】米国特許出願公開第２０１５／０３６５４０号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、相手装置を特定したデータ通信中に、よりＣＧの高い他のＮＡＮ  Ｃｌｕｓｔｅｒを検出し、参加するＮＡＮ  Ｃｌｕｓｔｅｒを切替えた場合、データ通信が途中で途切れてしまうという課題がある。
【０００８】
上記課題を鑑み、通信相手を特定したデータ通信を行っている場合に、データ通信が途中で途切れてしまうリスクを低減することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を鑑み、本発明の通信装置は、ディスカバリビーコンを受信することにより、前記通信装置が属している第１のＮＡＮ（Ｎｅｉｇｈｂｏｒ  Ａｗａｒｅｎｅｓｓ  Ｎｅｔｗｏｒｋｉｎｇ）クラスタとは異なるＮＡＮクラスタを探索する探索手段と、前記探索手段により、前記第１のＮＡＮクラスタのＣｌｕｓｔｅｒ  Ｇｒａｄｅよりも高いＣｌｕｓｔｅｒ  Ｇｒａｄｅを有する第２のＮＡＮクラスタが検出された場合、前記通信装置が前記第１のＮＡＮクラスタにおいて、前記第１のＮＡＮクラスタにおけるＤｉｓｃｏｖｅｒｙ  Ｗｉｎｄｏｗの期間とは異なる期間に通信相手と所定の無線データ通信を実行しているかを判定する判定手段と、前記判定手段により前記通信装置が前記Ｄｉｓｃｏｖｅｒｙ  Ｗｉｎｄｏｗの期間とは異なる期間に所定の無線データ通信を実行していると判定された場合、前記探索手段により前記第２のＮＡＮクラスタが検出された場合であっても、前記第１のＮＡＮクラスタへの参加を継続し、前記判定手段により前記通信装置が前記Ｄｉｓｃｏｖｅｒｙ  Ｗｉｎｄｏｗの期間とは異なる期間に所定の無線データ通信を実行していないと判定された場合、前記探索手段により前記第２のＮＡＮクラスタが検出されたことに応じて、前記第１のＮＡＮクラスタへの参加を停止し、前記第２のＮＡＮクラスタに参加するように制御する制御手段と、を有する。
【発明の効果】
【００１１】
本発明によれば、通信相手を特定したデータ通信を行っている場合には、優先度の高い他の無線ネットワークが存在する場合であっても、無線ネットワークを切替えないので、データ通信が途中で途切れてしまうリスクを低減することができる。
【図面の簡単な説明】
【００１２】
【図１】通信システム構成図
【図２】通信装置のハードウェア構成図
【図３】通信装置の機能ブロック図
【図４】通信装置が実現するフローチャート
【図５】シーケンスチャート
【図６】通信装置が実現するフローチャート
【発明を実施するための形態】
【００１３】
＜実施形態１＞
図１に、本実施形態における通信システム構成を示す。通信装置１０１、１０２および１０３は、ＮＡＮ規格に準拠した無線ネットワーク（ＮＡＮ  Ｃｌｕｓｔｅｒ）に参加し、無線通信を行う。ここで、ＮＡＮとはＮｅｉｇｈｂｏｒ  Ａｗａｒｅｎｅｓｓ  Ｎｅｔｗｏｒｋｉｎｇの略である。ＮＡＮ  Ｃｌｕｓｔｅｒにおいて、各通信装置はＮＡＮ規格に定められた通信プロトコルに従って無線通信を行う。
【００１４】
無線ネットワーク１１１および１１２は、ＮＡＮに準拠した無線ネットワークである。以下、無線ネットワーク１１１をＣｌｕｓｔｅｒ  Ｘ、１１２をＣｌｕｓｔｅｒ  Ｙと称する。Ｃｌｕｓｔｅｒ  ＸおよびＹは、周波数チャネルとして２．４ＧＨｚ帯における６ｃｈを利用する。
【００１５】
通信装置１０１および１０２は、Ｃｌｕｓｔｅｒ  Ｘに参加する。また、通信装置１０１および１０３は、Ｃｌｕｓｔｅｒ  Ｙに参加する。通信装置１０１がＣｌｕｓｔｅｒへ参加すると、参加したＣｌｕｓｔｅｒにおいて定められたＤｉｓｃｏｖｅｒｙ  Ｗｉｎｄｏｗ（ＤＷ）内で、通信装置１０１は報知信号を送信および受信する。これにより、通信装置１０１はＣｌｕｓｔｅｒ内でＮＡＮに準拠したデータ通信を行うことが可能となる。
【００１６】
なお、Ｃｌｕｓｔｅｒに参加する各装置は、ＤＷ内ではＡｗａｋｅ状態となって無線通信を行い、ＤＷ外では省電力のＳｌｅｅｐ状態となり無線通信を抑制する。これにより、各装置は少ない電力でデータ通信を行うことができる。
【００１７】
ここで、１つのＤＷの長さは１６ＴＵ（Ｔｉｍｅ  Ｕｎｉｔ）であり、ＤＷの周期間隔は５１２ＴＵである。ここで、１ＴＵは約１ミリ秒である。また、報知信号とは、ＮＡＮ規格において定義され、Ｃｌｕｓｔｅｒ内において他の通信装置と同期を取るための同期信号であるＳｙｎｃｈｒｏｎｉｚａｔｉｏｎ  Ｂｅａｃｏｎ（Ｓｙｎｃ  Ｂｅａｃｏｎ）である。通信装置１０１は各ＤＷにおいてＳｙｎｃｈｒｏｎｉｚａｔｉｏｎ  Ｂｅａｃｏｎを周期的に送信する。
【００１８】
また、各Ｃｌｕｓｔｅｒに参加した通信装置１０２および１０３は、ＮＡＮ規格に準拠したＭａｓｔｅｒとして動作する。Ｍａｓｔｅｒは、ＮＡＮ規格において定義され、Ｃｌｕｓｔｅｒを他の通信装置に検出させるための検出信号であるＤｉｓｃｏｖｅｒｙ  Ｂｅａｃｏｎを１００ＴＵ間隔で周期的に送信する。
【００１９】
なお、Ｃｌｕｓｔｅｒに参加した各通信装置は、Ｍａｓｔｅｒ、Ｎｏｎ−Ｍａｓｔｅｒ  Ｓｙｎｃ及びＮｏｎ−Ｍａｓｔｅｒ  Ｎｏｎ−Ｓｙｎｃのうちの何れかの役割で動作する。
【００２０】
Ｍａｓｔｅｒとして動作する装置は、各装置がＤＷを識別し、Ｓｙｎｃ  Ｂｅａｃｏｎを送信する。また、Ｍａｓｔｅｒとして動作する装置は、当該Ｃｌｕｓｔｅｒに参加していない装置に当該ＮＡＮクラスタを検出させるための信号であるＤｉｓｃｏｖｅｒｙ  Ｂｅａｃｏｎを送信する。なお、１つのＣｌｕｓｔｅｒにおいて、少なくとも１台の装置は、Ｍａｓｔｅｒとして動作する。
【００２１】
Ｎｏｎ−Ｍａｓｔｅｒ  Ｓｙｎｃとして動作する端末は、Ｓｙｎｃ  Ｂｅａｃｏｎを送信するが、Ｄｉｓｃｏｖｅｒｙ  Ｂｅａｃｏｎは送信しない。Ｎｏｎ−Ｍａｓｔｅｒ  Ｎｏｎ−Ｓｙｎｃとして動作する端末は、Ｓｙｎｃ  ＢｅａｃｏｎもＤｉｓｃｏｖｅｒｙ  Ｂｅａｃｏｎも送信しない。
【００２２】
また、各Ｃｌｕｓｔｅｒには、各装置が参加すべきＣｌｕｓｔｅｒの優先度を示す値であり、ＮＡＮ規格に定められたＣｌｕｓｔｅｒ  Ｇｒａｄｅ（ＣＧ）が設定されている。ここでは、Ｃｌｕｓｔｅｒ  ＸよりもＣｌｕｓｔｅｒ  Ｙの方がＣＧ高いものとする。即ち、Ｃｌｕｓｔｅｒ  ＸとＣｌｕｓｔｅｒ  Ｙの両方を検出した装置は、Ｃｌｕｓｔｅｒ  Ｙに優先的に参加する。
【００２３】
図２に、通信装置１０１のハードウェア構成を示す。なお、通信装置１０２および１０３も、通信装置１０１と同様のハードウェア構成を有するため、ここでは説明を省略する。
【００２４】
記憶部２０１はＲＯＭやＲＡＭ等のメモリにより構成され、後述する各種動作を行うためのプログラムや、無線通信のための通信パラメータ等の各種情報を記憶する。なお、記憶部２０１として、ＲＯＭ、ＲＡＭ等のメモリの他に、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＤＶＤなどの記憶媒体を用いてもよい。また、記憶部２０１が複数のメモリを備えていてもよい。
【００２５】
制御部２０２はＣＰＵやＭＰＵ等のプロセッサにより構成され、記憶部２０１に記憶されたプログラムを実行することにより通信装置１０１全体を制御する。なお、制御部２０２は、記憶部２０１に記憶されたプログラムとＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）との協働により通信装置１０１全体を制御するようにしてもよい。また、制御部２０２がマルチコア等の複数のプロセッサを備え、複数のプロセッサにより通信装置１０１全体を制御するようにしてもよい。
【００２６】
また、制御部２０２は、機能部２０３を制御して、撮像や印刷、投影等の所定の処理を実行する。機能部２０３は、通信装置１０１が所定の処理を実行するためのハードウェアである。例えば、通信装置１０１がカメラである場合、機能部２０３は撮像部であり、撮像処理を行う。また、例えば、通信装置１０１がプリンタである場合、機能部２０３は印刷部であり、印刷処理を行う。また、例えば、通信装置１０１がプロジェクタである場合、機能部２０３は投影部であり、投影処理を行う。機能部２０３が処理するデータは、記憶部２０１に記憶されているデータであってもよいし、後述する通信部２０６を介して他の通信装置と通信したデータであってもよい。
【００２７】
入力部２０４は、ユーザからの各種操作の受付を行う。出力部２０５は、ユーザに対して各種出力を行う。ここで、出力部２０５による出力とは、画面上への表示や、スピーカーによる音声出力、振動出力等の少なくとも１つを含む。なお、タッチパネルのように入力部２０４と出力部２０５の両方を１つのモジュールで実現するようにしてもよい。
【００２８】
通信部２０６は、ＮＡＮに準拠した無線通信の制御や、ＩＰ通信の制御を行う。また、通信部２０６はアンテナ２０７を制御して無線信号の送受信を行い、無線通信を行う。通信装置１０１は通信部２０６を介して、通信装置１０１の機能情報や、画像データ、文書データ、映像データ等のコンテンツを他の通信装置１０２等と通信する。
【００２９】
図３に、通信装置１０１の制御部２０２が記憶部２０１に記憶されているプログラムを読み出すことで実現されるソフトウェア機能ブロックを示す。なお、図３に示すソフトウェア機能ブロックの少なくとも一部をハードウェアにより実現してもよい。ハードウェアにより実現する場合、例えば、所定のコンパイラを用いることで各機能ブロックを実現するためのプログラムからＦＰＧＡ上に専用回路を生成し、これを当該ソフトウェアモジュールの機能を有するハードウェアモジュールとして用いればよい。ＦＰＧＡとは、Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙの略である。また、ＦＰＧＡと同様にしてＧａｔｅ  Ａｒｒａｙ回路を形成し、ハードウェアとして実現するようにしてもよい。
【００３０】
無線部３０１は、通信部２０６等を制御し、他の通信装置１０２や１０３とＩＥＥＥ８０２．１１シリーズに準拠した無線通信を行う。ＮＡＮ制御部３０２は、検出部３１１、管理部３１２、および、同期部３１３を制御し、ＮＡＮ機能全体に関する制御を行う。検出部３１１は、ＮＡＮ  Ｃｌｕｓｔｅｒに参加している他の通信装置からの報知信号を受信し、ＮＡＮ  Ｃｌｕｓｔｅｒを検出する。
【００３１】
管理部３１２は、検出したＮＡＮ  Ｃｌｕｓｔｅｒのネットワーク情報を管理する。ネットワーク情報とは、例えば、検出したＣｌｕｓｔｅｒにおけるＤＷのタイミングを示すタイミング情報（ＴＳＦ：Ｔｉｍｅ  Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ  Ｆｕｎｃｔｉｏｎ）やＣＧの情報である。これらのネットワーク情報は、検出信号であるＤｉｓｃｏｖｅｒｙ  Ｂｅａｃｏｎに含まれる。
【００３２】
同期部３１３は、検出したＮＡＮ  Ｃｌｕｓｔｅｒへの参加処理を行う。具体的には、管理部３１２により管理されたＴＳＦに基づいて、ＤＷにおいて報知信号の送受信を行う。
【００３３】
図４に、通信装置１０１においてＮＡＮ機能を起動した場合に、記憶部２０１に記憶されたプログラムを制御部２０２が読み出し、それを実行することで実現される処理の流れのフローチャートを示す。ここでは、ユーザがＮＡＮ機能の起動を指示した場合にＮＡＮ機能を起動する。しかしこれに限らず、特定のアプリケーション（ゲームや情報収集アプリ等）が起動した場合に、これと連動してＮＡＮ機能が起動するようにしてもよい。また、特定の時間になった場合や、通信装置１０１が特定の場所にいる場合に、ＮＡＮ機能が起動するようにしてもよい。
【００３４】
また、図４に示すフローチャートの少なくとも一部をハードウェアにより実現してもよい。ハードウェアにより実現する場合、例えば、所定のコンパイラを用いることで、各ステップを実現するためのプログラムからＦＰＧＡ上に自動的に専用回路を生成すればよい。ＦＰＧＡとは、Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙの略である。また、ＦＰＧＡと同様にしてＧａｔｅ  Ａｒｒａｙ回路を形成し、ハードウェアとして実現するようにしてもよい。また、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）により実現するようにしてもよい。
まず、通信装置１０１は周囲に存在するＣｌｕｓｔｅｒの探索を行う（Ｓ４０１）。ここでは、通信装置１０１は、通信装置１０２からの検出信号を受信し、Ｃｌｕｓｔｅｒ  Ｘを検出する。なお、この段階では、通信装置１０１は通信装置１０３からの検出信号は受信せず、Ｃｌｕｓｔｅｒ  Ｙは検出しないものとする。
【００３５】
Ｃｌｕｓｔｅｒ  Ｘを検出すると、通信装置１０１は受信した検出信号からネットワーク情報を取得し、管理する。そして、取得したネットワーク情報に基づいて、通信装置１０１はＣｌｕｓｔｅｒ  Ｘに参加し、Ｃｌｕｓｔｅｒ  Ｘにおいて定められたＤＷにおいて報知信号を送信する（Ｓ４０２）。ここでは、通信装置１０１はＳｙｎｃｈｒｏｎｉｚａｔｉｏｎ  Ｂｅａｃｏｎをブロードキャスト（同報送信）する。
【００３６】
Ｃｌｕｓｔｅｒ  Ｘに参加すると、通信装置１０１はＮＡＮ規格に準拠した無線通信（ＮＡＮ通信）を行う（Ｓ４０３）。ＮＡＮ通信では、自装置の機能（対応するサービスやアプリケーション）の情報を通知する通知信号であるＰｕｂｌｉｓｈを送受信する。また、これに代えて、もしくは、加えて、ＮＡＮ  Ｃｌｕｓｔｅｒに参加している他の通信装置の機能を探索するための探索信号であるＳｕｂｓｃｒｉｂｅを送受信してもよい。これらのＰｕｂｌｉｓｈやＳｕｂｓｃｒｉｂｅは、ブロードキャストにより送受信される。
【００３７】
探索を行ってから所定時間が経過すると、通信装置１０１は再度、周囲に存在するＣｌｕｓｔｅｒの探索を行う（Ｓ４０４）。該探索は、Ｄｉｓｃｏｖｅｒｙ  Ｗｉｎｄｏｗ内外問わず、検出信号であるＤｉｓｃｏｖｅｒｙ  Ｂｅａｃｏｎを待ち受けることにより行われる。
【００３８】
なお、所定時間の経過に代えて、所定量の移動を検知した場合に再探索を行うようにしてもよい。また、ユーザの指示に応じて再探索を行うようにしてもよい。また、特定のアプリケーションが起動されたことに応じて再探索を行うようにしてもよい。
【００３９】
ここでは、再探索の結果、通信装置１０１は通信装置１０２と１０３から検出信号を受信し、Ｃｌｕｓｔｅｒ  ＸとＣｌｕｓｔｅｒ  Ｙを検出するものとする。なお、再探索の結果、複数の他のＣｌｕｓｔｅｒ（Ｃｌｕｓｔｅｒ  Ｘとは異なるＣｌｕｓｔｅｒ）が検出された場合、Ｃｌｕｓｔｅｒ  Ｙとは、複数の他のＣｌｕｓｔｅｒのうち最もＣＧが高いＣｌｕｓｔｅｒのことを指す。
【００４０】
再探索の結果、通信装置１０１が参加しているＣｌｕｓｔｅｒとは異なる他のＣｌｕｓｔｅｒが検出されたか否かを判定する（Ｓ４０５）。他のＣｌｕｓｔｅｒが検出されなかった場合にはＳ４０３に戻る。ここでは、他のＣｌｕｓｔｅｒとしてＣｌｕｓｔｅｒ  Ｙが検出されるのでＳ４０６に進む。
【００４１】
他のＣｌｕｓｔｅｒを検出した場合（Ｓ４０５のＹｅｓ）、通信装置１０１は検出した他のＣｌｕｓｔｅｒのＣＧが、参加中のＣｌｕｓｔｅｒのＣＧよりも高いかを判定する（Ｓ４０６）。即ち、優先度の高い無線ネットワークを判定する。ここでは、Ｃｌｕｓｔｅｒ  ＸよりもＣｌｕｓｔｅｒ  ＹのＣＧの方が高いと判定される。即ち、Ｃｌｕｓｔｅｒ  ＸよりもＣｌｕｓｔｅｒ  Ｙに優先的に参加すべきであることが判定される。
【００４２】
判定の結果、検出した他のＣｌｕｓｔｅｒのＣＧが、参加中のＣｌｕｓｔｅｒのＣＧよりも低い場合（Ｓ４０７のＮｏ）、Ｓ４０３に戻る。
【００４３】
一方、検出した他のＣｌｕｓｔｅｒのＣＧが、参加中のＣｌｕｓｔｅｒのＣＧよりも高い場合（Ｓ４０７のＹｅｓ）、通信装置１０１は現在参加しているＣｌｕｓｔｅｒにおいて相手装置を特定した通信を行っているか否かを判定する（Ｓ４０８）。
【００４４】
ここで、相手装置を特定した通信とは、ユーザもしくはアプリケーションが指定した相手装置とのユニキャストもしくはマルチキャストによる通信である。ここでは、無線ネットワーク全体に対して通信するブロードキャストは含まない。
【００４５】
具体的には、通信装置１０１が、相手装置が提供するサービス（機能）の情報を相手装置からのＰｕｂｌｉｓｈにより取得し、相手装置が提供するサービス（機能）を利用するための通信をＣｌｕｓｔｅｒ  Ｘにおいて行っている場合である。
【００４６】
また、例えば、相手装置が提供するサービス（機能）を利用するための通信をＣｌｕｓｔｅｒとは異なる他の通信プロトコルに従って通信する他の無線ネットワークで行う場合がある。このような場合には、Ｃｌｕｓｔｅｒ  Ｘにおいて、通信装置１０１が通信装置１０２と他の通信プロトコルに準拠した他の無線ネットワークに移行するためのネゴシエーションを行う。ネゴシエーションでは、いずれの通信プロトコルに準拠した無線ネットワークを形成するかの決定や、形成される無線ネットワークのパラメータの共有が行われる。このようなネゴシエーションのための通信も、相手装置を特定した通信である。
【００４７】
なお、ここで、他の通信プロトコルに従った通信を行う無線ネットワークとは、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔに準拠した無線ネットワークである。しかし、これに限らず、ＩＥＥＥ８０２．１１シリーズに定義されたＩｎｆｒａｓｔｒｕｃｔｕｒｅモードやａｄｈｏｃモード、もしくは、Ｂｌｕｅｔｏｏｔｈ（登録商標）等の他の通信プロトコルに準拠した無線ネットワークであってもよい。
【００４８】
判定の結果、相手装置を特定した通信を行っていないと判定された場合（Ｓ４０８のＮｏ）、通信装置１０１は現在参加しているＣｌｕｓｔｅｒから離脱する（Ｓ４０９）。即ち、通信装置１０１はＣｌｕｓｔｅｒ  Ｘにおいて定められたＤＷに同期するのをやめ、該ＤＷにおける報知信号の送信を停止する。そして、通信装置１０１はＣｌｕｓｔｅｒ  Ｙに参加する（Ｓ４１０）。即ち、通信装置１０１は、Ｃｌｕｓｔｅｒ  ＸからＣｌｕｓｔｅｒ  Ｙへ参加する無線ネットワークを切替える。その後、Ｓ４０３に戻り、Ｃｌｕｓｔｅｒ  Ｙでの通信を開始する。
【００４９】
一方、相手装置を特定した通信を行っていると判定された場合（Ｓ４０８のＹｅｓ）、通信装置１０１は参加中のＣｌｕｓｔｅｒから離脱しない（Ｓ４１１）。即ち、Ｃｌｕｓｔｅｒ  Ｘへの参加を継続する。そして、通信装置１０１は、Ｃｌｕｓｔｅｒ  Ｘにおいて、相手装置を特定した通信を継続する（Ｓ４１２）。その後、相手装置を特定した通信が完了すると（Ｓ４１３のＹｅｓ）、通信装置１０１は現在参加しているＣｌｕｓｔｅｒから離脱する（Ｓ４１４）。そして、通信装置１０１はＣｌｕｓｔｅｒ  Ｙに参加する（Ｓ４１５）。即ち、通信装置１０１は、Ｃｌｕｓｔｅｒ  ＸからＣｌｕｓｔｅｒ  Ｙへ参加する無線ネットワークを切替える。その後、Ｓ４０３に戻り、Ｃｌｕｓｔｅｒ  Ｙでの通信を開始する。
【００５０】
ここで、相手装置を特定した通信が完了する場合とは、例えば、相手装置が提供するサービス（機能）の利用を停止した場合である。また、例えば、他の通信プロトコルに従って通信する無線ネットワークの形成が完了した場合である。
【００５１】
これにより、通信装置１０１が相手装置を特定した通信を行っている間はＣｌｕｓｔｅｒ  Ｘから離脱しないので、該通信を途切れることなく継続することができる。また、特定の相手装置との通信が完了した場合には、速やかに優先度の高いＣｌｕｓｔｅｒに移行することができる。
【００５２】
図５に、Ｃｌｕｓｔｅｒ  Ｘに参加し、通信装置１０１が、Ｃｌｕｓｔｅｒ  Ｙを新たに検出する場合のシーケンスチャートを示す。なお、通信装置１０１は、通信装置１０２が提供するサービス（機能）を利用するために、通信装置１０２とＷｉ−Ｆｉ  Ｄｉｒｅｃｔに準拠した無線ネットワークを新たに形成するためのネゴシエーションを実行中である。即ち、通信装置１０１は、相手装置として通信装置１０２を特定した通信を行っている。
【００５３】
通信装置１０１は、Ｃｌｕｓｔｅｒ  Ｘで定められたＤＷ内において同期信号であるＳｙｎｃｈｒｏｎｉｚａｔｉｏｎ  Ｂｅａｃｏｎを送受信する（Ｓ５０１）。更に、通信装置１０１はＤＷ内において通信装置１０２を特定した通信を行い、Ｉｎｆｒａｓｔｒｕｃｔｕｒｅモードの無線ネットワークを新たに形成するためのネゴシエーションを行う（Ｓ５０２）。
【００５４】
なお、１つのＤＷ内でネゴシエーションが完了しない場合、通信装置１０１は次のＤＷ内においてもネゴシエーションを継続する。また、これに代えて、もしくは、加えて、１つのＤＷ内でネゴシエーションが完了しない場合に、ＤＷ外でネゴシエーションを継続するようにしてもよい。ＤＷ外でネゴシエーションを継続する場合、通信装置１０１は一時的にＳｌｅｅｐ状態からＡｗａｋｅ状態に移行して、ネゴシエーションを行う。
【００５５】
ここでは、上記のＤＷ内でネゴシエーションが完了せず、次のＤＷ内においてもネゴシエーションを継続するものとする。
【００５６】
ネゴシエーションを行っている間に、通信装置１０１は探索処理を行い、Ｃｌｕｓｔｅｒ  Ｙからの検出信号であるＤｉｓｃｏｖｅｒｙ  Ｂｅａｃｏｎを受信し（Ｓ５０３）、Ｃｌｕｓｔｅｒ  Ｙを検出する。
【００５７】
ここでは、Ｃｌｕｓｔｅｒ  ＹのＣＧはＣｌｕｓｔｅｒ  ＸのＣＧより高いため、Ｃｌｕｓｔｅｒ  Ｙに参加することが望ましい。しかし、このタイミングでＣｌｕｓｔｅｒ  ＸからＣｌｕｓｔｅｒ  Ｙへ移行してしまうと、通信装置１０２との通信が途切れてしまう。その結果、通信装置１０２が提供するサービス（機能）を利用するためのＷｉ−Ｆｉ  Ｄｉｒｅｃｔに準拠した無線ネットワークが形成されず、ユーザの利便性が低下してしまう。
【００５８】
そこで、ネゴシエーションを実行中である間、通信装置１０１は、参加するＣｌｕｓｔｅｒをＣｌｕｓｔｅｒ  ＸからＣｌｕｓｔｅｒ  Ｙへ切替えないようにする（Ｓ５０４）。即ち、Ｃｌｕｓｔｅｒの切替えを抑制する。
【００５９】
そして、次のＤＷ内において通信装置１０１は同期信号を送信すると共に（Ｓ５０５）、通信装置１０２とのネゴシエーションを行う（Ｓ５０６）。ここでは、このＤＷ内においてネゴシエーションが完了し、通信装置１０１と１０２はＷｉ−Ｆｉ  Ｄｉｒｅｃｔに準拠した無線ネットワークを形成する（Ｓ５０７）。
【００６０】
そして、通信装置１０１はネゴシエーションが完了したことに応じて、Ｃｌｕｓｔｅｒ  Ｘから離脱する（Ｓ５０８）。そして、Ｃｌｕｓｔｅｒ  Ｙに参加する（Ｓ５０９）。その後、通信装置１０１はＣｌｕｓｔｅｒ  ＹにおいてＮＡＮ通信を行う。
【００６１】
このように、通信装置１０１が相手装置を特定した通信を行っている間はＣｌｕｓｔｅｒ  Ｘから離脱しないので、該通信を途切れることなく継続することができる。また、特定の相手装置との通信が完了した場合には、速やかに優先度の高いＣｌｕｓｔｅｒに移行することができる。
【００６２】
なお、通信装置１０１はネゴシエーションが完了したことに応じて、Ｃｌｕｓｔｅｒ  Ｘから離脱したが、これに限らず、ネゴシエーションが完了した状態で再度、検出信号を受信したことに応じてＣｌｕｓｔｅｒの切替えを行うようにしてもよい。このようにしても、上記と同様の効果を得ることができる。
【００６３】
また、図４のＳ４１１において、Ｃｌｕｓｔｅｒを切替えるか否かをユーザに問い合わせるようにしてもよい。そして、Ｃｌｕｓｔｅｒを切替えないことをユーザが選択した場合、通信装置１０１は参加中のＣｌｕｓｔｅｒから離脱することなく、Ｓ４１２に進む。
【００６４】
一方、Ｃｌｕｓｔｅｒを切替えることをユーザが選択した場合、通信装置１０１は実行中のネゴシエーションを中止し、Ｓ４１４に進む。このようにしても、上記と同様の効果を得ることができる。
【００６５】
また、通信装置１０１が図４に示す処理を実行中に、ユーザの指示によりＮＡＮデータ通信を終了するようにしてもよい。この場合、図４に示す処理を終了する。また、ユーザの指示に代えて、もしくは、加えて、アプリケーションの終了、所定時間の経過、所定の場所からの離脱、電池残量が閾値未満になったことに応じて、ＮＡＮデータ通信を終了するようにしてもよい。
【００６６】
上述の実施形態はＮＡＮに準拠した無線ネットワークの切替えについて説明した。しかしこれに限らず、ＩＥＥＥ８０２．１１シリーズやＢｌｕｅｔｏｏｔｈ（登録商標）、第４もしくは第５世代移動通信システム（４Ｇ、５Ｇ）やＬＴＥ（３．９Ｇ）等に準拠した無線ネットワークの切替えにも適用可能である。
【００６７】
また、通信装置１０１が複数のＣｌｕｓｔｅｒに並行して参加可能であるか否かを確認し、複数のＣｌｕｓｔｅｒに並行して参加可能である場合には、Ｓ４０８以降の処理に代えて、次のようにしてもよい。即ち、Ｃｌｕｓｔｅｒ  Ｙを検出した場合、相手装置を特定した通信を行っているか否かに関わらず、Ｃｌｕｓｔｅｒ  ＸとＹの両方に参加する。なお、この場合、Ｃｌｕｓｔｅｒ  Ｘにおける通信相手を特定した通信が完了したことに応じて、Ｃｌｕｓｔｅｒ  Ｘから離脱してもよい。
【００６８】
これにより、Ｃｌｕｓｔｅｒ  Ｘから離脱しないので、通信相手を特定した通信を行っていたとしても、該通信を途切れることなく継続することができる。
【００６９】
＜実施形態２＞
実施形態１では、探索処理を行ってＣＧの高い他のＣｌｕｓｔｅｒが検出された場合に、通信相手を特定した通信を行っているか否かを判定した。実施形態２では、通信相手を特定した通信を行っていないと判定された場合に、探索処理を行う。
【００７０】
通信装置１０１〜１０３のハードウェア構成、および、機能ブロック図は、実施形態１と同様なので、ここでは説明を省略する。
【００７１】
図６に、通信装置１０１においてＮＡＮ機能を起動した場合に、記憶部２０１に記憶されたプログラムを制御部２０２が読み出し、それを実行することで実現される処理の流れのフローチャートを示す。ここでは、ユーザがＮＡＮ機能の起動を指示した場合にＮＡＮ機能を起動する。しかしこれに限らず、特定のアプリケーション（ゲームや情報収集アプリ等）が起動した場合に、これと連動してＮＡＮ機能が起動するようにしてもよい。また、特定の時間になった場合や、通信装置１０１が特定の場所にいる場合に、ＮＡＮ機能が起動するようにしてもよい。
【００７２】
なお、図４と同様の処理を行うステップについては、同じ符号を付し、説明を省略する。
【００７３】
まず、通信装置１０１は周囲に存在するＣｌｕｓｔｅｒの探索を行う（Ｓ４０１）。ここでは、通信装置１０１はＣｌｕｓｔｅｒ  Ｘを検出し、Ｃｌｕｓｔｅｒ  Ｘに参加する（Ｓ４０２）。Ｃｌｕｓｔｅｒ  Ｘに参加すると、通信装置１０１はＮＡＮ通信を行う（Ｓ４０３）。
【００７４】
そして、探索を行ってから所定時間が経過すると、通信装置１０１は相手装置を特定した通信を行っているか否かを判定する（Ｓ６０１）。なお、所定時間の経過に代えて、所定量の移動を検知した場合に当該判定を行うようにしてもよい。また、ユーザの指示に応じて当該判定を行うようにしてもよい。また、特定のアプリケーションが起動されたことに応じて当該判定を行うようにしてもよい。ここでの判定の具体的な処理はＳ４０８と同様であるため、ここでは説明を省略する。
【００７５】
相手装置を特定した通信を行っていると判定された場合、Ｓ４０３に戻る。一方、相手装置を特定した通信を行っていない場合、通信装置１０１は再度、周囲に存在するＣｌｕｓｔｅｒの探索処理を行う（Ｓ６０２）。該探索処理の具体的な処理はＳ４０４と同様であるため、ここでは説明を省略する。
【００７６】
探索処理により、他のＣｌｕｓｔｅｒが検出されなかった場合（Ｓ６０３のＮｏ）、Ｓ４０３に戻る。一方、他のＣｌｕｓｔｅｒが検出された場合（Ｓ６０３のＹｅｓ）、通信装置１０１は検出した他のＣｌｕｓｔｅｒのＣＧが、参加中のＣｌｕｓｔｅｒのＣＧよりも高いかを判定する（Ｓ４０６）。次に、通信装置１０１は最も高いＣＧを有するＣｌｕｓｔｅｒに、現在参加しているかを確認する（Ｓ４０７）。判定の結果、検出した他のＣｌｕｓｔｅｒのＣＧが、参加中のＣｌｕｓｔｅｒのＣＧよりも低い場合（Ｓ４０７のＮｏ）、Ｓ４０３に戻る。
【００７７】
一方、検出した他のＣｌｕｓｔｅｒのＣＧが、参加中のＣｌｕｓｔｅｒのＣＧよりも高い場合（Ｓ４０７のＹｅｓ）、通信装置１０１はＣｌｕｓｔｅｒ  Ｘから離脱する（Ｓ４０９）。そして、通信装置１０１はＣｌｕｓｔｅｒ  Ｙに参加する（Ｓ４１０）。即ち、通信装置１０１は、Ｃｌｕｓｔｅｒ  ＸからＣｌｕｓｔｅｒ  Ｙへ参加する無線ネットワークを切替える。その後、Ｓ４０３に戻り、Ｃｌｕｓｔｅｒ  Ｙでの通信を開始する。
【００７８】
なお、ここでは、Ｓ６０１において通信装置１０１は相手装置を特定した通信を行っていないことが確認されているので、Ｃｌｕｓｔｅｒ  ＸからＣｌｕｓｔｅｒ  Ｙへ参加する無線ネットワークを切替えても通信が途切れる等の問題は発生しない。
【００７９】
このように、通信装置１０１が相手装置を特定した通信を行っている間は他の無線ネットワークを検出するための探索処理を行わない。これにより、優先度の高い他の無線ネットワークが存在する場合であっても、当該他の無線ネットワークを検出しないため、通信装置は無線ネットワークを切替えない。
【００８０】
従って、通信装置はＣｌｕｓｔｅｒ  Ｘから離脱しないので、該通信を途切れることなく継続することができる。また、特定の相手装置との通信が完了した場合には、速やかに優先度の高いＣｌｕｓｔｅｒに移行することができる。
【００８１】
本発明は、上述した各実施形態の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００８２】
１０１  通信装置
１０２  通信装置
１０３  通信装置
１１１  Ｃｌｕｓｔｅｒ  Ｘ
１１２  Ｃｌｕｓｔｅｒ  Ｙ
【図１】
0006566796.tif 000002
【図２】
0006566796.tif 000003
【図３】
0006566796.tif 000004
【図４】
0006566796.tif 000005
【図５】
0006566796.tif 000006
【図６】
0006566796.tif 000007