(57)【特許請求の範囲】
【請求項１】
始点ノード及び終点ノードのノードペアそれぞれを流れるトラヒックの経路を決定するトラヒック制御装置であって、
ネットワーク全体の評価値を制御目標値とする経路の最適化を行い、最適化後の経路を導出する導出部と、
前記最適化後の経路が前記ネットワークに含まれるノードペア全てに適用された場合のネットワーク全体の評価値と、前記最適化後の経路が所定のノードペア以外に適用されるとともに最適化前の経路が該所定のノードペアに適用された場合のネットワーク全体の評価値との差分値を、該所定のノードペアを替えながらノードペア毎に計算する計算部と、
前記差分値に基づく値と閾値とをノードペア毎に比較し、差分値に基づく値が閾値以上の場合には、比較対象のノードペアの経路を最適化後の経路に決定し、差分値に基づく値が閾値未満の場合には、比較対象のノードペアの経路を最適化前の経路に決定する決定部と
を備えたことを特徴とするトラヒック制御装置。
【請求項２】
前記決定部によって経路の変更が行われる頻度を計算する頻度計算部と、
前記頻度が第１頻度閾値以上の場合には、前記決定部による比較に用いられる閾値を高めに更新し、前記頻度が第２頻度閾値未満の場合には、前記閾値を低めに更新する更新部とを更に備えたことを特徴とする請求項１に記載のトラヒック制御装置。
【請求項３】
所定の期間毎に、ノードペアそれぞれを流れるトラヒック量と経路の通信帯域とから、現在の評価値を計算し、計算した評価値を評価値記憶部に格納する評価値計算部と、
前記評価値記憶部に記憶されている過去の評価値と現在の評価値とを比較し、評価値の差分値が閾値以上であることを条件として、前記導出部、前記計算部、及び前記決定部による処理の実施を決定する実施決定部と
を更に備えたことを特徴とする請求項１又は２に記載のトラヒック制御装置。
【請求項４】
始点ノード及び終点ノードのノードペアそれぞれを流れるトラヒックの経路を決定するトラヒック制御装置によって実行されるトラヒック制御方法であって、
ネットワーク全体の評価値を制御目標値とする経路の最適化を行い、最適化後の経路を導出する導出工程と、
前記最適化後の経路が前記ネットワークに含まれるノードペア全てに適用された場合のネットワーク全体の評価値と、前記最適化後の経路が所定のノードペア以外に適用されるとともに最適化前の経路が該所定のノードペアに適用された場合のネットワーク全体の評価値との差分値を、該所定のノードペアを替えながらノードペア毎に計算する計算工程と、
前記差分値に基づく値と閾値とをノードペア毎に比較し、差分値に基づく値が閾値以上の場合には、比較対象のノードペアの経路を最適化後の経路に決定し、差分値に基づく値が閾値未満の場合には、比較対象のノードペアの経路を最適化前の経路に決定する決定工程と
を含んだことを特徴とするトラヒック制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、トラヒック制御装置及びトラヒック制御方法に関する。
【背景技術】
【０００２】
近年、ネットワークを介して計算機資源やソフトウェアをオンデマンド（on  demand）で提供するクラウドコンピューティング（cloud  computing）が注目を集めている。このクラウドコンピューティングにおいては、ライブマイグレーション（live  migration）を適用することが可能である。ライブマイグレーションとは、ある仮想計算機を、その仮想計算機が提供するサービスを停止することなく、物理計算機間で自由に移動させる技術である。ライブマイグレーションは、信頼性向上技術としてＬＡＮ（Local  Area  Network）内で適用されてきたが、広域ネットワークを経由して適用するためのアーキテクチャも提案されている（非特許文献１など）。
【０００３】
また、クラウドコンピューティングにおいては、サービスを提供する仮想計算機が設置されたデータセンタとサービスの利用者端末との間の経路となる広域ネットワークの性能を最適化するために、トラヒックエンジニアリング（Traffic  Engineering）が行われる（非特許文献２、非特許文献３など）。トラヒックエンジニアリングとは、ネットワークに含まれるノード間を流れる全てのフローを収容できるように、各フローが経由する通信リンク、すなわち、各フローとして流れるトラヒックの経路を決定する技術である。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Fang  Hao他，“Enhancing  Dynamic  Cloud-based  Services  using  Network  Virtualization,”ACM  SIGCOMM  2010  Computer  Communication  Review，Vol.40，No.1，pp.67-74，2010.
【非特許文献２】Bernard  Fortz他，“Internet  Traffic  Engineering  by  Optimizing  OSPF  Weights，”in  Proceedings  of  the  INFOCOM  2000  19th  Annual  Joint  Conference  of  the  IEEE  Computer  and  Communications  Societies，pp.519-528，March  2000.
【非特許文献３】Yufei  Wang他，“Explicit  Routing  Algorithms  for  Internet  Traffic  Engineering，”in  Proceedings  of  eighth  International  Conference  on  Computer  Communications  and  Network，pp.582-588，October  1999．
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来の技術においては、トラヒックエンジニアリングを適切に行うことができない場合がある。
【０００６】
ライブマイグレーションは、データセンタと利用者端末との間の個別の経路の通信品質向上を制御目標とする。例えば、ライブマイグレーションは、個別の経路に含まれる通信リンクの遅延の総和を制御目標値とし、これを最小化する。一方、トラヒックエンジニアリングは、ネットワーク全体の利用率向上を制御目標とする。例えば、トラヒックエンジニアリングは、各通信リンクの利用率に基づき各通信リンクのコストを計算し、ネットワークに含まれる全通信リンクのコストの総和を制御目標値として、これを最小化する。なお、例えば、トラヒックエンジニアリングは、特定の通信リンクに負荷が集中することを防ぎ、且つ、全ての通信リンクに均一にトラヒックを振り分けるように、トラヒックの経路を決定する。
【０００７】
このように、ライブマイグレーションの制御目標とトラヒックエンジニアリングの制御目標とは異なるため、両制御が相互に干渉し合うことで、ネットワークの状態が不安定化するおそれがある。例えば、ライブマイグレーションの制御は、経路の始点ノードや終点ノードを変化させる結果、トラヒックエンジニアリングの制御目標に影響を及ぼし、トラヒックエンジニアリングの制御が再び行われるトリガ（trigger）となり得る。また、例えば、トラヒックエンジニアリングの制御は、トラヒックの経路を変化させる結果、ライブマイグレーションの制御目標に影響を及ぼし、ライブマイグレーションの制御が再び行われるトリガとなり得る。なお、ライブマイグレーションの制御とトラヒックエンジニアリングの制御とが異なる者によって独立に行われる場合に、この状況は顕著になり得る。
【課題を解決するための手段】
【０００８】
実施形態に係るトラヒック制御装置は、始点ノード及び終点ノードのノードペアそれぞれを流れるトラヒックの経路を決定する。前記トラヒック制御装置は、導出部と、計算部と、決定部とを備える。前記導出部は、ネットワーク全体の評価値を制御目標値とする経路の最適化を行い、最適化後の経路を導出する。前記計算部は、前記最適化後の経路が前記ネットワークに含まれるノードペア全てに適用された場合のネットワーク全体の評価値と、前記最適化後の経路が所定のノードペア以外に適用されるとともに最適化前の経路が該所定のノードペアに適用された場合のネットワーク全体の評価値との差分値を、該所定のノードペアを替えながらノードペア毎に計算する。前記決定部は、前記差分値に基づく値と閾値とをノードペア毎に比較し、差分値に基づく値が閾値以上の場合には、比較対象のノードペアの経路を最適化後の経路に決定し、差分値に基づく値が閾値未満の場合には、比較対象のノードペアの経路を最適化前の経路に決定する。
【発明の効果】
【０００９】
実施形態に係るトラヒック制御装置及びトラヒック制御方法によれば、トラヒックエンジニアリングを適切に行うことができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】図１は、本実施形態に係るトラヒック制御システムの構成を示す図である。
【図２】図２は、本実施形態に係るトラヒック制御装置の構成を示す図である。
【図３】図３は、本実施形態に係るＴＥ（Traffic  Engineering）実施決定部による処理を示すフローチャートである。
【図４】図４は、本実施形態に係る閾値決定部による処理を示すフローチャートである。
【図５】図５は、本実施形態に係る経路決定部による処理を示すフローチャートである。
【図６】図６は、本実施形態に係るトラヒック制御全体のシーケンス図である。
【図７】図７は、本実施形態に係るトラヒック制御装置と同様の機能を実現するプログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【００１１】
以下、実施形態に係るトラヒック制御装置及びトラヒック制御方法を説明する。なお、以下の実施形態により本発明が限定されるものではない。
【００１２】
図１は、本実施形態に係るトラヒック制御システムの構成を示す図である。図１に示すように、本実施形態においては、複数のノード１と、隣接するノード１同士を結ぶ通信リンクとを含むネットワークに、データセンタ１０や端末２０が接続される。端末２０は、例えば、クラウドコンピューティングのサービスを利用する利用者端末や他のトラヒックを発生させる端末である。
【００１３】
また、本実施形態に係るトラヒック制御システムは、トラヒック制御装置１００と、複数のノード１とを含む。トラヒック制御装置１００は、制御対象の各ノード１に接続し、通信リンクを流れるトラヒックに関する情報（以下、トラヒック情報）の収集やフローの経路制御を行う。
【００１４】
以下では、トラヒックエンジニアリング制御対象のネットワークをＧ（Ｖ，Ｅ）と表記する。ノードはｖ∈Ｖであり、通信リンクはｅ∈Ｅである。また、始点ノードｓ∈Ｖから終点ノードｄ∈Ｖへと流れるトラヒック需要（以下、適宜「トラヒック量」）を、λsdと表記する。また、ノードｉ∈Ｖとノードｊ∈Ｖとの間の通信リンクをｅij∈Ｅと表記し、通信リンクｅijの通信帯域をＣijと表記する。
【００１５】
なお、ネットワークＧ（Ｖ，Ｅ）に含まれる複数のノード群Ｄ⊂Ｖにはデータセンタが接続しており、ノード群Ｓ⊂Ｖには利用者端末が接続している。仮想計算機で提供されるサービスの集合Ｘは、ノード群Ｄに属するいずれかのノードに接続されたデータセンタに配置された仮想計算機上で提供される。各サービスｘ∈Ｘは、利用者端末が接続されたノード群Ｓx⊂Ｓに属する。ライブマイグレーションは、ノードｓ∈Ｓxと仮想計算機とを結ぶ経路に含まれる通信リンクの遅延の総和（又は、平均遅延）が最も小さくなるように、ノードｄ∈Ｄに接続されたデータセンタに仮想計算機を移動することで実現される。
【００１６】
図２は、本実施形態に係るトラヒック制御装置の構成を示す図である。本実施形態に係るトラヒック制御装置１００は、記憶部１１０と、ＴＥ実施部１２０とを備える。記憶部１１０は、経路制御情報や、各ノード１から収集したトラヒック情報などを記憶する。また、ＴＥ実施部１２０は、トラヒックエンジニアリングを実施し、トラヒックの経路を決定する。
【００１７】
図２に示すように、記憶部１１０は、経路制御情報記憶部１１１と、トラヒック情報記憶部１１２と、コスト記憶部１１３と、コスト削減効果閾値記憶部１１４とを有する。
【００１８】
経路制御情報記憶部１１１は、経路制御情報を記憶する。経路制御情報とは、ある始点ノードから終点ノードへと流れるフローのトラヒックの経路を示す情報であって、そのトラヒックが経由する通信リンクを示す情報である。なお、トラヒックの経路が複数である場合、経路制御情報には、複数の経路に振り分けられるトラヒックの割合なども示される。
【００１９】
経路制御情報記憶部１１１は、ネットワークに含まれる始点ノード及び終点ノードのノードペア全てについて、この経路制御情報を記憶する。また、経路制御情報記憶部１１１は、経路制御情報の履歴も記憶する。例えば、経路制御情報記憶部１１１は、過去に実施されたトラヒックエンジニアリングの時刻（例えば、後述する経路決定部１２３によって少なくともひとつの経路が変更された時刻）を、このトラヒックエンジニアリングにより決定された経路制御情報に対応付けて記憶する。なお、経路制御情報記憶部１１１が記憶する経路制御情報は、後述する経路決定部１２３による処理に利用され、また、経路制御情報記憶部１１１が記憶する経路制御情報の履歴は、後述する閾値決定部１２２による処理に利用される。
【００２０】
トラヒック情報記憶部１１２は、トラヒック情報を記憶する。トラヒック情報とは、各ノード１から収集された情報であり、例えば、各通信リンクを流れるトラヒック量である。なお、トラヒック情報記憶部１１２が記憶するトラヒック情報は、後述するＴＥ実施決定部１２１による処理や、経路決定部１２３による処理に利用される。
【００２１】
コスト記憶部１１３は、全通信リンクのコストの総和（以下、適宜「ネットワークコスト」）を記憶する。各通信リンクのコストは、各通信リンクの利用率に基づき計算される。なお、コスト記憶部１１３が記憶するネットワークコストは、後述するＴＥ実施決定部１２１による処理に利用される。
【００２２】
コスト削減効果閾値記憶部１１４は、最適化後の経路が適用された場合のネットワークコストの削減効果をノードペア毎に判定するための閾値を記憶する。また、この閾値（以下、適宜「コスト削減効果閾値」）は、ネットワークコストの削減効果をノードペア１組あたりの削減効果に換算した値である。また、コスト削減効果閾値記憶部１１４が記憶する閾値は、後述する経路決定部１２３による処理に利用される。
【００２３】
また、図２に示すように、ＴＥ実施部１２０は、ＴＥ実施決定部１２１と、閾値決定部１２２と、経路決定部１２３とを有する。
【００２４】
ＴＥ実施決定部１２１は、コスト計算部１２１ａと、実施決定部１２１ｂとを有する。コスト計算部１２１ａは、所定の期間毎に、ノードペアそれぞれを流れるトラヒック量と経路の通信帯域とから、現在のネットワークコストを計算し、計算したネットワークコストをコスト記憶部１１３に格納する。また、実施決定部１２１ｂは、コスト記憶部１１３に記憶されている過去のネットワークコストと現在のネットワークコストとを比較し、ネットワークコスト同士の差分値が閾値以上であることを条件として、トラヒックエンジニアリングの実施を決定する。すなわち、実施決定部１２１ｂは、経路決定部１２３による処理の実施を決定する。
【００２５】
図３は、本実施形態に係るＴＥ実施決定部１２１による処理を示すフローチャートである。まず、コスト計算部１２１ａが、一定期間毎に、各ノード１から現在のトラヒック情報を収集し、収集したトラヒック情報をトラヒック情報記憶部１１２に格納する（ステップＳ１０１）。例えば、コスト計算部１２１ａは、一定期間毎に、各通信リンクｅijを流れる現在のトラヒック量λijを収集する。
【００２６】
続いて、コスト計算部１２１ａは、ステップＳ１０１において収集した現在のトラヒック量λijと、既知である各通信リンクｅijの通信帯域Ｃijとから、コストｇ（λij，Ｃij）を通信リンクｅij毎に計算し、全通信リンクの総和を計算することで、現在のネットワークコストを計算する（ステップＳ１０２）。そして、コスト計算部１２１ａは、計算した現在のネットワークコストをコスト記憶部１１３に格納する。例えば、コスト計算部１２１ａは、トラヒック量λijを通信帯域Ｃijで割ることで計算される利用率に基づいて、利用率が低い場合に高い値となり、利用率が高い場合に低い値となる関数を用いてコストを計算すればよい。なお、コストの計算は、任意の公知の技術（例えば、非特許文献２など）を用いることができる。
【００２７】
次に、実施決定部１２１ｂが、コスト記憶部１１３に記憶されている過去のネットワークコストと現在のネットワークコストとを比較し、一定以上の悪化があるか否かを判定する（ステップＳ１０３）。例えば、実施決定部１２１ｂは、一定以上の悪化があるか否かを判定するための閾値を予め記憶し、過去のネットワークコストと現在のネットワークコストとの差分値がこの閾値以上であるか否かを判定する。
【００２８】
そして、実施決定部１２１ｂは、過去のネットワークコストと現在のネットワークコストとの差分値が閾値未満の場合には（ステップＳ１０３，Ｎｏ）、閾値決定部１２２に、コスト削減効果閾値の更新を指示する（ステップＳ１０４）。なお、後述するように、閾値決定部１２２は、更新の指示を受けた後、経路制御情報の履歴を用いてコスト削減効果閾値の更新を行う。
【００２９】
一方、実施決定部１２１ｂは、過去のネットワークコストと現在のネットワークコストとの差分値が閾値以上の場合には（ステップＳ１０３，Ｙｅｓ）、経路決定部１２３に、トラヒックエンジニアリングの実施を指示する（ステップＳ１０５）。なお、後述するように、経路決定部１２３は、トラヒックエンジニアリングの実施の指示を受けた後、経路制御情報の更新を行う。
【００３０】
図２に戻り、閾値決定部１２２は、頻度計算部１２２ａと、更新部１２２ｂとを有する。頻度計算部１２２ａは、経路決定部１２３によって経路の変更が行われる頻度を計算する。また、更新部１２２ｂは、頻度計算部１２２ａによって計算された頻度が第１頻度閾値以上の場合には、コスト削減効果閾値を高めに更新する。一方、更新部１２２ｂは、頻度計算部１２２ａによって計算された頻度が第２頻度閾値未満の場合には、コスト削減効果閾値を低めに更新する。
【００３１】
図４は、本実施形態に係る閾値決定部１２３による処理を示すフローチャートである。まず、頻度計算部１２２ａが、経路制御情報記憶部１１１から経路制御情報の履歴を取得し、過去一定期間に経路制御を実施した頻度を計算する（ステップＳ２０１）。ここで、経路制御を実施した頻度とは、過去一定期間に実施された複数回のトラヒックエンジニアリングのうち、少なくともひとつの経路が最適化後の経路に決定された回数のことである。すなわち、トラヒックエンジニアリングが実施された場合であっても、全ての経路に変更がなかった場合はカウントしない。また、経路制御を実施した頻度には、トラヒックエンジニアリング１回あたりの経路変更の数まで加味してもよい。この場合、１回のトラヒックエンジニアリングで多数の経路変更が行われると、経路制御を実施した頻度は高い値となる。
【００３２】
続いて、更新部１２２ｂが、ステップＳ２０１において計算された頻度が、頻度の閾値として予め記憶する第１頻度閾値以上の場合には（ステップＳ２０２，Ｙｅｓ）、コスト削減効果閾値を高めに設定し（ステップ２０３）、コスト削減効果閾値を、設定後のコスト削減効果閾値に更新する（ステップＳ２０６）。すなわち、トラヒックエンジニアリングが頻度高く行われている場合には、トラヒックエンジニアリングが実施されにくくなる方向に、コスト削減効果閾値を高めに更新する。
【００３３】
一方、更新部１２２ｂは、ステップＳ２０１において計算された頻度が第１頻度閾値未満の場合には（ステップＳ２０２，Ｎｏ）、続いて、この頻度が、もうひとつの頻度の閾値として予め記憶する第２頻度閾値未満であるか否かを判定する（ステップＳ２０４）。
【００３４】
そして、更新部１２２ｂは、この頻度が第２頻度閾値未満の場合には（ステップＳ２０４，Ｙｅｓ）、コスト削減効果閾値を低めに設定し（ステップ２０５）、コスト削減効果閾値を、設定後のコスト削減効果閾値に更新する（ステップＳ２０６）。すなわち、トラヒックエンジニアリングがあまり行われていない場合には、トラヒックエンジニアリングが実施され易くなる方向に、コスト削減効果閾値を低めに更新する。
【００３５】
なお、更新部１２２ｂは、頻度が第２頻度閾値以上の場合には（ステップＳ２０４，Ｎｏ）、コスト削減効果閾値を更新せずに、処理を終了する。
【００３６】
図２に戻り、経路決定部１２３は、最適化経路導出部１２３ａと、コスト削減効果計算部１２３ｂと、比較決定部１２３ｃとを有する。最適化経路導出部１２３ａは、ネットワークコストを制御目標値とする最適化を行い、最適化後の経路を導出する。また、コスト削減効果計算部１２３ｂは、最適化経路導出部１２３ａによって導出された最適化後の経路がネットワークに含まれるノードペア全てに適用された場合のネットワークコスト（以下、適宜「最適化後ネットワークコスト」）と、最適化後の経路が所定のノードペア以外に適用されるとともに最適化前の経路が所定のノードペアに適用された場合のネットワークコスト（以下、適宜「最適化前ネットワークコスト」）との差分値を、所定のノードペアを替えながらノードペア毎に計算する。また、比較決定部１２３ｃは、コスト削減効果計算部１２３ｂによって計算された差分値に基づく値と、コスト削減効果閾値記憶部１１４に記憶されたコスト削減効果閾値とをノードペア毎に比較し、差分値に基づく値がコスト削減効果閾値以上の場合には、比較対象のノードペアの経路を最適化後の経路に決定し、差分値がコスト削減効果閾値未満の場合には、比較対象のノードペアの経路を最適化前の経路に決定する。
【００３７】
図５は、本実施形態に係る経路決定部１２３による処理を示すフローチャートである。まず、最適化経路導出部１２３ａが、ネットワークコストを制御目標値とする最適化を行い、最適化後の経路制御情報ｆsdijoptimalを導出する（ステップＳ３０１）。
【００３８】
例えば、最適化経路導出部１２３ａは、トラヒック情報記憶部１１２から、始点ノードｓから終点ノードｄへと流れるトラヒック量λsdを全てのノードペア（ｓ，ｄ）について取得する。また、最適化経路導出部１２３ａは、経路制御情報記憶部１１１から、現在の経路制御情報ｆsdijprevを取得する。この現在の経路制御情報ｆsdijprevには、始点ノードｓから終点ノードｄへと流れるトラヒックが経由する通信リンクｅij及びその割合が示されている。そこで、最適化経路導出部１２３ａは、現在の経路制御情報ｆsdijprevに基づいて、トラヒック量λsdのうち各通信リンクｅijを流れるトラヒック量λsdijを全てのノードペア（ｓ，ｄ）について計算する。
【００３９】
次に、最適化経路導出部１２３ａは、各通信リンクｅijを流れるトラヒック量λij（なお、トラヒック量λijは、通信リンクｅijにおけるトラヒック量λsdijの総和）と、各通信リンクｅijの通信帯域Ｃijとから、コストｇ（λij，Ｃij）を通信リンクｅij毎に計算し、全通信リンクのコストの総和、すなわちネットワークコストを計算する。そして、最適化経路導出部１２３ａは、計算したネットワークコストを制御目標値ＪTEとし、これを最小化するように最適化後の経路制御情報ｆsdijを導出する。なお、以下では、このように計算された場合のネットワークコスト（最適化後ネットワークコスト）をＪTEoptimalと表記し、経路制御情報ｆsdijを経路制御情報ｆsdijoptimalと表記する。
【００４０】
続いて、コスト削減効果計算部１２３ｂが、ひとつのノードペア（s´，d´）についてのみ現在の経路制御情報ｆsdijprevを適用し、このノードペア（s´，d´）以外のノードペアについては最適化後の経路制御情報ｆsdijoptimalを適用した場合のネットワークコスト（最適化前ネットワークコスト）ＪTEを計算する（ステップＳ３０２）。この最適化前ネットワークコストＪTEから最適化後ネットワークコストＪTEoptimalを引いた差分値が、このノードペアの間の経路を変更したことによるネットワークコストの削減値である。また、この差分値を、経路変更前のノードペア（s´，d´）間の経路に含まれる各通信リンクのコストの総和で割った値が、ノードペア（s´，d´）間の経路変更によるネットワークコストの削減効果である。
【００４１】
次に、比較決定部１２３ｃが、ステップＳ３０２において計算した最適化前ネットワークコストＪTEと、最適化後ネットワークコストＪTEoptimalとをノードペア（s´，d´）毎に比較する。そして、比較決定部１２３ｃは、コスト削減効果閾値記憶部１１４からコスト削減効果閾値を取得し、ノードペア（s´，d´）間の経路変更によるネットワークコストの削減効果が、コスト削減効果閾値以上であるか否かを判定する（ステップＳ３０３）。なお、本実施形態においては、削減効果と閾値とを比較する例を説明したが、実施形態はこれに限られるものではなく、例えば、差分値自体と閾値とを比較してもよい。
【００４２】
そして、比較決定部１２３ｃは、ノードペア（s´，d´）間の経路変更によるネットワークコストの削減効果が、コスト削減効果閾値以上の場合には（ステップＳ３０３，Ｙｅｓ）、ノードペア（s´，d´）間の経路制御情報fs'd'ijnewとしてfs'd'ijoptimalを出力する。すなわち、比較決定部１２３ｃは、ノードペア（s´，d´）間のトラヒックが経由する通信リンクを変更する。一方、ノードペア（s´，d´）間の経路変更によるネットワークコストの削減効果が、コスト削減効果閾値未満の場合には（ステップＳ３０３，Ｎｏ）、比較決定部１２３ｃは、ノードペア（s´，d´）間の経路制御情報fs'd'ijnewとしてfs'd'ijprevを出力する（ステップＳ３０６）。すなわち、比較決定部１２３ｃは、ノードペア（s´，d´）間のトラヒックが経由する通信リンクを変更しない。
【００４３】
その後、コスト削減効果計算部１２３ｂ及び比較決定部１２３ｃは、全てのノードペア（ｓ，ｄ）について同様に経路制御情報fsdijnewを出力し、出力した経路制御情報fsdijnewを経路制御情報記憶部１１１に格納する（ステップＳ３０５）。なお、次のトラヒックエンジニアリングを実施する際には、最適化経路導出部１２３ａは、この経路制御情報fsdijnewを、現在の経路制御情報ｆsdijprevとして取り扱う。
【００４４】
さて、図６は、本実施形態に係るトラヒック制御全体のシーケンス図である。上述したように、本実施形態に係るＴＥ実施決定部１２１は、一定期間毎に各ノード１からトラヒック情報を収集し、現在のネットワークコストを計算して記憶部１１０に格納したり、記憶部１１０に過去のネットワークコストを問い合わせたりする（ステップＳ１及びＳ２）。そして、ＴＥ実施決定部１２１は、過去のネットワークコストと現在のネットワークコストとの比較の結果、一定以上の悪化がある場合には、経路決定部１２３に対して、トラヒックエンジニアリングの実施を指示する（ステップＳ３）。
【００４５】
トラヒックエンジニアリングの実施を指示された経路決定部１２３は、記憶部１１０に、トラヒック情報やコスト削減効果閾値、経路制御情報を問い合わせながら（ステップＳ４及びＳ５）、最適化後の経路制御情報を導出し、その後、ノードペア毎にネットワークコストの削減効果を検証しながら、新たな経路制御情報を決定し、更新する（ステップＳ６）。なお、経路決定部１２３は、ＴＥ実施決定部１２１に対して、トラヒックエンジニアリングの実施完了を報告する（ステップＳ７）。
【００４６】
また、本実施形態に係るＴＥ実施決定部１２１は、過去のネットワークコストと現在のネットワークコストとの比較の結果、一定以上の悪化がない場合には、閾値決定部１２２に対して、コスト削減効果閾値の更新を指示する（ステップＳ８）。すると、閾値決定部１２２は、記憶部１１０に経路制御情報の履歴を問い合わせながら（ステップＳ９及びＳ１０）、コスト削減効果閾値の更新を実施する（ステップＳ１１）。
【００４７】
なお、上述したシーケンス図は一例に過ぎず、実施形態はこれに限られるものではない。例えば、コスト削減効果閾値の更新を実施するタイミングは、ネットワークコストの比較の結果一定の悪化がない場合に限られず、例えば、定期的に行ってもよい。また、例えば、一定の悪化の有無に係らず、定期的にトラヒックエンジニアリングを実施してもよい。
【００４８】
このように、上述した実施形態によれば、トラヒックエンジニアリングを適切に行うことができる。すなわち、上述した実施形態に係るトラヒック制御装置は、最適化後の経路が適用された場合のネットワークコストの削減効果をノードペア毎に個別に求め、削減効果が大きいノードペアに対しては経路の最適化を実施し、削減効果が小さいノードペアに対しては経路の最適化を実施しない。この結果、削減効果の大きなフローについては経路の最適化を行ってネットワーク性能を向上するとともに、経路変更の数を減らしてライブマイグレーションに及ぼす影響を抑制することができる。すなわち、経路変更の数が減ることで、データセンタと利用者端末との間の遅延の変化も抑えられ、ライブマイグレーションが繰り返し行われることを防ぐことができる。この結果、両制御が相互に干渉し合うことによるネットワークの不安定化を防止することができる。
【００４９】
なお、上述した実施形態の手法によれば、ライブマイグレーションの制御情報を把握する必要もないので、ライブマイグレーションの制御とトラヒックエンジニアリングの制御とが異なる者によって独立に行われる場合にも対応可能である。
【００５０】
また、上述した実施形態によれば、経路の最適化を実施するか否かの閾値として有効な閾値を設定することができる。すなわち、上述した実施形態に係るトラヒック制御装置は、経路変更の頻度が高い場合にはコスト削減効果閾値を高めに更新し、経路変更の頻度が低い場合にはコスト削減効果閾値を低めに更新する。この結果、経路変更の頻度が高い場合には、すなわち、ネットワークの状態が不安定になっている場合には、経路変更の数を減らす方向に閾値を調整してライブマイグレーションに及ぼす影響を抑制する。一方、経路変更の頻度が低い場合には、すなわち、トラヒックエンジニアリングがあまり行われていない場合には、経路変更を積極的に行う方向に閾値を調整してネットワーク性能の更なる向上を促すことができる。
【００５１】
また、上述した実施形態によれば、現在のネットワークコストに一定以上の悪化がある場合にのみトラヒックエンジニアリングが実施されるので、経路変更の頻度を減らしてライブマイグレーションに及ぼす影響を抑制することができる。
【００５２】
（他の実施形態）
なお、上述したトラヒック制御装置１００は、上述した実施形態以外にも種々の異なる形態にて実施されてよい。
【００５３】
例えば、上述した実施形態に係るトラヒック制御装置１００が実行する処理を、コンピュータが実行可能な言語で記述したプログラムを作成することもできる。この場合、コンピュータがプログラムを実行することにより、上述した実施形態と同様の効果を得ることができる。更に、かかるプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませて実行することにより、上述の実施形態と同様の処理を実現してもよい。以下、図２に示したトラヒック制御装置１００と同様の機能を実現するプログラムを実行するコンピュータの一例を説明する。
【００５４】
図７は、本実施形態に係るトラヒック制御装置１００と同様の機能を実現するプログラムを実行するコンピュータを示す図である。図７に示すように、コンピュータは、例えば、メモリと、ＣＰＵ（Central  Processing  Unit）と、ハードディスクドライブインタフェースと、ディスクドライブインタフェースと、シリアルポートインタフェースと、ビデオアダプタと、ネットワークインタフェースとを有し、これらの各部はバスによって接続される。
【００５５】
メモリは、図７に示すように、ＲＯＭ（Read  Only  Memory）及びＲＡＭ（Random  Access  Memory）を含む。ＲＯＭは、例えば、ＢＩＯＳ（Basic  Input  Output  System）などのブートプログラムを記憶する。ハードディスクドライブインタフェースは、図７に示すように、ハードディスクドライブに接続される。ディスクドライブインタフェースは、図７に示すように、ディスクドライブに接続される。例えば磁気ディスクや光ディスクなどの着脱可能な記憶媒体が、ディスクドライブに挿入される。シリアルポートインタフェースは、図７に示すように、例えばマウス、キーボードに接続される。ビデオアダプタは、図７に示すように、例えばディスプレイに接続される。
【００５６】
ここで、図７に示すように、ハードディスクドライブは、例えば、ＯＳ（Operating  System）、アプリケーションプログラム、プログラムモジュール、プログラムデータを記憶する。すなわち、上述のプログラムは、コンピュータによって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブに記憶される。例えば、最適化経路導出部１２３ａと同様の処理を実行する処理手順と、コスト削減効果計算部１２３ｂと同様の処理を実行する処理手順と、比較決定部１２３ｃと同様の処理を実行する処理手順とが記述されたプログラムモジュールが、ハードディスクドライブに記憶される。
【００５７】
また、上述した実施形態で説明したトラヒック制御装置１００が保持する各種データは、プログラムデータとして、例えばメモリやハードディスクドライブに記憶される。そして、ＣＰＵが、メモリやハードディスクドライブに記憶されたプログラムモジュールやプログラムデータを必要に応じてＲＡＭに読み出し、各手順を実行する。
【００５８】
なお、上述のプログラムに係るプログラムモジュールやプログラムデータは、ハードディスクドライブに記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブなどを介してＣＰＵによって読み出されてもよい。あるいは、上述のプログラムに係るプログラムモジュールやプログラムデータは、ネットワーク（ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）など）を介して接続された他のコンピュータに記憶され、ネットワークインタフェースを介してＣＰＵによって読み出されてもよい。
【符号の説明】
【００５９】
１００  トラヒック制御装置
１２０  ＴＥ実施部
１２１  ＴＥ実施決定部
１２１ａ  コスト計算部
１２１ｂ  実施決定部
１２２  閾値決定部
１２２ａ  頻度計算部
１２２ｂ  更新部
１２３  経路決定部
１２３ａ  最適化経路導出部
１２３ｂ  コスト削減効果計算部
１２３ｃ  比較決定部
【図１】
0005655188.tif 000002
【図２】
0005655188.tif 000003
【図３】
0005655188.tif 000004
【図４】
0005655188.tif 000005
【図５】
0005655188.tif 000006
【図６】
0005655188.tif 000007
【図７】
0005655188.tif 000008