以下に本発明の実施の形態を図面に基づいて説明する。
図1は、本発明の実施の形態のセンサネットシステムの構成のブロック図である。
センサネットシステムは、センサネットサーバ10、ゲートウェイ20、ルータノード30、センサノード40、管理計算機50、クライアント計算機60、有線センサ70、RFIDリーダ80及びLAN(Local Area Network)90を備える。
LAN90は、センサネットサーバ10、ゲートウェイ20、管理計算機50、クライアント計算機60及び有線センサ70を相互に接続する。
センサノード40は、当該センサネットシステムに分散されて設置される。本説明図のセンサネットシステムには、9個のセンサノード40が設置されているが、いくつ設置されてもよい。それぞれのセンサノード40は、ZigBee通信部401、タスクマネージャ402、センサ制御部403及び電源管理部404を備える。
ZigBee通信部401は、ZigBeeプロトコルを用いて、ゲートウェイ20又はルータノード30と通信する。タスクマネージャ402は、センサネットサーバ10から発行された要求に従って、当該センサノード40に設定されている情報を変更する。なお、要求は、センサノード40に対して何らかの処理を依頼するための情報である。例えば、タスクマネージャ402は、センサネットサーバ10から発行された要求に従って、当該センサノード40の起動間隔又は転送モードを変更する。
センサ制御部403は、当該センサ制御部40に備わるセンサを用いて、環境情報を観測する。電源管理部404は、当該センサノード40の電源を制御する。例えば、電源管理部404は、設定されている起動間隔で電力を供給することによって、当該センサノード40を起動させる。
センサノード40は、当該センサノード40に備わるセンサを用いて、環境情報を観測する。そして、センサノード40は、観測した環境情報を観測イベントとして、PAN(Personal Area Network)等の無線ネットワークを介してセンサネットサーバ10に送信する。なお、イベントは、センサノード40又はセンサネットサーバ10によって発行される。また、イベントには、当該イベントの発行元の状態又は状態変化を示す情報が格納される。
本実施の形態では、少なくとも一つのセンサノード40が、倉庫に設置されている。また、少なくとも一つのセンサノード40が、冷蔵庫に設置されている。また、それぞれのセンサノード40は、温度センサを備える。そして、センサノード40は、設置された場所の環境情報である温度を観測し、観測した温度をセンサネットサーバ10に送信する。
なお、センサノード40については、図2、図3A及び図3Bで詳細を説明する。
センサノード40は、更に、RFIDタグを備えていてもよい。この場合、当該センサネットシステムは、RFIDリーダ80を備える。RFIDタグには、当該RFIDタグの固有な識別子が格納されている。RFIDリーダ80は、RFIDタグに格納されている固有な識別子を読み取る。なお、RFIDタグを備えるセンサノード(RFIDタグ付きセンサノード)については、図4で詳細を説明する。また、RFIDリーダ80については、図5で詳細を説明する。
ルータノード30は、ZigBee通信部301及びルーティングマネージャ302を備える。ZigBee通信部301は、ZigBeeプロトコルを用いて、ゲートウェイ20、センサノード40又は他のルータノード30と通信する。ルーティングマネージャ302は、外部から受信した情報の転送先を判定する。
ルータノード30は、センサノード40によって観測された環境情報又はセンサネットサーバ10から発行された要求等を受信し、ゲートウェイ20、センサノード40又は他のルータノード30に転送する。
ゲートウェイ20は、LAN通信部201、ルーティングマネージャ202、ZigBee通信部203及びPAN制御部204を備える。
LAN通信部201は、LAN90を介して、センサネットサーバ10と通信する。ルーティングマネージャ202は、外部から受信した情報の転送先を判定する。ZigBee通信部203は、ZigBeeプロトコルを用いて、ルータノード30又はセンサノード40と通信する。PAN制御部204は、当該ゲートウェイ20から構成されるPANを制御する。
ゲートウェイ20は、センサノード40によって観測された環境情報又はセンサネットサーバ10から発行された要求等を受信し、センサネットサーバ10、ゲートウェイ20、ルータノード30又はセンサノード40に転送する。
センサネットサーバ10は、オブジェクトマネージャ101、PANマネージャ102、RDBマネージャ103、イベント発行部104、LAN通信部105、履歴データベース111、プログラムアーカイブ112、オブジェクトリスト113及び発行リスト115を含む。
オブジェクトマネージャ101は、オブジェクトリスト113を管理する。これによって、オブジェクトマネージャ101は、一つの物理的なセンサノード40に対して、一つ以上の論理的なノード(論理ノード)を設定する。そして、オブジェクトマネージャ101は、センサノード40を、当該センサノード40に設定された一つ以上の論理ノードのうちの一つとして、RDBマネージャ103及びクライアント計算機60等に提供する。そのため、RDBマネージャ103及びクライアント計算機60等は、センサノード40を、当該センサノード40として提供された論理ノードとして認識する。
なお、オブジェクトマネージャ101は、一つのセンサノード40に設定された論理ノードのすべてを、RDBマネージャ103及びクライアント計算機60等に提供しなくてもよい。この場合、RDBマネージャ103及びクライアント計算機60等は、当該センサノード40を認識しない。
PANマネージャ102は、イベント発行部104から発行されたイベント及び管理計算機50から発行された要求等に基づいて、オブジェクトマネージャ101を制御する。これによって、PANマネージャ102は、PANを管理する。
RDBマネージャ103は、イベント発行部104から発行されたイベントに基づいて、履歴データベース111に対して情報を読み書きする。具体的には、RDBマネージャ103は、センサノード40によって観測された環境情報を、履歴データベース111に格納する。
イベント発行部104は、発行リスト115を参照して、イベントを発行する。更に、イベント発行部104は、発行リスト115を参照して、発行したイベントを、適切な送信先に送信する。
LAN通信部105は、LAN90を介して、ゲートウェイ20、管理計算機50、クライアント計算機60及び有線センサ70と通信する。なお、LAN通信部は、センサネットアダプタ106を含む。センサネットアダプタ106は、LAN90を介して、ゲートウェイ20と通信する。
履歴データベース111には、センサノード40によって観測された環境情報の履歴が記憶される。なお、履歴データベース111に格納される情報については、図10で詳細を説明する。
プログラムアーカイブ112には、センサノード40に配付されるプログラムが記憶される。なお、プログラムアーカイブ112については、図11で詳細を説明する。
オブジェクトリスト113には、論理ノードに関する情報が格納される。なお、オブジェクトリスト113に格納される情報については、図7で詳細を説明する。
発行リスト115は、イベントが発行される条件及び発行されたイベントの送信先を示す。
管理計算機50は、当該センサネットシステムの管理者によって操作される。管理計算機50は、管理者の操作を契機に、各種要求をセンサネットサーバ10に送信する。
クライアント計算機60は、当該センサネットシステムのクライアントによって操作される。クライアント計算機60は、各種アプリケーションを実行する。また、クライアント計算機60は、センサノード40によって観測された環境情報を、センサネットサーバ10から受信する。クライアント計算機60は、受信した環境情報に基づいて、各種処理を行う。
有線センサ70は、環境情報を観測する。そして、有線センサ70は、観測した環境情報を、LAN90を介してセンサネットサーバ10に送信する。
図2は、本発明の実施の形態のセンサノード40の構成のブロック図である。
センサノード40は、環境情報を観測し、観測した観測情報を観測イベントとして発行する。センサノード40は、メモリ411、外部記憶装置412、CPU413、アンテナ414、無線通信装置415、電池416、センサ417、ボタン418、LCD(Liquid Crystal Display)419及びLED(Light Emitting Diode)420を備える。
メモリ411は、CPU413によって実行されるプログラム及びCPU413によって必要とされる情報等を記憶する。外部記憶装置412は、不揮発性の記憶装置であり、プログラム及び情報を記憶する。例えば、外部記憶装置412は、フラッシュメモリである。CPU413は、外部記憶装置412に記録されているプログラムをメモリ411に格納して実行することによって、各種処理を行う。
アンテナ414は、外部に対してアナログ信号を送受信する。無線通信装置415は、アンテナ414から受信したアナログ信号をデジタル信号に変換する。また、無線通信装置415は、デジタル信号をアナログ信号に変換して、アンテナ414から送信する。これによって、無線通信装置415は、PANを介してセンサネットサーバ10と無線で通信する。
センサ417は、環境情報を観測する。例えば、センサ417は、温度センサ、湿度センサ、照度センサ、ボルトの緩みを検知するひずみセンサ、扉の開閉を検知する圧力センサ、人の存在を検知する赤外線センサ、又は脈拍を検知する赤外線センサなどである。また、センサノード40が、衣服などに装着される名札ノードの場合、作業者のボタン操作による入力を検知するスイッチが、センサ417となる。
電池416は、当該センサノード40に電力を供給する。ボタン418は、作業者によって操作される。LCD419及びLED420は、各種情報を出力する。なお、センサノード40は、LCD419又はLED420のいずれか一方のみを備えてもよい。
センサノード40を構成する各部は、通常時に、スリープ状態となっている。そして、CPU413は、予め設定された所定の間隔(観測間隔)ごとに起動される。
なお、ルータノード30及びゲートウェイ20は、センサノード40と同様の構成である。よって、ルータノード30及びゲートウェイ20の構成については、説明を省略する。
図3Aは、本発明の実施の形態のセンサノード40の第1の外観の説明図である。
本説明図のセンサノード40は、LCD419を備えない。また、本説明図のセンサノード40の筐体の表面には、二つのLED420及び二つのボタン418が設置される。また、本説明図のセンサノード40の筐体の側面には、アンテナ414が設置される。それ以外の構成は、センサノード40の筐体の内部に設置される。
作業者は、二つのLED420の点滅を参照して、当該センサノード40の状態等を把握する。また、作業者は、二つのボタン418を操作することによって、各種情報又は各種要求をセンサノード40に入力する。
図3Bは、本発明の実施の形態のセンサノード40の第2の外観の説明図である。
本説明図のセンサノード40は、LED420を備えない。また、本説明図のセンサノード40の筐体の表面には、一つのLCD419及び二つのボタン418が設置される。また、本説明図のセンサノード40の筐体の側面には、アンテナ414が設置される。それ以外の構成は、センサノード40の筐体の内部に設置される。
作業者は、LCD419に表示された情報を参照して、当該センサノード40の状態等を把握する。また、作業者は、二つのボタン418を操作することによって、各種情報又は各種要求をセンサノード40に入力する。
図4は、本発明の実施の形態のRFIDタグ付きセンサノードの構成のブロック図である。
RFIDタグ付きセンサノードは、RFIDタグ、バッファ431及びセンサノード40を備える。センサノード40の構成については、図2で説明したので、詳細の説明は省略する。
バッファ431は、センサノード40から送信された情報及びRFIDタグから送信された情報等を一時的に記憶する。つまり、センサノード40とRFIDタグとは、バッファ431を介して、情報及び要求を送受信する。
RFIDタグは、メモリ421、論理回路422、スイッチ回路423と、整流回路424、無線通信装置425及びアンテナ426を備える。
メモリ421は、当該RFIDタグの固有な識別子及び無線通信で使用される情報等を記憶する。論理回路422は、バッファ413に対してデータを送受信する。スイッチ回路423は、無線通信装置425の接続先をメモリ421又は論理回路422のいずれに切り替える。整流回路424は、スイッチ回路423とアンテナ426との間に配置され、アナログ信号からノイズを除去する。
アンテナ426は、外部に対してアナログ信号を送受信する。無線通信装置425は、アンテナ426から受信したアナログ信号をデジタル信号に変換する。また、無線通信装置425は、デジタル信号をアナログ信号に変換して、アンテナ426から送信する。これによって、無線通信装置425は、RFIDリーダ80と通信する。
具体的には、無線通信装置425は、識別子の送信要求をRFIDリーダ80から受信すると、メモリ421に格納されている識別子を読み出す。そして、無線通信装置425は、読み出した識別子を、アンテナ426から送信する。
また、無線通信装置425は、所定の要求又は所定の情報をRFIDリーダ80から受信すると、受信した要求又は情報を論理回路422に送信する。すると、論理回路422は、受信した要求又は情報をバッファ413に格納する。これによって、RFIDリーダ80から送信された所定の要求又は情報は、センサノード40に伝達される。
図5は、本発明の実施の形態のRFIDリーダ80の説明図である。
RFIDリーダ80は、CPU、メモリ及びインタフェースを備える。更に、RFIDリーダ80の表面には、表示部801及びボタン802が設置される。表示部801は、各種情報を出力する。ボタン802は、作業者によって操作される。つまり、作業者は、ボタン802を操作することによって、各種情報又は各種要求をRFIDリーダ80に入力する。
RFIDリーダ80は、作業者によるボタン802の操作を契機に、RFIDタグ付きセンサノードから、当該RFIDの固有な識別子を取得する。また、RFIDリーダ80は、作業者によるボタン802の操作を契機に、RFIDタグ付きセンサノードに各種情報及び各種要求を送信する。これによって、作業者は、RFIDタグ付きセンサノードに備わるボタン418を操作せずに、RFIDタグ付きセンサノードに各種情報及び各種要求を入力できる。
図6は、本発明の実施の形態のセンサネットサーバ10の構成のブロック図である。
センサネットサーバ10は、メモリ131、外部記憶装置132、CPU133、通信装置134、キーボード136、ディスプレイ137及びACアダプタ138を備える。
メモリ131は、CPU133によって実行されるプログラム及びCPU133によって必要とされる情報等を記憶する。外部記憶装置132は、不揮発性の記憶装置であり、プログラム及び情報を記憶する。例えば、外部記憶装置132は、ハードディスク(HDD)である。具体的には、外部記憶装置132は、履歴データベース111、プログラムアーカイブ112、オブジェクトリスト113及び発行リスト115を記憶する。
CPU133は、外部記憶装置132に記録されているプログラムをメモリ131に格納して実行することによって、各種処理を行う。具体的には、CPU133は、プログラムを実行することによって、オブジェクトマネージャ101、PANマネージャ102、RDBマネージャ103、イベント発行部104及びLAN通信部105を実現する。
通信装置135は、LAN90を介して、ゲートウェイ20、管理計算機50、クライアント計算機60及び有線センサ70と通信する。
キーボード136には、管理者から各種情報が入力される。そして、キーボード136は、管理者から入力された情報をCPU133に送信する。なお、センサネットサーバ10は、キーボード136の代わりに、その他の入力装置を備えてもよい。ディスプレイ137は、CPU133から受信した情報を表示する。
図7は、本発明の実施の形態のセンサネットサーバ10のオブジェクトリスト113に格納される情報の構成図である。
オブジェクトリスト113には、論理ノードに関する情報が論理ノードごとに格納される。本説明図は、論理ノードID(LID)の「1」によって識別される論理ノードに関する情報である。
論理ノードとは、センサネットサーバに接続されるセンサノードに対応づけて作成される仮想的なノードである。
オブジェクトリスト113に格納される情報すなわち論理ノードに関する情報は、ラベル情報Label、設定情報Config及び観測情報Observantを含む。
ラベル情報は、論理ノードの構成に関する情報である。また、ラベル情報は、LID1131、論理ノード名1132、スキーマ1133、MACアドレス1134、物理ノード使用フラグ(PUF:Physical Node Use Flag)1135、物理ノード使用個数(PUC:Physical Node Use Count)1136、論理ノード使用フラグ(LUF:Logical Node Use Flag)1137、設置日時1138及び撤去日時1139を含む。
LID1131は、当該情報に対応する論理ノードの一意な識別子である。LID1131は、センサノードがどの用途で用いられているか、つまりどのアプリケーションで使用されているかを示すものである。例えば、LID「1」は倉庫の温度を観測するセンサノード、LID「2」は冷蔵庫の温度を観測するセンサノードなど、アプリケーションによってセンサノードを識別する識別子であり、物理的にセンサノードを識別する識別子とは異なる。そのため、センサノードを移設した場合など、1のセンサノードに対して複数のLIDが設定される。論理ノード名1132は、当該情報のLID1131によって識別される論理ノードの名称である。管理者は、論理ノード名1132を用いて、論理ノードを識別する。スキーマ1133は、当該情報のLID1131によって識別される論理ノードの種類を示す。
MACアドレス1134は、当該情報のLID1131によって識別される論理ノードが設定されているセンサノード40のMACアドレスである。
PUF1135は、当該情報のMACアドレス1134によって識別されるセンサノード40が、クライアント計算機60に備わるアプリケーションに現在使用されているか否かを示す物理ノード使用情報である。PUC1136は、当該情報のMACアドレス1134によって識別されるセンサノード40を使用しているアプリケーションの個数である。LUF1137は、当該情報のMACアドレス1134によって識別されるセンサノード40が、当該情報のLID1131によって識別される論理ノードとして現在提供されているか否かを示す論理ノード使用情報である。なお、PUF1135及びLUF1137については、図8及び図9で詳細を説明する。
設置日時1138は、該情報のLID1131によって識別される論理ノードが設置された日時である。撤去日時1139は、該情報のLID1131によって識別される論理ノードが撤去された日時である。
設定情報は、論理ノードに設定される情報である。また、設定情報は、観測周期1140を含む。観測周期1140は、当該情報のLID1131によって識別される論理ノードが環境情報を観測する周期である。
観測情報は、論理ノードが直近に観測した環境情報である。また、観測情報は、温度1141、LQI(Link Quality Indicator)1142、電圧1143及び前回通信日時1144を含む。
前回通信日時1144は、当該情報のLID1131によって識別される論理ノードとセンサネットサーバ10とが直近に通信した日時である。
温度1141は、当該情報の前回通信日時1144において、当該情報のLID1131によって識別される論理ノードが観測した温度である。LQI1142は、当該情報の前回通信日時1144における、当該情報のLID1131によって識別される論理ノードの通信品質を示す値である。電圧1143は、当該情報の前回通信日時1144における、当該情報のLID1131によって識別される論理ノードに備わる電池の電圧である。
図8は、本発明の実施の形態のPUF及びLUFの説明図である。
PUFは、センサノード40がクライアント計算機60に備わるアプリケーションに現在使用されているか否かを示す。センサノード40がアプリケーションに現在使用されている場合、PUFは、「T」となる。一方、センサノード40がアプリケーションに現在使用されていない場合、PUFは、「F」となる。
LUFは、センサノード40が、当該論理ノードとして現在提供されているか否かを示す。センサノード40が論理ノードとして現在提供されている場合、LUFは、「T」となる。一方、センサノード40が、当該論理ノードとして現在提供されていない場合、LUFは、「F」となる。
図9は、本発明の実施の形態のPUF及びLUFの説明図である。
PUFが「F」且つLUFが「T」の場合、当該論理ノードとして提供されるセンサノード40は、実在するが、アプリケーションには現在使用されていない。
また、PUFが「T」且つLUFが「T」の場合、当該論理ノードとして提供されるセンサノード40は、実在し、且つ、アプリケーションに現在使用されている。
また、PUFが「T」且つLUFが「F」の場合、センサノード40は、アプリケーションに使用されているが、当該論理ノードの用途と異なる用途に一時的に使用されている。
センサネットシステムにおいてセンサノードの交換を行う場合、アプリケーションには使用されていないが接続されているセンサノードを交換先センサノードとして選択する必要があるため、各センサノードがアプリケーションに使用されているか、さらには実在しているかを管理しなければならない。また、センサノードの移設を行う場合、センサノードが別の用途に使用されているかを管理しなければならない。そこで、本発明実施形態では、PUF及びLUFという識別子を用いてセンサノードの状態を管理することにより、センサノードの交換・移設といった作業を可能にする。
図10は、本発明の実施の形態のセンサネットサーバ10の履歴データベース111に格納される情報の構成図である。
履歴データベース111には、論理ノードによって観測された環境情報が、一回の観測ごとに履歴として格納される。
履歴データベース111に格納される環境情報は、LID1111、観測日時1112、温度1113、LQI1114及び電圧1115を含む。
LID1111は、当該環境情報を観測した論理ノードの一意な識別子である。観測日時1112は、当該環境情報が観測された日時である。温度1113は、当該環境情報の観測日時1112において、当該環境情報のLID1111によって識別される論理ノードが観測した温度である。
LQI1114は、当該環境情報の観測日時1112における、当該環境情報のLID1111によって識別される論理ノードの通信品質を示す値である。電圧1115は、当該環境情報の観測日時1112における、当該環境情報のLID1111によって識別される論理ノードに備わる電池の電圧である。
図11は、本発明の実施の形態のセンサネットサーバ10のプログラムアーカイブ112の構成図である。
プログラムアーカイブ112には、論理ノードとして提供されるセンサノード40に配付されるすべてのプログラムが格納される。
プログラムアーカイブ112には、スキーマ1121と対応付けられたプログラム1122が格納される。スキーマ1121は、論理ノードの種類を示す。プログラム1122は、当該スキーマ1211に対応する論理ノードとして提供されるセンサノード40に配付されるものである。
図12は、本発明の実施の形態の論理ノードの説明図である。
センサネットサーバ10に備わるオブジェクトマネージャ101は、一つのセンサノード40に対して、一つ以上の論理ノードを設定する。そのために、オブジェクトマネージャ101は、それぞれの論理ノードに関する情報を、オブジェクトリスト113に格納する。
本説明図では、オブジェクトマネージャ101は、MACアドレスの「1001」によって識別されるセンサノード40に、LIDの「1」によって識別される論理ノード及びLIDの「5」によって識別される論理ノードを設定している。
また、LIDの「1」によって識別される論理ノードは、PUFが「T」であり、且つ、LUFが「T」である。そのため、オブジェクトマネージャ101は、MACアドレスの「1001」によって識別されるセンサノード40を、LIDの「1」によって識別される論理ノードとして提供している。更に、MACアドレスの「1001」によって識別されるセンサノード40は、クライアント計算機60に備わるアプリケーションに現在使用されている。
このとき、オブジェクトマネージャ101は、LIDの「1」によって識別される論理ノードに、観測周期の「1時間」を設定している。そのため、センサノード40の外部記憶装置412には、当該センサノード40のMACアドレス431である「1001」及び観測周期432である「1時間」が記憶される。
センサノード40は、外部記憶装置412に記憶される観測周期432の「1時間」ごとに起動して、環境情報を観測する。そして、センサノード40は、観測した環境情報及び外部記憶装置412に記憶されるMACアドレス431の「1001」を、イベントとして、センサネットサーバ10に送信する。
図13は、本発明の実施の形態のセンサネットシステムにおけるイベント処理の説明図である。
センサノード40は、観測した環境情報をイベントA91として、ルータノード30及びゲートウェイ20を介して、センサネットサーバ10に送信する。
なお、イベント91は、イベント名911、MACアドレス912、観測日時913、温度914、LQI915及び電圧916を含む。
イベント名911は、当該イベントの種類を示す。イベントA91のイベント名91は、当該イベントA91が観測情報を含むことを示す。MACアドレス912は、当該イベント91に対応する観測情報を観測したセンサノード40のMACアドレスである。観測日時913は、当該イベント91に対応する観測情報が観測された日時である。温度914は、当該イベント91の観測日時913において、当該イベント91のMACアドレス912によって識別されるセンサノード40が観測した温度である。
LQI915は、当該イベント91の観測日時913における、当該イベント91のMACアドレス912によって識別されるセンサノード40の通信品質を示す値である。電圧916は、当該イベント91の観測日時913における、当該イベント91のMACアドレス912によって識別されるセンサノード40に備わる電池416の電圧である。
センサネットサーバ10に備わるセンサネットアダプタ106は、イベントA91をセンサノード40から受信する。すると、センサネットアダプタ106は、受信したイベントA91をイベント発行部104に転送する。
イベント発行部104は、イベントA91をセンサネットアダプタ106から受信する。次に、イベント発行部104は、発行リスト115を参照して、受信したイベントA91の送信先を判定する。ここでは、イベント発行部104は、PANマネージャ102を、イベントA91の送信先として判定する。次に、イベント発行部104は、送信先として判定したPANマネージャ102に、受信したイベントA91を送信する。
PANマネージャ102は、イベントA91をイベント発行部104から受信する。すると、PANマネージャ102は、オブジェクトリスト更新要求をオブジェクトマネージャ101に送信する。
オブジェクトマネージャ101は、オブジェクトリスト更新要求をPANマネージャ102から受信すると、オブジェクトリスト113を更新する。
具体的には、オブジェクトマネージャ101は、PANマネージャ102が受信したイベントA91のMACアドレス912とオブジェクトリスト113のMACアドレス1134とが一致する情報を、オブジェクトリスト113から選択する。
オブジェクトマネージャ101は、MACアドレスが一致する情報をオブジェクトリスト113から選択できなかった場合、新たな論理ノードを作成する。なお、新たな論理ノードの作成の処理については、図17で詳細を説明する。
次に、オブジェクトマネージャ101は、オブジェクトリスト113から選択した情報のLUF1137に「T」が格納されているか否かを判定する。LUF1137に「F」が格納されている場合、オブジェクトマネージャ101は、新たな論理ノードを作成する。
一方、LUF1137に「T」が格納されている場合、オブジェクトマネージャ101は、オブジェクトリスト113から選択した情報に含まれる観測情報を更新する。
ここでは、オブジェクトマネージャ101は、オブジェクトリスト113から選択した情報の温度1141に、PANマネージャ102が受信したイベントA91の温度914を格納する。次に、オブジェクトマネージャ101は、オブジェクトリスト113から選択した情報のLQI1142に、PANマネージャ102が受信したイベントA91のLQI915を格納する。
次に、オブジェクトマネージャ101は、オブジェクトリスト113から選択した情報の電圧1143に、PANマネージャ102が受信したイベントA91の電圧916を格納する。次に、オブジェクトマネージャ101は、オブジェクトリスト113から選択した情報の前回通信日時1144に、PANマネージャ102が受信したイベントA91の観測日時913を格納する。
次に、オブジェクトマネージャ101は、オブジェクトリスト113から選択した情報のPUF1135に「T」が格納されているか否かを判定する。
PUF1135に「T」が格納されている場合、オブジェクトマネージャ101は、PANマネージャ102が受信したイベントA91及びオブジェクトリスト113から選択した情報に基づいて、イベントB91を作成する。具体的には、オブジェクトマネージャ101は、イベントA91のイベント名911に格納される「observed」を、更新情報であることを示す「update」に変更する。更に、オブジェクトマネージャ101は、イベントA91のMACアドレス912の「1001」を、オブジェクトリスト113から選択した情報のLID1131の「1」に変更する。
これによって、オブジェクトマネージャ101は、イベントB91を作成する。そのため、イベントB91は、MACアドレス912の代わりに、LID917を含む。なお、LID917は、当該イベント91に対応する観測情報を観測した論理ノードの一意な識別子である。
そして、オブジェクトマネージャ101は、作成したイベントB91を、イベント発行部104に送信する。
イベント発行部104は、イベントB91を受信する。次に、イベント発行部104は、発行リスト115を参照して、受信したイベントB91の送信先を判定する。ここでは、イベント発行部104は、RDBマネージャ103及びクライアント計算機60を、イベントB91の送信先として判定する。次に、イベント発行部104は、送信先として判定したRDBマネージャ103及びクライアント計算機60に、受信したイベントB91を送信する。
RDBマネージャ103は、イベントB91をイベント発行部104から受信する。すると、RDBマネージャ103は、受信したイベントB91の内容を、履歴データベース111に格納する。
具体的には、RDBマネージャ103は、受信したイベントB91のLID917を、履歴データベース111のLID1111に格納する。次に、RDBマネージャ103は、受信したイベントB91の観測日時913を、履歴データベース111の観測日時1112に格納する。次に、RDBマネージャ103は、受信したイベントB91の温度914を、履歴データベース111の温度1113に格納する。次に、RDBマネージャ103は、受信したイベントB91のLQI915を、履歴データベース111のLQI1114に格納する。次に、RDBマネージャ103は、受信したイベントB91の電圧916を、履歴データベース111の電圧1115に格納する。
このようにして、RDBマネージャ103は、履歴データベース111を更新する。
一方、クライアント計算機60は、イベントB91をイベント発行部104から受信する。すると、クライアント計算機60に備わるアプリケーションは、受信したイベントB91を参照にして、各種処理を実行する。なお、クライアント計算機60に備わるアプリケーションの処理の例については、図16A及び図16Bで詳細を説明する。
一方、管理計算機50は、論理ノードの使用要求又は不使用要求を、PANマネージャ102に送信する。なお、使用要求には、使用の開始が要求される論理ノードのLIDが含まれる。また、不使用要求には、使用の停止が要求される論理ノードのLIDが含まれる。
PANマネージャ102は、使用要求を受けると、オブジェクトリスト更新要求をオブジェクトマネージャ101に送信する。
オブジェクトマネージャ101は、オブジェクトリスト更新要求をPANマネージャ102から受信すると、オブジェクトリスト113を更新する。
具体的には、オブジェクトマネージャ101は、PANマネージャ102が受信した使用要求に含まれるLIDとオブジェクトリスト113のLID1131とが一致する情報を、オブジェクトリスト113から選択する。次に、オブジェクトマネージャ101は、オブジェクトリスト113から選択した情報のPUF1135に「T」を格納する。次に、オブジェクトマネージャ101は、オブジェクトリスト113から選択した情報のPUC1136に「1」を加算する。更に、オブジェクトマネージャ101は、オブジェクトリスト113から選択した情報から、スキーマ1133、MACアドレス1134及び観測周期1140を抽出する。次に、オブジェクトマネージャ101は、抽出したスキーマ1133、MACアドレス1134及び観測周期1140を、PANマネージャ102に送信する。
PANマネージャ102は、スキーマ1133、MACアドレス1134及び観測周期1140をオブジェクトマネージャ101から受信する。次に、PANマネージャ102は、受信したMACアドレス1134によって識別されるセンサノード40に、受信した観測周期1140を送信する。これによって、PNAマネージャ102は、受信したMACアドレス1134によって識別されるセンサノード40に、使用開始を要求する。
このとき、PANマネージャ102は、センサノード40で実行されるプログラムを当該センサノード40に送信してもよい。具体的には、PANマネージャ102は、オブジェクトマネージャ101から受信したスキーマに対応するプログラム1122を、プログラムアーカイブ112から抽出する。次に、PANマネージャ102は、抽出したプログラム1122を、受信したMACアドレス1134によって識別されるセンサノード40に送信する。
一方、PANマネージャ102は、不使用要求を受けると、クライアント計算機60に備わるアプリケーションに、論理ノードの使用終了を要求する。次に、PANマネージャ102は、オブジェクトリスト更新要求をオブジェクトマネージャ101に送信する。
オブジェクトマネージャ101は、オブジェクトリスト更新要求をPANマネージャ102から受信すると、オブジェクトリスト113を更新する。
具体的には、オブジェクトマネージャ101は、PANマネージャ102が受信した不使用要求に含まれるLIDとオブジェクトリスト113のLID1131とが一致する情報を、オブジェクトリスト113から選択する。次に、オブジェクトマネージャ101は、オブジェクトリスト113から選択した情報のPUC1136から、「1」を減算する。そして、オブジェクトマネージャ101は、減算されたPUC1136が「0」であるか否かを判定する。PUC1136が「0」であると、オブジェクトマネージャ101は、オブジェクトリスト113から選択した情報のPUF1135に「F」を格納する。
図14は、本発明の実施の形態のイベント受信時におけるセンサネットサーバ10の処理のフローチャートである。
まず、センサネットサーバ10は、センサノード40からイベント91を受信したか否かを判定する(S1001)。イベント91を受信していない場合、センサネットサーバ10は、本処理を終了する。そして、センサネットサーバ10は、イベント91を受信するまで待機する。センサネットサーバ10は、その後に新たなイベント91を受信すると、本処理を再度実行する。
一方、イベント91を受信した場合、センサネットサーバ10は、当該イベント91に対応する論理ノードが存在するか否かを判定する(S1002)。
具体的には、センサネットサーバ10は、受信したイベント91のMACアドレス912とオブジェクトリスト113のMACアドレス1134とが一致する情報を、オブジェクトリスト113から選択する。
センサネットサーバ10は、MACアドレスが一致する情報をオブジェクトリスト113から選択できなかった場合、当該イベント91に対応する論理ノードが存在しないと判定する。
一方、センサネットサーバ10は、MACアドレスが一致する情報をオブジェクトリスト113から選択できた場合、オブジェクトリスト113から選択した情報のLUF1137に「T」が格納されているか否かを判定する。LUF1137に「F」が格納されている場合にも、センサネットサーバ10は、当該イベント91に対応する論理ノードが存在しないと判定する。
一方、LUF1137に「T」が格納されている場合、センサネットサーバ10は、当該イベント91に対応する論理ノードが存在すると判定する。この場合、センサネットサーバ10は、そのままステップS1004に進む。
イベント91に対応する論理ノードが存在しない場合、センサネットサーバ10は、受信したイベント91に基づいて、新たな論理ノードを作成する(S1003)。
具体的には、センサネットサーバ10は、新たな論理ノードに関する情報を、オブジェクトリスト113に作成する。センサネットサーバ10は、オブジェクトリスト113に含まれるすべてのLID1131と重複しない値を、新たな論理ノードに関する情報のLID1131に格納する。次に、センサネットサーバ10は、受信したイベント91のMACアドレス912を、新たな論理ノードに関する情報のMACアドレス1134に格納する。
次に、センサネットサーバ10は、新たな論理ノードに関する情報のPUF1135に「F」を格納する。次に、センサネットサーバ10は、新たな論理ノードに関する情報のPUC1136に「1」を格納する。次に、センサネットサーバ10は、新たな論理ノードに関する情報のLUF1137に「T」を格納する。次に、センサネットサーバ10は、現在の日時を、新たな論理ノードに関する情報の設置日時1138に格納する。
このようにして、センサネットサーバ10は、新たな論理ノードを作成する。
次に、センサネットサーバ10は、オブジェクトリスト113の観測情報を更新する(1004)。
具体的には、センサネットサーバ10は、受信したイベント91のMACアドレス912とオブジェクトリスト113のMACアドレス1134とが一致するすべての情報を、オブジェクトリスト113から選択する。次に、センサネットサーバ10は、LUF1137に「T」が格納されている情報を、オブジェクトリスト113から選択したすべての情報の中から選択する。
次に、センサネットサーバ10は、オブジェクトリスト113から選択した情報の温度1141に、受信したイベント91の温度914を格納する。次に、センサネットサーバ10は、オブジェクトリスト113から選択した情報のLQI1142に、受信したイベント91のLQI915を格納する。
次に、センサネットサーバ10は、オブジェクトリスト113から選択した情報の電圧1143に、受信したイベント91の電圧916を格納する。次に、センサネットサーバ10は、オブジェクトリスト113から選択した情報の前回通信日時1144に、受信したイベント91の観測日時913を格納する。
次に、センサネットサーバ10は、オブジェクトリスト113から選択した情報のPUF1135に「T」が格納されているか否かを判定する(S1005)。
PUF1135に「F」が格納されている場合、当該論理ノードに対応するセンサノード40は、クライアント計算機60に備わるアプリケーションに使用されていない。よって、センサネットサーバ10は、そのまま本処理を終了する。
一方、PUF1135に「T」が格納されている場合、当該論理ノードに対応するセンサノード40は、クライアント計算機60に備わるアプリケーションに使用されている。そこで、センサネットサーバ10は、受信したイベント91及びオブジェクトリスト113から選択した情報に基づいて、新たなイベント91を作成する。
次に、センサネットサーバ10は、発行リスト115を参照して、作成した新たなイベント91の送信先を判定する。次に、センサネットサーバ10は、判定した送信先に、作成した新たなイベント91を送信する(S1006)。そして、センサネットサーバ10は、本処理を終了する。
図15は、本発明の実施の形態の管理計算機50からの要求受信時におけるセンサネットサーバ10の処理のフローチャートである。
まず、センサネットサーバ10は、管理計算機50から要求を受信したか否かを判定する(S1011)。要求を受信していない場合、センサネットサーバ10は、本処理を終了する。そして、センサネットサーバ10は、要求を受信するまで待機する。センサネットサーバ10は、その後に新たな要求を受信すると、本処理を再度実行する。
一方、要求を受信した場合、センサネットサーバ10は、使用要求を受信したか否かを判定する(S1012)。使用要求を受信した場合、センサネットサーバ10は、受信した使用要求に含まれるLIDとオブジェクトリスト113のLID1131とが一致する情報を、オブジェクトリスト113から選択する。次に、センサネットサーバ10は、オブジェクトリスト113から選択した情報のPUF1135に「T」を格納する。次に、センサネットサーバ10は、オブジェクトリスト113から選択した情報のPUC1136に「1」を加算する(S1013)。
これによって、使用を要求された論理ノードが、アプリケーションによって使用可能となる。そして、センサネットサーバ10は、本処理を終了する。
一方、不使用要求を受信した場合、センサネットサーバ10は、受信した不使用要求に含まれるLIDとオブジェクトリスト113のLID1131とが一致する情報を、オブジェクトリスト113から選択する。次に、センサネットサーバ10は、オブジェクトリスト113から選択した情報のPUC1136から、「1」を減算する(S1014)。
次に、センサネットサーバ10は、減算されたPUC1136が「0」であるか否かを判定する(S1015)。減算されたPUC1136が「0」でない場合、不使用を要求された論理ノードが、他のアプリケーションに使用されている。そのため、センサネットサーバ10は、そのまま本処理を終了する。
一方、減算されたPUC1136が「0」である場合、不使用を要求された論理ノードが、いずれのアプリケーションにも使用されていない。よって、センサネットサーバ10は、オブジェクトリスト113から選択した情報のPUF1135に「F」を格納する。そして、センサネットサーバ10は、本処理を終了する。
図16Aは、本発明の実施の形態のクライアント計算機60に実行されるアプリケーションの処理の例の説明図である。
本説明図では、正常な状態のセンサノード40は、観測した環境情報をイベントとして、予め設定された通信間隔T0でセンサネットサーバ10に送信する。そのため、センサノード40が正常な状態であれば、センサネットサーバ10は、通信間隔T0で、クライアント計算機60に備わるアプリケーションにイベントを送信する。
このとき、アプリケーションは、イベントの受信間隔を監視する。そして、イベントの受信間隔が、予め設定された検知間隔T1以上となると、アプリケーションは、センサノード40に障害が発生したと判定する。そこで、アプリケーションは、警告を出力する。これによって、アプリケーションは、クライアント計算機60を操作するクライアントに、センサノード40の障害を通知できる。
図16Bは、本発明の実施の形態のクライアント計算機60に備わるアプリケーションの処理の例の説明図である。
本説明図では、センサノード40は、予め設定された観測間隔T2で、温度を観測する。次に、センサノード40は、観測した温度をイベントとして、センサネットサーバ10に送信する。そのため、センサネットサーバ10は、観測間隔T2ごとに観測された温度をイベントとして、クライアント計算機60に備わるアプリケーションに送信する。
このとき、アプリケーションは、センサノード40によって観測された温度を監視する。具体的には、アプリケーションは、センサノード40によって観測された温度が、予め設定された警報閾値以上であるか否かを判定する。センサノード40によって観測された温度が警報閾値以上であると、アプリケーションは、センサノード40が設置されている環境に異常が発生したと判定する。そこで、アプリケーションは、警告を出力する。これによって、アプリケーションは、クライアント計算機60を操作するクライアントに、センサノード40が設置されている環境の異常を通知できる。
その後、アプリケーションは、センサノード40によって観測された温度が警報閾値以上であった最後の時からの経過時間を監視する。センサノード40によって観測された温度が警報閾値以上であった最後の時からの経過時間が、予め設定された警報解除間隔T3以上となると、アプリケーションは、センサノード40が設置されている環境が正常な状態に戻ったと判定する。そこで、アプリケーションは、警告解除を出力する。これによって、アプリケーションは、クライアント計算機60を操作するクライアントに、センサノード40が設置されている環境が正常な状態に戻ったことを通知できる。
図17は、本発明の実施の形態のセンサノード40が新たに設置されるときのセンサネットシステムの処理の説明図である。
まず、センサノード40が、PANを介してセンサネットサーバ10に新たに接続される(S1021)。すると、新たに接続されたセンサノード40は、外部記憶装置412に記憶されているMACアドレス431を含むイベント91を、センサネットサーバ10に送信する。センサネットサーバ10は、新たに接続されたセンサノード40からイベント91を受信する。すると、センサネットサーバ10に備わるオブジェクトマネージャ101は、受信したイベント91を参照して、新たに接続されたセンサノード40に対応する論理ノードを自動的に作成する(S1022)。
具体的には、オブジェクトマネージャ101は、新たな論理ノードに関する情報を、オブジェクトリスト113に作成する。まず、オブジェクトマネージャ101は、オブジェクトリスト113に含まれるすべてのLID1131と重複しない値を、新たな論理ノードに関する情報のLID1131に格納する。次に、オブジェクトマネージャ101は、受信したイベント91に含まれるMACアドレス912を、新たな論理ノードに関する情報のMACアドレス1134に格納する。
次に、オブジェクトマネージャ101は、新たな論理ノードに関する情報のPUF1135に「F」を格納する。次に、オブジェクトマネージャ101は、新たな論理ノードに関する情報のPUC1136に「0」を格納する。次に、オブジェクトマネージャ101は、新たな論理ノードに関する情報のLUF1137に「T」を格納する。次に、オブジェクトマネージャ101は、現在の日時を、新たな論理ノードに関する情報の設置日時1138に格納する。
このようにして、オブジェクトマネージャ101は、新たな論理ノードを作成する。
その後、管理計算機50は、管理者の操作を契機に、設定情報登録要求をセンサネットサーバ10に備わるオブジェクトマネージャ101に送信する(S1023)。なお、設定情報登録要求には、論理ノードのLID及び当該論理ノードに設定される観測周期が含まれる。
オブジェクトマネージャ101は、設定情報登録要求を管理計算機50から受信する。すると、オブジェクトマネージャ101は、受信した設定情報登録要求に含まれるLIDとオブジェクトリスト113のLID1131とが一致する情報を、オブジェクトリスト113から選択する。次に、オブジェクトマネージャ101は、オブジェクトリスト113から選択した情報の観測周期1140に、受信した設定情報登録要求に含まれる観測周期を格納する(S1024)。
その後、管理計算機10は、管理者の操作を契機に、使用要求をセンサネットサーバ10に備わるオブジェクトマネージャ101に送信する(S1025)。なお、使用要求には、使用の開始が要求される論理ノードのLIDが含まれる。
オブジェクトマネージャ101は、使用要求を管理計算機50から受信する。すると、オブジェクトマネージャ101は、受信した使用要求に含まれるLIDとオブジェクトリスト113のLID1131とが一致する情報を、オブジェクトリスト113から選択する。次に、オブジェクトマネージャ101は、オブジェクトリスト113から選択した情報のPUF1135に「T」を格納する。
次に、オブジェクトマネージャ101は、オブジェクトリスト113から選択した情報のMACアドレス1134及び観測周期1140を抽出する。次に、オブジェクトマネージャ101は、抽出したMACアドレス1134によって識別されるセンサノード40に、抽出した観測周期1140を送信する(S1026)。
センサノード40は、オブジェクトマネージャ101から観測周期1140を受信する。すると、センサノード40は、受信した観測周期1140を、外部記憶装置412に記憶する。これによって、センサノード40は、外部装置412に記憶している観測周期432ごとに、環境情報を観測できる。
図18は、本発明の実施の形態のセンサノード40が撤去されるときのセンサネットシステムの処理の説明図である。
まず、管理計算機10は、管理者の操作を契機に、不使用要求をセンサネットサーバ10に備わるオブジェクトマネージャ101に送信する(S1031)。なお、不使用要求には、使用の停止が要求される(撤去される)論理ノードのLIDが含まれる。
オブジェクトマネージャ101は、不使用要求を管理計算機50から受信する。すると、オブジェクトマネージャ101は、受信した不使用要求に含まれるLIDとオブジェクトリスト113のLID1131とが一致する情報を、オブジェクトリスト113から選択する。次に、オブジェクトマネージャ101は、オブジェクトリスト113から選択した情報のMACアドレス1134を抽出する。
次に、オブジェクトマネージャ101は、抽出したMACアドレス1134によって識別されるセンサノード40に、未送信の観測情報をすべて送信するように指示する。すると、センサノード40は、未送信の観測情報を、センサネットサーバ10に備わるオブジェクトマネージャ101にすべて送信する(S1032)。
オブジェクトマネージャ101は、観測情報をセンサノード40から受信する。次に、オブジェクトマネージャ101は、受信した観測情報を、クライアント計算機60に備わるアプリケーション601に転送する(S1033)。
次に、オブジェクトマネージャ101は、受信した不使用要求に含まれるLIDによって識別される論理ノードの使用終了を、当該論理ノードを使用しているすべてのアプリケーション601に要求する(S1034)。アプリケーション601は、論理ノードの使用終了を要求されると、当該論理ノードに対する処理を終了する。その後、アプリケーション601は、論理ノードの使用終了許可を、センサネットサーバ10に備わるオブジェクトマネージャ101に通知する(S1035)。
オブジェクトマネージャ101が、論理ノードの使用終了許可の通知を当該論理ノードを使用しているすべてのアプリケーション601から受けると、当該論理ノードは、すべてのアプリケーション601によって使用されていない。よって、オブジェクトマネージャ101は、オブジェクトリスト113から選択した情報のPUC1136に「0」を格納する。更に、オブジェクトマネージャ101は、オブジェクトリスト113から選択した情報のPUF1135に「F」を格納する(S1036)。
次に、オブジェクトマネージャ101は、抽出したMACアドレス1134によって識別されるセンサノード40に、撤去許可を通知する(S1037)。センサノード40は、撤去許可を通知されると、撤去が許可された旨を出力する。例えば、センサノード40は、撤去が許可された旨を、LCD419に表示する。他には、センサノード40は、撤去許可に対応する点滅パターンで、LED420を点滅させる。これによって、作業者は、環境に設置された多数のセンサノード40の中から、撤去可能なセンサノード40を容易に探索できる。そして、作業者は、撤去が許可されたセンサノード40を撤去する。
図19は、本発明の実施の形態における移設、活性化及び不活性化の説明図である。
移設とは、センサノード40を本来設置される場所と異なる場所に移すことである。例えば、移設は、本来は冷蔵庫に設置されるセンサノード40を倉庫に移すことである。これによって、一つのセンサノード40は、本来と異なる用途でも使用できる。
活性化とは、アプリケーション601に現在使用されていない論理ノードを、使用可にすることである。一方、不活性化とは、アプリケーション601に現在使用されている論理ノードを、使用不可にすることである。
活性化要求とは、現在使用されていない論理ノードを使用可にし、該論理ノードから抽出したMACアドレスと同じMACアドレスが付与されたLIDによって識別される論理ノードを使用不可にするように要求することである。例えば、倉庫で使用することを本来の用途とするセンサノードを冷蔵庫に移設している場合において、センサノードの持ち主である倉庫管理者が元の倉庫に戻す場合に活性化要求が行われる。
一方、不活性化要求とは、現在使用されている論理ノードを使用不可にし、該論理ノードから抽出したMACアドレスと同じMACアドレスが付与されたLIDによって識別される論理ノードを使用可にするように要求することである。例えば、倉庫で使用することを本来の用途とするセンサノードを冷蔵庫に移設している場合において、センサノードの借主である冷蔵庫管理者が元の倉庫に返す場合に不活性化要求が行われる。活性化要求または不活性化要求を受けた場合のセンサネットサーバの処理は、図21、22で説明する。
移設を行う場合、センサネットサーバ10に備わるオブジェクトマネージャ101は、移設された後のセンサノード40を、新たに生成した論理ノードとして提供する。これによって、クライアント計算機60に備わるアプリケーション601は、あたかも新たなセンサノード40が設置されたと認識する。なお、移設については、図20で詳細を説明する。
ここでは、センサネットサーバ10に備わるオブジェクトマネージャ101は、MACアドレスの「1001」によって識別されるセンサノード113に、LIDの「1」によって識別される論理ノード及びLIDの「2」によって識別される論理ノードを設定する。そして、オブジェクトマネージャ101は、MACアドレスの「1001」によって識別されるセンサノード113を、LIDの「1」によって識別される論理ノード又はLIDの「2」によって識別される論理ノードのいずれかとして、クライアント計算機60に備わるアプリケーション601に提供する。
そのため、LIDの「1」によって識別される論理ノードが活性化されると、LIDの「2」によって識別される論理ノードが不活性化される。同様に、LIDの「2」によって識別される論理ノードが活性化されると、LIDの「1」によって識別される論理ノードが不活性化される。
また、LIDの「1」によって識別される論理ノードが不活性化されると、LIDの「2」によって識別される論理ノードが活性化される。同様に、LIDの「2」によって識別される論理ノードが不活性化されると、LIDの「1」によって識別される論理ノードが活性化される。
図20は、本発明の実施の形態のセンサノード40が移設されるときのセンサネットシステムの処理の説明図である。
まず、管理計算機10は、管理者の操作を契機に、移設要求をセンサネットサーバ10に備わるオブジェクトマネージャ101に送信する(S1041)。なお、移設要求には、移設が要求される論理ノードのLIDが含まれる。
オブジェクトマネージャ101は、移設要求を管理計算機50から受信する。すると、オブジェクトマネージャ101は、受信した移設要求に含まれるLIDによって識別される論理ノードの使用終了を、当該論理ノードを使用しているすべてのアプリケーション601に要求する(S1042)。アプリケーション601は、論理ノードの使用終了を要求されると、当該論理ノードに対する処理を終了する。その後、アプリケーション601は、論理ノードの使用終了許可を、センサネットサーバ10に備わるオブジェクトマネージャ101に通知する(S1043)。 オブジェクトマネージャ101が、論理ノードの使用終了許可の通知を当該論理ノードを使用しているすべてのアプリケーション601から受けると、当該論理ノードは、すべてのアプリケーション601によって使用されていない。このように、アプリケーションに論理ノードの使用終了を問い合わせることにより、移設元のセンサノードを利用するアプリケーションが移設先において観測値を取得しないようにすることができ、誤った観測値の記録やそれに伴う警告の出力を防ぐことができる。なお、センサノードは移設後、別のアプリケーションによって使用されるため、PUFは「T」のままにしておく。
次に、オブジェクトマネージャ101は、受信した移設要求に含まれるLIDとオブジェクトリスト113のLID1131とが一致する情報を、オブジェクトリスト113から選択する。次に、オブジェクトマネージャ101は、オブジェクトリスト113から選択した情報のMACアドレス1134を抽出する。
次に、オブジェクトマネージャ101は、抽出したMACアドレス1134によって識別されるセンサノード40に、移設許可を通知する(S1044)。このとき、オブジェクトマネージャ101は、抽出したMACアドレス1134によって識別されるセンサノード40に、移設後に設定される観測周期1140を送信する。センサノード40は、受信した観測周期1140を外部記憶装置412に記憶する。
センサノード40は、移設許可を通知されると、移設が許可された旨を出力する。例えば、センサノード40は、移設が許可された旨を、LCD419に表示する。他には、センサノード40は、移設許可に対応する点滅パターンで、LED420を点滅させる。これによって、作業者は、環境に設置された多数のセンサノード40の中から、移設可能なセンサノード40を容易に探索できる。そして、作業者が、移設が許可されたセンサノード40を移設する(S1045)。このように、作業者は、管理者と密に連絡をとることなく、現地作業のみでセンサノードの移設作業を容易に行うことができる。
一方、オブジェクトマネージャ101は、移設許可を通知した後に、オブジェクトリスト113から選択した情報のLUF1137に「F」を格納する(S1046)。次に、オブジェクトマネージャ101は、新たな論理ノードを、自動的に作成する(S1047)。そして、オブジェクトマネージャ101は、移設された後のセンサノード40を、作成した新たな論理ノードとして提供する。
具体的には、オブジェクトマネージャ101は、新たな論理ノードに関する情報を、オブジェクトリスト113に作成する。まず、オブジェクトマネージャ101は、当該センサノードに設定されているすべてのLID1131と重複しない値を、新たな論理ノードに関する情報のLID1131に格納する。次に、オブジェクトマネージャ101は、ステップS1044で抽出したMACアドレス1134を、新たな論理ノードに関する情報のMACアドレス1134に格納する。
次に、オブジェクトマネージャ101は、新たな論理ノードに関する情報のPUF1135に「T」を格納する。次に、オブジェクトマネージャ101は、新たな論理ノードに関する情報のPUC1136に、当該新たな論理ノードを使用するアプリケーションの数を格納する。次に、オブジェクトマネージャ101は、新たな論理ノードに関する情報のLUF1137に「T」を格納する。次に、オブジェクトマネージャ101は、現在の日時を、新たな論理ノードに関する情報の設置日時1138に格納する。
このようにして、オブジェクトマネージャ101は、新たな論理ノードを作成する。そして、センサノード40の移設処理を終了する。
このような処理により、移設先のセンサノードを利用するアプリケーションが、センサノードを新しい場所に移動する間に観測値を取得しないようにすることができ、移設元と移設先のセンサノードを利用するアプリケーションが目的に応じた観測値を取得することが可能となる。さらには、作業者がセンサノードを移設する時間を除いて、継続的にセンサノードから観測値を取得することが可能となる。
図21は、本発明の実施の形態の論理ノードが活性化されるときのセンサネットシステムの処理の説明図である。
まず、管理計算機10は、管理者の操作を契機に、活性化要求をセンサネットサーバ10に備わるオブジェクトマネージャ101に送信する(S1051)。なお、活性化要求には、活性化が要求される論理ノードのLIDが含まれる。
オブジェクトマネージャ101は、活性化要求を管理計算機50から受信する。すると、オブジェクトマネージャ101は、受信した活性化要求に含まれるLIDとオブジェクトリスト113のLID1131とが一致する情報を、オブジェクトリスト113から選択する。次に、オブジェクトマネージャ101は、オブジェクトリスト113から選択した情報のMACアドレス1134を抽出する。
次に、オブジェクトマネージャ101は、抽出したMACアドレス1134とオブジェクトリスト113のMACアドレス1134とが一致するすべての情報を、オブジェクトリスト113から選択する。次に、オブジェクトマネージャ101は、オブジェクトリスト113のLUF1137に「T」が格納されている情報(不活性化される論理ノードに関する情報)を、オブジェクトリスト113から選択した情報の中から選択する。そして、オブジェクトマネージャ101は、不活性化される論理ノードに関する情報のLID1131を抽出する。
次に、オブジェクトマネージャ101は、抽出したLID1131によって識別される論理ノードの使用終了を、当該論理ノードを使用しているすべてのアプリケーション601に要求する(S1052)。アプリケーション601は、論理ノードの使用終了を要求されると、当該論理ノードに対する処理を終了する。その後、アプリケーション601は、論理ノードの使用終了許可を、センサネットサーバ10に備わるオブジェクトマネージャ101に通知する(S1053)。
オブジェクトマネージャ101が、論理ノードの使用終了許可の通知を当該論理ノードを使用しているすべてのアプリケーション601から受けると、当該論理ノードは、すべてのアプリケーション601によって使用されていない。よって、オブジェクトマネージャ101は、受信した活性化要求に含まれるLIDとオブジェクトリスト113のLID1131とが一致する情報(活性化される論理ノードに関する情報)を、オブジェクトリスト113から選択する。次に、オブジェクトマネージャ101は、活性化される論理ノードに関する情報のMACアドレス1134及び観測周期1140を抽出する。
次に、オブジェクトマネージャ101は、抽出したMACアドレス1134によって識別されるセンサノード40に、移設許可を通知する(S1054)。このとき、オブジェクトマネージャ101は、抽出したMACアドレス1134によって識別されるセンサノード40に、抽出した観測周期1140を送信する。すると、センサノード40は、受信した観測周期1140を、外部記憶装置412に記憶する。
センサノード40は、移設許可を通知されると、移設が許可された旨を出力する。すると、作業者が、移設が許可されたセンサノード40を、活性化が要求された論理ノードに対応する場所に移設する(S1055)。
一方、オブジェクトマネージャ101は、移設許可を通知した後に、不活性化される論理ノードに関する情報のLUF1137に「F」を格納する(S1056)。これによって、活性化が要求された論理ノードと同じセンサノード40に設定される論理ノードが、不活性化される。
次に、オブジェクトマネージャ101は、受信した活性化要求に含まれるLIDによって識別される論理ノードの使用開始を、当該論理ノードを使用するすべてのアプリケーション601に要求する(S1057)。アプリケーション601は、論理ノードの使用開始を要求されると、当該論理ノードに対する処理を開始する。その後、アプリケーション601は、論理ノードの使用開始許可を、センサネットサーバ10に備わるオブジェクトマネージャ101に通知する(S1058)。
オブジェクトマネージャ101が、論理ノードの使用開始許可の通知をアプリケーション601から受けると、活性化される論理ノードに関する情報のLUF1137に「T」を格納する(S1059)。これによって、活性化が要求された論理ノードが、活性化される。そして、論理ノードの活性化処理を終了する。
このような活性化処理を実行することにより、本来とは異なる用途で使用されていたセンサノードを本来の用途で使用することを可能にする。また、移設先のセンサノードを利用するアプリケーションが、センサノードを元の場所に移動する間に観測値を取得しないようにすることができ、移設元と移設先のセンサノードを利用するアプリケーションが目的に応じた観測値を取得することが可能となる。さらには、作業者がセンサノードを移設する時間を除いて、継続的にセンサノードから観測値を取得することが可能となる。
図22は、本発明の実施の形態の論理ノードが不活性化されるときのセンサネットシステムの処理の説明図である。
まず、管理計算機10は、管理者の操作を契機に、不活性化要求をセンサネットサーバ10に備わるオブジェクトマネージャ101に送信する(S1061)。なお、不活性化要求には、不活性化が要求される論理ノードのLIDが含まれる。
オブジェクトマネージャ101は、不活性化要求を管理計算機50から受信する。すると、オブジェクトマネージャ101は、受信した不活性化要求に含まれるLID1131によって識別される論理ノードの使用終了を、当該論理ノードを使用しているすべてのアプリケーション601に要求する(S1062)。アプリケーション601は、論理ノードの使用終了を要求されると、当該論理ノードに対する処理を終了する。その後、アプリケーション601は、論理ノードの使用終了許可を、センサネットサーバ10に備わるオブジェクトマネージャ101に通知する(S1063)。
オブジェクトマネージャ101が、論理ノードの使用終了許可の通知を当該論理ノードを使用しているすべてのアプリケーション601から受けると、当該論理ノードは、すべてのアプリケーション601によって使用されていない。よって、オブジェクトマネージャ101は、受信した不活性化要求に含まれるLIDとオブジェクトリスト113のLID1131とが一致する情報(不活性化される論理ノードに関する情報)を、オブジェクトリスト113から選択する。次に、オブジェクトマネージャ101は、不活性化される論理ノードに関する情報のMACアドレス1134を抽出する。
次に、オブジェクトマネージャ101は、抽出したMACアドレス1134とオブジェクトリスト113のMACアドレス1134とが一致するすべての情報を、オブジェクトリスト113から選択する。次に、オブジェクトマネージャ101は、オブジェクトリスト113のLUF1137に「T」が格納されている情報(活性化される論理ノードに関する情報)を、オブジェクトリスト113から選択した情報の中から選択する。そして、オブジェクトマネージャ101は、活性化される論理ノードに関する情報のMACアドレス1134及び観測周期1140を抽出する。
次に、オブジェクトマネージャ101は、抽出したMACアドレス1134によって識別されるセンサノード40に、移設許可を通知する(S1064)。このとき、オブジェクトマネージャ101は、抽出したMACアドレス1134によって識別されるセンサノード40に、抽出した観測周期1140を送信する。すると、センサノード40は、受信した観測周期1140を、外部記憶装置412に記憶する。
センサノード40は、移設許可を通知されると、移設が許可された旨を出力する。そして、作業者が、移設が許可されたセンサノード40を、活性化される論理ノードに対応する場所に移設する(S1065)。
一方、オブジェクトマネージャ101は、移設許可を通知した後に、受信した不活性化要求に含まれるLIDとオブジェクトリスト113のLID1131とが一致する情報(不活性化される論理ノードに関する情報)を、オブジェクトリスト113から選択する。次に、オブジェクトマネージャ101は、不活性化される論理ノードに関する情報のLUF1137に「F」を格納する(S1066)。これによって、不活性化が要求された論理ノードが、不活性化される。
次に、オブジェクトマネージャ101は、活性化される論理ノードに関する情報のLID1131を抽出する。次に、オブジェクトマネージャ101は、抽出したLID1131によって識別される論理ノードの使用開始を、当該論理ノードを使用するすべてのアプリケーション601に要求する(S1067)。アプリケーション601は、論理ノードの使用開始を要求されると、当該論理ノードに対する処理を開始する。その後、アプリケーション601は、論理ノードの使用開始許可を、センサネットサーバ10に備わるオブジェクトマネージャ101に通知する(S1068)。
オブジェクトマネージャ101が、論理ノードの使用開始許可の通知をアプリケーション601から受けると、活性化される論理ノードに関する情報のLUF1137に「T」を格納する(S1069)。これによって、不活性化が要求された論理ノードと同じセンサノード40に設定されている論理ノードが、活性化される。そして、論理ノードの不活性化処理を終了する。
このような不活性化処理を実行することにより、本来とは異なる用途で使用されていたセンサノードを本来の用途で使用することを可能にする。また、移設先のセンサノードを利用するアプリケーションが、センサノードを元の場所に移動する間に観測値を取得しないようにすることができ、移設元と移設先のセンサノードを利用するアプリケーションが目的に応じた観測値を取得することが可能となる。さらには、作業者がセンサノードを移設する時間を除いて、継続的にセンサノードから観測値を取得することが可能となる。
図23は、本発明の実施の形態のセンサノード40が移設されるときのセンサネットシステムの処理の説明図である。
本説明図では、センサネットサーバ10に備わるオブジェクトマネージャ101は、MACアドレスの「1001」によって識別されるセンサノード40を、LIDの「1」によって識別される論理ノードとして、1月1日から提供する。
このとき、センサノード40は、設定されている観測周期432ごとに、環境情報を測定する。そして、センサノード40は、測定した環境情報をイベントC91として、センサネットサーバ10に送信する。
センサネットサーバ10は、イベントC91をセンサノードから受信する。すると、センサネットサーバ10に備わるオブジェクトマネージャ101は、受信したイベントC91のMACアドレス912とオブジェクトリスト113のMACアドレス1134とが一致するすべての情報を、オブジェクトリスト113から選択する。
次に、オブジェクトマネージャ101は、オブジェクトリスト113のLUF1137に「T」が格納されている情報を、オブジェクトリスト113から選択したすべての情報の中から選択する。
そして、オブジェクトマネージャ101は、オブジェクトリスト113から選択した情報に含まれる観測情報を更新する。
次に、オブジェクトマネージャ101は、受信したイベントC91及びオブジェクトリスト113から選択した情報に基づいて、イベントD91を作成する。具体的には、オブジェクトマネージャ101は、イベントC91のイベント名911に格納される「observed」を、更新情報であることを示す「update」に変更する。更に、オブジェクトマネージャ101は、イベントC91のMACアドレス912の「1001」を、オブジェクトリスト113から選択した情報のLID1131の「1」に変更する。
これによって、オブジェクトマネージャ101は、イベントD91を作成する。そのため、イベントD91は、MACアドレス912の代わりに、LID917を含む。なお、LID917は、当該イベントD91に対応する観測情報を観測した論理ノードの一意な識別子である。
そして、オブジェクトマネージャ101は、作成したイベントD91を、イベント発行部104に送信する。イベント発行部104は、受信したイベントD91をRDBマネージャ103に転送する。
RDBマネージャ103は、受信したイベントD91に基づいて、履歴データベース111を更新する。つまり、RDBマネージャ103は、センサノード40によって観測された環境情報を、LIDの「1」によって識別される論理ノードによって観測された環境情報として履歴データベース111に格納する。
1月2日には、MACアドレスの「1001」によって識別されるセンサノード40が、移設されたとする。すると、センサネットサーバ10に備わるオブジェクトマネージャ101は、MACアドレスの「1001」によって識別されるセンサノード40を、LIDの「2」によって識別される論理ノードとして提供する。
すると、オブジェクトマネージャ101は、イベントC91のMACアドレス912の「1001」を、オブジェクトリスト113から選択した情報のLID1131の「2」に変更することによって、イベントD91を作成する。
そのため、RDBマネージャ103は、センサノード40によって観測された環境情報を、LIDの「2」によって識別される論理ノードによって観測された環境情報として履歴データベース111に格納する。
そして、移設されていたセンサノード40が、1月3日に元の場所に戻されたとする。すると、センサネットサーバ10に備わるオブジェクトマネージャ101は、LIDの「2」によって識別される論理ノードを不活性化し、LIDの「1」によって識別される論理ノードを活性化する。これによって、オブジェクトマネージャ101は、MACアドレスの「1001」によって識別されるセンサノード40を、LIDの「1」によって識別される論理ノードとして提供する。
すると、オブジェクトマネージャ101は、イベントC91のMACアドレス912の「1001」を、オブジェクトリスト113から選択した情報のLID1131の「1」に変更することによって、イベントD91を作成する。
そのため、RDBマネージャ103は、センサノード40によって観測された環境情報を、LIDの「1」によって識別される論理ノードによって観測された環境情報として履歴データベース111に格納する。
このように、オブジェクトマネージャ101は、センサノード40の移設前に観測された環境情報とセンサノード40の移設後に観測された環境情報とを区別して、アプリケーション601及びRDBマネージャ103に提供できる。
図24Aは、本発明の実施の形態のセンサノード40が移設されるときのLIDの変遷に関する説明図である。図24Bは、本発明の実施の形態の冷蔵庫の温度の観測履歴を示すグラフである。図24Cは、本発明の実施の形態の倉庫の温度の観測履歴を示すグラフである。
MACアドレスの「1001」によって識別されるセンサノード40は、通常、冷蔵庫に設置される。つまり、当該センサノード40は、冷蔵庫の温度を観測する。このとき、センサネットサーバ10に備わるオブジェクトマネージャ101は、MACアドレスの「1001」によって識別されるセンサノード40を、LIDの「1」によって識別される論理ノードとして提供する。つまり、LIDの「1」によって識別される論理ノードは、冷蔵庫の温度を観測するためのものである。そのため、履歴データベース111には、当該センサノード40によって観測された温度が、冷蔵庫の温度として格納される。
当該センサノード40が、時刻T1に、倉庫に移設されたとする。つまり、当該センサノード40は、倉庫の温度を観測する。このとき、センサネットサーバ10に備わるオブジェクトマネージャ101は、MACアドレスの「1001」によって識別されるセンサノード40を、LIDの「2」によって識別される論理ノードとして提供する。つまり、LIDの「2」によって識別される論理ノードは、倉庫の温度を観測するためのものである。そのため、履歴データベース111には、当該センサノード40によって観測された温度が、倉庫の温度として格納される。
当該センサノード40が、時刻T2に、冷蔵庫に戻されたとする。つまり、当該センサノード40は、冷蔵庫の温度を観測する。このとき、センサネットサーバ10に備わるオブジェクトマネージャ101は、MACアドレスの「1001」によって識別されるセンサノード40を、LIDの「1」によって識別される論理ノードとして提供する。そのため、履歴データベース111には、当該センサノード40によって観測された温度が、冷蔵庫の温度として格納される。
履歴データベース111に格納された冷蔵庫の温度をグラフにしたものが図24Bである。図24Bのグラフによると、履歴データベース111には、時刻T0から時刻T1までの間及び時刻T2から時刻T3までの間にセンサノード40によって観測された温度が、冷蔵庫の温度として格納されている。
また、履歴データベース111に格納された倉庫の温度をグラフにしたものが図24Cである。図24Cのグラフによると、履歴データベース111には、時刻T1から時刻T2までの間にセンサノード40によって観測された温度が、倉庫の温度として格納されている。
このように、オブジェクトマネージャ101は、一つのセンサノード40によって観測された環境情報を、当該一つのセンサノード40が設置された場所ごとに区別して提供できる。
図25は、本発明の実施の形態の作業者によるセンサノード40の移設手順のフローチャートである。
図20で説明した処理では、管理計算機50が、移設要求をセンサネットサーバ10に送信した。しかし、管理計算機50の代わりに、センサノード40が、移設要求をセンサネットサーバ10に送信してもよい。
センサノード40は、移設前においては、設定された観測周期で環境情報を測定し、測定した環境情報をセンサネットサーバ10に送信する(S1071)。このとき、作業者は、移設したいセンサノード40に備わるボタン418を操作する。すると、センサノード40は、移設要求をセンサネットサーバ10に備わるオブジェクトマネージャ101に送信する。
オブジェクトマネージャ101は、移設要求を受信すると、図20で説明した処理のステップS1042、ステップS1043及びステップS1044を実行する。
このとき、センサノード40は、移設が許可されたか否かを判定する(S1072)。移設が許可されていない場合、センサノード40は、ステップS1071の移設前の処理に戻る。
一方、移設が許可された場合、センサノード40は、移設が許可された旨を出力する。例えば、センサノード40は、移設が許可された旨を、LCD419に表示する。他には、センサノード40は、移設許可に対応する点滅パターンで、LED420を点滅させる。そして、作業者が、移設が許可されたセンサノード40の移設を開始する(S1073)。
作業者は、センサノード40を移設先の場所に設置すると、センサノード40に備わるボタン418を操作する。すると、センサノード40は、センサネットサーバ10に備わるオブジェクトマネージャ101に移設完了を通知する。
これによって、センサノード40の移設が完了する(S1074)。
図26は、本発明の実施の形態のセンサノード40が交換されるときのセンサネットシステムの処理の説明図である。本実施形態では特に、新たに設定されたセンサノードを優先して交換先センサノードとする場合を説明する。つまり、図28で説明するように、センサノードを交換する場合は、PUF1135「F」かつLUF1137「T」を示す未使用の論理ノードに対応するセンサノードを交換先センサノード候補として選択するが、本実施形態は新たに設定されるセンサノードを交換先センサノードとして特定する場合について説明する。
ここでは、MACアドレスの「1001」によって識別されるセンサノード(交換元センサノード)40を、MACアドレスの「1002」によって識別されるセンサノード(交換先センサノード)に交換する場合を説明する。
まず、交換先センサノード40が、PANを介してセンサネットサーバ10に新たに接続される(S1081)。すると、交換先センサノード40は、外部記憶装置412に記憶されているMACアドレス431を含むイベント91を、センサネットサーバ10に送信する。センサネットサーバ10は、交換先センサノード40からイベント91を受信する。すると、センサネットサーバ10に備わるオブジェクトマネージャ101は、受信したイベント91を参照して、予め交換先センサノード40に設定される新たな論理ノードを自動的に作成する(S1082)。
具体的には、オブジェクトマネージャ101は、新たな論理ノードに関する情報を、オブジェクトリスト113に作成する。まず、オブジェクトマネージャ101は、新たに接続されたセンサノードに設定されているすべてのLID1131と重複しない値を、新たな論理ノードに関する情報のLID1131に格納する。なお、図27では「5」を格納しているが、あくまで一例であってすべてのLID1131と重複しない値であればよい。次に、オブジェクトマネージャ101は、受信したイベント91に含まれるMACアドレス912を、新たな論理ノードに関する情報のMACアドレス1134に格納する。
次に、オブジェクトマネージャ101は、新たな論理ノードに関する情報のPUF1135に「F」を格納する。次に、オブジェクトマネージャ101は、新たな論理ノードに関する情報のPUC1136に「0」を格納する。次に、オブジェクトマネージャ101は、新たな論理ノードに関する情報のLUF1137に「T」を格納する。次に、オブジェクトマネージャ101は、現在の日時を、新たな論理ノードに関する情報の設置日時1138に格納する。
このようにして、オブジェクトマネージャ101は、新たな論理ノード(自動生成論理ノード)を作成する。
次に、管理計算機50は、管理者の操作を契機に、交換要求をセンサネットサーバ10に備わるオブジェクトマネージャ101に送信する(S1083)。なお、交換要求には、交換元となる論理ノード(交換元論理ノード)のLID及び交換先となる論理ノード(交換先論理ノード)のLIDが含まれる。本説明図では、交換先論理ノードは、ステップS1082で作成された自動生成論理ノードである。
オブジェクトマネージャ101は、交換要求を管理計算機50から受信する。すると、オブジェクトマネージャ101は、交換要求から、交換元論理ノードのLID及び交換先論理ノードのLIDを抽出する。
次に、オブジェクトマネージャ101は、抽出した交換元論理ノードのLIDとオブジェクトリスト113のLID1131とが一致する情報(交換元論理ノードに関する情報)を、オブジェクトリスト113から選択する。次に、オブジェクトマネージャ101は、選択した交換元論理ノードに関する情報の観測周期1140を抽出する。次に、オブジェクトマネージャ101は、抽出した交換先論理ノードのLIDとオブジェクトリスト113のLID1131とが一致する情報(交換先論理ノードに関する情報)を、オブジェクトリスト113から選択する。次に、オブジェクトマネージャ101は、選択した交換先論理ノードに関する情報のMACアドレス1134を抽出する。
次に、オブジェクトマネージャ101は、抽出したMACアドレス1134によって識別されるセンサノード40に、抽出した観測周期1140を送信する。つまり、オブジェクトマネージャ101は、交換先センサノード40に、抽出した観測周期1140を送信する(S1084)。
交換先センサノード40は、オブジェクトマネージャ101から観測周期1140を受信する。すると、交換先センサノード40は、受信した観測周期1140を、外部記憶装置412に記憶する。これによって、交換先センサノード40は、外部装置412に記憶している観測周期432ごとに、環境情報を観測できる。
一方、オブジェクトマネージャ101は、観測周期1140を送信すると、選択した交換元論理ノードに関する情報のMACアドレス1134を抽出する。次に、オブジェクトマネージャ101は、抽出したMACアドレス1134によって識別されるセンサノード40に、撤去許可を通知する。つまり、オブジェクトマネージャ101は、交換元センサノード40に、撤去許可を通知する(S1085)。
交換元センサノード40は、撤去許可を通知されると、撤去が許可された旨を出力する。例えば、交換元センサノード40は、撤去が許可された旨を、LCD419に表示する。他には、交換元センサノード40は、撤去許可に対応する点滅パターンで、LED420を点滅させる。これによって、作業者は、環境に設置された多数のセンサノード40の中から、交換元センサノード40を容易に探索でき、さらに交換元センサノードをいつ撤去してよいかを容易に判断することができる。そして、作業者は、撤去が許可された交換元センサノード40を撤去する(S1086)。このように、作業者は、管理者と密に連絡をとることなく、現地作業のみで容易にセンサノードの交換作業を行うことが可能となる。
一方、オブジェクトマネージャ101は、撤去許可を通知すると、選択した交換元論理ノードに関する情報のMACアドレス1134と選択した交換先論理ノードに関する情報のMACアドレス1134とを交換する。そして、オブジェクトマネージャ101は、選択した交換先論理ノードに関する情報を、オブジェクトリスト113から削除する。これによって、オブジェクトマネージャ101は、自動生成論理ノードを破棄する(S1087)。そして、センサノード40の交換処理を終了する。
以上のように、センサノード40が交換されると、オブジェクトマネージャ101は、論理ノードのLIDとセンサノード40のMACアドレスとの対応を変更する。このため、クライアント計算機60に備わるアプリケーション601は、センサノード40の交換を認識せずに、処理を継続できる。
また、交換元センサノードと交換先センサノードを同じ設定で動作させることができ、交換元センサノードと交換先センサノードを起動させながら、観測値を断続させることなく、センサノードを交換することができる。
図30Aは、本発明の実施の形態のセンサノード40が交換されるときのMACアドレスの変遷に関する説明図である。図30Bは、本発明の実施の形態の倉庫の温度の観測履歴を示すグラフである。
MACアドレスの「1001」によって識別されるセンサノード40は、時刻T0から時刻T1まで、倉庫に設置される。つまり、当該センサノード40は、倉庫の温度を観測する。このとき、センサネットサーバ10に備わるオブジェクトマネージャ101は、MACアドレスの「1001」によって識別されるセンサノード40を、LIDの「1」によって識別される論理ノードとして提供する。つまり、LIDの「1」によって識別される論理ノードは、倉庫の温度を観測するためのものである。
そのため、時刻T0から時刻T1までの間では、MACアドレスの「1001」によって識別されるセンサノード40が観測した温度が、倉庫の温度として履歴データベース111に格納される。
その後、MACアドレスの「1001」によって識別されるセンサノード40の電池切れが近づき交換する状況になったとする。そこで、時刻T1に、MACアドレスの「1001」によって識別されるセンサノード40を、MACアドレスの「1002」によって識別されるセンサノード40に交換したとする。
その場合、MACアドレスの「1002」によって識別されるセンサノード40が、時刻T1から時刻T2まで、倉庫に設置される。つまり、当該センサノード40は、倉庫の温度を観測する。このとき、センサネットサーバ10に備わるオブジェクトマネージャ101は、MACアドレスの「1002」によって識別されるセンサノード40を、LIDの「1」によって識別される論理ノードとして提供する。
そのため、時刻T1から時刻T2までの間では、MACアドレスの「1002」によって識別されるセンサノード40が観測した温度が、倉庫の温度として履歴データベース111に格納される。
履歴データベース111に格納された倉庫の温度をグラフにしたものが図30Bである。図30Bのグラフによると、履歴データベース111には、MACアドレスの「1001」によって識別されるセンサノード40が時刻T0から時刻T1までの間に観測した温度が、倉庫の温度として格納されている。更に、履歴データベース111には、MACアドレスの「1002」によって識別されるセンサノード40が時刻T1から時刻T2までの間に観測した温度が、倉庫の温度として格納されている。
このように、オブジェクトマネージャ101は、二つのセンサノード40によって観測された環境情報を、あたかも一つのセンサノード40によって観測された環境情報のようにして提供できる。そのため、オブジェクトマネージャ101は、クライアント計算機60に備わるアプリケーション601に、センサノード40の交換を認識させずに済む。
図27は、本発明の実施の形態の管理計算機50に表示されるノード操作画面の一例の説明図である。
ノード操作画面では、それぞれの論理ノードが、使用中、未使用又は不活性のいずれの状態であるかを示す。使用中の論理ノードは、PUFが「T」且つLUFが「T」である。つまり、使用中の論理ノードとして提供されているセンサノード40は、実在し、且つ、アプリケーションに現在使用されている。
未使用の論理ノードは、PUFが「F」且つLUFが「T」である。つまり、未使用の論理ノードとして提供されているセンサノード40は、実在するが、アプリケーションに現在使用されていない。
また、不活性の論理ノードは、PUFが「T」且つLUFが「F」である。つまり、不活性の論理ノードが設定されているセンサノード40は、別の用途に一時的に使用されている。
管理者は、ノード操作画面を用いて、使用中の論理ノードに対して、不使用への変更、撤去、移設又は不活性化を指示できる。
不使用への変更又は撤去が指示されると、管理計算機50は、センサネットサーバ10に備わるオブジェクトマネージャ101に不使用要求を送信する。また、移設が指示されると、管理計算機50は、センサネットサーバ10に備わるオブジェクトマネージャ101に移設要求を送信する。また、不活性化が指示されると、管理計算機50は、センサネットサーバ10に備わるオブジェクトマネージャ101に不活性化要求を送信する。
また、管理者は、ノード操作画面を用いて、不使用の論理ノードに対して、使用への変更を指示できる。使用への変更が指示されると、管理計算機50は、センサネットサーバ10に備わるオブジェクトマネージャ101に使用要求を送信する。
また、管理者は、使用中の論理ノードを、交換元として指定し、未使用中の論理ノードを、交換先として指定できる。使用中の論理ノードが交換元として指定され、且つ、未使用中の論理ノードが交換先として指定されると、管理計算機50は、センサネットサーバ10に備わるオブジェクトマネージャ101に交換要求を送信する。
また、管理者は、不活性のノードに対して、活性化を指示できる。活性化が指示されると、管理計算機50は、センサネットサーバ10に備わるオブジェクトマネージャ101に活性化要求を送信する。
このように、管理者は、簡便な操作でセンサノードの移設や交換等の指示を行うことができる。なお、センサノード操作画面は本実施形態に限定されず、各センサノードとその状態(使用中、未使用など)が対応づけられており、ユーザが各ノードの状態を操作できる表示であればよい。
図28は、本発明の実施の形態のセンサノード40が交換されるときのセンサネットシステムの処理のシーケンス図である。
管理計算機50は、管理者の操作を契機に、交換要求をセンサネットサーバ10に送信する(S1101)。なお、ここでの交換要求には、交換元となる論理ノード(交換元論理ノード)のLIDが含まれる。
センサネットサーバ10は、交換要求を管理計算機50から受信する。すると、センサネットサーバ10は、受信した交換要求から、交換元論理ノードのLIDを抽出する。次に、センサネットサーバ10は、抽出した交換元論理ノードのLIDによって識別される論理ノードを、交換元論理ノードとして確定する(S1102)。
次に、センサネットサーバ10は、オブジェクトリスト113を参照して、交換先の候補となる論理ノードを検索する(S1103)。なお、図26で説明したように、新たに接続されたセンサノードを選択してもよい。
例えば、センサネットサーバ10は、オブジェクトリスト113のPUF1135に「F」が格納され、且つ、オブジェクトリスト113のLUF1135に「T」が格納されている情報(未使用の論理ノードに関する情報)を、オブジェクトリスト113から選択する。次に、センサネットサーバ10は、選択した未使用の論理ノードに関する情報のLID1131及び論理ノード名1132を抽出する。そして、センサネットサーバ10は、抽出したLID1131によって識別される論理ノードを、交換先の候補とする。
次に、センサネットサーバ10は、抽出したLID1131及び論理ノード名1132を管理計算機50に送信する。これによって、センサネットサーバ10は、交換先の候補となる論理ノードを、管理計算機50に通知する(S1104)。このとき、交換先候補をすべて管理計算機に通知してもよいし、所定数の交換先候補を通知することもできる。例えば、予めセンサノードの位置を把握しておき交換元センサノードに最も近い交換先候補を選択して管理計算機に通知することができる。管理計算機50は、受信した論理ノード名1132を表示する。すると、管理者は、交換先の候補である論理ノードの中から、交換先とする論理ノードを選択する。すると、管理計算機50は、管理者に選択された論理ノードのLIDを含む交換先確定要求を、センサネットサーバ10に送信する(S1105)。
センサネットサーバ10は、交換先確定要求を管理計算機50から受信する。次に、センサネットサーバ10は、受信した交換先確定要求に含まれるLIDとオブジェクトリスト113のLID1131とが一致する情報(交換先論理ノードに関する情報)を、オブジェクトリスト113から選択する。次に、オブジェクトマネージャ101は、選択した交換先論理ノードに関する情報のMACアドレス1134を抽出する。
次に、センサネットサーバ10は、ステップS1101で受信した交換要求に含まれるLIDとオブジェクトリスト113のLID1131とが一致する情報(交換元論理ノードに関する情報)を、オブジェクトリスト113から選択する。次に、オブジェクトマネージャ101は、選択した交換元論理ノードに関する情報の観測周期1140を抽出する(S1106)。
次に、オブジェクトマネージャ101は、抽出したMACアドレス1134によって識別されるセンサノード40に、抽出した観測周期1140を送信する。つまり、オブジェクトマネージャ101は、交換先センサノード40に、抽出した観測周期1140を送信する(S1107)。
交換先センサノード40は、オブジェクトマネージャ101から観測周期1140を受信する。すると、交換先センサノード40は、受信した観測周期1140を、外部記憶装置412に記憶する。
一方、オブジェクトマネージャ101は、観測周期1140を送信すると、選択した交換元論理ノードに関する情報のMACアドレス1134を抽出する。次に、オブジェクトマネージャ101は、抽出したMACアドレス1134によって識別されるセンサノード40に、撤去許可を通知する。つまり、オブジェクトマネージャ101は、交換元センサノード40に、撤去許可を通知する(S1108)。交換元センサノード40は、撤去許可を通知されると、撤去が許可された旨を出力する。すると、作業者は、交換元センサノード40の電源を停止する(S1109)。また、交換元センサノードが自律的に電源を停止してもよい。
一方、オブジェクトマネージャ101は、撤去許可を通知すると、選択した交換元論理ノードに関する情報のMACアドレス1134と選択した交換先論理ノードに関する情報のMACアドレス1134とを交換する(S1110)。そして、オブジェクトマネージャ101は、選択した交換先論理ノードに関する情報を、オブジェクトリスト113から削除する。
そして、オブジェクトマネージャ101は、センサノード40の交換完了を管理計算機に通知する(S1111)。これによって、センサノード40の交換が完了する。
図29は、本発明の実施の形態のセンサノード40が交換されるときのセンサネットシステムの処理のシーケンス図である。
図28で説明した処理では、管理計算機50が、交換要求をセンサネットサーバ10に送信した。しかし、管理計算機50の代わりに、センサノード40が、交換要求をセンサネットサーバ10に送信してもよい。
交換元センサノード40は、交換前においては、設定された観測周期で環境情報を測定し、測定した環境情報をセンサネットサーバ10に送信する。このとき、作業者は、交換元センサノード40に備わるボタン418を操作する。すると、交換元センサノード40は、当該交換元センサノード40のMACアドレスを含む交換要求をセンサネットサーバ10に送信する(S1131)。
センサネットサーバ10は、交換要求を交換元センサノード40から受信する。すると、センサネットサーバ10は、受信した交換要求から、MACアドレスを抽出する。次に、センサネットサーバ10は、抽出したMACアドレスによって識別されるセンサノード40を、交換元センサノード40として確定する(S1132)。
次に、センサネットサーバ10は、オブジェクトリスト113を参照して、交換先の候補となるセンサノード40を検索する(S1133)。
例えば、センサネットサーバ10は、オブジェクトリスト113のPUF1135に「F」が格納され、且つ、オブジェクトリスト113のLUF1135に「T」が格納されている情報(未使用の論理ノードに関する情報)を、オブジェクトリスト113から一つ選択する。次に、センサネットサーバ10は、選択した未使用の論理ノードに関する情報のMACアドレス1134を抽出する。そして、センサネットサーバ10は、抽出したMACアドレス1134によって識別されるセンサノード40を、交換先の候補とする。
次に、センサネットサーバ10は、検索した交換先候補センサノード40に、交換先であることを通知する。すると、交換先候補センサノード40は、交換先の候補になっていることを出力する。
更に、センサネットサーバ10は、交換元センサノード40に、交換先候補センサノード40の名称を通知する(1134)。すると、交換元センサノード40は、通知された交換先候補センサノード40の名称を出力する。他には、交換元センサノード40に備わるLED420と交換先候補センサノード40に備わるLED420とが、同期したタイミングで点滅してもよい。これによって、作業者は、環境に設置された多数のセンサノード40の中から、交換先候補センサノード40を容易に探索できる。次に、作業者は、交換先候補センサノード40を、交換先にするか否かを判定する。
ここでは、作業者は、交換先候補センサノード40を、交換先にしないと判定する。そこで、作業者は、交換元センサノード40に備わるボタン418を操作する。すると、交換元センサノード40は、次候補検索要求をセンサネットサーバ10に送信する(S1135)。
センサネットサーバ10は、次候補検索要求を交換元センサノード40から受信する。
次に、センサネットサーバ10は、オブジェクトリスト113を参照して、交換先の候補となるセンサノード40を検索する(S1136)。ここでは、センサネットサーバ10は、ステップS1133で検索したセンサノード40を除いた中から、交換先の候補となるセンサノード40を検索する。
次に、センサネットサーバ10は、検索した交換先候補センサノード40に、交換先であることを通知する。更に、センサネットサーバ10は、交換元センサノード40に、交換先候補センサノード40の名称を通知する(1137)。すると、作業者は、交換先候補センサノード40を、交換先にするか否かを判定する。
ここでは、作業者は、交換先候補センサノード40を、交換先にすると判定する。そこで、作業者は、交換元センサノード40に備わるボタン418を操作する。すると、交換元センサノード40は、交換先確定要求をセンサネットサーバ10に送信する(S1138)。
センサネットサーバ10は、交換先確定要求を交換元センサノード40から受信する。すると、センサネットサーバ10は、交換元センサノード40のMACアドレスとオブジェクトリスト113のMACアドレス1134とが一致する情報を、オブジェクトリスト113から選択する。次に、センサネットサーバ10は、オブジェクトリスト113のPUF1135に「T」が格納され、且つ、オブジェクトリスト113のLUF1137に「T」が格納される情報(交換元論理ノードに関する情報)を、オブジェクトリスト113から選択した情報の中から選択する。次に、オブジェクトマネージャ101は、選択した交換元論理ノードに関する情報の観測周期1140を抽出する(S1139)。
次に、オブジェクトマネージャ101は、抽出した観測周期1140を、交換先センサノード40に送信する(S1140)。交換先センサノード40は、オブジェクトマネージャ101から観測周期1140を受信する。すると、交換先センサノード40は、受信した観測周期1140を、外部記憶装置412に記憶する。
一方、オブジェクトマネージャ101は、観測周期1140を送信すると、交換元センサノード40に、撤去許可を通知する(S1141)。交換元センサノード40は、撤去許可を通知されると、撤去が許可された旨を出力する。すると、作業者は、交換元センサノード40の電源を停止する(S1142)。
一方、オブジェクトマネージャ101は、撤去許可を通知すると、交換先センサノード40のMACアドレスとオブジェクトリスト113のMACアドレス1134とが一致する情報を、オブジェクトリスト113から選択する。次に、センサネットサーバ10は、オブジェクトリスト113のPUF1135に「T」が格納され、且つ、オブジェクトリスト113のLUF1137に「T」が格納される情報(交換先論理ノードに関する情報)を、オブジェクトリスト113から選択した情報の中から選択する。次に、オブジェクトマネージャ101は、選択した交換元論理ノードに関する情報のMACアドレス1134と選択した交換先論理ノードに関する情報のMACアドレス1134とを交換する(S1143)。次に、オブジェクトマネージャ101は、選択した交換先論理ノードに関する情報を、オブジェクトリスト113から削除する。これによって、センサノード40の交換が完了する。
以上のように、作業者は、センサノード40に備わるボタン418を操作することによって、センサノード40を交換できる。つまり、管理者が管理計算機50を操作することなく、交換元センサノード及び交換先センサノードを特定することができ、さらには交換元ノードをいつ撤去してよいかを判断できるため、現場にいる作業者だけで、容易にセンサノード40を交換できる。