(57)【要約】【課題】宛先アドレス定義フローに対して、フローの経路変更による負荷分散を可能とする。【解決手段】フロー経路変更計算装置１は、宛先アドレスに基づき定義されたフローのフロー情報を取得し、ネットワークの最大リンク使用率を低下させるように、変更対象となるフローとその変更先経路とを決定する。このとき、フロー経路変更計算装置１は、フロー選択条件（Ａ）「最大リンク使用率となるリンクを通らない。」、フロー選択条件（Ｂ）「経路変更することによりネットワーク全体の最大リンク使用率が低下する。」、および、フロー選択条件（Ｃ）「各ノードの転送テーブルにおいて、宛先アドレス毎に出力ＩＦが一意に定まる」の全てを満たすフローを選択し、その中で最大リンク使用率が最小となるフローとその変更先経路とを計算する。【選択図】図３
2015164245.tif 000002
【特許請求の範囲】
【請求項１】
複数のノードと前記複数のノード間を接続する複数のリンクとを備えるネットワーク内を流れるフローのうち、変更対象のフローに対する変更先経路を計算するフロー経路変更計算装置であって、
前記フロー経路変更計算装置は、記憶部と、入力情報処理部と、最大リンク使用率計算部と、出力情報処理部と、を備え、
前記入力情報処理部は、（１）前記ノード間の接続関係を示すトポロジ情報、（２）前記リンクを経由する際のコストを示すリンクメトリック、各リンクの最大帯域および各リンクのリンクトラヒック量を含むリンク情報、並びに、（３）宛先アドレスに基づき定義される前記フローの経路情報とそのフロートラヒック量を含むフロー情報、を取得して前記記憶部に記憶し、
前記最大リンク使用率計算部は、
前記各リンクの最大帯域および前記各リンクのリンクトラヒック量に基づき、前記ネットワーク内の各リンクのリンク使用率を計算して、最大リンク使用率および当該最大リンク使用率となるリンクを取得し、
当該取得した最大リンク使用率となるリンクを通るフローの中で、
（条件Ａ）当該最大リンク使用率となるリンクを通らない、
（条件Ｂ）経路変更により最大リンク使用率となるリンクを変更しない、
（条件Ｃ）前記複数のノードそれぞれが備えるフローの転送テーブルにおいて、前記宛先アドレス毎に出力ＩＦ（InterFace）が一意に定まる、
の全てを満たすフローの最短経路と、当該最短経路に変更した場合の最大リンク使用率とを計算し、当該最大リンク使用率が最小値となるフローを変更対象のフローとし、当該変更対象のフローとその変更先経路とを決定し、
前記出力情報処理部は、前記決定された変更対象のフローとその変更先経路、および、前記計算した最大リンク使用率を出力すること
を特徴とするフロー経路変更計算装置。
【請求項２】
前記最大リンク使用率となるリンクを通るフローの中で、前記（条件Ａ）および前記（条件Ｂ）を満たす経路変更の対象となるフローが、経路変更されたものとした場合に、前記複数のノードそれぞれの前記転送テーブルにおいて、同じ前記宛先アドレスに対し、１を超える前記出力ＩＦ数が設定されるか否かを確認する整合性確認部をさらに備え、
前記最大リンク使用率計算部は、
前記複数のノードのうち、１を超える前記出力ＩＦ数が少なくとも１つ設定される場合には、前記出力ＩＦが一意に定まらない場合があるとして、当該フローを前記経路変更の対象となるフローから除外し、
前記複数のノードの全てにおいて、１以下の前記出力ＩＦ数が設定される場合に、前記（条件Ｃ）を満たすと判定すること
を特徴とする請求項１に記載のフロー経路変更計算装置。
【請求項３】
前記最大リンク使用率となるリンクを通るフロー毎の宛先アドレスを取得し、当該フローの経路情報を参照し、前記取得した宛先アドレスへのフローが経由するか否かをノード毎に判定し、前記取得した宛先アドレスへのフローが経由するノードにおいて、前記取得した宛先アドレスのフローの転送先となるノードへ向かうリンクのみを残し、他のノードに向かうリンクを変更先経路となるリンクから除外するように、前記トポロジ情報を変更する整合性確認部をさらに備え、
前記最大リンク使用率計算部は、
当該変更したトポロジ情報を参照して、前記（条件Ａ）および前記（条件Ｂ）を満たすフローの最短経路と、当該最短経路に変更した場合の最大リンク使用率を計算すること、
を特徴とする請求項１に記載のフロー経路変更計算装置。
【請求項４】
ネットワークを構成する複数のノードと接続されるコントローラと、前記コントローラに接続される請求項１に記載のフロー経路変更計算装置と、前記コントローラおよび前記フロー経路変更計算装置に接続されるフロートラヒック量計算装置とを備えるフロー経路変更計算システムであって、
前記コントローラは、前記複数のノードのうちの前記ネットワークの境界に位置するエッジノードから、宛先アドレスに基づき定義されるフロー毎のフロートラヒック量と当該フローの経路情報とを取得して、前記フロートラヒック量計算装置に送信し、
前記フロートラヒック量計算装置は、
前記宛先アドレスに基づき定義される各フローの各エッジノードにおけるフロートラヒック量の情報と各フローの経路情報とを用いて、前記エッジノードそれぞれに入力されるフロー毎のフロートラヒック量を計算し、前記フロー経路変更計算装置に送信し、
前記フロー経路変更計算装置は、
前記エッジノードそれぞれに入力されるフロー毎のフロートラヒック量を用いて、変更対象のフローとその変更先経路とを計算すること
を特徴するフロー経路変更計算システム。
【請求項５】
ネットワークの境界に位置するエッジノードそれぞれに入力されるフロー毎のフロートラヒック量を計算するフロートラヒック量計算装置であって、
宛先アドレスに基づき定義される各フローの各エッジノードにおけるフロートラヒックの情報と各フローの経路情報とを取得する入力情報処理部と、
前記各フローの各エッジノードにおけるフロートラヒックの情報と前記各フローの経路情報とを用いて、前記エッジノードそれぞれに入力されるフロー毎のフロートラヒック量を計算するフロートラヒック量計算部と、
前記計算したエッジノードそれぞれに入力されるフロー毎のフロートラヒック量を出力する出力情報処理部と、
を備えることを特徴とするフロートラヒック量計算装置。
【請求項６】
前記フロートラヒック量計算部は、
前記各フローの各エッジノードにおけるフロートラヒック量の情報を「fＬi」とし、前記各フローの経路情報を「fｒij」とし、前記エッジノードそれぞれに入力されるフロー毎のフロートラヒック量を「fｔj」とし、以下の（式２）の連立方程式を解くことにより、前記エッジノードそれぞれに入力されるフロー毎のフロートラヒック量を計算すること、
を特徴とする請求項５に記載のフロートラヒック量計算装置。
【数１】
2015164245.tif 000006
ここで、「ｆ」はフローを表し、「ｊ」は入力エッジノードを表し、「ｉ」はフローが経由する入力エッジノードを表す。
また、「fＬi」（i=1,…，ｎ）は、定数（入力値）であり、フローｆの入力エッジノードｉを通るフロートラヒック量を表す。「fｒij」（i,j=1,…，ｎ）は、定数（入力値）であり、フローｆの経路を表し、フローｆのエッジノードｊから入力するトラヒックがエッジノードｉを通る場合に「１」、通らない場合に「０」で表す。「fｔj」（j=1,…，ｎ）は、変数（出力値）であり、フローｆの入力エッジノードｊから入力されるフロートラヒック量を表す。
【発明の詳細な説明】
【技術分野】
【０００１】
ネットワークの最大リンク使用率を低下させるために、フローの経路変更を計算するフロー経路変更計算装置、フロー経路変更計算システムおよびフロートラヒック量計算装置に関する。
【背景技術】
【０００２】
通信ネットワークにおいて、ルータやスイッチなどのノードからパケット転送する際の経路選択は、個々のノードに予め設定されたメトリックにしがたい、自律分散的に行われている。近年、OpenFlowなど、コントローラを用いてネットワークリソースの負荷状況を一元管理することが可能なＳＤＮ（Software Defined Network）技術が提案され、この技術を採用することにより、柔軟な経路制御の実現や設備運用、保守コスト削減が期待されている。そこで、ＳＤＮ技術を用い、ＭＰＬＳ（Multi Protocol Label Switching）など始終点で定まる「パス」単位での経路最適化（負荷分散）を実現する経路制御技術が提案されている（非特許文献１参照）。
【０００３】
非特許文献１に記載の技術（経路最適化手法）では、ネットワークの一部への負荷集中（例えば、パケットロスやキュー遅延が頻繁に発生すること）を回避する手法として、フロー経路を変更しネットワーク内の最大リンク使用率を低下させる制御が行われる。なお、ここで、最大リンク使用率とは、ネットワーク内の各リンクのリンク使用率（リンクトラヒック量／リンクの最大帯域）が最も大きいリンクのリンク使用率のことをいう。
【０００４】
この最大リンク使用率を低下させるための、ネットワーク制御装置が実行する従来の経路最適化手法において、フローは、宛先アドレス（宛先ＩＰアドレス）と送信元アドレス（送信元ＩＰアドレス）とのペアで定義される。そして、対象となるネットワーク内の全てまたは一部のフローの経路（経路情報）とそのトラヒック量（フロートラヒック量）とを含むフロー情報や、リンクトラヒック量等のリンク情報を取得し、そのネットワークにおける最大リンク使用率を計算する。続いて、その最大リンク使用率となるリンクを通るフローから、下記のフロー選択条件（Ａ），（Ｂ）を満たす最短経路に経路変更した場合に、最大リンク使用率が最小となるフローを選択する。
【０００５】
フロー選択条件（Ａ）：最大リンク使用率となるリンクを通らない。
フロー選択条件（Ｂ）：経路変更することによりネットワーク全体の最大リンク使用率が低下する。
【０００６】
なお、最大リンク使用率が最小となるフローが複数ある場合には、ランダムに選択し、フロー選択条件（Ａ），（Ｂ）を満たすフローが存在しなくなった時点で、処理を終了する。
【０００７】
この従来の最大リンク使用率を低下させるためのフロー経路変更の制御手法について、図１７を参照して詳細に説明する。
【０００８】
まず、ネットワーク制御装置は、フローの経路変更回数のパラメータ（以下、「フロー経路変更回数」とよぶ。）ｍを「０」に初期化（ｍ＝０）する（ステップＳ１）。
【０００９】
次に、ネットワーク制御装置は、各ノード間の接続関係を示すトポロジ情報や、リンク情報、全てまたは一部のフローの経路（経路情報）とそのトラヒック量（フロートラヒック量）を含むフロー情報（全てまたは一部のフローのフロー情報）を取得する（ステップＳ２）。なお、リンク情報は、各リンクのコスト（距離）を示すリンクメトリック、各リンクの最大帯域、各リンクのリンクトラヒック量の情報を含む。なお、一部のフローのフロー情報とは、「リンク使用率が所定の閾値（割合）以上となるリンクを通るフロー」のみのフロー情報を意味し、一部のフローのフロー情報を用いることで、トラヒック量が少なく経路変更しても負荷分散の効果が少ないフローを予め経路変更の対象から排除し、処理時間を短縮することができる。また、ここで取得するフロー情報は、宛先アドレス（宛先ＩＰアドレス）と送信元アドレス（送信元ＩＰアドレス）とに基づいて定義されるフロー情報である。
【００１０】
続いて、ネットワーク制御装置は、取得したリンク情報（各リンクの最大帯域および各リンクのリンクトラヒック量）に基づき、ネットワーク内の各リンクのリンク使用率（リンクトラヒック量／リンクの最大帯域）を計算することにより、最大リンク使用率を計算する（ステップＳ３）。なお、この計算により、最大リンク使用率が計算されると共に、「最大リンク使用率となるリンク」が特定される。
【００１１】
そして、ネットワーク制御装置は、ステップＳ２において取得した全てまたは一部のフローのフロー情報の中で、最大リンク使用率となるリンクを通るフローに対し、前記したフロー選択条件（Ａ）「最大リンク使用率となるリンクを通らない。」、フロー選択条件（Ｂ）「経路変更することによりネットワーク全体の最大リンク使用率が低下する。」の両方を満たすように経路変更したときの経路の最短経路と、その経路に変更した場合の最大リンク使用率を計算する（ステップＳ４）。
【００１２】
次に、ネットワーク制御装置は、ステップＳ４の結果、フロー選択条件（Ａ），（Ｂ）の両方を満たすフローとその経路が存在するか否かを判定する（ステップＳ５）。ネットワーク制御装置は、フロー選択条件（Ａ），（Ｂ）の両方を満たすフローとその経路が１つ以上存在する場合には（ステップＳ５→Ｙｅｓ）、次のステップＳ６に進む。一方、フロー選択条件（Ａ），（Ｂ）の両方を満たすフローとその経路が存在しない場合には（ステップＳ５→Ｎｏ）、ステップＳ８に進む。
【００１３】
ステップＳ６において、ネットワーク制御装置は、経路変更の対象となり得るフローが１つ以上存在することから、フロー経路変更回数ｍに「１」を追加する（ｍ＝ｍ＋１）。
【００１４】
続いて、ネットワーク制御装置は、ステップＳ４において計算した１つ以上のフローの中で、フローをその経路に変更した場合、つまり、計算したフローそれぞれを変更先経路に変更した場合における最大リンク使用率が最小値となるフローとその変更先経路を抽出する（ステップＳ７）。これにより、フロー経路変更回数ｍ（ｍ＝１，２，…）において経路変更の対象となるフローとその変更先経路、その経路に変更した場合の最大リンク使用率（および最大リンク使用率となるリンク）が計算される。
なお、ネットワーク制御装置は、抽出したフローとその変更先経路の組み合わせが１つの場合は、その抽出したフローと変更先経路の組み合わせを、その時点のフロー経路変更回数ｍ（ｍ回目の経路変更時）における変更対象となるフローとその変更先経路として決定する。また、ネットワーク制御装置は、抽出したフローとその変更先経路の組み合わせが複数ある場合には、その時点のフロー経路変更回数ｍ（ｍ回目の経路変更時）における変更対象となるフローとその変更先経路との組み合わせをその複数の中からランダムに１つ決定する。
【００１５】
次に、ネットワーク制御装置は、ステップＳ３に戻り、ステップＳ７で決定したフローが、最大リンク使用率が最小値となる変更先経路に変更されたものとして、最大リンク使用率を（再）計算する。
そして、ネットワーク制御装置は、前記したステップＳ４の処理を再度行い、フロー選択条件（Ａ）、（Ｂ）の両方を満たすフローを計算し、経路変更の対象となるフローとその経路が存在するか否かの判定（ステップＳ５）を行う。
【００１６】
ステップＳ５において、フロー選択条件（Ａ），（Ｂ）の両方を満たすフローとその経路が存在しない場合には（ステップＳ５→Ｎｏ）、ネットワーク制御装置は、ステップＳ８に進む。
ステップＳ８において、ネットワーク制御装置は、フロー経路変更回数が各ｍ（ｍ＝１，２，…）回での経路変更の対象となるフローとその変更先経路、フロー経路変更回数ｍ（ｍ＝１，２，…）に相当する変更順番、最終的に経路変更を終えた経路での最大リンク使用率を出力する。
【００１７】
このように、従来の最大リンク使用率を低下させるためのフロー経路変更の制御手法においては、入力情報として、宛先アドレスと送信元アドレスとのペアで定義される全てまたは一部のフローの経路（経路情報）とそのトラヒック量（フロートラヒック量）とを含むフロー情報を取得した上で、フロー選択条件（Ａ）、（Ｂ）の両方を満たす、つまり、最大リンク使用率となるリンクを通らず、経路変更することによりネットワーク全体の最大リンク使用率が低下するフローとその変更先経路を抽出することにより、最大リンク使用率を低下させていた。
【先行技術文献】
【非特許文献】
【００１８】
【非特許文献１】杉山隆太、他３名、「ＳＤＮによる集中制御に基づいた経路最適化の検討」、社団法人電子情報通信学会、2013年電子情報通信学会大会講演論文集、B-6-6、2013年9月3日
【発明の概要】
【発明が解決しようとする課題】
【００１９】
しかしながら、ＳＤＮ技術をＩＰ網に適用する場合の経路制御にあたっては、各ノードが宛先アドレス（宛先ＩＰアドレス）に基づいてパケット転送を行うため、従来のパス型、即ち、送信元アドレス（送信元ＩＰアドレス）と宛先アドレス（宛先ＩＰアドレス）とに基づく経路制御技術では、各ノードで作成する転送テーブルにおいて、１つの宛先アドレスに対し、複数の出力ＩＦ（InterFace：インタフェース）が抽出される場合があり、不整合が生じてしまうという問題があった。以下、具体的に説明する。
【００２０】
図１８に示すように、従来の経路制御では、ノード「Ｂ」−「Ｄ」間のリンクが複数のフローにより混雑（リンク使用率が高い状態）している場合、例えば、送信元ＩＰアドレス「ｐ２」および宛先ＩＰアドレス「ｐ４」で定義されるフローの経路「Ｂ」→「Ｄ」を、経路「Ｂ」→「Ａ」→「Ｄ」に変更することができる。この場合、ノード「Ａ」の転送テーブル（フローテーブル）７００（７００ａ）には、送信元アドレス「ｐ２」および宛先アドレス「ｐ４」に対応付けて、出力ＩＦ「２」が設定され、不整合となることなく転送制御することができる。
【００２１】
これに対し、図１９に示すように、宛先アドレス（宛先ＩＰアドレス）に基づいてパケット転送する場合、図１８を参照した説明と同様に、経路「Ｂ」→「Ｄ」を経由するフローの経路を、経路「Ｂ」→「Ａ」→「Ｄ」に変更した場合、ノードＡの転送テーブル（フローテーブル）７００（７００ｂ）には、１つの宛先ＩＰアドレス「ｐ４」に対して、２つの出力ＩＦ「１」，「２」が設定されることになり、宛先アドレス（宛先ＩＰアドレス）だけでは、経路を判断することができない、つまり、不整合が発生してしまう。
【００２２】
このような背景に鑑みて本発明がなされたのであり、本発明は、ＳＤＮ技術をＩＰ網に適用した場合において、フローの経路変更による負荷分散を可能とする、つまり、宛先アドレス定義フローに対して、フローの経路変更による負荷分散を可能とする、フロー経路変更計算装置、フロー経路変更計算システムおよびフロートラヒック量計算装置を提供することを課題とする。
【課題を解決するための手段】
【００２３】
前記した課題を解決するため、請求項１に記載の発明は、複数のノードと前記複数のノード間を接続する複数のリンクとを備えるネットワーク内を流れるフローのうち、変更対象のフローに対する変更先経路を計算するフロー経路変更計算装置であって、前記フロー経路変更計算装置は、記憶部と、入力情報処理部と、最大リンク使用率計算部と、出力情報処理部と、を備え、前記入力情報処理部が、（１）前記ノード間の接続関係を示すトポロジ情報、（２）前記リンクを経由する際のコストを示すリンクメトリック、各リンクの最大帯域および各リンクのリンクトラヒック量を含むリンク情報、並びに、（３）宛先アドレスに基づき定義される前記フローの経路情報とそのフロートラヒック量を含むフロー情報、を取得して前記記憶部に記憶し、前記最大リンク使用率計算部が、前記各リンクの最大帯域および前記各リンクのリンクトラヒック量に基づき、前記ネットワーク内の各リンクのリンク使用率を計算して、最大リンク使用率および当該最大リンク使用率となるリンクを取得し、当該取得した最大リンク使用率となるリンクを通るフローの中で、（条件Ａ）当該最大リンク使用率となるリンクを通らない、（条件Ｂ）経路変更により最大リンク使用率となるリンクを変更しない、（条件Ｃ）前記複数のノードそれぞれが備えるフローの転送テーブルにおいて、前記宛先アドレス毎に出力ＩＦ（InterFace）が一意に定まる、の全てを満たすフローの最短経路と、当該最短経路に変更した場合の最大リンク使用率とを計算し、当該最大リンク使用率が最小値となるフローを変更対象のフローとし、当該変更対象のフローとその変更先経路とを決定し、前記出力情報処理部が、前記決定された変更対象のフローとその変更先経路、および、前記計算した最大リンク使用率を出力することを特徴とするフロー経路変更計算装置とした。
【００２４】
このようにすることで、フロー経路変更計算装置は、宛先アドレスに基づき定義されたフローの経路情報とフロートラヒック量とを取得し、複数のノードそれぞれが備えるフローの転送テーブルにおいて、宛先アドレス毎に出力ＩＦが一意に定まるように、つまり、各ノードにおいて転送テーブルの不整合が発生しないようにした上で、変更対象のフローとその変更先経路とを計算することができる。よって、宛先アドレス定義フローに対して、フローの経路変更による負荷分散を可能とする。
【００２５】
請求項２に記載の発明は、前記最大リンク使用率となるリンクを通るフローの中で、前記（条件Ａ）および前記（条件Ｂ）を満たす経路変更の対象となるフローが、経路変更されたものとした場合に、前記複数のノードそれぞれの前記転送テーブルにおいて、同じ前記宛先アドレスに対し、１を超える前記出力ＩＦ数が設定されるか否かを確認する整合性確認部をさらに備え、前記最大リンク使用率計算部が、前記複数のノードのうち、１を超える前記出力ＩＦ数が少なくとも１つ設定される場合には、前記出力ＩＦが一意に定まらない場合があるとして、当該フローを前記経路変更の対象となるフローから除外し、前記複数のノードの全てにおいて、１以下の前記出力ＩＦ数が設定される場合に、前記（条件Ｃ）を満たすと判定することを特徴とする請求項１に記載のフロー経路変更計算装置とした。
【００２６】
このようにすることで、フロー経路変更計算装置は、同じ宛先アドレスに対し、１を超える、つまり、２以上の出力ＩＦが転送テーブルに設定されるノードがある場合には、出力ＩＦが一意に定まらない場合があるため、当該フローを経路変更の対象となるフローから除外することができる。よって、フロー経路変更計算装置は、（条件Ｃ）を満たした上で、変更対象のフローとその変更先経路とを計算することができる。
【００２７】
請求項３に記載の発明は、前記最大リンク使用率となるリンクを通るフロー毎の宛先アドレスを取得し、当該フローの経路情報を参照し、前記取得した宛先アドレスへのフローが経由するか否かをノード毎に判定し、前記取得した宛先アドレスへのフローが経由するノードにおいて、前記取得した宛先アドレスのフローの転送先となるノードへ向かうリンクのみを残し、他のノードに向かうリンクを変更先経路となるリンクから除外するように、前記トポロジ情報を変更する整合性確認部をさらに備え、前記最大リンク使用率計算部が、当該変更したトポロジ情報を参照して、前記（条件Ａ）および前記（条件Ｂ）を満たすフローの最短経路と、当該最短経路に変更した場合の最大リンク使用率を計算すること、を特徴とする請求項１に記載のフロー経路変更計算装置とした。
【００２８】
このようにすることで、フロー経路変更計算装置は、フロー毎に各ノードから出力すると不整合が発生することとなるＩＦ（リンク）を変更先経路から予め除外することができる。よって、フロー経路変更計算装置は、各ノードにおいて、各フローの宛先アドレス毎に出力ＩＦが一意に定まるようにした上で、（条件Ａ）および（条件Ｂ）を満たす、変更対象のフローとその変更先経路とを計算することができる。
【００２９】
請求項４に記載の発明は、ネットワークを構成する複数のノードと接続されるコントローラと、前記コントローラに接続される請求項１に記載のフロー経路変更計算装置と、前記コントローラおよび前記フロー経路変更計算装置に接続されるフロートラヒック量計算装置とを備えるフロー経路変更計算システムであって、前記コントローラは、前記複数のノードのうちの前記ネットワークの境界に位置するエッジノードから、宛先アドレスに基づき定義されるフロー毎のフロートラヒック量と当該フローの経路情報とを取得して、前記フロートラヒック量計算装置に送信し、前記フロートラヒック量計算装置が、前記宛先アドレスに基づき定義される各フローの各エッジノードにおけるフロートラヒック量の情報と各フローの経路情報とを用いて、前記エッジノードそれぞれに入力されるフロー毎のフロートラヒック量を計算し、前記フロー経路変更計算装置に送信し、前記フロー経路変更計算装置が、前記エッジノードそれぞれに入力されるフロー毎のフロートラヒック量を用いて、変更対象のフローとその変更先経路とを計算することを特徴するフロー経路変更計算システムとした。
【００３０】
このようにすることで、フロー経路変更計算システムは、フロートラヒック量計算装置が、コントローラを介して、宛先アドレスに基づき定義された各フローの各エッジノードにおけるフロートラヒック量の情報と各フローの経路情報とを取得し、エッジノードそれぞれに入力されるフロー毎のフロートラヒック量を計算することができる。そして、フロー経路変更計算装置は、エッジノードそれぞれに入力されるフロー毎のフロートラヒック量を入力情報として取得し、変更対象のフローとその変更先経路とを計算することができる。よって、フロー経路変更計算システムは、ＳＤＮ等の技術を基づき、ネットワーク情報を一元的に管理した上で、宛先アドレスに基づき定義されたフローにおいて、経路変更制御を行うことが可能となる。
【００３１】
請求項５に記載の発明は、ネットワークの境界に位置するエッジノードそれぞれに入力されるフロー毎のフロートラヒック量を計算するフロートラヒック量計算装置であって、宛先アドレスに基づき定義される各フローの各エッジノードにおけるフロートラヒックの情報と各フローの経路情報とを取得する入力情報処理部と、前記各フローの各エッジノードにおけるフロートラヒックの情報と前記各フローの経路情報とを用いて、前記エッジノードそれぞれに入力されるフロー毎のフロートラヒック量を計算するフロートラヒック量計算部と、前記計算したエッジノードそれぞれに入力されるフロー毎のフロートラヒック量を出力する出力情報処理部と、を備えることを特徴とするフロートラヒック量計算装置とした。
【００３２】
このようにすることで、フロートラヒック量計算装置は、宛先アドレスに基づき定義された各フローの各エッジノードにおけるフロートラヒック量の情報と各フローの経路情報とを取得し、エッジノードそれぞれに入力されるフロー毎のフロートラヒック量を計算することができる。
【００３３】
請求項６に記載の発明は、前記フロートラヒック量計算部が、前記各フローの各エッジノードにおけるフロートラヒック量の情報を「fＬi」とし、前記各フローの経路情報を「fｒij」とし、前記エッジノードそれぞれに入力されるフロー毎のフロートラヒック量を「fｔj」とし、以下の（式２）の連立方程式を解くことにより、前記エッジノードそれぞれに入力されるフロー毎のフロートラヒック量を計算すること、を特徴とする請求項５に記載のフロートラヒック量計算装置とした。
【数１】
2015164245.tif 000003
ここで、「ｆ」はフローを表し、「ｊ」は入力エッジノードを表し、「ｉ」はフローが経由する入力エッジノードを表す。また、「fＬi」（i=1,…，ｎ）は、定数（入力値）であり、フローｆの入力エッジノードｉを通るフロートラヒック量を表す。「fｒij」（i,j=1,…，ｎ）は、定数（入力値）であり、フローｆの経路を表し、フローｆのエッジノードｊから入力するトラヒックがエッジノードｉを通る場合に「１」、通らない場合に「０」で表す。「fｔj」（j=1,…，ｎ）は、変数（出力値）であり、フローｆの入力エッジノードｊから入力されるフロートラヒック量を表す。
【００３４】
このようにすることで、フロートラヒック量計算装置は、各フローの各エッジノードにおけるフロートラヒック量の情報および各フローの経路情報を定数とし、エッジノードそれぞれに入力されるフロー毎のフロートラヒック量を変数とする連立方程式を解くことにより、エッジノードそれぞれに入力されるフロー毎のフロートラヒック量を計算することができる。この連立方程式は、１次連立方程式となるため、単純な演算処理となり、高速かつ、低スペックの装置において、このフロートラヒック量計算装置を実現することが可能となる。
【発明の効果】
【００３５】
本発明によれば、ＳＤＮ技術をＩＰ網に適用した場合において、フローの経路変更による負荷分散を可能とする、つまり、宛先アドレス定義フローに対して、フローの経路変更による負荷分散を可能とする、フロー経路変更計算装置、フロー経路変更計算システムおよびフロートラヒック量計算装置を提供することができる。
【図面の簡単な説明】
【００３６】
【図１】本発明の第１の実施形態に係る経路最適化による経路変更例（不整合回避）を示す図である。
【図２】本発明の第１の実施形態に係るフロー経路変更計算装置を含むネットワークシステムの構成例を示す図である。
【図３】本発明の第１の実施形態に係るフロー経路変更計算装置の構成例を示す機能ブロック図である。
【図４】本発明の第１の実施形態に係る不整合回避方式１を説明するための図である。
【図５】本発明の第１の実施形態に係る不整合回避方式２を説明するための図である。
【図６】本発明の第１の実施形態に係るフロー経路変更計算装置の全体の処理の流れを示すフローチャートである。
【図７】本発明の第１の実施形態に係る不整合回避方式１の処理の流れを示すフローチャートである。
【図８】本発明の第１の実施形態に係る不整合回避方式１の処理の具体例を説明するための図である。
【図９】本発明の第１の実施形態に係る不整合回避方式２の処理の流れを示すフローチャートである。
【図１０】従来技術の送信元アドレスおよび宛先アドレスに基づくフロートラヒック量の取得を説明するための図である。
【図１１】従来技術のフロートラヒック量取得の課題を説明するための図である。
【図１２】本発明の第２の実施形態に係るフロー経路変更計算システムの全体構成を示す図である。
【図１３】本発明の第２の実施形態に係るフロートラヒック量計算装置の構成例を示す機能ブロック図である。
【図１４】本発明の第２の実施形態に係るフロートラヒック量計算装置が計算するフローの具体例を示す図である。
【図１５】本発明の第２の実施形態に係るフロートラヒック量計算装置のフロートラヒック量計算部が計算する（式２）を説明するための図である。
【図１６】本発明の第２の実施形態に係るフロートラヒック量計算装置の処理の流れを示すフローチャートである。
【図１７】従来の最大リンク使用率を低下させるためのフロー経路変更の制御手法を示すフローチャートである。
【図１８】従来の送信元アドレスおよび宛先アドレスに基づく経路最適化による経路変更例を説明するための図である。
【図１９】従来の送信元アドレスおよび宛先アドレスに基づく経路最適化による経路変更の課題を説明するための図である。
【発明を実施するための形態】
【００３７】
次に、発明を実施するための形態（以下、「実施形態」という）について、適宜図面を参照しながら詳細に説明する。
【００３８】
≪第１の実施形態≫
本発明の第１の実施形態に係るフロー経路変更計算装置１（図２参照）について説明する。フロー経路変更計算装置１は、入力情報として、宛先アドレスに基づき定義されたフロー情報を含む入力情報を取得し、最大リンク使用率を低下させるフローとその変更先経路を決定する。本発明の第１の実施形態においては、宛先アドレスに基づき定義されたフロー情報は、NetFlow（登録商標）や他の従来技術を用いた何らかの手法により取得するものとする。
【００３９】
＜概要＞
まず、本発明の第１の実施形態に係るフロー経路変更計算装置１が実行する処理の概要について、従来技術を適用した場合と比較して説明する。
【００４０】
本実施形態に係るフロー経路変更計算装置１は、ネットワークにおける最大リンク使用率を低下させるため、経路変更の対象となるフローとその変更先経路、フローを経路変更する変更順番、および、経路変更を行った場合の最大リンク使用率を計算する装置である。
従来のフロー経路変更の制御手法を用いた、最大リンク使用率を低下させるためのネットワーク制御装置では、前記したように、入力情報として、宛先アドレスと送信元アドレスとにより定義されるフロー情報を用いて、経路変更の対象となるフローとその変更先経路とを決定していた。これに対し、本実施形態に係るフロー経路変更計算装置１は、入力情報として、宛先アドレスのみにより定義されるフロー情報を用いて、経路変更の対象となるフローとその変更先経路とを決定する。
【００４１】
このため、本実施形態に係るフロー経路変更計算装置１は、ネットワーク内の各リンクのリンク使用率を計算して、最大リンク使用率および当該最大リンク使用率となるリンクを計算し、計算した最大リンク使用率となるリンクを通るフローの中で、前記したフロー選択条件（Ａ），（Ｂ）に加え、以下に示すフロー選択条件（Ｃ）を満たすフローを選択した場合に最大リンク使用率が最小となるフローを選択する。
【００４２】
フロー選択条件（Ｃ）：各ノードにおいて転送テーブルの不整合が発生しない。
このフロー選択条件（Ｃ）は、すなわち、「各ノードの転送テーブルにおいて、宛先アドレス毎に出力ＩＦが一意に定まる」ことを意味する。
【００４３】
そして、フロー経路変更計算装置１は、変更対象の候補となるフローが、このフロー選択条件（Ｃ）を満たすために、次の［不整合回避方式１］、［不整合回避方式２］のいずれかの処理を実行する。
【００４４】
［不整合回避方式１］は、非特許文献１に記載の従来技術と同様の手法で、経路変更の対象となるフローとその変更先経路とを計算した結果、不整合が発生すると判定されたフローについて、経路変更フローの対象から除外する方式である。
また、［不整合回避方式２］は、フロー毎に、各ノードから出力すると不整合が発生することになるＩＦ（リンク）を変更先経路から予め除外して、変更先経路の計算する方式である。
なお、［不整合回避方式１］、［不整合回避方式２］の詳細は後記する。
【００４５】
このように、本実施形態に係るフロー経路変更計算装置１によれば、宛先アドレスにより定義されたフローの場合であっても、図１に示すように、各ノードの転送テーブル７００において、宛先アドレスにより出力ＩＦを判断した場合に、不整合となるフローをなくすことができる。つまり、経路変更後に不整合となるフローを回避することができるため、処理負荷を低減した上で、最大リンク使用率を低下させることが可能となる。
なお、図１においては、経路「Ｂ」→「Ｄ」を経由するフロー（β）の経路を、経路「Ｂ」→「Ｃ」→「Ｄ」に変更した場合を示し、ノード「Ｃ」のフローテーブル７００ｃにおいて、宛先ＩＰアドレス「ｐ４」に対応する出力ＩＦは「３」のみであり、不整合は発生しないことを示している。
【００４６】
＜ネットワークシステムの構成＞
次に、図２を参照して、本実施形態に係るフロー経路変更計算装置１を含むネットワークシステムの構成について説明する。
図２に示すように、ネットワークシステムは、複数のノード、および、各ノード間を接続することにより通信経路を提供するリンクにより構成される通信ネットワーク４（以下、単に「ネットワーク」という場合がある。）と、各ノードとの間で通信可能に接続されるフロー経路変更計算装置１とを含んで構成される。このフロー経路変更計算装置１は、各ノードやネットワーク管理装置（不図示）等から、従来技術に基づく所定の方法で、トポロジ情報や、リンク情報、フロー情報（宛先アドレスで定義されたフロー情報）等を取得する。そして、フロー経路変更計算装置１は、現時点のネットワーク（通信ネットワーク４）における最大リンク使用率を低下させるため、経路変更の対象となるフローとその変更先経路、フローを経路変更する変更順番、および、最大リンク使用率を計算する。
【００４７】
＜フロー経路変更計算装置＞
続いて、本実施形態に係るフロー経路変更計算装置１について説明する。フロー経路変更計算装置１は、入力情報として、宛先アドレスで定義された、全てまたは一部のフローのフロー情報（フローの経路情報とフロートラヒック量）を取得した上で、ネットワークの最大リンク使用率をより低下させるように、変更対象となるフローとその変更先経路を計算する。このとき、フロー経路変更計算装置１は、前記したフロー選択条件（Ａ），（Ｂ）に加え、フロー選択条件（Ｃ）「各ノードにおいて転送テーブルの不整合が発生しない。（各ノードの転送テーブルにおいて、宛先アドレス毎に出力ＩＦが一意に定まる）」を満たすフローを選択した場合に最大リンク使用率が最小となるフローを選択する。これにより、フロー経路変更計算装置１は、宛先アドレスのみで定義されたフローに対しても、フローの経路変更による負荷分散を可能とすることができる。
【００４８】
図３は、本実施形態に係るフロー経路変更計算装置１の構成例を示す機能ブロック図である。
フロー経路変更計算装置１は、図３に示すように、入力部１０と、制御部２０と、メモリ部３０と、記憶部４０と、出力部５０とを備えて構成される。
【００４９】
入力部１０は、通信ネットワーク４（図２参照）内のノードや、ネットワーク管理装置（不図示）等から、トポロジ情報１００、リンク情報２００およびフロー情報３００を取得し、制御部２０（入力情報処理部２１）に引き渡す。
ここで、トポロジ情報１００は、各ノード間の接続関係を示す情報である。
リンク情報２００は、各リンクのリンクメトリック、各リンクの最大帯域および各リンクのリンクトラヒック量を含む情報である。リンクメトリックは、各リンクのコスト（距離）を示す情報であり、最短経路を探索する際に参照される。リンクの最大帯域は、各リンクが収容可能な最大の帯域を示す情報である。リンクトラヒック量は、測定時点においてそのリンクを通るトラヒック量である。
フロー情報３００には、宛先アドレスにより定義された、全部または一部のフローの経路情報とそのフローのトラヒック量（フロートラヒック量）を含む情報が格納される。
なお、この入力部１０は、通信回線を介して情報の送受信を行う通信インタフェースと、図示を省略したキーボード等の入力手段から情報の入力を行う入力インタフェースとから構成される。
【００５０】
制御部２０は、フロー経路変更計算装置１全体の制御を司り、入力情報処理部２１、最大リンク使用率計算部２２および出力情報処理部２３を含んで構成される。
【００５１】
入力情報処理部２１は、入力部１０を介して、トポロジ情報１００、リンク情報２００およびフロー情報３００を取得し、記憶部４０に記憶する。
【００５２】
最大リンク使用率計算部２２は、記憶部４０に記憶されている、トポロジ情報１００、リンク情報２００およびフロー情報３００に基づき、現時点のネットワーク（通信ネットワーク４）における最大リンク使用率を低下させるために、経路変更の対象となるフローとその変更先経路、フローを経路変更する変更順番、および、処理結果としての最大リンク使用率、を計算する。
【００５３】
この最大リンク使用率計算部２２は、宛先アドレスにより定義されたフローのフロー情報３００を取得した上で、ネットワークの最大リンク使用率をより低下させるように、変更対象となるフローとその変更先経路を計算する。このとき、フロー経路変更計算装置１は、従来のフロー選択条件である、フロー選択条件（Ａ）「最大リンク使用率となるリンクを通らない。」、フロー選択条件（Ｂ）「経路変更することによりネットワーク全体の最大リンク使用率が低下する。」に加え、フロー選択条件（Ｃ）「各ノードにおいて転送テーブルの不整合が発生しない。（各ノードの転送テーブルにおいて、宛先アドレス毎に出力ＩＦが一意に定まる）」を満たすフローと、その変更先経路とを計算する。
【００５４】
最大リンク使用率計算部２２は、このフロー選択条件（Ｃ）を満たすか否かを判定するための機能として、整合性確認部２２１を備える。
【００５５】
この整合性確認部２２１は、経路変更の候補となるフローが、このフロー選択条件（Ｃ）を満たすために、［不整合回避方式１］、［不整合回避方式２］のいずれかの処理を実行する。なお、ネットワーク管理装置（不図示）等により、［不整合回避方式１］、［不整合回避方式２］のいずれかが、整合性確認部２２１に予め設定される。
【００５６】
［不整合回避方式１］は、非特許文献１に記載の従来技術と同様の手法で、経路変更の対象となるフローとその変更先経路とを計算した結果、不整合が発生すると判定されたフローについて、経路変更フローの対象から除外する方式である。
例えば、図４に示すように、ノード「Ｂ」−「Ｄ」間のリンクが複数のフローにより混雑（リンク使用率が高い状態）している場合、例えば、宛先ＩＰアドレス「ｐ４」で定義されるフロー（α）の経路「Ｂ」→「Ｄ」を、経路「Ｂ」→「Ａ」→「Ｄ」に変更しようとすると、ノードＡの転送テーブルには、すでに宛先ＩＰアドレス「ｐ４」に対して、ノード「Ｃ」へ向かう経路の出力ＩＦ「１」が設定されているため、新たにノード「Ｄ」へ向かう経路の出力ＩＦ「２」を宛先ＩＰアドレス「ｐ４」に対して設定すると不整合が生じる。よって、整合性確認部２２１は、このような不整合が発生するフロー（α）を経路変更の対象から除外する。そして、不整合が発生しないフローであるフロー（β）の経路を、経路「Ｂ」→「Ｄ」→「Ｃ」から経路「Ｂ」→「Ｃ」に変更する。
【００５７】
これにより、最大リンク使用率計算部２２は、不整合が発生しないフロー、つまり、フロー選択条件（Ｃ）を満たし、かつ、フロー選択条件（Ａ），（Ｂ）を満たすフローを、経路変更するフローとして決定することができる。
なお、［不整合回避方式１］の詳細な処理内容については、図７、図８を参照して後記する。
【００５８】
［不整合回避方式２］は、フロー毎に、各ノードから出力すると不整合が発生することになるＩＦ（リンク）を変更先経路から予め除外して、変更先経路の計算する方式である。
例えば、図５に示すように、ノード「Ａ」には、宛先ＩＰアドレス「ｐ４」のフローに対して、すでに、ノード「Ｃ」へ向かう経路である出力ＩＦ「１」が設定されている。よって、ノード「Ａ」に、同じ宛先ＩＰアドレス「ｐ４」に対して、ノード「Ｃ」へ向かう以外の経路（例えば、ノード「Ｄ」へ向かう経路であるＩＦ「２」）が設定されれば、必ず、不整合が発生することとなる。整合性確認部２２１は、宛先ＩＰアドレス「ｐ４」のフローに対して、ノード「Ａ」については、すでに設定されているノード「Ｃ」へ向かうリンク（ＩＦ「１」）のみを計算対象とし、その他のノードへ向かうリンク（例えば、ノード「Ｄ」へ向かうリンク）を変更先経路から除外する。
【００５９】
これにより、整合性確認部２２１は、フロー毎に、各ノードから出力すると不整合が発生することになるＩＦ（リンク）を予め除外するため、最大リンク使用率計算部２２は、不整合が発生しないフロー、つまり、フロー選択条件（Ｃ）を満たし、かつ、フロー選択条件（Ａ），（Ｂ）を満たすフローを、経路変更するフローとして決定することができる。
なお、［不整合回避方式２］の詳細な処理内容については、図９を参照して後記する。
【００６０】
図３に戻り、出力情報処理部２３は、最大リンク使用率計算部２２が計算した、経路変更の対象となるフローとその変更先経路、フローを経路変更する変更順番、および、処理結果としての最大リンク使用率の情報を、出力部５０を介して出力する。
【００６１】
メモリ部３０は、ＲＡＭ（Random Access Memory）等の一次記憶手段からなり、制御部２０によるデータ処理に必要な情報を一時的に記憶する。
【００６２】
記憶部４０は、ハードディスクやフラッシュメモリ等の記憶手段からなり、トポロジ情報１００や、リンク情報２００、フロー情報３００等が記憶される。なお、トポロジ情報１００、リンク情報２００およびフロー情報３００については、前記して説明したため、ここでの説明は省略する。
【００６３】
出力部５０は、制御部２０の出力情報処理部２３から取得した処理結果の情報である、フロー経路変更後のリンク情報４００および経路変更後のフロー情報５００を、モニタ等の出力手段（不図示）やネットワーク管理装置（不図示）等に出力する。ここで、フロー経路変更後のリンク情報４００には、最終的な処理結果である最大リンク使用率（およびその最大リンク使用率となるリンク）の情報が含まれる。また、経路変更後のフロー情報５００には、経路変更の対象となるフローとその変更先経路、および、フローを経路変更する変更順番の情報が含まれる。
なお、この出力部５０は、通信回線を介して情報の送受信を行う通信インタフェースと、図示を省略したモニタ等の出力手段への情報の出力を行う出力インタフェースとから構成される。
【００６４】
また、このフロー経路変更計算装置１をプログラム実行処理により実現する場合、記憶部４０には、フロー経路変更計算装置１の制御部２０の機能を実現するためのプログラムが格納される。そして、制御部２０は、記憶部４０に記憶されたプログラムを、不図示のＣＰＵ（Central Processing Unit）が、メモリ部３０であるＲＡＭ等に展開し実行することにより実現される。
【００６５】
＜処理の流れ＞
次に、本実施形態に係るフロー経路変更計算装置１の最大リンク使用率計算部２２等が実行する全体の処理の流れについて図６を参照して説明する（適宜図３参照）。
図６は、本実施形態に係るフロー経路変更計算装置１の全体の処理の流れを示すフローチャートである。
なお、フロー経路変更計算装置１の記憶部４０（図３参照）には、入力部１０を介して、通信ネットワーク４（図２参照）内のノードや、ネットワーク管理装置（不図示）等から、トポロジ情報１００、リンク情報２００、および、宛先アドレスで定義された、全てまたは一部のフローのフロー情報３００が入力情報として入力され、入力情報処理部２１の処理により、記憶部４０内に記憶されているものとする。また、図１７に示した従来技術による処理と同一の処理には同一の符号を付し、その説明を省略する。
【００６６】
ステップＳ２０において、最大リンク使用率計算部２２は、記憶部４０に記憶されている、各ノード間の接続関係を示すトポロジ情報１００、リンク情報２００、および、全てまたは一部のフローの経路とそのフロートラヒック量とを含むフロー情報３００（全てまたは一部のフローのフロー情報）を取得する。なお、ここで取得するフロー情報３００は、宛先アドレス（宛先ＩＰアドレス）に基づいて定義されるフローのフロー情報である。
【００６７】
続いて、最大リンク使用率計算部２２は、ステップＳ３において、最大リンク使用率（および「最大リンク使用率となるリンク」）を計算する。
そして、最大リンク使用率計算部２２は、ステップＳ４０において、ステップＳ２０で取得した全てまたは一部のフローのフロー情報３００の中で、最大リンク使用率となるリンクを通るフローに対し、前記したフロー選択条件（Ａ）「最大リンク使用率となるリンクを通らない。」、フロー選択条件（Ｂ）「経路変更することによりネットワーク全体の最大リンク使用率が低下する。」、フロー選択条件（Ｃ）「各ノードにおいて転送テーブルの不整合が発生しない。（各ノードの転送テーブルにおいて、宛先アドレス毎に出力ＩＦが一意に定まる）」の全てを満たすように経路変更したときの経路の最短経路と、その経路に変更した場合の最大リンク使用率を計算する。なお、このフロー選択条件（Ｃ）を満たすための処理を、整合性確認部２２１は、［不整合回避方式１］、［不整合回避方式２］のいずれかを実行することにより行う。なお、［不整合回避方式１］、［不整合回避方式２］それぞれの具体的な処理の流れについては、図７および図９を参照して後記する。
【００６８】
次に、ステップＳ５０において、最大リンク使用率計算部２２は、ステップＳ４０の結果、フロー選択条件（Ａ），（Ｂ），（Ｃ）の全てを満たすフローとその経路が存在するか否かを判定する。そして、最大リンク使用率計算部２２は、フロー選択条件（Ａ），（Ｂ），（Ｃ）の全てを満たすフローとその経路が１つ以上存在する場合には（ステップＳ５０→Ｙｅｓ）、次のステップＳ６に進む。一方、フロー選択条件（Ａ），（Ｂ），（Ｃ）の全てを満たすフローとその経路が存在しない場合には（ステップＳ５０→Ｎｏ）、ステップＳ８に進む。
【００６９】
次に、整合性確認部２２１が実行する、［不整合回避方式１］、［不整合回避方式２］の具体的な処理の流れについて説明する。
【００７０】
［不整合回避方式１］では、図６のステップＳ４０において、最大リンク使用率計算部２２が、フロー選択条件（Ａ），（Ｂ）に基づき計算した結果である、経路変更の対象となるフローとその変更先経路について、整合性確認部２２１が、不整合が発生するか否かを判定する。この判定結果に基づき、最大リンク使用率計算部２２は、不整合が発生すると判定されたフローについて、経路変更フローの対象から除外し、経路変更の対象となるフローとその変更先経路を再計算する。この［不整合回避方式１］について、図７および図８を参照して説明する。
【００７１】
図７は、本実施形態に係る整合性確認部２２１が実行する［不整合回避方式１］の処理の流れを示すフローチャートである。図８は、［不整合回避方式１］の処理の具体例を説明するための図である。
【００７２】
まず、整合性確認部２２１は、記憶部４０に記憶された、トポロジ情報１００、フロー情報３００（フローの経路情報）、および、図６のステップＳ４０において、最大リンク使用率計算部２２が、フロー選択条件（Ａ），（Ｂ）に基づき計算した結果である、経路変更の対象となるフローの経路情報を取得する（ステップＳ４１０）。
【００７３】
ここでは、図８（ａ）に示すように、トポロジ情報１００（ノードとリンクの接続関係）として、ノード「１」〜「６」が各リンク（リンク「１」〜「１４」）で接続された構成のネットワーク（中継網）のトポロジが取得されたものとする。そして、宛先ＩＰアドレス「１０」宛ての３本のフロー（各ノード「１」，「２」，「３」から入力されるフロー）が、経路変更の対象となるフローを含む宛先ＩＰアドレス「１０」宛てのフローの経路情報として取得されたものとする。つまり、この３本のフローのうちのいずれか１つは、経路変更の対象となるフローであり、その変更先経路が図８（ａ）に示すフローの経路に含まれる。
【００７４】
この整合性確認部２２１が取得するトポロジ情報１００は、図８（ｂ）に示すように、接続（結合）行列Ｉ＝｛ｉｎ，ｌ｝として表される。ここで、ノードｎがリンクｌの出力点であればｉｎ，ｌ＝１、入力点であればｉｎ，ｌ＝−１、接続していなければｉｎ，ｌ＝０として表す。例えば、ノード「１」に着目すると、図８（ｂ）の第１行目に示すように、リンク「１」，「３」が出力点「１」であり、リンク「８」，「１０」の入力点「−１」である。
【００７５】
また、フローの経路情報は、図８（ｃ）に示すように、経路行列Ｒ＝｛ｒｌ、ｊ｝として表される。ここで、各入力エッジノードｊからの経路がリンクｌを通っていればｒｌ、ｊ＝１、通っていなければｒｌ、ｊ＝０を表している。例えば、入力エッジノードとしてノード「１」に着目すると、図８（ｃ）の第１列目に示すように、リンク３，６においてリンクが通っていることを示す「１」となっている。
【００７６】
図７に戻り、整合性確認部２２１は、次に、ネットワーク（中継網）内のノードを１つ選択する。つまり、初期値としてｋ番目のノード（ｋ＝１，…，Ｎ）のうち１番目（ｋ＝１）のノードを選択する（ステップＳ４１１）。
【００７７】
続いて、整合性確認部２２１は、該当フローのノードｋ＝ｎでの出力ＩＦ（リンク）数Ｍｎを、以下に示す（式１）に基づき計算する。そして、整合性確認部２２１は、出力ＩＦ数Ｍｎの値が１以下であるか否かを判定する（ステップＳ４１２）。ここで、出力ＩＦ数Ｍｎの値が１を超えていれば（ステップＳ４１２→Ｎｏ）、ステップＳ４１３に進む。一方、出力ＩＦ数Ｍｎの値が１以下であれば（ステップＳ４１２→Ｙｅｓ）、次のステップＳ４１４に進む。
【００７８】
【数２】
2015164245.tif 000004
【００７９】
この（式１）において、Σｊmax（ｉｎ，ｌｒｌ，ｊ，０）は、ある入力エッジノードからのフローが、ノードｎのあるリンクｌを通っている否か（通っている場合「１」となる。）を、全ての入力エッジノードに関して総計することを意味する。そして、（式１）では、ノードｎから同じリンクに出力されるフローが複数あっても「１」として、ノードｎの各リンクｌを総計した場合に、「１」以下であるかを判定する。ここで、ノードｎの出力ＩＦ（リンク）数Ｍｎが「０」であれば、ノードｎにフローが通っていないことを示し、出力ＩＦ数Ｍｎの値が「１」であれば、その宛先アドレスへ向けて１つのリンクに通っていることを示す。つまり、その宛先アドレスのフローは１つのリンクから出力されており、不整合は生じていないことを示す。そして、出力ＩＦ数Ｍｎの値が「２」以上であれば、その宛先アドレスへ向けて２以上のリンクに通っていることを示す。つまり、不整合が発生していることを示す。
【００８０】
図８（ａ）に示す例において、ノード「２」は、ノード「１」へ向かうリンク「８」と、ノード「５」へ向かうリンク「４」とが存在し、出力ＩＦ数Ｍ２＝２となる（図８（ｄ）参照）。よって、ノード「２」の転送テーブルにおいて、同じ宛先ＩＰアドレス「１０」へ向けての出力ＩＦが２つ設定されることになり、不整合が発生する。一方、ノード「１」，「３」，「５」，「６」においては、出力ＩＦ数Ｍ１＝Ｍ３＝Ｍ５＝Ｍ６＝１となり、出力ＩＦが１つであるため、不整合は発生しない（図８（ｄ）参照）。
【００８１】
図７に戻り、ステップＳ４１２において、整合性確認部２２１は、出力ＩＦ数Ｍｎの値が１を超えていれば（ステップＳ４１２→Ｎｏ）、ステップＳ４１３において、該当フロー（経路変更の対象となるフロー）に不整合が発生するとして、その判定結果を最大リンク使用率計算部２２に出力し、処理を終了する。
【００８２】
一方、整合性確認部２２１は、出力ＩＦ数Ｍｎの値が１以下であれば（ステップＳ４１２→Ｙｅｓ）、ステップＳ４１４において、ネットワーク（中継網）内の全てのノードＮを処理したか否かを判定する。そして、まだ処理していないノードがある場合には（ステップＳ４１４→Ｎｏ）、整合性確認部２２１は、ｋに１を加えて（ｋ＝ｋ＋１）（ステップＳ４１５）、ステップＳ４１２に戻り、処理を続ける。一方、整合性確認部２２１は、全てのノードＮの処理を終えている場合には（ステップＳ４１４→Ｙｅｓ）、ステップＳ４１６において、該当フローに不整合は発生しないとして、その判定結果を最大リンク使用率計算部２２に出力し、処理を終了する。
【００８３】
そして、最大リンク使用率計算部２２は、不整合が発生すると判定されたフローについて、経路変更フローの対象から除外し、経路変更の対象となるフローとその変更先経路について再計算する。
【００８４】
次に、［不整合回避方式２］について説明する。
［不整合回避方式２］では、図６のステップＳ４０において、整合性確認部２２１が、フロー毎に、各ノードから出力すると不整合が発生することになるＩＦ（リンク）を変更先経路から予め除外する。その上で、最大リンク使用率計算部２２が、フロー選択条件（Ａ），（Ｂ）を満たすフローとその変更先経路を計算する。この［不整合回避方式２］について、図９を参照して説明する。
【００８５】
図９は、本実施形態に係る整合性確認部２２１が実行する［不整合回避方式２］の処理の流れを示すフローチャートである。
【００８６】
まず、整合性確認部２２１は、記憶部４０に記憶されたトポロジ情報１００と、フロー情報３００（フローの経路情報）を取得する（ステップＳ４２０）。
【００８７】
続いて、整合性確認部２２１は、図６のステップＳ３において、最大リンク使用率計算部２２が計算した最大リンク使用率となるリンクを通るフロー（経路変更の対象となるフロー）のうちの１つを抽出し、その宛先アドレス（宛先ＩＰアドレス）を取得する（ステップＳ４２１）。
【００８８】
次に、整合性確認部２２１は、フロー情報３００（フローの経路情報）を参照することにより、該当フロー（経路変更の対象となるフロー）と同じ宛先アドレス（宛先ＩＰアドレス）のフローが経由するか否かをノード毎に判定する（ステップＳ４２２）。
【００８９】
そして、整合性確認部２２１は、同じ宛先アドレスのフローが経由しない場合は（ステップＳ４２２→Ｎｏ）、ステップＳ４２４に進む。一方、同じ宛先アドレスのフローが経由する場合は（ステップＳ４２２→Ｙｅｓ）、そのノードにおいて、既に存在する該当フローと同じ宛先アドレスのフローの転送先となるノードへ向かうリンクのみを残し、他のノードへ向かうリンクを変更先経路となるリンクから除外するように、トポロジ情報を変更する（ステップＳ４２３）。
【００９０】
次に、整合性確認部２２１は、ステップＳ４２４において、経路変更の対象となるフローの全てを処理したか否かを判定する。そして、整合性確認部２２１は、まだ処理していない、経路変更の対象となるフローがある場合には（ステップＳ４２４→Ｎｏ）、ステップＳ４２１に戻り処理を続ける。一方、整合性確認部２２１は、経路変更の対象となる全てのフローを処理した場合には（ステップＳ４２４→Ｙｅｓ）、処理を終える。
【００９１】
最大リンク使用率計算部２２は、図６のステップＳ４０において、整合性確認部２２１が、図９のステップＳ４２３で経路変更対象となるフロー毎に変更したトポロジ情報、つまり、フロー選択条件（Ｃ）「各ノードにおいて転送テーブルの不整合が発生しない。」を満たすトポロジ情報を用いて、フロー選択条件（Ａ），（Ｂ）を満たす変更先経路を計算する。
【００９２】
このようにすることにより、本発明の第１の実施形態に係るフロー経路変更計算装置１は、入力情報として、宛先アドレスで定義された、全てまたは一部のフローのフロー情報（フローの経路情報とフロートラヒック量）を取得した上で、ネットワークの最大リンク使用率をより低下させるように、変更対象となるフローとその変更先経路を計算する。つまり、本実施形態に係るフロー経路変更計算装置１は、ＳＤＮ技術をＩＰ網に適用した場合においても、フローの経路変更による負荷分散を可能とする。
また、本発明の第１の実施形態に係るフロー経路変更計算装置１によれば、宛先アドレス数＝送信元アドレス数＝ｎとした場合、宛先アドレスで定義されたフローの数は、送信元アドレスおよび宛先アドレスで定義されたフロー数の１／ｎ倍となるため、経路変更するフロー数が削減され、その結果、経路変更計算の処理時間を短縮することができる。
【００９３】
≪第２の実施形態≫
次に、本発明の第２の実施形態に係る、フロー経路変更計算装置１Ａおよびフロートラヒック量計算装置５を含むフロー経路変更計算システム１０００（図１２参照）について説明する。
【００９４】
第１の実施形態に係るフロー経路変更計算装置１では、従来技術に基づく入力情報として、宛先アドレス定義のフローの経路情報とフロートラヒック量が入力されることを前提として説明した。本発明の第２の実施形態においては、OpenFlowなど、コントローラを用いてネットワーク情報を一元的に収集することが可能なＳＤＮの技術を適用し、フロー情報等を取得する場合について説明する。
【００９５】
＜第２の実施形態の課題＞
コントローラを介して、各ノードからトポロジ情報１００、リンク情報２００およびフロー情報３００を取得する場合、従来技術のように、送信元アドレスと宛先アドレスとにより定義されたフローに基づけば、問題なくフロー毎のトラヒック量（フロートラヒック量）が取得できる。しかしながら、宛先アドレスのみにより定義されたフローでは、以下に示すように、エッジノードに入力するフロートラヒック量をフロー毎に直接取得できないという課題が生じる。
【００９６】
この課題について具体的に説明する。図１０に示すように、コントローラ６がネットワーク内の各ノードからネットワーク情報（ここでは、各フローのフロートラヒック量）を取得するものとする。コントローラ６は、フロー単位でトラヒック量（フロートラヒック量）を取得することが可能である。したがって、従来の一般的な定義である、送信元アドレスと宛先アドレスとに基づき定義されたフローに対しては、送信元アドレス・宛先アドレス単位のトラヒック量の取得により、各ノード間を通るフロートラヒック量を簡単に算出することが可能である。
【００９７】
例えば、図１０に示す例では、入力エッジノードＡには、フロートラヒック量が「ａ」（Ｍｂｐｓ）のＩＰアドレス「ｐ１」→「ｐ４」のフローが通っていることがわかる。また、入力エッジノードＢには、フロートラヒック量が「ａ」（Ｍｂｐｓ）のＩＰアドレス「ｐ１」→「ｐ４」のフロー、フロートラヒック量が「ｂ」（Ｍｂｐｓ）のＩＰアドレス「ｐ２」→「ｐ４」のフロー、フロートラヒック量が「ｃ」（Ｍｂｐｓ）のＩＰアドレス「ｐ３」→「ｐ４」のフロー、の計３本のフローが流れていることがわかる。これらの情報が各ノードからコントローラ６に送信される。
【００９８】
これに対し、宛先アドレスのみにより定義されたフローに基づくと、宛先アドレスが同じトラヒックは、同一フローとみなすため、コントローラ６により取得可能なフロートラヒック量は、複数の送信元アドレスからのフローのトラヒック量の合計値となる。したがって、エッジノードに入力するフロー単位でのトラヒック量（フロートラヒック量）を直接取得することができない。
【００９９】
例えば、図１１に示す例では、入力エッジノードＡには、フロートラヒック量が「ａ」（Ｍｂｐｓ）の宛先ＩＰアドレス「ｐ４」の１本のフローが通っている。これに対し、入力エッジノードＢでは、フロートラヒック量が「ａ＋ｂ＋ｃ」（Ｍｂｐｓ）の合計値で示される宛先ＩＰアドレス「ｐ４」のフローが通っていることがわかるが、ノードＢにおいて入力されるフローのフロートラヒック量「ｂ＋ｃ」を直接取得できない。つまり、エッジノードから入力するフローのフロートラヒック量を直接取得することができない。
なお、図１１に示す入力エッジノードＢにおける宛先ＩＰアドレス「ｐ４」についてのフロートラヒック量「ａ＋ｂ＋ｃ」（Ｍｂｐｓ）の合計値を示す情報が、後記する、「宛先アドレスに基づき定義される各フローの各エッジノードにおけるフロートラヒック量の情報」の一例を示すものである。
【０１００】
本発明の第２の実施形態では、上記した課題を解決するため、宛先アドレス定義のフローに対して、各エッジノードに入力するフローのフロートラヒック量を算出する機能を備えたフロートラヒック量計算装置５を備えるものとした。このフロートラヒック量計算装置５が計算した、各フローの入力エッジノード毎に入力されるフロートラヒック量の情報を用いて、第２の実施形態に係るフロー経路変更計算装置１Ａが、経路変更後に不整合となるフローを回避し、最大リンク使用率を低下させる経路制御を行うことが可能となる。
【０１０１】
＜システム構成＞
次に、本発明の第２の実施形態に係る、フロー経路変更計算装置１Ａおよびフロートラヒック量計算装置５を含むフロー経路変更計算システム１０００について説明する。
図１２は、本実施形態に係るフロー経路変更計算システム１０００の全体構成を示す図である。
図１２に示すように、フロー経路変更計算システム１０００は、ネットワーク（中継網）内の各ノードに接続されるコントローラ６と、コントローラ６およびフロー経路変更計算装置１Ａに接続されるフロートラヒック量計算装置５と、コントローラ６およびフロートラヒック量計算装置５に接続されるフロー経路変更計算装置１Ａと、を備えて構成される。
【０１０２】
コントローラ６は、各ノードからネットワーク情報を取得したり、各ノードに対し制御情報を送信したりする装置である。このコントローラ６は、例えば、一般的なOpenflowコントローラ等により実現される。よって、詳細な説明は省略する。
なお、本実施形態におけるコントローラ６は、宛先アドレスに基づき定義されたフローの各エッジノードにおけるフロートラヒック量およびフローの経路情報を含むフロー情報３００ａ（図１３参照）、各リンクのリンクトラヒック量を含むリンク情報２００、トポロジ情報１００等を取得する。そして、コントローラ６は、フロー情報３００ａをフロートラヒック量計算装置５に送信し、その他のリンク情報２００やトポロジ情報１００をフロー経路変更計算装置１Ａに送信する。なお、コントローラ６は、フローの経路情報については、フロートラヒック量計算装置５、フロー経路変更計算装置１Ａそれぞれの処理において必要なため両方に送るようにしてもよい。
【０１０３】
フロートラヒック量計算装置５は、コントローラ６からフロー情報３００ａを取得し、宛先アドレスに基づき定義される各フローの各エッジノードにおけるフロートラヒック量の情報および各フローの経路情報に基づき、宛先アドレスに基づき定義される各フローの入力エッジノード毎に入力されるフロートラヒック量を計算する。そして、フロートラヒック量計算装置５は、この算出した各フローの入力エッジノード毎に入力されるフロートラヒック量を、フロー経路変更計算装置１Ａに出力する。なお、フロートラヒック量計算装置５の詳細な構成と処理内容については後記する。
【０１０４】
フロー経路変更計算装置１Ａは、本発明の第１の実施形態に係るフロー経路変更計算装置１と同一の機能・構成を備えるものである。したがって、詳細な説明は省略する。このフロー経路変更計算装置１Ａは、宛先アドレスに基づき定義される各フローの入力エッジノード毎に入力されるフロートラヒック量の情報をフロートラヒック量計算装置５から取得することを特徴とする。フロー経路変更計算装置１Ａは、フロートラヒック量計算装置５から取得した、宛先アドレスに基づき定義される各フローの入力エッジノード毎に入力されるフロートラヒック量に基づき、経路変更の対象となるフローとその変更先経路とを計算する。
【０１０５】
＜フロートラヒック量計算装置＞
次に、本発明の第２の実施形態に係るフロートラヒック量計算装置５について説明する。
図１３は、本発明の第２の実施形態に係るフロートラヒック量計算装置５の構成例を示す機能ブロック図である。
フロートラヒック量計算装置５は、図１３に示すように、入力部５１と、制御部５２と、メモリ部５３と、記憶部５４と、出力部５５とを備えて構成される。
【０１０６】
入力部５１は、コントローラ６から、フロー情報３００ａを取得し、制御部５２に引き渡す。
ここで、フロー情報３００ａは、前記したように、宛先アドレスに基づき定義される各フローの各エッジノードにおけるフロートラヒック量の情報および各フローの経路情報である。
なお、この入力部５１は、通信回線を介して情報の送受信を行う通信インタフェースと、図示を省略したキーボード等の入力手段から情報の入力を行う入力インタフェースとから構成される。
【０１０７】
制御部５２は、フロートラヒック量計算装置５全体の制御を司り、入力情報処理部５２１、フロートラヒック量計算部５２２および出力情報処理部５２３を含んで構成される。
【０１０８】
入力情報処理部５２１は、入力部５１を介して、フロー情報３００ａを取得し、フロートラヒック量計算部５２２に引き渡す。
【０１０９】
フロートラヒック量計算部５２２は、フロー情報３００ａに含まれる、宛先アドレスに基づき定義される各フローの各エッジノードにおけるフロートラヒック量の情報および各フローの経路情報を用いて、以下の（式２）に示す連立方程式を解くことにより、各フローの入力エッジノード毎に入力されるフロートラヒック量を計算する。
【０１１０】
【数３】
2015164245.tif 000005
【０１１１】
ここで、「ｆ」はフローを表し、「ｊ」は入力エッジノードを表し、「ｉ」はフローが経由する入力エッジノードを表す。
「fｔj」（j=1,…，ｎ）は、変数（出力値）であり、フローｆの入力エッジノードｊから入力されるトラヒック量（フロートラヒック量）を表す。
fＲ＝「fｒij」（i,j=1,…，ｎ）は、定数（入力値）であり、フローｆの経路を表す。ここで、フローｆのエッジノードｊから入力するトラヒックがエッジノードｉを通る場合に「１」、通らない場合に「０」で表す（図１５（ｂ）参照）。
また、「fＬi」（i=1,…，ｎ）は、定数（入力値）であり、フローｆの入力エッジノードｉを通るトラヒック量（フロートラヒック量）を表す。
【０１１２】
具体例として図１４に示すネットワークを例に、図１５を参照して説明する。図１４に示すように、宛先アドレスとしてＩＰアドレス「１０」が設定されている複数のフロー（以下、複数のフローとまとめて「フロー（１０）」と称する。）の入力エッジノードは、ノード「１」「２」「３」「４」「５」「６」である（図１５（ａ）参照）。ここでは、例えば、入力エッジノード「１」に関して、フロー（１０）の入力エッジノード「１」を通るトラヒック量（フロートラヒック量）を「10Ｌ１」と表し、フロー（１０）の入力エッジノード「１」から入力されるトラヒック量（フロートラヒック量）を「10ｔ1」と表している。また、ノード「７」「８」から入力するフローはないものとする。よって、（式２）においては、入力するフローが存在しないエッジノード「７」「８」は除外して計算する。
【０１１３】
ここで、（式２）における、変数（出力値）と定数（入力値）は、図１５（ｂ）に示すものとなる。
変数（出力値）は、フロー（１０）の各入力エッジノードｊ（j=1,2,…,6）から入力されるトラヒック量「10ｔj」である。
定数（入力値）は、フロー（１０）の各入力エッジノードｉ（i=1,2,…,6）におけるトラヒック量「10Ｌi」である。また、フロー（１０）の経路情報10Ｒ＝｛10ｒij｝は、図１５（ｂ）に示す経路行列を示すものとなる。例えば、入力エッジノード「２」（経路行列の２列目）は、入力エッジノードである「２」とそのフローが通る入力エッジノード「３」の値が「１」となっている。
【０１１４】
以上の情報を用いて、（式２）を連立方程式として示したものが図１５（ｃ）である。フロートラヒック量計算部５２２は、この連立方程式を解くことにより、出力値である各フローの入力エッジノード毎に入力されるフロートラヒック量を求めることができる。なお、このフロートラヒック量計算部５２２の詳細な処理の流れについては後記する。
【０１１５】
図１３に戻り、出力情報処理部５２３は、フロートラヒック量計算部５２２が計算した、各フローの入力エッジノード毎に入力されるフロートラヒック量の情報を、出力部５５を介して、フロー経路変更計算装置１Ａ（図１２参照）に出力する。
【０１１６】
メモリ部５３は、ＲＡＭ等の一次記憶手段からなり、制御部５２によるデータ処理に必要な情報を一時的に記憶する。
また、記憶部５４は、ハードディスクやフラッシュメモリ等の記憶手段により構成される。
【０１１７】
出力部５５は、制御部５２の出力情報処理部５２３から取得した処理結果の情報である、各フローの入力エッジノード毎に入力されるフロートラヒック量の情報を、フロー経路変更計算装置１Ａに出力する。
なお、この出力部５５は、通信回線を介して情報の送受信を行う通信インタフェースと、図示を省略したモニタ等の出力手段への情報の出力を行う出力インタフェースとから構成される。
【０１１８】
また、このフロートラヒック量計算装置５をプログラム実行処理により実現する場合、記憶部５４には、フロートラヒック量計算装置５の制御部５２の機能を実現するためのプログラムが格納される。そして、制御部５２は、記憶部５４に記憶されたプログラムを、不図示のＣＰＵが、メモリ部５３であるＲＡＭ等に展開し実行することにより実現される。
【０１１９】
＜処理の流れ＞
次に、本発明の第２の実施形態に係るフロートラヒック量計算装置５のフロートラヒック量計算部５２２等が実行する処理の流れについて図１６を参照して説明する（適宜図１３参照）。
図１６は、本発明の第２の実施形態に係るフロートラヒック量計算装置５の処理の流れを示すフローチャートである。
【０１２０】
まず、フロートラヒック量計算装置５のフロートラヒック量計算部５２２が、入力情報処理部５２１を介して、コントローラ６から、宛先アドレスに基づき定義される各フローの各エッジノードにおけるフロートラヒック量の情報および各フローの経路情報であるフロー情報３００ａを取得する（ステップＳ５０１）。
【０１２１】
続いて、フロートラヒック量計算部５２２は、取得したフロー情報３００ａのうち、宛先アドレスに基づき定義される１つのフローを選択する（ステップＳ５０２）。
【０１２２】
次に、フロートラヒック量計算部５２２は、選択したフローについての、各エッジノードにおけるフロートラヒック量の情報（「fＬi」）およびフローの経路情報（fＲ＝「fｒij」）を入力値として、前記した（式２）に基づき、入力エッジノード毎に入力されるフロートラヒック量（「fｔj」）を計算する（ステップＳ５０３）。
【０１２３】
そして、フロートラヒック量計算部５２２は、宛先アドレスに基づき定義される全てのフローについて処理したか否かを判定する（ステップＳ５０４）。ここで、まだ処理していないフローがある場合には（ステップＳ５０４→Ｎｏ）、フロートラヒック量計算部５２２は、ステップＳ５０２へ戻り処理を続ける。一方、全てのフローについての処理を終えた場合には（ステップＳ５０４→Ｙｅｓ）、次のステップＳ５０５に進む。
【０１２４】
ステップＳ５０５において、フロートラヒック量計算装置５の出力情報処理部５２３は、フロートラヒック量計算部５２２の計算結果である、各フローの入力エッジノード毎に入力されるフロートラヒック量（「fｔj」）を、出力部５５を介して、フロー経路変更計算装置１Ａに送信する。そして、フロートラヒック量計算装置５の処理を終える。
【０１２５】
以上説明したように、本発明の第２の実施形態に係るフロー経路変更計算システム１０００によれば、コントローラ６から取得した宛先アドレスに基づいて定義されるフローの情報から、フロートラヒック量計算装置５が、各フローの入力エッジノード毎に入力されるフロートラヒック量を求めることができる。そして、その情報を入力情報として、フロー経路変更計算装置１Ａは、経路変更の対象となるフローとその変更先経路とを計算し、コントローラ６を介して、ＳＤＮに基づく集中制御（一元管理）による経路最適化処理を実行する。よって、経路変更後に不整合となるフローを回避し、最大リンク使用率を低下させる経路制御を行うことが可能となる。
【０１２６】
また、フロートラヒック量計算装置５（フロートラヒック量計算部５２２）は、各フローの入力エッジノード毎に入力されるフロートラヒック量を計算する際に、（式２）に示すように、１次連立方程式を用いるため、単純な演算処理となり、高速かつ、低スペックの装置において、このフロートラヒック量計算装置５を実現することが可能となる。また、フロートラヒック量計算装置５は、（式２）を計算する際に、｛連立方程式の式の数｝＝｛変数の数｝＝｛入力エッジノードの数｝であるため、常に解を１つに定めることができる。
【０１２７】
なお、本発明の第２の実施形態においては、フロートラヒック量計算装置５を単独の装置として説明したが、フロートラヒック量計算装置５が備えるフロートラヒック量計算部５２２の機能を、他の装置、例えば、フロー経路変更計算装置１Ａや、ネットワーク管理装置（不図示）等に組み込んで構成するようにしてもよい。
【符号の説明】
【０１２８】
１，１Ａ  フロー経路変更計算装置
４      通信ネットワーク
５      フロートラヒック量計算装置
６      コントローラ
１０，５１  入力部
２０，５２  制御部
２１，５２１  入力情報処理部
２２    最大リンク使用率計算部
２３，５２３  出力情報処理部
３０，５３  メモリ部
４０，５４  記憶部
５０，５５  出力部
１００  トポロジ情報
２００  リンク情報
２２１  整合性確認部
３００，３００ａ  フロー情報
４００  フローの経路変更後のリンク情報
５００  経路変更後のフロー情報
５２２  フロートラヒック量計算部
７００  転送テーブル（フローテーブル）
１０００  フロー経路変更計算システム
【図１】
2015164245.tif 000007
【図２】
2015164245.tif 000008
【図３】
2015164245.tif 000009
【図４】
2015164245.tif 000010
【図５】
2015164245.tif 000011
【図６】
2015164245.tif 000012
【図７】
2015164245.tif 000013
【図８】
2015164245.tif 000014
【図９】
2015164245.tif 000015
【図１０】
2015164245.tif 000016
【図１１】
2015164245.tif 000017
【図１２】
2015164245.tif 000018
【図１３】
2015164245.tif 000019
【図１４】
2015164245.tif 000020
【図１５】
2015164245.tif 000021
【図１６】
2015164245.tif 000022
【図１７】
2015164245.tif 000023
【図１８】
2015164245.tif 000024
【図１９】
2015164245.tif 000025