(57)【特許請求の範囲】
【請求項１】
中継ノード及び複数のエッジノードを含む複数のノードがリンクを介して接続されるネットワーク内のエッジノード間の経路を制御する経路制御方法であって、
先に経路の決定を行うエッジノードによって決定された経路を示す経路情報を次に経路の決定を行うエッジノードに送信し、該次に経路の決定を行うエッジノードは、受信した前記経路情報が示す経路を優先的に用いて更なる経路の決定を行う処理を所定の複数のエッジノードが行うまで実行し、
前記所定の複数のエッジノードのうち最後のエッジノードが経路決定を行って得られた経路情報を用いて前記ネットワークにおける経路制御を行う、
ことを特徴とする経路制御方法。
【請求項２】
最初に経路決定を行うエッジノードは、
省電力状態となる中継ノードが前記ネットワーク内に含まれるように経路を決定する請求項１記載の経路制御方法。
【請求項３】
経路制御を行うためのトリガを検知したエッジノードは、
他のエッジノードに対して経路決定を開始する通知を送信し、
前記最初に経路決定を行うエッジノードは、
前記通知が送信された後に経路決定を行い、
前記各エッジノードは、
前記全てのエッジノードで決定した経路を反映した経路情報を受信した場合、該経路情報に基づいてデータ転送を開始する請求項２記載の経路制御方法。
【請求項４】
前記各エッジノードは、
経路決定時に計測したトラフィック量に基づいて、経路制御が終わる時のトラフィック量を予測し、予測したトラフィック量及び前記経路情報に基づいて経路決定を行う請求項１乃至３何れか一項に記載の経路制御方法。
【請求項５】
前記複数のエッジノードは、
前記リンク毎に定義されたコストを保持し、
前記経路を決定する際、経路上の各リンクに定義されたコストの総和が最小となる経路に決定し、決定した経路上で省電力状態の中継ノードがトラフィック処理を行う場合、トラフィック処理を行う中継ノードに繋がるリンクに定義されたコストを、省電力状態の中継ノードに繋がるリンクに定義されたコストよりも小さい値に更新する請求項１乃至４何れか一項に記載の経路制御方法。
【請求項６】
前記各エッジノードは、
経路決定を行う順番を示すデータを受信した場合に経路決定を行い、
前記データに示された自エッジノードの次のエッジノードに対し、前記データ及び前記経路情報を送信する請求項１乃至５何れか一項に記載の経路制御方法。
【請求項７】
中継ノード及び複数のエッジノードを含む複数のノードとリンクとにより接続されるネットワーク内のエッジノード間の経路を制御する通信システムであって、
前記中継ノードは、
トラフィック処理をしない場合に省電力状態にするスリープ制御部を備え、
前記エッジノードは、
他のエッジノードから、エッジノード間のデータ転送の経路を示す経路情報を受信する受信部と、
受信された前記経路情報が示す経路を優先的に用いて他のエッジノードへの経路を決定する経路制御部と、
決定された経路を用いて更新した経路情報を次のエッジノードへ送信する送信部とを備える通信システム。
【請求項８】
ネットワーク間の境界又は入口に位置し、他のネットワーク間の境界又は入口に位置する他の通信装置とデータ通信を行う通信装置であって、
前記他の通信装置から、通信装置間のデータ通信の経路を示す経路情報を受信する受信部と、
受信された前記経路情報が示す経路を優先的に用いて他の通信装置への経路を決定する経路制御部と、
決定された経路を用いて更新した経路情報を次の通信装置へ送信する送信部とを備える通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置がリンクを介して接続されるネットワークにおいて、データの転送経路を制御する経路制御方法、通信システム、及び通信装置に関する。
【背景技術】
【０００２】
データパケットを宛先に送り届けるための装置として、ルータに代表される通信装置がある。複数の通信装置、複数のリンクから構成されるネットワークにおいて、通信装置は、受信したデータを宛先に応じて転送する作業を行う。ネットワーク上でデータ通信する際に、送信元の通信装置から送信先の通信装置への経路が複数ある場合、評価基準に基づいて最適な経路を決定して経路制御を行う様々な経路制御システムが考案されている。
【０００３】
例えば、動的電圧制御（Dynamic Voltage Scaling：DVS）機能を有する通信装置が、各リンクのコスト値を、リンク対向の通信装置の消費電力量の和として定義し、最小リンクコストの経路を計算する技術が開示されている。また、エッジルータが統計情報を収集し、経路計算を行う技術が開示されている。
【０００４】
一方で、通信するデータの量が膨大になるにつれ、ネットワーク内の各装置の消費電力を効率よく低減する技術が研究されている。例えば、トラフィック処理をしない通信装置に対し、省電力状態であるスリープモードに遷移させることで、システム全体の電力消費を抑える技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−３１１８３０号公報
【特許文献２】特開２００４−４８３３０号公報
【非特許文献】
【０００６】
【非特許文献１】Maruti Gupta, SureshSingh,“Greening of the Internet”In SIGCOMM '03: Proceedings of the 2003conference on Applications, technologies, architectures, and protocols forcomputer communications (2003), pp. 19-26
【発明の概要】
【発明が解決しようとする課題】
【０００７】
経路制御の対象とするネットワーク上でトラフィックを処理しないノードに対し、省電力状態であるスリープモードにするシステムにおいて、特許文献２に記載のように各エッジノードによる自律分散的な経路決定を行う方法を想定してみた。
【０００８】
ここで、ノードとは、ネットワークを構成する一つの要素（例えば、通信装置、コンピュータ、ハブなど）とする。ノードには、あるネットワークと別のネットワークとの境界又は入口に位置するエッジノードと、エッジノード以外の中継ノードとがある。ＭＰＬＳプロトコルなどの動的な経路制御を実現する機構においては、各エッジノードで経路決定を行う場合が多く、その理由として或るエッジノードから或るエッジノードまでを１つの経路として扱うことで、中継ノードによる経路決定よりも経路が終端されるエッジノードによる経路決定の方がシステムとして制御しやすいためである。
【０００９】
自律分散的に経路決定を行う各エッジノードは、例えば、トラフィック状態に基づく経路制御のトリガを検知したとき、他のエッジノードへの経路を各自で計算する。この場合、以下のような問題点がある。
【００１０】
図１は、想定した経路決定方法における問題点を説明する図である。
図１に示すネットワークは、エッジノードＡ、エッジノードＢ、及び中継ノードａ〜ｄ、並びに各リンクからネットワークが構成される。図１に示す例では、現在、エッジノードＡ、中継ノードａ、中継ノードｃ、エッジノードＢの順にトラフィック転送し、また、エッジノードＢ、中継ノードｄ、中継ノードｂ、エッジノードＡの順にトラフィック転送している。
【００１１】
ここで、エッジノードＡ、エッジノードＢがそれぞれ経路決定を行うとする。エッジノードＡでは、中継ノードｂ、中継ノードｄにトラフィックを片寄せすれば中継ノードａ、中継ノードｃがスリープ可能になると判断する。これより、経路決定後の経路は、エッジノードＡ、中継ノードｂ、中継ノードｄ、エッジノードＢの順となる。
【００１２】
一方、エッジノードＢでは、中継ノードｃ、中継ノードａにトラフィックを片寄せすれば中継ノードｂ、中継ノードｄがスリープ可能になると判断する。これより、経路決定後の経路は、エッジノードＢ、中継ノードｃ、中継ノードａ、エッジノードＡの順となる。
【００１３】
よって、各エッジノードにおいて、独立して経路決定を行った場合、ネットワークにおけるエッジノード間の経路を集約させることができない場合があり、システムで消費される電力を抑えることができないという問題点がある。
【００１４】
そこで、本発明の目的は、経路決定する際、エッジノード間の経路が集約されやすくなる技術を提供することである。
【課題を解決するための手段】
【００１５】
１つの側面では、本発明に係る経路制御方法は、中継ノード及び複数のエッジノードを含む複数のノードがリンクを介して接続されるネットワーク内のエッジノード間の経路を制御する経路制御方法であって、先に経路の決定を行うエッジノードによって決定された経路を示す経路情報を次に経路の決定を行うエッジノードに送信し、該次に経路の決定を行うエッジノードは、受信した前記経路情報が示す経路を優先的に用いて更なる経路の決定を行う処理を所定の複数のエッジノードが行うまで実行し、前記所定の複数のエッジノードのうち最後のエッジノードが経路決定を行って得られた経路情報を用いて前記ネットワークにおける経路制御を行う。
【００１６】
また、１つの側面では、本発明に係る通信システムは、中継ノード及び複数のエッジノードを含む複数のノードとリンクとにより接続されるネットワーク内のエッジノード間の経路を制御する通信システムであって、前記中継ノードは、トラフィック処理をしない場合に省電力状態にするスリープ制御部を備え、前記エッジノードは、他のエッジノードから、エッジノード間のデータ転送の経路を示す経路情報を受信する受信部と、受信された前記経路情報が示す経路を優先的に用いて他のエッジノードへの経路を決定する経路制御部と、決定された経路を用いて更新した経路情報を次のエッジノードへ送信する送信部とを備える。
【００１７】
また、１つの側面では、本発明に係る通信装置は、ネットワーク間の境界又は入口に位置し、他のネットワーク間の境界又は入口に位置する他の通信装置とデータ通信を行う通信装置であって、前記他の通信装置から、通信装置間のデータ通信の経路を示す経路情報を受信する受信部と、受信された前記経路情報が示す経路を優先的に用いて他の通信装置への経路を決定する経路制御部と、決定された経路を用いて更新した経路情報を次の通信装置へ送信する送信部とを備える。
【発明の効果】
【００１８】
本発明によれば、経路決定する際、エッジノード間の経路が集約されやすくなるので、システム内の消費電力を抑えることができる。
【図面の簡単な説明】
【００１９】
【図１】想定した経路決定方法における問題点を説明する図。
【図２】実施例に係る通信システムの全体構成の一例を示すブロック図。
【図３】エッジノードに係るハードウェア構成の一例を示すブロック図。
【図４】エッジノード及び中継ノードに係る機能構成の一例を示すブロック図。
【図５】経路制御のトリガを説明する図。
【図６】最初に経路決定するエッジノードＡの経路決定の一例を説明する図。
【図７】エッジノードＢの経路決定の一例を説明する図。
【図８】エッジノードＣの経路決定の一例を説明する図。
【図９】ノード属性の一例を示す図。
【図１０】リンク属性の一例を示す図。
【図１１】リンクコストを説明する図。
【図１２】処理例２におけるネットワークのリンクコストを説明する図。
【図１３】エッジノードＡの経路決定結果の一例を示す図。
【図１４】エッジノードＡの経路決定後のノード属性を示す図。
【図１５】エッジノードＡの経路決定後のリンク属性を示す図。
【図１６】エッジノードＢの経路決定結果の一例を示す図。
【図１７】エッジノードＢの経路決定後のノード属性を示す図。
【図１８】エッジノードＢの経路決定後のリンク属性を示す図。
【図１９】エッジノードＣの経路決定結果の一例を示す図。
【図２０】エッジノードＣの経路決定後のノード属性を示す図。
【図２１】エッジノードＣの経路決定後のリンク属性を示す図。
【図２２】経路制御前の経路情報を示す図。
【図２３】経路制御後の経路情報を示す図。
【図２４】通信システムにおける経路制御の一例を示すフローチャート。
【図２５】経路制御のトリガを検知したエッジノードの処理の一例を示すフローチャート。
【図２６】経路決定を開始する通知を受けたエッジノードの処理の一例を示すフローチャート。
【図２７】実施例２に係るエッジノードの機能構成の一例を示すブロック図。
【図２８】トークンＡのデータ構造の一例を示す図。
【図２９】トークンＢのデータ構造の一例を示す図。
【図３０】エッジノードＡが最初に経路決定を行う場合を説明する図。
【図３１】エッジノードＢが経路決定を行う場合を説明する図。
【図３２】エッジノードＣが経路決定を行う場合を説明する図。
【図３３】巡回トークンを受信したエッジノードＣが経路決定を行う場合を説明する図。
【図３４】基点となるエッジノードの処理の一例を示すフローチャート。
【図３５】非基点のエッジノードの処理の一例を示すフローチャート。
【図３６】実施例３に係るエッジノードの機能構成の一例を示すブロック図。
【図３７】トラフィック量の予測を説明する図。
【図３８】実施例４に係るエッジノードの機能構成の一例を示すブロック図。
【図３９】デマンドリストの一例を示す図。
【発明を実施するための形態】
【００２０】
以下、添付図面を参照しながら本発明の実施例について詳細に説明する。
【００２１】
［実施例１］
＜システム構成＞
図２は、実施例に係る通信システムの全体構成の一例を示すブロック図である。図２に示すように、通信システムは、複数のノード（ここでは、エッジノード１Ａ〜１Ｄ及び中継ノード（中継装置ともいう）２ａ〜２ｄ）を含む。エッジノード及び中継ノードは、図のように各リンクによって相互に連結されている。以下、エッジノード１Ａ〜１Ｄを総称してエッジノード１といい、中継ノード１ａ〜１ｄを総称して中継ノード２という。。なお、エッジノードの数、中継ノードの数は図２に示す例に限られない。また、エッジノードの機能を代替する管理サーバであってもよく、実施形態はエッジノードに限定されない。
【００２２】
エッジノード１は、ネットワーク間の境界に位置するノード、又はネットワークの入口に位置するノードである。図２に示すエッジノード１Ａ〜１Ｄは、ネットワーク（ＮＷ）１〜４にそれぞれ接続する。各ネットワークは例えば、異なる事業者間で管理されたり、プロトコルが異なったりしてもよい。
【００２３】
図２に示すネットワークにおいて、トラフィックを処理しない中継ノード２は、通常の動作状態から省電力状態を示すスリープ状態（スリープモードともいう）に移行することができる。エッジノード１Ａは、他のエッジノード１Ｂ〜１Ｄに対するトラフィック量を計測・監視する。他のエッジノード１Ｂ〜１Ｄもエッジノード１Ａと同様に他のエッジノードに対するトラフィック量を計測・監視する。
【００２４】
エッジノード１は、所定のトリガー（たとえば、監視しているトラフィック量の増加量や減少量が所定の閾値に達したことなど）を検知した場合、各エッジノード間の経路を再決定する。トリガーはこれに限らず、トラフィックの振舞いが所定の条件に合致したことを条件とすることもできるし、他の条件としてもよい。トリガーを検知すると、各エッジノードは、スリープ状態のノード（以下、スリープノードともいう。）が多く存在するような経路に決定する。その際、更に、所定の制約条件を設定しておき、その制約条件を満たす範囲内で経路の決定をしてもよい。これにより、システム全体において起動しているノード数を減らす（好ましくは最小化する）ことで消費電力を抑えることができる。
【００２５】
次に、エッジノード１のハードウェア構成について説明する。図３は、エッジノード１に係るハードウェア構成の一例を示すブロック図である。図３に示すように、エッジノード１は、ラインカード部１０、スイッチングファブリック部２０、ルーティングプロセッサ部３０を含む。
【００２６】
ラインカード部１０は、インタフェース（ＩＦ）部１１、バッファ部１２、フォワーディング部１３、スケジューリング部１４を含む。バッファ部１２は、ＩＦ部１１から取得したパケットを一時記憶する。フォワーディング部１３は、バッファ部１２に記憶されたパケットのヘッダ情報を読んで、スイッチングファブリック部２０にパケットを出力する。スケジューリング部１４は、スイッチングファブリック部２０から取得したパケットをスケジューリング機能により、適切なタイミングでＩＦ部１１を介して相手先に出力する。
【００２７】
スイッチングファブリック部２０は、ラインカード部１０から送られてくるパケットが衝突しないようにスケジューリングし、パケットのヘッダ情報から適切なラインカード部１０を選択してパケットを出力する。
【００２８】
ルーティングプロセッサ部３０は、プロセッサ３１、メモリ３２、ルーティングテーブル３３を含む。プロセッサ３１は、パケット転送に必要なプロトコル処理を制御し、ルーティングテーブル３３やプロトコル情報をメモリ３２上に管理する。メモリ３２は、プロトコル処理に必要なプロトコル情報やその他の情報を記憶する。ルーティングテーブル３３は、ルータや端末が保持するパケットの配送先に関する情報である。
【００２９】
なお、中継ノード２のハードウェア構成は、エッジノード１と同様である。
【００３０】
＜機能構成＞
次に、エッジノード１と中継ノード２の機能構成について説明する。図４は、エッジノード及び中継ノードに係る機能構成の一例を示すブロック図である。まず、エッジノード１の機能について説明する。
【００３１】
エッジノード１は、ネットワーク（Network：NW）情報格納部１０１、経路情報格納部１０２、計測・監視部１０３、トラフィック量設定部１０４、経路制御部１０５、経路情報生成部１０６、フォワーディング処理部１０７、送受信部１０８、管理部１０９を含む。ＮＷ情報格納部１０１、経路情報格納部１０２は図３に示すメモリ３２により実現してもよいし、別個のメモリにより実現してもよい。その他の機能はプロセッサ３１による処理によって、実現してもよい。
【００３２】
ＮＷ情報格納部１０１は、ノードの接続関係、ノードの属性値（消費電力量など）、リンクの属性値（回線容量など）の静的な情報を格納する。経路情報格納部１０２は、他のエッジノードから取得した経路情報を格納する。経路情報は、各エッジノード間の経路を示す情報であり、各経路のトラフィック量を含む。
【００３３】
計測・監視部１０３は、自身のエッジノード（以下、自エッジノードともいう。ここでは、１Ａとする）と他のエッジノード（以下、他エッジノードともいう。ここでは、１Ｂ、１Ｃ、１Ｄ）との間トラフィック量を計測し、経路や帯域を見直すトリガを検知する。ここでトリガについて図５を用いて説明する。
【００３４】
図５は、経路制御のトリガを説明する図である。図５に示す例では、計測・監視部１０３は、計測されたトラフィック量や遅延やロスといった経路品質値が、増設閾値以上又は開放閾値以下になるとトリガを検知する。たとえば、トラフィック量や経路品質値が、増設閾値以上又は開放閾値以下になったときに、エッジノード１は経路制御を行うと判断する。
【００３５】
図４に戻り、トラフィック量設定部１０４は、エッジノード間の経路を再決定するための経路毎のトラフィック量を、計測・監視部１０３で計測するトラフィック量に基づいて設定し、設定したトラフィック量を経路制御部１０５へ出力する。
【００３６】
経路制御部１０５は、トラフィック量設定部１０４から取得したトラフィック量に対して、他エッジノードまでの経路を決定する。具体的には、経路制御部１０５は、ＮＷ情報格納部１０１に格納されるＮＷ情報と、他エッジノードから取得した経路情報とに基づいて、評価メトリックを最適化するような経路を決定する。経路決定の詳細は後述する。
【００３７】
経路情報生成部１０６は、経路制御部１０５で決定された結果から、他エッジノードまでの経路を示す経路情報を生成する。経路情報は、経路に対するトラフィック量を含んでもよい。
【００３８】
フォワーディング処理部１０７は、経路情報生成部１０６で生成される経路情報に基づき経路に含まれるノードの情報（例えばノード番号など）をパケットヘッダに記述し、パケット転送を行うよう制御する。送受信部１０８は、パケットや制御メッセージの送信や受信を制御する。
【００３９】
管理部１０９は、経路決定管理部１１０、メッセージ管理部１１１を含む。経路決定管理部１１０は、他エッジノードからの経路情報を取得した場合に、経路制御部１０５に経路決定を行わせるよう制御する。メッセージ管理部１１１は、経路情報を送信する順番を制御するために、エッジノード間でやりとりする制御メッセージを管理する。
【００４０】
次に、中継ノード２の機能構成について説明する。中継ノード２は、計測・監視部２０１、スリープ制御部２０２、フォワーディング処理部２０３、テーブル格納部２０４を含む。中継ノード２は、その他の一般的な機能も有する。計測・監視部２０１、フォワーディング処理部２０３は、エッジノード１の計測・監視部１０３、フォワーディング処理部１０７それぞれと同様の機能を有する。
【００４１】
スリープ制御部２０２は、計測・監視部２０１のトラフィック量を監視し、自ノードのトラフィック処理量が０になった場合、自律的に省電力状態であるスリープモードにする。スリープ制御部２０２は、スリープモードのときに、トラフィック処理の要求を受けた場合は、通常のウェイク状態に遷移させる。
【００４２】
テーブル格納部２０４は、他のノードとリンクとの関係を示すルーティングテーブルを格納する。中継ノード２は、基本的には、受信したパケットのヘッダなどに含められる転送先のノードへ、パケットを転送する機能を果たす。
【００４３】
＜経路制御の処理例＞
経路制御部１０５は、経路を決定する際、スリープノードがネットワーク内にある場合は、スリープノードを経由しない経路を優先的に用いて経路を決定する。以下、通信システムにおける各エッジノードの経路制御の処理例について説明する。
【００４４】
（処理例１）
次に説明する経路制御の処理例１は、スリープノードを経由しない経路を簡易的に決定する例である。図６〜図８を用いて処理例１について具体的に説明する。図６は、最初に経路決定するエッジノードＡの経路決定の一例を説明する図である。図６に示すネットワークは、エッジノードＡ、エッジノードＢ、エッジノードＣ、中継ノードａ、中継ノードｂ、及び各リンクから構成される。各エッジノードにおいて経路制御を行う順番は、エッジノードＡ、エッジノードＢ、エッジノードＣの順であるとする。この順番は、各エッジノードに事前に設定してもよい。
【００４５】
いずれかのエッジノードで経路制御のトリガを検知したとする。トリガを検知したエッジノードは、他エッジノードに経路制御を開始する開始通知をブロードキャストする。ブロードキャストを受信（他のエッジノードがトリガを検知した場合）、または、送信（エッジノードＡがトリガを検知した場合）するとエッジノードＡは、順番が１に設定されているため、最初に経路決定を行う。ブロードキャストされた開始通知を受信するか又は開始通知をブロードキャストした他エッジノードは、経路決定の順番が回ってくるまで現状設定されている経路上でトラフィック転送を行う。
【００４６】
開始通知を行う目的は、複数のエッジルータで、経路見直しの基点となって経路決定を勝手に行い始めるのを禁止するためと、経路設計順が決められている場合、最初の経路決定順のエッジルータに経路計算開始を通達するためである。
【００４７】
図６に示す例では、トラフィック量設定部１０４により設定されたトラフィックは、エッジノードＡからエッジノードＢまで３０Ｍ（メガ）ｂｐｓ、エッジノードＡからエッジノードＣまで２０Ｍ（メガ）ｂｐｓである。トラフィック量の単位はＧ（ギガ）ｂｐｓにしてもよい。また、各エッジノードは、ノード属性値やリンク属性値などのＮＷ情報を保持する。
【００４８】
図６に示す太線のノードは経路決定を行うエッジノードを示し、斜線のノードはエッジノードを示し、黒丸ノードはスリープノードを示す。以下の図面でも同様とする。
【００４９】
経路制御部１０５は、経路決定を行う際、現時点で利用されているノードを用いてエッジノード間の経路を決定する。ここで、利用無しのノードを０、利用有りのノードを１として現時点でのノードの利用状況を以下のように表す。
利用状況＝｛Ａ，Ｂ，Ｃ，ａ，ｂ｝
最初に経路決定するエッジノードにおいては、経路がリセットされているため全てのノードが利用されていないので
Ｎ＝｛０，０，０，０，０｝
となる。Ｎは現時点での利用ノードを示す。
【００５０】
次に、エッジノードＡからエッジノードＢへの経路について以下の複数の経路が考えられる。ＡＢ１〜ＡＢ３は、経路Ｎｏ．を示す。
ＡＢ１＝｛１，１，０，０，０｝
ＡＢ２＝｛１，１，０，１，１｝
ＡＢ３＝｛１，１，１，１，１｝
例えば、経路ＡＢ１は、エッジノードＡ、エッジノードＢの経路を示し、経路ＡＢ２は、エッジノードＡ、中継ノードａ、中継ノードｂ、エッジノードＢの経路を示す。
【００５１】
次に、エッジノードＡからエッジノードＣへの経路について以下の複数の経路が考えられる。ＡＣ１〜ＡＣ４は、経路Ｎｏ．を示す。
ＡＣ１＝｛１，０，１，１，０｝
ＡＣ２＝｛１，１，１，０，１｝
ＡＣ３＝｛１，０，１，１，１｝
ＡＣ４＝｛１，１，１，１，１｝
例えば、経路ＡＣ１は、エッジノードＡ、中継ノードａ、エッジノードＣの経路を示し、経路ＡＣ２は、エッジノードＡ、エッジノードＢ、中継ノードｂ、エッジノードＣの経路を示す。
【００５２】
次に、経路制御部１０５は、現時点の利用ノードＮ、経路ＡＢ、経路ＡＣの全ての組み合わせについて論理和演算（ＯＲ演算）を行う。
（Ｎ  or  ＡＢ１  or  ＡＣ１）＝｛１，１，１，１，０｝
（Ｎ  or  ＡＢ１  or  ＡＣ２）＝｛１，１，１，０，１｝
（Ｎ  or  ＡＢ２  or  ＡＣ１）＝｛１，１，１，１，１｝
・・・
経路制御部１０５は、論理和演算の結果から、１の数がもっとも少ない組み合わせを選択する。図６に示す例では、経路制御部１０５は、｛ＡＢ１，ＡＣ１｝、｛ＡＢ１，ＡＣ２｝のいずれかを選択する。選択の際、各ノードの消費電力の大きさ情報を参照して、経路に消費得電力が小さいノードが優先的に含まれるようにしてもよい。たとえば、中継ノードｂよりａのノードの方が消費電力が大きい場合、中継ノードｂを通らない経路である｛ＡＢ１，ＡＣ２｝の方が、消費電力が小さくなるため、｛ＡＢ１，ＡＣ２｝選択する。
【００５３】
経路情報生成部１０６は、経路制御部１０５により決定された経路を示す経路情報を生成する。例えば、経路情報生成部１０６は、図６下部に示す決定結果を示す情報を生成する。図６下部に示す経路情報は、縦軸が転送元（Ｓｏｕｒｃｅ：Ｓｒｃ）、横軸が転送先（Ｄｅｓｔｉｎａｔｉｏｎ：Ｄｅｓｔ）を示し、数字はトラフィック量を示す。例えば、エッジノードＡからエッジノードＢへのトラフィック量は５０（図６に示すトラフィック量（Ａ）よりＡＢの３０＋ＡＣの２０）Ｍｂｐｓである。中継ノードａは、利用されていないノードであるため、スリープノードとなる。
【００５４】
エッジノードＡは、決定された経路情報をパケットのデータ部に入れて、次に経路決定するエッジノードＢにパケットを送信する。
【００５５】
図７は、エッジノードＢの経路決定の一例を説明する図である。エッジノードＢは、エッジノードＡから経路情報を受信すると、他エッジノードへの経路決定を行う。具体的には、まず、エッジノードＢは、エッジノードＡから受信したパケットに含まれる経路情報を経路情報格納部１０２に格納し、現時点の利用ノードＮを設定する。
Ｎ＝｛１，１，１，０，１｝
図７に示すＮは、図６に示すＮとＡＢ１とＡＣ２との論理和演算の結果と同じである。
【００５６】
次に、エッジノードＢからエッジノードＡへの経路について以下の複数の経路が考えられる。ＢＡ１〜ＢＡ３は、経路Ｎｏ．を示す。
ＢＡ１＝｛１，１，０，０，０｝
ＢＡ２＝｛１，１，０，１，１｝
ＢＡ３＝｛１，１，１，１，１｝
例えば、経路ＢＡ１は、エッジノードＢ、エッジノードＡの経路を示し、経路ＢＡ２は、エッジノードＢ、中継ノードｂ、中継ノードａ、エッジノードＡの経路を示す。
【００５７】
次に、エッジノードＢからエッジノードＣへの経路について以下の複数の経路が考えられる。ＢＣ１〜ＡＣ４は、経路Ｎｏ．を示す。
ＢＣ１＝｛０，１，１，０，１｝
ＢＣ２＝｛０，１，１，１，１｝
ＢＣ３＝｛１，１，１，１，０｝
ＢＣ４＝｛１，１，１，１，１｝
例えば、経路ＢＣ１は、エッジノードＢ、中継ノードｂ、エッジノードＣの経路を示し、経路ＢＣ２は、エッジノードＢ、中継ノードｂ、中継ノードａ、エッジノードＣの経路を示す。
【００５８】
次に、経路制御部１０５は、現時点の利用ノードＮ、経路ＢＡ、経路ＢＣの全ての組み合わせについて論理和演算（ＯＲ演算）を行う。
（Ｎ  or  ＢＡ１  or  ＢＣ１）＝｛１，１，１，０，１｝
（Ｎ  or  ＢＡ１  or  ＢＣ２）＝｛１，１，１，１，１｝
（Ｎ  or  ＢＡ２  or  ＢＣ１）＝｛１，１，１，１，１｝
・・・
経路制御部１０５は、論理和演算の結果から、１の数がもっとも少ない組み合わせを選択する。図７に示す例では、経路制御部１０５は、｛ＢＡ１，ＢＣ１｝を選択する。
【００５９】
経路情報生成部１０６は、経路制御部１０５により決定された経路を用いて、経路情報格納部１０２に格納された経路情報を更新する。例えば、経路情報生成部１０６は、図７下部に示す決定結果を示す情報を生成する。図７下部に示す経路情報は、エッジノードＡから取得した経路情報に対し、エッジノードＢで決定した経路を用いて更新された経路情報である。
【００６０】
例えば、エッジノードＢから中継ノードｂへのトラフィック量は３５（図７に示すトラフィック量（Ｂ）よりＢＣの１５＋図６下部に示すＢｂの２０）Ｍｂｐｓである。中継ノードａは、利用されていないノードであるため、スリープモードが継続する。
【００６１】
エッジノードＢは、更新された経路情報をパケットのデータ部に入れて、次に経路決定するエッジノードＣにパケットを送信する。
【００６２】
図８は、エッジノードＣの経路決定の一例を説明する図である。エッジノードＣは、エッジノードＢから経路情報を受信すると、他エッジノードへの経路決定を行う。具体的には、まず、エッジノードＣは、エッジノードＢから受信したパケットに含まれる経路情報を経路情報格納部１０２に格納し、現時点の利用ノードＮを設定する。
Ｎ＝｛１，１，１，０，１｝
図８に示すＮは、図７に示すＮとＢＡ１とＢＣ１との論理和演算の結果と同じである。
【００６３】
次に、エッジノードＣからエッジノードＡへの経路について以下の複数の経路が考えられる。ＣＡ１〜ＣＡ４は、経路Ｎｏ．を示す。
ＣＡ１＝｛１，０，１，１，０｝
ＣＡ２＝｛１，１，１，０，１｝
ＣＡ３＝｛１，０，１，１，１｝
ＣＡ４＝｛１，１，１，１，１｝
例えば、経路ＣＡ１は、エッジノードＣ、中継ノードａ、エッジノードＡの経路を示し、経路ＣＡ２は、エッジノードＣ、中継ノードｂ、エッジノードＢ、エッジノードＡの経路を示す。
【００６４】
次に、エッジノードＣからエッジノードＢへの経路について以下の複数の経路が考えられる。ＣＢ１〜ＣＢ３は、経路Ｎｏ．を示す。
ＣＢ１＝｛０，１，１，０，１｝
ＣＢ２＝｛１，１，１，１，０｝
ＣＢ３＝｛０，１，１，１，１｝
例えば、経路ＣＢ１は、エッジノードＣ、中継ノードｂ、エッジノードＢの経路を示し、経路ＣＢ２は、エッジノードＣ、中継ノードａ、エッジノードＡ、エッジノードＢの経路を示す。
【００６５】
次に、経路制御部１０５は、現時点の利用ノードＮ、経路ＣＡ、経路ＣＢの全ての組み合わせについて論理和演算（ＯＲ演算）を行う。
（Ｎ  or  ＣＡ１  or  ＣＢ１）＝｛１，１，１，１，１｝
（Ｎ  or  ＣＡ１  or  ＣＢ２）＝｛１，１，１，１，１｝
（Ｎ  or  ＣＡ２  or  ＣＢ１）＝｛１，１，１，０，１｝
・・・
経路制御部１０５は、論理和演算の結果から、１の数がもっとも少ない組み合わせを選択する。図８に示す例では、経路制御部１０５は、｛ＣＡ２，ＣＢ１｝を選択する。
【００６６】
経路情報生成部１０６は、経路制御部１０５により決定された経路を用いて、経路情報格納部１０２に格納された経路情報を更新する。例えば、経路情報生成部１０６は、図８下部に示す決定結果を示す情報を生成する。図８下部に示す経路情報は、エッジノードＢから取得した経路情報に対し、エッジノードＣで決定した経路を用いて更新された経路情報である。例えば、エッジノードＣから中継ノードｂへのトラフィック量は６５（図８に示すトラフィック量（Ｃ）よりＣＡの３０＋ＣＢの３５）Ｍｂｐｓである。中継ノードａは、利用されていないノードであるため、スリープモードが継続する。
【００６７】
エッジノードＣは、経路決定が最後であるため、経路決定の最終結果（図８下部の経路情報）を他エッジノードに送信する。図８下部に示す最終の経路情報は、全てのエッジノードで決定した経路が反映された情報である。これより、他エッジノードは、トラフィック量設定部１０４により設定されたトラフィック量に対し、ネットワーク内のスリープノードを経由しない経路を用いてトラフィック転送を行うことができる。
【００６８】
なお、経路制御部１０５は、決定された経路におけるトラフィック量が、ＮＷ情報のリンクの上限帯域を超える場合は、複数の経路に分けてトラフィック転送するようにすればよい。経路制御部１０５は、複数の経路に分けてトラフィック転送する場合も、スリープノードにはなるべくトラフィックを転送しないようにする。即ち、経路制御部１０５は、リンクの上限帯域、ホップ数などの制約条件や品質条件を満たす範囲内で、前述した経路制御を行うようにする。
【００６９】
また、各エッジノードは、経路情報を次のエッジノードに送信する際、スリープノードを経由しない経路で送信する。例えば、図８に示すネットワークで、エッジノードＣからエッジノードＡに経路情報を送信する場合は、エッジノードＣ、中継ノードｂ、エッジノードＢ、エッジノードＡの順の経路を用いる。
【００７０】
（処理例２）
次に説明する経路制御の処理例２は、リンクコストを考慮してスリープノードを経由しない経路を決定する例である。図９〜図２１を用いて処理例２について具体的に説明する。なお、処理例２のネットワークは、処理例１で説明したネットワークと同じものを用いる。処理例２において、ブロードキャスト通知や決定順は処理例１と同様とする。
【００７１】
図９は、ノード属性の一例を示す図である。ノード属性の情報は、ＮＷ情報格納部１０１に格納される。ノード属性情報は、各ノードに対する、「消費電力量（ｋＷ）」、「ノードの利用状況（１：利用あり、０：利用なし）」が登録される。
【００７２】
「消費電力量」とは、ノードのウェイク状態で消費する電力量（例えば、ウェイク時の最小の消費電力量）を示す。「利用状況」とは、ノードがトラフィック転送する経路に利用されていれば１とし、利用されていなければ０とする。つまり、「利用状況」が「０」のノードは、スリープノードになることが可能である。
【００７３】
図１０は、リンク属性の一例を示す図である。リンク属性の情報は、ＮＷ情報格納部１０１に格納される。リンク属性情報は、ノード相互間を接続するリンクごとに、リンクの属性が登録される。例えば、リンク属性には、各リンクの「流入先ノード」、「消費電力量（ｋＷ）」、「トラフィック量（Ｍｂｐｓ）」、「リンク上限制約／物理帯域（Ｍｂｐｓ）」、「残容量（Ｍｂｐｓ）」、「リンク利用（１：利用あり、０：利用なし）」、「リンクコスト」が含まれる。各パラメータの値はオペレータによって決定されるものとする。
【００７４】
「流入先ノード」とは、各リンクの流入先のノードのノード番号（ノードＡ〜ノードｂ）である。なお、各リンク間が物理的に１本の資源（ケーブル）を通じて接続されている場合であっても、リンクは、別々のものとして観念される。従って、上下のリンクをそれぞれ識別できるように、別々のリンク番号が付されているとともに、流入先ノードが定義される。
【００７５】
「消費電力量」とは、リンクを利用することによって、リンク自体に生じる消費電力量（例えば、物理的な資源の消費電力等）である。「トラフィック量」とは、リンク上に経路が設定されている全フローの総和である。
【００７６】
「リンク上限制約」とは、リンクに設定可能なフローのトラフィック量総和の上限である。「物理帯域」とは、リンクの物理資源が収容可能な帯域である。「残容量」とは、リンク上限制約の値からトラフィック量を減じた残り、即ち、リンク上に更に経路を設定可能なフローのトラフィック量である。「リンク利用」とは、リンク上にフローの経路がまったく設定されていない場合に０とし、少なくとも１つのフローの経路が設定された場合は１とする。
【００７７】
「リンクコスト」とは、流入先ノードについてノード属性に定義されている消費電力量である。即ち、処理例２において、「リンクコスト」は、個々のフローの実現のために各ノードが消費する消費電力量である。
【００７８】
なお、図１０に示すリンクコスト「δ」とは、後述するように、流入先ノードの消費電力に代えてリンクコストに上書きされる定数である。本来の消費電力よりも十分に小さい値である。リンクコスト「δ」は、利用されているノードに流入するリンクのリンクコストに上書きされる。「リンクコスト」の総和を算出するための計算は、リンクを基準に行うため、図１１に示すようにリンクコストが定義される。
【００７９】
図１１は、リンクコストを説明する図である。図１１に示す例では、或るノードａに他のノードｂ〜ｄから流入する全てのリンクにおけるリンクコストＬｂａ、Ｌｃａ、Ｌｄａは、ノードａの「消費電力量」となる。
【００８０】
図１２は、処理例２におけるネットワークのリンクコストを説明する図である。図１２に示すノードを表す丸内にある数字がノードの消費電力量を示し、各矢印がリンク、矢印に付された数字がリンクコストを示す。各リンクにはリンク名（リンク１〜１２）が付与される。
【００８１】
図１２に示すリンクコストを有するネットワークにおいて、エッジノードＡ、エッジノードＢ、エッジノードＣの順に経路決定する例について説明する。最初に経路決定するエッジノードＡの経路制御部１０５は、トラフィック量設定部１０４で設定されたトラフィック量を取得する。ここでは、エッジノードＡからエッジノードＢへは３０Ｍｂｐｓ、エッジノードＡからエッジノードＣへは２０Ｍｂｐｓとする。
【００８２】
経路制御部１０５は、エッジノードＡからエッジノードＢまでの経路の中でリンクコストの和が最小の経路を選択する。図１２に示す例では、エッジノードＡ、エッジノードＢの経路がリンクコスト１０となり、その他の迂回する経路よりもリンクコストの和が最小である。ここで、エッジノードＡ、エッジノードＢが利用されることになると、エッジノードＡ、エッジノードＢに流入するリンクのリンクコストは「δ」に上書きされる。
【００８３】
次に、経路制御部１０５は、エッジノードＡからエッジノードＣまでの経路のリンクコストの和を計算する。例えば、エッジノードＡ、中継ノードａ、エッジノードＣのリンクコストの和は１５＋２０＝３５である。他には、エッジノードＡ、エッジノードＢ、中継ノードｂ、エッジノードＣのリンクコストの和は、δ＋１０＋２０＝３０＋δである。δは十分小さいため、３０＋δ＜３５となる。
【００８４】
よって、リンクコストが最小とする経路ＡＣは、エッジノードＡ、エッジノードＢ、中継ノードｂ、エッジノードＣであるため、この経路を最適経路として決定する。ここで、中継ノードｂ、エッジノードＣに流入するリンクのリンクコストは「δ」に上書きされる。
【００８５】
図１３は、エッジノードＡの経路決定結果の一例を示す図である。前述したように、エッジノードＡ〜Ｃ、中継ノードｂに流入するリンクのリンクコストは「δ」に上書きされる。これより、利用されているノードはさらに利用されやすくなる。図１３下部には、経路制御部１０５による経路決定後の経路情報を示す。
【００８６】
図１４は、エッジノードＡの経路決定後のノード属性を示す図である。利用されていない中継ノードａ以外は、利用を示す「１」が「利用状況」に登録されている。図１５は、エッジノードＡの経路決定後のリンク属性を示す図である。図１５に示すリンク属性では、利用されるリンクのトラフィック量、残容量、リンク利用、リンクコストが更新される。例えば、リンク１のトラフィック量は「５０」に更新され、また、残容量は「３０（８０−５０）」、リンク利用は「１」、リンクコストは「δ」に更新される。ノード属性及びリンク属性の更新は、経路制御部１０５が行う。
【００８７】
また、経路制御部１０５は、経路決定を行う際に、残容量が０以下にならないことを制約条件とする。制約条件としては、リンク数の経路長を定めるホップ数が上限値を超えないことなどを含めてもよい。
【００８８】
エッジノードＡは、図１３下部に示すような経路情報を、次に経路決定を行うエッジノードＢに送信する。
【００８９】
エッジノードＢは、エッジノードＡから経路情報を受信すると、他エッジノードとの間の経路を決定する。エッジノードＢは、まず、受信した経路情報に基づいてノード属性、リンク属性を更新する。このとき、エッジノードＢが保持するノード属性、リンク属性は、エッジノードＡが保持するノード属性、リンク属性と同様になる。
【００９０】
次に、エッジノードＢの経路制御部１０５は、経路ＢＡ、経路ＢＣそれぞれの経路を決定する。要求されるトラフィック量は経路ＢＡが１０Ｍｂｐｓ、経路ＢＣが１５Ｍｂｐｓとする。経路制御部１０５は、経路ＢＡに対し、エッジノードＢ、エッジノードＡの経路のリンクコストの総和が「δ」であり、この経路が経路ＢＡの中で最小であるため、エッジノードＢ、エッジノードＡの経路を最適経路として決定する。また、経路制御部１０５は、経路ＢＣに対し、エッジノードＢ、中継ノードｂ、エッジノードＣの経路のリンクコストの総和が「２δ」であり、これが経路ＢＣの中で最小であるため、エッジノードＢ、中継ノードｂ、エッジノードＣの経路を最適経路として決定する。
【００９１】
図１６は、エッジノードＢの経路決定結果の一例を示す図である。図１６に示す例では、利用されるノードは変わらないためリンクコストの上書きは行われない。図１６下部には、経路制御部１０５による経路決定後の経路情報を示す。
【００９２】
図１７は、エッジノードＢの経路決定後のノード属性を示す図である。利用されていない中継ノードａ以外は、利用を示す「１」が「利用状況」に登録されている。図１８は、エッジノードＢの経路決定後のリンク属性を示す図である。図１８に示すリンク属性では、利用されるリンクのトラフィック量、残容量、リンク利用、リンクコストが更新される。例えば、リンク２のトラフィック量は「１０」に更新され、残容量は「７０（８０−１０）」に更新され、リンク利用は「１」に更新される。
【００９３】
エッジノードＢは、図１６下部に示すような経路情報を、次に経路決定を行うエッジノードＣに送信する。
【００９４】
エッジノードＣは、エッジノードＢから経路情報を受信すると、他エッジノードとの間の経路を決定する。エッジノードＣは、まず、受信した経路情報に基づいてノード属性、リンク属性を更新する。このとき、エッジノードＣが保持するノード属性、リンク属性は、エッジノードＢが保持するノード属性、リンク属性と同様になる。
【００９５】
次に、エッジノードＣの経路制御部１０５は、経路ＣＡ、経路ＣＢそれぞれの経路を決定する。要求されるトラフィック量は経路ＣＡが３０Ｍｂｐｓ、経路ＣＢが２０Ｍｂｐｓとする。経路制御部１０５は、経路ＣＡに対し、エッジノードＣ、中継ノードｂ、エッジノードＢ、エッジノードＡの経路のリンクコストの総和が「３δ」であり、これが経路ＣＡの中で最小であると判定する。
【００９６】
よって、経路制御部１０５は、エッジノードＣ、中継ノードｂ、エッジノードＢ、エッジノードＡの経路を最適経路として決定する。また、経路制御部１０５は、経路ＣＢに対し、エッジノードＣ、中継ノードｂ、エッジノードＢの経路のリンクコストの総和が「２δ」であり、これが経路ＣＢの中で最小であると判定する。よって、経路制御部１０５は、エッジノードＣ、中継ノードｂ、エッジノードＢの経路を最適経路として決定する。
【００９７】
図１９は、エッジノードＣの経路決定結果の一例を示す図である。図１９に示す例では、利用されるノードは変わらないためリンクコストの上書きは行われない。図１９下部には、経路制御部１０５による経路決定後の経路情報を示す。
【００９８】
図２０は、エッジノードＣの経路決定後のノード属性を示す図である。利用されていない中継ノードａ以外は、利用を示す「１」が「利用状況」に登録されている。図２１は、エッジノードＣの経路決定後のリンク属性を示す図である。図２１に示すリンク属性では、利用されるリンクのトラフィック量、残容量、リンク利用、リンクコストが更新される。例えば、リンク１２のトラフィック量は「６５」に更新され、残容量は「１５（８０−６５）」に更新され、リンク利用は「１」に更新される。
【００９９】
以上より、各エッジノードが、受信した経路情報が示す経路を優先的に用いて経路を決定することにより、省電力状態となるノードがネットワーク内に含まれるような集約経路に経路制御することができる。ここで、集約経路とは、利用されているノードに経路を集中させることで、ネットワーク内にスリープノードが含まれるような経路をいう。
【０１００】
なお、処理例２において、要求されたトラフィック量が、計算された最適経路の残容量以上であれば、経路制御部１０５は、次にリンクコストの和が小さかった経路と二つの経路に分けてトラフィック転送する。
【０１０１】
また、ホップ数を制約条件とした場合、ホップ数の制約を満たす経路のリンクコストの総和を計算し、リンクコストの総和が小さい経路に決定したりしてもよい。
【０１０２】
以上、経路制御における経路決定方法について例を２つ説明したが、これに限定されることはない。各エッジノードが順番に経路情報を受信して経路決定を行い、経路情報が示す経路を優先的に用いることで、スリープノードをできるだけウェイク状態にしないような経路決定方法であればよい。
【０１０３】
なお、上記例では、経路決定順は、事前に設定していたが、経路制御のトリガを検知したエッジノードから経路決定を行うようにしてもよい。このとき、各エッジノードは自エッジノードの次に経路決定するエッジノードを記憶しておく。また、最初に経路決定をしたエッジノードは経路情報が一回りしたときに、全てのエッジノードで経路決定を行ったと判断する。トリガを検知し、経路情報を受信したエッジノードは、他エッジノードに最終的な経路情報を送信し、経路決定を終了する通知をブロードキャストする。また、各エッジノードは、経路情報を次のエッジノードに送信する際、スリープノードを経由しない経路で送信する。
【０１０４】
次に、各エッジノードが経路再決定を行うことにより、スリープノードを生じさせる状態遷移について説明する。
【０１０５】
図２２は、経路制御前の経路情報を示す図である。全てのノードが利用されており、経路情報は、図２２下部に示す。ここで、経路ＣＡにおけるトラフィック量の開放閾値が３０Ｍｂｐｓであるとする。経路ＣＡのトラフィック量が７５Ｍｂｐｓから３０Ｍｂｐｓに減少し、エッジノードＣにより経路制御のトリガが検出されるとする。ここで、各エッジノードは、前述した処理例１や２などの経路決定方法を用いて経路制御を行う。
【０１０６】
図２３は、経路制御後の経路情報を示す図である。図２３に示すように、経路制御を行うことで、中継ノードａのトラフィック量を０にし、中継ノードａをスリープノードにすることができる。経路制御後の経路情報は、図２３の下部に示す。
【０１０７】
以上、前述した経路制御を行うことで、ネットワーク内のノードでスリープノードが生じるような経路に制御することができ、電力消費を抑えることができる。スリープノードによる電力消費の低減は、ウェイク状態のトラフィック量を減少させることによる電力消費の低減よりも大きい。
【０１０８】
＜動作＞
次に、実施例１における通信システムの動作について説明する。図２４は、通信システムにおける経路制御の一例を示すフローチャートである。
【０１０９】
ステップＳ１０１で、ネットワーク内のエッジノードは、トラフィック量や経路品質値の変動によりトラフィック量や経路品質値が増設閾値以上になった、又は開放閾値以下になった場合に経路制御のトリガを検知する。
【０１１０】
ステップＳ１０２で、トリガを検知したエッジノードは、他エッジノードに経路決定を開始する通知をブロードキャストする。
【０１１１】
ステップＳ１０３で、各エッジノードは、順番に経路情報を受信して経路決定を行う。経路決定については、経路情報が示す経路を優先的に用いることで集約経路にする。つまり、各エッジノードは、スリープノードを経由しない経路に制御していく。
【０１１２】
ステップＳ１０４で、全てのエッジノードで経路決定を終えたと判断したエッジノードは、経路決定を終了する通知をブロードキャストする。
【０１１３】
ステップＳ１０５で、全てのエッジノードで経路決定を終えたと判断したエッジノードは、最終の経路情報を他のエッジノードに送信する。各エッジノードは受信した経路情報が示す経路やトラフィック量に基づいて経路を設定し、設定経路上でトラフィック転送を開始する。
【０１１４】
図２５は、経路制御のトリガを検知したエッジノードの処理の一例を示すフローチャートである。図２５に示す例では、経路決定の順番は、各エッジノードに事前に設定されているとする。
【０１１５】
ステップＳ２０１で、経路制御のトリガを検知したエッジノード（以下、トリガエッジノードともいう）は、経路決定を開始するための通知を他エッジノードにブロードキャストする。このとき、ブロードキャスト通知を受けたエッジノードは経路決定モードに遷移する。経路決定モードとは、経路決定を行うまで待機するモードである。
【０１１６】
ステップＳ２０２で、トリガエッジノードは、設定された決定順が最初であるか判定する。ステップＳ２０２の判定結果がＹＥＳ（決定順が最初）であればステップＳ２０５に進み、判定結果がＮＯ（決定順が最初でない）であればステップＳ２０３に進む。
【０１１７】
ステップＳ２０３で、トリガエッジノードは、他エッジノードから経路情報を受信したか否かを判定する。ステップＳ２０３の判定結果がＹＥＳ（受信した）であればステップＳ２０５に進み、判定結果がＮＯ（受信していない）であればステップＳ２０４に進む。
【０１１８】
ステップＳ２０４で、トリガエッジノードは、他エッジノードから経路情報を受信するまでステップＳ２０３に戻り待機する。
【０１１９】
ステップＳ２０５で、トリガエッジノードの経路制御部１０５は、前述したようにネットワーク内にスリープノードが含まれるような集約経路に決定する。このとき、他エッジノードから経路情報を受信していれば、受信した経路情報が示す経路を優先的に用いることで、スリープノードをスリープ状態で維持することができる。
【０１２０】
ステップＳ２０６で、トリガエッジノードは、設定された決定順に基づいて自エッジノードが経路決定の最後であるか否かを判定する。ステップＳ２０６の判定結果がＹＥＳ（決定順が最後）であればステップＳ２０７に進み、判定結果がＮＯ（決定順が最後ではない）であればステップＳ２０８に進む。
【０１２１】
ステップＳ２０７で、トリガエッジノードは、経路決定を終了する通知を他エッジノードにブロードキャストする。このとき、トリガエッジノードは、最終の経路情報を他エッジノードに送信する。
【０１２２】
ステップＳ２０８で、トリガエッジノードは、経路決定の結果を反映した経路情報を決定順が次のエッジノードに送信する。
【０１２３】
ステップＳ２０９で、トリガエッジノードは、経路決定の終了通知を受信したか否かを判定する。ステップＳ２０９の判定結果がＹＥＳ（受信した）であればステップＳ２１１に進み、判定結果がＮＯ（受信していない）であればステップＳ２１０に進む。
【０１２４】
ステップＳ２１０で、トリガエッジノードは、他エッジノードから終了通知を受信するまでステップＳ２０９に戻り待機する。
【０１２５】
ステップＳ２１１で、トリガエッジノードは、最終の経路情報が示す経路とトラフィック量に基づいて経路を設定し、設定経路上でトラフィック転送を開始する。
【０１２６】
図２６は、経路決定を開始する通知を受けたエッジノードの処理の一例を示すフローチャートである。図２６に示す例での経路決定の順番は、各エッジノードに事前に設定されているとする。また、図２６に示す処理で、図２５に示す処理と同様の処理を行うものは同じ符号を付し、その説明を省略する。
【０１２７】
ステップＳ３０１で、エッジノードは、経路決定を開始する通知を受信する。以下、経路決定を開始する通知を受けたエッジノードを受信エッジノードともいう。
【０１２８】
ステップＳ２０２以降は、主体が受信エッジノードに変わるのみで処理自体は図２５に示す処理と同様である。つまり、各エッジノードで基本的な処理内容は変わらず、経路決定のトリガを検知したエッジノードが図２５に示す処理を行い、その他のエッジノードが図２６に示す処理を行う。
【０１２９】
以上、実施例１によれば、各エッジノードで経路決定する際、他のエッジノードが決定した経路と重なるように、経路を設定するため、結果的にネットワーク内での経路を集約することができ、ひいては、消費電力の抑制を図ることができる。また、実施例１によれば、経路決定をする順番が事前に設定されていてもよいし、次のエッジノードを設定しておき、トリガを検知したエッジノードから次々に経路決定を行い、経路決定が一周した時点で経路決定を終了するようにしてもよい。
【０１３０】
また、実施例１によれば、トリガを検知したエッジノードが経路決定を行う通知をブロードキャストし経路決定モードにするようにしたが、この通知は必ずしも必要ではない。各エッジノードは経路決定モードにならなくても、経路情報を受信した時点で経路決定を行い、最終の経路情報が途中の経路情報とは区別して受信できればよい。
【０１３１】
［実施例２］
次に、実施例２に係る通信システムについて説明する。実施例２では、経路決定の順番を事前に各エッジノードに設定するのではなく、各エッジノードは、決定順を示すデータであるトークンを決定順に転送する。トークンを受信したエッジノードが経路決定を行う。
【０１３２】
＜機能構成＞
図２７は、実施例２に係るエッジノード３の主要な機能構成の一例を示すブロック図である。図２７に示す機能において、図４に示す機能と同様の機能のものは同じ符号を付し、その説明を省略する。
【０１３３】
管理部３０１は、メッセージ管理部３０２、経路決定管理部３０３を含む。メッセージ管理部３０２は、エッジノード間でやりとりする制御メッセージ中に含まれるトークンを管理する。制御メッセージは、経路情報を送信する順番を制御するためのメッセージである。メッセージ管理部３０２は、受信した制御メッセージに含まれるトークンに基づいて、トークンと経路情報とを送信する次のエッジノードを判断することができる。
【０１３４】
経路決定管理部３０３は、自エッジノードがトークンと経路情報とを受信したことを検知した場合、経路決定を行うよう経路制御部１０５に指示する。
【０１３５】
経路制御部１０５は、実施例１同様、ネットワーク内でスリープノードが存在するように集約経路を決定する。なお、経路制御部１０５は、ＮＷ情報に基づくリンクの上限帯域などの制約条件を満たす範囲内で集約経路を決定する。
【０１３６】
これより、経路の決定順を事前にエッジノードに設定していなくても、経路決定順を示すトークンを順に送信することで、各エッジノードは順に経路情報を受信し、受信した経路情報に基づいて経路決定を行うことができる。
【０１３７】
次に、図２８と図２９とを用いてトークンについて説明する。図２８は、トークンＡのデータ構造の一例を示す図である。図２８に示すトークンＡは、経路決定順が最後のエッジノードが決定終了を通知する場合のトークンである。
【０１３８】
図２８に示すように、トークンＡには、エッジノードＩＤと次に送信するエッジノードＩＤとが対応づけられている。エッジノードを識別する情報としては、エッジノードＩＤやエッジノードのＩＰアドレスでもよい。
【０１３９】
図２８に示すトークンＡの経路決定順は、エッジノード（エッジ）Ａ、エッジノードＢ、エッジノードＣ、・・・、エッジノードＸとなる。エッジノードは、自エッジノードのＮｅｘｔノードＩＤにエッジノードＩＤ又はＩＰアドレスが対応付けられていなければ、自エッジノードが、決定順が最後のノードであると判断できる。
【０１４０】
図２９は、トークンＢのデータ構造の一例を示す図である。図２９に示すトークンＢは、エッジノード間を巡回させるトークンである。トークンＢは、経路決定順が最初のエッジノードが経路決定の終了を通知する場合に用いられる。
【０１４１】
図２９に示すように、トークンＢには、エッジノードＸの次のエッジノードとしてエッジノードＡが対応付けられている。これよりトークンＢは、エッジノード間を巡回することになる。
【０１４２】
＜経路制御の処理例＞
次に、実施例２における経路制御の処理例について説明する。経路決定の方法は実施例１と同様である。なお、説明を簡単にするため、ネットワークの構成や要求されるトラフィックの量は実施例１と同様とする。
【０１４３】
（トークンＡを用いる場合）
図３０は、エッジノードＡが最初に経路決定を行う場合を説明する図である。図３０に示すトークンを見ると、エッジノードＡが最初に経路決定を行うことが分かる。図３０に示すトークンは、最初に経路決定を行うエッジノードＡが保持しておく。エッジノードＡは、経路制御のトリガを検知した場合、又は経路決定を開始する通知を受信した場合、経路決定を行う。経路決定の結果は実施例１と同様とする。経路決定したエッジノードＡは、経路情報とトークンとを次のエッジノードＢに送信する。
【０１４４】
図３１は、エッジノードＢが経路決定を行う場合を説明する図である。エッジノードＢは、トークンと経路情報とをエッジノードＡから受信した場合、受信した経路情報に基づいて経路決定を行う。経路決定の結果は実施例１と同様とする。経路決定したエッジノードＢは、経路情報とトークンとを次のエッジノードＣに送信する。
【０１４５】
図３２は、エッジノードＣが経路決定を行う場合を説明する図である。エッジノードＣは、トークンと経路情報とをエッジノードＢから受信した場合、受信した経路情報に基づいて経路決定を行う。経路決定の結果は実施例１と同様とする。経路決定したエッジノードＣは、トークンに次のエッジノードが対応付けられていないことにより自エッジノードが経路決定の最後であると判定する。エッジノードＣは、他エッジノードに対し、経路決定の終了通知と最終の経路情報を送信する。
【０１４６】
（トークンＢを用いる場合）
次に、図２９に示すトークン（以下、巡回トークンともいう）をエッジノード間で巡回させ、経路制御を行う場合について説明する。巡回トークンを巡回させる場合は、計測・監視部１０３による経路制御のトリガの検知は不要である。各エッジノードは、巡回トークンと経路情報とを受信したときに、経路決定を行い、巡回トークンに示される次のエッジノードに巡回トークンと経路情報とを送信する。
【０１４７】
図３３は、巡回トークンを受信したエッジノードＣが経路決定を行う場合を説明する図である。図３３に示すトークンは巡回トークンを示す。この巡回トークンは、エッジノードＡ、エッジノードＢ、エッジノードＣ、エッジノードＡ、エッジノードＢ・・・の順にエッジノード間を巡回する。図３３に示す例では、エッジノードＡを基点のノードとする。エッジノードＣまでの経路決定についてはトークンＡを用いる場合と同様である。
【０１４８】
エッジノードＣは、経路決定を行った場合、巡回トークンが示す次のエッジノードＡに、巡回トークンと経路情報とを送信する。
【０１４９】
基点であるエッジノードＡに巡回トークンが戻ってきた場合に、エッジノードＡは、全てのエッジノードで経路決定が終わったと判断する。このとき、エッジノードＡは、受信した最終の経路情報を他エッジノードに送信する。各エッジノードは、受信した最終の経路情報が示す経路やトラフィック量を必ずしも設定する必要はない。各エッジノードは、現在の経路とは異なる経路になったときにだけ、経路やトラフィック量を設定するようにすればよい。巡回トークンが一回りするたびに経路やトラフィック量の設定を行っていては、非効率だからである。
【０１５０】
これより、巡回トークンをエッジノード間で巡回させる場合は、計測・監視部１０３によるトリガの検知を行う必要がない。なお、巡回トークンが一回りしたときに、経路情報はリセットされる。
【０１５１】
また、計測・監視部１０３によるトリガを検知する場合は、巡回トークンを一回りだけさせることで、トークンＡと同様に経路制御することができる。このとき、トリガを検知したエッジノードを基点のエッジノードとして設定し、巡回トークン及び経路情報を一回りさせることで、基点のエッジノードは全てのエッジノードで経路決定が終了したと判断できる。これより、基点のエッジノードが最終の経路情報を他エッジノードに送信することができる。
【０１５２】
＜動作＞
次に、実施例２における通信システムの動作について説明する。以下に説明するエッジノードの動作は、巡回トークンを用いる場合であり、経路制御のトリガの検知を行わない場合である。
【０１５３】
図３４は、基点となるエッジノードの処理の一例を示すフローチャートである。以下、基点となるエッジノードを基点エッジノードともいう。基点エッジノードは事前に設定しておく。
【０１５４】
ステップＳ４０１で、基点エッジノードは、経路決定を行う。経路決定方法は、実施例１で説明したように、ネットワーク内にスリープノードが含まれるような集約経路に決定する。
【０１５５】
ステップＳ４０２で、基点エッジノードは、巡回トークンから次のエッジノードを特定し、次のエッジノードに対し、巡回トークンと経路情報とを送信する。
【０１５６】
ステップＳ４０３で、基点エッジノードは、巡回トークンと経路情報とを受信したか否かを判定する。基点エッジノードは、経路情報を受信した場合、全てのエッジノードの経路決定結果が反映された最終の経路情報を受信したと判断する。ステップＳ４０３の判定結果がＹＥＳ（受信した）であればステップＳ４０４に進み、判定結果がＮＯ（受信していない）であればステップＳ４０３に戻る。
【０１５７】
ステップＳ４０４で、基点エッジノードは、受信した最終の経路情報を他エッジノードに送信する。この後、基点エッジノードは、経路情報をリセットする。基点エッジノードは、以上の処理を巡回トークンが一回りする度に行う。
【０１５８】
図３５は、非基点のエッジノードの処理の一例を示すフローチャートである。図３５に示す処理で図３４と同様の処理を行うものは同じ符号を付し、その説明を省略する。
【０１５９】
ステップＳ５０１で、非基点のエッジノードは、他エッジノードから巡回トークンと経路情報とを受信したか否かを判定する。ステップＳ５０１の判定結果がＹＥＳ（受信した）であればステップＳ４０１に進み、判定結果がＮＯ（受信していない）であればステップＳ５０１に戻る。
【０１６０】
図３５に示すステップＳ４０１、Ｓ４０２の処理は、主体が非基点のエッジノードである以外は、図３４に示す処理と同様である。
【０１６１】
ステップＳ５０２で、非基点のエッジノードは、基点エッジノードから最終の経路情報を受信する。なお、最終の経路情報を受信したエッジノードは、前述したとおり、最終の経路情報を必ずしも設定する必要はない。
【０１６２】
なお、トークンを用いる場合、図２５と図２６に示す処理と比べて異なるところは、トークンを経路情報とともに送信することと、経路決定の順番をトークンから判断することである。
【０１６３】
以上、実施例２によれば、経路決定の順番を事前に各エッジノードに設定するのではなく、各エッジノードは、決定順を示すデータであるトークンを決定順に転送する。実施例２では、巡回トークンを用いればトリガの検知を行う必要がない。また、各エッジノードは、トークン及び経路情報を次のエッジノードに送信する際、スリープノードを経由しない経路で送信する。
【０１６４】
［実施例３］
次に、実施例３に係る通信システムについて説明する。実施例３では、トラフィック量設定部４０１が、設定するトラフィック量を予測して設定する。また、実施例３では、各エッジノードが、トラフィック量を予測するために、事前に経路決定の順番と総エッジノード数を保持している。
【０１６５】
＜機能構成＞
図３６は、実施例３に係るエッジノード４の主要な機能構成の一例を示すブロック図である。図３６に示す機能において、図４に示す機能と同様の機能のものは同じ符号を付し、その説明を省略する。
【０１６６】
トラフィック量設定部４０１は、自エッジノードに設定された決定順から最終的に経路情報が反映されるまでの時間を求め、求めた時間に予測されるトラフィック量を、経路決定で要求するトラフィック量（以下、要求トラフィック量ともいう）として設定する。ここでは、経路情報が反映されるまでの時間（以下、反映時間ともいう）は、自エッジノードが経路決定をしてから最後のエッジノードの経路決定が終わるまでの時間とする。トラフィック量の予測については、既知の近時予測方法（線形近似など）を用いる。
【０１６７】
図３７は、トラフィック量の予測を説明する図である。経路決定順はエッジノードＡ、エッジノードＢ、エッジノードＣの順とする。エッジノードＡのトラフィック量設定部４０１は、経路ＡＢに対して要求するトラフィック量を、例えば線形近似により予測する。具体的には、エッジノードＡのトラフィック量設定部４０１は、経路決定時のトラフィック量から所定時間前までのトラフィック量を用いて、反映時間後（１秒後）のトラフィック量を予測する。反映時間を算出する式は以下の通りである。
反映時間＝経路決定にかかる時間×（総エッジノード数−経路決定順）
上記例では、経路決定にかかる時間を０．５秒とし、総エッジノード数は３、エッジノードＡの決定順は１であるため、反映時間は０．５×（３−１）＝１となる。
【０１６８】
次に、エッジノードＢのトラフィック量設定部４０１は、経路ＢＡに対して要求トラフィック量を、例えば線形近似により予測する。反映時間は、０．５×（３−２）＝０．５となる。よって、エッジノードＢのトラフィック量設定部４０１は、０．５秒後のトラフィック量を予測する。
【０１６９】
エッジノードＣのトラフィック量設定部４０１は、自エッジノードが最後のエッジノードであるため、反映時間は０となる。つまり、エッジノードＣのトラフィック量設定部４０１は、現時点でのトラフィック量を、経路ＣＡに対しての要求トラフィック量に設定する。
【０１７０】
なお、図３７に示す例では、経路ＡＢ、経路ＢＡ、経路ＣＡに対してトラフィック量の予測を行うようにしたが、全ての経路に対してトラフィック量の予測を行うようにしてもよい。
【０１７１】
上記例では、トリガを検知したエッジノードが、経路決定の開始通知をブロードキャストしない場合について説明した。経路決定の開始通知をブロードキャストする／しないは、経路計算用に利用するトラフィック量をいつ計測するかを決める。開始通知をしない場合は、経路計算順が回ってきた時点でのトラフィック計測をし、開始通知をする場合は、開始通知を受け取った時点でのトラフック計測をする。
【０１７２】
一方、トリガを検知したエッジノードが、経路決定の開始通知をブロードキャストする場合は、開始通知を受信したエッジノードでは、同時にトラフィックを計測し、反映時間を以下の通りに設定する。
反映時間＝経路決定にかかる時間×（総エッジノード数−１）
【０１７３】
開始通知をブロードキャストし、トラフィクを同時に計測する場合は、計算経路でのトラフィック転送を再開するまでの時間は同じであるため、反映時間も各エッジノードで同じになる。
【０１７４】
以上、実施例３によれば、決定された経路でトラフィック転送が実際に開始されるときのトラフィック量を予測することができ、この予測値に基づいて経路決定を行うことができる。
【０１７５】
［実施例４］
次に、実施例４に係る通信システムについて説明する。実施例４では、各エッジノードで経路決定時に設定されるトラフィック量は、オペレータが事前に設定したトラフィックデマンドのリスト情報（以下、デマンドリストともいう）とする。デマンドリストを各エッジノードに順に転送することで、各エッジノードは、デマンドリストから経路決定に用いるトラフィック量を設定することができる。
【０１７６】
＜機能構成＞
図３８は、実施例４に係るエッジノード５の主要な機能構成の一例を示すブロック図である。図３８に示す機能において、図４に示す機能と同様の機能のものは同じ符号を付し、その説明を省略する。なお、オペレータが事前に設定したデマンドリストは、決定順が最初のエッジノードに保持されたり、送信されたりする。
【０１７７】
トラフィック量設定部５０１は、デマンドリストから「Ｓｒｃ」が自エッジノードのトラフィック量を取得し、経路決定に用いるトラフィック量に設定する。
【０１７８】
図３９は、デマンドリストの一例を示す図である。図３９に示すように、エッジノードＡのトラフィック量設定部５０１は、デマンドリストの「Ｓｒｃ」が「Ａ」のトラフィック量を取得し、経路ＡＢのトラフィック量「３５Ｍｂｐｓ」、経路ＡＣのトラフィック量「２０Ｍｂｐｓ」を要求トラフィック量として設定する。エッジノードＡは、取得したトラフィック量をデマンドリストから削除し、次のエッジノードＢに経路情報とともに送信する。
【０１７９】
次に、エッジノードＢのトラフィック量設定部５０１は、デマンドリストの「Ｓｒｃ」が「Ｂ」のトラフィック量を取得し、経路ＢＡのトラフィック量「１０Ｍｂｐｓ」、経路ＢＣのトラフィック量「１５Ｍｂｐｓ」を要求トラフィック量として設定する。エッジノードＢは、取得したトラフィック量をデマンドリストから削除し、次のエッジノードＣに経路情報とともに送信する。
【０１８０】
エッジノードＣのトラフィック量設定部５０１は、デマンドリストの「Ｓｒｃ」が「Ｃ」のトラフィック量を取得し、経路ＣＡのトラフィック量「３０Ｍｂｐｓ」、経路ＣＢのトラフィック量「３５Ｍｂｐｓ」を要求トラフィック量として設定する。決定順が最後のエッジノードＣは、デマンドリストを送信する必要はない。エッジノードＣは、最終の経路情報を他エッジノードに送信する。
【０１８１】
また、図３９に示す例では、各エッジノードは、自エッジノードが取得したトラフィック量をデマンドリストから削除するようにしたが、必ずしも削除する必要はない。なお、デマンドリストは、制御メッセージやパケットのデータ部に含めるようにすればよい。
【０１８２】
以上、実施例４によれば、オペレータが設定したデマンドリストに基づいて、経路決定を行うことができる。また、各エッジノードは、デマンドリスト及び経路情報を次のエッジノードに送信する際、スリープノードを経由しない経路で送信する。
【０１８３】
［変形例］
次に、上述した各実施例における変形例について説明する。上述した各実施例で説明した経路決定手順をコンピュータに実行させるためのプログラムとし、このプログラムをインストールして、コンピュータに実行させることにより上述した経路決定を実現させることも可能である。
【０１８４】
また、このプログラムを記録媒体（ＣＤ−ＲＯＭやＳＤカード等）に記録し、このプログラムが記録された記録媒体をコンピュータなどに読み取らせて、前述した経路決定を実現させることも可能である。なお、記録媒体は、ＣＤ−ＲＯＭ、フレキシブルディスク、光磁気ディスク等の様に情報を光学的，電気的或いは磁気的に記録する記録媒体、ＲＯＭ、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。
【０１８５】
また、各実施例では、中継ノードのみがスリープノードになるとして説明したが、エッジノードもスリープノードになってもよい。このとき、各エッジノードは、経路情報から次のエッジノードがスリープノードであると判定した場合は、その次のエッジノードに経路情報を送信する。よって、各エッジノードは、次のエッジノードの情報を保持するだけでなく、自エッジノード以降のエッジノードの情報を複数保持するようにすればよい。また、トークンを用いる場合は、各エッジノードの順番がトークンから分かるので、エッジノードをスリープノードにする場合でも容易に実現することが可能である。
【０１８６】
以上、各実施例、変形例について詳述したが、特定の実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、上記変形例以外にも種々の変形及び変更が可能である。
【０１８７】
なお、以上の実施例に関し、さらに以下の付記を開示する。
（付記１）
中継ノード及び複数のエッジノードを含む複数のノードがリンクを介して接続されるネットワーク内のエッジノード間の経路を制御する経路制御方法であって、
先に経路の決定を行うエッジノードによって決定された経路を示す経路情報を次に経路の決定を行うエッジノードに送信し、該次に経路の決定を行うエッジノードは、受信した前記経路情報が示す経路を優先的に用いて更なる経路の決定を行う処理を所定の複数のエッジノードが行うまで実行し、
前記所定の複数のエッジノードのうち最後のエッジノードが経路決定を行って得られた経路情報を用いて前記ネットワークにおける経路制御を行う、
ことを特徴とする経路制御方法。
（付記２）
最初に経路決定を行うエッジノードは、
省電力状態となる中継ノードが前記ネットワーク内に含まれるように経路を決定する付記１記載の経路制御方法。。
（付記３）
経路制御を行うためのトリガを検知したエッジノードは、
他のエッジノードに対して経路決定を開始する通知を送信し、
前記最初に経路決定を行うエッジノードは、
前記通知が送信された後に経路決定を行い、
前記各エッジノードは、
前記全てのエッジノードで決定した経路を反映した経路情報を受信した場合、該経路情報に基づいてデータ転送を開始する付記２記載の経路制御方法。
（付記４）
前記各エッジノードは、
経路決定時に計測したトラフィック量に基づいて、経路制御が終わる時のトラフィック量を予測し、
予測したトラフィック量及び前記経路情報に基づいて経路決定を行う付記１乃至３何れか一項に記載の経路制御方法。
（付記５）
前記複数のエッジノードは、
前記リンク毎に定義されたコストを保持し、
前記経路を決定する際、経路上の各リンクに定義されたコストの総和が最小となる経路に決定し、
決定された経路上で省電力状態の中継ノードがトラフィック処理を行う場合、トラフィック処理を行う中継ノードに繋がるリンクに定義されたコストを、省電力状態の中継ノードに繋がるリンクに定義されたコストよりも小さい値に更新する付記１乃至４何れか一項に記載の経路制御方法。
（付記６）
前記各エッジノードは、
経路決定を行う順番を示すデータを受信した場合に経路決定を行い、
前記データに示された自エッジノードの次のエッジノードに対し、前記データ及び前記経路情報を送信する付記１乃至５何れか一項に記載の経路制御方法。
（付記７）
前記エッジノードは、
前記経路情報を送信する次のエッジノードが省電力状態であるとき、前記次のエッジノードの次のエッジノードに対し、前記経路情報を送信する付記１乃至５いずれか一項に記載の経路制御方法。
（付記８）
中継ノード及び複数のエッジノードを含む複数のノードとリンクとにより接続されるネットワーク内のエッジノード間の経路を制御する通信システムであって、
前記中継ノードは、
トラフィック処理をしない場合に省電力状態にするスリープ制御部を備え、
前記エッジノードは、
他のエッジノードから、各エッジノード間のデータ転送の経路を示す経路情報を受信する受信部と、
受信された前記経路情報が示す経路を優先的に用いて他のエッジノードへの経路を決定する経路制御部と、
決定された経路を用いて更新した経路情報を次のエッジノードへ送信する送信部とを備える通信システム。
（付記９）
ネットワーク間の境界又は入口に位置し、他のネットワーク間の境界又は入口に位置する他の通信装置とデータ通信を行う通信装置であって、
前記他の通信装置から、各通信装置間のデータ通信の経路を示す経路情報を受信する受信部と、
受信された前記経路情報が示す経路を優先的に用いて他の通信装置への経路を決定する経路制御部と、
決定された経路を用いて更新した経路情報を次の通信装置へ送信する送信部とを備える通信装置。
（付記１０）
ネットワーク間の境界又は入口に位置し、他のネットワーク間の境界又は入口に位置する他の通信装置とデータ通信を行う通信装置を、
前記他の通信装置から、各通信装置間のデータ通信の経路を示す経路情報を受信する受信部と、
受信された前記経路情報が示す経路を優先的に用いて他の通信装置への経路を決定する経路制御部と、
決定された経路を用いて更新した経路情報を次の通信装置へ送信する送信部として機能させるための経路制御プログラム。
【符号の説明】
【０１８８】
１、３、４、５  エッジノード
２  中継ノード
３０  ルーティングプロセッサ部
３１  プロセッサ
３２  メモリ
１０１  ＮＷ情報格納部
１０２  経路情報格納部
１０３  計測・監視部
１０４、４０１、５０１  トラフィック量設定部
１０５  経路制御部
１０６  経路情報生成部
１０７  フォワーディング処理部
１０８  送受信部
１０９、３０１  管理部
１１０、３０３  経路決定管理部
１１１、３０２  メッセージ管理部
【図１】
0005392049.tif 000002
【図２】
0005392049.tif 000003
【図３】
0005392049.tif 000004
【図４】
0005392049.tif 000005
【図５】
0005392049.tif 000006
【図６】
0005392049.tif 000007
【図７】
0005392049.tif 000008
【図８】
0005392049.tif 000009
【図９】
0005392049.tif 000010
【図１０】
0005392049.tif 000011
【図１１】
0005392049.tif 000012
【図１２】
0005392049.tif 000013
【図１３】
0005392049.tif 000014
【図１４】
0005392049.tif 000015
【図１５】
0005392049.tif 000016
【図１６】
0005392049.tif 000017
【図１７】
0005392049.tif 000018
【図１８】
0005392049.tif 000019
【図１９】
0005392049.tif 000020
【図２０】
0005392049.tif 000021
【図２１】
0005392049.tif 000022
【図２２】
0005392049.tif 000023
【図２３】
0005392049.tif 000024
【図２４】
0005392049.tif 000025
【図２５】
0005392049.tif 000026
【図２６】
0005392049.tif 000027
【図２７】
0005392049.tif 000028
【図２８】
0005392049.tif 000029
【図２９】
0005392049.tif 000030
【図３０】
0005392049.tif 000031
【図３１】
0005392049.tif 000032
【図３２】
0005392049.tif 000033
【図３３】
0005392049.tif 000034
【図３４】
0005392049.tif 000035
【図３５】
0005392049.tif 000036
【図３６】
0005392049.tif 000037
【図３７】
0005392049.tif 000038
【図３８】
0005392049.tif 000039
【図３９】
0005392049.tif 000040