本発明の実施の形態を図面を参照して説明する。
(第1の実施の形態)
図1は、本発明の第1の実施の形態のセンサネットシステムのブロック図である。
センサネットシステムは、センサノード100、無線基地局200、業務サーバ300及びネットワーク400を備える。
センサノード100は、内蔵センサ及び無線通信部を備える情報処理端末である。内蔵センサは、物理情報を測定する。無線通信部は、無線基地局200と無線通信する。
センサノード100は、内蔵センサを用いて各種物理情報を測定する。そして、測定した物理情報(センサデータ)を無線基地局200に送信する。
本実施の形態のセンサノード100は、無線基地局200から応答要求を受けると、センサデータを無線基地局200に送信する。なお、センサノード100は、所定のタイミングで、センサデータを無線基地局200に送信してもよい。
無線基地局200は、無線通信部、ネットワーク通信部及びデータ変換処理部を備える。無線通信部は、センサノード100と無線通信する。ネットワーク通信部は、ネットワーク400を介して、業務サーバ300と通信する。データ変換処理部は、無線通信部の通信プロトコルとネットワーク通信部の通信プロトコルとを相互に変換する。
つまり、無線基地局200は、センサノード100からセンサデータを受信する。次に、受信したセンサデータをプロトコル変換する。そして、プロトコル変換したセンサデータを、ネットワーク400を介して業務サーバ300に送信する。
また、無線基地局200は、ノード状態遷移規則テーブル210、ノード状態履歴テーブル220、グループ定義テーブル230及び計測値差分情報処理プログラム240を備える。
ノード状態遷移規則テーブル210は、図5A及び図5Bで後述するが、センサノード100の状態の遷移規則を管理する。本実施の形態において、センサノード100の状態は、センサノード100の位置とする。また、状態遷移規則は、センサノード100の位置の移動順の規則とする。
ノード状態履歴テーブル220は、図6A及び図6Bで後述するが、センサノード100の状態の履歴を管理する。
グループ定義テーブル230は、図7A〜図7Fで後述するが、センサノード100が属するグループを管理する。
計測値差分情報処理プログラム240は、グループ定義テーブル230を更新する。また、計測値差分情報処理プログラム240は、センサノード100から受信したセンサデータに関する差分情報を求め、業務サーバ300に送信する。なお、本実施の形態では、差分情報は、グループを構成するセンサノード100に関する差分情報である。
ネットワーク400は、無線基地局200と業務サーバ300とを接続する。ネットワーク400は、例えば、ローカルエリアネットワーク(LAN)又はワイドエリアネットワーク(WAN)である。
業務サーバ300は、業務アプリケーションを実行する計算機である。業務アプリケーションは、業務を遂行するプログラムである。本実施の形態の業務アプリケーションは、業務プロセス等を管理する。具体的には、業務アプリケーションは、センサノード100を付された物品の移動過程を管理する。
業務サーバ300は、センサノード100をグループ単位で管理する。本実施の形態では、業務サーバ300は、センサノードA100及びセンサノードB100を、グループG1として管理する。例えば、センサノード100は、業務の流れに応じたグループに分けられる。また、同一の業務に関連するセンサノード100は、同一のグループに分けられてもよい。
また、業務サーバ300は、グループ状態遷移規則テーブル310、グループ状態履歴テーブル320、グループ定義テーブル330及び計測値差分情報処理プログラム340を備える。
グループ状態遷移規則テーブル310は、図2で後述するが、グループの状態の遷移規則を管理する。
グループ状態履歴テーブル320は、図3で後述するが、グループの状態の履歴を管理する。
グループ定義テーブル330は、図4A〜図4Eで後述するが、センサノード100が属するグループを管理する。
計測値差分情報処理プログラム340は、無線基地局200から受信した差分情報に基づいて、グループ状態テーブル320及びグループ定義テーブル330を更新する。
本実施の形態のセンサネットシステムは、製品の製造又は流通に利用されると好適である。この場合、センサノード100は、製品に付随される。センサノード100は、付随された製品の状態を一定間隔で測定する。製品の状態は、例えば、製品の位置、温度又は衝撃の大きさ等である。そして、センサノード100は、測定した製品の状態を、無線基地局200を介して業務サーバ300に送信する。
すると、業務サーバ300は、センサノード100から製品の状態を受信する。そして、業務サーバ300は、業務アプリケーションを実行することによって、受信した製品の状態を処理する。例えば、業務アプリケーションは、生産管理又は在庫管理などを行う。
以上のように、本実施の形態のセンサネットシステムは、製品の製造又は流通等に利用されることによって、製品の生産性の向上又は流通効率の向上を図ることができる。
本実施の形態における業務プロセスでは、グループG1に属するセンサノードA100及びセンサノードB100が、無線基地局A200の通信範囲内から、無線基地局B200の通信範囲内に移動する。
図2は、本発明の第1の実施の形態の業務サーバ300のグループ状態遷移規則テーブル310の構成図である。
グループ状態遷移規則テーブル310は、ルール番号3101、遷移前ルール番号3102、グループ番号3103及び存在情報3104及びグループ所在位置3105を含む。
ルール番号3101は、状態遷移規則の一意な識別子である。遷移前ルール番号3102は、直前の状態遷移規則の一意な識別子である。
グループ番号3103は、当該状態遷移規則を適用できるグループの一意な識別子である。
存在情報3104は、当該グループが無線基地局200のいずれかの通信範囲内に存在するか否かを示す。
グループ所在位置3105は、当該グループの位置を示す。具体的には、グループ所在位置3105には、当該グループと通信可能な無線基地局200の一意な識別子が格納される。なお、存在情報3104が「不在」の場合、グループ所在位置3105には、値が格納されない。
グループ状態遷移規則テーブル310では、業務プロセスに基づく状態遷移規則が定義されている。
本実施の形態の業務プロセスでは、グループG1は、すべての無線基地局200の通信範囲に含まれない位置から移動を始める(レコード3111)。次に、グループG1は、無線基地局A200の通信範囲内に移動する(レコード3112)。次に、グループG1は、無線基地局B200の通信範囲内に移動する(レコード3113)。そして、グループG1は、すべての無線基地局200の通信範囲に含まれない位置に移動し(レコード3114)、業務を終了する。
なお、グループ状態遷移規則テーブル310は、管理ユーザによって設定される。
図3は、本発明の第1の実施の形態の業務サーバ300のグループ状態履歴テーブル320の構成図である。
グループ状態履歴テーブル320は、グループ番号3201、受信時刻3202、グループ所在位置3203及びルール番号3204を含む。
グループ番号3201は、グループの一意な識別子である。受信時刻3202は、業務サーバ300が当該グループに関する情報を受信した時刻である。
グループ所在位置3203は、当該グループの位置を示す。具体的には、グループ所在位置3203には、当該グループと通信した無線基地局200の一意な識別子が格納される。
ルール番号3204は、当該時刻において当該グループが該当する状態遷移規則の一意な識別子である。
図4Aは、本発明の第1の実施の形態の時刻T0における業務サーバ300のグループ定義テーブル330の構成図である。図4Bは、本発明の第1の実施の形態の時刻T3における業務サーバ300のグループ定義テーブル330の構成図である。図4Cは、本発明の第1の実施の形態の時刻T13における業務サーバ300のグループ定義テーブル330の構成図である。図4Dは、本発明の第1の実施の形態の時刻T23における業務サーバ300のグループ定義テーブル330の構成図である。図4Eは、本発明の第1の実施の形態の時刻T33における業務サーバ300のグループ定義テーブル330の構成図である。
グループ定義テーブル330は、グループ番号3301、ノード番号3302及び計測時刻3303を含む。
グループ番号3301は、グループの一意な識別子である。ノード番号3302は、当該グループに属するセンサノード100の一意な識別子である。
計測時刻3303は、無線基地局200が当該グループを計測した時刻である。
図5Aは、本発明の第1の実施の形態の無線基地局A200のノード状態遷移規則テーブル210の構成図である。図5Bは、本発明の第1の実施の形態の無線基地局B200のノード状態遷移規則テーブル210の構成図である。
ノード状態遷移規則テーブル210は、ルール番号2101、遷移前ルール番号2102、ノード番号2103、存在情報2104及びノード所在位置2105を含む。
ルール番号2101は、状態遷移規則の一意な識別子である。遷移前ルール番号2102は、直前の状態遷移規則の一意な識別子である。
グループ番号2103は、当該状態遷移規則を適用可能なセンサノード100の一意な識別子である。
存在情報2104は、当該センサノード100が無線基地局200のいずれかの通信範囲内に存在するか否かを示す。
ノード所在位置2105は、当該センサノード100の位置を示す。具体的には、グループ所在位置2105には、当該センサノードと通信可能な無線基地局200の一意な識別子が格納される。なお、存在情報2104が「不在」の場合、ノード所在位置3105には、値が格納されない。
図6Aは、本発明の第1の実施の形態の無線基地局A200のノード状態履歴テーブル220の構成図である。図6Bは、本発明の第1の実施の形態の無線基地局B200のノード状態履歴テーブル220の構成図である。
ノード状態履歴テーブル220は、グループ番号2201、ノード番号2202、計測時刻2203及びルール番号2204を含む。
グループ番号2201は、グループの一意な識別子である。ノード番号2202は、当該グループに属するセンサノード100の一意な識別子である。
計測時刻2203は、無線基地局200が当該センサノード100を計測した時刻である。
ルール番号2204は、当該時刻において、当該センサノード100が該当する状態遷移規則の一意な識別子である。
図7Aは、本発明の第1の実施の形態の時刻T0における無線基地局A200のグループ定義テーブル230の構成図である。図7Bは、本発明の第1の実施の形態の時刻T3における無線基地局A200のグループ定義テーブル230の構成図である。図7Cは、本発明の第1の実施の形態の時刻T13における無線基地局A200のグループ定義テーブル230の構成図である。図7Dは、本発明の第1の実施の形態の時刻T0における無線基地局B200のグループ定義テーブル230の構成図である。図7Eは、本発明の第1の実施の形態の時刻T23における無線基地局B200のグループ定義テーブル230の構成図である。図7Fは、本発明の第1の実施の形態の時刻T33における無線基地局B200のグループ定義テーブル230の構成図である。
グループ定義テーブル230は、グループ番号2301、ノード番号2302及び計測時刻2303を含む。
グループ番号2301は、グループの一意な識別子である。ノード番号2302は、当該グループに属するセンサノード100の一意な識別子である。
計測時刻2303は、無線基地局200が当該センサノード100を計測した時刻である。
図8は、本発明の第1の実施の形態のセンサネットシステムの処理のシーケンス図である。
本説明図では、センサノードA100及びセンサノードB100を含むグループG1が、無線基地局A200の通信範囲内から、無線基地局B200の通信範囲内に移動する。その後、グループG1から、センサノードB100が離脱する。
まず、センサネットシステムは、時刻T0において、初期化処理を行う(600)。
具体的には、業務サーバ300は、グループ定義テーブル330(図4A)を参照して、グループ設定要求を作成する。例えば、業務サーバ300は、グループ定義テーブル330(図4A)から、グループ番号3301の「G1」並びにノード番号3302の「A」及び「B」を抽出する。そして、抽出したグループ番号3301及びノード番号3302を含むグループ設定要求を作成する。
次に、業務サーバ300は、作成したグループ設定要求を、すべての無線基地局200に送信する。ここでは、グループ設定要求を、無線基地局A200及び無線基地局B200に送信する(601、602)。
無線基地局A200は、グループ設定要求を受信する。そして、受信したグループ設定要求に基づいてグループ定義テーブル230(図7A)を作成する。
具体的には、受信したグループ設定要求から、グループ番号3301の「G1」並びにノード番号3302の「A」及び「B」を抽出する。次に、抽出したグループ番号3301の「G1」を、グループ定義テーブル230のグループ番号2301に格納する。次に、抽出したノード番号3302の「A」及び「B」を、グループ定義テーブル230のノード番号2302に格納する。次に、グループ設定要求を受信した時刻を、グループ定義テーブル230の計測時刻2303に格納する。
無線基地局A200は、このようにして、グループ定義テーブル230(図7A)を作成する。当該グループ定義テーブル230によると、グループG1は、センサノードA100及びセンサノードB100によって構成されている(レコード2311及びレコード2312)。
同様に、無線基地局B200は、受信したグループ設定要求に基づいて、グループ定義テーブル(図7D)を作成する。当該グループ定義テーブル230によると、グループG1は、センサノードA100及びセンサノードB100によって構成されている(レコード2321及びレコード2322)。
次に、業務サーバ300は、無線基地局200のノード状態遷移規則テーブル210の初期設定を行う。
具体的には、すべての無線基地局200に、グループ状態遷移規則テーブル310(図2)を送信する。なお、グループ状態遷移規則テーブル310をグループ設定要求と一緒に送信してもよい。
無線基地局A200は、グループ状態遷移規則テーブル310を受信する。そして、受信したグループ遷移規則テーブル310に基づいて、ノード状態遷移規則テーブル210(図5A)を作成する。
具体的には、無線基地局A200は、受信したグループ状態遷移規則テーブル310のグループ所在位置3105と自身の識別子とが一致するレコード3112を、グループ状態遷移規則テーブル310から抽出する。次に、受信したグループ状態遷移規則テーブル310のグループ所在位置3105に値が格納されていないレコード3111及び3114を、グループ状態遷移規則テーブル310から抽出する。
次に、抽出したレコード3111の内容を、ノード状態遷移規則テーブル210のレコード2111に格納する。抽出したレコード3112の内容を、ノード状態遷移規則テーブル210のレコード2112に格納する。抽出したレコード3114の内容を、ノード状態遷移規則テーブル210のレコード2113に格納する。
無線基地局A200は、このようにして、ノード状態遷移規則テーブル210(図5A)を作成する。
同様に、無線基地局B200は、受信したグループ遷移規則テーブル310に基づいて、ノード状態遷移規則テーブル210(図5B)を作成する。
具体的には、無線基地局B200は、受信したグループ状態遷移規則テーブル310のグループ所在位置3105と自身の識別子とが一致するレコード3113を、グループ状態遷移規則テーブル310から抽出する。次に、受信したグループ状態遷移規則テーブル310のグループ所在位置3105に値が格納されていないレコード3111及び3114を、グループ状態遷移規則テーブル310から抽出する。
次に、抽出したレコード3111の内容を、ノード状態遷移規則テーブル210のレコード2114に格納する。抽出したレコード3113の内容を、ノード状態遷移規則テーブル210のレコード2115に格納する。抽出したレコード3114の内容を、ノード状態遷移規則テーブル210のレコード2116に格納する。
無線基地局B200は、このようにして、ノード状態遷移規則テーブル210(図5B)を作成する。
次に、業務サーバ300は、無線基地局200のノード状態履歴テーブル220の初期設定を行う。
具体的には、グループ状態履歴テーブル320のレコード3211に関する情報を、すべての無線基地局200に送信する。なお、当該情報をグループ設定要求と一緒に送信してもよい。
無線基地局A200は、グループ状態履歴テーブル320のレコード3211に関する情報を受信する。そして、受信した情報に基づいて、ノード状態履歴テーブル220(図6A)を作成する。
具体的には、無線基地局A200は、受信したグループ状態履歴テーブル320のグループ番号3201を、ノード状態履歴テーブル220のグループ番号2201に格納する。
次に、受信したグループ状態履歴テーブル320のグループ番号3201とグループ定義テーブル230(図7A)のグループ番号2301とが一致するすべてのレコードを、グループ定義テーブル230から選択する。次に、選択したレコードから、ノード番号2302を抽出する。次に、抽出したノード番号2302を、ノード状態履歴テーブル220のノード番号2202に格納する。
次に、グループ状態履歴テーブル320に関する情報を受信した時刻を、ノード状態履歴テーブル220の計測時刻2203に格納する。次に、受信したグループ状態履歴テーブル320のルール番号3204を、ノード状態履歴テーブル220のルール番号2204に格納する。
無線基地局A200は、このようにして、グループ状態履歴テーブル320のレコード3211から、ノード状態履歴テーブル220(図6A)のレコード2211及び2212を作成する。
同様に、無線基地局B200は、グループ状態履歴テーブル320のレコード3211から、ノード状態履歴テーブル220(図6B)のレコード2231及び2232を作成する。
センサネットシステムは、初期化処理を終了すると、第一回目のノード計測処理を行う(603)。
このとき、センサノードA100及びセンサノードB100を含むグループG1が、基地局A200の通信範囲に移動したとする。
まず、無線基地局200は、自身の通信範囲内に応答要求を送信する(604)。すると、無線基地局200の通信範囲内に存在するセンサノード100は、応答要求を受信する。
ここでは、センサノードA100及びセンサノードB100が、無線基地局A200から応答要求を受信する。
すると、センサノードA100は、時刻T1において、自身のノード番号を含むセンサデータを無線基地局A200に送信する(605)。同様に、センサノードB100は、時刻T2において、自身のノード番号を含むセンサデータを無線基地局A200に送信する(606)。
無線基地局A200は、センサデータをセンサノードA100及びセンサノードB100から受信する。
次に、無線基地局A200は、受信したセンサデータとノード状態履歴テーブル220とを比較することによって、計測値差分情報抽出処理を行う(608)。この処理で抽出する差分は、グループに属するセンサノード100の存在に関する差分である。
具体的には、無線基地局A200は、グループ定義テーブル230(図7A)から、ノード番号2302の「A」及び「B」を抽出する。次に、抽出したノード番号2302と受信したセンサデータに含まれるノード番号とを比較することによって、差分の「0」を求める。
そして、無線基地局A200は、時刻T3において、求めた差分の「0」を含む差分情報を、業務サーバ300に送信する(610)。なお、差分情報は、グループ番号の「G1」、無線基地局A200の識別子の「基地局A」及び計測時刻の「T2」を含む。
業務サーバ300は、差分情報を無線基地局A200から受信する。次に、受信した差分情報に基づいて、グループ状態履歴テーブル320及びグループ定義テーブル330を更新する(611)。
具体的には、受信した差分情報に含まれるグループ番号の「G1」とグループ状態履歴テーブル320のグループ番号3201とが一致するレコードを、グループ状態履歴テーブル320から選択する。次に、選択したレコードの中から、受信時刻3202が直近のレコード3211を選択する。次に、選択したレコード3211から、ルール番号3204の「R0」を抽出する。
次に、抽出したルール番号3204の「R0」がグループ状態遷移規則テーブル310の遷移前ルール番号3102に含まれるレコードを、グループ状態遷移規則310テーブルから選択する。
次に、選択したレコードの中から、受信した差分情報に含まれるグループ番号の「G1」とグループ状態遷移規則テーブル310のグループ番号3103とが一致するレコードを選択する。次に、選択したレコードの中から、受信した差分情報に含まれる無線基地局200の識別子とグループ状態遷移規則テーブル310のグループ所在位置3105とが一致するレコードを選択する。
ここでは、業務サーバ300は、レコード3112を、グループ状態遷移規則テーブル310から選択する。
次に、選択したレコード3112から、ルール番号3101の「R1」を抽出する。
次に、グループ状態履歴テーブル320に新たなレコード3212を作成する。次に、抽出したルール番号3101の「R1」を、新たなレコード3212のルール番号3204に格納する。
次に、受信した差分情報に含まれるグループ番号の「G1」を、新たなレコード3212のグループ番号3201に格納する。次に、差分情報を受信した時刻の「T3」を、新たなレコード3212の受信時刻3202に格納する。次に、受信した差分情報に含まれる無線基地局A200の識別子を、新たなレコード3212のグループ所在位置3203に格納する。
次に、業務サーバ300は、グループ定義テーブル330を更新する。
具体的には、差分情報に含まれる差分が「0」であるので、グループ定義テーブル330の計測時間3303のみを更新する。
業務サーバ300は、受信した差分情報に含まれる計測時刻の「T2」を、グループ定義テーブル330の計測時刻3303に格納する。
これによって、業務サーバ300は、図4Aに示すグループ定義テーブル330を、図4Bに示すグループ定義テーブル330に変更する。
業務サーバ300は、グループ状態履歴テーブル320及びグループ定義テーブル330を更新すると、差分情報受領通知を無線基地局A200に送信する。
一方、無線基地局A200は、差分情報を業務サーバに送信すると、状態更新処理を行う(612)。つまり、無線基地局A200は、ノード状態履歴テーブル220及びグループ定義テーブル230を更新する。
まず、ノード状態履歴テーブル220の更新について説明する。
無線基地局A200は、ノード状態履歴テーブル220から、レコード2211及びレコード2212を抽出する。
次に、無線基地局A200は、センサノードA100に関する情報を、ノード状態履歴テーブル220に追加する。そのため、抽出したレコード2211から、ルール番号2204の「R0」を抽出する。
次に、無線基地局A200は、抽出したルール番号2204の「R0」がノード状態遷移規則テーブル210の遷移前ルール番号2102に含まれるレコードを、ノード状態遷移規則テーブル210から選択する。次に、選択したレコードの中から、受信したセンサデータに含まれるノード番号の「A」とノード状態遷移規則テーブル210のノード番号2103とが一致するレコードを選択する。更に、選択したレコードの中から、自身の識別子の「基地局A」とノード所在位置2105とが一致するレコードを選択する。
ここでは、無線基地局A200は、レコード2112を、ノード状態遷移規則テーブル210から選択する。
次に、選択したレコード2112から、ルール番号2101の「R1」を抽出する。
次に、ノード状態履歴テーブル220に新たなレコード2213を作成する。次に、抽出したルール番号2101の「R1」を、新たなレコード2213のルール番号2204に格納する。
次に、抽出したレコード2211のグループ番号2201の「G1」を、新たなレコード2213のグループ番号2201に格納する。次に、抽出したレコード2211のノード番号2202の「A」を、新たなレコード2213のノード番号2202に格納する。
次に、センサノードA100からセンサデータを受信した時刻T1を、新たなレコード2213の計測時刻2203に格納する。
無線基地局A200は、このようにして、ノード状態履歴テーブル220のレコード2213を追加する。
同様に、無線基地局A200は、センサノードB100に関する情報を、ノード状態履歴テーブル220に追加する。つまり、ノード状態履歴テーブル220のレコード2214を追加する。
次に、グループ定義テーブル230の更新について説明する。
まず、無線基地局A200は、受信したセンサデータに基づいて、センサノードA100に関するレコード2311を更新する。具体的には、センサデータを受信した時刻T1を、更新するレコード2311の計測時刻2303に格納する。
同様に、センサノードB100に関するレコード2312を更新する。具体的には、センサデータを受信した時刻T2を、更新するレコード2312の計測時刻2303に格納する。
これによって、無線基地局A200は、図7Aに示すグループ定義テーブル230を、図7Bに示すグループ定義テーブル230に変更する。
無線基地局A200は、このようにして、ノード状態履歴テーブル220及びグループ定義テーブル230を更新する。そして、無線基地局A200は、差分情報受領通知を業務サーバ300から受信すると、更新したノード状態履歴テーブル220及びグループ定義テーブル230をコミット処理する。
一方、無線基地局B200は、応答要求を送信するが、いずれのセンサノード100からもセンサデータを受信しない。これによって、無線基地局B200は、自身の通信範囲にセンサノード100が存在しないと判断する。
次に、無線基地局B200は、無線基地局A200と同様に、計測値差分情報抽出処理(609)及び状態更新処理(613)を行う。なお、無線基地局B200は、自身の通信範囲に存在するセンサノード100に変化がないので、業務サーバ300に差分情報を送信しない。
以上のように、センサネットシステムは、第一回目のノード計測処理を行う(603)。
センサネットシステムは、一定の時間の経過後に、第二回目のノード計測処理を行う(614)。
このとき、センサノードA100及びセンサノードB100を含むグループG1は、基地局A200の通信範囲に存在する。
まず、無線基地局200は、自身の通信範囲内に応答要求を送信する(615)。すると、無線基地局200の通信範囲内に存在するセンサノード100は、応答要求を受信する。
ここでは、センサノードA100及びセンサノードB100が、無線基地局A200から応答要求を受信する。
すると、センサノードA100は、時刻T11において、自身のノード番号を含むセンサデータを無線基地局A200に送信する(616)。同様に、センサノードB100は、時刻T12において、自身のノード番号を含むセンサデータを無線基地局A200に送信する(617)。
無線基地局A200は、センサデータをセンサノードA100及びセンサノードB100から受信する。
次に、無線基地局A200は、受信したセンサデータとノード状態履歴テーブル220とを比較することによって、計測値差分情報抽出処理を行う(619)。この処理で抽出する差分は、グループに属するセンサノード100の存在に関する差分である。
具体的には、無線基地局A200は、グループ定義テーブル230(図7B)から、ノード番号2302の「A」及び「B」を抽出する。次に、抽出したノード番号2302と受信したセンサデータに含まれるノード番号とを比較することによって、差分の「0」を求める。
そして、無線基地局A200は、時刻T13において、求めた差分の「0」を含む差分情報を、業務サーバ300に送信する(621)。なお、差分情報は、グループ番号の「G1」、無線基地局200の識別子の「基地局A」及び計測時刻の「T12」を含む。
業務サーバ300は、差分情報を無線基地局A200から受信する。次に、受信した差分情報に基づいて、グループ状態履歴テーブル320及びグループ定義テーブル330を更新する(622)。
具体的には、受信した差分情報に含まれるグループ番号の「G1」とグループ状態履歴テーブル320のグループ番号3201とが一致するレコードを、グループ状態履歴テーブル320から選択する。次に、選択したレコードの中から、受信時刻3202が直近のレコード3212を選択する。次に、選択したレコード3212から、ルール番号3204の「R1」を抽出する。
次に、抽出したルール番号3204の「R1」がグループ状態遷移規則テーブル310の遷移前ルール番号3102に含まれるレコードを、グループ状態遷移規則テーブルから選択する。
次に、選択したレコードの中から、受信した差分情報に含まれるグループ番号の「G1」とグループ状態遷移規則テーブル310のグループ番号3103とが一致するレコードを選択する。次に、選択したレコードの中から、受信した差分情報に含まれる無線基地局200の識別子とグループ状態遷移規則テーブル310のグループ所在位置3105とが一致するレコードを選択する。
ここでは、業務サーバ300は、レコード3112を、グループ状態遷移規則テーブル310から選択する。
次に、選択したレコード3112から、ルール番号3101の「R1」を抽出する。
次に、グループ状態履歴テーブル320に新たなレコード3213を作成する。次に、抽出したルール番号3101の「R1」を、新たなレコード3213のルール番号3204に格納する。
次に、受信した差分情報に含まれるグループ番号の「G1」を、新たなレコード3213のグループ番号3201に格納する。次に、差分情報を受信した時刻の「T13」を、新たなレコード3213の受信時刻3202に格納する。次に、受信した差分情報に含まれる無線基地局A200の識別子を、新たなレコード3213のグループ所在位置3203に格納する。
次に、業務サーバ300は、グループ定義テーブル330を更新する。
具体的には、差分情報に含まれる差分が「0」であるので、グループ定義テーブル330の計測時間3303のみを更新する。
業務サーバ300は、受信した差分情報に含まれる計測時刻の「T12」を、グループ定義テーブル330の計測時刻3303に格納する。
これによって、業務サーバ300は、図4Bに示すグループ定義テーブル330を、図4Cに示すグループ定義テーブル330に変更する。
業務サーバ300は、グループ状態履歴テーブル320及びグループ定義テーブル330を更新すると、差分情報受領通知を無線基地局A200に送信する。
一方、無線基地局A200は、差分情報を業務サーバに送信すると、状態更新処理を行う(623)。つまり、無線基地局A200は、ノード状態履歴テーブル220及びグループ定義テーブル230を更新する。
まず、ノード状態履歴テーブル220の更新について説明する。
無線基地局A200は、ノード状態履歴テーブル220から、レコード2213及びレコード2214を抽出する。
次に、無線基地局A200は、センサノードA100に関する情報を、ノード状態履歴テーブル220に追加する。そのため、抽出したレコード2213から、ルール番号2204の「R1」を抽出する。
次に、無線基地局A200は、抽出したルール番号2204の「R1」がノード状態遷移規則テーブル210の遷移前ルール番号2102に含まれるレコードを、ノード状態遷移規則テーブル210から選択する。次に、選択したレコードの中から、受信したセンサデータに含まれるノード番号の「A」とノード状態遷移規則テーブル210のノード番号2103とが一致するレコードを選択する。更に、選択したレコードの中から、自身の識別子の「基地局A」とノード所在位置2105とが一致するレコードを選択する。
ここでは、無線基地局A200は、レコード2112を、ノード状態遷移規則テーブル210から選択する。
次に、選択したレコード2112から、ルール番号2101の「R1」を抽出する。
次に、ノード状態履歴テーブル220に新たなレコード2215を作成する。次に、抽出したルール番号2101の「R1」を、新たなレコード2215のルール番号2204に格納する。
次に、抽出したレコード2213のグループ番号2201の「G1」を、新たなレコード2215のグループ番号2201に格納する。次に、抽出したレコード2213のノード番号2202の「A」を、新たなレコード2215のノード番号2202に格納する。
次に、センサノードA100からセンサデータを受信した時刻T11を、新たなレコード2215の計測時刻2203に格納する。
無線基地局A200は、このようにして、ノード状態履歴テーブル220のレコード2215を追加する。
同様に、無線基地局A200は、センサノードB100に関する情報を、ノード状態履歴テーブル220に追加する。つまり、ノード状態履歴テーブル220のレコード2216を追加する。
次に、グループ定義テーブル230の更新について説明する。
まず、無線基地局A200は、受信したセンサデータに基づいて、センサノードA100に関するレコード2313を更新する。具体的には、センサデータを受信した時刻T11を、更新するレコード2313の計測時刻2303に格納する。
同様に、センサノードB100に関するレコード2314を更新する。具体的には、センサデータを受信した時刻T12を、更新するレコード2314の計測時刻2303に格納する。
これによって、無線基地局A200は、図7Bに示すグループ定義テーブル230を、図7Cに示すグループ定義テーブル230に変更する。
無線基地局A200は、このようにして、ノード状態履歴テーブル220及びグループ定義テーブル230を更新する。そして、無線基地局A200は、差分情報受領通知を業務サーバ300から受信すると、更新したノード状態履歴テーブル220及びグループ定義テーブル230をコミット処理する。
一方、無線基地局B200は、応答要求を送信するが、いずれのセンサノード100からもセンサデータを受信しない。これによって、無線基地局B200は、自身の通信範囲にセンサノード100が存在しないと判断する。
次に、無線基地局B200は、無線基地局A200と同様に、計測値差分情報抽出処理(620)及び状態更新処理(624)を行う。なお、無線基地局B200は、自身の通信範囲に存在するセンサノード100に変化がないので、業務サーバ300に差分情報を送信しない。
以上のように、センサネットシステムは、第二回目のノード計測処理を行う(614)。
センサネットシステムは、一定の時間の経過後に、第三回目のノード計測処理を行う(625)。
このとき、センサノードA100及びセンサノードB100を含むグループG1は、無線基地局A200の通信範囲から、無線基地局B200の通信範囲に移動する。
まず、無線基地局200は、自身の通信範囲内に応答要求を送信する(626)。すると、無線基地局200の通信範囲内に存在するセンサノード100は、応答要求を受信する。
ここでは、センサノードA100及びセンサノードB100が、無線基地局B200から応答要求を受信する。
すると、センサノードA100は、時刻T21において、自身のノード番号を含むセンサデータを無線基地局B200に送信する(628)。同様に、センサノードB100は、時刻T22において、自身のノード番号を含むセンサデータを無線基地局B200に送信する(629)。
無線基地局B200は、センサデータをセンサノードA100及びセンサノードB100から受信する。
次に、無線基地局B200は、受信したセンサデータとノード状態履歴テーブル220とを比較することによって、計測値差分情報抽出処理を行う(631)。この処理で抽出する差分は、グループに属するセンサノード100の存在に関する差分である。
具体的には、無線基地局B200は、グループ定義テーブル230(図7D)から、ノード番号2302の「A」及び「B」を抽出する。次に、抽出したノード番号2302と受信したセンサデータに含まれるノード番号とを比較することによって、差分の「0」を求める。
そして、無線基地局B200は、時刻T23において、求めた差分の「0」を含む差分情報を、業務サーバ300に送信する(632)。なお、差分情報は、グループ番号の「G1」、無線基地局200の識別子の「基地局B」及び計測時刻の「T22」を含む。
業務サーバ300は、差分情報を無線基地局B200から受信する。次に、受信した差分情報に基づいて、グループ状態履歴テーブル320及びグループ定義テーブル330を更新する(633)。
具体的には、受信した差分情報に含まれるグループ番号の「G1」とグループ状態履歴テーブル320のグループ番号3201とが一致するレコードを、グループ状態履歴テーブル320から選択する。次に、選択したレコードの中から、受信時刻3202が直近のレコード3213を選択する。次に、選択したレコード3213から、ルール番号3204の「R1」を抽出する。
次に、抽出したルール番号3204の「R1」がグループ状態遷移規則テーブル310の遷移前ルール番号3102に含まれるレコードを、グループ状態遷移規則テーブルから選択する。
次に、選択したレコードの中から、受信した差分情報に含まれるグループ番号の「G1」とグループ状態遷移規則テーブル310のグループ番号3103とが一致するレコードを選択する。次に、選択したレコードの中から、受信した差分情報に含まれる無線基地局B200の識別子とグループ状態遷移規則テーブル310のグループ所在位置3105とが一致するレコードを選択する。
ここでは、業務サーバ300は、レコード3113を、グループ状態遷移規則テーブル310から選択する。
次に、選択したレコード3113から、ルール番号3101の「R2」を抽出する。
次に、グループ状態履歴テーブル320に新たなレコード3214を作成する。次に、抽出したルール番号3101の「R2」を、新たなレコード3214のルール番号3204に格納する。
次に、受信した差分情報に含まれるグループ番号の「G1」を、新たなレコード3214のグループ番号3201に格納する。次に、差分情報を受信した時刻の「T23」を、新たなレコード3214の受信時刻3202に格納する。次に、受信した差分情報に含まれる無線基地局B200の識別子を、新たなレコード3214のグループ所在位置3203に格納する。
次に、業務サーバ300は、グループ定義テーブル330を更新する。
具体的には、差分情報に含まれる差分が「0」であるので、グループ定義テーブル330の計測時間3303のみを更新する。
業務サーバ300は、受信した差分情報に含まれる計測時刻の「T22」を、グループ定義テーブル330の計測時刻3303に格納する。
これによって、業務サーバ300は、図4Cに示すグループ定義テーブル330を、図4Dに示すグループ定義テーブル330に変更する。
業務サーバ300は、グループ状態履歴テーブル320及びグループ定義テーブル330を更新すると、差分情報受領通知を無線基地局B200に送信する。
一方、無線基地局B200は、差分情報を業務サーバに送信すると、状態更新処理を行う(635)。つまり、無線基地局B200は、ノード状態履歴テーブル220及びグループ定義テーブル230を更新する。
まず、ノード状態履歴テーブル220(図6B)の更新について説明する。
無線基地局B200は、ノード状態履歴テーブル220から、レコード2235及びレコード2236を抽出する。
次に、無線基地局B200は、センサノードA100に関する情報を、ノード状態履歴テーブル220に追加する。そのため、抽出したレコード2235から、ルール番号2204の「R0」を抽出する。
次に、無線基地局B200は、抽出したルール番号2204の「R0」がノード状態遷移規則テーブル210(図5B)の遷移前ルール番号2102に含まれるレコードを、ノード状態遷移規則テーブル210から選択する。次に、選択したレコードの中から、受信したセンサデータに含まれるノード番号の「A」とノード状態遷移規則テーブル210のノード番号2103とが一致するレコードを選択する。更に、選択したレコードの中から、自身の識別子の「基地局B」とノード所在位置2105とが一致するレコードを選択する。
ここでは、無線基地局B200は、レコード2115を、ノード状態遷移規則テーブル210から選択する。
次に、選択したレコード2115から、ルール番号2101の「R2」を抽出する。
次に、ノード状態履歴テーブル220(図6B)に新たなレコード2237を作成する。次に、抽出したルール番号2101の「R2」を、新たなレコード2237のルール番号2204に格納する。
次に、抽出したレコード2235のグループ番号2201の「G1」を、新たなレコード2237のグループ番号2201に格納する。次に、抽出したレコード2235のノード番号2202の「A」を、新たなレコード2237のノード番号2202に格納する。
次に、センサノードA100からセンサデータを受信した時刻T21を、新たなレコード2237の計測時刻2203に格納する。
無線基地局B200は、このようにして、ノード状態履歴テーブル220のレコード2237を追加する。
同様に、無線基地局B200は、センサノードB100に関する情報を、ノード状態履歴テーブル220に追加する。つまり、ノード状態履歴テーブル220のレコード2238を追加する。
次に、グループ定義テーブル230(図7D)の更新について説明する。
まず、無線基地局B200は、受信したセンサデータに基づいて、センサノードA100に関するレコード2321を更新する。具体的には、センサデータを受信した時刻T21を、更新するレコード2321の計測時刻2303に格納する。
同様に、センサノードB100に関するレコード2322を更新する。具体的には、センサデータを受信した時刻T22を、更新するレコード2322の計測時刻2303に格納する。
これによって、無線基地局B200は、図7Dに示すグループ定義テーブル230を、図7Eに示すグループ定義テーブル230に変更する。
無線基地局B200は、このようにして、ノード状態履歴テーブル220及びグループ定義テーブル230を更新する。そして、無線基地局B200は、差分情報受領通知を業務サーバ300から受信すると、更新したノード状態履歴テーブル220及びグループ定義テーブル230をコミット処理する。
一方、無線基地局A200は、応答要求を送信するが、いずれのセンサノード100からもセンサデータを受信しない。これによって、無線基地局A200は、自身の通信範囲にセンサノード100が存在しないと判断する。
次に、無線基地局A200は、無線基地局B200と同様に、計測値差分情報抽出処理(630)及び状態更新処理(634)を行う。なお、無線基地局A200は、自身の通信範囲にセンサノード100が存在しないので、業務サーバ300に差分情報を送信しない。
以上のように、センサネットシステムは、第三回目のノード計測処理を行う(625)。
センサネットシステムは、一定の時間の経過後に、第四回目のノード計測処理を行う(636)。
このとき、センサノードB100は、無線基地局B200の通信範囲の外に移動する。そのため、グループG1は、センサノードA100のみとなる。
まず、無線基地局200は、自身の通信範囲内に応答要求を送信する(637)。すると、無線基地局200の通信範囲内に存在するセンサノード100は、応答要求を受信する。
ここでは、センサノードA100が、無線基地局B200から応答要求を受信する。
すると、センサノードA100は、時刻T31において、自身のノード番号を含むセンサデータを無線基地局B200に送信する(639)。
無線基地局B200は、センサデータをセンサノードA100から受信する。
次に、無線基地局B200は、受信したセンサデータとノード状態履歴テーブル220とを比較することによって、計測値差分情報抽出処理を行う(641)。この処理で抽出する差分は、グループに属するセンサノード100の存在に関する差分である。
具体的には、無線基地局B200は、グループ定義テーブル230(図7E)から、ノード番号2302の「A」及び「B」を抽出する。次に、抽出したノード番号2302と受信したセンサデータに含まれるノード番号とを比較することによって、差分の「B:NoExist」を求める。つまり、無線基地局B200は、センサノードB100がグループG1から欠落したことを把握する。
そして、無線基地局B200は、時刻T33において、求めた差分の「B:NoExist」を含む差分情報を、業務サーバ300に送信する(642)。なお、差分情報は、グループ番号の「G1」、無線基地局B200の識別子の「基地局B」及び計測時刻の「T31」を含む。
業務サーバ300は、差分情報を無線基地局B200から受信する。次に、受信した差分情報に基づいて、グループ状態履歴テーブル320及びグループ定義テーブル330を更新する(643)。
具体的には、受信した差分情報に含まれるグループ番号の「G1」とグループ状態履歴テーブル320のグループ番号3201とが一致するレコードを、グループ状態履歴テーブル320から選択する。次に、選択したレコードの中から、受信時刻3202が直近のレコード3214を選択する。次に、選択したレコード3214から、ルール番号3204の「R2」を抽出する。
次に、抽出したルール番号3204の「R2」がグループ状態遷移規則テーブル310の遷移前ルール番号3102に含まれるレコードを、グループ状態遷移規則テーブルから選択する。
次に、選択したレコードの中から、受信した差分情報に含まれるグループ番号の「G1」とグループ状態遷移規則テーブル310のグループ番号3103とが一致するレコードを選択する。更に、選択したレコードの中から、受信した差分情報に含まれる無線基地局B200の識別子とグループ状態遷移規則テーブル310のグループ所在位置3105とが一致するレコードを選択する。
ここでは、業務サーバ300は、レコード3113を、グループ状態遷移規則テーブル310から選択する。
次に、選択したレコード3113から、ルール番号3101の「R2」を抽出する。
次に、グループ状態履歴テーブル320に新たなレコード3215を作成する。次に、抽出したルール番号3101の「R2」を、新たなレコード3215のルール番号3204に格納する。
次に、受信した差分情報に含まれるグループ番号の「G1」を、新たなレコード3215のグループ番号3201に格納する。次に、差分情報を受信した時刻の「T33」を、新たなレコード3215の受信時刻3202に格納する。次に、受信した差分情報に含まれる無線基地局B200の識別子を、新たなレコード3215のグループ所在位置3203に格納する。
次に、業務サーバ300は、グループ定義テーブル330(図4D)を更新する。
具体的には、差分情報に含まれる差分が「B:NoExist」であるので、センサノードB100をグループG1から削除する。つまり、差分情報に含まれる差分の「B」とグループ定義テーブル330のノード番号3302とが一致するレコードを、グループ定義テーブル330から削除する。次に、受信した差分情報に含まれる計測時刻の「T31」を、グループ定義テーブル330の計測時刻3303に格納する。
これによって、業務サーバ300は、図4Dに示すグループ定義テーブル330を、図4Eに示すグループ定義テーブル330に変更する。
業務サーバ300は、グループ状態履歴テーブル320及びグループ定義テーブル330を更新すると、差分情報受領通知を無線基地局B200に送信する。
一方、無線基地局B200は、差分情報を業務サーバに送信すると、状態更新処理を行う(645)。つまり、無線基地局B200は、ノード状態履歴テーブル220及びグループ定義テーブル230を更新する。
まず、ノード状態履歴テーブル220(図6B)の更新について説明する。
無線基地局B200は、ノード状態履歴テーブル220から、レコード2237及びレコード2238を抽出する。
次に、無線基地局B200は、センサノードA100に関する情報を、ノード状態履歴テーブル220に追加する。そのため、抽出したレコード2237から、ルール番号2204の「R2」を抽出する。
次に、無線基地局B200は、抽出したルール番号2204の「R2」がノード状態遷移規則テーブル210(図5B)の遷移前ルール番号2102に含まれるレコードを、ノード状態遷移規則テーブル210から選択する。次に、選択したレコードの中から、受信したセンサデータに含まれるノード番号の「A」とノード状態遷移規則テーブル210のノード番号2103とが一致するレコードを選択する。更に、選択したレコードの中から、自身の識別子の「基地局B」とノード所在位置2105とが一致するレコードを選択する。
ここでは、無線基地局B200は、レコード2115を、ノード状態遷移規則テーブル210から選択する。
次に、選択したレコード2115から、ルール番号2101の「R2」を抽出する。
次に、ノード状態履歴テーブル220(図6B)に新たなレコード2239を作成する。次に、抽出したルール番号2101の「R2」を、新たなレコード2239のルール番号2204に格納する。
次に、抽出したレコード2237のグループ番号2201の「G1」を、新たなレコード2239のグループ番号2201に格納する。次に、抽出したレコード2237のノード番号2202の「A」を、新たなレコード2239のノード番号2202に格納する。
次に、センサノードA100からセンサデータを受信した時刻T31を、新たなレコード2239の計測時刻2203に格納する。
無線基地局B200は、このようにして、ノード状態履歴テーブル220のレコード2239を追加する。
次に、無線基地局B200は、センサノードB100に関する情報を、ノード状態履歴テーブル220に追加する。そのため、抽出したレコード2238から、ルール番号2204の「R2」を抽出する。
次に、無線基地局B200は、抽出したルール番号2204の「R2」がノード状態遷移規則テーブル210(図5B)の遷移前ルール番号2102に含まれるレコードを、ノード状態遷移規則テーブル210から選択する。次に、選択したレコードの中から、存在情報2104が「不在」のレコードを選択する。
ここでは、無線基地局B200は、レコード2116を、ノード状態遷移規則テーブル210から選択する。
次に、選択したレコード2116から、ルール番号2101の「R3」を抽出する。
次に、ノード状態履歴テーブル220(図6B)に新たなレコード2240を作成する。次に、抽出したルール番号2101の「R3」を、新たなレコード2240のルール番号2204に格納する。
次に、抽出したレコード2238のグループ番号2201の「G1」を、新たなレコード2240のグループ番号2201に格納する。次に、抽出したレコード2238のノード番号2202の「B」を、新たなレコード2240のノード番号2202に格納する。
次に、センサノードA100からセンサデータを受信した時刻T31を、新たなレコード2240の計測時刻2203に格納する。
無線基地局B200は、このようにして、ノード状態履歴テーブル220のレコード2240を追加する。
次に、グループ定義テーブル230(図7E)の更新について説明する。
まず、無線基地局B200は、受信したセンサデータに基づいて、センサノードA100に関するレコード2323を更新する。具体的には、センサデータを受信した時刻T31を、更新するレコード2323の計測時刻2303に格納する。
次に、センサノードB100に関するレコード2324を更新する。具体的には、センサノードB100からセンサデータを受信しなかったので、レコード2324をグループ定義テーブル230から削除する。
これによって、無線基地局B200は、図7Eに示すグループ定義テーブル230を、図7Fに示すグループ定義テーブル230に変更する。
無線基地局B200は、このようにして、ノード状態履歴テーブル220及びグループ定義テーブル230を更新する。そして、無線基地局B200は、差分情報受領通知を業務サーバ300から受信すると、更新したノード状態履歴テーブル220及びグループ定義テーブル230をコミット処理する。
一方、無線基地局A200は、応答要求を送信するが、いずれのセンサノード100からもセンサデータを受信しない。これによって、無線基地局A200は、自身の通信範囲にセンサノード100が存在しないと判断する。
次に、無線基地局A200は、無線基地局B200と同様に、計測値差分情報抽出処理(640)及び状態更新処理(644)を行う。なお、無線基地局A200は、自身の通信範囲にセンサノード100が存在しないので、業務サーバ300に差分情報を送信しない。
以上のように、センサネットシステムは、第四回目のノード計測処理を行う(636)。
本実施の形態では、業務サーバ300及び無線基地局200は、複数のセンサノード100をグループとして管理する。そして、無線基地局200は、センサノード100に関する情報をグループ単位で業務サーバ300へ送信する。このとき、無線基地局200は、業務サーバ300へ送信する情報を集約化するので、業務サーバ300へ送信する情報量を削減できる。
本実施の形態では、業務サーバ300及び無線基地局200は、グループに含まれるセンサノード100に関する情報を保持している。無線基地局200は、この情報及びセンサノード100から受信したセンサデータに基づいて、センサノードの存在に関する差分情報を求める。そして、無線基地局200は、求めた差分情報のみを業務サーバ300に送信する。
つまり、無線基地局200は、グループに関する情報の差分情報のみを業務サーバ300に送信するので、業務サーバ300へ送信する情報量を更に削減できる。
なお、本実施の形態のセンサネットシステムは、ノード計測処理において、検討すべき点がある。
図9は、本発明の第1の実施の形態のセンサネットシステムの検討すべき点の説明図である。
これは、応答要求の送信タイミングが無線基地局200ごとに異なることによって生じる。
センサネットシステムは、ノード計測処理を行う(701)。
ノード計測処理の当初では、センサノードA100及びセンサノードB100を含むグループG1は、無線基地局A200の通信範囲に存在する。
まず、無線基地局A200は、時刻T41において、自身の通信範囲内に応答要求を送信する(702)。すると、センサノードA100及びセンサノードB100が、無線基地局A200から応答要求を受信する。
次に、センサノードA100は、時刻T42において、自身のノード番号を含むセンサデータを無線基地局A200に送信する(703)。同様に、センサノードB100は、時刻T43において、自身のノード番号を含むセンサデータを無線基地局A200に送信する(704)。
無線基地局A200は、センサデータをセンサノードA100及びセンサノードB100から受信する。
次に、無線基地局A200は、受信したセンサデータとノード状態履歴テーブル220とを比較することによって、計測値差分情報抽出処理を行う(705)。この処理で抽出する差分は、グループに属するセンサノード100の存在に関する差分である。そして、無線基地局A200は、計測値差分情報抽出処理によって、差分の「0」を求める。
次に、無線基地局A200は、時刻T44において、求めた差分の「0」を含む差分情報を、業務サーバ300に送信する(706)。なお、差分情報は、グループ番号の「G1」、無線基地局200の識別子の「基地局A」及び計測時刻の「T43」を含む。
そして、無線基地局A200は、ノード状態履歴テーブル220及びグループ定義テーブル230を更新することによって、状態更新処理を行う(708)。
業務サーバ300は、差分情報を無線基地局A200から受信する。次に、受信した差分情報に基づいて、グループ状態履歴テーブル320及びグループ定義テーブル330を更新する(707)。
一方、センサノードA100及びセンサノードB100を含むグループG1が、時刻T41から時刻T45の間に、無線基地局A200の通信範囲から、無線基地局B200の通信範囲に移動する。なお、時刻T41と時刻T45との間は、非常に短い時間であり、一回のノード計測処理に要する時間内である。
そして、無線基地局B200は、時刻T45において、自身の通信範囲内に応答要求を送信する(709)。
すると、センサノードA100及びセンサノードB100が、無線基地局B200から応答要求を受信する。次に、センサノードA100は、時刻T46において、自身のノード番号を含むセンサデータを無線基地局B200に送信する(710)。同様に、センサノードB100は、時刻T47において、自身のノード番号を含むセンサデータを無線基地局B200に送信する(711)。
無線基地局B200は、センサデータをセンサノードA100及びセンサノードB100から受信する。
次に、無線基地局B200は、受信したセンサデータとノード状態履歴テーブル220とを比較することによって、計測値差分情報抽出処理を行う(712)。この処理で抽出する差分は、グループに属するセンサノード100の存在に関する差分である。そして、無線基地局B200は、計測値差分情報抽出処理によって、差分の「0」を求める。
次に、無線基地局B200は、時刻T44において、求めた差分の「0」を含む差分情報を、業務サーバ300に送信する(713)。なお、差分情報は、グループ番号の「G1」、無線基地局200の識別子の「基地局B」及び計測時刻の「T47」を含む。
そして、無線基地局B200は、ノード状態履歴テーブル220及びグループ定義テーブル230を更新することによって、状態更新処理を行う(715)。
業務サーバ300は、差分情報を無線基地局B200から受信する。次に、受信した差分情報に基づいて、グループ状態履歴テーブル320及びグループ定義テーブル330を更新する(714)。
すると、業務サーバ300は、グループG1が無線基地局A200の通信範囲及び無線基地局B200の通信範囲の両方に存在したと判断してしまう。この結果、業務サーバ300がグループG1の位置を判定できない。
この衝突状態を解消する方法を説明する。
図10は、本発明の第1の実施の形態のセンサネットシステムの衝突検出時の処理のシーケンス図である。
センサネットシステムは、ノード計測処理を行う(701)。
なお、本説明図のステップ702からステップ715は、図9で説明したステップと同一である。よって説明を省略する。
業務サーバ300は、一回のノード計測処理中に、複数の無線基地局200から差分情報を受信すると、衝突と判定する(716)。
すると、業務サーバ300は、差分情報を送信した無線基地局200に対して、グループ再読出し要求を送信する。ここでは、業務サーバ300は、無線基地局A200及び無線基地局B200に対して、グループ再読出し要求を送信する。なお、グループ再読出し要求は、グループ番号の「G1」を含む。
無線基地局A200及び無線基地局B200は、業務サーバ300からグループ再読出し要求を受信する。すると、無線基地局A200は、時刻T51において、自身の通信範囲内に応答要求を送信する(722)。同様に、無線基地局B200は、時刻T52において、自身の通信範囲内に応答要求を送信する(723)。
すると、センサノードA100及びセンサノードB100が、無線基地局B200から応答要求を受信する。次に、センサノードA100は、時刻T53において、自身のノード番号を含むセンサデータを無線基地局B200に送信する(728)。同様に、センサノードB100は、時刻T54において、自身のノード番号を含むセンサデータを無線基地局B200に送信する(729)。
無線基地局B200は、センサデータをセンサノードA100及びセンサノードB100から受信する。
次に、無線基地局B200は、受信したセンサデータとノード状態履歴テーブル220とを比較することによって、計測値差分情報抽出処理を行う(730)。この処理で抽出する差分は、グループに属するセンサノード100の存在に関する差分である。そして、無線基地局B200は、計測値差分情報抽出処理によって、差分の「0」を求める。
次に、無線基地局B200は、時刻T55において、求めた差分の「0」を含む差分情報を、業務サーバ300に送信する(731)。なお、差分情報は、グループ番号の「G1」、無線基地局200の識別子の「基地局B」及び計測時刻の「T54」を含む。
そして、無線基地局B200は、ノード状態履歴テーブル220及びグループ定義テーブル230を更新することによって、状態更新処理を行う(733)。
一方、無線基地局A200は、応答要求を送信するが、いずれのセンサノード100からもセンサデータを受信しない。これによって、無線基地局A200は、自身の通信範囲にセンサノード100が存在しないと判断する。
次に、無線基地局A200は、無線基地局B200と同様に、計測値差分情報抽出処理(723)及び状態更新処理(724)を行う。なお、無線基地局A200は、自身の通信範囲にセンサノード100が存在しないので、業務サーバ300に差分情報を送信しない。
業務サーバ300は、差分情報を無線基地局B200のみから受信する。これによって、業務サーバ300は、グループG1が無線基地局Bの通信範囲に存在すると判断する。そして、受信した差分情報に基づいて、グループ状態履歴テーブル320及びグループ定義テーブル330を更新する(732)。
以上のように、複数の無線基地局200がセンサノード100を検知した場合、当該無線基地局200がセンサノード100を再読出しする。これによって、業務サーバ300は、センサノード100の位置を判定できる。
次に、衝突状態を解決する他の方法を説明する。
図11は、本発明の第1の実施の形態のセンサネットシステムの衝突検出時の処理のシーケンス図である。
本説明図において、センサノード100は、受信した応答要求の送信元の識別子を記憶する。そして、応答要求を受信すると、前回の応答要求の送信元である無線基地局200(先行読出し基地局)の識別子をセンサデータに含めて送信する。
まず、無線基地局A200は、時刻T61において、自身の通信範囲内に応答要求を送信する(802)。すると、センサノードA100及びセンサノードB100が、無線基地局A200から応答要求を受信する。
次に、センサノードA100は、受信した応答要求の送信元である無線基地局A200の識別子を記憶する。そして、時刻T62において、自身のノード番号を含むセンサデータを無線基地局A200に送信する(803)。なお、当該センサデータは、先行読出し基地局の識別子を含まない。
同様に、センサノードB100は、受信した応答要求の送信元である無線基地局A200の識別子を記憶する。そして、時刻T63において、自身のノード番号を含むセンサデータを無線基地局A200に送信する(804)。なお、当該センサデータは、先行読出し基地局の識別子を含まない。
無線基地局A200は、センサデータをセンサノードA100及びセンサノードB100から受信する。
次に、無線基地局A200は、受信したセンサデータとノード状態履歴テーブル220とを比較することによって、計測値差分情報抽出処理を行う(805)。この処理で抽出する差分は、グループに属するセンサノード100の存在に関する差分である。そして、無線基地局A200は、計測値差分情報抽出処理によって、差分の「0」を求める。
次に、無線基地局A200は、時刻T64において、求めた差分の「0」を含む差分情報を、業務サーバ300に送信する(806)。なお、当該差分情報は、グループ番号の「G1」、無線基地局A200の識別子の「基地局A」及び計測時刻の「T63」を含む。また、当該差分情報は、先行読出し基地局がない旨を含む。
業務サーバ300は、差分情報を無線基地局A200から受信する。次に、受信した差分情報に基づいて、グループ状態履歴テーブル320及びグループ定義テーブル330を更新する(807)。
一方、センサノードA100及びセンサノードB100を含むグループG1が、時刻T61から時刻T65の間に、無線基地局A200の通信範囲から、無線基地局B200の通信範囲に移動する。なお、時刻T61と時刻T65との間は、非常に短い時間であり、一回のノード計測処理に要する時間内である。
そして、無線基地局B200は、時刻T65において、自身の通信範囲内に応答要求を送信する(808)。
すると、センサノードA100及びセンサノードB100が、無線基地局B200から応答要求を受信する。
次に、センサノードA100は、時刻T66において、自身のノード番号を含むセンサデータを無線基地局B200に送信する(809)。このとき、センサノードA100は、記憶している先行読出し基地局の識別子の「基地局A」をセンサデータに含める。そして、センサノードA100は、受信した応答要求の送信元である無線基地局B200の識別子を記憶する。
同様に、センサノードB100は、時刻T67において、自身のノード番号を含むセンサデータを無線基地局B200に送信する(810)。このとき、センサノードB100は、記憶している先行読出し基地局の識別子の「基地局A」をセンサデータに含める。そして、センサノードB100は、受信した応答要求の送信元である無線基地局B200の識別子を記憶する。
無線基地局B200は、センサデータをセンサノードA100及びセンサノードB100から受信する。
次に、無線基地局B200は、受信したセンサデータとノード状態履歴テーブル220とを比較することによって、計測値差分情報抽出処理を行う(811)。この処理で抽出する差分は、グループに属するセンサノード100の存在に関する差分である。そして、無線基地局B200は、計測値差分情報抽出処理によって、差分の「0」を求める。
次に、無線基地局B200は、時刻T68において、求めた差分の「0」を含む差分情報を、業務サーバ300に送信する(812)。なお、当該差分情報は、グループ番号の「G1」、無線基地局200の識別子の「基地局B」及び計測時刻の「T67」を含む。また、当該差分情報は、先行読出し基地局の識別子の「基地局A」も含む。
業務サーバ300は、差分情報を無線基地局B200から受信する。次に、受信した差分情報に基づいて、グループ状態履歴テーブル320及びグループ定義テーブル330を更新する(813)。
業務サーバ300は、一回のノード計測処理中に、複数の無線基地局200から差分情報を受信すると、衝突と判定する(814)。
そこで、無線基地局B200から受信した差分情報から、先行読出し基地局の識別子の「基地局A」を抽出する。次に、抽出した先行読出し基地局の識別子の「基地局A」に基づいて、グループG1の位置を判定する。つまり、グループG1が無線基地局A200の通信範囲から、無線基地局B200の通信範囲に移動したと判断する。
次に、判定したグループG1の位置を含む衝突通知を無線基地局200に送信する。
具体的には、業務サーバ300は、グループG1が無線基地局A200の通信範囲に存在しない旨を含む衝突通知を無線基地局A200に送信する(815)。
すると、無線基地局A200は、業務サーバ300から衝突通知を受信する。そして、受信した衝突通知に基づいてノード状態履歴テーブル220及びグループ定義テーブル230を更新することによって、状態更新処理を行う(816)。
また、業務サーバ300は、グループG1が無線基地局B200の通信範囲に存在する旨を含む衝突通知を無線基地局B200に送信する(817)。
すると、無線基地局B200は、業務サーバ300から衝突通知を受信する。そして、受信した衝突通知に基づいてノード状態履歴テーブル220及びグループ定義テーブル230を更新することによって、状態更新処理を行う(818)。
以上のように、複数の無線基地局200がセンサノード100を検知した場合であっても、業務サーバ300は、センサノード100の位置を判定できる。
(第2の実施の形態)
本発明の第2の実施の形態では、センサノード100が、周囲の温度をセンサで計測する。そして、センサノード100は、計測した温度を含むセンサデータを、無線基地局200に送信する。なお、センサノード100は、温度でない他の物理量を計測してもよい。
第2の実施の形態のセンサネットシステムの構成は、第1の実施の形態のセンサネットシステム(図1)と同一の構成であるので、説明を省略する。
図12Aは、本発明の第2の実施の形態の時刻T0における業務サーバ300のグループ定義テーブル330の構成図である。図12Bは、本発明の第2の実施の形態の時刻T3における業務サーバ300のグループ定義テーブル330の構成図である。図12Cは、本発明の第2の実施の形態の時刻T13における業務サーバ300のグループ定義テーブル330の構成図である。図12Dは、本発明の第2の実施の形態の時刻T23における業務サーバ300のグループ定義テーブル330の構成図である。図12Eは、本発明の第2の実施の形態の時刻T33における業務サーバ300のグループ定義テーブル330の構成図である。
グループ定義テーブル330は、グループ番号3301、ノード番号3302、計測時刻3303及び計測温度3304を含む。
グループ番号3301、ノード番号3302及び計測時刻3303は、第1の実施の形態のグループ定義テーブル(図4A〜E)の構成と同一であるので、説明を省略する。
計測温度3304は、当該センサノード100が計測した温度である。
図13Aは、本発明の第2の実施の形態の無線基地局A200のノード状態履歴テーブル220の構成図である。図13Bは、本発明の第2の実施の形態の無線基地局B200のノード状態履歴テーブル220の構成図である。
ノード状態履歴テーブル220は、グループ番号2201、ノード番号2202、計測時刻2203、ルール番号2204及び計測温度2205を含む。
グループ番号2201、ノード番号2202、計測時刻2203及びルール番号2204は、第1の実施の形態のノード状態履歴テーブル(図6A及び図6B)の構成と同一であるので、説明を省略する。
計測温度2205は、当該センサノード100が計測した温度である。
図14は、本発明の第2の実施の形態のセンサネットシステムの処理のシーケンス図である。
ここでは、第1の実施の形態のセンサネットシステムの処理(図8)と異なる点についてのみ説明する。なお、同一の処理については、同一の番号を付し、説明を省略する。
センサネットシステムは、ステップ601からステップ604まで、第1の実施の形態と同一の処理を行う。
センサノードA100及びセンサノードB100は、ステップ604で応答要求を受信すると、自身のセンサを用いて温度を計測する。次に、センサノードA100は、計測した温度の「6℃」を含むセンサデータを無線基地局A200に送信する(605)。同様に、センサノードB100は、計測した温度の「4℃」を含むセンサデータを無線基地局A200に送信する(606)。
無線基地局A200は、センサデータをセンサノードA100及びセンサノードB100から受信する。
次に、無線基地局A200は、受信したセンサデータとノード状態履歴テーブル220とを比較することによって、計測値差分情報抽出処理を行う(608)。この処理で抽出する差分は、センサノード100が計測した温度の差分である。
具体的には、無線基地局A200は、ノード状態履歴テーブル220(図13A)から、レコード2251及びレコード2252を選択する。
次に、選択したレコード2251及びレコード2252から、計測温度2205を抽出する。すると、計測温度2205には値が格納されていない。
そこで、無線基地局A200は、受信したセンサデータに含まれる温度の「A:6℃、B:4℃」を含む差分情報を、業務サーバ300に送信する(610)。なお、差分情報は、グループ番号の「G1」、無線基地局200の識別子の「基地局A」及び計測時刻の「T2」を含む。
業務サーバ300は、差分情報を無線基地局A200から受信する。次に、受信した差分情報に基づいて、グループ状態履歴テーブル320及びグループ定義テーブル330を更新する(611)。このとき、業務サーバ300は、受信した差分情報に含まれる温度を、グループ定義テーブル330の計測温度3304に格納する。
これによって、業務サーバ300は、図12Aに示すグループ定義テーブル330を、図12Bに示すグループ定義テーブル330に変更する。
一方、無線基地局A200は、差分情報を業務サーバ300に送信すると、状態更新処理を行う(612)。つまり、無線基地局A200は、ノード状態履歴テーブル220及びグループ定義テーブル230を更新する。このとき、無線基地局A200は、センサノードA100から受信したセンサデータに含まれる温度の「6℃」を、ノード状態履歴テーブル220の計測温度2205に格納する。同様に、センサノードB100から受信したセンサデータに含まれる温度の「4℃」を、ノード状態履歴テーブル220の計測温度2205に格納する。
以上のように、センサネットシステムは、第一回目のノード計測処理を行う(603)。
センサネットシステムは、一定の時間の経過後に、第二回目のノード計測処理を行う(614)。
まず、無線基地局200は、自身の通信範囲に応答要求を送信する(615)。
センサノードA100及びセンサノードB100は、無線基地局A200から応答要求を受信する。すると、センサノードA100及びセンサノードB100は、自身のセンサを用いて温度を計測する。次に、センサノードA100は、計測した温度の「11℃」を含むセンサデータを無線基地局A200に送信する(616)。同様に、センサノードB100は、計測した温度の「4℃」を含むセンサデータを無線基地局A200に送信する(617)。
無線基地局A200は、センサデータをセンサノードA100及びセンサノードB100から受信する。
次に、無線基地局A200は、受信したセンサデータとノード状態履歴テーブル220とを比較することによって、計測値差分情報抽出処理を行う(619)。この処理で抽出する差分は、センサノード100が前回計測した温度と今回計測した温度との差分である。
具体的には、無線基地局A200は、ノード状態履歴テーブル220(図13A)から、レコード2253及びレコード2254を選択する。
次に、選択したレコード2253から、計測温度2205の「6℃」を抽出する。次に、センサノードA100から受信したセンサデータに含まれる計測温度の「11℃」から、計測温度2205の「6℃」を減算して、センサノードA100に関する差分の「+5℃」を求める。
同様に、選択したレコード2254から、計測温度2205の「4℃」を抽出する。次に、センサノードB100から受信したセンサデータに含まれる計測温度の「4℃」から、計測温度2205の「4℃」を減算して、センサノードB100に関する差分の「0」を求める。なお、無線基地局A200は、求めた差分が「0」の場合、当該差分を業務サーバ300に送信しない。
そこで、無線基地局A200は、求めた差分の「A:+5℃」を含む差分情報を、業務サーバ300に送信する(621)。なお、差分情報は、グループ番号の「G1」、無線基地局200の識別子の「基地局A」及び計測時刻の「T12」を含む。
業務サーバ300は、差分情報を無線基地局A200から受信する。次に、受信した差分情報に基づいて、グループ状態履歴テーブル320及びグループ定義テーブル330を更新する(622)。このとき、業務サーバ300は、受信した差分情報に含まれる差分の「+5℃」を、グループ定義テーブル330の計測温度3304に加算する。
これによって、業務サーバ300は、図12Bに示すグループ定義テーブル330を、図12Cに示すグループ定義テーブル330に変更する。
一方、無線基地局A200は、差分情報を業務サーバ300に送信すると、状態更新処理を行う(623)。つまり、無線基地局A200は、ノード状態履歴テーブル220及びグループ定義テーブル230を更新する。このとき、無線基地局A200は、センサノードA100から受信したセンサデータに含まれる温度の「11℃」を、計測温度2205に格納する。同様に、センサノードB100から受信したセンサデータに含まれる温度の「4℃」を、計測温度2205に格納する。
以上のように、センサネットシステムは、第二回目のノード計測処理を行う(614)。
第二回目のノード計測処理において、無線基地局A200は、センサノードB100に関する情報を省略した差分情報を、業務サーバ300に送信する。よって、無線基地局A200は、業務サーバー300へ送信するデータ量を削減できる。
また、無線基地局200は、センサノード100の計測値の差分のみをグループ単位で業務サーバに送信する。これによって、無線基地局A200は、業務サーバー300へ送信するデータ量を更に削減できる。
センサネットシステムは、一定の時間の経過後に、第三回目のノード計測処理を行う(625)。
まず、無線基地局200は、自身の通信範囲に応答要求を送信する(626)。
センサノードA100及びセンサノードB100は、無線基地局B200から応答要求を受信する。すると、センサノードA100及びセンサノードB100は、自身のセンサを用いて温度を計測する。次に、センサノードA100は、計測した温度の「12℃」を含むセンサデータを無線基地局B200に送信する(628)。同様に、センサノードB100は、計測した温度の「4℃」を含むセンサデータを無線基地局B200に送信する(629)。
無線基地局B200は、センサデータをセンサノードA100及びセンサノードB100から受信する。
次に、無線基地局B200は、受信したセンサデータとノード状態履歴テーブル220とを比較することによって、計測値差分情報抽出処理を行う(631)。この処理で抽出する差分は、センサノード100が計測した温度の差分である。
具体的には、無線基地局B200は、ノード状態履歴テーブル220(図13B)から、レコード2265及びレコード2266を選択する。
次に、選択したレコード2265及びレコード2266から、計測温度2205を抽出する。すると、計測温度2205には値が格納されていない。
そこで、無線基地局B200は、受信したセンサデータに含まれる温度の「A:12℃、B:4℃」を含む差分情報を、業務サーバ300に送信する(632)。なお、差分情報は、グループ番号の「G1」、無線基地局B200の識別子の「基地局B」及び計測時刻の「T22」を含む。
業務サーバ300は、差分情報を無線基地局B200から受信する。次に、受信した差分情報に基づいて、グループ状態履歴テーブル320及びグループ定義テーブル330を更新する(633)。このとき、業務サーバ300は、受信した差分情報に含まれる温度を、グループ定義テーブル330の計測温度3304に格納する。
これによって、業務サーバ300は、図12Cに示すグループ定義テーブル330を、図12Dに示すグループ定義テーブル330に変更する。
一方、無線基地局B200は、差分情報を業務サーバ300に送信すると、状態更新処理を行う(635)。つまり、無線基地局B200は、ノード状態履歴テーブル220及びグループ定義テーブル230を更新する。このとき、無線基地局B200は、センサノードA100から受信したセンサデータに含まれる温度の「12℃」を、ノード状態履歴テーブル220の計測温度2205に格納する。同様に、センサノードB100から受信したセンサデータに含まれる温度の「4℃」を、ノード状態履歴テーブル220の計測温度2205に格納する。
以上のように、センサネットシステムは、第三回目のノード計測処理を行う(625)。
センサネットシステムは、一定の時間の経過後に、第四回目のノード計測処理を行う(636)。
まず、無線基地局200は、自身の通信範囲に応答要求を送信する(637)。
センサノードA100は、無線基地局B200から応答要求を受信する。すると、センサノードA100は、自身のセンサを用いて温度を計測する。次に、センサノードA100は、計測した温度の「12℃」を含むセンサデータを無線基地局B200に送信する(639)。
無線基地局B200は、センサデータをセンサノードA100から受信する。
次に、無線基地局B200は、受信したセンサデータとノード状態履歴テーブル220とを比較することによって、計測値差分情報抽出処理を行う(631)。この処理で抽出する差分は、センサノード100が計測した温度の差分及びグループに属するセンサノード100の存在に関する差分を含む。
具体的には、無線基地局B200は、ノード状態履歴テーブル220(図13B)から、レコード2267及びレコード2268を選択する。
次に、選択したレコード2267から、計測温度2205の「12℃」を抽出する。次に、センサノードA100から受信したセンサデータに含まれる計測温度の「12℃」から、計測温度2205の「12℃」を減算して、センサノードA100に関する差分の「0℃」を求める。なお、無線基地局B200は、求めた差分が「0」の場合、当該差分を業務サーバ300に送信しない。
次に、選択したレコード2267及びレコード2268から、ノード番号2202の「A」及び「B」を抽出する。次に、抽出したノード番号2202と受信したセンサデータに含まれるノード番号とを比較することによって、センサノード100の存在に関する差分の「B:NoExist」を求める。つまり、無線基地局B200は、センサノードB100がグループG1から欠落したことを把握する。
そして、無線基地局B200は、時刻T33において、求めた差分の「B:NoExist」を含む差分情報を、業務サーバ300に送信する(642)。なお、差分情報は、グループ番号の「G1」、無線基地局200の識別子の「基地局B」及び計測時刻の「T31」を含む。
業務サーバ300は、差分情報を無線基地局B200から受信する。次に、受信した差分情報に基づいて、グループ状態履歴テーブル320及びグループ定義テーブル330を更新する(643)。
これによって、業務サーバ300は、図12Dに示すグループ定義テーブル330を、図12Eに示すグループ定義テーブル330に変更する。
一方、無線基地局B200は、差分情報を業務サーバ300に送信すると、状態更新処理を行う(645)。つまり、無線基地局B200は、ノード状態履歴テーブル220及びグループ定義テーブル230を更新する。このとき、無線基地局B200は、センサノードA100から受信したセンサデータに含まれる温度の「12℃」を、ノード状態履歴テーブル220の計測温度2205に格納する。
以上のように、センサネットシステムは、第四回目のノード計測処理を行う(636)。
第四回目のノード計測処理において、無線基地局B200は、センサノードA100に関する情報を省略した差分情報を、業務サーバ300に送信する。よって、無線基地局B200は、業務サーバー300へ送信するデータ量を削減できる。