(57)【特許請求の範囲】
【請求項１】
センサ制御装置とサーバ装置とを備えるセンサ管理システムにおける前記センサ制御装置であって、
計測対象を計測して計測結果である実測値を出力するセンサと、
前記計測結果を予測する複数の予測モデルのうちの１つを用いて前記計測結果の予測値を算出する予測部と、
前記実測値と前記予測値との差が所定の第１の閾値以上である場合にのみ、前記実測値を前記サーバ装置に送信する送信部と、
前記実測値の送信頻度が所定の第２の閾値を超えた場合に、前記複数の予測モデルのうちの前記１つを、所定の規則に従って、前記複数の予測モデルのうちの別の予測モデルへ変更する変更部と、
を備え、
前記サーバ装置は、
前記センサ制御装置から送信される前記実測値の受信頻度が前記第２の閾値以下である場合には、前記複数の予測モデルのうちの前記１つを用いて前記サーバ装置で算出した前記予測値を前記計測結果とし、
前記センサ制御装置から送信される前記実測値の受信頻度が前記第２の閾値を超えた場合には、前記複数の予測モデルのうちの前記１つを、前記所定の規則に従って、前記複数の予測モデルのうちの前記別の予測モデルへ変更し、前記別の予測モデルを用いて前記サーバ装置で算出した予測値を前記計測結果とする、
センサ制御装置。
【請求項２】
前記変更部は、前記送信頻度が高いほど、前記複数の予測モデルのうちのより複雑な近似式に基づく前記予測モデルへ、または、前記複数の予測モデルのうちの所定の順番に基づく前記予測モデルへ、段階的に前記変更を行う
ことを特徴とする請求項１に記載のセンサ制御装置。
【請求項３】
前記変更部は、前記送信頻度が所定時間、所定値以下の場合、前記複数の予測モデルのうちのより簡単な近似式に基づく予測モデルへ、または、前記複数の予測モデルのうちの前記順番の逆の順番に基づく予測モデルへ、段階的に前記変更を行う
ことを特徴とする請求項２に記載のセンサ制御装置。
【請求項４】
前記予測部は、
前記複数の予測モデルのうち段階的に変更した場合の変更前後の関係に該当する第１予測モデルと第２予測モデルを用いて、同一の事象についてそれぞれ予測値を算出し、
前記変更部は、現在適用されている前記第１予測モデルを用いて予測された場合であって所定時間にて前記実測値と前記予測値との差が所定の閾値以上になった回数を示す第１頻度よりも、前記第２予測モデルを用いて予測された場合であって所定時間にて前記実測値と前記予測値との差が所定の閾値以上になった回数を示す第２頻度の方が小さい場合、前記第１予測モデルを前記第２予測モデルに変更する
ことを特徴とする請求項１〜３のうちいずれか１項に記載のセンサ制御装置。
【請求項５】
前記変更部は、前記センサ制御装置がバッテリを用いて動作している場合、または環境発電装置を用いて動作している状態であって発電していない場合、前記実測値の送信頻度に応じて、前記変更を行う
ことを特徴とする請求項１〜４のうちいずれか１項に記載のセンサ制御装置。
【請求項６】
前記変更部は、前記センサ制御装置がバッテリを用いて動作している場合、または環境発電装置を用いて動作している場合、前記センサ制御装置内の電力収支を算出し、使用可能電力よりも消費電力の方が大きい場合、前記実測値の送信頻度に応じて、前記変更を行う
ことを特徴とする請求項１〜４のうちいずれか１項に記載のセンサ制御装置。
【請求項７】
前記センサ制御装置は、さらに、
前記予測値に応じて、前記センサの計測時間を調整する計測時間調整部と、
を備えることを特徴とする請求項１〜６のうちいずれか１項に記載のセンサ制御装置。
【請求項８】
センサ制御装置とサーバ装置とを備えるセンサ管理システムにおける前記センサ制御装置としてコンピュータを機能させるためのセンサ制御プログラムであって、
前記コンピュータに、
センサから、計測対象を計測して計測結果である実測値を取得し、
前記計測結果を予測する複数の予測モデルのうちの１つを用いて前記計測結果の予測値を算出し、
前記実測値と前記予測値との差が所定の第１の閾値以上である場合にのみ前記実測値を前記サーバ装置に送信し、
前記実測値の送信頻度が所定の第２の閾値を超えた場合に、前記複数の予測モデルのうちの前記１つを、所定の規則に従って、前記複数の予測モデルのうちの別の予測モデルへ変更する
処理を実行させ、
前記サーバ装置は、
前記センサ制御装置から送信される前記実測値の受信頻度が前記第２の閾値以下である場合には、前記複数の予測モデルのうちの前記１つを用いて前記サーバ装置で算出した前記予測値を前記計測結果とし、
前記センサ制御装置から送信される前記実測値の受信頻度が前記第２の閾値を超えた場合には、前記複数の予測モデルのうちの前記１つを、前記所定の規則に従って、前記複数の予測モデルのうちの前記別の予測モデルへ変更し、前記別の予測モデルを用いて前記サーバ装置で算出した予測値を前記計測結果とする、
センサ制御プログラム。
【請求項９】
センサ制御装置とサーバ装置とを備えるセンサ管理システムにおける前記センサ制御装置として機能するコンピュータが行うセンサ制御方法であって、
前記コンピュータが、
センサから、計測対象を計測して計測結果である実測値を取得し、
前記計測結果を予測する複数の予測モデルのうちの１つを用いて前記計測結果の予測値を算出し、
前記実測値と前記予測値との差が所定の第１の閾値以上である場合にのみ前記実測値を前記サーバ装置に送信し、
前記実測値の送信頻度が所定の第２の閾値を超えた場合に、前記複数の予測モデルのうちの前記１つを、所定の規則に従って、前記複数の予測モデルのうちの別の予測モデルへ変更し、
前記サーバ装置は、
前記センサ制御装置から送信される前記実測値の受信頻度が前記第２の閾値以下である場合には、前記複数の予測モデルのうちの前記１つを用いて前記サーバ装置で算出した前記予測値を前記計測結果とし、
前記センサ制御装置から送信される前記実測値の受信頻度が前記第２の閾値を超えた場合には、前記複数の予測モデルのうちの前記１つを、前記所定の規則に従って、前記複数の予測モデルのうちの前記別の予測モデルへ変更し、前記別の予測モデルを用いて前記サーバ装置で算出した予測値を前記計測結果とする、
センサ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、センサ制御装置、センサ制御プログラム及びセンサ制御方法に関する。
【背景技術】
【０００２】
バッテリ駆動やエネルギーハーベスタ技術を用いたセンサノードからなるセンサネットワークがある。このようなセンサネットワークでは、管理コストや、システムの信頼性の観点から、なるべくセンサノードの消費電力を抑えて高寿命化させることが求められる。
【０００３】
一方、センサノードのバッテリ残量が少ない場合でも、サーバ側で動作するアプリケーションプログラムが要求するセンシングデータの精度を落とすことができない。しかし、センサノードが高頻度でセンシングを行い、サーバへそのセンシングしたデータの送信を続けると、すぐにバッテリが切れ、稼働できなくなってしまう。
【０００４】
センシングデータの消費電力の低減に関する技術として、例えば、自律的に、デバイス管理に係る電力消費を抑える第１の技術がある（例えば、特許文献１）。通信装置は、他の通信装置に対して、管理情報の要求メッセージを送信する。通信装置は、要求メッセージに対する応答メッセージにより他の通信装置の管理情報を受信する。通信装置は、受信した他の通信装置の管理情報を用いて、他の通信装置が要求メッセージに応答するか否かを定める応答条件を決定する。通信装置は、決定した応答条件を含めて、決定後に所定のタイミングで送信される要求メッセージを作成する。通信装置は、任意の過去Ｘ回分の実管理情報と作成管理情報との差分の絶対値が、任意に定める閾値Ｔより小さいセンサデバイスには応答の頻度を下げる応答方法を、逆に閾値Ｔ以上であるセンサデバイスには応答の頻度を上げる応答方法を決定する。
【０００５】
しかしながら、第１の技術では、実測データと推定データとの差が一定以下であればデータの送信間隔が延長されていくので、センサノード側の送信間にて、実測データに急激な変化があった場合、サーバ側では、その実測データの変化を補足することができない。
【０００６】
これに対して、予測した計測結果とセンサによる計測結果とが異なる場合に、無線端末装置は情報を基地局に送信する第２の技術がある（例えば、特許文献２）。第２の技術では、予測に基づいて無線通信頻度を下げることにより、消費電力削減を行なう。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１４−１３８２４５号公報
【特許文献２】特開２００６−３３６７４号公報
【特許文献３】特開２０１３−１１５４８８号公報
【特許文献４】特開２０１０−１２４３９６号公報
【特許文献５】特開２０１３−２５５１９３号公報
【特許文献６】特開２００７−３０８３０号公報
【特許文献７】特開２００６−３３６７４号公報
【特許文献８】特開２０１０−２０６５９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上記の第２の技術では、予測方法について簡単な例が示されている。しかしながら、実際の利用シーンでは計測の結果得られる計測値が複雑に変動する場合が多いため、毎回予測とずれて実測値を送信する頻度が高くなり、消費電力の削減とならない。
【０００９】
本発明は、一側面として、計測値が多様に変動する場合であっても、実測値の送信頻度の低減を図るセンサ制御技術を提供する。
【課題を解決するための手段】
【００１０】
本発明の一側面に係るセンサ制御装置は、センサ制御装置とサーバ装置とを備えるセンサ管理システムにおけるものであって、センサ、予測部、送信部、変更部を含む。センサは、計測対象を計測して計測結果である実測値を出力する。予測部は、計測結果を予測する複数の予測モデルのうちの１つを用いて計測結果の予測値を算出する。送信部は、実測値と予測値との差が所定の第１の閾値以上である場合にのみ、実測値をサーバ装置に送信する。変更部は、実測値の送信頻度が所定の第２の閾値を超えた場合に、複数の予測モデルのうちの当該１つを、所定の規則に従って、複数の予測モデルのうちの別の予測モデルへ変更する。なお、サーバ装置は、センサ制御装置から送信される実測値の受信頻度が第２の閾値以下である場合には、複数の予測モデルのうちの当該１つを用いてサーバ装置で算出した予測値を計測結果とし、センサ制御装置から送信される実測値の受信頻度が第２の閾値を超えた場合には、複数の予測モデルのうちの当該１つを、所定の規則に従って、複数の予測モデルのうちの別の予測モデルへ変更し、当該別の予測モデルを用いてサーバ装置で算出した予測値を計測結果とする。
【発明の効果】
【００１１】
本明細書に記載の技術によれば、計測値が多様に変動する場合であっても、実測値の送信頻度の低減を図ることができる。
【図面の簡単な説明】
【００１２】
【図１】本実施形態におけるセンサ制御装置の一例を示す。
【図２】本実施形態におけるセンサ管理システムの一例を示す。
【図３】本実施形態における切替により適用される予測モデルの一例を示す。
【図４】本実施形態（実施例１）におけるセンサノードの一例を示す。
【図５】本実施形態（実施例１）におけるサーバの一例を示す。
【図６Ａ】本実施形態（実施例１）における実測値の送信に関するセンサノード−サーバ間のシーケンス図（その１）である。
【図６Ｂ】本実施形態（実施例１）における実測値の送信に関するセンサノード−サーバ間のシーケンス図（その２）である。
【図７Ａ】本実施形態（実施例１）における、実測値と予測値との比較結果に応じた実測値の送信に関するセンサノード−サーバ間のシーケンス図（その１）である。
【図７Ｂ】本実施形態（実施例１）における、実測値と予測値との比較結果に応じた実測値の送信に関するセンサノード−サーバ間のシーケンス図（その２）である。
【図７Ｃ】本実施形態（実施例１）における、実測値と予測値との比較結果に応じた実測値の送信に関するセンサノード−サーバ間のシーケンス図（その３）である。
【図７Ｄ】本実施形態（実施例１）における、実測値と予測値との比較結果に応じた実測値の送信に関するセンサノード−サーバ間のシーケンス図（その４）である。
【図８】本実施形態（実施例１）における予測モデル判定部（ノード側及びサーバ側）の処理フローを示す。
【図９】本実施形態（実施例１）における予測モデル判定部（ノード側及びサーバ側）の処理フローの他の例を示す。
【図１０】本実施形態（実施例２）におけるセンサノードの一例を示す。
【図１１Ａ】本実施形態（実施例２）におけるセンサノードのシーケンス図（その１）である。
【図１１Ｂ】本実施形態（実施例２）におけるセンサノードのシーケンス図（その２）である。
【図１１Ｃ】本実施形態（実施例２）におけるセンサノードのシーケンス図（その３）である。
【図１２】本実施形態（実施例３）におけるセンサノードの一例を示す。
【図１３】本実施形態（実施例３）におけるセンサノードの処理フローを示す。
【図１４】本実施形態（実施例４）におけるセンサノードの処理フローを示す。
【図１５】本実施形態（実施例５）におけるセンサノードの一例を示す。
【図１６】本実施形態（実施例５）における予測値−計測時間関係情報の一例を示す。
【図１７】本実施形態（実施例５）におけるセンサノードのシーケンス図である。
【図１８】本実施形態にかかるセンサノードのハードウェア構成の一例を示す。
【図１９】本実施形態におけるプログラムを実行するコンピュータのハードウェア環境の構成ブロック図の一例である。
【発明を実施するための形態】
【００１３】
図１は、本実施形態におけるセンサ制御装置の一例を示す。センサ制御装置１は、センサ２、予測部３、送信部４、変更部５を含む。センサ制御装置１の一例として、センサノード１１が挙げられる。
【００１４】
センサ２は、計測対象を計測して計測結果である実測値を出力する。センサ２の一例として、センサ３１、またはセンサ部６２が挙げられる。
【００１５】
予測部３は、計測結果を予測する複数の予測モデルのうちのいずれかの予測モデルを用いて計測結果の予測値を算出する。予測部３の一例として、データ予測部３６として機能する制御部６１が挙げられる。
【００１６】
送信部４は、実測値と予測値との差が所定の閾値以上である場合、実測値をサーバ装置に送信する。送信部４の一例として、データ比較部３７、送信部３８として機能する制御部６１が挙げられる。
【００１７】
変更部５は、実測データの送信頻度に応じて、予測モデルを変更する。変更部５の一例として、予測モデル判定部３２として機能する制御部６１が挙げられる。
【００１８】
このように構成することにより、計測値が多様に変動する場合であっても、実測値の送信頻度の低減を図ることができる。すなわち、センサからの実測値と予測モデルで予測した予測値の差が閾値以上の場合に実測値をサーバに送信する際の、送信頻度に応じて適切な予測モデルに変更することで、実測値が多様に変動する場合でも送信頻度の低減ができる。その結果、消費電力の削減を実現することができる。
【００１９】
変更部５は、送信頻度が高いほど、より複雑な近似式に基づく予測モデルへ、または所定の順番に基づく予測モデルへ、段階的に予測モデルを変更する。このように構成することにより、例えば、センサ制御装置１がデフォルトで設定された予測モデルで動作している場合に、一定以上送信頻度が増加したら、より複雑な近似式に基づく予測モデルで動作させる。再び一定以上送信頻度が増加した場合、センサ制御装置１はその次の予測モデルへ切り替える。その結果、実際に計測された値に応じて、より適切な予測モデルに変更して、送信頻度の低減を図ることができる。
【００２０】
変更部５は、送信頻度が所定時間、所定値以下の場合、より簡単な近似式に基づく予測モデルへ、または所定の順番に基づく予測モデルへ、段階的に予測モデルを変更する。
このように構成することにより、より複雑な近似式に基づく予測モデルへ、または所定の順番に基づく予測モデルへ、段階的に予測モデルが変更されている場合に、送信頻度が一定時間の間一定値以下である場合、センサ制御装置１は、次の処理を行う。すなわち、センサ制御装置１は、段階的に変更前の予測モデルに戻して動作する。
【００２１】
予測部３は、複数の予測モデルのうち段階的に変更した場合の変更前後の関係に該当する第１予測モデルと第２予測モデルを用いて、同一の事象についてそれぞれ予測値を算出する。変更部３は、第１頻度よりも、第２頻度の方が小さい場合、第１予測モデルを第２予測モデルに変更する。ここで、第１頻度は、現在適用されている第１予測モデルを用いて予測された場合であって所定時間にて実測値と予測値との差が所定の閾値以上になった回数を示す。第２頻度は、第２予測モデルを用いて予測された場合であって所定時間にて実測値と予測値との差が所定の閾値以上になった回数を示す。
【００２２】
このように構成することにより、より予測成績のよい予測モデルを採用することができるので、より精度のよい予測を行うことができる。
【００２３】
変更部５は、センサ制御装置１がバッテリを用いて動作している場合、または環境発電装置を用いて動作しているが発電量が０の場合、実測データの送信頻度に応じて、予測モデルを変更する。
【００２４】
このように構成することにより、電力消耗を考慮する必要がない場合には送信頻度を考慮する必要がないので予測値を算出する必要はないが、使用可能電力に制限がある場合に、送信頻度を制限するために適切な予測モデルを用いて予測値を算出し、送信回数を減らすことができる。これにより、センシングデータの精度を保ちつつ、消費電力を抑えることができる。
【００２５】
変更部５は、センサ制御装置１がバッテリを用いて動作している場合、または環境発電装置を用いて動作している場合、センサ制御装置内の電力収支を算出し、使用可能電力よりも消費電力の方が大きい場合、実測データの送信頻度に応じて、予測モデルを変更する。
【００２６】
このように構成することにより、さらに電力収支を考慮して、使用可能電力よりも消費電力の方が大きい場合、送信頻度を制限するために適切な予測モデルを用いて予測値を算出することができる。これにより、センシングデータの精度を保ちつつ、消費電力を抑えることができる。
【００２７】
センサ制御装置１は、さらに、計測時間調整部６を含む。計測時間調整部６は、予測値に応じて、センサの計測時間を調整する。計測時間調整部６の一例として、センサ制御部５１が挙げられる。
【００２８】
このように構成することにより、センサにおいて、ある測定精度における１回の測定にかかる時間が、測定値により変化するため、最適な測定時間に調整することで、無駄な電力を消費させないように制御することができる
図２は、本実施形態におけるセンサ管理システムの一例を示す。サーバ装置（以下、「サーバ」と称する。）２１及びセンサノード１１は、複数の予測モデルを共有する。ここで、予測モデルとは、例えば、移動平均による予測、最小二乗法による予測等のデータ予測アルゴリズムのことである。なお、後述するサーバの機能は、基地局（アクセスポイント）で実現してもよい。
【００２９】
センサノード１１は、アプリケーションプログラムの要件に従った頻度でセンシングを行い、センシングデータ（実測値）を取得し（Ｓ１）、記憶部に記憶する（Ｓ２）。それと共に、センサノード１１は、予測モデルを用いて、センシングデータ（予測値）を予測する（Ｓ３）。なお、予測モデル（計算ロジック／プログラム）は、予めセンサノード内に格納されていてもよいし、サーバから配信されてもよい。センサノード１１は、センシングデータの実測値と予測値とを比較し、実測値と予測値との差が所定の閾値以上の場合にサーバ２１に実測値を送信する（Ｓ４）。
【００３０】
また、センサノード１１は、実測値を送信した頻度を計測し、その送信頻度から現在適用している予測モデルの適／不適を判定する。センサノード１１は、判定結果に応じて適切な予測モデルに切り替える（Ｓ５）。
【００３１】
サーバ側でも、予測モデルを用いた予測が行われている。センサノード１１から実測値が送られてこない場合、すなわち、送信頻度（受信頻度）が低い場合、予測モデルが適切ということなので、サーバ２１は、次の処理を行う。すなわち、サーバ２１は、その直前までにセンサノード１１から送られてきた実測値とサーバ２１にて算出した予測値とが混在するデータ系列から、最新のデータを予測し、その予測した最新のデータ（予測値）を実測値の代替とする（Ｓ６）。この場合、サーバ２１は、予測値をセンシングデータとしてアプリケーション側へ送る。
【００３２】
一方、センサノード１１から実測値が送られてくる送信頻度（サーバ２１では受信頻度）が高い場合、予測が外れていることから、予測モデルが不適当であり、サーバ２１は、次の処理を行う。すなわち、サーバ２１は、その受信頻度から現在適用されている予測モデルの適／不適を判定し、判定結果に応じて適切な予測モデルに切り替える（Ｓ７）。
【００３３】
図３は、本実施形態における切替により適用される予測モデルの一例を示す。図３の予測モデルのグラフでは、例えば、縦軸が測定値を表し、横軸が経過時間を表す。予測モデルは、線形近似、多項式近似、対数近似、指数、累乗近似等の近似式（または近似曲線式）に基づくモデルである。本実施形態では、予測モデルは、図３（Ａ）、図３（Ｂ）、図３（Ｃ）の順で切り替えられる。また、センサノード１１及びサーバ２１はそれぞれ、一例として、図３（Ａ）、図３（Ｂ）、及び図３（Ｃ）の予測モデルを予め記憶部に記憶している。
【００３４】
図３（Ａ）は、線形近似値モデルを示す。線形近似値モデルは、実測値が単調な変化の場合に用いられる。現在適用されている予測モデルが図３（Ａ）の場合、センサノード１１及びサーバ２１はそれぞれ、Ｓ４，Ｓ６において、線形近似値モデルで予測した予測値と、実測値とを比較する。線形近似値モデルを用いたデータの予測では、演算量が少なく、予測も容易である。
【００３５】
図３（Ｂ）は、２次曲線近似値モデルを示す。２次曲線近似値モデルは、実測値が比較的緩やかな増減をする場合に用いられる。現在適用されている予測モデルが図３（Ｂ）の場合、センサノード１１及びサーバ２１はそれぞれ、Ｓ４，Ｓ６において、２次曲線近似値モデルで予測した予測値と、実測値とを比較する。２次曲線近似値モデルを用いたデータの予測では、線形近似値モデルよりは演算量は増えるが、緩やかな増減なら予測可能である。
【００３６】
図３（Ｃ）は、移動平均モデルを示す。実測値の増減が激しく、演算量を増やして多次元曲線近似を適用しても予測が難しい場合には、移動平均モデルが適用される。すなわち、移動平均モデルは、実測値が複雑な増減、すなわちランダムな増減をする場合に用いられる。現在適用されている予測モデルが図３（Ｃ）の場合、センサノード１１及びサーバ２１はそれぞれ、Ｓ４，Ｓ６において、直近の所定数の実測値の移動平均による予測値と、実測値とを比較する。
【００３７】
図３（Ａ）〜図３（Ｃ）の予測モデルは、実測値の送信頻度に応じて段階的に切り替えられる。具体的には、送信頻度が高くなるほど、より複雑な予測モデルが段階的に適用される。例えば、センサノード１１及びサーバ２１において、デフォルトで設定されている予測モデルが図３（Ａ）であるとする。一定以上送信頻度が増加したら、センサノード１１及びサーバ２１は、現在適用している予測モデルを図３（Ｂ）の予測モデルへと切り替える。再び一定以上送信頻度が増加したら、センサノード１１及びサーバ２１は、現予測モデルを図３（Ｃ）の予測モデルへと切り替える。
【００３８】
また、予測モデルが図３（Ｂ）または図３（Ｃ）の場合、送信頻度が所定時間の間にて、所定値以下になれば、センサノード１１及びサーバ２１は、よりシンプルな予測モデルに段階的に戻して運用する。
【００３９】
なお、本実施形態では、一例として、３つの予測モデル（線形近似値モデル、２次曲線近似値モデル、移動平均モデル）を用いて説明するが、これに限定されず、さらに複数の近似曲線等の予測モデルを用いても良い。
【００４０】
以下では、本実施形態の実施例についてさらに詳述する。
（実施例１）
図４は、本実施形態（実施例１）におけるセンサノードの一例を示す。センサノード１１は、センサ３１、予測モデル判定部３２、有効データ記憶部３３、誤差閾値記憶部３４、受信部３５、データ予測部３６、データ比較部３７、送信部３８を含む。
【００４１】
センサ３１は、温度、湿度、水位、圧力等の周囲の環境の状態を検知する検知装置であり、センシングを行って、その結果をセンシングデータ（実測値）として出力する。センサノードは、１以上のセンサ３１を含む。
【００４２】
受信部３５は、サーバ２１より誤差閾値を受信する。誤差閾値Ｔ１は、予測値と実測値との差が誤差閾値Ｔ１以上か否かを判定するために用いられる閾値である。
【００４３】
誤差閾値記憶部３４は、サーバ２１より送信された誤差閾値Ｔ１を記憶する。有効データ記憶部３３は、ＦＩＦＯ（First-In-First-Out）形式で、直近の１以上の有効計測データ（例えば、直近のｎ（任意の整数）回分の計測値または予測値）を記憶する。有効計測データは、実測値または予測値と、実測または予測を行った時刻とを含む。なお、基準となる時刻と計測間隔が予め固定されている場合には、有効計測データに、時刻の代わりに計測回数が含まれていても良い。予測値と実測値との差が誤差閾値Ｔ１以上の場合、実測値が有効計測値（有効計測データ）として記憶される。予測値と実測値との差が誤差閾値Ｔ１未満の場合、予測値が有効計測値として記憶される。
【００４４】
データ予測部３６は、例えば、図３（Ａ）の線形近似値モデル、図３（Ｂ）の２次曲線近似値モデル、図３（Ｃ）の移動平均モデルについての複数の予測モデル情報を予め記憶している。データ予測部３６は、有効データ記憶部３３から直近の有効計測値を読み出す。データ予測部３６は、その読み出した有効計測値と予測モデルとに基づいて、センシングデータの予測値を生成する。
【００４５】
データ比較部３７は、誤差閾値記憶部３４より誤差閾値Ｔ１を読み出す。センサ３１より取得したセンシングデータ（実測値）と、データ予測部３６より生成された予測値とを比較する。実測値と予測値の差分が閾値Ｔ１以上の場合に、データ比較部３７は、送信部３８を介してサーバ２１に実測値を送信する。データ比較部３７は、送信した実測値を有効計測値として有効データ記憶部３３に格納する。
【００４６】
予測モデル判定部３２は、サーバ２１への実測値の送信頻度を計測し、その送信頻度から現在適用している予測モデルの適／不適を判定する。予測モデル判定部３２は、判定結果に応じて適切な予測モデルに切り替え、切り替えた予測モデルをデータ予測部３６に通知する。
【００４７】
送信部３８は、実測値と予測値の差分が閾値Ｔ１以上の場合に、予め設定されたサーバ２１のアドレス情報に基づいて、センサノードＩＤ、センサＩＤ、および実測値を含むデータを送信する。
【００４８】
図５は、本実施形態（実施例１）におけるサーバの一例を示す。サーバ２１は、誤差閾値設定部４１、予想モデル判定部４２、送信データ生成部４３、送信部４４、アプリケーションデータ記憶部４５、データ予測部４６、実測値受信判定部４７、受信部４８を含む。
【００４９】
誤差閾値設定部４１は、外部インターフェースを持ち、この外部インターフェースを通じてセンサノードに通知するための誤差閾値Ｔ１がセンサ毎に予め設定されている。送信データ生成部４３は、誤差閾値設定部４１に設定された誤差閾値Ｔ１を含む送信データを生成する。送信部４４は、送信データ生成部４３で生成された送信データを、予め設定されたセンサノード１１のアドレスに基づいて、センサノード１１へ送信する。
【００５０】
アプリケーション４９は、センシングデータ（実測値及び予測値）を解析するアプリケーションプログラムである。
【００５１】
アプリケーションデータ記憶部４５は、ＦＩＦＯ（First-In-First-Out）形式で、アプリケーション４９へ送られる直近の１以上の有効計測データ（例えば、直近のｎ（任意の整数）回分の計測値または予測値）を各センサノードのセンサ毎に記憶する。センサノードから実測値を受信した場合は実測値が有効計測値としてアプリケーションデータ記憶部４５に記憶される。センサノードから実測値を受信しなかった場合は、予測値が有効計測値としてアプリケーションデータ記憶部４５に記憶される。
【００５２】
受信部４８は、センサノード１１からセンサノードＩＤ、センサＩＤ、および実測値を含むデータを受信する。
【００５３】
実測値受信判定部４７は、センサノード１１のセンサ毎に、次の処理を行う。すなわち、実測値受信判定部４７は、センサノード１１から実測値を受信したか否かを判定し、その判定結果をデータ予測部４６に通知するとともに、アプリケーション４９へ、受信した実測値を送信し、更にアプリケーションデータ記憶部４５へ有効計測値として格納する。また、センサノード１１から所定の頻度で実測値を受信したと判定した場合、実測値受信判定部４７は、予測モデル判定部４２に、センサノード１１からの実測データの受信頻度（センサノード１１の送信頻度）を通知する。
【００５４】
センサノード１１から、所定時間内に実測値が送られてこないと判定した場合、実測値受信判定部４７は、データ予測部４６にその旨を通知する。
【００５５】
データ予測部４６は、センサノード１１のセンサ毎に、アプリケーションデータ記憶部４５から、直近に格納された有効計測値を読み出す。データ予測部４６は、読み出した送信データと予測モデルとに基づいて、センシングデータの予測値を生成する。データ予測部４６は、アプリケーション４９へ、生成した予測値を送信すると共に、実測値を受信しない場合にはアプリケーションデータ記憶部４５へ有効計測値として格納する。
【００５６】
予測モデル判定部４２は、センサノード１１のセンサ毎に、センサ１３の実測値の送信頻度（サーバ２１が受信した実測値の受信頻度）を計測し、その送信頻度から現在適用している予測モデルの適／不適を判定する。予測モデル判定部４２は、判定結果に応じて適切な予測モデルに切り替え、切り替えた予測モデルをデータ予測部４６に通知する。
【００５７】
図６Ａ及び図６Ｂは、本実施形態（実施例１）における実測値の送信に関するセンサノード−サーバ間のシーケンス図である。まず、サーバ２１側において、誤差閾値設定部４１は、送信データ生成部４３にノードＩＤ、センサＩＤと閾値Ｔ１を通知する（Ｓ１１）。送信データ生成部４３は、ノードＩＤ、センサＩＤと閾値Ｔ１とを含む送信データを生成し、送信部４４へ送る（Ｓ１２）。送信部４４は、ノードＩＤに対応するセンサノードのアドレスに宛てて、その送信データを送信する（Ｓ１３）。
【００５８】
そのノードＩＤに対応するセンサノード１１側では、受信部３５は、サーバ２１から送信データを受信し、送信データからセンサＩＤと閾値Ｔ１を抽出して誤差閾値記憶部３４へ格納する（Ｓ１４）。データ比較部３７は、誤差閾値記憶部３４から閾値を取得する（Ｓ１５）。
【００５９】
次に、センサ３１は、所定間隔でセンシングを行い、センシングデータ（実測値）を生成する（Ｓ１６）。データ比較部３７は、実測値と予測値とを比較し、比較の結果、実測値と予測値との差が閾値Ｔ１以上の場合、実測値を送信部３８へ通知する（Ｓ１７）。比較の結果、実測値と予測値との差が閾値Ｔ１より小さい場合、データ比較部３７は、送信部３８へ何も通知しない。ただし、初期状態の場合（サーバ２１から閾値Ｔ１を受信した場合）、データ予測部３６は、適用する予測モデルが選択されていないために、予測値としてデフォルト値（例えば、０）をデータ比較部３７に提供してもよい。また、データ比較部３７は、初期状態の場合（サーバ２１から閾値Ｔ１を受信した場合）、最初の複数回のサンプリングデータをサーバに送信するために、無条件でサーバ２１に実測値を送信するようにしてもよい。
【００６０】
データ比較部３７は、比較の結果、実測値と予測値との差が閾値Ｔ１以上の場合、実測値を有効データ記憶部３３に書き込む。比較の結果、実測値と予測値との差が閾値Ｔ１未満の場合、データ比較部３７は、予測値を有効計測値として有効データ記憶部３３に書き込む。動作開始直後のように予測値がない（実測データが溜まっていないので、予測ができない）場合には、データ比較部３７は、センシングデータ（実測値）を有効計測値として有効データ記憶部３３に書き込む（Ｓ１９）。なお、データ比較部３７は、毎回、実測値と予測値との両方のセンシングデータを有効データ記憶部３３に格納するようにしてもよい。
【００６１】
送信部３８は、データ比較部３７から実測値が通知された場合、センサノードＩＤ，センサＩＤ，及び実測値とを含む送信データをサーバ２１へ送信する（Ｓ１８）。
【００６２】
サーバ２１側では、受信部４８は、センサノード１１からの送信データを受信すると、実測値受信判定部４７へ送信する（Ｓ２０）。
【００６３】
実測値受信判定部４７は、センサノード１１からの送信データに含まれる実測値をアプリケーションデータ記憶部４５へ格納する（Ｓ２１）と共に、上位のアプリケーション４９へ転送する（Ｓ２２）。また、実測値受信判定部４７は、センサノードＩＤ及びセンサＩＤの組み合わせ毎に、送信データの受信数をカウントする（Ｓ２３）。
【００６４】
動作開始時等は予測モデルによる予測可能なデータ数分、Ｓ１６〜Ｓ２３の処理は繰り返される。
【００６５】
図７（図７Ａ、図７Ｂ、図７Ｃ、図７Ｄ）は、本実施形態（実施例１）における、実測値と予測値との比較結果に応じた実測値の送信に関するセンサノード−サーバ間のシーケンス図である。図７Ａ及び図７Ｂのシーケンスは、図６Ａ及び図６Ｂのシーケンスを経て、予測モデルに基づく、予測値の算出が可能になった後のシーケンスである。
【００６６】
センサノード１１側において、データ予測部３６は、有効データ記憶部３３から、有効計測値を新しい方から１以上読み出す（Ｓ２４）。データ予測部３６は、その１以上の有効計測値と、現在有効になっている予測モデルとを用いて、次のセンシングデータの予測値を算出する（Ｓ２５）。データ予測部３６は、算出した予測値をデータ比較部３６に送る（Ｓ２６）。
【００６７】
センサ３１は、所定間隔でセンシングを行い、センシングデータ（実測値）を生成する（Ｓ２７）。データ比較部３７は、実測値と予測値とを比較し、比較の結果、実測値と予測値との差が閾値Ｔ１以上の場合、実測値を送信部３８へ通知する（Ｓ２８）。
【００６８】
また、データ比較部３７は、比較の結果、実測値と予測値との差が閾値Ｔ１以上の場合、センシングデータ（実測値）を有効計測値として有効データ記憶部３３に書き込む（Ｓ２９）。この場合、データ比較部３７は、センサ３１毎に、実測値の送信数をカウントする（Ｓ３０）。
【００６９】
データ比較部３７は、所定時間内の実測値の送信数（送信頻度）が閾値Ｔ２を超えた場合、予測エラーを予測モデル判定部３２に通知する（Ｓ３１）。予測モデル判定部３２は、予測エラーを受信すると、図３で説明した規則に従って予測モデルを変更する（Ｓ３２）。予測モデル判定部３２は、予測モデルの変更をデータ予測部３６に通知する（Ｓ３３）。
【００７０】
送信部３８は、データ比較部３７から実測値が通知された場合、センサノードＩＤ，センサＩＤ，及び実測値とを含む送信データをサーバ２１へ送信する（Ｓ３４）。
【００７１】
サーバ２１側では、受信部４８は、センサノード１１からの送信データを受信すると、実測値受信判定部４７へ送信する（Ｓ３５）。
【００７２】
実測値受信判定部４７は、センサノード１１からの送信データに含まれる実測値をアプリケーションデータ記憶部４５へ格納する（Ｓ３６）と共に、上位のアプリケーション４９へ転送する（Ｓ３７）。また、実測値受信判定部４７は、センサノード１１ＩＤ及びセンサＩＤの組み合わせ毎に、送信データの受信数をカウントする（Ｓ３８）。
【００７３】
実測値受信判定部４７は、所定時間内の実測値の送信数（送信頻度）が閾値Ｔ２を超えた場合、予測エラーを予測モデル判定部４２に通知する（Ｓ３９）。なお、実測値受信判定部４７は、実測値の送信があったことだけを予測モデル判定部４２に通知し、予測モデル判定部４２が単位時間当たりの送信頻度を算出してもよい。
【００７４】
予測モデル判定部４２は、予測エラーを受信すると、図３で説明した規則に従って予測モデルを変更する（Ｓ４０）。予測モデル判定部４２は、予測モデルの変更をデータ予測部４６に通知する（Ｓ４１）。
【００７５】
一方で、実測値受信判定部４７は、所定の時刻または所定時間内にセンサノード１１からの送信データを受信しない場合、データ予測部４６に予測指示を行う（Ｓ４２）。
【００７６】
データ予測部４６は、アプリケーションデータ記憶部４５から、有効計測値を新しい方から１以上読み出す（Ｓ４３）。データ予測部４６は、その１以上の有効計測値と、現在有効になっている予測モデルとを用いて、次のセンシングデータの予測値を算出する（Ｓ４４）。データ予測部４６は、センサノード１１からの送信データを有効計測値としてアプリケーションデータ記憶部４５へ格納する（Ｓ４５）と共に、上位のアプリケーション４９へ転送する（Ｓ４６）。
【００７７】
図８は、本実施形態（実施例１）における予測モデル判定部（ノード側及びサーバ側）の処理フローを示す。予測モデル判定部３２，４２は、起動時、予測モデルを変更した時刻を保持するパラメータであるモデル変更時刻Ｔｍの初期化を行う（Ｓ５１）。
【００７８】
予測モデル判定部３２，４２は、予測エラー通知を受信すると（Ｓ５２で「ＹＥＳ」）、予測モデルを変更し（Ｓ５３）、予測モデルの変更をデータ予測部３６、４６に指示する。予測モデル判定部３２，４２は、予測モデルを変更した時刻をモデル変更時刻Ｔｍに記録する（Ｓ５４）。その後、Ｓ５２の処理へ戻る。
【００７９】
Ｓ５３について、例えば、現在の予測モデルが図３（Ａ）である場合に予測エラー通知を受信すると、予測モデル判定部３２，４２は、予測モデルを図３（Ｂ）の予測モデルへと切り替える。また、現在の予測モデルが図３（Ｂ）である場合に予測エラー通知を受信すると、予測モデル判定部３２，４２は、予測モデルを図３（Ｃ）の予測モデルへと切り替える。
【００８０】
予測エラー通知を受信しない場合（Ｓ５２で「ＮＯ」）、Ｓ５５の処理へ進む。
予測モデル判定部３２，４２は、現在の時刻を取得し、モデル変更時刻Ｔｍからの経過時間ΔＴを算出する（Ｓ５５）。
【００８１】
モデル変更時刻Ｔｍ≦閾値Ｔ３の場合（所定時間が経過していない場合）（Ｓ５６で「Ｎｏ」）、Ｓ５２へ戻る。モデル変更時刻Ｔｍ＞閾値Ｔ３の場合（所定時間が経過している場合）（Ｓ５６で「Ｙｅｓ」）、予測モデル判定部３２，４２は、次の処理を行う。すなわち、予測モデル判定部３２，４２は、予測モデルを変更し（Ｓ５７）、予測モデルの変更をデータ予測部３６、４６に指示する。予測モデル判定部３２，４２は、予測モデルを変更した時刻をモデル変更時刻Ｔｍに記録する（Ｓ５８）。その後、Ｓ５２の処理へ戻る。
【００８２】
Ｓ５７について、例えば、現在の予測モデルが図３（Ｃ）である場合に予測エラー通知を受信すると、予測モデル判定部３２，４２は、予測モデルを図３（Ｂ）の予測モデルへと切り替える。また、現在の予測モデルが図３（Ｂ）である場合に予測エラー通知を受信すると、予測モデル判定部３２，４２は、予測モデルを図３（Ａ）の予測モデルへと切り替える。
【００８３】
このように、図８では、予測モデル判定部３２，４２は、エラー通知を受信する度により複雑な予測モデルまたは移動平均モデルに切り替え、所定時間が経過したら、より簡単なモデルに切り替える。
【００８４】
なお、図８では、予測モデル判定部３２，４２は、送信頻度が閾値Ｔ２を越えたか否かに基づいてデータ比較部３７または実測値受信判定部４７により発行されるエラー通知を受信して、予想モデルの切替を行っていたが、これに限定されない。たとえば、予測モデル判定部３２，４２が、図８の処理に加え、送信頻度が閾値Ｔ２を越えたか否かの判定を行ってもよい。これについて、図９を用いて説明する。
【００８５】
図９は、本実施形態（実施例１）における予測モデル判定部（ノード側及びサーバ側）の処理フローの他の例を示す。予測モデル判定部３２，４２は、予測モデルを変更した時刻を保持するパラメータであるモデル変更時刻Ｔｍの初期化を行う（Ｓ６１）。
【００８６】
予測モデル判定部３２，４２は、データ比較部３７により実測値の送信または実測値受信判定部４７より実測値を含む送信データの受信の通知があった場合（Ｓ６２で「ＹＥＳ」）、送信頻度Ｆｓを算出する（Ｓ６３）。ここでは、予測モデル判定部３２，４２は、データ比較部３７により実測値の送信または実測値受信判定部４７より実測値を含む送信データの受信の通知を受ける度に、その通知数をカウントしている。予測モデル判定部３２，４２は、所定時間内のその通知数（送信頻度Ｆｓ）が閾値Ｔ２を超えたか否かを判定する。
【００８７】
送信頻度Ｆｓ＞閾値Ｔ２の場合（Ｓ６４で「ＹＥＳ」）、予測モデル判定部３２，４２は、予測モデルを変更し（Ｓ６５）、予測モデルの変更をデータ予測部３６、４６に指示する。Ｓ６５の処理はＳ５３と同じである。予測モデル判定部３２，４２は、予測モデルを変更した時刻をモデル変更時刻Ｔｍに記録する（Ｓ６６）。その後、Ｓ６２の処理へ戻る。
【００８８】
データ比較部３７により実測値の送信または実測値受信判定部４７より実測値を含む送信データの受信の通知がない場合（Ｓ６２で「ＮＯ」）または送信頻度Ｆｓ≦閾値Ｔ２の場合（Ｓ６４で「ＮＯ」）、Ｓ６７の処理へ進む。
【００８９】
予測モデル判定部３２，４２は、現在の時刻を取得し、モデル変更時刻Ｔｍからの経過時間ΔＴを算出する（Ｓ６７）。
【００９０】
モデル変更時刻Ｔｍ≦閾値Ｔ３の場合（所定時間が経過していない場合）（Ｓ６８で「Ｎｏ」）、Ｓ６２へ戻る。モデル変更時刻Ｔｍ＞閾値Ｔ３の場合（所定時間が経過している場合）（Ｓ６８で「Ｙｅｓ」）、予測モデル判定部３２，４２は、次の処理を行う。すなわち、予測モデル判定部３２，４２は、予測モデルを変更し（Ｓ６９）、予測モデルの変更をデータ予測部３６、４６に指示する。予測モデル判定部３２，４２は、予測モデルを変更した時刻をモデル変更時刻Ｔｍに記録する（Ｓ７０）。その後、Ｓ６２の処理へ戻る。
【００９１】
実施例１によれば、実測値の送信頻度に応じて、予測モデルをより適切な予測モデルに変更することができる。そのため、観測環境の変化に対応した予測モデルに変更することにより、実測値と予測値との誤差が低減し、実測値を送る頻度が低減するので、電力消費量を低減させることができる。
【００９２】
（実施例２）
実施例２では、２つの予測モデルによる予測を同時に行い、その予測結果の良い方の予測モデルへ変更する例を説明する。例えば、現在適用している予測モデルが図３（Ｂ）または図３（Ｃ）の場合に、センサノードは、現在適用している予測モデルと、その１つ前の順の予測モデルによる予測とを同時に行う。ここで、現在適用している予測モデルが図３（Ｂ）の場合、その１つ前の順の予測モデルは図３（Ａ）となる。また、現在適用している予測モデルが図３（Ｃ）の場合、その１つ前の順の予測モデルは図３（Ｂ）となる。そして、センサノードは、現在適用している予測モデルよりもその１つ前の予測モデルの予測成績の方が良い場合、すなわち、その１つ前の予測モデルの方が送信頻度が低い場合、予測モデルをそのよい方に変更する。このとき、センサノードは、予測モデルの変更のトリガとなった測定値の送信時に、予測モデルの変更についての予測モデル変更情報を付加して送信する。
【００９３】
なお、実施例２では、実施例１と同一の構成、処理、機能については実施例１と同一の符号を付し、その説明を省略する。
【００９４】
図１０は、本実施形態（実施例２）におけるセンサノードの一例を示す。図１０のセンサノード１１は、図４のセンサノードにおけるデータ予測部３６及びデータ比較部３７を、２対のデータ予測部３６ａ，３６ｂ、データ比較部３７ａ，３７ｂに置き換えたものである。
【００９５】
図１１（図１１Ａ、図１１Ｂ、図１１Ｃ）は、本実施形態（実施例２）におけるセンサノードのシーケンス図である。図１１のシーケンスは、図７ＡのＳ２４〜Ｓ３４をＳ８１〜Ｓ９７に置き換えたものに相当する。
【００９６】
センサノード１１側において、データ予測部Ａ（３６ａ）は、有効データ記憶部３３から、有効計測値を新しい方から１以上読み出す（Ｓ８１）。このとき、データ予測部Ｂ（３６ｂ）も同様に、有効データ記憶部３３から、有効計測値を新しい方から１以上読み出す（Ｓ８２）。
【００９７】
データ予測部Ａ（３６ａ）は、その１以上の有効計測値と、現在有効になっている予測モデルとを用いて、次のセンシングデータの予測値を算出し、算出した予測値をデータ比較部Ａ（３７ａ）に送る（Ｓ８３）。データ予測部Ｂ（３６ｂ）は、読み出した有効計測値と、現在有効になっている予測モデルとを用いて、次のセンシングデータの予測値を算出し、算出した予測値をデータ比較部Ｂ（３７ｂ）に送る（Ｓ８４）。
【００９８】
センサ３１は、所定間隔でセンシングを行い、センシングデータ（実測値）を生成し、データ比較部Ａ（３７ａ）、データ比較部Ｂ（３７ｂ）に出力する（Ｓ８５、Ｓ８６）。
【００９９】
データ比較部Ａ（３７ａ）は、実測値と予測値とを比較する。比較の結果、実測値と予測値との差が閾値Ｔ１以上の場合、データ比較部Ａ（３７ａ）は、実測値の送信数をカウントし、データ予測部Ａ（３６ａ）で現在適用されている予測モデル適用時の送信頻度（予測成績Ａ）を算出する（Ｓ８７）。
【０１００】
また、データ比較部Ｂ（３７ｂ）は、実測値と予測値とを比較する。比較の結果、実測値と予測値との差が閾値Ｔ１以上の場合、データ比較部Ｂ（３７ｂ）は、カウンタをカウントする。データ比較部Ｂ（３７ｂ）は、カウンタの値を、データ予測部Ｂ（３６ｂ）で現在適用されている予測モデル適用時の仮の送信数とし、所定時間内の仮の送信数から送信頻度（予測成績Ｂ）を算出する（Ｓ８８）。
【０１０１】
データ比較部Ａ（３７ａ）は、予測成績Ａを予測モデル判定部３２に通知する（Ｓ８９）。データ比較部Ｂ（３７ｂ）は、予測成績Ｂを予測モデル判定部３２に通知する（Ｓ９０）。
【０１０２】
予測モデル判定部３２は、予測成績Ａ，Ｂを比較し、送信頻度の低い方の予測成績に対応する予測モデルに変更する（Ｓ９１）。予測モデル判定部３２は、予測モデルの変更をデータ予測部Ａ（３６ａ）に通知する（Ｓ９２）。また、予測モデル判定部３２は、予測モデルの変更（データ予測部Ａに通知したモデルの１つ前の予測モデル）をデータ予測部Ｂ（３６ｂ）に通知する（Ｓ９３）。
【０１０３】
予測モデル判定部３２は、データ比較部Ａ（３７ａ）に変更後の予測モデルをサーバ２１へ送信するように指示を行う（Ｓ９４）。
【０１０４】
データ比較部Ａ（３７ａ）は、実測値とともに、変更後の予測モデルを送信部３８に通知する（Ｓ９５）。また、データ比較部Ａ（３７ａ）は、センシングデータ（実測値）を有効データ記憶部３３に書き込む（Ｓ９６）。
【０１０５】
送信部３８は、データ比較部３７からの通知に基づいて、センサノードＩＤ，センサＩＤ，実測値、および変更後の予測モデル情報とを含む送信データをサーバ２１へ送信する（Ｓ９７）。
【０１０６】
実施例２によれば、より予測成績のよい予測モデルを採用することができるので、より精度のよい予測を行うことができる。
【０１０７】
（実施例３）
センサノードの電源が商用電源等である場合には電力の消耗については考慮する必要が少ないので、センシングデータの精度を保持するためにセンシングデータ（実測値）を計測の度にサーバへ送信してもよい。
【０１０８】
しかしながら、センサノードがバッテリ駆動で動作している場合か、または太陽電池等の環境発電装置を使って動作しているときにおいて発電量が０になっている場合には、センシングデータの精度を保ちつつ、電力の消耗量を抑える必要がある。
【０１０９】
そこで、実施例３では、センサノードがバッテリ駆動で動作している場合か、または太陽電池等の環境発電装置を使って動作しているとき（バッテリに限りがあるとき）において発電量が０になっている場合に、予測モデルの切替処理を行う。
【０１１０】
なお、実施例２では、実施例１と同一の構成、処理、機能については実施例１と同一の符号を付し、その説明を省略する。
【０１１１】
図１２は、本実施形態（実施例３）におけるセンサノードの一例を示す。図１３のセンサノード１１は、図４のセンサノードに、電源監視部３９を追加したものである。電源監視部３９の機能については、図１４で説明する。
【０１１２】
図１３は、本実施形態（実施例３）におけるセンサノードの処理フローを示す。電源監視部３９は、センサノード１１がバッテリ駆動で動作している場合か、または太陽電池等の環境発電装置を使って動作しているとき（バッテリに限りがあるとき）において発電量が０になっているかを判定する（Ｓ１０１）。
【０１１３】
バッテリ駆動で動作している場合か、または太陽電池等の環境発電装置を使って動作しているときにおいて発電量が０になっている場合（Ｓ１０１で「ＹＥＳ」）、電源監視部３９は、予測モデルの切替処理を開始する（Ｓ１０２）。例えば、電源監視部３９は、データ予測部３６に、図７ＡのＳ２４の処理を行うように通知する。これ以降の処理は、図７Ａ及び図７Ｂのシーケンス図と同様である。
【０１１４】
実施例３によれば、電力の消耗については考慮する必要がない場合には、送信頻度を考慮する必要がないので、予測値を算出する必要がないが、使用可能電力に制限がある場合に、センサノードに実施例１を適用することで、センシングデータの精度を保ちつつ、より消費電力を抑えることができる。
【０１１５】
（実施例４）
実施例４は、実施例３の変形例である。実施例４では、センサノードがバッテリ駆動か太陽電池等の環境発電装置を使って動作している場合に、バッテリ残量、発電量、送信頻度、センサ等のセンサモジュール内の消費電力から電力収支を計算し、継続動作不可の場合に予測モデルの切替処理を行う。
【０１１６】
なお、実施例４では、実施例３と同一の構成、処理、機能については実施例３と同一の符号を付し、その説明を省略する。
【０１１７】
図１４は、本実施形態（実施例４）におけるセンサノードの処理フローを示す。図１４のフローは、図１３のフローにＳ１１１〜Ｓ１１３の処理を追加ものである。
【０１１８】
バッテリまたは太陽電池等の環境発電装置を用いて動作している場合（Ｓ１０１で「ＹＥＳ」）、電源監視部３９は、以下の電力の収支を計算する。
【０１１９】
まず、評価する期間Ｔ、バッテリ残量Ｐ０［ｗ］、発電量ＧＰ［ｗ/ｈ］の場合、電源監視部３９は、総電力Ｐ［ｗ］＝Ｐ０＋ＧＰ×Ｔを計算する（Ｓ１１１）。
【０１２０】
次に、電源監視部３９は、消費電力を、通信部：Ｐｒ［ｗ]、ＣＰＵ部：Ｐｃ［ｗ］、センサ部Ｐｓ［ｗ］等毎に計測する。ここで、通信部の消費電力Ｐｒ［ｗ]は、１送信あたりの消費電力と送信頻度から計算される。ＣＰＵ部の消費電力Ｐｃ［ｗ］は、起動時の消費電力と動作時間から計算される。センサ部の消費電力Ｐｓ［ｗ］は、１計測当たりの消費電力とＴ当たりの測定回数から計算される。更に、これらをもとに
電源監視部３９は、総消費電力Ｃ＝Ｐｒ＋Ｐｃ＋Ｐｓ[ｗ]を算出する（Ｓ１１２）。
【０１２１】
ここで、総電力Ｐ＜総消費電力Ｃの場合（Ｓ１１３で「ＹＥＳ」）、電源監視部３９は、予測モデルの切替処理を開始する（Ｓ１０２）。例えば、電源監視部３９は、データ予測部３６に、図７ＡのＳ２４の処理を行うように通知する。これ以降の処理は、図７Ａ及び図７Ｂのシーケンス図と同様である。
【０１２２】
実施例４によれば、使用可能電力に制限がある場合、センサノード１１の電力収支を考慮して、使用可能電力よりも消費電力の方が大きい場合、送信頻度を制限するために適切な予測モデルを用いて予測値を算出することができる。これにより、センシングデータの精度を保ちつつ、消費電力を抑えることができる。
【０１２３】
（実施例５）
実施例５では、送信頻度が低く、安定してデータ予測が実施できる場合に、現在適用している予測モデルを使って次のセンシングデータを予測し、その予測値に応じて、センサが１回の計測にかける時間（計測時間）を決定することについて説明する。
【０１２４】
温度等の１つのセンシングデータを測定するために、実際にはセンサが複数回の計測（サンプリング）を行い、平均値をとるなどの処理を行っている場合が多い。ここで、計測時間とは、センサによる１回の計測において、サンプリングが例えば１０ｍｓ（ミリ秒）毎に行われるとすると、計測時間は、サンプリング間隔（１０ｍｓ）×サンプリング回数で示される。例えば、赤外線による距離測定の場合には、計測時間は、サンプリング間隔×赤外線の照射回数で示される。
【０１２５】
なお、実施例５では、実施例１と同一の構成、処理、機能については実施例１と同一の符号を付し、その説明を省略する。
【０１２６】
図１５は、本実施形態（実施例５）におけるセンサノードの一例を示す。図１５のセンサノード１１は、図４のセンサノードに、センサ制御部５１、計測時間記憶部５２を追加したものである。
【０１２７】
計測時間記憶部５２は、予測値と計測時間（またはサンプリング回数）とを対応づけた予測値−計測時間関係情報を格納する。
【０１２８】
センサ制御部５１は、計測時間記憶部５２の予測値−計測時間関係情報を参照して、予測値に基づいて、センサの計測時間（センサのサンプリング間隔×計測回数）を設定する。
【０１２９】
図１６は、本実施形態（実施例５）における予測値−計測時間関係情報の一例を示す。予測値−計測時間関係情報は、予測値に対応する計測時間が予め登録されている。なお、計測時間は、サンプリング回数でもよい。
【０１３０】
図１７は、本実施形態（実施例５）におけるセンサノードのシーケンス図である。図１７のシーケンスは、図７ＡのＳ２６〜Ｓ２７の間に、Ｓ１３１〜Ｓ１３３の処理を追加したものである。
【０１３１】
センサノード１１側において、データ予測部３６は、有効データ記憶部３３から、有効計測値を新しい方から１以上読み出す（Ｓ２４）。データ予測部３６は、その１以上の有効計測値と、現在有効になっている予測モデルとを用いて、次のセンシングデータの予測値を算出する（Ｓ２５）。データ予測部３６は、算出した予測値をデータ比較部３６に送る（Ｓ２６）。また、データ予測部３６は、算出した予測値をセンサ制御部５１に送る（Ｓ１３１）。
【０１３２】
センサ制御部５１は、データ予測部３６から予測値を受信すると、計測時間記憶部５２の予測値−計測時間関係情報から、受信した予測値に対応する計測時間を取得する（Ｓ１３２）。センサ制御部５１は、取得した計測時間をセンサ３１に設定する（Ｓ１３３）。
【０１３３】
センサ３１は、センサ制御部５１によって設定された計測時間の間、所定間隔でセンシングを行い、センシングデータ（実測値）を生成する（Ｓ２７）。これ以降は、図７Ａ及び図７Ｂと同様なので、その説明を省略する。
【０１３４】
実施例５によれば、センサにおいて、ある測定精度における１回の測定にかかる時間が、測定値により変化するため、最適な測定時間に調整することで、無駄な電力を消費させないように制御することができる。
【０１３５】
図１８は、本実施形態にかかるセンサノードのハードウェア構成の一例を示す。センサノード１１は、制御部６１、センサ部６２、記憶部６３、無線通信インターフェース（Ｉ／Ｆ）、バス６５、電源６６を含む。制御部６１、センサ部６２、記憶部６３、無線通信Ｉ／Ｆ６４は、バス６５で接続されている。
【０１３６】
センサ部６２は、例えば、水位センサ、温度センサ、湿度センサ、ガスセンサ、光センサ、音センサ等の監視対象物をモニタリングする検知装置である。記憶部６３は、ＲＡＭ（Random Access Memory）、不揮発性メモリ等の総称である。不揮発性メモリは、例えばＲＯＭ（Read Only Memory）、または読み書き可能なＳＳＤ（Solid State Drive）等の半導体メモリである。記憶部６３は、有効データ記憶部３３、誤差閾値記憶部３４、計測時間記憶部５２として機能する。また、記憶部６３は、複数の予測モデル、閾値等を記憶する。
【０１３７】
制御部６１は、センサノード６１全体の動作を制御するプロセッサであり、例えば、ＣＰＵ（Central Processing Unit）である。制御部６１は、本実施形態に係るプログラムを実行することにより、予測モデル判定部３２、受信部３５、データ予測部３６、データ比較部３７、送信部３８、データ予測部３６ａ，３６ｂ、データ比較部３７ａ，３７ｂ、電源監視部３９、センサ制御部５１として機能する。
【０１３８】
無線通信Ｉ／Ｆ６４は、無線通信を行うための処理を行うハードウェアである。
電源６５は、制御部６１、センサ部６２、記憶部６３、無線通信Ｉ／Ｆ６４等の電子部品に電力を供給して動作させるための電源であり、例えば小型電池、充電池、太陽電池等である。
【０１３９】
なお、センサノードは、本実施形態に係るプログラムを実行するプロセッサを含むコンピュータにより実現してもよい。
【０１４０】
図１９は、本実施形態におけるプログラムを実行するコンピュータのハードウェア環境の構成ブロック図の一例である。コンピュータ７０は、サーバ２１として機能する。コンピュータ７０は、ＣＰＵ７２、ＲＯＭ７３、ＲＡＭ７６、通信Ｉ／Ｆ７４、記憶装置７７、出力Ｉ／Ｆ７１、入力Ｉ／Ｆ７５、読み取り装置７８、バス７９、出力機器８１、入力機器８２によって構成されている。
【０１４１】
ここで、ＣＰＵは、中央演算装置を示す。ＲＯＭは、リードオンリメモリを示す。ＲＡＭは、ランダムアクセスメモリを示す。Ｉ／Ｆは、インターフェースを示す。バス７９には、ＣＰＵ７２、ＲＯＭ７３、ＲＡＭ７６、通信Ｉ／Ｆ７４、記憶装置７７、出力Ｉ／Ｆ７１、入力Ｉ／Ｆ７５、及び読み取り装置７８が接続されている。読み取り装置７８は、可搬型記録媒体を読み出す装置である。出力機器８１は、出力Ｉ／Ｆ７１に接続されている。入力機器８２は、入力Ｉ／Ｆ７５に接続にされている。
【０１４２】
記憶装置７７としては、ハードディスク、フラッシュメモリ、磁気ディスクなど様々な形式の記憶装置を使用することができる。記憶装置７７またはＲＯＭ７３には、ＣＰＵ７２を、誤差閾値設定部４１、予想モデル判定部４２、送信データ生成部４３、送信部４４、データ予測部４６、実測値受信判定部４７、受信部４８として機能させる本実施形態に係るプログラムが格納されている。記憶装置７７は、アプリケーションデータ記憶部４５として機能する。また、記憶装置７７は、誤差閾値等を格納する。ＲＡＭ７６には、情報が一時的に記憶される。
【０１４３】
ＣＰＵ７２は、記憶装置７７またはＲＯＭ７３から本実施形態に係るプログラムを読み出し、当該プログラムを実行する。
【０１４４】
上記実施形態で説明した処理を実現するプログラムは、プログラム提供者側から通信ネットワーク８０、および通信Ｉ／Ｆ７４を介して、例えば記憶装置７７に格納されてもよい。また、上記実施形態で説明した処理を実現するプログラムは、市販され、流通している可搬型記憶媒体に格納されていてもよい。この場合、この可搬型記憶媒体は読み取り装置７８にセットされて、ＣＰＵ７２によってそのプログラムが読み出されて、実行されてもよい。可搬型記憶媒体としてはＣＤ−ＲＯＭ、フレキシブルディスク、光ディスク、光磁気ディスク、ＩＣカード、ＵＳＢメモリ装置など様々な形式の記憶媒体を使用することができる。このような記憶媒体に格納されたプログラムが読み取り装置７８によって読み取られる。
【０１４５】
また、入力機器８２には、キーボード、マウス、電子カメラ、ウェブカメラ、マイク、スキャナ、センサ、タブレットなどを用いることが可能である。また、出力機器８１には、ディスプレイ、プリンタ、スピーカなどを用いることが可能である。また、ネットワーク８０は、インターネット、ＬＡＮ、ＷＡＮ、専用線、有線、無線等の通信網であってよい。
【０１４６】
なお、本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
【符号の説明】
【０１４７】
１      センサ制御装置
２      センサ
３      予測部
４      送信部
５      変更部
６      計測時間調整部
１１    センサノード
３１    センサ
３２    予測モデル判定部
３３    有効データ記憶部
３４    誤差閾値記憶部
３５    受信部
３６    データ予測部
３７    データ比較部
３８    送信部
４１    誤差閾値設定部
４２    予想モデル判定部
４３    送信データ生成部
４４    送信部
４５    アプリケーションデータ記憶部
４６    データ予測部
４７    実測値受信判定部
４８    受信部
【図１】
0006613562.tif 000002
【図２】
0006613562.tif 000003
【図３】
0006613562.tif 000004
【図４】
0006613562.tif 000005
【図５】
0006613562.tif 000006
【図６Ａ】
0006613562.tif 000007
【図６Ｂ】
0006613562.tif 000008
【図７Ａ】
0006613562.tif 000009
【図７Ｂ】
0006613562.tif 000010
【図７Ｃ】
0006613562.tif 000011
【図７Ｄ】
0006613562.tif 000012
【図８】
0006613562.tif 000013
【図９】
0006613562.tif 000014
【図１０】
0006613562.tif 000015
【図１１Ａ】
0006613562.tif 000016
【図１１Ｂ】
0006613562.tif 000017
【図１１Ｃ】
0006613562.tif 000018
【図１２】
0006613562.tif 000019
【図１３】
0006613562.tif 000020
【図１４】
0006613562.tif 000021
【図１５】
0006613562.tif 000022
【図１６】
0006613562.tif 000023
【図１７】
0006613562.tif 000024
【図１８】
0006613562.tif 000025
【図１９】
0006613562.tif 000026