(57)【要約】【課題】  本発明は、複数のネットワーク（ＮＷ）がある場合、単一のＮＷにおいてサービスの検索を実行するか、複数のＮＷにおいてサービスの検索を実行するかを、選択的に実行できる通信装置の提供を目的とする。【解決手段】  単一のＮＷにおいてサービスの検索を実行するモードと、複数のＮＷにおいてサービスの検索を実行するモードとを選択できる通信装置であって、どちらのモードでサービスの検索を行うかを所定の条件に基づいて選択し、選択したモードに基づいてサービスの検索を行う。【選択図】  図５
2019083480.tif 000002
【特許請求の範囲】
【請求項１】
参加している装置の間で所定の信号を用いた通信を行う第一のネットワークと、参加している装置の間で前記所定の信号を用いた通信を行う第二のネットワークとがある場合、前記第一のネットワークに設定された第一の値と前記第二のネットワークに設定された第二の値とを比較した結果に基づいて、前記第一のネットワークおよび前記第二のネットワークの何れか一つのネットワークにおいてサービスの検索を実行し、他方のネットワークにおいてサービスの検索を実行しない第一の検索手段と、
前記第一のネットワークと前記第二のネットワークとがある場合、前記第一のネットワークにおいてサービスの検索を実行すると共に、前記第二のネットワークにおいてもサービスの検索を実行する第二の検索手段と、
前記第一の検索手段でサービスの検索を実行するか、あるいは前記第二の検索手段でサービスの検索を実行するかを選択する選択手段と、
を有することを特徴とする通信装置。
【請求項２】
前記所定の信号を用いた通信を行うネットワークに参加する参加手段を更に有し、
前記第一のネットワークと前記第二のネットワークとがあり、前記第一の所定の値が前記第二の所定の値より高い場合、
前記選択手段により前記第一の検索手段が選択された場合、前記参加手段により前記第一のネットワークに参加し、前記第一の検索手段により前記第一のネットワークにおいてサービスの検索を実行し、
前記選択手段により前記第二の検索手段が選択された場合、前記参加手段により前記第一のネットワークと前記第二のネットワークとに参加し、前記第二の検索手段により前記第一のネットワークと前記第二のネットワークとにおいてサービスの検索を実行することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記選択手段により前記第二の検索手段が選択された場合、前記参加手段により前記第一のネットワークに参加し、前記第二の検索手段により前記第一のネットワークにおいてサービスの検索を実行し、所定のサービスを検出しなかった場合、
前記参加手段により前記第二のネットワークに参加し、前記第二の検索手段により前記第二のネットワークにおいてサービスの検索を実行することを特徴とする請求項２に記載の通信装置。
【請求項４】
前記参加手段により前記第二のネットワークに参加する際、前記第一のネットワークから離脱することを特徴とする請求項３に記載の通信装置。
【請求項５】
前記所定の信号を用いた通信を行うネットワークを検出する検出手段を更に有し、
前記検出手段は、前記ネットワークに参加している他の装置が送信する、前記ネットワークの存在を報知する報知信号を受信することで前記ネットワークを検出することを特徴とする請求項１から４の何れか一項に記載の通信装置。
【請求項６】
前記報知信号は、Ｗｉ−Ｆｉ  Ｎｅｉｇｈｂｏｒ  Ａｗａｒｅｎｅｓｓ  Ｎｅｔｗｏｒｋ（ＮＡＮ）規格に準拠したＮＡＮ  Ｄｉｓｃｏｖｅｒｙ  Ｂｅａｃｏｎであることを特徴とする請求項５に記載の通信装置。
【請求項７】
前記検出手段は、前記ネットワークに参加している他の装置が送信する、前記ネットワークに参加している装置が同期を取るための信号である同期信号を受信することで前記ネットワークを検出することを特徴とする請求項５または６に記載の通信装置。
【請求項８】
前記同期信号は、Ｗｉ−Ｆｉ  ＮＡＮ規格に準拠したＮＡＮ  Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ  Ｂｅａｃｏｎであることを特徴とする請求項７に記載の通信装置。
【請求項９】
前記所定の信号を用いた通信を行うネットワークにおけるサービスの検索は、該ネットワークに参加している他の装置から送信される、該他の装置が提供するサービスを通知する通知信号を受信することで実行されることを特徴とする請求項１から８の何れか一項に記載の通信装置。
【請求項１０】
前記通知信号は、Ｗｉ−Ｆｉ  ＮＡＮ規格に準拠したＰｕｂｌｉｓｈメッセージであることを特徴とする請求項９に記載の通信装置。
【請求項１１】
前記所定の信号を用いた通信を行うネットワークにおけるサービスの検索は、該ネットワークに参加している他の装置に、該他の装置が提供するサービスを問い合わせる問合せ信号を送信することで実行されることを特徴とする請求項１から１０の何れか一項に記載の通信装置。
【請求項１２】
前記問合せ信号は、Ｗｉ−Ｆｉ  ＮＡＮ規格に準拠したＳｕｂｓｃｒｉｂｅメッセージであることを特徴とする請求項１１に記載の通信装置。
【請求項１３】
前記第一のネットワークに参加している装置の間で第一の期間に前記所定の信号を用いた通信を同期して行い、前記第二のネットワークに参加している装置の間で第二の期間に前記所定の信号を用いた通信を同期して行う場合、
前記第一の検索手段および前記第二の検索手段は、
前記第一のネットワークにおいてサービスの検索を実行する場合は、前記第一の期間にサービスの検索を実行し、
前記第二のネットワークにおいてサービスの検索を実行する場合は、前記第二の期間にサービスの検索を実行することを特徴とする請求項１から１２の何れか一項に記載の通信装置。
【請求項１４】
前記第一の期間および前記第二の期間は、Ｗｉ−Ｆｉ  ＮＡＮ規格に準拠したＤｉｓｃｏｖｅｒｙ  Ｗｉｎｄｏｗ（ＤＷ）であることを特徴とする請求項１３に記載の通信装置。
【請求項１５】
前記選択手段は、ユーザ指示に基づいて前記第一の検索手段でサービスの検索を実行するか、あるいは前記第二の検索手段でサービスの検索を実行するかを選択することを特徴とする請求項１から１４の何れか一項に記載の通信装置。
【請求項１６】
前記選択手段は、前記通信装置において所定のサービスを利用するアプリケーションの起動に伴い前記第二の検索手段によるサービスの検索を選択することを特徴とする請求項１から１５の何れか一項に記載の通信装置。
【請求項１７】
前記選択手段は、前記通信装置のＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）の設定が変更され、前記第一のネットワークおよび前記第二のネットワークにおいて利用される無線通信が開始したことに基づいて、前記第一の検索手段によるサービスの検索を選択することを特徴とする請求項１から１６の何れか一項に記載の通信装置。
【請求項１８】
前記所定の信号を用いた通信を行うネットワークは、Ｗｉ−Ｆｉ  ＮＡＮ規格に準拠したＮＡＮクラスタであって、前記第一のネットワークは第一のＮＡＮクラスタ、前記第二のネットワークは第二のＮＡＮクラスタであることを特徴とする請求項１から１７の何れか一項に記載の通信装置。
【請求項１９】
前記第一の値および前記第二の値は、Ｗｉ−Ｆｉ  ＮＡＮ規格に準拠したＣｌｕｓｔｅｒ  Ｇｒａｄｅ（ＣＧ）であることを特徴とする請求項１から１８の何れか一項に記載の通信装置。
【請求項２０】
前記所定の信号は、Ｗｉ−Ｆｉ  ＮＡＮ規格に準拠したＮＡＮ  Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ  Ｂｅａｃｏｎであることを特徴とする請求項１から１９の何れか一項に記載の通信装置。
【請求項２１】
前記第一のネットワークおよび前記第二のネットワークは、Ｗｉ−Ｆｉ  ＮＡＮ規格に準拠した通信を行うことを特徴とする請求項１から２０の何れか一項に記載の通信装置。
【請求項２２】
Ｗｉ−Ｆｉ  Ｎｅｉｇｈｂｏｒ  Ａｗａｒｅｎｅｓｓ  Ｎｅｔｗｏｒｋ（ＮＡＮ）規格に準拠した第一のＮＡＮクラスタと第二のＮＡＮクラスタがある場合、前記第一のＮＡＮクラスタの第一のＣｌｕｓｔｅｒ  Ｇｒａｄｅ（ＣＧ）と、前記第二のＮＡＮクラスタの第二のＣＧとに基づいて、前記第一のＮＡＮクラスタおよび第二のＮＡＮクラスタの何れか一つのＮＡＮクラスタにおいてサービスの検索を実行し、他方のＮＡＮクラスタにおいてサービスの検索を実行しない第一の検索手段と、
前記第一のＮＡＮクラスタと前記第二のＮＡＮクラスタがある場合、前記第一のＮＡＮクラスタにおいてサービスの検索を実行すると共に、前記第二のＮＡＮクラスタにおいてもサービスの検索を実行する第二の検索手段と、
前記第一の検索手段でサービスの検索を実行するか、あるいは前記第二の検索手段でサービスの検索を実行するかを選択する選択手段と、
を有することを特徴とする通信装置。
【請求項２３】
通信装置の制御方法であって、
参加している装置の間で所定の信号を用いた通信を行う第一のネットワークと、参加している装置の間で前記所定の信号を用いた通信を行う第二のネットワークとがある場合、前記第一のネットワークに設定された第一の値と前記第二のネットワークに設定された第二の値とを比較した結果に基づいて、前記第一のネットワークおよび前記第二のネットワークの何れか一つのネットワークにおいてサービスの検索を実行し、他方のネットワークにおいてサービスの検索を実行しない第一の検索工程と、
前記第一のネットワークと前記第二のネットワークとがある場合、前記第一のネットワークにおいてサービスの検索を実行すると共に、前記第二のネットワークにおいてもサービスの検索を実行する第二の検索工程と、
前記第一の検索工程によるサービスの検索を実行するか、あるいは前記第二の検索工程によるサービスの検索を実行するかを選択する選択工程と、
を有することを特徴とする制御方法。
【請求項２４】
コンピュータを請求項１から２２の何れか一項に記載の通信装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置のサービス検索に関する。
【背景技術】
【０００２】
近年、Ｗｉ−Ｆｉ  Ａｌｌｉａｎｃｅによって、Ｗｉ−Ｆｉ  ＮＡＮ（Ｎｅｉｇｈｂｏｒ  Ａｗａｒｅｎｅｓｓ  Ｎｅｔｗｏｒｋ）規格が策定された。Ｗｉ−Ｆｉ  ＮＡＮ規格は、省電力で他の通信装置や他の通信装置が提供するサービスを検出するための通信の規格である。Ｗｉ−Ｆｉ  ＮＡＮ規格では、Ｗｉ−Ｆｉ  ＮＡＮ規格に準拠して通信を行う通信装置（以後、ＮＡＮデバイス）同士が、所定の信号の送受信を所定の期間に同期して行う。このＮＡＮデバイス同士が所定の信号の送受信を行う所定の期間を、Ｄｉｓｃｏｖｅｒｙ  Ｗｉｎｄｏｗ（ＤＷ）と呼び、ＤＷが共有されているＮＡＮデバイスによって構成されるネットワークをＮＡＮクラスタと呼ぶ。ＮＡＮデバイスは他のＮＡＮデバイスと信号を送受信することで、同じＮＡＮクラスタに参加している他のＮＡＮデバイスが提供可能なサービスの検索および利用が可能である。
【０００３】
また、各ＮＡＮクラスタにはＣｌｕｓｔｅｒ  Ｇｒａｄｅ（ＣＧ）が設定されており、ＮＡＮデバイスはより高いＣＧが設定されているＮＡＮクラスタに参加する。ＮＡＮデバイスは、自装置が参加しているＮＡＮクラスタよりＣＧが高いＮＡＮクラスタを検出した場合、検出したＮＡＮクラスタに参加することがＷｉ−Ｆｉ  ＮＡＮ規格に規定されている。
【０００４】
特許文献１には、あるＮＡＮクラスタに参加しているＮＡＮデバイスが複数の他のＮＡＮクラスタを検出した場合、所定の条件に基づいて参加するＮＡＮクラスタを決定することが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許出願公開第２０１５／００３６５４０号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００６】
複数のＮＡＮクラスタがある場合において、ＮＡＮデバイスが単一のＮＡＮクラスタに参加すると、参加しなかったＮＡＮクラスタに参加している他のＮＡＮデバイスが提供するサービスを検出することができないというデメリットがある。しかし、ＮＡＮデバイスは参加した単一のＮＡＮクラスタのＤＷに信号を送受信すればよいので、ＮＡＮデバイスの消費電力を抑えられるというメリットがある。
【０００７】
一方、複数のＮＡＮクラスタがある場合において、ＮＡＮデバイスが複数のＮＡＮクラスタに参加すると、夫々のＮＡＮクラスタのＤＷに信号を送受信する必要があるため、ＮＡＮデバイスの消費電力が増加するというデメリットがある。しかし、ＮＡＮデバイスはより多くのＮＡＮクラスタにおいてサービスの検索を行うことができるというメリットがある。
【０００８】
上記を鑑み、本発明は、複数のネットワーク（ＮＷ）がある場合、単一のＮＷにおいてサービスの検索を実行するか、複数のＮＷにおいてサービスの検索を実行するかを、選択的に実行できる通信装置の提供を目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明の通信装置は、参加している装置の間で所定の信号を用いた通信を行う第一のネットワークと、参加している装置の間で前記所定の信号を用いた通信を行う第二のネットワークとがある場合、前記第一のネットワークに設定された第一の値と前記第二のネットワークに設定された第二の値とを比較した結果に基づいて、前記第一のネットワークおよび前記第二のネットワークの何れか一つのネットワークにおいてサービスの検索を実行し、他方のネットワークにおいてサービスの検索を実行しない第一の検索手段と、前記第一のネットワークと前記第二のネットワークとがある場合、前記第一のネットワークにおいてサービスの検索を実行すると共に、前記第二のネットワークにおいてもサービスの検索を実行する第二の検索手段と、前記第一の検索手段でサービスの検索を実行するか、あるいは前記第二の検索手段でサービスの検索を実行するかを選択する選択手段と、を有する。
【００１０】
また、本発明の他の側面の通信装置は、Ｗｉ−Ｆｉ  Ｎｅｉｇｈｂｏｒ  Ａｗａｒｅｎｅｓｓ  Ｎｅｔｗｏｒｋ（ＮＡＮ）規格に準拠した第一のＮＡＮクラスタと第二のＮＡＮクラスタがある場合、前記第一のＮＡＮクラスタの第一のＣｌｕｓｔｅｒ  Ｇｒａｄｅ（ＣＧ）と、前記第二のＮＡＮクラスタの第二のＣＧとに基づいて、前記第一のＮＡＮクラスタおよび第二のＮＡＮクラスタの何れか一つのＮＡＮクラスタにおいてサービスの検索を実行し、他方のＮＡＮクラスタにおいてサービスの検索を実行しない第一の検索手段と、前記第一のＮＡＮクラスタと前記第二のＮＡＮクラスタがある場合、前記第一のＮＡＮクラスタにおいてサービスの検索を実行すると共に、前記第二のＮＡＮクラスタにおいてもサービスの検索を実行する第二の検索手段と、前記第一の検索手段でサービスの検索を実行するか、あるいは前記第二の検索手段でサービスの検索を実行するかを選択する選択手段と、を有する。
【発明の効果】
【００１１】
本発明によれば、複数のネットワーク（ＮＷ）がある場合、単一のＮＷにおいてサービスの検索を実行するか、複数のＮＷにおいてサービスの検索を実行するかを、選択的に実行できる通信装置を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】ＮＡＮデバイスが参加するネットワークのネットワーク構成を示す図である。
【図２】ＮＡＮデバイスの機能構成を示す図である。
【図３】ＮＡＮデバイスのハードウェア構成を示す図である。
【図４】ＮＡＮデバイスが動作モードを選択する際に実行する処理を示すフローチャートである。
【図５】ＮＡＮクラスタを形成するＮＡＮデバイスがサービス検索を行う際に実行する処理を示すフローチャートである。
【図６】ＮＡＮデバイスが複数クラスタ参加モードによるサービス検索を行う際に実行する処理を示すシーケンス図である。
【図７】ＮＡＮデバイスが単一クラスタ参加モードによるサービス検索を行う際に実行する処理を示すシーケンス図である。
【図８】Ｗｉ−Ｆｉ  ＮＡＮ規格に準拠した無線通信を開始し、動作モードを切り替えたＮＡＮデバイスがサービス検索を行う際に実行する処理を示すシーケンス図である。
【図９】ＮＡＮデバイスがサービス検索を行う際に実行する処理を示すフローチャートである。
【図１０】ＮＡＮクラスタを形成するＮＡＮデバイスが複数のＮＡＮクラスタを検出し、サービスを検索する際に実行する処理を示すフローチャートである。
【図１１】複数のＮＡＮクラスタを検出したＮＡＮデバイスがサービスを開始する際に実行する処理を示すシーケンス図である。
【図１２】ＮＡＮデバイスがサービスを検索し、複数のＮＡＮクラスタを検出した際に実行する処理を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、添付の図面を参照して実施形態を詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は以下の構成に限定されるものではない。
【００１４】
＜実施形態１＞
図１は、本実施形態に係るＮＡＮ（Ｎｅｉｇｈｂｏｒ  Ａｗａｒｅｎｅｓｓ  Ｎｅｔｗｏｒｋ）デバイス１０６が参加するネットワークの構成を示す図である。
【００１５】
本実施形態では、ＮＡＮデバイス１０１、１０２、１０３、１０４、１０５、１０６は、Ｗｉ−Ｆｉ  ＮＡＮ規格に準拠した無線通信方式で無線通信を行う。ＮＡＮデバイスは夫々、Ｗｉ−Ｆｉ  ＮＡＮ規格に準拠した無線通信の他に、Ｗｉ−Ｆｉ  ＮＡＮ規格以外の他のＩＥＥＥ８０２．１１シリーズ規格に準拠した無線通信方式で通信を行ってもよい。ＩＥＥＥとは、Ｉｎｓｔｉｔｕｔｅ  Ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  Ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ，Ｉｎｃの略である。あるいは、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＵＷＢ、Ｚｉｇｂｅｅなどの他の無線通信方式に準拠した通信方式を利用してよい。なお、ＵＷＢはＵｌｔｒａ  Ｗｉｄｅ  Ｂａｎｄの略である。また、ＵＷＢには、ワイヤレスＵＳＢ、ワイヤレス１３９４、ＷｉＮｅｔなどが含まれる。あるいは、Ｅｔｈｅｒｎｅｔなどの有線通信方式に準拠した通信方式も利用してよい。
【００１６】
ＮＡＮデバイス１０３は、画像や文書の印刷サービスを提供する印刷装置である。ＮＡＮデバイス１０３は、プリンタ、ＭＦＰ（Ｍｕｌｔｉ−Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）などの印刷装置であってもよい。また、ＮＡＮデバイス１０３は、印刷サービスに加えて、あるいは代えて、画面共有サービスなど、他のサービスを提供する提供装置であってもよい。ＮＡＮデバイス１０３の具体的な例としては他に、タブレットやディスプレイ、プロジェクタなどが挙げられるが、これらに限定されない。
【００１７】
ＮＡＮデバイス１０６は、印刷サービスを提供する装置を探索している携帯端末である。なお、ＮＡＮデバイス１０６は、スマホやタブレット、ＰＣなど、他の装置が提供するサービスを探索する通信装置であればよい。具体的な例としては、スマホやタブレット、ＰＣ、ヘッドマウントディスプレイなどの通信装置が挙げられるが、これらに限定されない。ＮＡＮデバイス１０１、１０２、１０４、１０５は任意の通信装置である。
【００１８】
本実施形態において、ＮＡＮデバイス１０１、１０２、１０６はＮＡＮクラスタ１０７に、ＮＡＮデバイス１０３、１０４、１０５はＮＡＮクラスタ１０８に参加する。
【００１９】
同じＮＡＮクラスタに参加するＮＡＮデバイスは、ＮＡＮ  Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ  Ｂｅａｃｏｎの送受信を行う期間を共有している。この信号の送受信を行う期間（この信号を用いた通信を行う期間）をＤｉｓｃｏｖｅｒｙ  Ｗｉｎｄｏｗ（ＤＷ）という。ＮＡＮ  Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ  Ｂｅａｃｏｎとは、同じＮＡＮクラスタに参加する各ＮＡＮデバイスが同期を取れるようにするための同期信号である。本実施形態においてＤＷの長さは１６ＴＵｓ（Ｔｉｍｅ  Ｕｎｉｔｓ）であり、また、ＤＷの先頭から次のＤＷの先頭までは、５１２ＴＵｓの間隔がある。１ＴＵは１０２４μｓである。なお、ＤＷの長さや間隔はこれらに限定されない。
【００２０】
ＮＡＮクラスタに参加するＮＡＮデバイスには、夫々Ｍａｓｔｅｒ、もしくは、Ｎｏｎ−Ｍａｓｔｅｒという役割が与えられる。Ｎｏｎ−Ｍａｓｔｅｒの役割が与えられたＮＡＮデバイスはＳｙｎｃ状態あるいはＮｏｎ−Ｓｙｎｃ状態とされる。ＭａｓｔｅｒとなったＮＡＮデバイスは、ＮＡＮ  Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ  ＢｅａｃｏｎをＤＷ中に、ＮＡＮ  Ｄｉｓｃｏｖｅｒｙ  ＢｅａｃｏｎをＤＷ外に送信する。Ｎｏｎ−ＭａｓｔｅｒかつＳｙｎｃ状態となったＮＡＮデバイスは、ＮＡＮ  Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ  ＢｅａｃｏｎをＤＷ中に送信するが、ＮＡＮ  Ｄｉｓｃｏｖｅｒｙ  Ｂｅａｃｏｎは送信しない。Ｎｏｎ−ＭａｓｔｅｒかつＮｏｎ−Ｓｙｎｃ状態となったＮＡＮデバイスは、ＤＷ中にＮＡＮ  Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ  Ｂｅａｃｏｎも、ＮＡＮ  Ｄｉｓｃｏｖｅｒｙ  Ｂｅａｃｏｎも送信しない。なお、ＮＡＮデバイスはＮｏｎ−Ｓｙｎｃ状態であっても、参加しているＮＡＮクラスタにおいてＤＷを共有している。
【００２１】
ＮＡＮ  Ｄｉｓｃｏｖｅｒｙ  Ｂｅａｃｏｎは、ＤＷ外に送信される信号である。自装置が参加するＮＡＮクラスタの存在を、他のＮＡＮクラスタに参加しているＮＡＮデバイスや、ＮＡＮクラスタに参加していないＮＡＮデバイスに報知するための報知信号である。
【００２２】
ＮＡＮデバイスの役割は、各ＮＡＮデバイスのＭａｓｔｅｒ  Ｒａｎｋによって決定される。Ｍａｓｔｅｒ  Ｒａｎｋは、Ｍａｓｔｅｒ  Ｐｒｅｆｅｒｅｎｃｅ、Ｒａｎｄｏｍ  Ｆａｃｔｏｒ、および、ＮＡＮ  Ｉｎｔｅｒｆａｃｅ  Ａｄｄｒｅｓｓに基づいて決定される。Ｍａｓｔｅｒ  ＰｒｅｆｅｒｅｎｃｅはＮＡＮデバイスごとに設定される値であって、Ｍａｓｔｅｒ  Ｐｒｅｆｅｒｅｎｃｅが高いほど、そのＮＡＮデバイスはＮＡＮクラスタにおいてＭａｓｔｅｒになりやすい。
【００２３】
Ｍａｓｔｅｒ  Ｐｒｅｆｅｒｅｎｃｅの決定方法は任意であるが、例えば商用電源から電力を供給されているＮＡＮデバイスや、クロックの安定性が高いＮＡＮデバイスについては、Ｍａｓｔｅｒ  Ｐｒｅｆｅｒｅｎｃｅを高く設定してもよい。また、モバイル端末のように移動しながら利用されることが想定されるＮＡＮデバイスについては、Ｍａｓｔｅｒ  Ｐｒｅｆｅｒｅｎｃｅを低く設定してもよい。
【００２４】
Ｒａｎｄｏｍ  Ｆａｃｔｏｒはランダムに設定される値であって、０から２５５の整数の内、何れか一つがランダムに選ばれる。ＮＡＮ  Ｉｎｔｅｒｆａｃｅ  Ａｄｄｒｅｓｓは、ＮＡＮデバイスのＭＡＣアドレス（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ  ａｄｄｒｅｓｓ）に基づいた値である。
【００２５】
Ｍａｓｔｅｒ  Ｒａｎｋは以下の数式１に基づいて決定される。
【００２６】
（数式１）
Ｍａｓｔｅｒ  Ｒａｎｋ＝Ｍａｓｔｅｒ  Ｐｒｅｆｅｒｅｎｃｅ＊２＾５６＋Ｒａｎｄｏｍ  Ｆａｃｔｏｒ＊２＾４８＋ＭＡＣ［５］＊２＾４０＋…＋ＭＡＣ［０］
数式１のＭＡＣ［０］からＭＡＣ［５］は、ＮＡＮデバイスのＭＡＣアドレス（４８ビット）を先頭から８ビットずつ区切ったものである。
【００２７】
上記の数式１に基づいて決定されたＭａｓｔｅｒ  Ｒａｎｋが高いほど、ＮＡＮデバイスはＮＡＮクラスタにおいてＭａｓｔｅｒになりやすい。Ａｎｃｈｏｒ  ＭａｓｔｅｒはＮＡＮクラスタ内で最もＭａｓｔｅｒ  Ｒａｎｋが高いＮＡＮデバイスである。
【００２８】
本実施形態において、ＮＡＮデバイス１０１、１０２、１０６はＮＡＮクラスタ１０７に、ＮＡＮデバイス１０３、１０４、１０５はＮＡＮクラスタ１０８に参加している。各ＮＡＮクラスタにはＣｌｕｓｔｅｒ  Ｇｒａｄｅ（以下、ＣＧ）が設定される。ＣＧは、以下の数式２により設定される。
【００２９】
（数式２）
ＣＧ＝２＾６４＊Ａ１＋Ａ２
数式２において、Ａ１はＮＡＮクラスタ内のＡｎｃｈｏｒ  ＭａｓｔｅｒのＭａｓｔｅｒ  Ｐｒｅｆｅｒｅｎｃｅである。また、Ａ２はＴＳＦ（Ｔｉｍｅ  Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ  Ｆｕｎｃｔｉｏｎ）値である。ＴＳＦは、ＮＡＮ  Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ  Ｂｅａｃｏｎに含まれるタイムスタンプであって、ＮＡＮクラスタ内のＮＡＮデバイスが、Ａｎｃｈｏｒ  Ｍａｓｔｅｒと同期するのに用いられる。
【００３０】
あるＮＡＮクラスタに参加するＮＡＮデバイスが、他のＮＡＮクラスタに参加するＮＡＮデバイスが送信するＮＡＮ  Ｄｉｓｃｏｖｅｒｙ  Ｂｅａｃｏｎを受信することで、他のＮＡＮクラスタを検出する。あるいはＮＡＮデバイスがＮＡＮ  Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ  Ｂｅａｃｏｎを受信することで他のＮＡＮクラスタを検出してもよい。
【００３１】
ＮＡＮデバイスはより高いＣＧが設定されているＮＡＮクラスタに参加する。具体的には、あるＮＡＮデバイスがＮＡＮクラスタを検出し、検出したＮＡＮクラスタのＣＧが、自装置が参加しているＮＡＮクラスタのＣＧより高かった場合、当該ＮＡＮデバイスは検出したＮＡＮクラスタに参加し、元のＮＡＮクラスタから離脱する。このようなＮＡＮデバイスの動作をマージと呼ぶ。他のＮＡＮクラスタを検出したＮＡＮデバイスの役割がＭａｓｔｅｒである場合、今まで参加していたＮＡＮクラスタのＤＷに新たに検出したＮＡＮクラスタに関するＮＡＮ  Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ  Ｂｅａｃｏｎを送信してもよい。なお、他のＮＡＮクラスタを検出したＮＡＮデバイスの役割がＮｏｎ−ＭａｓｔｅｒかつＳｙｎｃ状態である場合も同様である。これにより、ＮＡＮデバイスが参加していたＮＡＮクラスタに参加する他のＮＡＮデバイスが、新たに検出したＮＡＮクラスタのＤＷに信号の送受信を行うようになる。本実施形態において、ＮＡＮクラスタ１０８のＣＧはＮＡＮクラスタ１０７より低いものとする。
【００３２】
なお、ＮＡＮクラスタに参加しているＮＡＮデバイスが、自装置が参加するＮＡＮクラスタよりＣＧが高い別のＮＡＮクラスタを検出しても、検出したＮＡＮクラスタにマージしなくてもよい場合がある。具体的には、自装置が参加するＮＡＮクラスタ内のＮＡＮデバイス同士がＷｉ−Ｆｉ  ＮＡＮ規格に準拠した無線通信を介してデータの送受信を行っている場合は、ＣＧが高いＮＡＮクラスタにマージしなくてもよい。なお、Ｗｉ−Ｆｉ  ＮＡＮ規格に準拠した無線通信ではなく、Ｗｉ−Ｆｉ  ＮＡＮ規格以外のＩＥＥＥ８０２．１１シリーズ規格に準拠した無線通信や、Ｂｌｕｅｔｏｏｔｈ、ＵＷＢ、Ｚｉｇｂｅｅなどの他の無線通信方式に準拠した無線通信を介してもよい。本実施形態において、ＮＡＮクラスタ１０８内のＮＡＮデバイス１０３が、ＮＡＮデバイス１０４とＮＡＮデバイス１０５との少なくとも一方と、データの送受信を行う。そのため、ＮＡＮクラスタ１０８はＮＡＮクラスタ１０７よりＣＧが低いが、ＮＡＮクラスタ１０８に参加しているＮＡＮデバイスはＮＡＮクラスタ１０７を検出してもＮＡＮクラスタ１０７にマージしなくてもよい。
【００３３】
また、ＮＡＮデバイスは参加しているＮＡＮクラスタ内の他のＮＡＮデバイスが提供するサービスを検索することができる。具体的には、ＮＡＮデバイスはＤＷ中にＳｕｂｓｃｒｉｂｅメッセージを送信することで、同じＮＡＮクラスタに参加している他のＮＡＮデバイスにＰｕｂｌｉｓｈメッセージを送信させることができる。Ｓｕｂｓｃｒｉｂｅメッセージとは、同じＮＡＮクラスタに参加しているＮＡＮデバイスにどのようなサービスを提供可能か問合せる問合せ信号である。Ｐｕｂｌｉｓｈメッセージとは、自装置がどのようなサービスを提供可能か、同じＮＡＮクラスタに参加しているＮＡＮデバイスに通知する通知信号である。これをＳｏｌｉｃｉｔｅｄ型のサービス検索という。
【００３４】
一方、ＮＡＮデバイスがＳｕｂｓｃｒｉｂｅメッセージを受信することなく自律的にＰｕｂｌｉｓｈメッセージを送信することも可能である。これをＵｎｓｏｌｉｃｉｔｅｄ型のサービス検索と呼ぶ。
【００３５】
Ｓｏｌｉｃｉｔｅｄ型のサービス検索では、Ｓｕｂｓｃｒｉｂｅメッセージを送信するＮＡＮデバイスが所望のサービスを指定してサービス検索を行うことができる。Ｓｕｂｓｃｒｉｂｅメッセージを受信したＮＡＮデバイスは、指定されたサービスを自装置が提供可能な場合、Ｐｕｂｌｉｓｈメッセージを送信する。なお、Ｓｕｂｓｃｒｉｂｅメッセージを送信するＮＡＮデバイスは、Ｓｕｂｓｃｒｉｂｅメッセージを送信する際、所望のサービスを指定しないか、あるいはワイルドカードを指定してもよい。その場合、Ｓｕｂｓｃｒｉｂｅメッセージを受信したＮＡＮデバイスは、自装置が提供可能な全てのサービスをＰｕｂｌｉｓｈメッセージで通知する。なおＮＡＮデバイスは、自装置において起動しているアプリケーションに対応するサービスや、ユーザからの指示に基づいて決定されたサービスなど、特定のサービスについてのみ通知してもよい。
【００３６】
Ｕｎｓｏｌｉｃｉｔｅｄ型のサービス検索では、ＮＡＮデバイスは自装置が提供可能な全てのサービスをＰｕｂｌｉｓｈメッセージによって通知する。なおＮＡＮデバイスは、自装置において起動しているアプリケーションに対応するサービスや、ユーザからの指示に基づいて決定されたサービスなど、特定のサービスについてのみ通知してもよい。
【００３７】
またＮＡＮデバイスは、Ｗｉ−Ｆｉ  ＮＡＮ規格に準拠した無線通信を開始する際、ＮＡＮクラスタを形成する。ＮＡＮクラスタを形成したＮＡＮデバイスは、所定の時間、自装置のＭａｓｔｅｒ  ＰｒｅｆｅｒｅｎｃｅとＲａｎｄｏｍ  Ｆａｃｔｏｒを０に設定する。そのため、所定の時間の間、ＮＡＮデバイスが形成したＮＡＮクラスタのＣＧは非常に低くなる。所定の時間が経過した、あるいはＡｎｃｈｏｒ  ＭａｓｔｅｒのＭａｓｔｅｒ  Ｐｒｅｆｅｒｅｎｃｅが０より大きいＮＡＮクラスタにマージする場合は、ＮＡＮデバイスは自装置のＭａｓｔｅｒ  Ｐｒｅｆｅｒｅｎｃｅを０より大きくする。
【００３８】
なお、Ｗｉ−Ｆｉ  ＮＡＮ規格に準拠した無線通信を開始する際、ＮＡＮデバイスはＮＡＮクラスタを形成しなくてもよい。このようなＮＡＮデバイスは、Ｗｉ−Ｆｉ  ＮＡＮ規格に準拠した無線通信を開始するとＮＡＮクラスタを検出し、検出したＮＡＮクラスタに参加する。なお、複数のＮＡＮクラスタを検出した場合、ＮＡＮデバイスは最もＣＧが高いＮＡＮクラスタに参加する。あるいは、最も早く検出したＮＡＮクラスタに参加してもよいし、最も距離が近いＮＡＮクラスタに参加してもよい。
【００３９】
図２はＮＡＮデバイス１０６の機能構成を示す図である。なお、ＮＡＮデバイス１０１、１０２、１０３、１０４、１０５の機能構成は、ＮＡＮデバイス１０６と同様である。
【００４０】
無線通信制御部２０１は、他のＮＡＮデバイスや、無線通信を行うことができる通信装置との間で行う無線信号の送受信を制御する。無線通信制御部２０１は、Ｗｉ−Ｆｉ  ＮＡＮ規格を含むＩＥＥＥ８０２．１１シリーズ規格に準拠した無線通信方式による無線通信の制御を行う。
【００４１】
ＮＡＮ制御部２０２は、ＮＡＮデバイス１０６のＷｉ−Ｆｉ  ＮＡＮ規格に準拠した制御や、Ｗｉ−Ｆｉ  ＮＡＮ規格に準拠した無線通信の開始、終了を制御する。ＮＡＮ制御部２０２は、サービス検索の制御も行う。ＮＡＮ制御部２０２は、後述するＮＡＮデバイス１０６の動作モードの選択処理において決定された参加モードに基づいて無線通信制御部２０１を制御する。ＮＡＮデバイス１０６の動作モードの選択処理については、図４で詳細に説明する。ＮＡＮ制御部２０２は無線通信制御部２０１による無線通信を所定の期間無効にすることで、後述の通信部３０６が消費する電力を低減し、省電力性を高める。なお、所定の期間とは、ＤＷが終了してから次のＤＷが開始されるまでである。なお、ＤＷ外にＮＡＮ  Ｄｉｓｃｏｖｅｒｙ  Ｂｅａｃｏｎを送信する場合やデータの送受信を行う場合は、当該信号を送信する間やデータの送受信をする間は無線通信を有効にしてもよい。
【００４２】
アプリケーション制御部２０３は、アプリケーションの処理に基づいて、ＮＡＮ制御部２０２へＷｉ−Ｆｉ  ＮＡＮ規格に準拠した無線通信の開始、終了の制御を指示する。また、Ｗｉ−Ｆｉ  ＮＡＮ規格に準拠した無線通信によって検出されたＮＡＮデバイス間でのネットワークの形成、およびデータの送受信を制御する。例えばＮＡＮデバイス１０６のユーザが、Ｗｉ−Ｆｉ  ＮＡＮ規格に準拠した無線通信を利用可能な印刷サービスアプリケーションを起動したと想定する。この場合、アプリケーション制御部２０３はＮＡＮ制御部２０２に対してＷｉ−Ｆｉ  ＮＡＮ規格に準拠した無線通信の開始を指示する。そして、ＮＡＮ制御部２０２が無線通信制御部２０１を制御し、印刷サービスを提供可能な他のＮＡＮデバイスを検出すると、当該ＮＡＮデバイスとの間でＷｉ−Ｆｉ  ＮＡＮ規格に準拠したネットワークを形成する。ＮＡＮデバイス１０６は、形成したネットワークを通してデータとして印刷データの送受信を行う。アプリケーション制御部２０３は、ユーザが印刷サービスアプリケーションを終了すると、ＮＡＮ制御部２０２に対してＷｉ−Ｆｉ  ＮＡＮ規格に準拠した無線通信の終了を指示する。なお、データの送受信を行うネットワークは、Ｗｉ−Ｆｉ  ＮＡＮ規格以外のＩＥＥＥ８０２．１１シリーズ規格に準拠した無線通信でもよいし、Ｂｌｕｅｔｏｏｔｈ、ＵＷＢ、Ｚｉｇｂｅｅなどの他の無線通信方式に準拠した無線通信であってもよい。
【００４３】
ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）設定制御部２０４は、ＮＡＮデバイス１０６内で動作するアプリケーションに共通のＯＳ機能に関する設定を制御する。例えばＯＳ機能の設定として、Ｗｉ−Ｆｉ  ＮＡＮ規格を含むＩＥＥＥ８０２．１１シリーズ規格に準拠した無線通信の開始、終了などを設定してもよい。
【００４４】
操作制御部２０５は、ＮＡＮデバイス１０６のユーザにより、後述の入力部３０４に対して行われた操作を管理し、当該操作に基づいて必要な信号を他の制御部２０１〜２０４へ伝達する。
【００４５】
図３に、ＮＡＮデバイス１０６のハードウェア構成を示す。なお、ＮＡＮデバイス１０１、１０２、１０３、１０４、１０５のハードウェア構成は、ＮＡＮデバイス１０６と同様である。
【００４６】
記憶部３０１は、ＲＯＭやＲＡＭなどの１以上のメモリにより構成され、後述する各種動作を行うためのコンピュータプログラムや、無線通信のための通信パラメータなどの各種情報を記憶する。ＲＯＭはＲｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙの、ＲＡＭはＲａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙの夫々略である。なお、記憶部３０１として、ＲＯＭ、ＲＡＭ等のメモリの他に、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＤＶＤなどの記憶媒体を用いてもよい。また、記憶部３０１が複数のメモリ等を備えていてもよい。
【００４７】
制御部３０２は、ＣＰＵやＭＰＵなどの１以上のプロセッサにより構成され、記憶部３０１に記憶されたコンピュータプログラムを実行することによりＮＡＮデバイス１０６全体を制御する。ＣＰＵはＣｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの、ＭＰＵはＭｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略であり、コンピュータとして機能する。なお、制御部３０２は、記憶部３０１に記憶されたプログラムとＯＳとの協働によりＮＡＮデバイス１０６全体を制御するようにしてもよい。また、制御部３０２がマルチコアなどの複数のプロセッサを備え、複数のプロセッサによりＮＡＮデバイス１０６全体を制御するようにしてもよい。
【００４８】
また、制御部３０２は、機能部３０３を制御して、撮像やコンテンツの閲覧等の所定の処理を実行する。機能部３０３は、ＮＡＮデバイス１０６が所定の処理を実行するためのハードウェアである。例えば、ＮＡＮデバイス１０６がカメラである場合、機能部３０３は撮像部であり、撮像処理を行う。あるいはＮＡＮデバイス１０６が印刷装置である場合、機能部３０３は印刷部であり、印刷処理を行う。また、例えば、ＮＡＮデバイス１０６がプロジェクタである場合、機能部３０３は投影部であり、投影処理を行う。機能部３０３が処理するデータは、記憶部３０１に記憶されているデータであってもよいし、後述する通信部３０６を介して他のＮＡＮデバイスから受信したデータであってもよい。
【００４９】
入力部３０４は、ユーザからの各種操作の受付を行う。出力部３０５は、モニタ画面やスピーカーなどを介してユーザに対して各種出力を行う。ここで、出力部３０５による出力とは、画面上への表示の他、スピーカーによる音声出力や、振動出力などであってもよい。なお、タッチパネルを利用して入力部３０４と出力部３０５の出力先とを１つのモジュールで実現するようにしてもよい。また、入力部３０４や出力部３０５は、ＮＡＮデバイス１０６と一体であってもよいし、別体であってもよい。なお、ＮＡＮデバイス１０６は入力部３０４や出力部３０５を有していなくてもよい。
【００５０】
通信部３０６は、Ｗｉ−Ｆｉ  ＮＡＮ規格を含むＩＥＥＥ８０２．１１シリーズに準拠した無線通信の制御や、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）通信の制御を行う。また、通信部３０６はアンテナ３０７を制御して、無線通信のための無線信号の送受信を行う。
【００５１】
ＮＡＮデバイス１０６は通信部３０６を介して、画像データや文書データ、映像データ等のデータを他のＮＡＮデバイスと送受信する。通信部３０６はデータを送信する送信機能と、データを受信する受信機能とを有し、制御部３０２の指示に従いそれぞれを有効、無効に切り替えることが可能である。送信機能、受信機能はそれぞれ有効であるときは電力を消費し、無効であるときは電力を消費しない、もしくは有効であるときに比べて低消費電力で動作可能であることとする。
【００５２】
図４は、ＮＡＮデバイス１０６が動作モードを選択する際に、記憶部３０１に記憶されたプログラムを制御部３０２が読み出し実行することで実現される処理を示すフローチャートである。
【００５３】
本フローチャートのフローは、ＮＡＮデバイス１０６がＷｉ−Ｆｉ  ＮＡＮ規格に準拠した無線通信を開始した場合に開始される。Ｗｉ−Ｆｉ  ＮＡＮ規格に準拠した無線通信は、例えばＮＡＮデバイス１０６の印刷サービスアプリケーションが起動されたことに基づいて開始される。その際、Ｗｉ−Ｆｉ  ＮＡＮ規格に準拠した無線通信は、アプリの起動開始でも起動中でも起動完了でも、あるいはアプリの起動指示に応答して開始するものでもよい。なお、ここで起動されるアプリケーションが提供するサービスは、印刷サービスに限定されない。あるいは、ＮＡＮデバイス１０６のＯＳ設定が変更されたことに基づいて、Ｗｉ−Ｆｉ  ＮＡＮ規格に準拠した無線通信が開始されてもよい。もしくは、ＮＡＮデバイス１０６の電源が投入されたことに基づいてＷｉ−Ｆｉ  ＮＡＮ規格に準拠した無線通信が開始してもよい。あるいは、本フローチャートは、ＮＡＮデバイス１０６において特定のアプリケーションの起動や、ＯＳ設定の変更が行われたことに基づいて開始してもよい。もしくはＮＡＮデバイス１０６が何れかのＮＡＮクラスタに参加したことに基づいて開始してもよい。
【００５４】
ＮＡＮデバイス１０６の制御部３０２は、複数のＮＡＮクラスタに参加して高速でサービス検索を行うか判定する（ステップＳ４０１）。本判定は、ユーザの指示に基づいて判定される。あるいはＮＡＮデバイス１０６の制御部３０２は、積極的に所望のサービスを高速で検索する必要がある場合はＹｅｓと判定し、サービスの検出より省電力であることが優先される場合はＮｏと判定を行う。例えば、ＮＡＮデバイス１０６において何らかのサービスを利用するアプリケーションが起動している場合は、ＮＡＮデバイス１０６の制御部３０２は当該サービスを複数のＮＡＮクラスタに参加して検索すると判定してもよい。一方、ＮＡＮデバイス１０６の電源が投入されたことに基づいてＷｉ−Ｆｉ  ＮＡＮ規格に準拠した無線通信が開始した場合は、省電力でサービス検索を行うため、ＮＡＮデバイス１０６の制御部３０２はＮｏと判定してもよい。また、ＮＡＮデバイス１０６のＯＳ設定が変更され、Ｗｉ−Ｆｉ  ＮＡＮ規格に準拠した無線通信が開始した場合に、ＮＡＮデバイス１０６の制御部３０２はＮｏと判定してもよい。例えばＮＡＮデバイス１０６のユーザが、入力部３０４より、ＮＡＮデバイス１０６にインストールされている印刷サービスアプリケーションを起動することでＷｉ−Ｆｉ  ＮＡＮ規格に準拠した無線通信を開始した場合を想定する。この場合、ユーザは印刷サービスを高速に検出したいということが予想される。そのため、ＮＡＮデバイス１０６の制御部３０２は、ステップＳ４０１でＹｅｓと判定し、複数クラスタ参加モード（高速検索モード）を選択する。一方、ＮＡＮデバイス１０６のユーザが、入力部３０４よりＮＡＮデバイス１０６のＯＳ設定を変更したことでＷｉ−Ｆｉ  ＮＡＮ規格に準拠した無線通信が開始した場合を想定する。この場合、ユーザは特定のサービスを高速に検出するよりも省電力でサービスを検索することを期待すると想定できる。そのため、ＮＡＮデバイス１０６の制御部３０２は、ステップＳ４０１でＮｏと判定し、単一クラスタ参加モード（省電力検索モード）を選択する。なお、ＮＡＮデバイス１０６のユーザがＮＡＮデバイス１０６の電源を投入したことに基づいてＮＡＮデバイス１０６がＷｉ−Ｆｉ  ＮＡＮ規格に準拠した無線通信を開始した場合も同様に単一クラスタ参加モードが選択される。なお、この選択例は一例であり、どのようにＷｉ−Ｆｉ  ＮＡＮ規格に準拠した通信を開始したかによって、どちらの検索モードを選択するかは、これに限定されない。
【００５５】
ＮＡＮデバイス１０６の制御部３０２が複数のＮＡＮクラスタに参加してサービスを行うと判定すると（ステップＳ４０１のＹｅｓ）、複数クラスタ参加モードが選択され（ステップＳ４０２）、本フローチャートのフローは終了する。一方、ＮＡＮデバイス１０６の制御部３０２が複数のＮＡＮクラスタに参加してサービス検索を行わないと判定すると（ステップＳ４０１のＮｏ）、単一クラスタ参加モードが選択され（ステップＳ４０３）、本フローチャートのフローは終了する。ＮＡＮデバイス１０６が複数のＮＡＮクラスタに参加してサービス検索を行わないとは、ＮＡＮデバイス１０６が単一のＮＡＮクラスタに参加してサービス検索を行うということである。
【００５６】
なお、単一クラスタ参加モードが選択された場合に、ＮＡＮデバイス１０６が、参加しているＮＡＮクラスタよりＣＧが高いＮＡＮクラスタを検出しマージするとする。ＮＡＮデバイス１０６が元々参加していたＮＡＮクラスタに対して新しく参加するＮＡＮクラスタに関する情報を報知する場合、ＮＡＮデバイス１０６が二つのＮＡＮクラスタに一時的に参加した状態になる場合がある。この場合も、単一のＮＡＮクラスタに参加してサービス検索を行う単一クラスタ参加モードに含まれるとする。
【００５７】
図５は、ＮＡＮクラスタを形成するＮＡＮデバイス１０６がサービス検索を行う際に、記憶部３０１に記憶されたプログラムを制御部３０２が読み出し実行することで実現される処理を示すフローチャートである。
【００５８】
本フローチャートは、ＮＡＮデバイス１０６がＷｉ−Ｆｉ  ＮＡＮ規格に準拠した無線通信を開始した場合に開始される。Ｗｉ−Ｆｉ  ＮＡＮ規格に準拠した無線通信は、例えばＮＡＮデバイス１０６の印刷サービスアプリケーションが起動されたことに基づいて開始される。なお、ここで起動されるアプリケーションが提供するサービスは、印刷サービスに限定されない。あるいは、ＮＡＮデバイス１０６のＯＳ設定が変更されたことに基づいて、Ｗｉ−Ｆｉ  ＮＡＮ規格に準拠した無線通信が開始されてもよい。もしくは、ＮＡＮデバイス１０６の電源が投入されたことに基づいてＷｉ−Ｆｉ  ＮＡＮ規格に準拠した無線通信が開始してもよい。なお、図４のフローチャートと開始のトリガーが同じだった場合、図４のフローチャートのフローが先に開始され、終了後に本フローチャートのフローが開始される。あるいは、ＮＡＮデバイス１０６は図４および図５のフローチャートの処理を並行して実行してもよい。
【００５９】
まず、ＮＡＮデバイス１０６の制御部３０２は、Ｗｉ−Ｆｉ  ＮＡＮ規格に準拠した無線通信が開始されると、ＮＡＮクラスタを形成する（ステップＳ５０１）。そして、ＮＡＮデバイス１０６の制御部３０２は、自装置が参加しているＮＡＮクラスタ内のＮＡＮデバイスに対してサービス検索を行う（ステップＳ５０２）。ＮＡＮデバイス１０６は、Ｓｏｌｉｃｉｔｅｄ型のサービス検索を行う。具体的には、ＮＡＮデバイス１０６が参加しているＮＡＮクラスタに参加する他のＮＡＮデバイスに対して、所望のサービスを提供可能か問い合わせるＳｕｂｓｃｒｉｂｅメッセージを送信する。Ｓｕｂｓｃｒｉｂｅメッセージを受信した他のＮＡＮデバイスは、所望のサービスを提供可能な場合、ＮＡＮデバイス１０６にＰｕｂｌｉｓｈメッセージを送信する。
【００６０】
続いてＮＡＮデバイス１０６の制御部３０２は、所望のサービスを提供可能なＮＡＮデバイスを参加クラスタ内で検出したか判定する（ステップＳ５０３）。具体的には、Ｓｕｂｓｃｒｉｂｅメッセージを送信してから所定の時間が経過するまでにＰｕｂｌｉｓｈメッセージを受信したか判定する。制御部３０２は、所定の時間が経過するまでにＰｕｂｌｉｓｈメッセージを受信した場合は所望のサービスを検出したと判定し、所定の時間が経過するまでにＰｕｂｌｉｓｈメッセージを受信しなかった場合は、所望のサービスを検出できなかったと判定する。所望のサービスを検出した場合（ステップＳ５０３のＹｅｓ）、ＮＡＮデバイス１０６の制御部３０２は検出したサービスを実行するか判定する（ステップＳ５０４）。検出したサービスを実行しない場合（ステップＳ５０４のＮｏ）、ＮＡＮデバイス１０６の制御部３０２はステップＳ５０２の処理を行う。一方、検出したサービスを実行する場合（ステップＳ５０４のＹｅｓ）、ＮＡＮデバイス１０６の制御部３０２は当該サービスを実行し（ステップＳ５１１）、本フローチャートのフローを終了する。例えば、ＮＡＮデバイス１０６の制御部３０２は、検出したサービスを提供するＮＡＮデバイスとの距離が遠い場合、検出したサービスを実行しないと判定してもよい。一方、検出したサービスを提供するＮＡＮデバイスとの距離が近い場合、ＮＡＮデバイス１０６の制御部３０２は検出したサービスを実行すると判定してもよい。あるいは、ＮＡＮデバイス１０６の制御部３０２はユーザ指示に基づいて判定してもよい。
【００６１】
なお、ステップＳ５０２で行われるサービス検索は、Ｓｏｌｉｃｉｔｅｄ型ではなく、Ｕｎｓｏｌｉｃｉｔｅｄ型であってもよい。その場合、ＮＡＮデバイス１０６はステップＳ５０３で他のＮＡＮデバイスから送信されるＰｕｂｌｉｓｈメッセージを待ち受ける。待ち受け開始から一定時間が経過すると、ステップＳ５０３の処理を行う。あるいは所定の数のサービスを検出した場合にステップＳ５０３の処理を行ってもよい。
【００６２】
また、ステップＳ５０２でＮＡＮデバイス１０６がＵｎｓｏｌｉｃｉｔｅｄ型のサービス検索を行うか、あるいはＳｏｌｉｃｉｔｅｄ型の検索を行うかは、図４の処理を行い選択された動作モードに基づいて決定してもよい。具体的には、ＮＡＮデバイス１０６は単一クラスタ参加モードが選択された場合はＵｎｓｏｌｉｃｉｔｅｄ型のサービス検索を行い、複数クラスタ参加モードが選択された場合はＳｏｌｉｃｉｔｅｄ型のサービス検索を行うと決定されてもよい。あるいはユーザ指示に基づいて決定されてもよいし、ＮＡＮデバイス１０６にプリセットされていてもよい。もしくは、起動しているアプリケーションによって決定されてもよいし、ＮＡＮデバイス１０６がバッテリーで稼働している場合、当該バッテリーの残量に基づいて決定されてもよい。
【００６３】
ＮＡＮデバイス１０６の動作モードとして単一クラスタ参加モードが選択されている場合はＵｎｓｏｌｉｃｉｔｅｄ型のサービス検索を行うことで、より省電力にサービスを検索することができる。一方、ＮＡＮデバイス１０６の動作モードとして複数クラスタ参加モードが選択されている場合はＳｏｌｉｃｉｔｅｄ型のサービス検索を行うことで、所望のサービスの検出を優先することができる。
【００６４】
なお、ＮＡＮデバイス１０６の制御部３０２はステップＳ５０２で複数のサービスを検索してもよい。この場合、ステップＳ５０３では、所望のサービスを全て検出した場合にＹｅｓと判定されてもよいし、所望のサービスのうち所定の数のサービスを検出した場合にＹｅｓと判定されてもよい。複数のサービスを検索する際、所定の時間サービスを検索した後、ユーザに検出したサービスのリストを表示してもよい。そして、ユーザが表示されたリストに基づいて検出したサービスを実行するか決定することで、ステップＳ５０４の処理を行ってもよい。
【００６５】
所望のサービスを検出しなかった場合（ステップＳ５０３のＮｏ）、ＮＡＮデバイス１０６の制御部３０２は、サービス検索を終了するか判定する（ステップＳ５０５）。当該判定は、ユーザ指示に基づいて判定される。あるいは、所定の回数サービス検索を行ったことに基づいてサービス検索を終了すると判定してもよいし、所定の時間サービス検索を行ったことに基づいてサービス検索を終了すると判定してもよい。ＮＡＮデバイス１０６の制御部３０２は、サービス検索を終了すると判定すると（ステップＳ５０５のＹｅｓ）、本フローチャートのフローを終了する。一方、サービス検索を終了しないと判定すると（ステップＳ５０５のＮｏ）、ＮＡＮデバイス１０６の制御部３０２は他のＮＡＮクラスタを検出したか判定する（ステップＳ５０６）。具体的には、ＮＡＮデバイス１０６は自装置が参加するＮＡＮクラスタとは異なるＮＡＮクラスタに参加しているＮＡＮデバイスのＮＡＮ  Ｄｉｓｃｏｖｅｒｙ  Ｂｅａｃｏｎを受信したか判定する。なお、ＮＡＮデバイス１０６は、ＮＡＮ  Ｄｉｓｃｏｖｅｒｙ  Ｂｅａｃｏｎに代えて、あるいは加えて、ＮＡＮ  Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ  Ｂｅａｃｏｎを受信したか判定してもよい。なお、ステップＳ５０６において、ＮＡＮデバイス１０６は、ＤＷ中に当該信号を受信する。しかしこれに限らず、ＤＷ外にも当該信号を受信してもよい。あるいは、本ステップより前のステップにおいて受信していてもよい。他のＮＡＮクラスタを検出しなかったと判定された場合（ステップＳ５０６のＮｏ）、ＮＡＮデバイス１０６の制御部３０２はステップＳ５０２の処理を行う。他のＮＡＮクラスタを検出したと判定された場合（ステップＳ５０６のＹｅｓ）、ＮＡＮデバイス１０６の制御部３０２は、検出したＮＡＮクラスタのＣＧを取得し、自装置が参加するＮＡＮクラスタのＣＧより高いか判定する（ステップＳ５０７）。
【００６６】
検出したＮＡＮクラスタのＣＧが、自装置が参加するＮＡＮクラスタより高い場合（ステップＳ５０７のＹｅｓ）、ＮＡＮデバイス１０６の制御部３０２は検出したＮＡＮクラスタにマージする（ステップＳ５１０）。具体的には、ＮＡＮデバイス１０６は検出したＣＧが高いＮＡＮクラスタに参加し、元々参加していたＮＡＮクラスタから離脱する。
【００６７】
一方、検出したＮＡＮクラスタのＣＧが、自装置が参加するＮＡＮクラスタより低い場合（ステップＳ５０７のＮｏ）、ＮＡＮデバイス１０６の制御部３０２は、動作モードが複数クラスタ参加モードであるか判定する（ステップＳ５０８）。ＮＡＮデバイス１０６の動作モードが複数クラスタ参加モードでない、つまり単一クラスタ参加モードであると判定された場合（ステップＳ５０８のＮｏ）、制御部３０２はステップＳ５０２の処理を行う。一方、ＮＡＮデバイス１０６の動作モードが複数クラスタ参加モードであると判定されると（ステップＳ５０８のＹｅｓ）、ＮＡＮデバイス１０６の制御部３０２は検出したＮＡＮクラスタへの参加処理を行う（ステップＳ５０９）。この場合、ＮＡＮデバイス１０６は元々参加していたＮＡＮクラスタからは離脱しない。検出したＮＡＮクラスタへの参加処理（ステップＳ５０９）、またはマージ処理（ステップＳ５１０）を終えると、ＮＡＮデバイス１０６の制御部３０２はステップＳ５０２の処理を行い、新たに参加したＮＡＮクラスタ内でサービス検索を行う。なお、複数のＮＡＮクラスタに参加している場合、新たに参加したＮＡＮクラスタに加えて、既に参加しているＮＡＮクラスタ内でサービス検索を行ってもよい。
【００６８】
なお、ＮＡＮデバイス１０６の制御部３０２は、ステップＳ５０９において新たなＮＡＮクラスタに参加し、ステップＳ５０２でサービス検索を行った結果、所望のサービスを検出できなかった場合、新たに参加したＮＡＮクラスタから離脱しても良い。
【００６９】
また、本フローにおいて、ＮＡＮデバイス１０６の制御部３０２はステップＳ５０１の処理を行った後、ステップＳ５０２からステップＳ５０５をスキップして、ステップＳ５０６の処理を行ってもよい。この場合ステップＳ５０９やステップＳ５１０の処理を行った後はステップＳ５０２の処理を行う。
【００７０】
なお、本フローチャートにおいて、ＮＡＮデバイス１０６の制御部３０２は、検出したＮＡＮクラスタのＣＧが、自装置が参加するＮＡＮクラスタのＣＧより高いか判定してから、自装置の動作モードが複数クラスタ参加モードであるか判定した。しかしこれに限らず、先に自装置の動作モードを判定してから、検出したＮＡＮクラスタのＣＧが、自装置が参加するＮＡＮクラスタのＣＧより高いか判定してもよい。具体的には、ステップＳ５０６でＹＥＳと判定された場合、ＮＡＮデバイス１０６の制御部３０２はステップＳ５０８の処理を行う。ＮＡＮデバイス１０６の動作モードが複数クラスタ参加モードであると判定された場合（ステップＳ５０８のＹｅｓ）、ＮＡＮデバイス１０６の制御部３０２はステップＳ５０７の処理を行う。そして、検出したＮＡＮクラスタのＣＧが、自装置が参加するＮＡＮクラスタのＣＧより高いと判定されると（ステップＳ５０７のＹｅｓ）、ＮＡＮデバイス１０６の制御部３０２はステップＳ５１０の処理を行う。一方、検出したＮＡＮクラスタのＣＧが、自装置が参加するＮＡＮクラスタのＣＧより高くないと判定されると（ステップＳ５０７のＮｏ）、ＮＡＮデバイス１０６の制御部３０２はステップＳ５０９の処理を行う。また、ステップＳ５０８において、ＮＡＮデバイス１０６の動作モードが複数クラスタ参加モードではないと判定された場合（ステップＳ５０８のＮｏ）、ＮＡＮデバイス１０６の制御部３０２はステップＳ５０７の処理を行う。そして、検出したＮＡＮクラスタのＣＧが、自装置が参加するＮＡＮクラスタのＣＧより高いと判定されると（ステップＳ５０７のＹｅｓ）、ＮＡＮデバイス１０６の制御部３０２はステップＳ５１０の処理を行う。一方、検出したＮＡＮクラスタのＣＧが、自装置が参加するＮＡＮクラスタのＣＧより高くないと判定された場合（ステップＳ５０７のＮｏ）、ＮＡＮデバイス１０６の制御部３０２はステップＳ５０２の処理を行う。
【００７１】
なお、本フローチャートにおいて、所定の時間サービス検索を行っても、所望のサービスを検出できない場合、サービス検索を終了してもよい。その場合、制御部３０２はＮＡＮデバイス１０６のユーザに、所望のサービスを検出できなかったことを通知してもよい。なお、所定の時間はＮＡＮデバイス１０６にプリセットされている。あるいは、ＮＡＮデバイス１０６で起動しているアプリケーションによって決定されてもよいし、ユーザによって設定されてもよい。あるいは所定の時間ではなく所定の回数サービス検索を行ったことに基づいてサービス検索を終了してもよい。なお、本フローチャートのフローを実行中に、ユーザの指示に基づいて本フローチャートのフローを終了してもよい。
【００７２】
複数のＮＡＮクラスタに参加する場合、各ＮＡＮクラスタのＤＷで通信部３０６を有効化する必要があり、その分消費電力が増える。単一クラスタ参加モードの場合は、ステップＳ５０８でステップＳ５０２に戻ることで、単一のＮＡＮクラスタのみに参加し、省電力性を優先することができる。
【００７３】
また、複数クラスタ参加モードの場合、自装置が参加するＮＡＮクラスタよりもＣＧが低いＮＡＮクラスタにも参加しサービス検索を行うことで、より所望のサービスを検出しやすくなる。ＣＧの低いＮＡＮクラスタに参加しているＮＡＮデバイスであっても、ＮＡＮクラスタ内のＮＡＮデバイス同士がデータの送受信を行っている場合は、ＣＧの高いＮＡＮクラスタを検出してもマージしなくて良い。そのため、自装置が参加するＮＡＮクラスタより低いＣＧのＮＡＮクラスタに参加するＮＡＮデバイスが、必ず自装置が参加するＮＡＮクラスタにマージするとは限らない。よって、複数クラスタ参加モードの場合、自装置が参加するＮＡＮクラスタよりもＣＧが低いＮＡＮクラスタにも参加し、サービス検索を行うことで、所望のサービスを検出しやすくなる。
【００７４】
図６は、ＮＡＮデバイス１０６が複数クラスタ参加モードによるサービス検索を行う際に、ＮＡＮデバイス１０６が実行する処理を示すシーケンス図である。
【００７５】
まず、ユーザがＮＡＮデバイス１０６の印刷サービスアプリケーションを起動する（ステップＳ６０１）。なお、印刷サービス以外のサービスに関するアプリケーションが起動されてもよい。ＮＡＮデバイス１０６は印刷サービスアプリケーションが起動されたことに基づいて、Ｗｉ−Ｆｉ  ＮＡＮ規格に準拠した無線通信を開始する。また、ＮＡＮデバイス１０６は印刷サービスを利用するアプリケーションが起動されたことから、図４のフローチャートに基づき、動作モードを複数クラスタ参加モードとする。
【００７６】
ＮＡＮデバイス１０６は、Ｗｉ−Ｆｉ  ＮＡＮ規格に準拠した無線通信を開始すると、ＮＡＮクラスタを形成する。ＮＡＮデバイス１０６は、自装置が形成したＮＡＮクラスタ内でサービス検索を行う。具体的には、ＮＡＮデバイス１０６が形成したＮＡＮクラスタに参加しているＮＡＮデバイスに対してＳｏｌｉｃｉｔｅｄ型のサービス検索を行う。ＮＡＮデバイス１０６は、当該ＮＡＮクラスタに参加しているＮＡＮデバイスに、印刷サービスを提供可能か問い合わせるＳｕｂｓｃｒｉｂｅメッセージを送信する（ステップＳ６０２）。しかし、この時点では当該ＮＡＮクラスタに他のＮＡＮデバイスが参加していない、あるいは当該ＮＡＮクラスタに参加している他のＮＡＮデバイスは印刷サービスを提供できないので、ＮＡＮデバイス１０６はＰｕｂｌｉｓｈメッセージを受信しない。
【００７７】
その後、ＮＡＮデバイス１０６は、ＮＡＮクラスタ１０７に参加しているＮＡＮデバイス１０１からＮＡＮ  Ｄｉｓｃｏｖｅｒｙ  Ｂｅａｃｏｎを受信する（ステップＳ６０３）。ＮＡＮデバイス１０６はＮＡＮ  Ｄｉｓｃｏｖｅｒｙ  Ｂｅａｃｏｎを受信することでＮＡＮクラスタ１０７を検出する（ステップＳ６０４）。あるいはＮＡＮデバイス１０６は、ＮＡＮ  Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ  Ｂｅａｃｏｎを受信したことによりＮＡＮクラスタ１０７を検出してもよい。ＮＡＮデバイス１０６が形成したＮＡＮクラスタは所定の時間Ｍａｓｔｅｒ  ＰｒｅｆｅｒｅｎｃｅとＲａｎｄｏｍ  Ｆａｃｔｏｒが０に設定されているため、当該ＮＡＮクラスタのＣＧはＮＡＮクラスタ１０７のＣＧより低い。そのため、ＮＡＮデバイス１０６はＮＡＮクラスタ１０７にマージする（ステップＳ６０５）。
【００７８】
あるいはＮＡＮデバイス１０６は、Ｗｉ−Ｆｉ  ＮＡＮ規格に準拠した無線通信を開始した場合に、ＮＡＮクラスタを形成しなくてもよい。その場合、ＮＡＮデバイス１０６はＮＡＮ  Ｄｉｓｃｏｖｅｒｙ  Ｂｅａｃｏｎを受信すると、当該信号を送信したＮＡＮデバイスが参加しているＮＡＮクラスタに参加する。なお、ＮＡＮ  Ｄｉｓｃｏｖｅｒｙ  Ｂｅａｃｏｎではなく、ＮＡＮ  Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ  Ｂｅａｃｏｎであってもよい。また、複数のＮＡＮクラスタを検出した場合、ＮＡＮデバイス１０６は最もＣＧの高いＮＡＮクラスタに参加する。あるいは最も早く検出したＮＡＮクラスタに参加してもよいし、最もＮＡＮデバイス１０６と距離が近いＮＡＮクラスタに参加してもよい。あるいはユーザ指示に基づいて参加するＮＡＮクラスタが決定されてもよい。
【００７９】
ＮＡＮデバイス１０６は、ＮＡＮクラスタ１０７に参加すると、ＮＡＮクラスタ１０７内でサービス検索を行う（ステップＳ６０６）。具体的にはＮＡＮクラスタ１０７に参加しているＮＡＮデバイスに対してＳｏｌｉｃｉｔｅｄ型のサービス検索を行う。ＮＡＮデバイス１０６は、ＮＡＮクラスタ１０７に参加しているＮＡＮデバイスに、印刷サービスを提供可能か問い合わせるＳｕｂｓｃｒｉｂｅメッセージを送信する。しかし、ＮＡＮクラスタ１０７に参加しているＮＡＮデバイスは、印刷サービスを提供できないので応答であるＰｕｂｌｉｓｈメッセージを送信しない。
【００８０】
所望のサービスを提供するＮＡＮデバイスを参加するＮＡＮクラスタ内で検出できなかったＮＡＮデバイス１０６は、他のＮＡＮクラスタのＮＡＮ  Ｄｉｓｃｏｖｅｒｙ  Ｂｅａｃｏｎを待ち受ける。ここで、ＮＡＮクラスタ１０８に参加しているＮＡＮデバイス１０３からＮＡＮ  Ｄｉｓｃｏｖｅｒｙ  Ｂｅａｃｏｎを受信する（ステップＳ６０７）。なお、ＮＡＮ  Ｄｉｓｃｏｖｅｒｙ  Ｂｅａｃｏｎでなく、ＮＡＮ  Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ  Ｂｅａｃｏｎであってもよい。
【００８１】
ＮＡＮデバイス１０６はＮＡＮデバイス１０３からＮＡＮ  Ｄｉｓｃｏｖｅｒｙ  Ｂｅａｃｏｎを受信したことにより、ＮＡＮクラスタ１０８を検出する（ステップＳ６０８）。ＮＡＮクラスタ１０８のＣＧは、ＮＡＮクラスタ１０７のＣＧよりも低いため、ＮＡＮデバイス１０６はＮＡＮクラスタ１０８にマージしない。ＮＡＮデバイス１０６の動作モードは複数クラスタ参加モードのため、ＮＡＮデバイス１０６はＮＡＮクラスタ１０８に参加する（ステップＳ６０９）。
【００８２】
ＮＡＮクラスタ１０８に参加したＮＡＮデバイス１０６は、ＮＡＮクラスタ１０８内でサービス検索を行う（ステップＳ６１０）。具体的には、ＮＡＮクラスタ１０８に参加しているＮＡＮデバイスに対してＳｏｌｉｃｉｔｅｄ型のサービス検索を行う。ＮＡＮデバイス１０６は、ＮＡＮクラスタ１０８に参加しているＮＡＮデバイスに、印刷サービスを提供可能か問い合わせるＳｕｂｓｃｒｉｂｅメッセージを送信する。なお、ＮＡＮクラスタ１０７に新たなＮＡＮデバイスが参加している可能性があるので、ＮＡＮデバイス１０６は再度ＮＡＮクラスタ１０７に参加するＮＡＮデバイスに対してサービス検索を行ってもよい。
【００８３】
いま、ＮＡＮデバイス１０３が印刷サービスを提供可能であるので、ＮＡＮデバイス１０３がＮＡＮデバイス１０６にＰｕｂｌｉｓｈメッセージを送信する（ステップＳ６１１）。所望のサービスである印刷サービスを検出したＮＡＮデバイス１０６は、サービスを検出したことをユーザに通知する（ステップＳ６１２）。当該通知はＮＡＮデバイス１０６が有するモニタ画面に表示されることでユーザに通知される。サービス検索の結果、複数のＮＡＮデバイスからＰｕｂｌｉｓｈメッセージを受信した場合は、Ｐｕｂｌｉｓｈメッセージを送信したＮＡＮデバイスのリストを表示してもよい。この場合に、どのＮＡＮデバイスが提供するサービスを利用するかは、ユーザが決定してもよいし、ＮＡＮデバイス１０６が自律的に決定してもよい。なお、ステップＳ６１２はスキップされてもよい。印刷サービスを検出したＮＡＮデバイス１０６は、当該印刷サービスの仕様に基づいて印刷サービスを開始する。
【００８４】
なお、ステップＳ６０２、ステップＳ６０６、ステップＳ６１０で行っているサービス検索は、Ｓｏｌｉｃｉｔｅｄ型のサービス検索ではなく、Ｕｎｓｏｌｉｃｉｔｅｄ型のサービス検索であってもよい。その場合ＮＡＮデバイス１０６は、サービス検索を行うＮＡＮクラスタに参加しているＮＡＮデバイスから送信されるＰｕｂｌｉｓｈメッセージを所定の時間待ち受けることで、所望のサービスを検索する。
【００８５】
また、ステップＳ６０２、ステップＳ６０６、ステップＳ６１０のサービス検索を行う際、複数のサービスを検索してもよい。そして、ステップＳ６１２でサービス検出の通知をユーザに行う際、検出したサービスをリストにしてＮＡＮデバイス１０６のモニタ画面に表示してもよい。この場合、どのサービスを利用するかは、ユーザによって決定されてもよいし、ＮＡＮデバイス１０６によって自律的に決定されてもよい。
【００８６】
本シーケンスのＮＡＮデバイス１０６は、動作モードが複数クラスタ参加モードに設定されている場合は、自装置が参加しているＮＡＮクラスタよりＣＧが低いＮＡＮクラスタを検出した場合、検出したＮＡＮクラスタにも参加する。これにより、ＮＡＮデバイス１０６は検出したＮＡＮクラスタ内のサービス検索も行えるようになるため、所望のサービスを提供可能なＮＡＮデバイスを検出しやすくなる。
【００８７】
図７は、ＮＡＮデバイス１０６が単一クラスタ参加モードによるサービス検索を行う際に、ＮＡＮデバイス１０６が実行する処理を示すシーケンス図である。
【００８８】
ユーザはＮＡＮデバイス１０６のＯＳ設定を変更し、Ｗｉ−Ｆｉ  ＮＡＮ規格に準拠した無線通信を開始する（ステップＳ７０１）。ＮＡＮデバイス１０６のＯＳ設定が変更され、Ｗｉ−Ｆｉ  ＮＡＮ規格に準拠した無線通信が開始した場合、省電力にサービスを検出することを目的としてＷｉ−Ｆｉ  ＮＡＮ規格に準拠した無線通信を開始したと考えられる。そのため、単一クラスタ参加モードが選択される。
【００８９】
ＮＡＮデバイス１０６は、Ｗｉ−Ｆｉ  ＮＡＮ規格に準拠した無線通信を開始したことによりＮＡＮクラスタを形成し、形成したＮＡＮクラスタ内のサービス検索を行う（ステップＳ７０２）。本シーケンスにおいて、ＮＡＮデバイス１０６はＵｎｓｏｌｉｃｉｔｅｄ型のサービス検索を行うため、所定の時間ｐｕｂｌｉｓｈメッセージの待ち受けを行う。なお、Ｓｏｌｉｃｉｔｅｄ型のサービス検索を行ってもよい。ステップＳ７０３からステップＳ７０５は、図６のステップＳ６０３からステップＳ６０５と同様の処理を行う。
【００９０】
ＮＡＮデバイス１０６は参加したＮＡＮクラスタ１０７内のサービス検索を行う（ステップＳ７０６）。ＮＡＮデバイス１０６は、ＮＡＮクラスタ１０７に参加しているＮＡＮデバイス１０１から送信されたＰｕｂｌｉｓｈメッセージを受信する。
【００９１】
ＮＡＮデバイス１０６は、受信したＰｕｂｌｉｓｈメッセージに基づいて、サービス検出の通知をユーザに行う（ステップＳ７０７）。具体的には、検出したサービスをリストにしてＮＡＮデバイス１０６のモニタ画面に表示する。ユーザは表示されたリストから、所望のサービスを決定する。なお、サービスの決定はＮＡＮデバイス１０６が自律的に行ってもよい。その場合ステップＳ７０７はスキップしてもよい。
【００９２】
ＮＡＮデバイス１０６はステップＳ７０６で受信したｐｕｂｌｉｓｈメッセージに含まれるサービスに、所望のサービスがなかったため、サービスを開始しない。
【００９３】
ＮＡＮデバイス１０６は他のＮＡＮクラスタに参加しているＮＡＮデバイスから送信されるＮＡＮ  Ｄｉｓｃｏｖｅｒｙ  Ｂｅａｃｏｎを待ち受ける。ＮＡＮデバイス１０６は、ＮＡＮクラスタ１０８に参加しているＮＡＮデバイス１０３からＮＡＮ  Ｄｉｓｃｏｖｅｒｙ  Ｂｅａｃｏｎを受信する（ステップＳ７０８）。これにより、ＮＡＮデバイス１０６はＮＡＮクラスタ１０８を検出する（ステップＳ７０９）。なお、ＮＡＮ  Ｄｉｓｃｏｖｅｒｙ  Ｂｅａｃｏｎではなく、ＮＡＮ  Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ  Ｂｅａｃｏｎであってもよい。
【００９４】
ＮＡＮクラスタ１０８はＮＡＮクラスタ１０７よりＣＧが低いため、ＮＡＮデバイス１０６はマージしない。いま、ＮＡＮデバイス１０６の動作モードは単一クラスタ参加モードのため、ＮＡＮデバイス１０６は新たに検出したＮＡＮクラスタ１０８には参加しない。
【００９５】
ＮＡＮデバイス１０６は、単一クラスタ参加モードが選択されている場合は、自装置が参加しているＮＡＮクラスタよりＣＧが低いＮＡＮクラスタを検出した場合に、検出したＮＡＮクラスタに参加しない。複数のＮＡＮクラスタに参加すると、参加しているＮＡＮクラスタの夫々のＤＷにＮＡＮデバイス１０６の通信部３０６を有効化する必要があり、その分消費電力が増える。そのため、単一クラスタ参加モードの場合は、単一のＮＡＮクラスタにのみに参加することで、省電力性を優先することができる。
【００９６】
図８は、Ｗｉ−Ｆｉ  ＮＡＮ規格に準拠した無線通信を開始し、アプリケーションを起動したＮＡＮデバイス１０６がサービス検索を行う際に、ＮＡＮデバイス１０６が実行する処理を示すシーケンス図である。
【００９７】
ステップＳ８０１からステップＳ８０５は、図７のステップＳ７０１からステップＳ７０５と同様である。この場合、動作モードは単一クラスタ参加モードが選択されている。
【００９８】
その後、ユーザは、ＮＡＮデバイス１０６の印刷サービスアプリケーションを起動する（ステップＳ８０６）。印刷サービスアプリケーションが起動したことから、再度動作モードの選択が行われ、複数クラスタ参加モードが選択される。ステップＳ８０７からステップＳ８１３は、夫々図６のステップＳ６０６からステップ６１２と同様である。
【００９９】
このように、ＮＡＮデバイス１０６において一度動作モードが選択された後も、例えばアプリケーションの起動に基づいて動作モードを再度選択してもよい。あるいは、ＮＡＮデバイス１０６が複数のＮＡＮクラスタに参加している場合、ＮＡＮデバイス１０６は動作モードを単一クラスタ参加モードに切り替えてもよい。なお、ＮＡＮデバイス１０６の動作モードが複数クラスタ参加モードから単一クラスタ参加モードに切り替わった場合、ＮＡＮデバイス１０６は自装置が参加するＮＡＮクラスタのＣＧよりＣＧの低いＮＡＮクラスタから離脱してもよい。
【０１００】
ＮＡＮデバイス１０６の動作モードを必要に応じて切り替えることで、ＮＡＮデバイス１０６は最適な動作モードでサービスの検索を行うことができる。
【０１０１】
図９は、ＮＡＮデバイス１０６がサービス検索を行う際に、記憶部３０１に記憶されたプログラムを制御部３０２が読み出し実行することで実現される処理を示すフローチャートである。
【０１０２】
本フローチャートのフローは、ＮＡＮデバイス１０６がＷｉ−Ｆｉ  ＮＡＮ規格に準拠した無線通信を開始した場合に開始される。Ｗｉ−Ｆｉ  ＮＡＮ規格に準拠した無線通信は、例えばＮＡＮデバイス１０６の印刷サービスアプリケーションが起動されたことに基づいて開始される。なお、ここで起動されるアプリケーションが提供するサービスは、印刷サービスに限定されない。あるいは、ＮＡＮデバイス１０６のＯＳ設定が変更されたことに基づいて、Ｗｉ−Ｆｉ  ＮＡＮ規格に準拠した無線通信が開始されてもよい。もしくは、ＮＡＮデバイス１０６の電源が投入されたことに基づいてＷｉ−Ｆｉ  ＮＡＮ規格に準拠した無線通信が開始してもよい。なお、図４のフローチャートのフローと開始のトリガーが同じだった場合、図４のフローチャートのフローが先に開始され、終了後に本フローチャートのフローが開始される。あるいは、ＮＡＮデバイス１０６は図４および図９のフローチャートの処理を並行して実行してもよい。
【０１０３】
ＮＡＮデバイス１０６の制御部３０２は、Ｗｉ−Ｆｉ  ＮＡＮ規格に準拠した無線通信を開始すると、ＮＡＮクラスタを検出したか判定する（ステップＳ９０１）。なお、本ステップの処理はステップＳ５０６と同様である。本フローチャートのＮＡＮデバイス１０６は、Ｗｉ−Ｆｉ  ＮＡＮ規格に準拠した無線通信を開始してもＮＡＮクラスタを形成しない。また、本フローチャートのＮＡＮデバイス１０６はＮＡＮクラスタに参加している他のＮＡＮデバイスから送信されるＮＡＮ  Ｄｉｓｃｏｖｅｒｙ  Ｂｅａｃｏｎを待ち受ける。またＮＡＮ  Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ  Ｂｅａｃｏｎを待ち受けてもよい。
【０１０４】
クラスタを検出しなかったと判定すると（ステップＳ９０１のＮｏ）、ＮＡＮデバイス１０６の制御部３０２はステップＳ９０１の処理を行う。一方、クラスタを検出したと判定すると（ステップＳ９０１のＹｅｓ）、ＮＡＮデバイス１０６の制御部３０２は、ステップＳ９０１で検出したＮＡＮクラスタに参加する（ステップＳ９０２）。なお、ステップＳ９０１で複数のクラスタを検出した場合、ＮＡＮデバイス１０６は最もＣＧの高いＮＡＮクラスタに参加する。あるいは最も早く検出したＮＡＮクラスタに参加してもよいし、最もＮＡＮデバイス１０６と距離が近いＮＡＮクラスタに参加してもよい。あるいはユーザ指示に基づいて参加するＮＡＮクラスタが決定されてもよい。ＮＡＮデバイス１０６の制御部３０２は、ステップＳ９０２の処理を行うと、図５のステップＳ５０２以降の処理を行う。
【０１０５】
＜実施形態２＞
本実施形態では、他のＮＡＮクラスタからＮＡＮ  Ｄｉｓｃｏｖｅｒｙ  Ｂｅａｃｏｎ、あるいはＮＡＮ  Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ  Ｂｅａｃｏｎを受信した際に、複数のＮＡＮクラスタを検出した場合の処理について説明する。
【０１０６】
本実施形態に係るＮＡＮデバイスが参加するネットワークの構成は図１と同様である。また、本実施形態に係るＮＡＮデバイスの機能構成は図２と同様である。本実施形態に係るＮＡＮデバイスのハードウェア構成は図３と同様である。また、本実施形態に係るＮＡＮデバイスが動作モードを選択する際に実行する処理を示すフローチャートは図４と同様である。
【０１０７】
図１０は、ＮＡＮクラスタを形成するＮＡＮデバイス１０６が複数のクラスタを検出し、サービスを検索する際に、記憶部３０１に記憶されたプログラムを制御部３０２が読み出し実行することで実現される処理を示すフローチャートである。
【０１０８】
本フローチャートのフローは、ＮＡＮデバイス１０６がＷｉ−Ｆｉ  ＮＡＮ規格に準拠した無線通信を開始した場合に開始される。Ｗｉ−Ｆｉ  ＮＡＮ規格に準拠した無線通信は、例えばＮＡＮデバイス１０６の印刷サービスアプリケーションが起動されたことに基づいて開始される。なお、ここで起動されるアプリケーションが提供するサービスは、印刷サービスに限定されない。あるいは、ＮＡＮデバイス１０６のＯＳ設定が変更されたことに基づいて、Ｗｉ−Ｆｉ  ＮＡＮ規格に準拠した無線通信が開始されてもよい。もしくは、ＮＡＮデバイス１０６の電源が投入されたことに基づいてＷｉ−Ｆｉ  ＮＡＮ規格に準拠した無線通信が開始してもよい。なお、図４のフローチャートのフローと開始のトリガーが同じだった場合、図４のフローチャートのフローが先に開始され、終了後に本フローチャートのフローが開始される。あるいは、ＮＡＮデバイス１０６は図４および図１０のフローチャートの処理を並行して実行してもよい。
【０１０９】
ステップＳ１００１からステップＳ１００５の処理は、夫々図５のステップＳ５０１からステップＳ５０５の処理と同様である。また、ステップＳ１０１４の処理は、図５のステップＳ５１１の処理と同様である。なお、ステップＳ１００４において、後述のステップＳ１００７で複数のＮＡＮクラスタを検出し、後述のステップＳ１０１２あるいはステップＳ１０１３の処理を行っていない未処理のＮＡＮクラスタがある場合、Ｎｏと判定してもよい。
【０１１０】
ステップＳ１００５においてサービス検索を終了しないと判定された場合（ステップＳ１００５のＮｏ）、ＮＡＮデバイス１０６の制御部３０２は未処理のＮＡＮクラスタがあるか判定する（ステップＳ１００６）。未処理のＮＡＮクラスタとは、後述のステップＳ１００７で検出したＮＡＮクラスタの内、後述のステップＳ１０１２やステップＳ１０１３の処理を行っていないＮＡＮクラスタになる。未処理のＮＡＮクラスタがあると判定されると（ステップＳ１００６のＹｅｓ）、ＮＡＮデバイス１０６の制御部３０２はステップＳ１００９の処理を行う。一方、未処理のＮＡＮクラスタがないと判定されると（ステップＳ１００６のＮｏ）、ＮＡＮデバイス１０６の制御部３０２はステップＳ１００７の処理を行う。なお、複数のＮＡＮクラスタを検出していない場合、ＮＡＮデバイス１０６の制御部３０２はステップＳ１００６をＮｏと判定する。あるいはステップＳ１００６をスキップしてもよい。
【０１１１】
ＮＡＮデバイス１０６の制御部３０２はＮＡＮクラスタを検出したか判定する（ステップＳ１００７）。なお、後述のステップＳ１０１２の処理を行ったＮＡＮクラスタを再度検出した場合、ステップＳ１００７はＮｏと判定してもよい。ＮＡＮクラスタを検出しなかったと判定すると（ステップＳ１００７のＮｏ）、ＮＡＮデバイス１０６の制御部３０２はステップＳ１００２の処理を行う。ＮＡＮクラスタを検出したと判定すると（ステップＳ１００７のＹｅｓ）、ＮＡＮデバイス１０６の制御部３０２は複数のＮＡＮクラスタを検出したか判定する（ステップＳ１００８）。
【０１１２】
複数のＮＡＮクラスタを検出していない場合（ステップＳ１００８のＮｏ）、つまり単一のＮＡＮクラスタを検出した場合、ＮＡＮデバイス１０６の制御部３０２はステップＳ１０１０の処理を実行する。一方、複数のＮＡＮクラスタを検出した場合（ステップＳ１００８のＹｅｓ）、ステップＳ１０１０以降の処理の対象となるＮＡＮクラスタを決定する（ステップＳ１００９）。対象となるＮＡＮクラスタは、ＣＧの高い順に決定される。なお、対象となるＮＡＮクラスタは、ＮＡＮデバイス１０６が検出した順に決定されてもよいし、ＮＡＮデバイス１０６との距離が近い順に決定されてもよい。あるいはユーザ指示に基づいて決定されてもよい。また、対象となるＮＡＮクラスタを一つ以上決定してもよい。ステップＳ１０１０からステップＳ１０１３の処理は、夫々図５のステップＳ５０７からステップＳ５１０と同様である。なお、ステップＳ１０１１でＮＡＮデバイス１０６の動作モードが複数クラスタ参加モードではないと判定されると（ステップＳ１０１１のＮｏ）、ＮＡＮデバイス１０６の制御部３０２はステップＳ１００２の処理を行う。
【０１１３】
また、ＮＡＮデバイス１０６の制御部３０２は、ステップＳ１０１２およびステップＳ１０１３の処理を行うと、ステップＳ１００２の処理を行う。なお、ステップＳ１００９で対象クラスタを複数決定した場合、ＮＡＮデバイス１０６の制御部３０２は対象クラスタとして決定した全てのＮＡＮクラスタに対してステップＳ１０１２もしくはステップＳ１０１３の何れかの処理を行ってもよい。そしてＮＡＮデバイス１０６の制御部３０２は全ての対象クラスタにステップＳ１０１２もしくはステップＳ１０１３の処理を行ってからステップＳ１００２の処理を行うように制御してもよい。
【０１１４】
なお、本フローチャートにおいて、所定の時間サービス検索を行っても、所望のサービスを検出できない場合、サービス検索を終了してもよい。その場合、制御部３０２はＮＡＮデバイス１０６のユーザに、所望のサービスを検出できなかったことを通知してもよい。なお、所定の時間は、ＮＡＮデバイス１０６にプリセットされている。あるいは、ＮＡＮデバイス１０６で起動しているアプリケーションによって決定されてもよいし、ユーザによって設定されてもよい。なお、本フローチャートのフローを実行中に、ユーザの指示に基づいて本フローチャートのフローを終了してもよい。
【０１１５】
なお、本フローチャートにおいて、ＮＡＮデバイス１０６の制御部３０２は、検出したＮＡＮクラスタのＣＧが、自装置が参加するＮＡＮクラスタのＣＧより高いか判定してから、自装置の動作モードが複数クラスタ参加モードであるか判定した。しかしこれに限らず、先に自装置の動作モードを判定してから、検出したＮＡＮクラスタのＣＧが、自装置が参加するＮＡＮクラスタのＣＧより高いか判定してもよい。具体的には、ステップＳ１００９の処理を行ったＮＡＮデバイス１０６の制御部３０２は、ステップＳ１０１１の処理を行う。ＮＡＮデバイス１０６の動作モードが複数クラスタ参加モードであると判定された場合（ステップＳ１０１１のＹｅｓ）、ＮＡＮデバイス１０６の制御部３０２はステップＳ１０１０の処理を行う。そして、検出したＮＡＮクラスタのＣＧが、自装置が参加するＮＡＮクラスタのＣＧより高いと判定されると（ステップＳ１０１０のＹｅｓ）、ＮＡＮデバイス１０６の制御部３０２はステップＳ１０１３の処理を行う。一方、検出したＮＡＮクラスタのＣＧが、自装置が参加するＮＡＮクラスタのＣＧより高くないと判定されると（ステップＳ１０１０のＮｏ）、ＮＡＮデバイス１０６の制御部３０２はステップＳ１０１２の処理を行う。また、ステップＳ１０１１において、ＮＡＮデバイス１０６の動作モードが複数クラスタ参加モードではないと判定された場合（ステップＳ１０１１のＮｏ）、ＮＡＮデバイス１０６の制御部３０２はステップＳ１０１０の処理を行う。そして、検出したＮＡＮクラスタのＣＧが、自装置が参加するＮＡＮクラスタのＣＧより高いと判定されると（ステップＳ１０１０のＹｅｓ）、ＮＡＮデバイス１０６の制御部３０２はステップＳ１０１３の処理を行う。一方、検出したＮＡＮクラスタのＣＧが、自装置が参加するＮＡＮクラスタのＣＧより高くないと判定された場合（ステップＳ１０１０のＮｏ）、ＮＡＮデバイス１０６の制御部３０２はステップＳ１００２の処理を行う。
【０１１６】
図１１は、複数クラスタを検出したＮＡＮデバイス１０６がサービスを開始する際に、ＮＡＮデバイス１０６が実行する処理を示すシーケンス図である。
【０１１７】
ＮＡＮデバイス１０９はＮＡＮクラスタ１１０に参加しているＮＡＮデバイスであって、印刷サービスを提供可能な通信装置である。ＮＡＮクラスタ１１０のＣＧはＮＡＮクラスタ１０７よりも低い。
【０１１８】
ステップＳ１１０１からＳ１１０６の処理は、図６のステップＳ６０１からステップＳ６０６と同様である。ステップＳ１１０６でＮＡＮデバイスはＮＡＮクラスタ１０７に参加しているＮＡＮデバイスに、印刷サービスを提供可能か問い合わせるＳｕｂｓｃｒｉｂｅメッセージを送信した。しかし、ＮＡＮクラスタ１０７に参加しているＮＡＮデバイスは印刷サービスを提供できないので、応答としてＰｕｂｌｉｓｈメッセージを送信しない。
【０１１９】
所望のサービスを提供するＮＡＮデバイスを同じＮＡＮクラスタ内で検出できなかったＮＡＮデバイス１０６は、他のＮＡＮクラスタのＮＡＮ  Ｄｉｓｃｏｖｅｒｙ  Ｂｅａｃｏｎを待ち受ける。あるいはＮＡＮ  Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ  Ｂｅａｃｏｎを待ち受けてもよい。
【０１２０】
ここで、ＮＡＮクラスタ１０８に参加しているＮＡＮデバイス１０３からＮＡＮ  Ｄｉｓｃｏｖｅｒｙ  Ｂｅａｃｏｎを受信する（ステップＳ１１０７）。ＮＡＮデバイス１０６はＮＡＮデバイス１０３からＮＡＮ  Ｄｉｓｃｏｖｅｒｙ  Ｂｅａｃｏｎを受信したことにより、ＮＡＮクラスタ１０８を検出する（ステップＳ１１０８）。あるいはＮＡＮ  Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ  Ｂｅａｃｏｎを受信したことによりＮＡＮクラスタ１０８を検出してもよい。ＮＡＮクラスタ１０８のＣＧは、ＮＡＮクラスタ１０７のＣＧよりも低いため、ＮＡＮデバイス１０６はＮＡＮクラスタ１０８にマージしない。
【０１２１】
また、ＮＡＮクラスタ１１０に参加しているＮＡＮデバイス１０９からＮＡＮ  Ｄｉｓｃｏｖｅｒｙ  Ｂｅａｃｏｎを受信する（ステップＳ１１０９）。あるいはＮＡＮ  Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ  Ｂｅａｃｏｎでもよい。ＮＡＮデバイス１０６はＮＡＮデバイス１０９からＮＡＮ  Ｄｉｓｃｏｖｅｒｙ  Ｂｅａｃｏｎを受信したことにより、ＮＡＮクラスタ１１０を検出する（ステップＳ１１１０）。あるいはＮＡＮ  Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ  Ｂｅａｃｏｎでもよい。ＮＡＮクラスタ１１０のＣＧは、ＮＡＮクラスタ１０７のＣＧよりも低いため、ＮＡＮデバイス１０６はＮＡＮクラスタ１１０にマージしない。
【０１２２】
ＮＡＮデバイス１０６は複数のＮＡＮクラスタを検出したので、対象となるＮＡＮクラスタを決定する。検出したＮＡＮクラスタ１０８とＮＡＮクラスタ１１０のＣＧを比較すると、ＮＡＮクラスタ１０８のＣＧの方が高い。そのため、まずＮＡＮクラスタ１０８を対象となるＮＡＮクラスタとして決定する。
【０１２３】
ＮＡＮデバイス１０６の動作モードは複数クラスタ参加モードのため、ＮＡＮデバイス１０６はＮＡＮクラスタ１０８に参加する（ステップＳ１１１１）。ＮＡＮクラスタ１０８に参加したＮＡＮデバイス１０６は、ＮＡＮクラスタ１０８内でサービス検索を行う（ステップＳ１１１２）。具体的には、ＮＡＮクラスタ１０８に参加しているＮＡＮデバイスに対してＳｏｌｉｃｉｔｅｄ型のサービス検索を行う。ＮＡＮデバイス１０６は、ＮＡＮクラスタ１０８に参加しているＮＡＮデバイスに、印刷サービスを提供可能か問い合わせるＳｕｂｓｃｒｉｂｅメッセージを送信する。なお、ＮＡＮクラスタ１０７に新たなＮＡＮデバイスが参加している可能性があるので、ＮＡＮデバイス１０６は再度ＮＡＮクラスタ１０７に参加するＮＡＮデバイスに対してサービス検索を行ってもよい。いま、ＮＡＮデバイス１０３が印刷サービスを提供可能であるので、ＮＡＮデバイス１０３がＮＡＮデバイス１０６にＰｕｂｌｉｓｈメッセージを送信する（ステップＳ１１１３）。
【０１２４】
ＮＡＮデバイス１０６は所望のサービスを検出したが、未処理のＮＡＮクラスタの全てに対してサービス検索を行っていないので、サービス検索を続行する。
【０１２５】
ＮＡＮデバイス１０６は未処理クラスタであるＮＡＮクラスタ１１０を次の対象となるＮＡＮクラスタとして決定する。
【０１２６】
ＮＡＮデバイス１０６の動作モードは複数クラスタ参加モードのため、ＮＡＮデバイス１０６はＮＡＮクラスタ１１０に参加する（ステップＳ１１１４）。ＮＡＮクラスタ１１０に参加したＮＡＮデバイス１０６は、ＮＡＮクラスタ１１０内でサービス検索を行う（ステップＳ１１１５）。具体的には、ＮＡＮクラスタ１１０に参加しているＮＡＮデバイスに対してＳｏｌｉｃｉｔｅｄ型のサービス検索を行う。ＮＡＮデバイス１０６は、ＮＡＮクラスタ１１０に参加しているＮＡＮデバイスに、印刷サービスを提供可能か問い合わせるＳｕｂｓｃｒｉｂｅメッセージを送信する。なお、ＮＡＮクラスタ１０７に新たなＮＡＮデバイスが参加している可能性があるので、ＮＡＮデバイス１０６は再度ＮＡＮクラスタ１０７に参加するＮＡＮデバイスに対してサービス検索を行ってもよい。いま、ＮＡＮデバイス１０９が印刷サービスを提供可能であるので、ＮＡＮデバイス１０９がＮＡＮデバイス１０６にＰｕｂｌｉｓｈメッセージを送信する（ステップＳ１１１６）。
【０１２７】
ＮＡＮデバイス１０６は、ステップＳ１１１７において、検出した二つの印刷サービスについてユーザに通知する。なお、サービス検出の通知はステップＳ１１１３において印刷サービスを検出した際に一度通知し、ステップＳ１１１６で印刷サービスを検出した際に再度通知してもよい。検出した複数のサービスをすべてユーザに通知することにより、ユーザは複数のサービスから、利用したいサービスを選択することが可能になる。
【０１２８】
図１２は、ＮＡＮデバイス１０６がサービスを検索し、複数クラスタを検出した際に、記憶部３０１に記憶されたプログラムを制御部３０２が読み出し実行することで実現される処理を示すフローチャートである。本フローチャートのフローは、ＮＡＮデバイス１０６がＷｉ−Ｆｉ  ＮＡＮ規格に準拠した無線通信を開始した場合に開始される。Ｗｉ−Ｆｉ  ＮＡＮ規格に準拠した無線通信は、例えばＮＡＮデバイス１０６の印刷サービスアプリケーションが起動されたことに基づいて開始される。なお、ここで起動されるアプリケーションが提供するサービスは、印刷サービスに限定されない。あるいは、ＮＡＮデバイス１０６のＯＳ設定が変更されたことに基づいて、Ｗｉ−Ｆｉ  ＮＡＮ規格に準拠した無線通信が開始されてもよい。もしくは、ＮＡＮデバイス１０６の電源が投入されたことに基づいてＷｉ−Ｆｉ  ＮＡＮ規格に準拠した無線通信が開始してもよい。なお、図４のフローチャートのフローと開始のトリガーが同じだった場合、図４のフローチャートのフローが先に開始され、終了後に本フローチャートのフローが開始される。あるいは、ＮＡＮデバイス１０６は図４および図１２のフローチャートの処理を並行して実行してもよい。
【０１２９】
ＮＡＮデバイス１０６の制御部３０２は、Ｗｉ−Ｆｉ  ＮＡＮ規格に準拠した無線通信を開始すると、ＮＡＮクラスタを検出したか判定する（ステップＳ１２０１）。なお、本ステップの処理は図５のステップＳ５０６と同様である。本フローチャートのＮＡＮデバイス１０６は、Ｗｉ−Ｆｉ  ＮＡＮ規格に準拠した無線通信を開始してもＮＡＮクラスタを形成しない。また、本フローチャートのＮＡＮデバイス１０６はＮＡＮクラスタに参加している他のＮＡＮデバイスから送信されるＮＡＮ  Ｄｉｓｃｏｖｅｒｙ  Ｂｅａｃｏｎを待ち受ける。なおＮＡＮ  Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ  Ｂｅａｃｏｎを待ち受けてもよい。
【０１３０】
クラスタを検出しなかったと判定すると（ステップＳ１２０１のＮｏ）、ＮＡＮデバイス１０６の制御部３０２はステップＳ１２０１の処理を行う。一方、ＮＡＮクラスタを検出したと判定すると（ステップＳ１２０１のＹｅｓ）、ＮＡＮデバイス１０６の制御部３０２は、複数のＮＡＮクラスタを検出したか判定する（ステップＳ１２０２）。複数のＮＡＮクラスタを検出していない場合（ステップＳ１２０２のＮｏ）、つまり単一のＮＡＮクラスタを検出した場合、ＮＡＮデバイス１０６の制御部３０２はステップＳ１２０４の処理を実行する。一方、複数のＮＡＮクラスタを検出した場合（ステップＳ１２０２のＹｅｓ）、ＮＡＮデバイス１０６の制御部３０２はステップＳ１２０１で検出したＮＡＮクラスタから参加の対象となるＮＡＮクラスタを決定する（ステップＳ１２０３）。対象となるＮＡＮクラスタは、ステップＳ１２０１で検出したＮＡＮクラスタの内、最もＣＧが高いＮＡＮクラスタとなる。あるいは、最も早く検出されたＮＡＮクラスタであってもよいし、最も距離が近いＮＡＮクラスタであってもよい。あるいはユーザ指示に基づいて対象となるＮＡＮクラスタを決定してもよい。ＮＡＮデバイス１０６の制御部は、ステップＳ１２０３で対象として決定したＮＡＮクラスタに参加する（ステップＳ１２０４）。あるいは、ステップＳ１２０１で単一のＮＡＮクラスタを検出した場合、当該ＮＡＮクラスタに参加する。ＮＡＮデバイス１０６の制御部３０２は、ステップＳ１２０４の処理を実行すると、図１０のステップＳ１００２以降の処理を実行する。
【０１３１】
本実施形態では、複数のＮＡＮクラスタを検出した場合、ＮＡＮデバイス１０６は対象クラスタを決定し、対象クラスタに参加もしくはマージすると参加クラスタ内でサービス検索を行った。しかし、ＮＡＮデバイス１０６は検出した全てのＮＡＮクラスタに参加、もしくはマージしてから参加クラスタ内でサービス検索を行ってもよい。
【０１３２】
なお、実施形態１の図９および実施形態２の図１２において、ＮＡＮデバイス１０６はＷｉ−Ｆｉ  ＮＡＮ規格に準拠した無線通信を開始した際にＮＡＮクラスタを形成しない。しかし、これに限らず、ステップＳ９０１およびステップＳ１２０１で所定の時間、ＮＡＮクラスタを検出できない場合、ＮＡＮデバイス１０６はＮＡＮクラスタを形成してもよい。この場合、図９のフローのＮＡＮデバイス１０６は、図５のフローを開始する。また、図１２のフローのＮＡＮデバイス１０６は、図１０のフローを開始する。
【０１３３】
なお、実施形態１および２において、ＮＡＮデバイス１０６は複数クラスタ参加モードの場合、新たにＮＡＮクラスタに参加しても、既に参加しているＮＡＮクラスタから離脱しなかった。しかしＮＡＮデバイス１０６は複数クラスタ参加モードで動作しており、所定の数以上のＮＡＮクラスタに参加している場合を想定する。この場合、自装置が参加しているＮＡＮクラスタよりＣＧが低い新たなＮＡＮクラスタに参加する際に、既に参加しているＮＡＮクラスタの何れか一つから離脱してもよい。
【０１３４】
あるいは、実施形態１および２において、ＮＡＮデバイス１０６は複数クラスタ参加モードで動作している場合であっても、所定の数以上のＮＡＮクラスタに参加した場合、参加するＮＡＮクラスタの数を増やさなくてもよい。具体的には、ＮＡＮデバイス１０６が所定の数以上のＮＡＮクラスタに参加し、新たなＮＡＮクラスタを検出した場合、検出したＮＡＮクラスタのＣＧが、ＮＡＮデバイス１０６が参加しているＮＡＮクラスタの何れかのＣＧより高い場合はマージする。一方、検出したＮＡＮクラスタのＣＧが、ＮＡＮデバイス１０６が参加している全てのＮＡＮクラスタＣＧより低い場合は参加処理を行わない。
【０１３５】
なお、実施形態１および実施形態２において、ＮＡＮデバイス１０６はＤＷ中にＰｕｂｌｉｓｈメッセージやＳｕｂｓｃｒｉｂｅメッセージの送受信を行うとしたが、ＤＷ外にこれらのメッセージの送受信を行ってもよい。
【０１３６】
なお、実施形態１および実施形態２において、ＮＡＮデバイス１０６は、検出したＮＡＮクラスタのＣＧが、自装置が参加するＮＡＮクラスタのＣＧより高い場合、検出したＮＡＮクラスタにマージした。ＮＡＮデバイス１０６は検出したＮＡＮクラスタにマージする場合、検出したＮＡＮクラスタに参加し、元のＮＡＮクラスタからは離脱した。しかし、ＮＡＮデバイス１０６の動作モードが複数クラスタ参加モードである場合、ＮＡＮデバイス１０６は検出したＮＡＮクラスタにマージする際に、元のＮＡＮクラスタから離脱しなくてもよい。
【０１３７】
また、実施形態１および実施形態２において、ＮＡＮデバイス１０６が複数クラスタ参加モードで動作し複数のＮＡＮクラスタに参加しており、夫々のＮＡＮクラスタにおいて所定の条件が満たされた場合、ＮＡＮデバイス１０６の役割が変更されてもよい。例えばあるＮＡＮクラスタにおけるＮＡＮデバイス１０６の役割がＮｏｎ−Ｍａｓｔｅｒ  Ｎｏｎ−Ｓｙｎｃ状態であって、所定の条件が満たされた場合、ＮＡＮデバイス１０６の役割はＭａｓｔｅｒに変更されてよい。あるいは、Ｎｏｎ−Ｍａｓｔｅｒ  Ｓｙｎｃ状態に変更されてもよい。また、ＮＡＮデバイス１０６の役割がＭａｓｔｅｒである場合や、Ｎｏｎ−Ｍａｓｔｅｒ  Ｓｙｎｃ状態である場合も、同様にＮＡＮデバイス１０６の役割が変更されてもよい。なお、ＮＡＮデバイス１０６はあるＮＡＮクラスタにおける役割がＮｏｎ−Ｍａｓｔｅｒ  Ｎｏｎ−Ｓｙｎｃ状態からＭａｓｔｅｒに変更された場合、当該ＮＡＮクラスタのＤＷにおいてＮＡＮ  Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ  Ｂｅａｃｏｎを送信する。なお、ＮＡＮデバイス１０６の役割がＮｏｎ−Ｍａｓｔｅｒ  Ｓｙｎｃ状態に変更された場合も同様である。
【０１３８】
なお、実施形態１および実施形態２において、ＮＡＮデバイス１０６がＮＡＮクラスタを検出した場合、検出したＮＡＮクラスタのＣＧと、ＮＡＮデバイス１０６の動作モードとに基づいて、検出したＮＡＮクラスタにおいてサービス検索を行うか判定した。しかし、これに限らず、ＮＡＮデバイス１０６が複数クラスタ参加モードで動作している場合は、ＮＡＮデバイス１０６は検出したＮＡＮクラスタのＣＧを考慮せず、検出したＮＡＮクラスタにおいてサービス検索を行ってもよい。
【０１３９】
また、実施形態１および実施形態２ではＷｉ−Ｆｉ  ＮＡＮ規格に準拠した通信を行う通信装置を用いて各実施形態を説明したが、通信装置が準拠する通信規格はＷｉ−Ｆｉ  ＮＡＮ規格に限らない。当該通信装置は、Ｗｉ−Ｆｉ  ＮＡＮ規格以外の他のＩＥＥＥ８０２．１１シリーズ規格に準拠したネットワーク（以下、ＮＷ）を複数検出した場合におけるサービスの検索方法を選択できる通信装置であってもよい。なお、当該通信装置が検出するＮＷは、ＢｌｕｅｔｏｏｔｈやＷｉｒｅｌｅｓｓ  ＵＳＢなどの無線通信規格に準拠したＮＷであってもよい。
【０１４０】
具体的には、例えば通信装置が所定の信号の送受信を所定の期間に同期して行うＮＷ１と、ＮＷ１とは異なる期間に所定の信号の送受信を同期して行うＮＷ２を検出したと想定する。また、通信装置は参加したＮＷにおいて、当該ＮＷに参加している他の通信装置が提供するサービスを検索できるものとする。通信装置が検出したＮＷにおいてサービス検索を行う場合、通信装置は単一のＮＷにおいてサービスを検索する単一ネットワーク参加モードと、複数のＮＷにおいてサービスを検索する複数ネットワーク参加モードを選択できる。通信装置が複数ＮＷ参加モードで動作している場合、通信装置はＮＷ１およびＮＷ２を検出すると、両方のＮＷにおいてサービス検索を行う。一方、通信装置が単一ＮＷ参加モードで動作している場合、通信装置は検出したＮＷ１およびＮＷ２の夫々に設定されている所定の値を比較し、その結果に基づいてＮＷ１あるいはＮＷ２の何れか一つにおいてサービス検索を行う。
【０１４１】
なお、参加する通信装置が所定の信号の送受信を所定の期間に同期して行うＮＷにおいて、ＮＷに参加している通信装置の夫々に、当該所定の信号を送信する役割と、当該所定の信号を送信しない役割のいずれかが設定されていると想定する。また、通信装置の役割は所定の条件が満たされると変更されるとする。通信装置が複数ＮＷ参加モードで動作し、複数のＮＷに参加している場合、通信装置は夫々のＮＷにおいて所定の条件が満たされると役割を変更してもよい。
【０１４２】
なお、図４、図５、図９、図１０、図１２に示したＮＡＮデバイス１０６のフローチャートの少なくとも一部または全部をハードウェアにより実現してもよい。ハードウェアにより実現する場合、例えば、所定のコンパイラを用いることで、各ステップを実現するためのプログラムからＦＰＧＡ上に専用回路を生成し、これを利用すればよい。ＦＰＧＡとは、Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙの略である。また、ＦＰＧＡと同様にしてＧａｔｅ  Ａｒｒａｙ回路を形成し、ハードウェアとして実現するようにしてもよい。また、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）により実現するようにしてもよい。図６、図７、図８、図１１に示したシーケンス図においても同様である。
【０１４３】
また、図４、図５、図９、図１０、図１２に示したフローチャートや、図６、図７、図８、図１１に示したシーケンス図の各ステップを不図示の複数のＣＰＵもしくは装置で分散して行うようにしてもよい。
【０１４４】
以上、実施形態を詳述したが、本発明は例えば、システム、装置、方法、プログラム若しくは記録媒体（記憶媒体）等としての実施態様をとることが可能である。具体的には、複数の機器（例えば、ホストコンピュータ、インタフェイス機器、撮像装置、ｗｅｂアプリケーション等）から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１４５】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１４６】
３０１  記憶部
３０２  制御部
３０３  機能部
３０４  入力部
３０５  出力部
３０６  通信部
３０７  アンテナ
【図１】
2019083480.tif 000003
【図２】
2019083480.tif 000004
【図３】
2019083480.tif 000005
【図４】
2019083480.tif 000006
【図５】
2019083480.tif 000007
【図６】
2019083480.tif 000008
【図７】
2019083480.tif 000009
【図８】
2019083480.tif 000010
【図９】
2019083480.tif 000011
【図１０】
2019083480.tif 000012
【図１１】
2019083480.tif 000013
【図１２】
2019083480.tif 000014