【実施例1】
【0014】
[全体構成]
図1は、実施例1にかかるシステムの全体構成例を示す図である。
図1に示すように、このシステムは、管理サーバ5、GW装置10、複数のノード30を有する。GW装置10と複数のノード30は、ネットワークNを介して、相互に通信可能に接続される。なお、ネットワークNは、有線や無線を問わず、インターネットや専用線など各種通信網を採用することができる。
【0015】
管理サーバ5は、GW装置10を介して、各ノード30からセンシングデータを取得し、一括管理するサーバ装置の一例である。例えば、管理サーバ5は、水位、ガスの使用量、電気の使用量などを一括管理する。
【0016】
GW装置10は、各ノード30と管理サーバ5との通信を集約するネットワーク装置の一例である。例えば、GW装置10は、各ノード30から定期的に送信されたセンシングデータを受信して、管理サーバ5に送信する。
【0017】
各ノード30は、無線などの通信機能を有し、水位、ガスの使用量、電気の使用量などをセンシングして、管理サーバ5に送信するセンサ装置の一例である。各ノード30は、定期的にセンシングを実行して、センシングデータを送信する。
【0018】
ここで、各ノードのセンシング例を説明する。
図2は、ノードのセンシング例を示す図である。
図2に示すように、各ノード30は、通信モジュールAと水位センサBとを有し、マンホールなどに設置される。そして、各ノード30は、GW装置10から指定された間隔で水位データを測定して、指定された帯域を使用してGW装置10に送信する。
【0019】
次に、GW装置10と各ノード30の無線通信について説明する。GW装置10と各ノード30との間では、BAN(Body Area Network)を用いて、センシングデータのやり取りが実行される。
図3は、BANのフレーム構成を説明する図である。
図3に示すように、GW装置10と各ノード30との間では、無線フレーム内でsuperframeと呼ばれる同期単位が設定されており、この同期単位内でセンシングデータの送信が実行される。GW装置10と各ノード30との間では、各superframeの開始タイミング(時刻)が共通情報として設定されている。
【0020】
具体的には、superframe内は、1つのBeacomと、複数のEAP(Exclusive Access Phase)とRAP(Random Access Phase)とMAP(Managed Accsess Pase)とから構成される。Beaconは、報知信号(報知パケット)を送信する領域である。EAPとRAPは、どのノードでも通信可能な共有領域であり、衝突の可能性があるのでCSMA(Carrier Sense Multiple Access)/CA(Collision Avoidance)方式で制御される。MAPは、帯域を割り当てられたノードのみが通信可能な領域であり、GW装置10(Hub)との接続時にノードからの要求に応じて、GW装置10がノード毎の帯域(通信タイミング)を割り当てる。すなわち、MAPの中で、ノード毎の通信帯域が固定的に割当てられる。
【0021】
一方で、各ノード30は、superframe内において、GW装置10とデータ通信を実行しない状態ではスリープ状態となり、データ通信が発生するタイミングで復帰する。具体的には、T0のsuperframe内のBeaconの開始タイミングで復帰し、その後スリープ状態に遷移した後、MAP内で自ノードに割当てられた送信タイミングになると復帰し、データ送信の完了後にスリープ状態となり、次のT1のsuperframe内のBeaconの開始タイミングで再度復帰する。
【0022】
このように、各ノード30は、データ送信を行うときだけ通常状態となり、それ以外はデータ送信などを抑制するスリープ状態となることで、電力消費を抑制する。ここで、各ノード30は、Beaconの開始タイミングよりも、装置の立ち上がり時間や処理オーバーヘッド等を考慮した上で確実に通信できるまでの時間を考慮したGTだけ早く復帰する。すなわち、各ノード30は、Beaconの開始時間t、GTが30秒である場合、tよりも30秒早く復帰する。
【0023】
一般的に、このGTには、各ノード30に用いられる全通信モジュールのクロック周波数(動作クロック)のズレを網羅できる期間を設定することになるので、結果としてスリープ状態の時間が短くなり、省電力の効果が小さい。
【0024】
そこで、実施例1では、各ノード30は、GW装置10と自ノードとの間の時刻差を用いて、GW装置10のクロック周波数と自ノードのクロック周波数との誤差であるクロック誤差を類推する。そして、各ノード30は、類推されたクロック誤差にしたがって、データ通信を行うための準備時間であるGTを決定して設定する。すなわち、各ノード30は、通信モジュール毎に違うクロック誤差の傾向を把握し、通信モジュール毎に最適なGTを動的に設定するので、省電力の効果を向上させることができる。
【0025】
[機能構成]
図4は、実施例1にかかる各装置の機能構成を示す機能ブロック図である。ここでは、GW装置10の機能構成とノード30の機能構成について説明する。
【0026】
(GW装置の構成)
図4に示すように、GW装置10は、通信部11、記憶部12、制御部20を有する。なお、記憶部12は、メモリやハードディスクなどの記憶装置の一例であり、制御部20は、プロセッサなどの一例である。
【0027】
通信部11は、各ノード30との間の通信を制御する処理部であり、例えば通信インタフェースなどである。例えば、通信部11は、各ノード30に報知信号(Beacon)を送信し、各ノード30からセンシングデータを受信する。
【0028】
記憶部12は、プログラムやデータを記憶する記憶部であり、センサ値DB13を記憶する。センサ値DB13は、ノード毎に、各ノード30から受信したセンサ値を記憶するデータベースである。例えば、センサ値DB13は、ノードを識別する識別子、ノードが測定したセンサ値、センサ値を取得した日時などを対応付けて記憶する。
【0029】
制御部20は、GW装置10全体を司る処理部であり、報知部21とデータ受信部22とを有する。なお、報知部21とデータ受信部22は、プロセッサが有する電子回路の一例やプロセッサが実行するプロセスの一例である。また、制御部20は、各ノードにデータ送信時間の割当て、すなわち上記MAP内の割当てを実行する。
【0030】
報知部21は、時刻情報を含めた報知信号を生成して、各ノード30に送信する処理部である。例えば、報知部21は、各superframeの先頭である報知信号の送信タイミングに到達すると、現在のsuperframeの先頭からの経過時間を含めた報知信号を生成する。そして、報知部21は、時刻情報として経過時間を含む報知信号を、各ノード30に送信する。
【0031】
データ受信部22は、各ノード30からセンシングデータを受信する処理部である。具体的には、データ受信部22は、MAPの時間に到達すると、各ノードに割当てた時間で、各ノードからセンシングデータを受信する。そして、データ受信部22は、受信したセンシングデータからセンサ値を取得して、センサ値DB13に格納する。なお、データ受信部22は、受信したセンシングデータを管理サーバ5に送信することもできる。
【0032】
(ノードの構成)
図4に示すように、ノード30は、通信部31、記憶部32、制御部40を有する。なお、記憶部32は、メモリやハードディスクなどの記憶装置の一例であり、制御部40は、プロセッサなどの一例である。
【0033】
通信部31は、GW装置10との間の通信を制御する処理部であり、例えば通信インタフェースなどである。例えば、通信部31は、GW装置10から報知信号を受信し、GW装置10にセンシングデータを送信する。
【0034】
記憶部32は、プログラムやデータを記憶する記憶部であり、GT値DB33と補正幅DB34を記憶する。GT値DB33は、ノードが設定するGT値を記憶するデータベースである。GT値DB33に記憶される情報は、データ通信の開始時は初期値が設定され、その後は後述する決定部46によって更新される。なお、初期値には、クロック制度の最大誤差のカタログ値を使用する。例えば、GTの初期値は、「初期値=ハードウェア起動時間+(最大クロック誤差[ppm]×スリープ設定時間)」で算出される。なお、スリープ設定時間は、スリープしている時間であり、例えばBeaconの間隔、言い換えるとsuperframeの間隔である。
【0035】
補正幅DB34は、GW装置10とノード30との間の時間誤差の補正履歴を記憶するデータベースである。
図5は、ノード30の補正幅DBに記憶される情報の例を示す図である。
図5に示すように、補正幅DB34は、「回数、時刻補正幅(msec)」を記憶する。「回数」は、補正回数を示し、「時刻補正幅」は、補正された時刻を示す。
図5の場合、1回目は6.4msec補正され、2回目は、5.6msec補正されたことを示す。
【0036】
制御部40は、ノード30の全体を司る処理部であり、センシング部41、データ処理部42、状態遷移部43、受信部44、補正部45、決定部46を有する。なお、センシング部41、データ処理部42、状態遷移部43、受信部44、補正部45、決定部46は、プロセッサが有する電子回路の一例やプロセッサが実行するプロセスの一例である。
【0037】
センシング部41は、センサを用いてセンサ値を取得する処理部である。例えば、センシング部41は、定期的にまたはデータ送信タイミングで、センサからセンサ値を取得する。そして、センシング部41は、取得したセンサ値をデータ処理部42に出力する。
【0038】
データ処理部42は、センシングデータをGW装置10に送信する処理部である。具体的には、データ処理部42は、センシングデータの送信タイミングになると、センシング部41から取得したセンサ値を含むセンシングデータを生成してGW装置10に送信する。例えば、データ処理部42は、BANのsuperframe内のMAPにおいて、自ノードの送信タイミングになると、センシングデータをGW装置10に送信する。
【0039】
状態遷移部43は、データ通信が発生しない期間はノード30をスリープさせ、データ通信が発生するタイミングで復帰させる処理部である。具体的には、状態遷移部43は、
図3に示すように、Beaconの開始タイミングで復帰させ、その後スリープ状態に遷移させた後、MAP内で自ノードに割当てられた送信タイミングになると復帰させ、データ送信の完了後にスリープ状態に遷移させて、次のBeaconの開始タイミングで再度復帰させる。なお、ここで設定されるGTは、GT値DB33に記憶されるGT値に基づいて設定される。つまり、初期段階では初期値が設定、GT値が更新されると、更新後のGT値が設定される。
【0040】
受信部44は、GW装置10から報知信号を受信する処理部である。具体的には、受信部44は、GW装置10が各superframe内のBeaconのタイミングで送信した報知信号を受信し、当該報知信号を補正部45に出力する。
【0041】
補正部45は、GW装置10とノード30との間の時刻差を算出して、時刻同期を実行する処理部である。具体的には、補正部45は、報知信号が送信された時刻と報知信号を受信した時刻との差分を時刻差として算出する。
【0042】
さらに、補正部45は、GW装置10とノード30との間の送信レートと、報知信号のデータサイズとを考慮して、報知信号を受信すると予想される理論的な受信時刻を算出する。そして、補正部45は、報知信号から予測された理論的な受信時刻と、実際に報知信号を受信した受信時刻との差分を時刻差として算出することもできる。
【0043】
ここで、BANの無線フレームで送信される報知信号に基づく時刻同期を算出する。
図6は、BANによる時刻同期を説明する図である。
図6に示すように、GW装置10は、Beaconのタイミングになると、無線フレーム(superframe)の先頭からの経過時間をペイロードに設定した報知信号をノード30に送信する。また、ノード30の補正部45は、報知信号を受信したときの受信時刻を無線フレームの先頭からの経過時間と特定する。そして、補正部45は、報知信号内の経過時間(時刻情報)+報知信号の転送時間と、受信時刻(経過時間)とを比較し、差分がある場合は、ノード30の時刻を補正する。そして、補正部45は、時刻補正幅を補正幅DB34に格納する。
【0044】
一例を挙げると、報知信号内の送信時刻(時刻情報)が50msec、通信レートが100kbps、報知信号のデータサイズを50bytes、報知信号の受信時の経過時間を60msecとして説明する。この場合、補正部45は、送信時間を考慮して「50+50bytes/100kbps=50+(50×8)/100=54ms」を算出し、GW装置10側で無線フレームの先頭から54msec後に受信が完了する予定であると計算する。しかし、補正部45は、報知信号の受信時の経過時間が60msecであったことから、60−54=6を時刻差として算出する。そして、補正部45は、自ノード30の時刻を6msec遅くするように補正する。
【0045】
決定部46は、時刻補正の補正幅を用いて、GW装置10のクロック周波数とノード30のクロック周波数の誤差であるクロック誤差を算出する処理部である。また、決定部46は、算出したクロック誤差を用いて、BT値を決定する処理部である。具体的には、決定部46は、補正部45によって補正された時刻差を用いてクロック誤差を算出することもでき、時刻同期が所定回数実行された後、補正幅DB34に記憶される最大の補正幅を用いてクロック誤差を算出することもできる。
【0046】
例えば、決定部46は、最大誤差が7msecであり、スリープ設定時間が1時間である場合、クロック誤差を「7.0msec/1時間≒2ppm」と算出する。そして、決定部46は、上記GTの算出手法を用いて、「(3600秒×2ppm)+3ms(ハードウェア起動時間)=10.5msec」をGTとして算出する。その後、決定部46は、算出したGT(10.5msec)をGT値DB33に格納する。
【0047】
[GT設定処理の流れ]
図7は、実施例1にかかるGT設定処理の流れを示すフローチャートである。
図7に示すように、ノード30の決定部46は、ノード30が初回起動すると、GTの初期値を設定する(S101)。
【0048】
その後、補正部45は、報知信号が受信されるたびに、同期処理を実行する(S102)。そして、決定部46は、規定回数以上の時刻同期が実行されると(S103:Yes)、補正幅DB34を参照して、最大補正幅を取得する(S104)。
【0049】
そして、決定部46は、最大補正幅を用いてクロック誤差を算出するとともに、クロック誤差を用いてGTを更新する(S105)。その後、ノード30は、スリープ状態となり、報知信号の待ち状態となる(S106)。なお、S103において、時刻同期が規定回数未満の場合(S103:No)、S106が実行される。
【0050】
[同期処理の流れ]
図8は、実施例1にかかる同期処理の流れを示すフローチャートである。なお、ここで実行される処理は、
図7のS102で実行される処理に該当する。
【0051】
図8に示すように、ノード30の受信部44は、報知信号を受信すると(S201)、報知信号から、対向装置の時刻情報を抽出する(S202)。続いて、補正部45は、報知信号を受信した時の自装置の時刻情報を取得し(S203)、両方の時刻情報を用いて差分を算出する(S204)。
【0052】
その後、補正部45は、算出した差分を用いて自装置の時刻を補正し(S205)、算出した差分を時刻補正幅として補正幅DB34に格納する(S206)。
【0053】
[データ送信処理の流れ]
図9は、実施例1にかかるデータ送信処理の流れを示すフローチャートである。なお、データ送信処理とGT設定処理とは、依存関係はなく独立して実行される。
【0054】
図9に示すように、ノード30の状態遷移部43は、スリープ状態からGTに到達すると(S301:Yes)、ノード30をスリープ状態から復帰させる(S302)。続いて、状態遷移部43は、報知信号が受信されると(S303:Yes)、ノード30をスリープ状態にする(S304)。
【0055】
その後、状態遷移部43は、データ送信時間になると(S305:Yes)、ノード30をスリープ状態から復帰させて通常状態に遷移させる(S306)。そして、センシング部41は、センサ値を取得し(S307)、データ処理部42は、センサ値をGW装置10に送信する(S308)。その後、状態遷移部43は、センサ値の送信が完了すると、ノード30をスリープ状態にする(S309)。
【0056】
[効果]
上述したように、各ノード30は、報知信号受信時に同期処理を実行し、同期処理実行時、時刻の補正幅を算出して蓄積しておく。そして、各ノード30は、同期処理を規定回数完了した後、蓄積している時刻補正幅の中で最大の値を選択し、対向装置とのクロック誤差を類推する。続いて、各ノード30は、類推したクロック誤差を利用してGTを初期値から更新する。
【0057】
つまり、各ノード30は、自装置のクロック周波数の誤差を求めて、自装置に適切なGTを設定することができる。このため、各ノード30に一律なGTを設定することなく、各ノード30の性能に一致したスリープ時間および復帰時間を設定することができるので、省電力の効果を向上させることができる。
【0058】
次に、一般的な省電力の効果と実施例1による省電力の効果を試算した結果を説明する。
図10は、効果試算時の前提条件を示す図である。
図10に示すように、クロック周波数は16MHz、クロック誤差の最大誤差は20ppm、スリープ時の消費電力が0.005mA、通常時の消費電力が50mA、データ送信時の消費電力が60mA、ハードウェア起動時間などのマージンが3msec、データ転送レートを100kbpsとする。
【0059】
次に、効果試算時の無線条件を説明する。
図11は、効果試算時の無線条件を示す図である。ここでは、
図3に示したBANを簡略化した無線フレームを
図11に示す。
図11に示すように、スリープ設定時間を1時間に設定し、1時間ごとに復帰とスリープとを繰り返す。また、送信対象のデータは50kbpsとし、データ転送時間は、「(50×8)/100kpbs=4ms」とする。また、GTは、マージン(3ms)+クロック誤差に基づく値となる。ここで、クロック誤差は、最大20ppmであり、実施例1で測定した実測値は2ppmとする。
【0060】
このような条件において、従来と実施例1のそれぞれについて、GTの試算結果と消費電力の試算結果とを
図12に示す。
図12は、効果試算の結果を示す図である。
図12に示すように、従来のGTは、「(3600秒×20ppm)+3msec=72msec+3msec=75msec」となる。一方で、実施例1では、「(3600秒×2ppm)+3msec=7.2msec+3msec=10.2msec」となる。したがって、実施例1の方が従来に比べて、64.8msecもスリープ時間が長い。
【0061】
また、1時間あたりの各消費電力は、スリープ時間の消費電力+通常時の消費電力+データ送信時の消費電力として算出できる。すなわち、従来の消費電力は、「((3600000−75−4)×0.005+(75×50)+(4×60))/3600=0.006108mAh」となり、実施例1の消費電力は、「((3600000−10.2−4)×0.005+(10.2×50)+(4×60))/3600≒0.005208mAh」となる。この結果、消費電流を14.7%削減でき、電池の持続時間が17.2%向上する結果を得ることができる。
【実施例2】
【0062】
実施例1では、各ノード30がGTを算出して設定する例を説明したが、これに限定されるものではなく、GW装置10が各ノード30のGTを算出することもできる。そこで、実施例2では、GW装置10が各ノード30のGTを算出して、各ノード30に通知する例を説明する。なお、システムの全体構成等は、実施例1と同様なので、詳細な説明は省略する。
【0063】
[算出手法]
まず、実施例2におけるGTの算出手法を説明する。具体的には、GW装置10はいくつかの手法を用いて処理することができる。例えば、各ノード30は、ノード30側で報知信号を用いた時刻補正を行った際の時刻補正幅を保持しておき、センサシングデータ送信と併せてGW装置10側に補正幅を通知する。GW装置10は、ノード30側の時刻補正幅を受信すると、実施例1と同様の方式で時刻補正幅の蓄積を行う。そして、GW装置10は、実施例1のノード30と同様の手法を用いて、ノード30のクロック誤差を類推してGTを算出し、算出したGTをノード30に通知する。
【0064】
別例としては、GW装置10は、GW装置10と各ノード30との間でデータ送信タイミング(帯域)が固定的に割り当てられている場合、GW装置10側のデータ受信時刻を用いて、時刻誤差を類推することもできる。具体的には、GW装置10は、ノード30毎の帯域割当(データ送信開始)時刻と送信データ長より、GW装置10側でデータの受信予定時刻を算出する。そして、GW装置10は、算出した時刻と実際の受信完了時刻の差分より、ノード30との時刻誤差を類推し、内部のテーブルに保持する。
【0065】
図13は、実施例2の時刻誤差の類推を説明する図である。
図13に示すように、GW装置10とノード30との間では、データ送信時刻が予め取り決められている。この状態で、ノード30は、予め決められた時間になると、ノード30が認識しているアップリンク用の帯域を用いてセンシングデータをGW装置10に送信する。GW装置10は、センシングデータを実際に受信したときの受信時刻と、送信時間等を用いて算出した受信予定時刻(理論値)と比較して、GW装置10とノード30との時刻差を算出する。その後、GW装置10は、時刻差からクロック誤差を算出し、クロック誤差からGTを算出して、ノード30に通知する。ノード30は、通知されたGTを設定する。
【0066】
[機能構成]
図14は、実施例2にかかる各装置の機能構成を示す機能ブロック図である。ここでは、
図13で説明した手法を説明する。
【0067】
(GW装置の構成)
図14に示すように、GW装置10は、通信部11、記憶部12、制御部20を有する。なお、通信部11および記憶部12は、実施例1と同様なので、詳細な説明を省略する。制御部20は、GW装置10全体を司る処理部であり、データ受信部23、類推部24、通知部25を有する。
【0068】
データ受信部23は、センシングデータをノード30から受信する処理部である。具体的には、データ受信部23は、ノード30が予め指定された時間になったときに送信したセンシングデータを受信する。
【0069】
類推部24は、ノード30との時刻差、ノード30とのクロック誤差を類推する処理部である。例えば、ノード30からGW装置10へのセンシングデータ送信用の帯域が、無線フレームの先頭から100msecの時刻と割り当てられており、その帯域を用いてノード30からGW装置10に対して通信レート100kbpsで50バイトのデータを送信したとする。
【0070】
この場合、類推部24は、「100+50バイト/100kbps」によって、GW装置10側で無線フレームの先頭から104msec後に受信が完了する予定であると計算する。しかし、類推部24は、実際のデータ受信完了時刻が無線フレームの先頭から109msecであった場合、109−104=5msecがGW装置10とノード30とのの時刻誤差であると類推する。
【0071】
さらに、類推部24は、クロック誤差として、「時刻差/スリープ設定時間=5.0msec/1時間≒1ppm」を算出する。この結果、類推部24は、「GTの初期値=ハードウェア起動時間+(最大クロック誤差[ppm]×スリープ設定時間)」を用いて、「3ms(ハードウェア起動時間)+(3600秒×1ppm)=6.6msec」をGTとして算出する。そして、類推部24は、算出結果「GT=6.6msec」を通知部25に出力する。
【0072】
通知部25は、類推部24によって決定されたGTの値を該当するノード30に送信する処理部である。例えば、通知部25は、算出結果「GT=6.6msec」をノード30に送信して、ノード30にGTの更新を指示する。
【0073】
(ノードの構成)
図14に示すように、ノード30は、通信部31、記憶部32、制御部40を有する。なお、通信部31および記憶部32は、実施例1と同様なので、詳細な説明を省略する。制御部40は、ノード30全体を司る処理部であり、センシング部41、データ処理部42、状態遷移部43、GT補正部47を有する。このうち、ここでは、実施例1とは異なる処理を実行するデータ処理部42とGT補正部47について説明する。
【0074】
データ処理部42は、予め指定した時間になると、時刻情報を含めたセンシングデータを生成して、GW装置10に送信する処理部である。例えば、データ処理部42は、各superframeにおいて、送信タイミングに到達すると、現在のsuperframeの先頭からの経過時間およびセンサ値を含めたセンシングデータを生成する。そして、データ処理部42は、センシングデータを、GW装置10に送信する。
【0075】
GT補正部47は、GTの初期設定および更新を実行する処理部である。例えば、GT補正部47は、ノード30の初回起動時はGT値DB33に初期値を設定する。なお、初期値は、実施例1と同様の手法で算出することができる。そして、GT補正部47は、GW装置10からGT値を受信すると、受信したGT値でGT値DB33に記憶される値を更新する。
【0076】
[フレーム構成]
図15は、実施例2におけるBANのフレーム構成を説明する図である。上述した手法により、各ノード30は、報知信号も使用しない状態で、自装置のデータ送信タイミングを認識していることから、MAPで割り与えられたデータ送信の直前に復帰することができる。このとき、
図15示すように、ノード30は、データ送信の開始時刻よりも、GW装置10から通知されたGT時間分だけ前に復帰する。この結果、スリープ状態をより長くすることができる。
【0077】
[データ送信処理]
図16は、実施例2にかかるデータ送信処理の流れを示すフローチャートである。
図16に示すように、ノード30の状態遷移部43は、スリープ状態からGTに到達すると(S401:Yes)、ノード30をスリープ状態から復帰させる(S402)。
【0078】
続いて、センシング部41は、センサ値を取得し(S403)、データ処理部42は、時刻情報およびセンサ値を含むセンシングデータをGW装置10に送信する(S404)。その後、状態遷移部43は、センシングデータの送信が完了すると、ノード30をスリープ状態にする(S405)。
【0079】
[GT算出処理]
図17は、実施例2にかかるGT算出処理の流れを示すフローチャートである。
図17に示すように、GW装置10の類推部24は、データ受信部23によってセンシングデータを受信すると(S501:Yes)、受信時刻を特定する(S502)。
【0080】
続いて、類推部24は、センシングデータに含まれる時刻情報等を用いて、受信予定時刻(理論値)を算出し(S503)、受信時刻と理論値との差分を用いてクロック誤差を類推し(S504)、類推結果を用いてGTを算出する(S505)。そして、通知部25は、算出したGTの値をノード30に通知する(S506)。
【0081】
[効果]
図15に示したように、各ノード30は、MAPで割り与えられたデータ送信の開始時刻よりも、GW装置10から通知されたGT時間分だけ前に復帰することができるので、スリープ状態をより長くすることができ、消費電力をより削減することができる。
【実施例3】
【0082】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下に異なる実施例を説明する。
【0083】
[通信手法]
上記実施例1−2では、無線通信を例にして説明したが、これに限定されるものではなく、各種有線による通信であっても同様に処理することができる。また、実施例1では、superframeで通常状態に遷移した後、データ送信時までスリープ状態に再度遷移する例を説明したが、これに限定されるものではない。例えば、ノード30は、superframeで通常状態に遷移した後、データ送信時まで通常状態を維持し、データ送信完了後から次のsuperframeまでスリープ状態になるように制御することもできる。
【0084】
[ノード単位]
上記実施例1−2で説明した処理は、各ノード単位で実行することができる。また、定期的に実行することで、内蔵する電子回路の経年劣化に追従して、GTを更新することができる。また、実施例1と2は、矛盾のない範囲内で適宜組み合わせることができる。
【0085】
[システム]
記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【0086】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【0087】
[GW装置10のハードウェア構成]
図18は、GW装置10のハードウェア構成例を示す図である。
図18に示すように、GW装置10は、通信インタフェース10a、HDD(Hard Disk Drive)10b、メモリ10c、プロセッサ10dを有する。
【0088】
通信インタフェース10aは、他の装置の通信を制御するネットワークインタフェースカードや無線インタフェースなどである。HDD10bは、プログラムやデータなどを記憶する記憶装置の一例である。
【0089】
メモリ10cの一例としては、SDRAM(Synchronous Dynamic Random Access Memory)等のRAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ等が挙げられる。プロセッサ10dの一例としては、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)、PLD(Programmable Logic Device)等が挙げられる。
【0090】
また、GW装置10は、プログラムを読み出して実行することで通信方法を実行する情報処理装置として動作する。つまり、GW装置10は、報知部21とデータ受信部22と同様の機能を実行するプログラムやデータ受信部23、類推部24、通知部25と同様の機能を実行するプログラムを実行する。この結果、GW装置10は、報知部21、データ受信部22、データ受信部23、類推部24、通知部25と同様の機能を実行するプロセスを実行することができる。なお、この他の実施例でいうプログラムは、GW装置10によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
【0091】
このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD−ROM、MO(Magneto−Optical disk)、DVD(Digital Versatile Disc)などのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することができる。
【0092】
[ノード30のハードウェア構成]
図19は、ノード30のハードウェア構成例を示す図である。
図19に示すように、ノード30は、無線部30a、センサ30c、HDD30d、メモリ30e、プロセッサ30fを有する。
【0093】
無線部30aは、アンテナ30bを介して、他の装置の通信を制御する無線インタフェースなどである。センサ30cは、水位などを測定するセンサ装置である。HDD30dは、プログラムやデータなどを記憶する記憶装置の一例である。
【0094】
メモリ30eの一例としては、SDRAM等のRAM、ROM、フラッシュメモリ等が挙げられる。プロセッサ30fの一例としては、MCUやCPU等が挙げられる。
【0095】
また、ノード30は、プログラムを読み出して実行することで通信方法を実行する情報処理装置として動作する。つまり、ノード30は、センシング部41、データ処理部42、状態遷移部43、受信部44、補正部45、決定部46、GT補正部47と同様の機能を実行するプログラムを実行する。この結果、ノード30は、データ処理部42、状態遷移部43、受信部44、補正部45、決定部46、GT補正部47と同様の機能を実行するプロセスを実行することができる。なお、この他の実施例でいうプログラムは、ノード30によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
【0096】
このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することができる。