(57)【要約】【課題】大量データを効率よく送信し省電力事情に適した無線センサネットワークを提供する【解決手段】  無線センサネットワークシステムの構成において、データ量に応じて、データ量を、少なくとも、少量データと大量データの2種のデータ定義に選別する該データ量の閾値を前記無線センサネットワークシステムに設け、一定時間間隔で繰り返し現れる起動サイクル内に同期スロット、少量データ収集スロット、大量データ送信要求スロット、を、配置し、更に大量データ収集スロットを設けることを選択可能とする、無線センサネットワークシステム。 【選択図】図４
2020092319.tif 000002
【特許請求の範囲】
【請求項１】
無線センサネットワークシステムの構成において、データ量に応じて、データ量を、少なくとも、少量データと大量データの2種のデータ定義に選別する該データ量の閾値を前記無線センサネットワークシステムに設け、一定時間間隔で繰り返し現れる起動サイクル内に同期スロット、少量データ収集スロット、大量データ送信要求スロット、を、配置し、更に大量データ収集スロットを設けることを選択可能とする、無線センサネットワークシステム。
【請求項２】
前記同期スロットにおいて、前記シンクノードは、Ｓｙｎｃパケットを同報送信し、これを受信したセンサノードは重複したＳｙｎｃパケットでない場合に前記Ｓｙｎｃパケットを同報送信で転送し、前記シンクノードは、前回の前記起動サイクル内の前記少量データ収集スロットにおいて、前記センサネットワークを構成する１個以上のセンサノードの最大ホップ数を知り、前記最大ホップ数の値に基づいて前記少量データ収集スロットの開始時刻，前記大量データ送信要求スロットの開始時刻，前記大量データ収集スロットの開始時刻を決定し、前記Ｓｙｎｃパケットは，前記少量データ収集スロットの開始時刻，前記大量データ送信要求スロットの開始時刻，前記大量データ収集スロットの開始時刻、ホップ数フィールド、の群のうち少なくとも一つを含み、更に前記センサノードは前記Ｓｙｎｃパケットを転送する際，前記ホップ数フィールドの値をインクリメントする、請求項１に記載の無線センサネットワークシステム。
【請求項３】
前記少量データ収集スロットにおいて、ホップ数の大きいセンサノードほどＳＤａｔａパケットの送信時刻を早くし，第１のセンサノードは自ノードの送信時刻前に自ノードよりもホップ数の大きい１個以上の第２のセンサノードが送信した第１のＳＤａｔａパケットを受信した際，前記第１のＳＤａｔａパケットの内容を一時的に保持し，前記第１のセンサノードの送信時刻になったとき，前記第１のセンサノードは前記第１のセンサノードの有するセンサの値，自ノードのホップ数，自ノードの隣接ノード数，自ノードの隣接ノードのアドレス，自ノードの隣接ノードとの無線通信路の品質，自ノードのバッテリ残量，自ノードが送信を要求する大量データのサイズ、の群のうち少なくとも一つを含み，さらに前記一時的に保持した前記第１のＳＤａｔａパケットの内容を加えた第２のＳＤａｔａパケットを生成し，前記第１のセンサノードが前記シンクノードに向けて前記第２のＳＤａｔａパケットを送信することで，前記シンクノードが大量データの送信を要求する０個以上のセンサノードの送信開始時刻と経路を決定することを特徴とする、請求項１に記載の無線センサネットワークシステム。
【請求項４】
前記大量データ送信要求スロットにおいて，前記シンクノードは、大量データの送信を要求する０個以上の前記センサノードのアドレス，前記送信開始時刻，前記経路に関する情報、の群のうち少なくとも一つを含むＴｘＲｅｑパケットを同報送信し、これを受信した前記センサノードは，重複したＴｘＲｅｑパケットでない場合前記ＴｘＲｅｑパケットを同報通信で転送する請求項１に記載の無線センサネットワークシステム。
【請求項５】
前記大量データ収集スロットにおいて、大量データの送信を要求する前記センサノードは，前記ＴｘＲｅｑパケットで指定された前記送信開始時刻から順々に１個以上のＬＤａｔａパケットにより前記大量データを前記シンクノードに向けて送信し、前記ＬＤａｔａパケットは，前記シンクノードへの経路上に存在する０個以上の中継センサノードのアドレス，該ＬＤａｔａパケットが前記大量データの最後かを示す情報を含み、更には前記中継センサノードは，該ＬＤａｔａパケットが含む前記中継センサノードのアドレスを参照し，次に送信すべきセンサノードを知り、前記シンクノードは前記ＴｘＲｅｑパケットで指定した大量データ送信を要求したすべての前記センサノードから大量データを受信すると，ＴｘＥｎｄパケットを同報送信し、これを受信したセンサノードは重複したＴｘＥｎｄパケットでない場合に前記ＴｘＥｎｄパケットを同報通信で転送し、前記ＴｘＥｎｄノードを受信したセンサノードは，次の同期スロット開始時刻までスリープすることを特徴とする請求項１に記載の無線センサネットワークシステム。
【請求項６】
前記ネットワークのセンサノードの電力源に、風力、水力、振動、太陽光、の群れから少なくとも一つを含む再生エネルギーを動力源とした発電方法を使用している請求項１に記載の無線センサネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークに関係し、特に、無線マルチホップセンサネットワークに関係する。
【背景技術】
【０００２】
無線センサネットワークシステム（ＷＳＮ）ではセンサノードからセンサ値を収集することが主要な目的であり、そのための効率的な方式が多数提案されている（非特許文献１）。既存の無線センサネットワークでは、ＬＰＷＡ  （Ｌｏｗ  Ｐｏｗｅｒ  Ｗｉｄｅ  Ａｒｅａ）と総称される通信方式を用いて、広域エリア（ｅ．ｇ．、  数ｋｍ四方）から低速通信（ｅ．ｇ．、  １００  ｂｐｓ程度）でセンサ値のような少量データを収集している。しかし、画像データのような大量データ（ｅ．ｇ．、  数百から１メガバイトオーダ）を効率よく収集する方式は提案されていない。一方、無線マルチホップネットワークにおいて、センサノード間で経路制御を行い、任意のセンサノード間で通信を行うためのさまざまな経路制御方式も提案されている（非特許文献２、非特許文献３）。これらの方式は、ハードウェア性能が比較的低いセンサノードには負荷が大きく、センサノードに余分な計算やストレージを要求する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１８−１３９３７８号公報
【非特許文献】
【０００４】
【非特許文献１】Ｆ．  Ｗａｎｇ  ａｎｄ  Ｊ．  Ｌｉｕ．Ｎｅｔｗｏｒｋｅｄ  Ｗｉｒｅｌｅｓｓ  Ｓｅｎｓｏｒ  Ｄａｔａ  Ｃｏｌｌｅｃｔｉｏｎ：  Ｉｓｓｕｅｓ、  Ｃｈａｌｌｅｎｇｅｓ  ａｎｄ  Ａｐｐｒｏａｃｈｅｓ，ＩＥＥＥ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｓｕｒｖｅｙｓ  ａｎｄ  Ｔｕｔｏｒｉａｌｓ，Ｖｏｌ．  １３，Ｎｏ．  ４，２０１１。
【０００５】
【非特許文献２】Ｎ．  Ａ．  Ｐａｎｔａｚｉｓ，Ｓ．  Ａ．  Ｎｉｋｏｌｉｄａｋｉｓ，ａｎｄ  Ｄ．  Ｄ．  Ｖｅｒｇａｄｏｓ，ｎｅｒｇｙ−Ｅｆｆｉｃｉｅｎｔ  Ｒｏｕｔｉｎｇ  Ｐｒｏｔｏｃｏｌｓ  ｉｎ  Ｗｉｒｅｌｅｓｓ  Ｓｅｎｓｏｒ  Ｎｅｔｗｏｒｋｓ：  Ａ  Ｓｕｒｖｅｙ，ＩＥＥＥ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｓｕｒｖｅｙｓ  ａｎｄ  Ｔｕｔｏｒｉａｌｓ，Ｖｏｌ．１５，Ｎｏ．  ２，２０１３．
【０００６】
【非特許文献３】Ｔ．  Ｗｉｎｔｅｒ，  Ｐ．  Ｔｈｕｂｅｒｔ，Ａ．  Ｂｒａｎｄｔ，Ｊ．  Ｈｕｉ，Ｒ．  Ｋｅｌｓｅｙ，Ｐ．  Ｌｅｖｉｓ，Ｋ．  Ｐｉｓｔｅｒ．  Ｒ．  Ｓｔｒｕｉｋ，ＪＰ．  Ｖａｓｓｅｕｒ，  ａｎｄ  Ｐ．  Ａｌｅｘａｎｄｅｒ，ＲＰＬ：  ＩＰｖ６  Ｒｏｕｔｉｎｇ  Ｐｒｏｔｏｃｏｌ  ｆｏｒ  Ｌｏｗ−Ｐｏｗｅｒ  ａｎｄ  Ｌｏｓｓｙ  Ｎｅｔｗｏｒｋｓ，ＲＦＣ  ６５５０，Ｍａｒｃｈ  ２０１２．
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従来のセンサネットワークシステムは数バイト程度のセンサ値を収集することが主目的である。しかし、画像はセンサ値に比べて非常に大きな情報をもたらす。たとえば火山からの噴煙、流木による河川の堰き止め、崖からの濁り水の湧き出し、などはセンサ値からでは認識が困難であるが、画像により検出可能である。数バイトであるセンサ値に比べ、画像はデータ量が非常に大きい。たとえば１００キロバイトから１メガバイトのオーダとなる。このような大きなデータをセンサノードから送信するには、センサノードに充分な電力供給が必要となる。特に、有線による電力供給が期待できない屋外では、バッテリーや太陽光発電、風力発電などの再生エネルギー、あるいはエナジーハーベスト（環境発電）などを利用して、独立電源を用意する必要があるが、従来のネットワークシステムで、大容量のデータ量を送信するには、その発電力の持続性や安定性に問題があり、実用的ではなかった。そこで、省電力な無線ネットワークシステムの提供が待たれていた。
【０００８】
例えば、特許文献１では無線マルチホップネットワークシステムにおける経路生成装置及びプログラムを提案しているが、次のような課題があった。経路生成器は無線マルチホップワークシステムに含まれるセンサノードのアドレス等をあらかじめ保持していることを前提としている。すなわち、センサノードの追加や削除を考慮していない。経路計算の際にバッテリ残量を考慮していない。複数の経路を指定することを考慮していない。省電力を考慮していない。
【０００９】
本発明者は、前述の通信事情を鋭意検討し、再生エネルギーや環境発電（エネルギーハーベスティング）によりセンサノードに電力を供給することを前提とするような電力事情に制限がある環境において、画像データのような大量データを送信する際、送信するセンサノードに加えて、大量データを中継するセンサノードの省電力を勘案し、センサノードの追加や削除にも動的に対応することで、大量データをセンサノードからシンクノードへ効率よく収集できることを見出した。すなわち、本発明の課題は、大量データを効率よく送信し省電力事情に適した無線センサネットワークを提供することである。
【課題を解決するための手段】
【００１０】
第１の発明は、無線センサネットワークシステムの構成において、データ量に応じて、データ量を、少なくとも、少量データと大量データの2種のデータ定義に選別する該データ量の閾値を前記無線センサネットワークシステムに設け、一定時間間隔で繰り返し現れる起動サイクル内に同期スロット、少量データ収集スロット、大量データ送信要求スロット、を、配置し、更に大量データ収集スロットを設けることを選択可能とする、無線センサネットワークシステムである。
【００１１】
第２の発明は、前記同期スロットにおいて、前記シンクノードは、Ｓｙｎｃパケットを同報送信し、これを受信したセンサノードは重複したＳｙｎｃパケットでない場合に前記Ｓｙｎｃパケットを同報送信で転送し、前記シンクノードは、前回の前記起動サイクル内の前記少量データ収集スロットにおいて、前記センサネットワークを構成する１個以上のセンサノードの最大ホップ数を知り、前記最大ホップ数の値に基づいて前記少量データ収集スロットの開始時刻，前記大量データ送信要求スロットの開始時刻，前記大量データ収集スロットの開始時刻を決定し、前記Ｓｙｎｃパケットは，前記少量データ収集スロットの開始時刻，前記大量データ送信要求スロットの開始時刻，前記大量データ収集スロットの開始時刻、ホップ数フィールド、の群のうち少なくとも一つを含み、更に前記センサノードは前記Ｓｙｎｃパケットを転送する際，前記ホップ数フィールドの値をインクリメントする、第１の発明に記載の無線センサネットワークシステムである。
【００１２】
第３の発明は、前記少量データ収集スロットにおいて、ホップ数の大きいセンサノードほどＳＤａｔａパケットの送信時刻を早くし，第１のセンサノードは自ノードの送信時刻前に自ノードよりもホップ数の大きい１個以上の第２のセンサノードが送信した第１のＳＤａｔａパケットを受信した際，前記第１のＳＤａｔａパケットの内容を一時的に保持し，前記第１のセンサノードの送信時刻になったとき，前記第１のセンサノードは前記第１のセンサノードの有するセンサの値，自ノードのホップ数，自ノードの隣接ノード数，自ノードの隣接ノードのアドレス，自ノードの隣接ノードとの無線通信路の品質，自ノードのバッテリ残量，自ノードが送信を要求する大量データのサイズ、の群のうち少なくとも一つを含み，さらに前記一時的に保持した前記第１のＳＤａｔａパケットの内容を加えた第２のＳＤａｔａパケットを生成し，前記第１のセンサノードが前記シンクノードに向けて前記第２のＳＤａｔａパケットを送信することで，前記シンクノードが大量データの送信を要求する０個以上のセンサノードの送信開始時刻と経路を決定することを特徴とする、第１の発明に記載の無線センサネットワークシステムである。
【００１３】
第４の発明は、前記大量データ送信要求スロットにおいて，前記シンクノードは、大量データの送信を要求する０個以上の前記センサノードのアドレス，前記送信開始時刻，前記経路に関する情報、の群のうち少なくとも一つを含むＴｘＲｅｑパケットを同報送信し、これを受信した前記センサノードは，重複したＴｘＲｅｑパケットでない場合前記ＴｘＲｅｑパケットを同報通信で転送する第１の発明に記載の無線センサネットワークシステムである。
【００１４】
第５の発明は、前記大量データ収集スロットにおいて、大量データの送信を要求する前記センサノードは，前記ＴｘＲｅｑパケットで指定された前記送信開始時刻から順々に１個以上のＬＤａｔａパケットにより前記大量データを前記シンクノードに向けて送信し、前記ＬＤａｔａパケットは，前記シンクノードへの経路上に存在する０個以上の中継センサノードのアドレス，該ＬＤａｔａパケットが前記大量データの最後かを示す情報を含み、更には前記中継センサノードは，該ＬＤａｔａパケットが含む前記中継センサノードのアドレスを参照し，次に送信すべきセンサノードを知り、前記シンクノードは前記ＴｘＲｅｑパケットで指定した大量データ送信を要求したすべての前記センサノードから大量データを受信すると，ＴｘＥｎｄパケットを同報送信し、これを受信したセンサノードは重複したＴｘＥｎｄパケットでない場合に前記ＴｘＥｎｄパケットを同報通信で転送し、前記ＴｘＥｎｄノードを受信したセンサノードは，次の同期スロット開始時刻までスリープすることを特徴とする第１の発明に記載の無線センサネットワークシステムである。  
【００１５】
第６の発明は、前記ネットワークのセンサノードの電力源に、風力、水力、振動、太陽光、の群れから少なくとも一つを含む再生エネルギーを動力源とした発電方法を使用している第１の発明に記載の無線センサネットワークシステムである。
【発明の効果】
【００１６】
上記構成により、無線センサネットワークにおいて、大量データをセンサノードからシンクノードへ効率よく収集できるようになる。
【図面の簡単な説明】
【００１７】
【図１】無線マルチホップセンサネットワークの例を示す図である。
【図２】シンクノードの構成例を示す図である。
【図３】センサノードの構成例を示す図である。
【図４】無線マルチホップセンサネットワークの動作のサイクルを示す図である。
【図５】無線マルチホップセンサネットワークの全体の処理フローの例を示す図である。
【図６】Ｓｙｎｃパケットのフォーマットを示す図である。
【図７】シンクノードにおける同期スロットの動作を示す図である。
【図８】センサノードにおける同期スロットの動作を示す図である。
【図９】センサノードにおける少量データ収集スロットの動作を示す図である。
【図１０】ＳＤａｔａパケットのフォーマットを示す図である。
【図１１】シンクノードにおける少量データ収集スロットの動作を示す図である。
【図１２】シンクノードにおける大量データ送信要求スロットの動作を示す図である。
【図１３】ＴｘＲｅｑパケットのフォーマットを示す図である。
【図１４】センサノードにおける大量データ送信要求スロットの動作を示す図である。
【図１５】センサノードにおける大量データ収集スロットの動作を示す図である。
【図１６】ＬＤａｔａパケットのフォーマットを示す図である。
【図１７】シンクノードにおける大量データ収集スロットの動作を示す図である。
【図１８】ＴｘＥｎｄパケットのフォーマットを示す図である。
【発明を実施するための形態】
【００１８】
本発明の一実施形態を示す。なお、本発明は、この実施形態に限定されるものではない。
（構成）
図１に想定する無線センサネットワーク（ＷＳＮ）を示す。ＷＳＮは１台のシンクノードと１個以上のセンサノードを含む。シンクノードとセンサノードを総称してノードと呼ぶこととする。ノードはＷｉ−Ｆｉなどの無線通信機能を有するものとする。
図１において破線の円１１１はシンクノード１０１の無線通信範囲を示し、破線の円１１２はセンサノード１０２の無線通信範囲を示す。
シンクノードからセンサノードにパケットを送信する際、中継ノード数の最小値＋１をそのセンサノードのホップ数と呼ぶこととする。図１において、センサノード１０２のホップ数は１であり、センサノード１０３のホップ数は２である。
【００１９】
第１のノードの無線通信範囲に存在する第２のノードを、第１のノードの隣接ノードと呼ぶこととする。第１のノードの隣接ノードのうち、第１のノードのホップ数より小さいホップ数を持つ第２のノードを、第１のノードの上流ノードと呼び、第１のノードより大きいホップ数を持つ第２のノードを、第１のノードの下流ノードと呼ぶこととする。図１において、センサノード１０２はセンサノード１０３の上流ノードであり、センサノード１０３はセンサノード１０２の下流ノードである。
【００２０】
図２にシンクノードの構成例を示す。シンクノードでは、ＣＰＵ、メモリ、二次記憶装置、クロック、無線ネットワークインターフェース、有線ネットワークインターフェースなどがバスに接続している。無線ネットワークインターフェースはアンテナを有する。有線ネットワークインターフェースはケーブルを介してインターネットに接続してもよい。またシンクノードには定常電源から電力が供給され、十分な計算能力があるものとする。
【００２１】
図３にセンサノードの構成例を示す。センサノードではＣＰＵ、メモリ、二次記憶装置、クロック、無線ネットワークインターフェース、１個以上のセンサ、１個以上のカメラなどがバスに接続している。無線ネットワークインターフェースはアンテナを有する。センサノードにはバッテリから電力が供給されており、バッテリには発電機が接続してもよい。センサノードのハードウェアの仕様（ＣＰＵの能力、メモリ容量、ストレージ容量）はシンクノードと比較して低いものとする。
【００２２】
シンクノードはあらかじめ設置されていることを想定する。センサノードは１個以上の隣接ノードが存在する場所に随時設置することを可能とする。センサノードを設置する際、シンクノードとセンサノードのクロックは同期していることを想定する。一方、シンクノードと各センサノードのクロックの進み方は一様ではないことを許容する。
また、センサノードを設置する際、センサノードはシンクノードのアドレス以外の情報は持たないことを想定する。
【００２３】
（処理の概要）
データ量に応じて、データ量を、少なくとも、少量データと大量データの２種のデータ定義に選別するデータ量の閾値を無線センサネットワークシステムに設ける。たとえば閾値の値を１０２４バイトとする。温度などのセンサの測定値は数バイト程度であるので、少量データと定義される。一方、画像データは数百キロバイトから数メガバイト程度であるので、大量データと定義される。
【００２４】
提案システムは図４に示す時間的なサイクルを繰り返し実行する。センサノードは起動サイクルを繰り返す。１つの起動サイクルには１つの動作スロットが含まれる。１動作スロットは同期スロット、少量データ収集スロット、大量データ送信要求スロット、大量データ収集スロットの４つのスロットからなる。大量データ収集スロットは省略されることがある。
【００２５】
シンクノードにおける同期スロットの開始時刻をＴ０とする。少量データ収集スロットの開始時刻をＴ１とする。大量データ送信要求スロットの開始時刻をＴ２とする。大量データ収集スロットの開始時刻をＴ３とする。大量データ収集スロットの終了時刻をＴ４とする。
【００２６】
（シンクノードにおける同期スロットの動作）
図５に全体の処理フローの例を示す。図５に示す無線センサネットワークは１個のシンクノードと６個のセンサノード（センサノード１からセンサノード６）から構成される。シンクノードの無線通信範囲にはセンサノード１とセンサノード２が含まれる。センサノード１の無線通信範囲にはシンクノード、センサノード２、およびセンサノード３が含まれる。センサノード２の無線通信範囲にはシンクノード、センサノード１、センサノード３、およびセンサノード４が含まれる。センサノード３の無線通信範囲にはセンサノード１、センサノード２、センサノード４、およびセンサノード５が含まれる。センサノード４の無線通信範囲にはセンサノード２、センサノード３、センサノード５、およびセンサノード６が含まれる。センサノード５の無線通信範囲にはセンサノード３、センサノード４、およびセンサノード６が含まれる。センサノード６の無線通信範囲にはセンサノード４とセンサノード５が含まれる。したがって、センサノード１とセンサノード２のホップ数は１であり、センサノード３とセンサノード４のホップ数は２であり、センサノード５とセンサノード６のホップ数は３となる。同期スロットの開始時刻（Ｔ０）において、各センサノードはスリープ状態から起動する（Ｓ３０１）。
【００２７】
次にシンクノードはＳｙｎｃパケットを同報送信する（Ｓ３０２）。図６にＳｙｎｃパケットのフォーマットを示す。Ｓｙｎｃパケットは以下のフィールドを含む。終点アドレスフィールド、始点アドレスフィールド、パケットタイプフィールド、シーケンス番号フィールド、隣接ノード情報応答フラグフィールド、ホップ数フィールド、最大ホップ数フィールド、現在時刻フィールド、Ｔ１フィールド、Ｔ２フィールド、およびＴ３フィールドである。
【００２８】
図７にシンクノードにおける同期スロットの動作Ｓ３２１を示す。前回の動作スロットの動作により、シンクノードは無線センサネットワークを構成するセンサノードの台数、各センサノードのホップ数、各センサノードの隣接ノードなどの情報を得ている。
このような情報からシンクノードはＴ１、Ｔ２、およびＴ３などのパラメタを
計算する（Ｓ３２２）。たとえば、
Ｔ１  ＝  現在時刻  ＋  係数１  ×  （最大ホップ数  ＋  係数４）
Ｔ２  ＝  Ｔ１  ＋  係数２  ×  （最大ホップ数  ＋  係数４）
Ｔ３  ＝  Ｔ２  ＋  係数３  ×  （最大ホップ数  ＋  係数４）
などでもよい。係数１から係数３は、隣接ノード間の１パケット分の無線通信に要する時間より長い時間に設定する。通信方式としてＩＥＥＥ８０２．１１ｇを想定すると、これら３つの係数は５０ミリ秒程度に設定すればよい。係数４は、前回の起動サイクルから今回の起動サイクルの間に新たに設置されたセンサノードにより最大ホップ数が増加する場合、増加の上限を定める。たとえば１、２程度でよい。
【００２９】
次にシンクノードはＳｙｎｃパケットを生成する。終点アドレスフィールドには同報アドレスを設定する。始点アドレスフィールドには自ノードのアドレスを設定する。パケットタイプフィールドには「Ｓｙｎｃ」を設定する。シーケンス番号フィールドにはＳｙｎｃパケットのシーケンス番号を設定する。シーケンス番号はシンクノードがＳｙｎｃパケットを送信するごとにインクリメントされる。シンクノードが各センサノードの隣接ノード情報を収集する場合は隣接ノード情報応答フラグフィールドに１を設定し、そうでない場合は０を設定する。ＷＳＮ内のセンサノードの設置や撤去の頻度に応じて隣接ノード情報収集の頻度を変えることができる。ホップ数フィールドには１を設定する。最大ホップ数フィールドには前回の動作スロットの動作によって得た最大ホップ数を設定する。現在時刻フィールドには現在時刻を設定する。Ｔ１、Ｔ２、およびＴ３の各フィールドにはステップＳ３２２で計算した値を設定する。
【００３０】
次にシンクノードはＳｙｎｃパケットを送信する（Ｓ３２３）。次にシンクノードは現在時刻がＴ１になるまで待機する（Ｓ３２４）。その後シンクノードは少量データ収集スロット動作に移行する（Ｓ３２５）。
【００３１】
なお、Ｓｙｎｃパケットは同報送信されるため、無線通信機能における確認応答が使用できず、パケット損失によりＳｙｎｃパケットを受信できないセンサノードが存在する可能性がある。したがって、シンクノードは同期スロットにおいてある程度の時間をおいて複数個のＳｙｎｃパケットを送信してもよい。
【００３２】
（センサノードにおける同期スロットの動作）
図８にセンサノードにおける同期スロットの動作を示す（Ｓ３４１）。
センサノードはＳｙｎｃパケットを受信するか、あるいは現在時刻がＴ１になるかを待つ（Ｓ３４２）。
【００３３】
Ｓｙｎｃパケットを受信した場合、センサノードは受信処理１を行う（Ｓ３４３）。具体的には、Ｓｙｎｃパケットの始点アドレスフィールドとホップ数フィールドの値を自ノードの隣接ノード情報として記録する。また、隣接ノード情報応答フラグフィールド、Ｔ１フィールド、Ｔ２フィールド、およびＴ３フィールドの値を記録する。
【００３４】
次にセンサノードはＳｙｎｃパケットのシーケンス番号フィールドの値を調べ、重複したＳｙｎｃパケットであるかを判断する（Ｓ３４４）。
重複である場合、ステップＳ３４２に進む。重複でない場合、センサノードは自ノードのクロックをＳｙｎｃパケットの現在時刻フィールドの値と合わせる（Ｓ３４５）。
【００３５】
次にＳｙｎｃパケットの最大ホップ数フィールドと自ノードのホップ数が等しいかを調べる（Ｓ３４６）。等しい場合はステップＳ３４２に進む。等しくない場合は受信処理２を行う（Ｓ３４７）。具体的には、Ｓｙｎｃパケットのホップ数フィールドの値を自ノードのホップ数として記録する。
【００３６】
次にセンサノードはＳｙｎｃパケットを中継する（Ｓ３４８）。具体的は、Ｓｙｎｃパケットの始点アドレスフィールドに自ノードのアドレスを設定し、ホップ数フィールドの値をインクリメントし、現在時刻フィールドに現在時刻を設定する。
その後、Ｓｙｎｃパケットを同報送信する。
【００３７】
ステップＳ３４２において現在時刻がＴ１に達した場合、センサノードは少量データ収集スロットの動作へ移行する（Ｓ３４９）。
【００３８】
図５の例では、シンクノードはセンサノード１およびセンサノード２が隣接ノードであることが分かる。
センサノード１はシンクノード、センサノード２、およびセンサノード３が隣接ノードであることが分かり、自ノードのホップ数が１であることが分かる。またセンサノード１の上流ノードはシンクノードとなる。
センサノード２はシンクノード、センサノード１、センサノード３、およびセンサノード４が隣接ノードであることが分かり、自ノードのホップ数が１であることが分かる。またセンサノード２の上流ノードはシンクノードとなる。
センサノード３は、センサノード１、センサノード２、センサノード４、およびセンサノード５が隣接ノードであることが分かり、自ノードのホップ数が２であることが分かる。また、センサノード３の上流ノードはセンサノード１とセンサノード２となる。
センサノード４は、センサノード２、センサノード３、センサノード５、およびセンサノード６が隣接ノードであることが分かり、自ノードのホップ数が２であることが分かる。また、センサノード４の上流ノードはセンサノード２とセンサノード３となる。
センサノード５は、センサノード３、センサノード４、およびセンサノード６が隣接ノードであることが分かり、自ノードのホップ数が３であることが分かる。また、センサノード５の上流ノードはセンサノード３とセンサノード４となる。
センサノード６は、センサノード４およびセンサノード５が隣接ノードであることが分かり、自ノードのホップ数が３であることが分かる。また、センサノード６の上流ノードはセンサノード４とセンサノード５となる。
【００３９】
（センサノードにおける少量データ収集スロットの動作）
図９にセンサノードにおける少量データ収集スロットの動作を示す（Ｓ３８１）。
センサノードは他のセンサノードからＳＤａｔａパケットを受信するか、あるいは自ノードのＳＤａｔａパケット送信時刻になるかを待つ（Ｓ３８２）。
各センサノードのＳＤａｔａパケット送信時刻は、ホップ数が大きいセンサノードほど早くなるようにする。たとえば、
ＳＤａｔａパケット送信開始時刻  ＝  Ｔ２  −  係数５  ×  （ホップ数  −  １）
のようにしてもよい。係数５は、隣接ノード間の１パケット分の無線通信に要する時間より長い時間に設定する。無線通信方式としてＩＥＥＥ８０２．１１ｇを想定すると、係数５は５０ミリ秒程度に設定すればよい。
【００４０】
図１０にＳＤａｔａパケットのフォーマットを示す。ＳＤａｔａパケットは以下のフィールドを含む。終点アドレスフィールド、始点アドレスフィールド、パケットタイプフィールド、データブロック数フィールド、およびデータブロックリストである。データブロックリストは１個以上のデータブロックからなる。データブロックは以下のフィールドを含む。ノードアドレスフィールド、ホップ数フィールド、少量データブロック数フィールド、少量データリスト、状態情報数フィールド、状態情報リスト、隣接ノード情報数フィールド、および隣接ノード情報リストである。少量データブロックは１個以上の少量データブロックからなる。少量データブロックは以下のフィールドを含む。少量データタイプフィールド、少量データサイズフィールド、および少量データフィールドである。少量データタイプとしては、温度、湿度、風向、および風速などが考えられる。状態情報リストは１個以上の状態情報からなる。状態情報は以下のフィールドを含む。状態情報タイプフィールド、状態情報サイズフィールド、および状態情報フィールドである。状態情報タイプとしては、大量データ送信要求やバッテリ残量などが考えられる。隣接ノード情報リストは０個以上の隣接ノード情報を含む。隣接ノード情報は隣接ノードアドレスフィールドと無線リンク状態フィールドを含む。無線リンク状態とは、隣接ノードアドレスフィールドが示すノードと自ノード間の無線リンクの状態である。たとえば、受信電波強度などである。
【００４１】
ステップＳ３８２において他ノードからのＳＤａｔａパケットを受信した場合、ＳＤａｔａパケットのデータブロックリストを一時的に保存する（Ｓ３８３）。
【００４２】
次にステップＳ３８２に進む。ステップＳ３８２において自ノードのＳＤａｔａパケット送信時刻に達した場合、自ノードのデータブロックを生成する。具体的には、ノードアドレスフィールドには自ノードのアドレスを設定する。ホップ数フィールドには自ノードのホップ数を設定する。少量データブロック数フィールドには、自ノードが有するセンサの個数を設定する。たとえば温度センサのみを有している場合、少量データブロック数フィールドの値は１となる。少量データブロックの少量データタイプには、自ノードが有するセンサのタイプを設定する。この例では「温度」である。少量データサイズフィールドには送信する少量データのサイズを設定する。少量データフィールドには少量データの値を設定する。状態情報数フィールドには、シンクノードに通知する状態情報の個数を設定する。状態情報タイプフィールドには状態情報のタイプを設定する。たとえば「大量データ送信要求」や「バッテリ残量」である。状態情報サイズフィールドには状態情報のサイズを設定する。状態情報フィールドには状態情報の値を設定する。
【００４３】
同期スロットの動作（Ｓ３４１）において受信したＳｙｎｃパケットの隣接ノード情報応答フラグの値が１であった場合、ＳＤａｔａパケットの隣接ノード数フィールドと隣接ノードアドレスリストを設定する。
【００４４】
次に、上記で生成した自ノードのデータブロックと、ステップＳ３８３で一時保存したデータブロックを結合してＳＤａｔａパケットを作成する。具体的には、終点アドレスフィールドには自ノードの上流ノードのアドレスを設定する。始点アドレスフィールドには自ノードのアドレスを設定する。パケットタイプフィールドには「ＳＤａｔａ」を設定する。データブロック数フィールドとデータブロックリストは上記で作成したものを設定する。その後、ＳＤａｔａパケットを送信する（Ｓ３８４）。
【００４５】
ＳＤａｔａパケットは特定のノードを終点アドレスフィールドで指定しているので、無線通信機能における確認応答機能が利用できる。
その後、現在時刻がＴ２に達するまで待機する（Ｓ３８５）。その後、大量データ送信要求スロット動作に移行する（Ｓ３８６）。
【００４６】
図５の例では、最初にセンサノード６とセンサノード５で送信開始時刻となる。複数のセンサノードが同時にＳＤａｔａパケットを送信するとパケットの衝突が発生する場合があるので、乱数や自ノードのアドレスを基に生成したわずかな時間だけ送信開始時刻をずらしてもよい。
【００４７】
センサノード６は自ノードのデータブロックを含めたＳＤａｔａパケットを上流ノードであるセンサノード４に送信する（Ｓ３０３）。
センサノード４は上記のＳＤａｔａパケットを受信し、センサノード６のデータブロックを一時保存する。
その後、センサノード４でも送信開始時刻となり、センサノード４は自ノードのデータブロックと一時保存したデータブロックを含めたＳＤａｔａを上流ノードであるセンサノード２に送信する（Ｓ３０４）。
センサノード２も同様にして自ノードのデータブロックと一時保存したデータブロックを含めたＳＤａｔａを上流ノードであるシンクノードに送信する（Ｓ３０５）。
センサノード５が送信するＳＤａｔａパケット（Ｓ３０６）も同様にしてセンサノード３（Ｓ３０７）、センサノード１（Ｓ３０８）を経てシンクノードに到達する。
【００４８】
（シンクノードにおける少量データ収集スロットの動作）
図１１にシンクノードにおける少量データ収集スロットの動作を示す（Ｓ３６１）。
シンクノードはセンサノードからＳＤａｔａパケットの受信を待つか、あるいは現在時刻がＴ２に達するのを待つ（Ｓ３６２）。
ＳＤａｔａパケットを受信した場合、シンクノードは受信処理を行う（Ｓ３６３）。具体的には、ＳＤａｔａパケットに含まれるデータブロックリストを記録する。
次にシンクノードはステップＳ３６２に進む。ステップＳ３６２において現在時刻がＴ２に達した場合、ステップＳ３６３で収集したデータブロックに含まれる状態情報と隣接ノードアドレスを基に大量データの送信を要求するノードの送信タイミングのスケジューリングと中継ノード計算を行う（Ｓ３６４）。
【００４９】
次にシンクノードは大量データ送信要求スロット動作へ移行する（Ｓ３６５）。
【００５０】
図５の例では、センサノード６とセンサノード３が大量データの送信を要求しているとする。シンクノードは何らかのアルゴリズムにより、最初はセンサノード３から、次にセンサノード６から大量データを受信すると決める。たとえばホップ数が小さいセンサノードからの大量データ収集を優先させてもよいし、その逆でもよい。
次に大量データのサイズなどを考慮して大量データの送信を要求するセンサノードの送信開始時刻を決定する。
次に各センサノードの隣接ノード情報を基にして経路を決定する。経路を決定する際、経由するセンサノードのバッテリ残量を考慮してもよい。たとえば、バッテリ残量が少ないセンサノードを避けるような経路を選択してもよい。また、複数の経路を指定し、大量データを経路ごとに分割して送信するようにしてもよい。
【００５１】
図５の例では、センサノード３からの大量データ収集には中継ノードとしてセンサノード１を使用し、センサノード６からの大量データ収集には中継ノードとしてセンサノード４とセンサノード２を使用するとしている。
【００５２】
（シンクノードにおける大量データ送信要求スロットの動作）
図１２にシンクノードにおける大量データ送信要求スロット動作を示す（Ｓ４０１）。
【００５３】
シンクノードはＴｘＲｅｑパケットを送信する（Ｓ４０２）。
図１３にＴｘＲｅｑパケットのフォーマットを示す。ＴｘＲｅｑパケットは以下のフィールドを含む。終点アドレスフィールド、始点アドレスフィールド、パケットタイプフィールド、シーケンス番号フィールド、送信ノード情報数フィールド、および送信ノード情報リストである。送信ノード情報リストは０個以上の送信ノード情報を含む。送信ノード情報は以下のフィールドを含む。送信ノードアドレスフィールド、送信開始時刻フィールド、経路情報数フィールド、および経路情報リストである。経路情報リストは１個以上の経路情報からなる。経路情報は以下のフィールドからなる。中継ノード数フィールドおよび中継ノードアドレスリストである。中継ノードアドレスリストは１個以上の中継ノードアドレスからなる。
【００５４】
次にシンクノードは現在時刻がＴ３に達するまで待機する（Ｓ４０３）。
なお、ＴｘＲｅｑパケットは同報送信されるため、無線通信機能における確認応答が使用できず、パケット損失によりＴｘＲｅｑパケットを受信できないセンサノードが存在する可能性がある。したがって、シンクノードは大量データ送信要求スロットにおいてある程度の時間をおいて複数個のＴｘＲｅｑパケットを送信してもよい。
図５の例では、シンクノードはセンサノード３とセンサノード６に
大量データ収集を要求している（Ｓ３０９）。
【００５５】
（センサノードにおける大量データ送信要求スロットの動作）
図１４にセンサノードにおける大量データ送信要求スロット動作を示す（Ｓ４２１）。
【００５６】
センサノードはＴｘＲｅｑパケットの受信を待つ（Ｓ４２２）。
ＴｘＲｅｑパケットを受信すると、シーケンス番号フィールドを調べ重複したＴｘＲｅｑパケットかを確認する（Ｓ４２３）。重複でない場合、ＴｘＲｅｑパケットを中継する（Ｓ４２４）。重複である場合、ステップＳ４２５に進む。
【００５７】
次にセンサノードはＴｘＲｅｑパケットの送信ノード情報リストに自ノードが含まれているか、または中継ノードアドレスリストに自ノードが含まれているかを確認する（Ｓ４２５）。少なくとも一方に含まれている場合、大量データ収集スロット動作に移行する（Ｓ４２６）。
どちらにも含まれていない場合、センサノードはスリープし（Ｓ４２７）、次の同期スロットの開始を待つ（Ｓ４２８）。
【００５８】
図５の例では、センサノード５は送信ノードではなくかつ中継ノードでもないので、次回の同期スロット動作の開始までスリープする。
センサノード１、センサノード２、およびセンサノード４は中継ノードに指定されているので、大量データ収集スロットの動作に移行する。
センサノード３とセンサノード６は大量データ送信ノードに指定されているので、大量データ収集スロットの動作に移行する。
【００５９】
（センサノードにおける大量データ収集スロットの動作）
図１５にセンサノードにおける大量データ収集スロットの動作を示す（Ｓ４６１）。
センサノードはパケット受信、またはＴｘＲｅｑパケットで指定された送信開始時刻になるのを待つ（Ｓ４６２）。
【００６０】
パケットを受信した場合、ＬＤａｔａパケットかＴｘＥｎｄパケットかを判断する（Ｓ４６３）。ＬＤａｔａパケットの場合、ＬＤａｔａパケットを中継する（Ｓ４６４）し、ステップＳ４６２に進む。ステップＳ４６２においてＴｘＥｎｄパケットの場合、スリープし（Ｓ４７６）、次の同期スロット開始まで待機する（Ｓ４６８）。ステップＳ４６２で送信開始時刻の場合、ＬＤａｔａパケットを送信する。
【００６１】
図１６にＬＤａｔａパケットのフォーマットを示す。ＬＤａｔａパケットは以下のフィールドを含む。終点アドレスフィールド、始点アドレスフィールド、パケットタイプフィールド、データ送信ノードアドレスフィールド、中継ノード数フィールド、中継ノードアドレスリスト、データシーケンス番号フィールド、データサイズフィールド、最終データフラグフィールド、およびデータフィールドである。中継ノードアドレスリストは１個以上の中継ノードアドレスフィールドからなる。
【００６２】
大量データを送信するセンサノードは、以下のようにＬＤａｔａパケットのフィールドを設定する。終点アドレスフィールドには、ＴｘＲｅｑパケットで指定された上流ノードのアドレスを設定する。始点アドレスフィールドには自ノードのアドレスを設定する。パケットタイプフィールドには「ＬＤａｔａ」を設定する。データ送信ノードアドレスフィールドには自ノードのアドレスを設定する。中継ノード数フィールドには、ＴｘＲｅｑパケットの中継ノード数フィールドの値を設定する。中継ノードアドレスリストには、ＴｘＲｅｑパケットの中継ノードアドレスリストの値を設定する。データシーケンス番号フィールドには、送信する大量データのシーケンス番号を設定する。データサイズフィールドには、このＬＤａｔａパケットで送信するデータのサイズを設定する。このＬＤａｔａパケットで送信するデータが大量データの最後である場合、最終データフラグフィールドには１を設定し、そうでない場合は０を設定する。データフィールドにはデータを格納する。次にセンサノードはこのＬＤａｔａパケットで送信するデータが大量データの最終データかを判断する（Ｓ４６６）。最終でない場合、ステップＳ４６５に進む。最終の場合、ステップＳ４６２に進む。
【００６３】
図５の例では、最初にセンサノード３が大量データの送信を始める。この例では、センサノードはｍ個のＬＤａｔａパケットに分けて大量データを送信している。
【００６４】
センサノード３が送信するＬＤａｔａパケットのフィールドは以下のように設定される。終点アドレスフィールドにはセンサノード１のアドレスを設定する。始点アドレスフィールドには自ノードのアドレスを設定する。パケットタイプフィールドには「ＬＤａｔａ」を設定する。データ送信ノードアドレスフィールドには自ノードのアドレスを設定する。中継ノード数フィールドには１を設定する。中継ノードアドレスフィールドにはセンサノード１のアドレスを設定する。データシーケンス番号フィールドにはデータのシーケンス番号を設定する。データサイズフィールドにはデータのサイズを設定する。１個目からｍ−１個目までのＬＤａｔａパケットの最終データフラグフィールドには０を設定し、ｍ個目には１を設定する。データフィールドにはデータを格納する。
【００６５】
センサノード１はこのＬＤａｔａパケットを受信する。センサノード１はこのＬＤａｔａパケットの始点アドレスフィールドに自ノードのアドレスを設定し、シンクノードに中継する。
次にセンサノード６が送信を開始する。同様の手順により、センサノード６が送信したＬＤａｔａパケットはセンサノード４およびセンサノード２を経由してシンクノードに到達する。
やがてシンクノードはＴｘＥｎｄパケットを送信するので、センサノード１、センサノード２、センサノード３、センサノード４、およびセンサノード６はＴｘＥｎｄパケットを受信し、次期の同報スロットまでスリープする。
【００６６】
（シンクノードにおける大量データ収集スロットの動作）
図１７にシンクノードにおける大量データ収集スロットの動作を示す（Ｓ４４１）。
シンクノードはＬＤａｔａパケットの受信を待つ（Ｓ４４２）。ＬＤａｔａパケットを受信すると受信処理を行う（Ｓ４４３）。具体的には、大量データ全体の受信が完了するまでＬＤａｔａパケットに含まれるデータを適切に保存する。
【００６７】
次にシンクノードはこのＬＤａｔａパケットの最終データフラグフィールドの値が１かを確認する（Ｓ４４４）。１ではない場合、ステップＳ４４２に進む。１である場合、受信完了処理を行う（Ｓ４４５）。具体的には大量データを適切に保存する。
【００６８】
次に、今回の送信ノードが最後の大量データ送信ノードかを確認する（Ｓ４４６）。最後ではない場合、ステップＳ４４２に進む。最後である場合、図１８に示すＴｘＥｎｄパケットを送信する。
【００６９】
ＴｘＥｎｄパケットは以下のフィールドを含む。終点アドレスフィールド、終点アドレスフィールド、パケットタイプフィールド、およびシーケンス番号フィールドである。
【００７０】
シンクノードが送信するＴｘＥｎｄパケットのフィールドは以下のように設定される。終点アドレスフィールドには同報アドレスを設定する。始点アドレスフィールドには自ノードのアドレスを設定する。パケットタイプフィールドには「ＴｘＥｎｄ」を設定する。シーケンス番号フィールドにはＴｘＥｎｄパケットのシーケンス番号を設定する。次にシンクノードは次期の同期スロットの開始を待つ（Ｓ４４８）。その後、同期スロット動作に移行する（Ｓ４４９）。
【００７１】
今までの実施例を整理すると次のようになる。
センサノードの起動サイクル中に同期スロット、少量データ収集スロット、大量データ送信要求スロット、大量データ収集スロットを設けることにより、少量データはセンサノードからのプッシュ型（センサノードが送信要求を受けることなく、シンクノードに少量データを送信）による収集を行い、大量データはプル型（センサノードは送信要求を受けてシンクノードにデータを送信）による収集を行うことができる。
同期スロットにおいて、シンクノードは各センサノードにセンサノードの形状に合わせた起動時間を指定することができる。
【００７２】
少量データ収集において、各センサノードは自ノードのシンクノードからのホップ数に応じて送信開始時刻を決めるため、自ノードよりホップ数の大きいセンサノードからデータに自ノードのデータを結合してシンクノードに送信することができる。
少量データ収集スロットにおいて、センサノードは少量データに加えて各センサノードの状態情報（隣接ノード情報やバッテリ残量など）をシンクノードに送ることにより、センサノードの追加や削除に動的に適応できる。
大量データ送信において、バッテリ残量に応じた経路計算をすることができる。
大量データ送信において、複数の経路を計算することができる。
大量データを送信する各センサノードの送信開始時刻のスケジューリングが可能になる。
【００７３】
大量データ送信要求スロットにおいてシンクノードが無線マルチホップネットワークに送信要求パケットを送信することにより、大量データの送信や中継を行うセンサノード以外は次回の起動サイクル開始まで直ちにスリープすることができる。センサノードのバッテリ残量を考慮し、大量データ収集スロットを省略することができる。
【００７４】
本実施例に示す構成から得られる効果は次のようなものである。
（１）従来の無線センサネットワークでは、画像データのような大量データを無線マルチホップ通信で収集するものは存在しなかった。本実施例の構成では、センサノードの起動サイクル中に同期スロット、少量データ収集スロット、大量データ送信要求スロット、大量データ収集スロットを設けることにより、少量データはセンサノードからのプッシュ型（センサノードが送信要求を受けることなく、シンクノードに少量データを送信）による収集を行い、大量データはプル型（センサノードは送信要求を受けてシンクノードにデータを送信）による収集を行う。この結果、無線マルチホップセンサネットワークにおいて効率よくセンサ値のような少量データと画像データのような大量データを効率よく収集することができる。
【００７５】
（２）センサノードが保持すべき情報は、自ノードの隣接ノード情報のみであり、センサノードは経路表を持つ必要はない。
大量データを送信する際の経路計算はシンクノードが行ってセンサノードに指示するため、センサノードは経路計算をする必要がない。
（３）センサノードの追加や削除に自動的に対応できる。
（４）シンクノードはセンサネットワーク全体の状態情報を得てセンサノードからの大量データ送信をスケジューリングするため、以下のような経路指定が可能である。
(ア)バッテリ残量が少ないセンサノードを迂回した経路を指定することができる。
センサノードからシンクノードまでの複数の経路を指定することにより、大量データのパケットを中継するセンサノードのバッテリ消費を抑えることができる。
(ウ)センサノードの大量データ送信開始時刻をずらすことにより、データ送信の集中を避けることができる。
【符号の説明】
【００７６】
１０１…シンクノード、１０２、１０３…センサノード
【図１】
2020092319.tif 000003
【図２】
2020092319.tif 000004
【図３】
2020092319.tif 000005
【図４】
2020092319.tif 000006
【図５】
2020092319.tif 000007
【図６】
2020092319.tif 000008
【図７】
2020092319.tif 000009
【図８】
2020092319.tif 000010
【図９】
2020092319.tif 000011
【図１０】
2020092319.tif 000012
【図１１】
2020092319.tif 000013
【図１２】
2020092319.tif 000014
【図１３】
2020092319.tif 000015
【図１４】
2020092319.tif 000016
【図１５】
2020092319.tif 000017
【図１６】
2020092319.tif 000018
【図１７】
2020092319.tif 000019
【図１８】
2020092319.tif 000020