(57)【要約】【課題】ネットワークに接続された多量のセンシングデータの変化検出および変化に応じた規定の処理を高速に実行する。【解決手段】複数のセンサから収集したデータについて監視を行い、前記データが予め設定した条件となったときに予め設定した処理を実行するイベントアクション制御部を、イベントアクションエントリ検索部ＥＶＳ、イベントアクションテーブルＥＡＴＢ、キャッシュＣＣ、および、キャッシュ制御部ＣＣＣ、で構成する。さらに、キャッシュ制御部ＣＣＣは、センサデータ到着周期の学習を行う学習テーブルＬＴＢ、学習テーブル制御部ＬＴＢＣ、キャッシュアクセス制御部ＨＩＴ、転送制御部ＴＲＣ、および、時刻情報ＴＩＭ、より構成される。【選択図】図１
2006209457.tif 000002
【特許請求の範囲】
【請求項１】
センサノードから送信されるデータを受け、
上記データが予め設定された条件となったときに予め設定された処理を実行するイベントアクション制御部を有するサーバにおいて、
上記イベントアクション制御部は、
上記予め設定された条件と、上記予め設定された処理とを有するイベントアクションエントリを格納するイベントアクションテーブルと、
上記イベントアクションテーブルに格納されるイベントアクションエントリのうち、指定されたイベントアクションエントリを格納するキャッシュとを有するサーバ。
【請求項２】
請求項１において、
上記イベントアクション制御部は、上記サーバが上記データを受けた時刻と、上記データを受けた時刻に基づいて次に上記データを受ける推定時刻とを格納する学習テーブルをさらに有し、
上記キャッシュは、上記学習テーブルに格納される上記推定時刻に基づいて上記キャッシュに格納するイベントアクションエントリが指定されるサーバ。
【請求項３】
請求項２において、
上記イベントアクション制御部は、上記推定時刻に基づいて上記イベントアクションエントリを、上記イベントアクションテーブルから上記キャッシュに転送する転送制御部をさらに有し、
上記イベントアクションエントリは、上記データに付与されるデータＩＤをさらに有し、
上記学習テーブルは、上記推定時刻に受けるデータのデータＩＤを格納し、
上記転送制御部は、上記学習テーブルに格納される上記推定時刻から現在の時刻を引いた値が所定時間よりも短いとき、該推定時刻に受けるデータのデータＩＤを受け、該データＩＤを含むイベントアクションエントリを上記キャッシュに転送するサーバ。
【請求項４】
請求項１において、
上記キャッシュに格納されるイベントアクションエントリは、上記サーバが上記データを受ける時刻に基づいて指定されるサーバ。
【請求項５】
請求項１において、
上記イベントアクションエントリは、上記データに付与されるデータＩＤをさらに有し、
上記イベントアクション制御部は、上記センサノードから送信されたデータのデータＩＤが上記キャッシュに格納されているか否かを判定するキャッシュアクセス制御部をさらに有するサーバ。
【請求項６】
請求項５において、
上記イベントアクション制御部は、上記センサノードから送信されたデータのデータＩＤを受けるイベントアクションエントリ検索部をさらに有し、
上記センサノードから送信されたデータのデータＩＤが上記キャッシュに格納されていた場合、該データＩＤを含むイベントアクションエントリを上記キャッシュから上記イベントアクションエントリ検索部に転送するサーバ。
【請求項７】
請求項５において、
上記イベントアクション制御部は、
上記センサノードから送信されたデータのデータＩＤを受けるイベントアクションエントリ検索部と、
上記推定時刻に基づいて上記キャッシュに格納されるイベントアクションエントリを上記イベントアクションテーブルから上記キャッシュに転送する転送制御部とをさらに有し、
上記センサノードから送信されたデータのデータＩＤが上記キャッシュに格納されていなかった場合、上記キャッシュアクセス制御部は上記転送制御部に該データＩＤを転送し、上記転送制御部は、該データＩＤを含むイベントアクションエントリを上記イベントアクションテーブルから取得し、上記キャッシュアクセス制御部を介して上記イベントアクションエントリ検索部に転送するサーバ。
【請求項８】
センサノードから送信されるデータをサーバで処理する方法であって、
上記データが予め設定された条件となったときに実行される処理と、上記予め設定された条件とを有するイベントアクションエントリをイベントアクションテーブルに格納する手順と、
上記イベントアクションテーブルに格納されるイベントアクションエントリのうち、指定されたイベントアクションエントリをキャッシュに格納する手順とを含むデータの処理方法。
【請求項９】
請求項８において、
上記サーバが上記データを受けた時刻と、上記データを受けた時刻に基づいて次に上記データを受ける推定時刻とを学習テーブルに格納する手順と、
上記学習テーブルに格納される上記推定時刻に基づいて、上記キャッシュに格納するイベントアクションエントリを指定する手順とを含むデータの処理方法。
【請求項１０】
請求項９において、
上記イベントアクションエントリは、上記データに付与されるデータＩＤをさらに有し、
上記学習テーブルは、上記推定時刻に受けるデータのデータＩＤをさらに有し、
上記学習テーブルに格納される上記推定時刻から現在の時刻を引く手順と、
上記推定時刻から現在の時刻を引いた差が所定時間よりも短いとき、上記推定時刻に受けるデータのデータＩＤを含むイベントアクションエントリを、上記イベントアクションテーブルから上記キャッシュに転送する手順とを含むデータの処理方法。
【請求項１１】
請求項８において、
上記イベントアクションエントリは、上記データに付与されるデータＩＤをさらに有し、
上記センサノードから送信されるデータのデータＩＤが上記キャッシュに格納されているか否かを判定する手順を含むデータの処理方法。
【請求項１２】
センサノードから送信されるデータを受け、上記データが予め設定された条件となったときに予め設定された処理を実行するプログラムであって、
上記予め設定された条件と、上記予め設定された処理とを有するイベントアクションエントリをイベントアクションテーブルに格納する処理と、
上記イベントアクションテーブルに格納されるイベントアクションエントリのうち、指定されたイベントアクションエントリをキャッシュに格納する処理とをサーバに実行させるプログラム。
【請求項１３】
請求項１２において、
上記サーバが上記データを受けた時刻と、上記データを受けた時刻に基づいて次に上記データを受ける推定時刻とを格納する処理と、
上記格納された推定時刻に基づいて、上記キャッシュに格納する上記イベントアクションエントリを指定する処理とを含むプログラム。
【請求項１４】
請求項１３において、
上記推定時刻から現在の時刻と引く処理と、
上記推定時刻から現在の時刻を引いた差が所定時間よりも短いとき、該推定時刻に受けるデータのデータＩＤを含むイベントアクションエントリを、上記イベントアクションテーブルから上記キャッシュに転送する処理とを含むプログラム。
【請求項１５】
請求項１２において、
上記イベントアクションエントリは、上記データに付与されるデータＩＤをさらに有し、
上記センサノードから送信されたデータのデータＩＤが上記キャッシュに格納されているか否かを判定する処理を含むプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークに接続した多数のセンサからの情報を利用する技術に関する。
【背景技術】
【０００２】
近年におけるインターネット等のネットワークの利用は、検索エンジンや予め設定したリンクなどから文書や画像あるいは映像、音声など蓄積されたコンテンツにアクセスするものが主流となっている。すなわち、保存されている過去のコンテンツに対してアクセスする技術は完成している。
【０００３】
一方、現在の情報を送信するものとして、所定の位置に設けたカメラ（ＷＥＢカメラ）の画像を連続的に配信するストリーミング技術がある。また、最近は、大量の小型の無線センサノードから得られるセンシングデータを、ネットワークを通じて取得するセンサネットワークの技術が発展しつつある。近年、現実世界の情報をセンサによって取り込み、この情報を、ネットワークを通して離れた場所で利用するセンサネットワークへの期待が高まっている。現在のインターネット上のサービスは仮想空間上のサービスに閉じているが、センサネットワークが現在のインターネットと本質的に違う点は、実空間と融合している点である。実空間との融合を図ることができれば、時間、位置など状況依存型のさまざまなサービスが実現できる。実空間に存在する多様なオブジェクトがネットワーク接続されることでトレーサビリティが実現でき、広義の意味での「安全」を求める社会ニーズや、在庫管理やオフィスワークの「効率化」のニーズに対処することが可能となる。
また、ネットワークにおいてトラフィック量が増加するのを防ぐ方法として、アクセス頻度の高いデータを一時的に格納するキャッシュ領域を設ける方法が知られている。（例えば特許文献６参照）。
【０００４】
【特許文献１】特開２００２−００６９３７号公報
【０００５】
【特許文献２】特開２００３−３１９５５０号公報
【特許文献３】特開２００４−２８０４１１号公報
【特許文献４】米国特許出願公開第２００４／００９３２３９号明細書
【特許文献５】米国特許出願公開第２００４／０１０３１３９号明細書
【特許文献６】特開平１１−６５９１５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記従来例に示したような検索エンジンでは、過去に蓄積されたデータについて、ネットワーク上の位置（アドレス）を知ることができるものの、ネットワークに接続された膨大なセンサ情報からのリアルタイムの情報に対しての効率的な検索や、情報変化検出には適していない、という問題がある。
【０００７】
本発明は、ネットワークに接続された多数のセンサからのリアルタイムの情報を、容易に取得できるようなセンサネットワークシステムを実現することを目的とし、膨大なセンサからの情報をリアルタイムで監視し、情報の変化を迅速に把握可能なセンサネットシステムを実現することを目的とする。具体的には、データが予め設定した条件となったかどうかを判定し（イベント発生判定）、判定結果に応じた処理を行うイベントアクション制御の高速処理を実現することを目的とする。特に、従来のように頻繁にアクセスされるデータをキャッシュに格納するのでなく、センサノードの間欠動作、すなわち周期的なデータの送信を利用して積極的にキャッシングを行うことを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、複数のセンサから収集したデータについて監視を行い、前記データが予め設定した条件となったときに予め設定した処理を実行するイベントアクション制御部を、イベントアクションエントリ検索部、イベントアクションテーブル、キャッシュ、および、キャッシュ制御部、で構成する。キャッシュ制御部は、センサデータ到着周期の学習を行う学習テーブル、さらに、キャッシュアクセス制御部、転送制御部、より構成される。
【発明の効果】
【０００９】
本発明によれば、センサデータ毎に行うべきイベントアクション処理を高速化でき、情報の変化検出および必要な処理が迅速に可能なセンサネットシステムが実現できる。
【実施例１】
【００１０】
以下、本発明の一実施形態を添付図面に基づいて説明する。
図２、図３は、本発明に適用されるセンサネットワークシステムの構成例である。
【００１１】
＜システム構成の概要＞
まず、システム構成の概要について説明する。センサネットシステムは、センサネットのデータ処理を集中的に行う場合（図２）と、分散的に行う場合（図３）が考えられる。ここで、集中的なデータ処理とはセンサノード内のセンサから取得されるデータの管理を集中管理サーバＣＭＳで行うことであり、分散的なデータ処理とはセンサから取得されるデータの管理を分散データ処理サーバＤＤＳで管理することである。
【００１２】
センサノードＷＳＮ（無線センサノード）、ＭＳＮ（無線モバイルセンサノード）は、所定の位置に設置され、あるいは所定の物あるいは人に取り付けられ、環境に関する情報や取り付けられた物に関する情報を収集し、その情報を基地局ＢＳＴ−１〜ｎに送る送信するノードである。センサノードは無線により基地局ＢＳＴ−１〜ｎに接続される無線センサノードＷＳＮ、ＭＳＮと、有線によりネットワークＮＷＫに接続される有線センサノードＦＳＮとから構成されている。
【００１３】
固定的に設置される無線センサノードＷＳＮは、例えば、搭載されたセンサが周期的に周囲の状況をセンシングして、予め設定された基地局ＢＳＴへセンシング情報を送信する。無線モバイルセンサノードＭＳＮは、ヒトが持ち歩く、クルマに搭載されるなど、移動可能であることを前提とし、至近の基地局ＢＳＴに情報を送信する。なお、無線センサノードの全体（総称）を指すときにはＷＳＮまたはＭＳＮとし、個々の無線センサノードを指すときには、ＷＳＮ−１〜ｎあるいはＭＳＮ−１〜ｎのように添え字を付して表す。他の構成要素についても以下同様に、総称を示すときには添え字無しで表し、個々を示すときには添え字「−１〜ｎ」を付すものとする。
各基地局ＢＳＴ−１〜ｎには、１つまたは複数の無線センサノードＷＳＮ、ＭＳＮが接続される。
【００１４】
集中データ処理を行う場合には、図２に示すように、各基地局ＢＳＴ−１〜ｎは、ネットワークＮＷＫ−２を介して各センサノードからのデータを、集中管理サーバＣＭＳにて収集する。分散データ処理を行う場合には、図３に示すように、各基地局ＢＳＴ−１〜ｎは、ネットワークＮＷＫ−２を介して各センサノードからのデータを収集する分散データ処理サーバＤＤＳ−１〜ｎに接続される。この場合、分散データ処理サーバＤＤＳの接続数は、システム規模の大きさによって可変とすることができる。
【００１５】
集中管理サーバＣＭＳのデータ処理部ＤＰＢ、もしくは、各分散データ処理サーバＤＤＳ−１〜ｎは、無線及び有線センサノード（以下、単にセンサノードという）が検出したデータ等を格納するディスク装置ＤＳＫと、図示しないＣＰＵ及びメモリを備えて所定のプログラムを実行し、後述するようにセンサノードからの測定データを収集し、予め規定した条件に従って、データの格納、データの加工、さらには、他のサーバ（分散データ処理の場合には、ディレクトリサーバＤＲＳも含む）への通知やデータ転送などのアクションを行う。ネットワークＮＷＫ−１（集中データ処理の場合にはＮＷＫ−２）には、センシング情報を利用するためのユーザ端末ＵＳＴと、センサノードの設定及び管理を行う管理端末ＡＤＴが接続される。
【００１６】
ここで、センサノードから収集したデータは、主には、センサノードを識別する固有のＩＤおよびセンシングされた数値データであり、時系列に応じた変化を示すが、そのままではセンサノードの出力を利用するユーザ（ユーザ端末ＵＳＴ等の利用者）が容易に理解する形式にはなっていない。そこで、集中管理サーバＣＭＳのディレクトリ部ＤＲＢ（集中データ処理の場合）もしくはディレクトリサーバＤＲＳ（分散データ処理の場合）では、センサノードの出力データとユーザが理解可能な実世界モデル（ヒト、モノ、状態、など）との対応関係を保持している。これにより、ユーザはデータ処理部ＤＰＢ（集中データ処理の場合）もしくは分散データ処理サーバＤＤＳ−１〜ｎ（分散データ処理の場合）のディスク装置ＤＳＫにて保存されている測定データに対して、ユーザにわかりやすい形としてアクセスすることができる。
図４および図５は、それぞれ図２と図３に示した集中データ処理もしくは分散データ処理のセンサネットワーク機能ブロック図である。以下、各部の詳細について説明する。
【００１７】
＜基地局ＢＳＴ＞
無線センサノードＷＳＮ、ＭＳＮや有線センサノードＦＳＮ（以下、センサノードという）からデータを収集する基地局ＢＳＴ−１は、コマンド制御部ＣＭＣ−Ｂと、センサノード管理部ＳＮＭと、イベント監視部ＥＶＢとから構成される。コマンド制御部では、データ処理部ＤＰＢもしくは分散データ処理サーバＤＤＳ−１内のコマンド制御部との間でコマンドの送受信を行い、また、センサノードに対して出力タイミングの設定変更などのコマンドを送受する。センサノード管理部ＳＮＭでは、センサノードの状態管理（稼動状態、残電力など）を行う。イベント監視部ＥＶＢでは、センサノードの故障を検出や、センサノードからの異常なデータの検出を行って、検索結果をセンサノード管理部ＳＮＭに通知するなお、センサノードからは、予め設定されたＩＤを付した測定データが基地局ＢＳＴに対して送信される。
【００１８】
＜データ処理部ＤＰＢ、分散データ処理サーバＤＤＳ＞
データ処理部ＤＰＢ、分散データ処理サーバＤＤＳ−１では、データベースＤＢを格納するディスク装置ＤＳＫと、後述のようなコマンド制御部ＣＭＣ−Ｄ、イベントアクション制御部ＥＡＣ、データベース制御部ＤＢＣを備える。
コマンド制御部ＣＭＣ−Ｄは、基地局ＢＳＴ及び後述するディレクトリサーバＤＲＳと通信を行って、コマンド等の送受信を行う。
【００１９】
イベントアクション制御部ＥＡＣは、センサノードからの測定データを基地局ＢＳＴから受信するたびに、測定データに含まれるデータＩＤを取得し、センサノードのＩＤに対応するイベントの発生ルールを読み込んで、イベントの発生の有無を判定する。さらに、イベントアクション制御部ＥＡＣでは、データＩＤに該当するイベントの発生に対応するアクションを実行する。具体的なアクション実施の内容としては、測定データを加工データに変換したり、測定データと加工データを、データベース制御部ＤＢＣを通じてデータベースＤＢへ格納したり、また、他のサーバやディレクトリサーバＤＲＳに通知を行うなどの処理を含む。データ処理部ＤＰＢ内のイベントアクション制御部ＥＡＣでは、上記の処理内容に加えてユーザ端末ＵＳＴや管理者端末ＡＤＴからのイベントアクションの設定要求受付け処理も含む。イベントアクション制御部ＥＡＣの詳細については後述する。
【００２０】
ディスク装置ＤＳＫは、基地局ＢＳＴから受信したセンサノードＷＳＮ、ＭＳＮ、ＦＳＮの測定データと、これらの測定データを加工した加工データと、基地局ＢＳＴや無線センサノードＷＳＮ、ＭＳＮ及び有線センサノードＦＳＮに関する装置データとを、データベースＤＢとして格納する。
【００２１】
データベース制御部ＤＢＣは、イベントアクション制御部ＥＡＣから送られたセンサノードの出力である測定データをデータベースＤＢに格納する。また、必要あれば測定データに対して数値処理を行ったデータとして、もしくは、他データと融合することにより得られる加工データとしてデータベースＤＢに格納する。なお、装置データについては、管理者端末ＡＤＴなどからの要求に応じて随時更新される。
＜ディレクトリ部ＤＲＢ、ディレクトリサーバＤＲＳ＞
ディレクトリ部ＤＲＢ、ディレクトリサーバＤＲＳでは、それぞれ、ネットワークＮＷＫ−２、もしくは、ＮＷＫ−１を介して接続されたユーザ端末ＵＳＴや管理者端末ＡＤＴからの通信を制御するセッション制御部ＳＥＳ、モデル管理部ＭＭＧ、モデルテーブルＭＴＢ、装置管理部ＮＭＧ、及び検索エンジンＳＥＲから構成される。ディレクトリサーバＤＲＳの場合には、さらにアクション制御部ＡＣＣが含まれる。
【００２２】
モデル管理部ＭＭＧは、ユーザが理解し易い実世界のモデル（オブジェクト）と分散データ処理サーバＤＤＳがセンサノードから収集した測定データ、もしくは加工データとの対応関係を実世界モデルテーブルＭＴＢに設定した実世界モデルリストによって管理する。ディレクトリ部ＤＲＢ、もしくはディレクトリサーバＤＲＳは、実世界モデルに相当する測定データもしくは加工データの存在場所の位置情報（ＵＲＬなどのリンク）も管理している。つまり、ユーザは、実世界モデルを指定することで、時々刻々と変化するセンサノードの測定情報にダイレクトにアクセス可能となる。なお、実世界モデルは、モデルテーブルＭＴＢに格納されている。
【００２３】
検索エンジンＳＥＲは、セッション制御部ＳＥＳが受け付けたオブジェクトに対する検索要求に基づいて、実世界モデルテーブルＭＴＢの情報を参照し、測定データの格納先であるＤＢ制御部ＤＢＣ（データ処理部ＤＰＢ、もしくは分散データ処理サーバＤＤＳ内）に対して検索を実行する。
【００２４】
なお、検索要求がクエリであれば、クエリの内容に従ったデータベースＤＢの対応付けと、クエリのＳＱＬ（Structured Query Language）変換を実行し、検索を実行する。このクエリとしては、「最新データ取得（スナップショット／ストリーム）」に対応する。なお、「最新データ取得（ストリーム）」については、所望のデータを常にユーザ端末に転送するようなアクションの設定を、イベントアクション制御部ＥＡＣに設定しておけばよい。
【００２５】
装置管理部ＮＭＧは、分散データ処理サーバＤＤＳ（分散データ処理の場合）、基地局ＢＳＴ、センサノードの登録や検索に関するインターフェースを管理者端末ＡＤＴ等に提供し、それぞれの装置の状態や、センサノードの状態を管理する。装置管理部ＮＭＧが発行する管理コマンドとしては、例えば、リセット、パラメータ設定、データ消去、データ転送、定型イベント／アクション設定等がある。
【００２６】
ディレクトリサーバＤＲＳ内のアクション制御部ＡＣＣは、分散データ処理サーバＤＤＳのイベントアクション制御部ＥＡＣやコマンド制御部ＣＭＣ−Ｄと通信を行って、ユーザ端末ＵＳＴや管理者端末ＡＤＴからのイベントアクションの設定要求を受け付ける。そして、受け付けたイベントまたはアクションの内容を解析し、解析結果に応じたディレクトリサーバＤＲＳと分散データ処理サーバＤＤＳ−１〜ｎ間の機能分担を設定する。なお、一つのアクションやイベントは、一つの分散データ処理サーバＤＤＳだけではなく、複数の分散データ処理サーバＤＤＳ−１〜ｎに関与する場合もある。
【００２７】
＜センサノードの一例＞
次に、センサノードの一例を図６〜図７に示す。
図６は、無線センサノードＷＳＮの一例を示すブロック図である。無線センサノードＷＳＮは、測定対象の状態量（温度、圧力、位置等）または状態量の変化（低温／高温、低圧／高圧など）を測定するセンサＳＳＲと、センサＳＳＲを制御するコントローラＣＮＴと、基地局ＢＳＴと通信を行う無線処理部ＷＰＲと、各ブロックＳＳＲ、ＣＮＴ、ＷＰＲに電力を供給する電源ＰＯＷ、送受信を行うアンテナＡＮＴから構成される。
【００２８】
コントローラＣＮＴは、予め設定された周期、もしくは不定期にセンサＳＳＲの測定データを読み込み、この測定データに予め設定したセンサノードのＩＤを加えて無線処理部ＷＰＲに転送する。測定データにはセンシングを行った時間情報をタイムスタンプとして与える場合もある。無線処理部ＷＰＲは、コントローラＣＮＴから送られたデータを基地局ＢＳＴに送信する。
【００２９】
また、無線処理部ＷＰＲは基地局ＢＳＴから受信したコマンドなどをコントローラＣＮＴに送信し、コントローラＣＮＴは受信したコマンドを解析して、所定の処理（例えば、設定変更など）を行う。また、コントローラＣＮＴは、電源ＰＯＷの残電力（または充電量）を監視し、残電力がしきい値を下回ると、無線処理部ＷＰＲから基地局ＢＳＴに対して警報を送信する。
【００３０】
無線処理部ＷＰＲでは、限りのある電力で長時間測定を行うため、図７で示すように、間欠的に動作して、電力消費を低減している。図中、スリープ状態ＳＬＰではコントローラＣＮＴはセンサＳＳＲの駆動を停止し、所定のタイミングでスリープ状態から動作状態に切り替わって、センサＳＳＲを駆動して測定データを送信する。
【００３１】
なお、図６においては、一つの無線センサノードＷＳＮに一つのセンサＳＳＲを備えた例を示したが、複数のセンサＳＳＲを配置しても良い。あるいは、センサＳＳＲに代わって、固有の識別子ＩＤを格納したメモリを設けても良く、無線センサノードＷＳＮをタグとして使用しても良い。
【００３２】
また、図６、図７においては、電源ＰＯＷは、電池を使用する場合や、太陽電池や振動発電などの自律発電機構を具備する構成としても良い。また、無線モバイルセンサノードＭＳＮも図６、図７と同様に構成すればよい。
【００３３】
＜イベントアクション処理＞
次に、イベントアクションの処理について図８〜１１を用いて説明する。図８は分散データ処理の場合のイベントアクションの設定シーケンスを示したものである。まず、ユーザ（またはサービス管理者）がユーザ端末ＵＳＴ等からディレクトリサーバＤＲＳのアクション制御部ＡＣＣにアクセスし、アクションの設定を要求する。アクション制御部ＡＣＣは、該当するオブジェクトに対するセンシング情報を検索して、該当するセンシング情報を管理する分散データ処理サーバＤＤＳのイベントアクション制御部ＥＡＣに対してイベント条件およびアクションの内容を設定する。具体的には、該当するデータＩＤに対応するデータ値が、所定のイベント条件を満たしたときに、所定のアクションを行うように、イベントアクション制御部ＥＡＣ内のイベントアクションテーブルＥＡＴＢに登録を行う。
【００３４】
イベントアクションテーブルＥＡＴＢは、図９で示すように、測定データに付与されるデータＩＤと、測定データに関するイベントの発生判定条件であるＥＶＴと、イベントの発生時に行われるアクションＡＣＮと、アクションに必要なパラメータＰＲＭ１と、測定データをデータベースＤＢに格納するか否かを示すデータ格納ＤＨＬ、格納に関連するパラメータＰＲＭ２、とから１つのイベントアクションエントリが構成されている。図９に示すイベントアクションテーブルＥＡＴＢの例では、データＩＤ＝Ｘ１のデータを受信したときに、データ値＝０２というイベント発生条件ＥＶＴに一致した場合に、パラメータＰＲＭ１で示されるＩＰアドレスＢの端末に対して、ポップアップ通知を出すというイベントアクションエントリの例を示している。また、同一のエントリに対してデータの到着時のデータ格納の必要性ＤＨＬを登録しておく。データ格納に対しても必要に応じてパラメータＰＲＭ２（例えばデータの格納先、データ圧縮の必要性等）を登録しておいても良い。イベントアクションテーブルＥＡＴＢにイベントアクションエントリが登録された後、アクション制御部ＡＣＣは、アクションの設定の完了をユーザ端末ＵＳＴに通知する。
【００３５】
次に、イベント発生時のアクション応答シーケンスについて図１０を使用して説明する。分散データ処理サーバＤＤＳのイベントアクション制御部ＥＡＣでは、イベントアクションテーブルＥＡＴＢに従って、各データ到着時に予め設定されているイベント発生の有無を監視している。データＩＤ＝Ｘ１のデータを受信したときに、データ値＝０２というイベント発生条件ＥＶＴに一致した場合には、イベントアクションテーブルＥＡＴＢのアクションＡＣＮが実行される。本例では、ＩＰアドレスＢの端末に対して、ポップアップ通知を出すというアクションが行われる。また、該当するデータＩＤのイベントアクションエントリ内のデータ格納指示（データ格納の有無、圧縮などの加工指示、および格納ディレクトリの指定など）に従って、データ到着時にデータの格納処理が行われる。
なお、集中データ管理の場合には、上記のアクション制御部ＡＣＣおよび分散データ管理サーバＤＤＳで行われる処理は、データ処理部ＤＰＢ内のイベントアクション制御部ＥＡＣで行われる。
【００３６】
以上のように、センサネットデータを蓄える場合や、データの変化を検出／通知する場合には、データの到着毎にイベントの発生判定とアクション実行を行う必要がある。特に、膨大なセンサノードを収容する場合には、少なくともセンサノード数と同じだけのイベントアクションエントリをイベントアクションテーブルＥＡＴＢに定義しておく必要がある。データ到着間隔が短い場合には、データ到着時に膨大のイベントアクションの中から該当するエントリを瞬時に取得する必要がある。データ到着間隔に対して、イベントアクションエントリの取得処理が追いつかない場合には、データ到着毎にイベントの発生判定とアクション実行が正しく行われないことになる。
【００３７】
次に、イベントアクション制御部ＥＡＣ内で行われる具体的処理内容について図１１を用いて説明する。
イベントアクション制御部ＥＡＣでは、基地局ＢＳＴから受信した測定データを、まず、センシングデータＩＤ抽出部ＩＤＥで受け付け、測定データに付与されているＩＤであるデータＩＤを抽出する。また、同時に、センシングデータＩＤ抽出部ＩＤＥは、測定データを最新データメモリＬＤＭに送る。
【００３８】
抽出されたデータＩＤはイベントアクションエントリ検索部ＥＶＳに送られて、データＩＤに該当するイベントアクションエントリの検索が行われる。キャッシュ制御部ＣＣＣでは、イベントアクションエントリ検索部ＥＶＳから渡されたデータＩＤに対応するイベントアクションエントリが、キャッシュＣＣにあるかどうかを確認する。
【００３９】
キャッシュ制御部ＣＣＣでは該当するイベントアクションエントリがキャッシュＣＣに存在する場合（キャッシュヒットした場合）には、これを取得してイベントアクションエントリ検索部ＥＶＳに返送する。また、該当するイベントアクションエントリがキャッシュＣＣに存在しない場合には、データＩＤをキーにしてイベントアクションテーブルＥＡＴＢを検索し、該当するイベントアクションエントリをイベントアクションエントリ検索部ＥＶＳに返送する。イベントアクションテーブルＥＡＴＢには、全てのデータＩＤに対応するイベントアクションエントリ（ｍ個のエントリ）を格納しておく必要があるため、ハードディスクや外部メモリなど大容量の蓄積手段にて構成する必要がある。これに対して、キャッシュＣＣは高速のメモリ等で構成され、一部のイベントアクションエントリ（ｎ個のエントリ、ただしｎはｍと比較して非常に小さい値とする）のみが格納されている。よって、イベントアクションエントリの検索要求に対して、キャッシュヒットした場合には、非常に高速にイベントアクションエントリの取得が行われる。これに対して、キャッシュヒットしない場合には、ディスクへのアクセスが必要となるため、エントリの取得には時間がかかることになる。
【００４０】
イベントアクションエントリ検索部ＥＶＳでは、測定データと取得したイベントアクションエントリを、イベントアクション発生判定部ＥＶＭに送付し、イベントアクション発生判定部ＥＶＭにて、測定データの値とイベント発生条件ＥＶＴを比較する。イベント発生条件を満たした場合には、イベント発生に対応したアクションの実行をアクション実施部ＡＣＥに通知して、該当するアクションが行われる。また、イベント発生判定部ＥＶＭは、データ格納ＤＨＬの要求を最新データメモリに伝える。ＤＢ制御部ＤＢＣは、イベントアクションテーブルＥＡＴＢのデータ格納ＤＨＬがＹＥＳとなっているデータについては、最新データメモリＬＤＭからデータを受け取り、ディスク装置ＤＳＫに書き込みを行う。
【００４１】
イベントアクション制御部ＥＡＣはディレクトリインターフェースＤＳＩより測定データの参照要求を受信した場合、データアクセス受付部ＤＡＲに当該アクセス要求を送る。データアクセス受け付け部ＤＡＲでは、アクセス要求が最新のデータであれば、アクセス要求に含まれるデータＩＤに対応する測定データを最新データメモリＬＤＭから読み込んで、ディレクトリインターフェースＤＳＩへ返送する。あるいは、アクセス要求が過去のデータであれば、アクセス要求に含まれるデータＩＤに対応する測定データをＤＢ制御部を介してディスク装置ＤＳＫから読み込んで、ディレクトリインターフェースＤＳＩへ返送する。
【００４２】
次に、キャッシュ制御部ＣＣＣの構成について図１を用いて詳細に説明する。キャッシュ制御部ＣＣＣは、キャッシュアクセス制御部ＨＩＴ、学習テーブルＬＴＢ、学習テーブル制御部ＬＴＢＣ、転送制御部ＴＲＣ、および、時刻情報ＴＩＭより構成されている。
【００４３】
この構成において、まず、センサデータ到着時にデータＩＤからイベントアクションエントリを取得する処理について図１２のフローチャートとともに説明する。キャッシュ制御部ＣＣＣは、イベントアクションエントリ検索部ＥＶＳから、データＩＤを受け取ると、キャッシュアクセス制御部ＨＩＴにデータＩＤを送信する（ステップ１００）。キャッシュアクセス制御部ＨＩＴでは、該当するデータＩＤに対応するイベントアクションエントリがキャッシュＣＣに存在するかどうか（キャッシュヒット）を確認する（ステップ１０１）。キャッシュヒットの場合にはキャッシュＣＣからエントリを取得して、キャッシュアクセス制御部ＨＩＴに転送する。（ステップ１０３）。また、キャッシュヒットしない場合には、転送制御部ＴＲＣにデータＩＤを渡して、エントリ取得を要求する（ステップ１０４）。次にイベントアクションテーブルＥＡＴＢから該当するデータＩＤのエントリを取得して、キャッシュアクセス制御部ＨＩＴに転送する（ステップ１０５）。最後に、キャッシュアクセス制御部ＨＩＴからイベントアクション検索部ＥＶＳにエントリを転送することで、エントリの取得が行われる（ステップ１０６）。
【００４４】
次に、キャッシュ制御部ＣＣＣにおいて、センサデータ到着時に学習テーブルＬＴＢの情報更新を行う処理について図１３〜図１５を用いて説明する。学習テーブルＬＴＢは、データＩＤ毎に、前回アクセス時刻ＬＡＴ、推定周期ＥＣＹ、および、次回推定アクセス時刻ＥＡＴを管理している。学習テーブルＬＴＢへのアクセス、データの更新制御、および、検索制御は学習テーブル制御部ＬＴＢＣを介して行われる。学習テーブル制御部ＬＴＢＣは、図２１に示すように、学習テーブルインタフェース（ＬＴＩＦ）、時刻計算部（ＴＣＡ）、タイムアウト検出部（ＴＯＤ）、および、保護時間レジスタ（ＰＴＲ）より構成されている。
【００４５】
キャッシュ制御部ＣＣＣは、イベントアクションエントリ検索部ＥＶＳから、データＩＤを受け取ると、キャッシュアクセス制御部ＨＩＴにデータＩＤを送信する（ステップ２０１）。キャッシュアクセス制御部ＨＩＴでは、受信したデータＩＤを、学習テーブルインタフェースＬＴＩＦを介して、学習テーブルＬＴＢに送信する（ステップ２０２）。学習テーブルＬＴＢ内のデータＩＤ（図１４の例ではデータＩＤ＝Ａ）に該当する前回アクセス時刻ＬＡＴが登録されているかどうかを確認し（ステップ２０３）、前回アクセス時刻ＬＡＴが登録されてない場合には、時刻情報ＴＩＭから現在時刻を取得し、前回アクセス時刻ＬＡＴとして登録処理を行う（ステップ２０７）。また、前回アクセス時刻ＬＡＴが登録されている場合には、時刻情報ＴＩＭから現在時刻を取得し、前回アクセス時刻ＬＡＴとの差分を計算して推定周期ＥＣＹを求める（ステップ２０４）。
【００４６】
次に、現時刻を前回アクセス時刻ＬＡＴに上書きし（ステップ２０５）、さらにステップ２０４で求められた推定周期ＥＣＹを現時刻に加算することで得られる次回推定アクセス時刻ＥＡＴを学習テーブルＬＴＢに登録する（ステップ２０６）。これらステップ２０４からステップ２０７の処理は、時刻計算部ＴＣＡにて行われる。図１４の例では、データＩＤ＝Ａに対する、前回アクセス時刻ＬＡＴは「12:00:10」という時刻が既に登録されており、データＩＤ＝Ａのデータ到着が時刻「12:00:20」に発生した場合の例を示している。この場合、図１５の例に示すように、推定周期ＥＣＹはデータ到着時刻「12:00:20」と前回アクセス時刻ＬＡＴ「12:00:10」との差分から「00:00:10」と計算される。また、次回推定アクセス時刻はデータ到着時刻「12:00:20」に推定周期ＥＣＹ「00:00:10」を加算することにより「12:00:30」として求められる。なお、図１５では、前回アクセス時刻ＬＡＴには、現時刻「12:00:20」が上書きされた後の状態を示している。
【００４７】
最後に、キャッシュ制御部ＣＣＣにより、イベントアクションエントリがイベントアクションテーブルＥＡＴＢからキャッシュＣＣに対して転送される動作について図１６〜図１７および図２１を用いて説明する。
学習テーブル制御部ＬＴＢＣでは、登録されている全ての次回推定アクセス時刻ＥＡＴについて、時刻情報ＴＩＭから得られる現時刻と逐次比較を行う（ステップ３００）。具体的には、次回推定アクセス時刻ＥＡＴと現時刻との差分計算はタイムアウト検出部ＴＯＤにて行われる（ステップ３０１）。その結果、次回推定アクセス時刻ＥＡＴと現時刻との差分がＴより大きいデータＩＤに対しては何も処理を行わない。ここでＴは、イベントアクションテーブルＥＡＴＢからキャッシュＣＣにイベントアクションエントリの転送を行うのに必要な保護時間である。保護時間Ｔの値は、保護時間レジスタＰＴＲに予め設定されている。また、差分がＴ以下の場合には、タイムアウト検出部ＴＯＤは、該当するデータＩＤを転送制御部ＴＲＣに送信する（ステップ３０２）。
【００４８】
データＩＤを受信した転送制御部ＴＲＣでは、イベントアクションテーブルＥＡＴＢから該当するデータＩＤのイベントアクションエントリを検索して、キャッシュアクセス制御部ＨＩＴに転送する（ステップ３０３）。その後、キャッシュアクセス制御部ＨＩＴは、受信したイベントアクションエントリをキャッシュＣＣに格納する（ステップ３０４）。図１７の例では、保護時間Ｔ＝「00:00:05」の場合に、時刻「12:00:25」において、データＩＤ＝Ａに相当する次回推定アクセス時刻ＥＡＴ「12:00:30」が、ステップ３０１の条件を満たす例を示している。この時、学習テーブルＬＴＢからは、データＩＤ＝Ａの情報が転送制御部ＴＲＣに送られる。転送制御部ＴＲＣはイベントアクションテーブルＥＡＴＢからデータＩＤ＝Ａに相当するイベントアクションエントリ１０を取得して、キャッシュＣＣに転送を行う。
【００４９】
以上に示した処理を全てのデータＩＤに対して逐次行うことにより、周期的なセンサデータの到着に対して、対応するイベントアクション情報をキャッシュから高速に取得することが可能となり、センサデータ到着時のイベントアクション処理をリアルタイムで行うことができる。よって、膨大なセンシングデータがシステムに流入した場合においても情報の変化を迅速に把握可能なセンサネットシステムが実現できる。さらに、センサデータの到着周期の学習機能を有するため、センサデータの到着周期が変更された場合においてもイベントアクション情報のキャッシュタイミングを自律的に調整することができる。
【実施例２】
【００５０】
次にキャッシュ制御部ＣＣＣの別の実施例を以下に示す。
キャッシュ制御部ＣＣＣの別の構成を図１８に示す。キャッシュ制御部ＣＣＣは、図１と同じく、キャッシュアクセス制御部ＨＩＴ、学習テーブルＬＴＢ、学習テーブル制御部ＬＴＢＣ、転送制御部ＴＲＣおよび、時刻情報ＴＩＭ、より構成されているが、学習テーブルＬＴＢは、データＩＤ毎に、前回アクセス時刻ＬＡＴと推定周期カウンタＥＣＣにより構成されている。
この構成において、まず、センサデータ到着時にデータＩＤからイベントアクションエントリを取得する処理については、図１２で説明した処理と同様であるため説明を省略する。
【００５１】
キャッシュ制御部ＣＣＣにおいて、センサデータ到着時に学習テーブルＬＴＢの情報更新を行う処理について図１９とともに説明する。
キャッシュ制御部ＣＣＣは、イベントアクションエントリ検索部ＥＶＳから、データＩＤを受け取ると、キャッシュアクセス制御部ＨＩＴにデータＩＤを送信する（ステップ２１１）。キャッシュアクセス制御部ＨＩＴでは、受信したデータＩＤを学習テーブルＬＴＢに送信する（ステップ２１２）。学習テーブルＬＴＢ内のデータＩＤに該当する前回アクセス時刻ＬＡＴが登録されているかどうかを確認し（ステップ２１３）、前回アクセス時刻ＬＡＴが登録されてない場合には、時刻情報ＴＩＭから現在時刻を取得し、前回アクセス時刻ＬＡＴとして登録処理を行う（ステップ２１７）。また、前回アクセス時刻ＬＡＴが登録されている場合には、時刻情報ＴＩＭから現在時刻を取得し、前回アクセス時刻ＬＡＴとの差分を計算して推定周期を求める（ステップ２１４）。次に、推定周期に相当するカウンタ値を推定周期カウンタＥＣＣにセットして、カウンタの減算動作を開始する（ステップ２１５）。その後、現時刻を前回アクセス時刻ＬＡＴに上書きする（ステップ２１６）。
【００５２】
次に、キャッシュ制御部ＣＣＣにおいて、イベントアクションエントリをキャッシュする動作について図２０を用いて説明する。学習テーブル制御部ＬＴＢＣでは、登録されている全ての推定周期カウンタＥＣＣの値を逐次監視して（ステップ３１０）、カウンタ値ＥＣＣの値と保護カウンタ値Ｃとの比較を行う（ステップ３１１）。ここで保護カウンタ値Ｃは、イベントアクションテーブルＥＡＴＢからキャッシュＣＣにイベントアクションエントリの転送を行うのに必要な時間をカウンタ値に換算した値である。その結果、推定周期カウンタＥＣＣの値が、保護カウンタ値Ｃより大きいデータＩＤに対しては何も処理を行わない。また、差分がＣ以下の場合には、該当するデータＩＤを転送制御部ＴＲＣに送信する（ステップ３１２）。次に、転送制御部ＴＲＣは、イベントアクションテーブルＥＡＴＢから該当するデータＩＤのイベントアクションエントリを取得して、キャッシュアクセス制御部ＨＩＴに転送する（ステップ３１３）。その後、キャッシュアクセス制御部ＨＩＴは、受信したイベントアクションエントリをキャッシュＣＣに格納する（ステップ３１４）。このように本実施例では、推定周期カウンタＥＣＣの値と保護カウンタ値Ｃを比較するだけでよいため、キャッシュへの転送タイミングを時刻情報として管理する必要がないという利点がある。
【実施例３】
【００５３】
次にイベントアクション制御部ＥＡＣの別の実施例について図２２を用いて説明する。図１１のイベントアクション制御部ＥＡＣの構成では、センシングデータＩＤ抽出部ＩＤＥにおいては、入力されたセンシングデータの到着毎に、データＩＤを抽出してイベントアクションエントリ検索部ＥＶＳに送付する構成であったが、図２２の構成では、図２３に示すように、センシングデータＩＤ抽出部ＩＤＥにデータパケットバッファＤＰＢを持ち、ここで到着するセンシングデータを蓄える。
【００５４】
センシングデータＩＤ抽出部は、イベントアクションエントリ検索部ＥＶＳからの要求に応じて、データＩＤ情報をイベントアクションエントリ検索部ＥＶＳに転送する。より具体的には、イベントアクションエントリ検索部ＥＶＳにおいて、実行中のイベントアクション検索処理の終了、もしくは処理負荷に応じて、センシングデータＩＤ抽出部ＩＤＥのデータＩＤ要求・抽出ブロックＩＲＥを通して、次のデータＩＤをデータパケットバッファの先頭データから取得し、次のイベントアクション検索処理を行う。
【００５５】
本構成によると、到着するセンシングデータが、データパケットバッファＤＰＢに蓄えられるため、データパケットがバースト的に到着する場合においても、イベントアクション検索処理をオーバフローさせることがないという利点がある。
さらに、図２４に示すように、センシングデータＩＤ抽出部ＩＤＥに、センシングデータを優先制御付きデータパケットバッファＰ−ＤＰＢを用いることができる。
【００５６】
具体的には、入力されるセンサデータパケットＤＰに、優先処理Ｈ／非優先処理Ｌを示すビット（Ｐ）を付加しておき、これらを区別してバッファリング処理を行う。優先制御付きデータパケットバッファＰ−ＤＰＢの優先キューバッファＤＰＢ−Ｈには優先データパケット（Ｐ＝優先Ｈのもの）を、また、非優先キューバッファＤＰＢ−Ｌには優先データパケット（Ｐ＝優先Ｌのもの）を格納し、ヘッドオフライン制御部ＨＯＬにて優先的な読み出し制御を行うことで、到着順序に関わらず、優先データパケットのイベントアクション検索を優先的に行うことができる。具体的には、ＩＤ要求ＩＤＲを受信した場合に、優先制御付きデータパケットバッファＰ−ＤＰＢのヘッドオブライン制御部ＨＯＬが、優先キューバッファＤＰＢ−Ｈにデータパケットが格納されている場合にはこれを優先してＩＤ送付／データ送信処理を行い、非優先キューバッファＤＰＢ−Ｌに格納されているデータパケットは、優先キューバッファＤＰＢ−Ｈにデータパケットが格納されていない場合にのみ、ＩＤ送付／データ送信処理を行う。
【００５７】
このように、到着するセンシングデータのイベントアクション検索処理に優先度をつけることで、イベントアクション制御部にバースト的にセンシングデータが到着し、イベントアクション検索処理が高負荷となる場合においても、重要なデータパケットもしくは時間的に迅速な処理が要求されるデータパケットのイベントアクション処理を優先して滞り無く行うことが可能となる。
【産業上の利用可能性】
【００５８】
センサデータの到着タイミングを予測して、イベントアクションテーブルに蓄積されている膨大なエントリから必要なエントリのみを予めキャッシュに転送しておくことで、センサデータ毎に行うべきイベントアクション処理を高速化できる。よって、膨大なセンシングデータがシステムに流入した場合においても、処理ネックになることなく、情報の変化検出およびデータ格納などの必要な処理が迅速に可能なセンサネットシステムが実現できる。
【図面の簡単な説明】
【００５９】
【図１】本発明の第１の実施形態を示すキャッシュ制御方式の機能ブロック図。
【図２】集中データ管理型センサネットワークのシステム構成図。
【図３】分散データ管理型センサネットワークのシステム構成図。
【図４】集中データ管理型センサネットワークシステムのブロック図。
【図５】分散データ管理型センサネットワークシステムのブロック図。
【図６】無線センサノードＷＳＮの一例を示すブロック図。
【図７】無線センサノードの動作状態を示すグラフで、時間と消費電流の関係を示す。
【図８】イベントアクション設定例を示すシーケンス図。
【図９】イベントアクションテーブルの構成図。
【図１０】イベントアクション応答例を示すシーケンス図。
【図１１】本発明のイベントアクション制御部の機能ブロック図。
【図１２】センサデータ到着時のイベントアクションエントリ取得に関するシーケンス図。
【図１３】センサデータ到着時の学習テーブル情報更新に関するシーケンス図。
【図１４】センサデータ到着時の学習テーブル情報更新の説明図。
【図１５】センサデータ到着時の学習テーブル情報更新の説明図。
【図１６】イベントアクションエントリのキャッシュ動作を示すシーケンス図。
【図１７】イベントアクションエントリのキャッシュ動作の説明図。
【図１８】本発明の第２の実施形態を示すキャッシュ制御方式の機能ブロック図。
【図１９】センサデータ到着時の学習テーブル情報更新に関するシーケンス図。
【図２０】イベントアクションエントリのキャッシュ動作を示すシーケンス図。
【図２１】本発明の学習テーブル制御部の機能ブロック図。
【図２２】本発明のイベントアクション制御部の別の構成の機能ブロック図。
【図２３】本発明のセンシングデータID 抽出部の機能ブロック図。
【図２４】本発明のセンシングデータID 抽出部の別の構成の機能ブロック図。
【符号の説明】
【００６０】
ＣＣＣ  キャッシュ制御部
ＥＶＳ  イベントアクションエントリ検索部
ＣＣ  キャッシュ
ＥＡＴＢ  イベントアクションテーブル
ＬＴＢ  学習テーブル
ＬＴＢＣ  学習テーブル制御部
ＨＩＴ  キャッシュアクセス制御部
ＴＲＣ  転送制御部
ＴＩＭ  時刻情報。
【図１】
2006209457.tif 000003
【図２】
2006209457.tif 000004
【図３】
2006209457.tif 000005
【図４】
2006209457.tif 000006
【図５】
2006209457.tif 000007
【図６】
2006209457.tif 000008
【図７】
2006209457.tif 000009
【図８】
2006209457.tif 000010
【図９】
2006209457.tif 000011
【図１０】
2006209457.tif 000012
【図１１】
2006209457.tif 000013
【図１２】
2006209457.tif 000014
【図１３】
2006209457.tif 000015
【図１４】
2006209457.tif 000016
【図１５】
2006209457.tif 000017
【図１６】
2006209457.tif 000018
【図１７】
2006209457.tif 000019
【図１８】
2006209457.tif 000020
【図１９】
2006209457.tif 000021
【図２０】
2006209457.tif 000022
【図２１】
2006209457.tif 000023
【図２２】
2006209457.tif 000024
【図２３】
2006209457.tif 000025
【図２４】
2006209457.tif 000026