(57)【要約】  無線通信端末において、無線通信機が休眠宣言パケットを休眠宣言端末から受信した場合、コントローラは、休眠判断を実行する。前記休眠宣言端末以外に起床中の上位端末が存在するならば、前記コントローラは、前記休眠宣言端末の休眠を認めると判断する。前記休眠宣言端末以外に起床中の前記上位端末が存在しなければ、前記コントローラは、前記休眠宣言端末の休眠を認めないと判断する。前記休眠宣言端末の休眠を認めないと前記コントローラが判断した場合、前記コントローラは、前記無線通信機に、休眠禁止パケットを前記休眠宣言端末へ送信させる。
2019244233.tif 000002
【特許請求の範囲】
【請求項１】
無線通信システムにおける無線通信端末であって、
前記無線通信システムは、集約装置および２つ以上の前記無線通信端末を含み、
前記無線通信端末は、
無線通信機と、
メモリと、
コントローラと、
を有し、
前記無線通信機が、通信経路情報を含む経路探索パケットを周辺端末から受信した場合、前記コントローラは、前記無線通信機に、前記経路探索パケットを隣接端末へ送信させ、前記通信経路情報は、前記経路探索パケットの通信経路を示し、前記周辺端末は、前記集約装置および前記隣接端末のいずれか１つであり、前記隣接端末は、前記通信経路上で自端末に隣接する前記無線通信端末であり、
前記コントローラは、前記無線通信機が前記周辺端末から受信した前記経路探索パケットに基づいて上位端末を判別し、前記上位端末は前記隣接端末であり、第１の数は第２の数よりも小さく、前記第１の数は、前記通信経路において前記集約装置と前記上位端末との間に存在する前記無線通信端末の数であり、前記第２の数は、前記通信経路において前記集約装置と前記自端末との間に存在する前記無線通信端末の数であり、
前記コントローラは、前記無線通信機が前記隣接端末から受信した通知に基づいて、前記隣接端末の状態情報を前記メモリに記憶し、前記状態情報は、休眠中および起床中のいずれか１つを示し、
前記無線通信機が休眠宣言パケットを休眠宣言端末から受信し、かつ前記休眠宣言端末が前記上位端末である場合、前記コントローラは、前記状態情報に基づいて第１の休眠判断を実行し、前記休眠宣言端末は、前記休眠宣言パケットを送信した前記隣接端末であり、
前記休眠宣言端末以外に起床中の前記上位端末が存在するならば、前記コントローラは、前記第１の休眠判断において前記休眠宣言端末の休眠を認めると判断し、前記休眠宣言端末以外に起床中の前記上位端末が存在しなければ、前記コントローラは、前記第１の休眠判断において前記休眠宣言端末の休眠を認めないと判断し、
前記休眠宣言端末の休眠を認めないと前記コントローラが判断した場合、前記コントローラは、前記無線通信機に、休眠禁止パケットを前記休眠宣言端末へ送信させる
無線通信端末。
【請求項２】
前記コントローラは、前記無線通信機に、前記休眠宣言パケットを前記隣接端末へ送信させ、
前記無線通信機が前記休眠宣言パケットを送信した後の所定期間内に前記無線通信機が前記隣接端末から前記休眠禁止パケットを受信しない場合、前記コントローラは、前記無線通信機に、休眠通知パケットを前記隣接端末へ送信させ、
前記無線通信機が前記休眠通知パケットを送信した後、前記コントローラは、消費電力が低減された休眠状態に前記自端末を移行させるための休眠処理を実行し、
前記休眠処理が実行された後、前記コントローラは、前記自端末を前記休眠状態から復帰させるための起床処理を実行し、
前記起床処理が実行された後、前記コントローラは、前記無線通信機に、起床通知パケットを前記隣接端末へ送信させ、
前記コントローラは、前記無線通信機が前記隣接端末から受信した前記休眠通知パケットと、前記無線通信機が前記隣接端末から受信した前記起床通知パケットとに基づいて、前記状態情報を前記メモリに記憶する
請求項１に記載の無線通信端末。
【請求項３】
前記コントローラは、前記無線通信機が前記周辺端末から受信した前記経路探索パケットに基づいて、等位端末を判別し、第３の数は第４の数と同じであり、前記第３の数は、前記通信経路において前記集約装置と前記自端末との間に存在する前記無線通信端末の数であり、前記第４の数は、前記通信経路において前記集約装置と前記等位端末との間に存在する前記無線通信端末の数であり、
前記所定期間内に前記無線通信機が前記休眠禁止パケットを前記隣接端末から受信し、かつ、休眠中である前記等位端末の前記状態情報が前記メモリに記憶されている第１の場合、前記コントローラは、休眠中の前記等位端末が起床したタイミングで、前記無線通信機に、前記休眠宣言パケットを前記隣接端末へ送信させる
請求項２に記載の無線通信端末。
【請求項４】
前記休眠通知パケットは、前記休眠通知パケットを送信する前記無線通信端末の休眠期間に関する期間情報を含み、
前記第１の場合、前記自端末が次に休眠を開始する前に、前記コントローラは、前記期間情報に基づいて、タイミング判断を実行し、
前記コントローラは、前記タイミング判断において、休眠中である前記等位端末の起床予定時刻が休眠予定時刻よりも早い否かを判断し、前記起床予定時刻は、前記等位端末が休眠を終了する時刻であり、前記休眠予定時刻は、前記自端末が休眠を開始する時刻であり、
前記起床予定時刻が前記休眠予定時刻よりも早いと前記コントローラが判断した場合、前記コントローラは、前記起床予定時刻において、前記無線通信機に、前記休眠宣言パケットを前記隣接端末へ送信させる
請求項３に記載の無線通信端末。
【請求項５】
前記休眠宣言パケットは、前記休眠宣言端末の休眠期間に関する期間情報を含み、
前記コントローラは、前記無線通信機が前記周辺端末から受信した前記経路探索パケットに基づいて、等位端末を判別し、第３の数は第４の数と同じであり、前記第３の数は、前記通信経路において前記集約装置と前記自端末との間に存在する前記無線通信端末の数であり、前記第４の数は、前記通信経路において前記集約装置と前記等位端末との間に存在する前記無線通信端末の数であり、
前記所定期間内に前記無線通信機が前記休眠禁止パケットを前記隣接端末から受信し、かつ前記休眠宣言端末が前記等位端末である場合、前記コントローラは第２の休眠判断を実行し、
前記コントローラは、前記第２の休眠判断において、前記自端末の休眠予定時刻および前記休眠宣言端末の前記休眠期間に基づいて、前記自端末および前記休眠宣言端末が同時に休眠している期間があるか否かを判断し、前記休眠予定時刻は、前記自端末が休眠を開始する時刻であり、
前記自端末および前記休眠宣言端末が同時に休眠している期間があると前記コントローラが判断した場合、前記コントローラは、前記第２の休眠判断において前記休眠宣言端末の休眠を認めないと判断する
請求項２に記載の無線通信端末。
【請求項６】
前記コントローラは、前記無線通信機が前記周辺端末から受信した前記経路探索パケットに基づいて下位端末を判別し、第５の数は第６の数よりも大きく、前記第５の数は、前記通信経路において前記集約装置と前記下位端末との間に存在する前記無線通信端末の数であり、前記第６の数は、前記通信経路において前記集約装置と前記自端末との間に存在する前記無線通信端末の数であり、
前記コントローラは、前記等位端末が前記下位端末の前記通信経路に含まれるか否かを示す迂回情報を前記メモリに記憶し、
前記コントローラは、前記第２の休眠判断において、前記迂回情報に基づいて、前記休眠宣言端末が、前記下位端末の前記通信経路に含まれる前記等位端末であるか否かを判断し、
前記自端末および前記休眠宣言端末が同時に休眠している期間があると前記コントローラが判断し、かつ前記休眠宣言端末が、前記下位端末の前記通信経路に含まれる前記等位端末であると前記コントローラが判断した場合、前記コントローラは、前記第２の休眠判断において前記休眠宣言端末の休眠を認めないと判断する
請求項５に記載の無線通信端末。
【請求項７】
前記コントローラは、前記無線通信機が前記周辺端末から受信した前記経路探索パケットに基づいて下位端末を判別し、第５の数は第６の数よりも大きく、前記第５の数は、前記通信経路において前記集約装置と前記下位端末との間に存在する前記無線通信端末の数であり、前記第６の数は、前記通信経路において前記集約装置と前記自端末との間に存在する前記無線通信端末の数であり、
前記休眠通知パケットは、前記休眠通知パケットを送信する前記無線通信端末の休眠期間に関する期間情報を含み、
前記コントローラは、前記期間情報に基づいて、休眠中である前記下位端末の起床予定時刻を判断し、前記起床予定時刻は、前記下位端末が休眠を終了する時刻であり、
前記所定期間内に前記無線通信機が前記休眠禁止パケットを前記隣接端末から受信せず、かつ、休眠中である前記下位端末の前記状態情報が前記メモリに記憶されている第２の場合、前記コントローラは、前記自端末の休眠期間を決定し、前記自端末の前記休眠期間は、前記下位端末の前記起床予定時刻よりも前に終了する
請求項２に記載の無線通信端末。
【請求項８】
前記コントローラは、前記自端末の休眠予定期間を決定し、
前記第２の場合、かつ前記休眠予定期間が前記下位端末の前記起床予定時刻よりも後に終了する第３の場合、前記コントローラは、前記自端末の前記休眠期間を決定し、
前記無線通信機が送信する前記休眠通知パケットは、前記自端末の前記休眠期間に関する前記期間情報を含む
請求項７に記載の無線通信端末。
【請求項９】
集約装置および２つ以上の無線通信端末を含む無線通信システムであって、
前記無線通信端末は、
無線通信機と、
メモリと、
コントローラと、
を有し、
前記無線通信機が、通信経路情報を含む経路探索パケットを周辺端末から受信した場合、前記コントローラは、前記無線通信機に、前記経路探索パケットを隣接端末へ送信させ、前記通信経路情報は、前記経路探索パケットの通信経路を示し、前記周辺端末は、前記集約装置および前記隣接端末のいずれか１つであり、前記隣接端末は、前記通信経路上で自端末に隣接する前記無線通信端末であり、
前記コントローラは、前記無線通信機が前記周辺端末から受信した前記経路探索パケットに基づいて上位端末を判別し、前記上位端末は前記隣接端末であり、第１の数は第２の数よりも小さく、前記第１の数は、前記通信経路において前記集約装置と前記上位端末との間に存在する前記無線通信端末の数であり、前記第２の数は、前記通信経路において前記集約装置と前記自端末との間に存在する前記無線通信端末の数であり、
前記コントローラは、前記無線通信機が前記隣接端末から受信した通知に基づいて、前記隣接端末の状態情報を前記メモリに記憶し、前記状態情報は、休眠中および起床中のいずれか１つを示し、
前記無線通信機が休眠宣言パケットを休眠宣言端末から受信し、かつ前記休眠宣言端末が前記上位端末である場合、前記コントローラは、前記状態情報に基づいて第１の休眠判断を実行し、前記休眠宣言端末は、前記休眠宣言パケットを送信した前記隣接端末であり、
前記休眠宣言端末以外に起床中の前記上位端末が存在するならば、前記コントローラは、前記第１の休眠判断において前記休眠宣言端末の休眠を認めると判断し、前記休眠宣言端末以外に起床中の前記上位端末が存在しなければ、前記コントローラは、前記第１の休眠判断において前記休眠宣言端末の休眠を認めないと判断し、
前記休眠宣言端末の休眠を認めないと前記コントローラが判断した場合、前記コントローラは、前記無線通信機に、休眠禁止パケットを前記休眠宣言端末へ送信させる
無線通信システム。
【請求項１０】
無線通信システムにおける無線通信端末のコントローラが実行する無線通信方法であって、
前記無線通信方法は、第１のステップ、第２のステップ、第３のステップ、第４のステップ、および第５のステップを有し、
前記無線通信システムは、集約装置および２つ以上の前記無線通信端末を含み、
前記無線通信端末は、
無線通信機と、
メモリと、
前記コントローラと、
を有し、
前記無線通信機が、通信経路情報を含む経路探索パケットを周辺端末から受信した場合、前記コントローラは、前記第１のステップにおいて、前記無線通信機に、前記経路探索パケットを隣接端末へ送信させ、前記通信経路情報は、前記経路探索パケットの通信経路を示し、前記周辺端末は、前記集約装置および前記隣接端末のいずれか１つであり、前記隣接端末は、前記通信経路上で自端末に隣接する前記無線通信端末であり、
前記コントローラは、前記第２のステップにおいて、前記無線通信機が前記周辺端末から受信した前記経路探索パケットに基づいて上位端末を判別し、前記上位端末は前記隣接端末であり、第１の数は第２の数よりも小さく、前記第１の数は、前記通信経路において前記集約装置と前記上位端末との間に存在する前記無線通信端末の数であり、前記第２の数は、前記通信経路において前記集約装置と前記自端末との間に存在する前記無線通信端末の数であり、
前記コントローラは、前記第３のステップにおいて、前記無線通信機が前記隣接端末から受信した通知に基づいて、前記隣接端末の状態情報を前記メモリに記憶し、前記状態情報は、休眠中および起床中のいずれか１つを示し、
前記無線通信機が休眠宣言パケットを休眠宣言端末から受信し、かつ前記休眠宣言端末が前記上位端末である場合、前記コントローラは、前記第４のステップにおいて、前記状態情報に基づいて第１の休眠判断を実行し、前記休眠宣言端末は、前記休眠宣言パケットを送信した前記隣接端末であり、
前記休眠宣言端末以外に起床中の前記上位端末が存在するならば、前記コントローラは、前記第１の休眠判断において前記休眠宣言端末の休眠を認めると判断し、前記休眠宣言端末以外に起床中の前記上位端末が存在しなければ、前記コントローラは、前記第１の休眠判断において前記休眠宣言端末の休眠を認めないと判断し、
前記休眠宣言端末の休眠を認めないと前記コントローラが判断した場合、前記コントローラは、前記第５のステップにおいて、前記無線通信機に、休眠禁止パケットを前記休眠宣言端末へ送信させる
無線通信方法。
【請求項１１】
無線通信システムにおける無線通信端末のコントローラに、第１のステップ、第２のステップ、第３のステップ、第４のステップ、および第５のステップを実行させるためのプログラムであって、
前記無線通信システムは、集約装置および２つ以上の前記無線通信端末を含み、
前記無線通信端末は、
無線通信機と、
メモリと、
前記コントローラと、
を有し、
前記無線通信機が、通信経路情報を含む経路探索パケットを周辺端末から受信した場合、前記コントローラは、前記第１のステップにおいて、前記無線通信機に、前記経路探索パケットを隣接端末へ送信させ、前記通信経路情報は、前記経路探索パケットの通信経路を示し、前記周辺端末は、前記集約装置および前記隣接端末のいずれか１つであり、前記隣接端末は、前記通信経路上で自端末に隣接する前記無線通信端末であり、
前記コントローラは、前記第２のステップにおいて、前記無線通信機が前記周辺端末から受信した前記経路探索パケットに基づいて上位端末を判別し、前記上位端末は前記隣接端末であり、第１の数は第２の数よりも小さく、前記第１の数は、前記通信経路において前記集約装置と前記上位端末との間に存在する前記無線通信端末の数であり、前記第２の数は、前記通信経路において前記集約装置と前記自端末との間に存在する前記無線通信端末の数であり、
前記コントローラは、前記第３のステップにおいて、前記無線通信機が前記隣接端末から受信した通知に基づいて、前記隣接端末の状態情報を前記メモリに記憶し、前記状態情報は、休眠中および起床中のいずれか１つを示し、
前記無線通信機が休眠宣言パケットを休眠宣言端末から受信し、かつ前記休眠宣言端末が前記上位端末である場合、前記コントローラは、前記第４のステップにおいて、前記状態情報に基づいて第１の休眠判断を実行し、前記休眠宣言端末は、前記休眠宣言パケットを送信した前記隣接端末であり、
前記休眠宣言端末以外に起床中の前記上位端末が存在するならば、前記コントローラは、前記第１の休眠判断において前記休眠宣言端末の休眠を認めると判断し、前記休眠宣言端末以外に起床中の前記上位端末が存在しなければ、前記コントローラは、前記第１の休眠判断において前記休眠宣言端末の休眠を認めないと判断し、
前記休眠宣言端末の休眠を認めないと前記コントローラが判断した場合、前記コントローラは、前記第５のステップにおいて、前記無線通信機に、休眠禁止パケットを前記休眠宣言端末へ送信させる
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線通信端末、無線通信システム、無線通信方法、およびプログラムに関する。
【背景技術】
【０００２】
近年、無線通信機能を備えた遠方のセンサデバイスからネットワークを経由して情報を収集する方法が提案されている。これは、従来型のネットワークを敷設することが困難な場所における新たなユースケースを提供する。このようなユースケースでは、消費電力が少なく、かつ長距離無線通信を実現した手段が選ばれることが多い。そのような手段は、ＬＰＷＡ（Ｌｏｗ  Ｐｏｗｅｒ  Ｗｉｄｅ  Ａｒｅａ）と呼ばれる。【０００３】
例えば、住宅向けのガスメーターの検針のためにこのような無線通信機能を備えたセンサデバイスを設置することがある。住宅地では、住宅が密集している場所と、住宅が離れている場所とがある。例えば、スター型のネットワークでは、ゲートウェイとなる機器を、遮蔽物の影響を受けずに全てのセンサデバイスへ電波が届く場所に設置する必要がある。しかし、この条件を満たすことは難しい。一方、メッシュ型のネットワークでは、センサデバイスがそれに隣接するセンサデバイスと通信を行うことを考慮して各センサデバイスを設置することにより課題が解決できる。【０００４】
消費電力の観点では、スター型ネットワークにおいて、個々のセンサデバイスは他のセンサデバイスの影響を受けずに自身が好むタイミングで休眠することができる。メッシュ型ネットワークにおいて、個々のセンサデバイスは、それに隣接するセンサデバイスからゲートウェイ等へデータを送信するための通信経路になっている可能性がある。そのような場合、各センサデバイスに隣接するセンサデバイスのために通信経路を確保する必要がある。そのため、センサデバイスは休眠することができない。その結果、メッシュ型ネットワークでは消費電力を抑えることが難しい。【０００５】
特許文献１に開示されたマルチホップ無線アドホックネットワークでは、ゲートウェイが親局であり、かつ無線ネットワークはツリー構造を持つ。ネットワーク内の全ての端末は、ゲートウェイへの経路に存在する隣接端末に同期する。全ての端末は、ゲートウェイに同期する。ゲートウェイと全ての端末とが、起動周期、起動位相、および起動期間を合わせて起動とスリープとを切り替える。起動期間中、同期誤差が所定範囲内である起動区間でデータ転送が実施される。スリープ期間中、最小限の部分が動作する。同期動作を維持するために、ゲートウェイは、ツリー構造に応じて再同期を実施する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】日本国特開２０１１−２２３４１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
最近のＩｏＴ（Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ）を活用した環境では、端末に様々な種類のセンサが組み込まれ、センサデータが端末からゲートウェイを経由して所定のサーバへ送信される。各端末が、センサデータの種別によって異なる頻度でデータ送信を行うことが多い。特許文献１に開示されたネットワークでは、全端末がゲートウェイと同期して起床とスリープとを行う。各端末が起床および休眠を間欠的に繰り返すネットワークでは、データ通信を行わない端末を含めて全ての端末が起床する。そのため、余分な電力が消費される。【０００８】
本発明は、通信経路を確実に確保することができ、かつネットワーク全体の消費電力を減らすことができる無線通信端末、無線通信システム、無線通信方法、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の第１の態様によれば、無線通信システムにおける無線通信端末が提供される。前記無線通信システムは、集約装置および２つ以上の前記無線通信端末を含む。前記無線通信端末は、無線通信機と、メモリと、コントローラとを有する。前記無線通信機が、通信経路情報を含む経路探索パケットを周辺端末から受信した場合、前記コントローラは、前記無線通信機に、前記経路探索パケットを隣接端末へ送信させる。前記通信経路情報は、前記経路探索パケットの通信経路を示す。前記周辺端末は、前記集約装置および前記隣接端末のいずれか１つである。前記隣接端末は、前記通信経路上で自端末に隣接する前記無線通信端末である。前記コントローラは、前記無線通信機が前記周辺端末から受信した前記経路探索パケットに基づいて上位端末を判別する。前記上位端末は前記隣接端末である。第１の数は第２の数よりも小さい。前記第１の数は、前記通信経路において前記集約装置と前記上位端末との間に存在する前記無線通信端末の数である。前記第２の数は、前記通信経路において前記集約装置と前記自端末との間に存在する前記無線通信端末の数である。前記コントローラは、前記無線通信機が前記隣接端末から受信した通知に基づいて、前記隣接端末の状態情報を前記メモリに記憶する。前記状態情報は、休眠中および起床中のいずれか１つを示す。前記無線通信機が休眠宣言パケットを休眠宣言端末から受信し、かつ前記休眠宣言端末が前記上位端末である場合、前記コントローラは、前記状態情報に基づいて第１の休眠判断を実行する。前記休眠宣言端末は、前記休眠宣言パケットを送信した前記隣接端末である。前記休眠宣言端末以外に起床中の前記上位端末が存在するならば、前記コントローラは、前記第１の休眠判断において前記休眠宣言端末の休眠を認めると判断する。前記休眠宣言端末以外に起床中の前記上位端末が存在しなければ、前記コントローラは、前記第１の休眠判断において前記休眠宣言端末の休眠を認めないと判断する。前記休眠宣言端末の休眠を認めないと前記コントローラが判断した場合、前記コントローラは、前記無線通信機に、休眠禁止パケットを前記休眠宣言端末へ送信させる。【００１０】
本発明の第２の態様によれば、第１の態様において、前記コントローラは、前記無線通信機に、前記休眠宣言パケットを前記隣接端末へ送信させてもよい。前記無線通信機が前記休眠宣言パケットを送信した後の所定期間内に前記無線通信機が前記隣接端末から前記休眠禁止パケットを受信しない場合、前記コントローラは、前記無線通信機に、休眠通知パケットを前記隣接端末へ送信させてもよい。前記無線通信機が前記休眠通知パケットを送信した後、前記コントローラは、消費電力が低減された休眠状態に前記自端末を移行させるための休眠処理を実行してもよい。前記休眠処理が実行された後、前記コントローラは、前記自端末を前記休眠状態から復帰させるための起床処理を実行してもよい。前記起床処理が実行された後、前記コントローラは、前記無線通信機に、起床通知パケットを前記隣接端末へ送信させてもよい。前記コントローラは、前記無線通信機が前記隣接端末から受信した前記休眠通知パケットと、前記無線通信機が前記隣接端末から受信した前記起床通知パケットとに基づいて、前記状態情報を前記メモリに記憶してもよい。【００１１】
本発明の第３の態様によれば、第２の態様において、前記コントローラは、前記無線通信機が前記周辺端末から受信した前記経路探索パケットに基づいて、等位端末を判別してもよい。第３の数は第４の数と同じである。前記第３の数は、前記通信経路において前記集約装置と前記自端末との間に存在する前記無線通信端末の数である。前記第４の数は、前記通信経路において前記集約装置と前記等位端末との間に存在する前記無線通信端末の数である。前記所定期間内に前記無線通信機が前記休眠禁止パケットを前記隣接端末から受信し、かつ、休眠中である前記等位端末の前記状態情報が前記メモリに記憶されている第１の場合、前記コントローラは、休眠中の前記等位端末が起床したタイミングで、前記無線通信機に、前記休眠宣言パケットを前記隣接端末へ送信させてもよい。【００１２】
本発明の第４の態様によれば、第３の態様において、前記休眠通知パケットは、前記休眠通知パケットを送信する前記無線通信端末の休眠期間に関する期間情報を含んでもよい。前記第１の場合、前記自端末が次に休眠を開始する前に、前記コントローラは、前記期間情報に基づいて、タイミング判断を実行してもよい。前記コントローラは、前記タイミング判断において、休眠中である前記等位端末の起床予定時刻が前記自端末の休眠予定時刻よりも早い否かを判断してもよい。前記起床予定時刻は、前記等位端末が休眠を終了する時刻である。前記休眠予定時刻は、前記自端末が休眠を開始する時刻である。前記起床予定時刻が前記休眠予定時刻よりも早いと前記コントローラが判断した場合、前記コントローラは、前記起床予定時刻において、前記無線通信機に、前記休眠宣言パケットを前記隣接端末へ送信させてもよい。【００１３】
本発明の第５の態様によれば、第２の態様において、前記休眠宣言パケットは、前記休眠宣言端末の休眠期間に関する期間情報を含んでもよい。前記コントローラは、前記無線通信機が前記周辺端末から受信した前記経路探索パケットに基づいて、等位端末を判別してもよい。第３の数は第４の数と同じである。前記第３の数は、前記通信経路において前記集約装置と前記自端末との間に存在する前記無線通信端末の数である。前記第４の数は、前記通信経路において前記集約装置と前記等位端末との間に存在する前記無線通信端末の数である。前記所定期間内に前記無線通信機が前記休眠禁止パケットを前記隣接端末から受信し、かつ前記休眠宣言端末が前記等位端末である場合、前記コントローラは第２の休眠判断を実行してもよい。前記コントローラは、前記第２の休眠判断において、前記自端末の休眠予定時刻および前記休眠宣言端末の前記休眠期間に基づいて、前記自端末および前記休眠宣言端末が同時に休眠している期間があるか否かを判断してもよい。前記休眠予定時刻は、前記自端末が休眠を開始する時刻である。前記自端末および前記休眠宣言端末が同時に休眠している期間があると前記コントローラが判断した場合、前記コントローラは、前記第２の休眠判断において前記休眠宣言端末の休眠を認めないと判断してもよい。【００１４】
本発明の第６の態様によれば、第５の態様において、前記コントローラは、前記無線通信機が前記周辺端末から受信した前記経路探索パケットに基づいて下位端末を判別してもよい。第５の数は第６の数よりも大きい。前記第５の数は、前記通信経路において前記集約装置と前記下位端末との間に存在する前記無線通信端末の数である。前記第６の数は、前記通信経路において前記集約装置と前記自端末との間に存在する前記無線通信端末の数である。前記コントローラは、前記等位端末が前記下位端末の前記通信経路に含まれるか否かを示す迂回情報を前記メモリに記憶してもよい。前記コントローラは、前記第２の休眠判断において、前記迂回情報に基づいて、前記休眠宣言端末が、前記下位端末の前記通信経路に含まれる前記等位端末であるか否かを判断してもよい。前記自端末および前記休眠宣言端末が同時に休眠している期間があると前記コントローラが判断し、かつ前記休眠宣言端末が、前記下位端末の前記通信経路に含まれる前記等位端末であると前記コントローラが判断した場合、前記コントローラは、前記第２の休眠判断において前記休眠宣言端末の休眠を認めないと判断してもよい。【００１５】
本発明の第７の態様によれば、第２の態様において、前記コントローラは、前記無線通信機が前記周辺端末から受信した前記経路探索パケットに基づいて下位端末を判別してもよい。第５の数は第６の数よりも大きい。前記第５の数は、前記通信経路において前記集約装置と前記下位端末との間に存在する前記無線通信端末の数である。前記第６の数は、前記通信経路において前記集約装置と前記自端末との間に存在する前記無線通信端末の数である。前記休眠通知パケットは、前記休眠通知パケットを送信する前記無線通信端末の休眠期間に関する期間情報を含む。前記コントローラは、前記期間情報に基づいて、休眠中である前記下位端末の起床予定時刻を判断してもよい。前記起床予定時刻は、前記下位端末が休眠を終了する時刻である。前記所定期間内に前記無線通信機が前記休眠禁止パケットを前記隣接端末から受信せず、かつ、休眠中である前記下位端末の前記状態情報が前記メモリに記憶されている第２の場合、前記コントローラは、前記自端末の休眠期間を決定してもよい。前記自端末の前記休眠期間は、前記下位端末の前記起床予定時刻よりも前に終了する。【００１６】
本発明の第８の態様によれば、第７の態様において、前記コントローラは、前記自端末の休眠予定期間を決定してもよい。前記第２の場合、かつ前記休眠予定期間が前記下位端末の前記起床予定時刻よりも後に終了する第３の場合、前記コントローラは、前記自端末の前記休眠期間を決定してもよい。前記無線通信機が送信する前記休眠通知パケットは、前記自端末の前記休眠期間に関する前記期間情報を含んでもよい。【００１７】
本発明の第９の態様によれば、集約装置および２つ以上の無線通信端末を含む無線通信システムが提供される。前記無線通信端末は、無線通信機と、メモリと、コントローラとを有する。前記無線通信機が、通信経路情報を含む経路探索パケットを周辺端末から受信した場合、前記コントローラは、前記無線通信機に、前記経路探索パケットを隣接端末へ送信させる。前記通信経路情報は、前記経路探索パケットの通信経路を示す。前記周辺端末は、前記集約装置および前記隣接端末のいずれか１つである。前記隣接端末は、前記通信経路上で自端末に隣接する前記無線通信端末である。前記コントローラは、前記無線通信機が前記周辺端末から受信した前記経路探索パケットに基づいて上位端末を判別する。前記上位端末は前記隣接端末である。第１の数は第２の数よりも小さい。前記第１の数は、前記通信経路において前記集約装置と前記上位端末との間に存在する前記無線通信端末の数である。前記第２の数は、前記通信経路において前記集約装置と前記自端末との間に存在する前記無線通信端末の数である。前記コントローラは、前記無線通信機が前記隣接端末から受信した通知に基づいて、前記隣接端末の状態情報を前記メモリに記憶する。前記状態情報は、休眠中および起床中のいずれか１つを示す。前記無線通信機が休眠宣言パケットを休眠宣言端末から受信し、かつ前記休眠宣言端末が前記上位端末である場合、前記コントローラは、前記状態情報に基づいて第１の休眠判断を実行する。前記休眠宣言端末は、前記休眠宣言パケットを送信した前記隣接端末である。前記休眠宣言端末以外に起床中の前記上位端末が存在するならば、前記コントローラは、前記第１の休眠判断において前記休眠宣言端末の休眠を認めると判断する。前記休眠宣言端末以外に起床中の前記上位端末が存在しなければ、前記コントローラは、前記第１の休眠判断において前記休眠宣言端末の休眠を認めないと判断する。前記休眠宣言端末の休眠を認めないと前記コントローラが判断した場合、前記コントローラは、前記無線通信機に、休眠禁止パケットを前記休眠宣言端末へ送信させる。【００１８】
本発明の第１０の態様によれば、無線通信システムにおける無線通信端末のコントローラが実行する無線通信方法が提供される。前記無線通信方法は、第１のステップ、第２のステップ、第３のステップ、第４のステップ、および第５のステップを有する。前記無線通信システムは、集約装置および２つ以上の前記無線通信端末を含む。前記無線通信端末は、無線通信機と、メモリと、前記コントローラとを有する。前記無線通信機が、通信経路情報を含む経路探索パケットを周辺端末から受信した場合、前記コントローラは、前記第１のステップにおいて、前記無線通信機に、前記経路探索パケットを隣接端末へ送信させる。前記通信経路情報は、前記経路探索パケットの通信経路を示す。前記周辺端末は、前記集約装置および前記隣接端末のいずれか１つである。前記隣接端末は、前記通信経路上で自端末に隣接する前記無線通信端末である。前記コントローラは、前記第２のステップにおいて、前記無線通信機が前記周辺端末から受信した前記経路探索パケットに基づいて上位端末を判別する。前記上位端末は前記隣接端末である。第１の数は第２の数よりも小さい。前記第１の数は、前記通信経路において前記集約装置と前記上位端末との間に存在する前記無線通信端末の数である。前記第２の数は、前記通信経路において前記集約装置と前記自端末との間に存在する前記無線通信端末の数である。前記コントローラは、前記第３のステップにおいて、前記無線通信機が前記隣接端末から受信した通知に基づいて、前記隣接端末の状態情報を前記メモリに記憶する。前記状態情報は、休眠中および起床中のいずれか１つを示す。前記無線通信機が休眠宣言パケットを休眠宣言端末から受信し、かつ前記休眠宣言端末が前記上位端末である場合、前記コントローラは、前記第４のステップにおいて、前記状態情報に基づいて第１の休眠判断を実行する。前記休眠宣言端末は、前記休眠宣言パケットを送信した前記隣接端末である。前記休眠宣言端末以外に起床中の前記上位端末が存在するならば、前記コントローラは、前記第１の休眠判断において前記休眠宣言端末の休眠を認めると判断する。前記休眠宣言端末以外に起床中の前記上位端末が存在しなければ、前記コントローラは、前記第１の休眠判断において前記休眠宣言端末の休眠を認めないと判断する。前記休眠宣言端末の休眠を認めないと前記コントローラが判断した場合、前記コントローラは、前記第５のステップにおいて、前記無線通信機に、休眠禁止パケットを前記休眠宣言端末へ送信させる。【００１９】
本発明の第１１の態様によれば、無線通信システムにおける無線通信端末のコントローラに、第１のステップ、第２のステップ、第３のステップ、第４のステップ、および第５のステップを実行させるためのプログラムが提供される。前記無線通信システムは、集約装置および２つ以上の前記無線通信端末を含む。前記無線通信端末は、無線通信機と、メモリと、前記コントローラとを有する。前記無線通信機が、通信経路情報を含む経路探索パケットを周辺端末から受信した場合、前記コントローラは、前記第１のステップにおいて、前記無線通信機に、前記経路探索パケットを隣接端末へ送信させる。前記通信経路情報は、前記経路探索パケットの通信経路を示す。前記周辺端末は、前記集約装置および前記隣接端末のいずれか１つである。前記隣接端末は、前記通信経路上で自端末に隣接する前記無線通信端末である。前記コントローラは、前記第２のステップにおいて、前記無線通信機が前記周辺端末から受信した前記経路探索パケットに基づいて上位端末を判別する。前記上位端末は前記隣接端末である。第１の数は第２の数よりも小さい。前記第１の数は、前記通信経路において前記集約装置と前記上位端末との間に存在する前記無線通信端末の数である。前記第２の数は、前記通信経路において前記集約装置と前記自端末との間に存在する前記無線通信端末の数である。前記コントローラは、前記第３のステップにおいて、前記無線通信機が前記隣接端末から受信した通知に基づいて、前記隣接端末の状態情報を前記メモリに記憶する。前記状態情報は、休眠中および起床中のいずれか１つを示す。前記無線通信機が休眠宣言パケットを休眠宣言端末から受信し、かつ前記休眠宣言端末が前記上位端末である場合、前記コントローラは、前記第４のステップにおいて、前記状態情報に基づいて第１の休眠判断を実行する。前記休眠宣言端末は、前記休眠宣言パケットを送信した前記隣接端末である。前記休眠宣言端末が以外に起床中の前記上位端末が存在するならば、前記コントローラは、前記第１の休眠判断において前記休眠宣言端末の休眠を認めると判断する。前記休眠宣言端末以外に起床中の前記上位端末が存在しなければ、前記コントローラは、前記第１の休眠判断において前記休眠宣言端末の休眠を認めないと判断する。前記休眠宣言端末の休眠を認めないと前記コントローラが判断した場合、前記コントローラは、前記第５のステップにおいて、前記無線通信機に、休眠禁止パケットを前記休眠宣言端末へ送信させる。
【発明の効果】
【００２０】
上記の各態様によれば、無線通信端末、無線通信システム、無線通信方法、およびプログラムは、通信経路を確実に確保することができ、かつネットワーク全体の消費電力を減らすことができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の実施形態のネットワークの構成を示す図である。
【図２】本発明の実施形態のネットワークの構成を示す図である。
【図３Ａ】本発明の実施形態の端末のシステム構成を示すブロック図である。
【図３Ｂ】本発明の実施形態のゲートウェイのシステム構成を示すブロック図である。
【図４】本発明の実施形態のネットワークにおける通信シーケンスを示す図である。
【図５Ａ】本発明の実施形態のネットワークにおける各端末の位置関係を示す図である。
【図５Ｂ】本発明の実施形態のネットワークにおける各端末の位置関係を示す図である。
【図５Ｃ】本発明の実施形態のネットワークにおける各端末の位置関係を示す図である。
【図５Ｄ】本発明の実施形態のネットワークにおける各端末の位置関係を示す図である。
【図６Ａ】本発明の実施形態のネットワークにおける各端末の位置関係を示す図である。
【図６Ｂ】本発明の実施形態のネットワークにおける各端末の位置関係を示す図である。
【図６Ｃ】本発明の実施形態のネットワークにおける各端末の位置関係を示す図である。
【図６Ｄ】本発明の実施形態のネットワークにおける各端末の位置関係を示す図である。
【図７】本発明の実施形態のネットワークにおける通信シーケンスを示す図である。
【図８】本発明の実施形態のネットワークにおける通信シーケンスを示す図である。
【図９】本発明の実施形態のネットワークにおける通信シーケンスを示す図である。
【図１０】本発明の実施形態のネットワークにおける通信シーケンスを示す図である。
【図１１】本発明の実施形態のネットワークにおける通信シーケンスを示す図である。
【図１２】本発明の実施形態のネットワークにおける通信シーケンスを示す図である。
【図１３】本発明の実施形態のネットワークにおける通信シーケンスを示す図である。
【図１４】本発明の実施形態のネットワークにおける通信シーケンスを示す図である。
【図１５】本発明の実施形態の端末が実行する基本的な処理の手順を示すフローチャートである。
【図１６】本発明の実施形態の端末が実行するパケット受信処理の手順を示すフローチャートである。
【図１７】本発明の実施形態の端末が実行する経路探索処理の手順を示すフローチャートである。
【図１８】本発明の実施形態の端末が実行する休眠宣言送信処理の手順を示すフローチャートである。
【図１９】本発明の実施形態の端末が実行する休眠宣言受信処理の手順を示すフローチャートである。
【図２０】本発明の実施形態の端末が実行する休眠宣言受信処理の手順を示すフローチャートである。
【図２１】本発明の実施形態の端末が実行する起床通知送信処理の手順を示すフローチャートである。
【図２２】本発明の実施形態の端末が実行する起床通知受信処理の手順を示すフローチャートである。
【図２３】本発明の実施形態の端末が実行する休眠時間決定処理の手順を示すフローチャートである。
【図２４】本発明の実施形態におけるパケットの構造を示す図である。
【図２５】本発明の実施形態におけるパケット種別コードを示す図である。
【図２６Ａ】本発明の実施形態における隣接端末情報の構成を示す図である。
【図２６Ｂ】本発明の実施形態における隣接端末情報の構成を示す図である。
【図２６Ｃ】本発明の実施形態における隣接端末情報の構成を示す図である。
【発明を実施するための形態】
【００２２】
図面を参照し、本発明の実施形態を説明する。
【００２３】
（ネットワークの構成）
図１は、本発明の実施形態のネットワークＮ１の構成を示す。図１に示すネットワークＮ１は、ゲートウェイＧ１、端末１、端末２、端末３、および端末４を有する。ゲートウェイＧ１および端末１から端末４は無線通信機能を備え、かつ隣接する端末と無線通信を行う。各端末のシステムが起動した後、端末１から端末４は、条件に応じて起床状態および休眠状態のいずれかで動作する。端末１から端末４は、環境特性を計測するセンサを備える。センサが計測を行う場合、各端末は起床し、それ以外の期間において各端末は基本的に休眠する。システムが起動した後、自端末の通信経路情報が取得できていない状態では、各端末は常に起床状態で動作する。端末１から端末４は、通信経路情報を取得するための処理を実行した後、状況に応じて休眠状態へ遷移する。
【００２４】
ゲートウェイＧ１は、インターネット等の外部ネットワークに接続されている。端末１から端末４が外部ネットワークへ送信する通信パケットは、ゲートウェイＧ１を経由する。ゲートウェイＧ１は、端末１から端末４が送信する通信パケットを異なるネットワーク間で中継する集約装置（中継装置）である。
【００２５】
ゲートウェイＧ１は、常に起床状態にある。ゲートウェイＧ１は、外部からの指示を受け、端末１から端末４が通信経路情報を取得するために必要な経路探索パケットを送信する。外部からの指示は、ユーザの操作あるいは外部ネットワークとの通信により発生する。さらに、ゲートウェイＧ１は、端末１から端末４が送信する通信パケットを収集する。それに加えて、ゲートウェイＧ１は、外部ネットワークと接続する役割と、端末１から端末４から送信される通信パケットを収集する役割と、通信パケットを外部ネットワークへルーティングする役割とを持つ。ゲートウェイＧ１は、端末１から端末４が有する無線通信機の通信方式とは異なる通信方式で動作する通信機を有してもよい。ゲートウェイＧ１において、外部ネットワークと接続する通信機は、有線および無線のどちらに対応しても構わない。外部ネットワークとは、例えばインターネットなどのＩＰネットワークである。
【００２６】
図１の例では、端末１および端末２はゲートウェイＧ１の通信範囲に位置する。ゲートウェイＧ１の通信範囲は、ゲートウェイＧ１から電波が届く範囲である。端末３および端末４は、ゲートウェイＧ１とは直接通信することができない位置にある。端末１は、端末２から端末４と通信できる位置にある。端末２は、端末１、端末３、および端末４と通信できる位置にある。端末３は、端末１、端末２、および端末４と通信できる位置にある。端末４は、端末１から端末３と通信できる位置にある。
【００２７】
各端末は、ブロードキャスト通信によってパケットを複数の端末へ同時に送信する。各端末に隣接する端末は、受信されたパケットを送信する。これにより、ゲートウェイＧ１にパケットが転送される。各端末からゲートウェイＧ１への通信経路が複数ある場合、複数の通信経路を通ってパケットがゲートウェイＧ１に届く。その場合、各端末から送信されたパケットがゲートウェイＧ１へ届く確実性が高まる。
【００２８】
各端末には固有のＩＤが割り当てられている。例えば、ゲートウェイＧ１のＩＤは００００であり、端末１のＩＤは０００１であり、端末２のＩＤは０００２であり、端末３のＩＤは０００３であり、端末４のＩＤは０００４である。各端末は、パケットを送信するときに自身のＩＤをパケットに付与する。パケットはブロードキャスト通信で送信されるため、各端末が送信したパケットが自分に戻ってくることがある。各端末は、受信したパケットに付与されているＩＤを確認する。既に自身のＩＤがパケットに付与されている場合、各端末はそのパケットを送信しない。
【００２９】
図２は、本発明の実施形態のネットワークＮ２の構成を示す。ネットワークＮ２の構成は、ネットワークＮ１の構成とほぼ同じである。ネットワークＮ２において、端末２および端末３は、互いに電波の届かない位置にある。端末２および端末３は、直接通信することはできない。本発明の特徴を実現できる限り、ネットワーク上の各端末の配置は、図１および図２に示す例に限らない。
【００３０】
（システム構成）
図３Ａは、端末１のシステム構成を示す。端末２から端末４の構成は端末１の構成と同じであるため、端末１の構成を代表として説明する。図３Ａに示す端末１は、コントローラ３０１、通信機３０２、センサ３０３、メモリ３０４、およびクロック回路３０５を有する。
【００３１】
端末１の概略構成について説明する。端末１は、無線通信システムにおける無線通信端末である。無線通信システムは、集約装置および２つ以上の無線通信端末を含む。以下の例では、集約装置はゲートウェイＧ１である。集約装置は、ルーター、ファイアウォール、またはプロキシサーバー等であってもよい。２つ以上の無線通信端末は、端末１（自端末）および隣接端末を含む。隣接端末については後述する。自端末は、処理を実行するコントローラ３０１を含む端末である。
【００３２】
通信機３０２は、無線通信機である。通信機３０２が、通信経路情報を含む経路探索パケットを周辺端末から受信した場合、コントローラ３０１は、通信機３０２に、経路探索パケットを隣接端末へ送信させる。通信経路情報は、経路探索パケットの通信経路を示す。周辺端末は、集約装置および隣接端末のいずれか１つである。隣接端末は、通信経路上で自端末に隣接する無線通信端末である。自端末は、隣接端末と直接通信できる。経路探索パケットの宛先となる隣接端末は、経路探索パケットを送信した周辺端末とは異なる場合がある。コントローラ３０１は、通信機３０２が周辺端末から受信した経路探索パケットに基づいて上位端末を判別する。上位端末は隣接端末である。第１の数は第２の数よりも小さい。第１の数は、通信経路において集約装置と上位端末との間に存在する無線通信端末の数である。第２の数は、通信経路において集約装置と自端末との間に存在する無線通信端末の数である。
【００３３】
コントローラ３０１は、通信機３０２が隣接端末から受信した通知に基づいて、隣接端末の状態情報をメモリ３０４に記憶する。状態情報は、休眠中および起床中のいずれか１つを示す。休眠中の無線通信端末は、休眠状態にある。起床中の無線通信端末は、起床状態にある。通信機３０２が休眠宣言パケットを休眠宣言端末から受信し、かつ休眠宣言端末が上位端末である場合、コントローラ３０１は、状態情報に基づいて第１の休眠判断を実行する。休眠宣言端末は、休眠宣言パケットを送信した隣接端末である。休眠宣言端末以外に起床中の上位端末が存在するならば、コントローラ３０１は、第１の休眠判断において休眠宣言端末の休眠を認めると判断する。休眠宣言端末以外に起床中の上位端末が存在しなければ、コントローラ３０１は、第１の休眠判断において休眠宣言端末の休眠を認めないと判断する。休眠宣言端末の休眠を認めないとコントローラ３０１が判断した場合、コントローラ３０１は、通信機３０２に、休眠禁止パケットを休眠宣言端末へ送信させる。
【００３４】
端末１の詳細な構成について説明する。コントローラ３０１は、プロセッサおよび論理回路の少なくとも１つである。例えば、プロセッサは、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、およびＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）の少なくとも１つである。例えば、論理回路は、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）およびＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）の少なくとも１つである。コントローラ３０１は、１つまたは複数のプロセッサを含むことができる。コントローラ３０１は、１つまたは複数の論理回路を含むことができる。
【００３５】
コントローラ３０１は、システム全体を制御する。コントローラ３０１は、センサ３０３が取得したデータを含むパケットを生成する。コントローラ３０１は、休眠宣言、休眠通知、休眠禁止、休眠取消、起床通知、および起床応答などのパケットも生成する。コントローラ３０１は、周辺端末から受信したパケットに自端末のＩＤを付与する。コントローラ３０１は、通信機３０２が受信したパケットの種別を解析し、かつパケットに付与されているＩＤなどの情報を抽出する。コントローラ３０１は、抽出されたＩＤに基づいて、ゲートウェイＧ１に対する隣接端末と自端末との位置関係を算出し、かつその位置関係を管理する。
【００３６】
端末１は、起床状態および休眠状態のいずれか１つになる。端末１の状態は、起床状態および休眠状態の間で切り替わる。端末１が起床しているとき、端末１は通信機３０２およびセンサ３０３に電力を供給する。このとき、システムが全力で動作する。端末１が休眠しているとき、通信機３０２およびセンサ３０３の電源が切られる。このとき、システムは、システムの動作を維持するために必要な最低限の機能のみが動作する低消費電力状態になる。最低限の機能とは、クロックの生成および内部状態の監視などである。コントローラ３０１は、システムの起床およびシステムの休眠を制御する。
【００３７】
コントローラ３０１が、プログラムを読み込み、かつ読み込まれたプログラムを実行してもよい。プログラムは、コントローラ３０１の動作を規定する命令を含む。つまり、コントローラ３０１の機能はソフトウェアにより実現されてもよい。そのプログラムは、例えばフラッシュメモリのような「コンピュータ読み取り可能な記録媒体」により提供されてもよい。そのプログラムは、そのプログラムを保持するコンピュータから、伝送媒体を経由して、あるいは伝送媒体中の伝送波により端末１に伝送されてもよい。プログラムを伝送する「伝送媒体」は、情報を伝送する機能を有する媒体である。情報を伝送する機能を有する媒体は、インターネット等のネットワーク（通信網）および電話回線等の通信回線（通信線）を含む。上述したプログラムは、前述した機能の一部を実現してもよい。さらに、上述したプログラムは、差分ファイル（差分プログラム）であってもよい。コンピュータに既に記録されているプログラムと差分プログラムとの組合せが、前述した機能を実現してもよい。
【００３８】
通信機３０２は、アンテナを含む。あるいは、通信機３０２およびアンテナは別々に構成され、かつ通信機３０２はアンテナに接続される。通信機３０２は、無線通信を行う。通信機３０２は、コントローラ３０１が生成したパケットをブロードキャストで周辺端末に送信する。通信機３０２は、パケットを周辺端末から受信する。
【００３９】
コントローラ３０１は、通信機３０２を使用することにより、パケットを周辺端末に送信する。具体的には、コントローラ３０１は、パケットが周辺端末に送信されるように通信機３０２を制御する。つまり、コントローラ３０１は、周辺端末に対するパケットを通信機３０２に送信させる。これによって、通信機３０２は、パケットを周辺端末に送信する。コントローラ３０１は、通信機３０２を使用することにより、パケットを周辺端末から受信する。具体的には、コントローラ３０１は、パケットが周辺端末から受信されるように通信機３０２を制御する。つまり、コントローラ３０１は、周辺端末からのパケットを通信機３０２に受信させる。これによって、通信機３０２は、パケットを周辺端末から受信する。
【００４０】
センサ３０３は、温度または湿度などの物理量を計測する。センサ３０３は、計測された物理量を電気信号に変換することにより、センサデータを生成する。
【００４１】
メモリ３０４は、揮発性または不揮発性の記憶媒体である。例えば、メモリ３０４は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＤＲＡＭ（ＤｙｎａｍｉｃＲａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、およびフラッシュメモリの少なくとも１つである。メモリ３０４は、様々な情報を記憶する。例えば、メモリ３０４に保持される情報は、隣接端末情報を含む。隣接端末情報は、自端末と隣接端末との位置関係を示す情報を含む。自端末と隣接端末との位置関係は、通信経路情報から得られる。隣接端末情報は、隣接端末の状態情報を含む。隣接端末の状態情報は、隣接端末が起床状態と休眠状態とのどちらにあるのかを示す。メモリ３０４に保持される情報は、休眠禁止パケットの受信履歴を含む。休眠禁止パケットの受信履歴は、自端末の休眠が拒否されたことを示す。
【００４２】
クロック回路３０５は、システムの内部時刻をカウントする。時刻情報は、システムの内部時刻を示す。
【００４３】
図３Ｂは、ゲートウェイＧ１のシステム構成を示す。図３Ｂに示すゲートウェイＧ１は、コントローラ３２１、第１の通信機３２２、第２の通信機３２３、メモリ３２４、およびクロック回路３２５を有する。
【００４４】
コントローラ３２１は、システム全体を制御する。第１の通信機３２２は、外部ネットワークに接続されている。第１の通信機３２２は、外部ネットワーク上の通信装置と通信を行う。第１の通信機３２２が行う通信は、有線通信と無線通信とのどちらであっても構わない。第２の通信機３２３は、端末１および端末２と無線通信を行う。第１の通信機３２２は、第２の通信機３２３が端末１または端末２から受信したパケットを外部ネットワークへ送信する。第２の通信機３２３は、第１の通信機３２２が外部ネットワークから受信したパケットを端末１または端末２へ送信する。メモリ３２４は、様々な情報を記憶する。クロック回路３０５は、システムの内部時刻をカウントする。
【００４５】
（通信経路探索のシーケンス）
図４は、通信経路探索が実行されるときの通信シーケンスを示す。図４では、Ｎ台の端末が配置された例が示されている。数字Ｎは２以上の整数である。端末Ｔ１は、第１ホップの端末である。端末Ｔ２は、第２ホップの端末である。端末ＴＮは、第Ｎホップの端末である。数字Ｎは、ゲートウェイＧ１から届いたパケットが転送された回数を示す。つまり、数字Ｎは、パケットのホップの回数を示す。
【００４６】
ゲートウェイＧ１は、経路探索パケットＭ４０１をブロードキャストで送信する。経路探索パケットＭ４０１にはゲートウェイＧ１に固有のＩＤが付与されている。端末Ｔ１は、図１において端末１および端末２に対応する。端末Ｔ１が経路探索パケットＭ４０１をゲートウェイＧ１から受信した後、端末Ｔ１は自身のＩＤをそのパケットに付与する。端末Ｔ１は、経路探索パケットＭ４０２をブロードキャストで送信する。これにより、端末Ｔ１は、経路探索パケットＭ４０２を転送する。端末Ｔ１が送信した経路探索パケットＭ４０２は、端末Ｔ２に届く。図１において、端末１が送信した経路探索パケットは端末２から端末４に届く。図１において、端末２が送信した経路探索パケットは端末１、端末３、および端末４に届く。
【００４７】
端末Ｔ２は、経路探索パケットＭ４０２を受信し、かつ自身のＩＤをそのパケットに付与する。端末Ｔ２は、経路探索パケットＭ４０３を送信する。端末Ｔ１は、経路探索パケットＭ４０３を受信する。経路探索パケットＭ４０３を受信した端末は、自身のＩＤが付与された経路探索パケットＭ４０４を送信する。端末Ｔ２は、経路探索パケットＭ４０４を受信する。経路探索パケットは、ホップにより端末ＴＮまで順次転送される。
【００４８】
経路探索パケットには、そのパケットを送信する端末のＩＤが付与される。端末が自身のＩＤと同じＩＤが付与された経路探索パケットを受信した場合、その端末はそのパケットを送信しない。この条件により、パケットのホップは最終的に収束する。各端末は、自身に隣接する各端末から経路探索パケットを受信する。そのため、各端末は、受信した経路探索パケットを解析することにより、自端末に隣接する端末のＩＤを知ることができる。各端末は、経路探索パケットに付与されているＩＤの順番に基づいて、自端末および隣接端末の位置関係を知ることができる。この位置関係において、ゲートウェイＧ１に近い端末が上位となる。
【００４９】
（各端末の隣接端末情報）
図５Ａ、図５Ｂ、図５Ｃ、および図５Ｄは、図１に示すネットワークＮ１における各端末の位置関係を示す。経路探索パケットは、ゲートウェイＧ１から送信される。各端末は、自身のＩＤを経路探索パケットに付与し、かつ経路探索パケットを送信する。各端末のコントローラ３０１は、経路探索パケットに付与されたＩＤに基づいて、自端末と隣接端末との位置関係を判別する。コントローラ３０１は、判別された位置関係を隣接端末情報としてメモリ３０４に記憶する。
【００５０】
図５Ａは、端末１が保持する情報を示す。端末１は、ゲートウェイＧ１が発する電波が到達する位置にある。端末１は、ゲートウェイＧ１が送信する経路探索パケットを直接受信する。経路探索パケットは、ホップによってネットワーク全体に広がる。例えば、端末２および端末１を通る通信経路により経路探索パケットが端末１に届く。あるいは、端末２、端末３、および端末１を通る通信経路により経路探索パケットが端末１に届く。あるいは、端末２、端末４、および端末１を通る通信経路により経路探索パケットが端末１に届く。経路探索パケットの通信経路は、上記の通信経路以外にもある。
【００５１】
図５Ｂは、端末２が保持する情報を示す。図５Ｃは、端末３が保持する情報を示す。図５Ｄは、端末４が保持する情報を示す。各端末が保持する情報は、経路探索パケットの通信経路を含む。各端末が保持する情報は、隣接端末、上位端末、等位端末、および下位端末の各々の情報を含む。以下では、代表として端末１が保持する情報を説明する。
【００５２】
各端末のＩＤは、経路探索パケットを送信した順に経路探索パケットに付与されている。そのため、コントローラ３０１は、経路探索パケットを端末１へ直接送信した端末のＩＤを知ることができる。つまり、コントローラ３０１は、経路探索パケットの通信経路上で端末１に隣接する端末、すなわち端末１の隣接端末を知ることができる。端末１は、経路探索パケットを端末２、端末３、および端末４から直接受信する。端末１の隣接端末は、端末２、端末３、および端末４である。
【００５３】
コントローラ３０１は、経路探索パケットに付与されているＩＤの順番を解析することにより、ゲートウェイＧ１から端末１へ経路探索パケットが届いたときの最小ホップ数を知ることができる。同様に、コントローラ３０１は、ゲートウェイＧ１から端末１の隣接端末へ経路探索パケットが到達したときの最小ホップ数を知ることができる。
【００５４】
通信経路を示すＩＤ列において最初のＩＤは、ゲートウェイＧ１から経路探索パケットを受信した端末のＩＤである。端末１は、経路探索パケットをゲートウェイＧ１から直接受信する。端末２も経路探索パケットをゲートウェイＧ１から直接受信する。したがって、コントローラ３０１は、端末１からゲートウェイＧ１への距離と、端末２からゲートウェイＧ１への距離とが等しいと判断できる。つまり、コントローラ３０１は、端末２が端末１の等位端末であると判断できる。
【００５５】
同様に、コントローラ３０１は、端末３のＩＤを含む通信経路の情報と、端末４のＩＤを含む通信経路の情報とを解析する。端末３および端末４は、経路探索パケットを端末１または端末２から受信する。コントローラ３０１は、端末１からゲートウェイＧ１までの距離が、端末３からゲートウェイＧ１までの距離よりも近いと判断できる。同様に、コントローラ３０１は、端末１からゲートウェイＧ１までの距離が、端末４からゲートウェイＧ１までの距離よりも近いと判断できる。つまり、コントローラ３０１は、端末３および端末４が端末１の下位端末であると判断できる。
【００５６】
端末１からゲートウェイＧ１までの距離が、所定の端末からゲートウェイＧ１までの距離よりも遠い場合、コントローラ３０１は、その所定の端末が上位端末であると判断できる。端末１の上位端末は存在しない。等位端末、下位端末、および上位端末は、隣接端末である。
【００５７】
コントローラ３０１は、図５Ａに示す隣接端末の情報をメモリ３０４に記憶する。端末２から端末４も、上記の方法と同様の方法により、隣接端末の情報を得ることができる。図５Ａから図５Ｄにおいて、分かりやすさのために各端末のＩＤは端末番号で示されている。実際には、各端末に固有のＩＤが隣接端末の情報として記憶される。
【００５８】
図６Ａ、図６Ｂ、図６Ｃ、および図６Ｄは、図２に示すネットワークＮ２における各端末の位置関係を示す。ネットワークＮ２において、端末２および端末３は、互いの電波が到達する範囲にない。そのため、端末２および端末３は互いに通信できない。図１に示すネットワークＮ１において端末２および端末３は互いに隣接するが、ネットワークＮ２において端末２および端末３は互いに隣接しない。ネットワークＮ１において端末３は端末２の下位端末であるが、ネットワークＮ２において端末２の下位端末は端末４のみである。
【００５９】
ネットワークＮ１において端末２は端末３の上位端末であるが、ネットワークＮ２において端末３の上位端末は端末１のみである。図６Ａから図６Ｄにおいて、分かりやすさのために各端末のＩＤは端末番号で示されている。実際には、各端末に固有のＩＤが隣接端末の情報として記憶される。
【００６０】
（端末の起床／休眠のシーケンス）
ネットワークＮ１において、端末が起床または休眠するときにその端末が実行するパケット通信について説明する。図７は、全ての端末が起床している間に端末１が休眠するときの通信シーケンスを示す。各端末のシーケンスの下には、各端末が管理する隣接端末の状態情報が示されている。隣接端末の状態情報は、各端末のメモリ３０４に記憶される。状態Ｗは、起床状態である。状態Ｓは、休眠状態である。
【００６１】
前提として、各端末は経路探索の過程で自端末の隣接端末の存在を知ることができる。さらに、各端末は、経路探索パケットを隣接端末から受信することにより、隣接端末が起床状態にあることを知ることができる。そのため、自端末に隣接する各端末の状態は起床状態であることが記憶される。端末１が休眠できるタイミングにおいて、端末１は休眠宣言パケットＭ７０１をブロードキャストで送信する。各端末が休眠できるタイミングとは、センサ３０３がセンサデータ等の周期的な取得を終了し、各端末が次のセンサデータ等の取得まで休眠できるタイミングを意味する。端末２、端末３、および端末４は、端末１の隣接端末である。そのため、端末２、端末３、および端末４は、休眠宣言パケットＭ７０１を受信する。
【００６２】
端末１は、休眠宣言パケットＭ７０１を送信した後、応答待ち時間Ｔ７０１だけ応答を待つ。応答待ち時間Ｔ７０１は、例えば２秒である。端末２から端末４はそれぞれ、自身がゲートウェイＧ１へデータパケットを送信するときにゲートウェイＧ１までの通信経路が確保されているか否かを確認する。通信経路が確保されている場合、端末２から端末４は休眠宣言パケットＭ７０１に反応しない。
【００６３】
端末２は、ゲートウェイＧ１へパケットを直接届けることができる。端末３および端末４は、端末２を経由してゲートウェイＧ１へパケットを届けることができる。応答待ち時間Ｔ７０１において隣接端末から端末１にパケットは届かない。応答待ち時間Ｔ７０１が経過した後、端末１は休眠通知パケットＭ７０２をブロードキャストで送信する。休眠通知パケットＭ７０２は、端末１が休眠したことを示す。端末２から端末４は、休眠通知パケットＭ７０２を受信した後、端末１が休眠していることを示す状態情報をメモリ３０４に記憶する。端末１が休眠した後の状態情報が図７に示されている。
【００６４】
図８は、端末１が休眠している間に端末３が休眠するときの通信シーケンスを示す。端末３は、休眠宣言パケットＭ８０１をブロードキャストで送信する。端末２および端末４は、休眠宣言パケットＭ８０１を受信する。端末２からゲートウェイＧ１への通信経路および端末４からゲートウェイＧ１への通信経路は確保されている。そのため、端末２および端末４は休眠宣言パケットＭ８０１に反応しない。端末３は応答待ち時間Ｔ８０１だけ応答を待つ。応答待ち時間Ｔ８０１において端末３の隣接端末から応答は受信されない。そのため、端末３は休眠通知パケットＭ８０２をブロードキャストで送信し、かつ休眠する。端末２および端末４は、休眠通知パケットＭ８０２を受信した後、端末３が休眠していることを示す状態情報をメモリ３０４に記憶する。端末３が休眠した後の状態情報が図８に示されている。
【００６５】
図９は、端末１および端末３が休眠している間に端末２が休眠を宣言するときの通信シーケンスを示す。端末２は、休眠宣言パケットＭ９０１をブロードキャストで送信する。端末１および端末３が休眠しているため、端末１および端末３は休眠宣言パケットＭ９０１を受信しない。端末４は、休眠宣言パケットＭ９０１を受信する。端末４がゲートウェイＧ１へパケットを届けるための通信経路は、現在の状態では端末２を通る経路のみである。端末２が休眠すると、端末４は通信経路を失う。そのため、端末４は、休眠禁止パケットＭ９０２を即座にブロードキャストで送信する。休眠禁止パケットＭ９０２は、休眠宣言パケットＭ９０１を送信した隣接端末に対する休眠の禁止を示す。
【００６６】
端末２は、応答待ち時間Ｔ９０１において、休眠禁止パケットＭ９０２を端末４から受信する。そのため、端末２は、休眠取消パケットＭ９０３をブロードキャストで送信する。休眠取消パケットＭ９０３は、休眠宣言の取消を示す。各端末が管理する隣接端末の状態情報は変更されない。
【００６７】
図１０は、端末１および端末３が休眠している間に端末４が休眠を宣言するときの通信シーケンスを示す。端末４は、休眠宣言パケットＭ１００１をブロードキャストで送信する。端末１および端末３が休眠しているため、端末１および端末３は休眠宣言パケットＭ１００１を受信しない。端末２は、休眠宣言パケットＭ１００１を受信する。端末２からゲートウェイＧ１へパケットを届けるための経路は確保されている。そのため、端末２は、休眠宣言パケットＭ１００１に反応しない。端末４は、応答待ち時間Ｔ１００１だけ応答を待つ。応答待ち時間Ｔ１００１において端末４の隣接端末から応答は受信されない。そのため、端末４は休眠通知パケットＭ１００２をブロードキャストで送信し、かつ休眠する。端末２は、休眠通知パケットＭ１００２を受信した後、端末４が休眠していることを示す状態情報をメモリ３０４に記憶する。端末４が休眠した後の状態情報が図１０に示されている。
【００６８】
図１１は、端末１、端末３、および端末４が休眠している間に端末２が休眠するときの通信シーケンスを示す。端末２は、休眠宣言パケットＭ１１０１をブロードキャストで送信し、かつ応答待ち時間Ｔ１１０１だけ応答を待つ。全ての隣接端末が休眠しているため、端末２の隣接端末から応答は受信されない。そのため、端末２は休眠通知パケットＭ１１０２をブロードキャストで送信し、かつ休眠する。各端末が管理する隣接端末の状態情報は変更されない。端末２が隣接端末の状態情報に基づいて全ての隣接端末が休眠していると判断できる場合、端末２は休眠宣言パケット等を送信せずに休眠してもよい。
【００６９】
図１２は、端末１から端末４が休眠した後、端末２、端末３、および端末４が順番に起床するときの通信シーケンスを示す。まず、端末２が起床する。詳細は後述するが、端末３および端末４が休眠するときに送信された休眠通知パケットには各端末の休眠時間が付与されている。端末２が休眠するとき、端末３および端末４よりも早く端末２が起床するための設定が行われる。端末３および端末４は、端末２の下位端末である。
【００７０】
端末２が起床した後、端末２は起床通知パケットＭ１２０１をブロードキャストで送信し、かつ応答待ち時間Ｔ１２０１だけ応答を待つ。端末２の全ての隣接端末は休眠しているため、応答待ち時間Ｔ１２０１において端末２の隣接端末から応答は受信されない。続いて、端末３が起床する。端末３は起床通知パケットＭ１２０２をブロードキャストで送信し、かつ応答待ち時間Ｔ１２０２だけ応答を待つ。
【００７１】
端末２は、起床通知パケットＭ１２０２を受信する。端末３が起床したことが分かったため、端末２は、端末３が起床していることを示す状態情報をメモリ３０４に記憶する。さらに、端末２は起床応答パケットＭ１２０３をブロードキャストで送信する。端末３は、起床応答パケットＭ１２０３を受信する。端末３は、端末２が起床していることを知ることができるため、端末２が起床していることを示す状態情報をメモリ３０４に記憶する。
【００７２】
続いて、端末４が起床する。端末４は起床通知パケットＭ１２０４をブロードキャストで送信し、かつ応答待ち時間Ｔ１２０３だけ応答を待つ。端末２および端末３は、起床通知パケットＭ１２０４を受信する。端末２および端末３は、端末４が起床したことを知ることができるため、端末４が起床していることを示す状態情報をメモリ３０４に記憶する。さらに、端末２および端末３は、起床応答パケットＭ１２０５をブロードキャストで送信する。端末４は、端末２および端末３の各々から送信された起床応答パケットＭ１２０５を受信する。端末４は、端末２および端末３が起床していることを知ることができるため、端末２および端末３が起床していることを示す状態情報をメモリ３０４に記憶する。端末２、端末３、および端末４が起床した後の状態情報が図１２に示されている。
【００７３】
図１３は、端末１が休眠し、かつ端末２から端末４が起床した後、端末１が起床するときの通信シーケンスを示す。端末１が起床する。端末１は起床通知パケットＭ１３０１をブロードキャストで送信し、かつ応答待ち時間Ｔ１３０１だけ応答を待つ。端末２から端末４は、端末１から送信された起床通知パケットＭ１３０１を受信する。そのため、端末２から端末４は、端末１が起床していることを知ることができる。端末２から端末４は、端末１が起床していることを示す状態情報をメモリ３０４に記憶し、かつ起床応答パケットＭ１３０２をブロードキャストで送信する。端末１は、端末２から端末４の各々から送信された起床応答パケットＭ１３０２を受信する。端末１は、端末２から端末４が起床していることを知ることができるため、端末２から端末４が起床していることを示す状態情報をメモリ３０４に記憶する。端末１が起床した後の状態情報が図１３に示されている。
【００７４】
図１４は、端末１から端末４が起床している状態で端末２が休眠するときの通信シーケンスを示す。端末３および端末４は端末２の下位端末である。そのため、下位端末の都合により端末２が休眠できない場合がある。図９を参照して、その場合の例を説明した。
【００７５】
端末２がいつでも休眠できる状態にある場合、端末２は、図１３に示す例と同様に端末１の起床に基づいて休眠宣言パケットＭ１４０１をブロードキャストで送信し、かつ応答待ち時間Ｔ１４０１だけ応答を待つ。図１に示すネットワークＮ１において、端末３および端末４は、端末１を経由してゲートウェイＧ１へパケットを届けることができる。通信経路が確保されているため、端末３および端末４は、端末２から送信された休眠宣言パケットＭ１４０１に反応しない。
【００７６】
端末２は、端末２の隣接端末から応答が返ってこないことを確認する。端末２は、休眠通知パケットＭ１４０２をブロードキャストで送信し、かつ休眠する。端末１、端末３、および端末４は、端末２から送信された休眠通知パケットＭ１４０２を受信する。端末１、端末３、および端末４は、端末２が休眠したことを知ることができるため、端末２が休眠していることを示す状態情報をメモリ３０４に記憶する。端末２が休眠した後の状態情報が図１４に示されている。
【００７７】
（端末の基本的な処理）
端末１から端末４が実行する処理について説明する。図１５は、各端末が周期的に実行する基本的な処理の手順を示す。各端末のシステムは、起床状態および休眠状態のいずれか１つになる。システムが動作している間、コントローラ３０１は、自端末の状態が起床状態と休眠状態とのどちらであるのかを常に判断する（ステップＳ１５０１）。
【００７８】
ステップＳ１５０１において自端末が休眠中であるとコントローラ３０１が判断した場合、コントローラ３０１は、自端末が休眠を開始してから休眠時間が経過したか否かを判断する（ステップＳ１５０２）。例えば、休眠時間として、１０分または１時間等の時間が各端末に設定される。メモリ３０４は、設定された休眠時間を記憶する。ステップＳ１５０２において、休眠時間が経過していないとコントローラ３０１が判断した場合、ステップＳ１５０１における処理が実行される。この場合、コントローラ３０１は、時間経過を繰り返し監視する。
【００７９】
ステップＳ１５０２において、休眠時間が経過したとコントローラ３０１が判断した場合、コントローラ３０１は起床通知送信処理を実行する（ステップＳ１５０３）。起床通知送信処理については、図２１を参照して後述する。ステップＳ１５０１において自端末が起床中であるとコントローラ３０１が判断した場合、コントローラ３０１はパケット受信処理を実行する（ステップＳ１５０４）。パケット受信処理については、図１６を参照して後述する。ステップＳ１５０３の後も、コントローラ３０１はパケット受信処理を実行する（ステップＳ１５０４）。
【００８０】
ステップＳ１５０４の後、コントローラ３０１は、現在時刻がセンサデータを取得するタイミングであるか否かを判断する（ステップＳ１５０５）。コントローラ３０１は、センサデータをセンサ３０３から定期的に取得する。ステップＳ１５０５において、現在時刻がセンサデータを取得するタイミングでないとコントローラ３０１が判断した場合、ステップＳ１５０８における処理が実行される。ステップＳ１５０８における処理については後述する。
【００８１】
ステップＳ１５０５において、現在時刻がセンサデータを取得するタイミングであるとコントローラ３０１が判断した場合、コントローラ３０１は、センサ３０３からセンサデータを取得する（ステップＳ１５０６）。ステップＳ１５０６の後、コントローラ３０１は、通信機３０２に、センサデータをブロードキャストで送信させる（ステップＳ１５０７）。
【００８２】
ステップＳ１５０７の後、コントローラ３０１は、休眠禁止パケットの受信履歴と隣接端末の状態変化とに基づいて、自端末を休眠可能あるいは休眠不可にする。自端末が休眠禁止パケットを隣接端末から受信した場合、メモリ３０４は休眠禁止パケットの受信履歴を記憶する。休眠禁止パケットの受信履歴は、休眠禁止パケットが受信された時刻を含む。休眠禁止パケットの受信履歴がメモリ３０４に記憶されていない場合、コントローラ３０１は、ステップＳ１５０７の実行状況に基づいて自端末を休眠可能にする。ステップＳ１５０７においてセンサデータが送信されていれば、コントローラ３０１は自端末を休眠可能にする。休眠禁止パケットの受信履歴がメモリ３０４に記憶されている場合、コントローラ３０１は、メモリ３０４に記憶されている隣接端末の状態情報に基づいて、隣接端末の状態変化を判断する。隣接端末の状態変化がある場合、コントローラ３０１は、自端末を休眠可能にする。隣接端末の状態変化がない場合、コントローラ３０１は、自端末を休眠不可にする（ステップＳ１５０８）。
【００８３】
例えば、端末１の等位端末が休眠しているために端末１が自端末の下位端末から休眠禁止パケットを受信する。端末１は、休眠禁止パケットを受信したため、休眠する機会を失っている。その等位端末が起床したことを端末１が知ることができる場合がある。その場合、隣接端末の状態変化がある。その場合、自端末は休眠できる可能性がある。自端末の下位端末が全て休眠したことを端末１が知ることができる場合も、隣接端末の状態変化がある。
【００８４】
ステップＳ１５０８の後、コントローラ３０１は、自端末が休眠可能であるか否かを判断する（ステップＳ１５０９）。ステップＳ１５０９において、自端末が休眠不可であるとコントローラ３０１が判断した場合、ステップＳ１５０１における処理が実行される。ステップＳ１５０９において、自端末が休眠可能であるとコントローラ３０１が判断した場合、コントローラ３０１は、休眠宣言送信処理を実行する（ステップＳ１５１０）。休眠宣言送信処理については、図１８を参照して後述する。ステップＳ１５１０の後、ステップＳ１５０１における処理が実行される。
【００８５】
（パケット受信処理）
図１６は、図１５に示すステップＳ１５０４において実行されるパケット受信処理の手順を示す。コントローラ３０１は、通信機３０２の状態を監視し、かつ通信機３０２がパケットを隣接端末から受信したか否かを判断する（ステップＳ１６０１）。ステップＳ１６０１において、通信機３０２がパケットを受信していないとコントローラ３０１が判断した場合、コントローラ３０１はパケット受信処理を終了する。ステップＳ１６０１において、通信機３０２がパケットを受信したとコントローラ３０１が判断した場合、コントローラ３０１は、受信されたパケットの種別を判断する（ステップＳ１６０２）。
【００８６】
コントローラ３０１は、ステップＳ１６０２において、パケットに付与されている種別コードの値に基づいてパケットの種別を判断する。パケットの種別が起床あるいは休眠に関し、かつ起床通知である場合、コントローラ３０１は起床通知受信処理を実行する。パケットの種別が起床あるいは休眠に関し、かつ休眠宣言である場合、コントローラ３０１は休眠宣言受信処理を実行する（ステップＳ１６０３）。パケットの種別が、起床あるいは休眠に関する他のパケットである場合、コントローラ３０１は、ステップＳ１６０３における処理を実行せずにパケット受信処理を終了する。起床通知受信処理については、図２２を参照して後述する。休眠宣言受信処理については、図１９を参照して後述する。
【００８７】
パケットの種別がデータである場合、コントローラ３０１は、パケットに付与されているＩＤのいずれか１つと自端末のＩＤとが同じであるか否かを判断する（ステップＳ１６０５）。パケットに付与されているＩＤのいずれか１つと自端末のＩＤとが同じである場合、すなわち自端末のＩＤがパケットに付与されている場合、自端末はそのパケットの送信を完了している。その場合、コントローラ３０１はパケット受信処理を終了する。パケットに付与されているＩＤの全てが自端末のＩＤと異なる場合、すなわち自端末のＩＤがパケットに付与されていない場合、コントローラ３０１は、受信されたパケットに自端末のＩＤを付与する。コントローラ３０１は、通信機３０２に、そのパケットをブロードキャストで送信させる（ステップＳ１６０６）。ステップＳ１６０６における処理が実行されたとき、コントローラ３０１はパケット受信処理を終了する。
【００８８】
パケットの種別が経路探索である場合、コントローラ３０１は経路探索処理を実行する（ステップＳ１６０４）。経路探索処理については、図１７を参照して後述する。ステップＳ１６０４における処理が実行されたとき、コントローラ３０１はパケット受信処理を終了する。
【００８９】
（経路探索処理）
図１７は、図１６に示すステップＳ１６０４において実行される経路探索処理の手順を示す。コントローラ３０１は、受信された経路探索パケットを解析する。具体的には、コントローラ３０１は、経路探索パケットに付与されているＩＤを抽出する。複数のＩＤが経路探索パケットに付与されている場合、コントローラ３０１は全てのＩＤを抽出する（ステップＳ１７０１）。自端末のシステムが起動した後に初めて経路探索パケットが受信された場合、コントローラ３０１は、その経路探索パケットが受信された時刻を記録する。
【００９０】
ステップＳ１７０１の後、コントローラ３０１は、抽出されたＩＤのいずれか１つと自端末のＩＤとが同じであるか否かを判断する（ステップＳ１７０２）。抽出されたＩＤのいずれか１つと自端末のＩＤとが同じである場合、すなわち自端末のＩＤが経路探索パケットに付与されている場合、ステップＳ１７０４における処理が実行される。ステップＳ１７０４における処理については、後述する。
【００９１】
抽出されたＩＤの全てが自端末のＩＤと異なる場合、すなわち自端末のＩＤが経路探索パケットに付与されていない場合、コントローラ３０１は、経路探索パケットに自端末のＩＤを付与する。コントローラ３０１は、通信機３０２に、経路探索パケットをブロードキャストで送信させる（ステップＳ１７０３）。自端末の隣接端末が起床している場合、その隣接端末は、自端末から送信された経路探索パケットを受信する。経路探索パケットを自端末に送信した隣接端末と異なる隣接端末が経路探索パケットを自端末から受信する場合がある。
【００９２】
ステップＳ１７０３の後、コントローラ３０１は、経路探索パケットに付与されているＩＤを通信経路情報としてメモリ３０４に記憶する（ステップＳ１７０４）。通信経路情報は、１つまたは複数のＩＤを含む。通信経路情報が複数のＩＤを含む場合は、経路探索パケットに付与されたＩＤの順番が通信経路情報において保たれる。
【００９３】
自端末がゲートウェイＧ１から経路探索パケットを受信した場合、経路探索パケットにＩＤは付与されていない。本発明の実施形態では、通信経路情報に含まれるＩＤ列の最後に自端末のＩＤが追加される。自端末のＩＤを通信経路情報に追加するか否かは、システムの実装に依存してもよい。自端末がゲートウェイＧ１から経路探索パケットを直接受信した場合、通信経路情報に含まれるＩＤは自端末のＩＤのみとなる。自端末のＩＤのみが通信経路情報に含まれる場合、コントローラ３０１は、自端末が経路探索パケットをゲートウェイＧ１から直接受信したことを後で確認できる。例えば、端末３がゲートウェイＧ１および端末１を経由して経路探索パケットを受信した場合、端末１のＩＤと端末３のＩＤとが通信経路情報に含まれる。端末３のコントローラ３０１は、端末１のＩＤが先頭であり、かつ端末３のＩＤが末尾であることを知ることができるため、端末１を経由して経路探索パケットが届いたことを後で確認できる。
【００９４】
経路探索パケットの送信元は、自端末の隣接端末である。ステップＳ１７０４の後、コントローラ３０１は、送信元ＩＤを隣接端末としてメモリ３０４に記憶する（ステップＳ１７０５）。
【００９５】
所定時間が経過するまで経路探索パケットの受信処理を繰り返すために、コントローラ３０１は、最初の経路探索パケットが受信されたときから経過した時間をカウントする。ステップＳ１７０５の後、コントローラ３０１は、所定時間が経過したか否かを判断する（ステップＳ１７０６）。所定時間とは、例えば１０秒である。ステップＳ１７０６において、所定時間が経過していないとコントローラ３０１が判断した場合、ステップＳ１７０１における処理が実行される。したがって、処理時間が経過するまで、コントローラ３０１は、ステップＳ１７０１からステップＳ１７０６の各々における処理を繰り返し実行する。
【００９６】
ステップＳ１７０６において、所定時間が経過したとコントローラ３０１が判断した場合、コントローラ３０１は、メモリ３０４に記憶された１つ以上の通信経路情報に基づいて、自端末のホップ数を算出する。自端末のホップ数は、ゲートウェイＧ１から自端末までの通信経路において経由する端末の数である。つまり、自端末のホップ数は、通信経路においてゲートウェイＧ１と自端末との間に存在する端末の数である。コントローラ３０１は、算出されたホップ数の最小値すなわち最小ホップ数を得る（ステップＳ１７０７）。
【００９７】
ゲートウェイＧ１から端末１までの通信経路が複数あり、かつゲートウェイＧ１から端末１へ直接パケットが届く通信経路が通信経路情報に含まれる場合、端末１の最小ホップ数は０である。ゲートウェイＧ１から端末３までの通信経路が複数あり、かつパケットがゲートウェイＧ１、端末１、および端末３をこの順に経由する通信経路が通信経路情報に含まれる場合、端末３の最小ホップ数は１である。
【００９８】
ステップＳ１７０７の後、コントローラ３０１は、メモリ３０４に記憶された１つ以上の通信経路情報に基づいて、各隣接端末のホップ数を算出する。隣接端末のホップ数は、ゲートウェイＧ１から自端末の隣接端末までの通信経路において経由する端末の数である。つまり、隣接端末のホップ数は、通信経路においてゲートウェイＧ１と隣接端末との間に存在する端末の数である。コントローラ３０１は、算出されたホップ数の最小値すなわち最小ホップ数を自端末の隣接端末毎に得る（ステップＳ１７０８）。
【００９９】
例えば、図１に示すネットワークＮ１において、端末３へ届いたパケットの通信経路は、少なくとも以下の通信経路を含む。以下の通信経路において、各端末の順番は、パケットが経由する端末の順番と同じである。
第１の通信経路：ゲートウェイＧ１、端末１、および端末３
第２の通信経路：ゲートウェイＧ１、端末２、および端末３
第３の通信経路：ゲートウェイＧ１、端末１、端末２、および端末３
第４の通信経路：ゲートウェイＧ１、端末１、端末４、および端末３
第５の通信経路：ゲートウェイＧ１、端末２、端末１、および端末３
第６の通信経路：ゲートウェイＧ１、端末２、端末４、および端末３
【０１００】
上記の通信経路では、端末３は、端末１、端末２、および端末４が端末３の隣接端末であることを知ることができる。端末３は、第１、第３、および第４の通信経路に基づいて、端末１の最小ホップ数が０であることを知ることができる。端末３は、第２、第５、および第６の通信経路に基づいて、端末２の最小ホップ数が０であることを知ることができる。端末３は、第４および第６の通信経路に基づいて、端末４の最小ホップ数が１であることを知ることができる。
【０１０１】
コントローラ３０１は、自端末の最小ホップ数と隣接端末の最小ホップ数とを隣接端末毎に比較する。コントローラ３０１は、比較結果に基づいて、自端末に対する隣接端末の位置関係を決定する。この位置関係は、ゲートウェイＧ１への近さを基準に決定される。隣接端末の位置関係は、隣接端末が自端末に対して上位、等位、および下位のいずれか１つであることを示す。
【０１０２】
隣接端末の最小ホップ数が自端末の最小ホップ数よりも小さい場合、その隣接端末は自端末の上位端末である。隣接端末の最小ホップ数が自端末の最小ホップ数と同じである場合、その隣接端末は自端末の等位端末である。隣接端末の最小ホップ数が自端末の最小ホップ数よりも大きい場合、その隣接端末は自端末の下位端末である。コントローラ３０１は、決定された位置関係を隣接端末情報としてメモリ３０４に記憶する（ステップＳ１７０９）。例えば、端末１および端末２は端末３に対して上位である。端末４は端末３に対して等位である。ステップＳ１７０９における処理が実行されたとき、コントローラ３０１は経路探索処理を終了する。
【０１０３】
（休眠宣言送信処理）
図１８は、図１５に示すステップＳ１５１０において実行される休眠宣言送信処理の手順を示す。コントローラ３０１は、自端末がセンサ３０３から取得されたセンサデータを含むデータパケットの送信処理を次回に開始する時刻を確認する。コントローラ３０１は、この時刻と現在時刻とに基づいて休眠時間を算出する（ステップＳ１８０１）。例えば、休眠時間は、２つの時刻の差である。
【０１０４】
ステップＳ１８０１の後、コントローラ３０１は、算出された休眠時間を休眠予定時間として休眠宣言パケットに付与する。コントローラ３０１は、通信機３０２に、休眠宣言パケットをブロードキャストで送信させる（ステップＳ１８０２）。
【０１０５】
ステップＳ１８０２の後、コントローラ３０１は、通信機３０２を監視し、かつパケットの受信を待つ（ステップＳ１８０３）。ステップＳ１８０３の後、コントローラ３０１は、休眠宣言パケットの送信から所定時間が経過したか否かを判断する（ステップＳ１８０４）。ステップＳ１８０４において、所定時間が経過していないとコントローラ３０１が判断した場合、ステップＳ１８０３における処理が実行される。
【０１０６】
ステップＳ１８０４において、所定時間が経過したとコントローラ３０１が判断した場合、コントローラ３０１は、休眠禁止パケットが所定時間内に隣接端末から受信されたか否かを判断する（ステップＳ１８０５）。起床中の等位端末が存在し、かつ自端末が自端末の下位端末から休眠禁止パケットを受信した場合、その下位端末は起床中の等位端末の下位ではないとコントローラ３０１は判断できる。その場合、コントローラ３０１は、その情報を非従属関係として、メモリ３０４に記憶されている隣接端末情報に加える（ステップＳ１８０６）。この情報は、自端末および等位端末がそれぞれ休眠したいときに自端末が休眠できるか否かを判断するために使用される。その判断については、図２０を参照して後述する。上記以外の場合、ステップＳ１８０６において処理は実行されない。
【０１０７】
ステップＳ１８０６の後、コントローラ３０１は、休眠禁止パケットの受信履歴をメモリ３０４に記憶する（ステップＳ１８０７）。この履歴は、図１５に示すステップＳ１５０８において使用される。ステップＳ１８０７の後、コントローラ３０１は、通信機３０２に、休眠取消パケットをブロードキャストで送信させる（ステップＳ１８０８）。ステップＳ１８０８における処理が実行されたとき、休眠宣言送信処理が終了する。
【０１０８】
ステップＳ１８０５において、休眠禁止パケットが所定時間内に隣接端末から受信されなかったとコントローラ３０１が判断した場合、コントローラ３０１は休眠時間決定処理を実行する（ステップＳ１８０９）。休眠時間決定処理については、図２３を参照して後述する。ステップＳ１８０９の後、コントローラ３０１は、休眠時間を休眠通知パケットに付与する。休眠時間は、休眠時間決定処理において決定される。コントローラ３０１は、通信機３０２に、休眠通知パケットをブロードキャストで送信させる（ステップＳ１８１０）。
【０１０９】
ステップＳ１８１０の後、コントローラ３０１は、休眠禁止パケットの受信履歴をメモリ３０４から削除する（ステップＳ１８１１）。休眠禁止パケットの受信履歴がメモリ３０４に記憶されていない場合、ステップＳ１８１１において処理は実行されない。
【０１１０】
ステップＳ１８１１の後、コントローラ３０１は、休眠処理を実行する。コントローラ３０１は、休眠処理において、センサ３０３および通信機３０２への電力供給を止めることにより、自端末のシステムを低消費電力状態へ切り替える（ステップＳ１８１２）。ステップＳ１８１２における処理が実行されたとき、休眠宣言送信処理が終了する。自端末が休眠禁止パケットを隣接端末から受信した場合、自端末は休眠禁止パケットを転送しない。
【０１１１】
（休眠宣言受信処理）
図１９および図２０は、図１６に示すステップＳ１６０３において実行される休眠宣言受信処理の手順を示す。コントローラ３０１は、隣接端末から受信された休眠宣言パケットを解析する。具体的には、コントローラ３０１は、休眠宣言パケットに付与された送信元のＩＤを抽出し、かつ送信元の端末を特定する。つまり、コントローラ３０１は、休眠宣言端末を特定する（ステップＳ１９０１）。
【０１１２】
ステップＳ１９０１の後、コントローラ３０１は、メモリ３０４に記憶されている隣接端末の位置関係における各端末のＩＤと休眠宣言パケットの送信元のＩＤとを比較する。これにより、コントローラ３０１は、休眠宣言端末が自端末よりも上位であるのか否か、すなわち休眠宣言端末が上位端末であるのか否かを判断する（ステップＳ１９０２）。
【０１１３】
ステップＳ１９０２において、休眠宣言端末が自端末よりも上位であるとコントローラ３０１が判断した場合、コントローラ３０１は、休眠宣言端末を経由しない別経路が存在するか否かを判断する（ステップＳ１９０３）。別経路は、休眠宣言端末以外の上位端末を経由する経路である。例えば、自端末が端末３であり、休眠宣言端末が端末１であり、かつ端末１から端末４が起床状態にある場合について説明する。端末３の上位端末は端末１および端末２である。端末２が起床している場合、端末３から送信されたパケットは端末２を経由してゲートウェイＧ１に届く。この場合、端末３のコントローラ３０１は、別経路が存在すると判断する。一方、端末２が休眠状態にある場合、端末３のコントローラ３０１は、別経路が存在しないと判断する。本発明の実施形態では、各端末からゲートウェイＧ１までの通信経路を確保するための条件は、常に自端末の上位端末へパケットが届くことである。自端末の等位端末または自端末の下位端末を経由して自端末からゲートウェイＧ１へパケットが届くことは期待されない。
【０１１４】
コントローラ３０１は、ステップＳ１９０３における処理を実行することにより、第１の休眠判断を実行する。休眠宣言端末以外に起床中の上位端末が存在するならば、別経路が存在する。このとき、コントローラ３０１は、休眠宣言端末の休眠を認めると判断する。そのため、休眠禁止パケットは送信されない。休眠宣言端末以外に起床中の上位端末が存在しなければ、別経路は存在しない。このとき、コントローラ３０１は、休眠宣言端末の休眠を認めないと判断する。そのため、後述するステップＳ１９０４において休眠禁止パケットが休眠宣言端末へ送信される。
【０１１５】
ステップＳ１９０３において、別経路が存在するとコントローラ３０１が判断した場合、コントローラ３０１は、通信機３０２を監視し、かつパケットの受信を待つ（ステップＳ１９０８）。ステップＳ１９０８の後、コントローラ３０１は、休眠宣言受信処理の開始から所定時間が経過したか否かを判断する（ステップＳ１９０９）。所定時間は、例えば５秒である。ステップＳ１９０９において、所定時間が経過していないとコントローラ３０１が判断した場合、ステップＳ１９０８における処理が実行される。
【０１１６】
ステップＳ１９０９において、所定時間が経過したとコントローラ３０１が判断した場合、コントローラ３０１は、休眠通知パケットが休眠宣言端末から所定時間内に受信されたか否かを判断する（ステップＳ１９０５）。ステップＳ１９０５において、休眠通知パケットが受信されていないとコントローラ３０１が判断した場合、コントローラ３０１は休眠宣言受信処理を終了する。
【０１１７】
ステップＳ１９０５において、休眠通知パケットが受信されたとコントローラ３０１が判断した場合、コントローラ３０１は、その休眠通知パケット解析する。具体的には、コントローラ３０１は、休眠通知パケットに含まれている休眠時間を抽出する。コントローラ３０１は、メモリ３０４に記憶されている隣接端末情報において、休眠宣言端末の状態情報を休眠状態に更新する。さらに、コントローラ３０１は、休眠宣言端末の休眠時間を隣接端末情報に加える。そのため、休眠宣言端末の休眠時間がメモリ３０４に記憶される（ステップＳ１９０６）。隣接端末情報において休眠時間は、自端末における時間の経過とともに更新される。つまり、時間が経過するに従って、休眠時間は減少する。
【０１１８】
ステップＳ１９０３において、別経路が存在しないとコントローラ３０１が判断した場合、コントローラ３０１は、通信機３０２に、休眠宣言端末のＩＤが付与された休眠禁止パケットをブロードキャストで送信させる（ステップＳ１９０４）。ステップＳ１９０４の後、ステップＳ１９０８における処理が実行される。
【０１１９】
休眠宣言端末は、休眠禁止パケットを受信する（ステップＳ１８０５）。休眠宣言端末は、休眠取消パケットを送信する（ステップＳ１８０８）。コントローラ３０１は、休眠禁止パケットが受信されたことを確認し、休眠宣言受信処理を終了する（ステップＳ１９０５）。
【０１２０】
休眠禁止パケットが送信された後、休眠に関する通信のトランザクションを確認するために、各端末は、ステップＳ１９０８において休眠取消パケットの受信を待つ。休眠取消パケットの受信処理を省略する実装が適用されてもよい。
【０１２１】
ステップＳ１９０２において、休眠宣言端末が自端末よりも上位ではないとコントローラ３０１が判断した場合、コントローラ３０１は、休眠宣言端末が自端末と等位であるか否かを判断する（ステップＳ１９０７）。ステップＳ１９０７において、休眠宣言端末が自端末と等位ではない場合、コントローラ３０１は、休眠宣言端末が下位端末であると判断する。この場合、ステップＳ１９０８における処理が実行される。
【０１２２】
ステップＳ１９０７において、休眠宣言端末が自端末と等位であるとコントローラ３０１が判断した場合、コントローラ３０１は、メモリ３０４に記憶された隣接端末の状態情報に基づいて、自端末の全ての下位端末が休眠しているか否かを判断する（ステップＳ２００１）。ステップＳ２００１において、全ての下位端末が休眠しているとコントローラ３０１が判断した場合、ステップＳ１９０８における処理が実行される。この場合、休眠禁止パケットは送信されない。自端末の全ての下位端末が休眠している場合、休眠宣言端末は休眠することができる。
【０１２３】
ステップＳ２００１において、少なくとも１つの下位端末が起床状態にある場合、コントローラ３０１は、休眠宣言端末が自端末の下位端末の別経路に含まれるか否かを判断する（ステップＳ２００２）。各端末は、自端末と自端末の隣接端末との位置関係を把握できる。各端末は、自端末の隣接端末と、それ以外の隣接端末との位置関係を完全には把握していない。しかし、図１８に示すステップＳ１８０６の説明と同様に、各端末は、ある程度の位置関係を把握できる。例えば、各端末は、自端末の下位端末が自端末の等位端末の下位にも存在するか否かを把握できる。コントローラ３０１は、ステップＳ２００１において、自端末の下位端末が等位端末の下位であるか否かを判断することにより、休眠宣言端末が自端末の下位端末の別経路に含まれるか否かを判断する。
【０１２４】
ステップＳ２００２において、休眠宣言端末が自端末の下位端末の別経路に含まれないとコントローラ３０１が判断した場合、ステップＳ１９０８における処理が実行される。この場合、休眠禁止パケットは送信されない。自端末の下位端末の通信経路に休眠宣言端末が含まれないため、自端末の下位端末は休眠宣言端末の休眠の影響を受けない。そのため、休眠宣言端末は休眠することができる。
【０１２５】
ステップＳ２００２において、休眠宣言端末が自端末の下位端末の別経路に含まれるとコントローラ３０１が判断した場合、コントローラ３０１は、自端末の現在の起床状態において休眠禁止パケットが受信された履歴があるか否かを判断する（ステップＳ２００３）。現在の起床状態が開始された後に休眠禁止パケットが受信されていない場合、現在の起床状態において休眠禁止パケットが受信された履歴はない。現在の起床状態が開始された後に休眠禁止パケットが受信された場合、現在の起床状態において休眠禁止パケットが受信された履歴がある。
【０１２６】
ステップＳ２００３において、現在の起床状態において休眠禁止パケットが受信された履歴はないとコントローラ３０１が判断した場合、ステップＳ１９０８における処理が実行される。この場合、休眠禁止パケットは送信されない。ステップＳ２００３において、現在の起床状態において休眠禁止パケットが受信された履歴があるとコントローラ３０１が判断した場合、コントローラ３０１は、自端末がセンサ３０３から取得されたセンサデータを含むデータパケットの送信処理を次回に実行するまでの休眠時間を確認する（ステップＳ２００４）。自端末が休眠禁止パケットを受信した場合、自端末は休眠可能な状態にある。これは、センサ３０３が次回に計測を実行するまでの時間が休眠時間として保持されていることを意味する。休眠時間は、時間の経過とともに減少する。休眠時間が経過した後、自端末は、データ送信などの所定の処理を実行する。所定の処理が実行された後、自端末は休眠を再度開始する。自端末は、ステップＳ２００４において確認された休眠時間に基づいて、休眠を再度開始する時刻を予測することができる。
【０１２７】
ステップＳ２００４の後、コントローラ３０１は、自端末が休眠を開始する休眠予定時刻が休眠宣言端末の休眠時間に含まれるか否かを判断する。具体的には、コントローラ３０１は、ステップＳ２００４において確認された自端末の休眠時間に基づいて、自端末の休眠予定時刻を予測する。コントローラ３０１は、休眠宣言パケットが受信された時刻に、休眠宣言パケットに含まれる休眠予定時間を加算することにより、休眠宣言端末が休眠を終了する起床予定時刻を算出する。コントローラ３０１は、自端末の休眠予定時刻と、休眠宣言端末の起床予定時刻とを比較する。自端末の休眠予定時刻が休眠宣言端末の起床予定時刻よりも前である場合、自端末の休眠予定時刻は休眠宣言端末の休眠時間に含まれる。自端末の休眠予定時刻が休眠宣言端末の起床予定時刻よりも後である場合、自端末の休眠予定時刻は休眠宣言端末の休眠時間に含まれない（ステップＳ２００５）。
【０１２８】
ステップＳ２００５において、自端末の休眠予定時刻は休眠宣言端末の休眠時間に含まれないとコントローラ３０１が判断した場合、ステップＳ１９０８における処理が実行される。この場合、休眠禁止パケットは送信されない。休眠宣言端末が起床した後に自端末が休眠するため、自端末の下位端末は休眠宣言端末の休眠の影響を受けない。そのため、休眠宣言端末は休眠することができる。
【０１２９】
ステップＳ２００５において、自端末の休眠予定時刻は休眠宣言端末の休眠時間に含まれるとコントローラ３０１が判断した場合、ステップＳ１９０４における処理が実行される。ステップＳ２００３において、自端末が、休眠の機会を失った履歴を持つことが判明している。休眠機会を失った履歴を持つ自端末を次回に優先的に休眠させるために、ステップＳ１９０４において休眠禁止パケットが送信される。自端末が休眠宣言パケットまたは休眠取消パケットを隣接端末から受信した場合、自端末は休眠宣言パケットまたは休眠取消パケットを転送しない。自端末が休眠通知パケットを隣接端末から受信した場合、自端末は休眠通知パケットを転送しない。
【０１３０】
（起床通知送信処理）
図２１は、図１５に示すステップＳ１５０３において実行される起床通知送信処理の手順を示す。コントローラ３０１は、起床処理を実行する。コントローラ３０１は、起床処理において、センサ３０３および通信機３０２への電力供給を開始することにより、自端末のシステムを低消費電力状態から通常動作状態へ切り替える（ステップＳ２１０１）。
【０１３１】
ステップＳ２１０１の後、コントローラ３０１は、通信機３０２に、起床通知パケットをブロードキャストで送信させる（ステップＳ２１０２）。ステップＳ２１０２の後、コントローラ３０１は、通信機３０２の状態を監視し、かつ通信機３０２が起床応答パケットを隣接端末から受信したか否かを判断する（ステップＳ２１０３）。ステップＳ２１０３において、通信機３０２が起床応答パケットを受信していないとコントローラ３０１が判断した場合、ステップＳ２１０５における処理が実行される。ステップＳ２１０５における処理については後述する。
【０１３２】
ステップＳ２１０３において、通信機３０２が起床応答パケットを受信したとコントローラ３０１が判断した場合、コントローラ３０１は、起床応答パケットに含まれるＩＤを抽出する。コントローラ３０１は、メモリ３０４に記憶されている隣接端末情報において、抽出されたＩＤを持つ情報を検索する。起床応答パケットを送信した隣接端末は、起床状態にある。コントローラ３０１は、発見されたＩＤに関連付けられた状態情報を起床状態に更新する（ステップＳ２１０４）。
【０１３３】
ステップＳ２１０４の後、コントローラ３０１は、起床通知パケットの送信から所定時間が経過したか否かを判断する（ステップＳ２１０５）。ステップＳ２１０５において、所定時間が経過していないとコントローラ３０１が判断した場合、ステップＳ２１０３における処理が実行される。ステップＳ２１０５において、所定時間が経過したとコントローラ３０１が判断した場合、コントローラ３０１は起床通知送信処理を終了する。
【０１３４】
（起床通知受信処理）
図２２は、図１６に示すステップＳ１６０３において実行される起床通知受信処理の手順を示す。コントローラ３０１は、隣接端末から受信された起床通知パケットを解析する。具体的には、コントローラ３０１は、起床通知パケットに付与された送信元のＩＤを抽出し、かつ送信元の端末を特定する（ステップＳ２２０１）。
【０１３５】
ステップＳ２２０１の後、コントローラ３０１は、メモリ３０４に記憶されている隣接端末情報において、抽出されたＩＤを持つ情報を検索する。起床通知パケットを送信した隣接端末は、起床状態にある。コントローラ３０１は、発見されたＩＤに関連付けられた状態情報を起床状態に更新する（ステップＳ２２０２）。
【０１３６】
ステップＳ２２０２の後、コントローラ３０１は、通信機３０２に、起床応答パケットをブロードキャストで送信させる（ステップＳ２２０３）。ステップＳ２２０３における処理が実行されたとき、コントローラ３０１は起床通知受信処理を終了する。自端末が起床通知パケットを隣接端末から受信した場合、自端末は起床通知パケットを転送しない。
【０１３７】
（休眠時間決定処理フローチャート）
図２３は、図１８に示すステップＳ１８０９において実行される休眠時間決定処理の手順を示す。コントローラ３０１は、自端末が次回に、センサ３０３から取得されたセンサデータを含むデータパケットの送信処理を開始する時刻を確認する。コントローラ３０１は、この時刻と現在時刻とに基づいて休眠時間を算出する（ステップＳ２３０１）。例えば、休眠時間は、２つの時刻の差である。
【０１３８】
ステップＳ２３０１の後、コントローラ３０１は、メモリ３０４に記憶されている隣接端末情報に基づいて、休眠中の下位端末の残りの休眠時間を確認する。図１９に示すステップＳ１９０６において、休眠を宣言した隣接端末の休眠時間が隣接端末情報に追加される。前述したように、時間が経過するに従って、休眠時間は減少する。複数の下位端末が休眠中である場合、コントローラ３０１は、最も短い残りの休眠時間を選択する。つまり、コントローラ３０１は、最も早く起床する下位端末の残りの休眠時間を選択する（ステップＳ２３０２）。休眠中の下位端末が存在しない場合、コントローラ３０１は、休眠時間を選択しない。
【０１３９】
ステップＳ２３０２の後、コントローラ３０１は、自端末の休眠時間と下位端末の残りの休眠時間とを比較する。コントローラ３０１は、自端末の休眠時間が下位端末の残りの休眠時間よりも短いか否かを判断する（ステップＳ２３０３）。
【０１４０】
ステップＳ２３０３において、自端末の休眠時間が下位端末の残りの休眠時間よりも短いとコントローラ３０１が判断した場合、コントローラ３０１は、自端末の休眠時間を、休眠通知パケットに付与する休眠時間として決定する（ステップＳ２３０４）。例えば、自端末の休眠時間が６０分であり、かつ下位端末の残りの休眠時間が９０分である場合、６０分が休眠時間に採用される。ステップＳ２３０２においてコントローラ３０１が休眠時間を選択しなかった場合も、ステップＳ２３０４における処理が実行される。
【０１４１】
自端末の休眠時間が下位端末の残りの休眠時間よりも短いため、下位端末が起床する前に自端末が起床する。下位端末が起床したとき、下位端末の通信経路は確保されている。
【０１４２】
ステップＳ２３０３において、下位端末の残りの休眠時間が自端末の休眠時間よりも短いとコントローラ３０１が判断した場合、コントローラ３０１は、下位端末の残りの休眠時間に基づいて、休眠通知パケットに付与する休眠時間を決定する。例えば、コントローラ３０１は、下位端末の残りの休眠時間よりもやや短い時間を、休眠通知パケットに付与する休眠時間として決定する（ステップＳ２３０５）。
【０１４３】
例えば、自端末の休眠時間が６０分であり、かつ下位端末の残りの休眠時間が９０分である場合、自端末が下位端末よりも先に起床する。現在時刻から６０分が経過し、自端末が休眠通知パケットを再度送信するとき、自端末は休眠時間を決定する。自端末が６０分毎に起床する場合、自端末の休眠時間は６０分となる。このとき、６０分が経過しているため、休眠中の下位端末の残りの休眠時間は３０分である。この場合、下位端末の残りの休眠時間（３０分）が採用される。
【０１４４】
自端末は、下位端末の通信経路を担保するために、３０分よりも短い時間で起床することが求められる。そのため、起床処理等の処理時間および各端末の内部クロックの誤差を考慮し、自端末は、下位端末が起床するタイミングよりも早いタイミングで起床する。例えば、内部クロックの進み方には、システム毎に誤差がある。その誤差は、大きくても数ｍｓから十数ｍｓ程度である。また、システムの起床に要する処理時間は、長くても数秒程度と考えられる。例えば、コントローラ３０１は、自端末の起床に要する処理時間および内部クロックの誤差の合計を１０秒程度と見積もる。下位端末の残りの休眠時間が３０分である場合、コントローラ３０１は、自端末の休眠時間を２９分５０秒に設定する。
【０１４５】
ステップＳ２３０４またはステップＳ２３０５における処理が実行されたとき、コントローラ３０１は休眠時間決定処理を終了する。ステップＳ２３０４またはステップＳ２３０５において決定された休眠時間は、図１８に示すステップＳ１８１０において送信される休眠通知パケットに付与される。
【０１４６】
（パケットの構造）
図２４は、通信に使用される各パケットの構造を示す。パケットＰ２４０１は、種別Ｆ２４０１、送信元ＩＤ  Ｆ２４０２、およびペイロードＦ２４０３から構成される。種別Ｆ２４０１は、パケットの種別を示す。送信元ＩＤ  Ｆ２４０２は、送信元を識別するＩＤである。ペイロードＦ２４０３は、各情報を含む。
【０１４７】
種別Ｆ２４０１は、図２５に示す種別毎の値を含む。パケットの種別は、経路探索、休眠宣言、休眠禁止、休眠取消、休眠通知、起床通知、起床応答、およびデータのいずれか１つである。パケットの種別毎に異なる値が用意されている。コントローラ３０１は、受信されたパケットから種別Ｆ２４０１を抽出する。コントローラ３０１は、種別Ｆ２４０１に基づいてパケットの種別を判断し、かつ各処理を実行する。送信元ＩＤ  Ｆ２４０２は、図１に示すネットワークＮ１の説明に使用した０００１などのＩＤを含む。
【０１４８】
ペイロードＦ２４０３のフォーマットは、パケットの種別毎に異なる。経路探索パケットでは、パケットが転送される度にＩＤが付与される。図２４に示す例では、経路探索パケットのペイロードＤ２４０１は、１つ以上のＩＤを含む。経路探索パケットが複数のＩＤを含む場合、これらのＩＤの順番は、経路探索パケットの通信経路における端末の順番と同じである。
【０１４９】
例えば、ゲートウェイＧ１から送信された経路探索パケットが端末１へ届く。端末１が経路探索パケットを送信するとき、端末１は端末１に固有なＩＤ（０００１）を経路探索パケットに付与する。同様に、端末１から送信された経路探索パケットが端末２へ届く。端末２が経路探索パケットを送信するとき、端末２は端末２に固有なＩＤ（０００２）を経路探索パケットに付与する。ペイロードＤ２４０１のデータ列は、“０００１０００２”となる。このデータ列がそのまま通信経路情報となる。データの先頭から並ぶＩＤの数がホップ数となる。
【０１５０】
休眠宣言パケットのペイロードＤ２４０２は、休眠予定時間を含む。休眠予定時間は、休眠開始予定時刻および休眠終了予定時刻によって示されてもよい。休眠禁止パケットのペイロードＤ２４０３は、休眠宣言パケットを送信した端末の送信元ＩＤを含む。休眠禁止パケットのペイロードＤ２４０４には、ＮＵＬＬと記載されている。これは、休眠禁止パケットのペイロードＤ２４０４がデータを含まないことを意味する。
【０１５１】
休眠通知パケットのペイロードＤ２４０５は、休眠時間を含む。休眠時間は、休眠開始時刻および休眠終了時刻によって示されてもよい。起床通知パケットのペイロードＤ２４０６および起床応答パケットのペイロードＤ２４０７には、ＮＵＬＬと記載されている。これは、起床通知パケットのペイロードＤ２４０６および起床応答パケットのペイロードＤ２４０７がデータを含まないことを意味する。データパケットのペイロードＤ２４０８は、ＩＤおよびデータを含む。経路探索パケットと同様に、データパケットでは、パケットが転送される度にＩＤが付与される。
【０１５２】
（隣接端末情報の構成）
図２６Ａ、図２６Ｂ、および図２６Ｃは、各端末が管理する隣接端末情報の構成を示す。図２６Ａは、隣接端末情報のフォーマットを示す。隣接端末情報は、ＩＤ、位置関係、端末状態、休眠時間、および非従属関係の各々の情報を含む。ＩＤは、隣接端末に固有である。位置関係は、自端末に対する隣接端末の階層位置を示す。位置関係は、上位、等位、および下位のいずれか１つを示す。端末状態は、起床状態および休眠状態のいずれか１つを示す。隣接端末が休眠中である場合、休眠時間が設定される。非従属関係は、自端末の下位端末が自端末の等位端末の下位に位置しないことを意味する。非従属関係は、下位端末のＩＤを示す。コントローラ３０１は、新たな情報が得られる度に隣接端末情報を更新する。
【０１５３】
図２６Ｂは、図１に示すネットワークＮ１において端末１が管理する情報の例を示す。端末３は、端末１の下位端末であるため、ＩＤ＝０００３と下位を示す情報とが関連付けられている。端末３が休眠している場合、端末状態は休眠を示す。休眠時間は９０分である。時間の経過に応じて休眠時間は減少する。
【０１５４】
図２６Ｃは、図２に示すネットワークＮ２において端末１が管理する情報の例を示す。ネットワークＮ２において、端末２および端末３は、互いに直接通信できない位置にある。図１８の説明と同様に、端末１は、休眠宣言パケット等のシーケンスを繰り返すことにより、端末１の等位にある端末２の下位に端末３が存在しないことを知る。ＩＤ＝０００２の非従属関係は、ＩＤ＝０００３を含む。
【０１５５】
本発明の各態様の無線通信方法は、第１のステップ、第２のステップ、第３のステップ、第４のステップ、および第５のステップを有する。通信機３０２が経路探索パケットを周辺端末から受信した場合、コントローラ３０１は、第１のステップ（Ｓ１７０３）において、通信機３０２に、経路探索パケットを隣接端末へ送信させる。コントローラ３０１は、第２のステップ（Ｓ１７０９）において、通信機が周辺端末から受信した経路探索パケットに基づいて上位端末を判別する。コントローラ３０１は、第３のステップ（Ｓ１９０６、Ｓ２１０４、およびＳ２２０２）において、通信機３０２が隣接端末から受信した通知に基づいて、隣接端末の状態情報をメモリ３０４に記憶する。通信機３０２が休眠宣言パケットを休眠宣言端末から受信し、かつ休眠宣言端末が上位端末である場合、コントローラ３０１は、第４のステップ（Ｓ１９０３）において、状態情報に基づいて第１の休眠判断を実行する。休眠宣言端末の休眠を認めないとコントローラ３０１が判断した場合、コントローラ３０１は、第５のステップ（Ｓ１９０４）において、通信機３０２に、休眠禁止パケットを休眠宣言端末へ送信させる。本発明の各態様の無線通信方法は、上記の５つのステップ以外のステップを有する必要はない。
【０１５６】
休眠宣言端末以外に起床中の上位端末が存在しなければ、コントローラ３０１は、第１の休眠判断において休眠宣言端末の休眠を認めないと判断する。そのため、各端末は通信経路を確実に確保することができる。休眠宣言端末以外に起床中の上位端末が存在するならば、コントローラ３０１は、第１の休眠判断において休眠宣言端末の休眠を認めると判断する。そのため、各端末は、ネットワーク全体の消費電力を減らすことができる。マルチホップネットワークにおいて、各端末は、集中管理されることなく自発的に第１の休眠判断を実行することができる。
【０１５７】
コントローラ３０１は、ステップＳ１８０２において、通信機３０２に、休眠宣言パケットを隣接端末へ送信させる。通信機３０２が休眠宣言パケットを送信した後の所定期間内に通信機３０２が隣接端末から休眠禁止パケットを受信しない場合、コントローラ３０１は、ステップＳ１８１０において、通信機３０２に、休眠通知パケットを隣接端末へ送信させる。通信機３０２が休眠通知パケットを送信した後、コントローラ３０１は、ステップＳ１８１２において、消費電力が低減された休眠状態に自端末を移行させるための休眠処理を実行する。休眠処理が実行された後、コントローラ３０１は、ステップＳ２１０１において、自端末を休眠状態から復帰させるための起床処理を実行する。起床処理が実行された後、コントローラ３０１は、ステップＳ２１０２において、通信機３０２に、起床通知パケットを隣接端末へ送信させる。コントローラ３０１は、ステップＳ１９０６およびステップＳ２２０２において、通信機３０２が隣接端末から受信した休眠通知パケットと、通信機３０２が隣接端末から受信した起床通知パケットとに基づいて、状態情報をメモリ３０４に記憶する。
【０１５８】
各無線通信端末は、状態情報に基づいて、自端末の隣接端末の起床状態および休眠状態を常に把握することができる。そのため、休眠可能な状態にあって休眠の機会を狙っている無線通信端末が休眠処理を即座に開始することができる。
【０１５９】
コントローラ３０１は、ステップＳ１７０９において、通信機３０２が周辺端末から受信した経路探索パケットに基づいて、等位端末を判別する。第３の数は第４の数と同じである。第３の数は、通信経路においてゲートウェイＧ１（集約装置）と自端末との間に存在する無線通信端末の数である。第４の数は、通信経路においてゲートウェイＧ１と等位端末との間に存在する無線通信端末の数である。所定期間内に通信機３０２が休眠禁止パケットを隣接端末から受信し、かつ、休眠中である等位端末の状態情報がメモリ３０４に記憶されている第１の場合、コントローラ３０１は、休眠中の等位端末が起床したタイミングで、通信機３０２に、休眠宣言パケットを隣接端末へ送信させる（ステップＳ１８０２）。
【０１６０】
ステップＳ１８０２において休眠宣言パケットが送信される。その後の所定期間内に休眠禁止パケットが隣接端末から受信される場合がある（ステップＳ１８０５）。コントローラ３０１は、ステップＳ１５０８において、休眠中の等位端末が休眠状態から起床状態へ遷移したことを検知できる。休眠中の等位端末が休眠状態から起床状態へ遷移したとコントローラ３０１が判断したとき、自端末は休眠可能である（ステップＳ１５０９）。そのため、休眠宣言送信処理（ステップＳ１５１０）が実行され、かつステップＳ１８０２において休眠宣言パケットが再度送信される。
【０１６１】
休眠中の等位端末が起床した後、自端末は休眠することができる。そのため、消費電力の負担が無線通信端末間で分散する。
【０１６２】
休眠通知パケットは、休眠通知パケットを送信する無線通信端末の休眠期間に関する期間情報（休眠時間）を含む。第１の場合、自端末が次に休眠を開始する前に、コントローラ３０１は、ステップＳ２００４およびステップＳ２００５において、期間情報に基づいて、タイミング判断を実行してもよい。コントローラ３０１は、タイミング判断において、休眠中である等位端末の起床予定時刻が自端末の休眠予定時刻よりも早い否かを判断する。起床予定時刻は、等位端末が休眠を終了する時刻である。休眠予定時刻は、自端末が休眠を開始する時刻である。等位端末の起床予定時刻が自端末の休眠予定時刻よりも早いとコントローラ３０１が判断した場合、コントローラ３０１は、等位端末の起床予定時刻において、通信機３０２に、休眠宣言パケットを隣接端末へ送信させてもよい（ステップＳ１８０２）。
【０１６３】
コントローラ３０１は、ステップＳ２００４において、自端末が休眠を開始する休眠予定時刻を予測する。コントローラ３０１は、期間情報に基づいて、休眠中である等位端末の起床予定時刻を予測してもよい。コントローラ３０１は、休眠中の等位端末の起床予定時刻に基づいて、自端末が休眠できるか否かを判断することができる。
【０１６４】
休眠宣言パケットは、休眠宣言端末の休眠期間に関する期間情報（休眠予定時間）を含む。コントローラ３０１は、ステップＳ１７０９において、通信機３０２が周辺端末から受信した経路探索パケットに基づいて、等位端末を判別する。所定期間内に通信機３０２が休眠禁止パケットを隣接端末から受信し、かつ休眠宣言端末が等位端末である場合、コントローラ３０１は、ステップＳ２００５において、第２の休眠判断を実行する。コントローラ３０１は、第２の休眠判断において、自端末の休眠予定時刻および休眠宣言端末の休眠期間に基づいて、自端末および休眠宣言端末が同時に休眠している期間があるか否かを判断する。休眠予定時刻は、自端末が休眠を開始する時刻である。自端末および休眠宣言端末が同時に休眠している期間があるとコントローラ３０１が判断した場合、コントローラ３０１は、第２の休眠判断において休眠宣言端末の休眠を認めないと判断する。
【０１６５】
コントローラ３０１は、ステップＳ２００５において、自端末の休眠予定時刻と、休眠宣言端末の起床予定時刻とを比較する。自端末の休眠予定時刻が休眠宣言端末の起床予定時刻よりも前である場合、自端末および休眠宣言端末が同時に休眠している期間がある。自端末の休眠予定時刻が休眠宣言端末の起床予定時刻よりも後である場合、自端末および休眠宣言端末が同時に休眠している期間はない。自端末および休眠宣言端末が同時に休眠している期間がある場合、ステップＳ１９０４において休眠禁止パケットが送信される。
【０１６６】
自端末の休眠が禁止された場合（ステップＳ２００３）、自端末および休眠宣言端末が同時に休眠するか否かが判断される（ステップＳ２００５）。自端末および休眠宣言端末が同時に休眠する場合、休眠宣言端末の休眠は禁止される。そのため、自端末の次の休眠が休眠宣言端末の休眠よりも優先される。
【０１６７】
コントローラ３０１は、ステップＳ１７０９において、通信機３０２が周辺端末から受信した経路探索パケットに基づいて下位端末を判別する。第５の数は第６の数よりも大きい。第５の数は、通信経路においてゲートウェイＧ１（集約装置）と下位端末との間に存在する無線通信端末の数である。第６の数は、通信経路においてゲートウェイＧ１（集約装置）と自端末との間に存在する無線通信端末の数である。コントローラ３０１は、ステップＳ１８０６において、等位端末が下位端末の通信経路に含まれるか否かを示す迂回情報（非従属関係）をメモリ３０４に記憶する。コントローラ３０１は、第２の休眠判断において、迂回情報に基づいて、休眠宣言端末が、下位端末の通信経路に含まれる等位端末であるか否かを判断する（ステップＳ２００２）。自端末および休眠宣言端末が同時に休眠している期間があるとコントローラ３０１が判断し、かつ休眠宣言端末が、下位端末の通信経路に含まれる等位端末であるとコントローラ３０１が判断した場合、コントローラ３０１は、第２の休眠判断において休眠宣言端末の休眠を認めないと判断する。
【０１６８】
自端末が休眠した場合、自端末の下位端末が自端末の等位端末を含む別経路のみで通信を行う可能性がある。自端末および休眠宣言端末が同時に休眠している間、その下位端末は通信を行うことができない。そのような場合に休眠宣言端末の休眠は禁止される。そのため、なるべく電力の消費が平準化され、かつ無駄な電力の消費が低減される。
【０１６９】
コントローラ３０１は、ステップＳ１７０９において、通信機３０２が周辺端末から受信した経路探索パケットに基づいて下位端末を判別する。休眠通知パケットは、休眠通知パケットを送信する無線通信端末の休眠期間に関する期間情報（休眠時間）を含む。コントローラ３０１は、ステップＳ２３０２において、期間情報に基づいて、休眠中である下位端末の起床予定時刻を判断する。起床予定時刻は、下位端末が休眠を終了する時刻である。所定期間内に通信機３０２が休眠禁止パケットを隣接端末から受信せず、かつ、休眠中である下位端末の状態情報がメモリ３０４に記憶されている第２の場合、コントローラ３０１は、ステップＳ２３０４またはステップＳ２３０５において、自端末の休眠期間を決定する。自端末の休眠期間は、下位端末の起床予定時刻よりも前に終了する。
【０１７０】
下位端末が起床する前に自端末が起床する。そのため、下位端末の通信経路が確実に確保され、かつ自端末の消費電力が低減される。
【０１７１】
コントローラ３０１は、ステップＳ２３０１において、自端末の休眠予定期間（休眠時間）を決定する。第２の場合、かつ休眠予定期間が下位端末の起床予定時刻よりも後に終了する第３の場合、コントローラ３０１は、ステップＳ２３０５において、自端末の休眠期間を決定する。通信機３０２が送信する休眠通知パケットは、自端末の休眠期間に関する期間情報を含む。
【０１７２】
コントローラ３０１は、ステップＳ２３０３において、自端末の休眠時間が下位端末の残りの休眠時間よりも短いか否かを判断する。自端末の休眠時間が下位端末の残りの休眠時間よりも短い場合、自端末の休眠予定期間は下位端末の起床予定時刻よりも後に終了する。下位端末が起床したときに自端末が休眠しているため、下位端末の通信経路が確保されない。その場合、ステップＳ２３０５において自端末の休眠期間が決定される。その休眠期間は、下位端末が起床する前に終了する。つまり、下位端末が起床する前に自端末が起床する。そのため、下位端末の通信経路が確実に確保され、かつ自端末の消費電力が低減される。
【０１７３】
以上、本発明の好ましい実施形態を説明したが、本発明はこれら実施形態およびその変形例に限定されることはない。本発明の趣旨を逸脱しない範囲で、構成の付加、省略、置換、およびその他の変更が可能である。また、本発明は前述した説明によって限定されることはなく、添付のクレームの範囲によってのみ限定される。
【産業上の利用可能性】
【０１７４】
本発明の各実施形態によれば、無線通信端末、無線通信システム、無線通信方法、およびプログラムは、通信経路を確実に確保することができ、かつネットワーク全体の消費電力を減らすことができる。
【符号の説明】
【０１７５】
１，２，３，４  端末
Ｇ１  ゲートウェイ
３０１，３２１  コントローラ
３０２  通信機
３０３  センサ
３０４，３２４  メモリ
３０５，３２５  クロック回路
３２２  第１の通信機
３２３  第２の通信機
【図１】
2019244233.tif 000003
【図２】
2019244233.tif 000004
【図３Ａ】
2019244233.tif 000005
【図３Ｂ】
2019244233.tif 000006
【図４】
2019244233.tif 000007
【図５Ａ】
2019244233.tif 000008
【図５Ｂ】
2019244233.tif 000009
【図５Ｃ】
2019244233.tif 000010
【図５Ｄ】
2019244233.tif 000011
【図６Ａ】
2019244233.tif 000012
【図６Ｂ】
2019244233.tif 000013
【図６Ｃ】
2019244233.tif 000014
【図６Ｄ】
2019244233.tif 000015
【図７】
2019244233.tif 000016
【図８】
2019244233.tif 000017
【図９】
2019244233.tif 000018
【図１０】
2019244233.tif 000019
【図１１】
2019244233.tif 000020
【図１２】
2019244233.tif 000021
【図１３】
2019244233.tif 000022
【図１４】
2019244233.tif 000023
【図１５】
2019244233.tif 000024
【図１６】
2019244233.tif 000025
【図１７】
2019244233.tif 000026
【図１８】
2019244233.tif 000027
【図１９】
2019244233.tif 000028
【図２０】
2019244233.tif 000029
【図２１】
2019244233.tif 000030
【図２２】
2019244233.tif 000031
【図２３】
2019244233.tif 000032
【図２４】
2019244233.tif 000033
【図２５】
2019244233.tif 000034
【図２６Ａ】
2019244233.tif 000035
【図２６Ｂ】
2019244233.tif 000036
【図２６Ｃ】
2019244233.tif 000037
【国際調査報告】
2019244233.tif 000038
2019244233.tif 000039
2019244233.tif 000040
2019244233.tif 000041