(57)【特許請求の範囲】
【請求項１】
第１のネットワークを通じて１以上のノードと通信する制御装置であって、
前記１以上のノードを含む前記第１のネットワーク上に存在するノードの情報を管理するノード情報管理手段と、
前記ノードから送出される第１の信号を受信する受信手段と、
前記受信手段で前記第１の信号を受信すると、前記ノード情報管理手段で管理されるノード情報に基づいて前記第１の信号の送信元ノードのノード状態がどのように変化したかを判定する判定手段と、
前記判定手段による判定の結果、前記送信元ノードのノード状態に変化があればその変化内容を示す通知を、第２のネットワークを通じてアプリケーションへ送信する送信手段と、を備え、
前記判定手段は、前記受信手段により前記第１の信号をブロードキャストで受信し、かつ、前記第１の信号の送信元ノードが前記ノード情報管理に存在し参加済みであるならば、前記送信元ノードの給電が再開されたと判定する、制御装置。
【請求項２】
前記判定手段は、前記受信手段により前記第１の信号をユニキャストで受信し、かつ、前記第１の信号の送信元ノードが前記ノード情報管理に存在し参加済みであるならば、前記送信元ノードで特定の操作が行なわれたと判定する、請求項１に記載の制御装置。
【請求項３】
第１のネットワークを通じて１以上のノードと通信する制御装置と、
第２のネットワークを通じて前記制御装置と通信するアプリケーションと、
から成る通信システムであって、
前記制御装置は、
前記１以上のノードを含む前記第１のネットワーク上に存在するノードの情報を管理するノード情報管理手段と、
前記ノードから送出される第１の信号を受信する受信手段と、
前記受信手段で前記第１の信号を受信すると、前記ノード情報管理手段で管理されるノード情報に基づいて前記第１の信号の送信元ノードのノード状態がどのように変化したかを判定する判定手段と、
前記判定手段による判定の結果、前記送信元ノードのノード状態に変化があればその変化内容を示す通知を、第２のネットワークを通じてアプリケーションへ送信する送信手段と、を備え、
前記判定手段は、前記受信手段により前記第１の信号をブロードキャストで受信し、かつ、前記第１の信号の送信元ノードが前記ノード情報管理に存在し参加済みであるならば、前記送信元ノードの給電が再開されたと判定する、通信システム。
【請求項４】
前記判定手段は、前記受信手段により前記第１の信号をユニキャストで受信し、かつ、前記第１の信号の送信元ノードが前記ノード情報管理に存在し参加済みであるならば、前記送信元ノードで特定の操作が行なわれたと判定する、請求項３に記載の通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信機能を有する電子機器、制御装置、通信システム、通知条件設定方法、通信方法、およびプログラムに関する。
【背景技術】
【０００２】
従来、複数の消費電力測定器（以下、「タップ」とも称する）と、複数の消費電力測定器を制御するための制御装置と、ディスプレイを備えた電子機器とを備える通信システムが知られている。各タップは、宅内のコンセントに接続されるとともに、当該タップに接続された家電の瞬時消費電力を測定する。さらに、各タップは瞬時消費電力を累積して積算電力量を蓄える。
【０００３】
このような通信システムにおいては、各タップは、当該タップに接続された家電の瞬時消費電力値や累積の積算電力量などの電力情報を制御装置に送信することが行なわれている。制御装置は、各タップの電力情報を収集し、当該制御装置に保存する、あるいは、ディスプレイを備えた電子機器等に転送する。ディスプレイを備えた電子機器等は、家電の瞬時消費電力値や累積の積算電力量などの電力情報をユーザに視認させるためにディスプレイに表示する。
【０００４】
ここで、制御装置から各タップの電力情報を収集する場合、プル型とプッシュ型の方法がある。プル型においては、制御装置は、任意のタイミングで、各タップに対して電力情報を読出しするコマンドを送信し、その応答を受信することで電力情報を収集する。プッシュ型においては、制御装置は、あらかじめ各タップに対してレポート送信間隔やレポートすべき情報などを規定したレポート条件コマンドを送信し、その応答を受信する。それ以降、各タップからは設定されたレポート条件に基づきレポートが送信されるので、それらのレポートを受信することで電力情報を収集する。
【０００５】
たとえば、上記通信システムとしてパーソナルエリアネットワークであるＺｉｇＢｅｅ（登録商標）を用いることができる。
【０００６】
非特許文献２には、ＺｉｇＢｅｅの仕様が開示されている。非特許文献２には、たとえば、ＺｉｇＢｅｅで用いられるコマンド等が開示されている。以下、コーディネータ、ルータ、エンドデバイスという用語は、それぞれＺｉｇＢｅｅにおける論理デバイスの種別を表わすものとする。
【０００７】
非特許文献３にも、ＺｉｇＢｅｅの仕様が開示されている。非特許文献２には、たとえば、ＺｉｇＢｅｅで用いられるクラスタ（機能）や属性の定義、属性の読出しと属性の書込みをするためのコマンド等が開示されている。
【０００８】
また、非特許文献１には、ＺｉｇＢｅｅの仕様における情報を収集する手法が説明されている。非特許文献１に示すとおり、プル型においては、制御装置は、任意のタイミングで、各タップに対して属性リード（Read Attribute）を送信し、タップから属性リード応答（Read Attribute Response）を受信することで電力情報を収集する。プッシュ型においては、制御装置は、あらかじめ各タップに対して、レポート送信間隔やレポートすべき属性などを規定したレポート設定（Configure Reporting）を送信し、レポート設定応答（Configure Reporting Response）を受信する。それ以降、各タップからは設定されたレポート条件に従って、属性レポート（Report Attributes）が送られる。具体的には指定されたレポート送信間隔で、指定された属性をレポート送信する。制御装置は、属性レポートを受信することで電力情報を収集する。
【０００９】
プル型では、制御装置が当該制御装置のシステム時刻に従って、タップ電力情報を取得できるというメリットがあるが、属性リード要求のパケット（すなわち行きのパケット）と、属性リード応答のパケット（すなわち帰りのパケット）との２パケットが必要となる。無線ネットワークの環境が悪化すると、一般的にパケットは届きにくくなるので、往復のパケットが必要なプル型では、プッシュ型と比べると、電力情報を取得しづらくなるであろう。電力情報を取得できない可能性を考慮して対策が必要になる。具体的には、タイムアウト時間を適切に設定して、所定のタイムアウト時間を超えて応答パケットがなければ再度属性リード要求のパケットを送信する（リトライ）、といった設計が必要になる。プル型では、属性リード要求を送信してから属性リード応答を待つための時間と、リトライに要する時間が必要である。
【００１０】
一方で、プッシュ型では、制御装置から各タップに対して、あらかじめレポート条件を設定しなければならないというデメリットがあるが、それ以降は、各タップから属性レポートのパケットが送信されるだけでなので（１パケットだけ）、ネットワークのトラフィックは少なくて済む。無線ネットワークの環境が少々悪化しても、プル型と比べると、電力情報を取得しやすい。ただし、各タップがそれぞれ独立した時刻に基づきレポート送信するので、長時間経過すると、制御装置と各タップとの時刻がずれてくるであろう。
【００１１】
いずれにせよ、プル型かプッシュ型のどちらの方法を取るのが良いかは、アプリケーションの性質による。
【００１２】
例えば、リアルタイムに（数秒程度のインターバルで）、電力情報等を取得したいときには、プッシュ型が向く。一方で、制御装置のシステム時刻に従って（例えば毎時００分などに）電力情報等を取得したいときに、はプル型が向く。
【００１３】
ここで各タップは、レポート条件設定等を揮発性メモリ（ＲＡＭ：Random Access Memory）に格納することが一般的である。
【００１４】
また、上記の非特許文献１には、“Silent Rejoin”という仕組みが説明されている。“Silent Rejoin”とは、ＺｉｇＢｅｅルータとして動作しているあるノードが、その電源が切れて入れ直されたときに、静かにネットワークにリジョインする仕組みである。つまり、ノードはいったんネットワークにジョインした後は、そのネットワーク情報（PanID、Extended PanID、論理チャンネル等）を不揮発性メモリ（ＮＶＲＡＭ：Non Volatile RAM）に保存しているので、ノードの電源を入れ直したときに、何もパケットを発信せずにルータとして開始する。ＺｉｇＢｅｅネットワーク上の他のノードにとって、当該ノードの電源が切れている間は、当該ノードとしばらく通信出来ない状態と同じである。
【先行技術文献】
【非特許文献】
【００１５】
【非特許文献１】Ｄｒｅｗ  Ｇｉｓｌａｓｏｎ著「ＺＩＧＢＥＥ  ＷＩＲＥＬＥＳＳ  ＮＥＴＷＯＲＫＩＮＧ」（米国）、Ｎｅｗｎｅｓ、2008年9月4日、p.246,295,296
【非特許文献２】ＺｉｇＢｅｅ  Ａｌｌｉａｎｃｅ「ＺＩＧＢＥＥ  ＳＰＥＣＩＦＩＣＡＴＩＯＮ  ＺｉｇＢｅｅ  Ｄｏｃｕｍｅｎｔ０５３４７４ｒ１７」、ＺｉｇＢｅｅ  Ｓｔａｎｄａｒｄｓ  Ｏｒｇａｎｉｚａｔｉｏｎ、2008年1月17日
【非特許文献３】ＺｉｇＢｅｅ  Ａｌｌｉａｎｃｅ「ＺＩＧＢＥＥ  ＣＬＵＳＴＥＲ  ＬＩＢＲＡＲＹ  ＳＰＥＣＩＦＩＣＡＴＩＯＮ Ｄｏｃｕｍｅｎｔ  ０７５１２３ｒ０２ＺＢ」、ＺｉｇＢｅｅ  Ｓｔａｎｄａｒｄｓ  Ｏｒｇａｎｉｚａｔｉｏｎ、2008年5月29日
【発明の概要】
【発明が解決しようとする課題】
【００１６】
タップは、上述したように、レポート条件が設定されれば、当該レポート条件に従ってレポートを制御装置に送信する。ここで、タップがコンセントから取り外されると、当該タップへの給電が停止する。このため、揮発性のメモリに格納されているレポート条件は消滅してしまう。
【００１７】
それゆえ、タップがコンセントに再度取り付けられ、当該タップに給電が再開されても、タップは、レポート条件を忘れてしまうため、制御装置に対してレポートを送信することはしない。したがって、あるアプリケーションがプッシュ型で各タップから電力情報を取得しているろきに、タップがコンセントから取り外されて再度取り付けられても、当該タップからはレポートが上がって来ない。当該アプリケーションは、再度当該タップに対してレポート条件を設定しない限り、当該タップから電力情報を取得することはできなくなる。
【００１８】
上記の問題を解決するための１つの手段として、レポート条件等をＮＶＲＡＭに格納することが考えられる。タップの電源が抜かれて、再度電源が入ったときに、レポート条件等をＮＶＲＡＭから読み出すように設計してあれば、タップは当該レポート条件に従ってレポートを送信することができる。
【００１９】
しかしながら、ＮＶＲＡＭには、書き換え回数に制限があるため、レポート条件をＮＶＲＡＭに書き込むことは好ましくない。なぜならレポート条件は、アプリケーションからどれくらいの頻度で内容（設定）が変更されるか事前に予測することができないからである。それゆえ、アプリケーションからの指示がある度に、ＮＶＲＡＭにレポート条件を書き込むようにタップを構成することは、設計上好ましくないと考えられる。それゆえ本発明では、レポート条件等をＲＡＭにだけ格納し、ＮＶＲＡＭには格納しないということを前提とする。
【００２０】
別の手段として、タップの初期状態としてレポート条件等を何らかの値に設定しておくという設計が考えられる。しかしながら、タップからどのような送信間隔で、どのような属性をレポート送信させるかについては、一般的にアプリケーション側が決定すべき事である。タップの初期状態として何らかのレポート条件等を設定していたとしても、アプリケーションがレポート条件等を別のものに変更すれば結局は同じ問題が発生するだけである。
【００２１】
また別の手段として、アプリケーションがプル型で電力情報を読み出す、という設計が考えられる。しかしながら、上述したように、リアルタイムに（数秒程度のインターバルで）電力情報等を取得したいときにはプッシュ型が向いている。プル型では、多数のタップが存在した場合に、リアルタイムに（数秒程度のインターバルで）電力情報等を取得するのは困難である。
【００２２】
また別の手段として、アプリケーションがタップから一定期間レポート送信が上がって来ないことを検出すると、当該タップに対して存在確認用のパケットを定期的に送るという設計が考えられる。ここで、当該タップが存在していること（タップがコンセントに接続されており、かつ、タップと制御装置との間で通信可能であること）を確認すれば、タップに対して再度レポート条件等を設定するというように設計する。しかしながら、タップがコンセントに接続されるタイミングは不定である。タップがコンセントに接続されてから、再度タップからレポート送信されるようになるまである程度のタイムラグが発生することになる。
【００２３】
本願発明は上記の問題点に鑑みなされたものであって、その目的は、消費電力測定器への給電が停止され、再度給電された場合であっても、電力情報が通知されない期間を短くできるとともに、消費電力測定器における不揮発性メモリの有効利用が可能な電子機器、当該消費電力測定器を管理する制御装置、当該電子機器を備える通信システム、当該通信機器における通知条件設定方法、通信方法、および当該通信機器を制御するためのプログラムを提供することにある。
【課題を解決するための手段】
【００２４】
本発明の或る局面に従うと、制御装置は、第１のネットワークを通じて１以上のノードと通信する制御装置であって、１以上のノードを含む前記第１のネットワーク上に存在するノードの情報を管理するノード情報管理手段と、ノードから送出される第１の信号を受信する受信手段と、受信手段で第１の信号を受信すると、ノード情報管理手段で管理されるノード情報に基づいて第１の信号の送信元ノードのノード状態がどのように変化したかを判定する判定手段と、判定手段による判定の結果、送信元ノードのノード状態に変化があればその変化内容を示す通知を、第２のネットワークを通じてアプリケーションへ送信する送信手段と、を備える。
【００２５】
好ましくは、判定手段は、受信手段により第１の信号をブロードキャストで受信し、かつ、第１の信号の送信元ノードがノード情報管理に存在し参加済みであるならば、送信元ノードの給電が再開されたと判定する。
【００２６】
好ましくは、判定手段は、受信手段により第１の信号をユニキャストで受信し、かつ、第１の信号の送信元ノードがノード情報管理に存在し参加済みであるならば、送信元ノードで特定の操作が行なわれたと判定する。
本発明のさらに他の局面に従うと、通信システムは、第１のネットワークを通じて１以上のノードと通信する制御装置と、第２のネットワークを通じて制御装置と通信するアプリケーションと、から成る通信システムであって、制御装置は、１以上のノードを含む第１のネットワーク上に存在するノードの情報を管理するノード情報管理手段と、ノードから送出される第１の信号を受信する受信手段と、受信手段で第１の信号を受信すると、ノード情報管理手段で管理されるノード情報に基づいて第１の信号の送信元ノードのノード状態がどのように変化したかを判定する判定手段と、判定手段による判定の結果、送信元ノードのノード状態に変化があればその変化内容を示す通知を、第２のネットワークを通じてアプリケーションへ送信する送信手段と、を備える。
【００２７】
好ましくは、判定手段は、受信手段により第１の信号をブロードキャストで受信し、かつ、第１の信号の送信元ノードがノード情報管理に存在し参加済みであるならば、送信元ノードの給電が再開されたと判定する。
【００２８】
好ましくは、判定手段は、受信手段により第１の信号をユニキャストで受信し、かつ、第１の信号の送信元ノードがノード情報管理に存在し参加済みであるならば、送信元ノードで特定の操作が行なわれたと判定する。
【００２９】
本発明のさらに他の局面に従うと、プログラムは、第１のネットワークを通じて１以上のノードと通信する制御装置を制御するプログラムであって、１以上のノードを含む第１のネットワーク上に存在するノードの情報を管理するステップと、ノードから送出される第１の信号を受信するステップと、受信手段で第１の信号を受信すると、ノード情報管理手段で管理されるノード情報に基づいて第１の信号の送信元ノードのノード状態がどのように変化したかを判定するステップと、判定手段による判定の結果、送信元ノードのノード状態に変化があればその変化内容を示す通知を、第２のネットワークを通じてアプリケーションへ送信するステップとを、制御装置のプロセッサに実行させる。
【発明の効果】
【００３４】
本発明によれば、消費電力測定器への給電が停止され、再度給電された場合であっても、電力情報が通知されない期間を短くできるとともに、消費電力測定器における不揮発性メモリの有効利用が可能となる。
【図面の簡単な説明】
【００３５】
【図１】ネットワークの概略構成を示した図である。
【図２】中継器の外観を表した図である。
【図３】中継器のブロック図である。
【図４】タップの斜視図である。
【図５】タップのハードウェア構成を表した図である。
【図６】タブレット端末のハードウェア構成を表した図である。
【図７】タップおよび中継器における実装方法を説明するための図である。
【図８】ＺｉｇＢｅｅマネージャが管理するＺｉｇＢｅｅノード管理情報におけるデータの格納の一態様を概念的に表わす図である。
【図９】ＺｉｇＢｅｅマネージャが検出するノード状態の変化を説明するための図である。
【図１０】タブレット端末における実装方法を説明するための図である。
【図１１】リアルタイム表示を説明するための図である。
【図１２】ネットワークＺにおけるシーケンスチャートである。
【図１３】タップ側の電源投入後の処理について説明するフロー図である。
【図１４】タップ側の設定ボタン押下げ後の処理について説明する図である。
【図１５】ペアリング済みのときに実施されるアドレス衝突検出処理についてのフローチャートである。
【図１６】ペアリング済みのときに繰り返し実施されるパケット受信処理についてのフローチャートである。
【図１７】タップ側のパケット受信処理について説明するフロー図である。
【図１８】タップにおける設定ボタンの長押しの場合の処理について説明するフロー図である。
【図１９】タップから送信されたネットワーク離脱宣言信号を受信した場合の処理を説明するフロー図である。
【図２０】中継器のプッシュボタンの押下げ処理を説明するフロー図である。
【図２１】中継器のジョインモードにおける処理について説明するフロー図である。
【図２２】中継器のローカルノードにおけるリモートノードからの信号の受信処理を説明するフロー図である。
【図２３】中継器のリーブモードにおける処理について説明するフロー図である。
【図２４】定期的（たとえば３分間隔）で実施される全生存ノードＰＩＮＧ応答確認処理についてのフローチャートである。
【図２５】デバイスアンスを受信したときに実施されるデバイスアンス受信処理につていのフローチャートである。
【図２６】ＺｉｇＢｅｅマネージャがデバイスアンスを受信したときに、どのような動作をすべきかを表した図である。
【図２７】アソシエートサーチについてのフローチャートである。
【図２８】中継器のリーブ処理について説明するフロー図である。
【図２９】リアルタイム表示モードを開始したときに実施されるＵＩアプリケーションの処理を示したフローチャートである。
【図３０】タブレット端末の機能的構成を表した機能ブロック図である。
【図３１】中継器１００１の機能的構成を表した機能ブロック図である。
【図３２】ネットワークＺの制御装置としてタブレット端末を用いた場合における、ネットワークの概略構成を示した図である。
【図３３】タブレット端末のブロック図である。
【図３４】新しいタップがネットワークＺに参加したした場合にタブレット端末で行なわれる処理を説明するための図である。
【図３５】タップを選択する方法を説明するための図である。
【図３６】各タップと各家電とを紐付けする画面を示した図である。
【図３７】各タップと各家電とを紐付けする他の画面を示した図である。
【発明を実施するための形態】
【００３６】
以下、図面を参照しつつ、本発明の実施の形態に係るネットワークについて説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【００３７】
＜Ａ．ネットワークの概要＞
図１は、本発明の実施の形態に係るネットワークの概略構成を示した図である。図１を参照して、本発明の実施の形態に係るシステムにはネットワークＺとネットワークＥから構成される。ネットワークＺは、低速無線通信ネットワーク（本例においてはＺｉｇＢｅｅを想定）を示す。ネットワークＥは、高速通信ネットワーク（本例においては、Ｅｔｈｅｒｎｅｔ（登録商標）、または、ＷｉＦｉ（登録商標）、またはそれらの組み合わせを想定）を示す。なお、本例においては上記の方式を用いたネットワークについて説明するが特に上記に限るものではない。例えば、ネットワークＺにＺ−ＷＡＶＥ（登録商標）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、特定小電力無線などを用いることができる。また例えば、ネットワークＥにＰＬＣ（Power Line Communications）などを用いることも可能である。
【００３８】
ネットワークＺには、中継器１００１と、複数のタップ１００４ａ，１００４ｂ，１００４ｃ等が存在するものとする。ネットワークＥには、中継器１００１と、ブロードバンドルータ１００２と、パーソナルコンピュータ１００３等が存在するものとする。タブレット端末１００８が含まれていてもよい。中継器１００１はネットワークＺとネットワークＥの両方のネットワークに含まれる。また、中継器１００１はＨＴＴＰ（Hyper Text Transfer Protocol）サーバ機能を有する。複数のタップ１００４ａ，１００４ｂ，１００４ｃには、それぞれ、複数の家電機器（一例として、エアーコンディショナ１００５，冷蔵庫１００６，テレビ１００７など）が接続されている。
【００３９】
エアーコンディショナ１００５の電源プラグ１０５１は、タップ１００４ａのソケットに差し込まれている。同様に、冷蔵庫１００６の電源プラグ１０６１は、タップ１００４ｂのソケットに差し込まれている。また、テレビ１００７の電源プラグ１０７１は、タップ１００４ｃのソケットに差し込まれている。
【００４０】
タップ１００４ａ、１００４ｂ、１００４ｃは、それぞれ、宅内に設置されたコンセント１０１５，１０１６，１０１７に取り付けられている。これにより、タップ１００４ａ，１００４ｂ、１００４ｃは、給電される。
【００４１】
タップ１００４ａ、１００４ｂ、１００４ｃは、各々に接続される各家電の消費電力を測定する消費電力測定器である。たとえば、タップ１００４ａは、エアーコンディショナ１００５の消費電力を測定する。タップ１００４ａ、１００４ｂ、１００４ｃの各々は、測定した消費電力を中継器１００１に送信することができる。なお、以下では、説明の便宜上、タップ１００４ａ，１００４ｂ，１００４ｃを区別することなく表わす場合には、「タップ１００４」と表記する。
【００４２】
中継器１００１および複数のタップ１００４の各々は、低速無線通信モジュールを備える。中継器１００１と複数のタップ１００４とにより、低速無線通信ネットワークＺ（以下、単に「ネットワークＺ」とも称する）を構成している。また、中継器１００１は、Ｅｔｈｅｒｎｅｔによりワイヤレスブロードバンドルータ１００２に接続されている。中継器１００１は、ネットワークＺとネットワークＥとのブリッジ（媒体変換装置）あるいはゲートウェイ（プロトコル変換装置）として機能する。中継器１００１は、複数のタップ１００４との間で低速度の無線通信を行なう。
【００４３】
ワイヤレスブロードバンドルータ１００２は、インターネットに接続されていてもよい。パーソナルコンピュータ１００３は、ＥｔｈｅｒｎｅｔまたはＷｉＦｉにより、ワイヤレスブロードバンドルータ１００２に接続される。
【００４４】
パーソナルコンピュータ１００３は、ブラウザ（ＨＴＴＰクライアント）が動作する一般的なパソコンである。パーソナルコンピュータ１００３は、パーソナルコンピュータ１００３のブラウザ（ＨＴＴＰクライアント）を経由して中継器１００１のＨＴＴＰサーバと通信する。中継器１００１のＨＴＴＰサーバは、設定用ＣＧＩプログラムを呼び出すことによって、中継器自身の設定情報を取得し、また、設定できるようになっている。このようにして、パーソナルコンピュータ１００３は、中継器１００１のさまざま設定を行なうことができる。このＨＴＴＰサーバとブラウザ（ＨＴＴＰクライアント）の働きによって、貧弱な入力装置しか持たない中継器１００１でも、複雑な設定を行なうことができる。
【００４５】
タブレット端末１００８は、ワイヤレスブロードバンドルータ１００２を介して、中継器１００１と通信を行なう。タブレット端末１００８は、ＷｉＦｉにより、ワイヤレスブロードバンドルータ１００２に接続される。なお、タブレット端末１００８は、Ｅｔｈｅｒｎｅｔにより、ワイヤレスブロードバンドルータ１００２に接続されてもよい。
【００４６】
タブレット端末１００８は、消費電力に関する各種の表示を行なうことができる。タブレット端末１００８は、たとえば、各家電の消費電力を表示できる。
【００４７】
以下では、ネットワークＺとして、家電向けの短距離無線通信規格の一つであるＺｉｇＢｅｅを用いた例について説明する。
【００４８】
＜Ｂ．中継器１００１の構成＞
図２は、中継器１００１の外観を表した図である。図２（Ａ）は、中継器１００１の斜視図である。図２（Ｂ）は、中継器１００１の側面図である。図２（Ｃ）は、中継器１００１の他の側面の要部拡大図である。
【００４９】
図２（Ａ）を参照して、中継器１００１は、発光部１１０３と、アンテナ１１０７とを備える。発光部１１０３は、中継器１００１の動作状態等を表示するための３つのＬＥＤ（Light Emitting Diode）１１０３ａ，１１０３ｂ，１１０３ｃにより構成される。
【００５０】
ＬＥＤ１１０３ａは、中継器１００１の電源がオン・オフの状態を示すための発光素子（電源ＬＥＤ）である。ＬＥＤ１１０３ｂは、タップ１００４との通信状態を表示するための発光素子（タップＬＥＤ）である。ＬＥＤ１１０３ｃは、ワイヤレスブロードバンドルータ１００２との通信状態を表示するための発光素子（ルータＬＥＤ）である。
【００５１】
アンテナ１１０７は、各タップ１００４ａ，１００４ｂ，１００４ｃと通信するために用いられる。
【００５２】
図２（Ｂ）を参照して、中継器１００１は、発光部１１０３が設けられた表面とは反対側の表面に、プッシュボタン１１０８をさらに備える。プッシュボタン１１０８は、中継器１００１をジョイン許可状態（ジョインモード）、または、リーブモードに遷移させるためのボタンである。
【００５３】
図２（Ｃ）を参照して、中継器１００１は、発光部１１０３が設けられた表面およびプッシュボタン１１０８が設けられた表面とは異なる表面に、スライドスイッチ１１０９をさらに備える。スライドスイッチ１１０９は、ユーザの操作によりスライドする。スライドスイッチ１１０９は、ＪＯＩＮ位置、ＮＯＰ（No Operation）位置、およびＬＥＡＶＥ位置のうちのいずれか１つの位置をとることができる。なお、スライドスイッチ１１０９は、プッシュボタン１１０８が押されたときに、中継器をジョイン許可状態、あるいはリーブモードのいずれかを選択するために用いられる。スライドスイッチ１１０９は、通常の使用時にはＮＯＰ位置に設定される。
【００５４】
図３は、中継器１００１のブロック図である。図３を参照して、中継器１００１は、制御部１１０１と、発光部１１０３と、高速通信インターフェイス部１１０４と、電源部１１０５と、無線ＲＦ（Radio Frequency）内蔵通信コントローラ部１１０６と、アンテナ１１０７と、プッシュボタン１１０８と、スライドスイッチ１１０９と、図示しないリセットスイッチとを備える。
【００５５】
無線ＲＦ内蔵通信コントローラ部１１０６は、ＣＰＵ（Central Processing Unit）１１６１と、ＲＯＭ（Read Only Memory）１１６２と、ＲＡＭ（Random Access Memory）１１６３と、ＧＰＩＯ（General Purpose Input/Output）１１６４と、無線ＲＦ部１１６５と、制御部１１０１との間で通信するためのＵＡＲＴ（Universal Asynchronous Receiver Transmitter）１１６６とを含む。
【００５６】
なお、本実施例では、無線ＲＦ内蔵通信コントローラ部１１０６は、ＺｉｇＢｅｅコーディネータとして動作するものとして説明する。他の実施の形態として、無線ＲＦ内蔵通信コントローラ部１１０６は、ＺｉｇＢｅｅルータとして動作させてもよい。その場合、ネットワークＺ上に存在する他の通信機器から常に受信可能であるように設定しておく。
【００５７】
また、ＲＯＭ１１６２と、ＲＡＭ１１６３と、ＵＡＲＴ１１６６と、ＧＰＩＯ１１６４と、無線ＲＦ部１１６５とは、それぞれ、ＣＰＵ１１６１に接続されている。
【００５８】
無線ＲＦ内蔵通信コントローラ部１１０６は、アンテナ１１０７と接続されている。無線ＲＦ内蔵通信コントローラ部１１０６は、ネットワークＺ上に存在する通信機器との間の通信を制御する。なお、ＲＯＭ１１６２は、ＮＶＲＡＭで構成されるのが一般的である。
【００５９】
制御部１１０１は、ＣＰＵ１１６１に比べて高性能なＣＰＵを備えており、またメモリも豊富である。当該構成によって、中継器１００１は、高度な情報処理を実現できる。
【００６０】
高速通信インターフェイス部１１０４は、ワイヤレスブロードバンドルータ１００２との間でＥｔｈｅｒｎｅｔまたはＷｉＦｉを用いた通信を行なうためのインターフェイスである。電源部１１０５は、制御部１１０１と無線ＲＦ内蔵通信コントローラ部１１０６とに電力を供給する。
【００６１】
制御部１１０１は、発光部１１０３と、高速通信インターフェイス部１１０４と、電源部１１０５と、無線ＲＦ内蔵通信コントローラ部１１０６と、プッシュボタン１１０８と、スライドスイッチ１１０９とに接続されている。制御部１１０１は、中継器１００１の全体的な動作を制御する。制御部１１０１は、プッシュボタン１１０８およびスライドスイッチ１１０９からの入力を受け付ける。また、制御部１１０１は、発光部１１０３に出力指示を出す。
【００６２】
次に、ユーザがペアリングを行なうときの操作の概要について説明する。まず、ユーザが、スライドスイッチ１１０９をＮＯＰ位置からＪＯＩＮ位置にスライドさせる。その後、ユーザは、プッシュボタン１１０８を押す。これにより、予め定められた時間（たとえば６０秒間）、中継器１００１がジョイン許可状態となる。なお、この間、制御部１１０１は、発光部１１０３を予め定められた状態で発光させる。そして、中継器１００１がジョイン許可ジョイン許可状態で、ユーザがタップ１００４をコンセントに差すことにより、中継器１００１とタップ１００４とのペアリングが行なわれる。
【００６３】
＜Ｃ．タップ１００４の構成＞
図４は、タップ１００４の斜視図である。図４を参照して、タップ１００４は、プラグ差込用のソケット２１０１と、プラグ２１０２と、ＬＥＤ２１０５と、設定ボタン２１０６とを備える。タップの使用時には、ユーザは、家電の電源プラグをソケット２１０１に差し込むとともに、宅内に設置されたコンセントにプラグ２１０２を差し込む（図１参照）。なお、ソケット２１０１の形状は、接続される家電の電源プラグの形状に応じて決まる。
【００６４】
図５は、タップ１００４のハードウェア構成を表した図である。図５を参照して、タップ１００４は、ソケット２１０１と、プラグ２１０２と、シャント抵抗２１０３と、電源部２１０４と、ＬＥＤ２１０５と、設定ボタン２１０６と、アンテナ２１０７と、電力センサ部２１１０と、無線ＲＦ内蔵通信コントローラ部２１２０と、配線２１３１と、配線２１３２と、配線２１３３とを備える。
【００６５】
電力センサ部２１１０は、電圧入力ＡＤＣ部２１１１と、電流入力ＡＤＣ部２１１２と、乗算器２１１３と、デジタル／周波数変換部２１１４とを含む。無線ＲＦ内蔵通信コントローラ部２１２０は、ＣＰＵ２１２１と、ＲＯＭ２１２２と、ＲＡＭ２１２３と、ＧＰＩＯ２１２４と、無線ＲＦ部２１２５とを含む。
【００６６】
配線２１３２と配線２１３３とは、シャント抵抗２１０３により接続されている。シャント抵抗２１０３は電流を測定するために使われる微小な（数百マイクロΩ）抵抗である。
【００６７】
ソケット２１０１とプラグ２１０２とは、配線２１３１〜２１３３およびシャント抵抗２１０３で接続されている。配線２１３１は、プラグ２１０２の一方の端子およびソケット２１０１の一方の端子に接続されている。配線２１３２は、プラグ２１０２の他方の端子とシャント抵抗２１０３の一方の端部とに接続されている。配線２１３３は、ソケット２１０１の他方の端子とシャント抵抗２１０３の他方の端部とに接続されている。
【００６８】
電源部２１０４は、配線２１３２に接続されている。電源部２１０４は、交流を直流に変換する。電源部２１０４は、変換により得られた直流電力を電力センサ部２１１０と無線ＲＦ内蔵通信コントローラ部２１２０とに与える。
【００６９】
電圧入力ＡＤＣ部２１１１は、配線２１３１と、配線２１３２とに接続されている。電圧入力ＡＤＣ部２１１１は、配線２１３１と配線２１３２との間の電圧（電位差）を、デジタル信号にて乗算器２１１３に出力する。
【００７０】
電流入力ＡＤＣ部２１１２は、配線２１３２と、配線２１３３とに接続されている。電流入力ＡＤＣ部２１１２は、シャント抵抗２１０３に流れる電流の電流値を、デジタル信号にて乗算器２１１３に出力する。
【００７１】
乗算器２１１３は、電圧入力ＡＤＣ部２１１１からの出力と、電流入力ＡＤＣ部２１１２からの出力とを乗算し、当該乗算により得られたデジタル信号をデジタル／周波数変換部２１１４に出力する。
【００７２】
デジタル／周波数変換部２１１４は、入力されたデジタル信号を周波数信号に変換する。デジタル／周波数変換部２１１４は、変換により得られた周波数信号を、無線ＲＦ内蔵通信コントローラ部２１２０のＧＰＩＯに出力する。
【００７３】
ＣＰＵ２１２１は、ＧＰＩＯから取得した上記周波数信号をデータ変換する。無線ＲＦ部２１２５は、データ変換により得られた信号を、アンテナ２１０７を用いて中継器１００１に送信する。
【００７４】
ＲＯＭ２１２２には、ＣＰＵ２１２１が実行するプログラム等が格納されている。なお、ＲＯＭ２１２２は、ＮＶＲＡＭで構成されるのが一般的である。
【００７５】
ＬＥＤ２１０５は、タップ１００４のデータ処理状態を、点滅および／または点灯させる色等により表す。設定ボタン２１０６は、ユーザによるタップ１００４の初期設定等のために用いられる。
【００７６】
なお、本実施例では、無線ＲＦ内蔵通信コントローラ部２１２０は、ルータとして動作するものとして説明する。
【００７７】
＜Ｄ．タブレット端末１００８の構成＞
図６は、タブレット端末１００８のハードウェア構成を表した図である。図６を参照して、タブレット端末１００８は、ＣＰＵ４０１０と、タッチスクリーン４０２０と、時計４０３０と、メモリ４０４０と、ボタン４０５０と、通信インターフェイス４０６０と、スピーカ４０７０とを含む。タッチスクリーン４０２０は、ディスプレイ４０２１と、タッチパネル（タブレット）４０２２とで構成され、ディスプレイ４０２１の表面にタッチパネル４０２２が敷設されている。ただし、タブレット端末１００８は、タッチパネル４０２２を有していなくともよい。
【００７８】
メモリ４０４０は、各種のＲＡＭ、ＲＯＭ、フラッシュメモリ、ハードディスクなどによって実現される。メモリ４０４０は、ＣＰＵ４０１０によって実行される、ＯＳ、各種の制御プログラム、並びにＣＰＵ４０１０によって読み出されるテーブル等の各種データテーブルを格納する。たとえば、メモリ４０４０における不揮発性のメモリであるフラッシュメモリに、タップ１００４に対して設定（再設定）を行なうためのアプリケーションが格納されている。なお、当該アプリケーションは、ユーザからのリクエストに応じてタップ１００４の設定を行なう。
【００７９】
ＣＰＵ４０１０は、メモリ４０４０に記憶されている各種のプログラムを実行することによって、各種の情報処理などを実行する。ここでいうプログラムとは、ＣＰＵにより直接実行可能なプログラムだけでなく、ソースプログラム形式のプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【００８０】
ディスプレイ４０２１は、ＣＰＵ４０１０によって制御されることによって、たとえば、各家電１００５〜１００７の消費電力を表示する。タッチパネル４０２２は、ユーザの指によるタッチ操作を検出して、タッチ座標などをＣＰＵ４０１０に入力する。ＣＰＵ４０１０は、タッチパネル４０２２を介して、ユーザからの命令を受け付ける。
【００８１】
ボタン４０５０は、タブレット端末１００８の表面に配置される。決定キー、方向キー、テンキーなどの複数のボタンがタブレット端末１００８に配置されても良い。ボタン４０５０は、ユーザからの命令を受け付ける。ボタン４０５０は、ユーザからの命令をＣＰＵ４０１０に入力する。
【００８２】
通信インターフェイス４０６０は、ＣＰＵ４０１０によって制御されることによって、ワイヤレスブロードバンドルータ１００２を介して、中継器１００１と通信する。通信インターフェイス４０６０は、上述したように、たとえばＷｉＦｉにより、ワイヤレスブロードバンドルータ１００２と通信する。
【００８３】
スピーカ４０７０は、ＣＰＵ４０１０からの命令に基づいて、音声を出力する。たとえば、ＣＰＵ４０１０は、音声データに基づいて、スピーカ４０７０に音声を出力させる。時計４０３０は、ＣＰＵ４０１０からの命令に基づいて、現在の日付や時刻をＣＰＵ４０１０に入力する。
【００８４】
ＣＰＵ４０１０は、メモリ４０４０に記憶されている各種のプログラムを実行することによって、各種の情報処理などを実行する。換言すれば、タブレット端末１００８における処理は、各ハードウェアおよびＣＰＵ４０１０により実行されるソフトウェアによって実現される。このようなソフトウェアは、メモリ４０４０に予め記憶されている場合がある。また、ソフトウェアは、記憶媒体に格納されて、プログラム製品として流通している場合もある。あるいは、ソフトウェアは、いわゆるインターネットに接続されている情報提供事業者によってダウンロード可能なプログラム製品として提供される場合もある。
【００８５】
このようなソフトウェアは、図示しない読取装置を利用することによってその記憶媒体から読み取られて、あるいは、通信インターフェイス４０６０を利用することによってダウンロードされて、メモリ４０４０に一旦格納される。ＣＰＵ４０１０は、ソフトウェアを実行可能なプログラムの形式でメモリ４０４０に格納してから、当該プログラムを実行する。
【００８６】
なお、記憶媒体としては、ＣＤ−ＲＯＭ（Compact  Disc  -  Read  Only  Memory）、ＤＶＤ−ＲＯＭ（Digital  Versatile  Disk  -  Read  Only  Memory）、ＵＳＢ（Universal  Serial  Bus）メモリ、メモリカード、ＦＤ（Flexible  Disk）、ハードディスク、磁気テープ、カセットテープ、ＭＯ（Magnetic  Optical  Disc）、ＭＤ（Mini  Disc）、ＩＣ（Integrated  Circuit）カード（メモリカードを除く）、光カード、マスクＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ（Electronically  Erasable  Programmable  Read-Only  Memory）などの、不揮発的にプログラムを格納する媒体（一時的ではない媒体）が挙げられる。
【００８７】
ここでいうプログラムとは、ＣＰＵにより直接実行可能なプログラムだけでなく、ソースプログラム形式のプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【００８８】
＜Ｅ．実装例＞
図７は、タップ１００４および中継器１００１におけるソフトウェア構造を説明するための図である。
【００８９】
図７を参照して、タップ１００４（リモートノード）のソフトウェア構造は、ＺｉｇＢｅｅアプリケーション３４０１と、ＺｉｇＢｅｅプロトコルスタック３４０２とを含む。ＺｉｇＢｅｅアプリケーション３４０１は、電力測定用のマイコン（図示せず）から消費電力に関する情報を取得して、当該情報を予め定められたフォーマットに変換する。ＺｉｇＢｅｅアプリケーション３４０１は、他のＺｉｇＢｅｅノードからの属性リード要求に応じて、あるいは、設定されたレポート条件に従って自発的に消費電力に関する情報を送信する。
【００９０】
中継器１００１の無線ＲＦ内蔵通信コントローラ部１１０６（ローカルノード）は、ＺｉｇＢｅｅアプリケーション３１１１と、ＺｉｇＢｅｅプロトコルスタック３１１２と、ＵＡＲＴ１１６６と、アソシエートデバイスリスト３１１０とを含む。ＺｉｇＢｅｅアプリケーション３１１１は、上述した消費電力に関する情報をタップ１００４から受信する。ＵＡＲＴ１１６６は、上述したように、制御部１１０１との間で通信するための非同期送受信インターフェイスである。
【００９１】
ＺｉｇＢｅｅプロトコルスタック３１１２は、当該ローカルノードにアソシエートされているデバイスの情報をアソシエートデバイスリスト３１１０に登録する。アソシエートデバイスリスト３１１０は、ＮＶＲＡＭに保存されているので、電源を切って入れ直しても情報が失われることはない。ＺｉｇＢｅｅマネージャ３１２１は、アソシエートデバイスリスト３１１０を読み出し、ＺｉｇＢｅｅノード管理情報３１２６を更新する。
【００９２】
中継器１００１の制御部１１０１（図３参照）は、ＺｉｇＢｅｅマネージャ３１２１と、ＺｉｇＢｅｅモニタライブラリ３１２２と、ＵＡＲＴ３１２３と、ＬＥＤ＆スイッチ制御３１２４と、ＵＤＰ／ＩＰ（User Datagram Protocol / Internet Protocol）ポート（ポート番号は固定する）と、Ｅｔｈｅｒｎｅｔ３１２５と、ＺｉｇＢｅｅノード管理情報３１２６とを含む。ＺｉｇＢｅｅマネージャ３１２１は、制御部１１０１に格納されているアプリケーションの１つである。なお、制御部１１０１に格納される他のアプリケーションとして、タップ１００４の情報を収集するためのタップ情報収集アプリ、また外部のＨＴＴＰクライアントから中継器を設定するためのＨＴＴＰサーバ、当該ＨＴＴＰサーバから呼び出しされる設定用ＣＧＩアプリなどがある。
【００９３】
ＺｉｇＢｅｅマネージャ３１２１は、ネットワークＺ上に存在しうるＺｉｇＢｅｅのノードを管理する。具体的には、ＺｉｇＢｅｅマネージャ３１２１は、ローカルノードである無線ＲＦ内蔵通信コントローラ部１１０６と、ローカルノードと通信可能なリモートノード（タップ１００４などのＺｉｇＢｅｅノード）を管理する。
【００９４】
リモートノードが、ネットワークにジョイン（参加）して、ローカルノードにアソシエートされている状態であれば、当該リモートノードの生存情報を生存として管理する。リモートノードが、ネットワークからリーブ（離脱）して、ローカルノードにアソシエートされていない状態であれば、当該リモートノードの生存情報を行方不明として管理する。さらに、ＺｉｇＢｅｅマネージャ３１２１は、ＺｉｇＢｅｅのノードに変化があった場合には当該変化を検知し、当該変化を他のアプリケーションに通知する。
【００９５】
それ以外にも、ＺｉｇＢｅｅマネージャ３１２１は、ローカルノード及びリモートノードからＺｉｇＢｅｅノードとしての一般的な情報（ＩＥＥＥアドレス、ショートアドレス、ＭＡＣ能力、論理タイプなど）を取得して、また、ローカルノードからローカルノードにアソシエートされているデバイスの一覧や現在のネットワーク情報（PanIDや論理チャンネルなど）を取得して、ノード情報として管理する。ＺｉｇＢｅｅマネージャ３１２１は、これらのＺｉｇＢｅｅノードの管理情報をＺｉｇＢｅｅノード管理情報３１２６に保存する。
【００９６】
図８は、ＺｉｇＢｅｅマネージャ３１２１が管理するＺｉｇＢｅｅノード管理情報３１２６におけるデータの格納の一態様を概念的に表わす図である。図８を参照して、ＺｉｇＢｅｅノード管理情報３１２６は、ローカルノードの情報１１１０と、ノードの個数１１２０と、個々のノード情報１１３０とが含まれる。
【００９７】
本実施の形態において、「ローカルノード」とは、中継器に内部接続されるＺｉｇＢｅｅモジュールをいう。また、後述する「リモートノード」とは、タップなどに内蔵されるＺｉｇＢｅｅモジュールをいう。
【００９８】
ローカルノードの情報１１１０は、ローカルノードに固有の情報と、ローカルノードが参加するネットワークの情報のことである。たとえば、ローカルノードのＩＥＥＥ（Institute  of  Electrical  and  Electronics  Engineers）アドレスと、ショートアドレスと、デバイスタイプと、デバイス状態と、アソシエートされているデバイスの個数と、アソシエートされているデバイスのショートアドレスと、ジョイン許可状態と、、ＰａｎＩＤ（Personal  Area  Network  Identifier）と、論理チャンネルなどを含む。
【００９９】
・ローカルノードの情報
ＩＥＥＥアドレス（拡張アドレスとも称される）とは、ＥｔｈｅｒｎｅｔにおけるＭＡＣアドレスと同様に物理媒体の１つ１つに付与されるアドレスであって、全世界で唯一性が保証される８バイトのアドレスである。通常、意図的に変更されない限り不変である。ここでは、当該ローカルノードのＩＥＥＥアドレスを格納する。
【０１００】
ショートアドレス（ネットワークアドレスとも称される）とは、一つのＺｉｇＢｅｅネットワークにおいて、唯一性が保証される２バイトのアドレスである。ショートアドレスは、ノードがＺｉｇＢｅｅネットワークにジョインしたときに、親（コーディネータまたはルータ）によって動的に割り当てられる。通常、ショートアドレスがいったん割り当てられれば変更されることはないが、別の新規ノードがジョインしたときなどにアドレス衝突することがあって、その場合、アドレス衝突を防ぐためにショートアドレスが変更されることがある。また、ノードが別のＺｉｇＢｅｅネットワークにジョインすれば、別のショートアドレスが割り当てられる。このように、ショートアドレスは変更されうる。なお、コーディネータのショートアドレスは、ＺｉｇＢｅｅの規定によって０ｘ００００と決まっている。ここでは、当該ローカルノードのショートアドレスを格納する。
【０１０１】
デバイスタイプは、当該ローカルノードが担うことができる、ＺｉｇＢｅｅ論理デバイスを示した１バイトの値である。ＺｉｇＢｅｅ論理デバイスには、コーディネータと、ルータと、エンドデバイスと、がある。それぞれを１ビット（０ｘ０１，０ｘ０２、０ｘ０４）であらわして、当該デバイスが担うことができる論理デバイスをそれらの論理和で表現する。例えば、ルータとエンドデバイスのどちらにも成れるデバイスなら、そのデバイスタイプは「０ｘ０６」となる。なお、現在どのＺｉｇＢｅｅ論理デバイスとして動作しているかは、別途後述する論理タイプで示される。
【０１０２】
デバイス状態は、当該ローカルノードの現在の状態を表わす１バイトの値である。デバイス状態は、ＺｉｇＢｅｅの論理デバイスとして動作するとき状態、たとえば、初期化中、ＰＡＮに参加中、コーディネータとして起動した、などの状態を表す。
【０１０３】
アソシエートされているデバイスの個数は、当該ローカルノードに関連付けられている（アソシエートされている）デバイスの個数を表す１バイトの値である。
【０１０４】
アソシエートされているデバイスのショートアドレスは、当該ローカルノードに関連付けられている（アソシエートされている）デバイスのそれぞれのショートアドレスのことである。
【０１０５】
ジョイン許可状態は、当該ローカルノードが新たなノードを受け付け可能な状態であるか否かを表わす１ビットの値である。
【０１０６】
ＰａｎＩＤ（Personal  Area  Network  Identifier）は、当該ローカルノードが現在参加しているネットワークの識別子を表す２バイトの値である。
【０１０７】
論理チャンネルは、当該ローカルノードが参加しているネットワークの現在のチャネルを表わす１バイトの値である。
【０１０８】
・ノードの個数
ノードの個数１１２０は、ローカルノードとリモートノードとの合計の個数である。たとえば、本実施の形態において上記の定義によれば、図７の中継器１００１に含まれる無線ＲＦ内蔵通信コントローラ部１１０６がローカルノードに相当する。一方、図１のタップ１００４ａ，１００４ｂ，１００４ｃがリモートノードに相当する。したがって、図１に図示した例では、ノードの個数は（１＋３より）「４」となる。
【０１０９】
・個々のノード情報
個々のノード情報１１３０は、ローカルノードと各リモートノードの情報である。各ノ―ドから得られる情報と、ＺｉｇＢｅｅマネージャ３１２１が管理のために付与する情報とがある。ノード情報１１３０は、たとえば、識別子と、ＩＥＥＥアドレスと、ショートアドレスと、ＭＡＣ（Media  Access  Control）能力と、論理タイプと、生存情報と、電源情報などを含む。
【０１１０】
識別子とは、ノードを簡易的に識別できるようにするために、ＺｉｇＢｅｅマネージャが付与する２バイトの値である。ＺｉｇＢｅｅマネージャは新しいノードを見つけるごとに識別子をインクリメントして付与する。識別子はＩＥＥＥアドレスと１対１対応とする。つまり、同じＩＥＥＥアドレスのノードには同じ識別子が与えられる。逆に識別子からＩＥＥＥアドレスが一意に決定される。識別子＝０のノードは、ローカルノードであることを保証する。あるノードをネットワークから離脱させても、そのノードの識別子は残ったままである。識別子は再利用されない。
【０１１１】
ＭＡＣ能力とは、当該ノードが保有する性質を示した１バイトの値である。例えば、コーディネータに成れるかどうか、物理デバイス種別（ＦＦＤかＲＦＤか）、バッテリ電源か商用電源か、アイドル時に受信可能かどうか、などを示す。
【０１１２】
論理タイプとは、当該ノードが現在どのＺｉｇＢｅｅ論理デバイスとして機能しているかを示した１バイトの値である。コーディネータならば０ｘ００、ルータならば０ｘ０１、エンドデバイスならば０ｘ０２となる。
【０１１３】
生存情報とは、当該ノードがローカルノードに関連付けられている（アソシエートされている）かどうかを示す１ビットの値である。当該ノードがローカルノードに関連付けられているならば、生存情報＝Trueとなり、当該ノードが「生存」しているという意味を表わす。一方、当該ノードがローカルノードに関連付けられていないならば、生存情報＝Falseとなり、当該ノードが「行方不明」であることを意味する。当該ノードが電源オフになっても、当該ノードは「行方不明」にはならないことに注意する。生存情報は、あくまでも、当該ノードがローカルノードに関連付けらているかどうかを示す。
【０１１４】
電源情報は、当該ノードが給電されているか否かを示す１ビットの値である。現在、当該ノードが給電状態（powered状態）にあれば、電源情報=Trueとなり、当該ノードが「給電されている」という意味を表わす。一方、現在、当該ノードが給電状態になければ（unplugged状態）、電源情報=Falseとなり、当該ノードが「給電されていない」という意味を表わす。
【０１１５】
また、ＺｉｇＢｅｅマネージャ３１２１は、ＬＥＤ＆スイッチ制御３１２４を監視している。より詳細には、ＺｉｇＢｅｅマネージャ３１２１は、プッシュボタン１１０８およびスライドスイッチ１１０９からの入力を監視し、ペアリング機能（ジョイン許可状態）およびリーブモードを制御する機能を持ち、その中継器の状態に応じて、ＬＥＤ１１０３（正確にはＬＥＤ１１０３ｃ）の発光を制御する。ＺｉｇＢｅｅマネージャ３１２１は、サーバの形態をとっており、固定のＵＤＰポート番号を開けて、他の機器からアクセスを受け付けて、ＺｉｇＢｅｅ上位プロトコルと中継器発見プロトコルを提供する。
【０１１６】
ＺｉｇＢｅｅ３１２２は、直接、ＵＡＲＴ３１２３とデータの遣り取りをすることにより、無線ＲＦ内蔵通信コントローラ部１１０６と通信をする。モニタライブラリ３１２２は、ＵＡＲＴ３１２３を通じてデータを無線ＲＦ内蔵通信コントローラ部１１０６と送受信する。なお、モニタライブラリ３１２２が発信するコマンドは、無線ＲＦ内蔵通信コントローラ部１１０６に対するものもあれば、タップ１００４に対するものもある。
【０１１７】
さらに、ＺｉｇＢｅｅマネージャ３１２１は、ＺｉｇＢｅｅノードの状態に変化があった場合には当該ノード状態変化を検出して、当該ノード状態変化を他のアプリケーションに通知する機能を持つ。
【０１１８】
図９は、ＺｉｇＢｅｅマネージャ３１２１が検出するノード状態の変化を説明するための図である。図９を参照して、ＺｉｇＢｅｅマネージャ３１２１が検出するノード状態の変化には以下のものがある。
・通知理由＝１：“joined”（ノードがネットワークにジョインした）
・通知理由＝２：“removed” （ノードがネットワークからリーブした）
・通知理由＝３：“address-changed” （ノードのショートアドレスが変化した）
・通知理由＝４：“powered” （ノードの電源が投入された）
・通知理由＝５：“button-pressed”（ノードのボタンが押された）
・通知理由＝６：“unplugged”（ノードの電源が抜かれた）
ＺｉｇＢｅｅマネージャ３１２１は、ノード状態が変化したことを検知して、他のアプリケーション（タブレット端末１００８上のＵＩアプリケーション３８０１など）に通知する。そのときの通知理由が、１〜６で示される。アプリケーションは、上記のノード状態変化の通知を受けることで、その動作に反映させることができる。
【０１１９】
たとえば、ノードがネットワークにジョインした場合（通知理由１の場合）、ＵＩアプリケーション３８０１は、ノードがネットワークにジョインしたことを表す通知を受信して、気付きのポップアップ画面（図３４参照）を表示することができる。また、ノードの電源が投入された場合（通知理由４の場合）、ＵＩアプリケーション３８０１は、ノードの電源が投入されたことを表す通知を受信して、タップが選択されたことを表示することができる（図３６参照）。さらに、ＵＩアプリケーション３８０１は、ノードの電源が投入されたことを契機に、レポート条件を再設定することができる。
【０１２０】
また、ノードのボタンが押された場合（通知理由５の場合）、ＵＩアプリケーション３８０１は、ノードの電源が投入されたことを表す通知を受信して、タップが選択されたことを表示することができる（図３６参照）。なお、ＺｉｇＢｅｅマネージャ３１２１は、ノードの電源が抜かれた（ノードへの給電が停止した）ことを、すぐに検知するのは難しい。
【０１２１】
なお、タップ１００４の制御構造、中継器１００１（ＺｉｇＢｅｅマネージャ）の制御構造、およびタブレット端末１００８（ＵＩアプリケーション３８０１）の制御構造については、後述する。
【０１２２】
図１０は、タブレット端末１００８におけるソフトウェア構造を説明するための図である。
【０１２３】
図１０を参照して、タブレット端末１００８は、ＵＩ（User Interface）アプリケーション３８０１と、機器制御ライブラリ３８０２と、ＵＤＰ／ＩＰポート（ポート番号は任意でよい）３８０３と、ＷｉＦｉ３８０４と、中継器発見ライブラリ３８０５と、ＵＤＰ／ＩＰポート（ポート番号は任意でよい）３８０６と、ＷｉＦｉ３８０７とを備える。
【０１２４】
ＵＩアプリケーション３８０１は、タブレット端末１００８のディスプレイ４０２１にＵＩを表示するためのアプリケーションである。機器制御ライブラリ３８０２は、中継器１００１等やタップ１００４他の通信機器を制御するために用いられるライブラリである。中継器発見ライブラリ３８０５は、中継器１００１を発見するためのライブラリである。ＵＩアプリケーション３８０１は、中継器発見ライブラリ３８０５を呼び出して中継器を発見し、さらに、機器制御ライブラリ３８０２を呼び出してタップ１００４などの通信機器を制御する。
【０１２５】
ここで、中継器発見ライブラリ３８０５を用いて中継器１００１を発見する手法について簡単に説明すると以下の通りである。まず、中継器発見ライブラリ３８０５は、中継器発見プロトコルにてあらかじめ定められたパケットをブロードキャストで送信する。このとき宛先ＩＰアドレスを２５５．２５５．２５５．２５５などのブロードキャストアドレス（または、あらかじめ定められたマルチキャストアドレス）とする。宛先ＵＤＰポートを、中継器発見プロトコルにてあらかじめ定められているポート番号とする。
【０１２６】
同一ＬＡＮ（Local Area Network）セグメントにある中継器のＺｉｇＢｅｅマネージャ３１２１は、当該ブロードキャストパケットを受信できるので、その応答を返す。応答パケットには中継器のＩＰアドレスとＭＡＣアドレスとが含まれる。
【０１２７】
中継器発見ライブラリ３８０５は、同一ＬＡＮ（Local Area Network）セグメントにある中継器から応答を受け取る。中継器発見ライブラリ３８０５は、当該応答に含まれる中継器のＩＰアドレスとＭＡＣアドレスを取得する。これにより、中継器発見ライブラリ３８０５は、中継器を発見することができる。なお、同一ＬＡＮ（Local Area Network）セグメント上に複数の中継器が存在した場合、１以上の応答が返ってくることがある。その場合、ＵＩアプリケーション３８０１は、ディスプレイ４０２１に見つかったすべての中継器についてそれぞれ、取得した情報（ＩＰアドレスとＭＡＣアドレス）を表示させ、ユーザに１つ選択させる。ＵＩアプリケーション３８０１は、ユーザによって選択された中継器のＩＰアドレスを指定して、機器制御ライブラリ３８０２を呼び出す。
【０１２８】
＜Ｆ．タップ再設定＞
ＵＩアプリケーション３８０１は、当該アプリケーションの動作に応じて、必要ならば、各タップ１００４に対して、電力情報をレポート送信するように設定を行なう。
【０１２９】
また、ＵＩアプリケーション３８０１は、当該アプリケーションの動作に応じて、各タップ１００４からレポート送信しないという設定を行なう。具体的には、ＵＩアプリケーション３８０１は、リアルタイム表示を開始するときは、各タップ１００４に対して、電力情報をレポート送信するように設定する。リアルタイム表示を終了するときは、各タップ１００４に対して、電力情報をレポート送信しないように設定する。
【０１３０】
送信間隔などのレポート条件を設定する一例として、ＺｉｇＢｅｅでは、“Configure Reporting”を使って設定する（非特許文献１参照）。あるいは、属性ライト（Write Attributes）コマンドを使って設定してもよい。
【０１３１】
タップ１００４は、レポート条件をＲＡＭに格納しているものとする。タップ１００４は、設定されたレポート条件に基づき、電力情報などのレポートを中継器１００１に送信する。中継器１００１は、タップ１００４から受信したレポートをタブレット端末１００８に送信する。タブレット端末１００８は、家電の消費電力をユーザに視認させるために、電力情報をディスプレイ４０２１に表示する。
【０１３２】
ところで、タップ１００４がコンセントから取り外されると、タップ１００４への給電が停止する。このため、タップ１００４の揮発性のメモリに格納されているレポート条件は、消えてしまう。よって、タップ１００４の給電が再開されても、タップ１００４からのレポート送信は再開さない。そこで、以下では、タップ１００４の給電が再開された場合に、タップ１００４からレポート送信が再開させる構成について、タップ１００４のリーブ処理を含めて説明する。
【０１３３】
（ｆ１．リアルタイム表示）
図１１は、リアルタイム表示を説明するための１つのイメージ図である。図１１を参照して、ＵＩアプリケーション３８０１は、ユーザの指示等によってＵＩアプリケーション３８０１の動作モードがリアルタイム表示を行なう動作モード（以下、「リアルタイム表示モード」と称する）に切替えられると、消費電力を表した電力情報をディスプレイ４０２１にリアルタイムに表示する。たとえば、ＵＩアプリケーション３８０１は、図１１に示したように、ユーザによって選択されたタップに接続されている家電の消費電力をリアルタイムに表示する。あるいは、ＵＩアプリケーション３８０１は、ネットワークＺに存在するすべてのタップに接続されている家電の消費電力を表示する。
【０１３４】
以下では、ＵＩアプリケーション３８０１の動作モードがリアルタイム表示モードとなった場合に、各タップ１００４から家電の消費電力を表す電力情報をリアルタイムに取得する構成について説明する。
【０１３５】
また、以下では、ＵＩアプリケーション３８０１がレポートの送信間隔などのレポート条件をタップ１００４に設定するための指令を送信する構成について説明する。ここで、タップ１００４がレポートの送信を開始する指令のことを「レポート開始指令」、タップ１００４がレポートの送信を終了する指令のことを「レポート終了指令」と称する。
【０１３６】
（ｆ２．ネットワークＺにおける制御構造）
図１２は、ネットワークＺにおけるシーケンスチャートである。図１２を参照して、シーケンスＳＱ２において、ユーザの指示に基づき、タブレット端末１００８は、動作モードを非リアルタイム表示モードからリアルタイム表示モードに変更する。シーケンスＳＱ４において、タブレット端末１００８は、レポート開始指令を中継器１００１に送信する。シーケンスＳＱ８において、中継器１００１は、受信したレポート開始指令を中継し、当該レポート開始指令をタップ１００４に送信する。シーケンスＳＱ１０において、タップ１００４は、受信したレポート開始指令に基づき、レポート条件を設定する。レポート条件には、一定の時間間隔ｔ０（たとえば５秒間隔）でレポート送信するような内容が書かれているものとする。
【０１３７】
シーケンスＳＱ１２において、一定の時間間隔ｔ０で、タップ１００４は、レポートを送信する。中継器１００１は、タップ１００４から送られてきたレポートをタブレット端末１００８に転送（中継）する。これにより、タブレット端末１００８は、リアルタイム表示を行なうことができる。
【０１３８】
シーケンスＳＱ１４において、タップ１００４がコンセントから取り外されること等により、タップ１００４への給電が停止したとする。
【０１３９】
シーケンスＳＱ１６において、タップ１００４がコンセントに再度差し込まれること等により、タップ１００４への給電が再開される。この場合、シーケンスＳＱ１８において、タップ１００４は、予め定められた信号を送信（発信）するものとする。たとえば、タップ１００４は、予め定められた信号として、ＺｉｇＢｅｅ仕様書で定義されている、”Device_annce”（以下、デバイスアンスと称する）をブロードキャストで送信するものとする。デバイスアンスは、ネットワークにジョインしたときやリジョインしたとき、または、アドレス衝突が発生してアドレス変更されたときに送信されるパケットである。本発明では、ペアリング済みのタップが給電を開始したときにもデバイスアンスを送信するものとする。
【０１４０】
シーケンスＳＱ２２において、中継器１００１は、デバイスアンスを受信した場合、後述するように、デバイスアンス受信処理を開始する。その結果、ここでは、中継器１００１は、タップ１００４の電源が入ったことを検出して、通知理由＝４（ノードの電源が投入された）のノード状態変化通知を送る。このような処理により、タブレット端末１００８は、タップ１００４に対して給電がなされたことを知ることができる。
【０１４１】
シーケンスＳＱ２４において、タブレット端末１００８は、レポート開始指令を中継器１００１に送信する。シーケンスＳＱ２８において、中継器１００１は、受信したレポート開始指令を中継し、当該レポート開始指令をタップ１００４に送信する。シーケンスＳＱ３０において、タップ１００４は、レポート開始指令に基づき、レポート条件を再設定する。このように、タブレット端末１００８は、中継器１００１からノード状態変化の通知を受けることによって、タップ１００４に対してレポート条件を再設定する。
【０１４２】
シーケンスＳＱ３２において、一定の時間間隔ｔ０で、タップ１００４は、レポートを送信する。中継器１００１は、タップ１００４から送られてきたレポートをタブレット端末１００８に転送（中継）する。これにより、タブレット端末１００８は、リアルタイム表示を再開することができる。
【０１４３】
（ｆ３．タップ１００４における制御構造）
タップ１００４における制御構造について説明する。
【０１４４】
図１３は、本発明の実施の形態に従うタップ側の電源投入後の処理について説明するフロー図である。当該処理は、主にＣＰＵ２１２１における処理である。
【０１４５】
図１３を参照して、ＣＰＵ２１２１は、電源投入されると、まず、ＮＶＲＡＭに格納されているコンフィグ情報を復元する（ステップＳ１０２）。
【０１４６】
次に、ステップＳ１０４にて、コンフィグ情報に含まれている初期化フラグがセットされているかどうかを判断する。
【０１４７】
ステップＳ１０４においてＮＯと判断した場合には、ステップＳ１０６に進む。
また、ステップＳ１０４においてＹＥＳと判断した場合には、ＮＶＲＡＭに書込みされているコンフィグ情報とネットワーク情報を工場出荷時の初期値に戻す処理を実行する（ステップＳ１１８）。
【０１４８】
次に、ＮＶＲＡＭに格納されているネットワーク情報を復元する（ステップＳ１０６）。
【０１４９】
次に、ステップＳ１０８にて、ネットワーク情報に有意データがあるかどうかを判断する。
【０１５０】
ステップＳ１０８においてＹＥＳと判断した場合には、ランダム時間待機（ウェイト）する（ステップＳ１２０）。そして、デバイスアンスをブロードキャストで送信する（ステップＳ１２４）。ランダム時間待機することにより複数のタップの電源が一斉にＯＮされた場合に、デバイスアンスをブロードキャスト送信するタイミングをずらして衝突を防ぐことが期待できる。
【０１５１】
一方、ステップＳ１０８においてＮＯと判断した場合には、ジョイン許可しているネットワークを見つけてアソシエーション要求を送信する（ジョイン処理）（ステップＳ１１０）。
【０１５２】
具体的には、タップ１００４は、ビーコン・リクエストを送信して、ビーコンを受信する。ビーコンは、（コーディネータである）中継器１００１と（ルータである）他のタップから送信される。タップ１００４は、受信したビーコンを解析してジョイン許可されているネットワークのうち最適なものを１つ選んでアソシエーション要求（NLME-JOIN.Request）を送信する（ジョインを試みる）。なお、中継器１００１側の処理は、図２２で説明したものであり、主に、コーディネータ部のプロトコルスタック３１１２における処理である。なお、ジョイン処理中は、タップ１００４は、ＬＥＤは普通点滅を繰り返す。
【０１５３】
次に、ステップＳ１１２において、アソシエーション応答（成功）を受信したかどうかを判断する。
【０１５４】
ステップＳ１１２においてＹＥＳと判断した場合には、得られたネットワーク情報をＮＶＲＡＭに書込む（ステップＳ１２２）。ネットワーク情報には、PanID、Extended PanID、論理チャンネルなどが含まれる。また、タップ１００４に割り当てられたショートアドレスも含まれる。
【０１５５】
そして、デバイスアンスをブロードキャストで送信する（ステップＳ１２４）。
そして、ジョイン済みに移行する（ステップＳ１２６）。なお、ジョイン済みになればＬＥＤを消灯するものとする。
【０１５６】
そして、処理を終了する（電源投入後の処理を終了）。
一方、ステップＳ１１２においてＮＯと判断した場合には、次に、ステップＳ１１４にて、ジョイン処理を開始してから６０秒が経過したかどうかを判断する。
【０１５７】
ステップＳ１１４においてＮＯと判断した場合には、ステップＳ１１０に戻り、ジョイン処理を継続する。
【０１５８】
一方、ステップＳ１１４においてＹＥＳと判断した場合には、ホールド状態に移行する（ステップＳ１１６）。ホールド状態というのは、自身をリセットした後に、ネットワークへの参加をせずにとどまっている状態である。このときパケット送受信をいっさい行なわない。この際、ＬＥＤは高速に点滅するものとする。なお、後述するが当該ホールド状態の場合に設定ボタンを押下した場合には、ホールド状態が解除されてステップＳ１１０に戻るものとする。
【０１５９】
そして、処理を終了する（電源投入後の処理を終了）。
図１４は、本発明の実施の形態に従うタップ側の設定ボタン押下げ後の処理について説明する図である。当該処理は、主にＣＰＵ２１２１における処理である。
【０１６０】
図１４を参照して、設定ボタンが押下げられた場合には、まず、ステップＳ２０２にて、ホールド状態であるかどうかを判断する。
【０１６１】
ステップＳ２０２においてＹＥＳと判断した場合には、ホールド状態を解除してジョイン処理を再開する（ステップＳ２０６）。すなわち、図１３のステップＳ１１０に進む。
【０１６２】
そして、処理を終了する（ボタン押下げ後の処理を終了）。
ステップＳ２０２においてＮＯと判断した場合には、次に、ステップＳ２０４にて、ジョイン済みであるかどうかを判断する。
【０１６３】
ステップＳ２０４においてＹＥＳと判断した場合には、デバイスアンスをコーディネータ（ショートアドレス＝０ｘ００００）に対してユニキャストで送信する（ステップＳ２０８）。なお、その際、ＬＥＤは一瞬点灯させるものとする。
【０１６４】
そして、処理を終了する（ボタン押下げ後の処理を終了）。
ステップＳ２０４においてＮＯと判断した場合には、そのまま処理を終了する（ボタン押下げ後の処理を終了）。
【０１６５】
図１５は、ペアリング済みのときに実施されるアドレス衝突検出処理についてのフローチャートである。具体的には、図１５は、ＺｉｇＢｅｅＰＲＯの場合に行なわれる処理を処理である。図１５を参照して、ステップＳ３０２において、タップ１００４のＣＰＵ２１２１（図５参照）は、ショートアドレスが衝突しているか否かを検出する。ＣＰＵ２１２１は、ステップＳ３０２においてＮＯの場合、アドレス衝突検出処理を終了する。ＣＰＵ２１２１は、ステップＳ３０２においてＹＥＳの場合、ステップＳ３０４において、タップ１００４のショートアドレスを変更する。ステップＳ３０６において、ＣＰＵ２１２１（より詳しくは、ＺｉｇＢｅｅプロトコルスタック３４０２（図７参照））は、デバイスアンスをブロードキャストで送信する。
【０１６６】
図１６は、ペアリング済みのときに繰り返し実施されるパケット受信処理についてのフローチャートである。図１６を参照して、ステップＳ４０２においてＣＰＵ２１２１は、レポート開始指令を受信したか否かを判断する。ＣＰＵ２１２１は、ステップＳ４０２においてＹＥＳの場合、ステップＳ４１０において指定された条件でレポートを送信し、パケット受信処理を終了する。ＣＰＵ２１２１は、ステップＳ４０２においてＮＯの場合、処理をステップＳ４０４に進める。
【０１６７】
ステップＳ４０４において、ＣＰＵ２１２１は、レポート停止指令を受信したか否かを判断する。ＣＰＵ２１２１は、ステップＳ４０４においてＹＥＳの場合、ステップＳ４１２において、レポート送信を停止する。ＣＰＵ２１２１は、ステップＳ４０４においてＮＯの場合、パケット受信処理を終了する。
【０１６８】
図１７は、本発明の実施の形態に従うタップ側のパケット受信処理について説明するフロー図である。
【０１６９】
図１７を参照して、まず、ステップＳ４０６にて、初期化フラグの設定指令を受信したかどうかを判断する。
【０１７０】
ステップＳ４０６においてＹＥＳと判断した場合、初期化フラグをセットする（ＮＶＲＡＭのコンフィグ情報に書き込む）（ステップＳ４１４）。
【０１７１】
そして、当該設定指令に対する応答を送信する（ステップＳ４１６）。
そして、処理を終了する（パケット受信処理終了）。
【０１７２】
また、ステップＳ４０６においてＮＯと判断した場合には、続いて、ステップＳ４０８にて、遅延リセット指令を受信したかどうかを判断する。
【０１７３】
ステップＳ４０８においてＹＥＳと判断した場合には、指定された時間経過後にリセットするようにタイマー予約する（ステップＳ４１８）。
【０１７４】
そして、当該リセット指令に対する応答を送信する（ステップＳ４２０）。その後、タイマー満了になればタップ１００４自身をリセットする（つまり再起動する）。
【０１７５】
そして、処理を終了する（パケット受信処理終了）。
また、ステップＳ４０８においてＮＯと判断した場合には、処理を終了する（パケット受信処理終了）。
【０１７６】
当該処理により、タイマー満了後にリセットされて、初期化フラグが設定されているので、タップ１００４のＮＶＲＡＭに書込みされているコンフィグ情報とネットワーク情報を工場出荷時の初期値に戻す処理が実行される。
【０１７７】
本実施の形態に従うリーブ処理においては、中継器１００１のプッシュボタン１１０８を押下した際に、中継器１００１のスライドスイッチ１１０９がＬＥＡＶＥ位置にある場合には、リーブモードが開始される。また、ジョイン済みであるタップ１００４の設定ボタンを押下すると、タップ１００４からデバイスアンスがユニキャストで中継器１００１に送信される。中継器１００１は、中継器がリーブモードの時に、デバイスアンスをユニキャストで受信すると、当該デバイスアンスの送信元であるデバイスのアドレスを指定してリーブ処理を開始する。
【０１７８】
中継器１００１のリーブ処理の開始により、中継器１００１から指定されたデバイスに対して初期化フラグの設定指令が送信される。指定されたデバイスは、当該指令に従ってコンフィグ情報の一部である初期化フラグをセットする。そして、中継器１００１は、指定されたデバイスからの初期化フラグの設定指令に対する応答があった場合に、遅延リセット指令を指定されたデバイスに送信する。指定されたデバイスには、遅延リセット指令を受けてタイマー満了後にリセットする。再起動後、コンフィグ情報の一部である初期化フラグに従ってＮＶＲＡＭに書込みされているコンフィグ情報とネットワーク情報を工場出荷時の初期値に戻す処理を実行する。また、指定されたデバイスは、遅延リセット指令を受信した旨の応答を中継器１００１に送信する。中継器１００１は、指定されたデバイスから遅延リセット指令を受信した旨の応答を受信した場合に、指定されたデバイスに関するデバイス情報をアソシエートデバイスリストから削除する。
【０１７９】
したがって、リーブモードにおいて、中継器１００１は、タップ１００４からのデバイスアンスに従ってリーブ処理するタップ１００４を特定する。そして、中継器１００１は、初期化フラグの設定指令を送信し、応答があった場合に、遅延リセット指令を送信する。当該流れによりタップ１００４のネットワーク情報およびコンフィグ情報は、工場出荷時の状態にリセットされる。また、タップ１００４からの遅延リセット指令に対する応答があった場合に、中継器１００１においてネットワークにおいて通信接続に必要なネットワーク情報およびコンフィグ情報等の設定情報を削除する。それゆえ、制御装置と各タップとの間で互いに齟齬がないように情報の遣り取りを確認し、確認できた場合に、タップと中継器との間でともに、通信接続に必要な設定情報が削除されるため、いずれか一方の装置に情報が残って、ネットワーク上に無用なトラフィックが生じる可能性を排除することができる。
【０１８０】
すなわち、中継器１００１においてリーブモードを開始させ、タップの設定ボタンを押下するという簡便な操作で、制御装置と各タップとの間で互いに齟齬がないように各タップをネットワークから離脱させることが可能である。
【０１８１】
なお、図１４のステップＳ２０８にて、デバイスアンスを（コーディネータに対して）ユニキャストで送信しているが、ここで、デバイスアンスをユニキャスト送信することに特段の設計意図はない。デバイスアンス以外に何らかのパケット（ボタンが押されたことを明示的、あるいは、暗黙的に示すようなパケット）を送信してもよい。この場合、図２８もそれに合わせた構成とする。なお、デバイスアンスを送信している理由は、ＺｉｇＢｅｅにおいては、ノードに何らかの状態変更があった場合にデバイスアンスをブロードキャストで送信することが一般的であるからである。
【０１８２】
図１８は、本発明の実施の形態に従うタップ１００４における設定ボタンの長押しの場合の処理について説明するフロー図である。当該処理は、主にＣＰＵ２１２１における処理である。
【０１８３】
図１８を参照して、設定ボタンの押下げ（長押し）が受け付けられた場合に、当該処理（設定ボタン押下げ（長押し）後の処理）が開始する。そして、まず、自身がネットワークから切り離し（離脱）することを宣言するネットワーク離脱宣言信号を送信する（ステップＳ５０２）。具体的には、NLME-LEAVE.request(DeviceAddress＝NULL)をブロードキャストで送信する。
【０１８４】
当該信号を受信した他のノードは、当該離脱宣言したノードに関する情報を削除する。
次に、初期化フラグをセットする（ステップＳ５０４）。具体的には、ＮＶＲＡＭのコンフィグ情報に書き込む。
【０１８５】
そして、所定時間経過後にリセットするようにタイマー予約する（ステップＳ５０６）。なお、所定時間は一例として２００ｍｓである。
【０１８６】
そして、処理を終了する（設定ボタン押下げ（長押し）後の処理終了）。
当該処理においては、タップ１００４の設定ボタン２１０６を長押しすることによって、初期化フラグが設定されるとともに、リセット指令が受け付けられ、当該タップ１００４を工場出荷時等の初期状態に戻して設定するリセット処理（再設定処理）が実行される。それとともに、当該タップ１００４についてネットワークから離脱することを要求する離脱宣言信号を中継器１００１に送信する。
【０１８７】
（ｆ４．中継器１００１における制御構造）
図１９は、本発明の実施の形態に従うタップ１００４から送信されたネットワーク離脱宣言信号を受信した場合の処理を説明するフロー図である。
【０１８８】
図１９を参照して、中継器１００１は、タップ１００４からの離脱宣言信号を受信したか否かを判断する（ステップＳ５１０）。
【０１８９】
ステップＳ５１０において、タップ１００４からの離脱宣言信号を受信した場合（ステップＳ５１０においてＹＥＳ）にアソシエートデバイスリストから当該ネットワーク離脱宣言をしたデバイス（タップ）に関する情報を削除する（ステップＳ５１２）。
【０１９０】
そして、処理を終了する（受信処理終了）。
また、ステップＳ５１０において、タップ１００４からの離脱宣言信号を受信しない場合（ステップＳ５１０においてＮＯ）には、処理を終了する（受信処理終了）。
【０１９１】
当該処理により、ユーザがタップ１００４のみを操作することによりタップ１００４に登録されているネットワーク情報等のデータを初期化状態（工場出荷時等の状態）に戻した状態にリセット処理することができるのみならず、中継器１００１側のリーブ処理も実行することが可能であるため、簡便に制御装置と各タップとの間で互いに齟齬がないように各タップをネットワークから離脱させることが可能である。
【０１９２】
図２０は、本発明の実施の形態に従う中継器１００１のプッシュボタンの押下げ処理を説明するフロー図である。当該処理は、中継器１００１のＺｉｇＢｅｅマネージャ３１２１（制御部１１０１）によって実施される処理である。
【０１９３】
図２０を参照して、制御部１１０１は、まず、ステップＳ６０２にて、プッシュボタン１１０８が押下されたかどうかを判断する。
【０１９４】
ステップＳ６０２においてＮＯと判断した場合には、処理を終了する（プッシュボタン押下げ処理終了）。
【０１９５】
ステップＳ６０２においてＹＥＳと判断した場合には、ステップＳ６０４にて、スライドスイッチ１１０９がいずれの位置にあるかを判断する。
【０１９６】
ステップＳ６０４において、スライドスイッチ１１０９がＪＯＩＮ位置に位置すると判断した場合には、ジョインモード処理を実施する（ステップＳ６０６）。ジョインモード処理の詳細については後述する。
【０１９７】
ステップＳ６０４において、スライドスイッチ１１０９がＮＯＰ位置に位置すると判断した場合には、何もしない（ステップＳ６０８）。
【０１９８】
ステップＳ６０４において、スライドスイッチ１１０９がＬＥＡＶＥ位置に位置すると判断した場合には、リーブモード処理を実施する（ステップＳ６１０）。リーブモード処理の詳細については後述する。
【０１９９】
そして、処理を終了する（プッシュボタン押下げ処理終了）。
図２１は、本発明の実施の形態に従う中継器１００１のジョインモード処理について説明するフロー図である。当該処理は、中継器１００１のＺｉｇＢｅｅマネージャ３１２１（制御部１１０１）によって実施される処理である。
【０２００】
図２１を参照して、ジョインモード処理が開始された場合、制御部１１０１は、まず、ローカルノードである無線ＲＦ内蔵通信コントローラ部１１０６に対してジョイン許可６０秒間の指令を通知する（ステップＳ７００）。ジョイン許可６０秒間の指令とは、６０秒間だけローカルノードをジョイン許可状態に設定することを意味する。具体的には、NLME-PERMIT-JOINING.Request（引数：PermitDuration=60）をローカルノードに通知する。
【０２０１】
次に、ステップＳ７０２にて、当該通知が成功したかどうかを判断する。具体的には、当該通知を無線ＲＦ内蔵通信コントローラ部１１０６が正常に受け付けたかどうかを判断する。ステップＳ７０２においてＹＥＳと判断した場合には、中継器１００１をジョインモードに設定する（ステップＳ７０４）。なお、この場合に、中継器１００１のＬＥＤを普通点滅させてモードの変更をユーザに通知する。中継器１００１をジョインモードに設定している場合におけるリモートノードからの信号の受信処理の詳細については後述する。
【０２０２】
次に、ステップＳ７０６にて、６０秒が経過した、または、スライドスイッチの位置がＪＯＩＮ位置から外れたかどうかを判断する。ステップＳ７０６においてＮＯと判断した場合、当該状態を維持する。すなわち、ジョイン許可状態を維持する。
【０２０３】
ステップＳ７０６においてＹＥＳと判断した場合、ローカルノードに対してジョイン禁止の指令を通知する（ステップＳ７０８）。具体的には、制御部１１０１は、ローカルノードである無線ＲＦ内蔵通信コントローラ部１１０６に対してジョイン禁止の指令を通知する。具体的には、NLME-PERMIT-JOINING.Request（引数：PermitDuration=0）をローカルノードに通知する。
【０２０４】
そして、中継器１００１を通常モードに設定する（ステップＳ７１０）。なお、この場合に、中継器１００１のＬＥＤを普通点滅から消灯させてモードの変更をユーザに通知する。また、制御部１１０１は、無線ＲＦ内蔵通信コントローラ部１１０６に対するジョイン禁止状態（NLME-PERMIT-JOINING.Request）の通知が成功したか失敗したかに係らず当該モードに設定する。
【０２０５】
そして、処理を終了する（ジョインモード処理終了）。
一方、ステップＳ７０２においてＮＯと判断した場合には、処理を終了する（ジョインモード処理終了）。
【０２０６】
図２２は、本発明の実施の形態に従う中継器１００１のローカルノードにおけるリモートノードからの信号の受信処理を説明するフロー図である。当該処理は、中継器１００１のＺｉｇＢｅｅプロトコルスタック３１１２（無線ＲＦ内蔵通信コントローラ部１１０６）によって実施される処理である。
【０２０７】
図２２を参照して、まず、無線ＲＦ内蔵通信コントローラ部１１０６は、ステップＳ７３０にて、ビーコン・リクエストを受信したかどうかを判断する。そして、ステップＳ７３０においてＹＥＳと判断したには、ビーコンを送信する（ステップＳ７３２）。そして、ビーコン・リクエストに関する受信処理は終了する。
【０２０８】
次に、ステップＳ７３０においてＮＯと判断した場合には、ステップＳ７３４にて、アソシエーション要求を受信したかどうかを判断する。
【０２０９】
ステップＳ７３４においてＹＥＳと判断した場合には、ステップＳ７３６にて、自身がジョイン許可中であるかどうかを判断する。
【０２１０】
ステップＳ７３６においてＹＥＳと判断した場合には、ステップＳ７３８にて、アソシエートデバイスリストに追加可能かどうかを判断する。例えば、追加した場合に、リストに登録可能な個数を超えるかどうかを判断する。超えない場合には追加可能であると判断する。
【０２１１】
ステップＳ７３８においてＹＥＳと判断した場合には、新規デバイスにショートアドレスを割り当てる（ステップＳ７４０）。
【０２１２】
そして、次に、アソシエートデバイスリストに新規デバイスのデバイス情報を追加する（ステップＳ７４２）。デバイス情報としてＩＥＥＥアドレス、ショートアドレス、ノード関係などを登録する。
【０２１３】
次に、アソシエーション応答（成功）をアソシエーション要求の送信元に対して送信する（ステップＳ７４４）。アソシエーション応答（成功）には、割り当てたショートアドレスなどが含まれる。
【０２１４】
そして、処理を終了する（受信処理終了）。
なお、ステップＳ７３４においてＮＯと判断した場合、ステップＳ７３６においてＮＯと判断した場合、あるいは、ステップＳ７３８においてＮＯと判断した場合には、処理を終了する（受信処理終了）。
【０２１５】
図２３は、本発明の実施の形態に従う中継器１００１のリーブモード処理について説明するフロー図である。当該処理は、中継器１００１のＺｉｇＢｅｅマネージャ３１２１（制御部１１０１）によって実施される処理である。
【０２１６】
図２３を参照して、リーブモード処理が開始された場合、制御部１１０１は、中継器１００１をリーブモードに設定する（ステップＳ７２０）。なお、この場合に、中継器１００１のＬＥＤを高速点滅させてモードの変更をユーザに通知する。後述するがタップ１００４の設定ボタンが押下されればデバイスアンスをコーディネータ（ショートアドレス＝０ｘ００００）に対してユニキャスト送信するものとする。中継器１００１は、デバイスアンスを受信した場合、後述するように、デバイスアンス受信処理を開始する。なお、中継器を「リーブモードに設定する」というのは、ＺｉｇＢｅｅマネージャ３１２１内部で閉じた話である。ローカルノードに何らかの指令を出すわけではない。
【０２１７】
次に、ステップＳ７２２にて、６０秒が経過した、あるいは、スライドスイッチの位置がＬＥＡＶＥ位置から外れたかどうかを判断する。
【０２１８】
ステップＳ７２２においてＮＯと判断した場合には、リーブモードを維持する。
ステップＳ７２２においてＹＥＳと判断した場合には、中継器１００１を通常モードに設定する（ステップＳ７２４）。なお、この場合に、中継器１００１のＬＥＤを高速点滅から消灯させてモードの変更をユーザに通知する。
【０２１９】
そして、処理を終了する（リーブモード処理終了）。
図２４は、定期的（たとえば３分間隔）で実施される全生存ノードＰＩＮＧ応答確認処理についてのフローチャートである。なお、ノードの電源情報（図８参照）の初期値は、“Powered”である。ＰＩＮＧは、具体的には、IEEE_addr_reqである。宛先アドレスをショートアドレスで指定する。
【０２２０】
ステップＳ８００において、中継器１００１のＺｉｇＢｅｅマネージャ３１２１は、ＺｉｇＢｅｅマネージャ３１２１の管理するノードのうち生存情報が生存であるノードに対して、ＰＩＮＧを送信する。ステップＳ８０２において、ＺｉｇＢｅｅマネージャ３１２１は、ノードからＰＩＮＧ応答があれば、ＺｉｇＢｅｅマネージャ３１２１の管理するノード情報において「最後に受信した時刻」を更新する。ステップＳ８０６において、ＺｉｇＢｅｅマネージャ３１２１は、当該ノードの電源情報は“unplugged”にセットされているか否かを判断する。
【０２２１】
ＺｉｇＢｅｅマネージャ３１２１は、ステップＳ８０６においてＹＥＳの場合、ステップＳ８０８において、ノード状態変化を通知する。なお、通知理由は、「ノード電源が投入された」である（図９参照）。ステップＳ８１０において、ＺｉｇＢｅｅマネージャ３１２１は、当該ノードの電源情報を“powered”にセットする。
【０２２２】
ＺｉｇＢｅｅマネージャ３１２１は、ステップＳ８０６においてＮＯの場合、ステップＳ８０４において、ＺｉｇＢｅｅマネージャ３１２１の管理するノード情報のうちの生存ノードにおいて、電源情報が”powered”にセットされており、「最後に受信した時刻」が現在時刻から所定期間を差し引いた時刻よりも前のノードがあるか否かを判断する。なお、所定期間は、たとえば１０分とする。要するに、ＺｉｇＢｅｅマネージャ３１２１は、定期的にＰＩＮＧを送って、しばらく応答を返さなかったノードがあれば、当該ノードは電源を抜かれた（給電停止）ものと判断する。
【０２２３】
ＺｉｇＢｅｅマネージャ３１２１は、ステップＳ８０４においてＮＯの場合、全生存ノードＰＩＮＧ応答確認処理を終了する。ＺｉｇＢｅｅマネージャ３１２１は、ステップＳ８０４においてＹＥＳの場合、ステップＳ８１２において、ノード状態変化を通知する。なお、通知理由は、「ノードの電源が抜かれた」である（図９参照）。ステップＳ８１４において、ＺｉｇＢｅｅマネージャ３１２１は、当該ノードの電源情報を“unplugged”にセットする。
【０２２４】
図２５は、デバイスアンスを受信したときに実施されるデバイスアンス受信処理につていのフローチャートである。図２６は、ＺｉｇＢｅｅマネージャ３１２１がデバイスアンスを受信したときに、どのような動作をすべきかを表した図である。図２５のフローチャートは、図２６に示した図の内容に基づいたものである。
【０２２５】
今回開示された実施の形態は例示であって、上記内容のみに制限されるものではない。
本発明の範囲は特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
本発明の或る局面に従うと、電子機器は、ルータとして動作している消費電力測定器を管理する制御装置と通信する。消費電力測定器は、電子機器によって設定された条件に基づき、消費電力測定器に接続された家電における消費電力を表す電力情報を、制御装置を介して電子機器に送信するものである。条件は、消費電力測定器の揮発性メモリに格納されている。電子機器は、消費電力測定器への給電が停止した後に当該給電が再開されたことに基づいて消費電力測定器から送信される第１の信号に基づく第２の信号を、制御装置から受信する受信手段と、第２の信号を受信したことに基づき、制御装置を介して、消費電力測定器に対して条件を再設定する再設定手段とを備える。
好ましくは、電子機器は、電力情報を収集する第１の動作モードと、電力情報を収集しない第２の動作モードとを備える。再設定手段は、電子機器が第１の動作モードである場合に、消費電力測定器に対して条件を再設定する。
好ましくは、電子機器は、収集した電力情報を表示するための表示手段をさらに備える。再設定手段は、第１の動作モードにおいて電力情報が表示されている場合に、消費電力測定器に対して条件を再設定する。
好ましくは、電子機器は、動作モードが第１の動作モードから第２の動作モードに切替わると、制御装置を介して、消費電力測定器に対して電力情報の送信を停止させる。
好ましくは、条件は、電力情報を送信する時間間隔を表している。
本発明の他の局面に従うと、制御装置は、電子機器と通信し、ルータとして動作している消費電力測定器を管理する。消費電力測定器は、電子機器によって設定された条件に基づき、消費電力測定器に接続された家電における消費電力を表す電力情報を、制御装置を介して電子機器に送信するものである。条件は、消費電力測定器の揮発性メモリに格納されている。制御装置は、消費電力測定器から、消費電力測定器への給電が停止した後に当該給電が再開されたことに基づいて送信される第１の信号を受信する受信手段と、第１の信号を受信したことに基づき、電子機器に第２の信号を送信する送信手段と、第２の信号を送信した後に電子機器から条件の再設定を指示するための指令を受信したことに基づき、当該指令を消費電力測定器に転送する転送手段とを備える。
本発明のさらに他の局面に従うと、通信システムは、ルータとして動作している消費電力測定器と、消費電力測定器を管理する制御装置と、制御装置と通信する電子機器とを備える。消費電力測定器は、電子機器によって設定された条件に基づき、消費電力測定器に接続された家電における消費電力を表す電力情報を、制御装置を介して電子機器に送信する。消費電力測定器は、条件を、消費電力測定器の揮発性メモリに格納している。消費電力測定器は、消費電力測定器への給電が停止した後に当該給電が再開されたことに基づき、第１の信号を送信する。制御装置は、第１の信号を受信する。制御装置は、第１の信号に基づく第２の信号を電子機器に送信する。電子機器は、第２の信号を、制御装置から受信する。電子機器は、第２の信号を受信したことに基づき、制御装置を介して、消費電力測定器に対して条件を再設定する。
本発明のさらに他の局面に従うと、通信条件決定方法は、ルータとして動作している消費電力測定器を管理する制御装置と通信する電子機器において実行される。消費電力測定器は、電子機器によって設定された条件に基づき、消費電力測定器に接続された家電における消費電力を表す電力情報を、制御装置を介して電子機器に送信するものである。条件は、消費電力測定器の揮発性メモリに格納されている。通知条件設定方法は、電子機器が、消費電力測定器への給電が停止した後に当該給電が再開されたことに基づいて消費電力測定器から送信される第１の信号に基づく第２の信号を、制御装置から受信するステップと、電子機器が、第２の信号を受信したことに基づき、制御装置を介して、消費電力測定器に対して条件を再設定するステップとを備える。
本発明のさらに他の局面に従うと、通信方法は、電子機器と通信し、ルータとして動作している消費電力測定器を管理する制御装置において実行される。消費電力測定器は、電子機器によって設定された条件に基づき、消費電力測定器に接続された家電における消費電力を表す電力情報を、制御装置を介して電子機器に送信するものである。条件は、消費電力測定器の揮発性メモリに格納されている。通信方法は、消費電力測定器から、消費電力測定器への給電が停止した後に当該給電が再開されたことに基づいて送信される第１の信号を受信するステップと、第１の信号を受信したことに基づき、電子機器に第２の信号を送信するステップと、第２の信号を送信した後に電子機器から条件の再設定を指示するための指令を受信したことに基づき、当該指令を消費電力測定器に転送するステップとを備える。
本発明のさらに他の局面に従うと、プログラムは、ルータとして動作している消費電力測定器を管理する制御装置と通信する電子機器を制御する。消費電力測定器は、電子機器によって設定された条件に基づき、消費電力測定器に接続された家電における消費電力を表す電力情報を、制御装置を介して電子機器に送信するものである。条件は、消費電力測定器の揮発性メモリに格納されている。プログラムは、消費電力測定器への給電が停止した後に当該給電が再開されたことに基づいて消費電力測定器から送信される第１の信号に基づく第２の信号を、制御装置から受信するステップと、第２の信号を受信したことに基づき、制御装置を介して、消費電力測定器に対して条件を再設定するステップとを、電子機器のプロセッサに実行させる。
本発明のさらに他の局面に従うと、プログラムは、電子機器と通信し、ルータとして動作している消費電力測定器を管理する制御装置を制御する。消費電力測定器は、電子機器によって設定された条件に基づき、消費電力測定器に接続された家電における消費電力を表す電力情報を、制御装置を介して電子機器に送信するものである。条件は、消費電力測定器の揮発性メモリに格納されている。プログラムは、消費電力測定器から、消費電力測定器への給電が停止した後に当該給電が再開されたことに基づいて送信される第１の信号を受信するステップと、第１の信号を受信したことに基づき、電子機器に第２の信号を送信するステップと、第２の信号を送信した後に電子機器から条件の再設定を指示するための指令を受信したことに基づき、当該指令を消費電力測定器に転送するステップとを、制御装置のプロセッサに実行させる。
【０２２６】
図２５を参照して、ステップＳ９００において、ＺｉｇＢｅｅマネージャ３１２１は、デバイスアンスを受信すると、ノード管理情報を参照して、”当該ノード（デバイスアンスの送信元ノードの意味）が存在しないか行方不明であるか、または、当該ノードが生存するがショートアドレスが異なる”か否かを判断する。
【０２２７】
ＺｉｇＢｅｅマネージャ３１２１は、ステップＳ９００においてＹＥＳと判断した場合、ステップＳ９０８においてアソシエートサーチを実行する。アソシエートサーチの詳細については、図２７に基づいて説明する。ＺｉｇＢｅｅマネージャ３１２１は、ステップＳ９００においてＮＯと判断した場合、ステップＳ９０２において、“当該デバイスアンスをユニキャストで受信し、当該ノードがノード管理情報で生存しているノードであり、ショートアドレスの変更がなく、かつ中継器１００１がリーブモード中でない”か否かを判断する。
【０２２８】
ＺｉｇＢｅｅマネージャ３１２１は、ステップＳ９０２においてＹＥＳの場合、ステップＳ９１０において、ノード状態変化を通知する。なお、通知理由は、「ノードのボタンが押された」である（図９参照）。ＺｉｇＢｅｅマネージャ３１２１は、ステップＳ９０２においてＮＯの場合には、ステップＳ９０４において、“当該デバイスアンスをブロードキャストで受信し、当該ノードがノード管理情報で生存しているノードであり、かつショートアドレスの変更がない”か否かを判断する。
【０２２９】
ＺｉｇＢｅｅマネージャ３１２１は、ステップＳ９０４においてＹＥＳの場合には、ステップＳ９１２において、ノード状態変化を通知する。なお、通知理由は、「ノード電源が投入された」である（図９参照）。その後、ＺｉｇＢｅｅマネージャ３１２１は、ステップＳ９１３において、当該ノードの電源情報を“powered”にセットする。ＺｉｇＢｅｅマネージャ３１２１は、ステップＳ９０４においてＮＯの場合には、ステップＳ９０６において、“当該デバイスアンスをユニキャストで受信し、かつ中継器１００１がリーブモード中である”か否かを判断する。
【０２３０】
ＺｉｇＢｅｅマネージャ３１２１は、ステップＳ９０６においてＹＥＳの場合には、ステップＳ９１４において、当該デバイスアンスの送信元アドレスを指定してリーブ処理を実行する。なお、当該リーブ処理の詳細については、図２８に基づいて説明する。ＺｉｇＢｅｅマネージャ３１２１は、ステップＳ９０６においてＮＯの場合には、デバイスアンス受信処理を終了する。
【０２３１】
図２７は、アソシエートサーチについてのフローチャートである。当該アソシエートサーチは、ＺｉｇＢｅｅマネージャ３１２１が何らかの変化を検出したとき、または変化がなくても定期的（たとえば３分間隔）に実施される処理である。なお、アソシエートデバイスリストには、アソシエートされているノードのＩＥＥＥアドレス、ショートアドレス、ノード関係などが含まれる。
【０２３２】
ステップＳ１０００を参照して、ＺｉｇＢｅｅマネージャ３１２１は、ローカルノードのアソシエートデバイスリストを取得する。ステップＳ１００２において、ＺｉｇＢｅｅマネージャ３１２１は、取得したアソシエートデバイスリストと、ＺｉｇＢｅｅマネージャ３１２１が管理するノード情報とを比較する。ステップＳ１００４において、ＺｉｇＢｅｅマネージャ３１２１は、ノード管理情報で生存していないノード（新規ノード含む）が追加されたか否かを判断する。ＺｉｇＢｅｅマネージャ３１２１は、ステップＳ１００４においてＹＥＳの場合、ステップＳ１０１２において、ノード状態変化を通知する。なお、通知理由は、「ノードがネットワークにジョインした」である（図９参照）。
【０２３３】
ＺｉｇＢｅｅマネージャ３１２１は、ステップＳ１００４においてＮＯの場合、ステップＳ１００６において、ノード管理情報で生存しているノードが削除されたか否かを判断する。ＺｉｇＢｅｅマネージャ３１２１は、ステップＳ１００６においてＹＥＳの場合、ステップＳ１０１４において、ノード状態変化を通知する。なお、通知理由は、「ノードがネットワークからリーブした」である（図９参照）。
【０２３４】
ＺｉｇＢｅｅマネージャ３１２１は、ステップＳ１００６においてＮＯの場合、ステップＳ１００８において、ノード管理情報で生存しているノードのショートアドレスが変更されたか否かを判断する。ＺｉｇＢｅｅマネージャ３１２１は、ステップＳ１００８においてＹＥＳの場合、ステップＳ１０１６において、ノード状態変化を通知する。なお、通知理由は、「ノードのショートアドレスが変化した」である（図９参照）。
【０２３５】
ＺｉｇＢｅｅマネージャ３１２１は、ステップＳ１００８においてＮＯの場合、ステップＳ１０１０において、ノード管理情報を更新する。具体的には、ＺｉｇＢｅｅマネージャ３１２１の管理するノード情報をアソシエートデバイスリストに合わせる。そのうちの一つとして、ＺｉｇＢｅｅマネージャ３１２１は、ノード管理情報における生存情報を更新する。ジョインを検出すれば当該ノードの生存情報を生存にセットし、リーブしたことを検出すれば当該ノードの生存情報を行方不明にセットする。
【０２３６】
以上により、ＺｉｇＢｅｅマネージャ３１２１は、アソシエートサーチを終了する。
図２８は、本発明の実施の形態に従う中継器１００１のリーブ処理について説明するフロー図である。当該処理は、中継器１００１のＺｉｇＢｅｅマネージャ３１２１（制御部１１０１）によって実施される処理である。
【０２３７】
図２８を参照して、まず、指定されたデバイスに対して初期化フラグの設定指令を送信する（ステップＳ１１００）。初期化フラグとは、初期化状態（工場出荷時等の状態）に戻すことを規定するフラグをいう。初期化フラグの設定指令は、タップ１００４に登録されているコンフィグ情報のデータの一部に対してフラグをセットすることを要求する指令である。当該フラグの設定の有無に応じてリセット後の起動処理は変更される。具体的には、初期化フラグがセットされていない場合の起動処理は、タップ１００４に登録されているネットワーク情報等のデータが維持された状態で起動する。一方、初期化フラグをセットした場合の起動処理は、タップ１００４に登録されているネットワーク情報等のデータを工場出荷時の初期値に戻した状態で起動する。
【０２３８】
次に、ステップＳ１１０２にて、初期化フラグの設定指令の応答を受信したかどうかを判断する。
【０２３９】
ステップＳ１１０２においてＹＥＳと判断した場合には、ステップＳ１１０４に進む。
ステップＳ１１０４において、指定されたデバイスに対して遅延リセット指令を送信する。遅延リセット指令とは、タップ１００４が当該遅延リセット指令に対する応答を返すことを可能とするための処理期間を確保するために所定の遅延時間（一例として２００ｍｓ）を指定して、当該遅延経過後にリセット処理の実行を指示する指令である。
【０２４０】
次に、ステップＳ１１０６にて、当該リセット指令を送信したタップ１００４から遅延リセット指令に対する応答を受信したかどうかを判断する。
【０２４１】
ステップＳ１１０６においてＹＥＳと判断した場合には、ローカルノードのアソシエートデバイスリストから指定されたデバイスに関する情報を削除する（ステップＳ１１０８）。
【０２４２】
具体的には、指定されたデバイスに関する情報（ＩＥＥＥアドレス、ショートアドレス、ノード関係など）を削除する。
【０２４３】
そして、処理を終了する（リーブ処理終了）。
一方、ステップＳ１１０２においてＮＯと判断した場合には、当該指令をタップ１００４が確実に受信したかどうかが不明であるため処理を中断し、処理を終了する（リーブ処理終了）。
【０２４４】
一方、ステップＳ１１０６においてＮＯと判断した場合、には、当該リセット指令をタップ１００４が確実に受信したかどうかが不明であるため処理を中断し、アソシエートデバイスリストから削除することなく処理を終了する（リーブ処理終了）。
【０２４５】
以上まとめると、応答を受信しない場合は、タップ１００４がリーブされなかったと判断して、中継器１００１におけるローカルノードのアソシエートデバイスリストから当該タップに関する情報を削除しない。応答を受信した場合は、タップ１００４がリーブされたと判断して、中継器１００１におけるローカルノードのアソシエートデバイスリストから当該タップに関する情報を削除する。このことにより、中継器１００１とタップ１００４との間で連携を保ってリーブ処理が行うことができる。
【０２４６】
なお、ステップＳ１１００とステップＳ１１０４とをまとめて１つのパケットとして指定を送信することも可能である。この場合、指定されたデバイスに対して、初期化フラグをセットするような指令と、遅延リセットするような指令の、両方の指令を含めた１つのパケットを送信する。
【０２４７】
（ｆ５．タブレット端末１００８における制御構造）
図２９は、リアルタイム表示モードを開始したときに実施されるＵＩアプリケーション３８０１の処理を示したフローチャートである。図２９を参照して、ステップＳ１２０２において、ＵＩアプリケーション３８０１は、ノード管理情報で生存しているタップ１００４全てに対してレポート開始指令を送る。ステップＳ１２０４において、ＵＩアプリケーション３８０１は、レポートを受信したか否かを判断する。
【０２４８】
ＵＩアプリケーション３８０１は、ステップＳ１２０４においてＹＥＳの場合、ステップＳ１２１０において、レポート内容（電力情報）に基づきリアルタイム表示を行なう。一例として、図１１のような画面を更新する。ＵＩアプリケーション３８０１は、ステップＳ１２０４においてＮＯの場合、ステップＳ１２０６において、ノード状態変化通知（通知理由＝電源が投入された）を受信したか否かを判断する。
【０２４９】
ＵＩアプリケーション３８０１は、ステップＳ１２０６においてＹＥＳの場合、ステップＳ１２１２において、当該タップに対して、再度、レポート開始指令を送信する。ＵＩアプリケーション３８０１は、ステップＳ１２０６においてＮＯの場合、ステップＳ１２０８において、リアルタイム表示モードが終了するか否かを判断する。つまり、ＵＩアプリケーション３８０１は、タブレット端末１００８がユーザからリアルタイム表示モードを終了するための指示を受け付けたか否かを判断する。
【０２５０】
ＵＩアプリケーション３８０１は、ステップＳ１２０８においてＹＥＳの場合、ステップＳ１２１４において、ノード管理情報で生存しているタップ全てに対してレポート停止指令を送信する。ＵＩアプリケーション３８０１は、ステップＳ１２０８においてＮＯの場合、処理をステップＳ１２０４に進める。
【０２５１】
ＵＩアプリケーション３８０１は、ステップＳ１２１４の後、リアルタイム表示モードを終了する。
【０２５２】
（ｆ６．タブレット端末１００８の機能ブロック）
図３０は、タブレット端末１００８の機能的構成を表した機能ブロック図である。図３０を参照して、タブレット端末１００８は、再設定部４８０２と、動作モード変更部４８０３と、受信部４８０４と、表示部４８０５とを備える。
【０２５３】
動作モード変更部４８０３は、ユーザからの指示に基づき、動作モードを変更する。動作モード変更部４８０３は、タブレット端末１００８の動作モードを、たとえば、非リアルタイム表示モードからリアルタイム表示モードに、あるいはリアルタイム表示モードから非リアルタイム表示モードに変更する。受信部４８０４は、中継器１００１を介して、タップ１００４からレポートを受信する。表示部４８０５は、受信したレポートに基づく電力情報の表示を行なう。つまり、表示部４８０５は、収集した電力情報を表示する。
【０２５４】
（１）タブレット端末１００８は、タップ１００４を管理する中継器１００１と通信する。タップ１００４は、タブレット端末１００８によって設定されたレポート条件に基づき、タップ１００４に接続された家電における消費電力を表す電力情報を、中継器１００１を介してタブレット端末１００８に送信する。レポート条件は、タップ１００４の揮発性メモリであるＲＡＭ２１２３に格納されている。
【０２５５】
受信部４８０４は、さらに、タップ１００４への給電が停止した後に当該給電が再開されたことに基づいてタップ１００４から送信されるデバイスアンスに基づいたノード状態変化通知を中継器１００１から受信する。再設定部４８０２は、上記ノード状態変化通知を取得したことに基づき、中継器１００１を介して、タップ１００４に対してレポート条件を再設定する。
【０２５６】
したがって、タブレット端末１００８は、タップ１００４への給電が停止した場合であっても、タブレット端末１００８に対して電力情報が通知されない期間を短くできる。さらに、タップ１００４は、レポート開始指令を受信する度にレポート条件を揮発性のメモリ（ＲＡＭ）に書き込めばよいため、レポート条件を不揮発性のメモリに書き込む場合に比べて、タップ１００４におけるメモリの有効利用が可能となる。
【０２５７】
（２）ところで、上記においては、タブレット端末１００８の動作モードがリアルタイム表示モードとなった場合に、タブレット端末１００８が各タップ１００４に対してレポート条件を再設定する構成について説明した。しかしながら、タブレット端末１００８が電力情報の表示を行なっていない場合であっても電力情報を収集している場合であれば、タップ１００４に対してレポート条件を再設定するようにタブレット端末１００８を構成してもよい。
【０２５８】
このような構成の場合、タブレット端末１００８は、以下のような構成であるといえる。タブレット端末１００８は、電力情報を収集する第１の動作モード（たとえば、リアルタイム表示モード）と、電力情報を収集しない第２の動作モード（たとえば、非リアルタイム表示モード）とを備える。再設定部４８０２は、タブレット端末１００８が第１の動作モードである場合に、タップ１００４に対してレポート条件を再設定する。好ましくは、再設定部４８０２は、上記第１の動作モードにおいて電力情報が表示部４８０５に表示されている場合（つまり、リアルタイム表示モードである場合）に、タップ１００４に対してレポート条件を再設定する。
【０２５９】
当該構成によれば、タブレット端末１００８は、電力情報が必要なときにのみ、タップ１００４に対してレポート条件の再設定を行なう。このため、タブレット端末１００８は、電力情報が必要でないときにレポート条件の再設定を行なう構成に比べて、ネットワークＺにおけるトラフィックの量を低減できる。
【０２６０】
（３）タブレット端末１００８は、動作モードが第１の動作モードから第２の動作モードに切替わると、中継器１００１を介して、タップ１００４に対して電力情報の送信を停止させる。これにより、タブレット端末１００８は、ネットワークＺにおいて不要なトラフィックが発生することを抑止できる。
【０２６１】
（ｆ７．中継器１００１の機能ブロック）
図３１は、中継器１００１の機能的構成を表した機能ブロック図である。図３１を参照して、中継器１００１は、受信部１２０１と、送信部１２０２と、転送部１２０３とを備える。１つのタップ１００４に着目すれば、中継器１００１の各部１２０１〜１２０３は、以下の処理を行なう構成であると言える。
【０２６２】
受信部１２０１は、タップ１００４から、レポートを受信する。また、受信部１２０１は、タップ１００４の状態が変化したことに基づいて送信されるデバイスアンスを受信する。
【０２６３】
送信部１２０２は、受信したレポートをタブレット端末１００８に送信する。また、送信部１２０２は、デバイスアンスを受信したこと等に基づき、タブレット端末１００８にノード状態変化通知を送信する。
【０２６４】
転送部１２０３は、タブレット端末１００８からレポート開始指令やレポート停止指令を受信したことに基づき、当該指令をタップ１００４に転送する。
【０２６５】
＜Ｇ．変形例＞
（ｇ１．第１の変形例）
次に、中継器１００１の代替構成について説明する。図３２は、ネットワークＺの制御装置としてタブレット端末を用いた場合における、ネットワークの概略構成を示した図である。具体的には、図３２は、中継器１００１、パーソナルコンピュータ１００３、およびタブレット端末１００８の代わりに、タブレット端末１００９を用いたネットワークＺの構成を示した図である。
【０２６６】
図３２を参照して、ネットワークＺは、タブレット端末１００９と、ワイヤレスブロードバンドルータ１００２と、複数のタップ１００４ａ，１００４ｂ，１００４ｃと、複数の家電（エアーコンディショナ１００５，冷蔵庫１００６，テレビ１００７など）とを備える。また、タブレット端末１００９と、複数のタップ１００４と、複数の家電１００５〜１００７とにより、低速無線通信ネットワークＺを構成する。タブレット端末１００９は、ワイヤレスブロードバンドルータ１００２とＷｉＦｉ等の高速無線通信により接続される。
【０２６７】
図３３は、タブレット端末１００９のブロック図である。タブレット端末１００９は、制御部１９０１と、操作部１９０２と、表示部１９０３と、高速通信インターフェイス部１９０４と、電源部１９０５と、低速無線通信モジュール１９０６と、アンテナ１９０７とを備える。
【０２６８】
操作部１９０２は、操作キー、タッチセンサ等の入力デバイスである。表示部１９０３は、液晶ディスプレイ等の出力デバイスである。高速通信インターフェイス部１９０４は、ワイヤレスブロードバンドルータ１００２との間で無線通信を行なうためのインターフェイスである。電源部１９０５は、制御部１９０１と低速無線通信モジュール１９０６とに電力を供給する。
【０２６９】
制御部１９０１は、操作部１９０２、表示部１９０３と、高速通信インターフェイス部１９０４と、電源部１９０５と、低速無線通信モジュール１９０６とに接続されている。制御部１９０１は、タブレット端末１００９の全体的な動作を制御する。制御部１９０１は、操作部１９０２からの入力を受け付ける。また、制御部１９０１は、表示部１９０３に出力指示を出す。
【０２７０】
より詳しくは、制御部１９０１は、ＣＰＵと、ＲＡＭと、ＲＯＭと、ＵＡＲＴと、ＧＰＩＯとで構成される。ＲＡＭと、ＲＯＭと、ＵＡＲＴと、ＧＰＩＯとは、それぞれ、ＣＰＵに接続されている。
【０２７１】
低速無線通信モジュール１９０６は、アンテナ１１０７と接続されている。低速無線通信モジュール１９０６は、低速無線通信ネットワークＺにおける消費電力測定器との間の通信を制御する。低速無線通信モジュール１９０６は、ＣＰＵと、ＲＡＭと、ＲＯＭと、ＵＡＲＴと、ＧＰＩＯと、無線ＲＦ（Radio Frequency）部で構成される。ＲＡＭと、ＲＯＭと、ＵＡＲＴと、ＧＰＩＯとは、それぞれ、ＣＰＵに接続されている。
【０２７２】
タブレット端末１００９は、以上のような構成を有することにより、中継器１００１とパーソナルコンピュータ１００３とタブレット端末１００８を用いた構成の場合と同様の効果を奏する。
【０２７３】
（ｇ２．第２の変形例）
タップ１００４は、ユーザがタップ１００４への給電をオン・オフできる電源スイッチを備えていてもよい。当該構成の場合には、電源スイッチが給電を停止する状態（オフ位置）となることにタップ１００４への給電が停止した後に電源スイッチが給電を再開する状態（オン位置）となることによりタップ１００４への給電が再開した場合にも、上述したようにタップ１００４がコンセントから抜き差しされる場合と同様の処理を適用できる。
【０２７４】
（ｇ３．第３の変形例）
上記においては、パーソナルエリアネットワークとしてＺｉｇＢｅｅを例に挙げて説明したが、これに限定されるものではない。パーソナルエリアネットワークとして、マルチホップをサポートするような他の通信方式にも適用することができる。
【０２７５】
＜Ｈ．付記＞
次に、中継器１００１のＺｉｇＢｅｅマネージャ３１２１が、タップ１００４のノード状態が変更したことを通知する構成について説明する。タブレット端末１００８は、中継器１００１からノード状態変更通知を受けることに基づいて、シーンに応じて適切な処理をする。
【０２７６】
タップ１００４のノード状態が変更された場合として、(１)ノードがネットワークにジョインした、(２)ノードがネットワークからリーブした、(３)ノードのショートアドレスが変化した、(４)ノードの電源が投入された、(５)ノードのボタンが押された、(６)ノードの電源が抜かれた、のような場合がある。ＺｉｇＢｅｅマネージャ３１２１は、これらのノード状態変化を検出して、適切なノード状態変化通知を、他のアプリケーションに送信する。
【０２７７】
参考までに、中継器１００１のＺｉｇＢｅｅマネージャ３１２１は、過去にアクセスがあったクライアントすべてに対して、ノード状態変化通知を送信する。ただし、あるクライアントからアクセスのない状態が３時間以上続いた場合には、ＺｉｇＢｅｅマネージャ３１２１は当該クライアントがもう使われなくなったと判断して当該クライアントを削除する。
【０２７８】
タブレット端末１００８のＵＩアプリケーション３８０１は、ＺｉｇＢｅｅマネージャ３１２１にアクセスする。よって、ＺｉｇＢｅｅマネージャ３１２１は、当該ＵＩアプリケーション３８０１からアクセスがあったことを覚えており、当該ＵＩアプリケーション３８０１に対して、ノード状態変化通知を送信する。
【０２７９】
図３４は、新しいタップがネットワークに参加した場合に、タブレット端末１００８のＵＩアプリケーション３８０１で表示される画面を説明するための図である。図３４を参照して、ＵＩアプリケーション３８０１は、新しいタップが参加したことを検出して気づきのポップアップを表示する。
つまり、設定されていないタップがあることをディスプレイ４０２１に表示することによって、ユーザに対して、当該タップの設定を行なうように促すのである。
当該表示処理は、中継器１００１のＺｉｇＢｅｅマネージャ３１２１が、タブレット端末１００８のＵＩアプリケーション３８０１に対して、適切なノード状態変化（ノードがネットワークにジョインした）を通知することにより行なわれる。
【０２８０】
図３５は、タップを選択する方法を説明するための図である。後述するようにタップを選択するために、あるタップが画面上のどのタップに対応するかを容易に把握できるようにしたい。本実施例は、そのための手段を提供している。
【０２８１】
図３５を参照して、タップを選択するには２通りの方法がある。１つはタップ１００４の電源を入れ直した場合である。もう１つは、タップ１００４の設定ボタン２１０６を短押した場合である。いずれの場合でも、当該タップ１００４からデバイスアンスが（ブロードキャストまたはユニキャストで）通知される。
【０２８２】
中継器のＺｉｇＢｅｅマネージャ３１２１は、デバイスアンスを受信すると、適切なノード状態変化（ノードの電源が投入された、または、ノードのボタンが押された）を、他のアプリケーションへ通知する。ＵＩアプリケーション３８０１は、ノード状態変化の通知を受けると、タップの機器設定画面において、変化のあったタップ１００４をハイライト表示させる。当該ハイライト表示によって、ユーザは、どのタップ１００４がＵＩアプリケーション３８０１による画面上のどのタップに対応するかを容易に知ることができる。図３６にタップが選択されて、ハイライト表示された画面を示す。図３６では（同画面上における）２番のタップが選択されたことを示す。
【０２８３】
図３７は、各タップ１００４と各家電とを紐付けする画面を示した図である。具体的には、図３７は、図３６における設定ボタンがユーザによって選択された後の状態を表した図である。
【０２８４】
図３６を参照して、選択されたタップ１００４に対して、設定ボタンを押すことによって、紐付けをする家電を選択させるための入力受付画面（図３７）を表示する。これにより、ユーザは、当該タップに紐付けする家電を選択することができる。なお、ユーザは画面上で任意のタップを選択することもできるし、先に述べたように、タップの設定ボタンを短押しすること（または、タップの電源を入れ直すこと）によっても選択することができる。
【０２８５】
なお、上記においては、タブレット端末１００８を例に挙げて説明しているが、タブレット端末１００９を用いた図３２の構成であっても、上記と同様の処理を行なわせることができる。
【０２８６】
今回開示された実施の形態は例示であって、上記内容のみに制限されるものではない。本発明の範囲は特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０２８７】
１００１  中継器、１００２  ワイヤレスブロードバンドルータ、１００３  パーソナルコンピュータ、１００４（１００４ａ，１００４ｂ，１００４ｃ）  タップ、１００５  エアーコンディショナ、１００６  冷蔵庫、１００７  テレビ、１００８，１００９  タブレット端末、１０１５，１０１６，１０１７  コンセント、１０５１，１０６１，１０７１  電源プラグ、１１０１，１９０１  制御部、１１０３  発光部、１１０４，１９０４  高速通信インターフェイス部、１１０６  無線ＲＦ内蔵通信コントローラ部、１１０８  プッシュボタン、１１０９  スライドスイッチ、１１６２，２１２２  ＲＯＭ、１１６３，２１２３  ＲＡＭ、１９０２  操作部、１９０３，４８０５  表示部、１９０６，２１２０  無線ＲＦ内蔵通信コントローラ部、２１０１  ソケット、２１０２  プラグ、２１０６  設定ボタン、２１１０  電力センサ部、３８０１  ＵＩアプリケーション、３１２１  ＺｉｇＢｅｅマネージャ、３１２２  ＺｉｇＢｅｅモニタライブラリ、３１２４  ＬＥＤ＆スイッチ制御、３１２６  ＺｉｇＢｅｅノード管理情報、３８０２  機器制御ライブラリ、３８０５  中継器発見ライブラリ、４０２０  タッチスクリーン、４０２１  ディスプレイ、４０２２  タッチパネル、４０４０  メモリ、４０６０  通信インターフェイス、４８０１  取得部、４８０２  再設定部、４８０３  動作モード変更部、４８０４  受信部、Ｄ１  データ、Ｅ，Ｚ  ネットワーク。
【図１】
0006042070.tif 000002
【図２】
0006042070.tif 000003
【図３】
0006042070.tif 000004
【図４】
0006042070.tif 000005
【図５】
0006042070.tif 000006
【図６】
0006042070.tif 000007
【図７】
0006042070.tif 000008
【図８】
0006042070.tif 000009
【図９】
0006042070.tif 000010
【図１０】
0006042070.tif 000011
【図１１】
0006042070.tif 000012
【図１２】
0006042070.tif 000013
【図１３】
0006042070.tif 000014
【図１４】
0006042070.tif 000015
【図１５】
0006042070.tif 000016
【図１６】
0006042070.tif 000017
【図１７】
0006042070.tif 000018
【図１８】
0006042070.tif 000019
【図１９】
0006042070.tif 000020
【図２０】
0006042070.tif 000021
【図２１】
0006042070.tif 000022
【図２２】
0006042070.tif 000023
【図２３】
0006042070.tif 000024
【図２４】
0006042070.tif 000025
【図２５】
0006042070.tif 000026
【図２６】
0006042070.tif 000027
【図２７】
0006042070.tif 000028
【図２８】
0006042070.tif 000029
【図２９】
0006042070.tif 000030
【図３０】
0006042070.tif 000031
【図３１】
0006042070.tif 000032
【図３２】
0006042070.tif 000033
【図３３】
0006042070.tif 000034
【図３４】
0006042070.tif 000035
【図３５】
0006042070.tif 000036
【図３６】
0006042070.tif 000037
【図３７】
0006042070.tif 000038