(57)【要約】      （修正有）【課題】無線マルチホップネットワークにおける輻輳を回避する。【解決手段】データ管理装置は、無線マルチホップネットワークにおける複数の無線ノードからデータを収集するデータ管理装置であって、無線信号を送受信する送受信部と、無線マルチホップネットワークにおいて経路制御を行う対象となる範囲をデータ管理装置からのホップ数により決定し、データ管理装置からホップ数の範囲の経路制御を行い、ホップ数より大きいホップ数の範囲の経路制御を行わない制御部と、を備える。【選択図】図１５
2020043483.tif 000002
【特許請求の範囲】
【請求項１】
無線マルチホップネットワークにおける複数の無線ノードからデータを収集するデータ管理装置であって、
無線信号を送受信する送受信部と、
前記無線マルチホップネットワークにおいて経路制御を行う対象となる範囲を前記データ管理装置からのホップ数により決定し、前記データ管理装置から前記ホップ数の範囲の前記経路制御を行い、前記ホップ数より大きいホップ数の範囲の前記経路制御を行わない制御部と、
を備えたデータ管理装置。
【請求項２】
前記制御部は、
前記データ管理装置から前記ホップ数以下のＮ（Ｎは２以上の整数）ホップ目の複数の第１無線ノードが送信する必要のあるデータ量を表す第１情報を、前記無線マルチホップネットワークにおける中継を介して取得し、
前記第１情報に基づき、前記Ｎホップ目の複数の無線ノードのうち親ノードを切り替える必要のある第１ノードと、第１ノードの切り替え先の親ノードである第２ノードとを決定し、
前記第１ノードが前記第２ノードに前記親ノードを切り替えることを指示する第２情報を、前記無線マルチホップネットワークにおける中継を介して、前記第１ノードに送信する
請求項１に記載のデータ管理装置。
【請求項３】
前記制御部は、前記無線マルチホップネットワークにおける少なくともいずれかの無線ノードのデータを受信することに失敗した場合に、前記第１情報を取得する処理を行う
請求項２に記載のデータ管理装置。
【請求項４】
前記制御部は、所定の時間内に前記無線ノードのデータを受信しない場合に、前記無線ノードのデータの受信に失敗したと判断する
請求項３に記載のデータ管理装置。
【請求項５】
前記第１情報は、前記Ｎホップ目の前記第１無線ノードが通信可能なＮ−１ホップ目の無線ノードを特定する第３情報を含み、
前記制御部は、前記第３情報に基づき、前記第１ノードの切り替え先の親ノードを決定する
請求項２〜４のいずれか一項に記載のデータ管理装置。
【請求項６】
前記制御部は、前記Ｎホップ目の複数の無線ノードが前記親ノードをＮ−１ホップ目の他のノード切り替えた場合の前記データ管理装置までの経路の品質を計算し、前記経路の品質に基づき、前記第１ノードと前記第２ノードとを決定する
請求項２に記載のデータ管理装置。
【請求項７】
前記Ｎは２である
請求項２〜６のいずれか一項に記載のデータ管理装置。
【請求項８】
無線マルチホップネットワークにおける複数の無線ノードからデータを収集するデータ管理装置によるデータ管理方法であって、
無線信号を送受信し、
前記無線マルチホップネットワークにおいて経路制御を行う対象となる範囲を前記データ管理装置からのホップ数により決定し、
前記データ管理装置から前記ホップ数の範囲の前記経路制御を行い、前記ホップ数より大きいホップ数の範囲の前記経路制御を行わない、
データ管理方法。
【請求項９】
無線マルチホップネットワークにおける複数の無線ノードからデータを収集するコンピュータに実行させるためのコンピュータプログラムであって、
前記無線マルチホップネットワークにおいて経路制御を行う対象となる範囲を前記コンピュータからのホップ数により決定するステップと、
前記コンピュータから前記ホップ数の範囲の前記経路制御を行い、前記ホップ数より大きいホップ数の範囲の前記経路制御を行わないステップと
を前記コンピュータに実行させるためのコンピュータプログラム。
【請求項１０】
無線マルチホップネットワークにおける複数の無線ノードのうちの１つである第１無線ノードに対応する無線通信装置であって、
無線信号を送受信する送受信部と、
前記無線マルチホップネットワークにおける根ノードからの前記第１無線ノードのホップ数が所定値又は所定の範囲内かを判断し、前記所定値又は所定の範囲内であり、かつ前記第１無線ノードが親ノードへの送信に必要なデータ量が上限値を超えている場合は、前記上限値を超えていることを示す情報を、前記根ノードに対応する、前記無線マルチホップネットワークの経路制御を行うデータ管理装置に送信する制御部と、
を備えた無線通信装置。
【請求項１１】
無線マルチホップネットワークにおける複数の無線ノードのうちの１つである第１無線ノードに対応する無線通信方法であって、
無線信号を送受信するステップと、
前記無線マルチホップネットワークにおける根ノードからの前記第１無線ノードのホップ数が所定値又は所定の範囲内かを判断するステップと、
前記所定値又は所定の範囲内であり、かつ前記第１無線ノードが親ノードへの送信に必要なデータ量が上限値を超えている場合は、前記上限値を超えていることを示す情報を、前記根ノードに対応する、前記無線マルチホップネットワークの経路制御を行うデータ管理装置に送信するステップと、
を備えた無線通信方法。
【請求項１２】
無線マルチホップネットワークにおける複数の無線ノードのうちの１つである第１無線ノードに対応するコンピュータに実行させるためのコンピュータプログラムであって、
前記無線マルチホップネットワークにおける根ノードからの前記第１無線ノードのホップ数が所定値又は所定の範囲内かを判断するステップと、
前記所定値又は所定の範囲内であり、かつ前記第１無線ノードが親ノードへの送信に必要なデータ量が上限値を超えている場合は、前記上限値を超えていることを示す情報を、前記根ノードに対応する、前記無線マルチホップネットワークの経路制御を行うデータ管理装置に送信するステップと、
を前記コンピュータに実行させるためのコンピュータプログラム。
【請求項１３】
複数の無線ノードと、前記複数の無線ノードからデータを収集するデータ管理装置とを備えた無線マルチホップネットワークであって、
前記データ管理装置は
無線信号を送受信する送受信部と、
前記データ管理装置から前記ホップ数以下のＮ（Ｎは２以上の整数）ホップ目の複数の第１無線ノードが送信する必要のあるデータ量を表す第１情報を、前記無線マルチホップネットワークにおける中継を介して取得し、
前記第１情報に基づき、前記Ｎホップ目の複数の無線ノードのうち親ノードを切り替える必要のある第１ノードと、第１ノードの切り替え先の親ノードである第２ノードとを決定し、
前記第１ノードが前記第２ノードに前記親ノードを切り替えることを指示する第２情報を、前記無線マルチホップネットワークにおける中継を介して、前記第１ノードに送信し、
前記第１ノードは、前記第２情報を受信した場合は、前記第１ノードの前記親ノードを、前記第２情報で指示された前記第２ノードに切り替える
無線マルチホップネットワーク。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、データ管理装置、データ管理方法、無線通信装置、無線通信方法、無線マルチホップネットワーク及びコンピュータプログラムに関する。
【背景技術】
【０００２】
複数のノードをメッシュ状に接続したネットワークである無線マルチホップネットワークは、通信線が不要であるため、メンテナンス性に優れている。このため、広範囲を監視するセンサネットワーク等も容易に設置および維持できる。無線マルチホップネットワークにおいて、時分割通信を適用し、通信に無関係な時間帯では、ノードをスリープさせる仕組みが知られている。これにより、エネルギー資源の節約（省電力化）を図る。
【０００３】
無線マルチホップネットワークでは、ノード間の通信の中継により集約装置にデータを集めるため、ノードのデータの中継先となる親ノードを決定する必要がある。親ノードの候補が複数存在する場合には、これらの中から親ノードを選択することが必要である。親ノードを選択する方法としては、ＥＴＸ（Expected Transmission）と呼ばれる方式が広く知られている。ＥＴＸ方式では、通信成功率が大きくなる経路の親ノードを選択できる。
【０００４】
しかしＥＴＸ方式では、経路上の一部のノードにデータが集中することで輻輳が発生する問題がある。輻輳が発生すると、受信したデータの中継が出来なかったり、受信したデータが消失し得る。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１６―５４３４９号公報
【特許文献２】特許登録第５８８０２２３号
【非特許文献】
【０００６】
【非特許文献１】JP. Vasseur, 他, “Routing Metrics Used for Path Calculation in Low-Power and Lossy Networks,” Internet Engineering Task Force (IETF) Request for Comments: 6551, https://tools.ietf.org/html/rfc6551(2012)
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明の実施形態は、無線マルチホップネットワークにおける輻輳の回避を可能とするデータ管理装置、データ管理方法、無線通信装置、無線通信方法、無線マルチホップネットワーク及びコンピュータプログラムを提供する。
【課題を解決するための手段】
【０００８】
本発明の実施形態に係るデータ管理装置は、無線マルチホップネットワークにおける複数の無線ノードからデータを収集するデータ管理装置であって、無線信号を送受信する送受信部と、前記無線マルチホップネットワークにおいて経路制御を行う対象となる範囲を前記データ管理装置からのホップ数により決定し、前記データ管理装置から前記ホップ数の範囲の前記経路制御を行い、前記ホップ数より大きいホップ数の範囲の前記経路制御を行わない制御部と、を備える。
【図面の簡単な説明】
【０００９】
【図１】第１の実施形態における無線通信システムの構成を示す図。
【図２】第１の実施形態における無線通信システムのネットワーク構成図。
【図３】第１の実施形態におけるフレームとスロットとの関係を示す図。
【図４】第１の実施形態におけるネットワーク構成を示す図。
【図５】第１の実施形態におけるスロットの利用方法を示す図。
【図６】ＥＴＸ方式における親ノード選択方法を示す図。
【図７】無線マルチホップネットワークにおける輻輳を説明する図。
【図８】第１の実施形態に係る動作例を説明するための図。
【図９】図８に続く図。
【図１０】図９に続く図。
【図１１】図１０に続く図。
【図１２】第１の実施形態に係る無線ノードの構成を示すブロック図。
【図１３】パケットのフォーマットの一例を示す図。
【図１４】第１の実施形態に係る集約装置の構成を示すブロック図。
【図１５】第１の実施形態に係る集約装置の動作例のフローチャート。
【図１６】第１の実施形態に係る無線ノードの動作例のフローチャート。
【図１７】第２の実施形態の動作例を説明するための図。
【発明を実施するための形態】
【００１０】
以下、図面を参照しながら、本発明の実施形態について説明する。
【００１１】
（第１の実施形態）
図１は第１の実施形態に係る無線通信システムの構成を示す図である。本無線通信システムは、１台の集約装置１０１と複数の無線ノード（以下、ノード）１０２とを備える無線マルチホップネットワークである。各無線ノード１０２はセンサを搭載している。各ノード１０２は、センサで測定したセンサ情報（例えば温度又は傾きの情報）を含むデータと、下位のノード（子ノード）から受信したデータとを上位のノードに無線送信（中継）する。これにより、各ノード１０２で取得されたセンサ情報が集約装置１０１に集まる。無線ノード１０２はセンサ情報を含むデータを送信する無線通信装置である。集約装置１０１は、各無線ノード１０２から収集したセンサ情報を管理する、データ管理装置又は無線通信装置である。
【００１２】
図２は、図１のシステム構成をネットワークトポロジーの形態で表した図である。集約装置１０１を根ノードと称する。またノード１０２は、丸で囲んだアルファベットで表現されている。ノードＡ，Ｂ，及びＣは直接に根ノードと直接通信する。ノードＤ，Ｅ，Ｆ及びＧは、それぞれＡ，Ｂ，又はＣを介して根ノードと通信する。このように、各ノード１０２は直接あるいは他のノードを介して根ノードと通信する。ここで、根ノードに近い側（ホップ数が小さい側）を上流側、根ノードから遠い側（ホップ数が多い側）を下流側とする。また各ノードが、下流側（あるいは上流側）のデータを受信し、受信したデータを上流側（あるいは下流側）に向かって送信しなおすことを中継と呼ぶ。中継を行うノードを中継ノードと呼ぶ。中継に当たっては、中継ノードが、自ノードで測定したセンサ情報等を含むデータを、受信した下流側のデータに追加して、送信することもある。中継にあたり、自ノードを送信相手として指定して送信してくる下流側のノードを子ノード、自ノードがデータを送信する相手となるノードを親ノードと呼ぶこととする。また、自ノードを集約装置１０１までの経路に含んでいるノードを子孫ノードと呼ぶ。子ノードも子孫ノードの一例である。また、以下の説明において、自ノードよりホップ数が少ないノードを上位ノード、自ノードよりホップ数が多いノードを下位ノードと呼ぶこともある。
【００１３】
図３は、第１の実施形態に係る無線マルチホップネットワークの通信方式を説明する図である。本ネットワークでは通信方式として時分割通信を行う。時分割通信では、時間をフレームに分割し、さらにフレームをスロットに細分化する。各ノードは特定のスロットを占有し、フレーム周期で無線信号を送信する。送信する無線信号は、具体的にはパケットの形態を有する。図３の例では、各フレームにおける１番目のスロットがノードＣに割り当てられている。ノードＣが無線信号を送信するときは、各フレームにおける１番目のスロットを用いる。同様にノードＡは各フレームにおける３番目のスロット、ノードＢは各フレームにおける第５番目のスロットにて無線信号を送信する。各ノードが自ノードのスロットで送信可能なデータ量の上限は、スロットの幅や、送信に使用する変調方式等に依存する。もし各ノードが上限を超えるデータ量を複数の子ノードから受信すると、そのうちの一部を中継できなかったり、一部又は全部のデータが消失するなど、輻輳が発生する可能性がある。
【００１４】
図４は、無線マルチホップネットワークにおけるホップ数を説明するための図である。根ノードである集約装置（図４において図示せず）に至る２つの経路の途中にノード２，３，４，５，７がある。ノード２に対して、２つのノード、すなわち、ノード３とノード５が無線接続（以下、接続）されている。また、ノード５に対してノード４が接続されており、ノード４に対してノード７が接続されている。接続とは予め接続処理（認証処理を含んでもよい）を行って、互いのパラメータ交換等を済ませた状態を意味する。接続されたノード同士は、親ノードと子ノードの関係にある。ノード３とノード５は、集約装置１０１からＲホップ目、すなわちノード３とノード５のホップ数はＲである。またノード４は、集約装置１０１からＲ＋１ホップ目、すなわちノード４のホップ数はＲ＋１である。
【００１５】
図５は、無線マルチホップネットワークの基本的な動作の説明図である。横軸は時間である。各ノードに対して、根ノードからのホップ数（中継回数）と同じ値のランクを割り当てる。また、所定数の隣接する複数スロットをまとめてスロット群と定義する。１つのフレーム内には複数のスロット群が配置される。スロット群の中で最初のスロットをスロット番号１、次をスロット番号２、というように、スロット群の各スロットに番号付けをする。
【００１６】
各ノードは、自ノードのランクに対応したスロット群内で送信する。ここで、ランクが大きいノード（根ノードから遠いノード）ほど、フレーム内の複数のスロット群のうち、時間的に早いスロット群を使用する。例えば根ノードに直接信号が届くランク１のノードについては、フレーム内の複数のスロット群のうち、もっとも時間的に後のスロット群を利用する。またランク１のノードと通信可能であるランク２のノードについては、フレーム内の複数のスロット群のうち、最後から２番目のスロット群を使う。図４に示した例では、ノード３と５は集約装置１０１からのホップ数がＲであるため、フレーム内の最後からＲ番目のスロット群を用いる。これにより、根ノードから遠い下流側ノードから順に上流側の根ノードに向かって、１フレーム以内でデータを中継する形態が実現できる。
【００１７】
各ノードは、自ノードのランクに対応するスロット群内において、自ノードのＩＤ（ノードＩＤ）と同一の番号のスロット番号のスロットを使う。例えばランクＲのノード３は、フレーム内の複数のスロット群のうち、最後からＲ番目のスロット群の中で、スロット番号３のスロットを使う（図５の中段参照）。このようにすることで、ノード間でノードＩＤの重複が無ければ、各ノードが送信した無線信号が衝突することは無い。
【００１８】
親ノードは、子ノードの送信タイミングにおいて、受信動作を行う。例えば、ノード５の子ノードであり、ランクがＲ+１であるノード４の送信タイミングは、最後からＲ＋１番目の、スロット番号４のスロットである。したがって、ノード５は、最後からＲ＋１番目のスロット番号４のスロットにおいてノード４からの受信動作を行う（図５の上段及び下段参照）。
【００１９】
子ノードは、親ノードの存在を確認するために、親ノードが送信した無線信号を受信する動作を行ってもよい。例えばノード５は、親ノードであるノード２（図４参照）の無線信号を受信することで、ノード２が存在している（無線マルチホップネットワークから離脱していない）ことを確認する。ノード２のランクはＲ−１であるから、ノード５は、最後からＲ−１番目のスロット群内のスロット番号２のスロットにおいて受信動作を行う。
【００２０】
各ノードは省電力化のため、自ノードが送信及び受信するスロット以外の期間では、スリープする。スリープの動作例として、自ノードの回路（プロセッサ、通信回路等）の一部又は全部の動作を停止させる。ノード５の場合、自ノードが送信及び受信するスロットは、子ノードからの受信用のスロット、自ノードの送信用のスロット、親ノードからの受信用のスロットである（図５の上段参照）。ノード５は、これらの３つのスロットでのみ動作し、他のスロットではスリープする。
【００２１】
上述した説明では下流側から上流側への送信（上りリンク送信と呼ぶ）の場合を説明したが、上流側から下流側への送信（下りリンク送信と呼ぶ）も同様にして実施可能である。下りリンク送信の場合も同様に、フレームを複数のスロット群に細分化し、各ノードにスロットを割り当てればよい。上りリンク送信では時間が早いスロットほど下流側のノードに割り当てたが、下りリンク送信では時間が早いスロットほど上流側のノードに割り当てるようにする。このような割当を可能とするために、各スロット群に、上りリンク送信と下りリンク送信とで、異なるランクを設定する。具体的には、上りリンク送信では時間的に早いスロット群ほど、当該スロット群に大きなランクを割り当てたが、下りリンク送信では時間的に早いスロット群ほど、当該スロット群に小さなランクを割り当てる。各ノードは、下りリンク送信の場合も、自ノードのランクに対応するスロット群内において、自ノードのＩＤ（ノードＩＤ）と同一の番号のスロット番号のスロットを使う。このようにすることで、上りリンク送信と下りリンク送信とで同じ周波数チャネルを用いても信号衝突を抑制して、上りリンク送信と下りリンク送信とを並行して行うことができる。もっとも、上りリンク送信と下りリンク送信とで異なる周波数チャネルを用いることも可能である。
【００２２】
ここで子ノードが、親ノードから送信される無線信号を受信する動作についてさらに説明する。例えばノード４は、親ノード５からの受信動作を行うスロットでは、親ノード５がその親ノード２に送信する無線信号を受信する。この無線信号には、親ノード５がその親となるノードに送信するデータの他に、自ノード４が親ノード５に送信したデータの受信が親ノード５で成功したかを示す受信確認信号（ＡＣＫ情報）を含めることができる。このＡＣＫ情報を確認することで、ノード４は、自ノードの送信の成功可否を確認できる。また、ノード４は親ノード５からの無線信号を受信することで、親ノード５の存在を確認することができる。ここではノード４を例に説明したが、他のノードも同様である。
【００２３】
無線マルチホップネットワークにおいて、あるノードが通信可能な上位ノードとして複数の上位ノード（親ノードの候補）が存在する場合は、これらの上位ノードの中から、親ノードを選択する必要がある。親ノードを選択する方法としては、ＥＴＸ（Ｅｘｐｅｃｔｅｄ  Ｔｒａｎｓｍｉｓｓｉｏｎ）と呼ばれる方式が良く知られている。以下、ＥＴＸ方式について説明する。
【００２４】
ＥＴＸ方式では、親ノードの選択のために、リンクコスト及びパスコストを用いる。
【００２５】
リンクコストとは、あるノードから、直接の通信相手のノード（例えば親ノード）までの通信に掛かるコストと定義される。ＥＴＸ方式の場合、リンクコストは、あるノードから、通信相手のノードへデータを誤り無く送るのに必要な送信回数の期待値（すなわちデータ送信が成功するために必要な送信回数の期待値）である。データを誤り無く１回で送れるのであれば、リンクコストは１である。再送が１回あるいは２回必要な場合（再送回数の期待値が１又は２の場合）は、リンクコストは２あるいは３となる。再送回数の期待値は、一例として、過去の再送回数の平均値などが用いられる。
【００２６】
パスコストとは、あるノードから根ノードまでの通信に掛かるコストのことである。ＥＴＸ方式の場合、パスコストは、総送信回数の期待値、すなわち根ノードへ至る経路上の全てのリンクコストの加算値である。パスコストが小さいということは、ホップ数が少ないか、経路上のデータ誤りが少ないことを意味している。
【００２７】
図６に、リンクコスト及びパスコストの計算例を示す。ノードＡから根ノードまでのリングコスト（ＬＣ）は４である。これは、ノードＡから根ノードまでデータを送信するために、最初の送信に加え、期待値として３回の再送が必要であることを示している。ノードＡは根ノードに直接接続されているため、ノードＡのパスコスト（ＰＣ）は、リンクコストと同じ４である。
【００２８】
ノードＣからノードＡまでのリンクコストは３である。ノードＣからノードＡを経由して根ノードまでのパスコストは、ノードＡのパスコストと、ノードＣのリンクコストとの合計で７となる。すなわち、ノードＣからノードＡを経由して根ノードへ至る経路では、期待される総送信回数は７である。
【００２９】
パスコストを利用して親ノードを選択する例を、ノードＮについて説明する。ノードＮの親ノード候補として、ノードＣ、ノードＡ、ノードＢ及び根ノードが存在する。ノードＮは、これらのノードをそれぞれ含む、根ノードへ至る４つの経路のそれぞれについて、パスコストを計算する。そして、最もパスコストが小さい経路に含まれる親ノード候補を親ノードとする。パスコストが小さい経路は、言い換えれば安定した通信品質でデータ送信が可能な経路であると言える。本例では、パスコストが最も少なくなる経路は、ノードＣを経由する経路である。ノードＮは、ノードＣを親ノードとして選択する。
【００３０】
各ノードは、自ノードのパスコストを含む無線信号を、自ノード用のスロットで送信（報知）する。周囲のノードは、この無線信号を受信することで、当該ノードのパスコストを把握できる。例えばノードＡは、パスコスト４を報知する。“パスコストｘ”（ｘは実数）は、値がｘのパスコストを意味する。ノードＣは、ノードＡから受信したパスコスト４に、ノードＡ及びノードＣ間のリンクコスト３を加算して、パスコスト７を得る。ノードＣは、パスコスト７を報知する。ノードＮは、ノードＣから受信したパスコスト７に、ノードＮ及びノードＣ間のリンクコスト２を加算して、ノードＣを経由する場合の自ノードから根ノードまでの経路のパスコスト９を得る。ノードＮは、ノードＡ、根ノード、ノードＢに対しても同様にして、パスコストを計算し、それぞれ１０、１５、１１を得る。ノードＣを経由する場合のパスコストが最も小さいため、ノードＣを親ノードとして選択する。
【００３１】
ＥＴＸ方式では、リンクが安定していて再送回数が少ない経路が選ばれる傾向がある。その結果、安定した経路に含まれるノードに中継されるデータが集中し、輻輳が発生し易い。
【００３２】
図７は、無線マルチホップネットワークにおける輻輳を説明する図である。ノードＡ、Ｂ、Ｃは、集約装置１０１と直接通信するノード（ホップ数１のノード）である。ホップス数２のノードは、ノードＤ、Ｅ、Ｆ、Ｇである。ノードＤは、ノードＡの子ノードである。ノードＥ、Ｆ、ＧはノードＢの子ノードである。ノードＣは子ノードを持たない。ノードＤ〜Ｇにもそれぞれ子ノード（ホップ数３のノード）が存在するが図示を省略する。本ネットワークにおける各ノードは、自ノードのセンサ情報を含むデータを生成し、送信する。各ノードから送信されたデータは、１つ又は複数の中継ノードによる中継を繰り返すことにより、集約装置１０１に集められる。以下では、説明の簡単のため、１つのノードが生成するセンサ情報を含むデータのデータ量は１とする。
【００３３】
図７においてノードＤはデータ量１０のデータを、ノードＡに送信している。より具体的には、ノードＤが子ノードから受信したデータ量９のデータ（例えば９台の子孫ノード分のデータ）と、自ノードのデータとをまとめて、自ノードに割り当てられたスロットでノードＡに送信している。ノードＡは、ノードＤからデータ量１０のデータを受信し、これに自ノードのデータ量１のデータを合わせて、データ量１１のデータを集約装置１０１に、自ノードに割り当てられたスロットで送信する。なお、実際には中継の際には、子ノードから受信したデータと、自ノードで生成したデータとを１つのパケットにまとめて送信するため、送信するデータ量は、子ノードから受信したデータ量と、自ノードで生成したデータ量の合計になるとは限らないが、説明の簡単のため、この違いについては無視する。
【００３４】
同様に、ノードＥ、Ｆ、Ｇがそれぞれデータ量１０、２５、及び２５のデータを、ノードＢに送信している。ノードＢが自ノードのスロットで送信する必要のあるデータ量は、ノードＥ，Ｆ，及びＧから受信したデータと、自ノードのデータとを合わせた６１（＝１０+２５+２５+１）となる。もし、ノードＢが送信することができるデータ量の上限が３０である場合、データ量６１のうち、データ量３０を超えるデータ量３１分のデータは送信することができなくなる。するとデータ量３１分のデータの一部又は全部が消失する可能性がある。
【００３５】
このように、通信の品質等に基づいた親ノードの選択方法では、データの集中が起こる場合があり、データが溢れてしまう可能性がある。すなわち、特定のノードにデータが集中し、当該データのデータ量が、特定のノードが送信できるデータ量の上限値を超える場合がある。この場合、上限値を超えた分のデータが送信されなかったり、消失したりする可能性がある。このようなデータの集中、すなわち輻輳は、特に集約装置１０１に近いノードほど（ホップ数の小さいノードほど）起こりやすい。本発明の実施の形態では、このようなデータの集中（輻輳）を抑制し、データが溢れることなく集約装置１０１へ届くようにする。
【００３６】
図８〜図１１を用いて、本実施形態に係る経路制御に関する動作の概要について説明する。
【００３７】
図８は本実施形態に係る経路制御に関する動作の第１ステップを示す図である。図８のネットワーク構成は図７と同じであるため説明を省略する。２ホップ目のノード（ホップ数２のノード）であるノードＤ，Ｅ，Ｆ、Ｇがそれぞれ、データ量１０，１０，２５，２５のデータを送信する必要がある。これらのノードＤ〜Ｇは送信する必要のあるデータ量である必要送信データ量の情報（第１情報）を、親ノード（ホップ数１）であるノードＡ，Ｂへ通知する。ノードＤ、Ｅ、Ｆ、Ｇは新たな子ノードが自ノードに接続してこない限り、通常、フレーム周期で同じ量のデータを送信することから、必要送信データ量を計算できる。ノードＡは、ノードＤから必要送信データ量の情報を受信し、ノードＢは、ノードＥ、Ｆ、Ｇから必要送信データ量の情報を受信する。
【００３８】
ノードＡ、Ｂは、それぞれの子ノードの必要送信データ量の情報を集約装置１０１に報告する。具体的には、ノードＡは、ノードＤの必要送信データ量１０の情報（図の“Ｄから１０”）を集約装置１０１に送信する。ノードＢは、ノードＥの必要送信データ量１０の情報（図の“Ｅから１０”）と、ノードＦの必要送信データ量２５の情報（図の“Ｆから２５”）と、ノードＧの必要送信データ量２５の情報（図の“Ｇから２５”）とを集約装置１０１に送信する。ノードＣは子ノードを持たないため、子ノードを有さないとの情報（“子ノードなし”）を集約装置１０１に送信する。
【００３９】
上述したホップ数２のノード（ノードＤ〜Ｇ）からの必要送信データ量の情報の通知、及び、ホップ数１のノード（Ａ、Ｂ、Ｃ）から集約装置１０１への報告は、事前に定めたタイミング又は任意のタイミングで行う。例えば、必要送信データ量の通知及び集約装置１０１への報告を、一定時間おきに行ってもよい。または、ノードＤ〜ＧからノードＡ、Ｂへのフレーム周期毎のデータ送信のたびに、必要送信データ量の情報を同じパケットで送信してもよい。そして、ノードＡ〜Ｃから集約装置１０１へのフレーム周期毎のデータ送信のたびに、子ノードの必要送信データ量の情報、もしくは子ノードを有さないとの情報を、同じパケットで送信してもよい。
【００４０】
図９は本実施形態に係る経路制御に関する動作の第２ステップを示す図である。図の左には、集約装置１０１がホップ数１のノードから報告された情報を示される。集約装置１０１は、これらの情報に基づき、ホップ数２のノードＤ〜Ｇの必要送信データ量を特定する。集約装置１０１は、ホップ数１のノードが、それぞれの子ノード（ホップ数２のノード）から受信したデータのすべてを、当該ホップ数１のノードに割り当てられたスロットで送信（中継）しきれるかどうかを計算する。すなわちホップ数１のノードの必要送信データ量が上限値を超えているかどうかを計算する。各ノードが１スロットで送信可能なデータ量の上限値は３０であるとする。また、各ノードで生成されるデータの量は１であるとする。
【００４１】
例えば、集約装置１０１は、ノードＡについては、ノードＤの必要送信データ量と、ノードＡが生成するデータ量である１とを合わせた１１を、ノードＡの必要送信データ量と計算する。ノードＣの必要送信データ量は１であると計算する。また、ノードＢについては、ノードＥ、Ｆ、及びＧの必要送信データ量の総和である６０と、ノードＢが生成するデータ量である１と合わせた６１を、ノードＢの必要送信データ量と計算する。
【００４２】
これらの計算結果から、ノードＡ、Ｃの必要送信データ量は上限値３０以下のため、集約装置１０１は、ノードＡ、Ｃは、データを溢れることなく送信することができると判断する。しかし、ノードＢの必要送信データ量６１は上限値３０を超えているため、ノードＢは一部のデータを送信することができないと判断する。よって、集約装置１０１は、ホップ数１のノードの中に、必要送信データ量が上限値を超えているノードが存在すると判断する。
【００４３】
この場合、集約装置１０１は、ホップ数２のノードからホップ数１のノードへの現在の接続先を見直し、見直し結果に基づき、ホップ数２のノードの少なくとも１つについて、新たな接続先（親ノード）を決定する。例えば、ノードＥの接続先をノードＢからノードＡに、そしてノードＧの接続先をノードＢからノードＣに切り替えることを決定する。決定の結果が図９の右に示される。これによれば、ホップ数１のノードＡ、Ｂ、Ｃの全てで、必要送信データ量が３０以下になる。よって、ノードＡ、Ｂ、Ｃのいずれでも、溢れることなくデータを、集約装置１０１に送信することができる。
【００４４】
なお、集約装置１０１における経路制御に係る処理（親ノードの見直し）は、ホップ数１のノードから子ノードの必要送信データ量の報告を受け取けるごとに毎回行ってもよいし、当該報告を一定回数受け取るごとに行ってもよい。あるいは、ネットワークにおける少なくともいずれかのノードからのデータ（センサ情報）が受信されなかった場合に行ってもよい。上記の例では、ノードＢから集約装置１０１への通信において溢れが発生していると思われることから、集約装置１０１でノードＢ又はノードＢの子孫ノードの少なくともいずれか１つのノードのセンサ情報の受信に失敗した際に、本処理を実施しても良い。
【００４５】
図１０は本実施形態に係る経路制御に関する動作の第３ステップを示す図である。ホップ数２のノードの接続先の見直し（親ノードの再決定）を行った集約装置１０１は、ホップ数１のノードに対し、ホップ数２のノードが新たに接続すべき相手先（新たな親ノード）を指示する情報を送信する。本例ではノードＥの接続先をノードＡに、ノードＧの接続先をノードＣへ切り替えるため、ノードＥ、Ｇが現在接続しているノードＢに対し、接続先の切り替えを指示する切替指示情報（第２情報）を送信する。切替指示情報の送信には、集約装置１０１に割り当てられている上りリンク送信用のスロットを用いればよい。切替指示情報を受け取ったノードＢは、ノードＥに対し接続先をノードＡに切り替えることを指示する切替指示情報を送信し、ノードＧに対し接続先をノードＣに切り替えることを指示する切替指示情報を送信する。これらの切替指示情報の送信には、ノードＢに割り当てられている上りリンク送信用のスロットを用いればよい。
【００４６】
図１１は本実施形態に係る経路制御に関する動作の第４ステップを示す図である。ノードＢから切替指示情報を受け取ったノードＥとノードＧは、指示に従ってそれぞれ接続先をノードＡ及びノードＣに切り替える。この切り替えによって、ノードＡは、ノードＤに加えて新たにノードＥからのデータを中継し、ノードＣは新たにノードＧからのデータを中継しなければならなくなる。その場合でも、ノードＡの必要送信データ量は自ノードで生成するデータ量１を含めて２１であり、ノードＣの必要送信データ量は、自ノードで生成するデータ量１を含めて２６である。いずれも、上限値である３０以下である。よって、ノードＡ、Ｃとも、子ノードから受信した中継用のデータと、自ノードで生成するデータとのすべてを、自ノードのスロット内で送信できる。またノードＢについては、子ノードがノードＦのみになったため、ノードＢの必要送信データ量は、自ノードで生成するデータ量１を含めて２６である。これは、上限値の３０以下であるため、ノードＢも、データ溢れ（輻輳）が発生することなく、子ノードから受信したデータと、自ノードで生成したデータとのすべてを、自ノードのスロット内で送信できる。
【００４７】
上述した経路制御の動作はホップ数２のノードを対象に行ったが、ホップ数３以上のホップ数のノードを対象に行ってもよい。ただし、経路制御は、集約装置１０１からのホップ数がＮ（Ｎは２以上の整数）までの範囲で行い、ホップ数がＮを越える範囲では行わないものとする。Ｎは、ネットワークの最大ホップ数より小さい値である。このように経路制御を行う範囲を集約装置１０１から近い範囲に制限することで、多段の中継を経ないと通信できないノードとの制御のための通信は不要となり、効率的な制御が可能となる。また、実際、データが多く集中するのは集約装置１０１に近いノードであることから、集約装置１０１から近い範囲のノードを対象とすることで、この意味でも効率的な制御が可能となる。
【００４８】
以下、このような経路制御に関する動作を実現する無線ノード及び集約装置の構成および動作について説明する。
【００４９】
図１２は本実施形態における無線ノード（無線通信装置）１０２の構成を示す図である。無線通信装置１０２は、アンテナ１０と、ＲＦ部２１、送受信部２２、データ生成部２５、制御部２６、及び中継制御部２７を備える。これらの各要素はＣＰＵ等のプロセッサ又は回路によって構成できる。また、これらの各要素がメモリ等のバッファを備えていてもよい。メモリは、ＤＲＡＭ、ＳＲＡＭ等の揮発性メモリでも、ＮＡＮＤ、ＦＲＡＭ、ＭＲＡＭ等の不揮発性メモリでもよい。また、本装置が、ハードディスク装置またＳＳＤなどのストレージ装置を備えていてもよい。
【００５０】
アンテナ１０は、無線周波数の信号（無線信号）の送信及び受信を行う。アンテナ１０は１本でも、複数本でもよい。また、アンテナ１０はアレイアンテナでもよい。
【００５１】
ＲＦ部２１は、アンテナ１０に接続されている。ＲＦ部２１は、送信用のパケットのビット系列を無線信号に変換し、無線信号を送信する処理を行う。ＲＦ部２１は、受信した無線信号からパケットのビット系列を取り出す処理を行う。
【００５２】
図１３はパケットのフォーマットの一例を示す。パケットは、自ノードＩＤ、宛先ノードＩＤ、自ノードのデータ、子孫ノードのデータ（中継用のデータ）、パスコスト、及び自装置が送信する必要のあるデータ量（必要送信データ量）の情報を格納する複数のフィールドを含む。必要送信データ量の情報を子孫ノードのデータを含むパケットとは別のパケットで送信する構成も可能である。ホップ数Ｎの自ノードが通信可能なホップ数Ｎ−１のノードを特定する情報のフィールドが設けられてもよい。例えば、自ノードがホップ数２の場合、自ノードが通信可能なホップ数１のノードを特定する情報をこのフィールドに格納する。また、自ノードの子孫ノードの個数を設定する子孫数フィールドを設けてもよい。また、子ノード及び子孫ノードのデータを子ノードから受信した場合に送達確認を行うためのＡＣＫフィールドを備えてもよい。
【００５３】
データ生成部２５は、自ノード用のデータを生成する。データ生成部２５は、センサに接続されている。センサは、温度又は傾きなどを測定する。データ生成部２５は、センサから測定値を取得し、測定値をビット変換したセンサ情報を含むデータを生成する。ここではセンサから自ノード用のデータを生成したが、これに限定されない。例えばＣＰＵにより行った演算結果、又は装置の内部状態を表す値に基づき、データを生成してもよい。
【００５４】
送受信部２２は、送信部２３及び受信部２４を備える。
【００５５】
送信部２３は、データ生成部２５及び中継制御部２７の少なくとも一方から提供されたデータと、パラメータとに基づき、パケットを生成し、パケットの送信ビット系列をＲＦ部２１へ送り出す。ここでのデータとは、データ生成部２５で生成されたデータ（センサ情報等）及び中継すべきデータ（子ノードから受信したデータ）である。生成されたデータは自ノードデータフィールド、中継すべきデータは子孫ノードデータフィールドに格納される。パラメータは、送信先の親ノードのＩＤや、送信タイミング（例えばどのフレームのどのスロットか）、送信電力値などである。送信先の親ノードのＩＤは、宛先ノードＩＤフィールドに格納される。自ノードＩＤフィールドには、自ノードのＩＤが格納される。パスコストフィールドには、自ノードのパスコストが格納される。パケットにＡＣＫフィールドを設ける場合、例えば、子ノード及び子孫ノードのデータを子ノードから受信した場合は、ＡＣＫフィールドにおける該当するノードのビットに１を立て、受信しなかった場合は０を立てる。パラメータは、データ生成部２５又は中継制御部２７から送信部２３に提供される。もしくは、パラメータは、送信部２３内のバッファに事前に設定されていてもよい。
【００５６】
受信部２４は、ＲＦ部２１から受信したパケットのビット系列から、データ及びパラメータを取り出す。取り出されたデータ及びパラメータは、制御部２６及び中継制御部２７に送られる。ここでのパラメータとは、受信した無線信号の送信元ＩＤ、受信した際の受信電力や受信タイミングなどである。また自ノードが送信した無線信号に対する送達確認（ＡＣＫ）である場合もあり得る。
【００５７】
制御部２６は、親ノード候補の中から親ノードの選択、選択した親ノードとの接続処理を行う。親ノード候補は、例えば自ノードと無線信号を送受信可能なノードである。制御部２６は、一例として、親ノード候補を含む、根ノードへ至る複数の経路のパスコストに基づき、親ノードを選択する。選択された親ノードの情報は、中継制御部２７に送られる。なお、パスコストの計算に必要な各親ノード候補との間のリンクコストは、一例として、過去の送信履歴がある場合は、送信に成功するまでに送信回数の期待値を計算することで、取得してもよい。あるいは、実際に親ノード候補と通信を行って、送信に成功するまでの送信回数を測定してもよい。あるいは、ノードから受信した無線信号の受信電力値に基づいて、当該ノードとのリンクコストを計算してもよい。例えば受信電力値が大きいほど、小さな値のリンクコストを計算する。制御部２６は、計算したリンクコストを、無線信号の送信元のノードとのリンクコストとする。
【００５８】
制御部２６は、集約装置１０１から必要送信データ量の情報の取得要求を受けた場合に、必要送信データ量を計算し、必要送信データ量の情報を、親ノードを介して、集約装置１０１に送信する。制御部２６は自ノードのホップ数を検出し、検出したホップ数が所定値（例えば２）の場合にのみ、本動作を行ってもよい。必要送信データ量の情報に、自ノード（ホップ数Ｎ）が通信可能な１ホップ上位（ホップ数Ｎ−１）の無線ノードを含めてもよい。必要送信データ量は、例えば過去の一定期間内（例えば１フレームの周期）に受信したセンサ情報（下流の各々異なる無線ノードからのセンサ情報）のサイズを合計することで計算できる。
【００５９】
また、制御部２６は、親ノードから切替指示情報を受信した場合は、切替指示情報で指示された親ノードに接続先を切り替える処理を行う。
【００６０】
また、制御部２６は、自ノードのホップ数が所定値又は所定の範囲内かを判断し、所定値又は所定の範囲内の場合は、自発的に自ノードの必要送信データ量を計算し、必要送信データ量が上限値を超えたかを判断する処理を行ってもよい。例えば経路制御の範囲が２ホップの場合、自ノードのホップ数が１（所定値に対応）であれば、本処理を行う。経路制御の範囲がＮホップの場合、自ノードのホップ数が１以上Ｎ−１以下（所定の範囲）であれば、本処理を行う。所定値及び所定の範囲は、集約装置１０１の経路制御の範囲に基づいて決まる。上限値を越えた場合に、上限値を超えていることを示す情報を、親ノードを介して、または直接（自装置が集約装置１０１と接続している場合）集約装置１０１に送信する。集約装置１０１では、この情報の受信をトリガーとして、経路制御に関する処理（図８〜図１１参照）を開始してもよい。
【００６１】
中継制御部２７は、受信部２４で受信された子ノードのデータを受け取って、中継のために送信部２３に送り出す。また、中継制御部２７は、送信タイミングの決定などを行う。
【００６２】
図１４は本実施形態における集約装置１０１の構成を示す図である。集約装置１０１は、アンテナ５０と、ＲＦ部６１、送受信部６２、制御部６６、及び記憶部６７を備える。これらの各要素はＣＰＵ等のプロセッサ又は回路によって構成できる。また、これらの各要素がメモリ等のバッファを備えていてもよい。記憶部６５は、メモリでもよいし、ハードディスク装置またＳＳＤなどのストレージ装置でもよい。メモリは、ＤＲＡＭ、ＳＲＡＭ等の揮発性メモリでも、ＮＡＮＤ、ＦＲＡＭ、ＭＲＡＭ等の不揮発性メモリでもよい。
【００６３】
アンテナ５０は、無線周波数の信号（無線信号）の送信及び受信を行う。アンテナ５０は１本でも、複数本でもよい。また、アンテナ５０はアレイアンテナでもよい。
【００６４】
ＲＦ部６１は、アンテナ５０に接続されている。ＲＦ部６１は、送信用のパケットのビット系列を無線信号に変換し、無線信号を送信する処理を行う。ＲＦ部６１は、受信した無線信号からパケットのビット系列を取り出す処理を行う。集約装置１０１から送信するパケットのフォーマットは任意でかまわない。一例として、パケットのフォーマットは、自ノードＩＤ、宛先ノードＩＤ、及び送信用の情報（切替指示情報など）を格納する複数のフィールドを含む。
【００６５】
送受信部６２は、送信部６３及び受信部６４を備える。
【００６６】
送信部２３は、制御部６６から提供された情報及びパラメータに基づき、パケットを生成し、パケットの送信ビット系列をＲＦ部６１へ送り出す。パケットに含まれる情報は、例えば無線ノードへの指示を含む情報である。パラメータは、送信先の親ノードのＩＤや、送信タイミング（例えばどのフレームのどのスロットか）、送信電力値などである。
【００６７】
受信部６４は、ＲＦ部２１から受信したパケットのビット系列から、データ及びパラメータを取り出す。取り出されたデータ及びパラメータは、制御部６６に送られる。ここでのパラメータとは、受信した無線信号の送信元ＩＤ、受信した際の受信電力や受信タイミングなどである。また自ノードが送信した無線信号に対する送達確認（ＡＣＫ）である場合もあり得る。
【００６８】
制御部６６は、受信部２４で得られたデータ（例えばセンサ情報）を記憶部６７に格納する。また、制御部６６は、無線マルチホップネットワークに参加している無線ノードを把握している。また制御部６６は、無線マルチホップネットワークに参加している無線ノードの送信可能なデータ量の上限値を把握している。上限値は、予めシステムで決められていてもよいし、各無線ノードから通信により上限値の情報を取得してもよい。
【００６９】
制御部６６は、無線マルチホップネットワークにおいて経路制御（親ノードを決定する制御）を行う対象となる範囲を集約装置１０１からのホップ数（Ｎ）により決定する。Ｎは２以上の整数である。制御部６６は、集約装置１０１から当該ホップ数の範囲の経路制御を行い、ホップ数より大きいホップ数の範囲の経路制御を行わない。一例として、経路制御を行う対象となる範囲のホップ数を２とする。この場合、ホップ数２の範囲で経路制御を行う。ホップ数１のノードは集約装置１０１に接続されており、経路は固定されているため、ホップ数２のノードが経路制御（親ノードを決定する制御）の対象となる。ホップ数が３であれば、ホップ数３のノードと、ホップ数２のノードとの一方又は両方が経路制御の対象となる。前述した図８〜図１１は、経路制御を行う対象となる範囲をホップ数２とした場合の例に相当する。経路制御を行う対象となる範囲のホップ数は、ネットワークの集約装置１０１からの最大ホップ数よりも小さい。当該最大ホップ数に応じて、経路制御のホップ数を決定してもよい。例えば一定の係数を最大ホップ数に乗じて、経路制御のホップ数を決定してもよい。または経路制御のホップ数を予め定めた値（例えば２）に固定してもよい。以下の説明ではホップ数の範囲をホップ数２とするが、３以上で同様にして実施できる。
【００７０】
制御部２６は、いずれかの無線ノードのセンサ情報の受信に失敗した場合、例えば、ある無線ノードのセンサ情報が一定期間受信されない場合、経路制御の処理を開始してもよい。経路制御の処理では、Ｎホップ目（本例では２ホップ目）の無線ノードの必要送信データ量の情報を取得する必要がある。このために、ホップ数２の無線ノードに、必要送信データ量の情報の送信要求を、当該無線ノードの親ノードを介して送信し、必要送信データ量の情報を取得してもよい。この情報に、ホップ数２のノードが通信可能なホップ数１のノード（親ノードの候補）を特定する通信可能ノード情報（第３情報）が含まれてもよい。取得した必要送信データ量の情報に基づき、ホップ数２のノードに対して、親ノード切替処理が必要かを判断する。具体的には、制御部６６は、取得した情報に基づき、ホップ数１のノードの必要送信データ量を計算し、上限値を超えるホップ数１のノードが存在するかを判断する。上限値を越えるホップ数１のノードが存在する場合は、当該上限値を超えるホップ数１のノードの子ノードに対して、親ノード切替処理が必要であると判断する。この場合、図８〜図１１で説明したようにして、接続先を切り替えるべきホップ数２のノードと、切り替え先の親ノードとを選択し、選択したホップ数２のノードに対して、選択した親ノードへの切替指示情報を生成する。切り替え先の親ノードを選択する際、上記通信可能ノード情報を用いて、ホップ数２のノードが通信可能なノードを特定してもよい。生成した切替指示情報を、ホップ数１の現在の親ノードを介して、当該決定したノードに送信する。
【００７１】
制御部２６は、Ｎ−１ホップ目（本例では１ホップ目）のノードから、必要送信データ量が上限値を超えたことを示す情報を受信した場合に、親ノード切替処理を開始してもよい。この場合、当該上限値を超えたノードの子ノード（２ホップ目のノード）に対して、必要送信データ量の情報の取得要求を、当該ノードを介して送信し、必要送信データ量の情報を受信してもよい。この後は、これらの子ノードの中から、接続先を切り替えるノードを決定し、決定したノードに接続先の切替を指示する切替指示情報を生成する。生成した切替指示情報を、ホップ数１の親ノードを介して、当該決定したノードに送信する。
【００７２】
図１５は本実施形態に係る集約装置１０１の動作例のフローチャートである。
【００７３】
ステップＳ１１において、集約装置１０１は、ホップ数１のノードを介して、当該ホップ数１のノードの子ノードであるホップ数２の必要送信データ量の情報を受信する。
【００７４】
ステップＳ１２において、集約装置１０１は、受信した情報に基づき、ホップ数１のノードの必要送信データ量を計算する。ホップ数１のノードの必要送信データ量は、当該ノードの子ノードの必要送信データ量の合計と、ホップ数１のノードで生成されるデータ量との合計である。集約装置１０１は、ホップ数１のノードのうち、必要送信データ量が上限値を超えるノードが存在するかどうかを判断する。すなわち、割り当てられたスロット内で、必要送信データ量のデータのすべてを送り切れないノードが存在するかどうかを判断する。必要送信データ量が上限値を超えるホップ数１のノードを、輻輳ノードと呼び、それ以外のホップ数１のノードを非輻輳ノードと呼ぶ。
【００７５】
集約装置１０１が、輻輳ノードは存在しない、すなわち、ホップ数１のノードのすべてが、それぞれの必要送信データ量のデータのすべてを送り切れると判断すれば（ＮＯ）、動作を終了する。一方、輻輳ノードが少なくとも１つ存在すると判断した場合は（ＹＥＳ）、ホップ数１のノードのすべての必要送信データ量が上限値以下となる条件で、輻輳ノードに接続している子ノードから接続先の切替対象となる子ノードを選択することと、選択した子ノードの切り替え先となる親ノード（非輻輳ノード）を選択することとを行う（Ｓ１３）。
【００７６】
ステップＳ１４において、集約装置１０１は、輻輳ノードであるホップ数１のノードに対し、選択された子ノード（ホップ数２のノード）の接続先の切替指示情報を送信する。切替指示情報は、輻輳ノードに接続されているホップ数２のノード（子ノード）のうち接続先の切替対象となるノードと、当該ノードが新たに接続すべきホップ数１のノードとを指定する情報を含む。
【００７７】
図１６は、本実施形態に係る無線ノードの動作例のフローチャートである。
【００７８】
無線ノードが、自ノードのホップ数が所定値に一致する、又は所定の範囲内かを判断する（Ｓ２０）。例えば所定値が１であれば、自ノードのホップ数が１に一致するかを判断する。また、所定の範囲が１以上２以下であれば、自ノードのホップ数が１又は２であるかを判断する。自ノードのホップ数が所定値に一致せず、所定の範囲内でもなければ（ＮＯ）、本処理を終了する。一方、自ノードのホップ数が所定値に一致する、又は所定の範囲内であれば（ＹＥＳ）、ステップＳ２１に進む。ここでは、所定値が１であり、無線ノードはホップ数１のノードであり、ステップＳ２０でＹＥＳと判断されたとする。
【００７９】
ステップＳ２１において、無線ノード（ホップ数１のノード）は、当該ノードに接続されているホップ数２のノード（子ノード）から、当該子ノードの必要送信データ量の情報を収集する。
【００８０】
ステップＳ２２において、ホップ数１のノードは、収集した必要送信データ量の情報を集約装置１０１へ送信する。
【００８１】
ステップＳ２３において、この応答として、ホップ数１のノードは、自ノードに接続されているホップ数２のノード（子ノード）のうち接続先の切替対象となるノードと、当該ノードが新たに接続すべきホップ数１のノードとを指定した情報（切替指示情報）を受信したかを判断する。切替指示情報は、ホップ数１のノードの必要送信データ量が上限値を超えていると集約装置１０１で判断された場合に集約装置１０１から自ノードに送信されるものである。上限値を超えないと集約装置１０１で判断された場合は、切替指示情報は送信されない。なお、集約装置１０１で必要送信データ量が上限値を超えないと判断された場合に、子ノードの接続先の切り替えは不要であることを示す情報を集約装置１０１からホップ数１のノードに送信するようにしてもよい。ホップ数１のノードは、この情報を受信した場合、子ノードの接続先の切り替えは不要であることを決定してもよい。
【００８２】
ステップＳ２３で切替指示情報を受信しなかった場合（ＮＯ）、ホップ数１のノードは本処理を終了する。一方、切替指示情報を受信した場合（ＹＥＳ）、ステップＳ２４に進む。
【００８３】
ステップＳ２４において、ホップ数１のノードは、切替指示情報で指定されたホップ数２のノードに対して、新たな接続先のノードを指定した切替指示を送信する。この切替指示を受信したホップ数２のノードは、接続先を、現在のノードから、指示されたノード（ホップ数１のノード）に切り替える。
【００８４】
以上、本実施形態によれば、集約装置１０１から少ないホップ数のノードに対してのみ、経路制御（親ノード切替処理）を集約装置１０１が行うことで、輻輳を回避した経路構築を効率的に行うことが可能となる。もし一定のホップ数を超えるノードについて経路制御を行うと、多段の中継を経ないと通信できない遠方のノードに対しても制御のため各種の通信（必要送信データ量の情報の取得や、切替指示情報の送信等）が必要になるため、ネットワーク負荷が高くなり、また通信に失敗する可能性も高くなる。本実施形態では、集約装置１０１から少ないホップ数（例えばホップ数２）のノードに対してのみ経路制御を行うことから、ネットワーク負荷も低く、輻輳を回避する経路構築を高速に実行できる。また、無線マルチホップネットワークにおいてデータが多く集中するのは集約装置１０１に近いノードであることから、当該ノードを対象とするのは合理的であり、効率的な制御が可能となる。
【００８５】
（第２の実施形態）
第１の実施形態ではホップ数１のノードのうちの輻輳ノードに接続されている子ノードの中から接続先の切替対象となる子ノードを選択する際、切替後のホップ数１のすべてのノードの必要送信データ量が上限値以下になるとの条件を満たす限り、どの子ノードを選択してもよかった。本実施形態では、この条件に加えて、接続先の切り替え後のパスコストに基づき、子ノードを選択する。例えば、切り替え後のパスコストが最小の子ノードを選択する。
【００８６】
図１７は第２の実施形態に係る経路制御に関する動作例を説明するための図である。ホップ数２のノードＥ、Ｆ、Ｇは、親ノードであるノードＢに接続している。ノードＥ、Ｆ、Ｇの必要送信データ量はそれぞれ１０であり、ノードＢで生成するデータ量は１である。集約装置１０１の制御部６６は、ノードＢの必要送信データ量は３１であるため、上限値（３０）を越えていると判断する。制御部６６は、ノードＥ、Ｆ、Ｇのいずれかの接続先を他のノードに切り替えることを決定する。他のノードの候補として、ノードＡ、Ｃがある。どちらを選択しても、選択後のノードの必要送信データ量は上限値を超えないと判断する。したがって、任意の方法でノードＡ、Ｃの一方を選択する。例えばノードＡ、Ｃのうち集約装置１０１までのパスコストが低いノードを選択する方法、ノードＡ、Ｃのうちの１つをランダムに選択する方法、ノードＡ、Ｃのうち子ノード数の少ないノードを選択する方法がある。その他の方法として、ノードＡ、Ｃのうち、ノードＢの子ノード（Ｅ、Ｆ、Ｇ）の中で通信可能なノード数の多い方のノードを選択する方法などもあり得る。ここではノードＡが選択されたとする。ノードＡは、ノードＥ、Ｆ、Ｇのいずれも通信可能であるとする。すなわち、ノードＡの通信範囲内にノードＥ、Ｅ、Ｇのいずれも含まれている。
【００８７】
集約装置１０１の制御部６６は、ノードＥ、Ｆ、Ｇのうちいずれの接続先を、現在の親ノードＢからノードＡに切り替えるかを決定する。この際、ＥＴＸのパスコストの概念を利用する。ノードＥ、Ｆ、Ｇの接続先をそれぞれノードＡに切り替えたとした場合のノードＡとのリンクコストを取得する。ノードＥ、Ｆ、Ｇのリンクコストの情報は、各ノードＥ、Ｆ、Ｇから通信により取得すればよい。図の例では、ノードＥ、Ａ間のリンクコストは４、ノードＦ、Ａ間のリンクコストは８、ノードＧ、Ａ間のリンクコストは１０である。各リンクコストに、ノードＡと集約装置１０１間のリンクコストを加算することで、各パスコストを計算する。ノードＥのパスコストは７、ノードＦのパスコストは１１、ノードＧのリンクコストは１０である。
【００８８】
集約装置１０１の制御部６６は、パスコストが小さいノードから優先的に選択する。この例では、最も小さいパスコストは、ノードＥのパスコスト７である。よって、集約装置１０１は、ノードＥ、Ｆ、Ｇのうち、ノードＥを選択し、ノードＥの接続先をノードＡに切り替えることを決定する。決定した後は、第１の実施形態と同様にして、ノードＥの接続先をノードＡに切り替えることを指示した切替指示情報をノードＢを介してノードＥに送信する。ノードＥは、接続先をノードＢからノードＡに切り替える。ここでは接続先を変更するノードとして１つのノードを選択したが、２つ以上のノードを選択する必要がある場合も、パスコストの低いノードから優先的にノードの選択を行えばよい。
【００８９】
本例ではノードＡ、Ｃのうちの一方としてノードＡを先に選択してから、ノードＥ、Ｆ、ＧのうちノードＡに接続先を切り替えるノードを選択したが、ノードＡ、Ｃと、ノードＥ、Ｆ、Ｇとをそれぞれ１つ組合わせた組についてパスコストを計算し、最も低いパスコストの組を選択してもよい。すなわち、（Ａ、Ｅ）、（Ａ、Ｆ）、（Ａ、Ｇ）、（Ｃ、Ｅ）、（Ｃ、Ｆ）、（Ｃ、Ｇ）の組についてパスコストを計算し、最も低いパスコストの組を選択する。
【００９０】
なお、各実施形態の集約装置１０１及び無線ノード１０２は、例えば、汎用のコンピュータ装置を基本ハードウェアとして用いることでも実現することが可能である。すなわち、集約装置１０１及び無線ノード１０２における各ブロックは、上記のコンピュータ装置に搭載されたプロセッサにプログラムを実行させることにより実現することができる。このとき、集約装置１０１及び無線ノード１０２は、上記のプログラムをコンピュータ装置にあらかじめインストールすることで実現してもよいし、ＣＤ−ＲＯＭなどの記憶媒体に記憶して、あるいはネットワークを介して上記のプログラムを配布して、このプログラムをコンピュータ装置に適宜インストールすることで実現してもよい。また、集約装置１０１及び無線ノード１０２における記憶部は、上記のコンピュータ装置に内蔵あるいは外付けされたメモリ、ハードディスクもしくはＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＡＭ、ＤＶＤ−Ｒなどの記憶媒体などを適宜利用して実現することができる。
【００９１】
本実施形態で用いられる用語は、広く解釈されるべきである。例えば用語“プロセッサ”は、汎用目的プロセッサ、中央処理装置（ＣＰＵ）、マイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、コントローラ、マイクロコントローラ、状態マシンなどを包含してもよい。状況によって、“プロセッサ”は、特定用途向け集積回路、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、プログラム可能論理回路  （ＰＬＤ）などを指してもよい。“プロセッサ”は、複数のマイクロプロセッサのような処理装置の組み合わせ、ＤＳＰ及びマイクロプロセッサの組み合わせ、ＤＳＰコアと協働する１つ以上のマイクロプロセッサを指してもよい。  
【００９２】
別の例として、用語“メモリ”は、電子情報を格納可能な任意の電子部品を包含してもよい。“メモリ”は、ランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、プログラム可能読み出し専用メモリ（ＰＲＯＭ）、消去可能プログラム可能読み出し専用メモリ（ＥＰＲＯＭ）、電気的消去可能ＰＲＯＭ（ＥＥＰＲＯＭ）、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、フラッシュメモリ、磁気又は光学データストレージを指してもよく、これらはプロセッサによって読み出し可能である。プロセッサがメモリに対して情報を読み出し又は書き込み又はこれらの両方を行うならば、メモリはプロセッサと電気的に通信すると言うことができる。メモリは、プロセッサに統合されてもよく、この場合も、メモリは、プロセッサと電気的に通信していると言うことができる。
【００９３】
また、用語“ストレージ”は、磁気技術、光学技術、又は不揮発性メモリを利用して、永久的にデータを記憶できるに任意の装置を包含してもよい。例えば、ストレージは、ＨＤＤ、光学ディスク、ＳＳＤ等でもよい。
【００９４】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【００９５】
１０１  集約装置（データ管理装置）
１０２  無線ノード
１０    アンテナ
２１    ＲＦ部
２２    送受信部２３    送信部
２４    受信部
２５    データ生成部
２６    制御部
２７    中継制御部
５０    アンテナ
６１    ＲＦ部
６２    送受信部
６３    送信部
６４    受信部
６６    制御部
６７    記憶部
【図１】
2020043483.tif 000003
【図２】
2020043483.tif 000004
【図３】
2020043483.tif 000005
【図４】
2020043483.tif 000006
【図５】
2020043483.tif 000007
【図６】
2020043483.tif 000008
【図７】
2020043483.tif 000009
【図８】
2020043483.tif 000010
【図９】
2020043483.tif 000011
【図１０】
2020043483.tif 000012
【図１１】
2020043483.tif 000013
【図１２】
2020043483.tif 000014
【図１３】
2020043483.tif 000015
【図１４】
2020043483.tif 000016
【図１５】
2020043483.tif 000017
【図１６】
2020043483.tif 000018
【図１７】
2020043483.tif 000019