(57)【特許請求の範囲】
【請求項１】
親機および前記親機と無線通信を行う複数の子機を備え、前記複数の子機の少なくとも１つに情報処理装置が接続された無線通信システムにおける、前記複数の子機それぞれとして用いられる無線通信装置であって、
前記親機との通信を監視して前記親機の故障を検知する検知手段と、
前記検知手段で前記親機の故障を検知すると、自装置と無線通信可能な他の子機を確認して確認結果を報知すると共に、前記他の子機それぞれが報知した当該他の子機についての確認結果を受信する確認手段と、
前記確認手段で得た前記確認結果から、前記情報処理装置が接続された子機と無線通信可能であり、かつ、前記情報処理装置が接続された子機と無線通信可能な他の子機と比較して通信可能相手数が最も多いと判断される場合、自装置が新たな親機となることを決定して報知する決定手段と、
を有する無線通信装置。
【請求項２】
前記決定手段は、自装置が新たな親機とならない場合であって、新たな親機となった無線通信装置と無線通信可能でないことを検知した場合、前記新たな親機によって管理される無線通信システムとは別個の無線通信システムを形成することを決定することを特徴とする請求項１記載の無線通信装置。
【請求項３】
前記複数の子機それぞれは、前記親機が有する前記無線通信システムを管理するためのネットワーク情報の少なくとも一部の複製を有しており、
前記決定手段で新たな親機となることを決定すると、前記他の子機から前記ネットワーク情報の複製を取得し、取得した情報に基づいて新たな無線通信システムに対応するネットワーク情報を生成する管理手段を更に有する、
ことを特徴とする請求項１記載の無線通信装置。
【請求項４】
親機および前記親機と無線通信を行う複数の子機を備え、前記複数の子機の少なくとも１つに情報処理装置が接続された無線通信システムの無線通信方法であって、
前記複数の子機それぞれが、前記親機との通信を監視して前記親機の故障を検知し、
前記複数の子機それぞれが、前記親機の故障を検知すると、自装置と無線通信可能な他の子機を確認して確認結果を報知すると共に、前記他の子機それぞれが報知した当該他の子機についての確認結果を受信し、
前記複数の子機それぞれが、得られた前記確認結果から、前記情報処理装置が接続された子機と無線通信可能であり、かつ、前記情報処理装置が接続された子機と無線通信可能な他の子機と比較して通信可能相手数が最も多いと判断される場合、自装置が新たな親機となることを決定して報知する、
無線通信方法。
【請求項５】
親機および前記親機と無線通信を行う複数の子機を備え、前記複数の子機の少なくとも１つに情報処理装置が接続された無線通信システムにおける、前記複数の子機それぞれとして用いられるコンピュータの機能を備えた無線通信装置を制御するための無線通信制御プログラムであって、
前記コンピュータの機能を備えた無線通信装置を、
前記親機との通信を監視して前記親機の故障を検知する検知手段、
前記検知手段で前記親機の故障を検知すると、自装置と無線通信可能な他の子機を確認して確認結果を報知すると共に、前記他の子機それぞれが報知した当該他の子機についての確認結果を受信する確認手段、
前記確認手段で得た前記確認結果から、前記情報処理装置が接続された子機と無線通信可能であり、かつ、前記情報処理装置が接続された子機と無線通信可能な他の子機と比較して通信可能相手数が最も多いと判断される場合、自装置が新たな親機となることを決定して報知する決定手段、
として機能させる無線通信制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は無線通信装置、無線通信方法および無線通信制御プログラムに関し、特に親機と複数の子機とが無線通信を行う無線通信システムで用いられる無線通信装置、無線通信方法および無線通信制御プログラムに関する。
【背景技術】
【０００２】
現在、情報家電やコンピュータなどの機器に短距離無線通信装置を搭載し、複数の機器が連携して情報処理を行えるようにした無線ＰＡＮ（Personal Area Network）が注目されている。無線ＰＡＮを用いることで、例えば、監視カメラや温度センサなどのセンサ装置から得られるセンシングデータをコンピュータに転送し、コンピュータがセンシングデータを解析して各種装置を制御するセンサネットワークを容易に実現することができる。なお、無線ＰＡＮで用いることができる短距離無線通信方式として、例えば、ZigBeeがある。ZigBeeは、通信速度が低く通信可能距離も短い一方、無線通信に必要な消費電力が小さく無線通信装置を小型化できるという利点がある（例えば、非特許文献１参照）。
【０００３】
ここで、無線ＰＡＮにおける複数の無線通信装置の接続形態（ネットワークトポロジ）としては、様々なものが考えられる。その１つに、無線ＰＡＮを管理する親機（コーディネータ）と複数の子機（エンドデバイス）との間で無線リンクを確立し、子機は親機経由で無線通信を行うスター型トポロジがある。スター型トポロジは、無線ＰＡＮシステム全体の消費電力をより低減できるという利点がある。しかし、その一方で、親機が故障すると子機間の通信が行えなくなるという問題もある。そのため、スター型トポロジでは、親機が故障したときに無線通信機能を回復するための対策が必要となる。
【０００４】
複数の通信装置の一部が故障したときに自動的に通信機能を回復する技術としては、以下のものが知られている。すなわち、親機の動作状態を監視し、異常が検出されるとシステムの制御機能を親機から他の装置に自動的に移譲する技術がある（例えば、特許文献１参照）。また、複数の伝送制御装置をループ状に結合しておき、動作異常が検知されると異常情報をループ状のネットワークで回送し、各伝送制御装置は異常情報に基づいてデータ伝送経路を自立的に変更する技術がある（例えば、特許文献２参照）。
【特許文献１】特開平０９−３０７５７２号公報
【特許文献２】特開昭６０−１４０４５７号公報
【非特許文献１】The Institute of Electrical and Electronics Engineers (IEEE), "Wireless Medium Access Control (MAC) and Physical Layer (PHY) Specifications for Low-Rate Wireless Personal Area Networks (WPANs)", IEEE Std 802.15.4-2006.
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、スター型トポロジのネットワークでは、親機が故障したときに何れかの子機が新たな親機として機能することで、自動的に通信機能を回復させる方法も考えられる。しかし、無線ＰＡＮにこの方法を適用する場合、何れの子機を新たな親機とするかの決定方法が問題となる。これは、無線ＰＡＮでは、各子機は短距離無線通信を行うものであるため、他の全ての子機と無線通信可能とは限らないからである。一方、回復後の無線ＰＡＮシステムは、故障前の無線ＰＡＮシステムにできる限り近い無線通信機能を提供できることが望ましい。
【０００６】
本件はこのような点に鑑みてなされたものであり、親機と複数の子機とが無線通信を行う無線通信システムにおいて、親機が故障したときに適切な子機が新たな親機として自動的に選択されるようにする無線通信装置、無線通信方法および無線通信制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、親機および親機と無線通信を行う複数の子機を備え、複数の子機の少なくとも１つに情報処理装置が接続された無線通信システムにおける、複数の子機それぞれとして用いられる無線通信装置が提供される。この無線通信装置は、検知手段、確認手段および決定手段を有する。検知手段は、親機との通信を監視して親機の故障を検知する。確認手段は、検知手段で親機の故障を検知すると、自装置と無線通信可能な他の子機を確認して確認結果を報知すると共に、他の子機それぞれが報知したその子機についての確認結果を受信する。決定手段は、確認手段で得た確認結果から、情報処理装置が接続された子機と無線通信可能であり、かつ、情報処理装置が接続された子機と無線通信可能な他の子機と比較して通信可能相手数が最も多いと判断される場合、自装置が新たな親機となることを決定して報知する。
【０００８】
このような無線通信装置によれば、検知手段により、親機との通信が監視されて親機の故障が検知される。親機の故障が検知されると、確認手段により、自装置と無線通信可能な他の子機が確認されると共に、他の子機それぞれについての確認結果が受信される。そして、決定手段により、情報処理装置が接続された子機と無線通信可能であり、かつ、情報処理装置が接続された子機と無線通信可能な他の子機と比較して通信可能相手数が最も多いと判断される場合、自装置が新たな親機となることが決定される。
【０００９】
また、上記課題を解決するために、親機および親機と無線通信を行う複数の子機を備え、複数の子機の少なくとも１つに情報処理装置が接続された無線通信システムの無線通信方法が提供される。この無線通信方法では、複数の子機それぞれが、親機との通信を監視して親機の故障を検知する。次に、複数の子機それぞれが、親機の故障を検知すると、自装置と無線通信可能な他の子機を確認して確認結果を報知すると共に、他の子機それぞれが報知したその子機についての確認結果を受信する。そして、複数の子機それぞれが、得られた確認結果から、情報処理装置が接続された子機と無線通信可能であり、かつ、情報処理装置が接続された子機と無線通信可能な他の子機と比較して通信可能相手数が最も多いと判断される場合、自装置が新たな親機となることを決定して報知する。
【００１０】
このような無線通信方法によれば、各子機により、親機との通信が監視されて親機の故障が検知される。次に、親機の故障が検知されると、自装置と無線通信可能な他の子機が確認されると共に、他の子機それぞれについての確認結果が受信される。そして、情報処理装置が接続された子機と無線通信可能であり、かつ、情報処理装置が接続された子機と無線通信可能な他の子機と比較して通信可能相手数が最も多いと判断される場合、自装置が新たな親機となることが決定される。
【００１１】
また、上記課題を解決するために、親機および親機と無線通信を行う複数の子機を備え、複数の子機の少なくとも１つに情報処理装置が接続された無線通信システムにおける、複数の子機それぞれとして用いられるコンピュータの機能を備えた無線通信装置を制御するための無線通信制御プログラムが提供される。この無線通信制御プログラムを実行するコンピュータの機能を備えた無線通信装置は、検知手段、確認手段および決定手段を有する。検知手段は、親機との通信を監視して親機の故障を検知する。確認手段は、検知手段で親機の故障を検知すると、自装置と無線通信可能な他の子機を確認して確認結果を報知すると共に、他の子機それぞれが報知したその子機についての確認結果を受信する。決定手段は、確認手段で得た確認結果から、情報処理装置が接続された子機と無線通信可能であり、かつ、情報処理装置が接続された子機と無線通信可能な他の子機と比較して通信可能相手数が最も多いと判断される場合、自装置が新たな親機となることを決定して報知する。
【００１２】
このような無線通信制御プログラムを実行するコンピュータによれば、検知手段により、親機との通信が監視されて親機の故障が検知される。親機の故障が検知されると、確認手段により、自装置と無線通信可能な他の子機が確認されると共に、他の子機それぞれについての確認結果が受信される。そして、決定手段により、情報処理装置が接続された子機と無線通信可能であり、かつ、情報処理装置が接続された子機と無線通信可能な他の子機と比較して通信可能相手数が最も多いと判断される場合、自装置が新たな親機となることが決定される。
【発明の効果】
【００１３】
上記無線通信装置、無線通信方法および無線通信制御プログラムによれば、親機と複数の子機とが無線通信を行う無線通信システムにおいて、親機が故障したときに適切な子機が新たな親機として自動的に選択される。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施の形態を図面を参照して詳細に説明する。まず、本発明の概要について説明し、その後、実施の形態の具体的な内容を説明する。
図１は、本実施の形態の概要を示す図である。図１に示すシステムは、親機と複数の子機とが無線通信を行う無線通信システムである。この無線通信システムは、情報処理装置１０、親機２０および子機３０，３０ａ，３０ｂ，３０ｃを有する。情報処理装置１０は子機３０ｃに接続されている。
【００１５】
情報処理装置１０は、親機２０および子機３０，３０ａ，３０ｂ，３０ｃとデータ送受信を行い所定の情報処理を行う装置であり、例えば、ＰＣ（Personal Computer）である。情報処理装置１０は、例えば、親機２０および子機３０，３０ａ，３０ｂ，３０ｃ経由でデータを収集する。
【００１６】
親機２０は、ネットワークを管理する無線通信装置である。親機２０は、子機３０，３０ａ，３０ｂ，３０ｃと無線通信を行い、子機３０，３０ａ，３０ｂ，３０ｃが送受信するデータを中継する。例えば、親機２０は、子機３０，３０ａ，３０ｂから情報処理装置１０宛てのデータを受信すると、受信データを子機３０ｃに転送する。
【００１７】
子機３０，３０ａ，３０ｂ，３０ｃは、親機２０と無線でデータ送受信を行う無線通信装置である。子機３０は、検知手段３１、確認手段３２および決定手段３３を有する。なお、子機３０ａ，３０ｂ，３０ｃもこれらと同様の手段を有する。
【００１８】
検知手段３１は、親機２０と子機３０との間の無線通信を継続的に監視し、親機２０の故障の有無を判断する。例えば、検知手段３１は、子機３０から親機２０への送信が所定回数以上連続して失敗したときに、親機２０が故障していると判断する。そして、検知手段３１は、親機２０の故障を検知すると、確認手段３２に故障発生を通知する。
【００１９】
確認手段３２は、検知手段３１から故障発生の通知を受けると、子機３０と無線通信可能な範囲内に存在する他の子機を確認する。これは、例えば、他の子機が発信する所定の無線信号を検出できたか否かによって判断することができる。そして、確認手段３２は、通信可能相手の確認結果を無線で報知する。報知された確認結果は、子機３０と無線通信可能範囲内に存在する他の子機によって受信される。また、確認手段３２は、同様にして他の子機が報知した確認結果を無線で受信する。その後、確認手段３２は、得られた子機３０および他の子機についての確認結果を、決定手段３３に通知する。
【００２０】
決定手段３３は、確認手段３２から取得した通信可能相手の確認結果に基づいて、故障した親機２０に代わって子機３０が新たな親機となるか否かを決定する。具体的には、決定手段３３は、情報処理装置１０と接続された子機３０ｃと無線通信可能であり、かつ、子機３０ｃと無線通信可能な他の子機と比較して通信可能相手数が最も多い場合に、子機３０が新たな親機となると決定する。そして、決定手段３３は、新たな親機となることを決定したときは、その旨を無線で報知する。報知を受けた子機は、子機３０を新たな親機と認めて無線通信を再開する。
【００２１】
言い換えれば、子機３０が子機３０ｃと無線通信可能でない場合には、子機３０は新たな親機とはならない。これは、子機３０の通信可能相手の確認結果から判断することができる。また、子機３０が子機３０ｃと無線通信可能な場合であっても、子機３０ｃと無線通信可能であり子機３０よりも通信可能相手数が多いものが存在する場合には、子機３０は新たな親機とはならない。これは、他の子機から受信した確認結果から判断することができる。一方、上記２つの条件を具備する場合には、子機３０が新たな親機となる。子機３０ａ，３０ｂ，３０ｃでも、上記と同様の判断処理が行われる。
【００２２】
このような無線通信システムによれば、検知手段３１により、親機２０との通信が監視されて親機２０の故障が検知される。親機２０の故障が検知されると、確認手段３２により、子機３０と無線通信可能な他の子機が確認されると共に、他の子機それぞれについての確認結果が受信される。そして、決定手段３３により、情報処理装置１０が接続された子機３０ｃと無線通信可能であり、かつ、子機３０ｃと無線通信可能な他の子機と比較して通信可能相手数が最も多いと判断される場合、子機３０が新たな親機となることが決定される。
【００２３】
これにより、親機２０が故障したときに適切な子機が新たな親機として自動的に選択されることになる。すなわち、新たな親機として、少なくとも情報処理装置１０が接続された子機３０ｃと無線通信可能なものが選択される。このとき、子機３０ｃと無線通信可能なもの（親機候補）が複数存在する場合、通信可能相手数が最も多いものが選択される。従って、故障から回復した後の無線通信システムは、できる限り多くの子機が情報処理装置１０と通信可能な接続形態となり、親機２０の故障による影響を最小限に抑えることができる。なお、上記判断処理は子機３０，３０ａ，３０ｂ，３０ｃそれぞれが自立的に行うことができる。
【００２４】
以下、本実施の形態の具体的内容を図面を参照して詳細に説明する。
図２は、本実施の形態のシステム構成を示す図である。本実施の形態に係る無線通信システムは、センサ装置が搭載された無線通信装置から情報処理装置にセンシングデータを継続的に送信するシステムである。この無線通信システムは、無線通信装置１００，１００ａ，１００ｂ，１００ｃ，１００ｄ，１００ｅ，１００ｆ，１００ｇおよび情報処理装置２００を有する。情報処理装置２００は、無線通信装置１００ｂに接続されている。
【００２５】
無線通信装置１００，１００ａ，１００ｂ，１００ｃ，１００ｄ，１００ｅ，１００ｆ，１００ｇは、ＩＥＥＥ８０２．１５．４で規定された短距離無線通信方式に従って、互いに無線通信可能な通信装置である。また、無線通信装置１００，１００ａ，１００ｂ，１００ｃ，１００ｄ，１００ｅ，１００ｆ，１００ｇは、監視カメラや温度センサなどの所定のセンサ装置を搭載している。
【００２６】
ここで、無線通信装置１００，１００ａ，１００ｂ，１００ｃ，１００ｄ，１００ｅ，１００ｆ，１００ｇは、１つの無線ＰＡＮを形成している。無線通信装置１００は、この無線ＰＡＮを管理するコーディネータとして機能しており、無線ＰＡＮの管理データを保持している。無線通信装置１００ａ，１００ｂ，１００ｃ，１００ｄ，１００ｅ，１００ｆ，１００ｇは、コーディネータと無線通信を行うエンドデバイスとして機能している。
【００２７】
無線通信装置１００ａ，１００ｃ，１００ｄ，１００ｅ，１００ｆ，１００ｇは、センサ装置から得られたセンシングデータを、継続的に無線通信装置１００に無線送信する。無線通信装置１００は、無線通信装置１００ａ，１００ｃ，１００ｄ，１００ｅ，１００ｆ，１００ｇから受信したセンシングデータおよび無線通信装置１００に搭載されたセンサ装置から得られたセンシングデータを、情報処理装置２００が接続された無線通信装置１００ｂに無線送信する。無線通信装置１００ｂは、無線通信装置１００から受信したセンシングデータおよび無線通信装置１００ｂに搭載されたセンサ装置から得られたセンシングデータを、情報処理装置２００に出力する。
【００２８】
情報処理装置２００は、無線通信装置１００，１００ａ，１００ｂ，１００ｃ，１００ｄ，１００ｅ，１００ｆ，１００ｇに搭載されたセンサ装置のセンシングデータを収集して解析する装置であり、例えば、ＰＣである。情報処理装置２００は、無線通信装置１００ｂ経由でこれらセンシングデータを継続的に取得する。
【００２９】
図３は、無線通信装置のハードウェア構成を示す図である。無線通信装置１００は、ＣＰＵ（Central Processing Unit）１０１、ＲＡＭ（Random Access Memory）１０２、ＲＯＭ（Read Only Memory）１０３、センサ部１０４、無線通信部１０５、入出力インタフェース１０６およびバス１０７を有する。ＣＰＵ１０１、ＲＡＭ１０２、ＲＯＭ１０３、センサ部１０４、無線通信部１０５および入出力インタフェース１０６が、バス１０７に接続されている。
【００３０】
ＣＰＵ１０１は、無線通信装置１００全体を制御する。すなわち、ＣＰＵ１０１は、バス１０７を介してＲＡＭ１０２、ＲＯＭ１０３、センサ部１０４、無線通信部１０５および入出力インタフェース１０６を制御する。
【００３１】
ＲＡＭ１０２は、ＣＰＵ１０１がアクセスする読み書き可能なメモリである。ＲＡＭ１０２には、ＣＰＵ１０１に実行させるＯＳ（Operating System）プログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、ＣＰＵ１０１による処理に必要な各種データの少なくとも一部が一時的に格納される。
【００３２】
ＲＯＭ１０３は、ＣＰＵ１０１に実行させるプログラムおよび処理に必要な各種データを格納しておく不揮発性メモリである。ＲＯＭ１０３としては、例えば、フラッシュメモリを用いることもできる。
【００３３】
センサ部１０４は、無線通信装置１００の外部環境を監視するセンサ装置であり、例えば、所定の場所の映像を継続的に取得する監視カメラや、所定の物体の温度を継続的に測定する温度センサなどである。センサ部１０４は、得られたセンシングデータをＣＰＵ１０１に出力する。
【００３４】
無線通信部１０５は、ＩＥＥＥ８０２．１５．４の規定に従って、他の無線通信装置と無線通信を行う。無線通信部１０５は、他の無線通信装置から受信した無線信号を復調・復号し、得られたデータをＣＰＵ１０１に出力する。また、無線通信部１０５は、ＣＰＵ１０１から取得した送信データを変調・符号化し、得られた送信信号を無線出力する。
【００３５】
入出力インタフェース１０６は、情報処理装置２００を有線で接続可能なインタフェースである。情報処理装置２００が接続されているとき、情報処理装置から取得したデータをＣＰＵ１０１に出力すると共に、ＣＰＵ１０１から取得したデータを情報処理装置２００に出力する。
【００３６】
図４は、無線通信装置の機能を示すブロック図である。無線通信装置１００は、受信部１１０、送信部１２０、ＰＡＮデータ記憶部１３０および制御部１４０を有する。これらの機能は、ＲＯＭ１０３に格納された所定の制御プログラムをＣＰＵ１０１に実行させることで、図３に示したハードウェアによって実現される。なお、接続管理部１４１は図１の検知手段３１に対応し、コーディネータ決定部１４２は図１の確認手段３２および決定手段３３に対応する。
【００３７】
受信部１１０は、他の無線通信装置が送信したセンシングデータを受信する。そして、受信部１１０は、無線通信装置１００がコーディネータとして機能している場合、センシングデータを情報処理装置２００宛てに転送するために送信部１２０に出力する。また、無線通信装置１００に情報処理装置２００が接続されている場合、センシングデータを情報処理装置２００に出力する。また、受信部１１０は、他の無線通信装置が送信した制御メッセージを受信する。そして、受信部１１０は、制御メッセージを制御部１４０に出力する。
【００３８】
送信部１２０は、無線通信装置１００がコーディネータとして機能している場合、受信部１１０から取得したセンシングデータを情報処理装置２００が接続されている無線通信装置に送信する。また、無線通信装置１００がエンドデバイスとして機能している場合、センサ部１０４で得られたセンシングデータをコーディネータに送信する。また、送信部１２０は、制御部１４０からの指示に応じて制御メッセージを送信する。
【００３９】
ＰＡＮデータ記憶部１３０には、無線ＰＡＮを管理するためのＰＡＮデータが格納されている。ＰＡＮデータでは、例えば、ＰＡＮの識別子（ＩＤ：IDentifier）、使用する通信チャネル、ＰＡＮに参加しているエンドデバイスなどが定義される。ここで、無線通信装置１００がコーディネータとして機能している場合、ＰＡＮデータ記憶部１３０には、ＰＡＮデータの原本が格納される。一方、無線通信装置１００がエンドデバイスとして機能している場合、ＰＡＮデータ記憶部１３０には、コーディネータが有するＰＡＮデータの複製が格納される。
【００４０】
制御部１４０は、ＰＡＮデータ記憶部１３０に格納されたＰＡＮデータを参照して、受信部１１０の受信処理および送信部１２０の送信処理を制御する。制御部１４０は、接続管理部１４１、コーディネータ決定部１４２およびＰＡＮデータ管理部１４３を有する。
【００４１】
接続管理部１４１は、無線通信装置１００と他の無線通信装置との間の無線リンクを管理し、必要に応じて受信部１１０および送信部１２０に無線リンクの確立および切断を指示する。すなわち、接続管理部１４１は、無線通信装置１００がコーディネータとして機能している場合、無線通信装置１００とエンドデバイスそれぞれとの間の無線リンクを管理する。また、無線通信装置１００がエンドデバイスとして機能している場合、無線通信装置１００とコーディネータとの間の無線リンクを管理する。
【００４２】
更に、接続管理部１４１は、無線通信装置１００がエンドデバイスとして機能している場合、無線通信装置１００とコーディネータとの間の通信状況を継続的に監視し、コーディネータが故障していないか確認する。もし、所定回数（例えば３回）連続してコーディネータへの送信処理が失敗した場合は、コーディネータが故障したものと判断する。
【００４３】
コーディネータ決定部１４２は、無線通信装置１００がエンドデバイスとして機能している場合であって、接続管理部１４１でコーディネータが故障したと判断された場合に、無線ＰＡＮを再構成するために無線通信装置１００が新たなコーディネータになるべきか否かを決定する。コーディネータ決定処理の詳細は後述する。もし、無線通信装置１００が新たなコーディネータになるべきと決定すると、その旨を制御メッセージとして他の無線通信装置に報知するよう送信部１２０に指示する。
【００４４】
ＰＡＮデータ管理部１４３は、ＰＡＮデータ記憶部１３０に格納されたＰＡＮデータを管理する。ＰＡＮデータ管理部１４３は、無線通信装置１００がエンドデバイスとして機能している場合、コーディネータが送信したＰＡＮデータの複製を受信部１１０から取得すると、それをＰＡＮデータ記憶部１３０に格納する。また、ＰＡＮデータ管理部１４３は、無線通信装置１００がコーディネータとして機能している場合、ＰＡＮデータ記憶部１３０に格納されたＰＡＮデータを適宜更新すると共に、エンドデバイスにＰＡＮデータの複製を送信するよう送信部１２０に指示する。
【００４５】
なお、図４では無線通信装置１００のモジュール構成を示したが、無線通信装置１００ａ，１００ｂ，１００ｃ，１００ｄ，１００ｅ，１００ｆ，１００ｇも無線通信装置１００と同様のモジュール構成によって実現できる。
【００４６】
図５は、ＰＡＮデータのデータ構造を示す図である。ＰＡＮデータ１３１は、ＰＡＮデータ記憶部１３０に格納されている。ＰＡＮデータ１３１には、ＰＡＮ−ＩＤ、通信チャネルおよびエンドデバイスを示す項目が設けられている。もし、無線通信装置１００が複数のＰＡＮに参加中であるとき、ＰＡＮ毎のＰＡＮデータがＰＡＮデータ記憶部１３０に格納される。ＰＡＮデータ１３１は、ＰＡＮデータ管理部１４３により適宜更新される。
【００４７】
ＰＡＮ−ＩＤを示す項目には、無線ＰＡＮを識別する識別情報が設定される。通信チャネルを示す項目には、無線ＰＡＮで使用する通信チャネルの情報が設定される。なお、ＩＥＥＥ８０２．１５．４の規定では、２．６ＧＨｚ帯の通信チャネルとして、１１番から２６番までの１６個の使用が認められている。エンドデバイスを示す項目には、無線ＰＡＮに参加中のエンドデバイスを識別する識別情報が設定される。更に、情報処理装置２００が接続されたエンドデバイスか否かを示す情報も設定される。ここで、“Ｙ”は情報処理装置２００が接続されていることを意味し、“Ｎ”は情報処理装置２００が接続されていないことを意味する。
【００４８】
次に、以上のような構成およびデータ構造を備える無線通信システムにおいて実行される処理の詳細を説明する。以下では、無線ＰＡＮシステムが図２に示した接続関係を有する場合、すなわち、無線通信装置１００がコーディネータとして機能し、無線通信装置１００ａ，１００ｂ，１００ｃ，１００ｄ，１００ｅ，１００ｆ，１００ｇがエンドデバイスとして機能している場合を考える。
【００４９】
図６は、ＰＡＮ再構成処理の手順を示すフローチャートである。以下、図６に示す処理をステップ番号に沿って説明する。
［ステップＳ１］無線通信装置１００は、無線通信装置１００ａ，１００ｂ，１００ｃ，１００ｄ，１００ｅ，１００ｆ，１００ｇにＰＡＮデータの複製を配布しておく。無線通信装置１００ａ，１００ｂ，１００ｃ，１００ｄ，１００ｅ，１００ｆ，１００ｇは、無線通信装置１００から受信したＰＡＮデータの複製を保持する。なお、この処理は、図４で示したＰＡＮデータ管理部１４３に相当するモジュールにより制御される。
【００５０】
［ステップＳ２］無線通信装置１００ａ，１００ｂ，１００ｃ，１００ｄ，１００ｅ，１００ｆ，１００ｇは、無線通信装置１００との通信状況を監視し、コーディネータ（無線通信装置１００）が故障したか否か判断する。故障したと判断した場合、処理がステップＳ３に進められる。故障していないと判断した場合、ステップＳ２の処理が繰り返される。なお、この処理は、図４で示した接続管理部１４１に相当するモジュールにより制御される。
【００５１】
［ステップＳ３］無線通信装置１００ａ，１００ｂ，１００ｃ，１００ｄ，１００ｅ，１００ｆ，１００ｇは、それぞれ新たなコーディネータになるか否かを決定する。新たなコーディネータになるには、少なくとも情報処理装置２００が接続されたエンドデバイス（無線通信装置１００ｂ）と無線通信可能である必要がある。コーディネータ決定処理の詳細は後述する。ここでは、無線通信装置１００ａが新たなコーディネータになったとする。なお、この処理は、図４で示したコーディネータ決定部１４２に相当するモジュールにより制御される。
【００５２】
［ステップＳ４］無線通信装置１００ａは、自身が新たなコーディネータになることを無線で報知する。この報知情報を受信したエンドデバイスは、無線通信装置１００ａに無線ＰＡＮへの参加要求を送信する。これにより、無線通信装置１００ａをコーディネータとする新たな無線ＰＡＮが形成される。なお、この処理は、コーディネータ決定部１４２に相当するモジュールにより制御される。
【００５３】
［ステップＳ５］無線通信装置１００ｂ，１００ｃ，１００ｄ，１００ｅ，１００ｆ，１００ｇは、それぞれ復帰後の無線ＰＡＮに参加できたか否か判断する。参加の可否は、例えば、旧コーディネータ（無線通信装置１００）の故障検知後、所定時間内に新たなコーディネータから報知情報を受信できたか否かによって判断できる。参加不可のエンドデバイスがある場合には、処理がステップＳ６に進められる。参加不可のエンドデバイスがない場合には、処理がステップＳ８に進められる。ここでは、無線通信装置１００ｄ，１００ｅが復帰後の無線ＰＡＮに参加できなかったとする。なお、この処理は、コーディネータ決定部１４２に相当するモジュールにより制御される。
【００５４】
［ステップＳ６］無線通信装置１００ｄ，１００ｅは、それぞれ追加のコーディネータになるか否かを決定する。追加のコーディネータになるには、少なくともステップＳ４で形成された無線ＰＡＮに参加しているエンドデバイスと無線通信可能である必要がある。ここでは、無線通信装置１００ｅが追加のコーディネータになったとする。なお、この処理は、コーディネータ決定部１４２に相当するモジュールにより制御される。
【００５５】
［ステップＳ７］無線通信装置１００ｅは、自身が追加のコーディネータになることを無線で報知する。この報知情報を受信したエンドデバイスは、無線通信装置１００ｅに追加の無線ＰＡＮへの参加要求を送信する。これにより、ステップＳ４で形成された無線ＰＡＮとは別の無線通信装置１００ｅをコーディネータとする無線ＰＡＮが形成される。ここで、無線通信装置１００ａと無線通信装置１００ｅの両方と無線通信可能なエンドデバイスは、両方の無線ＰＡＮに参加することになる。このエンドデバイスは２つの無線ＰＡＮ間でセンシングデータを中継するルータとして機能する。なお、この処理は、コーディネータ決定部１４２に相当するモジュールにより制御される。
【００５６】
［ステップＳ８］無線通信装置１００ａは、無線ＰＡＮに属するエンドデバイスから、ステップＳ１で配布された故障前の無線ＰＡＮに対応するＰＡＮデータを取得する。そして、無線通信装置１００ａは、取得したＰＡＮデータに基づいて復帰後の無線ＰＡＮに対応するＰＡＮデータを生成する。ステップＳ７が実行された場合には、無線通信装置１００ｅも同様の処理を実行する。なお、この処理は、図４で示したＰＡＮデータ管理部１４３に相当するモジュールにより制御される。
【００５７】
このようにして、コーディネータが故障すると、各エンドデバイスは自身が新たなコーディネータになるか否かを決定する。新たなコーディネータになるための条件は、少なくとも情報処理装置２００が接続されたエンドデバイスと無線通信可能であることである。そして、新たなコーディネータが決定すると、スター型トポロジの無線ＰＡＮが形成される。このとき、復帰後の無線ＰＡＮに参加できなかったエンドデバイス（新たなコーディネータと無線通信可能でないエンドデバイス）がある場合は、別個の無線ＰＡＮを形成する。その結果、複数の無線ＰＡＮが形成されたときは、少なくとも１つの無線通信装置が無線ＰＡＮ間でセンシングデータを中継するルータとして機能する。
【００５８】
図７は、コーディネータ決定処理の手順を示すフローチャートである。このフローチャートは、上記ステップＳ３で実行される処理をより詳細に記述したものである。ここでは、無線通信装置１００ａに着目することとする。以下、図７に示す処理をステップ番号に沿って説明する。
【００５９】
［ステップＳ３１］無線通信装置１００ａは、確認要求を無線信号として報知する。この確認要求を受信できたエンドデバイス（無線通信装置１００ａの通信可能範囲内にいるエンドデバイス）は、無線通信装置１００ａに確認応答を送信する。確認応答には、少なくとも送信元エンドデバイスの識別情報が含まれている。
【００６０】
［ステップＳ３２］無線通信装置１００ａは、通信可能範囲内にいるエンドデバイスからの確認応答を受信する。そして、無線通信装置１００ａは、確認応答から送信元エンドデバイスの識別情報を抽出する。これにより、無線通信装置１００ａは、通信可能範囲内に現在いるエンドデバイスを把握することができる。
【００６１】
［ステップＳ３３］無線通信装置１００ａは、ステップＳ３１で確認要求を報知してから所定時間経過後に、それまでに確認応答を受信したエンドデバイスとＰＡＮデータの複製とを照合する。そして、無線通信装置１００ａは、元の無線ＰＡＮに参加していた自分自身を除く全てのエンドデバイスから確認応答を受信できたか否か判断する。全エンドデバイスから確認応答を得た場合には、処理がステップＳ３７に進められる。確認応答を得られないエンドデバイスがある場合には、処理がステップＳ３４に進められる。
【００６２】
［ステップＳ３４］無線通信装置１００ａは、無線通信可能なエンドデバイスの確認結果を無線信号として報知する。この確認結果には、通信可能相手それぞれの識別情報が含まれている。
【００６３】
［ステップＳ３５］無線通信装置１００ａは、通信可能範囲内にいる他のエンドデバイスが報知した、そのエンドデバイスの通信可能相手の確認結果を受信する。この確認結果には、通信可能相手それぞれの識別情報が含まれている。
【００６４】
［ステップＳ３６］無線通信装置１００ａは、自身の通信可能相手の確認結果およびステップＳ３５で受信した各エンドデバイスの通信可能相手の確認結果に基づいて、新たなコーディネータになる条件を具備しているか否か判断する。新たなコーディネータになる条件は、無線通信装置１００ａが情報処理装置２００に接続されたエンドデバイス（無線通信装置１００ｂ）と無線通信可能であり、かつ、情報処理装置２００に接続されたエンドデバイスと無線通信可能なものの中で通信可能相手数が最大であることである。条件を具備している場合には、処理がステップＳ３７に進められる。条件を具備していない場合には、コーディネータ処理が終了する。
【００６５】
［ステップＳ３７］無線通信装置１００ａは、自身が新たなコーディネータになることを決定する。
このようにして、無線通信装置１００ａは、元の無線ＰＡＮに参加していた自分自身を除く全てのエンドデバイスと通信可能であることが判明すると、新たなコーディネータになることを決定する。また、無線通信装置１００ａは、全エンドデバイスと通信可能でない場合であっても、情報処理装置２００に接続されたエンドデバイスと通信可能であって他のエンドデバイスも含めた候補の中で通信可能相手数が最大であることが判明すると、新たなコーディネータになることを決定する。
【００６６】
なお、全エンドデバイスと通信可能な無線通信装置が複数あった場合や、情報処理装置２００に接続されたエンドデバイスと通信可能であって通信可能相手数が最大の無線通信装置が複数あった場合など、複数の無線通信装置がコーディネータになることを決定した場合には、報知が早かったものが最終的にコーディネータになる。
【００６７】
次に、図２に示した無線ＰＡＮシステムで図６，７に示したＰＡＮ再構成処理が実行されたときの、具体的な処理進行過程の例を説明する。
図８は、ＰＡＮ再構成処理の例を示す第１の模式図である。図８に示すように、コーディネータである無線通信装置１００は、予めエンドデバイスである無線通信装置１００ａ，１００ｂ，１００ｃ，１００ｄ，１００ｅ，１００ｆ，１００ｇに、ＰＡＮデータの複製を配布しておく。無線通信装置１００ａ，１００ｂ，１００ｃ，１００ｄ，１００ｅ，１００ｆ，１００ｇは、無線通信装置１００から受信したＰＡＮデータの複製を保持する。なお、無線通信装置１００は、管理しているＰＡＮデータの全体を配布するのではなく、ＰＡＮデータの一部のみを配布するようにしてもよい。また、エンドデバイスによって異なる部分データを配布するようにしてもよい。
【００６８】
図９は、ＰＡＮ再構成処理の例を示す第２の模式図である。図９に示すように、無線通信装置１００ａ，１００ｂ，１００ｃ，１００ｄ，１００ｅ，１００ｆ，１００ｇは、無線通信装置１００との間の無線通信を継続的に監視し、通信異常（例えば、連続して所定回数送信処理が失敗したこと）を発見すると、無線通信装置１００に故障が発生したと判断する。なお、監視処理やデータ送受信処理のタイミングの関係上、必ずしも無線通信装置１００ａ，１００ｂ，１００ｃ，１００ｄ，１００ｅ，１００ｆ，１００ｇ全てが同時に故障を検知するとは限らず、故障検知のタイミングは若干のずれが生じ得る。
【００６９】
図１０は、ＰＡＮ再構成処理の例を示す第３の模式図である。図１０に示すように、無線通信装置１００ａ，１００ｂ，１００ｃ，１００ｄ，１００ｅ，１００ｆ，１００ｇは、無線通信装置１００の故障を検知すると、無線通信装置１００との間の無線リンクを切断し、自己の周辺に位置する無線通信装置を確認する。
【００７０】
ここでは、無線通信装置１００ａは４つの無線通信装置１００ｂ，１００ｃ，１００ｆ，１００ｇと通信可能である。無線通信装置１００ｂは２つの無線通信装置１００ａ，１００ｃと通信可能である。無線通信装置１００ｃは３つの無線通信装置１００ａ，１００ｂ，１００ｆと通信可能である。無線通信装置１００ｄは１つの無線通信装置１００ｅと通信可能である。無線通信装置１００ｅは２つの無線通信装置１００ｄ，１００ｆと通信可能である。無線通信装置１００ｆは４つの無線通信装置１００ａ，１００ｃ，１００ｅ，１００ｇと通信可能である。無線通信装置１００ｇは２つの無線通信装置１００ａ，１００ｆと通信可能である。
【００７１】
図１１は、ＰＡＮ再構成処理の例を示す第４の模式図である。図１０に示したように、他の全ての無線通信装置と通信可能な無線通信装置は存在しないものの、情報処理装置２００が接続された無線通信装置１００ｂと通信可能な無線通信装置は２つ（無線通信装置１００ａ，１００ｃ）存在する。そして、この２つのうち無線通信装置１００ａの方が通信可能相手数が多い。よって、新たなコーディネータとして無線通信装置１００ａが選択され、無線通信装置１００ａをコーディネータとし無線通信装置１００ｂ，１００ｃ，１００ｆ，１００ｇをエンドデバイスとする新たな無線ＰＡＮが形成される。
【００７２】
その一方で、２つの無線通信装置（無線通信装置１００ｄ，１００ｆ）は、無線通信装置１００ａをコーディネータとする無線ＰＡＮに参加することができない。そこで、この２つのうち無線通信装置１００ａをコーディネータとする無線ＰＡＮに参加している無線通信装置と通信可能な無線通信装置１００ｅが、追加のコーディネータとして選択される。その結果、無線通信装置１００ｅをコーディネータとし無線通信装置１００ｄ，１００ｆをエンドデバイスとする別個の無線ＰＡＮが形成される。
【００７３】
このとき、無線通信装置１００ｆは、２つの無線ＰＡＮに参加し、無線ＰＡＮ間でセンシングデータを中継するルータとして機能する。図１１は、２つの無線ＰＡＮが形成された後のネットワークトポロジを示している。
【００７４】
図１２は、ＰＡＮ再構成処理の例を示す第５の模式図である。図１２に示すように、コーディネータである無線通信装置１００ａは、エンドデバイスである無線通信装置１００ｂ，１００ｃ，１００ｆ，１００ｇから故障前の無線ＰＡＮのＰＡＮデータを取得する。そして、無線通信装置１００ａは、無線通信装置１００ａが保持するＰＡＮデータと無線通信装置１００ｂ，１００ｃ，１００ｆ，１００ｇから取得したＰＡＮデータとを参照して、新たな無線ＰＡＮのＰＡＮデータを生成する。その後、無線通信装置１００ａは、図８に示したように、生成した新たなＰＡＮデータの複製を、無線通信装置１００ｂ，１００ｃ，１００ｆ，１００ｇに配布する。
【００７５】
同様に、コーディネータである無線通信装置１００ｅは、エンドデバイスである無線通信装置１００ｄ，１００ｆから故障前の無線ＰＡＮのＰＡＮデータを取得する。そして、無線通信装置１００ｅは、無線通信装置１００ｅが保持するＰＡＮデータと無線通信装置１００ｄ，１００ｆから取得したＰＡＮデータとを参照して、新たな無線ＰＡＮのＰＡＮデータを生成する。その後、無線通信装置１００ｅは、生成した新たなＰＡＮデータの複製を、無線通信装置１００ｄ，１００ｆに配布する。
【００７６】
その結果、無線通信装置１００ｄは、測定したセンシングデータを無線通信装置１００ｅに送信する。無線通信装置１００ｅは、測定したセンシングデータおよび無線通信装置１００ｄから受信したセンシングデータを無線通信装置１００ｆに送信する。無線通信装置１００ｆは、測定したセンシングデータおよび無線通信装置１００ｅから受信したセンシングデータを無線通信装置１００ａに送信する。無線通信装置１００ｃ，１００ｇは、測定したセンシングデータを無線通信装置１００ａに送信する。無線通信装置１００ａは、測定したセンシングデータおよび無線通信装置１００ｃ，１００ｆ，１００ｇから受信したセンシングデータを無線通信装置１００ｂに送信する。無線通信装置１００ｂは、測定したセンシングデータおよび無線通信装置１００ａから受信したセンシングデータを情報処理装置２００に出力する。このようにして、無線通信装置１００ａ，１００ｂ，１００ｃ，１００ｄ，１００ｅ，１００ｆ，１００ｇで得られたセンシングデータが情報処理装置２００に集約される。
【００７７】
このような無線通信システムを用いることで、コーディネータが故障したときに適切なエンドデバイスが新たなコーディネータとして自動的に選択されることになる。すなわち、コーディネータとして、少なくとも所定の情報処理装置が接続されたエンドデバイスと無線通信可能なものが選択される。このとき、所定の情報処理装置が接続されたエンドデバイスと無線通信可能なもの（コーディネータ候補）が複数存在する場合、通信可能相手数が最も多いものが選択される。従って、所定の情報処理装置が接続されたエンドデバイスを含む無線ＰＡＮは、できる限り多くのエンドデバイスが参加できるものとなる。
【００７８】
また、この無線ＰＡＮに参加できなかったエンドデバイスがある場合には、所定の情報処理装置が接続されたエンドデバイスを含む無線ＰＡＮと連携できるように、別個の無線ＰＡＮが形成される。その結果、自動的に無線ＰＡＮが再構成されて、コーディネータの故障による影響を最小限に抑えられる。また、コーディネータが管理するＰＡＮデータの複製を予めエンドデバイスに配布しておくため、新たなコーディネータはより迅速にＰＡＮデータを更新し無線ＰＡＮの制御を開始できる。
【００７９】
なお、本実施の形態では、センサネットワークの例を示したが、無線通信装置が備えるネットワーク再構成の機能は、他の種類のネットワークに応用することができる。また、本実施の形態では、無線通信方式としてＩＥＥＥ８０２．１５．４の規格を採用したが、他の無線通信方式を採用してもよい。
【００８０】
また、本実施の形態では、各無線通信装置の処理機能をソフトウェアとして実装することとしたが、図４に示した処理機能をハードウェアとして実装するようにしてもよい。また、本実施の形態では、システム中に１つの情報処理装置を設けたが、複数の情報処理装置を設けるようにしてもよい。この場合、コーディネータになるために、情報処理装置が接続された無線通信装置の全てと通信可能であることを条件としてもよいし、情報処理装置が接続された無線通信装置の少なくとも１つと通信可能であることを条件としてもよい。
【図面の簡単な説明】
【００８１】
【図１】本実施の形態の概要を示す図である。
【図２】本実施の形態のシステム構成を示す図である。
【図３】無線通信装置のハードウェア構成を示す図である。
【図４】無線通信装置の機能を示すブロック図である。
【図５】ＰＡＮデータのデータ構造を示す図である。
【図６】ＰＡＮ再構成処理の手順を示すフローチャートである。
【図７】コーディネータ決定処理の手順を示すフローチャートである。
【図８】ＰＡＮ再構成処理の例を示す第１の模式図である。
【図９】ＰＡＮ再構成処理の例を示す第２の模式図である。
【図１０】ＰＡＮ再構成処理の例を示す第３の模式図である。
【図１１】ＰＡＮ再構成処理の例を示す第４の模式図である。
【図１２】ＰＡＮ再構成処理の例を示す第５の模式図である。
【符号の説明】
【００８２】
１０  情報処理装置
２０  親機
３０，３０ａ，３０ｂ，３０ｃ  子機
３１  検知手段
３２  確認手段
３３  決定手段
【図１】
0004808228.tif 000002
【図２】
0004808228.tif 000003
【図３】
0004808228.tif 000004
【図４】
0004808228.tif 000005
【図５】
0004808228.tif 000006
【図６】
0004808228.tif 000007
【図７】
0004808228.tif 000008
【図８】
0004808228.tif 000009
【図９】
0004808228.tif 000010
【図１０】
0004808228.tif 000011
【図１１】
0004808228.tif 000012
【図１２】
0004808228.tif 000013