(57)【要約】【課題】無線通信ネットワークにおいて、通信環境の変化により当該無線通信ネットワークの構成に変更が生じた場合であっても、無線通信端末の孤立を回避する。【解決手段】無線通信端末は、ネットワークを構成する。無線通信端末は、ネットワーク内で他のノードと通信する通信部と、通信部を制御するための制御部とを備える。制御部は、所定の条件が成立した場合に、通信部をルータとして一時的に機能させ、さらに、所定の条件が成立していない場合に、通信部をエンドデバイスとして機能させる第１判断手段と、当該第１判断手段によって通信部が一時的にルータとして機能しているときに、ネットワーク内の他のノードに関する検出を実行し、当該検出の結果に基づいて、通信部をエンドデバイスに戻すかまたはルータとして維持させるかを決定する第２判断手段とを含む。【選択図】図１２
2014042093.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを構成する無線通信端末であって、
前記ネットワーク内で他のノードと通信する通信部と、
前記通信部を制御するための制御部とを備え、
前記制御部は、
所定の条件が成立した場合に、前記通信部をルータとして一時的に機能させ、さらに、前記所定の条件が成立していない場合に、前記通信部をエンドデバイスとして機能させる第１判断手段と、
前記第１判断手段によって前記通信部が一時的にルータとして機能しているときに、前記ネットワーク内の他のノードに関する検出を実行し、当該検出の結果に基づいて、前記通信部をエンドデバイスに戻すかまたはルータとして維持させるかを決定する第２判断手段と、を含むように構成されている、無線通信端末。
【請求項２】
前記検出は、前記通信部がルータとして機能しているときに、前記第２判断手段が、前記ネットワーク内で前記無線通信端末と通信相手となっているノードと前記無線通信端末との距離が特定の距離以上であるか否かを判断することであり、
前記第２判断手段は、
前記検出の結果が、前記距離が特定の距離以上であることを示す場合に、前記通信部をルータとして機能させ、
前記検出の結果が、前記距離が前記特定の距離未満であることを示す場合に、前記通信部をエンドデバイスとして機能させるように構成されている、請求項１に記載の無線通信端末。
【請求項３】
前記所定の条件は、前記ネットワーク内で通信相手となっているノードと前記無線通信端末との距離が前記特定の距離以上であることである、請求項２に記載の無線通信端末。
【請求項４】
前記距離が前記特定の距離以上であるか否かは、前記通信部が受信した信号の電波強度に基づいて判断される、請求項２または請求項３に記載の無線通信端末。
【請求項５】
前記検出は、前記通信部がルータとして機能しているときに、前記第２判断手段が、前記無線通信端末を介して前記ネットワークに接続しているノードが存在しているか否かを判断することであり、
前記第２判断手段は、
前記検出の結果が、前記無線通信端末を介して前記ネットワークに接続しているノードが存在しているというものである場合に、前記通信部をルータとして機能させ、
前記判断の結果が、前記無線通信端末を介して前記ネットワークに接続しているノードが存在していないというものである場合に、前記通信部をエンドデバイスとして機能させるように構成されている、請求項１に記載の無線通信端末。
【請求項６】
前記第２判断手段は、特定時間ごとに、前記検出を実行する、請求項５に記載の無線通信端末。
【請求項７】
前記所定の条件は、前記通信部がエンドデバイスとして機能を開始したときから所定時間が経過したことである、請求項５に記載の無線通信端末。
【請求項８】
前記制御部は、前記無線通信端末の初期状態には、前記通信部をエンドデバイスとして機能させる、請求項１〜請求項７のいずれか１項に記載の無線通信端末。
【請求項９】
ネットワークを構成する無線通信端末の制御方法であって、前記無線通信端末は、前記ネットワーク内で他のノードと通信する通信部と、プロセッサとを備え、前記制御方法は、
前記プロセッサが、所定の条件が成立した場合に、前記通信部をルータとして一時的に機能させ、さらに、前記所定の条件が成立していない場合に、前記通信部をエンドデバイスとして機能させるステップと、
前記プロセッサが、前記通信部が一時的にルータとして機能しているときに、前記ネットワーク内の他のノードに関する検出を実行するステップと、
前記プロセッサが、前記検出の結果に基づいて、前記通信部をエンドデバイスに戻すかまたはルータとして維持させるかを決定するステップとを含む、無線通信端末の制御方法。
【請求項１０】
請求項９に記載の制御方法をコンピュータに実行させるための、コンピュータ読取可能な無線通信端末の制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線通信端末、その制御方法、および、その制御プログラムに関し、特に、エンドデバイスとしてもルータとしても動作できる無線通信端末、その制御方法、および、その制御プログラムに関する。
【背景技術】
【０００２】
従来、宅内の省電力のために複数の消費電力測定器（以下、「タップ」とも称する）と、複数の消費電力測定器を制御するための制御装置とを含む通信システムが知られている。このような通信システムには、一般的に近距離無線通信の通信方式が採用される。通信方式の一例としては、ＺｉｇＢｅｅ（登録商標）が挙げられる。
【０００３】
ＺｉｇＢｅｅ（登録商標）のネットワークに存在するノードは、コーディネータと、ルータと、エンドデバイスとに分けられる。コーディネータは、ネットワークの中に必ず１台存在し、ネットワークの外部へデータを流したり受け取ったり、またネットワークの管理機能を持つノードである。管理機能としては、ネットワークの立ち上げ、デバイスの加入／離脱／再加入、論理ネットワークアドレスの割り振り、ルーティング、ルーティングの保守、セキュリティレベルの設定等が挙げられる。ルータとは、複数段数に渡ってデータの転送を行うマルチホッピングにおいて、効率よく安定して目的のノードにデータが届くように、通信を制御するノードである。エンドデバイスは、ネットワークの末端に位置するノードである。エンドデバイスは、データの転送は行なわない。
【０００４】
ＺｉｇＢｅｅ（登録商標）は、コーディネータを頂点とするツリー型のネットワークを構築する。なお、ＺｉｇＢｅｅ（登録商標）では、コーディネータおよびルータから離れた位置にあり受信信号強度が低いエンドデバイスは、ネットワークに参加することが出来ない。
【０００５】
エンドデバイスとして動作していたノードを全てルータとして動作させれば、コーディネータから離れていることにより受信信号強度が低いノードも、ルータを介してネットワークに参加することができる確率が高まる。したがって、コーディネータ以外のすべてのノードをルータとして動作させることにより、上記のようにネットワークに参加することができないエンドデバイスの数を減らすことが出来る。ただし、ルータは、通信を中継するために、スリープに入ることが出来ない。このため、全てのエンドデバイスをルータとして動作させると、消費電力が大きくなるという課題がある。
【０００６】
特許文献１（特開２００８−８５５８３号公報）において提案されるネットワークでは、無線通信端末は、受信信号強度が閾値より高い他の無線通信端末との間の経路を、予めルーティングテーブルとして登録する。そして、当該無線通信端末は、他の無線装置との間の無線通信空間において電波的な偏りがある場合、ルーティングテーブルに格納された経路情報を維持する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００８−８５５８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、従来の技術は、無線通信端末の移動などの通信環境の変化に対応できなかった。このことから、通信環境の変化が生じた場合、ネットワークから排除されることによって孤立する無線通信端末が生じ得た。特許文献１に記載の技術は、無線通信空間において電波的な偏りが生じたときに以前の経路情報を利用する技術である。したがって、当該技術は、経路情報をネットワークの現状に合わせて動的に設定することができない。
【０００９】
本発明は、かかる実情に鑑み考え出されたものであり、その目的は、無線通信ネットワークにおいて、通信環境の変化により当該無線通信ネットワークの構成に変更が生じた場合であっても、無線通信端末の孤立を回避することである。
【課題を解決するための手段】
【００１０】
或る局面によれば、ネットワークを構成する無線通信端末が提供される。当該無線通信端末は、ネットワーク内で他のノードと通信する通信部と、通信部を制御するための制御部とを備える。制御部は、所定の条件が成立した場合に、通信部をルータとして一時的に機能させ、さらに、所定の条件が成立していない場合に、通信部をエンドデバイスとして機能させる第１判断手段と、第１判断手段によって通信部が一時的にルータとして機能しているときに、ネットワーク内の他のノードに関する検出を実行し、当該検出の結果に基づいて、通信部をエンドデバイスに戻すかまたはルータとして維持させるかを決定する第２判断手段と、を含むように構成されている。
【００１１】
好ましくは、検出は、通信部がルータとして機能しているときに、第２判断手段が、ネットワーク内で無線通信端末と通信相手となっているノードと無線通信端末との距離が特定の距離以上であるか否かを判断することである。第２判断手段は、検出の結果が、距離が特定の距離以上であることを示す場合に、通信部をルータとして機能させ、検出の結果が、距離が特定の距離未満であることを示す場合に、通信部をエンドデバイスとして機能させるように構成されている。
【００１２】
好ましくは、所定の条件は、ネットワーク内で通信相手となっているノードと無線通信端末との距離が特定の距離以上であることである。
【００１３】
好ましくは、距離が特定の距離以上であるか否かは、通信部が受信した信号の電波強度に基づいて判断される。
【００１４】
好ましくは、検出は、通信部がルータとして機能しているときに、第２判断手段が、無線通信端末を介してネットワークに接続しているノードが存在しているか否かを判断することである。第２判断手段は、検出の結果が、無線通信端末を介してネットワークに接続しているノードが存在しているというものである場合に、通信部をルータとして機能させ、判断の結果が、無線通信端末を介してネットワークに接続しているノードが存在していないというものである場合に、通信部をエンドデバイスとして機能させるように構成されている。
【００１５】
好ましくは、第２判断手段は、特定時間ごとに、検出を実行する。
好ましくは、所定の条件は、通信部がエンドデバイスとして機能を開始したときから所定時間が経過したことである。
【００１６】
好ましくは、制御部は、無線通信端末の初期状態には、通信部をエンドデバイスとして機能させる。
【００１７】
他の局面によれば、ネットワークを構成する無線通信端末の制御方法が提供される。当該制御方法では、無線通信端末は、ネットワーク内で他のノードと通信する通信部と、プロセッサとを備える。当該制御方法は、プロセッサが、所定の条件が成立した場合に、通信部をルータとして一時的に機能させ、さらに、所定の条件が成立していない場合に、通信部をエンドデバイスとして機能させるステップと、プロセッサが、通信部が一時的にルータとして機能しているときに、ネットワーク内の他のノードに関する検出を実行するステップと、プロセッサが、検出の結果に基づいて、通信部をエンドデバイスに戻すかまたはルータとして維持させるかを決定するステップとを含む。
【００１８】
さらに他の局面によれば、制御プログラムが提供される。当該制御プログラムは、上記した制御方法をコンピュータに実行させるためのプログラムであり、コンピュータ読取可能な無線通信端末の制御プログラムである。
【発明の効果】
【００１９】
ある局面によれば、無線通信端末において、ネットワーク内で他のノードと情報を送受信する通信部における情報の受信態様に基づいて、当該通信部をエンドデバイスまたはルータとして機能させるかが判断される。
【００２０】
これにより、無線通信ネットワークの構成によって変化が生じた場合であっても、無線通信端末の孤立を回避できる。
【図面の簡単な説明】
【００２１】
【図１】本発明の実施の形態に係るネットワークの概略構成を示した図である。
【図２】モニタの外観を表した図である。
【図３】モニタのブロック図である。
【図４】タップの斜視図である。
【図５】タップのハードウェア構成を表した図である。
【図６】タブレット端末のハードウェア構成を表した図である。
【図７】タップおよびモニタにおける実装方法を説明するための図である。
【図８】タブレット端末における実装方法を説明するための図である。
【図９】モニタ、パーソナルコンピュータ、およびタブレット端末の代わりに、タブレット端末を用いたネットワークＺの構成を示す図である。
【図１０】タブレット端末のブロック図である。
【図１１】低速無線通信モジュールの機能構成を表わした図である。
【図１２】タップにおける機能切替の概要を説明するための図である。
【図１３】ネットワークに参加することができたノードにおいて実行される機能切替処理のフローチャートである。
【図１４】図１３の機能切替処理における、タップとモニタとの間の信号の送受信のシーケンス図である。
【図１５】タップにおける機能切替の概要を説明するための図である。
【図１６】ネットワークに参加することができたノードにおいて実行される機能切替処理のフローチャートである。
【図１７】図１６の機能切替処理における、タップとモニタとの間の信号の送受信のシーケンス図である。
【図１８】比較例の実施の形態のノードにおける機能切替の概要を説明するための図である。
【図１９】比較例のタップにおいて実行される機能切替処理のフローチャートである。
【図２０】図５に示されたハードウェア構成の変形例を表した図である。
【図２１】図５に示されたハードウェア構成の他の変形例を表した図である。
【発明を実施するための形態】
【００２２】
以下、図面を参照しつつ、無線通信端末の実施の形態を含むネットワークについて説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【００２３】
［第１の実施の形態］
＜Ａ．ネットワークの概要＞
図１は、本発明の実施の形態に係るネットワークの概略構成を示した図である。図１を参照して、ネットワークＺは、低速無線通信ネットワーク（主に、ＺｉｇＢｅｅ（登録商標）を想定）を示す。ネットワークＥは、高速通信ネットワーク（主に、Ｅｔｈｅｒｎｅｔ（登録商標）やＷｉＦｉ（登録商標）を想定）を示す。
【００２４】
ネットワークＺは、ＨＴＴＰ（HyperText  Transfer  Protocol）サーバ機能を有するモニタ１００１と、ブロードバンドルータ１００２と、パーソナルコンピュータ１００３と、複数のタップ１００４ａ，１００４ｂ，１００４ｃと、複数の家電機器（エアーコンディショナ１００５，冷蔵庫１００６，テレビ１００７など）と、タブレット端末１００８とを備える。
【００２５】
エアーコンディショナ１００５の電源プラグ１０５１は、タップ１００４ａのソケットに差し込まれている。同様に、冷蔵庫１００６の電源プラグ１０６１は、タップ１００４ｂのソケットに差し込まれている。また、テレビ１００７の電源プラグ１０７１は、タップ１００４ｃのソケットに差し込まれている。
【００２６】
タップ１００４ａ、１００４ｂ、１００４ｃは、それぞれ、宅内に設置されたコンセント１０１５，１０１６，１０１７に取り付けられている。これにより、タップ１００４ａ，１００４ｂ、１００４ｃは、給電される。
【００２７】
タップ１００４ａ、１００４ｂ、１００４ｃは、各々に接続される各家電の消費電力を測定する消費電力測定器である。たとえば、タップ１００４ａは、エアーコンディショナ１００５の消費電力を測定する。タップ１００４ａ、１００４ｂ、１００４ｃの各々は、測定した消費電力をモニタ１００１に送信する。なお、以下では、説明の便宜上、タップ１００４ａ，１００４ｂ，１００４ｃを区別することなく表す場合には、「タップ１００４」と表記する。
【００２８】
モニタ１００１および複数のタップ１００４の各々は、低速無線通信モジュールを備える。また、モニタ１００１と複数のタップ１００４とにより、低速無線通信ネットワークＺ（以下、単に「ネットワークＺ」とも称する）を構成している。モニタ１００１は、Ｅｔｈｅｒｎｅｔ（登録商標）によりブロードバンドルータ１００２に接続されている。モニタ１００１は、ネットワークＺのゲートウェイとして機能する。モニタ１００１は、複数のタップ１００４と低速度で無線通信する。
【００２９】
ブロードバンドルータ１００２は、インターネットに接続されていてもよい。パーソナルコンピュータ１００３は、Ｅｔｈｅｒｎｅｔ（登録商標）により、ブロードバンドルータ１００２に接続される。なお、パーソナルコンピュータ１００３は、ＷｉＦｉ（登録商標）により、ブロードバンドルータ１００２に接続されてもよい。
【００３０】
パーソナルコンピュータ１００３は、ブラウザ（ＨＴＴＰクライアント）が動作する一般的なパソコンである。パーソナルコンピュータ１００３は、パーソナルコンピュータ１００３のブラウザを経由してモニタ１００１のＨＴＴＰサーバと通信する。このようにして、パーソナルコンピュータ１００３は、モニタ１００１のさまざまな設定を行なうことができる。このＨＴＴＰサーバとＨＴＴＰクライアントの働きによって、貧弱な入力装置しか持たないモニタ１００１でも、複雑な設定を行なうことができる。
【００３１】
タブレット端末１００８は、ブロードバンドルータ１００２を介して、モニタ１００１と通信する。タブレット端末１００８は、ＷｉＦｉ（登録商標）により、ブロードバンドルータ１００２に接続される。なお、タブレット端末１００８は、Ｅｔｈｅｒｎｅｔ（登録商標）により、ブロードバンドルータ１００２に接続されてもよい。
【００３２】
タブレット端末１００８は、消費電力に関する各種の表示を行なうことができる。タブレット端末１００８は、たとえば、ネットワークＺにおける消費電力を表示できる。また、タブレット端末１００８は、たとえば、ユーザによって選択された家電の消費電力を表示できる。
【００３３】
以下では、ネットワークＺとして、家電向けの短距離無線通信規格の一つであるＺｉｇＢｅｅ（登録商標）を用いた例について説明する。なお、ＺｉｇＢｅｅ（登録商標）は、Ｂｌｏｏｔｏｏｔｈ（登録商標）よりも低速かつ伝送距離も短いが、省電力かつ低コストという利点がある。
【００３４】
＜Ｂ．モニタ１００１の構成＞
図２は、モニタ１００１の外観を表した図である。図２（Ａ）は、モニタ１００１の斜視図である。図２（Ｂ）は、モニタ１００１の側面図である。図２（Ｃ）は、モニタ１００１の他の側面の要部拡大図である。
【００３５】
図２（Ａ）を参照して、モニタ１００１は、発光部１１０３と、アンテナ１１０７とを備える。発光部１１０３は、モニタ１００１の動作状態等を表示するための３つのＬＥＤ（Light  Emitting  Diode）１１０３ａ，１１０３ｂ，１１０３ｃにより構成される。
【００３６】
ＬＥＤ１１０３ａは、モニタ１００１の電源がオン・オフの状態を示すための発光素子（電源ＬＥＤ）である。ＬＥＤ１１０３ｂは、タップ１００４との通信状態を表示するための発光素子（タップＬＥＤ）である。ＬＥＤ１１０３ｃは、ブロードバンドルータ１００２との通信状態を表示するための発光素子（ルータＬＥＤ）である。
【００３７】
アンテナ１１０７は、モニタ１００１が各タップ１００４ａ，１００４ｂ，１００４ｃと通信するために用いられる。
【００３８】
図２（Ｂ）を参照して、モニタ１００１は、発光部１１０３が設けられた表面とは反対側の表面に、ペアリングボタン１１０８をさらに備える。ペアリングボタン１１０８は、モニタ１００１をペアリング許可状態に遷移させるためのボタンである。
【００３９】
図２（Ｃ）を参照して、モニタ１００１は、発光部１１０３が設けられた表面およびペアリングボタン１１０８が設けられた表面とは異なる表面に、スライドスイッチ１１０９をさらに備える。スライドスイッチ１１０９は、ユーザの操作によりスライドする。スライドスイッチ１１０９は、ペアリング位置、ノーマル位置、およびリーブ位置のうちのいずれか１つの位置をとることができる。スライドスイッチ１１０９は、ペアリング（ネットワークへの参加）を行なう際、リーブ（ネットワークからの離脱）を行なう際に用いられる。スライドスイッチ１１０９は、通常の使用時にはノーマル位置に設定される。
【００４０】
図３は、モニタ１００１のブロック図である。図３を参照して、モニタ１００１は、制御部１１０１と、発光部１１０３と、高速通信インターフェイス部１１０４と、電源部１１０５と、無線ＲＦ（Radio  Freaquency）内蔵通信コントローラ部１１０６と、アンテナ１１０７と、ペアリングボタン１１０８と、スライドスイッチ１１０９と、図示しないリセットスイッチとを備える。
【００４１】
無線ＲＦ内蔵通信コントローラ部１１０６は、ＣＰＵ（Central  Processing  Unit）１１６１と、ＲＯＭ（Read  Only  Memory）１１６２と、ＲＡＭ（Random  Access  Memory）１１６３と、ＧＰＩＯ（General  Purpose  Input/Output）１１６４と、無線ＲＦ部１１６５と、制御部１１０１との間で通信するためのＵＡＲＴ（Universal  Asynchronous  Receiver  Transmitter）１１６６とを含む。なお、無線ＲＦ内蔵通信コントローラ部１１０６が、ＺｉｇＢｅｅ（登録商標）コーディネータ部に該当する。また、ＲＯＭ１１６２と、ＲＡＭ１１６３と、ＵＡＲＴ１１６６と、ＧＰＩＯ１１６４と、無線ＲＦ部１１６５とは、それぞれ、ＣＰＵ１１６１に接続されている。
【００４２】
無線ＲＦ内蔵通信コントローラ部１１０６は、アンテナ１１０７と接続されている。無線ＲＦ内蔵通信コントローラ部１１０６は、ネットワークＺ上に存在する通信機器との間の通信を制御する。
【００４３】
制御部１１０１のＯＳ（Operating  System）は、たとえばＬｉｎｕｘ（登録商標）を用いることができる。制御部１１０１は、ＣＰＵ１１６１に比べて高性能なＣＰＵを備えており、またメモリも豊富である。当該構成によって、モニタ１００１は、高度な情報処理を実現できる。
【００４４】
高速通信インターフェイス部１１０４は、ブロードバンドルータ１００２とＥｔｈｅｒｎｅｔ（登録商標）またはＷｉＦｉ（登録商標）を用いて通信するためのインターフェイスである。電源部１１０５は、制御部１１０１と無線ＲＦ内蔵通信コントローラ部１１０６とに電力を供給する。
【００４５】
制御部１１０１は、発光部１１０３と、高速通信インターフェイス部１１０４と、電源部１１０５と、無線ＲＦ内蔵通信コントローラ部１１０６と、ペアリングボタン１１０８と、スライドスイッチ１１０９とに接続されている。制御部１１０１は、モニタ１００１の全体的な動作を制御する。制御部１１０１は、ペアリングボタン１１０８およびスライドスイッチ１１０９からの入力を受け付ける。また、制御部１１０１は、発光部１１０３に出力指示を出す。
【００４６】
次に、ユーザがペアリングを行なうときの操作の概要について説明する。まず、ユーザが、スライドスイッチ１１０９をノーマル位置からペアリング位置にスライドさせる。その後、ユーザは、ペアリングボタン１１０８を押す。これにより、予め定められた時間（たとえば６０秒間）、モニタ１００１がペアリング許可状態となる。なお、この間、制御部１１０１は、発光部１１０３を予め定められた状態で発光させる。そして、モニタ１００１がペアリング許可状態にあるときに、ユーザがタップ１００４をコンセントに差すことにより、モニタ１００１とタップ１００４とのペアリングが行なわれる。
【００４７】
＜Ｃ．タップ１００４の構成＞
図４は、タップ１００４の斜視図である。図４を参照して、タップ１００４は、プラグ差込用のソケット２１０１と、プラグ２１０２と、ＬＥＤ２１０５と、設定ボタン２１０６とを備える。タップの使用時には、ユーザは、家電機器の電源プラグをソケット２１０１に差し込むとともに、宅内に設置されたコンセントにプラグ２１０２を差し込む（図１参照）。なお、ソケット２１０１の形状は、接続される家電機器の電源プラグの形状に応じて決まる。
【００４８】
図５は、タップ１００４のハードウェア構成を表した図である。図５を参照して、タップ１００４は、ソケット２１０１と、プラグ２１０２と、シャント抵抗２１０３と、電源部２１０４と、ＬＥＤ２１０５と、設定ボタン２１０６と、アンテナ２１０７と、電力センサ部２１１０と、低速無線通信モジュール２１２０と、配線２１３１と、配線２１３２と、配線２１３３とを備える。
【００４９】
電力センサ部２１１０は、電圧入力ＡＤＣ部２１１１と、電流入力ＡＤＣ部２１１２と、乗算器２１１３と、デジタル／周波数変換部２１１４とを含む。低速無線通信モジュール２１２０は、ＣＰＵ２１２１と、ＲＯＭ２１２２と、ＲＡＭ２１２３と、ＧＰＩＯ２１２４と、無線ＲＦ部２１２５とを含む。
【００５０】
配線２１３２と配線２１３３とは、シャント抵抗２１０３により接続されている。シャント抵抗２１０３は電流を測定するために使われる微小な（数百マイクロΩ）抵抗である。
【００５１】
ソケット２１０１とプラグ２１０２とは、配線２１３１〜２１３３およびシャント抵抗２１０３で接続されている。配線２１３１は、プラグ２１０２の一方の端子およびソケット２１０１の一方の端子に接続されている。配線２１３２は、プラグ２１０２の他方の端子とシャント抵抗２１０３の一方の端部とに接続されている。配線２１３３は、ソケット２１０１の他方の端子とシャント抵抗２１０３の他方の端部とに接続されている。
【００５２】
電源部２１０４は、配線２１３２に接続されている。電源部２１０４は、交流を直流に変換する。電源部２１０４は、変換により得られた直流電力を電力センサ部２１１０と低速無線通信モジュール２１２０とに与える。
【００５３】
電圧入力ＡＤＣ部２１１１は、配線２１３１と、配線２１３２とに接続されている。電圧入力ＡＤＣ部２１１１は、配線２１３１と配線２１３２との間の電圧（電位差）を、デジタル信号にて乗算器２１１３に出力する。
【００５４】
電流入力ＡＤＣ部２１１２は、配線２１３２と、配線２１３３とに接続されている。電流入力ＡＤＣ部２１１２は、シャント抵抗２１０３に流れる電流の電流値を、デジタル信号にて乗算器２１１３に出力する。
【００５５】
乗算器２１１３は、電圧入力ＡＤＣ部２１１１からの出力と、電流入力ＡＤＣ部２１１２からの出力とを乗算し、当該乗算により得られたデジタル信号をデジタル／周波数変換部２１１４に出力する。
【００５６】
デジタル／周波数変換部２１１４は、入力されたデジタル信号を周波数信号に変換する。デジタル／周波数変換部２１１４は、変換により得られた周波数信号を、低速無線通信モジュール２１２０のＧＰＩＯ２１２４に出力する。
【００５７】
ＣＰＵ２１２１は、ＧＰＩＯ２１２４から取得した上記周波数信号をデータ変換する。無線ＲＦ部２１２５は、データ変換により得られた信号を、アンテナ２１０７を用いてモニタ１００１に送信する。
【００５８】
ＲＯＭ２１２２には、ＣＰＵ２１２１が実行するプログラム等が格納されている。ＲＡＭ２１２３は、ＣＰＵ２１２１が処理するデータおよび処理したデータを一時的に格納する。
【００５９】
ＬＥＤ２１０５は、タップ１００４のデータ処理状態を、点滅および／または点灯させる色等により表す。設定ボタン２１０６は、ユーザによるタップ１００４の初期設定等のために用いられる。
【００６０】
ＣＰＵ２１２１は、また、アンテナ２１０７を介して受信した信号を、適宜変換し、本明細書に記載される処理に利用する。
【００６１】
＜Ｄ．タブレット端末１００８の構成＞
図６は、タブレット端末１００８のハードウェア構成を表した図である。図６を参照して、タブレット端末１００８は、ＣＰＵ４０１０と、タッチスクリーン４０２０と、時計４０３０と、メモリ４０４０と、ボタン４０５０と、通信インターフェイス４０６０と、スピーカ４０７０とを含む。タッチスクリーン４０２０は、ディスプレイ４０２１と、タッチパネル（タブレット）４０２２とで構成され、ディスプレイ４０２１の表面にタッチパネル４０２２が敷設されている。ただし、タブレット端末１００８は、タッチパネル４０２２を有していなくともよい。
【００６２】
メモリ４０４０は、各種のＲＡＭ、ＲＯＭ、フラッシュメモリ、ハードディスクなどによって実現される。メモリ４０４０は、ＣＰＵ４０１０によって実行される、ＯＳ、各種の制御プログラム、並びにＣＰＵ４０１０によって読み出されるテーブル等の各種データテーブルを格納する。
【００６３】
ＣＰＵ４０１０は、メモリ４０４０に記憶されている各種のプログラムを実行することによって、各種の情報処理などを実行する。ここでいうプログラムとは、ＣＰＵにより直接実行可能なプログラムだけでなく、ソースプログラム形式のプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【００６４】
ディスプレイ４０２１は、ＣＰＵ４０１０によって制御されることによって、たとえば、各家電機器１００５〜１００７の消費電力を表示する。タッチパネル４０２２は、ユーザの指によるタッチ操作を検出して、タッチ座標などをＣＰＵ４０１０に入力する。ＣＰＵ４０１０は、タッチパネル４０２２を介して、ユーザからの命令を受け付ける。
【００６５】
ボタン４０５０は、タブレット端末１００８の表面に配置される。決定キー、方向キー、テンキーなどの複数のボタンがタブレット端末１００８に配置されても良い。ボタン４０５０は、ユーザからの命令を受け付ける。ボタン４０５０は、ユーザからの命令をＣＰＵ４０１０に入力する。
【００６６】
通信インターフェイス４０６０は、ＣＰＵ４０１０によって制御されることによって、ブロードバンドルータ１００２を介して、モニタ１００１と通信する。通信インターフェイス４０６０は、上述したように、たとえばＷｉＦｉ（登録商標）により、ブロードバンドルータ１００２と通信する。
【００６７】
スピーカ４０７０は、ＣＰＵ４０１０からの命令に基づいて、音声を出力する。たとえば、ＣＰＵ４０１０は、音声データに基づいて、スピーカ４０７０に音声を出力させる。時計４０３０は、ＣＰＵ４０１０からの命令に基づいて、現在の日付や時刻をＣＰＵ４０１０に入力する。
【００６８】
＜Ｅ．実装例＞
図７は、タップ１００４およびモニタ１００１における実装方法を説明するための図である。つまり、図７は、タップ１００４およびモニタ１００１におけるソフトウェア構造を説明するための図である。
【００６９】
図７を参照して、タップ１００４は、ＺｉｇＢｅｅ（登録商標）アプリケーション３４０１と、Ｚ−ＳＴＡＣＫ  ＺｉｇＢｅｅ（登録商標）プロトコルスタック３４０２とを含む。ＺｉｇＢｅｅ（登録商標）アプリケーション３４０１は、電力測定用のマイコン（図示せず）から消費電力に関する情報を取得して、当該情報を予め定められたフォーマットに変換する。ＺｉｇＢｅｅ（登録商標）アプリケーション３４０１は、当該予め定められたフォーマットにて、消費電力に関する情報をモニタ１００１に送る。Ｚ−ＳＴＡＣＫ  ＺｉｇＢｅｅ（登録商標）プロトコルスタック３４０２は、ＩＥＥＥ８０２．１５．４を利用する通信機器のポートフォリオおよびプラットフォーム向けのＺｉｇＢｅｅ（登録商標）準拠プロトコルスタックである。
【００７０】
モニタ１００１の無線ＲＦ内蔵通信コントローラ部１１０６（ＺｉｇＢｅｅコーディネータ部）は、ＺｉｇＢｅｅ（登録商標）アプリケーション３１１１と、Ｚ−ＳＴＡＣＫ  ＺｉｇＢｅｅ（登録商標）プロトコルスタック３１１２と、ＵＡＲＴ１１６６とを含む。ＺｉｇＢｅｅ（登録商標）アプリケーション３１１１は、上述した消費電力に関する情報をタップ１００４から受信する。Ｚ−ＳＴＡＣＫ  ＺｉｇＢｅｅ（登録商標）プロトコルスタック３１１２は、タップ１００４におけるＺ−ＳＴＡＣＫ  ＺｉｇＢｅｅ（登録商標）プロトコルスタック３４０２と同様、ＩＥＥＥ８０２．１５．４を利用する通信機器のポートフォリオおよびプラットフォーム向けのＺｉｇＢｅｅ（登録商標）準拠プロトコルスタックである。ＵＡＲＴ１１６６は、上述したように、制御部１１０１との間で通信するためのトランスミッタである。
【００７１】
モニタ１００１の制御部１１０１（図３参照）は、ＺｉｇＢｅｅ（登録商標）マネージャ３１２１と、Ｚ−ＳＴＡＣＫモニタライブラリ３１２２と、ＵＡＲＴ３１２３と、ＬＥＤ＆スイッチ制御３１２４と、ＵＤＰ／ＩＰ（User  Datagram  Protocol  /  Internet  Protocol）ポート１２１３１と、Ｅｔｈｅｒｎｅｔ（登録商標）３１２５とを含む。ＺｉｇＢｅｅ（登録商標）マネージャ３１２１は、制御部１１０１に格納されているアプリケーションの１つである。なお、制御部１１０１に格納される他のアプリケーションとして、タップ１００４の情報を収集するためのタップ情報収集アプリがある。
【００７２】
ＺｉｇＢｅｅ（登録商標）マネージャ３１２１は、ＺｉｇＢｅｅ（登録商標）のノードを管理する。ＺｉｇＢｅｅ（登録商標）マネージャ３１２１は、ＺｉｇＢｅｅ（登録商標）のネットワークＺに、どのようなノードが存在するのかを判断する。さらに、ＺｉｇＢｅｅ（登録商標）マネージャ３１２１は、ＺｉｇＢｅｅ（登録商標）のノードに変化があった場合には当該変化を検知し、当該変化を他のアプリケーションに通知等する。
【００７３】
また、ＺｉｇＢｅｅ（登録商標）マネージャ３１２１は、ＬＥＤ＆スイッチ制御３１２４を監視している。具体的には、ＺｉｇＢｅｅ（登録商標）マネージャ３１２１は、ＬＥＤ１１０３ａ，１１０３ｂ，１１０３ｃの発光を制御し、かつペアリングボタン１１０８およびスライドスイッチ１１０９からの入力を処理するためのプログラムである。ＺｉｇＢｅｅ（登録商標）マネージャ３１２１は、サーバの形態をとっており、他の機器からアクセスがあった場合に当該他の機器に返答（ＺｉｇＢｅｅ上位プロトコルに基づく通信）をする。さらに、ＺｉｇＢｅｅ（登録商標）マネージャ３１２１は、モニタ発見サーバとしての機能と、ペアリングを行なうための機能（ペアリングアプリ）とを有する。
【００７４】
Ｚ−ＳＴＡＣＫモニタライブラリ３１２２は、直接、ＵＡＲＴ３１２３とデータの遣り取りをすることにより、無線ＲＦ内蔵通信コントローラ部１１０６と通信をする。Ｚ−ＳＴＡＣＫモニタライブラリ３１２２は、ＵＡＲＴ３１２３によりデータを無線ＲＦ内蔵通信コントローラ部１１０６に送信すると、無線ＲＦ内蔵通信コントローラ部１１０６から何らかの応答を、ＵＡＲＴ３１２３を介して受け付ける。より詳しくは、ＺｉｇＢｅｅ（登録商標）マネージャ３１２１と、タップ情報収集アプリと、後述する機器制御ライブラリ３８０２（図８参照）とが、Ｚ−ＳＴＡＣＫモニタライブラリ３１２２を介して、ＺｉｇＢｅｅと通信する。なお、Ｚ−ＳＴＡＣＫモニタライブラリ３１２２が発信するコマンドは、無線ＲＦ内蔵通信コントローラ部１１０６に対するものもあれば、タップ１００４に対するものもある。
【００７５】
ＵＤＰ／ＩＰポート１２１３１は、ＵＤＰ／ＩＰのポートの１つである。ＵＤＰ／ＩＰポート１２１３１は、データをＵＤＰのパケットに変換する。ＵＤＰ／ＩＰポート１２１３１は、Ｅｔｈｅｒｎｅｔ（登録商標）３１２５を用いて、ブロードバンドルータ１００２と通信する。たとえば、ＵＤＰ／ＩＰポート１２１３１は、Ｅｔｈｅｒｎｅｔ（登録商標）３１２５を用い、上記のＺｉｇＢｅｅ上位プロトコル、および、モニタ発見プロトコルに基づいた通信が可能である。なお、本明細書では、「ＵＤＰ／ＩＰポート１２１３１」における数字“１２１３１”はポート番号を意味する。
【００７６】
図８は、タブレット端末１００８における実装方法を説明するための図である。つまり、図８は、タブレット端末１００８におけるソフトウェア構造を説明するための図である。
【００７７】
図８を参照して、タブレット端末１００８は、ＵＩ（User  Interface）アプリケーション３８０１と、機器制御ライブラリ３８０２と、ＵＤＰ／ＩＰポート（ポートは任意）３８０３と、ＷｉＦｉ（登録商標）３８０４と、モニタ発見アプリケーション３８０５と、ＵＤＰ／ＩＰポート（ポートは任意）３８０６と、ＷｉＦｉ（登録商標）３８０７とを備える。なお、「ＵＤＰ／ＩＰポート３８０３」および「ＵＤＰ／ＩＰポート３８０６」における数字“３８０３”および“３８０６”は参照符号であって、ポート番号を表すものではない。
【００７８】
ＵＩアプリケーション３８０１は、タブレット端末１００８のディスプレイ４０２１にＵＩを表示するためのアプリケーションである。機器制御ライブラリ３８０２は、モニタ１００１等の他の通信機器を制御するために用いられるライブラリである。モニタ発見アプリケーション３８０５は、タブレット端末１００８がモニタ１００１を発見するためのアプリケーションである。
【００７９】
ＵＤＰ／ＩＰポート３８０３，３８０６は、ＵＤＰ／ＩＰのポートの１つである。ＵＤＰ／ＩＰポート３８０３，３８０６は、データをＵＤＰのパケットに変換する。ＵＤＰ／ＩＰポート３８０３，３８０６は、それぞれＷｉＦｉ（登録商標）３８０４，３８０７を用いて、ブロードバンドルータ１００２と通信する。具体的には、ＵＤＰ／ＩＰポート３８０３は、ＷｉＦｉ（登録商標）３８０４を用いて、上記のＺｉｇＢｅｅ上位プロトコルとに基づいた通信を行なう。ＵＤＰ／ＩＰポート３８０６は、ＷｉＦｉ（登録商標）３８０７を用いて、モニタ発見プロトコルとに基づいた通信を行なう。
【００８０】
ここで、モニタ発見アプリケーション３８０５を用いてモニタ１００１を発見する手法について説明すると以下の通りである。まず、タブレット端末１００８は、モニタ発見プロトコルを用いて予め定められた信号をブロードキャストする。当該ブロードキャストに基づき、タブレット端末１００８は、同じＬＡＮ（Local  Area  Network）セグメントにあるモニタから応答を受け取る。タブレット端末１００８は、当該応答に含まれるＩＰアドレス（つまり、応答のあったモニタのＩＰアドレス）を取得する。これにより、タブレット端末１００８は、モニタ１００１を発見することができる。なお、タブレット端末１００８は、当該ＩＰアドレスに対して、機器制御ライブラリ３８０２を設定する。
【００８１】
＜Ｆ．ネットワーク構成の変形例＞
（ｆ１．第１の変形例）
次に、モニタ１００１の代替構成について説明する。図９は、ネットワークＺの制御装置としてタブレット端末を用いた場合における、ネットワークの概略構成を示した図である。具体的には、図９は、モニタ１００１、パーソナルコンピュータ１００３、およびタブレット端末１００８の代わりに、タブレット端末１００９を用いたネットワークＺの構成を示した図である。
【００８２】
図９を参照して、ネットワークＺは、タブレット端末１００９と、ブロードバンドルータ１００２と、複数のタップ１００４ａ，１００４ｂ，１００４ｃと、複数の家電機器（エアーコンディショナ１００５，冷蔵庫１００６，テレビ１００７など）とを備える。また、タブレット端末１００９と、複数のタップ１００４と、複数の家電機器１００５〜１００７とにより、低速無線通信ネットワークＺを構成する。タブレット端末１００９は、ブロードバンドルータ１００２とＷｉＦｉ（登録商標）等の高速無線通信により接続される。
【００８３】
図１０は、タブレット端末１００９のブロック図である。タブレット端末１００９は、制御部１９０１と、操作部１９０２と、表示部１９０３と、高速通信インターフェイス部１９０４と、電源部１９０５と、低速無線通信モジュール１９０６と、アンテナ１９０７とを備える。
【００８４】
操作部１９０２は、操作キー、タッチセンサ等の入力デバイスである。表示部１９０３は、液晶ディスプレイ等の出力デバイスである。高速通信インターフェイス部１９０４は、ブロードバンドルータ１００２との間で無線通信を行なうためのインターフェイスである。電源部１９０５は、制御部１９０１と低速無線通信モジュール１９０６とに電力を供給する。
【００８５】
制御部１９０１は、操作部１９０２、表示部１９０３と、高速通信インターフェイス部１９０４と、電源部１９０５と、低速無線通信モジュール１９０６とに接続されている。制御部１９０１は、タブレット端末１００９の全体的な動作を制御する。制御部１９０１は、操作部１９０２からの入力を受け付ける。また、制御部１９０１は、表示部１９０３に出力指示を出す。
【００８６】
より詳しくは、制御部１９０１は、ＣＰＵと、ＲＡＭと、ＲＯＭと、ＵＡＲＴと、ＧＰＩＯとで構成される。ＲＡＭと、ＲＯＭと、ＵＡＲＴと、ＧＰＩＯとは、それぞれ、ＣＰ
Ｕに接続されている。
【００８７】
低速無線通信モジュール１９０６は、アンテナ１１０７と接続されている。低速無線通信モジュール１９０６は、低速無線通信ネットワークＺにおける消費電力測定器との間の通信を制御する。低速無線通信モジュール１９０６は、ＣＰＵと、ＲＡＭと、ＲＯＭと、ＵＡＲＴと、ＧＰＩＯと、無線ＲＦ（Radio  Frequency）部で構成される。ＲＡＭと、Ｒ
ＯＭと、ＵＡＲＴと、ＧＰＩＯとは、それぞれ、ＣＰＵに接続されている。
【００８８】
タブレット端末１００９は、以上のような構成を有することにより、モニタ１００１とパーソナルコンピュータ１００３とタブレット端末１００８を用いた構成の場合と同様の効果を奏する。
【００８９】
（ｆ２．第２の変形例）
上記においては、パーソナルエリアネットワークとしてＺｉｇＢｅｅ（登録商標）を例に挙げて説明したが、これに限定されるものではない。パーソナルエリアネットワークとして、マルチホップをサポートするような他の通信方式にも適用することができる。
【００９０】
＜Ｇ．低速無線通信モジュール２１２０の機能構成＞
図１１は、低速無線通信モジュール２１２０の機能構成を表わした図である。図１１を参照して、低速無線通信モジュール２１２０は、通信部２１２０１と、参加要求部２１２０２と、第１判断部２１２０３と、第２判断部２１２０４と、機能切替部２１２０５と、通知部２１２０６とを含む。
【００９１】
通信部２１２０１は、ネットワークＺ（図１参照）において、他のノードと通信する。参加要求部２１２０２は、通信部２１２０１を介して、ネットワークＺのコーディネータに対して当該ネットワークＺへの参加の要求を送信する。
【００９２】
本実施の形態では、上記のように、通信部２１２０１は、ネットワークＺにおいて、エンドデバイスとルータのいずれとしても機能できる。このため、ネットワークＺにおける通信方式としてＺｉｇＢｅｅ（登録商標）が採用された場合、通信部２１２０１を実現する物理デバイスは、ＩＥＥＥ  ８０２．１５．４の規定に従ってフル機能を備えた、ＦＦＤ（Ｆｕｌｌ−Ｆｕｎｃｔｉｏｎ  Ｄｅｖｉｃｅ）である。
【００９３】
第２判断部２１２０４は、通信部２１２０１が受信した情報の内容に基づいて、通信部２１２０１を、ネットワークＺにおいてエンドデバイスとして機能させるか、または、ルータとして機能させるかを判断する。第２判断部２１２０４は、当該判断結果を、機能切替部２１２０５へ出力する。機能切替部２１２０５は、第２判断部２１２０４から受信した判断結果に基づいて、通信部２１２０１の機能を、エンドデバイスまたはルータのいずれかに設定する。
【００９４】
本実施の形態では、タップ１００４の初期状態では、通信部２１２０１の機能は、エンドデバイスである。そして、第１判断部２１２０３は、所定の条件が成立した場合に、通信部２１２０１をルータとして一時的に機能させ、さらに、当該所定の条件が成立していない場合に、通信部２１２０１の機能をエンドデバイスに戻す。本実施の形態では、上記所定の条件は、たとえば、ネットワークＺ内でタップ１００４の通信相手となっているノードと当該タップ１００４との距離が特定の距離以上であることである。
【００９５】
第１判断部２１２０３は、上記所定の条件が成立しているか否かを判断する。当該判断の結果に応じて、機能切替部２１２０５は、通信部２１２０１の機能をルータとエンドデバイスとの間で切替える。本明細書では、低速無線通信モジュール２１２０における通信部２１２０１の機能（ルータまたはエンドデバイス）を、ネットワークＺ内でのタップ１００４の機能として言及する場合がある。
【００９６】
つまり、本実施の形態では、第１判断部２１２０３は、タップ１００４の機能をエンドデバイスからルータに一時的に切り替えるか否かを判断する。タップ１００４の機能がルータに切り替えられると、第２判断部２１２０４は、タップ１００４の機能をルータで維持するかエンドデバイスに切り替えるかを判断する。
【００９７】
通知部２１２０６は、通信部２１２０１による通信部２１２０１の機能の切替の結果を、通信部２１２０１を介して、ネットワークＺのコーディネータへ通知する。
【００９８】
通信部２１２０１は、たとえば無線ＲＦ部２１２５によって実現される。参加要求部２１２０２、第１判断部２１２０３、第２判断部２１２０４、機能切替部２１２０５、および、通知部２１２０６は、たとえば、ＣＰＵ２１２１が所定のプログラムを実行することにより、実現される。
【００９９】
低速無線通信モジュール２１２０における各要素の機能を、より具体的に説明する。
低速無線通信モジュール２１２０の通信動作開始時に、参加要求部２１２０２は、通信部２１２０１を介してＨｅｌｌｏパケットを送信する等して、ネットワークＺへの参加を要求する。低速無線通信モジュール２１２０の通信動作開始時とは、たとえば、タップ１００４への電力の供給が開始される時や、タップ１００４においてリセットボタン等の所定の操作部に対する操作がなされた時である。この状態では、通信部２１２０１の機能は、エンドデバイスである。
【０１００】
タップ１００４のネットワークＺへの参加が完了すると、第１判断部２１２０３が、上記した所定の条件が成立しているか否かを判断する。そして、第１判断部２１２０３は、当該所定の条件が成立していると判断すると、機能切替部２１２０５に、通信部２１２０１の機能をエンドデバイスからルータへと切替える指示を出力する。これに応じて、通知部２１２０６は、通信部２１２０１を介して、ネットワークＺのコーディネータに、通信部２１２０１の機能は、エンドデバイスからルータへと切替えられたことを通知する。
【０１０１】
通信部２１２０１がルータとして機能しているとき、第２判断部２１２０４は、ネットワークＺ内でタップ１００４の通信相手となっているノードと当該タップ１００４との距離が特定の距離以上であるかどうかを判断する。本実施の形態では、第２判断部２１２０４は、通信部２１２０１が受信する信号の電波強度が特定の強度未満であるか否かにより、通信相手との距離が上記特定の距離以上であるか否かを判断する。より具体的には、第２判断部２１２０４は、上記電波強度が特定の強度以下である場合には、上記通信相手との距離が上記特定の距離以上であると判断する。一方、第２判断部２１２０４は、上記電波強度が上記特定の強度を超える場合には、上記通信相手との距離が上記特定の距離未満であると判断する。
【０１０２】
そして、第２判断部２１２０４は、上記通信相手とタップ１００４との距離が上記特定の距離以上であると判断すると、通信部２１２０１の機能をルータで維持する。一方、第２判断部２１２０４は、上記通信相手とタップ１００４との距離が上記特定の距離未満であると判断すると、通信部２１２０１の機能をエンドデバイスに戻すことを、機能切替部２１２０５へ指示する。これに応じて、通知部２１２０６は、通信部２１２０１を介して、ネットワークＺのコーディネータに、通信部２１２０１の機能がルータからエンドデバイスへ切替えられたことを通知する。
【０１０３】
通信部２１２０１の機能がエンドデバイスに戻されると、再度、第１判断部２１２０３は、上記所定の条件が成立しているか否かを、判断する。
【０１０４】
以上説明したように、本実施の形態では、タップ１００４（低速無線通信モジュール２１２０）の初期状態では、通信部２１２０１は、エンドデバイスとして機能する。
【０１０５】
通信部２１２０１がエンドデバイスとして機能している期間中は、第１判断部２１２０３が、上記所定の条件が成立しているか否かを判断する。そして、第１判断部２１２０３は、当該所定の条件が成立していると判断すると、通信部２１２０１の機能をエンドデバイスからルータへと切替える。
【０１０６】
通信部２１２０１の機能がルータへと切替えられると、第２判断部２１２０４は、タップ１００４とその通信相手との距離が上記特定の距離以上であるか否かを判断する。そして、上記距離が上記特定の距離未満であると判断すると、第２判断部２１２０４は、通信部２１２０１の機能を、ルータからエンドデバイスへと切替える。
【０１０７】
＜Ｈ．タップにおける機能切替処理の概要＞
次に、図１２を参照して、タップ１００４が、自機の機能をエンドデバイスとするかルータとするかを決定するための処理（機能切替処理）の概要を説明する。
【０１０８】
図１２には、ネットワークＺの３つの状態が示されている。図１２（Ａ）は、ネットワーク構築の初期状態を示し、図１２（Ｂ）は、ネットワークＺにおいて再構築が行なわれている状態を示し、そして、図１２（Ｃ）は、当該再構築後のネットワークＺの状態を示す。
【０１０９】
図１２（Ａ）〜図１２（Ｃ）のそれぞれには、ＺｉｇＢｅｅ（登録商標）のネットワークを構成するノードとして、モニタ１００１とタップ１００４ａ，１００４ｂ，１００４ｃとが示されている。このうち、モニタ１００１は、ＺｉｇＢｅｅ（登録商標）のネットワークにおいて、コーディネータとして機能する。そして、タップ１００４ａ，１００４ｂ，１００４ｃは、エンドデバイスまたはルータとして機能する。
【０１１０】
まず、図１２（Ａ）を参照して、ネットワーク構築の初期状態では、タップ１００４ａ，１００４ｂ，１００４ｃは、すべて、エンドデバイスとして動作（機能）する。つまり、タップ１００４ａ，１００４ｂ，１００４ｃは、いずれも、コーディネータであるモニタ１００１に、ネットワークへの参加要求を出力することになる。
【０１１１】
図１２（Ａ）では、タップ１００４ａ，１００４ｂ，１００４ｃのうち、タップ１００４ｃは、コーディネータであるモニタ１００１から離れ過ぎているため、モニタ１００１と通信できず、ネットワークに参加できない状態である。
【０１１２】
次に、図１２（Ｂ）を参照して、タップ１００４ａ，１００４ｂ，１００４ｃのうち、ネットワークに参加できた各タップ（タップ１００４ａとタップ１００４ｂ）は、コーディネータであるモニタ１００１と自機との距離を算出する。当該距離の算出は、赤外線を利用した非接触の手法などの光学的手法によって実現される場合もあれば、モニタ１００１から受信する信号の電波強度を取得し、当該電波強度を予め定められた関係に基づいて変換することによって実現される場合もある。
【０１１３】
本実施の形態では、コーディネータと特定の距離以上離れているノードは、エンドデバイスからルータへとその機能を切替える。特定の距離とは、たとえば、ＺｉｇＢｅｅ（登録商標）ネットワーク内の他の機器と通信可能な最大の距離または、当該最大の距離より若干短い距離である。つまり、特定の距離に存在するノードは、ＺｉｇＢｅｅ（登録商標）ネットワークが可能なエリアと当該ネットワークが不能なエリアとの境界またはその近傍に位置する。
【０１１４】
図１２（Ｂ）の例では、タップ１００４ａとモニタ１００１の距離は、上記特定の距離未満であるが、タップ１００４ｂとモニタ１００１との距離は、上記特定の距離以上である。これにより、タップ１００４ｂは、自機の機能をルータへと切替える。
【０１１５】
タップ１００４ｂは、タップ１００４ｃと、無線通信が可能な距離の範囲内にある。したがって、タップ１００４ｂは、タップ１００４ｃからのネットワークへの参加要求を受信し、モニタ１００１へと転送する。
【０１１６】
当該転送により、図１２（Ｃ）に示されるように、タップ１００４ｃは、タップ１００４ｂを介して、ネットワークＺへ参加できるようになる。
【０１１７】
図１２（Ａ）〜図１２（Ｃ）を参照して説明したように、本実施の形態では、ネットワークＺ内のコーディネータ以外のノードを、すべてルータとして機能させるのではなく、コーディネータとの距離が無線通信が可能であり、かつ、上記特定の距離以上であるノードのみを、ルータとして機能させる。これにより、ネットワークの通信可能範囲の境界（またはその近傍）に位置するノードのみを、選択的に、ルータとして機能させることができる。これにより、ネットワーク通信が不能な位置にあるノードをネットワークへ参加させることができる。また、存在するノードのうちの一部のみが、ルータへとその機能が切替えられる。これにより、ネットワーク全体としての消費電力を、極力抑えることができる。特に、図１２（Ｂ）を参照して説明されたネットワークの再構築は、エンドデバイスとして機能しているタップ１００４において定期的に参照電波強度が算出されることにより、定期的に実行される。これにより、動的に、タップ１００４の機能を切り替えることができる。
【０１１８】
＜Ｉ．機能切替処理のフロー＞
図１３は、図１２（Ａ）に示したように、ネットワークに参加することができたノード（タップ１００４ａとタップ１００４ｂ）のそれぞれにおいて、実行される機能切替処理のフローチャートである。
【０１１９】
図１３を参照して、ネットワークへの参加のための処理が完了すると、ステップＳ１００で、ＣＰＵ２１２１（図５参照）は、上記ネットワーク内の通信による信号の電波強度を取得し、取得した当該電波強度に基づいて、参照電波強度を算出する。なお、このとき、ＣＰＵ２１２１は、タップ１００４の機能をエンドデバイスに設定する。
【０１２０】
参照電波強度とは、ステップＳ１００で取得した電波強度の、数回分（たとえば、５回や１０回）の平均値である。
【０１２１】
次に、ステップＳ１１０で、ＣＰＵ２１２１は、ステップＳ１１０で取得した参照電波強度が、予め定められた閾値を超えているか否かを判断する。そして、ＣＰＵ２１２１は、上記参照電波強度が閾値を超えていると判断するとステップＳ１２０へ処理を進める。一方、ＣＰＵ２１２１は、上記参照電波強度が閾値以下であると判断するとステップＳ１３０へ処理を進める。
【０１２２】
ステップＳ１２０では、ＣＰＵ２１２１は、一定時間（たとえば、５００ｍｓｅｃ程度）待機した後、ステップＳ１００へ処理を戻す。なお、ステップＳ１２０では、ＣＰＵ２１２１は、タップ１００４の機能をエンドデバイスに設定する。
【０１２３】
一方、ステップＳ１３０では、ＣＰＵ２１２１は、タップ１００４の機能をルータに変更して、ステップＳ１４０へ処理を進める。
【０１２４】
次に、ステップＳ１４０では、ＣＰＵ２１２１は、他のノードのネットワークへの参加を許可する状態（以下、「参加許可状態」という）へと移行する。参加許可状態では、ＣＰＵ２１２１は、他のルータからＨｅｌｌｏパケットを受信する等してネットワークへの参加の要求を受信すると、コーディネータであるモニタ１００１に対して当該要求を転送する。
【０１２５】
次に、ステップＳ１５０では、ＣＰＵ２１２１は、ステップＳ１４０でタップ１００４が参加許可状態に移行してから、予め定められた参加許可時間が経過したか否かを判断する。そして、ＣＰＵ２１２１は、当該参加許可時間が経過したと判断すると、ステップＳ１６０へ処理を進める。なお、参加許可時間は、たとえば、６０ｓｅｃ程度とされる。
【０１２６】
ステップＳ１６０では、ＣＰＵ２１２１は、タップ１００４を他のノードのネットワークへの参加を禁止する状態（以下、「参加禁止状態」という）として、ステップＳ１７０へ処理を進める。参加禁止状態では、ＣＰＵ２１２１は、他のノードからネットワークへの参加要求を受信しても、モニタ１００１へ当該要求を転送しない。
【０１２７】
ステップＳ１７０では、ＣＰＵ２１２１は、ステップＳ１００と同様に、タップ１００４がネットワーク内の他のノードから受信する信号の電波強度を取得して、ステップＳ１８０へ処理を進める。
【０１２８】
ステップＳ１８０では、ＣＰＵ２１２１は、ステップＳ１７０で取得した電波強度に基づいて、ステップＳ１００と同様に参照電波強度を算出して、ステップＳ１１０へ処理を戻す。
【０１２９】
第１の実施の形態のＣＰＵ２１２１は、たとえば、コンセント１０１５（図１参照）から取り外されることにより電力の供給を停止されるまで、図１３に示された処理を継続して実行する。
【０１３０】
以上、図１３を参照して説明した機能切替処理によれば、タップ１００４は、その参照電波強度が予め定められた閾値を超えている場合には、エンドデバイスとして機能する。一方、タップ１００４は、その参照電波強度が上記閾値以下である場合には、ルータとして機能する。ルータとして機能しているタップ１００４は、参加許可時間だけ、他のノードのネットワークへの参加を許可する。他のノードのネットワークへの参加を許可することは、他のノードからのネットワークへの参加要求をモニタ１００１に転送することを意味する。
【０１３１】
タップ１００４の参照電波強度が閾値を超えているということは、当該タップ１００４と当該タップ１００４のネットワーク内での通信相手との距離が特定の距離未満であることに対応する。無線通信では、通信する端末間の距離が短くなるほど、送受信される信号の各端末における電波強度は高くなる傾向にあるからである。タップ１００４の参照電波強度が上記閾値以下であるということは、当該タップ１００４と当該タップ１００４の通信相手のノードとの距離が特定の距離以上であることを意味する。
【０１３２】
図１３の処理では、参照電波強度が閾値を超えていれば、タップ１００４はルータとして機能する（ステップＳ１１０，Ｓ１３０）。一方、参照電波強度が閾値を超えていれば、当該タップ１００４はエンドデバイスとして機能する（ステップＳ１１０，Ｓ１２０）。
【０１３３】
ステップＳ１１０，Ｓ１３０〜Ｓ１８０の処理として説明されたように、ＣＰＵ２１２１は、参照電波強度が閾値以下であることを条件として、タップ１００４を一時的にルータとして機能させる。
【０１３４】
そして、参照電波強度が閾値未満である状態が維持されていれば、タップ１００４の機能をルータで維持させる。このことは、ステップＳ１８０からステップＳ１１０へ処理が戻された後、当該ステップＳ１１０からステップＳ１３０へ処理が進められることに対応する。一方、ステップＳ１１０へ処理が戻された後、上記参照電波強度が閾値を超えれば、タップ１００４の機能は、ルータからエンドデバイスへと戻される。
【０１３５】
なお、図１３の処理では、参照電波強度は、複数回の電波強度に基づいて算出される。これにより、タップ１００４における電波強度の測定値が、測定されるごとに変動する場合であっても、当該変動を緩和して、ステップＳ１２０での判断を行なうことができる。
【０１３６】
また、図１３の処理では、一度ステップＳ１２０において参照電波強度が閾値以下と判断されても、ステップＳ１８０まで処理が実行された後、再度、ステップＳ１２０における判断が実行される。これにより、タップ１００４の通信環境が、当該タップ１００４の近傍を人が通過する等のように一時的に変化した場合や、タップ１００４の近傍に家具が配置される等のように継続的に変化した場合でも、動的に、タップ１００４は、その機能を切り替えることができる。
【０１３７】
図１４は、図１３を参照して説明した機能切替処理における、タップ１００４とモニタ１００１との間の信号の送受信のシーケンス図である。
【０１３８】
タップ１００４が、電力供給を開始される等して起動すると、図１３のステップＳ１００の処理として説明されたように、タップ１００４の機能がエンドデバイスに設定される。これに応じて、図１４においてステップＳ１０で示されるように、タップ１００４は、モニタ１００１に、自機がエンドデバイスとして起動したことを通知する。
【０１３９】
これに続いて、図１４においてステップＳ１２で示されるように、タップ１００４は、自機の初期設定を行なう。
【０１４０】
ステップＳ１０の通知に応じて、図１４においてステップＳ１４で示されるように、モニタ１００１は、タップ１００４に、設定情報を送信する。当該設定情報は、エンドデバイスとしての閾値および待機時間を含む。
【０１４１】
その後、タップ１００４は、自機の電波強度を取得し（ステップＳ１６）、参照電波強度を算出する（ステップＳ１８）。図１３では、電波強度の取得は、ステップＳ１００やステップＳ１７０の処理として説明された。参照電波強度の算出は、ステップＳ１００やステップＳ１８０の処理として説明された。
【０１４２】
そして、当該参照電波強度が、閾値を超えていれば、タップ１００４は、自機の状態（機能）をエンドデバイスに設定した後、一定時間、スリープ状態で待機する。これらの処理は、図１３では、ステップＳ１１０とステップＳ１２０の処理として説明された。また、上記一定時間は、たとえば、モニタ１００１がステップＳ１４において送信した設定情報によって定められる。タップ１００４は、エンドデバイスとして機能しているとき、一定時間スリープ状態に移行した後、ウェイク状態に移行し、再度、電波強度の取得（ステップＳ１６）や参照電波強度の算出（ステップＳ１８）、そして、当該参照電波強度が閾値を超えているかどうかの判断等を行なう。
【０１４３】
一方、参照電波強度が閾値以下であれば、タップ１００４は、自機の状態（機能）をルータに設定する（ステップＳ２２）。この処理は、図１２のステップＳ１３０の処理に対応する。また、タップ１００４は、自機の機能をルータに変更したことを、モニタ１００１へ通知する（ステップＳ２４）。
【０１４４】
タップ１００４は、自機の機能をルータに設定した後、参加許可時間（ステップＳ１５０）の期間、他のノードのネットワークへの参加を許可する（ステップＳ２６）。その後、タップ１００４は、他のノードのネットワークへの参加を禁止する状態へと移行し（ステップＳ２８）、予め定められた特定の時間（図１４中の「待機時間」）だけ待機する（ステップＳ３０）。他のノードのネットワークへの参加の許可および禁止は、図１３のステップＳ１４０〜ステップＳ１６０の処理に対応する。
【０１４５】
その後、ステップＳ１６に処理が戻される。そして、タップ１００４は、参照電波強度し、当該参照電波強度に基づいて、自機の状態（機能）をルータで維持するか、エンドデバイスに切替えるかを判断する。タップ１００４は、自機の機能をルータで維持する場合には、ステップＳ１６に処理を移行させる。また、タップ１００４は、自機の機能をエンドデバイスに切替える場合には、ステップＳ２０に処理を移行させる。
【０１４６】
［第２の実施の形態］
＜タップ１００４の機能の概要＞
第１の実施の形態の説明では、図１１を参照して、タップ１００４の機能が述べられた。第２の実施の形態は、第１の実施の形態に対して、タップ１００４の機能の要素において、当該機能の実現態様が異なる。
【０１４７】
より具体的には、第２の実施の形態でも、第１判断部２１２０３は、タップ１００４の機能をエンドデバイスからルータに一時的に切り替えるか否かを判断する。タップ１００４の機能がルータに切り替えられると、第２判断部２１２０４は、タップ１００４の機能をルータで維持するかエンドデバイスに切り替えるかを判断する。
【０１４８】
第１の実施の形態のタップ１００４では、第２判断部２１２０４は、タップ１００４とネットワークＺ内の通信相手との距離に基づいて、当該タップ１００４をルータとして機能させるかエンドデバイスとして機能させるかを判断した。第２の実施の形態のタップ１００４では、第２判断部２１２０４は、当該タップ１００４を介してネットワークＺに接続する他のノードが存在するか否かに基づいて、当該タップ１００４をルータとして機能させるかエンドデバイスとして機能させるかを判断する。
【０１４９】
より具体的には、タップ１００４は、自機を介してネットワークＺへ接続するノードが存在する場合には、自機の機能を継続してルータに設定する。一方、タップ１００４は、自機を介してネットワークＺへ接続するルータが存在しないと判断すると、自機の機能をエンドデバイスへ切替える。
【０１５０】
また、本実施の形態においても、タップ１００４は、初期状態では、エンドデバイスとして機能する。そして、第１判断部２１２０３は、所定の条件が成立した場合に、タップ１００４を一時的にルータとして機能させ、さらに、当該所定の条件が成立していない場合に、タップ１００４の機能をエンドデバイスに戻す。第２の実施の形態では、上記所定の条件は、たとえば、タップ１００４がエンドデバイスとして機能を開始してから一定時間が経過したことである。つまり、第２の実施の形態のタップ１００４では、第１判断部２１２０３は、タップ１００４の機能がエンドデバイスに設定され、または、切替えられてから、一定時間が経過したか否かを判断し、経過したと判断する。第１判断部２１２０３が当該一定時間が経過したと判断すると、機能切替部２１２０５は、タップ１００４の機能をルータへと切替える。
【０１５１】
＜タップにおける機能切替処理の概要＞
次に、図１５を参照して、第２の実施の形態のタップ１００４が実行する機能切替処理の概要を説明する。
【０１５２】
図１５には、ネットワークＺの３つの状態が示されている。図１５（Ａ）は、ネットワーク構築の初期状態を示し、図１５（Ｂ）は、ネットワークＺにおいて再構築が行なわれている状態を示し、そして、図１５（Ｃ）は、当該再構築後のネットワークＺの状態を示す。
【０１５３】
図１５（Ａ）〜図１５（Ｃ）のそれぞれには、ＺｉｇＢｅｅ（登録商標）のネットワークを構成するノードとして、モニタ１００１とタップ１００４ａ，１００４ｂ，１００４ｃとが示されている。このうち、モニタ１００１は、ＺｉｇＢｅｅ（登録商標）のネットワークにおいて、コーディネータとして機能する。そして、タップ１００４ａ，１００４ｂ，１００４ｃは、エンドデバイスまたはルータとして機能する。
【０１５４】
まず、図１５（Ａ）を参照して、ネットワーク構築の初期状態では、タップ１００４ａ，１００４ｂ，１００４ｃは、すべて、エンドデバイスとして動作（機能）する。つまり、タップ１００４ａ，１００４ｂ，１００４ｃは、いずれも、コーディネータであるモニタ１００１に、ネットワークへの参加要求を出力することになる。
【０１５５】
図１５（Ａ）では、タップ１００４ａ，１００４ｂ，１００４ｃのうち、タップ１００４ｃは、コーディネータであるモニタ１００１から離れ過ぎているため、モニタ１００１と通信できず、ネットワークに参加できない状態である。
【０１５６】
次に、図１５（Ｂ）を参照して、タップ１００４ａ，１００４ｂ，１００４ｃのうち、ネットワークに参加できた各タップ（タップ１００４ａとタップ１００４ｂ）は、所定時間毎に、その機能をルータへと切替え、他のノードからのネットワークＺへの参加要求を受信する。これにより、タップ１００４ｂは、タップ１００４ｃからの、ネットワークＺへの参加要求を受信できる。タップ１００４ｂは、タップ１００４ｃから上記参加要求を受信すると、当該参加要求をモニタ１００１へ転送する。
【０１５７】
当該転送により、図１５（Ｃ）に示されるように、タップ１００４ｃは、タップ１００４ｂを介して、ネットワークＺへ参加できるようになる。
【０１５８】
タップ１００４ｂは、タップ１００４ｃからネットワークＺへの参加要求を受信したことにより、その機能をルータとして維持させる。一方、タップ１００４ａは、参加要求を受信しなければ、その機能をエンドデバイスに戻す。
【０１５９】
なお、タップ１００４ｂが参加要求を受けた後、当該参加要求を受けたタップ（タップ１００４ｃ）のネットワークへの接続が維持されれば、タップ１００４ｂの機能もルータに維持される。一方、タップ１００４ｃのネットワークへの接続が中止されれば、タップ１００４ｂの機能はエンドデバイスへと戻される。タップ１００４ｃのネットワークへの接続が維持されているか否かの判断は、たとえば、特定時間ごとに行なわれる。
【０１６０】
第２の実施の形態では、上記所定時間と上記特定時間は、同じ長さ（後述する「状態切替タイマ」のカウント値のインクリメントが開始されてから後述する「閾値」に達するまでの時間）とされる。ただし、これらは同じ長さにされる必要は無い。
【０１６１】
図１５（Ａ）〜図１５（Ｃ）を参照して説明された第２の実施の形態では、ネットワークＺ内のコーディネータ以外のノードを、常時ルータとして機能させるのではなく、一定時間毎にルータとして機能させる。そして、ルータとして機能している期間中に他のノードからのネットワークＺへの参加要求を受けたノードは、継続してルータとして機能する。一方、他のノードから上記参加要求を受けなかったノードは、その機能をエンドデバイスに戻される。さらに、図１５（Ｂ）を参照して説明されたネットワークの再構築は、特定時間ごとに実行される。これにより、ネットワークにおいて必要最小限のノードを、選択的に、継続してルータとして機能させることができる。したがって、ネットワーク通信が不能な位置にあるノードが、ネットワークへ参加できる。また、一部のノードのみが、継続してルータとして機能するため、すべてのノードが常時ルータとして機能する場合よりも、ネットワーク全体としての消費電力を、極力抑えることができる。
【０１６２】
＜機能切替処理のフロー＞
図１６は、図１５（Ａ）に示したように、ネットワークに参加することができたノード（タップ１００４ａとタップ１００４ｂ）のそれぞれにおいて、実行される機能切替処理のフローチャートである。
【０１６３】
図１６を参照して、ネットワークへの参加のための処理が完了すると、ステップＳ２００で、ＣＰＵ２１２１（図５参照）は、状態切替タイマについての閾値を設定し、ステップＳ２１０へ処理を進める。状態切替タイマとは、たとえば、ＣＰＵ２１２１が計時動作を実行することによって実現される。なお、ステップＳ２００では、ＣＰＵ２１２１は、タップ１００４の機能をエンドデバイスに設定する。
【０１６４】
ステップＳ２１０では、ＣＰＵ２１２１は、状態切替タイマのカウント値を予め定められた単位の値だけインクリメントして、ステップＳ２２０へ処理を進める。
【０１６５】
ステップＳ２２０では、ＣＰＵ２１２１は、状態切替タイマのカウント値がステップＳ２００で設定した閾値に達したか否かを判断し、達したと判断すると、ステップＳ２４０へ処理を進める。一方、ＣＰＵ２１２１は、切替タイマのカウント値が上記閾値に達していないと判断すると、ステップＳ２３０へ処理を進める。なお、ＣＰＵ２１２１は、ステップＳ２２０で、状態切替タイマのカウント値をリセットする。
【０１６６】
ステップＳ２３０では、ＣＰＵ２１２１は、一定時間（たとえば、５００ｍｓｅｃ程度）待機した後、ステップＳ２１０へ処理を戻す。
【０１６７】
ステップＳ２４０では、ＣＰＵ２１２１は、タップ１００４の機能をルータに変更して、ステップＳ２５０へ処理を進める。
【０１６８】
ステップＳ２５０では、ＣＰＵ２１２１は、他のノードのネットワークへの参加を許可する状態（参加許可状態）へと移行する。
【０１６９】
次に、ステップＳ２６０で、ＣＰＵ２１２１は、ステップＳ２５０でタップ１００４が参加許可状態に移行してから、予め定められた参加許可時間が経過したか否かを判断する。そして、ＣＰＵ２１２１は、当該参加許可時間が経過したと判断すると、ステップＳ２７０へ処理を進める。なお、参加許可時間は、たとえば、６０ｓｅｃ程度とされる。
【０１７０】
ステップＳ２７０では、ＣＰＵ２１２１は、当該ＣＰＵ２１２１を搭載するタップ１００４に対して、新規のノードが接続されたか否かを判断し、接続されたと判断するとステップＳ２８０へ、接続されていないと判断するとステップＳ３００へ、それぞれ処理を進める。新規のノードとは、新たに、ステップＳ２７０を実行するＣＰＵ２１２１を搭載するタップ１００４を介して、ネットワークＺに接続するノードである。より具体的には、ステップＳ２７０では、ＣＰＵ２１２１は、ステップＳ２５０において、他のノードから受信した接続要求をモニタ１００１へ送信したか否かを判断し、送信したと判断するとステップＳ２８０へ、送信していないと判断するとステップＳ３００へ、それぞれ処理を進める。
【０１７１】
ステップＳ２８０では、ＣＰＵ２１２１は、タップ１００４を他のノードのネットワークへの参加を禁止する状態（参加禁止状態）として、ステップＳ２９０へ処理を進める。
【０１７２】
ステップＳ２９０では、ＣＰＵ２１２１は、タップ１００４の機能をルータに維持したまま一定時間待機した後、ステップＳ２１０へ処理を戻す。
【０１７３】
タップ１００４の機能がルータに維持された状態でステップＳ２１０へ処理が戻されると、ＣＰＵ２１２１は、再度、状態切替タイマの計時時間が上記閾値に達するまで待機し（ステップＳ２１０〜ステップＳ２３０）、参加許可時間だけ他のノードからのネットワークＺへの接続要求を受け付け（ステップＳ２５０，ステップＳ２６０）、そして、ステップＳ２７０の判断を実行する。
【０１７４】
二回目以降のステップＳ２７０では、ＣＰＵ２１２１は、当該ＣＰＵ２１２１を備えるタップ１００４を介してネットワークＺに接続するノードが存在するか否かが判断する。タップ１００４を介してネットワークＺに接続するノードが存在することは、それまでに実行されたステップＳ２５０のいずれかにおいて、他のノードからネットワークＺへの接続要求を受信したことに加え、当該他のノードのネットワークＺへの接続が維持されているかどうかを判断する。「それまでに実行されたステップＳ２５０のいずれかにおいて」とは、二回目以降のステップＳ２７０が実行されている時点で、直前に実行されたステップＳ２５０のみでなく、それまでに実行されたステップＳ２５０のいずれかにおいて、ということを意味する。
【０１７５】
第２の実施の形態のＣＰＵ２１２１は、たとえば、コンセント１０１５（図１参照）から取り外されることにより電力の供給を停止されるまで、図１６に示された処理を継続して実行する。
【０１７６】
以上、図１６を参照して説明した機能切替処理では、タップ１００４がルータとして機能しているときに、他のノードが当該タップ１００４を介してネットワークＺに接続しているか否かが判断された。この判断は、第２判断部２１２０４の機能に対応する。そして、そのような「他のノード」が存在する場合には、当該タップ１００４の機能は、ルータで維持される（ステップＳ２８０）。一方、そのような「他のノード」が存在しない場合には、タップ１００４の機能は、エンドデバイスへと切り替えられる（ステップＳ３００）。
【０１７７】
また、ステップＳ２００またはステップＳ３００においてタップ１００４の機能がエンドデバイスに設定された場合、その時点から、状態切替タイマのカウント値が上記閾値に達したか否かが判断される。この判断は、第１判断部２１２０３の機能に対応する。そして、状態切替タイマのカウント値が上記閾値に達すると、タップ１００４の機能がルータに切り替えられる（ステップＳ２４０）。
【０１７８】
本実施の形態では、第１判断部２１２０３と第２判断部２１２０４の判断において参照される時間は、いずれも、状態切替タイマのカウントが開始されてからそのカウント値が上記閾値に達するまでとされている。なお、各判断部における判断において参照される時間は、同じ長さでなくても良い。
【０１７９】
図１７は、図１６を参照して説明した機能切替処理における、タップ１００４とモニタ１００１との間の信号の送受信のシーケンス図である。
【０１８０】
タップ１００４が、電力供給を開始される等して起動すると、図１６のステップＳ１００の処理として説明されたように、タップ１００４の機能がエンドデバイスに設定される。これに応じて、図１７においてステップＳ５０で示されるように、タップ１００４は、モニタ１００１に、自機がエンドデバイスとして起動したことを通知する。
【０１８１】
これに続いて、図１７においてステップＳ５２で示されるように、タップ１００４は、自機の初期設定を行なう。
【０１８２】
ステップＳ１０の通知に応じて、図１７においてステップＳ５４で示されるように、モニタ１００１は、タップ１００４に、設定情報を送信する。当該設定情報は、エンドデバイスとしての閾値および待機時間を含む。
【０１８３】
その後、タップ１００４は、図１６のステップＳ２１０の処理として説明されたように、状態切替タイマのカウント値のインクリメント（ステップＳ５６）と一定時間の待機（ステップＳ５８）とを繰返す。一定時間とは、図１６のステップＳ２３０において説明された一定時間である。
【０１８４】
そして、状態切替タイマのカウント値が上記した閾値に達すると、タップ１００４は、自機の機能をルータへと変更する（ステップＳ６０）。この処理は、図１６においてステップＳ２２０およびステップＳ２４０の処理として説明された処理に対応する。また、タップ１００４は、自機の当該機能の変更を、モニタ１００１に対して通知する（ステップＳ６２）。
【０１８５】
そして、タップ１００４は、参加許可時間が経過するまで、参加許可状態になる（ステップＳ６４）。この処理は、図１６においてステップＳ２５０とステップＳ２６０の処理として説明された処理に対応する。
【０１８６】
その後、タップ１００４は、一定時間待機し（ステップＳ６６）、そして、自機を介してネットワークＺに接続する他のノードがなければ、自機の機能（状態）をエンドデバイスに変更する（ステップＳ６８）。これらの処理は、図１６においてステップＳ２７０とステップＳ３００の処理として説明された処理に対応する。また、タップ１００４は、このときの機能（状態）の変更を、モニタ１００１に通知する（ステップＳ７０）。一方、タップ１００４は、自機を介してネットワークＺに接続する他のノードがあれば、自機の機能をエンドデバイスに変更することなく、参加禁止状態に移行した後、一定期間待機する（ステップＳ３２，ステップＳ３４）。
【０１８７】
［比較例］
次に、図１８および図１９を参照して、第１の実施の形態および第２の実施の形態に対する比較例の実施の形態を説明する。
【０１８８】
比較例では、タップ１００４は、その初期状態から最初に状態切替タイマのカウント値が閾値に達すると、第２の実施の形態と同様に、自機の機能をルータに切替える。そして、タップ１００４は、自機を介してネットワークに接続している他のノードが存在する場合には、自機の機能をルータで維持し、当該他のノードが存在しない場合には、自機の機能をエンドデバイスへと切替える。ただし、比較例では、第２の実施の形態と異なり、タップ１００４は、その後は、自機を介してネットワークＺに接続するノードの有無に基づく自機の機能の切替を行なわない。
【０１８９】
＜機能切替の概要＞
図１８は、比較例の実施の形態のノードにおける機能切替の概要を説明するための図である。
【０１９０】
次に、図１８を参照して、第２の実施の形態のタップ１００４が実行する機能切替処理の概要を説明する。
【０１９１】
図１８には、ネットワークＺの３つの状態が示されている。図１８（Ａ）は、ネットワーク構築の初期状態を示し、図１８（Ｂ）は、ネットワークＺにおいて再構築が行なわれている状態を示し、そして、図１８（Ｃ）は、当該再構築後のネットワークＺの状態を示す。
【０１９２】
図１８（Ａ）〜図１８（Ｃ）のそれぞれには、ＺｉｇＢｅｅ（登録商標）のネットワークを構成するノードとして、モニタ１００１とタップ１００４ａ，１００４ｂ，１００４ｃとが示されている。このうち、モニタ１００１は、ＺｉｇＢｅｅ（登録商標）のネットワークにおいて、コーディネータとして機能する。そして、タップ１００４ａ，１００４ｂ，１００４ｃは、エンドデバイスまたはルータとして機能する。
【０１９３】
まず、図１８（Ａ）を参照して、ネットワーク構築の初期状態では、タップ１００４ａ，１００４ｂ，１００４ｃは、すべて、エンドデバイスとして動作（機能）する。つまり、タップ１００４ａ，１００４ｂ，１００４ｃは、いずれも、コーディネータであるモニタ１００１に、ネットワークへの参加要求を出力することになる。
【０１９４】
図１８（Ａ）では、タップ１００４ａ，１００４ｂ，１００４ｃのうち、タップ１００４ｃは、コーディネータであるモニタ１００１から離れ過ぎているため、モニタ１００１と通信できず、ネットワークに参加できない状態である。
【０１９５】
次に、図１８（Ｂ）を参照して、タップ１００４ａ，１００４ｂ，１００４ｃのうち、ネットワークに参加できた各タップ（タップ１００４ａとタップ１００４ｂ）は、ネットワークＺへの接続開始から特定時間後に、その機能をルータへと切替え、他のノードからのネットワークＺへの参加要求を受信する。これにより、タップ１００４ｂは、タップ１００４ｃからの、ネットワークＺへの参加要求を受信できる。タップ１００４ｂは、タップ１００４ｃから上記参加要求を受信すると、当該参加要求をモニタ１００１へ転送する。
【０１９６】
当該転送により、図１８（Ｃ）に示されるように、タップ１００４ｃは、タップ１００４ｂを介して、ネットワークＺへ参加できるようになる。
【０１９７】
一方、タップ１００４ａは、参加要求を受信しなければ、その機能をエンドデバイスに戻す。
【０１９８】
上記したように、比較例では、タップ１００４は、この後、自機の機能を切替えるか否かの判断を行なわない。
【０１９９】
したがって、たとえば、図１８（Ｃ）に示された状態から、タップ１００４ｃがネットワークＺへの接続を中止しても、タップ１００４ｂは、その機能をルータで維持する。このため、タップ１００４ｂは、ルータとして機能する必要が無いにも関わらず、ルータとして機能し続ける。結果として、タップ１００４ｂは、無駄にルータとして機能することにより無駄に電力を消費する。
【０２００】
また、たとえば、図１８（Ｃ）に示された状態から、モニタ１００１やタップ１００４ｂと直接通信できないがタップ１００４ａとは通信できる位置にある新たなタップ１００４がネットワークＺに接続するための要求を出力しても、タップ１００４ａは、その機能をエンドデバイスで維持しているため、当該接続要求を受信できない。仮に受信したとしても、タップ１００４ａは、当該接続要求をモニタ１００１へ転送できない。結果として、比較例のネットワークは、当該新たなタップ１００４をネットワークＺに参加させることができない。
【０２０１】
一方、第２の実施の形態では、これらの２つの不都合は、生じない。
具体的には、図１５（Ｃ）に示された状態から、タップ１００４ｃがネットワークＺへの接続を中止した場合、タップ１００４ｂは、ステップＳ２７０とステップＳ３００（図１６）の処理により、その機能をエンドデバイスへと切替える。このため、タップ１００４ｂは、ルータとして機能する必要が無い場合には、その機能をエンドデバイスへと切替える。したがって、タップ１００４ｂは、無駄にルータとして機能することにより無駄に電力を消費することを回避できる。
【０２０２】
また、図１５（Ｃ）に示された状態から、モニタ１００１やタップ１００４ｂと直接通信できないがタップ１００４ａとは通信できる位置にある新たなタップ１００４がネットワークＺに接続するための要求を出力した場合、タップ１００４ａは、当該新たなタップ１００４をネットワークＺに参加させることができる。タップ１００４ａは、ステップＳ２２０とステップＳ２４０により、その機能を一時的にルータとし、そして、ステップＳ２５０により、当該新たなタップ１００４の接続要求をモニタ１００１へ転送するからである。したがって、第２の実施の形態のネットワークＺは、比較例のネットワークがネットワークＺに参加させることができない新たなタップ１００４をネットワークＺに参加させることができる。
【０２０３】
＜機能切替処理のフロー＞
図１９は、図１８（Ａ）に示したように、ネットワークに参加することができたノード（タップ１００４ａとタップ１００４ｂ）のそれぞれにおいて、実行される機能切替処理のフローチャートである。
【０２０４】
図１９を参照して、ネットワークへの参加のための処理が完了すると、タップ１００４は自機の機能を、初期状態のエンドデバイスからルータに切替え、そして、ステップＳ９００で、参加許可状態へと移行する。このとき、ＣＰＵ２１２１は、モニタ１００１へ、当該ＣＰＵ２１２１を備えるタップ１００４の機能の変更を通知する。
【０２０５】
そして、ＣＰＵ２１２１は、予め定められたネットワーク構築時間（たとえば、６０ｓｅｃ程度）だけ、ネットワーク構築処理を実行する（ステップＳ９１０，ステップＳ９２０）。ここでのネットワーク構築処理は、他のノードからのネットワークＺへの参加要求を受付け、参加要求を受信した場合には、当該参加要求をモニタ１００１へと転送する処理である。
【０２０６】
そして、ステップＳ９３０で、ＣＰＵ２１２１は、当該ＣＰＵ２１２１を備えるタップ１００４に子タップが接続されているか否かを判断する。子タップとは、当該ＣＰＵ２１２１を備えるタップ１００４を介してネットワークＺへ接続するタップ１００４である。そして、ＣＰＵ２１２１は、子タップが存在すると判断すると、ステップＳ９４０へ処理を進める。一方、ＣＰＵ２１２１は、子タップが存在しないと判断すると、ステップＳ９６０へ処理を進める。
【０２０７】
ステップＳ９４０では、ＣＰＵ２１２１は、当該ＣＰＵ２１２１を備えるタップ１００４の機能（状態）をルータで維持したまま、ステップＳ９５０へ処理を進める。
【０２０８】
ステップＳ９５０では、ＣＰＵ２１２１は、参加禁止状態へと移行して、機能切替処理を終了する。
【０２０９】
一方、ステップＳ９６０では、ＣＰＵ２１２１は、当該ＣＰＵ２１２１を備えるタップ１００４の機能（状態）をエンドデバイスに変更して、機能切替処理を終了する。このとき、ＣＰＵ２１２１は、モニタ１００１へ、当該ＣＰＵ２１２１を備えるタップ１００４の機能の変更を通知する。
【０２１０】
［変形例（１）］
第１および第２の実施の形態では、初期状態において、タップ１００４の機能はエンドデバイスに設定された。なお、タップ１００４の初期状態では、その機能はルータとされても良い。
【０２１１】
［変形例（２）］
第１の実施の形態では、タップ１００４は、ネットワークＺ内の通信相手から受信した信号の電波強度が特定の閾値を超えているか否かによって、当該タップ１００４と当該通信相手の間の距離が特定の距離未満であるか否かが判断された。なお、タップ１００４は、当該通信相手から受信した信号等に基づいて当該通信相手を特定し、そして、当該特定された通信相手と自機の間の距離を、当該距離を直接的に計測する機器から取得しても良い。この場合、タップ１００４は、当該取得した距離に基づいて、自機の機能をルータに切り替えるか否かを決定する。
【０２１２】
より具体的には、タップ１００４は、ネットワークを介して、上記機器から上記距離を取得しても良いし、図２０に示されるように上記機器を備えていても良い。図２０は、図５に示されたハードウェア構成の変形例を表した図である。図２０では、上記機器が、測距センサ２１０８として示されている。測距センサ２１０８は、たとえば、赤外線や超音波等を利用して、非接触で、上記のように特定された通信相手とタップ１００４本体との距離を計測する。
【０２１３】
［変形例（３）］
図５を参照して説明されたように、ＣＰＵ２１２１が実行するプログラム等は、ＲＯＭ２１２２に格納されていても良いし、タップ１００４に対して着脱可能な記録媒体に記録されていても良い。
【０２１４】
この場合、タップ１００４は、図２１に示されるように、メディアドライブ２１０９をさらに備える。この例では、ＣＰＵ２１２１は、メディアドライブ２１０９を介して、記録媒体９０００に記録された情報を読込み、また、記録媒体９０００に情報を書込む。
【０２１５】
記録媒体９０００としては、ＣＤ−ＲＯＭ（Compact  Disk  -  Read  Only  Memory）、ＤＶＤ−ＲＯＭ（Digital  Versatile  Disk  -  Read  Only  Memory）、ＵＳＢ（Universal  Serial  Bus）メモリ、メモリカード、ＦＤ（Flexible  Disk）、ハードディスク、磁気テープ、カセットテープ、ＭＯ（Magnetic  Optical  Disk）、ＭＤ（Mini  Disk）、ＩＣ（Integrated  Circuit）カード（メモリカードを除く）、光カード、マスクＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ（Electronically  Erasable  Programmable  Read  Only  Memory）などの、不揮発的にプログラムを格納する媒体が挙げられる。
【０２１６】
［変形例（４）］
第１および第２の実施の形態では、無線通信端末の一例としてタップ１００４が挙げられた。なお、無線通信端末は、ネットワークに接続するための通信機能を有している端末であれば、タップに限定されない。
【０２１７】
無線通信端末を実現する装置としては、たとえば、スマートフォンや携帯電話機、ノート型パソコン、タブレット型端末等の種々の装置が挙げられる。
【０２１８】
［実施の形態の効果］
以上説明した無線通信ネットワークでは、当該無線通信ネットワークの構成の変化に応じて、無線通信端末の（通信部の）機能が、エンドデバイスとルータとの間で動的に変更される。
【０２１９】
これにより、無線通信ネットワークの構成によって変化が生じた場合であっても、無線通信端末の孤立を回避できる。
【０２２０】
今回開示された実施の形態およびその変形例はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。実施の形態およびその変形例において開示された技術は、可能な限り単独でも組み合わせても実施され得ることが意図される。
【符号の説明】
【０２２１】
１００１  モニタ、１００４，１００４ａ，１００４ｂ，１００４ｃ  タップ、２１２０  低速無線通信モジュール、２１２１  ＣＰＵ、２１２０１  通信部、２１２０２  参加要求部、２１２０３  第１判断部、２１２０４  第２判断部、２１２０５  機能切替部、２１２０６  通知部。
【図１】
2014042093.tif 000003
【図２】
2014042093.tif 000004
【図３】
2014042093.tif 000005
【図４】
2014042093.tif 000006
【図５】
2014042093.tif 000007
【図６】
2014042093.tif 000008
【図７】
2014042093.tif 000009
【図８】
2014042093.tif 000010
【図９】
2014042093.tif 000011
【図１０】
2014042093.tif 000012
【図１１】
2014042093.tif 000013
【図１２】
2014042093.tif 000014
【図１３】
2014042093.tif 000015
【図１４】
2014042093.tif 000016
【図１５】
2014042093.tif 000017
【図１６】
2014042093.tif 000018
【図１７】
2014042093.tif 000019
【図１８】
2014042093.tif 000020
【図１９】
2014042093.tif 000021
【図２０】
2014042093.tif 000022
【図２１】
2014042093.tif 000023