(57)【要約】  サーバ（１０）においてプロセッサは、センサノード（５０−１〜５）のうちの対象中継ノードであるセンサノード（５０−１）の第１の蓄電速度が負の場合、センサノード（５０−１）を非中継動作状態にしたときに蓄電目標値に到達するまでに掛かる第１の推定時間を算出する。そして、プロセッサは、算出した第１の推定時間の長さに応じて、センサノード（５０−１）の状態を非中継動作状態又は休止状態に変更させ、非中継動作状態にある他ノードの状態を中継動作状態に変更させる。
2016113884.tif 000002
【特許請求の範囲】
【請求項１】
各ノードが環境発電部と無線部とを有するノード群を含む無線ネットワークにおけるマルチホップ通信経路を制御する制御装置であって、
メモリと、
前記メモリに接続されたプロセッサと、
を具備し、
前記プロセッサは、
前記ノード群のうちの対象中継ノードの第１の蓄電速度が負の場合、前記対象中継ノードを非中継動作状態にしたときに蓄電目標値に到達するまでに掛かる第１の推定時間を算出し、
前記算出した第１の推定時間の長さに応じて、前記対象中継ノードの状態を前記非中継動作状態又は休止状態に変更させ、前記非中継動作状態にある他ノードの状態を中継動作状態に変更させる、
ことを特徴とする制御装置。
【請求項２】
前記プロセッサは、
前記対象中継ノードにおける複数の期間にそれぞれ対応する複数の第１の蓄電速度、及び、前記対象中継ノードにおける前記複数の期間にそれぞれ対応する複数の発電速度を取得し、
前記複数の期間のうちの対象期間で取得した発電速度に基づいて、前記対象中継ノードを前記非中継動作状態にしたときの第２の蓄電速度を算出し、
前記蓄電目標値と前記対象中継ノードの前記対象期間時の蓄電量との乖離値を前記算出した第２の蓄電速度で除算した除算結果に基づいて、第２の推定時間を算出し、
前記算出した第２の推定時間に対して、前記対象期間で取得した発電速度の尤度に応じた重み係数を乗算することにより、前記第１の推定時間を算出する、
ことを特徴とする請求項１に記載の制御装置。
【請求項３】
前記プロセッサは、
前記対象期間までに取得した複数の発電速度の分散が所定値より大きい場合、前記算出した第２の推定時間に対して、前記対象期間で取得した発電速度の尤度に応じた重み係数を乗算することにより、前記第１の推定時間を算出する、
ことを特徴とする請求項２に記載の制御装置。
【請求項４】
前記プロセッサは、
前記対象期間までに取得した複数の発電速度の分散が前記所定値より大きいと判定される時間間隔を算出し、
前記算出した第１の推定時間が前記算出した時間間隔よりも大きい場合、前記対象中継ノードを前記休止状態にし、前記算出した第１の推定時間が前記算出した時間間隔以下の場合、前記対象中継ノードを前記非中継動作状態にする、
ことを特徴とする請求項３に記載の制御装置。
【請求項５】
各ノードが環境発電部と無線部とを有するノード群を含む無線ネットワークにおけるマルチホップ通信経路を制御する制御方法であって、
前記ノード群のうちの対象中継ノードの第１の蓄電速度が負の場合、前記対象中継ノードを非中継動作状態にしたときに蓄電目標値に到達するまでに掛かる第１の推定時間を算出し、
前記算出した第１の推定時間の長さに応じて、前記対象中継ノードの状態を前記非中継動作状態又は休止状態に変更させ、前記非中継動作状態にある他ノードの状態を中継動作状態に変更させる、
ことを特徴とする制御方法。
【請求項６】
各ノードが環境発電部と無線部とを有するノード群を含む無線ネットワークにおけるマルチホップ通信経路を制御する制御装置に、
前記ノード群のうちの対象中継ノードの第１の蓄電速度が負の場合、前記対象中継ノードを非中継動作状態にしたときに蓄電目標値に到達するまでに掛かる第１の推定時間を算出し、
前記算出した第１の推定時間の長さに応じて、前記対象中継ノードの状態を前記非中継動作状態又は休止状態に変更させ、前記非中継動作状態にある他ノードの状態を中継動作状態に変更させる、
処理を実行させる、ことを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、制御方法、及び制御プログラムに関する。
【背景技術】
【０００２】
近年、無線通信部とセンサとを有するセンサノードを観測エリアに配置してセンシング情報を「収集周期（つまり、センシング値のサンプル周期）」で収集する「無線センサネットワーク」が提案されている。例えば、無線センサネットワークの各センサノードは、環境エネルギー（例えば、太陽光、振動等）を電気エネルギーに変換して発電する環境発電部と環境発電部によって発電された電気を蓄電するバッテリとを有している。そして、各センサノードは、バッテリに蓄電された電気を用いて動作する。【０００３】
また、無線センサネットワークの各センサノードで測定されたセンシング値は、ゲートウェイ装置を介して「制御装置（つまり、ネットワーク装置）」へ報告される。ここで、無線センサネットワークは、例えば、ツリー型のトポロジーを有する。すなわち、無線センサネットワークには、他のセンサノードで測定されたセンシング値の伝送を中継する「中継動作状態」にあるセンサノード（つまり、「中継ノード」）と、「非中継動作状態」にあるセンサノード（つまり、「エンドノード」）とが含まれる。各センサノードで測定されたセンシング値は、各センサノードから直接又は１つ以上の中継ノードを介してゲートウェイ装置へ伝送される。すなわち、無線センサネットワークは、「マルチホップ通信経路」を有している。【０００４】
ところで、中継ノードは、自身のセンシング値の送信と、配下に在るエンドノードのセンシング値の転送（つまり、受信及び送信）とを行うので、エンドノードに比べて、１収集周期における「電力消費速度（電力消費量）」が大きい。このため、中継ノードのバッテリにおける「蓄電量」が不足し、中継ノードが安定的に動作できない状態が生じる可能性がある。すなわち、マルチホップ通信経路が不安定化する可能性がある。【０００５】
そこで、従来、各センサノードにおける将来の蓄電量を予め用意した「予測モデル（目的関数）」に基づいて予測し、予測蓄電量に基づいてマルチホップ通信経路を選択する技術が提案されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−２１１３８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、バッテリ（例えば、リチウム電池等の二次電池）の電気的特性は、バッテリ間（つまり、個体間）でばらつきが大きい。すなわち、バッテリの電気的特性として、或るタイミングまで起電力が一定と見なすことができるが、或るタイミングを過ぎると起電力が急激に低下（ドロップ）する、特性がある。そして、このドロップタイミング及びドロップの仕方等には、バッテリ間でばらつきがある。また、バッテリの電気的特性は、気温等の外部環境の影響を受けて変動する。このため、予測モデル自体を予め用意することは難しい。【０００８】
また、マルチホップ通信経路を安定化させるために、中継ノードが安定的に動作できない「危険レベル」に中継ノードの蓄電量が達する前に、中継ノードの状態を「非中継動作状態」に変更する、つまり、中継ノードをエンドノードに変更する、ことが考えられる。【０００９】
しかしながら、上記の通り、このドロップタイミング及びドロップの仕方等には、バッテリ間でばらつきがある。また、バッテリの電気的特性は、気温等の外部環境の影響を受けて変動する。このため、上記の「危険レベル」を予め設定することは難しい。【００１０】
開示の技術は、上記に鑑みてなされたものであって、無線センサネットワークにおけるマルチホップ通信経路を安定化させることができる、制御装置、制御方法、及び制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
開示の態様では、制御装置は、各ノードが環境発電部と無線部とを有するノード群を含む無線ネットワークにおけるマルチホップ通信経路を制御する。前記制御装置は、メモリと、前記メモリに接続されたプロセッサとを具備する。前記プロセッサは、前記ノード群のうちの対象中継ノードの第１の蓄電速度が負の場合、前記対象中継ノードを非中継動作状態にしたときに蓄電目標値に到達するまでに掛かる第１の推定時間を算出し、前記算出した第１の推定時間の長さに応じて、前記対象中継ノードの状態を前記非中継動作状態又は休止状態に変更させ、前記非中継動作状態にある他ノードの状態を中継動作状態に変更させる。
【発明の効果】
【００１２】
開示の態様によれば、無線センサネットワークにおけるマルチホップ通信経路を安定化させることができる。
【図面の簡単な説明】
【００１３】
【図１】図１は、一実施例の無線センサネットワークシステムの一例を示す図である。
【図２】図２は、一実施例のセンサノードの一例を示すブロック図である。
【図３】図３は、一実施例のサーバの一例を示すブロック図である。
【図４】図４は、一実施例のサーバの処理動作の一例を示すフローチャートである。
【図５】図５は、第１の蓄電速度と、消費電力量と、発電速度との関係の説明に供する図である。
【図６】図６は、第１の蓄電速度と、消費電力量と、発電速度との関係の説明に供する図である。
【図７】図７は、発電速度サンプルテーブルの一例を示す図である。
【図８】図８は、発電速度の分布の一例を示す図である。
【図９】図９は、第２の推定時間の説明に供する図である。
【図１０】図１０は、一実施例のサーバの処理動作の説明に供する図である。
【図１１】図１１は、一実施例のサーバの処理動作の説明に供する図である。
【図１２】図１２は、一実施例のサーバの処理動作の説明に供する図である。
【図１３】図１３は、一実施例のサーバの処理動作の説明に供する図である。
【発明を実施するための形態】
【００１４】
以下に、本願の開示する制御装置、制御方法、及び制御プログラムの実施形態を図面に基づいて詳細に説明する。なお、この実施形態により本願の開示する制御装置、制御方法、及び制御プログラムが限定されるものではない。また、実施形態において同一の機能を有する構成には同一の符号を付し、重複する説明は省略される。
【００１５】
［無線センサネットワークシステムの概要］
図１は、一実施例の無線センサネットワークシステムの一例を示す図である。図１において、無線センサネットワークシステム１は、制御装置としてのサーバ１０と、サーバ１０と有線で直接的又は間接的に接続されるゲートウェイ（ＧＷ）３０と、センサノード５０−１〜５とを有する。以下では、センサノード５０−１〜５を特に区別しない場合、総称して「センサノード５０」と呼ぶことがある。ここでは、ゲートウェイ３０及びセンサノード５０の数をそれぞれ１つ及び５つとしているが、これに限定されるものではない。
【００１６】
図１に示す無線センサネットワークシステム１におけるトポロジーは、「ネットワーク構成手順」に従ってネットワークを構成した結果の一例である。「ネットワーク構成手順」は、次の通りである。
【００１７】
第１に、各センサノード５０は「ビーコン」を送信する。
【００１８】
第２に、ゲートウェイ３０は、ビーコンを受信すると当該ビーコンの送信元のセンサノード５０に対して「リンク形成信号」を送信する。「リンク形成信号」は、当該信号の送信先のセンサノード５０との間で無線リンクを形成するための信号である。これにより、図１の例では、ゲートウェイ３０とセンサノード５０−１〜３のそれぞれとの間に無線リンクが形成されている。
【００１９】
第３に、他のノード（ここではゲートウェイ３０）と無線リンクを形成したセンサノード５０（ここではセンサノード５０−１〜３）は、他のノードと無線リンクを形成できていないセンサノード５０からビーコンを受信すると、当該ビーコンの送信元のセンサノード５０に対してリンク形成信号を送信する。これにより、図１の例では、センサノード５０−１とセンサノード５０−４，５のそれぞれとの間に無線リンクが張られている。
【００２０】
こうして、ゲートウェイ３０の直接的な配下にセンサノード５０−１〜３が存在し、センサノード５０−１の直接的な配下にセンサノード５０−４，５が存在する「トポロジー」が形成される。すなわち、ゲートウェイ３０をレイヤ０とすると、センサノード５０−１〜３はレイヤ１であり、センサノード５０−４，５はセンサノード５０−１の配下にあるレイヤ２となる。このトポロジーの無線センサネットワークシステム１では、センサノード５０−１は、「中継動作状態」にあり、センサノード５０−２，３，４，５のそれぞれは「非中継動作状態」にある。すなわち、このトポロジーの無線センサネットワークシステム１では、センサノード５０−１は中継ノード５０であり、センサノード５０−２，３，４，５のそれぞれはエンドノード５０である。
【００２１】
また、各センサノード５０は、「センシング値報告周期」毎に、センシング値をゲートウェイ３０を介してサーバ１０へ送信する。以下では、「センシング値報告周期」を「第２の報告周期」と呼び、「センシング値報告周期」の１周期に対応する期間を「第２の期間」と呼ぶことがある。センサノード５０−１〜３のそれぞれから送信されたセンシング値は、ゲートウェイ３０へ直接的に伝送される。一方、センサノード５０−４，５のそれぞれから送信されたセンシング値は、センサノード５０−１（つまり、中継ノード５０）を介してゲートウェイ３０へ伝送される。
【００２２】
また、各センサノード５０は、例えばネットワーク構築時に、各センサノード５０が「非中継動作状態」である場合（つまりエンドノード５０である場合）の上記センシング値報告周期毎の「消費電力量Ｅｅ」をサーバ１０へ報告する。ここで、「消費電力量Ｅｅ」は、各センサノード５０が自身で測定したセンシング値を送信するのに要する電力量である。また、センサノード５０−１〜５のうち対象中継ノード５０（ここでは、センサノード５０−１）は、「中継動作状態」である場合（つまり中継ノード５０である場合）の上記センシング値報告周期毎の「消費電力量Ｅｒ」をサーバ１０へ報告する。ここで、「消費電力量Ｅｒ」は、対象中継ノード５０が自身で測定したセンシング値を送信するのに要する電力量と、対象中継ノード５０の配下に存在する各エンドノード５０で測定されたセンシング値を転送するのに要する電力量との総和である。すなわち、図１の例では、センサノード５０−１の消費電力量Ｅｒは、センサノード５０−１で測定したセンシング値を１回送信するのに要する電力量と、センサノード５０−４で測定したセンシング値を１回受信及び送信するのに要する電力量と、センサノード５０−５で測定したセンシング値を１回受信及び送信するのに要する電力量との総和である。従って、対象中継ノード５０の消費電力量Ｅｒは、配下に存在するエンドノード５０の数の増加に伴い大きくなる。
【００２３】
また、センサノード５０−１〜５のうち対象中継ノード５０（ここでは、センサノード５０−１）は、「蓄電量報告周期」毎にその時点でバッテリに残っている「蓄電量Ｅ（ｎ）」をサーバ１０へ報告する。以下では、「蓄電量報告周期」を「第１の報告周期」と呼び、「蓄電量報告周期」の１周期に対応する期間を「第１の期間」と呼ぶことがある。また、以下では、上記の「第１の期間」と「第２の期間」とが一致するものとして説明する。
【００２４】
一方、サーバ１０は、対象中継ノード５０（ここでは、センサノード５０−１）の「蓄電速度δ（以下では、「第１の蓄電速度δ（ｎ）」と呼ぶことがある）」を算出する。すなわち、「第１の蓄電速度」は、対象中継ノード５０が中継動作状態のときの蓄電速度であり、次の式（１）によって算出される。
δ（ｎ）＝Ｅ（ｎ）−Ｅ（ｎ−１）  ・・・（１）
ここで、Ｅ（ｎ）は、ｎ番目の第１の期間で報告された蓄電量であり、Ｅ（ｎ−１）は、ｎ−１番目の第１の期間で報告された蓄電量である。すなわち、第１の蓄電速度δ（ｎ）は、ｎ番目の第１の期間に対応する蓄電速度である。
【００２５】
そして、サーバ１０は、対象中継ノード５０の第１の蓄電速度δが負である場合、対象中継ノード５０を非中継動作状態にしたときに「蓄電目標値」に到達するまでに掛かる「第１の推定時間Ｔ」を算出する。「蓄電目標値」は、例えば、対象中継ノード５０のバッテリにフルに充電したときの蓄電量（つまり、フル蓄電量Ｅｍａｘ）である。以下では、「蓄電目標値」がフル蓄電量Ｅｍａｘであるものとして説明する。各センサノード５０は、このフル蓄電量Ｅｍａｘを、上記の消費電力量Ｅｒと同様に、サーバ１０へ報告している。
【００２６】
そして、サーバ１０は、算出した第１の推定時間の長さに応じて、対象中継ノード５０の状態を非中継動作状態又は「休止（休眠）状態」に変更させ、非中継動作状態にある他のセンサノード５０（ここでは、センサノード５０−２，３，４，５の少なくとも１つ）の状態を中継動作状態に変更させる。ここで、「休止状態」とは、例えば、中継ノードとしてもエンドノードとしても動作せず、発電及び蓄電に特化した状態である。
【００２７】
以上のように、サーバ１０は、対象中継ノード５０の第１の蓄電速度δが負である場合、対象中継ノード５０の役割（つまり、状態）を変更させ、非中継動作状態にある他のセンサノード５０の状態を中継動作状態に変更させる。これにより、電力不足に陥る可能性の高い中継ノード５０の役割を電力不足に陥る前に変更できるので、無線センサネットワークシステム１のマルチホップ通信経路を安定化させることができる。
【００２８】
また、サーバ１０は、算出した第１の推定時間の長さが「所定時間長」より大きい場合、対象中継ノード５０の状態を休止状態に変更させ、算出した第１の推定時間の長さが「所定時間長」以下の場合、対象中継ノード５０の状態を非中継動作状態に変更させる。これにより、非中継動作状態としても蓄電目標値に到達するまでの時間が長いと推定される対象中継ノード５０を発電及び蓄電に特化させるので、対象中継ノード５０を電力良好状態に早期に復帰させることができる。この結果として、対象中継ノード５０をマルチホップネットワークへの復帰後にマルチホップ通信経路の安定化に寄与させることができる。
【００２９】
［センサノードの構成例］
図２は、一実施例のセンサノードの一例を示すブロック図である。図２において、センサノード５０は、環境発電部５１と、バッテリ５２と、センサ５３と、プロセッサ５４と、無線部５５と、アンテナ５６と、メモリ５７とを有する。プロセッサ５４の一例としては、ＣＰＵ、ＤＳＰ（Digital  Signal  Processor）、ＦＰＧＡ（Field  Programmable  Gate  Array）等が挙げられる。また、メモリ５７の一例としては、ＳＤＲＡＭ（Synchronous  Dynamic  Random  Access  Memory）等のＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ等が挙げられる。プロセッサ５４によって実行される各種処理機能は、当該各種処理機能に対応するプログラムがメモリ５７に記録され、各プログラムがプロセッサ５４で実行されることによって実現される。
【００３０】
環境発電部５１は、環境エネルギー（例えば、太陽光、振動等）を利用して発電し、発電した電気をバッテリ５２へ出力する。
【００３１】
バッテリ５２は、環境発電部５１で発電した電気を蓄電し、蓄電した電気をプロセッサ５４及び無線部５５へ供給する。
【００３２】
センサ５３は、測定したセンシング値をプロセッサ５４へ出力する。
【００３３】
プロセッサ５４は、「ビーコン」を生成し、生成したビーコンを所定周期で無線部５５及びアンテナ５６を介して送信する。
【００３４】
また、プロセッサ５４は、センサ５３から受け取ったセンシング値を、「センシング値報告周期」毎に無線部５５及びアンテナ５６を介して送信する。
【００３５】
また、プロセッサ５４は、自装置と他のセンサノード５０との間の「通信品質（ＬＱＩ：Link  Quality  Indicator）」を測定する。そして、プロセッサ５４は、他のセンサノード５０の識別情報（つまり、自装置の周辺に位置する他のセンサノード５０である周辺ノードの識別情報）及び測定した通信品質を、無線部５５及びアンテナ５６を介して送信する。この周辺ノードの識別情報及び通信品質は、中継ノード５０又はゲートウェイ３０を介してサーバ１０へ報告される。なお、通信品質（ＬＱＩ）は、「蓄電量Ｅ（ｎ）」と同じ周期で報告されてもよい。また、通信品質（ＬＱＩ）は、所定レベル（例えば、２０［ｄＢ］以上）の場合にのみ報告されてもよい。
【００３６】
また、プロセッサ５４は、例えばネットワーク構築時に、上記の「消費電力量Ｅｅ」を無線部５５及びアンテナ５６を介して送信する。
【００３７】
また、プロセッサ５４は、例えばネットワーク構築時に、自装置が中継動作状態にある場合、上記の「消費電力量Ｅｒ」を無線部５５及びアンテナ５６を介して送信する。
【００３８】
また、プロセッサ５４は、「蓄電量報告周期」毎にその時点でバッテリに残っている「蓄電量Ｅ（ｎ）」を無線部５５及びアンテナ５６を介して送信する。
【００３９】
無線部５５は、プロセッサ５４から受け取った信号に対して無線送信処理（デジタルアナログ変換、アップコンバート等）を施して、得られた無線信号をアンテナ５６を介して送信する。また、無線部５５は、アンテナ５６を介して受信した無線信号に対して無線受信処理（ダウンコンバート、アナログデジタル変換等）を施して、得られた受信信号をプロセッサ５４へ出力する。
【００４０】
［サーバの構成例］
図３は、一実施例のサーバの一例を示すブロック図である。図３において、サーバ１０は、インタフェース部１１と、プロセッサ１２と、メモリ１３とを有する。プロセッサ１２の一例としては、ＣＰＵ、ＤＳＰ（Digital  Signal  Processor）、ＦＰＧＡ（Field  Programmable  Gate  Array）等が挙げられる。また、メモリ１３の一例としては、ＳＤＲＡＭ（Synchronous  Dynamic  Random  Access  Memory）等のＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ等が挙げられる。プロセッサ１２によって実行される各種処理機能は、当該各種処理機能に対応するプログラムがメモリ１３に記録され、各プログラムがプロセッサ１２で実行されることによって実現される。
【００４１】
インタフェース部１１は、ゲートウェイ３０と直接的又は間接的に有線で通信するインタフェースである。インタフェース（ＩＦ）部１１は、センサノード５０から送信され各種情報をゲートウェイ３０を介して受信してプロセッサ１２へ出力する。
【００４２】
プロセッサ１２は、センサノード５０から送信された各種情報をＩＦ部１１を介して受信し、受信した各種情報をメモリ１３に記憶させる。
【００４３】
また、プロセッサ１２は、各中継ノード５０から送信された、ｎ番目の第１の期間の蓄電量Ｅ（ｎ）と、その前のｎ−１番目の第１の期間の蓄電量Ｅ（ｎ−１）とに基づいて、上記の式（１）を用いて、第１の蓄電速度δ（ｎ）を算出する。
【００４４】
また、プロセッサ１２は、第１の蓄電速度δが負である場合、対象中継ノード５０の「発電速度ｈ（ｎ）」を次の式（２）を用いて算出する。なお、プロセッサ１２は、算出した発電速度ｈ（ｎ）は、メモリ１３に記憶させておく。また、このとき、プロセッサ１２は、算出した発電速度ｈ（ｎ）と、当該発電速度ｈ（ｎ）に対応する第１の期間の種別情報（例えば、時間帯（朝、昼、夜等）、季節（春、夏、秋、冬）等）とを対応付けてメモリ１３に記憶させてもよい。
ｈ（ｎ）＝Ｅｒ＋δ（ｎ）  ・・・（２）
【００４５】
また、プロセッサ１２は、対象中継ノード５０を非中継動作状態にしたときの蓄電速度δ’（ｎ）（以下では、「第２の蓄電速度δ’（ｎ）」と呼ぶことがある）を、次の式（３）を用いて算出する。
δ’（ｎ）＝ｈ（ｎ）−Ｅｅ  ・・・（３）
ここで、ｈ（ｎ）は、上記の式（２）を用いて算出された結果である。
【００４６】
また、プロセッサ１２は、次の式（４）を用いて、対象中継ノード５０を非中継動作状態にしたときに蓄電目標値に到達するまでに掛かる「第２の推定時間Ｔ’」を算出する。
Ｔ’＝（Ｅｍａｘ―Ｅ（ｎ））÷δ’×（第１の期間の時間長）  ・・・（４）
【００４７】
また、プロセッサ１２は、複数の第１の期間にそれぞれ対応し且つメモリ１３に記憶しておいた複数の第１の蓄電速度δの「分散値σ」を算出する。なお、「分散値σ」の算出に用いる第１の蓄電速度δは、当該第１の蓄電速度δの算出に用いた発電速度ｈ（ｎ）の種別情報を共通するものに限定されてもよい。
【００４８】
そして、プロセッサ１２は、算出した分散値σが「第１閾値」より大きい場合には、ｎ番目の第１の期間に対応する発電速度ｈ（ｎ）の「尤度」に応じた「重み係数」を、「第２の推定時間Ｔ’」に対して乗算することにより、上記の「第１の推定時間Ｔ」を算出する。ここで、発電速度ｈ（ｎ）の「尤度」は、発電速度ｈ（ｎ）の値の確からしさを示す指標である。すなわち、発電速度ｈ（ｎ）の「尤度」は、例えば、ｎ番目の第１の期間で取得した発電速度ｈ（ｎ）がｎ番目の第１の期間までに取得した複数の発電速度ｈにおいて生じる確率である。「重み係数」の値は、発電速度ｈ（ｎ）の「尤度」が大きいほど小さくされる。なお、「尤度」の算出に用いる発電速度ｈ（ｎ）は、種別情報を共通するものに限定されてもよい。ここで、プロセッサ１２は、算出した分散値σが「第１閾値」以下である場合には、特に処理を行わず、次のｎ＋１番目の第１の期間の蓄電量Ｅ（ｎ＋１）が送られてくるのを待ち、蓄電量Ｅ（ｎ＋１）を受け取ると、上記の式（２）を用いてｈ（ｎ＋１）を算出することになる。
【００４９】
また、プロセッサ１２は、算出した分散値σが「第１閾値」より大きいと判定したタイミングをメモリ１３に記憶させておき、タイミング間の「時間間隔（つまり、タイムスタンプ間隔）」を算出する。
【００５０】
そして、プロセッサ１２は、算出した分散値σが「第１閾値」より大きい場合には、「第２の推定時間Ｔ’」に対して「重み係数」を乗算して得られた「第１の推定時間Ｔ」が上記の「時間間隔」よりも大きいか否かを判定する。そして、プロセッサ１２は、「第１の推定時間Ｔ」が「時間間隔」よりも大きい場合、対象中継ノード５０を非中継動作状態とし、「第１の推定時間Ｔ」が「時間間隔」以下の場合、対象中継ノード５０を休止状態とする制御を実行する。すなわち、プロセッサ１２は、対象中継ノード５０の状態を休止状態とする「第１命令信号」を生成し、生成した第１命令信号を対象中継ノード５０宛てに送信する。また、プロセッサ１２は、他のセンサノード５０を中継動作状態とする「ネットワーク再構築制御」を実行する。ここで、プロセッサ１２は、中継動作状態に変更する他のセンサノード５０として、対象中継ノード５０の周辺に位置するエンドノード５０の中で通信品質（ＬＱＩ）が最も高いエンドノード５０を選択する。そして、プロセッサ１２は、選択したエンドノード５０の状態を中継動作状態にする「第２命令信号」を生成し、生成した第２命令信号をそのエンドノード５０宛てに送信する。なお、中継動作状態に変更する他のセンサノード５０を選択する基準として、通信品質（ＬＱＩ）及び蓄電量の両方を用いてもよい。
【００５１】
メモリ１３は、センサノード５０から送信された各種情報、及び、プロセッサ１２で算出された各種情報を記憶する。
【００５２】
例えば、メモリ１３は、送信元の各センサノード５０から送信された、周辺ノードの識別情報及び通信品質（ＬＱＩ）を、送信元の識別情報と対応付けて記憶する。
【００５３】
また、メモリ１３は、送信元の各センサノード５０から送信された「消費電力量Ｅｅ」を、送信元の識別情報と対応付けて記憶する。
【００５４】
また、メモリ１３は、送信元の中継ノード５０から送信された「消費電力量Ｅｒ」を、送信元の識別情報と対応付けて記憶する。
【００５５】
また、メモリ１３は、送信元の中継ノード５０から蓄電量報告周期毎に送信された、蓄電量Ｅ（ｎ）を、送信元の識別情報と対応付けて記憶する。
【００５６】
また、メモリ１３は、プロセッサ１２によって各第１の期間について上記式（２）を用いて算出された発電速度ｈ（ｎ）を記憶する。なお、上記の通り、メモリ１３は、プロセッサ１２によって各第１の期間について上記式（２）を用いて算出された発電速度ｈ（ｎ）と、各第１の期間の種別情報（例えば、時間帯（朝、昼、夜等）、季節（春、夏、秋、冬）等）とを対応付けて記憶してもよい。
【００５７】
［無線センサネットワークシステムの動作例］
以上の構成を有する無線センサネットワークシステム１の処理動作の一例について説明する。ここでは、特に、サーバ１０の処理動作の一例について説明する。図４は、一実施例のサーバの処理動作の一例を示すフローチャートである。なお、図４のフローチャートは、各対象中継ノード５０について実行される。
【００５８】
サーバ１０においてプロセッサ１２は、対象中継ノード５０について、直近の第１の期間、つまりｎ番目の第１の期間に対応する第１の蓄電速度δ（ｎ）を、上記の式（１）を用いて算出する（ステップＳ１０１）。
【００５９】
プロセッサ１２は、ｎ番目の第１の期間に対応する発電速度ｈ（ｎ）を、上記の式（２）を用いて算出し、メモリ１３に記憶する（ステップＳ１０２）。
【００６０】
ここで、第１の蓄電速度δ（ｎ）と、消費電力量Ｅｒと、発電速度ｈ（ｎ）との関係について、図５及び図６を参照して説明する。図５及び図６は、第１の蓄電速度と、消費電力量と、発電速度との関係の説明に供する図である。
【００６１】
図５に示すように、第１の蓄電速度δ（ｎ）は、式（１）で表される通り、ｎ番目の第１の期間の蓄電量Ｅ（ｎ）からｎ−１番目の第１の期間の蓄電量Ｅ（ｎ−１）を差し引くことにより、求めることができる。また、消費電力量Ｅｒは、トポロジーが決まれば、対象中継ノード５０の特性から求めることができ、一定と見なすことができる。消費電力速度は、（−Ｅｒ）となる。そして、第１の蓄電速度δ（ｎ）は、発電速度ｈ（ｎ）と消費電力速度（−Ｅｒ）との和と等しい。この関係に着目することにより、直接的に観測することができない発電速度ｈ（ｎ）を、第１の蓄電速度δ（ｎ）と消費電力速度（−Ｅｒ）との差を算出することで求めることができる。図５では、第１の蓄電速度δ（ｎ）が正であるケースが示され、図６では、第１の蓄電速度δ（ｎ）が負であるケースが示されている。
【００６２】
図４の説明に戻り、プロセッサ１２は、第１の蓄電速度δ（ｎ）が負であるか否かを判定する（ステップＳ１０３）。
【００６３】
第１の蓄電速度δ（ｎ）が負でない場合（ステップＳ１０３否定）、プロセッサ１２は、ｎをインクリメントし（ステップＳ１０４）、ｎ＋１番目の第１の期間の蓄電量Ｅ（ｎ＋１）の報告を待ち、蓄電量Ｅ（ｎ＋１）を受け取ると、ステップＳ１０１の処理を行う。
【００６４】
第１の蓄電速度δ（ｎ）が負である場合（ステップＳ１０３肯定）、プロセッサ１２は、発電速度ｈの分散値σを統計処理によって算出する（ステップＳ１０５）。
【００６５】
例えば、メモリ１３は、図７に示す「発電速度サンプルテーブル」に、各第１の期間で算出した発電速度ｈ（ｎ）と、当該発電速度ｈ（ｎ）に対応する第１の期間の種別情報（図７では、「条件」と記載している）とを対応付けて記憶している。「発電速度サンプルテーブル」は、各対象中継ノード５０について用意されている。そして、例えば、プロセッサ１２は、「発電速度サンプルテーブル」から例えば「秋・昼間」という条件にマッチした発電速度ｈの分布（図８参照）を作成する。プロセッサ１２は、この発電速度ｈの分布から分散値σを算出する。図７は、発電速度サンプルテーブルの一例を示す図である。図８は、発電速度の分布の一例を示す図である。
【００６６】
図４の説明に戻り、プロセッサ１２は、算出した分散値σが第１閾値よりも大きいか否かを判定する（ステップＳ１０６）。
【００６７】
算出した分散値σが第１閾値よりも大きい場合（ステップＳ１０６肯定）、プロセッサ１２は、このように判定したタイミングのタイミングスタンプを記憶する（ステップＳ１０７）。ここで、「算出した分散値σが第１閾値よりも大きいこと」は、「対象中継ノード５０の発電速度ｈの変動が激しく、発電速度ｈ（ｎ）の信頼性が低いこと」を意味している。なお、算出した分散値σが第１閾値以下の場合（ステップＳ１０６否定）、処理ステップは、ステップＳ１０４へ進む。
【００６８】
プロセッサ１２は、対象中継ノード５０を非中継動作状態にしたときの第２の蓄電速度δ’（ｎ）を、上記の式（３）を用いて算出する（ステップＳ１０８）。
【００６９】
プロセッサ１２は、上記の式（４）を用いて、対象中継ノード５０を非中継動作状態にしたときに蓄電目標値に到達するまでに掛かる「第２の推定時間Ｔ’」を算出する（ステップＳ１０９）。
【００７０】
図９は、第２の推定時間の説明に供する図である。図９に示すように、対象中継ノード５０について、ｎ番目の第１の期間（図９中の「現在」）の第１の蓄電速度δ（ｎ）が負である場合であっても、対象中継ノード５０を非中継動作状態とすれば第２の蓄電速度δ’（ｎ）が正になる可能性が高い。そして、プロセッサ１２は、第２の蓄電速度δ’（ｎ）のペースで蓄電量が上昇していった場合にＥｍａｘに到達するまでに掛かる「第２の推定時間Ｔ’」を求めている。図９に示す例では、第２の推定時間Ｔ’＝５×（第１の期間の時間長）となる。なお、図９において実線で示すラインＬ１１は、対象中継ノード５０を非中継動作状態としたときの蓄電量の推移を示し、点線で示すＬ１２は、対象中継ノード５０を中継動作状態のままとしたときの蓄電量の推移を示している。
【００７１】
図４の説明に戻り、プロセッサ１２は、ｎ番目の第１の期間に対応する発電速度ｈ（ｎ）の「尤度」を算出する（ステップＳ１１０）。例えば、図８に示す分布を構成する全サンプル数によって、ｎ番目の第１の期間に対応する発電速度ｈ（ｎ）と同じ値を持つサンプルが発生する確率を算出することにより、ｎ番目の第１の期間に対応する発電速度ｈ（ｎ）の「尤度」を算出することができる。図８において、矢印Ａの方向に行くほど尤度は小さくなり、中央値に行くまでは矢印Ｂの方向に行くほど尤度は大きくなる。
【００７２】
プロセッサ１２は、算出した尤度に対応する重み係数αを算出する（ステップＳ１１１）。
【００７３】
プロセッサ１２は、算出した「第２の推定時間Ｔ’」と算出した重み係数αとに基づいて、「第１の推定時間Ｔ」を算出する（ステップＳ１１２）。プロセッサ１２は、例えば、第２の推定時間Ｔ’と重み係数αとを掛け合わせることにより、第１の推定時間Ｔを算出する。
【００７４】
プロセッサ１２は、算出した第１の推定時間Ｔがタイムスタンプ間隔よりも大きいか否かを判定する（ステップＳ１１３）。
【００７５】
算出した第１の推定時間Ｔがタイムスタンプ間隔よりも大きい場合（ステップＳ１１３肯定）、プロセッサ１２は、対象中継ノード５０の状態が「休止状態」になるように制御する（ステップＳ１１４）。例えば、プロセッサ１２は、対象中継ノード５０の状態を休止状態とする「第１命令信号」を生成し、生成した第１命令信号を対象中継ノード５０宛てに送信する。すなわち、算出した第１の推定時間Ｔがタイムスタンプ間隔よりも大きい場合には、対象中継ノード５０を「非中継動作状態」としても近い将来に蓄電量が不足してしまう可能性が高いと考えられる。そのため、算出した第１の推定時間Ｔがタイムスタンプ間隔よりも大きい場合には、対象中継ノード５０を「休止状態」として発電及び蓄電に特化させる。
【００７６】
算出した第１の推定時間Ｔがタイムスタンプ間隔以下の場合（ステップＳ１１３否定）、プロセッサ１２は、対象中継ノード５０の状態が「非中継動作状態」になるように制御する（ステップＳ１１５）。例えば、プロセッサ１２は、選択したエンドノード５０の状態を中継動作状態にする「第２命令信号」を生成し、生成した第２命令信号をそのエンドノード５０宛てに送信する。すなわち、算出した第１の推定時間Ｔがタイムスタンプ間隔以下の場合には、対象中継ノード５０を「非中継動作状態」としても近い将来に蓄電量が不足してしまう可能性が低いと考えられる。そのため、算出した第１の推定時間Ｔがタイムスタンプ間隔よりも以下の場合には、対象中継ノード５０を「非中継動作状態」としエンドノードとして動作させる。
【００７７】
プロセッサ１２は、「ネットワーク再構築制御」、つまり、他のセンサノード５０を中継動作状態とする「ネットワーク再構築制御」を実行する（ステップＳ１１６）。そして、処理フローは、ステップＳ１０４に移行する。
【００７８】
サーバ１０が以上で説明した処理動作を行うことにより、次の様な役割変更が行われる。図１０から図１３は、一実施例のサーバの処理動作の説明に供する図である。図１０から図１３のそれぞれには、図１に示した無線センサネットワークシステム１における、ゲートウェイ３０とセンサノード５０−１〜５とが示されている。図１０及び図１２において、Ｒは中継ノードを意味し、Ｅはエンドノードを意味する。また、図１１及び図１３において、Ｅｎｅｒｇｙ  Ｈａｒｖｅｓｔは環境発電部５１に対応し、円柱状に示した機能部はバッテリに対応し、Ｄｅｖｉｃｅはプロセッサ５４及び無線部５５に対応する。また、図１１及び図１３において、下向きの矢印は蓄電速度が負であることを示し、横向きの矢印は蓄電速度がゼロであることを示し、上向きの矢印は蓄電速度が正であることを示す。
【００７９】
図１０には、図１と同じトポロジーを有する無線センサネットワークシステム１が示されている。センサノード５０−１は、中継ノードとして動作しているので、エンドノードとして動作している他のセンサノード５０と比べて、蓄電量が減少する傾向が高い。すなわち、図１１に示すように、センサノード５０−１は、第１の蓄電速度δ（ｎ）が負となる可能性が高い。
【００８０】
そこで、サーバ１０は、センサノード５０−１の役割（状態）を変更する。例えば、サーバ１０は、図１２に示すように、センサノード５０−１の役割をエンドノードに変更する一方、センサノード５０−２，４の役割を中継ノードに変更する。このような役割変更が行われることにより、図１３に示すように、センサノード５０−１の第１の蓄電速度δ（ｎ）が正となる可能性を高くすることができる。これにより、センサノード５０−１が蓄電量不足になることを回避できるので、無線センサネットワークシステム１におけるマルチホップ通信経路を安定化させることができる。
【００８１】
以上のように本実施例によれば、サーバ１０においてプロセッサ１２は、センサノード５０−１〜５のうちの対象中継ノードであるセンサノード５０−１の第１の蓄電速度が負の場合、センサノード５０−１を非中継動作状態にしたときに蓄電目標値に到達するまでに掛かる第１の推定時間を算出する。そして、プロセッサ１２は、算出した第１の推定時間の長さに応じて、センサノード５０−１の状態を非中継動作状態又は休止状態に変更させ、非中継動作状態にある他ノードの状態を中継動作状態に変更させる。
【００８２】
このサーバ１０の構成により、電力不足に陥る可能性の高いと判断できる場合に対象中継ノード５０であるセンサノード５０−１の役割を電力不足に陥る前に変更できるので、無線センサネットワークシステム１のマルチホップ通信経路を安定化させることができる。また、非中継動作状態としても蓄電目標値に到達するまでの時間が長いと推定される場合、センサノード５０−１を発電及び蓄電に特化させるので、センサノード５０−１を電力良好状態に早期に復帰させることができる。この結果として、センサノード５０−１をマルチホップネットワークへの復帰後にマルチホップ通信経路の安定化に寄与させることができる。
【００８３】
また、プロセッサ１２は、センサノード５０−１について対象期間（つまり、現在の第１の期間）以前の複数の第１の期間で取得した複数の発電速度の分散が所定値より大きい場合、対象期間で取得した発電速度に基づいて、センサノード５０−１を非中継動作状態にしたときの第２の蓄電速度を算出する。そして、プロセッサ１２は、蓄電目標値とセンサノード５０−１の対象期間時の蓄電量との乖離値を算出した第２の蓄電速度で除算した除算結果に対して第１の期間の時間長を乗算することにより、第２の推定時間を算出する。そして、プロセッサ１２は、算出した第２の推定時間に対して、対象期間で取得した発電速度の尤度に応じた重み係数を乗算することにより、第１の推定時間を算出する。
【００８４】
このサーバ１０の構成により、対象期間で取得した発電速度の確からしさ、つまり、発電速度の変動の激しさを考慮した、第１の推定時間を算出することができる。この結果として、不確実性を考慮してセンサノード５０−１の状態を変更することができるので、無線センサネットワークシステム１のマルチホップ通信経路をさらに安定化させることができる。
【符号の説明】
【００８５】
１  無線センサネットワークシステム
１０  サーバ
１１  インタフェース部
１２，５４  プロセッサ
１３，５７  メモリ
３０  ゲートウェイ
５０  センサノード
５１  環境発電部
５２  バッテリ
５３  センサ
５５  無線部
５６  アンテナ
【図１】
2016113884.tif 000003
【図２】
2016113884.tif 000004
【図３】
2016113884.tif 000005
【図４】
2016113884.tif 000006
【図５】
2016113884.tif 000007
【図６】
2016113884.tif 000008
【図７】
2016113884.tif 000009
【図８】
2016113884.tif 000010
【図９】
2016113884.tif 000011
【図１０】
2016113884.tif 000012
【図１１】
2016113884.tif 000013
【図１２】
2016113884.tif 000014
【図１３】
2016113884.tif 000015
【国際調査報告】
2016113884.tif 000016
2016113884.tif 000017
2016113884.tif 000018
2016113884.tif 000019