(57)【特許請求の範囲】
【請求項１】
ノードごとに異なる時間帯が割り当てられ、自己に割り当てられた時間帯において時系列のシーケンス番号を含むデータを送信するとともに、自己に割り当てられた時間帯以外の時間帯においては他のノードからのデータを、フラッディング方式を用いて伝達する複数のデータ送信ノードと、
前記データ送信ノードの送信するデータをノード毎に異なる時間帯に受信し、受信していないデータがある場合には、前記データ送信ノードに割り当てられた時間帯とは異なる時間帯に、受信していないデータの再送指示を、受信していないデータのシーケンス番号およびノードの識別情報と共に送信するデータ収集ノードと、
を備え、
前記データ送信ノードのうちの前記再送指示のノード識別情報に該当するノードは、自己に割り当てられた時間帯において、前記再送指示に記載されたシーケンス番号以降のデータを送信する通信システム。
【請求項２】
シーケンス番号を含む各データ送信ノードのデータを、ノード毎に異なる時間帯にフラッディング方式を用いて伝達し、データ収集ノードが当該データを当該時間帯において受信するデータ送信手順と、
データ収集ノードが受信していないデータの再送指示を、受信していないデータのシーケンス番号およびノードの識別情報と共に、データ収集ノードから全てのデータ送信ノードに向けてフラッディング方式を用いて伝達する再送指示手順と、
データ送信ノードのうちの前記再送指示のノード識別情報に該当するノードが、前記再送指示に記載されたシーケンス番号以降のデータを、自己に割り当てられた時間帯にフラッディング方式を用いて伝達し、データ収集ノードが当該データを当該時間帯において受信するデータ再送手順と、
を順に有する通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、建設的干渉を利用したフラッディング方式を用いた分散センサノードのデータ収集（共有）の無線ネットワーク上で、同通信方式の利点を損なうことなく、データ通信の信頼性を向上させる通信システム及び通信方法に関する。
【背景技術】
【０００２】
フィールドに無線通信機能付きのセンサノードを複数配置して、データ収集を行う場合、各ノードの消費電力を抑え（フィールドではバッテリ動作となるため、消費電力を低くする必要があるため）、ノード間での電力消費のばらつきを防ぎ（電池交換のタイミングを揃える）かつ通信の成功確立を高める（フィールドに分散配置されているセンサノードへの無線での到達可能性を高める）ため、建設的干渉を利用したフラッディングというブロードキャスト方式が提案されている（例えば、非特許文献１参照。）。
【０００３】
フラッディング方式では、分散配置された無線通信機能付きの複数のセンサノードのうち１つがデータ送信を行った際、そのデータを受信した他のセンサノードが、データ受信後直ちに同じデータをブロードキャスト的に送信することで、無線信号の建設的干渉（同じタイミングで全く同じ無線信号を送出することで、空間的に無線信号が強め合って、より多くの他のノードに到達する）を起こし、これを複数回繰り返すことで、センサノード全体にデータを共有させることを可能としている。この方式では送信信号が全く同じ無線信号となるため、複数センサノードから同時に送信されても復号が可能である。また、信号を受けたら即座に再送信をするため、バックオフ遅延を省略可能で、無線リンクのレイヤ実装が簡単になるという利点もある。
【０００４】
この方式を拡張し、図１３に示すように、ＩＤ＝１〜ｋの各無線通信ノードに予め自ノードのデータ通信のためのタイムスロットを割当て、タイムスロット内にフラッディング方式を用いて自ノードのデータを無線通信ノード間に伝搬させ、最終的に特定のデータ収集ノードに到達させるスケジューリングを行う。これを無線通信ノード数繰り返すことで、対象となる全無線通信ノードからのデータを１箇所もしくは複数箇所のデータ収集ノードに到達させることができる。これによって、無線通信機能を持つセンサノード等をフィールドに配置し、全てのデータを収集する方式が提案されている（例えば、非特許文献２参照。）。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Ｆ．  Ｆｅｒｒａｒｉ  ｅｔ  ａｌ．，  “Ｅｆｆｉｃｉｅｎｔ  Ｎｅｔｗｏｒｋ  Ｆｌｏｏｄｉｎｇ  ａｎｄ  Ｔｉｍｅ  Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ  ｗｉｔｈ  Ｇｌｏｓｓｙ”，  ＩＰＳＮ’１１，  ２０１１
【非特許文献２】Ｃｈａｏ  ＧＡＯ  ｅｔ  ａｌ．，  “Ｅｆｆｉｃｉｅｎｔ  Ｃｏｌｌｅｃｔｉｏｎ  Ｕｓｉｎｇ  Ｃｏｎｓｔｒｕｃｔｉｖｅ−Ｉｎｔｅｒｆｅｒｅｎｃｅ  Ｆｌｏｏｄｉｎｇ  ｉｎ  Ｗｉｒｅｌｅｓｓ  Ｓｅｎｓｏｒ  Ｎｅｔｗｏｒｋｓ”，  電子情報通信学会ソサイエティ大会講演論文集，２０１１年＿通信（２），４２８，２０１１−０８−３０
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来の方式では、建設的干渉を利用したフラッディング方式によって、低消費電力かつ電力消費のばらつきを抑えて、分散配置された無線通信ノードからのデータ収集が可能であり、無線電波の到達確率も向上する。しかしながら、低消費電力のメリットを最大限に生かすべく、電波出力を極力抑える運用を行うと、無線信号が予期しない無線環境の変化（たまたま人やモノが横切るなど、無線通信の障害が発生する場合）やノイズ源の影響を受け、指定されたタイムスロット内にデータ送信ができないケースも想定される。また、電池切れや何らかの故障により動作していないケースも想定される。このような場合、データ通信の信頼性を担保するためには、何らかの再送制御が必要であるが、その方式については、提案されていない。
【０００７】
送信後に受信確認を行い、ＡＣＫ（ＡＣＫｎｏｗｌｅｄｇｅｍｅｎｔ）を用いて再送指示を行うなどの再送制御を導入する場合、この建設的干渉を利用したフラッディング方式の特性上、同じ信号のブロードキャスト通信を繰り返す必要がある事と、受信したデータがどのノードから到達したものかが不明であるという制約があり、無線ノード個別のＩＤを用いた指定的な再送ができないという問題がある。
【課題を解決するための手段】
【０００８】
本願発明の通信システム及び通信方法は、各ノードがデータにシーケンス番号を付して管理し、データ収集ノードにおいて受信できていないデータがある場合には、データ収集ノードに割り当てられた時間帯に、データの再送指示をシーケンス番号と共にフラッディング方式を用いて送信する。
【０００９】
具体的には、本願発明の通信システムは、  ノードごとに異なる時間帯が割り当てられ、自己に割り当てられた時間帯において時系列のシーケンス番号を含むデータを送信するとともに、自己に割り当てられた時間帯以外の時間帯においては他のノードからのデータを、フラッディング方式を用いて伝達する複数のデータ送信ノードと、前記データ送信ノードの送信するデータをノード毎に異なる時間帯に受信し、受信していないデータがある場合には、前記データ送信ノードに割り当てられた時間帯とは異なる時間帯に、受信していないデータの再送指示を、受信していないデータのシーケンス番号およびノードの識別情報と共に送信するデータ収集ノードと、を備え、前記データ送信ノードのうちの前記再送指示のノード識別情報に該当するノードは、自己に割り当てられた時間帯において、前記再送指示に記載されたシーケンス番号以降のデータを送信する。
【００１１】
具体的には、本願発明の通信方法は、シーケンス番号を含む各データ送信ノードのデータを、ノード毎に異なる時間帯にフラッディング方式を用いて伝達し、データ収集ノードが当該データを当該時間帯において受信するデータ送信手順と、データ収集ノードが受信していないデータの再送指示を、受信していないデータのシーケンス番号およびノードの識別情報と共に、データ収集ノードから全てのデータ送信ノードに向けてフラッディング方式を用いて伝達する再送指示手順と、データ送信ノードのうちの前記再送指示のノード識別情報に該当するノードが、前記再送指示に記載されたシーケンス番号以降のデータを、自己に割り当てられた時間帯にフラッディング方式を用いて伝達し、データ収集ノードが当該データを当該時間帯において受信するデータ再送手順と、を順に有する。
【発明の効果】
【００１３】
本発明によれば、フラッディング方式において、従来は不可能であった再送制御が可能となり、データ通信の信頼性を担保することができる。
【図面の簡単な説明】
【００１４】
【図１】フラッディング方式を用いた通信システムの一例を示す。
【図２】センサノード８１の構成例を示す。
【図３】データ保持部１３の保持するデータの一例を示す。
【図４】シンクノード８２の構成例を示す。
【図５】本実施形態に係るタイムスロットの一例を示す。
【図６】シンクノード８２のデータ収集部２３に格納されたデータの一例を示す。
【図７】実施形態２に係るＡＣＫの一例を示す。
【図８】データ収集部２３に格納されている各センサノード８１のシーケンス番号の第１例を示す。
【図９】全体再送指示Ｒｓｅｑａｌｌ及び個別再送指示Ｒｓｅｑｉの第１例を示す。
【図１０】データ収集部２３に格納されている各センサノード８１のシーケンス番号の第２例を示す。
【図１１】全体再送指示Ｒｓｅｑａｌｌ及び個別再送指示Ｒｓｅｑｉの第２例を示す。
【図１２】ＡＣＫを受信した場合のセンサノード８１の動作の一例を示すフローチャートを示す。
【図１３】従来の通信システムにおけるタイムスロットの一例を示す。
【発明を実施するための形態】
【００１５】
添付の図面を参照して本発明の実施形態を説明する。以下に説明する実施形態は本発明の実施の例であり、本発明は、以下の実施形態に制限されるものではない。なお、本明細書及び図面において符号が同じ構成要素は、相互に同一のものを示すものとする。
【００１６】
（実施形態１）
図１に、本実施形態に係る通信システムの一例を示す。本実施形態に係る通信システムは、データ送信ノードとして機能する複数のセンサノード８１と、データ収集ノードとして機能するシンクノード８２を備える。センサノード８１及びシンクノード８２は、フラッディング方式を用いて信号を送受信する。本実施形態では、シンクノード８２の識別情報がＩＤ＝１であり、センサノード８１の識別情報がＩＤ＝２〜５である場合について説明する。
【００１７】
本実施形態に係る無線通信システムは、各ノードに自ノードのセンサデータを送信するためのタイムスロットを割り当て、「各ノードが自己に割当てられたタイムスロット内でセンサデータの送信を行い、そのセンサデータを受信した他のノードが（タイムスロットとは無関係に）直ちに同じセンサデータをフラッディング方式を用いてブロードキャスト送信する」という動作を繰り返すことにより、各センサノード８１から送信されたセンサデータをシンクノードが収集する。
【００１８】
センサノード８１は、センサデータにシーケンス番号を対応付けて保持するとともに、自己に割当てられたタイムスロット内で、該センサデータをシーケンス番号に従って送信する。そして、センサノード８１は、シンクノード８２からのＡＣＫなどの送信許可を受信すると、自己に割当てられたタイムスロット内で、ＡＣＫデータで指示されたシーケンス番号のセンサデータを送信する。図２に、センサノードの構成例を示す。センサノード８１は、無線通信部１１と、通信制御部１２と、データ保持部１３と、センサ入力部１４と、スケジュール管理部１５と、時刻生成部１６と、を備える。通信制御部１２は、送信処理部１７と、転送処理部１８と、を備える。
【００１９】
転送処理部１８は、パケットのリレーを担当する。送信処理部１７は、シンクノード８２からのＡＣＫを解析して、必要なセンサデータを無線通信部１１へ送出する。送出するデータは、シーケンス番号とそのシーケンス番号が付与されているセンサデータ、これに加えてＩＤなどのノード識別情報である。本実施形態では、タイムスロットごとに送信可能なノードＩＤが定められているため、ノード識別情報は送出しなくてもよい。データ保持部１３は、センサ１０のセンサデータを時刻に対応するシーケンス番号とともに保持する。データ保持部１３は、パケット落ちに備えて、ある程度のセンサデータを保持することが好ましい。スケジュール管理部１５は、タイムスロットの管理を行う。時刻生成部１６は、時計である。センサ入力部１４は、センサ１０からのセンサデータが入力される。無線通信部１１は、無線通信のモジュールである。
【００２０】
図３に、データ保持部１３の保持するセンサデータの一例を示す。各センサノード８１のデータ保持部１３は、例えば、一様に、シーケンス番号ｓｅｑ＝８０〜１００のセンサデータを保持している。データ保持部１３の保持するセンサデータは、各ノードで一様でなくてもよく、例えばシンクノード８２から受信したＡＣＫに応じて変化させてもよい。例えば、ＡＣＫによってシンクノード８２から受信完了の通知を受けたセンサノード８１は送信済みのセンサデータを消去し、受信完了の通知を受けられなかったセンサノード８１は送信済みのセンサデータを保持しつづけるようにしてもよい。
【００２１】
シンクノード８２は、受信したセンサデータを、該センサデータを受信したタイムスロットに基づいて、該センサデータの送信元センサノードおよびシーケンス番号に対応付けて保持し、保持したセンサデータのシーケンス番号に抜けがあった場合に、自己に割り当てられたタイムスロット内で、当該抜けに対応するシーケンス番号、および必要に応じて、当該抜けに対応するセンサノードのＩＤを含むＡＣＫデータを送信する。図４に、シンクノード８２の構成例を示す。シンクノード８２は、無線通信部２１と、通信制御部２２と、データ収集部２３と、スケジュール管理部２４と、時刻生成部２５と、を備える。通信制御部２２は、受信処理部２６と、再送処理部２７と、同期処理部２８と、を備える。
【００２２】
無線通信部２１は、無線通信のモジュールである。受信処理部２６は、受信データをデータ収集部２３に格納する。データ収集部２３は、受信したセンサデータを、シーケンス番号とともにノードＩＤごとに格納する。再送処理部２７は、データ収集部２３を見て、欠落したセンサデータから再送判断を行い、再送指示を行う。同期処理部２８は、系全体のスケジュールを作成管理する。スケジュール管理部２４は、自己のタイムスロットの管理を行う。時刻生成部２５は、時計である。
【００２３】
同期処理部２８は、系全体のスケジュールを作成管理するため、各センサノード８１に対して、定期的に時刻同期パケットを送信する。シンクノード８２が自己のタイムスロットに送出するパケットを用いて他のセンサノード８１に同期を促す。送信方法は、他のセンサノード８１と同じであり、逐次同報でリレーされる。
【００２４】
全てのセンサノード８１が定期的に時刻同期パケットを受信するため、各センサノード８１のセンサ入力部１４は同じタイミングでセンサ１０からのセンサデータをサンプリングすることができる。このため、各センサノード８１のセンサ入力部１４は、同じタイミングでサンプリングされたセンサデータに共通のシーケンス番号が付与してデータ保持部１３に格納することができる。
【００２５】
また、同期処理部２８の行う時刻同期は、各ノードが持つタイムスロットの割当を行うためにも用いることができる。タイムスロットに十分な余裕があれば、時刻同期パケットの精度はあまり問題にならない。頻繁に多量のトラヒックを必要とする通信を行わない、散発的にセンサデータを出力する用途であれば、十分に長いタイムスロットを用意しておくことが可能であり、あるタイムスロットにおける無線通信区間（同報を繰り返して、パケットを到達させる時間）が終了する前に、次のタイムスロットを持つノードが送信を始めることが無いことを保証できる。つまり、時刻同期の精度が問題とならない程度にタイムスロットを広くとる。
【００２６】
図５に、本実施形態に係るタイムスロットの一例を示す。シンクノード８２も含め、すべてのノードは自己のタイムスロット（持ち時間）を持っている。ＩＤ＝２〜５に割り当てられたタイムスロット内において、センサノード８１はシンクノード８２へのセンサデータの送出（リレーを繰り返しての伝達）を行う。ＩＤ＝１に割り当てられたタイムスロット内において、シンクノード８２は各センサノード８１へのＡＣＫの送出（リレーを繰り返しての伝達）を行う。従って、シンクノード８２がＡＣＫを返すタイミングは、シンクノード８２以外の他のセンサノード８１のタイムスロットが全部終わり、シンクノード８２に他のノードからのセンサデータが全部収集されている“はず”のシンクノード８２のタイムスロット内ということになる。また、シンクノード８２は、他のすべてのセンサノード８１が自己のセンサデータを送り終わった後に一括してＡＣＫを送出するため、１つのＡＣＫの中に複数の再送指示が入ることになる。
【００２７】
本実施形態に係る通信方法は、データ送信手順と、再送指示手順と、データ再送手順と、を順に有する。以下に、各センサノード８１のデータ保持部１３にシーケンス番号ｓｅｑ＝８０〜１００のセンサデータが保持され、シンクノード８２のデータ収集部２３にシーケンス番号ｓｅｑ＝０〜８９のセンサデータの収集が完了している場合について説明する。
【００２８】
データ送信手順では、ＩＤ＝２〜５の各センサノード８１が、フラッディング方式を用いてセンサデータを送信する。シンクノード８２は、ＩＤ＝２のタイムスロット内でＩＤ＝２のセンサデータを受信し、ＩＤ＝３のタイムスロット内でＩＤ＝３のセンサデータを受信し、ＩＤ＝４のタイムスロット内でＩＤ＝４のセンサデータを受信し、ＩＤ＝５のタイムスロット内でＩＤ＝５のセンサデータを受信する。
【００２９】
例えば、シンクノード８２のスケジュール管理部２４が、ＩＤ＝１に割り当てられた時間を再送処理部２７に通知する。すると、再送処理部２７は、シーケンス番号ｓｅｑ＝９０〜１００のセンサデータを送信する旨が記載されたＡＣＫを送信する。ここでのシンクノード８２の送信方法は他のノードと同じであり、逐次伝搬させながらＡＣＫを送る（強力な電波で他のノードに一斉同報するようなことはしない）。つまり、シンクノード８２は、他のセンサノード８１と同様に、ある程度の時間がたてば、送出したＡＣＫが他のノード全体に行き渡ることを期待して、ＡＣＫを送信する。他のノードはそれをリレーしていくことになる。これにより、各センサノード８１は、ＩＤ＝１に割り当てられたタイムスロット内においてＡＣＫを受信する。
【００３０】
各センサノード８１の送信処理部１７は、受信したＡＣＫをデータ保持部１３に通知する。データ保持部１３は、ＡＣＫに記載されたシーケンス番号よりも前であるシーケンス番号ｓｅｑ＝８０〜８９のセンサデータを破棄する。各センサノード８１の送信処理部１７は、シーケンス番号ｓｅｑ＝９０〜１００のデータ送信の待機状態となる。
ＩＤ＝２に割り当てられた時間になると、ＩＤ＝２のセンサノード８１において、スケジュール管理部１５が自己に割り当てられた時間である旨を送信処理部１７に通知し、送信処理部１７がシーケンス番号ｓｅｑ＝９０〜１００のセンサデータをデータ保持部１３から読み出して無線通信部１１へ送出し、無線通信部１１が無線送信する。このとき、ＩＤ＝３及びＩＤ＝５のセンサノード８１において、スケジュール管理部１５が自己に割り当てられた時間ではないことを判定してその旨を送信処理部１７及び転送処理部１８に通知し、転送処理部１８が受信した信号をそのまま無線通信部１１へ送出し、無線通信部１１が無線送信する。このようにして、ＩＤ＝２のセンサノード８１から送信されたセンサデータは、ＩＤ＝３のセンサノード８１及びＩＤ＝５のセンサノード８１を介してシンクノード８２に伝達される。シンクノード８２の受信処理部２６は、ＩＤ＝２からのセンサデータを受信し、データ収集部２３に格納する。
【００３１】
再送指示手順では、シンクノード８２が、各センサノード８１からのセンサデータを受信したか否かを判定する。そして、ＩＤ＝１のタイムスロットにおいて、シンクノード８２が、センサデータを再送する必要のあるノードを指定して、再送指示を送信する。これにより、各センサノード８１は、再送指示を受信する。
例えば、図６に示すように、シンクノード８２のデータ収集部２３に格納されたセンサデータが、ＩＤ＝２についてはシーケンス番号ｓｅｑ＝９９までであり、ＩＤ＝３についてはシーケンス番号ｓｅｑ＝９８までであり、ＩＤ＝４についてはシーケンス番号ｓｅｑ＝９５までであり、ＩＤ＝５についてはシーケンス番号ｓｅｑ＝１００までである場合、再送処理部２７は、シーケンス番号ｓｅｑ＝９６〜１００のセンサデータの再送指示と共に次のシーケンスであるシーケンス番号ｓｅｑ＝１０１のセンサデータの送信を指示する旨が記載されたＡＣＫを送信する。ここでのシンクノード８２の送信方法は他のノードと同じであり、逐次伝搬させながらＡＣＫを送る。これにより、各センサノード８１は、ＩＤ＝１に割り当てられたタイムスロット内においてＡＣＫを受信する。
【００３２】
データ再送手順では、各センサノード８１は、自己のタイムスロットにおいて、再送指示のシーケンス番号以降のセンサデータを送信する。
例えば、ＩＤ＝２のセンサノード８１の場合、スケジュール管理部１５がＩＤ＝２に割り当てられた時間を送信処理部１７に通知し、送信処理部１７がシーケンス番号ｓｅｑ＝９６〜１０１のセンサデータをデータ保持部１３から読み出して無線通信部１１へ送出し、無線通信部１１が無線送信する。このときのＩＤ＝３及びＩＤ＝５のセンサノード８１における動作は、データ送信手順と同様である。ＩＤ＝３〜５のセンサノード８１もＩＤ＝２のセンサノード８１と同様にして、シーケンス番号ｓｅｑ＝９６〜１０１のセンサデータを、自己のタイムスロットにおいて送信する。これにより、シンクノード８２は受信できていないデータを各センサノード８１から受信することができる。
【００３３】
以上説明したように、本実施形態に係る通信システム及び通信方法は、フラッディング方式において、従来は不可能であった再送制御が可能となり、データ通信の信頼性を担保することができる。
【００３４】
（実施形態２）
実施形態１では、全てのセンサノード８１に共通の再送指示を行ったが、本実施形態では、個別に再送指示を行うことも可能になっている。センサノード８１は、ＡＣＫデータを受信すると、自己が再送指示の対象であるか否かを判定し、再送指示の対象である場合に、自己に割当てられたタイムスロット内で、ＡＣＫデータで指示されたシーケンス番号のセンサデータを送信する。
【００３５】
図７に、本実施形態に係るＡＣＫの一例を示す。本実施形態に係るＡＣＫは、個別再送指示Ｒｓｅｑｉを含むことができる。個別再送指示Ｒｓｅｑｉは、個別のセンサノード８１に対して、送信するセンサデータのシーケンス番号を指示する。
【００３６】
ＡＣＫのペイロードには制限があるため、全てのノードに個別再送指示を行うことができない。そこで、ＡＣＫパケットのペイロードに、Ｒｓｅｑａｌｌを書き込む全体再送指示フィールドとＲｓｅｑｉを書き込む個別再送指示フィールドを設ける。全体再送指示Ｒｓｅｑａｌｌは、全てのセンサノード８１から送信すべきセンサデータのシーケンス番号を指示する。
【００３７】
Ｒｓｅｑａｌｌはセンサノード８１を区別する必要がないため、全体再送指示フィールドにはセンサデータのシーケンス番号を記載すればよい。Ｒｓｅｑｉはセンサノード８１を区別する必要があるため、個別再送指示フィールドにはセンサノード８１の識別情報であるＩＤとシーケンス番号の組で記載する。
【００３８】
ＡＣＫを作成する際、シンクノード８２の再送処理部２７は、各ノードｉから連続して受信したシーケンス番号であるｓｅｑｉおよび全て到達したと仮定した場合のシーケンス番号であるｓｅｑｃを計算する。番号の虫食いが起こった場合、起こる前までをｓｅｑｉとする。各センサノード８１のｓｅｑｉを昇順にソートし、ｓｅｑｉ＝ｓｅｑｃであるセンサノード８１を除外する。ｓｅｑｉの低い順にＲｓｅｑｉ＝ｓｅｑｉ＋１として個別再送指示フィールドに書き込む。
【００３９】
例えば、ｓｅｑｃ＝１００であり、図８に示すように、データ収集部２３に格納されているＩＤ＝２，３，４，５の各センサノード８１のシーケンス番号がそれぞれ９９，９９，９８，９５である場合を考える。この場合、ｓｅｑｉを昇順にソートすると、ＩＤ＝５、ＩＤ＝４、ＩＤ＝２，３となり、ｓｅｑｉ＝ｓｅｑｃであるセンサノード８１はない。
まず、図９に示すように、シーケンス番号が最も若いＩＤ＝５に対する個別再送指示Ｒｓｅｑｉを最初に個別再送指示フィールドに書き込む。このとき、ＩＤ＝５のｓｅｑｉは９５であるため、個別再送指示Ｒｓｅｑｉは９６となる。
次に、ＩＤ＝４に対する個別再送指示Ｒｓｅｑｉを個別再送指示フィールドに書き込む。このとき、ＩＤ＝４のｓｅｑｉは９８であるため、個別再送指示Ｒｓｅｑｉは９９となる。
次に、ＩＤ＝２，３に対する個別再送指示Ｒｓｅｑｉを個別再送指示フィールドに書き込む。このとき、ＩＤ＝２，３のｓｅｑｉは９９であるため、個別再送指示Ｒｓｅｑｉは１００となる。
【００４０】
ここで、個別再送指示フィールドが３個である場合、ＩＤ＝２又はＩＤ＝３の個別再送指示Ｒｓｅｑｉを書き込めない。このような場合は、いずれかのＩＤ＝３の個別再送指示Ｒｓｅｑｉを個別再送指示フィールドに書き込み、ＩＤ＝２からもｓｅｑｉ＝１００から送信させるべく、全体再送指示フィールドにｓｅｑｉ＝１００を書き込む。
【００４１】
一方、ｓｅｑｃ＝１００であり、図１０に示すように、ＩＤ＝２，３，４，５のｓｅｑｉがそれぞれ１００，１００，９８，９５である場合、ｓｅｑｉを昇順にソートすると、ＩＤ＝５、ＩＤ＝４、ＩＤ＝２，３となり、ｓｅｑｉ＝ｓｅｑｃとなるＩＤ＝２，３を除外する。
そして、図１１に示すように、ＩＤ＝５に対する個別再送指示Ｒｓｅｑｉを個別再送指示フィールドに書き込み、ＩＤ＝４に対する個別再送指示Ｒｓｅｑｉを個別再送指示フィールドに書き込む。このときの個別再送指示Ｒｓｅｑｉはそれぞれ９６と９９となる。
ＩＤ＝４，５以外は個別再送指示Ｒｓｅｑｉの書き込み対象外となっているため、３個目の個別再送指示フィールドは空欄となる。
そして、書き込むＲｓｅｑｉが存在しない場合、Ｒｓｅｑａｌｌ＝ｓｅｑｃ＋１とする。本実施形態ではｓｅｑｃ＝１００であるため、Ｒｓｅｑａｌｌ＝１０１を全体再送指示フィールドに書き込む。
【００４２】
ＡＣＫを受信した場合のセンサノード８１の動作について、図１２のフローチャートを参照しながら説明する。
無線通信部１１にてＡＣＫを受信した各センサノード８１において、送信処理部１７は、個別再送指示フィールドに自己のノードＩＤが存在するか確認する（Ｓ１０１）。
個別再送指示フィールドに自己のノードＩＤが存在した場合、送信処理部１７は、自己のノードＩＤと組になっているシーケンス番号ｓｅｑのセンサデータから最新のシーケンス番号ｓｅｑのセンサデータまで送信する（Ｓ１０２）。例えば、ＩＤ＝５のセンサノード８１において、無線通信部１１が図９又は図１１に示すＡＣＫを受信し、データ保持部１３がｓｅｑｉ＝１０５のセンサデータまで保持している場合、送信処理部１７は、ｓｅｑｉ＝９６〜１０５のセンサデータを、ＩＤ＝５のセンサノード８１に割り当てられたタイムスロットにおいて無線通信部１１に送出する。
【００４３】
ここで、本実施形態では、フラッディング方式を用いているため、１つのタイムスロット内に１つのパケットしか送信できない。しかし、パケット長を１２８Ｂｙｔｅ、センサデータ及びシーケンス番号を４Ｂｙｔｅと仮定すると、１つのパケット内に３０個以上のセンサデータがパッキングできるため、３０以上前のシーケンス番号に遡ってセンサデータを再送することができる。このため、送信回数を増やすことなく、再送制御が可能である。
【００４４】
個別再送指示フィールドに自己のノードＩＤが存在しない場合、送信処理部１７は、Ｒｓｅｑａｌｌのセンサデータから最新のシーケンス番号ｓｅｑのセンサデータまで送信する（Ｓ１０３）。例えば、ＩＤ＝２のセンサノード８１において、無線通信部１１が図９に示すＡＣＫを受信し、データ保持部１３がｓｅｑｉ＝１０５のセンサデータまで保持している場合、送信処理部１７は、ｓｅｑｉ＝１００〜１０５のセンサデータを、ＩＤ＝２のセンサノード８１に割り当てられたタイムスロットにおいて無線通信部１１に送出する。
【００４５】
ここで、個別再送指示フィールドにノードＩＤが存在せず（Ｓ１０１においてＮｏ）、Ｒｓｅｑａｌｌが最後に送ったｓｅｑ＋１であり（Ｓ１３１においてＹｅｓ）、かつ新しくセンサデータをサンプリングしていない（Ｓ１３２においてＮｏ）場合は、一旦スリープモードとなり、Ｒｓｅｑｉによって指示されたタイミングのみ全センサノード８１を起動させることが好ましい（Ｓ１３３）。例えば、図１０及び図１１で説明した例であれば、ＩＤ＝４，５のタイムスロットでは全ノードを起動させるが、ＩＤ＝２，３のタイムスロットでは起動させない。これにより、センサデータの更新が行われなかった場合に無駄な再送を行わないため、センサノード８１及びシンクノード８２の消費電力を低減することができる。この場合、ＩＤ＝２，３のセンサノード８１のセンサデータはシンクノード８２に全て届いているため、ＩＤ＝２，３のセンサノード８１のデータ保持部１３は蓄積しておいたセンサデータを全て消去する。
【００４６】
一方、個別再送指示フィールドに自己のノードＩＤが存在せず（Ｓ１０１においてＮｏ）、Ｒｓｅｑａｌｌが最後に送ったｓｅｑ＋１であっても（Ｓ１３１においてＹｅｓ）、センサ入力部１４が新しくセンサデータをサンプリングしてデータ保持部２４が新たなセンサデータを保持した（Ｓ１３２においてＹｅｓ）場合は、各センサノード８１の送信処理部１７は、Ｒｓｅｑａｌｌに従い指定されたシーケンス番号から最新のシーケンス番号までのセンサデータを、自己に割り当てられたタイムスロットに無線通信部１１に送出する（Ｓ１０３）。
【００４７】
ＡＣＫを受信しなかった場合のセンサノード８１の動作について説明する。
ＡＣＫの受信時間帯であるＩＤ＝１のタイムスロットにおいてＡＣＫを受信せず、ＩＤ＝２のタイムスロットに突入した場合、各センサノード８１の送信処理部１７は、ＡＣＫの受信に失敗したと判定し、前回受信したＡＣＫに従う。一度もＡＣＫを受信していない場合、送信処理部１７は、データ保持部１３に保持されているすべてのシーケンス番号のセンサデータを送信する。
【００４８】
本実施形態では、ＡＣＫに個別再送指示フィールドを設けるため、シンクノード８２が収集できていないセンサデータのみをセンサノード８１に残し、収集の完了したデータを各センサノード８１から速やかに消去することができる。個別再送指示フィールドに書ききれない場合は全体再送指示フィールド欄を用いることで、ＡＣＫのペイロードの制限を回避することができる。さらに、再送する必要のないセンサノード８１がある場合にはそのノードに割り当てられた時間帯に全ノードの通信機能を停止させることができる。
【００４９】
なお、実施形態１及び実施形態２では、センサノード８１が４つの場合について説明したが、センサノード８１の数は任意である。また、センサ１０が接続されたセンサノード８１に代えて、データ保持部１３に任意のデータを保持する任意のノードを用いることができる。この場合、センサ入力部１４が任意のデータを取得し、取得データをデータ保持部１３に格納する。
【００５０】
実施形態１及び実施形態２では、シンクノード８２が１つの場合について説明したが、シンクノード８２は２以上であってもよい。この場合、各シンクノード８２は、個別にタイムスロットが割り当てられてもよいし、共通のタイムスロットが割り当てられてもよい。個別のタイムスロットを割り当てる場合、各シンクノード８２に収容されるセンサノード８１の数を減らして消費電力を削減することができる。共通のタイムスロットを割り当てる場合、いずれかのシンクノードに到達すればよい構成にすることで、システムの信頼性が向上する。
【００５１】
また、シンクノード８２も転送処理部１８を備えていてもよく、これにより、シンクノード８２に割り当てられたタイムスロット以外の時間帯においては、フラッディング方式を用いたデータ通信を行うことができる。
【産業上の利用可能性】
【００５２】
本発明は情報通信産業に適用することができる。
【符号の説明】
【００５３】
１０：センサ
１１：無線通信部
１２：通信制御部
１３：データ保持部
１４：センサ入力部
１５：スケジュール管理部
１６：時刻生成部
１７：送信処理部
１８：転送処理部
２１：無線通信部
２２：通信制御部
２３：データ収集部
２４：スケジュール管理部
２５：時刻生成部
２６：受信処理部
２７：再送処理部
２８：同期処理部
８１：センサノード
８２：シンクノード
【図１】
0005783573.tif 000002
【図２】
0005783573.tif 000003
【図３】
0005783573.tif 000004
【図４】
0005783573.tif 000005
【図５】
0005783573.tif 000006
【図６】
0005783573.tif 000007
【図７】
0005783573.tif 000008
【図８】
0005783573.tif 000009
【図９】
0005783573.tif 000010
【図１０】
0005783573.tif 000011
【図１１】
0005783573.tif 000012
【図１２】
0005783573.tif 000013
【図１３】
0005783573.tif 000014