(57)【要約】【課題】複数のアクセスポイントで構成される無線ネットワークにおいて、他のアクセスポイントを制御するための設定情報を他のアクセスポイントへ引き継ぐ際の利便性を高める。【解決手段】通信装置は、複数のアクセスポイントを含んで構成されるネットワークにおいて、他のアクセスポイントを制御する第１のアクセスポイントとして通信装置が動作するための設定情報に基づいて、第１のアクセスポイントとして、ネットワークを介して通信し、設定情報を、通信装置以外の他の装置へバックアップし、設定情報がバックアップされた他の装置の所在を示す所在情報を、他のアクセスポイントへ通知する。【選択図】図３
2020202512.tif 000002
【特許請求の範囲】
【請求項１】
通信装置であって、
複数のアクセスポイントを含んで構成されるネットワークにおいて、他のアクセスポイントを制御する第１のアクセスポイントとして前記通信装置が動作するための設定情報に基づいて、前記第１のアクセスポイントとして、前記ネットワークを介して通信する通信手段と、
前記設定情報を、他の装置へバックアップするバックアップ手段と、
前記バックアップ手段により前記設定情報がバックアップされた前記他の装置の所在を示す所在情報を、前記他のアクセスポイントへ通知する通知手段と、
を有することを特徴とする通信装置。
【請求項２】
前記設定情報を、前記通信装置に設定する設定手段を更に有することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記バックアップ手段は、前記設定手段により、前記通信装置への前記設定情報の設定が完了した際、または前記通信装置に設定された前記設定情報が変更された際に、前記設定情報を前記他の装置へバックアップすることを特徴とする請求項２に記載の通信装置。
【請求項４】
前記バックアップ手段は、前記通信装置が前記第１のアクセスポイントとしての動作を停止する際に、前記他の装置へバックアップすることを特徴とする請求項１から３のいずれか１項に記載の通信装置。
【請求項５】
前記通信装置が前記ネットワークにおけるゲートウェイか否かを判定する判定手段と、
前記判定手段により前記通信装置がゲートウェイであると判定された場合、前記他の装置として、前記ネットワークに含まれる装置を選択する選択手段と、
を更に有することを特徴とする請求項１から４のいずれか１項に記載の通信装置。
【請求項６】
前記選択手段は、前記判定手段により、前記通信装置がゲートウェイでないと判定された場合、前記他の装置として、前記ネットワークの外の装置を選択することを特徴とする請求項５に記載の通信装置。
【請求項７】
前記通知手段は、前記バックアップ手段により前記設定情報がバックアップされた際に、前記ネットワークに参加している他のアクセスポイントに前記所在情報を通知する  ことを特徴とする請求項１から６のいずれか１項に記載の通信装置。
【請求項８】
前記通知手段は、前記ネットワークに新たなアクセスポイントが参加した際に、前記新たなアクセスポイントに前記所在情報を通知することを特徴とする請求項１から７のいずれか１項に記載の通信装置。
【請求項９】
前記所在情報は、前記他の装置を識別するＵＲＬ（Ｕｎｉｖｅｒｓａｌ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレス、ＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレス、ファイルパスのいずれか１つ以上を含むことを特徴とする請求項１から８のいずれか１項に記載の通信装置。
【請求項１０】
前記ネットワークは、Ｗｉ−Ｆｉ  ＥａｓｙＭｅｓｈ規格に準拠するネットワークであり、前記第１のアクセスポイントはコントローラであり、前記他のアクセスポイントはエージェントであることを特徴とする請求項１から９のいずれか１項に記載の通信装置。
【請求項１１】
前記通知手段は、前記所在情報を、ＩＥＥＥ１９０５．１規格に規定されるＡＰ−Ａｕｔｏｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｒｅｓｐｏｎｓｅメッセージまたは任意のＭｕｌｔｉ−ＡＰ制御メッセージに含めて、前記他のアクセスポイントへ通知することを特徴とする請求項１から１０のいずれか１項に記載の通信装置。
【請求項１２】
通信装置であって、
複数のアクセスポイントを含んで構成されるネットワークにおいて、他のアクセスポイントを制御する第１のアクセスポイントの制御を受ける第２のアクセスポイントとして、前記ネットワークを介して通信する通信手段と、
前記第１のアクセスポイントとして他の通信装置が動作するため前記他の通信装置に設定された設定情報がバックアップされた装置の所在を示す所在情報を、前記第１のアクセスポイントから受信する受信手段と、
前記通信装置が前記第１のアクセスポイントとして起動する際に、前記受信手段により受信された前記所在情報により識別される装置から、バックアップされた前記設定情報を取得する取得手段と、
前記取得手段により取得された前記設定情報を、前記通信装置が前記第１のアクセスポイントとして起動する際の設定情報として、前記通信装置に設定する設定手段と
を有することを特徴とする通信装置。
【請求項１３】
前記ネットワーク上で前記第１のアクセスポイントを探索する探索手段をさらに有し、
前記取得手段は、前記探索手段により前記第１のアクセスポイントが探索されない場合に、前記受信手段により受信された前記所在情報により識別される装置から、前記設定情報を取得することを特徴とする請求項１２に記載の通信装置。
【請求項１４】
前記受信手段により受信された前記所在情報を記憶する記憶手段をさらに備え、
前記受信手段は、前記通信装置が前記無線ネットワークに参加する際に、前記第１のアクセスポイントから前記所在情報を受信して、受信された前記所在情報を前記記憶手段に記憶する
ことを特徴とする請求項１２または１３に記載の通信装置。
【請求項１５】
前記ネットワークは、Ｗｉ−Ｆｉ  ＥａｓｙＭｅｓｈ規格に準拠するネットワークであり、前記第１のアクセスポイントはコントローラであり、前記第２のアクセスポイントはエージェントであることを特徴とする請求項１１から１３のいずれか１項に記載の通信装置。
【請求項１６】
前記受信手段は、前記所在情報を、ＩＥＥＥ１９０５．１規格に規定されるＡＰ−Ａｕｔｏｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｒｅｓｐｏｎｓｅメッセージまたは任意のＭｕｌｔｉ−ＡＰ制御メッセージを介して、前記第１のアクセスポイントから受信することを特徴とする請求項１２から１５のいずれか１項に記載の通信装置。
【請求項１７】
通信装置の制御方法であって、
複数のアクセスポイントを含んで構成されるネットワークにおいて、他のアクセスポイントを制御する第１のアクセスポイントとして前記通信装置が動作するための設定情報に基づいて、前記第１のアクセスポイントとして、前記ネットワークを介して通信するステップと、
前記設定情報を、他の装置へバックアップするステップと、
前記設定情報がバックアップされた前記他の装置の所在を示す所在情報を、前記他のアクセスポイントへ通知するステップと
を含むことを特徴とする通信装置の制御方法。
【請求項１８】
通信装置の制御方法であって、
複数のアクセスポイントを含んで構成されるネットワークにおいて、他のアクセスポイントを制御する第１のアクセスポイントの制御を受ける第２のアクセスポイントとして、前記ネットワークを介して通信するステップと、
前記第１のアクセスポイントとして他の通信装置が動作するため前記他の通信装置に設定された設定情報がバックアップされた装置の所在を示す所在情報を、前記第１のアクセスポイントから受信するステップと、
前記通信装置が前記第１のアクセスポイントとして起動する際に、受信された前記所在情報により識別される装置から、バックアップされた前記設定情報を取得するステップと、
取得された前記設定情報を、前記通信装置が前記第１のアクセスポイントとして起動する際の設定情報として、前記通信装置に設定するステップと
を含むことを特徴とする通信装置の制御方法。
【請求項１９】
コンピュータを、請求項１から１６のいずれか１項に記載の通信装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線ネットワークのアクセスポイントとして動作可能な通信装置に関する。
【背景技術】
【０００２】
Ｗｉ−Ｆｉ  Ａｌｌｉａｎｃｅにおいて策定されたＷｉ−Ｆｉ  ＥａｓｙＭｅｓｈ（登録商標）規格は、複数のアクセスポイント（以下、「ＡＰ」ともいう）により構成されるネットワークにおける各種制御を規定している。このような複数のＡＰにより構成されるネットワークを「マルチＡＰネットワーク」という。
Ｗｉ−Ｆｉ  ＥａｓｙＭｅｓｈ規格において、マルチＡＰネットワークを構成するＡＰは、他のＡＰから各種情報を取得し、当該情報を用いて複数ＡＰ間における効率的なネットワーク制御を実現することができる。
【０００３】
マルチＡＰネットワークを構成するＡＰは、Ｍｕｌｔｉ−ＡＰ  Ｃｏｎｔｒｏｌｌｅｒ（以下、「コントローラ」という）と、Ｍｕｌｔｉ−ＡＰ  Ａｇｅｎｔ（以下、「エージェント」という）とのいずれかとして動作する（特許文献１）。
コントローラは、他のＡＰを制御して、マルチＡＰネットワーク全体を制御するＡＰである。一方、エージェントは、コントローラの管理下に入り、各種のネットワーク情報をコントローラに報知するＡＰである。
コントローラは、エージェントから報知されるネットワーク情報に基づいて、マルチＡＰネットワークを制御する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２０１７−０５１３３７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、Ｗｉ−Ｆｉ  ＥａｓｙＭｅｓｈ規格では、マルチＡＰネットワーク上のコントローラは常に１つであるものと規定されている。そのため、コントローラの役割を担うＡＰの故障や何らかの障害時には、マルチＡＰネットワークにおいてコントローラとして動作するためのコントローラ設定情報を別のＡＰへ引き継ぐことができない。
同様に、コントローラの役割を担うＡＰの電源を切断した後や、コントローラの役割を担うＡＰがマルチＡＰネットワークから離脱した後に別のＡＰを新たなコントローラとして選択した場合にも、コントローラ設定情報を別のＡＰへ引き継ぐことができない。
【０００６】
このような場合、コントローラ設定情報を別のＡＰへ引き継ぐことができないため、ユーザが新たにコントローラの役割を担うＡＰに対して、改めてコントローラ設定情報を設定しなければならず、ユーザの操作を煩雑にしていた。
また、ＡＰネットワーク上で１つであるコントローラに設定されたコントローラ設定情報を、予め別のＡＰへ引き継ごうとしても、現在のコントローラに替わって次にコントローラとなるべきＡＰは通常未定である。このため、コントローラは、次のコントローラとなるべきＡＰが１つであるにもかかわらず、他の全てのＡＰのそれぞれとの間で、予めコントローラ設定情報を共有しなければならず、無線通信リソースを無駄にしてしまう。
【０００７】
本発明の目的は、複数のアクセスポイントで構成される無線ネットワークにおいて、他のアクセスポイントを制御するための設定情報を他のアクセスポイントへ引き継ぐ際の利便性を高めることにある。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、本発明に係る通信装置は、複数のアクセスポイントを含んで構成されるネットワークにおいて、他のアクセスポイントを制御する第１のアクセスポイントとして前記通信装置が動作するための設定情報に基づいて、前記第１のアクセスポイントとして、前記ネットワークを介して通信する通信手段と、前記設定情報を、他の装置へバックアップするバックアップ手段と、前記バックアップ手段により前記設定情報がバックアップされた前記他の装置の所在を示す所在情報を、前記他のアクセスポイントへ通知する通知手段とを有する。
【発明の効果】
【０００９】
本発明によれば、複数のアクセスポイントで構成される無線ネットワークにおいて、他のアクセスポイントを制御するアクセスポイントとして動作するための設定情報を他のアクセスポイントへ引き継ぐ際の利便性を高めることができる。
【図面の簡単な説明】
【００１０】
【図１】実施形態１に係る通信システムのネットワーク構成の一例を示す図。
【図２】実施形態１に係る通信装置のハードウエアおよび機能構成の一例を示すブロック図。
【図３】実施形態１に係る通信装置がマルチＡＰネットワークのコントローラとして動作する場合に実行する処理の処理手順の一例を示すフローチャート。
【図４】通信装置１がコントローラ設定情報のバックアップ先の情報を通知するため使用するメッセージのフォーマットの一例を示す図。
【図５】実施形態１に係る通信装置がマルチＡＰネットワークのエージェントとして動作する場合に実行する処理の処理手順の一例を示すフローチャート。
【図６】マルチＡＰネットワークのエージェントとして動作する実施形態１に係る通信装置１、コントローラの機能が起動された場合に実行する処理の処理手順の一例を示すフローチャート。
【図７】実施形態１に係る通信システムにおける通信装置間の処理シーケンスの一例を示すシーケンス図。
【図８】実施形態２に係る通信装置がマルチＡＰネットワークのコントローラとして動作する場合に実行する処理の処理手順の一例を示すフローチャート。
【図９】実施形態２に係る通信装置がマルチＡＰネットワークのエージェントとして動作する場合に実行する処理の処理手順の一例を示すフローチャート。
【図１０】実施形態２に係る通信システムにおける通信装置間の処理シーケンスの一例を示すシーケンス図。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照して、本発明を実施するための実施形態について詳細に説明する。なお、以下に説明する実施形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正または変更されるべきものであり、本発明は以下の実施形態に限定されるものではない。また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１２】
以下、通信装置が、マルチＡＰネットワークを許容するＷｉ−Ｆｉ  ＥａｓｙＭｅｓｈ規格に準拠する通信装置である例を説明するが、本実施形態はこれに限定されない。例えば、通信装置は、複数のアクセスポイント（ＡＰ）により構成される無線ネットワークであるマルチＡＰネットワークで無線通信を可能とする他の通信方式を使用してもよい。
【００１３】
（実施形態１）
＜本実施形態のネットワーク構成＞
図１は、本実施形態に係る通信システムのネットワーク構成の一例を示す図である。
図１に示す通信システムは、１つ以上のＡＰで構成されるネットワークであるマルチＡＰネットワーク５に接続される通信装置１〜４を備え、マルチＡＰネットワーク５上で無線通信を実行する。
【００１４】
通信装置１および通信装置２は、それぞれ、ＩＥＥＥ８０２．１１シリーズ規格に準拠する無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）を構築するアクセスポイント（ＡＰ）として動作する（以下、「ＡＰ１」、「ＡＰ２」ともいう）。一方、通信装置３および通信装置４は、それぞれ、ＡＰである通信装置１および通信装置２により構築された無線ＬＡＮに接続するステーション（以下、「ＳＴＡ」という）として動作する。
図１において、通信装置１は、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）６に接続され、他の通信装置２〜４の通信を中継してＷＡＮ６に接続させることが可能なゲートウェイとして動作するものとする。通信装置１に替えて、通信装置２がゲートウェイとして動作してもよい。なお、通信装置１および２は、無線通信に加えて、あるいは無線通信に替えて、有線通信を実行可能であってよい。
【００１５】
本実施形態において、ＡＰである通信装置１と通信装置２のいずれか一方は、マルチＡＰネットワーク５において他のＡＰを制御してマルチＡＰネットワーク５全体を制御する機能を有するコントローラの役割を担う。
一方、コントローラの役割を担わない他方のＡＰである通信装置１と通信装置２の他方は、コントローラの管理下に入り、ネットワーク情報をコントローラに報知する機能を有するエージェントの役割を担う。
【００１６】
コントローラは、例えば、所定の制御メッセージをエージェントに送信することにより、エージェントの接続チャネルや送信パワーを制御する。さらにコントローラは、エージェントを異なるＡＰ配下の異なるＢＳＳ（Ｂａｓｉｃ  Ｓｅｒｖｉｃｅ  Ｓｅｔ）へ移行させたり、ＳＴＡのローミング等のステアリングを制御したり、その他、データトラフィックの制御、ネットワークの診断等を実行する。
また、エージェントがコントローラへ報知するネットワーク情報は、エージェント自体の能力情報、および当該エージェントに接続しているＳＴＡやＡＰの能力情報を含む。ここで、能力情報とは、ＩＥＥＥ８０２．１１シリーズ準拠のＨＴ（Ｈｉｇｈ  Ｔｈｒｏｕｇｈｐｕｔ）  Ｃａｐａｂｉｌｉｔｙ、ＶＨＴ（Ｖｅｒｙ  Ｈｉｇｈ  Ｔｈｒｏｕｇｈｐｕｔ）  Ｃａｐａｂｉｌｉｔｙであってよい。なお、ここで、エージェントに接続しているＡＰとは、具体的には、Ｂａｃｋｈａｕｌ  ＳＴＡと呼ばれるマルチＡＰネットワークのデバイスにおけるＳＴＡ機能を実行してエージェントに接続しているＡＰをいう。
【００１７】
エージェントがコントローラへ報知するネットワーク情報はさらに、無線ＬＡＮ接続チャネルの情報、電波干渉に関する情報、ＳＴＡのリンク情報（リンクの接続や切断の通知等）、ネットワークトポロジの変化を通知するための情報を含んでよい。ネットワーク情報はさらにまた、Ｂｅａｃｏｎフレームのメトリクス情報等を含んでよい。
【００１８】
なお、コントローラの役割を担うＡＰは、エージェントの機能を同時に備えてよい。本実施形態では、図１に示す通信装置１および通信装置２のいずれもが、コントローラとエージェントの双方の機能を備えているものとして説明するが、コントローラとエージェントのいずれか一方の機能を備えてもよい。
Ｗｉ−Ｆｉ  ＥａｓｙＭｅｓｈ規格では、１つのマルチＡＰネットワークにおいて、コントローラは１つと規定されており、一方、複数のエージェントが許容されている。このため、本実施形態では、図１の通信装置１および通信装置２のいずれか一方のＡＰ（ＡＰ１またはＡＰ２）がコントローラとして動作し、他方のＡＰがエージェントとして動作するものとして説明する。
図１に示す通信装置１および通信装置２は、Ｗｉ−Ｆｉ  ＥａｓｙＭｅｓｈ規格に準拠するＡＰとして動作可能な通信装置であって、図２を参照して後述するハードウエアおよび機能構成を備える通信装置であればよい。通信装置１および通信装置２は、例えば、無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）ルータ、ＰＣ、タブレット端末、スマートフォン、テレビ、プリンタ、複写機、プロジェクタ等のデバイスであってよいが、これらに限定されない。また、通信装置１と通信装置２は相互に異なるデバイスであってよい。
【００１９】
＜通信装置のハードウエアおよび機能構成＞
図２は、本実施形態に係る通信装置のハードウエアおよび機能構成の一例を示す図である。以下、図２に示すハードウエアおよび機能構成を備える通信装置として、図１の通信装置１を参照して説明するが、通信装置２もまた、図２に示すハードウエアおよび機能構成を備えるものとする。
図２の通信装置１は、記憶部１１、制御部１２、機能部１３、入力部１４、出力部１５、通信部１６、およびアンテナ１７を備える。
図２の通信装置１の各部は、システムバス１８により通信可能に相互接続される。なお、通信装置１は、上記のモジュール全てを備えなくともよく、図２の構成に加えて追加のモジュール等を備えてもよい。
【００２０】
記憶部１１は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等のメモリにより構成され、後述する各種動作を実行するためのプログラムや、無線通信のための通信パラメータ等の情報を記憶する。なお、記憶部１１として、ＲＯＭやＲＡＭ等のメモリの他、例えば、フレキシブルディスク、ハードディスク、光ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性メモリカード、ＤＶＤ等の記憶媒体を用いてよい。また、記憶部１１は、複数のメモリを備えてよい。
【００２１】
制御部１２は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等の１つまたは複数のプロセッサにより構成される。制御部１２は、記憶部１１に記憶されたプログラムを実行することにより、通信装置１全体を統括的に制御する。
【００２２】
本実施形態において、制御部１２は、マルチＡＰコントローラ部１２１、およびマルチＡＰエージェント部１２２を備える。マルチＡＰコントローラ部１２１は、通信装置１をマルチＡＰネットワークにおけるコントローラとして動作させる。マルチＡＰエージェント部１２２は、通信装置１を、マルチＡＰネットワークにおけるエージェントとして動作させる。通信装置１は、当該通信装置１への設定や操作に従って、マルチＡＰコントローラ部１２１、およびマルチＡＰエージェント部１２２のうち少なくとも一方の機能を実行する。
【００２３】
制御部１２は、マルチＡＰコントローラ部１２１、およびマルチＡＰエージェント部１２２を個別に有効化および無効化することができる。
具体的には、通信装置１がコントローラの役割とエージェントの役割を同時に担う場合、制御部１２は、マルチＡＰコントローラ部１２１およびマルチＡＰエージェント部１２２の双方の機能を有効化する。一方、通信装置１がコントローラの役割のみを担う、つまりエージェントの役割を担わない場合には、制御部１２は、マルチＡＰコントローラ部１２１の機能を有効化し、マルチＡＰエージェント部１２２の機能を無効化する。逆に、通信装置１がエージェントの役割のみを担う、つまりコントローラの役割を担わない場合には、制御部１２は、マルチＡＰコントローラ部１２１の機能を無効化し、マルチＡＰエージェント部１２２の機能を有効化する。
【００２４】
マルチＡＰコントローラ部１２１の機能を使用して、通信装置１は、エージェントから受信したネットワークのトポロジ情報やディスカバリー情報に基づいてエージェントに指示を発行することにより、マルチＡＰネットワーク５を制御する。
ここで、トポロジ情報は、例えばＩＥＥＥ１９０５．１規格に規定されたＴｏｐｏｌｏｇｙ  Ｎｏｔｉｆｉｃａｔｉｏｎメッセージや、Ｔｏｐｏｌｏｇｙ  Ｒｅｓｐｏｎｓｅメッセージであってよい。ディスカバリー情報は、例えばＩＥＥＥ１９０５．１規格に規定されたＡＰ−Ａｕｔｏｃｏｎｆｉｇｕｒａｔｉｏｎ  ＳｅａｒｃｈメッセージやＡＰ−Ａｕｔｏｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｒｅｓｐｏｎｓｅメッセージであってよい。これらはいずれも、Ｗｉ−Ｆｉ  ＥａｓｙＭｅｓｈ規格の仕様に基づくメッセージである。
【００２５】
コントローラは、これらトポロジ情報やディスカバリー情報に基づいて、Ｗｉ−Ｆｉ  ＥａｓｙＭｅｓｈ規格の仕様でマルチＡＰ制御メッセージとして規定されるＣｌｉｅｎｔ  Ａｓｓｏｃｉａｔｉｏｎ  Ｃｏｎｔｒｏｌ  Ｒｅｑｕｅｓｔメッセージを送信する。これにより、マルチＡＰネットワーク５における他のＢＳＳにＳＴＡが接続することを禁止させ、所定のＢＳＳへ明示的にＳＴＡをステアリング（ローミング）して、ＢＳＳ間で効率的なＳＴＡのステアリングを可能とする。
なお、通信装置１は、コントローラの役割を担わない場合には、マルチＡＰコントローラ部１２１を備えなくてもよい。同様に、通信装置１は、エージェントの役割を担わない場合には、マルチＡＰエージェント部１２２を備えなくてもよい。
【００２６】
制御部１２は、記憶部２２に記憶されたプログラムとＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）との協働により、通信装置１全体を制御するようにしてもよい。また、制御部１２は、マルチコア等の複数のプロセッサを備え、複数のプロセッサにより通信装置１全体を制御するようにしてもよい。
【００２７】
機能部１３は、制御部１２の制御の下、印刷や投影等の所定の処理を実行する。機能部１３は、通信装置１が所定の処理を実行するためのハードウェアを含んでよい。例えば、通信装置１がプリンタである場合、機能部１３は印刷部であり、印刷処理を実行する。この場合、機能部１３が印刷処理するデータは、記憶部１１に記憶されているデータであってもよく、後述する通信部１６を介して他の通信装置から送信されるデータであってもよい。
入力部１４は、マウス等のポインティングデバイスや音声入力、ボタン操作等を介してユーザからの各種操作の受付を行う。
出力部１５は、ユーザに対して各種出力を行う。ここで、出力部１５による出力とは、例えば、ＬＥＤ（Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）への表示や画面上への表示、スピーカによる音声出力、振動出力等の少なくとも１つを含んでよい。あるいは、タッチパネル等のように、入力部１４と出力部１５の双方を１つのモジュールで実現してもよい。
【００２８】
通信部１６は、データリンク層のプロトコルであるＩＥＥＥ８０２．１１シリーズ規格に準拠した無線ＬＡＮの制御や、ＩＥＥＥ８０２．３規格に準拠した有線ＬＡＮ等の有線通信の制御を実行する。通信部１６はさらに、ネットワーク層の通信プロトコルであるＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）通信の制御等を行う。
本実施形態において、通信部１６は、ＩＥＥＥ８０２．１１規格やＩＥＥＥ８０２．３規格に従った通信上で、ＩＥＥＥ１９０５．１規格に従ったプロトコルを実行する。通信部１６はさらに、Ｗｉ−Ｆｉ  ＥａｓｙＭｅｓｈ規格に従って、コントローラ、および／またはエージェントの制御を実行する。なお、ＩＥＥＥ１９０５．１規格は、データリンク層とネットワーク層の間の階層に位置するプロトコルを規定した規格である。
ただし、通信部１６が利用可能な通信方式は上記に限定されない。例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＮＦＣ、ＵＷＢ、ＺｉｇＢｅｅ、ＭＢＯＡ等の他の無線通信方式に準拠した通信装置や他の有線通信方式に準拠した通信装置にも、本実施形態の構成を適用可能である。ここで、ＮＦＣは、Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎの略である。ＵＷＢは、Ｕｌｔｒａ  Ｗｉｄｅ  Ｂａｎｄの略である。ＭＢＯＡは、Ｍｕｌｔｉ  Ｂａｎｄ  ＯＦＤＭ  Ａｌｌｉａｎｃｅの略である。また、ＵＷＢには、ワイヤレスＵＳＢ、ワイヤレス１３９４、ＷＩＮＥＴなどが含まれる。
通信部１６は、アンテナ１７を制御して、無線通信のための無線信号の送受信を実行する。
【００２９】
＜コントローラとして動作する通信装置が実行する処理＞
図３は、通信装置がマルチＡＰネットワーク５におけるコントローラとして動作する場合に実行されるコントローラ設定情報のバックアップ処理の一例を示すフローチャートである。以下、図１の通信装置１がコントローラとして動作するものとして便宜上説明するが、通信装置１に替えて通信装置２がコントローラとして図３に示す処理を実行してもよい。
なお、図３の各ステップは、通信装置１の記憶部１１に記憶されたプログラムを制御部１２が読み出し、実行することで実現される。また、図３に示すフローチャートの少なくとも一部をハードウェアにより実現してもよい。ハードウェアにより実現する場合、例えば、所定のコンパイラを用いることで、各ステップを実現するためのプログラムからＦＰＧＡ上に自動的に専用回路を生成すればよい。ＦＰＧＡとは、Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙの略である。また、ＦＰＧＡと同様にしてＧａｔｅ  Ａｒｒａｙ回路を形成し、ハードウェアとして実現するようにしてもよい。また、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）により実現するようにしてもよい。
【００３０】
Ｓ１で、通信装置１のマルチＡＰコントローラ部１２１は、通信装置１をマルチＡＰネットワーク５におけるコントローラとして動作させるための設定（以下、「コントローラ設定」という）を実行する。また、通信装置１をコントローラとして動作させるため設定すべき情報を、コントローラ設定情報という。
具体的なコントローラ設定の手法としては、例えば、入力部１４を介してユーザが入力した情報を設定してもよいし、予め記憶部１１に記憶されたコントローラ設定情報を読み込んで設定してもよい。あるいは、通信部１６を介してエージェントから取得したネットワーク情報に基づいて、各エージェントの接続チャネルや送信パワーの設定など、マルチＡＰネットワーク５全体を制御するための設定を自動的に実行してもよい。
コントローラ設定情報は、ＳＳＩＤ（Ｓｅｒｖｉｃｅ  Ｓｅｔ  Ｉｄｅｎｔｉｆｉｅｒ）やチャネル設定、認証用のパスワードや証明書、エージェントの管理情報やネットワークトポロジ情報、ディスカバリー情報等の情報のうちの少なくとも１つを含む。
【００３１】
Ｓ２で、通信装置１のマルチＡＰコントローラ部１２１は、ステップＳ１で設定されたコントローラ設定情報をバックアップするか否かを判定する。具体的には、コントローラ設定情報をバックアップすべきか否かは、例えば、コントローラ設定が完了したか否かから判定することが可能であり、Ｓ１のコントローラ設定が完了した場合に、バックアップすると判定してよい。なお、判定手法はこれに限らず、コントローラ設定の少なくとも一部を変更したか否か、所定の周期時間が経過したか否か、等から判定してもよい。あるいは、通信装置１がコントローラとしての動作を停止する際、すなわち、機器の動作を停止する際、通信装置１の役割をエージェントへ変更する際、マルチＡＰネットワーク５から離脱する際等に、バックアップすると判定してもよい。
【００３２】
Ｓ２で、コントローラ設定情報をバックアップしないと判定された場合（Ｓ２：Ｎ）、通信装置１のマルチＡＰコントローラ部１２１は、Ｓ３〜Ｓ６をスキップしてコントローラ設定情報のバックアップ処理を実行せず、Ｓ７に進む。
Ｓ７で、通信装置１のマルチＡＰコントローラ部１２１は、Ｓ１で設定されたコントローラ設定情報に基づいて、マルチＡＰネットワーク５を制御する。
【００３３】
一方、コントローラ設定情報をバックアップすると判定された場合（Ｓ２：Ｙ）、Ｓ３で、通信装置１のマルチＡＰコントローラ部１２１は、自装置がゲートウェイか否かを判定する。自装置がゲートウェイか否かは、ゲートウェイの機能であるローカルネットワークをインターネットや広域ネットワーク（ＷＡＮ５）に接続するためのプロトコル変換機能やネットワークアドレス変換機能を備えているか否かで判定することができる。また、自装置に、プロトコル変換機能やネットワークアドレス変換機能を実行するための各種設定が行われているか否かで判定することができる。
【００３４】
自装置がゲートウェイと判定された場合（Ｓ３：Ｙ）、Ｓ４で、通信装置１のマルチＡＰコントローラ部１２１は、マルチＡＰネットワーク５内の通信装置１以外の記憶装置へ、Ｓ１で設定されたコントローラ設定情報をバックアップする。ここで、コントローラ設定情報をバックアップすべき記憶装置は、マルチＡＰネットワーク５に参加している他のエージェント、またはマルチＡＰネットワーク５内に参加している他のエージェントからアクセス可能な記憶装置を備える装置であってよい。
コントローラがゲートウェイの場合、コントローラが故障すると、新たにコントローラの役割を担うエージェントが、マルチＡＰネットワーク５の外からゲートウェイを介して設定情報を取得できなくなる。そのため、コントローラである通信装置１は、自身がゲートウェイの場合、マルチＡＰネットワーク５内の記憶装置へコントローラ設定情報をバックアップする。
【００３５】
一方、Ｓ３で自装置がゲートウェイでないと判定された場合（Ｓ３：Ｎ）、通信装置１のマルチＡＰコントローラ部１２１は、Ｓ５で、所定のバックアップ先へコントローラ設定情報をバックアップする。Ｓ５でのバックアップ先は、Ｓ４の場合と異なり、マルチＡＰネットワーク５内の記憶装置や他のエージェントに限定されない。新たにコントローラの役割を担うエージェントは、ゲートウェイを介してマルチＡＰネットワーク５外にアクセス可能であるため、Ｓ５でのバックアップ先は、マルチＡＰネットワーク５外のクラウドや任意の記憶装置等であってもよい。また、バックアップ先は予めユーザにより指定された装置であってもよい。
【００３６】
Ｓ６で、通信装置１のマルチＡＰコントローラ部１２１は、Ｓ４またはＳ５のいずれかでコントローラ設定情報をバックアップしたバックアップ先の所在情報を、マルチＡＰネットワーク５に参加中の他のエージェントへ通知する。具体的には、バックアップ先の所在情報を通知する手法は、例えば、上述したＩＥＥＥ１９０５．１規格で規定される各種制御メッセージを用いることが可能である。例えば、ＩＥＥＥ１９０５．１規格で規定されるＴＬＶ（ｔｙｐｅ−ｌｅｎｇｔｈ−ｖａｌｕｅ）フォーマットでバックアップ先の所在情報を記述して制御メッセージに含めることができるが、その詳細は図４を参照して後述する。
なお、Ｓ６でコントローラ設定情報のバックアップ先の所在情報を通知する通知先のエージェントは、マルチＡＰネットワーク５に参加中の全てのエージェントであってもよいし、その一部のエージェントであってもよい。例えば、現在のコントローラに替わり、次にコントローラの役割を担うエージェントが事前に決まっている場合、少なくとも事前に決められたエージェントへ通知すれば足りる。
【００３７】
Ｓ７で、通信装置１のマルチＡＰコントローラ部１２１は、ステップＳ１で設定されたコントローラ設定情報に基づいて、マルチＡＰネットワーク５を制御し、処理を終了する。
図３に示すフローチャートの処理が実行された結果、本実施形態に係る通信装置１は、コントローラとして動作するために必要となるコントローラ設定情報をバックアップするともに、バックアップ先の所在情報をエージェントへ通知することができる。
【００３８】
図４は、本実施形態において、通信装置１がコントローラ設定情報をバックアップするバックアップ先の所在情報を通知する際に使用するフォーマット（Ｃｏｎｔｒｏｌｌｅｒ  Ｂａｃｋｕｐ  Ｉｎｆｏ  ＴＬＶ  ｆｏｒｍａｔ）の一例を示す。図４では、コントローラ設定情報のバックアップ先を、ＩＥＥＥ１９０５．１規格に規定されるＴＬＶ（ｔｙｐｅ−ｌｅｎｇｔｈ−ｖａｌｕｅ）フォーマット４０で記述する例が示されている。図４のＴＬＶフォーマット４０は、ｔｌｖＴｙｐｅ４１、ｔｌｖＬｅｎｇｔｈ４２、およびｔｌｖＶａｌｕｅ４３の３つのフィールドを含む。
なお、本実施形態では、図４に示すとおり、各フィールドの長さをそれぞれ１オクテット、２オクテット、ｎオクテットとして定義しているが、ＴＬＶフォーマット４０は図４に示されるフィールド及びフィールド長に限定されない。また、ＴＬＶフォーマット４０により記述されたコントローラ設定情報のバックアップ先の所在情報は、マルチＡＰネットワーク５のコントローラからエージェントへ通知されるＩＥＥＥ１９０５．１規格に規定される制御メッセージに含まれてよい。
【００３９】
図４を参照して、ｔｌｖＴｙｐｅフィールド４１へは、当該メッセージがコントローラ設定情報のバックアップ先の所在情報を記述するＴＬＶフォーマットであることを示す所定の値を設定する。なお、ｔｌｖＴｙｐｅフィールド４１の値は、マルチＡＰのＴＬＶフォーマットのタイプを識別するために定義された、フォーマット毎に固有の値である。本実施形態では、現在Ｗｉ−Ｆｉ  ＥａｓｙＭｅｓｈ規格で定義されていない任意の値を利用してよい。
ｔｌｖＬｅｎｇｔｈフィールド４２へは、後続するフィールドにおけるオクテット数を示す可変の値を設定する。本実施形態では、ｔｌｖＬｅｎｇｔｈフィールド４２へは、後続のｔｌｖＶａｌｕｅフィールド４３のオクテット数である２を設定するものとする。
【００４０】
ｔｌｖＶａｌｕｅフィールド４３へは、コントローラ設定情報のバックアップ先の所在情報を設定する。コントローラ設定情報のバックアップ先の所在情報は、例えば、ＵＲＬ（Ｕｎｉｖｅｒｓａｌ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）、ＩＰアドレス、ＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレス、ファイルパス等の文字列情報を含んでよい。また、ｔｌｖＶａｌｕｅフィールド４３へは、上記の所在情報の他、マルチＡＰネットワーク５に参加する他のＡＰにコントローラ設定情報をバックアップした記憶装置にアクセスさせるための識別情報が設定されてよい。
なお、コントローラ設定のバックアップ先の所在情報を含む構成であれば、ＴＶＬフォーマット４０の各フィールド値は上述した値に限定されず、任意の値が使用されてよい。
このように、本実施形態では、コントローラ設定のバックアップ先の所在情報に関する情報を含むようＩＥＥＥ  １９０５．１規格に規定される各種制御メッセージを拡張して、コントローラ設定情報のバックアップ先の所在情報を通知するため使用する。
ただし、コントローラ設定情報のバックアップ先の所在情報を通知する手法も、上述したＩＥＥＥ１９０５．１規格で規定される各種制御メッセージを使った通知手法に限定されず、任意の通知手法が使用されてよい。
【００４１】
＜エージェントとして動作する通信装置の処理＞
図５および図６は、通信装置がマルチＡＰネットワーク５のエージェントとして動作する場合に実行される処理を示すフローチャートである。図５および図６の各ステップは、図３と同様に、記憶部１１に記憶されたプログラムを制御部１２が読み出し、実行することで実現されてもよく、少なくともその一部がハードウェアにより実現されてもよい。
以下、図１の通信装置２がエージェントとして動作するものとして便宜上説明するが、通信装置２に替えて通信装置１がエージェントとして図５および図６に示す処理を実行してもよい。
【００４２】
図５は、通信装置２がコントローラ設定情報のバックアップ先の所在情報の通知を受信する場合に実行される処理の一例を示すフローチャートである。
Ｓ５１で、通信装置２のマルチＡＰエージェント部１２２は、コントローラからコントローラ設定情報のバックアップ先に関する通知があるか否かを判定する。具体的には、コントローラからコントローラ設定情報のバックアップ先に関する通知があるか否かは、例えば、通信部１６を介してコントローラから通知メッセージを受信したか否かを判定することにより判定することが可能である。なお、通知手法の詳細は、図３のステップＳ６と同様であるため、説明を省略する。
【００４３】
コントローラからコントローラ設定情報のバックアップ先の通知があると判定された場合（Ｓ５１：Ｙ）、Ｓ５２で、通信装置２のマルチＡＰエージェント部１２２は、通知されたコントローラ設定情報のバックアップ先の所在情報を記憶部１１へ記憶する。一方、コントローラからコントローラ設定情報のバックアック先の通知がないと判定された場合（Ｓ５１：Ｎ）、コントローラからのバックアップ先に関する通知を受信することなく処理を終了する。
【００４４】
図６は、エージェントとして動作する通信装置２がコントローラの機能を起動する際に実行される処理の一例を示すフローチャートである。
Ｓ６１で、通信装置２のマルチＡＰエージェント部１２２は、コントローラの機能を起動するか否かを判定する。具体的には、コントローラの機能を起動するか否かの判定は、入力部１４を介してユーザからコントローラの役割を有効化する指示を受け付けたか否かを判定することで可能である。ただしユーザからの指示入力に限らず、例えば、通信部１６を介してサービスプロバイダのオペレータからコントローラの役割を有効化する指示を受け付けたか否かを判定してもよい。あるいは、マルチＡＰネットワーク５のコントローラ自動選択アルゴリズムにより、コントローラとして選択されたか否かを判定してもよい。
【００４５】
ステップＳ６１で、コントローラの機能を起動すると判定された場合（Ｓ６１：Ｙ）、Ｓ６２で、通信装置２のマルチＡＰコントローラ部１２１は、現在のコントローラからコントローラ設定情報を取得できるか否かをさらに判定する。現在のコントローラからコントローラ設定情報を取得できるか否かの判定は、マルチＡＰネットワーク５において既にコントローラとして動作中のＡＰを探索し、既に動作中のコントローラが存在するか否かを判定すればよい。
なお、コントローラの探索は、例えばＷｉ−Ｆｉ  ＥａｓｙＭｅｓｈ規格の仕様に基づき、ＩＥＥＥ１９０５．１規格に規定されるＡＰ−Ａｕｔｏｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｓｅａｒｃｈメッセージをマルチキャスト送信して実行することができる。送信したＡＰ−Ａｕｔｏｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｓｅａｒｃｈメッセージに対する応答であるＡＰ−Ａｕｔｏｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｒｅｓｐｏｎｓｅメッセージを受信した場合には、コントローラが存在すると判定できる。ここで、応答を受信しない場合には、所定期間または所定回数だけ再度探索処理を実行してもよい。また、現在のコントローラの探索手法は上記の手法に限らず、任意のプロトコルや任意のメッセージを利用してもよい。
【００４６】
Ｓ６１に戻り、一方、コントローラの機能を起動しないと判定された場合（Ｓ６１：Ｎ）、Ｓ６３で、通信装置２のマルチＡＰエージェント部１２２は、エージェントとしての機能を継続して、図６の処理を終了する。
Ｓ６２で、現在のコントローラからコントローラ設定情報を取得できると判定した場合（Ｓ６２：Ｙ）、Ｓ６４で、通信装置２のマルチＡＰコントローラ部１２１は、現在のコントローラからコントローラ設定情報を取得する。現在のコントローラからコントローラ設定情報を取得する手法は、ＩＥＥＥ１９０５．１規格に規定される所定のメッセージを用いることが可能であるが、これに限定されず任意のプロトコルや任意のフォーマットを用いてもよい。
なお、Ｓ６４で取得されるコントローラ設定情報は、ＳＳＩＤやチャネル設定、認証に必要となるパスワードや証明書、エージェントの管理情報やネットワークのトポロジ情報、ディスカバリー情報などの情報のうちの少なくとも１つを含む。現在のコントローラは、コントローラ設定情報の取得要求に応じて、現在のコントローラに替えて新たにマルチＡＰネットワーク５におけるコントローラとして動作を開始するＡＰへ、コントローラ設定情報を転送する。
【００４７】
一方、Ｓ６２で、現在のコントローラからコントローラ設定情報を取得できないと判定された場合（Ｓ６２：Ｎ）、Ｓ６５に進む。Ｓ６５で、通信装置２のマルチＡＰコントローラ部１２１は、図５のＳ５２で記憶したコントローラ設定情報のバックアップ先の所在情報を参照して、バックアップ先からコントローラ設定情報を取得する。
なお、現在のコントローラとバックアップ先のいずれからもコントローラ設定情報を取得できない場合、コントローラ設定情報を取得できないことを示すエラー画面を出力部１５へ表示してよい。あるいは、コントローラ設定情報の入力を促す画面を出力部１５へ表示し、入力部１４を介してユーザにコントローラ設定情報を入力させてもよい。
【００４８】
Ｓ６６で、通信装置２の制御部１２は、Ｓ６４またはＳ６５で取得したコントローラ設定情報に基づいて、コントローラの機能を起動し、処理を終了する。
Ｓ６６以降、通信装置２のマルチＡＰコントローラ部１２１は、今までのコントローラに替わる新たなコントローラとして、マルチＡＰネットワーク５全体を制御する。
【００４９】
なお、マルチＡＰコントローラ部１２１の機能を起動するタイミングで、通信装置２は、コントローラ設定情報を更新してもよいし、またコントローラ設定情報のバックアップ先を変更してもよい。
また、上記のとおり、コントローラとして起動された通信装置が同時にエージェントとして機能してもよい。この場合、通信装置２の制御部１２は、マルチＡＰエージェント部１２２の機能を無効化することなく継続したまま、マルチＡＰコントローラ部１２１の機能を起動することで、コントローラの機能とエージェントの機能を同時に実行させることが可能である。一方、コントローラである通信装置が同時にエージェントとして機能することができない場合、通信装置２の制御部１２は、マルチＡＰエージェント部１２２の機能を無効化して、コントローラの機能とエージェントの機能を同時に機能させないよう制御する。
図５および図６に示されるフローチャートの処理が実行された結果、通信装置２は、マルチＡＰネットワーク５上の現在のコントローラからコントローラ設定情報を取得できない場合であっても、バックアップ先からコントローラ設定情報を取得できる。これにより、現在のコントローラがその役割を停止した場合であっても、自装置のコントローラの機能を有効化することができる。
【００５０】
＜マルチＡＰネットワークにおける通信システム全体の制御シーケンス＞
図７は、マルチＡＰネットワーク５に参加中のエージェントへ、コントローラが、コントローラ設定情報のバックアップ先の所在情報を通知する場合の通信装置間の制御シーケンスの一例を示す。
なお、図７では、ＡＰ１がコントローラとして機能し、ＡＰ２がエージェントとして機能するよう、予め設定されているものとする。ＡＰがコントローラやエージェントとして起動する場合、Ｗｉ−Ｆｉ  ＥａｓｙＭｅｓｈ規格の仕様に基づき所定の機能を立ち上げる。
具体的には、例えば、ＡＰがエージェントとして起動すると、マルチＡＰネットワーク５へ参加するため、まず、Ｂａｃｋｈａｕｌ  ＳＴＡと呼ばれるマルチＡＰデバイスのＳＴＡ機能を立ち上げ、マルチＡＰネットワーク５への参加処理を開始する。一方、ＡＰがコントローラとして起動すると、Ｆｒｏｎｔｈａｕｌ  ＡＰと呼ばれるマルチＡＰデバイスのＡＰ機能を立ち上げ、他のＳＴＡ装置や、他のＡＰで起動されたＢａｃｋｈａｕｌ  ＳＴＡからの接続を待ち受ける。
【００５１】
Ｓ７０１で、コントローラとして起動したＡＰ１は、自装置にコントローラ設定情報を設定し、または既に設定されたコントローラ設定情報を変更する。
Ｓ７０２で、ＡＰ１は、Ｓ７０１でのコントローラ設定の完了や変更に応じて、コントローラ設定情報をバックアップする。ここで、ＡＰ１が、図１に示すように、ゲートウェイの役割を担っている場合、バックアップ先は、マルチＡＰネットワーク５内の他のエージェントや記憶装置となる。一方、ＡＰ１がゲートウェイの役割を担っていないものとすると、バックアップ先をマルチＡＰネットワーク５外のクラウドとしてもよく、マルチＡＰネットワーク５内の他のエージェントや記憶装置であってもよい。
【００５２】
Ｓ７０３で、ＡＰ１は、ＡＰ２へコントローラ設定情報のバックアップ先の所在情報を通知する。コントローラ設定情報のバックアップ先の所在情報は、図４に示すＴＬＶフォーマット４０を含むようＩＥＥＥ１９０５．１規格に準拠する制御メッセージを拡張した所定のメッセージを送信することでＡＰ２へ通知することができる。
なお、上記では、エージェントが１つのみ存在する例を説明したが、エージェントが複数存在する場合、コントローラ設定情報のバックアップ先の所在情報を複数のエージェントへ通知してもよい。
Ｓ７０４で、ＡＰ１からコントローラ設定情報のバックアップ先の所在情報の通知を受けたＡＰ２は、Ｓ７０３で通知されたコントローラ設定情報のバックアップ先の所在情報を、記憶部１１に記憶する。
【００５３】
Ｓ７０５で、コントローラとして機能するＡＰ１が故障ないし停止した場合、またはマルチＡＰネットワーク５から離脱した場合、Ｓ７０６で、ＡＰ２は、コントローラの機能を起動する。
ＡＰ２がコントローラの機能を起動する契機としては、例えばマルチＡＰネットワーク５全体のパフォーマンス低下を検知したユーザの手動操作により、ＡＰ２のコントローラの機能を起動してもよい。あるいは、コントローラであるＡＰ１がマルチＡＰネットワーク５に存在しなくなったことを検知したＡＰ２が、自動的にコントローラの機能を起動してもよい。ただし、コントローラ機能の起動手法はこれらに限定されず、例えば、マルチＡＰネットワーク５のコントローラ自動選択アルゴリズムによりＡＰ２が新たなコントローラとして選択された場合に、ＡＰ２のコントローラの機能を起動してもよい。
【００５４】
なお、Ｓ７０５におけるコントローラの故障とは、ハードウェア上の故障に限定されず、例えば、ファームウェアの更新に失敗し、コントローラとして機能できなくなった場合等も含まれてよい。また、ＡＰ１が、コントローラの役割とエージェントの役割を同時に担う場合、コントローラの機能が停止してもエージェントの機能を継続することが可能である。
【００５５】
Ｓ７０７で、新たにコントローラとして機能することになったＡＰ２は、まず、現在のコントローラであるＡＰ１に対してコントローラ設定情報を要求する。ここで、ＡＰ１が故障していなければ、ＡＰ１からコントローラ設定情報を取得できる。しかしながら、図７のＳ７０５では、ＡＰ１は故障や停止、あるいはマルチＡＰネットワーク５から離脱しているため、ＡＰ２は、コントローラ設定情報の要求に対する応答を得られない。すなわち、ＡＰ２は、ＡＰ１からコントローラ設定情報を直接取得できない。
このため、Ｓ７０８で、ＡＰ２は、Ｓ７０４で予め記憶したコントローラ設定情報のバックアップ先の所在情報を参照して、コントローラ設定情報のバックアップ先へコントローラ設定情報を要求する。
【００５６】
Ｓ７０９で、ＡＰ２は、コントローラ設定情報のバックアップ先から、ＡＰ２に設定すべきコントローラ設定情報を取得し、Ｓ７１０で、取得されたコントローラ設定情報に基づいて、コントローラとしての各種制御を実行する。
なお、ＡＰ２は、Ｓ７０７でＡＰ１へコントローラ設定情報を要求する前に現在のコントローラであるＡＰ１の故障や停止、マルチＡＰネットワーク５からの離脱を検出した場合、Ｓ７０７をスキップしてＡＰ１へコントローラ設定情報を要求しなくともよい。
【００５７】
以上説明したように、本実施形態によれば、コントローラとして動作する通信装置は、マルチＡＰネットワーク上（無線ネットワーク上）でコントローラとして動作するため自装置に設定されたコントローラ設定情報を他の記憶装置にバックアップする。また、コントローラとして動作する通信装置は、コントローラ設定情報のバックアップ先の所在情報を、マルチＡＰネットワークに参加する他のエージェントへ通知する。
エージェントとして動作する通信装置は、コントローラから通知されるコントローラ設定情報のバックアップ先の所在情報を記憶する。また、エージェントとして動作する通信装置は、自装置がコントローラとして起動する際に、バックアップ先の所在情報を参照し、所在情報で識別されるバックアップ先にアクセスしてコントローラ設定情報を取得する。
これにより、マルチＡＰネットワーク上のコントローラ設定情報を、簡易かつ確実に新たなコントローラへ引き継ぐことができる。ユーザが新たにコントローラの役割を担うＡＰに対して改めてコントローラ設定を実行する必要がないため、コントローラ設定に関するユーザ操作の煩雑さが低減する。
【００５８】
（実施形態２）
以下、図８から図１０を参照して、実施形態２を、実施形態１と異なる点についてのみ詳細に説明する。
実施形態１では、コントローラは、マルチＡＰネットワーク５に参加済みの他のエージェントに対して、コントローラ設定情報のバックアップ先の所在情報を通知した。これに対して本実施形態では、コントローラは、マルチＡＰネットワーク５への参加を試みるエージェントに対して、コントローラ設定情報のバックアップ先の所在情報を通知する。
実施形態２に係る通信装置のハードウエアおよび機能構成は、図２を参照して説明した実施形態１に係る通信装置と同様であるため、その説明を省略する。
【００５９】
図８は、実施形態２に係る通信装置１がマルチＡＰネットワーク５のコントローラとして動作する場合に実行される処理の一例を示すフローチャートである。
Ｓ８１で、通信装置１のマルチＡＰコントローラ部１２１は、マルチＡＰネットワーク５へエージェントが新たに参加したか否かを判定する。エージェントが新たにマルチＡＰネットワーク５参加したか否かの判定は、マルチＡＰネットワーク５へ参加する際にエージェントが送信するコントローラ探索メッセージを受信したか否かで判定することができる。なお、コントローラの探索手法の詳細は、図６のＳ６２で説明した実施形態１と同様であるため説明を省略する。
【００６０】
エージェントがマルチＡＰネットワークへ参加していないと判定された場合（Ｓ８１：Ｎ）、通信装置１のマルチＡＰコントローラ部１２１は、Ｓ８１に戻り、エージェントがマルチＡＰネットワーク５へ参加したか否かを判定する処理を繰り返す。なお、Ｓ８１での判定は、所定時間経過後に終了してもよいし、エージェントがマルチＡＰネットワーク５へ参加したことが検出されるまで繰り返してもよい。
一方、エージェントがマルチＡＰネットワークへ参加したと判定された場合（Ｓ８１：Ｙ）、Ｓ８２に進む。
Ｓ８２で、通信装置１のマルチＡＰコントローラ部１２１は、マルチＡＰネットワークへ新たに参加したエージェントに対して、コントローラ設定情報のバックアップ先の所在情報を通知する。
【００６１】
なお、Ｓ８２でバックアップ先の所在情報を通知する手法には、例えば図６のＳ６２で説明したコントローラの探索で使用するＡＰ−Ａｕｔｏｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｓｅａｒｃｈ／Ｒｅｓｐｏｎｓｅメッセージを用いることが可能である。
具体的には、コントローラは、エージェントから受信したＡＰ−Ａｕｔｏｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｓｅａｒｃｈメッセージに対する応答としてＡＰ−Ａｕｔｏｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｒｅｓｐｏｎｓｅメッセージを送信する。その際、図４で示されるコントローラ設定情報のバックアップ先の所在情報を示すＴＬＶフォーマットを含むよう本応答メッセージを拡張した制御メッセージを送信すればよい。または、任意のＭｕｌｔｉ−ＡＰ制御メッセージによりバックアップ先の所在情報を通知してもよい。なお、コントローラ設定情報のバックアップ先の所在情報を通知する手法は、上記の方式やプロトコルに限定されない。
図８に示すフローチャートの処理を実行した結果、通信装置１がコントローラとして動作する場合に、マルチＡＰネットワーク５へ新たに参加したエージェントに対して、コントローラ設定情報のバックアップ先の所在情報を通知することができる。
【００６２】
図９は、実施形態２に係る通信装置２がマルチＡＰネットワーク５のエージェントとして動作する場合に実行す処理の一例を示すフローチャートである。
Ｓ９１で、通信装置２のマルチＡＰエージェント部１２２は、例えば、ユーザーからの入力部１４を介した指示に応じて、マルチＡＰネットワーク５へ参加する。このマルチＡＰネットワーク５に参加する手法には、例えば、Ｗｉ−Ｆｉ  ＥａｓｙＭｅｓｈ仕様に基づいて、Ｗｉ−Ｆｉ  Ｐｒｏｔｅｃｔｅｄ  Ｓｅｔｕｐ（ＷＰＳ）を用いることが可能である。あるいは、Ｄｅｖｉｃｅ  Ｐｒｏｖｉｓｉｏｎｉｎｇ  Ｐｒｏｔｏｃｏｌ（ＤＰＰ）を用いてもよい。ＷＰＳとＤＰＰはＷｉ−Ｆｉ  Ａｌｌｉａｎｃｅが策定した規格であり、ＳＳＩＤや暗号鍵等の無線ＬＡＮ接続に必要な通信パラメータを通信装置に簡易に設定するための規格である。なお、マルチＡＰネットワーク５へ参加する手法は、上記の方式やプロトコルに限定されない。
【００６３】
Ｓ９２で、通信装置２のマルチＡＰエージェント部１２２は、マルチＡＰネットワーク５コントローラを探索する。なお、コントローラの探索手法の詳細は、図６のＳ６２で説明した実施形態１と同様であるため説明を省略する。
Ｓ９３で、通信装置２のマルチＡＰエージェント部１２２は、探索の結果発見されたコントローラから、コントローラ設定情報のバックアップ先の所在情報を取得する。
Ｓ９４で、通信装置２のマルチＡＰエージェント部１２２は、取得されたコントローラ設定情報のバックアップ先の所在情報を、記憶部１１に記憶する。
【００６４】
例えば、Ｓ９２でコントローラを探索した際にコントローラから受信した探索応答メッセージ（ＡＰ−Ａｕｔｏｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｒｅｓｐｏｎｓｅ）から、コントローラ設定のバックアップ先の所在情報を取得して記憶部１１へ記憶すればよい。あるいは、Ｓ９２での探索の結果発見されたコントローラへ、改めてコントローラ設定情報のバックアップ先の所在情報を要求するためのメッセージを送信し、その応答から取得してもよい。
なお、エージェントとして動作する通信装置２が、コントローラからコントローラ設定情報のバックアップ先の所在情報を取得した後、コントローラの機能を起動する際の処理は、図６のＳ６１〜Ｓ６６に示す実施形態１と同様であるため、その説明を省略する。
図９に示すフローチャートの処理が実行された結果、通信装置２がエージェントとして動作する場合に、マルチＡＰネットワーク５へ新たに参加するタイミングでコントローラからコントローラ設定情報のバックアップ先の所在情報を取得することができる。
【００６５】
図１０は、本実施形態において、マルチＡＰネットワーク５に新たに参加するエージェントへ、コントローラが、コントローラ設定情報のバックアップ先の所在情報を通知する場合の通信装置間の制御シーケンスの一例を示す。
なお、図１０では、図７と同様、ＡＰ１がコントローラとして機能し、ＡＰ２がエージェントとして機能するよう、予め設定されているものとする。
図１０において、Ｓ７０１とＳ７０２の処理は、それぞれ図７に示すＳ７０１とＳ７０２と同様であるため、説明を省略する。
【００６６】
Ｓ１０１およびＳ１０２で、例えばユーザがＡＰ１およびＡＰ２のＷＰＳのプッシュボタンをそれぞれ押下する操作により、エージェントとして動作するＡＰ２は、コントローラとして動作するＡＰ１と同期して、マルチＡＰネットワーク５への参加を開始する。
【００６７】
Ｓ１０３〜Ｓ１０５で、ＷＰＳのプッシュボタンの押下を契機としたマルチＡＰネットワークへの参加シーケンスが実行される。
具体的には、Ｓ１０３で、Ｗｉ−Ｆｉ  ＥａｓｙＭｅｓｈ規格の仕様に基づいて、ＷＰＳ  ＡｕｔｈｅｎｔｉｃａｔｉｏｎやＷＰＳ  Ａｓｓｏｃｉａｔｉｏｎ等の無線フレームが、ＡＰ１とＡＰ２の間で送受信される。
Ｓ１０４で、エージェントであるＡＰ２から、コントローラを探索するＡＰ−Ａｕｔｏｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｓｅａｒｃｈメッセージが、コントローラであるＡＰ１に送信される。
Ｓ１０５で、ＡＰ−Ａｕｔｏｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｓｅａｒｃｈメッセージへの応答として、コントローラであるＡＰ１からエージェントであるＡＰ２へ、ＡＰ−Ａｕｔｏｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｒｅｓｐｏｎｓｅメッセージが送信される。ここで、ＡＰ１からＡＰ２へ送信されるＡＰ−Ａｕｔｏｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｒｅｓｐｏｎｓｅメッセージは、図４のバックアップ先の所在情報を記述するＴＬＶフォーマットが含まれるよう拡張された制御メッセージである。
【００６８】
Ｓ７０４で、ＡＰ２は、ＡＰ１から受信されたＡＰ−Ａｕｔｏｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｒｅｓｐｏｎｓｅメッセージを参照し、コントローラ設定情報のバックアップ先の所在情報を取得して、記憶部１１に記憶する。
バックアップ先所在情報を記憶した後のＳ７０５〜Ｓ７１０のシーケンスの詳細は、図７のＳ７０５〜Ｓ７１０を参照して説明した実施形態１と同様であるため、説明を省略する。
【００６９】
以上説明したように、本実施形態では、エージェントとして動作する通信装置が、マルチＡＰネットワークへ参加する際に、コントローラから受信した探索応答メッセージに含まれるコントローラ設定情報のバックアップ先の所在情報を取得する。これにより、マルチＡＰネットワークへ新たにエージェントが参加してネットワークトポロジが変化した場合でも、マルチＡＰネットワーク上のコントローラ設定情報を、簡易かつ確実に引き継ぐことができる。
【００７０】
（変形例）
上記の実施形態においては、コントローラ設定情報のバックアップ先としてクラウドや他のエージェントを例示したが、コントローラ設定情報のバックアップ先はこれらに限定されない。たとえば、現在のコントローラに替わり、新たにコントローラとなるべき通信装置からアクセス可能である限り、コントローラとして動作する通信装置は、バックアップ先として、クラウドや他のエージェント以外の記憶装置を備える装置を用いてもよい。また、バックアップ先をユーザが設定できるように構成してもよい。
【００７１】
（他の実施形態）
本発明は例えば、システム、装置、方法、プログラム若しくは記録媒体（記憶媒体）等としての実施態様をとることが可能である。具体的には、複数の機器（例えば、ホストコンピュータ、インタフェース機器、撮像装置、Ｗｅｂアプリケーション等）から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
また、本発明は、上述の実施形態の一部または１以上の機能を実現するプログラムによっても実現可能である。すなわち、そのプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータ（またはＣＰＵやＭＰＵ等）における１つ以上のプロセッサがプログラムを読出し実行する処理により実現可能である。また、そのプログラムをコンピュータ可読な記録媒体に記録して提供してもよい。
また、コンピュータが読みだしたプログラムを実行することにより、実施形態の機能が実現されるものに限定されない。例えば、プログラムの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって上記した実施形態の機能が実現されてもよい。
【符号の説明】
【００７２】
１…アクセスポイント（ＡＰ）、２…ＡＰ、３…ステーション（ＳＴＡ）、４…ＳＴＡ、５…マルチＡＰネットワーク、６…ＷＡＮ、１１…記憶部、１２…制御部、１３…機能部、１４…入力部、１５…出力部、１６…通信部、１７…アンテナ、１８…システムバス、１２１…マルチＡＰコントローラ部、１２２…マルチＡＰエージェント部
【図１】
2020202512.tif 000003
【図２】
2020202512.tif 000004
【図３】
2020202512.tif 000005
【図４】
2020202512.tif 000006
【図５】
2020202512.tif 000007
【図６】
2020202512.tif 000008
【図７】
2020202512.tif 000009
【図８】
2020202512.tif 000010
【図９】
2020202512.tif 000011
【図１０】
2020202512.tif 000012