(57)【要約】      （修正有）【課題】センサデバイスが管理する情報の更新処理を容易に行い、センサデバイスの消費電力を抑制する技術を提供する。【解決手段】センサデバイス１０１のプロセッサ２０４は、１又は複数のセンサ２０３による測定処理、および測定処理によって生成されるセンサデータの送信処理を行う。センサデバイス１０１は、プロセッサ２０４が行う処理を識別する識別子に対応して、処理の種別と、処理の実行契機と、センサデータを送信する契機を規定する契機情報とを含んで構成される処理ルーチンを保持する処理ルーチンテーブル２１１を有する。プロセッサ２０４は、処理ルーチンにおける処理において、契機情報に基づいて、測定処理したセンサデータを即時送信するか、またはバッファ２１２に一時格納して所定時間後に送信するように制御する。【選択図】図２
2020141217.tif 000002
【特許請求の範囲】
【請求項１】
１または複数のセンサと、
プログラムおよびデータを記憶するメモリと、
前記プログラムの実行により、前記センサによる測定処理、および該測定処理によって生成されるセンサデータの送信処理を行うプロセッサと、
該センサデータを送信する通信部と、を有し、
前記メモリは、
前記プロセッサで処理された該センサデータを保持するバッファと、
前記プロセッサが行う処理を識別する識別子に対応して、前記処理の種別と、前記処理の実行契機と、前記センサデータを送信する契機を規定する契機情報と、を含んで構成される処理ルーチンを保持する処理ルーチンテーブルと、を有し、
前記プロセッサは、前記処理ルーチンテーブルの該処理ルーチンにおける処理において、前記契機情報に基づいて、測定処理した該センサデータを即時送信するか、または前記バッファに一時格納して所定時間後に送信するように制御する、センサデバイス。
【請求項２】
前記プロセッサは、
前記契機情報に関わらず、前記センサによる測定処理結果に基づいて、該測定処理結果を測定処理完了後直ちに送信すること、または該測定処理結果を前記バッファに格納することを決定する、請求項１に記載のセンサデバイス。
【請求項３】
前記プロセッサは、管理サーバからの指示に従って、前記処理ルーチンテーブルの内容を追加、または変更、または削除する請求項１に記載のセンサデバイス。
【請求項４】
前記処理ルーチンテーブルは複数の測定処理を保持し、
前記処理ルーチンテーブルの前記処理ルーチンは測定処理の重要度情報を含む、
請求項１に記載のセンサデバイス。
【請求項５】
前記重要度情報は、重複時動作情報であり、
前記プロセッサは、前記センサデバイスが新たな測定処理（第１の測定処理）のトリガーがかかった際に前記センサデバイスがすでに別の測定処理（第２の測定処理）を実行中の場合、前記重複時動作情報に基づいて、第２の測定処理が終了後に第１の測定処理を実行するか、第２の測定処理を続行し第１の測定処理を中止するか、あるいは、第２の測定処理を中断し第１の測定処理を実行するかを決定する、
請求項４に記載のセンサデバイス。
【請求項６】
前記重要度情報は、優先度動作情報であり、
前記プロセッサは、前記センサデバイスが新たな測定処理（第１の測定処理）のトリガーがかかった際に前記センサデバイスがすでに別の測定処理（第２の測定処理）を実行中の場合、前記優先度情報に基づいて、第１の測定処理より第２の測定処理の優先度が高ければ、第２の測定処理を続行して第１の測定処理を中止し、第１の測定処理より第２の測定処理の優先度が低ければ、第２の測定処理を中断して第１の測定処理を実行する、ことを決定する、
請求項４に記載のセンサデバイス。
【請求項７】
前記メモリは、
前記センサデバイスにおける、前記センサによる測定時間、サンプリング数、観測周波数を含むパラメータの組み合わせ（パラメータセット）を規定して、該パラメータセットごとにパラメータセット識別情報を付与したパラメータセットテーブルを保持し、
前記処理ルーチンテーブルは、前記処理ルーチンごとに、該パラメータセット識別情報を有し、
前記プロセッサは、コマンドの指示に従い、前記パラメータセットテーブルに定義された前記パラメータセット識別情報に基づいて、前記処理ルーチンテーブルの前記パラメータセット識別情報を追加、変更する、請求項１に記載のセンサデバイス。
【請求項８】
前記メモリは、実行契機が時間である処理について、次回の実行開始タイミングをタイマーキューとして管理するタイマーキューテーブルを保持し、
前記プロセッサは、前記センサデータを即時送信するか、または前記バッファに一時格納した後に、前記タイマーキューテーブルの前記タイマーキューを更新する
請求項１に記載のセンサデバイス。
【請求項９】
前記センサとして、振動センサと、漏水検知センサを有し、
前記メモリは、前記センサの測定処理を行って前記センサデータを生成する測定処理プログラムと、前記センサデータの送信処理を行う送信処理プログラムと、センサデバイスの状態を監視するセンサデバイス状態検知処理プログラムと、漏水検知測定処理プログラムと、地震検知測定処理プログラムと、前記処理ルーチンテーブルの更新処理を行う処理ルーチンテーブル更新プログラムと、を記憶し、
前記プロセッサは、複数の上記処理プログラムを実行する、
請求項１に記載のセンサデバイス。
【請求項１０】
ネットワークを介して接続される、センサデバイスと、該センサデバイスを制御して、測定されたセンサデータを取得する管理サーバと、を含むセンサデバイス管理システムであって、
前記センサデバイスは；
１または複数のセンサと、
プログラムおよびデータを記憶するメモリと、
前記プログラムの実行により、前記センサによる測定処理、および該測定処理によって生成されるセンサデータの送信処理を行うプロセッサと、
該センサデータを送信する通信部と、を有し、
前記メモリは、
前記プロセッサで処理された該センサデータを保持するバッファと、
前記プロセッサが行う処理を識別する識別子に対応して、前記処理の種別と、前記処理の実行契機と、前記センサデータを送信する契機を規定する契機情報と、を含んで構成される処理ルーチンを保持する処理ルーチンテーブルと、を有し、
前記プロセッサは、前記処理ルーチンテーブルの該処理ルーチンにおける処理において、前記契機情報に基づいて、測定処理した該センサデータを即時送信するか、または前記バッファに一時格納して所定時間後に送信するように制御し、
前記管理サーバは；
前記センサデバイスから測定処理結果を受信し、
前記センサデバイスに対して、前記処理ルーチンテーブルの処理ルーチンの追加、または変更、または削除を指示する、センサデバイス管理システム。
【請求項１１】
前記管理サーバは、
プログラムを実行する処理装置と、表示画面を表示する入出力インタフェースを有する入出力器と、記憶部と、を有し、
前記表示画面は、
各前記センサデバイスごとに、該センサデバイスの状態、設置エリア、前記処理ルーチンテーブルの確認状況を含む、複数のセンサデバイスのセンサデバイス一覧と、
及び又は、前記センサデバイス一覧から選択された１つの前記センサデバイスが有する、前記処理ルーチンテーブルの内容一覧と、を含む
請求項１０に記載のセンサデバイス管理システム。
【請求項１２】
前記表示画面は、前記処理ルーチンテーブルの内容一覧と共に、
該処理ルーチンテーブルの前記処理ルーチンの追加を指示する行追加ボタン、
該処理ルーチンテーブルの前記処理ルーチンの削除を指示する削除欄、
該処理ルーチンテーブルの前記処理ルーチン内のある項目の変更を指示する更新ボタン、
を表示する
請求項１１に記載のセンサデバイス管理システム。
【請求項１３】
ネットワークを介して接続される、センサデバイスと、該センサデバイスを制御して、測定されたセンサデータを取得する管理サーバと、を含むシステムにおけるセンサデバイス管理方法であって、
前記センサデバイスにおいて；
１または複数のセンサが対象を測定するステップと、
メモリがプログラムおよびデータを記憶するステップと、
プロセッサが前記プログラムの実行により、前記センサによる測定処理、および該測定処理によって生成されるセンサデータの送信処理を行うステップと、
通信部が該センサデータを送信するステップと、
処理ルーチンテーブルが、前記プロセッサが行う処理を識別する識別子に対応して、前記処理の種別と、前記処理の実行契機と、前記センサデータを送信する契機を規定する契機情報と、を含んで構成される処理ルーチンを保持して管理するステップと、
前記プロセッサが、前記処理ルーチンテーブルの該処理ルーチンにおける処理において、前記契機情報に基づいて、測定処理した該センサデータを即時送信するか、またはバッファに一時格納して所定時間後に送信するように制御するステップと、
前記管理サーバにおいて；
前記センサデバイスから測定処理結果を受信するステップと、
前記センサデバイスに対して、前記処理ルーチンテーブルの処理ルーチンの追加、または変更、または削除を指示するステップと、
を有するセンサデバイス管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、センサデバイスおよびセンサデバイス管理システム、センサデバイスの管理方法に係り、特にセンサデバイスが行う処理動作の管理に関するものである。
【背景技術】
【０００２】
インフラなどの設備に多数のセンサデバイスを設置し、無線ネットワークを通じてセンサデバイスの測定データの収集などを行うＩｏＴ（Internet of Things）の実用化の検討が進んでいる。例えば、特許文献１には、監視対象物に設置された複数のセンサからのデータを、サーバが収集して分析し、監視対象物の異常またはその予兆を検出するデータ収集システムが開示されている。
【０００３】
通常、ＩｏＴでは多数のセンサデバイスを設置するため、センサデバイス１台あたりの製造コストや運用コストを低減することが求められる。例えば、センサデバイスは内蔵する電池により駆動されるが、マンホール内や高所など、センサデバイスが作業者の立ち入りが困難な場所に設置された場合、電池の交換を容易に行えない。また、電池の交換が可能であったとしても、多数のセンサデバイスの電池を交換するとなると、非常に多くのコストがかかってしまう。従って、センサデバイスの電池を長持ちさせるため、センサデバイスは低消費電力である重要である。
【０００４】
システム全体の消費電力を低減するために、例えば特許文献２には、無線端末のいずれかと直接または他の１以上の無線端末を介することにより他の全ての無線端末とパケット化されたデータにより通信をする無線通信ネットワークシステムの無線端末が、間欠周期を制御し、予め設定した期間、無線端末の送受信状態を解析し、解析結果に基づいてスリープ期間を延長または短縮する、無線通信ネットワークシステムが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１６−１６３２４２号公報
【特許文献２】特開２０１０−２８１６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
センサデバイスの消費電力を低減する方法として、間欠動作が挙げられる。間欠動作では、センサデバイスが無線でデータ送信を行う期間（アクティブモード）以外では、センサデバイスの無線モジュールの電源を切り、アクティブモード時に消費電力が低いスリープモードに移行する。
【０００７】
センサデバイスが、常に測定処理プログラムの実行後に測定処理結果を無線で送信する場合、頻繁に実行される測定処理プログラムがあると、センサデバイスは頻繁に無線通信を行うため、低消費電力化が困難である。
【０００８】
一方、低消費電力化のために測定処理プログラムの実行頻度と関係なく、例えば３日に１回無線でデータ送信のごとく無線通信頻度を固定的に決めると、センサデバイスで測定してから、管理サーバが測定処理結果を取得するまでに、長時間かかり、測定処理結果の新鮮さが低下してしまう。
【０００９】
また、センサデバイスでは様々な処理プログラムを実行する。例えば、センサの測定データを加工する測定処理プログラムや、測定処理結果を無線で送信する送信処理プログラムである。センサデバイスは、温度センサ、湿度センサ、振動センサ、地震センサなど、複数のセンサを具備しており、複数種類の測定処理プログラムを実行する場合がある。また、センサデバイスは、単一のセンサの測定データを用いて、複数種類の測定処理プログラムを実行する場合がある。
【００１０】
測定処理プログラムの内容や、収集した測定処理結果の使い方などによって、測定処理結果に対する新鮮さの要件は異なる。例えば、センサデバイスの振動センサの測定データを利用して水道管の漏水を検知するアプリケーションでは、漏水量が少なければ、直ちに漏水を検知する必要性が低く、新鮮さの要件は比較的緩い。一方、水道管が埋設された場所付近で、届出のない工事（他工事）が行われている場合、他工事が続けられると水道管を破損してしまうおそれがある。そこで、他工事の実施を検知するアプリケーションは、他工事の発生後、なるべく早く他工事発生を把握する必要があるので、新鮮さの要件が厳しい。
【００１１】
このように、センサデバイスは、測定処理の種類によって異なる新鮮さの要件、換言すれば速報性の要件を満たすよう、無線通信を行いつつ、無線通信の頻度を抑制し低消費電力化を実現することが求められる。なお、センサデバイスにおける測定処理の種類によって異なる速報性の要件を如何に満たすかについて、特許文献１には言及されていない。
【００１２】
本発明の目的は、センサデバイスの消費電力を抑制することにある。
本発明はまた、センサデバイスが管理する情報の更新処理を容易に行うことにある。
【課題を解決するための手段】
【００１３】
本発明に係るセンサデバイスは、好ましい一例によれば、１または複数のセンサと、
プログラムおよびデータを記憶するメモリと、
前記プログラムの実行により、前記センサによる測定処理、および該測定処理によって生成されるセンサデータの送信処理を行うプロセッサと、
該センサデータを送信する通信部と、を有し、
前記メモリは、
前記プロセッサで処理された該センサデータを保持するバッファと、
前記プロセッサが行う処理を識別する識別子に対応して、前記処理の種別と、前記処理の実行契機と、前記センサデータを送信する契機を規定する契機情報と、を含んで構成される処理ルーチンを保持する処理ルーチンテーブルと、を有し、
前記プロセッサは、前記処理ルーチンテーブルの該処理ルーチンにおける処理において、前記契機情報に基づいて、測定処理した該センサデータを即時送信するか、または前記バッファに一時格納して所定時間後に送信するように制御する、センサデバイスとして構成される。
【００１４】
本発明に係るセンサデバイス管理システムは、好ましい一例によれば、ネットワークを介して接続される、センサデバイスと、該センサデバイスを制御して、測定されたセンサデータを取得する管理サーバと、を含むセンサデバイス管理システムであって、
前記センサデバイスは；
１または複数のセンサと、
プログラムおよびデータを記憶するメモリと、
前記プログラムの実行により、前記センサによる測定処理、および該測定処理によって生成されるセンサデータの送信処理を行うプロセッサと、
該センサデータを送信する通信部と、を有し、
前記メモリは、
前記プロセッサで処理された該センサデータを保持するバッファと、
前記プロセッサが行う処理を識別する識別子に対応して、前記処理の種別と、前記処理の実行契機と、前記センサデータを送信する契機を規定する契機情報と、を含んで構成される処理ルーチンを保持する処理ルーチンテーブルと、を有し、
前記プロセッサは、前記処理ルーチンテーブルの該処理ルーチンにおける処理において、前記契機情報に基づいて、測定処理した該センサデータを即時送信するか、または前記バッファに一時格納して所定時間後に送信するように制御し、
前記管理サーバは；
前記センサデバイスから測定処理結果を受信し、
前記センサデバイスに対して、前記処理ルーチンテーブルの処理ルーチンの追加、または変更、または削除を指示する、センサデバイス管理システム、として構成される。
本発明はまた、上記センサデバイス管理システムにおけるセンサデバイス管理方法としても把握される。
【発明の効果】
【００１５】
本発明によれば、測定処理の種類に応じてセンサデータの送信を柔軟に行うことができ、センサデバイスの消費電力を抑制することができる。また、センサデバイスが管理する情報の更新処理を容易に行うことができる。
【図面の簡単な説明】
【００１６】
【図１】一実施例によるセンサデバイス管理システムの構成を示す図である。
【図２】一実施例のセンサデバイスの構成を示す図である。
【図３】一実施例の管理サーバの構成を示す図である。
【図４】一実施例の処理ルーチンテーブルの構成例を示す図である。
【図５】一実施例のパラメータセットテーブルの構成例を示す図である。
【図６】一実施例のタイマーキューテーブルの構成例を示す図である。
【図７】一実施例の測定共通処理のフローチャートである。
【図８】一実施例のタイマーキュー更新処理のフローチャートである。
【図９】一実施例のセンサデバイスが送信タイミングを決定する測定共通処理のフローチャートである。
【図１０】一実施例の無線送信処理のフローチャートである。
【図１１】一実施例のルーチンテーブル更新における動作シーケンスを示す図である。
【図１２】一実施例のルーチンテーブル更新メッセージの構成例を示す図である。
【図１３】一実施例の処理ルーチン追加・変更コマンド、処理ルーチン削除コマンド、パラメータセット追加・変更コマンドの構成例を示す図である。
【図１４】一実施例のルーチンテーブル更新における動作シーケンスを示す図である。
【図１５】一実施例のルーチンテーブル更新における動作シーケンスを示す図である。
【図１６】一実施例の詳細データ取得決定処理のフローチャートである。
【図１７】一実施例の詳細データ取得のためのルーチンテーブル更新メッセージの構成例を示す図である。
【図１８】一実施例の詳細データ取得のためのルーチンテーブル更新後の処理ルーチンテーブルの構成例を示す図である。
【図１９】一実施例の重複時動作および優先度情報を含む処理ルーチンテーブルの構成例を示す図である。
【図２０】一実施例の重複時動作および優先度情報に基づくタイマーキュー更新処理のフローチャートである。
【図２１】一実施例の重複時動作および優先度情報に基づく測定共通処理のフローチャートである。
【図２２】一実施例の重複時動作および優先度情報に基づくタイマーキュー更新処理のフローチャートである。
【図２３】一実施例のセンサデバイス一覧表示画面の表示例である。
【図２４】一実施例のルーチンテーブル確認画面の表示例である。
【図２５】一実施例のルーチンテーブル確認画面の表示例である。
【図２６】一実施例のパラメータセット確認画面の表示例である。
【図２７】一実施例のエリア一覧表示画面の表示例である。
【図２８】一実施例のエリア単位ルーチンテーブル確認画面の表示例である。
【図２９】一実施例のグループ一覧表示画面の表示例である。
【図３０】一実施例のグループ単位ルーチンテーブル確認画面の表示例である。
【図３１】一実施例のグループ編集画面の表示例である。
【発明を実施するための形態】
【００１７】
以下、本発明の実施形態を、図面に基づいて詳細に説明する。
図１は、一実施例によるセンサデバイス管理システムの構成を示す図である。
センサデバイス管理システムは、複数のセンサデバイス１０１、無線ネットワーク１０２、管理サーバ１０３、データベース１０４、アプリケーションサーバ１０５を含んで構成される。センサデバイス１０１は無線ネットワーク１０２を介して管理サーバ１０３に接続される。無線ネットワーク１０２は、ＬＰＷＡ（Low Power Wide Area）ネットワークやセルラー通信ネットワークであり、通常、無線基地局やネットワークサーバなどから構成される。
【００１８】
センサデバイス１０１は、温度、湿度、振動などを測定する測定器であり、測定データや測定データを基に作成した情報（以下、これらを纏めて測定処理結果又はセンサデータという）は、無線ネットワーク１０２を介して管理サーバ１０３へ送信される。なお、測定データを基に作成した情報とは、例えば測定データの圧縮処理やデータの形式変換のように、データの加工処理を施したものをいう。管理サーバ１０３は、受信した測定処理結果をデータベース１０４に格納する。データベース１０４はネットワーク上に設置されたコンピュータであり、センサデバイス１０１に関する管理情報や測定処理結果を記憶する。アプリケーションサーバ１０５は、データベース１０４からセンサデバイス１０１に関する管理情報や測定処理結果を取得して、分析や分析結果の表示を行う。
【００１９】
図２は、センサデバイス１０１の構成を示す図である。
センサデバイス１０１は、制御部２０１、無線通信部２０２、センサ２０３を有して構成され、電池で駆動される。なお、電池（電源）の図示は省略している。
【００２０】
制御部２０１は、マイクロプロセッサ２０４と、メモリ２０５を有する。マイクロプロセッサ２０４はプログラムを実行して、センサ２０３の測定制御、センサ２０３の測定データを加工する測定処理、無線通信部２０２への測定処理結果送信指示、無線通信部２０２から受信した情報の処理などを行う。メモリ２０５は処理ルーチンテーブル２１１、一括送信用バッファ２１２、タイマーキューテーブル２１３、パラメータセットテーブル２１４、センサデバイスの状態を検知して監視するセンサデバイス状態検知処理プログラム２２１、漏水検知測定処理プログラム２２２、他工事が行われていることを検知する他工事検知測定処理プログラム２２３、地震検知測定処理プログラム２２４、無線送信処理プログラム２２５、測定共通処理プログラム２２６、タイマーキュー更新処理プログラム２２７、処理ルーチンテーブル更新処理プログラム２２８を記憶する。これらのテーブルの構成とプログラムの処理動作については後述する。無線通信部２０２は、無線ネットワーク１０２との間で無線送受信する。センサ２０３は、温度、湿度、振動など対象の物理的変化等を測定する検知器であり、センサデバイス１０１は１または複数種類のセンサ２０３を有する。本実施例では、センサとして、漏水を検知する湿度センサ、及び振動を検知する振動センサを用いる。振動センサは例えば、地震や他工事による地面の振動を検知することができ、他工事検知測定処理プログラム２２３および地震検知測定処理プログラム２２４が、振動センサで測定された振動の振幅や周期を基に他工事か又は地震を検知測定する。
【００２１】
図３は、管理サーバ１０３の構成を示す図である。
管理サーバ１０３は、メモリ（記憶部）３０１、プロセッサ（処理装置）３０２、入出力器３０６を接続する入出力インタフェース３０３、ネットワークインタフェース３０４、および外部記憶装置３０５を有して構成される。管理サーバ１０３の各機能は、外部記憶装置３０５に格納されるプログラムがメモリ３０１に展開されて、プロセッサ３０２で実行されることで実現する。管理サーバ１０３はネットワークインタフェース３０４により、無線ネットワーク１０２を介してセンサデバイス１０１と通信する。また管理サーバ１０３は、ネットワークインタフェース３０４を介してデータベース１０４、アプリケーションサーバ１０５と接続される。
【００２２】
メモリ３０１は、処理ルーチンテーブル３１１、パラメータセットテーブル３１２、および詳細データ取得決定処理プログラム３２１を格納する。処理ルーチンテーブル３１１とパラメータセットテーブル３１２は、センサデバイスの処理ルーチンテーブル２１１とパラメータセットテーブル２１４を管理するために保持されている。これらのテーブルの構成とプログラムの処理動作については後述する。
なお、後の動作説明（例えば図１１以降）において、「管理サーバ１０３の処理或いは指示」等の表現が出てくるが、これらは管理サーバ１０３が有するプロセッサ（処理装置）３０２がプログラムを実行して行う処理の意味であり、説明の便宜上「管理サーバの処理」云々と述べている。
【００２３】
次に、図４以降の図面を参照して、センサデバイスが処理ルーチンテーブルに基づいて測定処理、および測定処理結果を無線送信する送信処理を行う手順を説明する。
【００２４】
図４は、センサデバイス１０１が保持する処理ルーチンテーブル２１１の例である。処理ルーチンテーブルは、出荷時等に予めセンサデバイスに書き込まれる。また、管理サーバから１０２の指示で処理ルーチンテーブル２１１の内容が更新されることがある。これについては後述する。
【００２５】
処理ルーチンテーブル２１１の各行は１つの処理ルーチンに対応する。各処理ルーチンは、処理ＩＤ、Ｅｎａｂｌｅ、処理種別、実行契機、実行時刻、実行周期、送信契機、パラメータセットＩＤの項目を含む。処理ＩＤは、センサデバイス１０１における処理ルーチンを特定するための識別子である。Ｅｎａｂｌｅは、センサデバイスが当該の処理を実行すべきかそうでないかを示し、この例ではＥｎａｂｌｅｄ（実行対象）またはＤｉｓａｂｌｅｄ（実行対象外）のいずれかを示す。処理種別はセンサデバイスが行う処理の種別を示し、図示の例では、センサデバイス状態検知処理（単に状態と示す）、漏水検知測定処理（漏水と示す）、他工事検知測定処理（他工事と示す）、地震検知測定処理（地震と示す）、一括送信処理（一括送信と示す）、のような種別がある。センサデバイス状態検知処理とは、例えばセンサデバイスの電池の残量を確認したり、センサ２０３の状態を確認する処理である。
【００２６】
実行契機は、センサデバイスが当該の処理を実行開始する時期（タイミングといってもよい）を示しており、この例では時間とイベントのいずれかが選択される。イベント契機での処理の実行開始とは、予め定められたタイミングではなく、イベントの発生を契機として処理を実行開始することであり、例えばセンサデバイスのセンサ（振動センサ）が一定の大きさを超える振動を検知したときに地震検知測定処理を開始するという処理である。実行時刻および実行周期は、実行契機が時間である処理において処理の実行開始時刻および実行する時間周期を示す。送信契機は、測定処理結果を送信する時期を示しており、この例では測定処理後の即時送信または一括送信のいずれかが選択される。一括送信とは、センサデバイス１０１が測定処理結果をバッファ２１２に格納しておき、別途、処理ルーチンテーブル上で定義される一括送信処理（処理ＩＤ：Ｎｏ６の処理）に基づいて送信するという処理である。パラメータセットＩＤは、センサデバイスが当該の処理で用いるパラメータセットの識別情報である。
【００２７】
次に図５を参照して、パラメータセットとパラメータセットＩＤについて説明する。
図５は、漏水検知測定処理に関してセンサデバイス１０１が保持するパラメータセットテーブル２１４の例を示す。センサデバイス１０１は、前述の処理種別ごとにパラメータセットテーブルを保持する。すなわち、パラメータセットＩＤは、同一センサデバイスの同一処理種別内において一意である。
【００２８】
パラメータセットテーブル２１４は、測定期間、ＦＦＴ点数（サンプリング数）などの各パラメータに対して、複数の値の組み合わせを持っている。各パラメータに対する値の組み合わせをパラメータセットと呼ぶ。図５の例では、パラメータセットテーブル２１４は、パラメータセットＩＤ＝０、１、２の３つのパラメータセットを持つ。センサデバイスを運用開始する時点で、センサデバイスが少なくとも１つのパラメータセットを持つことが望ましく、例えば、センサデバイス１０１の出荷時に、パラメータセットＩＤ＝０とそれに対応する各パラメータの値をデフォルトパラメータセットとして、処理ルーチンテーブル２１１に書き込んでおくとよい。
【００２９】
センサデバイス１０１は、省電力化のため、処理を行うとき以外はマイクロプロセッサ２０４をスリープさせておく。センサデバイス１０１は、処理ルーチンテーブル２１１で定義される処理実行契機で処理を実行する。即ち、センサデバイス１０１は、実行契機が時間であれば、実行時刻と実行周期から決定される所定のタイミングで処理を行い、実行契機がイベントであれば、センサが一定の大きさを超える振動を検知したなど所定のイベント発生を契機に処理を行う。
センサデバイス１０１は、実行契機が時間である処理について、次回の実行開始タイミングをタイマーキューテーブル２１３で管理する。
【００３０】
図６はセンサデバイス１０１が保持するタイマーキューテーブル２１３の例を示す。タイマーキューテーブル２１３は、各処理ＩＤとその次回の実行開始日時の情報を含んでおり、実行開始タイミングが早い順でこれらの情報を持っている。タイマーキューテーブル２１３の実行開始日時となったとき、あるいは処理の実行契機となるイベントが発生したとき、センサデバイス１０１は当該の処理を実行する。ここで、処理ルーチンテーブル２１１上の処理のうち、無線送信に関わるもの（図５の例では処理ＩＤ＝６）を送信処理、それ以外（図５の例では処理ＩＤ＝１〜５）を測定処理と呼ぶ。
【００３１】
次に、図７を参照して、センサデバイス１０１が行う測定処理を説明する。
図７は、測定処理種別間で共通の測定処理の手順を説明する図である。この処理は、センサデバイス１０１のマイクロプロセッサ２０４が測定共通処理プログラム２２６を実行することで行われる。
【００３２】
マイクロプロセッサ２０４は、当該の処理ＩＤに対応する処理ルーチン情報を取得し（７０１）、処理種別に応じた測定処理を行う（７０２）。例えば、処理種別が漏水検知測定処理（漏水）である場合、マイクロプロセッサ２０４は漏水検知測定処理プログラム２２２を実行する。漏水検知測定処理プログラム２２２は、センサで測定された振動データを、ＦＦＴによる周波数領域への変換、フィルタリング、標本化、量子化などを行って加工し、測定処理結果を出力する。なお、処理ＩＤに対応した処理種別が、状態、他工事、地震、一括送信の場合、それらの処理に応じたプログラム２２１、２２３、２２４、２２５が実行される。
【００３３】
処理種別に応じた処理７０２の実行後、当該の処理ＩＤに対応する送信契機が即時であるかを判定する（７０３）。判定の結果、即時である場合（７０３のＹｅｓ）、マイクロプロセッサ２０４は即時送信処理を行う（７０４）。送信処理については図１０を参照して後述する。なお、即時送信処理は直ちに行ってもよく、一定期間経過後に行ってもよい。なお、一定期間とは送信契機が「一括」の場合の時間よりも相当短い時間である。即時送信に関して、センサデバイス１０１ごとに異なる期間を設定し、その期間後に即時送信処理を行うのが好ましい。このようにすれば、センサデバイス間で無線送信タイミングを異ならせることができ、無線パケットの衝突を回避することが可能となるので、無線パケットの再送による消費電力の増加を防ぐことができる。当該の処理ＩＤに対応する送信契機が一括である場合（７０３のＮｏ）、マイクロプロセッサ２０４は、測定処理結果を一括送信用バッファ２１２に格納する（７０５）。その後、マイクロプロセッサ２０４は、タイマーキュー更新を行う（７０６）。
【００３４】
次に、図８および図６を参照して、タイマーキュー更新の手順を説明する。
図８はタイマーキュー更新処理の手順を示す図である。タイマーキュー更新は、センサデバイス１０１のマイクロプロセッサ２０４がタイマーキュー更新処理プログラム２２７を実行することで行われる。図８において、マイクロプロセッサ２０４は、当該の測定処理について、処理ルーチン情報に基づいて、次回の測定処理実行タイミングを算出し、タイマーキューに挿入する（８０１）。
【００３５】
図８のタイマーキューに挿入（８０１）について、図６を参照して具体的に説明する。図６（ａ）は更新前のタイマーキューであり、マイクロプロセッサ２０４は、処理ＩＤ＝２に関してタイマーキュー更新を行うとする。マイクロプロセッサ２０４は、処理ルーチン情報に基づいて、次回の測定処理実行タイミングを算出する。処理ＩＤ＝２に関する次回の測定処理実行タイミングが図６（ｂ）のように、算出されたとする。マイクロプロセッサ２０４は、実行開始タイミングが早い順となるよう、図６（ｂ）の情報をタイマーキューに挿入して更新する。その結果、更新後のタイマーキューは、図６（ｃ）のようになる。
【００３６】
なお、図７の測定共通処理では、処理ルーチンテーブル２１１における送信契機が即時か一括かに基づいて、測定処理結果を即時送信するか一括送信するかを判定する。センサデバイス１０１が、測定処理結果に基づいて、測定処理結果を即時送信するか一括送信するかを判定してもよい。
【００３７】
次に、図９を参照して、センサデバイス１０１が測定処理結果を即時送信するか一括送信するかを判定する場合の測定共通処理について説明する。図９は測定共通処理の手順を説明する図である。以下の説明では漏水検知測定処理を例にあげる。
【００３８】
図９のステップ９０１、９０２は図７の７０１、７０２と同様であるため説明を省略する。マイクロプロセッサ２０４は、測定処理結果に基づき、振動量が閾値を超過するかどうかを判定する（９０３）。振動量が閾値を超過する場合（９０３のＹｅｓ）、マイクロプロセッサ２０４は、即時送信処理を行う（９０４）。これは、振動量が閾値を超過する場合、水道管で漏水が発生している可能性があるため、センサデバイス１０１が即時送信によって早急に管理サーバ１０３に報告する。これにより、管理サーバ１０３が詳細な情報を取得するように、センサデバイスに指示し、或いは作業者に指示してセンサデバイスの状況を調査するといったアクションをとらせることができる。一方、振動量が閾値を超過しないとき（９０３のＮｏ）、マイクロプロセッサ２０４は、測定処理結果を一括送信用バッファ２１２に格納する（９０５）。これは、振動量が閾値を超過しない場合は、水道管で漏水が発生している可能性が低く、測定処理結果を早急に管理サーバに報告する必要性が低い。この場合一括送信することにより無線送信頻度の抑制を図ることができる。その後、マイクロプロセッサ２０４は、タイマーキュー更新を行う（９０６）。
【００３９】
このように、センサデバイス１０１が測定処理結果に基づいて、測定処理結果を即時送信するか一括送信するかを判定することで、緊急性の高い情報をタイムリーに管理サーバが収集でき、かつ、緊急性の低い情報は一括送信とすることでセンサデバイスの無線送信頻度を抑制し、省電力化が可能となる。
【００４０】
次に、図１０を参照して、センサデバイス１０１における無線送信処理を説明する。図１０は、測定処理種別間で共通の測定処理の手順を説明する図である。無線送信処理は、図７のステップ７０４や図９のステップ９０４の即時送信を行う時、および処理ルーチンテーブル２１１で定義される一括送信を行う時に実行される。この処理は、センサデバイス１０１のマイクロプロセッサ２０４が無線送信処理プログラム２２５を実行することで行われる。
【００４１】
まず、マイクロプロセッサ２０４は、送信すべき測定処理結果を取得する（１００１）。送信すべき測定処理結果とは、即時送信の場合は当該の測定処理の処理結果であり、一括送信の場合は一括送信用バッファ２１２に格納された測定処理結果である。マイクロプロセッサ２０４は、測定処理結果を用いて無線送信するためのパケットを生成する（１００２）。マイクロプロセッサ２０４は、生成したパケットを無線通信部２０２に渡し、無線通信を指示する（１００３）。無線通信部２０２はパケットを送信する。無線通信部２０２が管理サーバ１０３からのパケットを受信した場合は、受信パケットをマイクロプロセッサ２０４に渡す。マイクロプロセッサ２０４は、受信パケットがあり、受信パケットがルーチンテーブル更新メッセージを含む場合は、処理ルーチンテーブル２１３の更新を行う（１００４）。処理ルーチンテーブルの更新方法については後述する。マイクロプロセッサ２０４は、受信パケットが時刻情報を含む場合、時刻合わせを行いセンサデバイス１０１の時刻を補正する（１００５）。マイクロプロセッサ２０４は、一括送信の場合はタイマーキューを更新し、次回の一括送信処理をタイマーキューに挿入する（１００６）。タイマーキュー更新方法については、図８を参照して述べた通りである。
【００４２】
以上のように、センサデバイス１０１が、測定処理と無線送信処理を含む処理ルーチンテーブル２１３に基づいて測定処理結果を即時送信またはバッファに格納した後に一括送信を行うことで、測定処理の種類によって異なる新鮮さの要件を満たすよう無線通信を行いつつ、無線通信の頻度を抑制し低消費電力化を実現することが可能となる。
【００４３】
上記説明では、処理ルーチンテーブル２１３は、出荷時等に予めセンサデバイスに書き込んでおく、とした。更に、管理サーバ１０３からの指示で処理ルーチンテーブルの内容を更新することができる。図１１から図１８を参照して、管理サーバ１０３の指示により処理ルーチンテーブルの更新を行う手順を説明する。なお、処理ルーチンテーブルの更新とは、処理ルーチンの追加、変更、削除、あるいはパラメータセットの追加、変更等をいう。
【００４４】
管理サーバ１０３は、センサデバイスごとに処理ルーチンテーブル３１１を保持し、センサデバイスごとかつ処理種別ごとにパラメータセットテーブル３１２を保持する。管理サーバ１０３には、初期状態の処理ルーチンテーブル３１１やパラメータセットテーブル３１２として、センサデバイス出荷時に書き込んだものと同じものを登録しておく。センサデバイスの処理ルーチンテーブルやパラメータセットテーブルの更新を行う度に、管理サーバ１０３が保持する当該センサデバイスに関する処理ルーチンテーブルやパラメータセットテーブルも更新し、センサデバイス１０１と管理サーバ１０３の間で同じ内容を保持するようにする。
【００４５】
図１１は、センサデバイスの初期接続の際に処理ルーチンテーブル２１１やパラメータセットテーブル２１４を更新する手順を説明する図である。
管理サーバ１０３には、入出力器３０６を通じて予め作業者がルーチンテーブル更新情報を入力しておく（１１０１）。ここで、ルーチンテーブル更新情報とは、処理ルーチンの追加、変更、削除、あるいはパラメータセットの追加、変更を行うための情報をいう。
【００４６】
センサデバイス１０１を設置する時に、センサデバイス１０１を無線ネットワークに接続する（１１０２）。その後、センサデバイス１０１は管理サーバ１０３に初期登録メッセージを送信する（１１０３）。管理サーバ１０３は、受信した初期登録メッセージに基づいてセンサデバイス１０１の情報を、メモリ３０１または外部記憶装置３０５に登録する（１１０４）。管理サーバ１０３は、ステップ１１０１で入力されたルーチンテーブル更新情報に基づいてルーチンテーブル更新情報メッセージを作成して（１１０５）、それをセンサデバイス１０１へ送信する（１１０６）。センサデバイス１０１は、受信したルーチンテーブル更新情報メッセージに基づいて、処理ルーチンテーブル２１３を更新する（１１０７）。ルーチンテーブル更新メッセージの構成および処理ルーチンテーブル更新方法については後述する。その後、センサデバイス１０１は、処理ルーチンテーブルの更新が完了したことを示す更新完了メッセージを管理サーバ１０３へ送信する（１１０８）。更新完了メッセージを受信した管理サーバ１０３は、自身が保持する処理ルーチンテーブル３１１やパラメータセットテーブル３１２に更新内容を反映する（１１０９）。
【００４７】
図１２は、ルーチンテーブル更新メッセージの構成を示す図である。
ルーチンテーブル更新メッセージ１２０１は、宛先となるセンサデバイスの識別子であるセンサデバイスＩＤ、このメッセージがルーチンテーブル更新メッセージであることを示す情報種別、時刻情報、ルーチンテーブル更新メッセージの新しさを示すバージョンと、１つまたは複数のコマンドを含む。各コマンドは、コマンド種別とコマンド内容を含む。コマンド種別とは、コマンド内容の種別を示しており、ルーチン処理追加・変更、ルーチン処理削除、パラメータセット追加・変更のいずれかである。コマンド内容はコマンド種別に応じて様式が異なる。
【００４８】
ここで、図１３を参照してコマンド内容について説明する。
図１３（ａ）はコマンド種別がルーチン処理追加・変更である場合のコマンド内容の構成を示す。図１３（ａ）で、コマンド内容は、処理ＩＤ、処理種別、Ｅｎａｂｌｅの各項目と、処理ルーチンのうちどの項目を変更するかを示すフィールドＩＤと、変更内容を示すフィールド値からなる。なお、処理種別とＥｎａｂｌｅは、冗長性のためにコマンド内容に含めており、必ずしもこれらをコマンド内容に含む必要はない。１つのコマンド内容の中に、フィールドＩＤおよびフィールド値は１つまたは複数含まれ、少なくとも、変更されるフィールドのフィールドＩＤとフィールド値は含まれる。センサデバイス１０１が受信したルーチン処理追加・変更に関するコマンド内容の処理ＩＤが、センサデバイス１０１が既に持っている処理ルーチンテーブルに含まれる場合、センサデバイス１０１は対応する処理ＩＤの処理ルーチンについて、コマンド内容に従い変更を行う。センサデバイス１０１が受信したルーチン処理追加・変更に関するコマンド内容の処理ＩＤが、センサデバイス１０１が既に持っている処理ルーチンテーブルに含まれない場合、センサデバイス１０１はコマンド内容に従い処理ルーチンの追加を行う。
【００４９】
図１３（ｂ）はコマンド種別がルーチン処理削除である場合のコマンド内容の構成を示す。図１３（ｂ）で、コマンド内容は、処理ＩＤを含んで構成される。センサデバイス１０１は、ルーチン処理削除を示すコマンド内容を受信したとき、該当する処理ＩＤを持つ処理ルーチンを削除する。
【００５０】
図１３（ｃ）はコマンド種別がパラメータセット追加・変更である場合のコマンド内容の構成を示す。図１３（ｃ）で、コマンド内容は、パラメータセット追加・変更の対象である処理種別、当該処理種別内におけるパラメータセットＩＤと、パラメータセットのうちどのパラメータを変更するかを示すパラメータＩＤと、変更後の値を示すパラメータ値を含む。１つのコマンド内容の中に、パラメータＩＤおよびパラメータ値は１つまたは複数含まれ、少なくとも、変更されるパラメータのパラメータＩＤとパラメータ値は含まれる。センサデバイス１０１が受信したパラメータセット追加・変更に関するコマンド内容の処理種別とパラメータセットＩＤの組が、センサデバイス１０１が既に持っているパラメータセットテーブルに含まれる場合、センサデバイス１０１は対応する処理種別とパラメータセットＩＤの組について、コマンド内容に従い変更を行う。センサデバイス１０１が受信したパラメータセット追加・変更に関するコマンド内容の処理種別とパラメータセットＩＤの組が、センサデバイス１０１が既に持っているパラメータセットテーブルに含まれない場合、センサデバイス１０１はコマンド内容に従いパラメータセットの追加を行う。なお、パラメータセットの追加において、コマンド内容に含まれないパラメータＩＤの値は、デフォルトパラメータセット（図５のパラメータセットＩＤ＝０）の同一パラメータＩＤの値と同値にすればよい。
【００５１】
図１３で説明したように、変更するフィールドやパラメータの情報をコマンド内容に含め、変更しないフィールドやパラメータの情報をコマンド内容から省くことで、無線通信量が減り、トラフィック輻輳を防ぐとともに、センサデバイスの省電力化が可能となる。
【００５２】
図１１では、センサデバイスの初期接続の際に処理ルーチンテーブル２１１を更新する手順を説明したが、初期接続後、センサデバイス運用中に処理ルーチンテーブル２１１を更新してもよい。次に、図１４を参照して、運用中に処理ルーチンテーブル２１１を更新する手順について説明する。
【００５３】
図１４は、センサデバイスの運用中に処理ルーチンテーブル２１１を更新する手順を説明する図である。作業者は、入出力器３０６を通じて管理サーバ１０３にルーチンテーブル更新情報（処理ルーチンの追加、変更、削除、あるいはパラメータセットの追加、変更を行うための情報）を入力する（１４０１）。センサデバイス１０１が測定処理結果の無線送信を行う際、センサデバイス１０１は無線ネットワークに再接続する（１４０２）。その後、センサデバイス１０１は管理サーバ１０３へ測定処理結果を送信する（１４０３）。管理サーバ１０３は、受信した測定処理結果をデータベース１０４に格納する（１４０４）。管理サーバ１０３は、ルーチンテーブル更新情報に基づいてルーチンテーブル更新情報メッセージを作成して（１４０５）、センサデバイス１０１へ送信する（１４０６）。以降、図１４の１４０７から１４０９は図１１の１１０７から１１０９と同様であるため説明を省略する。
【００５４】
このように、センサデバイスの運用中であっても、処理ルーチンテーブルを更新し、センサデバイスが行う処理や、処理に使用するパラメータの追加や変更を柔軟に行うことが可能である。
【００５５】
図１１や図１４に示す例では、作業者が管理サーバ１０３に対してルーチンテーブル更新情報を、入出力器３０６を通じて入力しているが、他の例として管理サーバ１０３が測定処理結果に基づいてルーチンテーブル更新を決定してもよい。次に、図１５から図１８を参照して、管理サーバ１０３が測定処理結果に基づいてルーチンテーブル更新を決定する場合のルーチンテーブル更新手順を説明する。
【００５６】
図１５は、管理サーバ１０３が測定処理結果に基づいてルーチンテーブル更新を決定する場合のルーチンテーブル更新手順を説明する図である。図１５のステップ１５０１から１５０３は、図１４のステップ１４０２から１４０４と同様であるため、説明を省略する。管理サーバ１０３は、受信した測定処理結果に基づいて、ルーチンテーブル更新の要否と更新内容を決定する、ルーチンテーブル更新判定処理を行う（１５０４）。
【００５７】
ここで、ステップ１５０４におけるルーチンテーブル更新判定処理について、図１６を参照して説明する。図１６は、漏水検知に関して、ルーチンテーブル更新判定処理の手順を説明する図である。この処理は、管理サーバ１０３のプロセッサ３０２が詳細データ取得決定処理プログラム２２６を実行することで行われる。
【００５８】
図１６において、プロセッサ３０２は、漏水検知の測定処理結果を取得して（１６０１）、測定処理結果に含まれる振動量が閾値を超過するかどうかを判定する（１６０２）。判定の結果、振動量が閾値を超過するとき（１６０２のＹｅｓ）、プロセッサ３０２は、詳細データ取得を決定し、そのためのルーチンテーブル更新内容を決定する（１６０３）。これは、振動量が閾値を超過する場合、水道管で漏水が発生している可能性があるため、詳細なデータを収集して分析することで、漏水発生の判定や、漏水量や漏水位置の特定を行うためである。
【００５９】
図１５に戻って、管理サーバ１０３は、１５０４で決定したルーチンテーブル更新内容に基づいてルーチンテーブル更新情報メッセージを作成し（１５０５）、センサデバイス１０１へ送信する（１５０６）。図１５のステップ１５０７から１５０９は図１１のステップ１１０７から１１０９と同様であるため説明を省略する。
【００６０】
図１５で説明した、管理サーバの判定に基づくルーチンテーブル更新について、図１７および図１８を参照して、具体的に説明する。
【００６１】
まず、更新前のセンサデバイスの処理ルーチンテーブル２１１は図４と同様であり、漏水検知測定処理に関するパラメータセットは図５と同様であるとする。図４で、処理種別が漏水である処理ルーチンは、処理ＩＤ＝２と処理ＩＤ＝３であり、処理ＩＤ＝２はＥｎａｂｌｅｄ（実行対象）、処理ＩＤ＝３はＤｉｓａｂｌｅｄ（実行対象外）となっている。処理ＩＤ＝２の処理ルーチンはパラメータセットＩＤ＝１を、処理ＩＤ＝３の処理ルーチンはパラメータセットＩＤ＝２を使用する。図５で、パラメータセットＩＤ＝１と比べて、パラメータセットＩＤ＝２は、特定の狭い周波数帯域で振動スペクトルを計測し、サンプル数が多く、量子化ビット数が多いため、より詳細なデータを取得するのに適したパラメータセットである。従って、この例では処理ＩＤ＝２をＤｉｓａｂｌｅｄ（実行対象外）に変更し、処理ＩＤ＝３をＥｎａｂｌｅｄ（実行対象）に変更すれば、詳細データの取得が可能となる。
【００６２】
図１７は、図１２および図１３で説明したルーチンテーブル更新メッセージ構成に、上記のルーチンテーブル更新内容を反映したものである。図１７で、コマンド種別はルーチン追加・変更である。図１７のルーチンテーブル更新メッセージには、処理ＩＤ＝２（処理種別＝漏水）に対して、ＥｎａｂｌｅフィールドをＤｉｓａｂｌｅｄ（実行対象外）に変更すること、処理ＩＤ＝３（処理種別＝漏水）に対して、ＥｎａｂｌｅフィールドをＥｎａｂｌｅｄ（実行対象）に変更することが、コマンド内容として含まれている。
【００６３】
センサデバイス１０１が、図４の処理ルーチンテーブルに対して、図１７のルーチンテーブル更新メッセージの内容を反映させると、処理ルーチンテーブルは図１８のように、更新後の処理ルーチンテーブルになる。更新後の処理ルーチンテーブルでは、処理ＩＤ＝２のＥｎａｂｌｅフィールドがＤｉｓａｂｌｅｄ（実行対象外）に、処理ＩＤ＝３のＥｎａｂｌｅフィールドがＥｎａｂｌｅｄ（実行対象）に変更されている。
【００６４】
このように、詳細データを取得するための処理ルーチンも予め処理ルーチンテーブル２１１に登録しておくと、管理サーバ１０３がセンサデバイス１０１に対して詳細データ取得を指示するためのパケットサイズが小さく済む。
【００６５】
ところで、センサデバイスの製造コストを削減するための一つとして、安価なマイクロプロセッサを用いる場合がある。安価なマイクロプロセッサを用いる場合、その処理能力の制限から、複数の処理を並行して行えない場合がある。そのような場合、ある処理の実行開始タイミングとなったとき、または処理の実行契機となるイベントが発生したとき、既にマイクロプロセッサが別の処理を実行していると、新たな処理を実行することができない（以降、これを処理の重複と呼ぶ）。しかし、新たな処理が地震検知測定処理のように緊急性を要する場合には、処理の重複時には実行中の処理を中止してでも新たな処理を実行することが望ましい。従って、処理の重複時に、実行中の処理を継続すべきか中断すべきか、あるいは新たな処理を実行すべきか中止すべきかを、処理の種類に応じて決定することになる。
【００６６】
次に図１９から図２２を参照して、処理の重複が発生した場合に、処理ルーチンテーブルに基づいて、実行中の処理継続可否や新たな処理の実行要否を決定する手順について説明する。
【００６７】
図１９は、センサデバイス１０１が保持する処理ルーチンテーブル２１１の例である。図１９の処理ルーチンテーブル２１１の各行は１つの処理ルーチンに対応する。各処理ルーチンは、処理ＩＤ、Ｅｎａｂｌｅ、処理種別、実行契機、実行時刻、実行周期、送信契機、パラメータセットＩＤ（ここまでは図４と共通の項目）に加えて、重複時動作、優先度の項目を含む。重複時動作は、処理の重複時に、実行中の処理の終了後に新たな処理を実行するか（終了後）、新たな処理は中止し実行中の処理を継続するか（中止）、実行中の処理を中断して新たな処理を実行するか（割り込み）を示す。優先度は、処理の優先度を示す値であり、値が小さいほど優先度が高い。なお、図１９の処理ルーチンテーブルは優先度の項目を有しているが、他の例として優先度の項目を設けずに処理ＩＤを優先度として使用してもよい。
【００６８】
次に、重複時動作や優先度の情報に基づいた測定処理の手順を説明する。まず、センサデバイス１０１のマイクロプロセッサの制約により、実行中の処理を中断することができないとする。実行中の処理を中断することができない場合の測定共通処理の手順は、図７に示すものと同様であるが、タイマーキュー更新（７０６）の処理内容が異なる。
【００６９】
重複時動作や優先度の情報に基づいた測定処理において、実行中の処理を中断することができない場合のタイマーキュー更新の手順を、図２０を参照して説明する。図２０はタイマーキュー更新処理の手順を説明する図である。タイマーキュー更新は、センサデバイス１０１のマイクロプロセッサ２０４がタイマーキュー更新処理プログラム２２７を実行することで行われる。マイクロプロセッサ２０４は、当該の測定処理について、処理ルーチン情報に基づいて、次回の測定処理実行タイミングを算出し、タイマーキューに挿入する（２００１）。タイマーキュー挿入の手順は、図６で説明した手順と同様である。その後、マイクロプロセッサ２０４は、イベント契機の測定処理が発生済み（測定処理実行契機となるイベントが発生済み）か、を確認する（２００２）。確認の結果、イベント契機の測定処理が発生済みの場合（２００２のＹｅｓ）、そのイベント契機の測定処理をタイマーキューに挿入する（２００３）。このイベント契機の測定処理がタイマーキューテーブルの１行目に来る（最も早く処理を実行すべきということを意味する）ようにするため、開始日時はその時点の日時を入れればよい。マイクロプロセッサ２０４はタイマーキューテーブル２１３を参照し、ステップ２００３で挿入したイベント契機の測定処理を除いて、次の測定処理の開始時間が経過しているかどうか確認する（２００４）。次の測定処理の開始時間が経過していない場合（２００４のＮｏ）、マイクロプロセッサ２０４は、ステップ２００３で挿入したイベント契機の測定処理を行う（２００７）。
【００７０】
一方、次の測定処理の開始時間が経過している場合（２００４のＹｅｓ）、マイクロプロセッサ２０４は、処理ルーチンテーブル２１１を参照して、開始時間が経過している、次の測定処理の重複時動作が中止か終了後かを確認する（２００５）。確認の結果、次の測定処理の重複時動作が中止である場合、この測定処理をタイマーキューテーブル２１３から削除し（２００６）、さらに次の測定処理の重複時動作が中止か終了後かを確認する（２００５）。ステップ２００５で、次の測定処理の重複時動作が終了後である場合、マイクロプロセッサ２０４はこの測定処理をタイマーキューテーブル２１３からは削除しない。その後、マイクロプロセッサ２０４は、イベント契機の測定処理を実行する（２００７）。ステップ２００５、２００６、２００７により、次の測定処理の開始時間が経過している時間契機の測定処理のうち、処理ルーチンテーブル上で重複時動作が終了後であるものはタイマーキューテーブルに残しておき、イベント契機の測定処理が終了したのち、これらの時間契機の測定処理を実行することが可能である。
【００７１】
次に、図２１および図２２を参照して、センサデバイス１０１のマイクロプロセッサ２０４が、実行中の処理を中断することができる場合の重複時動作や優先度の情報に基づいた測定処理の手順について説明する。
【００７２】
図２１は、実行中の処理を中断することができる場合の測定共通処理の手順を説明する図である。この処理は、センサデバイス１０１のマイクロプロセッサ２０４が測定共通処理プログラム２２６を実行することで行われる。
【００７３】
図２１において、マイクロプロセッサ２０４は、新たな測定処理の処理ＩＤに対応する処理ルーチン情報を取得する（２１０１）。マイクロプロセッサ２０４は、取得した処理ルーチン情報の実行契機が時間かイベントかを判定する（２１０２）。判定の結果、実行契機が時間である場合、マイクロプロセッサ２０４は、実行中の測定処理があるかどうかを判定する（２１０３）。その結果、実行中の測定処理がない場合（２１０３のＮｏ）、マイクロプロセッサ２０４は、測定処理種別に応じた測定処理を行う（２１０４）。そして、マイクロプロセッサ２０４は測定処理結果の送信契機が即時か一括かを判定する（２１０５）。その判定の結果、当該の処理ＩＤに対応する送信契機が即時である場合（２１０５のＹｅｓ）、マイクロプロセッサ２０４は、即時送信処理を行う（２１０６）。一方、当該の処理ＩＤに対応する送信契機が一括である場合（２１０５のＮｏ）、マイクロプロセッサ２０４は、測定処理結果を一括送信用バッファ２１２に格納する（２１０７）。その後、マイクロプロセッサ２０４は、タイマーキュー更新を行う（２１０８）。ステップ２１０８のタイマーキュー更新の手順については図２２を参照して後述する。
【００７４】
ステップ２１０３で、実行中の測定処理がある場合（２１０３のＹｅｓ）、マイクロプロセッサ２０４は、処理ルーチンテーブル２１１を参照して、新たな測定処理の重複時動作が終了後か中止かを判定する（２１０９）。判定の結果、ステップ２１０９で重複時動作が終了後の場合、マイクロプロセッサ２０４は、ステップ２１０８のタイマーキュー更新を行う。一方、ステップ２１０９で重複時動作が中止の場合は、タイマーキューから当該の測定処理を削除する（２１１０）。
【００７５】
ステップ２１０２で実行契機がイベントである場合、マイクロプロセッサ２０４は、実行中の測定処理があるかどうかを判定する（２１１１）。その結果、実行中の測定処理がない場合（２１１１のＮｏ）、マイクロプロセッサ２０４は、当該のイベント契機の測定処理を実行する（２１０４）。その後のステップ２１０５からステップ２１０８の動作については既に述べた通りである。
【００７６】
ステップ２１１１で、実行中の測定処理がある場合（２１１１のＹｅｓ）、マイクロプロセッサ２０４は、実行中の測定処理を中止するかどうかを決定する（２１１２）。ステップ２１１２で実行中の測定処理が時間契機の測定処理である場合、マイクロプロセッサ２０４は、実行中の測定処理を中止することを決定する。ステップ２１１２で、実行中の測定処理がイベント契機の測定処理である場合、マイクロプロセッサ２０４は、処理ルーチンテーブル２１１を参照して、実行中の測定処理と新たな測定処理の優先度を比較する。その結果、新たな測定処理の方が、優先度が高い場合は実行中の測定処理を中止し、実行中の測定処理の方が、優先度が高い場合は実行中の測定処理は中止しないことを決定する。実行中の測定処理を中止することを決定した場合（２１１２のＹｅｓ）、マイクロプロセッサ２０４は実行中の測定処理を中止し（２１１３）、新たな測定処理を実行する（２１０４）。その後のステップ２１０５からステップ２１０８の動作については既に述べた通りである。
【００７７】
ステップ２１１２で、実行中の測定処理を中止しないことを決定した場合（２１１２のＮｏ）、マイクロプロセッサ２０４は、実行中の測定処理を継続し（２１１４）、実行中の測定処理が終了した後、新たな測定処理を実行する。
【００７８】
次に、図２２を参照して、ステップ２１０８のタイマーキュー更新の手順について説明する。図２２はタイマーキュー更新処理の手順を説明する図である。
タイマーキュー更新は、センサデバイス１０１のマイクロプロセッサ２０４がタイマーキュー更新処理プログラム２２７を実行することで行われる。マイクロプロセッサ２０４は、当該の測定処理について、処理ルーチン情報に基づいて、次回の測定処理実行タイミングを算出し、タイマーキューに挿入する（２２０１）。タイマーキュー挿入の手順は、既に説明したとおりである。なお、図２１のステップ２１１４で実行中の測定処理を継続したため、新たなイベント契機の測定処理をまだ実行していない場合は、ステップ２２０１で新たなイベント契機の測定処理をタイマーキューに挿入する。マイクロプロセッサ２０４はタイマーキューテーブル２１３を参照し、次の測定処理の開始時間が経過しているかどうか確認する（２２０４）。次の測定処理の開始時間が経過していない場合（２２０４のＮｏ）、マイクロプロセッサ２０４は、ステップ２２０４でイベント契機の測定処理をタイマーキューに挿入した場合は、そのイベント契機の測定処理を行う（２２０７）。次の測定処理の開始時間が経過している場合（２２０４のＹｅｓ）、マイクロプロセッサ２０４は、処理ルーチンテーブル２１１を参照して、開始時間が経過している、次の測定処理の重複時動作が中止か終了後かを確認する（２２０５）。次の測定処理の重複時動作が中止である場合（２２０５のＹｅｓ）、この測定処理をタイマーキューテーブル２１３から削除し（２２０６）、さらに次の測定処理の重複時動作が中止か終了後かを確認する（２２０５）。次の測定処理の重複時動作が終了後である場合（２２０５のＮｏ）、この測定処理をタイマーキューテーブル２１３からは削除しない。その後、マイクロプロセッサ２０４は、ステップ２２０４でイベント契機の測定処理をタイマーキューに挿入した場合は、そのイベント契機の測定処理を実行する（２２０７）。ステップ２２０５、２２０６、２２０７により、次の測定処理の開始時間が経過している時間契機の測定処理のうち、処理ルーチンテーブル上で重複時動作が終了後であるものはタイマーキューテーブルに残しておき、イベント契機の測定処理が終了したのち、これらの時間契機の測定処理を実行することが可能である。
【００７９】
このように、処理ルーチンテーブル２１１に重複時動作や優先度の情報を含めることにより、処理の重複時に、センサデバイスが処理ルーチンテーブルを参照して、実行中の処理を継続すべきか中断すべきか、あるいは新たな処理を実行すべきか中止すべきかを、処理の種類に応じて決定することが可能となる。
【００８０】
次に、図２３から図３１を参照して、作業者が図１１のステップ１１０１や図１４のステップ１４０１で行うルーチンテーブル更新情報の入力について説明する。図２３から図３１は、作業者が閲覧および操作する、管理サーバ１０３の入出力器３０６の画面表示例を示す。
【００８１】
図２３は、センサデバイス一覧表示画面である。センサデバイス一覧表示画面では、センサデバイス一覧２３０１が表示される。センサデバイス一覧２３０１には、各センサデバイスのセンサデバイスＩＤ、センサデバイス状態、設置エリア情報、測定処理結果通知を最後に受信したときの日時である最終報告日時が含まれる。作業者が特定のセンサデバイスの処理ルーチンテーブルを確認したい場合、対象のセンサデバイスＩＤのルーチンテーブル確認欄にチェックを入れ、確認ボタン２３０２を押下することで、図２４のルーチンテーブル確認画面に遷移する。作業者が特定のセンサデバイスのパラメータセットを確認したい場合、対象のセンサデバイスＩＤのパラメータセット確認欄にチェックを入れ、確認ボタン２３０２を押下することで、図２６のパラメータセット確認画面に遷移する。エリアボタン２３２１を押下すると図２７のエリア一覧表示画面へ遷移する。グループボタン２３２２を押下すると図２９のグループ一覧表示画面へ遷移する。
【００８２】
図２４および図２５は、ルーチンテーブル確認画面である。図２４のルーチンテーブル確認画面では、センサデバイス一覧表示画面で選択したセンサデバイス（ここではセンサデバイスＩＤ＝１）の処理ルーチンテーブル２４１１が表示される。また、ルーチンテーブル確認画面では処理ルーチンテーブルの編集のうち、処理ルーチンの追加、変更、削除を行うことができる。処理ルーチンを追加するには、行追加ボタン２４１２を押下する。行追加ボタン２４１２を押下すると、新たな行（処理ＩＤ＝７）が追加される。
【００８３】
図２４の画面で更新ボタン２４１４が押下されると、図２５のように更新結果ダイアログ２５０１が表示される。更新結果ダイアログ２５０１では、更新指示を行った処理ルーチンのID、更新内容（処理ルーチンの追加、変更、削除）、更新成否と、更新失敗の場合はその失敗要因が表示される。失敗要因は、通信エラー（例えば管理サーバが更新完了メッセージ１１０８を受信できずタイムアウト）、不正パラメータ（指定したパラメータ値が不正）、センサデバイスエラーなどが挙げられる。作業者は、更新結果ダイアログ２５０１の表示内容を確認して、更新作業の完了や再試行などを決定することができる。
【００８４】
図２４に示すルーチンテーブル確認画面において、パラメータセット確認ボタン２４１５を押下すると、図２６のパラメータセット確認画面に遷移する。図２６に示すように、パラメータセット確認画面では、センサデバイス一覧表示画面で選択したセンサデバイス（ここではセンサデバイスＩＤ＝１）のパラメータセット２６１１が表示される。パラメータセット確認画面では、ルーチンテーブル編集のうち、パラメータセットの追加や変更を行うことができる。パラメータセットを追加するには、列追加ボタン２６１２を押下する。列追加ボタン２６１２を押下すると、パラメータセット２６１１に新たな列が追加される。作業者が、追加された新たな列にパラメータの値を入力して更新ボタン２６１４を押下することで、管理サーバ１０３へのパラメータセット追加指示の入力が完了する。パラメータセットの変更を行うには、パラメータセット２６１１のうち変更したいパラメータの値を編集し、更新ボタン２６１４を押下する。なお、パラメータセットは処理種別ごとに保持されるものであり、図２６で表示されているパラメータセットは処理種別が漏水の場合のものである。他の処理種別のパラメータセットを編集したい場合は、処理種別変更ボタン２６１３を押下すると、他の処理種別のパラメータセットが表示される。ルーチンテーブル確認ボタン２６１５を押下すると、図２４のルーチンテーブル確認画面に遷移する。
【００８５】
このような操作画面を用意することで、作業者が容易に処理ルーチンテーブルやパラメータセットの編集を行うことができる。ひいてはセンサデバイスの処理内容の編集を容易に行うことが可能となる。また、センサデバイスごとに異なる処理内容を設定することが可能である。
【００８６】
図２７および図２８は、エリアごとに処理ルーチンテーブルを更新する場合、すなわちエリア内に設置された全センサデバイスの処理ルーチンテーブルを一括で更新する場合の表示画面例である。図２７は、エリア一覧表示画面である。エリアマップ２７０１は地図であり、各エリアのエリア名や範囲、センサデバイス設置箇所を表示する。エリア一覧２７０２は、そのエリアに含まれるセンサデバイスの一覧を表示する。エリア一覧２７０２では、上部のタブを押下すると、異なるエリアの表示に切り替わる。作業者が、エリアマップ２７０１で処理ルーチンテーブルを更新したいエリアのエリア名を押下するか、エリア一覧２７０２で処理ルーチンテーブルを更新したいエリアを表示した状態でエリア選択ボタン２７０３を押下すると、図２８のエリア単位ルーチンテーブル確認画面に遷移する。デバイスボタン２７２１を押下すると図２３のデバイス一覧表示画面に遷移する。グループボタン２７２２を押下すると図２９のグループ一覧表示画面に遷移する。
【００８７】
図２８は、エリア単位ルーチンテーブル確認画面である。図２８のエリア単位ルーチンテーブル確認画面では、エリア一覧表示画面で選択したエリア（ここではエリアＡ）のセンサデバイスに共通して適用される処理ルーチンテーブル２８０１が表示される。エリア単位ルーチンテーブル確認画面では、処理ルーチンテーブルの編集のうち、処理ルーチンの追加、変更、削除を行うことができる。処理ルーチンを追加するには、行追加ボタン２８０２を押下して、追加された行にＥｎａｂｌｅ、処理種別、実行契機、送信契機、パラメータセットＩＤを入力し、更新ボタン２８０４を押下する。処理ルーチンの変更を行うには、変更を行いたい項目を編集し、更新ボタン２８０４を押下する。処理ルーチンの削除を行うには、処理ルーチンテーブル２８０１の削除欄にチェックを入れ、更新ボタン２８０４を押下する。このように、表示内容や操作方法は図２４のセンサデバイス単位のルーチンテーブル画面と同様であるが、図２８ではエリア内の全センサデバイスに対して処理ルーチンテーブルの更新を一括して行うという点が図２４と異なる。
【００８８】
図２８の画面において、パラメータセット確認ボタン２８０５を押下すると、エリア単位パラメータセット確認画面に遷移する。エリア単位パラメータセット確認画面についても、表示内容や操作方法は図２６のセンサデバイス単位のパラメータセット確認画面と同様であるため、説明を省略する。
【００８９】
このように、複数のセンサデバイスに対してエリアごとに一括で、処理ルーチンテーブル２１１を更新する操作画面を用意することで、センサデバイスが大量に設置されている場合でも、作業者が容易に処理ルーチンテーブルの編集を行うことができる。また、エリアごとに処理ルーチンテーブルを更新する操作画面を用意することで、例えば振動が大きくなりやすい土壌といったエリアの特性に合わせた処理ルーチンテーブルをセンサデバイスに容易に設定することが可能となる。
【００９０】
図２９から図３１は、作業者の指定した１つまたは複数のセンサデバイスからなるグループ単位で、処理ルーチンテーブルを更新する場合、すなわちグループに所属する全センサデバイスの処理ルーチンテーブルを一括で更新する場合の表示画面例である。図２９は、グループ一覧表示画面である。グループ一覧２９０１は、そのグループに含まれるセンサデバイスの一覧を表示する。グループ一覧２９０１では、上部のタブを押下すると、異なるグループの表示に切り替わる。作業者が、グループ一覧２９０１で処理ルーチンテーブルを更新したいグループを表示した状態でグループ選択ボタン２９０２を押下すると、図３０のグループ単位ルーチンテーブル確認画面に遷移する。グループ編集ボタン２９０３を押下すると、図３１のグループ編集画面に遷移する。デバイスボタン２９２１を押下すると図２３のデバイス一覧表示画面に遷移する。エリアボタン２９２２を押下すると図２７のエリア一覧表示画面に遷移する。
【００９１】
図３０は、グループ単位ルーチンテーブル確認画面である。図３０のグループ単位ルーチンテーブル確認画面では、グループ一覧表示画面で選択したグループ（ここではグループ１）のセンサデバイスに共通して適用される処理ルーチンテーブル３００１が表示される。グループ単位ルーチンテーブル確認画面では、処理ルーチンテーブルの編集のうち、処理ルーチンの追加、変更、削除を行うことができる。処理ルーチンを追加するには、行追加ボタン３００２を押下して、追加された行にＥｎａｂｌｅ、処理種別、実行契機、送信契機、パラメータセットＩＤを入力し、更新ボタン３００４を押下する。処理ルーチンの変更を行うには、変更を行いたい項目を編集し、更新ボタン３００４を押下する。処理ルーチンの削除を行うには、処理ルーチンテーブル２８０１の削除欄にチェックを入れ、更新ボタン３００４を押下する。このように、表示内容や操作方法は図２４のセンサデバイス単位のルーチンテーブル画面と同様であるが、図３０ではグループ内の全センサデバイスに対して処理ルーチンテーブルの更新を一括して行うという点が図２４と異なる。
【００９２】
図３０で、パラメータセット確認ボタン３００５を押下するとグループ単位パラメータセット確認画面に遷移する。グループ単位パラメータセット確認画面についても、表示内容や操作方法は図２６のセンサデバイス単位のパラメータセット確認画面と同様であるため、説明を省略する。
【００９３】
図３１は、グループ編集画面である。グループ編集画面では、グループに所属するセンサデバイスの追加や削除を行うことができる。グループ編集表示３１０１にはグループに所属しているセンサデバイスＩＤの一覧が表示されている。グループにセンサデバイスを追加する場合は、行追加ボタン３１０２を押して、追加したいセンサデバイスＩＤを入力し、完了ボタン３１０３を押下する。グループからセンサデバイスを削除する場合は、削除したいセンサデバイスＩＤの削除欄にチェックを入れ、完了ボタン３１０３を押下する。
【００９４】
このように、複数のセンサデバイスに対してグループごとに一括で処理ルーチンテーブルを更新する操作画面を用意することで、センサデバイスが大量に設置されている場合でも、作業者が容易に処理ルーチンテーブルの編集を行うことができる。また、作業者が作成したグループごとに処理ルーチンテーブルを更新する操作画面を用意することで、例えば水道管に設置したセンサデバイスのグループや、ガス管に設置したセンサデバイスのグループ、といったグループの特性に合わせた処理ルーチンテーブルをセンサデバイスに容易に設定することが可能となる。
【００９５】
以上、一実施例について説明したが、本発明は上記実施例に限定されず、種々変形、応用して実施し得る。
例えば、センサデバイス１０１が備える機能は、図２に示す機能ないしプログラムに限定されず、ニーズに応じて色々なセンサを追加又は削減させ得る。例えば、図２の例において、他工事が予想されない地域では他工事検知測定処理プログラム２２３が不要であろう。一方、地下からガスの噴出が予想される地域では、ガス検知センサおよびその測定処理プログラムを追加することが望ましいであろう。
【００９６】
また、上記実施例では「テーブル」なる表現を用いているが、これに限らず、「表」、「リスト」などと表現してもよい。更には、データ構造に依存しない表現、例えば「情報」或いは「情報群」と称してもよい。
【符号の説明】
【００９７】
１０１：センサデバイス      １０２：無線ネットワーク    １０３：管理サーバ
１０４：データベース        １０５：アプリケーションサーバ
２０１：制御部              ２０２：無線通信部          ２０３：センサ
２０４：マイクロプロセッサ  ２０５：メモリ            
２１１：処理ルーチンテーブル      ２１２：一括送信用バッファ
２１３：タイマーキューテーブル    ２１４：パラメータセットテーブル
２２１：センサデバイス状態検知処理プログラム
２２２：漏水検知測定処理プログラム
２２３：他工事検知測定処理プログラム
２２４：地震検知測定処理プログラム
２２５：無線送信処理プログラム
２２６：測定共通処理プログラム
２２７：タイマーキュー更新処理プログラム
２２８：処理ルーチンテーブル更新処理プログラム
３０１：メモリ    ３０２：プロセッサ（ＣＰＵ）  ３０３：入出力インタフェース
３０４：ネットワークインタフェース    ３０５：外部記憶装置
３０６：入出力器  ３１１：処理ルーチンテーブル  ３１２：パラメータセットテーブル
３２１：詳細データ取得決定処理プログラム
【図１】
2020141217.tif 000003
【図２】
2020141217.tif 000004
【図３】
2020141217.tif 000005
【図４】
2020141217.tif 000006
【図５】
2020141217.tif 000007
【図６】
2020141217.tif 000008
【図７】
2020141217.tif 000009
【図８】
2020141217.tif 000010
【図９】
2020141217.tif 000011
【図１０】
2020141217.tif 000012
【図１１】
2020141217.tif 000013
【図１２】
2020141217.tif 000014
【図１３】
2020141217.tif 000015
【図１４】
2020141217.tif 000016
【図１５】
2020141217.tif 000017
【図１６】
2020141217.tif 000018
【図１７】
2020141217.tif 000019
【図１８】
2020141217.tif 000020
【図１９】
2020141217.tif 000021
【図２０】
2020141217.tif 000022
【図２１】
2020141217.tif 000023
【図２２】
2020141217.tif 000024
【図２３】
2020141217.tif 000025
【図２４】
2020141217.tif 000026
【図２５】
2020141217.tif 000027
【図２６】
2020141217.tif 000028
【図２７】
2020141217.tif 000029
【図２８】
2020141217.tif 000030
【図２９】
2020141217.tif 000031
【図３０】
2020141217.tif 000032
【図３１】
2020141217.tif 000033