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