(57)【特許請求の範囲】
【請求項１】
間欠的に観測を行う複数のセンサノードとネットワークを介して接続されるセンサネットサーバであって、
通信部と処理部と記憶部を有し、
前記処理部は、前記通信部を介して受信した、同一の前記センサノードで観測された複数の時系列値に基づき、前記時系列値を時系列情報として保持するデータ部と、前記時系列情報を説明する値を保持するメタ部とからなるデータ構造を作成し、
前記メタ部の前記時系列情報を説明する値に基づき、前記データ部の前記時系列情報を解釈し、前記複数のセンサノードから異なる表現形式で受信した前記時系列情報に対して、時刻補正及び時刻補完を行い、ユーザから指定されるデータ形式の時系列情報に変換する、
ことを特徴とするセンサネットサーバ。
【請求項２】
請求項１記載のセンサネットサーバであって、
前記データ部は、前記時系列値を複数種類のデータ形式で保持し、
前記メタ部は、前記時系列値の前記データ形式の種類を示す識別子と、前記時系列情報を説明する値との集合を保持する、
ことを特徴とするセンサネットサーバ。
【請求項３】
請求項１記載のセンサネットサーバであって、
前記処理部は、
複数の前記センサノード毎の前記時系列値の時間軸上のずれを、ユーザからの指定に基づき、前記時系列値の最新値、又は最近値のいずれかにより補正して前記時刻補正を行う、
ことを特徴とするセンサネットサーバ。
【請求項４】
請求項１記載のセンサネットサーバであって、
前記処理部は、
前記時系列値が欠損している場合、ユーザからの指定に基づき、NULL値、直前の前記時系列値、或いは前後関係からの予測値のいずれかの方法により、前記時系列値を補完して前記時刻補完を行う、
ことを特徴とするセンサネットサーバ。
【請求項５】
請求項１記載のセンサネットサーバであって、
前記記憶部は、複数種類の前記時系列値を変換する変換方法を記載したテーブルを持ち、
前記処理部は、ユーザの指定した種類の前記時系列値の種類と、前記記憶部に格納した前記時系列値の種類を比較し、前記テーブルに記載された対応する前記変換方法により前記時系列値の種類を変換する、
ことを特徴とするセンサネットサーバ。
【請求項６】
請求項１記載のセンサネットサーバであって、
前記処理部は、
前記データ構造の前記データ形式の変換手順、或いは前記データ構造の解析手順を指定するスクリプトを受け付け、前記スクリプトに基づき、ユーザが指定する前記変換手順を組み替えられる、
ことを特徴するセンサネットサーバ。
【請求項７】
請求項２に記載のセンサネットサーバであって、
前記記憶部は、
前記時系列値を複数種類のデータ形式で保持した前記データ部と、前記時系列値の前記データ形式の種類を示す前記識別子と前記時系列情報を説明する値との集合を保持する前記メタ部とからなる前記データ構造を格納する、
ことを特徴とするセンサネットサーバ。
【請求項８】
センサによる観測値を解析するセンサネットシステムであって、
間欠的に観測を行う、複数のセンサノードと、
前記複数のセンサノードとネットワークを介して接続されるセンサネットサーバとを備え、
前記センサネットサーバは、
前期ネットワークを介して受信した、同一の前記センサノードで観測された複数の時系列値に基づき、前記時系列値を時系列情報として保持するデータ部と、前記時系列情報を説明する値を保持するメタ部からなるデータ構造を管理し、
前記メタ部の前記時系列情報を説明する値に基づき、前記データ部の前記時系列情報を解釈し、前記複数のセンサノードから異なる表現形式で受信した前記時系列情報に対して、時刻補正及び時刻補完を行い、ユーザから指定されるデータ形式の時系列情報に変換する、
ことを特徴とするセンサネットシステム。
【請求項９】
請求項８記載のセンサネットシステムであって、
前記センサネットサーバは、
前記データ部に、複数種類のデータ形式で前記時系列値を保持し、
前記メタ部に、前記時系列値の前記データ形式の種類を示す識別子と、前記時系列情報を説明する値との集合を保持する、
ことを特徴とするセンサネットシステム。
【請求項１０】
請求項８記載のセンサネットシステムであって、
前記センサネットサーバは、
ユーザからの要求が入力される入力部を有し、
複数の前記センサノード毎の前記時系列値の時間軸上のずれを、前記入力部を介して入力される前記要求に基づき、前記時系列値の最新値、或いは最近値のいずれかにより補正して前記時刻補正を行う、
ことを特徴とするセンサネットシステム。
【請求項１１】
請求項８記載のセンサネットシステムであって、
前記センサネットサーバは、
ユーザからの要求が入力される入力部を有し、
前記時系列値が欠損している場合、前記入力部を介して入力される前記要求に基づき、NULL値、直前の前記時系列値、或いは前後関係からの予測値のいずれかの方法により、前記時系列値を補完して前記時刻補完を行う、
ことを特徴とするセンサネットシステム。
【請求項１２】
請求項８記載のセンサネットシステムであって、
前記センサネットサーバは、
ユーザからの要求が入力される入力部と、
複数種類の前記時系列値を変換する変換方法を記載したテーブルを蓄積する記憶部を有し、
前記入力部からの前記要求による前記時系列値の種類と、前記記憶部に格納した前記時系列値の種類を比較し、前記テーブルに記載された対応する前記変換方法により前記時系列値を変換する、
ことを特徴とするセンサネットシステム。
【請求項１３】
請求項８記載のセンサネットシステムであって、
前記センサネットサーバは、
ユーザからの要求スクリプトを受け付ける外部要求受け付け部を有し、
前記要求スクリプトにより、前記データ構造のデータ形式の変換手順、或いは前記データ構造の解析手順を組み替える、
ことを特徴するセンサネットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、省電力化のために一定時間間隔で起動状態と停止状態を繰り返す間欠動作を行うセンサノードから送られる観測値に対し、特に、時系列データをユーザの指示に基づき構造を変換し、解析する技術に関する。
【背景技術】
【０００２】
近年、センサ機能を搭載した小型無線センサノード (以下、センサノード)、中継機、基地局、及びセンサネットサーバ(以下、管理サーバ)から構成されるセンサネットシステムの開発が進められている。センサノードは、人又は場所の状態等（センサデータ）を観測し、観測したセンサデータを中継機によりマルチホップに中継し、基地局を経由して管理サーバに送信する。管理サーバは、受信したセンサデータに基づいて、各種処理を実行する。
【０００３】
センサネットワークにおけるキーデバイスは、小型、低電力を特徴とするセンサノードである。小型であるが故に環境や人を含むあらゆるモノへ付けることが可能となり、低電力であるが故に外部給電することなく電池で数年間稼動させることができる。さらに無線で通信するが故に、基地局または中継機を介して広範囲へ配置することが可能である。
【０００４】
センサノードにおける特徴的な動作として、間欠動作がある。これは、センシングやデータ送信のようなタスクを実行する時のみ必要なハードウェアを駆動し、実行すべきタスクがない時はセンサ、RF等の周辺ハードウェアは完全に停止し、マイコンも低電力モードで休眠させるという動作である。間欠動作を行うことにより、センサノードは、限られたバッテリの下で長時間動作が可能となる。
【０００５】
センサノードを用いることで，広範囲の観測値を収集するシステムのみならず，長期間にわたり収集した時系列の観測値を解析することにより、現実世界の変化に意味づけ・可視化を行い，より付加価値の高い情報を生成することによる付加価値の高いシステムが求められており，衛生管理，予防保全，組織のアクティビティ可視化など、様々なアプリケーションへ適用され始めている。
【０００６】
なお、特許文献１にあっては、医療用の検査装置を同一設定で検査するため、データベースに測定データを格納すると共に、測定モード等の設定値をメタデータとして格納する技術を開示し、特許文献２では、現在の事象に関するデータを収集および統合、分析、意味づけし、解析結果をタグとして付与する技術が開示されている。しかし、これらの特許文献で対象とするデータは、時系列パターンを有していないデータである。
【０００７】
【特許文献１】特開2006-162484号公報
【特許文献２】特表2004-533034号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上記従来技術と異なり、センサネットは時系列の観測値を解析対象とし、且つそのアプリケーションは多岐に亘るため、使用するセンサの種類やセンサノード数、観測間隔は、アプリケーションの違いにより様々である。そのため、以下に述べる課題がある。
【０００９】
第一の課題として、センサノードの観測および観測値の送信の動作パターンが様々であるため、該センサノードから得られる時系列の観測値も様々である課題がある。例えば、衛生管理において温度や湿度を観測する場合、10分に一度という低頻度で観測をすれば良い。この時、センサノードは10分に一度起動し、観測し、観測値をサーバに送る動作を繰り返す。一方、人間の発話を認識するために音声を観測する場合、8000Hzという高頻度な観測が必要である。しかしながら、観測の度に送信を行っていては通信回数が増大し、無線帯域を逼迫する。そのため、1度の通信で送信できるデータ量分の観測値を、まとめて1パケットとして送る必要がある。
【００１０】
以上のように、センサノードから得られる時系列の観測値の種類が様々であるため、多数のアプリケーションに共通の解析であっても、観測と送信の動作パターン毎に解析プログラムを作成する必要がある。
【００１１】
第二の課題として、該時系列の観測値の種類が様々であるため、該観測値を格納するデータベースの構造も様々である。
【００１２】
第三の課題として、該観測値をデータベースに格納する際、観測値を観測時刻毎にレコードを作成して観測値を格納した場合、観測回数と同数のレコードを作成するため容量が増大し、検索に時間がかかる課題がある。
【００１３】
第四の課題として、センサノードが無線にて観測値をセンサネットサーバへと送信するが、無線が一時的に遮断され、観測値が欠損する課題がある。
【００１４】
第五の課題として、複数のセンサノードを用いて観測を行う場合、観測のタイミングがセンサノード毎にずれてしまう課題がある。
【課題を解決するための手段】
【００１５】
本発明においては、第一の課題を解決する手段として、センサノードから得られる時系列の観測値を保持するデータ部と、該データ部の観測時刻や観測間隔といった時系列情報を説明する値を保持するメタ部からなる汎用的なデータ構造を定義する。また、この汎用的なデータ構造を観測値から作成し、アプリケーションへと配送する手段を提供する。
【００１６】
また、第二の課題を解決する手段として、前記のデータ構造を作成する手段として、観測値と共にセンサノードID、観測時刻、観測時間、観測間隔、休眠時間という時系列のメタ部を格納しているデータベースに対し、ユーザは該データ構造の時系列パターンを識別するための識別子とセンサノードIDと観測開始時刻、および観測時間を指定してセンサネットサーバに要求することにより、該サーバはデータベースを検索して、検索結果を該識別子にて識別されるデータ構造へと変換するルールが記載されたテーブルを参照し、該識別子に対応する該データ構造を作成するデータ構造作成手段を提供する。
【００１７】
更に、第三の課題を解決する手段として、前記データ構造はデータ部にセンサノードから送信される観測時刻が連続している複数の観測値をバイナリの配列の状態で保持する。そして、該観測値を該バイナリの配列のままデータベースに格納する。これにより、観測時刻毎に分割してデータベースに格納する方式と比較しレコード数が少なくなるため省容量であり、アクセス回数が減らせるため高速な格納を可能とする、データベース格納手段を提供する。
【００１８】
また更に、第四の課題を解決する手段として、前記データ構造を作成する際に観測値に欠損がある場合の補完手段として、ユーザはデータベースに対してデータ構造を要求する際にNULL補完、線形補完、最近値補完の欠損補完手段を指定してセンサネットサーバに要求することにより、該サーバはデータベースを検索し、検索結果内に欠損が存在する場合には該欠損補完手段を用いて欠損を補完する、欠損補完方法選択手段を提供する。
【００１９】
更にまた、第五の課題を解決する手段として、複数のセンサノードから得られる観測値から前記データ構造を作成する際に、観測タイミングのずれを補正する手段として、ユーザはセンサネットサーバに対して複数のノードIDと観測時刻、観測開始時間およびデータ構造のパターンを記載した識別子と、最新値補正ないし最近値補正のいずれかの補正手段を指定し、該サーバに要求することにより、該サーバはデータベースを検索し、複数ノード間の観測時刻がずれている場合、指定の方法により補正を行う観測時刻補正方法選択手段を提供する。
【００２０】
前記のデータ構造に従って作成された解析プログラム、欠損値の補完プログラム、および観測時刻修正プログラムの選択および実行手順を記載することにより、プログラムを自由に組みかえ、かつ異なる観測値間でも共通に使用することが出来る、プログラム実行指定手段を提供する。
【００２１】
なお、本件明細書において、「時系列情報を説明する値」とは、ある時点での状態、及びその時点から一定期間におけるその状態の変化を示す値を意味することとする。
【発明の効果】
【００２２】
本発明によれば、ユーザはセンサノードの観測および観測値の送信の動作パターンによらずアプリケーションや解析プログラムを作成することができる。また、欠損の補完や観測タイミングのずれを修正するプログラム等、観測対象が異なる場合でも共通に使用することができるため、開発工数の削減をすることができる。
【発明を実施するための最良の形態】
【００２３】
以下、本発明の数々の実施形態を添付図面に基づいて説明する。
【実施例１】
【００２４】
図1は、本発明の第１の実施例であるセンサネットシステムの構成のブロック図である。
【００２５】
センサネットシステムは、センサネットサーバ(Sensor-net Server)101、ゲートウェイ（Gateway, GW）102、ルータノード(Router Node, RT)103、センサノード(Sensor Node, SS)104、管理計算機(Management Computer)105、クライアント計算機(Client Computer)106、有線センサ(Wired Sensor)107、RFIDリーダ（Radio Frequency Identification Reader）108及びLAN（Local Area Network）109を備える。
【００２６】
LAN109は、センサネットサーバ101、ゲートウェイ102、管理計算機105、クライアント計算機106及び有線センサ107を相互に接続する。
【００２７】
センサノード104は、当該センサネットシステムに分散されて設置される。本実施例のセンサネットシステムには、9個のセンサノード104が設置されているが、いくつ設置されてもよい。センサノードに関する詳細は図4および図5にて説明する。
【００２８】
ルータノード103は、ZigBee（登録商標）通信部(ZigBee Communicator)122及びルーティングマネージャ(Routing Manager)121を備える。ZigBee通信部122は、ZigBeeプロトコルを用いて、ゲートウェイ102、センサノード104又は他のルータノード103と通信する。ルーティングマネージャ121は、外部から受信した情報の転送先を判定する。
【００２９】
ルータノード103は、センサノード104によって観測された環境情報又はセンサネットサーバ101から発行された要求等を受信し、ゲートウェイ102、センサノード104又は他のルータノード103に転送する。
【００３０】
ゲートウェイ102は、LAN通信部（LAN Communicator）120、ルーティングマネージャ121、ZigBee通信部122及びPAN制御部（PAN Controller）123を備える。
【００３１】
LAN通信部120は、LAN109を介して、センサネットサーバ101と通信する。ルーティングマネージャ121は、外部から受信した情報の転送先を判定する。ZigBee通信部122は、ZigBeeプロトコルを用いて、ルータノード103又はセンサノード104と通信する。PAN制御部123は、当該ゲートウェイ102から構成されるPAN（Personal Area Network）を制御する。
【００３２】
ゲートウェイ102は、センサノード104によって観測された環境情報又はセンサネットサーバ101から発行された要求等を受信し、センサネットサーバ101、ゲートウェイ102、ルータノード103又はセンサノード104に転送する。
【００３３】
センサネットサーバ101は、LAN109を介して，基地局102，管理計算機105，クライアント計算機106及び有線センサ107と通信する。また、基地局を介してセンサノードからの観測値の受信や、センサノードの制御を行う。センサネットサーバの詳細に関しては、図2および図3にて説明する。
【００３４】
管理計算機105は、当該センサネットシステムの管理者によって操作される。管理計算機105は、管理者の操作を契機に、各種要求をセンサネットサーバ101に送信する。
【００３５】
クライアント計算機106は、当該センサネットシステムのクライアントによって操作される。クライアント計算機106は、各種アプリケーションを実行する。また、クライアント計算機106は、センサノード104によって観測された環境情報を、センサネットサーバ101から受信する。クライアント計算機106は、受信した環境情報に基づいて、各種処理を行う。
【００３６】
有線センサ107は、環境情報を観測する。そして、有線センサ107は、観測した環境情報を、LAN109を介してセンサネットサーバ101に送信する。
【００３７】
図4はセンサノード104のハードウェア構成を、図５はセンサノード104の機能構成を図示したブロック図である。
【００３８】
センサノードは無線送受信を行うRF トランシーバ（RF Transceiver）401、表示部(Display)402、操作ボタン(Button)403、センサ(Sensor(s))404、マイコン(MicroProcessor)405、絶対時刻を持つリアルタイムクロック(Real-time Clock)406、揮発性メモリ(Volatile Memory)407、フラッシュメモリ（Flash Memory）等の不揮発メモリ(Nonvolatile Memory)408、読み出し専用メモリ（Read-Only Memory）409、ノードの各部に電力を供給するバッテリ（Battery）410とから構成される。
【００３９】
センサノード104は、ハードウェアにおいてReal-Time Clock406以外の電源をOFF状態にする休眠状態と、全ての回路の電源をON状態にする起動状態の2つの動作を一定周期ごとに使い分ける。センサノード104は起動状態において、様々なセンサ404を用いてセンシングを行う。センシングされた情報はReal-Time Clock406の時刻情報と共にMicroProcessor405にてパケットに格納され、RF Transceiver401から基地局及び中継機に無線で送信されると共に、Nonvolatile Memory408へ格納される。
【００４０】
MicroProcessor405は中央処理部（Central Processing Unit, CPU）414、およびRAM、ROM、不揮発性のメモリであるフラッシュメモリ413を備えている。ＣＰＵ414は，不揮発性メモリ408に記録されているプログラムをメモリ413に格納して実行することによって，各種処理を行う。
【００４１】
操作ボタン(Button)403は、ユーザの操作を受け付ける入力デバイスであり、特定のボタン操作により、センサノード104の特定の動作を起動したり、動作パラメータを設定したりすることができる。
【００４２】
表示部(Display)402は、ユーザに対して情報を表示するための出力デバイスである。例えば、センサノードが環境計測用に室内または室外に設置する用途である場合には、センサ部404により計測した最新の測定値を表示することができる。その際、低電力化のために、通常時は何も表示せず、特定のボタン操作を行った時のみ、該最新測定値を表示するといった活用が好適である。また、センサノードが名札型や腕時計型等の携帯端末である場合には、通常時は時刻情報を表示し、センサネットサーバ101からテキストメッセージを受信した場合には該メッセージを表示したり、音声メッセージを受信した際には該着信情報を表示したりするといった活用が好適である。また、ユーザのボタン操作に連動して、階層化された操作メニューを表示することができる。該操作メニューに従ってボタン操作を行うことにより、アプリケーションユーザ（Application User）やシステム管理者（System Manager）は、センサノードの動作パラメータを設定したり、通信失敗時のエラー情報を確認したりすることができる。
【００４３】
なお、ルータノード103及びゲートウェイ102は、センサノード104と同様のハードウェア構成を有し、通信機能等を有する通常の計算機で構成される。よって、ルータノード及びゲートウェイの構成については、説明を省略する。
【００４４】
図5に示すように、センサノード104の機能は、観測や観測値蓄積やイベント発行を管理するMain部503と、センサを用いて観測を行う観測部502と、観測値などのイベントを発行するイベント発行部504と、イベントを無線にて送信するあるいはコマンドを無線にて受信する通信部505と、外部記憶部408への観測値の蓄積を管理する観測値蓄積管理部507と、親中継機ないし親基地局より受信したコマンドを処理するコマンド処理部511がある。これらの機能は不揮発性メモリ408に格納されており、ＣＰＵ414は不揮発性メモリ408に記録されているプログラムをメモリ413に格納して実行することによって，各種処理を行う。
【００４５】
図3はセンサネットサーバ101のハードウェアを表すブロック図である。センサネットサーバ101は、中央処理部（CPU）301、外部通信部302、電源303、ハードディスクドライブ（HDD）304、入力部であるキーボード305、出力部であるディスプレイ306、およびメモリ307からなる。
センサネットサーバ101は、外部通信部302を経由し基地局からデータの受信および基地局へコマンドの送信を行う。また、外部通信部302を通じて、クライアントコンピュータ106からの要求を受信する。CPU301は、キーボード305から入力されたユーザコマンドの解釈を行い、外部通信部302を通じて基地局へと配信する。また、CPU301は，HDD304などの外部記憶装置に記録されているプログラムをメモリ307に格納して実行することによって、プログラムの指示に従って外部通信部302を通じて取得したデータの加工を行い、HDD304へデータを蓄積したり、ディスプレイ306に表示したりする。
【００４６】
図2はセンサネットサーバ101のCPU301が実行する機能を表すブロック図である。センサネットサーバ101の機能は、外部要求受付部201、解析管理部204、観測値加工部208、観測時刻修正部209、欠損補完部210からなる解析マネージャ127と、解析モジュール群202などからなる。また、データベースアクセス機能113内のデータベース書出し部205およびデータベース読込み部206を介して、HDD304に蓄積されるデータベース207の観測値データベース116や加工値データベース217にアクセスしている。また、イベント受付部203を介して、センサノードからのタイマイベント213や観測イベント214を受信している。なお、これらの機能は通常CPU301で実行されるプログラムで構成される。
【００４７】
センサノード104からの観測イベント214は、イベント受付部114にて受信する。受信したイベントはInformation212という汎用的なデータ構造を用いることにより、センサネットサーバの各機能間で共通に扱うことができる。Information212の詳細な説明については図8にて述べる。解析マネージャ127は、ユーザからの要求211や、センサノードからのイベント214、あるいはタイマイベント213が到来したタイミングで解析を行う。ユーザは、解析に必要なInformationおよび解析の手順を解析要求スクリプト211により指示を行う。
【００４８】
ユーザからの指示は、外部要求受付部201にて受信し、解析管理部204において解釈を行う。解析管理部204は、該スクリプトに記載の解析に必要なInformationを確認し、センサノード104から必要な観測値を得られるまで待機するか、必要なデータをデータベース読込み部206より取得する。データベース読込み部206は、HDD304上にあるデータベース207を検索し、必要なデータを取得し、観測値加工部208にて欠損の補完および観測時刻の修正を行なった後ユーザ要求のInformationに変換し、解析管理部204へと返戻する。解析管理部204は該返戻を受け取ると、解析モジュール群202より該スクリプトに記載の解析モジュールを選択し、該Informationを解析モジュールへ配送する。また、該スクリプトにInformation内のデータを加工値データベース117へ格納する指示が有る場合、解析管理部204はデータベース書出し部205に該Informationを配送し、データベース書出し部205はスクリプトに記載の、データベース207内の加工値テーブル1400へとデータを書き込む。
【００４９】
図8に、図2で説明したInformationのメモリ上でのデータ保持形式を示す。Information212は、観測値を保持するデータ部802と、データ部の時系列情報を説明する値を保持するメタ部801からなる。データ部802には、イベント受付部203にて得られたセンサノードからの観測値を、バイナリのまま保持する。メタ部801はデータ名（name）809、時系列のタイプ（type）810、軸（axis）811、単位(uom)812を持ち、更にこのメタ部801は、データ部802の時系列情報を説明する値として、観測開始時刻(startTime)1402、観測時間(totalTime)1403、サンプリングレート(SamplingRate)1404、1つの観測値群に何秒間の観測値が存在するかを示すデュレーション（Duration）1405、休眠時間を示すインターバル（Interval）1406を保持する。メタ部801のこれらの時系列を説明する情報を組み合わせることにより、様々な観測パターンによる時系列データを共通に扱うことができる。この観測パターンとInformationの対応に関しては、後で説明する具体例にて述べる。
【００５０】
図14は、Informationを格納するデータベースのテーブル定義を示した図である。データベース内にはどのノードで観測された値かを識別するためのID1401、時系列のタイプを示すType810、観測開始時刻を表すStartTime1402、1つのレコードに格納したデータの時間を記載するためのTotalTime1403、1秒間にいくつのデータがあるかを示すためのSampling Rate1404、1つの観測値群に何秒間の観測値が存在するかを示すDuration1405、休眠時間を示すInterval1406を持ち、これらはメタ部801として扱われる。メタ部801を示すカラムには、該格納するInformationに付属のカラムのみ代入される。また、データベースにはデータ部802を格納するデータカラム（Data）1407を持ち、データをバイナリとして格納する。データ部802に要素が複数存在する場合、要素毎のメタ情報を算出し、一つの要素を1レコードとして格納する。
【００５１】
以上説明してきた実施例１の一つの具体例として、センサノードおよびセンサネットサーバを用いたシステムにて得られる観測値をInformationへと加工し、このInformationをデータベースへ格納する例を示す。
【００５２】
センサノード104は、観測対象の違い、通信帯域の制限、および電池寿命の兼ね合いから、様々な観測および観測値の送信の動作パターンを取る。図6に、センサノード104における観測と観測値送信の動作のパターンを表すシーケンス図を示す。
【００５３】
図６の601は一定間隔で観測を行うがイベント発生時のみ観測値を送信する動作を表す図であり、例えば人感センサを用いて人が居るか居ないかを10秒間隔で検知し、人が居ない状態から居る状態に変化した時、あるいは人が居る状態から居ない状態に変化した時のみ送信を行う動作である。センサノードは起動後観測を行い(605)、イベントの有無を判定し(606)、イベントが発生した場合は該イベントを基地局に対し送信し(607)、休眠する。センサを起動し観測を行うまでは10ミリ秒程度であり、送信を行った場合でも50ミリ秒程度である。従って、センサノードはほぼ休眠状態にあるため、長寿命の動作が可能である。
【００５４】
602は、単一の観測値を観測の度に送信するシーケンスを表す。センサノードは起動後観測を行い(609)、基地局に対し観測値を送信し(610)、休眠する。センサ起動から再び休眠に入るまでは10ミリ秒から50ミリ秒程度である。
【００５５】
603は、一定期間連続で観測した観測値を結合して一つのパケットとして送信する動作を繰り返すシーケンスを表す。センサノードは起動中常に観測を行ない(611)、同時に不揮発性メモリへと観測値を蓄積する。該観測値を一つのパケットとして結合し(612)、基地局に対して送信する(613)。例として10個の観測値を送信する場合を考える。1回観測する毎に送信を行なった場合、通信回数は10回であり、通信時間の累計は500ミリ秒である。一方、本方式にて送信する場合、通信回数は1回であり、通信時間は50ミリ秒であるため、通信帯域の節約することができる。ただし、センサノードは休眠することが無いため、最も短寿命である。
【００５６】
604は、一定期間連続で観測（614）した観測値を結合（615）して一つのパケットとして送信（616）した後、休眠する動作を繰り返すデータを表す。本方式では高頻度の観測を行うことができ、通信帯域を節約し、且電池寿命を長くすることが可能である。
【００５７】
以上の観測パターンにおいてサーバが受信し得る観測値と観測値のデータベースへの格納形式、およびデータベースから値を取得した際のメモリ上での保持形式等のデータ形式を整理した図を、図7のデータベース内の観測値表現と、データベース検索結果に示す。また、各々の観測パターンのInformationを図8に示す。
【００５８】
図７において、601に示す、イベント発生時のみ観測値を送信するパターンでは、イベント発生から終了まで一定の観測値709がある期間Δd持続するデータ構造701として示される。本観測値群を説明するメタ情報として、観測開始時刻T、観測時間Δdが必要である。本動作のInformationを図８の805に示す。データ部時系列を説明する情報として、ノードID<id>1401、観測開始時刻<startTime>1402、観測時間<totalTime>1403が必要である。各々の観測値803をデータ部802に、観測時刻<time>をメタ部801に保持する。
【００５９】
602に示す、単一の観測値710を観測と共に送信し休眠する動作を繰り返すパターンは、観測値と観測時刻で表現されるデータ構造702に示される。本観測値を説明するメタ情報として、観測時刻Tを必要とする。本観測値をデータベースより取得した結果は、706に示す通り、それぞれの観測値に観測時刻Tが付与する形である。本動作のInformationを806に示す。データ部時系列を説明する情報として、ノードID<id>1401、観測開始時刻<startTime>1402があり、各々の観測値803をデータ部802に、観測時刻<time>をメタ部801に保持する。
【００６０】
603に示す、連続して観測し一定時間毎にまとめて送信する動作を繰り返すパターンは、観測値群、観測間隔、および観測期間で表現されるデータ構造703に示される。703のデータ部を説明するメタ情報として、観測開始時刻T、観測時間ΔT、観測間隔Δdが必要である。データベースへの観測値群の格納は、無線にて取得したペイロードを1つのレコードとしてそのまま格納する。これにより、例えば50Hzで観測される1秒間の3軸加速度をデータベースに格納する場合、観測時刻毎にカラムを分割して格納するとデータベースへのアクセスが20回必要であるが、ペイロードをまとめて1つのレコードとして格納する場合は1回のアクセスでデータベースへの格納が可能である。これにより、観測値群の高速な格納および取得が可能である。本動作のInformationを807に示す。データ部の時系列情報を説明する値として、ノードID<id>1401、観測開始時刻<startTime>1402、観測時間<totalTime>1403、観測間隔<observationInterval>1404をメタ部801に持つ。データ部には複数の観測値をまとめて観測値群804として、バイナリの配列として保持する。
【００６１】
604に示す、連続して観測し一定時間後に送信し、その後休眠するパターンは、データ構造704に示される。データベースでのデータ保持形式は、703に示されるデータ構造と同一にし、休眠期間のデータを保持しないことにより、容量を節約することが可能である。本観測値群を説明するメタ情報として、観測時刻T、観測間隔Δd、観測継続期間Δd2、休眠間隔Δtが必要である。本動作のInformationを808に示す。データ部時系列を説明する情報として、ノードID<id>1401、観測開始時刻<startTime>1402、観測時間<totalTime>1403、観測間隔<observationInterval>1404、観測継続期間<duration>1405、休眠間隔<sleepInterval>1406をメタ部801に持つ。観測値は、複数をまとめて観測値群804として<Data>以下のデータ部802に持つ。
【００６２】
本実施例のシステムにおいては、以上の種々のデータ形式を相互に変換するロジックを提供することにより、ユーザは任意のInformationを取得することができるため、センサの種類によるInformationの違いを意識することなく解析モジュールやアプリケーションを作成することが可能である。
【００６３】
次に、本実施例において、上述したInformationのデータ形式を相互変換する具体例を示す。
【００６４】
センサノード104より送信される観測イベントないし観測値が蓄えられたデータベース207の観測値データベース116から、Informationを作成するシーケンスを、図9に示す。
【００６５】
910はセンサから観測イベントが到来したタイミングでInformationを作成するシーケンスを示す図である。管理サーバ101は、ユーザから「センサ#1001から到来する10分間の観測値を変換し、フーリエ変換せよ」というスクリプト1802を、外部要求受付部201にて受信する(S901)。解析管理部204は、センサからの観測値を待つ観測値待機状態S902になる。観測値が到来する（S903）と、解析管理部204はスクリプトに記載されている識別子を確認し(S904)、Information作成に必要な10分間のデータが揃っているか確認する(S905)。10分間のデータが揃っていない場合、再び観測値待機状態になる。10分間のデータが揃った時点で、Informationの定義に従い、観測開始時刻、観測時間、観測間隔を抽出し(S906)、メタ部としてデータに添付し、Informationを作成し(S907)、該スクリプトに記載の解析モジュールへと配信する(S908)。
【００６６】
図9の920は、タイマにより定期的に解析を実行する場合のInformation作成シーケンスを示す図である。管理サーバ101は、ユーザから「毎日2時にデータベースからデータを取得して解析用Informationに変換し、フーリエ変換を行い、結果をデータベースへ格納せよ」というスクリプト1803を、外部要求受付部201にて受信する(S921)。解析管理部204は、タイマを起動する（S921）。解析管理部204は、タイマからの観測値変換命令を受信（S922）すると、データベース207の観測値データベース116を検索し、スクリプトにより指定された時間分の観測値を取得する（S924）。観測値が揃っているか否かを確認し（S925）、揃っていない場合、図16に示す、欠損データ補完の種類の中からユーザの指定した方法によりデータを補完する（S926）。データが揃った場合、図7に示したInformationの定義に従い、観測開始時刻、観測時間、観測間隔などのメタ情報を抽出し(S927)、メタ部としてデータ部に添付し、Informationを作成し(S928)、受信スクリプトに記載の解析モジュールへと配信する(S929)。
【００６７】
例として、706から707へと変換する加工は、以下の通り行う。
【００６８】
ユーザから変換指示を記述した、図18に示すスクリプト1802を外部要求受付部201にて受信する。1802は、ノードID#1001の観測イベントを600秒分用い、ID#1のInformationとして生成し、高速フーリエ変換(FFT: Fast Fourier Transform)を行うスクリプトである。観測値加工部208は該スクリプトに記載の識別子を確認し、イベント受付部114に対し観測値待機を指示する。イベント受付部114は、センサノード104から送られる観測イベントを受信する度にスクリプトに記載の識別子を確認し、要求のデータが揃っているか否かを確認する。データが揃っている場合、受信したイベントより観測開始時刻T、観測間隔ΔTを算出し、観測値をバイナリの配列に纏め、解析管理部204へと配信する。
【００６９】
図10は、図２の観測値加工部208の機能ブロック図を表す。観測値加工部208は、観測値加工管理部1001と、加工要求受付部1002と、加工結果出力部1003からなる。これらは、観測値加工部208同様、CPU301で実行されるプログラムとして構成されることは言うまでもない。加工要求受付部1002では、ユーザからの変換指示やセンサノード104からの通信が到来したタイミングで、観測値の加工を行う。観測値加工部208は、加工要求を加工要求受付部1002にて受け取る。観測値加工部1001において、解析要求スクリプト211に記載のInformationを確認し、該スクリプト211に記載の910或いは920の方法にて、観測値をInformationへと加工する。作成したInformationは、スクリプト211に記載の解析モジュールへ、加工結果出力部1003から出力される。また、スクリプト211の指示に従い、Informationはデータベース書き出し部205よりデータベース207の加工値データベース117へと出力される。
【００７０】
図11は、図2の解析管理部204の機能ブロック図を表す図である。解析管理部204は、解析実行管理部1101と、解析モジュール選択部1102と、解析手順解釈部1103と、解析結果出力部1104と、解析用データ入力部1105からなる。解析実行管理部1101は、解析要求スクリプト1802を外部要求受付部201にて受け取るか、ないしスクリプト1803に記載のタイマイベントや観測イベントをイベント受付部203にて受け取ったタイミングで解析を行う。これらは、CPU301で実行されるプログラムとして構成されることは言うまでもない。
【００７１】
解析手順解釈部1103においてスクリプトに記載の解析手順の解釈を行う。また、解析用データ入力部1105はデータベース読込み部206と通信し、データベース207より解析に必要なデータを取得する。解析モジュール選択部1102は、図18の1802又は1803に記載の解析モジュールを選択し、解析用データ入力部1105より取得したデータを解析モジュールへと配信し、解析結果を取得する。取得した解析結果は、解析結果出力部1104よりデータベース書出し部205へと出力され、データベース207へと格納される。
【００７２】
図12は、解析用Information作成のためのデータをデータベース207から読み込む、データベース読込み部206の機能を表す図である。データベース読込み部206は、データベース読込み管理部1201、読込み要求受付部1202、データベース選択部1203からなる。これらも、CPU301で実行されるプログラムとして構成されることは言うまでもない。
【００７３】
データベース読込み部206は、解析管理部204から観測値または加工値の読込み要求を読み込み要求受付部1202にて受信する。データベース読込み管理部1201は、読込み要求受付部1202にて受け取った該要求1802を解釈し、データベース選択部1203にて該当するデータベース207を選択し、データを取得する。取得したデータは、該要求1802に記載の加工を行うため、観測値加工部208へと送られる。観測値加工部208は該要求1802に従い欠損補完部210にて補完し、読込み結果受付部1202より観測値加工部208へと出力される。
【００７４】
図13は、解析結果をデータベース207に出力するための、データベース書出し部205の機能を表す図である。データベース書出し部205は、データベース書込み管理部1301と、解析管理部204から解析結果を取得する解析結果取得部1302と、解析結果のInformationを判断するデータ構造判断部1303と、データ格納先を選択するデータベース選択部1304からなる。
【００７５】
解析結果は解析結果取得部1302において解析管理部204より受取り、データベース書込み管理部1301へと配送される。データ構造判断部1303は、受取った該解析結果の識別子とデータベース書込み要求スクリプトに記載のInformationの識別子を比較し、一致する場合はデータベース書込み管理部1301へと該解析結果を返戻する。該識別子が一致しない場合はデータ加工部208へと配送し、加工結果800を受取り、データベース書込み管理部1301へと該加工結果を返戻する。データベース書込み管理部1301は、該加工結果800をデータベース選択部1304へと配送する。該加工結果を受取った該データベース選択部1304は、該スクリプトに記載のデータベース207へと該加工結果を出力する。
【００７６】
図15は、欠損補完部210におけるデータ欠損時の補完を表すシーケンス図である。
【００７７】
図15の左部に示す1501は、観測値を受信する毎に欠損の補完を行う場合のシーケンス図である。サーバはイベント受付部203において観測値を受信すると(S1501)、データ部を確認し、欠落の有無を確認する(S1502)。その後、ユーザからの要求1800に従い図16から補完方法を選択し(S1503)、欠損値の補完を行い(S1504)、Informationを作成し、このInformationを観測値入力部へと送信する(S1505)。
【００７８】
図15の右部に示す1502は、定期的ないしユーザが指定したタイミングでデータベースから観測値を取得する際に、欠損データを補完するシーケンスを表す図である。欠損補完部210は、観測値要求を受信する(S1521)とデータベースを検索する(S1522)。データベースより取得した観測値の欠損の有無を確認し(S1523)、欠損がある場合は該スクリプトに記載の補完方法を確認し(S1524)、値を補完する(S1525)。補完結果はInformationに加工され、該Informationを観測値入力部へと送信する。
【００７９】
図16は、欠損補完部210における欠損値の補完方法を示す。1600は欠損の観測値および欠損の状態を表し、1604は観測値が存在することを示し、1605は観測値が欠損していることをそれぞれ示している。
【００８０】
1601は欠損箇所を空の値で補完することを示している。Information利用者は、データを利用する際に欠損値に応じて対応する必要がある。1602は、欠損箇所を欠損以前に最後に取得した値により補完することを示している。1603は、欠損箇所を前後の関係から推定して補間することを示している。推定方法は、線形補間、移動平均による補間がある。
【００８１】
図17は、複数ノードが同時に観測している際の観測時刻のずれを補正する動作を表す図である。図17上部の1701は、要求時刻以前に到来した観測値（時系列値の最新値）を用いて補正を行うことを示している。同図下部の1702は、要求時刻前後において最も近い観測値（時系列値の最近値）を用いて補正を行うことを示している。
【実施例２】
【００８２】
次に、センサネットサーバの機能構成の一部である解析管理部の第2の実施例を説明する。
【００８３】
図19A、19B、19Cは、組織のアクティビティを可視化する場合の解析管理部の具体的実施例を説明する図である。
【００８４】
組織のアクティビティ可視化には、組織のアクティビティである，位置・歩行・電話・在席といったメンバの活動状態や，業務における会話・影響・親密さといったコミュニケーション関係を検出する必要があるが、その一つの方法が、センサネットワークを活用することである。このコミュニケーションを検出するためにセンサによって取得する物理量には、対面状態を検出する赤外線、発話や環境を検出する音声、人の動作を検出する加速度がある。
【００８５】
これらセンサにより得られる物理量から、人の動きや人と人とのコミュニケーションを検出し、組織の状態を可視化することで組織の改善に役立てるためのシステムが、ビジネス顕微鏡システムである。
【００８６】
図19Aに示すように、2人の人物が、センサ#1とセンサ#2を装着している。前記センサにはコミュニケーションを検知するため、加速度センサ1901、音声センサ1902、赤外線送受信による対面センサ1903がそれぞれ設置されており、加速度センサにおいて人の動きを、音声センサおよび対面センサにおいてコミュニケーションを、それぞれ検出する。
【００８７】
図19B上部に、加速度センサ1901、音声センサ1902、および対面センサ1903の観測と観測値送信のタイミングを示している。加速度センサ1901は602の形式にて観測および送信を繰り返す。音声センサ1902は、人間の音声を認識するため8000Hzという高頻度での観測が必要である。そのため、高頻度かつ低消費容量の604の形式にて観測および送信を行う。対面センサ1903は、赤外線にて通信した相手のIDを602の形式にて送信する。ただし、赤外線の通信がいない場合、null値を送信する。
【００８８】
図19下部に以上の観測値を用いて動作、対面、および発話を認識した結果を1904として示す。また、センサ#1の解析結果を1905に、センサ#2の解析結果を1906にそれぞれ示す。1904は、センサ#1所有者が歩いてセンサ#2所有者の所へ行き会話したことを示す。解析結果1904のデータ構造は、図7の601および602で表現することが可能である。
【００８９】
図19Cに、加速度センサの観測値を用いて動作解析を行うフローチャートを示す。加速度センサの観測値解析は、1時間置きにデータベースから1時間分の観測値を取得し、1分置きの動作解析結果として出力する。
【００９０】
同図左部の1905は、解析管理部204においてデータベースから観測値を取得し、解析モジュール202へと配送するフローチャートである。ユーザは外部通信部302を介して解析管理部204に対し、「1時間分の加速度観測値を取得せよ」というスクリプトを送信する。解析管理部204は該スクリプトを受信し(S1901)、該スクリプトに記載のデータ型および解析時間を確認し、1時間置きに起動するタイマを起動する(S1902)。解析管理部は、タイマからの観測値取得命令を受信すると(S1903)、データベースより加速度を1時間分取得する(S1905)。その後取得した観測値が1時間分そろっているかを確認し(S1906)、そろっていない場合、空白はNULLにより埋められる(S1907)。データが全て揃った時点で、観測間隔などのメタ情報を抽出し(S1908)、Informationを作成し(S1909)、解析モジュール202へと配送する(S1910)。
【００９１】
同図右部の1906は、解析モジュール202にて、Informationを受信し、動作解析をするフローチャートである。解析モジュールは、Informationを受信すると(S1911)、スクリプトに記載の型の定義に従いデータ部を抽出し(S1912)、1分置きのデータを用いて判別分析を行う(S1913)。判別分析は、1時間分の観測値全てに対して行う。1時間分の解析が終了しているかを確認し(S1914)、終了していない場合は前回分析した次の観測値を分析する。全データの解析が終了すると、解析結果をデータ部とするInformationを作成し(S1915)、解析管理部へと配信する(S1906)
以上の手順により、加速度観測値から動作の解析が可能である。本手順で用いた判別分析は汎用的な手法である。そのため、入力されるデータが音声観測値の場合でも、加速度観測値とInformationを統一することにより、解析を行うことが可能である。
【実施例３】
【００９２】
続いて、センサネットサーバ101のCPU301で実行される機能である解析管理部204の第3の実施例を図20、12を用いて説明する。
【００９３】
図20は、配管継目や配管サポート部の振動予防保全に対する実施例である。
【００９４】
図20に原子力プラントにおける配管系統の概略図を示す。配管系統は，ポンプ2001や弁2002，それらを繋ぐ配管2003と，配管2003を支えるサポート部2007から構成される。配管の障害は次の原因で発生すると考えられる。第一の原因としては，振動により配管継目に加えられる応力の繰り返し回数が，配管の疲労限界回数を超えて加えられることにより配管継目2006にクラックが発生し，水漏れが発生する。第二の原因としては，配管サポート部2007に加えられる応力の繰り返し回数が，配管サポート部2007の疲労限界回数を超えて加えられることにより配管サポート部2007が破壊され，それにより配管2003自体に想定外の応力が加わり，配管破断が発生し，水漏れが発生する。第三の原因としては，ポンプのキャビテーション等の影響により配管内部に繰り返し流体による衝撃が加えられ，それにより配管内部の肉厚が減じられる。配管肉厚が閾値を超えて小さくなった時点で水漏れが発生する。
【００９５】
配管継目や配管サポート部の破壊を予測するためには，定期的に配管系統の複数箇所に振動センサ2008を設置して配管振動の観測を行い，これにより配管系統全体の応力解析を行い，配管継目2006ないし配管サポート部2007に加えられる応力を計算する。配管の破断を引き起こす振動の周波数は，最大200Hz程度とされている。
【００９６】
プラントにおける配管の総数は5万本あり、全ての配管にノードを設置し200Hzの加速度を送付した場合、転送帯域が逼迫する問題がある。前記問題を解決するため、図21に示す通り、ノードは観測値を全て送信するわけではなく、観測値2100をノード内の不揮発性メモリ408に保存した後、ノードがリサイズしたデータを送信する。リサイズ方法は、時間枠で区切ってリサイズを行う方法2101、観測値を間引いてリサイズする方法2102、分解能を下げてリサイズする方法2103がある。
【００９７】
ユーザは、解析管理部204で実行される応力解析や振動波形表示用の上位プログラムを作成し、外部要求受付部201へと観測値取得要求を送信する。センサネットサーバ101は、該要求を受信後、ノードからリサイズ後の観測値をイベント受付部114にて受信し、観測値加工部208にて該要求に記載の加工を行い、Information800を作成し、応力解析2014や振動波形表示用2015の上位アプリケーション2016へと配送する。これにより、上位プログラムの改変無しに、リサイズされたデータを扱うことが可能である。
【００９８】
以上、本発明の種々の実施の形態を詳述してきたが、本発明これらの実施形態に限定されるものでないこと言うまでもない。
【図面の簡単な説明】
【００９９】
【図１】本発明が実施されるセンサネットの一システム構成を表す図である。
【図２】実施例１のセンサネットサーバの機能構成を示したブロック図である。
【図３】実施例１のセンサネットサーバのハードウェア構成を示したブロック図である。
【図４】実施例１のセンサノードのハードウェア構成を示したブロック図である。
【図５】実施例１のセンサノードの機能構成を示したブロック図である。
【図６】実施例１のセンサノードの動作の種類を示した図である。
【図７】実施例１の観測値のInformationの種類を示した図である。
【図８】実施例１のInformationをXMLで表現した図である。
【図９】実施例１のInformationを作成するフローチャートである。
【図１０】実施例１の観測値加工部の機能構成を示したブロック図である。
【図１１】実施例１の解析管理部の機能構成を示したブロック図である。
【図１２】実施例１のデータベース読込み部の機能構成を示したブロック図である。
【図１３】実施例１のデータベース書出し部の機能構成を示したブロック図である。
【図１４】実施例１のデータベース内のデータ保持形式を示した図である。
【図１５】実施例１の欠損値を補完する処理のフローチャートである。
【図１６】実施例１の欠損値の補完方法の種類を示す図である。
【図１７】実施例１の複数ノード存在する場合の観測時刻の補正方法を示す図である。
【図１８】実施例１のInformationを作成するためのスクリプト例を表す図である。
【図１９Ａ】実施例２の組織のアクティビティ可視化を説明するための図（その１）である。
【図１９Ｂ】実施例２の組織のアクティビティ可視化を説明するための図（その２）である。
【図１９Ｃ】実施例２の組織のアクティビティ可視化を説明するための図（その３）である。
【図２０】実施例３の配管の予防保全を説明するための図である。
【図２１】実施例３のノードによりリサイズされた観測値をInformationに変換する機能を表す図である。
【符号の説明】
【０１００】
101…センサネットサーバ、102…ゲートウェイ、103…ルータノード、104…センサノード、105…管理計算機、106…ライアント計算機、107…有線センサ、108…RFIDリーダ、109…LAN、114…イベント受付部、116…観測値データベース、117…加工値データベース、127…解析マネージャー、201…外部要求受付部、202…解析モジュー群、204…解析管理部、205…データベース書出し部、206…データベース読込み部、208…観測値加工部、209…観測時刻修正部、210…欠損補完部、211…解析要求受付部、212…データ構造Information、213…タイマ、214…観測イベント。
【図１】
0005074216.tif 000002
【図２】
0005074216.tif 000003
【図３】
0005074216.tif 000004
【図４】
0005074216.tif 000005
【図５】
0005074216.tif 000006
【図６】
0005074216.tif 000007
【図７】
0005074216.tif 000008
【図８】
0005074216.tif 000009
【図９】
0005074216.tif 000010
【図１０】
0005074216.tif 000011
【図１１】
0005074216.tif 000012
【図１２】
0005074216.tif 000013
【図１３】
0005074216.tif 000014
【図１４】
0005074216.tif 000015
【図１５】
0005074216.tif 000016
【図１６】
0005074216.tif 000017
【図１７】
0005074216.tif 000018
【図１８】
0005074216.tif 000019
【図１９Ａ】
0005074216.tif 000020
【図１９Ｂ】
0005074216.tif 000021
【図１９Ｃ】
0005074216.tif 000022
【図２０】
0005074216.tif 000023
【図２１】
0005074216.tif 000024