(57)【特許請求の範囲】
【請求項１】
パケットの宛先毎に、当該宛先までパケットを送り届けるときの当該パケットの送信先となる他の経路制御装置を特定する送信先情報及び当該宛先にパケットを中継して送り届けるときの自装置の送信先を決定する際に参照される指標情報を対応付けして含む経路制御情報を記憶する経路制御情報記憶手段と、
送信対象のパケットを取得する取得手段と、
前記経路制御情報に含まれている指標情報に基づいて、前記取得手段により取得されたパケットを当該宛先に送り届けるときの自装置の送信先となる他の経路制御装置を決定する送信先決定手段と、
前記取得手段により取得されたパケットに付加されている中継装置情報であって当該パケットを中継した他の経路制御装置の識別情報及び当該他の経路制御装置それぞれのパケットの中継順を特定しうる情報を含む中継装置情報に基づき当該宛先の経路制御情報を前記経路制御情報記憶手段に設定する経路制御情報設定手段と、
前記取得手段により取得されたパケットに付加されている中継装置情報に、自装置の識別情報及び自装置が中継する順番を特定しうる情報を設定することで当該中継装置情報を更新する中継装置情報更新手段と、
前記中継装置情報更新手段により中継装置情報が更新されたパケットを、前記送信先決定手段により決定された送信先へ送信するパケット送信手段と、
前記パケット送信手段によるパケットの送信実績に基づき当該宛先の経路制御情報に含まれる当該送信先に対応する指標情報を更新する指標情報更新手段と、
を有し、
指標情報は、前記送信先決定手段により決定された送信先へパケットを送信した回数を含み、
前記送信先決定手段は、パケットの宛先の経路制御情報に送信先の候補となる他の経路制御装置が複数設定されている場合、送信回数が最も小さい他の経路制御装置を送信先として決定することを特徴とする経路制御装置。
【請求項２】
請求項１に記載の経路制御装置において、
指標情報は、更に送信時に発生したエラー回数又は送信した回数に対するエラー率を含み、
前記送信先決定手段は、パケットの宛先の経路制御情報に送信先の候補となる他の経路制御装置が複数設定されている場合、送信回数及びエラー回数又はエラー率に基づいて送信先を決定することを特徴とする経路制御装置。
【請求項３】
請求項１又は２に記載の経路制御装置を有し、センサ情報を含むデータパケットを生成する複数のセンサノードと、
前記各センサノードにより生成されたデータパケットを収集するデータ収集ノードと、
を有し、
前記各センサノードにおける経路制御情報記憶手段に記憶された経路制御情報に含まれている指標情報は、当該センサノードにおける送信先決定手段により決定された送信先へパケットを送信した回数を含み、
前記各センサノードにおける送信先決定手段は、パケットの宛先の経路制御情報に送信先の候補となる他の経路制御装置が複数設定されている場合、送信回数が最も小さい他の経路制御装置を送信先として決定することを特徴とするセンサノードネットワークシステム。
【請求項４】
請求項３に記載のセンサノードネットワークシステムにおいて、
前記各センサノードにおける送信先決定手段は、当該センサノードにおける経路制御情報記憶手段に記憶された経路制御情報に含まれている指標情報に基づいて、前記取得手段により取得された、前記データ収集ノードから発信された制御パケットを当該宛先に送り届けるときの自装置の送信先となる他のセンサノードを決定することを特徴とするセンサノードネットワークシステム。
【請求項５】
請求項４に記載のセンサノードネットワークシステムにおいて、
前記各センサノードにおける経路制御情報記憶手段に記憶された経路制御情報に含まれている指標情報は、更に送信時に発生したエラー回数又は送信した回数に対するエラー率を含み、
前記各センサノードにおける送信先決定手段は、パケットの宛先の経路制御情報に送信先の候補となる他の経路制御装置が複数設定されている場合、送信回数及びエラー回数又はエラー率に基づいて送信先を決定することを特徴とするセンサノードネットワークシステム。
【請求項６】
パケットの宛先毎に、当該宛先までパケットを送り届けるときの当該パケットの送信先となる他の経路制御装置を特定する送信先情報及び当該宛先にパケットを中継して送り届けるときの自装置の送信先を決定する際に参照される指標情報を対応付けして含む経路制御情報を記憶する経路制御情報記憶手段を有する経路制御装置に搭載されたコンピュータを、
送信対象のパケットを取得する取得手段、
前記経路制御情報に含まれている指標情報に基づいて、前記取得手段により取得されたパケットを当該宛先に送り届けるときの自装置の送信先となる他の経路制御装置を決定する送信先決定手段、
前記取得手段により取得されたパケットに付加されている中継装置情報であって当該パケットを中継した他の経路制御装置の識別情報及び当該他の経路制御装置それぞれのパケットの中継順を特定しうる情報を含む中継装置情報に基づき当該宛先の経路制御情報を前記経路制御情報記憶手段に設定する経路制御情報設定手段、
前記取得手段により取得されたパケットに付加されている中継装置情報に、自装置の識別情報及び自装置が中継する順番を特定しうる情報を設定することで当該中継装置情報を更新する中継装置情報更新手段、
前記中継装置情報更新手段により中継装置情報が更新されたパケットを、前記送信先決定手段により決定された送信先へ送信するパケット送信手段、
前記パケット送信手段によるパケットの送信実績に基づき当該宛先の経路制御情報に含まれる当該送信先に対応する指標情報を更新する指標情報更新手段、
として機能させ、
指標情報は、前記送信先決定手段により決定された送信先へパケットを送信した回数を含み、
前記送信先決定手段は、パケットの宛先の経路制御情報に送信先の候補となる他の経路制御装置が複数設定されている場合、送信回数が最も小さい他の経路制御装置を送信先として決定することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、経路制御装置、センサノードネットワークシステム及びプログラム、特に経路制御装置が固定的に配置された固定型マルチホップセンサネットワークに関する。
【背景技術】
【０００２】
センサノードと呼ばれるセンサ付無線端末を空間に複数散在させ、それらのセンサノードを協調させてセンサデータを一括収集するセンサネットワークがある。センサネットワークの形態として、スマートメータに代表されるセンサノードを多数、固定的に配置した固定型マルチホップセンサネットワークの形態で構築する場合が少なくない。固定的に配置されたセンサノードは、それぞれ自律して動作する。
【０００３】
固定型マルチホップセンサネットワークにおいて、各センサノードにおいて生成されたセンサ情報は、データ収集ノードに一括収集されることになるが、そのために、データ収集ノードの遠方に配置されたセンサノードで生成されたセンサ情報を含むデータパケットは、そのセンサノードの上り方向（データ収集ノードに近い場所）に配置されたセンサノードによって順次中継されることによってデータ収集ノードまで送り届けられる。一方、センサノードにおける動作を制御するためにデータ収集ノードから発せられる制御パケットは、データ収集ノードから下り方向に配置されたセンサノードによって順次中継されることによって宛先として指定されたセンサノードへ送り届けられる。
【０００４】
このように、各センサノードは、パケットを中継する際に、そのパケットの送信先とする他のセンサノードを決定することになるが、他のセンサノードとの位置関係を認識するために、当該他のセンサノードからデータ収集ノードまでのホップ数を含むルート情報を取得するようにしている。従来においては、ルート情報送信要求をブロードキャストして周辺のセンサノードから取得するようにしている。そして、取得したルート情報に含まれているホップ数を参照してデータパケットの送信先となる隣接ノードを決定する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−８７６６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、センサノード間でやり取りされるルート情報は、センサノードネットワークにおいて収集対象となる情報そのものではないので、ネットワーク負荷や、各センサノードにおける電力使用量を考慮すると、センサノード間でルート情報をやり取りする数を極力抑えたい。
【０００７】
また、いずれかのセンサノードを副データ収集ノードとして設定し、データ収集ノードに障害が発生したなど何らかの理由により副データ収集ノードをデータ収集ノードとして機能させたい場合があるが、従来においては、このような副データ収集ノードの設定については意識していない。仮に、副データ収集ノードを設定していたとしても、副データ収集ノードをデータ収集ノードとして機能させる際にはルート情報をやり取りして、副データ収集ノードまでデータパケットを送り届けるためのルート学習を改めて実施する必要がある。
【０００８】
本発明は、従来に比してルート情報の経路制御装置間での交換数を削減することを目的とする。
【０００９】
また、現在のデータ収集ノードの代わりにいずれかのセンサノードをデータ収集ノードとして機能させる場合でも、センサノード間でルート情報のやり取りを新たに行わせることなくデータ収集ノードの変更に対応できるようにすることを別の目的とする。
【課題を解決するための手段】
【００１０】
本発明に係る経路制御装置は、パケットの宛先毎に、当該宛先までパケットを送り届けるときの当該パケットの送信先となる他の経路制御装置を特定する送信先情報及び当該宛先にパケットを中継して送り届けるときの自装置の送信先を決定する際に参照される指標情報を対応付けして含む経路制御情報を記憶する経路制御情報記憶手段と、送信対象のパケットを取得する取得手段と、前記経路制御情報に含まれている指標情報に基づいて、前記取得手段により取得されたパケットを当該宛先に送り届けるときの自装置の送信先となる他の経路制御装置を決定する送信先決定手段と、前記取得手段により取得されたパケットに付加されている中継装置情報であって当該パケットを中継した他の経路制御装置の識別情報及び当該他の経路制御装置それぞれのパケットの中継順を特定しうる情報を含む中継装置情報に基づき当該宛先の経路制御情報を前記経路制御情報記憶手段に設定する経路制御情報設定手段と、前記取得手段により取得されたパケットに付加されている中継装置情報に、自装置の識別情報及び自装置が中継する順番を特定しうる情報を設定することで当該中継装置情報を更新する中継装置情報更新手段と、前記中継装置情報更新手段により中継装置情報が更新されたパケットを、前記送信先決定手段により決定された送信先へ送信するパケット送信手段と、前記パケット送信手段によるパケットの送信実績に基づき当該宛先の経路制御情報に含まれる当該送信先に対応する指標情報を更新する指標情報更新手段と、を有し、指標情報は、前記送信先決定手段により決定された送信先へパケットを送信した回数を含み、前記送信先決定手段は、パケットの宛先の経路制御情報に送信先の候補となる他の経路制御装置が複数設定されている場合、送信回数が最も小さい他の経路制御装置を送信先として決定することを特徴とする。
【００１１】
また、指標情報は、更に送信時に発生したエラー回数又は送信した回数に対するエラー率を含み、前記送信先決定手段は、パケットの宛先の経路制御情報に送信先の候補となる他の経路制御装置が複数設定されている場合、送信回数及びエラー回数又はエラー率に基づいて送信先を決定することを特徴とする。
【００１３】
本発明に係るセンサノードネットワークシステムは、前述したいずれかの発明に記載の経路制御装置を有し、センサ情報を含むデータパケットを生成する複数のセンサノードと、前記各センサノードにより生成されたデータパケットを収集するデータ収集ノードと、を有し、前記各センサノードにおける経路制御情報記憶手段に記憶された経路制御情報に含まれている指標情報は、当該センサノードにおける送信先決定手段により決定された送信先へパケットを送信した回数を含み、前記各センサノードにおける送信先決定手段は、パケットの宛先の経路制御情報に送信先の候補となる他の経路制御装置が複数設定されている場合、送信回数が最も小さい他の経路制御装置を送信先として決定することを特徴とする。
【００１４】
また、前記各センサノードにおける送信先決定手段は、当該センサノードにおける経路制御情報記憶手段に記憶された経路制御情報に含まれている指標情報に基づいて、前記取得手段により取得された、前記データ収集ノードから発信された制御パケットを当該宛先に送り届けるときの自装置の送信先となる他のセンサノードを決定することを特徴とする。
また、前記各センサノードにおける経路制御情報記憶手段に記憶された経路制御情報に含まれている指標情報は、更に送信時に発生したエラー回数又は送信した回数に対するエラー率を含み、前記各センサノードにおける送信先決定手段は、パケットの宛先の経路制御情報に送信先の候補となる他の経路制御装置が複数設定されている場合、送信回数及びエラー回数又はエラー率に基づいて送信先を決定することを特徴とする。
【００１５】
本発明に係るプログラムは、パケットの宛先毎に、当該宛先までパケットを送り届けるときの当該パケットの送信先となる他の経路制御装置を特定する送信先情報及び当該宛先にパケットを中継して送り届けるときの自装置の送信先を決定する際に参照される指標情報を対応付けして含む経路制御情報を記憶する経路制御情報記憶手段を有する経路制御装置に搭載されたコンピュータを、送信対象のパケットを取得する取得手段、前記経路制御情報に含まれている指標情報に基づいて、前記取得手段により取得されたパケットを当該宛先に送り届けるときの自装置の送信先となる他の経路制御装置を決定する送信先決定手段、前記取得手段により取得されたパケットに付加されている中継装置情報であって当該パケットを中継した他の経路制御装置の識別情報及び当該他の経路制御装置それぞれのパケットの中継順を特定しうる情報を含む中継装置情報に基づき当該宛先の経路制御情報を前記経路制御情報記憶手段に設定する経路制御情報設定手段、前記取得手段により取得されたパケットに付加されている中継装置情報に、自装置の識別情報及び自装置が中継する順番を特定しうる情報を設定することで当該中継装置情報を更新する中継装置情報更新手段、前記中継装置情報更新手段により中継装置情報が更新されたパケットを、前記送信先決定手段により決定された送信先へ送信するパケット送信手段、前記パケット送信手段によるパケットの送信実績に基づき当該宛先の経路制御情報に含まれる当該送信先に対応する指標情報を更新する指標情報更新手段、として機能させ、指標情報は、前記送信先決定手段により決定された送信先へパケットを送信した回数を含み、前記送信先決定手段は、パケットの宛先の経路制御情報に送信先の候補となる他の経路制御装置が複数設定されている場合、送信回数が最も小さい他の経路制御装置を送信先として決定することを特徴とする。
【発明の効果】
【００１６】
本発明によれば、従来に比してルート情報の経路制御装置間での交換数を削減することができる。
【００１７】
また、現在のデータ収集ノードの代わりにいずれかのセンサノードをデータ収集ノードとして機能させる場合でも、センサノード間でルート情報のやり取りを新たに行わせることなくデータ収集ノードの変更に対応することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明に係るセンサネットワークシステムの一例を示した全体構成図である。
【図２】本実施の形態におけるノードに搭載されたコンピュータのハードウェア構成図である。
【図３】本実施の形態におけるノードのブロック構成図である。
【図４】本実施の形態におけるノードにより実行される起動時処理を示すフローチャートである。
【図５】図１に示したセンサネットワークシステムにおいてノードＪが無線通信可能な範囲を示す図である。
【図６】本実施の形態における起動時処理を実行したことによりルーティングテーブルに登録された経路制御情報の設定例を示す図である。
【図７】本実施の形態におけるパケット中継処理を示すフローチャートである。
【図８】図１に示したセンサネットワークシステムにおいてノードＸにより生成されたデータパケットの中継ルートの例を示す図である。
【図９Ａ】図１に示したセンサネットワークシステムにおいてノードＪが受信したデータパケットのデータ構成例を示す図である。
【図９Ｂ】図１に示したセンサネットワークシステムにおいてノードＪが送信するデータパケットのデータ構成例を示す図である。
【図１０】本実施の形態におけるルーティングテーブルに登録された経路制御情報の設定例を示す図である。
【図１１Ａ】図１に示したセンサネットワークシステムにおいてノードＪが受信したデータパケットのデータ構成例を示す図である。
【図１１Ｂ】図１に示したセンサネットワークシステムにおいてノードＪが送信するデータパケットのデータ構成例を示す図である。
【図１２】図１に示したセンサネットワークシステムにおいてノードＸからゲートウェイ２までデータパケットが送信されるルートを示す図である。
【発明を実施するための形態】
【００１９】
以下、図面に基づいて、本発明の好適な実施の形態について説明する。
【００２０】
図１は、本発明に係るセンサネットワークシステムの一例を示した全体構成図である。本実施の形態におけるセンサネットワークシステムは、複数のセンサノード１０及びゲートウェイ（ＧＷ）２から成るセンサネットワークを有している。本実施の形態における各センサノード１０は、本発明に係る経路制御装置にセンサを搭載することによって形成される、ルーティング機能を有するセンサ付無線端末である。本実施の形態では、センサノード１０を、センサネットワークシステム内において固定的に散在配置されるスマートメータ等で実現する場合を想定している。各センサノード１０は、センサノード１０が有するセンサにより測定されたセンサデータを含むセンサ情報をゲートウェイ２に送信するほか、他のセンサノード１０において生成されたセンサ情報を含むデータパケットをゲートウェイ２に送り届けるために中継する中継ノードとして機能する。図１には、複数のセンサノードＡ〜Ｘが示されているが、センサノード１０の設置数はこれに限るものではない。以下の説明では、各センサノード（以下、単に「ノード」と称する）に共通する場合はノード１０と、特定のノード１０に対して説明する場合にはノードＡ〜Ｘと英字を用いて記載する。各ノード１０は、少なくとも１つのノード１０と無線通信可能な位置に配置されており、その通信可能なノード１０又はゲートウェイ２との間で経路（ルート）３が形成可能である。
【００２１】
ゲートウェイ２は、各センサノード１０により生成されたセンサ情報を含むデータパケットを一括収集するデータ収集ノードであり、ＩＥＥＥ８０２．１５．４及びＺｉｇＢｅｅ（登録商標）におけるコーディネータに相当する。
【００２２】
図２は、本実施の形態におけるノード１０に搭載されたコンピュータのハードウェア構成図である。本実施の形態においてノード１０に搭載されたコンピュータは、従前から存在する汎用的なハードウェア構成で実現できる。すなわち、コンピュータは、図２に示したようにＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、通信手段として設けられたネットワークコントローラ２６、電力使用量等を測定するセンサ２７を接続する入出力コントローラ２８を内部バス２９に接続して構成される。
【００２３】
本実施の形態におけるゲートウェイ２は、従来からあるハードウェア構成にて実現してよい。すなわち、センサ２７は搭載されていないかもしれないが、コンピュータの基本構成は図２と同様に図示してもよい。更に、入力手段として設けられたマウスとキーボード及び表示手段として設けられたディスプレイを搭載するコンピュータを有線又は無線にて接続できるように構成してもよい。
【００２４】
ここで、各ノード（ノード１０及びゲートウェイ２）間でやり取りされるパケットの種類について説明する。
【００２５】
本実施の形態においてノード間の経路３上を流れるパケットとして、データパケット、制御パケット及び経路制御用パケットがある。「データパケット」は、各ノード１０がセンサ２７による測定により得られたセンサ情報をゲートウェイ２に一括収集する機能を基本機能としたセンサネットワークにおいて、各ノード１０がセンサ情報をゲートウェイ２に直接又は間接的に送信するためのパケットである。「制御パケット」は、ゲートウェイ２がセンサ機能等の動作制御を行うための制御情報を制御対象のノード１０へ送信するためのパケットである。「経路制御用パケット」は、各ノード１０が周辺ノードとの間での経路３の確立のためにノード間でやり取りされるパケットである。本実施の形態の場合、ゲートウェイ２までのホップ数を情報交換するために用いるＨｅｌｌｏパケットやＨｅｌｌｏＲｅｐｌｙパケットがこれに該当する。経路制御用パケットにて情報交換されるルート情報は、データパケットや制御パケットの中継経路を決定するために用いられる制御用の情報であるため、センサネットワークシステムにおける送受信量を必要最小限に抑えて、ネットワーク負荷の増大や各ノード１０における電力使用量の増大の防止を図るようにすべきである。なお、「周辺ノード」というのは、自ノードが無線通信機能を利用してブロードキャストにより発信したＨｅｌｌｏパケットを受信できたノードのことをいう。
【００２６】
図３は、本実施の形態におけるノード１０のブロック構成図である。なお、本実施の形態の説明に用いない構成要素については図から省略している。本実施の形態におけるノード１０は、センサ部１１、パケット生成部１２、パケット受信部１３、パケット送信部１４、通信制御部１５及びルーティングテーブル保持部１６を有している。センサ部１１は、センサ２７により実現され、ノード１０がスマートメータの場合、測定された電力使用量データを含むセンサ情報を生成する。パケット生成部１２は、センサ部１１から送られてくるセンサ情報を含むデータパケットを生成する。パケット受信部１３は、他のノード１０から送られてくるパケットを受信する。パケット受信部１３が受信するパケットとしては、他のノード１０で生成されたデータパケット、ゲートウェイ２から発信された制御パケット及び他のノード１０のうち周辺ノードから発信された経路制御用パケットである。パケット送信部１４は、パケット送信手段として設けられ、通信制御部１５により中継装置情報（以下、「中継ノード情報」ともいう）が更新されたパケットを、通信制御部１５により決定された送信先へ送信する。
【００２７】
通信制御部１５は、パケット種別判定部１５１、送信先決定部１５２、テーブル更新部１５３、パケット更新部１５４及び初期設定部１５５を有しており、ノード１０におけるパケット通信制御機能を実現する。パケット種別判定部１５１は、取得手段として機能する通信制御部１５がパケット生成部１２又はパケット受信部１３からパケットを取得すると、その取得したパケットの種類を判別する。送信先決定部１５２は、送信先決定手段として設けられ、ルーティングテーブル保持部１６に設定されている経路制御情報に含まれている指標情報に基づいて、取得されたパケットを、指定された宛先に送り届けるときの自ノードの送信先となる他のノード１０を決定する。テーブル更新部１５３は、経路制御情報設定手段として設けられ、取得されたパケットに付加されている中継ノード情報であって当該パケットを中継した他のノード１０の識別情報（ノードＩＤ）及び当該他のノード１０それぞれの中継順を特定しうる情報を含む中継ノード情報に基づき当該宛先の経路制御情報をルーティングテーブル保持部１６に設定する。テーブル更新部１５３は、また指標情報更新手段としても設けられており、パケット送信部１４によるパケットの送信実績に基づき当該宛先の経路制御情報に含まれる当該送信先に対応する指標情報を更新する。パケット更新部１５４は、中継装置情報更新手段として設けられ、取得されたパケットに付加されている中継ノード情報に、自ノードのノードＩＤ及び自ノードが中継する順番を特定しうる情報を設定することで当該中継ノード情報を更新する。初期設定部１５５は、自ノードの起動時に起動時処理を実行することによってルーティングテーブルに初期設定を行う。
【００２８】
ルーティングテーブル保持部１６は、経路制御情報記憶手段として設けられ、経路制御情報をテーブル形式にて記憶する。この経路制御情報をテーブル形式にて記憶するルーティングテーブルのデータ設定例を図６及び図１０に示す。ルーティングテーブルには、送信するパケットの宛先毎に、自ノードホップ数、ノードＩＤ、ホップ数、信号強度、試行回数及びエラー率が対応付けられた経路制御情報が設定される。なお、各パケットの宛先は、パケットヘッダを参照することで特定できる。自ノードホップ数は、自ノードから当該宛先までのホップ数である。ノードＩＤは、当該宛先までパケットを送り届けるときの当該パケットの送信先となる他のノードを特定する送信先情報であり、当該他のノードを識別するノードＩＤが設定される。ホップ数は、ノードＩＤにより特定されるノード（以下、「送信先ノード」とも称する）から宛先ノードまでのホップ数である。なお、「送信先ノード」というのは、自ノードがパケットを直接送信する先となるノードのことをいい、「宛先」又は「宛先ノード」というのは、パケットの宛先として指定されているノードであり、パケットの最終到達点となるノードのことをいう。信号強度は、送信先ノードとの間の信号強度である。無線の場合、電界強度でよい。試行回数及びエラー回数は、当該宛先にパケットを送り届けるときの送信先として決定するために参照される指標情報である。試行回数は、送信先決定部１５２により決定された送信先へパケットを送信した回数を示す。エラー回数は、送信先決定部１５２により決定された送信先へパケットを送信したときに発生したエラー回数である。本実施の形態では、エラー率を用いて送信先を決定するが、このエラー率は、エラー回数を試行回数で除算することによって算出される。
【００２９】
図６及び図１０に例示したように、一の宛先に対して複数の経路制御情報が設定されているということは、当該宛先に対してパケットを送り届けるための経路が複数存在することを意味している。各ノード１０では、この複数の経路の中からパケットの送信先を決定する際、指標情報の設定値を参照してパケットの送信先を決定する。この送信先の決定処理については追って説明する。
【００３０】
各ノード１０における各構成要素１１〜１５は、ノード１０に搭載されたコンピュータと、コンピュータに搭載されたＣＰＵ２１で動作するプログラムとの協調動作により実現される。また、ルーティングテーブル保持部１６は、ＲＡＭ３にて実現される。
【００３１】
ゲートウェイ２は、データパケットの宛先（最終到達点）であり、また制御パケットの発信元であり、更に無線通信可能なノード１０との間で経路制御用パケットを交換するが、パケットを中継することはない。従って、ノード１０が有するパケットの中継機能を搭載する必要はないが、制御パケットの送信先を決定するために前述したノード１０が有する構成要素１２〜１６と同様の構成要素を持つ。
【００３２】
また、本実施の形態で用いるプログラムは、通信手段により提供することはもちろん、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等のコンピュータ読み取り可能な記録媒体に格納して提供することも可能である。通信手段や記録媒体から提供されたプログラムはコンピュータにインストールされ、コンピュータのＣＰＵ２１がプログラムを順次実行することで各種処理が実現される。
【００３３】
次に、本実施の形態における動作について説明する。まず最初に、ノード１０が起動することによってセンサネットワークシステムに参加するときに実施される起動時処理について図４に示したフローチャートを用いて説明する。
【００３４】
ノードの起動時にはルーティングテーブルに経路制御情報が何も設定登録されていない状態である。そこで、ゲートウェイ２へデータパケットを送信するための経路３を認識するためにルート情報を収集する必要がある。そのために、ノード１０における通信制御部１５は、パケット送信部１４にＨｅｌｌｏパケットをブロードキャストさせる（ステップ１０１）。
【００３５】
Ｈｅｌｌｏパケットを受信した周辺ノードは、当該ノードのゲートウェイ２へのホップ数を含むルート情報が設定されたＨｅｌｌｏＲｅｐｌｙパケットを、起動時にＨｅｌｌｏパケットを発信したノード（以下、「起動ノード」という）へユニキャストする。
【００３６】
起動ノードは、各周辺ノードから送られてきたＨｅｌｌｏＲｅｐｌｙパケットを受信すると（ステップ１０２）、そのＨｅｌｌｏＲｅｐｌｙパケットに含まれるルート情報等に基づき経路制御情報をルーティングテーブルに設定登録する（ステップ１０３）。
【００３７】
続いて、起動ノードは、センサネットワークへの参加手順を実行することによってセンサネットワークに参加する（ステップ１０３）。この参加手順は、従前と同じでよいので説明を省略する。
【００３８】
参加手順が完了したら、起動ノードは、自ノードからゲートウェイ２までのホップ数（自ノードホップ数）を設定したＨｅｌｌｏパケットをブロードキャストすることで、周辺ノードに報知する（ステップ１０５）。自ノードホップ数は、次のようにして決定する。ここでは、図５に示したセンサネットワークシステムにおけるノードＪが起動ノードの場合を例にして説明する。なお、図５において破線で示した範囲３１は、ノードＪが無線通信可能な範囲を示している。図５では、ノードＣ，Ｄ，Ｉ，Ｋ，Ｏ，ＰがノードＪと無線通信可能な位置に設置されたノードであり、ノードＪの周辺ノードである。
【００３９】
ステップ１０１においてＨｅｌｌｏパケットをブロードキャストすることによってルート情報の収集を行うと、複数の周辺ノードＣ，Ｄ，Ｉ，Ｋ，Ｏ，ＰからＨｅｌｌｏＲｅｐｌｙパケットが返信されてくる。このように、複数のノード１０からＨｅｌｌｏＲｅｐｌｙパケットが送られてきた場合、自ノードから宛先ノード（この場合、ゲートウェイ２）までのホップ数（自ノードホップ数）は、取得したルート情報中最も小さいホップ数に１を加算することで求める。図５に例示したセンサネットワークシステムにおいて、ノードＪがＨｅｌｌｏＲｅｐｌｙパケットを受信したことによりルーティングテーブルに設定登録された経路制御情報の設定例を図６に示す。図５を参照すれば明らかなように、ノードＣ，Ｄはホップ数１を含むルート情報を、ノードＩ，Ｋはホップ数２を含むルート情報を、ノードＯ，Ｐはホップ数３を含むルート情報を、それぞれ設定したＨｅｌｌｏＲｅｐｌｙパケットを送信することになる。これにより、図６に示した経路制御情報がルーティングテーブルに設定登録されるが、本実施の形態においては、周辺ノードについての経路制御情報のみが設定登録されることになる。
【００４０】
前述したように、ノードＪは、取得したルート情報中最も小さいホップ数に１を加算することで自ノードホップ数を求めることになるが、図６を参照すると明らかなように最も小さなホップ数の周辺ノードは、ノードＣ，Ｄであり、ホップ数は１である。従って、ノードＪは，最も宛先に近いノードＣ，Ｄを親とし、その直下に自ノードを位置づける。この結果、ノードＪにおけるゲートウェイ２までの自ノードホップ数は２となる。
【００４１】
なお、ノードＪは、図示しない測定手段により各周辺ノードとのパケット交換時に各周辺ノード間の信号強度を測定してルーティングテーブルに設定登録する。また、ノードＪは、パケットの中継をまだ行っていないので、試行回数及びエラー回数には初期値として０が設定される。
【００４２】
本実施の形態においては、起動時処理においてネットワーク負荷が大きくなるブロードキャストを行うが、以降の説明から明らかなように、これ以降、ルーティングテーブルに経路制御情報を設定するためにブロードキャストを行うことはない。
【００４３】
次に、初期設定が終了し、センサネットワークシステムに参加した後に実施する、ノード１０におけるパケット中継処理について図７に示したフローチャートを用いて説明する。まず最初に、他のノード１０から発信されたデータパケットを、当該データパケットの宛先であるゲートウェイ２まで送り届けるという、いわゆる上り方向の中継処理について説明する。ここでは、ノードＪがパケットの中継を行う場合を例にして説明する。
【００４４】
ノードＪにおいて、パケット受信部１３がいずれかのノード１０から送られてきたパケットを受信すると（ステップ１１１）、通信制御部１５は、そのパケットを取得する。パケット種別判定部１５１は、その取得したパケットのパケットヘッダの宛先及び送信元を示す情報を参照することで、取得されたパケットは、宛先がゲートウェイ２の、他のノード１０から発信されたデータパケットと判定する。データパケットの場合、続いて、送信先決定部１５２は、次のようにしてデータパケットの送信先を決定する（ステップ１１２）。図１０は、ルーティングテーブルの設定例を示す図であるが、現時点においては、図１０に例示した経路制御情報が設定されているものとして説明する。なお、図１０に示した経路制御情報を設定登録する処理については追って説明する。
【００４５】
一般に、データパケットの中継先（送信先）は、コストの最も少ないノードを選択する場合が少なくない。すなわち、送信先候補のホップ数、あるいはホップ数及び信号強度等を参照して最もコストの少ない経路（最小コストとなる隣接ノード）を送信先として選択している。ただ、最もコストの少ない経路を送信先の選択基準としていると、選択される経路は固定化されてしまう。ルート情報を頻繁にやり取りしない本実施の形態のような方式を採用する場合において、経路が固定化されてしまうと、その固定化された経路上に何らかの障害が発生した場合、迂回経路を探し出すことができないか、探し出すまでに多大な処理、時間を要してしまう可能性がある。
【００４６】
そこで、本実施の形態では、宛先にパケットを送り届けるときの送信先として決定するための指標情報をコストとは別個に設定し、その指標情報を参照して送信先を決定するようにした。本実施の形態では、指標情報として試行回数と、試行回数及びエラー回数から算出されるエラー率を用いる場合を例にしている。なお、ここでは、説明の便宜上、試行回数のみを用いて送信先を決定する場合を説明する。
【００４７】
すなわち、送信先決定部１５２は、中継対象のデータパケットの宛先がゲートウェイ２と認識すると、ルーティングテーブルに登録されている宛先がゲートウェイ２であるレコード４１〜４６に設定されているノードＩＤがＣ，Ｄ，Ｉ，Ｋ，Ｏ，Ｐのノードを送信先の候補として選出する。そして、これらのノードＣ，Ｄ，Ｉ，Ｋ，Ｏ，Ｐのうち試行回数が最小となるノードを送信先として決定する。
【００４８】
但し、図１０に示した例によると、ノードＪにおけるゲートウェイ２までの自ノードホップ数は２なので、宛先までの自ノードホップ数以上のノード、すなわち２以上のホップ数となるノードＩ，Ｋ，Ｏ，Ｐは選択対象外とし、自ノードホップ数より小さいノードＣ，Ｄのみを選択対象としてよい。そして、ノードＣ，Ｄのうち試行回数の少ない方を送信先として決定する。もちろん、自ノードホップ数より小さいノードＣ，Ｄの全てが通信障害等によりパケットが送信できなかった場合は、ノードＩ，Ｋ，Ｏ，Ｐを選択対象としてもよいが、ノードＪにパケットを送信した送信元ノード（図１に示した構成だとノードＯ又はノードＰ）にその旨を通知し、ノードＪ以外のノードを送信先として再選択させるようにしてもよい。
【００４９】
データパケットの送信先が決定されると、続いて、テーブル更新部１５３は、中継対象のデータパケットのパケットヘッダに含まれている中継ノード情報を取得し、この取得した中継ノード情報を参照して経路制御情報を生成してルーティングテーブルに設定登録する（ステップ１１３）。このテーブル更新部１５３が行う経路制御情報の設定登録処理について、図８乃至図１１を用いて説明する。
【００５０】
図８は、図１と同じセンサネットワークシステムの全体構成図であるが、ノードＸから発信されるデータパケットが流れるルートとして２つのルート３２，３３が示されている。ルート３２では、ノードＸから発信されたデータパケットは、ノードＶ、ノードＴ、ノードＰ、ノードＪ、そしてノードＣを中継してゲートウェイ２に送り届けられる。一方、ルート３３では、ノードＸから発信されたデータパケットは、ノードＵ、ノードＳ、ノードＯ、ノードＪ、そしてノードＣを中継してゲートウェイ２に送り届けられる。
【００５１】
図９Ａには、ノードＸからゲートウェイ２まで送信されるデータパケットが、ルート３２を通って送り届けられる場合におけるノードＪが受信するデータパケットが、図９Ｂには、図９Ａに示したデータパケットをノードＪが更新した後に送信する際のデータパケットが、それぞれ示されている。データパケット４０は、ヘッダ４１及びペイロード４２を含んでいる。そして、本実施の形態では、ヘッダ４１に中継ノード情報を設定する領域４３を含めるようにしたことを特徴の一つとしている。中継ノード情報を格納する領域４３には、当該データパケットを中継したノードの識別情報としてノードＩＤが設定される領域４４と、当該領域４４に登録されたノードの数、すなわち当該データパケットを中継したノード数が設定される領域４５が設けられている。なお、ノードＸは、当該データパケットの生成元であって、厳密には当該データパケットを中継していないかもしれないが、当該データパケットをゲートウェイ２まで送り届けるための経路上に存在するノードの一つであることから「中継」という用語を広義に解釈してノードＸも中継ノードの一つとみなして中継ノード情報に含めるようにした。これにより、ルート３２上に位置するノードは、中継ノード情報を参照することで特定できる。
【００５２】
なお、「中継」を厳密に解釈しても、ヘッダ４１には、当該データパケットの発信元と宛先とを特定する情報が設定されていることから、ルート３２上にノードＸが存在することは把握できる。
【００５３】
また、本実施の形態では、データパケットの生成元から中継した順番にノードＩＤを領域４４に登録するようにした。つまり、領域４４におけるノードＩＤの並び順がデータパケットの中継順を特定しうる情報に相当する。これにより、中継順が一目瞭然に把握できる。もちろん、中継した順番を示す情報をノードＩＤそれぞれに付加することで、中継した順番に各ノードＩＤを並べて領域４４に登録しなくてもよい。
【００５４】
図９Ａに示したデータパケットの領域４４への並びを参照すると、生成元のノードＸから発信されたデータパケットの中継順にノードＩＤが登録されていることがわかる。
【００５５】
テーブル更新部１５３は、図９Ａに示したデータパケットを取得すると、まず領域４４に登録されている最後尾のノードＰから先頭に向けて順に経路制御情報を生成してルーティングテーブルに登録する。すなわち、まずノードＰ宛のパケットを受信した場合を想定して、レコード４６の経路制御情報を生成する。このためには、経路制御情報の宛先に、ノードＰを設定する。また、ノードＰにパケットを送り届けるためにはノードＰにパケットを送信すればよいので、経路制御情報のノードＩＤに、ノードＰのノードＩＤ“Ｐ”を設定する。また、ノードＰは、ノードＪの隣接ノードであることから経路制御情報の自ノードホップ数に１を設定する。また、ノードＰは、ノードＰ自身なので経路制御情報のホップ数に０を設定する。経路制御情報の信号強度には、当該データパケットの受信時に、図示しない測定手段により測定された信号強度ＦＩｐｐを設定する。そして、現時点では、パケットの中継をまだ行っていないので、試行回数及びエラー回数には初期値である０を設定する。テーブル更新部１５３は、以上のようにしてレコード４６の経路制御情報を生成してルーティングテーブルに登録する。
【００５６】
続いて、テーブル更新部１５３は、最後尾のノードＰの直前に当該データパケットを中継したノードＴを宛先とするレコード４７の経路制御情報を生成する。このためには、経路制御情報の宛先に、ノードＴを設定する。また、ノードＴにパケットを送り届けるためにはノードＰにパケットを送信すればよいので、経路制御情報のノードＩＤに、ノードＰのノードＩＤ“Ｐ”を設定する。また、宛先ノードＴに対する経路制御情報はレコード４７のみであるため、自ノードホップ数にはレコード４７のホップ数１に１を加えた２を設定する。また、ノードＰは、ノードＴの隣接ノードなので経路制御情報のホップ数に１を設定する。経路制御情報の信号強度には、当該データパケットの受信時に、図示しない測定手段により測定された信号強度ＦＩｐｔを設定する。なお、この時点では、信号強度ＦＩｐｐとＦＩｐｔは同じ時点で測定されているので同値である。また、現時点では、パケットの中継をまだ行っていないので、試行回数及びエラー回数には初期値である０を設定する。テーブル更新部１５３は、以上のようにしてレコード４７の経路制御情報を生成してルーティングテーブルに登録する。
【００５７】
ノードＶに対するレコード４８の経路制御情報及びノードＸに対するレコード４９の経路制御情報も上記と同様にして生成されるので、説明を省略する。
【００５８】
以上のようにしてルーティングテーブルが更新されると、続いて、パケット更新部１５４は、受信したデータパケットの領域４４の最後尾に自ノード、この例の場合、ノードＪのノードＩＤを追加すると共に、領域４５に設定するノード数を、現在の値に１を加算して５に更新する。このようにして、中継するデータパケットに付加されている中継ノード情報を更新する（ステップ１１４）。この処理により更新されたデータパケットの中継ノードの設定例を図９Ｂに示す。
【００５９】
以上のようにデータパケットに付加された中継ノード情報を更新すると、パケット送信部１４は、通信制御部１５からの指示に従い、中継ノード情報が更新されたデータパケットを、送信先決定部１５２により決定された送信先ノードへ送信する（ステップ１１５）。この例の場合は、ノードＣへ送信する。そして、送信処理の結果、すなわち、パケット送信の正常終了かどうかを通信制御部１５に通知する。また、図示しない測定手段は、ノードＣとの間の信号強度を測定し、通信制御部１５に通知する。
【００６０】
通信制御部１５が上記通知を受け取ると、テーブル更新部１５３は、該当する送信先に対応する経路制御情報を更新する。この例の場合、データパケットは、ルート３２上のノードＣに送信されるので、テーブル更新部１５３は、ノードＣに対応するレコード４１の試行回数に１を加算する。また、正常終了しなかった場合は、エラー回数に１を加算する。このように、テーブル更新部１５３は、指標情報を更新する（ステップ１１６）。テーブル更新部１５３は、更に受け取った信号強度でＦＩｃを上書き更新する。
【００６１】
なお、本実施の形態では、データパケットの送信先の決定（ステップ１１２）、ルーティングテーブルの更新（ステップ１１３）及びデータパケットの更新（ステップ１１４）を上記の手順にて行ったが、各処理は、必ずしもこの順番に実施する必要はない。すなわち、データパケットの送信先の決定（ステップ１１２）及びデータパケットの更新（ステップ１１４）は、データパケットを送信する処理（ステップ１１５）の前に実施されていればよい。また、ルーティングテーブルの更新（ステップ１１３）は、指標情報を更新する処理（ステップ１１６）の前に実施されていればよい。
【００６２】
図１１Ａには、ノードＸからゲートウェイ２まで送信されるデータパケットが、図８に示したルート３３を通って送り届けられる場合におけるノードＪが受信するデータパケットが、図１１Ｂには、図１１Ａに示したデータパケットをノードＪが更新した後に送信する際のデータパケットが、それぞれ示されている。ルート３２の場合は、図１０に示したルーティングテーブルのレコード４６〜４９の経路制御情報が設定されたが、図１１Ａに示したデータパケットに対してステップ１１３の処理することで、ルート３３の場合、レコード５０〜５３の経路制御情報がルーティングテーブルに設定される。ここで、図１０に示したルーティングテーブルを参照すれば明らかなように、ルート３２とルート３３は、同じノードＸが生成元のデータパケットが流れるルートであるので、宛先がノードＸに対する経路制御情報として複数のレコード４９，５０が設定登録される。
【００６３】
本実施の形態におけるパケット中継処理は上記の通りに実行される。本実施の形態においては、ノードＪを代表させて説明したが、他のノード１０においても同様に処理することで、データパケットは最終的にゲートウェイ２まで届けられる。
【００６４】
また、ゲートウェイ２は、データパケットを受信するとデータパケットを中継しないが、中継ノードと同様に、受信したデータパケットに含まれている中継ノード情報に基づき経路制御情報を生成して自ノードのルーティングテーブルに設定登録する。これにより、ゲートウェイ２は、データパケットがどのようなルートで到達したかを知ることができるので、ルーティングテーブルはネットワーク構成図の自動生成などネットワークのメンテナンスの利用にも好適である。
【００６５】
前述したように、ノードＸは、自ノードのルーティングテーブルの試行回数を参照することで、ノードＵ，Ｖ，Ｗの中から試行回数が最も少ない送信先のノードを選択するので、送信先は一意に特定されない。ノードＸからのデータパケットを中継する他のノードＡ〜Ｗも同様に、自ノードのルーティングテーブルの試行回数を参照してデータパケットの送信先を決定するので、各中継ノードにおいても送信先は一意に特定されない。この結果、ノードＸから発信されるデータパケットは、図１２に例示したように様々なルートを介してゲートウェイ２まで送り届けられることになる。
【００６６】
ところで、図９Ａに示したデータパケットは、ノードＸから発信されると、ノードＶ，Ｔ，Ｐを介してノードＪに届いた上り方向に流れるデータパケットである。仮に、ノードＪが下り方向のノードＸ宛の制御パケットを受信した場合、この上り方向とは逆の経路、すなわちノードＰ，Ｔ，Ｖに順番に中継されれば、その制御パケットは、ノードＸまで送り届けることができるということである。同様に、ノードＪが下り方向のノードＶ宛のパケットを受信した場合、ノードＰ，Ｔに順番に中継されれば、その制御パケットは、ノードＶまで送り届けることができるということである。ノードＴ、さらにノードＰに対しても同様である。
【００６７】
以上のことから、ノードＪは、上り方向のデータパケットを中継する際に、そのデータパケットに含まれている中継ノード情報に基づき経路制御情報を生成し、ルーティングテーブルに登録しておけば、下り方向のノードＸ，Ｖ，Ｔ及びＰ宛の制御パケットを中継する場合、ルート情報を発信して周辺ノードとの位置関係を確認しなくてもすむことになる。図１０に示した設定例によると、ノードＸ，Ｖ，Ｔ又はＰ宛の制御パケットを受信した場合、ノードＰを送信先として選択すればよいということになる。
【００６８】
このように、本実施の形態では、パケットのヘッダ４１に中継ノード情報を含めるようにし、上り方向へ流すデータパケットを中継する際に、データパケットに付加された中継ノード情報を参照して、下り方向の送信先を決定する際に用いる経路制御情報を予め生成してルーティングテーブルに登録しておくようにしたことを特徴としている。特に、１つのデータパケットの中継に対し、複数の下り方向のノードに関する経路制御情報を設定登録できる。また、本実施の形態においては、経路制御情報を、センサ情報を含むデータパケットのやり取りとは直接的に関係のないＨｅｌｌｏパケット等の経路制御用パケットを用いずに生成することができる。
【００６９】
次に、ノードＪ自身がデータパケットの生成元である場合について説明する。
【００７０】
センサ部１１が測定によりセンサデータを生成すると、パケット生成部１２は、そのセンサデータから得られるセンサ情報を含むデータパケットを生成する。通信制御部１５がパケット生成部１２により生成されたパケットを取得すると、パケット種別判定部１５１は、その取得したパケットのパケットヘッダを参照することで、受信されたパケットは宛先がゲートウェイ２であり、発信元はノードＪであることから、自ノードで生成されたデータパケットと判定する。
【００７１】
これ以降の処理は、他のノード１０からのデータパケットを中継する場合とほぼ同様に処理すればよい。但し、データパケットの中継ノード情報には、中継したノードＩＤが登録されていないので、ステップ１１３においてルーティングテーブルに設定登録されるレコードはない。また、ステップ１１４において、パケット更新部１５４は、データパケットの領域４４に自ノードのノードＩＤを追加すると共に、領域４５に設定するノード数に１を設定することで、データパケットを設定する。
【００７２】
なお、パケット種別判定部１５１が、パケット受信部１３により受信されたパケットの種別が経路制御用パケットと判定した場合、通信制御部１５は、従前と同様に処理すればよい。本実施の形態において用いる経路制御用パケットは、従前と同じデータフォーマットでよく、パケットヘッダに中継ノード情報が含まれていない。
【００７３】
ここで、ゲートウェイ２からいずれかのノード宛に制御パケットを送信する場合、いわゆる下り方向にパケットが流れる場合について説明する。この処理は、図７に示した基本的にはステップ１１２〜１１６と同様の処理が実行される。なお、制御パケットのデータ構造は、図９，１１に例示したデータパケットを同じでよい。
【００７４】
ゲートウェイ２は、制御パケットを送信する場合において送信先を決定する際、自ノードのルーティングテーブルの試行回数を参照する。例えば、ノードＸ宛の制御パケットを生成して送信する場合、自ノードのルーティングテーブルに登録されている宛先がノードＸの経路制御情報を参照する。宛先がノードＸの経路制御情報にノードＩＤをノードＡ，Ｂ，Ｃ，Ｄとする各レコードが設定登録されているとすると、ゲートウェイ２における送信先決定部は、その中から試行回数を最も少ないノードを送信先として決定する。そして、パケット更新部は、制御パケットの領域４４に自ノードのノードＩＤを追加すると共に、領域４５に設定するノード数に１を設定することで、制御パケットを設定する。そして、パケット送信部は、制御パケットを送信先決定部により決定された送信先へ送信する。
【００７５】
制御パケットを中継する中継ノードにおけるパケット中継処理は、図７を用いて説明した処理と同じなので、詳細な説明は省略する。
【００７６】
例えば、ノードＪが制御パケットを中継する場合、その制御パケットの宛先がノードＶなら、図１０に例示したルーティングテーブルのレコード４８を参照してノードＰに制御パケットを送信すればよい。また、その制御パケットの宛先がノードＵなら、図１０に例示したルーティングテーブルのレコード５３を参照してノードＯに制御パケットを送信すればよい。
【００７７】
パケット送信後、テーブル更新部１５３は、パケットの送信実績に基づいて当該宛先の経路制御情報に含まれる当該送信先に対応する指標情報を更新する。具体的には、試行回数に１を加算する。また、テーブル更新部１５３は、パケット送信時に、図示しない測定手段により測定された信号強度で、当該送信先に対応する信号強度を更新する。また、エラーが発生した場合にはエラー回数に１を加算すると共に異なる送信先を再選択するか、あるいは自ノードに制御パケットを送信した送信元ノードにその旨を通知して、自ノード以外のノードを選択し直せる。
【００７８】
なお、例えばノードＪでは、宛先がノードＶの制御パケットをノードＰに送信することになるが、この場合、ノードＰに対する信号強度ということでノードＰに対する全ての信号強度ＦＩｐ，ＦＩｐｐ，ＦＩｐｔ，ＦＩｐｖ，ＦＩｐｘを更新してもよいが、処理負荷の軽減等の理由で制御パケットの送信先に対応する信号強度ＦＩｐｖのみを更新してもよい。
【００７９】
本実施の形態によれば、下り方向のノードを宛先とする経路制御情報をデータパケットを中継するパケット中継処理においてすでに生成されているので、制御パケットを中継するための経路制御情報を生成する処理を別途実施させなくてすむ。
【００８０】
また、本実施の形態において各中継ノードにおけるルーティングテーブルには、データパケットを中継することにより下り方向のノードを宛先とする経路制御情報が設定登録されるが、以上説明したように下り方向に流れる制御パケットを中継することにより上り方向のノードを宛先とする経路制御情報が設定登録されることになる。
【００８１】
ところで、上り方向と下り方向の双方について経路制御情報が同じルーティングテーブルに同様のレコード形式にて設定登録されるということは、上り、下りというパケットが流れる方向を区別する必要はないともいえる。例えば、ノードＸを副ゲートウェイ（副データ収集ノード）として設定しておき、ゲートウェイ２が故障したなど何らかの理由によりゲートウェイ２に代えてノードＸをゲートウェイ（データ収集ノード）として機能させるようにシステム構成を変更したとする。方向付けを持たせるとしたならば、図１に例示したシステムと上りと下りが逆転したことになる。このような場合でも、本実施の形態によれば、ルート情報をやり取りするなどして経路制御情報を再設定しなくても、既存のルーティングテーブルを参照することで、ゲートウェイであるノードＸにデータパケットを送り届けることが可能であり、またノードＸが制御パケットを送信することも可能である。
【００８２】
なお、上記説明において送信先を決定する際に指標情報として試行回数のみを参照する場合を例にして説明した。試行回数の最も少ないノードを選択するようにすれば、輻輳の原因となりうるパケットの集中を回避しやすくなる。ただ、指標情報として試行回数に限るものではない。例えば、試行回数の代わりにエラー回数やエラー率を用いてもよい。ただ、エラー回数などは、エラーが発生しないと選択される送信先が固定化されてしまうおそれがあるので、試行回数及びエラー回数それぞれに重み付けをして両方を用いるようにしてもよいし、試行回数が同値のノードが存在する場合にエラー率を用いるなど指標情報に優先順位を持たせてもよい。
【００８３】
また、本実施の形態では、指標情報として試行回数及びエラー回数を記録し、パケットを中継するたびに指標情報を更新し、指標情報を参照することで送信先を決定するようにした。つまり、本実施の形態では、パケットの送信先が一意に特定されないようにパケットの中継等により更新されうる指標を用いることを特徴としているので、指標値が変更されうる指標であれば、試行回数やエラー率以外の指標を用いるようにしてもよい。
【００８４】
また、ノード１０がセンサネットワークから外れる場合、その旨を示す情報をブロードキャストにより周辺ノードに通知して各周辺ノードのルーティングテーブルから、当該ノードに関する経路制御情報を削除するようにしてもよい。
【００８５】
また、本実施の形態におけるセンサネットワークに含めるセンサ付無線端末（センサノード）としては、電力使用量を測定するスマートメータなどが考えられるが、電力使用量以外のセンサデータを測定するセンサ付無線端末に経路制御装置を適用してもよいし、センサデータ以外のデータを取り扱う無線端末に経路制御装置を適用してもよい。
【００８６】
また、本実施の形態においては、経路制御装置を無線端末に適用した場合を例にして説明したが、経路制御装置をＰＬＣ（Ｐｏｗｅｒ  Ｌｉｎｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）等の有線接続する装置にも適用してもよい。つまり、経路制御装置間の通信に用いる通信方式として無線に限定する必要はなく、経路制御装置を有線にて接続してネットワークシステムを構築してもよいし、有線と無線とを混在させてネットワークシステムを構築してもよい。
【符号の説明】
【００８７】
２  ゲートウェイ、３  経路、１０  センサノード、１１  センサ部、１２  パケット生成部、１３  パケット受信部、１４  パケット送信部、１５  通信制御部、１６  ルーティングテーブル保持部、２１  ＣＰＵ、２２  ＲＯＭ、２３  ＲＡＭ、２６  ネットワークコントローラ、２７  センサ、２８  入出力コントローラ、２９  内部バス、１５１  パケット種別判定部、１５２  送信先決定部、１５３  テーブル更新部、１５４  パケット更新部、１５５  初期設定部。
【図１】
0005913209.tif 000002
【図２】
0005913209.tif 000003
【図３】
0005913209.tif 000004
【図４】
0005913209.tif 000005
【図５】
0005913209.tif 000006
【図６】
0005913209.tif 000007
【図７】
0005913209.tif 000008
【図８】
0005913209.tif 000009
【図９Ａ】
0005913209.tif 000010
【図９Ｂ】
0005913209.tif 000011
【図１０】
0005913209.tif 000012
【図１１Ａ】
0005913209.tif 000013
【図１１Ｂ】
0005913209.tif 000014
【図１２】
0005913209.tif 000015