(57)【特許請求の範囲】
【請求項１】
ノードにおいて、前記ノード内のセンサにてセンサデータを測定して順次記録し、
前記ノードにおいて、前記測定したセンサデータの値が所定の条件を満たすことを検知したときに、他のノードから検知メッセージを受信した状態でない場合には、前記検知時刻を保持し、前記検知の通知と前記検知時刻を含む検知メッセージを、隣接するノードに順次同報して送信すると共に、所定時間の計時を開始し、
前記ノードにおいて、前記検知メッセージを受信した状態である場合には、前記検知メッセージは送信せず、
前記ノードにおいて、前記所定時間内に前記サーバからデータ取得依頼メッセージを受信した場合に、前記サーバに前記測定し記録しているセンサデータを送信し、
前記ノードにおいて、前記所定時間の終了時に前記検知メッセージを受信した状態を解除する、
ことを特徴とするセンサデータ送信方法。
【請求項２】
ノードにおいて、他のノードからの検知メッセージの受信時に、検知時刻を保持していない場合には、前記受信した検知メッセージに含まれる検知時刻を保持すると共に、前記受信した検知メッセージを前記他のノード以外の隣接するノードに同報して送信して伝搬させると共に、所定時間の計時を開始し、
前記ノードにおいて、前記検知メッセージの受信時に、前記検知時刻を保持している場合であって、前記受信した検知メッセージに含まれる検知時刻が前記保持している検知時刻よりも前のものである場合には、前記保持している検知時刻を前記受信した検知メッセージに含まれる検知時刻で置き換えて更新し、前記受信した検知メッセージを前記他のノード以外の隣接するノードに同報して送信し伝搬させ、
前記ノードにおいて、前記検知メッセージの受信時に、前記検知時刻を保持している場合であって、前記受信した検知メッセージに含まれる検知時刻が前記保持している検知時刻以降のものである場合には、前記受信した検知メッセージを破棄する、
ことを特徴とするセンサデータ送信方法。
【請求項３】
前記ノードにおいて、前記所定時間内に前記他のノードからセンサデータを受信した場合に、前記他のノードから受信したセンサデータに前記ノード内のセンサで測定し記録しているセンサデータを付加して前記他のノード以外の隣接するノードに送信して伝搬させる、
ことを特徴とする請求項１または２に記載のセンサデータ送信方法。
【請求項４】
ノード内のセンサにてセンサデータを測定して順次記録するセンサデータ記録部と、
測定したセンサデータの値が所定の条件を満たすことを検知したときに、他のノードから検知メッセージを受信した状態でない場合には、前記検知時刻を保持し、前記検知の通知と前記検知時刻を含む検知メッセージを、隣接するノードに順次同報して送信すると共に、所定時間の計時を開始する第１の検知状態開始部と、
前記ノードにおいて、前記検知メッセージを受信した状態である場合には、前記検知メッセージは送信しない検知状態時検知メッセージ送信抑制部と、
前記ノードにおいて、前記所定時間内に前記サーバからデータ取得依頼メッセージを受信した場合に、前記サーバに前記測定し記録しているセンサデータを送信する第１の検知状態時データ送信部と、
前記ノードにおいて、前記所定時間の終了時に前記検知メッセージを受信した状態を解除する検知状態終了部と、
を有することを特徴とするセンサノード。
【請求項５】
ノードにおいて、他のノードからの検知メッセージの受信時に、検知時刻を保持していない場合には、前記受信した検知メッセージに含まれる検知時刻を保持すると共に、前記受信した検知メッセージを前記他のノード以外の隣接するノードに同報して送信して伝搬させると共に、所定時間の計時を開始する第２の検知状態開始部と、
前記ノードにおいて、前記検知メッセージの受信時に、前記検知時刻を保持している場合であって、前記受信した検知メッセージに含まれる検知時刻が前記保持している検知時刻よりも前のものである場合には、前記保持している検知時刻を前記受信した検知メッセージに含まれる検知時刻で置き換えて更新し、前記受信した検知メッセージを前記他のノード以外の隣接するノードに同報して送信して伝搬させる検知状態時検知メッセージ転送部と、
前記ノードにおいて、前記検知メッセージの受信時に、前記検知時刻を保持している場合であって、前記受信した検知メッセージに含まれる検知時刻が前記保持している検知時刻以降のものである場合には、前記受信した検知メッセージを破棄する検知状態時検知メッセージ破棄部と、
ことを特徴とするセンサノード。
【請求項６】
前記ノードにおいて、前記所定時間内に前記他のノードからセンサデータを受信した場合に、前記他のノードから受信したセンサデータに前記ノード内のセンサで測定し記録しているセンサデータを付加して前記他のノード以外の隣接するノードに送信して伝搬させる第２の検知状態時データ送信部をさらに含む、
ことを特徴とする請求項４または５に記載のセンサノード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、センサネットワークにおけるセンサノードからのセンサデータ送信方法およびセンサノードに関する。
【背景技術】
【０００２】
センサネットワークとして代表的なアドホックネットワークは、「固定インフラ不要」、「動的なネットワーク」、「マルチホップ可能」、である特徴を持っていて、基幹中継（ＧＷ：Ｇａｔｅ  Ｗａｙ）と複数のノードで構成されている。ノードは例えば、無線通信機能、センサ機能、電源ユニット、および計算機を備えた小型のデバイスである。このノードは隣接するノードとお互いに通信をしながら、自律的にネットワークを構成する。
【０００３】
ネットワーク内の各ノードのセンサは常時データを測定しており、その値がある閾値を超えたとき（これを「検知」と呼ぶ）に、検知メッセージ（以下、「検知Message」と表記する。）をサーバに通知する。検知Messageには、ノードが検知したことを知らせる検知通知と、ノードが検知したときの時刻を示す検知時刻が含まれる。この検知Messageは、隣接ノードをホップしてサーバまで伝播する。検知処理は一定の周期で行いデータは記録しておく。検知Messageの通知のタイミングは、検知タイマを用いて所定の時間経過後ごとである。
【０００４】
検知Messageをサーバに通知する仕組みとして、以下のような従来技術が知られている。
まず、パケット到達率に影響を与えずに、トラヒック量を低減する従来技術が知られている。受信部は、送信元の無線装置から報知された信号であって、無線装置の位置を示すパケット信号が含まれた信号を受信する。中継処理部は、受信部によって無線装置から報知された信号を受信してから、距離検出部によって検出された距離に比例して設定された遅延時間が経過した後に、中継処理を実行する。中継処理部は、遅延時間が経過する前に、受信部によって受信したパケット信号と同一のパケット信号が受信された場合、遅延時間が経過した後の中継処理を停止するものである（例えば特許文献１）。
【０００５】
また、無線アドホックネットワークにおいてネットワークトラフィックを減少させ、メッセージを送信する待ち時間を短縮する従来技術が知られている。ネットワークの受信ノードにおいて到来するメッセージを受信し、メッセージの再送信を行うスケジュール時間を決める。その際、再送信のためのスケジュール時間は、受信ノードによってメッセージを受信した信号強度に比例するように設定する。そして、再送信のためのスケジュール時間の前に、ネットワーク内における異なったノードから同じメッセージが受信されたときに、メッセージの再送信を取り消すものである（例えば特許文献２）。
【０００６】
さらに、不要なメッセージの処理に関わるプロセッサの負荷を低減させることができるフレーム処理装置を提供する従来技術が知られている。初めて受信したメッセージを比較の基準である基準メッセージとし、以降受信して分類されたメッセージに対して、基準メッセージとの一致比較を行うメッセージ一致比較部と、一致したメッセージに対して当該メッセージが受信済みであるか否かを判定する冗長メッセージ判定部と、を有し、冗長メッセージ判定部は、基準メッセージを受信した時刻からの受信経過時間が判定基準値の範囲内にある場合には当該メッセージを廃棄し、受信経過時間が判定基準値を超過している場合には基準メッセージをクリアするものである（例えば特許文献３）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００８−４７９８４号公報
【特許文献２】特開２００７−１３９６１号公報
【特許文献３】特開２００７−４３３８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、上記従来技術の方法だけでは、検知メッセージの通知を行った場合に、ゲートウェイに接続している通信ノードへのパケットの集中を完全に回避することは難しく、データの遅延やパケットロスを生じるという問題点を有していた。
【０００９】
また、各センサノードは、測定データとして、ある閾値を超えたとき（検知時）のデータのみを収集しており、きめ細かく測定データを収集することができていないという問題点を有していた。
【００１０】
そこで、本発明の課題は、ゲートウェイに接続している通信ノードへのパケットの集中を回避することである
【課題を解決するための手段】
【００１１】
態様の一例では、ノードにおいて、ノード内のセンサにてセンサデータを測定して順次記録し、ノードにおいて、測定したセンサデータの値が所定の条件を満たすことを検知したときに、他のノードから検知メッセージを受信した状態でない場合には、検知時刻を保持し、検知の通知と検知時刻を含む検知メッセージを、隣接するノードに順次同報して送信すると共に、所定時間の計時を開始し、ノードにおいて、検知メッセージを受信した状態である場合には、検知メッセージは送信せず、ノードにおいて、所定時間内にサーバからデータ取得依頼メッセージを受信した場合に、サーバに測定し記録しているセンサデータを送信し、ノードにおいて、所定時間の終了時に検知メッセージを受信した状態を解除するように構成する。
【００１２】
態様の他の一例では、ノードにおいて、他のノードからの検知メッセージの受信時に、検知時刻を保持していない場合には、受信した検知メッセージに含まれる検知時刻を保持すると共に、受信した検知メッセージを他のノード以外の隣接するノードに同報して送信して伝搬させると共に、所定時間の計時を開始し、ノードにおいて、検知メッセージの受信時に、検知時刻を保持している場合であって、受信した検知メッセージに含まれる検知時刻が保持している検知時刻よりも前のものである場合には、保持している検知時刻を受信した検知メッセージに含まれる検知時刻で置き換えて更新し、受信した検知メッセージを他のノード以外の隣接するノードに同報して送信し伝搬させ、ノードにおいて、検知メッセージの受信時に、検知時刻を保持している場合であって、受信した検知メッセージに含まれる検知時刻が保持している検知時刻以降のものである場合には、受信した検知メッセージを破棄するように構成する。
【発明の効果】
【００１３】
ノードが検知保護期間になると、サーバからのデータ取得依頼メッセージを待つ状態になり、また、不要な検知メッセージの伝搬を破棄するようにしたため、ネットワーク内のトラフィックの軽減や、基幹中継に繋がるポートでのトラフィック集中（輻輳）の回避が可能となる。
【図面の簡単な説明】
【００１４】
【図１】アドホックネットワークの構成例を示す図である。
【図２】ノードのハードウェア構成例を示す図である。
【図３】一般的な手法により検知した時のノードにおける処理の流れを示すフローチャートを示す図である。
【図４】一般的な手法による検知時のシーケンスを示す図である。
【図５】アドホックネットワークの課題の説明を示す図である。
【図６】実施形態におけるノードの機能ブロック図である。
【図７】本実施形態におけるノードの状態遷移を示す原理説明図である。
【図８】本実施形態による検知Message 通知処理の説明図である。
【図９】本実施形態に対比される一般的な手法による検知Message 通知処理の説明図である。
【図１０】本実施形態によるセンサデータ取得処理の説明図である。
【図１１】本実施形態に対比される一般的な手法によるセンサデータ取得処理の説明図である。
【図１２】本実施形態における検知したときのノードにおける制御処理を示すフローチャートを示す図である。
【図１３】本実施形態における検知Message受信時のノードにおける制御処理を示すフローチャートを示す図である。
【図１４】本実施形態のケース１の動作例のシーケンスを示す図である。
【図１５】本実施形態のケース２の動作例のシーケンスを示す図である。
【図１６】本実施形態のケース３の動作例のシーケンスを示す図である。
【図１７】本実施形態のケース４の動作例のシーケンスを示す図である。
【発明を実施するための形態】
【００１５】
以下、本発明を実施するための形態について図面を参照しながら詳細に説明する。
図１は、アドホックネットワークの構成例を示す図である。
アドホックネットワーク１０３は、図中＃１から＃１２までの番号が付されたノード１０１と、基幹中継１０２（ＧＷ：Ｇａｔｅ  Ｗａｙ）とから構成される。
【００１６】
アドホックネットワーク１０３が例えばサーバデータセンターの空調制御による省エネ管理を行なうための環境監視システムに適用される場合には、ノード１０１は例えば、データセンター各所に設置される温度センサ、風速センサなどのセンサを搭載する通信装置である。また、アドホックネットワーク１０３が例えばビルの省エネ、セキュリティ管理を行なうための施設管理・制御システムに適用される場合には、ノード１０１は例えば、部屋の状態を検知する照度センサ、温度センサ、人感センサなどのセンサを搭載する通信装置である。あるいは、アドホックネットワーク１０３が例えば電力会社における発電・配電の最適化管理を行なうための点検業務システムに適用される場合には、ノード１０１は例えば、検針メータのセンサを搭載する通信装置である。さらには、アドホックネットワーク１０３が例えば、橋梁なのでの老朽化に対する健全性確認を行なうための構造物モニタリングシステムに適用される場合には、ノード１０１は例えば、構造物の状態を検知する加速度センサ、ひずみセンサ、監視カメラなどのセンサを搭載する通信装置である。
【００１７】
図１では、＃１から＃１２までの１２台のノード１０１が相互に接続された構成が示されている。ノード１０１同士は、有線または無線によるアドホックルーティングプロトコルの通信方式に従って自律的な通信を行う。
【００１８】
１つのノード１０１と他のノード１０１がケーブルにより直接接続されている場合、２つのノード１０１が「隣接している」という。また、１つのノード１０１に隣接している他のノード１０１を「隣接ノード」ということがある。なお、ノード１０１自身のことを「自ノード」ということがある。
【００１９】
基幹中継（ＧＷ）１０２は、各ノード１０１が収集したセンサ情報を、例えばＬＡＮ（ローカルエリアネットワーク）などのネットワーク網１０５を介して接続される監視・制御用のサーバ１０４に中継するゲートウェイ（Ｇａｔｅ  Ｗａｙ）装置として機能する。また、サーバ１０４から各ノード１０１又は自分自身に通知される各種制御情報を、各ノード１０１又は自分自身に中継する。言い換えれば、基幹中継１０２は、ＬＡＮの通信プロトコルと有線アドホックルーティングプロトコルとの変換を行う。
【００２０】
サーバ１０４は、各ノード１０１が収集したセンサ情報を監視し、センサ情報を表示し、またはセンサ情報の異常を検知して警報を表示する。また、サーバ１０４は、各ノード１０１を制御する。
【００２１】
アドホックネットワーク１０３では、例えば有線接続された各ノード１０１が収集したセンサ情報が、基幹中継１０２を介してサーバ１０４に収集されて集中的に監視または制御される。これにより、センサ情報の効率的な収集、監視を行なうことが可能となる。
【００２２】
図２は、図１のノード１０１のハードウェア構成例を示す図である。ノード１０１は、バッテリ２０８、センサ２０２、タイマ２０７、メモリ２０３、ＭＰＵ２０１、ＰＨＹ２０４、ＲＦ部２０５または有線コネクタ部２０６を備える。バッテリ２０８は、ノード１０１全体の電源を供給する。センサ２０２は、前述した各種物理量を測定するセンサである。タイマ２０７は、後述する検知期間、データ取得期間、検知保護期間などをカウントするタイマ群である。メモリ２０３は、測定したセンサデータや隣接ノードのアドレス情報等に関するルーティングテーブルを格納する。ＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１は、ノード１０１全体の動作を制御する。ＰＨＹ２０４は、ノード１０１において隣接ノードとの間で送受信される論理信号と物理信号との変換を行う変換部である。アドホックネットワーク１０３が有線ネットワークである場合には、ＰＨＹ２０４には有線コネクタ部２０６が接続される。有線コネクタ部２０６は、有線の通信線を収容する。アドホックネットワーク１０３が無線ネットワークである場合には、ＰＨＹ２０４には無線周波数処理部であるＲＦ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ）部２０５が接続される。ＲＦ部２０５は、無線通信を実行する。各ノード１０１には、それぞれ３ポート以上のＲＦ部２０４または有線コネクタ部２０５が付いていて、ノード１０１は数珠つなぎ・メッシュ状・ツリー状に網を形成可能である。各ノード１０１からのデータや検知Message は、メモリ２０３内に格納してあるルーティングテーブルが参照されることにより、あるルーティング方法（プロトコル）に基づいて、図１において、基幹中継１０２を介してサーバ１０４に送られる。
【００２３】
以下の説明では、図１に示される構成のアドホックネットワーク１０３を例として、まずアドホックネットワーク１０３上での各ノード１０１のセンサがセンシングを行うための一般的に考えられる動作について説明する。その後に、本実施形態のセンシング動作について説明する。
【００２４】
ここではまず、図１の＃３のノード１０１にて検知したときの一般的に考えられる動作例を以下に記す。なお、以下の説明においては、「＃３のノード１０１」を単純に「ノード＃３」と表記する。他のナンバーのノード１０１の場合も同様である。すなわち、＃１のノード１０１なら「ノード＃１」、＃１２のノード１０１なら「ノード＃１２」の如くである。
【００２５】
このとき、各ノード１０１は、ノード＃３、＃２、＃４、＃５の順に検知をしたとし、ノード＃１は検知していない状態であるとする。なお、「検知」とは、前述したように、アドホックネットワーク１０３内の各ノード１０１のセンサが常時データを測定している状態において、その値がある閾値を超えたときの状態をいう。
【００２６】
図１において、着目するノード１０１の番号を＃１・＃２・＃３・＃４・＃５とし、各ノード１０１が検知をした時の一般的に考えられる制御動作の処理の流れを示すフローチャートを図３に、シーケンス図を図４に示す。図３のフローチャートおよび図４のシーケンスは例えば、図２のＭＰＵ２０１が、メモリ２０３に記憶された制御プログラムを実行する制御動作である。
【００２７】
一般的に考えられる制御動作において、ネットワーク内の各ノード１０１は、図３と図４のステップＳ１からＳ９の順で動作する。
各ノード１０１においてまず、隣接ノードと接続をする例えば有線のリンクが確立した後（図３のステップＳ１）、自ノード内のセンサにてデータの測定を開始する（図３のステップＳ２）。
【００２８】
続いて、センサデータが閾値を超えていない場合は（ステップＳ３の判定値が０）、ステップＳ２のセンサデータの測定状態に戻る。
ある時刻でセンサデータの値が閾値を超えて検知した状態になると（ステップＳ３の判定値が１）、ノード１０１は、検知を通知するための検知Message をサーバに向けて送信し、検知タイマとデータ記録タイマをスタートさせる。これらのタイマでは、スタート時にそれぞれ個別の所定値に初期設定され、順次値が減ってゆく。このとき、検知Message は、隣接ノード、その隣接ノードのさらに隣接ノードというように、各ノード１０１を次々にホップして、アドホックネットワーク１０３内を伝搬してゆき、基幹中継１０２からサーバ１０４に伝達される。
【００２９】
検知をしたノード１０１は、検知時刻以降検知タイマの値が０より大きくなっている間、図３には図示しないが、ある一定周期で自ノードのセンサによりデータを記録し、データを蓄積しておく（図３のステップＳ５の判定値が１）。
【００３０】
そして、データ取得タイマの値が０になったら（図３のステップＳ５の判定値が０）、記録したセンサデータをまとめてサーバに通知し、データ取得タイマを再スタートする（図３のステップＳ５→Ｓ６）。
【００３１】
ステップＳ７にて検知タイマの値が０になったと判定されるまで、ステップＳ５からＳ７までのセンサデータの記録・通知を実施する（図３のステップＳ７の判定値が１）。
ステップＳ７にて検知タイマの値が０になったと判定されたら（図３のステップＳ７の判定値が０）、センサデータの記録および送信処理を終了し（ステップＳ７→Ｓ８）、ステップＳ２のデータの測定開始の処理に戻る。
【００３２】
以上の制御動作に基づいて、図４のシーケンス図に示されるように、例えばノード＃２、＃３、＃４、＃５のそれぞれが、検知をしたタイミングでセンサデータの記録を開始する（図２のＳ４に対応）。そして、各ノード１０１は、自ノードのデータ取得タイマによってカウントされるある一定期間分のセンサデータを記録蓄積して、まとめてサーバ１０４に向けて送信する（図２のＳ５、Ｓ６に対応）。図２で説明したように、以上のセンサデータの記録・送信の動作は、検知時刻から検知タイマによってカウントされる所定時間の間実行され、その後再び、検知を監視する状態に戻る。
【００３３】
このように一般的に考えられる技術では、各ノード１０１がそれぞれ検知を行うごとに、それぞれのタイミングでセンサデータを記録しまとめて送信することになる。
以上の動作において、例えば図４のノード＃２、＃３、＃４、＃５は、それぞれ独立して検知を行っている。この場合に、それぞれの検知タイミングが近かったり、ルーティングの隣接関係によっては、図４の３０１で示されるタイミングが近接する可能性が生じる。より具体的には、図２のアドホックネットワーク１０３の構成例において、例えば図５の破線矢印として示されるように、それぞれのノード１０１から検知Message やそれに続くセンサデータが送信された場合を考える。このような場合、基幹中継１０２と接続しているノード１０１（図５ではノード＃１）の接続ポート（図２のＲＦ部２０４または有線コネクタ部２０５）に、全ノード１０１のデータが集中してしまうことになり、データの遅延やパケットロスを生じる可能性が高くなる。
【００３４】
また、上述した一般的に考えられるセンシング方法では、データ量の肥大化を防ぎ、効率的なデータ収集を行うために、アドホックネットワーク１０３内のある閾値を超えていない（検知をしていない）ノード１０１のデータは取得されない仕組みとなっている。例えば、図４の３０２として示されるように、ノード＃１では、検知をしていないため、このノード１０１のセンサデータはサーバ１０４（図１）へは送信されない。しかしながら、例えば図５に示されるようなネットワーク構成例において、検知が行われている＃２、＃３、＃４、＃５の各ノード１０１との関係で、サーバ１０４がノード＃１のデータも観測したいというような状況が発生する場合がある。このような場合には、上述した一般的に考えられるセンシング方法では、ノード＃１のデータは、ノード＃１において検知が行われるまで取得することができない。
【００３５】
そこで、以下に説明する実施形態は、基幹中継１０２に接続しているノード１０１（図１の構成例ではノード＃１）へのパケットの集中を回避し、また、検知をしないノードからもきめ細かく測定したセンサデータを収集することのできるシステムである。
【００３６】
図６は、本実施形態におけるノード１０１（図１、図２）の機能ブロック図である。図６に示される機能ブロックは、図２のハードウェア構成におけるＭＰＵ２０１の制御処理として実装される。より具体的には、図６の６０１から６０９として示される各機能ブロックは、ＭＰＵ２０１が後述する図１２、図１３に示されるフローチャートの処理に対応する制御プログラムを実行する処理として実装される。この制御プログラムは例えば、図２のメモリ２０３などに記憶されている。
【００３７】
図６において、センサデータ記録部６０１は、ノード１０１内のセンサ２０２（図２）にてセンサデータを測定し、その測定結果を順次メモリ２０３（図２）に記録する。
第１の検知状態開始部６０２は、測定したセンサデータの値が所定の条件を満たすことを検知したときに、他のノードから検知メッセージを受信した状態でない場合には、検知時刻を、メモリ２０３またはＭＰＵ２０１（図２）の内部のレジスタ等に保持する。また、第１の検知状態開始部６０２は、検知の通知と検知時刻を含む検知メッセージを生成した後、サーバ１０４（図１）に向け、図６の送信側ＰＨＹ２０４ｓ（図２のＰＨＹ２０４の一部）を介して、隣接ノードにブロードキャスト（同報）して送信する。さらに、第１の検知状態開始部６０２は、タイマ２０７を制御して、所定時間の計時を開始する。ここで、「測定したセンサデータの値が所定の条件を満たす」とは例えば、センサ２０２において、或る程度以上大きな値が観測され、センサデータの値が所定の閾値を超えた場合をいう。また、「他のノードから検知メッセージを受信した状態でない場合」とは、より具体的には、検知状態ではない通常状態であることをいう。そして、上記所定時間の計時開始により、自ノードの状態が、通常状態から検知状態に遷移する。
【００３８】
図７は、本実施形態におけるノードの状態遷移を示す原理説明図である。本実施形態では、ノード１０１は、通常状態と検知状態の２つの状態を取り得る。
通常状態は、センサ２０２（図２）からのセンサデータの読出しおよびメモリ２０３への記録のみを行っている状態であり、サーバ１０４（図１）への通知を必要としない状態である。通常状態では、ノード１０１は、図７のイベントＥ１に示されるように、センサ２０２からセンサデータが読み出された場合に、メモリ２０３へのセンサデータの記録のみを実行する。この制御を実行するのが、図６のセンサデータ記録部６０１である。
【００３９】
一方、検知状態は、検知保護期間と呼ぶ期間内の状態であり、サーバ１０４への検知Message およびセンサデータの通知が行われる状態である。図７のイベントＥ２に示されるように、１つのノード１０１で、自ノード内のセンサ２０２からのセンサデータの値が閾値を超えて検知を行うと、そのノード１０１は、検知時刻を保持した上で、検知通知と検知時刻を含む検知Message をブロードキャストする。その上で、ノード１０１は、タイマ２０７を制御して所定時間の計時を開始することにより、図７のイベントＥ２に示されるように、通常状態から検知状態に遷移する。この制御を実行するのが、図６の第１の検知状態開始部６０２である。なお、このときのセンサデータも、図６のセンサデータ記録部６０１によって、メモリ２０３に記録される。
【００４０】
検知Message を送信し検知状態になったノード１０１では、図７のイベントＥ４に示されるように、図６のセンサデータ記録部６０１が、通常状態の場合と同様に、センサ２０２からセンサ値が読み出された場合に、メモリ２０３へのセンサデータの記録を実行する。
【００４１】
これと共に、図６の第１の検知状態時データ送信部６０５が、検知状態である間（所定時間内）に、サーバ１０４からデータ取得依頼メッセージ（以下、「データ取得依頼Message 」と表記する）を待つ状態となる。そして、図７のイベントＥ５に示されるように、データ取得依頼Message を受信すると、第１の検知状態時データ送信部６０５は、サーバ１０４に向けて、メモリ２０３に記録しているセンサデータを送信する。データ取得依頼Message の受信処理は、図６の受信側ＰＨＹ２０４ｒ（図２のＰＨＹ２０４の一部）を介して実行される。また、センサデータの送信処理は、図６の送信側ＰＨＹ２０４ｓ（図２のＰＨＹ２０４の一部）を介して、隣接ノードに送信する処理として実行される。
【００４２】
このように、検知を行ったノード１０１は、サーバ１０４からのデータ取得依頼メッセージの受信を待ってセンサデータを送信するため、サーバ１０４の制御下で、センサデータの送信を実行することが可能となる。
【００４３】
以上の動作に加えて、検知Message を送信したノード１０１以外のノード１０１は、次のような特徴的な動作を実行する。
図７のイベントＥ３として示されるように、検知時刻を保持していない通常状態において、他のノード１０１から検知Message を受信すると、図６の第２の検知状態開始部６０６は、受信した検知Message に含まれる検知時刻を保持する。この受信動作は、図６の受信側ＰＨＹ２０４ｒ（図２のＰＨＹ２０４の一部）を介して実行される。検知時刻は、メモリ２０３（図２）またはＭＰＵ２０１（図２）の内部のレジスタ等に保持される。また、第２の検知状態開始部６０６は、受信した検知Message を受信元のノード１０１以外の隣接にブロードキャスト送信して伝搬させる。この送信処理は、図６の送信側ＰＨＹ２０４ｓ（図２のＰＨＹ２０４の一部）を介して実行される。そして、第２の検知状態開始部６０６は、タイマ２０７を制御して所定時間の計時を開始することにより、図７のイベントＥ３に示されるように、通常状態から検知状態に遷移する。つまり、他のノード１０１の検知により、そのノード１０１からの検知Message のブロードキャストを受信した他のノード１０１も、検知状態に遷移する。
【００４４】
このように、検知Message を受信して検知状態に遷移すると、図６の検知状態時検知メッセージ送信抑制部６０４が、自ノード内のセンサデータの値が閾値を超えて検知すべき状態になっても、その検知を抑制し、検知Message をサーバ１０４に送信しなくなる。この結果、図５等で説明したように、複数のノード１０１から検知Message およびそれに続くセンサデータがほぼ同じタイミングで一斉に送信されて、基幹中継１０２に接続しているノード１０１において、輻輳が発生する可能性を抑制することが可能となる。
【００４５】
ここで、図６の検知状態時検知メッセージ転送部６０７と検知状態時検知メッセージ破棄部６０８は、検知時刻を既に保持しているすなわち自ノードが検知状態にあるときに、他のノード１０１から検知Message を受信すると、以下の制御処理を実行する。なお、この受信処理は、図６の受信側のＰＨＹ２０４ｒ（図２のＰＨＹ２０４の一部）を介して実行される。また、検知時刻は、図６の第１の検知状態開始部６０２または第２の検知状態開始部６０６によって、通常状態から検知状態への遷移が実行されるときに、メモリ２０３（図２）またはＭＰＵ２０１（図２）の内部のレジスタ等に保持されている。
【００４６】
まず、図７のイベントＥ６に示されるように、検知状態時検知メッセージ転送部６０７は、受信した検知Message 内の検知時刻が保持している検知時刻よりも前のものである場合に、保持している検知時刻を受信した検知時刻で置き換えて更新する。そして、検知状態時検知メッセージ転送部６０７は、受信した検知Message を受信元のノード１０１以外の隣接ノードにブロードキャスト送信して伝搬させる。この送信処理は、図６の送信側のＰＨＹ２０４ｓ（図２のＰＨＹ２０４の一部）を介して実行される。
【００４７】
一方、同じく図７のイベントＥ６に示されるように、検知状態時検知メッセージ破棄部６０８は、受信した検知Message に含まれる検知時刻が保持している検知時刻以降のものである場合には、受信した検知Message を破棄する。
【００４８】
以上のようにして、ノード１０１は、現在の検知状態において、最も早く検知され送信された検知Message のみを、サーバ１０４に伝搬させるように動作する。これにより、ほぼ同時に複数のノード１０１から送信された複数の検知Message による輻輳の発生を抑制することが可能となる。
【００４９】
検知Message を受信して検知状態に遷移したノード１０１は、図６の検知状態時検知メッセージ送信抑制部６０４によって、センサデータの送信が抑制される。しかしながら、そのようなノード１０１は、以下の手段によって、自ノードに記録されているセンサデータをサーバ１０４に向けて送信することができる。つまり、図６の第２の検知状態時データ送信部６０９が、検知状態（所定時間内）において他のノード１０１からセンサデータを受信した場合に、図７のステップＥ７に示される制御動作を実行する。すなわち、第２の検知状態時データ送信部６０９は、他のノード１０１から受信したセンサデータに、自ノード内のセンサ２０２で測定されメモリ２０３に記録されているセンサデータを付加して、受信元のノード１０１以外の隣接ノードに送信して伝搬させる。他のノード１０１からのセンサデータの受信処理は、図６の受信側のＰＨＹ２０４ｒ（図２のＰＨＹ２０４の一部）を介して実行される。また、センサデータの付加による送信処理は、図６の送信側ＰＨＹ２０４ｓ（図２のＰＨＹ２０４の一部）を介して実行される。
【００５０】
なお、この付加的なセンサデータの送信は、他のノード１０１からセンサデータを受信したときに常に実行されるようにしてもよいし、サーバ１０４から指定されている場合においてのみ実行されるようにしてもよい。いずれの場合であっても、サーバ１０４からのデータ取得依頼Message をトリガとして、検知を行ったノード１０１のみならず、そのノード１０１と基幹中継１０２の経路上にある他のノード１０１のセンサデータも、きめ細かく収集することが可能となる。しかもその場合に、それぞれのノード１０１から余分なデータ送信が発生しないため、基幹中継１０２に接続されるノード１０１におけるアドホックネットワーク１０３（図１）の輻輳状態を回避することが可能となる。
【００５１】
図７のイベントＥ８に示されるように、検知状態において、図６の検知状態出力部１０５が、図２のタイマ２０７での所定時間の計時が終了しタイマ値が０になったことを検知すると、自ノードの状態を検知状態から通常状態に遷移させる。この結果、検知メッセージを受信した状態が解除されて、センサデータをサーバ１０４に通知する必要のない通常状態に戻る。
【００５２】
以上のように、本実施形態では、アドホックネットワーク内の任意のノードをノード＃Ｘ、ノード＃Ｙとしたとき、ノード＃Ｘが検知すると、ネットワーク内の全ノードにブロードキャストで検知Message を送信する。そして、ノード＃Ｘは、通常状態から検知状態に遷移して、サーバから送信されるデータ取得依頼Message を持つ状態になるようにした。さらに、検知Message を受信したノード＃Ｙ（未検知）も、通常状態から検知状態に遷移して検知をしなくなり、検知Message のブロードキャストも他ノードへ行わなくなる検知状態（検知保護期間）を設けた。この結果、基幹中継１０２に接続されているノード１０１、例えば図１のネットワーク構成例ではノード＃１において輻輳が発生することを回避することが可能となる。なお、ノード＃Ｘと同じように、ノード＃Ｙも検知保護期間になると、サーバから送信されるデータ取得依頼Message を持つ状態になるようにした。
【００５３】
データの取得方法としては、検知Message を受信したサーバが、データ取得依頼Messageをネットワーク内の末端ノードに送信する。受信した末端ノードで記録されていたセンサデータは、隣接ノードを伝播することにより、サーバにデータを通知する。そして、伝播する際に、途中のノードで記録されていたセンサデータも付加して伝搬するようにした。これにより、サーバ１０４は検知をしたノード１０１に関連するノード１０１のセンサデータも、まとめて収集することが可能となる。この結果、基幹中継１０２に接続されているノード１０１における輻輳を回避すると同時に、検知をしていないノード１０１のセンサデータもきめ細かく収集することが可能となる。
【００５４】
なお、データ取得依頼Message のリクエストタイミングは、サーバが適当に決めてよい。また、本実施形態において、アドホックネットワーク１０３（図１）内での各ノード１０１での時刻同期は、事前に行われているものとする。時刻同期の方法としては、一般的に行われている時刻同期プロトコル（ＮＴＰ：Ｎｅｔｗｏｒｋ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ）などの手法を用いればよい。
【００５５】
図８は、図６のノードの機能構成図および図７の状態遷移図に基づく、本実施形態による検知Message 通知処理の説明図である。
まず、ネットワーク内の各ノードのリンクは確立されている状態である。図８では、ノード＃Ｃが最初に検知したとし、ネットワーク内の全ノードに検知Message をブロードキャストで送信する。
【００５６】
検知状態（検知保護期間）になる条件は２つある。１つは、任意のノード、図８の例では、ノード＃Ｃが検知した場合である（図８のＳ１）。もう１つは、隣接ノードから検知Message を受信した場合、図８の例では、ノード＃Ｂ（＃Ｅ）がノード＃Ｃ（＃Ｄ）から検知Message を受信した場合である（図８のＳ２）。検知保護期間になると同時に、データの記録を開始する。
【００５７】
検知保護期間中のノード＃Ｂ（＃Ｅ）は検知抑止状態であるため、検知をすべき状態になっても検知Message を送信しない。また、サーバからのデータ取得依頼Message を待つ状態になる（図８のＳ３）。
【００５８】
ノード＃Ｃ、＃Ｄは検知をしているため、検知保護期間中である。ノード＃Ｃがノード＃Ｄから検知Message を受信する。しかし、受信した検知Message 中の検知時刻がノード＃Ｃが元々保持している検知時刻よりも遅いため、受信した検知Message は廃棄する（図８のＳ４）。
【００５９】
ノード＃Ｄがノード＃Ｃからの検知Message を受信する。この場合、ノード＃Ｃからの検知Message に含まれる検知時刻がノード＃Ｄが元々保持している検知時刻よりも早い（古い）ため、ノード＃Ｄは、自ノードの検知時刻を更新して隣接ノード＃Ｅに伝播する（図８のステップＳ５）。
【００６０】
このとき、各ノードは常時データを測定していて、検知時刻（センシング値が閾値を超えた時刻）前の数秒間は過去の（閾値を超えていない）センサデータが読みだせるようになっている（図８のＳ６）。これによりサーバは例えば、閾値を超える直前の温度変化を、閾値を超える直前のデータを各ノードに要求して取得することにより、解析することができる。また、検知状態（検知保護期間）の終わりは検知保護期間タイマにより制御する。
【００６１】
最終的に、サーバでは、ノード＃Ｃからのみ、検知Message を受信する（図８のＳ７）。
ノード＃Ｅで受信した検知Message は、サーバ宛ではなく、ネットワーク内の他ノードへ検知Message を通知するために、伝播される。
【００６２】
図９は、図８の本実施形態に対比される一般的な手法による検知Message 通知処理の説明図である。
図９において、各ノードは検知すると、それぞれ独立して、検知Message をサーバ宛に送信する（図９のＳ９）。
【００６３】
基幹中継とサーバは、検知したノードの検知Message をすべて受信・処理することになる（図９のＳ１０）。
この結果、一般的な手法では、それぞれの検知タイミングが近かったりルーティングの隣接関係によっては、基幹中継と接続しているノード（図５の例ではノード＃１）の接続ポートに、全ノードのデータが集中してしまうことになり得る。この結果、輻輳の発生の可能性が高まってしまう。
【００６４】
また、一般的な手法では、サーバは、ノード＃Ｂ、＃Ｃ、＃Ｄ、＃Ｅだけではなく、ノード＃Ａのセンサデータも収集したいような場合があり得る。しかしこの場合、ノード＃Ａは検知をしていないため、センサデータを取得することができない。
【００６５】
これに対して図８に示される本実施形態では、各ノードは、検知Message を受信して検知状態（検知保護期間）に遷移するため、検知していないノード（図８の例ではノード＃Ａ）のデータ取得が可能になった。つまり、サーバは、検知をしたノードの周囲のノードのセンシング状態も含めて、総合的なデータ解析が可能となる。これは、検知Message をブロードキャストし、その検知Message の受信により検知状態（検知保護期間）に遷移するようにしたことによるものである。
【００６６】
なお、検知保護期間は、検知時刻でスタートし、設定された所定時間で終了する。これに対して、データ収集期間（データ取得依頼Message を受信するまでの期間）は、検知保護期間よりも短くてもよい。
【００６７】
図１０は、本実施形態によるセンサデータ取得処理の説明図である。
ノード＃Ａ、＃Ｂ、＃Ｃ、＃Ｄ、＃Ｅはそれぞれ検知状態（検知保護期間）であり、ノード＃Ｅを末端のノードとする。アドホックネットワークの構成情報をサーバが持っているので、末端ノードを判別することが可能である。
【００６８】
図１０において、データを取得するために、検知Message を受信したサーバは、末端ノード＃Ｅにデータ取得依頼Message を送信する（図１０のＳ１）。
データ取得依頼Message を受信したノード＃Ｅのセンサデータは、ノード＃Ｄ⇒ノード＃Ｃ⇒ノード＃Ｂ⇒ノード＃Ａとホップして伝搬される（図１０のＳ２）。このとき、ノード＃Ｅの持つセンサデータに途中のノードのセンサデータを追加していき、サーバにてこれらのセンサデータ群を取得する。ネットワーク内で検知状態（検知保護期間）にあるノードのセンサデータはすべて取得可能であるが、１つの検知Message でネットワーク内の全ノードのデータが取得できるわけではない。このため、ルーティングによってはデータが取得されないノードもある。しかし、一つ一つのノードにデータ取得依頼Message を送信するよりは格段にパケット数を抑制ことができる。また、データの取得ルートが被った場合はノードで判断し、データを付与しないように動作することができる。
【００６９】
図１１は、図１０の本実施形態に対比される一般的な手法によるセンサデータ取得処理の説明図である。各ノードが検知したタイミングにより独立して、センサデータを送信し、サーバで受信している（図１１のＳ３）。
【００７０】
この結果、検知Message の場合と同様に、一般的な手法では、基幹中継と接続しているノードの接続ポートに、全ノードのセンサデータが集中し、輻輳の発生の可能性が高まってしまう。また、一般的な手法では、サーバは、ノード＃Ａのセンサデータは収集できない。
【００７１】
これに対して本実施形態では、サーバは検知をしたノードに関連するノードのセンサデータも、まとめて収集することが可能となる。この結果、基幹中継に接続されているノードにおける輻輳を回避すると同時に、検知をしていないノードのセンサデータもきめ細かく収集することが可能となる。  図１２は、本実施形態における検知したときのノード１０１（図１）における制御処理を示すフローチャートである。この制御処理は、図６のセンサデータ記録部６０１、第１の検知状態開始部６０２、検知状態終了部６０３、検知状態時検知メッセージ送信抑制部６０４、および第１の検知状態時データ送信部６０５の機能を実現する。この制御処理は例えば、図２のハードウェア構成において、ＭＰＵ２０１が、メモリ２０３に記憶された制御プログラムを実行する動作の一部である。
【００７２】
アドホックネットワーク１０３（図１）内で、リンクが確立される（図１２のステップＳ１）。
センサ２０２（図２、図６）にてセンサデータの測定および記録を開始する（図１２のステップＳ２）。この処理は、図６のセンサデータ記録部６０１の機能に対応する。
【００７３】
測定したデータが閾値を超えていない場合は、センサデータの測定・記録処理を繰り返す（図１２のステップＳ３の判定値が０→ステップＳ２）。
測定したデータが閾値を超えて検知した場合、検知Message を受信している状態かどうかを判定する（図１２のステップＳ３の判定値が１→ステップＳ４）。この処理は、図６の第１の検知状態開始部６０２の機能の一部である。ここでは、検知Message の受信でセットされ検知状態（検知保護期間）の終了でリセットされるような内部レジスタを設けて判定してもよいし、検知保護期間タイマの値が０でない場合に検知Message を受信している状態と判定するような処理であってもよい。
【００７４】
検知Message を受信済の状態である場合、検知状態（検知保護期間）となっているため、検知Message を送信しない（図１２のステップＳ４の判定値が１→ステップＳ５）。この処理は、図６の第１の検知状態開始部６０２の機能の一部である。
【００７５】
検知Message を受信していない状態である場合、タイマ２０７（図２、図６）を制御して検知保護期間タイマをスタートさせる。そして、検知時刻をメモリ２０３（図２、図６）またはＭＰＵ２０１の内部のレジスタに記録し、ブロードキャストで全ノードに向けて検知Message を通知する（図１２のステップＳ４の判定値が０→ステップＳ６）。この処理は、図６の第１の検知状態開始部６０２の機能の一部である。
【００７６】
サーバ１０４から送信されるデータ取得依頼Message の受信を待つ状態になり、その間、タイマ２０７内の検知保護期間タイマの値が０になったかどうかを判定する（図１２のステップＳ７→ステップＳ８の判定値が１→ステップＳ７の繰り返し処理）。この処理は、図６の第１の検知状態時データ送信部６０５の機能の一部と検知状態終了部６０３の機能の一部である。
【００７７】
検知状態においてデータ取得依頼Message を受信した場合、サーバ１０４にセンサデータを送信する（図１２のステップＳ８の判定値が０→ステップＳ９）。この処理は、図６の第１の検知状態時データ送信部６０５の機能の一部である。
【００７８】
所定時間経過したのち検知保護期間タイマが０になると、検知保護期間タイマがリセットされ、検知保護期間（検知状態）が終了する（図１２のステップＳ７の判定値が０→ステップＳ１０）。その後、ステップＳ２に戻る。
【００７９】
図１３は、本実施形態における検知Message受信時のノードにおける制御処理を示すフローチャートである。この制御処理は、図６の第２の検知状態開始部６０６、検知状態時検知メッセージ転送部６０７、検知状態時検知メッセージ破棄部６０８、第２の検知状態時データ送信部６０９の機能を実現する。この制御処理は例えば、図２のハードウェア構成において、ＭＰＵ２０１が、メモリ２０３に記憶された制御プログラムを実行する動作の一部である。  ノード１０１にて、検知Message の受信処理が実行される（図１３のステップＳ１）。この処理は、図６のＰＨＹ２０４ｒ（図２のＰＨＹ２０４の一部）の機能である。
【００８０】
検知Message を受信したノード１０１が検知時刻を保持しているかを判定する。検知時刻は、図１２のステップＳ６または図１３のステップＳ３にて、例えばメモリ２０３（図２）またはＭＰＵ２０１（図２）の内部のレジスタに保持される。この処理は、図６の第２の検知状態開始部６０６の機能一部である。
【００８１】
検知時刻を保持していない場合、タイマ２０７を制御して検知保護期間タイマをスタートし、検知時刻をメモリ２０３（図２）またはＭＰＵ２０１（図２）の内部のレジスタ等に記録し、ノード１０１は検知保護期間（検知状態）となる（図１３のステップＳ２の判定値が０→ステップＳ３）。その後、隣接ノードにホップして検知Message を伝播させる（図１３のステップＳ３→Ｓ７）。この処理は、図６の第２の検知状態開始部６０６の機能の一部である。
【００８２】
検知時刻を保持している場合、受信した検知Message に含まれる検知時刻と保持している検知時刻を比較する（図１３のステップＳ２の判定値が１→ステップＳ４）。この処理は、図６の検知状態時検知メッセージ転送部６０７と検知状態時検知メッセージ破棄部６０８の機能の一部である。
【００８３】
受信した検知Message に含まれる検知時刻が保持している検知時刻よりも遅い、もしくは、同時刻の場合、受信した検知Message は破棄される（図１３のステップＳ４の判定値が０→Ｓ５）。その後、図１３の検知Message 受信処理を終了する。この処理は、図６の検知状態時検知メッセージ破棄部６０８の機能の一部である。
【００８４】
受信した検知時刻が保持している検知時刻よりも早い場合は、保持している検知時刻を受信した検知時刻で更新する（図１３のステップＳ４の判定値が１→ステップＳ６）。その後、隣接ノードにホップして検知Message を伝播させる（図１３のステップＳ７）。この処理は、図６の検知状態時検知メッセージ転送部６０７の機能の一部である。
以上のようにして、本実施形態による図６の機能に対応する処理が実現される。
【００８５】
以下に、本実施形態におけるいくつかのケースにおける動作例を説明する。
図１４は、本実施形態のケース１の動作例のシーケンスを示す図である。
【００８６】
図１のアドホックネットワーク１０３において、ノード＃３が最初に検知し、ノード＃５は検知していない場合を考える。
図１４は、ノード＃１・＃２・＃３・＃４・＃５に着目し、ノードが検知したときのシーケンス図である。
【００８７】
ルーティング方法は、ノード＃５→ノード＃４→ノード＃３→ノード＃１→サーバ１０４とする。
ノード＃３が検知をし、ブロードキャストでネットワーク内の全ノード１０１に検知Message を通知する（図１４のＳ１）。これは、図１２のステップＳ６による。
【００８８】
ノード＃２・＃４・＃５が検知状態になったが、ノード＃３からの検知Message を受信した後のため検知Message を送信しない（図１４のＳ２）。これは、図１３のステップＳ４による。
【００８９】
ノード＃３からの検知Message を受信したサーバ１０４は、末端ノード＃５宛てにデータ取得依頼Message を送信する（図１４のＳ３）。
データ取得依頼Message に応答してノード＃５からセンサデータが送信される。この処理は、図１２のステップＳ８→Ｓ９による。ノード＃５から送信され伝播されてゆくセンサデータには、そのセンサデータを受信した途中のノード１０１で記録されているセンサデータが追加されていく（図１４のＳ４）。
【００９０】
検知していないノード＃５も検知Message を受信して検知状態に遷移しているため、データ取得依頼Message に基づいてセンサデータを取得できる（図１４のＳ５）。
ルーティングの関係でノード＃２のデータは取得されない（ノード＃２を伝播するルートの場合に取得される）（図１４のＳ６）。
【００９１】
図１５は、本実施形態のケース２の動作例のシーケンスを示す図である。
図１のアドホックネットワーク１０３において、センサ２０２（図２）を搭載したあるノード１０１が検知した場合を考える。
【００９２】
ノードは、ノード＃３、＃２、＃４、＃５の順に検知したとし、ノード＃１は検知していない状態である。
図１５は、ノード＃１・＃２・＃３・＃４・＃５に着目し、ノードが検知したときのシーケンス図である。
【００９３】
ルーティング方法は、ノード＃５→ノード＃４→ノード＃３→ノード＃１→サーバとする。
最初に検知したノード＃３は、検知したことを知らせるため、ブロードキャストでネットワーク内の全ノードに検知Message を通知する（図１５のＳ１）。これは、図１２のステップＳ６による。
【００９４】
ノード＃３の次に検知したノード＃２は、ノード＃３からの検知Message を受信する前のため、検知する（図１５のＳ２）。これは、図１２のステップＳ４→Ｓ６による。
検知したノード＃２は、ブロードキャストでネットワーク内の全ノードに検知Message を通知する。ノード＃２からノード＃３（検知済）への検知Message はノード＃３における検知時刻と比較され、ノード＃３の検知時刻の方が早いため、破棄され、ルーティングしない（図１５のＳ３）。これは、図１３のステップＳ４→Ｓ５による。
【００９５】
次に検知したノード＃４・＃５は、ノード＃３からの検知Message を受信しており検知状態（検知保護期間）となっているため、検知をすべき状態になっても検知Message を周辺ノードにブロードキャストしない（図１５のＳ４）。この処理は、図１２のステップＳ４→Ｓ５による。
【００９６】
検知Message を受信したサーバ１０４は、センサデータを取得するため、ノード＃５にデータ取得依頼Message を送信する（図１５のＳ５）。
データ取得依頼Message を受信したノード＃５のデータは、ノード＃５→＃４→＃３→＃１とホップして伝搬する。この処理は、図１２のステップＳ８→Ｓ９による。このとき、ノード＃５の持つデータに途中のノード（＃４、＃３、＃１）のデータを追加していき、サーバ１０４にセンサデータを通知する（図１５のＳ６）。
データを取得する際、検知していないノード＃１のデータも取得できるようになっている（図１５のＳ７）。
【００９７】
図１６は、本実施形態のケース３の動作例のシーケンスを示す図である。
図１のアドホックネットワーク１０３において、センサ２０２（図２）を搭載したあるノード１０１が検知した場合を考える。
図１６は、アドホックネットワーク１０３内の全ノード１０１が同時に検知状態になったとし、ノード＃１・＃２・＃３・＃８・＃１０・＃１１に着目したシーケンス図である。
【００９８】
各ノード１０１で検知し、全ノード１０１にブロードキャストで検知Message を通知する。この処理は、図１２のステップＳ３→Ｓ４→Ｓ６による。ノード＃２・＃３・＃８・＃１０・＃１１が隣接ノードにブロードキャストした検知Message は、受信したノードの検知時刻と比較され、破棄される（図１６のＳ１）。この処理は、図１３のステップＳ４→Ｓ５による。
【００９９】
ノード＃１の検知Message のみサーバ１０４に通知され、ノード＃２・＃３・＃８・＃１０・＃１１は検知状態（検知保護期間）になり、データ取得依頼Message を待つ（図１６のＳ２）。この処理は、図１２のＳ７→Ｓ８→Ｓ７のループによる。
データ取得依頼Message を受信したノード＃１１は、ルーティング方法に従い、各ノードをホップして伝播する（図１６のＳ３）。
【０１００】
図１７は、本実施形態のケース４の動作例のシーケンスを示す図である。
図１のアドホックネットワーク１０３において、センサ２０２を搭載したあるノード１０１が検知した場合を考える。
図１７は、最初にノード＃２・＃３・＃１１が同時に検知し、ノード＃１・＃１０・＃１１が２番目に検知したとし、ノード＃１・＃２・＃３・＃８・＃１０・＃１１に着目したシーケンス図である。
【０１０１】
検知したノード１０１は、全ノード１０１にブロードキャストで検知Message を通知する。
最初に検知したノード＃２・＃８・＃１１からの検知Message は、各ノード１０１の持っている検知時刻と同じため、検知Message （図１７の△印）は破棄される（図１７のＳ１）。
【０１０２】
ノード＃１・＃３・＃１０からの検知Message （図１７の○印）は、最初の検知Message を受信済みのため破棄される（図１７のＳ２）。
ノード＃２・＃３から検知Message を受信するノード＃１では、受信した時刻が遅いほうの検知Message が破棄される（図１７のＳ３）。
【０１０３】
この場合、ノード＃１とノード＃２（か＃３）の検知Message のみサーバ１０４に通知され、各ノード１０１は検知保護期間になり、サーバ１０４からのデータ取得依頼Message を待つ。
【０１０４】
以上説明したように、本実施形態では、ノードが検知保護期間になると、サーバからのデータ取得依頼Message を持つ状態になり、自ノードが検知しても検知Message の送信を回避できるようになった。また、検知Message （検知時刻が早い）を受信したノードに検知Message （検知時刻が遅い）を送っても破棄され、その後検知Message がルーティングしなくなるようにした。これにより、ネットワーク内のトラフィックの軽減や、基幹中継に繋がるポートでのトラフィック集中（輻輳）の回避を可能とした。
【０１０５】
本実施形態では、各ノードで測定したデータを取得する際、サーバよりデータを取得する末端ノードを指定し、末端ノードがホップして伝搬してくる途中ノードのデータを追加して伝搬することにより、さらなるトラフィック軽減が得られる。なお、末端ノードは既知のものとする。
【０１０６】
従来のノード装置では、ノードが検知した後のデータのみを記録しサーバへ通知していたが、本実施形態では、検知以降のデータだけでなく、検知開始時刻より数秒程度前のデータを取得できるようになる。
【０１０７】
従来のノード装置は、検知していないノードのデータは取得しない仕組みだったが、本実施形態では、検知していないノードのデータも取得することが可能になった。
【符号の説明】
【０１０８】
１０１  ノード
１０２  基幹中継１０２（ＧＷ：Ｇａｔｅ  Ｗａｙ）
１０３  アドホックネットワーク
１０４  サーバ
１０５  ネットワーク網
２０１  ＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）
２０２  センサ
２０３  メモリ
２０４  ＰＨＹ
２０５  ＲＦ部
２０６  有線コネクタ部
２０７  タイマ
２０８  バッテリ
６０１  センサデータ記録部
６０２  第１の検知状態開始部
６０３  検知状態終了部
６０４  検知状態時検知メッセージ送信抑制部
６０５  第１の検知状態時データ送信部
６０６  第２の検知状態開始部
６０７  検知状態時検知メッセージ転送部
６０８  検知状態時検知メッセージ破棄部
６０９  第２の検知状態時データ送信部
【図３】
0005601254.tif 000002
【図６】
0005601254.tif 000003
【図１２】
0005601254.tif 000004
【図１３】
0005601254.tif 000005
【図１】
0005601254.tif 000006
【図２】
0005601254.tif 000007
【図４】
0005601254.tif 000008
【図５】
0005601254.tif 000009
【図７】
0005601254.tif 000010
【図８】
0005601254.tif 000011
【図９】
0005601254.tif 000012
【図１０】
0005601254.tif 000013
【図１１】
0005601254.tif 000014
【図１４】
0005601254.tif 000015
【図１５】
0005601254.tif 000016
【図１６】
0005601254.tif 000017
【図１７】
0005601254.tif 000018