(57)【要約】【課題】  １つのゲートウェイ配下に２つ以上のセンサノードが配置されるセンサセットワーク環境下において、センサノードの即時応答性を高めつつ、省電力化の最適化を実現したい。【解決手段】  センサにより計測された計測情報を保持する複数のセンサノードから前記計測情報を受信するゲートウェイにおいて、前記複数のセンサノード毎の計測時刻及びポーリング時刻をタイムテーブルに保持し、前記タイムテーブルを参照して、複数の計測時刻のうち最も直近の時刻である第一の時刻を検索し、前記第一の時刻に所定の時間を加えた時刻を第二の時刻とし、前記第二の時刻を前記複数のセンサノードのポーリング時刻として、前記タイムテーブルに格納する。【選択図】  図１１
2016122310.tif 000002
【特許請求の範囲】
【請求項１】
センサにより計測された計測情報を保持するセンサノードと、前記センサノードから前記計測情報を受信するゲートウェイとを備えるセンサネットワークシステムにおいて、
前記ゲートウェイは、
前記複数のセンサノード毎の計測時刻及びポーリング時刻を保持するタイムテーブルを有する記憶部と、
前記複数のセンサノード毎のポーリング時刻を制御する制御部とを備え、
前記ゲートウェイの制御部は、ポーリング時刻制御処理として、
前記タイムテーブルを参照して、複数の計測時刻のうち最も直近の時刻である第一の時刻を検索し、
前記第一の時刻に所定の時間を加えた時刻を第二の時刻とし、
前記第二の時刻を前記複数のセンサノードのポーリング時刻として、前記タイムテーブルに格納する
ことを特徴とするセンサネットワークシステム。
【請求項２】
前記センサノードの計測時刻は、現在時刻と前記センサノードの計測周期とに基づいて設定される
ことを特徴とする請求項１記載のセンサネットワークシステム。
【請求項３】
前記ゲートウェイの制御部は、新たなセンサノードがゲートウェイの配下に参入すると、
新たなセンサノードの計測周期を受信し、
受信した新たなセンサノードの計測周期に基づく計測時刻を、前記タイムテーブルに格納する
ことを特徴とする請求項２記載のセンサネットワークシステム。
【請求項４】
前記ゲートウェイの制御部は、前記センサノードが前記計測情報を送信する計測時刻になると、
前記タイムテーブルにおいて、前記計測情報を送信するセンサノードの計測時刻を、新しい計測時刻に更新する
ことを特徴とする請求項１記載のセンサネットワークシステム。
【請求項５】
前記ゲートウェイの制御部は、前記計測情報を受信すると、
前記計測情報を送信したセンサノードの直近の計測時刻を、前記タイムテーブルから削除し、
前記計測情報を送信したセンサノードの新しい計測時刻を、前記タイムテーブルに格納する
ことを特徴とする請求項４記載のセンサネットワークシステム。
【請求項６】
前記ゲートウェイの制御部は、前記センサノードからポーリングを受信すると、
前記ポーリングを送信したセンサノードへ、前記第二の時刻を送信する
ことを特徴とする請求項１記載のセンサネットワークシステム。
【請求項７】
前記ゲートウェイの制御部は、前記第二の時刻になると、
前記ポーリング時刻制御処理により、前記タイムテーブルが保持する前記第二の時刻を、新しい第二の時刻に更新する
ことを特徴とする請求項１記載のセンサネットワークシステム。
【請求項８】
前記センサノードは、
前記センサノードの計測時刻又は前記第二の時刻になると、前記センサノードを起動する制御部と、
前記ゲートウェイから受信する前記第二の時刻を保持する記憶部とを備える
ことを特徴とする請求項１記載のセンサネットワークシステム。
【請求項９】
前記第一の時刻において、前記複数のセンサノードのうち少なくとも何れが計測情報を送信すると、
前記第二の時刻において、前記複数のセンサノードは、前記ゲートウェイへポーリングを送信すること
を特徴とする請求項８記載のセンサネットワークシステム。
【請求項１０】
前記複数のセンサノードはグループ化され、
前記グループ内の複数のセンサノード同士で、前記第二の時刻が決定される
ことを特徴とする請求項８記載のセンサネットワークシステム。
【請求項１１】
第一のセンサノードの第一の計測時刻と、前記第一の計測時刻より前の時刻である第二のセンサノードの第二の計測時間とにおいて、前記第一の計測時刻と前記第二の計測時刻との差が所定の範囲内である場合、
前記ゲートウェイの制御部は、前記第二の計測時刻を、前記第一の時刻の検索対象から除外する
ことを特徴とする請求項１記載のセンサネットワークシステム。
【請求項１２】
センサにより計測された計測情報を保持する複数のセンサノードから前記計測情報を受信するゲートウェイであって、
前記複数のセンサノード毎の計測時刻及びポーリング時刻を保持するタイムテーブルを有する記憶部と、
前記複数のセンサノード毎のポーリング時刻を制御する制御部とを備え、
前記制御部は、ポーリング時刻制御処理として、
前記タイムテーブルを参照して、複数の計測時刻のうち最も直近の時刻である第一の時刻を検索し、
前記第一の時刻に所定の時間を加えた時刻を第二の時刻とし、
前記第二の時刻を前記複数のセンサノードのポーリング時刻として、前記タイムテーブルに格納する
ことを特徴とするゲートウェイ。
【請求項１３】
センサにより計測された計測情報を保持する複数のセンサノードから前記計測情報を受信するゲートウェイにおけるポーリング時刻制御方法であって、
前記複数のセンサノード毎の計測時刻及びポーリング時刻をタイムテーブルに保持し、
前記タイムテーブルを参照して、複数の計測時刻のうち最も直近の時刻である第一の時刻を検索し、
前記第一の時刻に所定の時間を加えた時刻を第二の時刻とし、
前記第二の時刻を前記複数のセンサノードのポーリング時刻として、前記タイムテーブルに格納する
ことを特徴とするポーリング時刻制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲートウェイ、センサネットワークシステム、及びゲートウェイのポーリング時刻制御方法に関するものである。
【背景技術】
【０００２】
センサ、データ処理機能及び無線通信機能等を実装した無線端末が、センサネットワークを構成するセンサノードとして知られている。センサノードは、電源供給の困難な箇所に設置されることが多く、電池駆動を前提としているため、センサノードには低消費電力化が求められている。センサノードは、低消費電力化実現のために、例えば間欠動作を行う。
【０００３】
ここで間欠動作とは、センサノードの全ての機能を使用できる「アクティブモード」と、電池の消耗を防ぐためにセンサノードの主要機能を停止させる「スリープモード」とを、繰り返す動作のことである。スリープモードのとき、センサノードは「計測」や「通信」を行うことはできない。
【０００４】
この間欠動作により、センサノードは、「計測」又は「ポーリング」を行うときのみ、動作する。ここで計測とは、センサノードがセンサにより計測し、計測データを無線中継装置であるゲートウェイに送信することである。また、計測を行う周期を「計測周期」、計測を行う時刻を「計測時刻」という。
【０００５】
ポーリングとは、通信機器やソフトウェアが複数で連係動作する際に、送信(あるいは処理)要求がないか主(ホスト)コンピュータが従(ターミナル)コンピュータに問い合わせを行うことである。ホストはターミナルに対して任意のタイミングでデータを送信できるが、ターミナルは要求確認があった場合のみ、データを送信することができる。
【０００６】
このようなセンサネットワークでは、センサノードがホストとなり、ゲートウェイがターミナルとなる。そして、センサノードは、ゲートウェイから送信要求又は処理要求が来ていないか、ゲートウェイに問い合わせを行う。ここで、ポーリングを行う周期を「ポーリング周期」、ポーリングを行う時刻を「ポーリング時刻」という。
【０００７】
ポーリングは、センシングデータを採取して送信する「計測」に比べて、消費電力が少ない。また低消費電力化のため、計測によってセンサノードがアクティブモードとなった後、続いてポーリングを行うのが一般的である。「計測」や「ポーリング」は、周期によって制御することが多い、一方で、ポーリングを周期ではなく、時刻で制御する仕組みも考案されている。(特許文献１)
センサノードは「計測周期」と「ポーリング周期」に依存した間欠動作を行う。一方でゲートウェイは電源供給を前提としていることが多く、常時アクティブモードである。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００９−６４４５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
１つのゲートウェイ配下に２つ以上のセンサノードが配置されるセンサセットワーク環境下では、複数のセンサノードはそれぞれ異なる計測周期、ポーリング周期を持っていて、同期が取れていないことも想定される。あるセンサノードがゲートウェイに送信した計測データがトリガとなって、ゲートウェイから他のセンサノードに送信(あるいは処理)要求を出す場合、センサノード毎にポーリング周期が異なる状況下では、すべてのセンサノードが即座にこの要求に反応することはできない。スリープモードであるセンサノードは通信を行うことができないため、ポーリング時刻(アクティブモード)となってはじめて、ゲートウェイの要求に気付くことになる。
【００１０】
従来は、予め各センサノードのポーリング周期を短く設定しておくことで、ゲートウェイの要求に即座に応答可能とした。頻繁にゲートウェイに問い合わせを行うことで、任意のタイミングでゲートウェイからの要求があっても、その要求に早く気付くことができる。しかしながらポーリングを頻繁に行うことは、それだけセンサノードのアクティブモードの時間が長くなるため、消費電力は増加する。
【００１１】
センサノードの消費電力を鑑みて即時応答性を上げるには、ポーリングを時刻によって制御し、適切なタイミングでポーリングを行うよう、ゲートウェイからセンサノードに指示を与える。あるセンサノードがゲートウェイに送信した計測データがトリガとなって、ゲートウェイから他のセンサノードに要求を出す場合には、あるセンサノードの計測の後に、必ずすべてのセンサノードがポーリングをするよう、各センサノードのポーリング時刻を制御することが考えられる。しかしながら特許文献１の従来技術によれば、対象端末のポーリング時刻を決定する際に、他端末を鑑みることはない。  本発明はこのような状況を鑑みてなされたもので、センサノードの「即時応答性」と「省電力化」の最適化を実現する。
【課題を解決するための手段】
【００１２】
上述の課題を解決するために、本発明は、センサにより計測された計測情報を保持する複数のセンサノードから前記計測情報を受信するゲートウェイに関し、前記複数のセンサノード毎の計測時刻及びポーリング時刻を保持するタイムテーブルを有する記憶部と、前記複数のセンサノード毎のポーリング時刻を制御する制御部とを備え、前記ゲートウェイの制御部は、ポーリング時刻制御処理として、前記タイムテーブルを参照して、複数の計測時刻のうち最も直近の時刻である第一の時刻を検索し、前記第一の時刻に所定の時間を加えた時刻を第二の時刻とし、前記第二の時刻を前記複数のセンサノードのポーリング時刻として、前記タイムテーブルに格納することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、１つのゲートウェイ配下に２つ以上のセンサノードが配置されるセンサセットワーク環境下において、複数のセンサノード毎の複数の計測周期に基づき、センサノード郡に共通するポーリング時刻を可変的に決定できる。これにより、複数のセンサノードに関しポーリング回数の不要な増加を防ぎ、複数のセンサノードのアクティブモード時間を節約できるので、センサノードの「省電力化」を実現できる。また、本発明によれば、複数のセンサノードに関し、共通するポーリング時刻を十分に設定できるので、センサノードの「即時応答性」を実現できる。
【図面の簡単な説明】
【００１４】
【図１】センサネットワークのシステム構成図の例である。
【図２】センサノードの構成図。
【図３】ゲートウェイの構成図。
【図４】ゲートウェイが持つタイムテーブル。
【図５】センサノードのフローチャートの例である。
【図６】図５の「計測」の詳細フローである。
【図７】図５の「ポーリング」の詳細フローである。
【図８】ゲートウェイのフローチャート図の例である。
【図９】図８の「タイムテーブルの作成」の詳細フローである。
【図１０】図８の「タイムテーブルの更新」の詳細フローである。
【図１１】センサノード−ゲートウェイ間のシーケンス図の例である。
【図１２】センサノードのポーリング方法の例である。
【図１３】上位システムを含めたセンサネットワークのシステム構成図の例である。
【発明を実施するための形態】
【実施例１】
【００１５】
以下、本発明を適用したセンサノード−ゲートウェイ間の通信アルゴリズムを、図面を用いて詳細に説明する。
【００１６】
図1は、センサネットワークのシステム構成図である。センサネットワークは、複数のセンサノード101〜103、複数のセンサノード101〜103に接続されるセンサ105〜107、複数のセンサノード101〜103を束ねるゲートウェイ104、ゲートウェイ104と相互通信を行う上位システム109、本センサネットワークの計測データを蓄積するDBサーバ1010を備える。
【００１７】
センサノード101〜103は、無線区間108を介してゲートウェイ104と接続している。本実施例では、センサノード101〜103にそれぞれ1つずつセンサ105〜107を接続しているが、センサノード101〜103の各々には、複数のセンサを接続することも可能である。
【００１８】
上位システム109は、公衆回線1011を介して、ゲートウェイ104と接続している。公衆回線1011としては、無線、有線、その他伝送手段等がある。
【００１９】
センサ105〜107は、測定対象物から情報を測定するものであり、具体的には自然現象や人工物の機械的・電磁気的・熱的・音響的・化学的性質あるいはそれらで示される空間情報・時間情報を、信号に置き換える装置のことである。センサノード101〜103はこれらの電気信号を計測データとして加工し、加工した計測データをゲートウェイ104に送信する。
【００２０】
ゲートウェイ104は、センサノード101〜103から送信された計測データを、上位システム109に送信する。
【００２１】
上位システム109は、ゲートウェイ104から収集した計測データを、DBサーバ1010で蓄積する。上位システム109は、ゲートウェイ104やセンサノード101〜103へ制御命令を出す。
【００２２】
つまり、センサ105〜107、センサノード101〜103及びゲートウェイ104は、データの収集手段を担い、上位システム109は、データの蓄積・分析・制御を担う。
【００２３】
図2に、センサノード101の構成を示す。センサノード101は、計時手段としてRTC202と、記憶手段として記憶部203と、通信手段として無線通信部204と、計測手段としてセンサ105から信号を受信するセンサIF205と、各手段を制御する制御部201と、電池206とを備える。
【００２４】
RTC202は、センサノード101を間欠動作に対して同期を取る。記憶部203は、センサノード101がアクティブモードに遷移するまで、ゲートウェイ104から受信するポーリング時刻を一時的に保存する。
【００２５】
ポーリング時刻は、直近の一つのみ管理される。そのため、センサノード101の制御部201は、ゲートウェイ104からポーリング時刻を受信する毎に、記憶部203のポーリング時刻を上書きする。なお、複数のポーリング時刻をテーブルとして記憶部203に保存していてもよい。
【００２６】
無線通信部204は、計測データやポーリング時刻などの情報を、ゲートウェイ104と送受信する。センサIF205は、センサ105からの電気信号を受信し、計測データとして加工する。
【００２７】
アクティブモードでは、制御部201、RTC202、記憶部203、無線通信部204、センサIF205、及び電池206の機能がすべて使用可能である。一方スリープモードでは、無線通信部204の機能を停止し、電池206の消費電力を抑止している。よってスリープモードの間は、ゲートウェイ104との通信を行えない。なおセンサノード101〜103は電池(206)駆動である。
【００２８】
図3に、ゲートウェイ104の構成を示す。ゲートウェイ104は、計時手段としてRTC302と、記憶手段として記憶部303と、通信手段として無線通信部304と、外部からの制御手段として入力部305と、各手段を制御する制御部201とを備える。
【００２９】
RTC302は、センサノード101〜103への制御に対して同期を取る。記憶部303は、センサノード101〜103からの計測データやセンサノード101〜103への制御情報を保持する。無線通信部304は、計測データやポーリング時刻などの情報をセンサノード101〜103と送受信する。入力部305によって、外部から現在時刻情報やセンサノード101〜103への制御情報を取得する。制御部301内のソフトウェアによって、複数のセンサノード101〜103毎の複数の計測周期を管理し、複数センサノード101〜103に共通するポーリング時刻を算出する。
【００３０】
図4に、ゲートウェイ104の記憶部303内に保持するタイムテーブル400を示す。制御部301によってタイムテーブル400の更新制御が行われる。
【００３１】
センサノード101がゲートウェイ104配下に初期参入すると、タイムテーブル400A内の装置IDテーブル406Aに、参入したセンサノード101の装置IDが格納される。ここでセンサノード101は、参入する際に自身の計測周期(N1)をゲートウェイに伝える。センサノード101の装置IDに紐付いたセンサノード101の計測周期(N1)が、計測周期テーブル407Aに格納される。
【００３２】
また計測周期は、予めゲートウェイ104で装置IDと紐づけてテーブルとして管理していてもよい。その際はセンサノード101が参入してきた時点で、センサノード101の装置IDとゲートウェイ104を紐付けているテーブルから、タイムテーブル400A内に計測周期(N1)を格納する。
【００３３】
計測時刻テーブル401Aには、現在時刻と計測周期(N1)とに基づき、センサノード101の計測時刻スケジュール(10:00:12,10:03:12,10:06:12)がエントリされる。現在時刻の情報は、RTC302により、ゲートウェイの記憶部303に保持されている。
【００３４】
その後、計測時刻テーブル401Aにエントリされている計測時刻スケジュールの中で、最も直近の時刻402（10:00:12）が、制御部301によって検索される。そして、最も直近の時刻402からある一定時間経過後(本実施例では例えば3秒後)の時刻(10:00:15)を、ポーリング時刻テーブル403Aに格納する。
【００３５】
上記のようにタイムテーブル400Aが作られた後、センサノード102がゲートウェイ104配下に初期参入すると、タイムテーブル400Aの作成と同様にして、センサノード102の装置ID、計測周期(N2)及び計測時刻スケジュール(10:03:00,10:07:00,10:11:00)が、タイムテーブル400Bに格納される。
【００３６】
センサノード102の情報がタイムテーブル400に格納されると、制御部301によって計測時刻テーブル401B内の最も直近の時刻が検索される。ここで、計測時刻テーブル401Ｂにおける最も直近の計測時刻（10:00:12）は、タイムテーブル400Aの計測時刻テーブル401Aにおける最も直近の計測時刻402と同じである。そのため、ポーリング時刻テーブル403Bに格納される時刻は、ポーリング時刻テーブル403Aの時刻と同じである。このようにして、タームテーブル400Aは、タイムテーブル400Bへと更新される。
【００３７】
ゲートウェイ104は、センサノード101の計測時刻となると、センサノード101から計測データを受け取る。そして、その後計測が終わったとして計測時刻テーブルから402（10：00：12）を破棄する。なお、本実施例では、計測データを受け取った後402を破棄するが、現時刻が402になったタイミングで402を破棄し、タイムテーブル400を更新しても構わない。
【００３８】
その後、(本実施例では10:00:12から3秒後に)ポーリング時刻になったタイミングで、ゲートウェイ104ではポーリング時刻テーブル403Bの更新を行う。まず、ゲートウェイ104の制御部103は、計測時刻テーブル401Bにエントリされている計測時刻の中で最も直近の時刻404（10:03:00）を検索する。そして、制御部103は、その時刻404からある一定時間経過後（本実施例では3秒後）の時刻(10:03:03)を新たなポーリング時刻として、ポーリング時刻テーブル403Bに格納する。このようにして、タイムテーブル400Bはタイムテーブル400B(更新後)へと更新される。
【００３９】
本実施例では、センサノード101〜103からのポーリングと、ゲートウェイ104のポーリング時刻テーブルの更新とを同じタイミングで行うことで、センサノード101〜103への次回のポーリング時刻の通知を速やかに行うこととしている。なお、ゲートウェイ104がポーリングを受信した後、ポーリング時刻を決定し、各センサノード101〜103に通知してもよい。
【００４０】
以上の動作を、センサノード103がゲートウェイ104に参入した後も、同様に行う。タイムテーブル400B(更新後)が作られた後、センサノード103がゲートウェイ104配下に初期参入すると、センサノード103の装置ID、計測周期(N3)及び計測時刻スケジュール(10:04:48,10:11:48,10:18:48)が、タイムテーブル400Cに格納される。
【００４１】
センサノード103の情報がタイムテーブル400に格納されると、制御部301によって計測時刻テーブル401C内の最も直近の時刻が検索される。ここで、計測時刻テーブル401Cにおける最も直近の計測時刻（10:03:00）は、タイムテーブル400B(更新後)の計測時刻テーブル401Bにおける最も直近の計測時刻404と同じである。そのため、ポーリング時刻テーブル403Cに格納される時刻は、ポーリング時刻テーブル403Bの時刻と同じである。このようにして、タームテーブル400B(更新後)は、タイムテーブル400Cへと更新される。
【００４２】
ゲートウェイ104は、センサノード102の計測時刻となると、センサノード102から計測データを受け取る。そして、その後計測が終わったとして計測時刻テーブルから404（10：03：00）を破棄する。なお、本実施例では、計測データを受け取った後404を破棄するが、現時刻が404になったタイミングで404を破棄し、タイムテーブル400を更新しても構わない。
【００４３】
その後、(本実施例では10:03:00から3秒後に)ポーリング時刻になったタイミングで、ゲートウェイ104ではポーリング時刻テーブル403Cの更新を行う。まず、ゲートウェイ104の制御部103は、計測時刻テーブル401Cにエントリされている計測時刻の中で最も直近の時刻405（10:03:12）を検索する。そして、制御部103は、その時刻405からある一定時間経過後（本実施例では3秒後）の時刻(10:03:15)を新たなポーリング時刻として、ポーリング時刻テーブル403Cに格納する。このようにして、タームテーブル400Cはタイムテーブル400C(更新後)へと更新される。
【００４４】
以上のように各センサノードの計測時刻毎、及び全センサノードに共通なポーリング時刻毎に、タイムテーブル400は更新される。
【００４５】
図5に、センサノード101による初期参入から計測及びポーリング処理について示す。
【００４６】
電源を入れたセンサノード101は、アクティブモードに移行し(S501)、センサノード101自身の計測周期をゲートウェイ104に送信する(S502)。
【００４７】
その後、センサノード101は、自身のポーリング時刻を知るために、予め定めた時間(N秒)の後、初回ポーリング(最初の問い合わせ)をゲートウェイ104に対して行う(S503)。
【００４８】
S503よってポーリング時刻を取得(S504)したセンサノードは、記憶部203にポーリング時刻を格納し、スリープモードへ移行する(S505)。
【００４９】
以降は、センサノードの記憶部203には常に計測時刻とポーリング時刻が格納される。そして、計測時刻となれば(S506)計測を行い(S507)、計測時刻とならなければ計測を行わずにポーリング時刻を待つ。ポーリング時刻となれば(S508)ポーリングを行い(S509)、ポーリング時刻とならなければ計測時刻を待つ。
【００５０】
図6にセンサノード101による計測処理を示す。
【００５１】
計測時刻となったセンサノード101は、アクティブモードに移行する(S601)。
【００５２】
センサノード101は、センサ105が計測した計測データを、センサIF205を介して取得する(S602)。
【００５３】
その後、センサノード101は、取得した計測データを、ゲートウェイ104に送信する(S603)。
【００５４】
本実施例１では、センサノード101は、計測データ送信後に必ずポーリングを行う設定としている。そのため、センサノード101は、スリープモードに移行する前に、記憶部203に格納されたポーリング時刻に基づき、ポーリングを行う(S509)。
【００５５】
ポーリング終了後、センサノード101は、スリープモードに以降する(S604)。
【００５６】
図7にセンサノード101によるポーリング処理を示す。
【００５７】
計測処理同様、ポーリング時刻となったセンサノード101は、アクティブモードに以降する(S701)。ただし、計測を直前で行った場合は既にアクティブモードであるため、このプロセスは省略される。
【００５８】
その後、センサノード101は、ゲートウェイ104にポーリング送信を行い(S702)、ポーリング時刻を取得する(S703)。ポーリング時刻の取得手順は、図１１において後述する。  センサノード101は、ゲートウェイ104から取得したポーリング時刻を記憶部203に格納し(S704)、スリープモードへ移行する(S705)。
【００５９】
図8に、ゲートウェイ104によるセンサノード101の参入受入れから計測データ及びポーリング受信処理を示す。
【００６０】
電源を入れたゲートウェイ104は、どのタイミングであってもセンサノード101〜103と通信を行えるよう、受信開始処理を行う(S801)。以降はアクティブモードを持続する。
【００６１】
センサノード101〜103から計測周期の情報を受信した場合は(S802)、センサノード101〜103からの初期参入であるため、タイムテーブル400を新たに作成する(S803)。センサノード101〜103から計測周期の情報を受信しない場合は、後述するS804に進む。
【００６２】
センサノード101〜103から計測データを受信した場合は(S804)、計測データを記憶部303に格納し、直近の計測時刻(例えば402、404、405)をタイムテーブル400から削除する(S805)。センサノード101〜103から計測データを受信しない場合は、後述するS806に進む。
【００６３】
センサノード101〜103からポーリングを受信した場合は(S806)、ポーリング時刻テーブル403に格納されているポーリング時刻をセンサノード101〜103に送信する(S807)。センサノード101〜103からポーリングを受信しない場合は、後述するS808に進む。
【００６４】
ゲートウェイ104ではポーリングを受信する直前もしくは同じタイミングでポーリング時刻となることが想定される。ポーリング時刻となったとき(S808)、タイムテーブル400の更新を行う(S809、図10)。ポーリング時刻とならなければ、特に何も行わない。
【００６５】
図9に、ゲートウェイ104によるタイムテーブル作成処理を示す。  センサノード101〜103から計測周期(N1,N2,N3)を受信したゲートウェイ104は、受信した計測周期(N1,N2,N3)と現在時刻とから、計測時刻テーブル401を作成する(S901)。
【００６６】
その後、計測時刻テーブル401にエントリされている計測時刻の中で最も直近の時刻(例えば402、404、405)を検索する(S902)。
【００６７】
次に、検索した時刻から、ある一定時間経過後(本実施例では3秒後)の時刻を、共通ポーリング時刻として決定する(S903)。
【００６８】
次に、決定した共通ポーリング時刻を、ポーリング時刻テーブル403に格納する(S904)。
【００６９】
図10にゲートウェイ104によるタイムテーブル更新処理を示す。図10は、S809の詳細な説明に対応する。
【００７０】
ポーリング時刻テーブル403に格納されているポーリング時刻となると、ゲートウェイ104は、ポーリング時刻テーブル403内に格納されているポーリング時刻を、制御部301によって破棄する(S1001)。
【００７１】
その後、計測時刻テーブル401にエントリされている計測時刻の中で、最も直近の時刻(例えば402、404、405)を検索する(S1002)。
【００７２】
次に、検索した時刻から3秒後の時刻を、共通ポーリング時刻として決定する(S1003)。
【００７３】
次に、決定した共通ポーリング時刻を、ポーリング時刻テーブル403に新たに格納する(S1004)。
【００７４】
図11に、図1のネットワーク構成において、センサノード101が起動しゲートウェイ104配下に初期参入してから、他のセンサノード102、103が同様にゲートウェイ104配下に初期参入して、すべてのセンサノード101〜103のポーリング時刻が揃うまでのシーケンスを示す。すなわち、センサノード101〜103のポーリング時刻の同期が取れるまでのシーケンスである。
【００７５】
センサノードは101→102→103の順に参入する。その参入に応じて作成されるタイムテーブルを、図4に示す。なお、図11中にはアクティブモードを明示しており、スリープモードは省略している。
【００７６】
(S502A)センサノード101は、電源を入れられると、制御部201によって各部が起動されて、アクティブモードへと移行する。センサノード101の記憶部203には、予め、計測周期(N1)が格納されている。したがって、制御部201は、記憶部203から自身の計測周期(N1)を読み出し、無線通信部204を介して計測周期(N1)の情報をゲートウェイ104に送信する。
【００７７】
なお、センサノード101〜103の計測周期は、予めゲートウェイ104の記憶部303に格納されセンサノード101〜103ごとに管理されている場合もある。もしくは、外部からゲートウェイ104への入力値により設定してもよい。これらの場合は、初回参入時に、センサノード101〜103が、ポーリングによりゲートウェイ104からセンサノード101〜103自身の計測周期を取得する。
【００７８】
(S803A)センサノード101から計測周期の情報を受信したゲートウェイ104は、RTC302より得た現在時刻と計測周期(N1)から、図4に示すセンサノード101の計測時刻テーブル401Aを作成する。計測時刻テーブル401Aの作成後、制御部301によって、RTC302より得た現時刻からテーブル401A内で最も直近の計測時刻402を検索する。計測時刻テーブル401A内において、参入中のセンサノードは1台であるため、センサノード101が次に計測を行う「10:00:12」が、ゲートウェイ104にとって最も直近の計測データ受信時刻である。計測データを受信してからｎ秒後を、ポーリング時刻と設定する。本実施例の場合は3秒後として、「10:00:15」をポーリング時刻と算出し、ポーリング時刻テーブル403Aに格納する。
【００７９】
計測からポーリングまでの間隔は、例えばn秒としているが、最大構成かつすべてのセンサノードから同時に計測データが上がってきた状況で、ゲートウェイ104がすべてのセンサノードの異常を検出できる時間であり、かつ各計測周期より十分に短い時間とする。
【００８０】
なお、センサノード101〜103から計測周期と計測時刻双方の情報を取得し、計測時刻テーブル401を作ることも可能である。その場合ゲートウェイ104ではなくセンサノード101〜103のRTCを用いて、計測時刻テーブル401を作成する。
【００８１】
(S503A)センサノード101は、自身の計測周期の情報をゲートウェイ104に送信後、センサノード101自身のポーリング時刻を知るために、予め定めた時間(N秒)の後、初回ポーリング(最初の問い合わせ)をゲートウェイ104に対して行う。S502Aと同様に、センサノード101は、無線通信部204を介してゲートウェイ104にポーリング送信する。
【００８２】
(S807)ポーリングを受信したゲートウェイ104の制御部301は、ポーリング時刻テーブル403A内のポーリング時刻を、読み出す。そして、ゲートウェイ104は、読みだしたポーリング時刻を、無線通信部304を介してセンサノード101へ送信する。
【００８３】
(S504A)ゲートウェイ104からポーリング時刻を受信したセンサノード101は、記憶部203にこのポーリング時刻を記憶する。そして、センサノード101は、無線通信機能及び計測機能を停止してスリープモードに移行する。
【００８４】
(S502B)センサノード102は、(S502A)のセンサノード101と同様のプロセスを行う。
【００８５】
(S803B)センサノード102から計測周期(N2)を受信したゲートウェイ104は、(S803A)と同様のプロセスで、計測時刻テーブル401Bを作成する。計測時刻テーブル401Bの作成後、現在時刻に対して最も直近の計測時刻402を、テーブル401B内から検索する。センサノード102の次回計測時刻(10:03:00)は、センサノード101の計測時刻(10:00:12)と比較して後である。センサノード101が次に計測を行う「10:00:12」が、ゲートウェイ104にとって最も直近の計測データ受信時刻であるため、(S803A)と同様に計測データを受信してから3秒後の「10:00:15」をポーリング時刻と設定する。
【００８６】
(S503B)(S504B)センサノード102は、(S503A)(S504A)のセンサノード101と同様のプロセスを行う。
【００８７】
(S507A)記憶部203 に記憶されている計測時刻とRTC202より、計測の予定時刻となったセンサノード101は、スリープモードからアクティブモードに移行し、無線通信機能と計測機能を起動する。そして、センサノード101は、センサ105により計測された計測データを、センサ部205を介して取得する。
【００８８】
(S603A)センサノード101は、計測データをゲートウェイ104へ送信する。本実施例では、計測データ送信後に必ずポーリングを行うようなポーリング時刻としているため、スリープモードに移行する前にポーリングを行う。
【００８９】
(S805A)センサノード101から計測データを受信したゲートウェイ104は、記憶部303に計測データを格納する。また、計測時刻テーブル401Bに格納されている直近の計測時刻「10:00:12」を、処理が終わったとして破棄する。
【００９０】
(S509A)記憶部203 に記憶されているポーリング時刻とRTC202より、ポーリングの予定時刻となったセンサノード101、102は、スリープモードからアクティブモードに移行し、無線通信機能と計測機能を起動する。ただし、直前で計測を行ったセンサノード(ここではセンサノード101)は、アクティブモードを持続しており、このプロセスはスキップされる。
【００９１】
(S702-1) センサノード101及び102は、無線通信部204を介してゲートウェイ104にポーリング送信する。
【００９２】
(S809A)ゲートウェイ104では、タイムテーブル400B内のポーリング時刻「10:00:15」になった段階で、このポーリング時刻を破棄する。その後制御部301によって、RTC302より得た現時刻に対して最も直近の計測時刻404を、テーブル401B内から検索する。(S805A)における直前の計測時刻「10:00:12」は、計測時刻テーブル401B内から破棄されている。そこで、センサノード102が次に計測を行う「10:03:00」が、ゲートウェイ104にとって最も直近の計測データ受信時刻となる。(S803B)と同様に、計測データを受信してから3秒後の「10:03:03」をポーリング時刻として、ポーリング時刻テーブル403Bに新たに格納する。
【００９３】
(S703-1)ゲートウェイからポーリング時刻を受信したセンサノード101,102は、記憶部203にこのポーリング時刻を記憶し、無線通信機能及び計測機能を停止してスリープモードに移行する。
【００９４】
(S502C)センサノード103は、(S502A)のセンサノード101と同様のプロセスを行う。
【００９５】
(S803C)センサノード103から計測周期(N3)を受信したゲートウェイ104は、(S803A)と同様のプロセスで、計測時刻テーブル401Cを作成する。計測時刻テーブル作成後、現在時刻に対して最も直近の計測時刻404を、テーブル401C内から検索する。センサノード103の次回計測時刻「10:04:48」は、センサノード102の計測時刻「10:03:00」と比較して後である。センサノード102が次に計測を行う「10:03:00」が、ゲートウェイ104にとって最も直近の計測データ受信時刻であるため、(S803B)と同様に計測データを受信してから3秒後の「10:03:03」をポーリング時刻と設定する。
【００９６】
(S503C)(S504C)センサノード103は、(S503A)(S504A)のセンサノード101と同様のプロセスを行う。
【００９７】
(S507B)(S603B)センサノード102は、(S507A)(S603A)のセンサノード101と同様のプロセスを行う。
【００９８】
(S805B)センサノード102から計測データを受信したゲートウェイ104は、記憶部303に計測データを格納する。また、計測時刻テーブル401Bに格納されている直近の計測時刻「10:03:00」を、処理が終わったとして破棄する。
【００９９】
(S509B)記憶部203 に記憶されているポーリング時刻とRTC202より、ポーリングの予定時刻となったセンサノード101、102、103は、スリープモードからアクティブモードに移行し、無線通信機能と計測機能を起動する。ただし直前で計測を行ったセンサノード(ここではセンサノード102)は、アクティブモードを持続しており、このプロセスはスキップされる。
【０１００】
(S809B)ゲートウェイ104では、タイムテーブル400C内のポーリング時刻「10:03:03」になった段階で、このポーリング時刻を破棄する。その後制御部301によって、RTC302より得た現時刻に対して最も直近の計測時刻404を、テーブル401C内から検索する。(S805B)における直前の計測時刻「10:03:00」は、計測時刻テーブル401C内から破棄されている。そこで、センサノード101が次に計測を行う「10:03:12」が、ゲートウェイ104にとって最も直近の計測データ受信時刻となる。計測データを受信してから3秒後の「10:03:15」をポーリング時刻として、ポーリング時刻テーブル403Cに新たに格納する。
【０１０１】
(S702-2) センサノード101,102,103は、各々の無線通信部204を介してゲートウェイ104にポーリング送信する。
【０１０２】
(S703-2)ゲートウェイからポーリング時刻を受信したセンサノード101,102,103は、記憶部203にこのポーリング時刻を記憶し、無線通信機能及び計測機能を停止してスリープモードに移行する。  すなわち、センサノード101の新規参入後、センサノード102が新規参入すると、センサノード101,102の計測時刻テーブル401Bから、共通のポーリング時刻が導かれ、センサノード101,102に伝えられる。また、センサノード101,102が参入している状態でセンサノード103が参入すると、センサノード101,102,103の計測時刻テーブル401Cから、共通のポーリング時刻が導かれ、センサノード101,102,103に伝えられる。
【０１０３】
このように、ゲートウェイ104は、センサネットワークに参入した全てのセンサノードの計測時刻スケジュールをタイムテーブル400に格納し、タイムテーブル400で管理される全てのセンサノードの計測時刻スケジュールのうち最も直近の計測時刻に基づいて、全てのセンサノードに共通する次のポーリング時刻を決定するというプロセスを、新たなセンサノードが参入する毎に繰り返す。
【０１０４】
これにより、各センサノードに伝わるポーリング時刻は、他のセンサノードのポーリング時刻と同期したものになる。よって、本実施例１のシステムは、複数のセンサノードを、何れかのセンサノードの計測後に必ずポーリングを行うよう、ゲートウェイのタイムテーブル400で管理することができる。
【０１０５】
つまり、複数のセンサノード101,102,103毎の複数の計測周期をゲートウェイ104で管理できるよう、ゲートウェイ104はタイムテーブル400を備える。タイムテーブル400には、センサノード101,102,103毎に計測周期と計測時刻、そしてこれらに基づき決定されるポーリング時刻が格納される。センサノード101,102,103がポーリングを行うときに、ゲートウェイ104が次回ポーリング時刻を通知することで、すべてのセンサノード(あるセンサノード郡)のポーリング時刻を同期できる。
【０１０６】
センサノード101,102,103は、最初のポーリングで、ゲートウェイから次回以降のポーリング時刻を通知される。つまりセンサノード101,102,103は、起動してから2回目以降のポーリングから、他センサノードと同期できる。
【０１０７】
タイムテーブル400には、センサノード101,102,103毎に計測時刻が格納されているため、ゲートウェイ104は次にどのセンサノード101,102,103が何時に計測を行い、計測データを送信してくるのか把握している。タイムテーブル400内の計測時刻のうち、例えば最も直近の計測時刻をターゲットとして、その直後にポーリングを行うような共通のポーリング時刻を決定する。
【０１０８】
ここで計測からポーリングまでの間隔は、ゲートウェイ104が配下に配置できる最大の数のセンサノード101,102,103すべてから、同時に計測データを受信した状況で、ゲートウェイ104がすべてのセンサノード101,102,103の計測データの中身を分析できる(トリガとなりうる計測データを見つけることができる)時間であり、かつ各センサノード101,102,103の計測周期より十分に短い時間とする。
【０１０９】
例えば図11の(S603B)に含まれるセンサノード102の計測データが異常であった場合、他のセンサノード101,103の状況を取得すべくゲートウェイ104が配下のセンサノード101,102,103に対してデータ送信要求を行うと、(S603B)の直後に(S702)のポーリング送信が全センサノード101,102,103から行われるため、センサノード101,102,103はこのデータ送信要求を即座に受信できる。結果、異常を検知したセンサノード102をトリガにして、他センサノード101,103の同時間帯の情報を即座に入手できる「即時応答性」の高いシステムを提供できる。
【０１１０】
計測データが異常であるか否かの判断は、3通り考えられる。センサノード101〜103の各記憶部203で閾値を持っていてセンサノード101〜103で判断する場合、ゲートウェイ104の記憶部303で閾値を持っていてゲートウェイ104で判断する場合、ゲートウェイ104の上位システム109で判断する場合である。上位システム109は、外部からゲートウェイ104へ入力値を与えることが可能である。
【０１１１】
何れの場合にも本提案アルゴリズムは適応できる。
【０１１２】
計測データの異常判定を受け、ゲートウェイ104がデータ送信要求を配下のセンサノード101〜103に送信する際、計測周期を短縮する処理要求を出すことも可能である。あるセンサノード(本実施例１では101,102,あるいは103)からゲートウェイ104に送信された計測データが異常であると判断された時点から、より細かい周期で計測データを周辺センサノード101〜103からも取得できるシステムを実現できる。計測周期を短縮する要求は上位システム109からセンサノード101〜103に入力しても、ゲートウェイ104に予め設定した値を用いてもよい。後者の場合、センサネットワーク内のあるセンサノード(本実施例１では101,102,あるいは103)の計測データが異常であると判断された際、予め設定されたセンサノード101〜103の計測周期N1〜N3に基づいて計測周期を自動的に短縮するシステムを実現できる。
【０１１３】
以上説明したように、本発明を適用したシステムおよびゲートウェイ104によれば、１つのゲートウェイ104配下に２つ以上のセンサノードが配置されるセンサセットワーク環境下において、複数のセンサノード101,102,103毎の複数の計測周期に基づき、センサノード104郡に共通するポーリング時刻を可変的に決定できる。これにより、複数のセンサノード101,102,103に関しポーリング回数の不要な増加を防ぎ、複数のセンサノード101,102,103のアクティブモード時間を節約できるので、センサノード101,102,103の省電力化を実現できる。
【０１１４】
また、複数のセンサノード101,102,103に関し、共通するポーリング時刻を十分に設定できるので、センサノード101,102,103の即時応答性を実現できる。
【０１１５】
そして、センサノード101,102,103の省電力化を実現することで、より安価な電池で同様の電池寿命を満たすセンサノード101,102,103を実装可能である。また、電池サイズを縮小できるため、省スペース化が図れ、センサノード101,102,103の小型化・軽量化を実現できる。省電力化による電池寿命の延びによって、装置のランニングコスト低減も達成できる。
【実施例２】
【０１１６】
実施例１では、すべてのセンサノードが、何れかのセンサノードの計測後に必ずポーリングを行うシステムについて説明した。実施例２では、共通ポーリング時刻をある程度間引くことで、「即時応答性」をある程度維持しつつ、「消費電力」を抑えることも可能なシステムを説明する。
【０１１７】
図12に、従来の計測・ポーリング方法と実施例1、及び実施例2の各センサノード101 〜103の時間と計測・ポーリングの関係を示す(1201、1202、1203)。機器構成、センサノード101 〜103の計測周期や計測時刻は実施例1と同様とする。
【０１１８】
従来のポーリング方法1201では、センサノード101 〜103は、自身の計測の後に、ポーリングを行う。図中1206は、何れかのセンサノード計測後から他のセンサノードのポーリングまでの最大の時間である(ここでは、センサノード101のポーリングとセンサノード103のポーリングとの間の時間を、最大の時間とする)。このときセンサノード101の計測データによって異常が認められ、ゲートウェイ104から他センサノード102,103に送信(あるいは処理)要求を行う場合、センサノード103は、1206の時間が経過後にようやくゲートウェイ104からの要求を受信できる。このように、複数のセンサノード同士で複数の計測周期の同期が取れていない場合、ゲートウェイ104からの要求を受信できるのは、最遅で複数センサノード内の最大計測周期(ここではセンサノード103の計測周期)の時間後となる。
【０１１９】
実施例1のポーリング方法1202では、すべてのセンサノード101〜103は、何れかのセンサノード(101,102,あるいは103)の計測後に必ずポーリングを行うため、何れのセンサノード(101,102,あるいは103)の計測データをトリガに送信(あるいは処理)要求があっても即座に要求を受信できる。なお実施例１では計測の3秒後にポーリングを行うとしている。そのため実施例1と同等の「即時応答性」を単にポーリング周期を短くすることで実現すると、すべてのセンサノード101〜103は3秒毎にポーリングを行わなければならず、センサノード101〜103での消費電力は非常に増加する。実施例1は、消費電力を抑えつつ高い即時応答性を実現するポーリング方法であるといえる。
【０１２０】
そこで、実施例1のポーリング回数をある程度間引くことによって、消費電力をさらに抑制できる。1203に示すように、すべてのセンサノード101〜103の後にポーリングするのではなく、短い間隔でポーリングを行う際は一回のポーリングに纏めることで、ポーリングの回数が減り、消費電力を減らすことができる。実施例2では1207の時間だけ、即時応答性が落ちることを許容する。実施例2は消費電力の低い従来のポーリング方法1201と、即時応答性の高いポーリング方式1202の間に位置する。
【０１２１】
即時応答性が落ちることをどの程度許容するかの指標となる1207の時間は、センサノード101〜103の各記憶部203に予め格納されていても、ゲートウェイ104の記憶部303に格納された値をポーリングにより各センサノード101〜103が取得してもよい。また後者はゲートウェイ104の記憶部303に予め格納されている場合と、上位システム109からの外部入力によって値を与える場合が想定される。
【０１２２】
実施例2では、(S803)において計測時刻テーブル401に検索をかけポーリング時刻を決定する際、ゲートウェイ104にとっての直近の計測時刻ののち1207の時間内に他のセンサノード(101,102,あるいは103)の計測が行われる場合に、その計測時刻はポーリングの対象から除外する。1207のような制御パラメータを一つ増やすことで、密度の高いポーリングを一つに集約することも可能である。
【実施例３】
【０１２３】
実施例1では、ゲートウェイ104配下のすべてのセンサノード101〜103に共通するポーリング時刻を決定するシステムについて説明した。実施例３では、ゲートウェイ104,1304配下のセンサノード100〜103、1301〜1303を予めグルーピングしておくシステムについて説明する。センサノード100〜103、1301〜1303を種類や設置エリアでグルーピングし、あるセンサノードの計測後にポーリングを行うセンサノードを予め絞っておく。これにより、各センサノード(100〜103、1301〜1303)にとってはすべてのセンサノード(100〜103、1301〜1303)の計測後にポーリングを行う場合と比較して、ポーリング回数が減ることで消費電力が削減され、センサノード100〜103、1301〜1303-ゲートウェイ104,1304間通信にとっては、一度にポーリングを行うセンサノードが減るため、輻輳を回避できる。
【０１２４】
センサノード100〜103、1301〜1303のグルーピングはゲートウェイ104,1304で管理し、センサノード100〜103、1301〜1303の種類は装置ID等、設置エリアについてはGPS情報等を元にグループ分けすることも可能である。
【０１２５】
グルーピングを行うことは、あるセンサノード(100〜103、1301〜1303のいずれか)の計測データが異常であった場合、ゲートウェイ104,1304が送信(あるいは処理)要求を送信する対象センサノードを予め定めることである。これにより異常を検知したセンサノード(100〜103、1301〜1303のいずれか)に基づいて決まるセンサノードグループの、同時間帯の情報を即座に入手できる、もしくはより細かい周期で計測データを周辺センサノードからも取得できる「即時応答性」の高いセンサネットワークシステムを実現できる。
【０１２６】
複数のゲートウェイ104,1304を跨ってグルーピングすることも可能である。これを実現するシステムの構成図の例を図13に示す。上位システム1305はゲートウェイ104,1304配下のセンサノード101〜103、1301〜1303のグルーピングを、例えばグループA(101,102,1301,1302)、グループB(103,1303)のように管理する。上位システム1305とゲートウェイ104,1304は無線や有線、その他伝送手段で接続される。
【０１２７】
それぞれのグループに対して、実施例1に示す共通ポーリング時刻による制御を行うことで、異なるゲートウェイ104,1304配下のセンサノード100〜103、1301〜1303のポーリングを同期できる。これにより例えば建物内の設備監視を行うセンサネットワークシステムで、フロアごとにゲートウェイが異なる場合、あるセンサノードの計測データが異常であると判断された後、複数のフロアに跨ったセンサノード郡の情報を即座に収集できる。
【符号の説明】
【０１２８】
１００〜１０３、１３０１〜１３０３・・・センサノード
１０４、１３０４・・・ゲートウェイ
１０５〜１０７・・・センサ
１０８・・・無線区間
１０９、１３０５・・・上位システム
１０１０・・・DBサーバ
１０１１・・・公衆回線
【図１】
2016122310.tif 000003
【図２】
2016122310.tif 000004
【図３】
2016122310.tif 000005
【図４】
2016122310.tif 000006
【図５】
2016122310.tif 000007
【図６】
2016122310.tif 000008
【図７】
2016122310.tif 000009
【図８】
2016122310.tif 000010
【図９】
2016122310.tif 000011
【図１０】
2016122310.tif 000012
【図１１】
2016122310.tif 000013
【図１２】
2016122310.tif 000014
【図１３】
2016122310.tif 000015