(57)【特許請求の範囲】
【請求項１】
複数のノードと前記複数のノード間を接続する複数のリンクとを備えるネットワーク内を流れるフローのうち、変更対象のフローに対する変更先経路を演算するフロー経路変更計算装置であって、
前記フロー経路変更計算装置は、記憶部と、最大リンク使用率計算部と、出力情報処理部と、を備え、
前記記憶部には、（１）前記ノード間の接続関係を示すトポロジ情報、（２）前記リンクを経由する際のコストを示すリンクメトリック、各リンクの最大帯域および各リンクのリンクトラヒック量を含むリンク情報、および、（３）リンク使用率が所定の閾値以上となるリンクを通る前記フローのフロー経路とそのトラヒック量を含むフロー情報、が記憶され、
前記最大リンク使用率計算部は、
前記各リンクの最大帯域および前記各リンクのリンクトラヒック量に基づき、前記ネットワーク内の各リンクの前記リンク使用率を計算して、最大リンク使用率および当該最大リンク使用率となるリンクを取得し、
当該取得した最大リンク使用率となるリンクを通るフローの中で、次の（条件Ａ）および（条件Ｂ）
（条件Ａ）当該最大リンク使用率となるリンクを通らない、
（条件Ｂ）経路変更により最大リンク使用率となるリンクを変更しない、
を満たすフローの最短経路と、当該最短経路に変更した場合の最大リンク使用率を計算し、当該最大リンク使用率が最小値となるフローを変更対象のフローとし、当該変更対象のフローとその変更先経路との組み合わせを決定し、
当該計算した最大リンク使用率となるリンクを通るフローの中で、前記変更対象のフローとして決定したフロー以外のフローに対し、前記（条件Ａ）および（条件Ｂ）を満たし、前記計算した最大リンク使用率が最小値となる変更対象のフローとその変更先経路との組み合わせの決定処理を、前記（条件Ａ）および（条件Ｂ）を満たす前記フローとその変更先経路の組み合わせが存在しなくなるまで繰り返し、
前記出力情報処理部は、前記決定された変更対象のフローとその変更先経路、および、前記計算した最大リンク使用率を出力すること
を特徴とするフロー経路変更計算装置。
【請求項２】
前記最大リンク使用率計算部は、
前記（条件Ａ）および（条件Ｂ）を満たす前記フローとその変更先経路の組み合わせが存在しない場合に、次の（条件ａ）および（条件ｂ）
（条件ａ）当該最大リンク使用率となるリンクを通らない、
（条件ｂ）経路変更により前記ネットワーク全体の最大リンク使用率が低下する、
を満たすフローの最短経路と、当該最短経路に変更した場合の最大リンク使用率を計算し、当該最大リンク使用率が最小値となる変更対象のフローとその変更先経路との組み合わせを決定し、
当該計算した最大リンク使用率となるリンクを通るフローの中で、前記変更対象のフローとして決定したフロー以外のフローに対し、前記（条件ａ）および（条件ｂ）を満たし、前記計算した最大リンク使用率が最小値となる変更対象のフローとその変更先経路の組み合わせの決定処理を、前記（条件ａ）および（条件ｂ）を満たす前記フローとその変更先経路との組み合わせが存在しなくなるまで繰り返すこと
を特徴とする請求項１に記載のフロー経路変更計算装置。
【請求項３】
前記最大リンク使用率計算部は、
前記変更対象のフローとその変更先経路の組み合わせを決定する度に、当該組み合わせに対応付けてその決定順で示される前記フローの変更順番をフロー経路変更回数として前記記憶部に記憶し、
前記出力情報処理部は、前記決定された変更対象のフローとその変更先経路の組み合わせを、前記フロー経路変更回数に対応付けて出力すること
を特徴とする請求項１または請求項２に記載のフロー経路変更計算装置。
【請求項４】
前記記憶部には、さらに、前記変更対象のフローおよびその変更先経路を決定する計算を実行する際に計算負荷を低減するためのパラメータ情報として、前記フロー経路変更回数の上限値、前記最大リンク使用率の下限値、経路変更の対象となるフローの帯域下限値、変更先経路の経路メトリック長に関する制約パラメータの少なくとも１つが記憶されており、
前記最大リンク使用率計算部は、
前記パラメータ情報の少なくとも１つを設定して、前記変更対象のフローおよびその変更先経路を計算すること
を特徴とする請求項３に記載のフロー経路変更計算装置。
【請求項５】
前記最大リンク使用率計算部は、
前記最大リンク使用率となるリンクを通るフローの中で、前記（条件Ａ）および（条件Ｂ）、または、前記（条件ａ）および（条件ｂ）を満たし、経路変更により前記最大リンク使用率が最小値となる変更対象のフローとその変更先経路の組み合わせが複数存在した場合に、以下の選択基準１〜４を順に適応して、前記変更対象のフローとその変更先経路とを決定すること
（選択基準１）（経路変更後の経路長−経路変更前の経路長）が最小となる経路とその経路を通るフローを選択する、
（選択基準２）フロートラヒックが最大のフローとそのフローの変更経路とを選択する、
（選択基準３）経路変更後の各リンクのリンク使用率の最大値が最小となる経路とその経路を通るフローを選択する、
（選択基準４）ランダムにフローとその変更経路を選択する、
を特徴とする請求項２に記載のフロー経路変更計算装置。
【発明の詳細な説明】
【技術分野】
【０００１】
ネットワークの最大リンク使用率を低下させるために、フローの経路変更を計算するフロー経路変更計算装置に関する。
【背景技術】
【０００２】
従来、トラヒックが限られたリンクに集中することによりパケットロスやキュー遅延等が頻繁に発生することを防ぎ、ネットワークの一部への負荷集中を回避する手法として、フロー経路を変更しネットワーク内の最大リンク使用率を低下させる制御が行われている（例えば、非特許文献１参照）。なお、ここで、最大リンク使用率とは、ネットワーク内の各リンクのリンク使用率（リンクトラヒック量／リンクの最大帯域）が最も大きいリンクのリンク使用率のことをいう。
【０００３】
従来の最大リンク使用率を低下するためのネットワーク制御装置による制御手法は、まず、対象となるネットワーク内の全てのフローの経路とそのトラヒック量を含むフロー情報や、リンクトラヒック量等のリンク情報を取得し、そのネットワークにおける最大リンク使用率を計算する。そして、その最大リンク使用率となるリンクを通るフローから、下記のフロー選択条件（ａ），（ｂ）を満たす最短経路に経路変更した場合に、最大リンク使用率が最小となるフローを選択する。
【０００４】
フロー選択条件（ａ）：最大リンク使用率となるリンクを通らない。
フロー選択条件（ｂ）：経路変更することによりネットワーク全体の最大リンク使用率が低下する。
【０００５】
なお、最大リンク使用率が最小となるフローが複数ある場合には、ランダムに選択し、フロー選択条件（ａ），（ｂ）を満たすフローが存在しなくなった時点で、処理を終了する。
【０００６】
この従来の最大リンク使用率を低下させるためのフロー経路変更の制御手法について、図１２を参照して詳細に説明する。
【０００７】
まず、ネットワーク制御装置は、フローの経路変更回数のパラメータ（以下、「フロー経路変更回数」とよぶ。）ｎを「０」に初期化（ｎ＝０）する（ステップＳ１）。
【０００８】
次に、ネットワーク制御装置は、各ノード間の接続関係を示すトポロジ情報や、リンク情報、全てのフローの経路とそのトラヒック量を含むフロー情報（全てのフローのフロー情報）を取得する（ステップＳ２）。なお、リンク情報は、各リンクのコスト（距離）を示すリンクメトリック、各リンクの最大帯域、各リンクのリンクトラヒック量の情報を含む。
【０００９】
続いて、ネットワーク制御装置は、取得したリンク情報（各リンクの最大帯域および各リンクのリンクトラヒック量）に基づき、ネットワーク内の各リンクのリンク使用率（リンクトラヒック量／リンクの最大帯域）を計算することにより、最大リンク使用率を計算する（ステップＳ３）。なお、この計算により、最大リンク使用率が計算されると共に、「最大リンク使用率となるリンク」が特定される。
【００１０】
そして、ネットワーク制御装置は、ステップＳ２において取得した全てのフローのフロー情報の中で、最大リンク使用率となるリンクを通るフローに対し、前記したフロー選択条件（ａ）「最大リンク使用率となるリンクを通らない。」、フロー選択条件（ｂ）「経路変更することによりネットワーク全体の最大リンク使用率が低下する。」の両方を満たすように経路変更したときの経路の最短経路と、その経路に変更した場合の最大リンク使用率を計算する（ステップＳ４）。
【００１１】
次に、ネットワーク制御装置は、ステップＳ４の結果、フロー選択条件（ａ），（ｂ）の両方を満たすフローとその経路が存在するか否かを判定する（ステップＳ５）。ネットワーク制御装置は、フロー選択条件（ａ），（ｂ）の両方を満たすフローとその経路が１つ以上存在する場合には（ステップＳ５→Ｙｅｓ）、次のステップＳ６に進む。一方、フロー選択条件（ａ），（ｂ）の両方を満たすフローとその経路が存在しない場合には（ステップＳ５→Ｎｏ）、ステップＳ８に進む。
【００１２】
ステップＳ６において、ネットワーク制御装置は、経路変更の対象となり得るフローが１つ以上存在することから、フロー経路変更回数ｎに「１」を追加する（ｎ＝ｎ＋１）。
【００１３】
続いて、ネットワーク制御装置は、ステップＳ４において計算した１つ以上のフローの中で、フローをその経路に変更した場合、つまり、計算したフローそれぞれを変更先経路に変更した場合における最大リンク使用率が最小値となるフローとその変更先経路を抽出する（ステップＳ７）。これにより、フロー経路変更回数ｎ（ｎ＝１，２，…）において経路変更の対象となるフローとその変更先経路、その経路に変更した場合の最大リンク使用率（および最大リンク使用率となるリンク）が計算される。
なお、ネットワーク制御装置は、抽出したフローとその変更先経路の組み合わせが１つの場合は、その抽出したフローと変更先経路の組み合わせを、その時点のフロー経路変更回数ｎ（ｎ回目の経路変更時）における変更対象となるフローとその変更先経路として決定する。また、ネットワーク制御装置は、抽出したフローとその変更先経路の組み合わせが複数ある場合には、その時点のフロー経路変更回数ｎ（ｎ回目の経路変更時）における変更対象となるフローとその変更先経路との組み合わせをその複数の中からランダムに１つ決定する。
【００１４】
次に、ネットワーク制御装置は、ステップＳ３に戻り、ステップＳ７で決定したフローが、最大リンク使用率が最小値となる変更先経路に変更されたものとして、最大リンク使用率を（再）計算する。
そして、ネットワーク制御装置は、前記したステップＳ４の処理を再度行い、フロー選択条件（ａ）、（ｂ）の両方を満たすフローを計算し、経路変更の対象となるフローとその経路が存在するか否かの判定（ステップＳ５）を行う。
【００１５】
ステップＳ５において、フロー選択条件（ａ），（ｂ）の両方を満たすフローとその経路が存在しない場合には（ステップＳ５→Ｎｏ）、ネットワーク制御装置は、ステップＳ８に進む。
ステップＳ８において、ネットワーク制御装置は、フロー経路変更回数が各ｎ（ｎ＝１，２，…）回での経路変更の対象となるフローとその変更先経路、フロー経路変更回数ｎ（ｎ＝１，２，…）に相当する変更順番、最終的に経路変更を終えた経路での最大リンク使用率を出力する。
【００１６】
このように、従来の最大リンク使用率を低下させるためのフロー経路変更の制御手法においては、入力情報として、全てのフローの経路とそのトラヒック量とを含むフロー情報を取得した上で、フロー選択条件（ａ）、（ｂ）の両方を満たす、つまり、最大リンク使用率となるリンクを通らず、経路変更することによりネットワーク全体の最大リンク使用率が低下するフローとその変更先経路を抽出することにより、最大リンク使用率を低下させていた。
【先行技術文献】
【非特許文献】
【００１７】
【非特許文献１】米津 遥、他、「リンクパワーオフによるネットワーク省電力化のための高速トポロジ計算手法」電子情報通信学会、信学技報、ＣＳ、通信方式１１０巻２０号、p.17-19
【発明の概要】
【発明が解決しようとする課題】
【００１８】
従来の最大リンク使用率を低下させるためのフロー経路変更の制御手法においては、入力情報として、全てのフローの経路とそのトラヒック量とを含むフロー情報を取得した上で、最大リンク使用率を低下させるために、経路変更の対象となるフローとその変更先経路を抽出する処理を実行している。しかしながら、全てのフローの総数は、ネットワーク内のノード数の約２乗に比例する数となり、特にノード数が非常に多いネットワーク（例えば、ノード数が1000台）において、全てのフローを処理対象とするための処理負荷が大きかった。また、フローには、トラヒック量の少ないフローも多数含まれており、そのようなトラヒック量の少ないフローについて仮に経路変更を実行したとしても、リンク使用率をわずかしか低下させることができず、充分な効果を得られるものではなかった。
【００１９】
このような背景に鑑みて本発明がなされたのであり、本発明は、処理負荷を低減した上で、最大リンク使用率を低下させることができるフロー経路変更計算装置を提供することを課題とする。
【課題を解決するための手段】
【００２０】
前記した課題を解決するため、請求項１に記載の発明は、複数のノードと前記複数のノード間を接続する複数のリンクとを備えるネットワーク内を流れるフローのうち、変更対象のフローに対する変更先経路を演算するフロー経路変更計算装置であって、前記フロー経路変更計算装置は、記憶部と、最大リンク使用率計算部と、出力情報処理部と、を備え、前記記憶部には、（１）前記ノード間の接続関係を示すトポロジ情報、（２）前記リンクを経由する際のコストを示すリンクメトリック、各リンクの最大帯域および各リンクのリンクトラヒック量を含むリンク情報、および、（３）リンク使用率が所定の閾値以上となるリンクを通る前記フローのフロー経路とそのトラヒック量を含むフロー情報、が記憶されており、前記最大リンク使用率計算部が、前記各リンクの最大帯域および前記各リンクのリンクトラヒック量に基づき、前記ネットワーク内の各リンクの前記リンク使用率を計算して、最大リンク使用率および当該最大リンク使用率となるリンクを取得し、当該取得した最大リンク使用率となるリンクを通るフローの中で、（条件Ａ）当該最大リンク使用率となるリンクを通らない、および、（条件Ｂ）経路変更により最大リンク使用率となるリンクを変更しない、を満たすフローの最短経路と、当該最短経路に変更した場合の最大リンク使用率を計算し、当該最大リンク使用率が最小値となるフローを変更対象のフローとし、当該変更対象のフローとその変更先経路との組み合わせを決定し、当該計算した最大リンク使用率となるリンクを通るフローの中で、前記変更対象のフローとして決定したフロー以外のフローに対し、前記（条件Ａ）および（条件Ｂ）を満たし、前記計算した最大リンク使用率が最小値となる変更対象のフローとその変更先経路との組み合わせの決定処理を、前記（条件Ａ）および（条件Ｂ）を満たす前記フローとその変更先経路の組み合わせが存在しなくなるまで繰り返し、前記出力情報処理部が、前記決定された変更対象のフローとその変更先経路、および、前記計算した最大リンク使用率を出力することを特徴とするフロー経路変更計算装置とした。
【００２１】
このようにすることで、フロー経路変更計算装置は、全てのフローのフロー情報を取得するのではなく、リンク使用率が所定の閾値以上となるリンクを通るフローのフロー情報（一部のフローのフロー情報）を取得して、最大リンク使用率を低下させることが可能となるため、フロー経路変更計算処理装置の処理負荷を低減した上で、変更対象となるフローとその変更先経路、経路変更後の最大リンク使用率を計算することができる。
【００２２】
請求項２に記載に発明は、前記最大リンク使用率計算部が、前記（条件Ａ）および（条件Ｂ）を満たす前記フローとその変更先経路の組み合わせが存在しない場合に、（条件ａ）当該最大リンク使用率となるリンクを通らない、および、（条件ｂ）経路変更により前記ネットワーク全体の最大リンク使用率が低下する、を満たすフローの最短経路と、当該最短経路に変更した場合の最大リンク使用率を計算し、当該最大リンク使用率が最小値となる変更対象のフローとその変更先経路との組み合わせを決定し、当該計算した最大リンク使用率となるリンクを通るフローの中で、前記変更対象のフローとして決定したフロー以外のフローに対し、前記（条件ａ）および（条件ｂ）を満たし、前記計算した最大リンク使用率が最小値となる変更対象のフローとその変更先経路の組み合わせの決定処理を、前記（条件ａ）および（条件ｂ）を満たす前記フローとその変更先経路との組み合わせが存在しなくなるまで繰り返すことを特徴とする請求項１に記載のフロー経路変更計算装置とした。
【００２３】
このようにすることで、フロー経路変更計算装置は、最大リンク使用率となるリンクをできる限り変更しないようにし、最大リンク使用率を低下するためには、最大リンク使用率となるリンクを変更せざるを得なくなった場合のみ、最大リンク使用率となるリンクを変更して、変更対象となるフローとその変更先経路を決定することができる。
【００２４】
請求項３に記載の発明は、前記最大リンク使用率計算部が、前記変更対象のフローとその変更先経路の組み合わせを決定する度に、当該組み合わせに対応付けてその決定順で示される前記フローの変更順番をフロー経路変更回数として前記記憶部に記憶し、前記出力情報処理部は、前記決定された変更対象のフローとその変更先経路の組み合わせを、前記フロー経路変更回数に対応付けて出力することを特徴とする請求項１または請求項２に記載のフロー経路変更計算装置とした。
【００２５】
このようにすることで、フロー経路変更計算装置は、変更対象となるフローとその変更先経路に対応付けて、変更順番をフロー経路変更回数として出力することができる。よって、フロー経路変更計算装置が出力した変更順番に基づき、実際にフローの経路を変更する際に、MakeBeforeBreakによりフロートラヒックを無瞬断とすることができる。
【００２６】
請求項４に記載の発明は、前記記憶部には、さらに、前記変更対象のフローおよびその変更先経路を決定する計算を実行する際に計算負荷を低減するためのパラメータ情報として、前記フロー経路変更回数の上限値、前記最大リンク使用率の下限値、経路変更の対象となるフローの帯域下限値、変更先経路の経路メトリック長に関する制約パラメータの少なくとも１つが記憶されており、前記最大リンク使用率計算部が、前記パラメータ情報の少なくとも１つを設定して、前記変更対象のフローおよびその変更先経路を計算することを特徴とする請求項３に記載のフロー経路変更計算装置とした。
【００２７】
このようにすることで、フロー経路変更計算装置は、記憶部に記憶された、計算負荷を低減するためのパラメータ情報に基づき、過大に処理負荷が掛かったり、効果が僅かしか得られない処理を実行する必要をなくすことができる。よって、フロー経路変更計算装置の処理負荷を低減させて計算時間を短縮することができる。
【００２８】
請求項５に記載の発明は、前記最大リンク使用率計算部が、前記最大リンク使用率となるリンクを通るフローの中で、前記（条件Ａ）および（条件Ｂ）、または、前記（条件ａ）および（条件ｂ）を満たし、経路変更により前記最大リンク使用率が最小値となる変更対象のフローとその変更先経路の組み合わせが複数存在した場合に、以下の選択基準１〜４を順に適応して、前記変更対象のフローとその変更先経路とを決定すること
（選択基準１）（経路変更後の経路長−経路変更前の経路長）が最小となる経路とその経路を通るフローを選択する、
（選択基準２）フロートラヒックが最大のフローとそのフローの変更経路とを選択する、
（選択基準３）経路変更後の各リンクのリンク使用率の最大値が最小となる経路とその経路を通るフローを選択する、
（選択基準４）ランダムにフローとその変更経路を選択する、
を特徴とする請求項２に記載のフロー経路変更計算装置とした。
【００２９】
このようにすることで、最大リンク使用率となるリンクを通るフローの中で、経路変更により最大リンク使用率が最小値となる変更対象のフローとその変更先経路の組み合わせが複数存在した場合に、選択基準１〜４を順に適応して、変更対象のフローとその変更先経路とを決定することができる。よって、フロー経路変更計算装置は、ランダムに変更対象のフローとその変更先経路とを決定する場合に比べ、より、最大リンク使用率を低減することが可能となる。
【発明の効果】
【００３０】
本発明によれば、処理負荷を低減した上で、最大リンク使用率を低下させるフロー経路変更計算装置を提供することができる。
【図面の簡単な説明】
【００３１】
【図１】従来技術による経路変更と、本実施形態に係るフロー経路変更計算装置による経路変更との相違を説明するための図である。
【図２】本実施形態に係るフロー経路変更計算装置を含むネットワークシステムの構成例を示す図である。
【図３】本実施形態に係るフロー経路変更計算装置の構成例を示す機能ブロック図である。
【図４】本実施形態に係るフロー経路変更計算装置の処理の流れを示すフローチャートである。
【図５】本実施形態に係るフロー経路変更計算装置の処理の流れを示すフローチャートである。
【図６】本実施形態の変形例に係るフロー経路変更計算装置の構成例を示す機能ブロック図である。
【図７】フローとその変更先経路の選択処理例の「パターン１」を説明するための図である。
【図８】フローとその変更先経路の選択処理例の「パターン２」を説明するための図である。
【図９】フローとその変更先経路の選択処理例の「パターン３」を説明するための図である。
【図１０】本実施形態の変形例に係るフロー経路変更計算装置の処理の流れを示すフローチャートである。
【図１１】本実施形態の変形例に係るフロー経路変更計算装置の処理の流れを示すフローチャートである。
【図１２】従来の最大リンク使用率を低下させるためのフロー経路変更の制御手法を示すフローチャートである。
【発明を実施するための形態】
【００３２】
次に、本発明を実施するための形態（以下、「本実施形態」という。）におけるフロー経路変更計算装置１について説明する。
【００３３】
＜概要＞
まず、本発明に係るフロー経路変更計算装置１が実行する処理の概要について、従来技術を適用した場合と比較して説明する。
【００３４】
本実施形態に係るフロー経路変更計算装置１は、ネットワークにおける最大リンク使用率を低下させるため、経路変更の対象となるフローとその変更先経路、フローを経路変更する変更順番、および、経路変更を行った場合の最大リンク使用率を計算する装置である。
従来のフロー経路変更の制御手法を用いた、最大リンク使用率を低下させるためのネットワーク制御装置では、前記したように、入力情報として、全てのフローの経路とそのトラヒック量を含むフロー情報を取得した上で（図１２のステップＳ２）、最大リンク使用率を低下させるために経路変更の対象となるフローとその変更先経路を抽出する処理を実行している。一方、本実施形態に係るフロー経路変更計算装置１は、「リンク使用率が所定の閾値（割合）以上となるリンクを通るフロー」のみのフロー情報（一部のフローのフロー情報）を入力情報として取得し、最大リンク使用率を低下させるために経路変更の対象となるフローとその変更経路を抽出する処理を実行する。
【００３５】
また、従来のフロー経路変更の制御手法では、フローの経路を変更するごとに、最大リンク使用率となるリンクが頻繁に替わる可能性がある。これにより、元々リンク使用率が所定の閾値（割合）未満であったリンクがフローの経路変更により最大リンク使用率となるリンクになった場合に、経路変更する他のフローが存在せず、最大リンク使用率がそれより低下できなくなる場合がある。
そこで、本実施形態に係るフロー経路変更計算装置１は、フローの経路変更処理において、最大リンク使用率を従来の手法に比べより低下させるために、以下に示す技術思想を導入する。
（１）最大リンク使用率となるリンクをできる限り変更しないようにする。
（２）最大リンク使用率を下げるためには、最大リンク使用率となるリンクを変更せざるを得なくなった場合のみ、最大リンク使用率となるリンクの変更を許す。
技術思想（１）についての具体例を、図１を参照し、従来技術（従来のフロー経路変更の制御手法）を適用した場合と比較して説明する。なお、技術思想（２）については、後記する図４，図５において詳細に説明する。
【００３６】
図１は、ネットワークの最大リンク使用率を低下させるための、従来技術による経路変更と、本実施形態に係るフロー経路変更計算装置１による経路変更との相違を説明するための図である。なお、ここでは、フロー情報として、「リンク使用率が所定の閾値（割合）以上となるリンクを通るフロー」のみを入力情報として取得し、従来技術による処理と本実施形態による処理とを実行する例として説明する。
【００３７】
図１（ａ）は、初期状態として、ノード「Ａ」，「Ｂ」，「Ｃ」それぞれの間に、最大帯域が（１０Ｇｂｐｓ：なお、以下において「ｂｐｓ（bits per second）」の記載を省略する。）のリンクが設定されている状態で、リンク使用率が所定の閾値（例えば、６割）以上となるリンクを通るフロー情報のみを取得した例を示している。ここで、図１（ａ）に示すように、リンク使用率が６割以上となるリンクは、リンクＡＢ（ノードＡ−Ｂ間のリンク）（リンクトラヒック量：９Ｇ）であり、このリンクＡＢを通る各フローのトラヒック量は、「４Ｇ」，「２Ｇ」，「２Ｇ」，「１Ｇ」である。なお、リンクＢＣ（ノードＢ−Ｃ間のリンク）（リンクトラヒック量：２Ｇ）、および、リンクＡＣ（ノードＡ−Ｃ間のリンク）（リンクトラヒック量：２.５Ｇ）については、リンク使用率が６割以上ではないため、当該リンクを通るフローのフロー情報は取得されない。また、図１（ａ）において、最大リンク使用率となるリンクは、リンクＡＢ（リンクトラヒック量：９Ｇ）である。
【００３８】
図１（ａ）に示す初期状態において、従来技術による経路変更（図１２参照）によれば、図１（ｂ）に示すように、最大リンク使用率となるリンクＡＢを通るフローの中で、変更先経路の最大リンク使用率が最小値となるフローとして、４Ｇのフローが選択され、ノード「Ｂ」→「Ｃ」→「Ａ」を通る経路（変更先経路）が最短経路として計算される。そして、変更先経路において、最大リンク使用率となるリンクとしてリンクＡＣ（６.５Ｇ）が計算される。ここで、最大リンク使用率となるリンクＡＣ（６.５Ｇ）には、経路変更されてきた４Ｇのフローのフロー情報のみしか存在しないため、これ以上の経路変更をすることができず、最大リンク使用率となるリンクは、リンクＡＣであり、その最大リンク使用率は「６.５Ｇ／１０Ｇ」となる。
なお、本実施形態においては、説明を簡単にするため、全てのリンクの最大帯域は同じである（例えば、１０Ｇ）であるとし、最大リンク使用率の大きさを比較するための指標として、リンクトラヒック量を用いる。つまり、「最大リンク使用率は「６．５Ｇ」となる。」というように、以下においてリンクトラヒック量の記載のみにより、最大リンク使用率の大きさを表記する。
【００３９】
一方、本実施形態に係るフロー経路変更計算装置１は、図１（ａ）に示す初期状態の場合に、最大リンク使用率であるリンクＡＢをできる限り変更しないようにして（技術思想（１））、最大リンク使用率が最も低下するフローの経路変更を行う。図１（ｃ）においては、フロー経路変更回数（ｎ＝１：１回目）として、２Ｇのフローが選択され、ノード「Ｂ」→「Ｃ」→「Ａ」を通る経路（変更先経路）が最短経路として計算される。この時点の最大リンク使用率となるリンクはリンクＡＢのままであり、その最大リンク使用率は「７Ｇ」となる。続いて、フロー経路変更回数（ｎ＝２：２回目）として、図１（ｄ）に示すように、１Ｇのフローが選択され、ノード「Ｂ」→「Ｃ」→「Ａ」を通る経路（変更先経路）が最短経路として計算される。この２回の経路変更を実行した時点において、最大リンク使用率となるリンクはリンクＡＢのままであり、その最大リンク使用率は「６Ｇ」となる。
よって、従来技術による経路変更により低下させた最大リンク使用率（図１（ｂ）の「６.５Ｇ」）よりも、本実施形態に係るフロー経路変更計算装置１による経路変更による最大リンク使用率（図１（ｄ）の「６Ｇ」）の方がより低くなる。つまり、本実施形態に係るフロー経路変更計算装置１により、従来技術に比べ、最大リンク使用率を低下させることが可能となる。
【００４０】
このように、本実施形態に係るフロー経路変更計算装置１によれば、「リンク使用率が所定の閾値（割合）以上となるリンクを通るフロー」のみのフロー情報を入力情報として取得し、つまり、一部のフローのフロー情報を利用することによって、処理負荷を低減した上で、最大リンク使用率をより低下させることが可能となる。
【００４１】
＜ネットワークシステムの構成＞
次に、図２を参照して、本実施形態に係るフロー経路変更計算装置１を含むネットワークシステム１０００の構成について説明する。
図２に示すように、ネットワークシステム１０００は、複数のノード２、および、各ノード２間を接続することにより通信経路を提供するリンク３により構成される通信ネットワーク４（以下、単に「ネットワーク」という場合がある。）と、各ノード２との間で通信可能に接続されるフロー経路変更計算装置１とを含んで構成される。このフロー経路変更計算装置１は、各ノード２やネットワーク管理装置（不図示）等から、トポロジ情報や、リンク情報、フロー情報等を取得する。そして、フロー経路変更計算装置１は、現時点のネットワーク（通信ネットワーク４）における最大リンク使用率を低下させるため、経路変更の対象となるフローとその変更先経路、フローを経路変更する変更順番、および、最大リンク使用率を計算する。
【００４２】
＜フロー経路変更計算装置＞
続いて、本実施形態に係るフロー経路変更計算装置１について説明する。フロー経路変更計算装置１は、入力情報として全てのフローのフロー情報（フロー経路とトラヒック量）を取得するのではなく、一部のフローのフロー情報を取得した上で、ネットワークの最大リンク使用率をより低下させるように、変更対象となるフローとその変更先経路を計算する。このとき、フロー経路変更計算装置１は、最大リンク使用率となるリンクをできる限り変更しないようにし、最大リンク使用率を下げるためには、最大リンク使用率となるリンクを変更せざるを得なくなった場合のみ、最大リンク使用率となるリンクを変更する処理を実行する（前記した技術思想（１），（２））。これにより、フロー経路変更計算装置１は、従来の手法を単に適用する場合に比べ、最大リンク使用率をより低下させることができる。
【００４３】
図３は、本実施形態に係るフロー経路変更計算装置１の構成例を示す機能ブロック図である。
フロー経路変更計算装置１は、図３に示すように、入力部１０と、制御部２０と、メモリ部３０と、記憶部４０と、出力部５０とを備えて構成される。
【００４４】
入力部１０は、通信ネットワーク４（図２参照）内のノード２や、ネットワーク管理装置（不図示）等から、トポロジ情報１００、リンク情報２００およびフロー情報３００を取得し、制御部２０（入力情報処理部２１）に引き渡す。
ここで、トポロジ情報１００は、各ノード２間の接続関係を示す情報である。
リンク情報２００は、各リンクのリンクメトリック、各リンクの最大帯域および各リンクのリンクトラヒック量を含む情報である。リンクメトリックは、各リンクのコスト（距離）を示す情報であり、最短経路を探索する際に参照される。リンクの最大帯域は、各リンクが収容可能な最大の帯域を示す情報である。リンクトラヒック量は、測定時点においてそのリンクを通るトラヒック量である。
フロー情報３００には、一部または全部のフローのフロー経路とそのフローのトラヒック量を含む情報が格納される。フロー経路変更計算装置１は、このフロー情報３００を、「リンク使用率が所定の閾値（割合）以上となるリンクを通るフロー」、つまり、一部のフローのフロー情報３００である入力情報として、ネットワーク管理装置（不図示）等から取得してもよい。また、フロー経路変更計算装置１は、ネットワーク内の全てのフローのフロー情報３００をネットワーク管理装置（不図示）等から取得した上で、後記する制御部２０（最大リンク使用率計算部２２）が、「リンク使用率が所定の閾値（割合）以上となるリンクを通るフロー」のフロー情報３００を抽出して処理するようにしてもよい。
なお、この入力部１０は、通信回線を介して情報の送受信を行う通信インタフェースと、図示を省略したキーボード等の入力手段から情報の入力を行う入力インタフェースとから構成される。
【００４５】
制御部２０は、フロー経路変更計算装置１全体の制御を司り、入力情報処理部２１、最大リンク使用率計算部２２および出力情報処理部２３を含んで構成される。
【００４６】
入力情報処理部２１は、入力部１０を介して、トポロジ情報１００、リンク情報２００およびフロー情報３００を取得し、記憶部４０に記憶する。
【００４７】
最大リンク使用率計算部２２は、記憶部４０に記憶されている、トポロジ情報１００、リンク情報２００およびフロー情報３００に基づき、現時点におけるネットワーク（通信ネットワーク４）における最大リンク使用率を低下させるために、経路変更の対象となるフローとその変更先経路、フローを経路変更する変更順番、および、処理結果としての最大リンク使用率、を計算する。
なお、最大リンク使用率計算部２２が計算処理に利用するフロー情報３００は、予めネットワーク管理装置（不図示）等から、「リンク使用率が所定の閾値（割合）以上となるリンクを通るフロー」、つまり、一部のフローのフロー情報３００を入力情報として取得し記憶部４０に記憶していた場合には、その一部のフローのフロー情報３００をそのまま利用する。また、全てのフローのフロー情報３００が記憶部４０に記憶されている場合には、最大リンク使用率計算部２２が、各リンクのリンク使用率を、リンク情報２００のリンクの最大帯域とリンクトラヒック量に基づき計算し、「リンク使用率が所定の閾値（割合）以上となるリンクを通るフロー」のみのフロー情報を、記憶部４０に記憶された全てのフローのフロー情報３００の中から抽出して利用する。
【００４８】
この最大リンク使用率計算部２２は、前記した一部のフローのフロー情報３００を取得した上で、ネットワークの最大リンク使用率をより低下させるように、フローの経路を変更する。このとき、フロー経路変更計算装置１は、最大リンク使用率となるリンクをできる限り変更しないようにするため、最大リンク使用率となるリンクを通るフローの中から、まず、下記のフロー選択条件（Ａ），（Ｂ）を満たす最短経路に経路変更した場合に、最大リンク使用率が最小となるフローを選択する。
【００４９】
フロー選択条件（Ａ）：最大リンク使用率となるリンクを通らない。
フロー選択条件（Ｂ）：経路変更により最大リンク使用率となるリンクを変更しない。
【００５０】
そして、最大リンク使用率計算部２２は、上記のフロー選択条件（Ａ），（Ｂ）の両方を満たすフローを、最大リンク使用率となるリンクを通るフローの中から１つずつ選択することにより抽出し、当該条件を満たすフローが存在しなくなった場合のみ、最大リンク使用率となるリンクの変更が可能な従来技術と同様の条件であるフロー選択条件（ａ），（ｂ）により、変更対象となるフローとその変更先経路、そのときの最大リンク使用率を計算する。
【００５１】
出力情報処理部２３は、最大リンク使用率計算部２２が計算した、経路変更の対象となるフローとその変更先経路、フローを経路変更する変更順番、および、処理結果としての最大リンク使用率の情報を、出力部５０を介して出力する。
【００５２】
メモリ部３０は、ＲＡＭ（Random Access Memory）等の一次記憶手段からなり、制御部２０によるデータ処理に必要な情報を一時的に記憶する。
【００５３】
記憶部４０は、ハードディスクやフラッシュメモリ等の記憶手段からなり、トポロジ情報１００や、リンク情報２００、フロー情報３００等が記憶される。なお、トポロジ情報１００、リンク情報２００およびフロー情報３００については、前記して説明したため、ここでの説明は省略する。
【００５４】
出力部５０は、制御部２０の出力情報処理部２３から取得した処理結果の情報である、フロー経路変更後のリンク情報４００および経路変更後のフロー情報５００を、モニタ等の出力手段（不図示）やネットワーク管理装置（不図示）等に出力する。ここで、フロー経路変更後のリンク情報４００には、最終的な処理結果である最大リンク使用率（およびその最大リンク使用率となるリンク）の情報が含まれる。また、経路変更後のフロー情報５００には、経路変更の対象となるフローとその変更先経路、および、フローを経路変更する変更順番の情報が含まれる。
なお、この出力部５０は、通信回線を介して情報の送受信を行う通信インタフェースと、図示を省略したモニタ等の出力手段への情報の出力を行う出力インタフェースとから構成される。
【００５５】
なお、このフロー経路変更計算装置１をプログラム実行処理により実現する場合、記憶部４０には、フロー経路変更計算装置１の制御部２０の機能を実現するためのプログラムが格納される。そして、制御部２０は、記憶部４０に記憶されたプログラムを、不図示のＣＰＵ（Central Processing Unit）が、メモリ部３０であるＲＡＭ等に展開し実行することにより実現される。
【００５６】
＜処理の流れ＞
次に、本実施形態に係るフロー経路変更計算装置１の処理の流れについて図４および図５を参照して説明する（適宜図３参照）。
図４および図５は、本実施形態に係るフロー経路変更計算装置１の処理の流れを示すフローチャートである。なお、フロー経路変更計算装置１の記憶部４０（図３参照）には、入力部１０を介して、通信ネットワーク４（図２参照）内のノード２や、ネットワーク管理装置（不図示）等から、トポロジ情報１００、リンク情報２００およびフロー情報３００が入力情報として入力され、入力情報処理部２１の処理により、記憶部４０内に記憶されているものとする。また、ここでフロー情報３００には、全てのフローのフロー情報３００ではなく、「リンク使用率が所定の閾値（割合）以上となるリンクを通るフロー」、つまり、一部のフローのフロー情報３００が記憶されているものとして説明する。
【００５７】
図４に示すように、まず、フロー経路変更計算装置１の最大リンク使用率計算部２２は、フローの経路変更回数のパラメータ（フロー経路変更回数）ｎを「０」に初期化（ｎ＝０）する（ステップＳ１０）。
なお、このフロー経路変更回数ｎは、フロー経路変更計算装置１が処理結果として出力する変更順番を示すものであり、ｎ＝１のときが１回目の経路変更、ｎ＝２のときが２回目の経路変更等となる。そして、最大リンク使用率計算部２２が、後記するステップＳ１６において決定した変更対象となるフローとその変更先経路についての情報に対応付けて、このフロー経路変更回数ｎの情報が記憶される。
【００５８】
次に、最大リンク使用率計算部２２は、トポロジ情報１００、リンク情報２００および一部のフローのフロー情報３００を、記憶部４０から取得する（ステップＳ１１）。
【００５９】
続いて、最大リンク使用率計算部２２は、取得したリンク情報２００（各リンクの最大帯域および各リンクのリンクトラヒック量）に基づき、ネットワーク内の各リンクのリンク使用率を計算することにより、最大リンク使用率を計算する（ステップＳ１２）。この計算により、最大リンク使用率が計算されると共に、「最大リンク使用率となるリンク」が特定される。
なお、最大リンク使用率計算部２２は、計算した最大リンク使用率（および最大リンク使用率となるリンク）の情報を、その時点のフロー経路変更回数ｎの情報に対応付けて、メモリ部３０（図３参照）に記憶しておく。また、最大リンク使用率計算部２２は、最大リンク使用率を計算する過程で算出した、各リンクのリンク使用率についても、メモリ部３０に記憶しておくようにしてもよい。
【００６０】
そして、最大リンク使用率計算部２２は、取得した一部のフローのフロー情報３００の中で、ステップＳ１２において計算した最大リンク使用率となるリンクを通るフローに対し、フロー選択条件（Ａ）「最大リンク使用率となるリンクを通らない。」、フロー選択条件（Ｂ）「経路変更により最大リンク使用率となるリンクを変更しない。」の両方を満たす経路の最短経路と、その経路に変更した場合の最大リンク使用率を計算する（ステップＳ１３）。
【００６１】
次に、最大リンク使用率計算部２２は、ステップＳ１３の結果、フロー選択条件（Ａ），（Ｂ）の両方を満たすフローとその経路が存在するか否かを判定する（ステップＳ１４）。最大リンク使用率計算部２２は、フロー選択条件（Ａ），（Ｂ）の両方を満たすフローとその経路が１つ以上存在する場合には（ステップＳ１４→Ｙｅｓ）、次のステップＳ１５に進む。一方、フロー選択条件（Ａ），（Ｂ）の両方を満たすフローとその経路が存在しない場合には（ステップＳ１４→Ｎｏ）、ステップＳ１７（図５参照）に進む。
【００６２】
ステップＳ１５において、最大リンク使用率計算部２２は、経路変更の対象となり得るフローが１つ以上存在することから、フロー経路変更回数ｎに「１」を追加する（ｎ＝ｎ＋１）。
【００６３】
続いて、最大リンク使用率計算部２２は、ステップＳ１３（または後記するステップＳ１７（図５参照））において計算した１つ以上のフローの中で、フローをその経路に変更した場合、つまり、計算したフローそれぞれを変更先経路に変更した場合における最大リンク使用率が最小値となるフローとその変更先経路とを抽出する（ステップＳ１６）。これにより、フロー経路変更回数ｎ（ｎ＝１，２，…）において経路変更の対象となるフローとその変更先経路、その経路に変更した場合の最大リンク使用率（および最大リンク使用率となるリンク）が計算される。
なお、最大リンク使用率計算部２２は、抽出したフローとその変更先経路の組み合わせが１つの場合は、その抽出したフローと変更先経路の組み合わせを、その時点のフロー経路変更回数ｎ（ｎ回目の経路変更時）における変更対象となるフローとその変更先経路として決定する。また、最大リンク使用率計算部２２は、抽出したフローとその変更先経路の組み合わせが複数ある場合には、その時点のフロー経路変更回数ｎ（ｎ回目の経路変更時）における変更対象となるフローとその変更先経路との組み合わせをその複数の中からランダムに１つ決定する。
また、最大リンク使用率計算部２２は、ステップＳ１６において決定したフローとその変更先経路の情報を、その時点のフロー経路変更回数ｎの情報に対応付けて、メモリ部３０（図３参照）に記憶しておく。
【００６４】
次に、最大リンク使用率計算部２２は、ステップＳ１２に戻り、ステップＳ１６で決定したフローが、最大リンク使用率が最小値となる変更先経路に変更されたものとして、最大リンク使用率を（再）計算する。
なお、最大リンク使用率計算部２２は、（再）計算した最大リンク使用率（および最大リンク使用率となるリンク）の情報を、その時点のフロー経路変更回数ｎの情報に対応付けて、メモリ部３０（図３参照）に記憶しておく。これにより、メモリ部３０では、最大リンク使用率（および最大リンク使用率となるリンク）の情報が上書きされて更新される。また、最大リンク使用率計算部２２は、最大リンク使用率を（再）計算する過程で算出した、各リンクのリンク使用率についても、メモリ部３０に記憶された情報を更新して記憶しておくようにしてもよい。
そして、最大リンク使用率計算部２２は、前記したステップＳ１３の処理を再度行い、フロー選択条件（Ａ）、（Ｂ）の両方を満たすフローを計算し、経路変更の対象となるフローとその経路が存在するか否かの判定（ステップＳ１４）を行う。
【００６５】
また、最大リンク使用率計算部２２は、ステップＳ１４において、フロー選択条件（Ａ），（Ｂ）の両方を満たすフローとその経路が存在しない場合には（ステップＳ１４→Ｎｏ）、ステップＳ１７（図５参照）に進む。
【００６６】
図５に示すように、ステップＳ１７において、最大リンク使用率計算部２２は、取得した一部のフローのフロー情報３００の中で、ステップＳ１２（図４参照）において計算した最大リンク使用率となるリンクを通るフローに対し、フロー選択条件（ａ）「最大リンク使用率となるリンクを通らない。」、フロー選択条件（ｂ）「経路変更することによりネットワーク全体の最大リンク使用率が低下する。」の両方を満たす経路の最短経路と、その経路に変更した場合の最大リンク使用率を計算する。
【００６７】
次に、最大リンク使用率計算部２２は、ステップＳ１７の結果、フロー選択条件（ａ），（ｂ）の両方を満たすフローとその経路が存在するか否かを判定する（ステップＳ１８）。最大リンク使用率計算部２２は、フロー選択条件（ａ），（ｂ）の両方を満たすフローとその経路が１つ以上存在する場合には（ステップＳ１８→Ｙｅｓ）、次のステップＳ１５（図４参照）に進む。なお、ステップＳ１５以降の処理は、前記した処理と同様であるので説明を省略する。
【００６８】
一方、ステップＳ１８において、フロー選択条件（ａ），（ｂ）の両方を満たすフローとその経路が存在しない場合には（ステップＳ１８→Ｎｏ）、ステップＳ１９に進む。
ステップＳ１９において、出力情報処理部２３（図３参照）は、フロー経路変更回数が各ｎ（ｎ＝１，２，…）回での経路変更の対象となるフローとその変更先経路、フロー経路変更回数ｎ（ｎ＝１，２，…）に相当する変更順番、最終的に経路変更を終えた経路での最大リンク使用率を、メモリ部３０（図３）を参照して出力する。また、出力情報処理部２３は、ステップＳ１２において最大リンク使用率計算部２２が最大リンク使用率を計算する過程で算出した各リンクのリンク使用率がメモリ部３０に記憶されている場合には、その情報を同時に出力するようにしてもよい。
【００６９】
このようにすることにより、本実施形態に係るフロー経路変更計算装置１は、「リンク使用率が所定の閾値（割合）以上となるリンクを通るフロー」のみのフロー情報を入力情報として取得し、つまり、一部のフローのフロー情報３００を利用することによって、処理負荷を削減した上で、最大リンク使用率となるリンクをできる限り変更しないようにすることにより、ネットワークの最大リンク使用率を、より低下させることが可能となる。
また、フロー経路変更計算装置１は、変更対象となるフローとその変更先経路に対応付けて、変更順番をフロー経路変更回数として出力することができる。よって、フロー経路変更計算装置が出力した変更順番に基づき、実際にフローの経路を変更する際に、MakeBeforeBreakによりフロートラヒックを無瞬断とすることができる。
【００７０】
なお、フロー経路変更計算装置１は、ステップＳ１４において、フロー選択条件（Ａ），（Ｂ）の両方を満たすフローとその経路が存在しない場合には（ステップＳ１４→Ｎｏ）、図５のステップＳ１７以降の処理に進み、従来と同様の手法により、経路変更の対象となるフローとその変更先経路を計算するものとした。しかしながら、フロー経路変更計算装置１は、フロー選択条件（Ａ），（Ｂ）の両方を満たすフローとその経路が存在しない場合に（ステップＳ１４→Ｎｏ）、ステップＳ１９に進み、計算結果を出力するようにしてもよい。
【００７１】
≪本実施形態の変形例≫
次に、本実施形態の変形例に係るフロー経路変更計算装置１ａについて、図６〜図１１を参照して説明する。
本実施形態の変形例に係るフロー経路変更計算装置１ａは、図３に示したフロー経路変更計算装置１の構成および作用効果を備えた上で、さらに、処理負荷を低減させ計算時間を短縮するために、ネットワークの設定条件に関するパラメータを導入する。また、図４のステップＳ１６において、経路変更により最大リンク使用率が最小値となるフローとその変更先経路の組み合わせが複数存在する場合における、変更対象となるフローおよびその変更先経路の選択基準を導入する。これにより、最大リンク使用率が最小値となる複数のフローおよび変更先経路の組み合わせの中からランダムに選択するのではなく、この選択基準に基づいて変更対象となるフローおよび変更先経路の組み合わせを選択することができるため、最大リンク使用率をより適切な値に低下させることができる。
【００７２】
＜変形例のフロー経路変更計算装置＞
図６は、本実施形態の変形例に係るフロー経路変更計算装置１ａの構成例を示す機能ブロック図である。図３に示したフロー経路変更計算装置１との違いは、最大リンク使用率計算部２２の中に、パラメータ設定部２２１およびフロー／経路選択部２２２を備えていること、さらに、記憶部４０の中に、パラメータ情報６００およびフロー／経路選択基準情報７００が記憶されていることである。なお、図３に示した各部と同一の機能を備える構成については、同一の名称と符号を付し、詳細な説明を省略する。
【００７３】
まず、パラメータ設定部２２１およびパラメータ情報６００について説明する。
パラメータ情報６００は、不図示のネットワーク管理装置等を介して予めフロー経路変更計算装置１ａに記憶される情報である。フロー経路変更計算装置１ａは、ネットワークの設定条件に関するパラメータを導入することにより、処理負荷を低減させて計算時間を短縮させる。
【００７４】
このパラメータには、例えば、以下に示す情報が設定される。
・Ｌ：フロー経路変更回数ｎの上限値
・Ｍ：最大リンク使用率の下限値
・Ｓ：経路変更可能なフローの帯域（トラヒック量）下限値
・α：変更先経路の制約パラメータ（経路メトリック長の制限）
【００７５】
「Ｌ：フロー経路変更回数ｎの上限値」のパラメータを設けることによる効果は、経路変更の対象となるフローが多数存在した場合に、フロー経路変更回数ｎの上限値を超える回数の経路変更を行わないようにし処理時間を短縮することである。また、その分の処理負荷を低減することも可能となる。
【００７６】
「Ｍ：最大リンク使用率の下限値」のパラメータを設けることによる効果は、ネットワークの最大リンク使用率が目標とする下限値に達した場合に、処理を終了することができるため、処理時間を短縮することができることである。また、その分の処理負荷を低減することも可能となる。
【００７７】
「Ｓ：経路変更可能なフローの帯域下限値」を設けることによる効果は、トラヒック量があまりに小さいフローについて経路変更を行わないことができることである。トラヒック量があまりに小さいフローについて経路変更を行っても、最大リンク使用率を低下させる効果が少ないのに加え、トラヒック量が小さいフローが大規模なネットワークにおいては多数存在する可能性が高いからである。
【００７８】
「α：変更先経路の制約パラメータ（経路メトリック長の制限）」を設けることによる効果は、例えば、経路メトリック長が「変更前の最短経路長＋α」より小さいフローのみを経路変更の対象とすることができることである。つまり、経路メトリック長が「変更前の最短経路長＋α」以上となり、あまりに経路長が長く迂回する経路を、経路変更の対象から除外することができる。
【００７９】
最大リンク使用率計算部２２内に設けられたパラメータ設定部２２１は、最大リンク使用率計算部２２が、最大リンク使用率となるリンクを通るフローの中から変更対象となるフローおよび変更先経路を選択して最大リンク使用率を低下させる処理を実行する際に、少なくとも１つ以上のパラメータを設定して処理を実行する。つまり、４つのパラメータすべてを設定してもよいし、４つのパラメータの中から１つ以上の任意のパラメータを設定し、処理を実行してもよい。
【００８０】
次に、フロー／経路選択部２２２およびフロー／経路選択基準情報７００について説明する。
フロー／経路選択部２２２は、最大リンク使用率計算部２２が、最大リンク使用率となるリンクを通るフローの中で、経路変更により最大リンク使用率が最小値となるフローとその変更先経路の組み合わせが複数存在した場合に、その複数のフローの中から、経路変更の対象となるフローとその変更先経路を、記憶部４０に記憶されたフロー／経路選択基準情報７００に基づき選択する。なお、本実施形態に係るフロー経路変更計算装置１においては、図４のステップＳ１６において、経路変更により最大リンク使用率が最小値となるフローとその変更先経路の組み合わせが複数存在した場合には、ランダムに経路変更の対象となるフローとその変更先経路を決定するものとしているが、変形例に係るフロー経路変更計算装置１ａにおいては、フロー／経路選択基準情報７００に基づき、経路変更の対象となるフローとその変更先経路を決定することより、最大リンク使用率をより低下することが可能となる。
【００８１】
ここで、記憶部４０に記憶されるフロー／経路選択基準情報７００には、経路変更により最大リンク使用率が最小値となるフローとその変更先経路の組み合わせが複数存在した場合におけるフローおよび変更先経路の選択基準として、以下に示す基準が記憶される。
【００８２】
〔選択基準１〕（経路変更後の経路長−経路変更前の経路長）が最小となる経路とその経路を通るフローを選択する。
〔選択基準２〕フロートラヒックが最大のフローとそのフローの変更経路とを選択する。
〔選択基準３〕経路変更後の各リンクのリンク使用率の最大値が最小となる経路とその経路と通るフローを選択する。
〔選択基準４〕ランダムにフローとその変更経路を選択する。
【００８３】
フロー／経路選択部２２２は、フロー／経路選択基準情報７００に記憶された上記の〔選択基準１〕〜〔選択基準４〕を参照して、例えば、以下のようにしてフローとその変更先経路とを決定する。
【００８４】
フロー／経路選択部２２２は、まず、〔選択基準１〕を適用する。次に、〔選択基準１〕でも、フローとその変更経路を１つに決定できない場合に〔選択基準２〕を適用する。次に、〔選択基準１〕および〔選択基準２〕を適用しても、フローとその変更経路を１つに決定できない場合に〔選択基準３〕を適用する。次に、〔選択基準１〕、〔選択基準２〕および〔選択基準３〕を適用しても、フローとその変更経路を１つに決定できない場合に〔選択基準４〕を適用する。
【００８５】
図７〜図９は、フロー／経路選択部２２２による、フローとその変更先経路の選択処理の例を説明するための図である。フロー／経路選択部２２２は、フロー／経路選択基準情報７００に記憶される〔選択基準１〕〜〔選択基準４〕を順に用いて、フローとその変更先経路を選択する例として３つのパターンについて例示する。
【００８６】
図７は、フローとその変更先経路の選択処理例の「パターン１」を説明するための図である。
図７に示すように、フロー「１」（フロートラヒック：３００Ｍ）、フロー「２」（フロートラヒック：２００Ｍ）、フロー「３」（フロートラヒック：２５０Ｍ）の３本のフローが、経路変更により最大リンク使用率が最小値となるフローとして存在する。
まず、フロー／経路選択部２２２は、〔選択基準１〕を適用し、（経路変更後の経路長−経路変更前の経路長）が最小となる経路として、フロー「２」，「３」が選択される。次に、フロー／経路選択部２２２は、〔選択基準２〕を適用し、フロートラヒックがより大きいフロー「３」の経路候補「３−１」が変更先経路として選ばれる。
【００８７】
図８は、フローとその変更先経路の選択処理例の「パターン２」を説明するための図である。
図８に示すように、フロー「１」（フロートラヒック：３００Ｍ）、フロー「２」（フロートラヒック：２００Ｍ）の２本のフローが、経路変更により最大リンク使用率が最小値となるフローとして存在する。
まず、フロー／経路選択部２２２は、〔選択基準１〕を適用し、（経路変更後の経路長−経路変更前の経路長）が最小となる経路として、フロー「１」，「２」が選択される。次に、フロー／経路選択部２２２は、〔選択基準２〕を適用し、フロートラヒックがより大きいフロー「１」が選択される。ここで、フロー「１」には、経路候補「１−１」と経路候補「１−２」の２つの経路候補が存在するため、フロー／経路選択部２２２は、〔選択基準３〕を適用し、経路変更後の各リンクのリンク使用率の最大値（経路候補「１−１」＝３５０Ｍ，経路候補「１−２」＝４００Ｍ）が最小となる経路として、フロー「１」の経路候補「１−１」が変更先経路として選ばれる。
【００８８】
図９は、フローとその変更先経路の選択処理例の「パターン３」を説明するための図である。
図９に示すように、フロー「１」（フロートラヒック：２００Ｍ）、フロー「２」（フロートラヒック：２００Ｍ）の２本のフローが、経路変更により最大リンク使用率が最小値となるフローとして存在する。
まず、フロー／経路選択部２２２は、〔選択基準１〕を適用し、（経路変更後の経路長−経路変更前の経路長）が最小となる経路として、フロー「１」，「２」が選択される。次に、フロー／経路選択部２２２は、〔選択基準２〕を適用し、フロートラヒックが等しいためフロー「１」，「２」の両方が選択される。続いて、フロー／経路選択部２２２は、〔選択基準３〕を適用し、経路変更後の各リンクのリンク使用率の最大値（経路候補「１−１」＝３５０Ｍ，経路候補「１−２」＝４００Ｍ、経路候補「２−１」＝３００Ｍ，経路候補「２−２」＝２５０Ｍ）が最小となる経路として、フロー「２」の経路候補「２−２」が変更先経路として選ばれる。
【００８９】
このようにして、フロー／経路選択部２２２は、最大リンク使用率となるリンクを通るフローの中で、経路変更により最大リンク使用率が最小値となるフローおよびその変更先経路の組み合わせが複数存在した場合に、フロー／経路選択基準情報７００を参照して最適なフローとその変更先経路とを、決定することができる。
【００９０】
＜処理の流れ＞
次に、本実施形態の変形例に係るフロー経路変更計算装置１ａの処理の流れについて図１０および図１１を参照して説明する（適宜図６参照）。
図１０および図１１は、本実施形態の変形例に係るフロー経路変更計算装置１ａの処理の流れを示すフローチャートである。なお、フロー経路変更計算装置１ａの記憶部４０（図６参照）には、入力部１０を介して、通信ネットワーク４（図２参照）内のノード２や、ネットワーク管理装置（不図示）等から、トポロジ情報１００、リンク情報２００およびフロー情報３００が入力情報として入力され、入力情報処理部２１の処理により、記憶部４０内に記憶されているものとする。また、ここでフロー情報３００には、全てのフローのフロー情報３００ではなく、「リンク使用率が所定の閾値（割合）以上となるリンクを通るフロー」、つまり、一部のフローのフロー情報３００が記憶されているものとして説明する。
また、ここでは、図６に示す記憶部４０内のパラメータ情報６００として、「Ｌ：フロー経路変更回数ｎの上限値」、「Ｍ：最大リンク使用率の下限値」、「Ｓ：経路変更可能なフローの帯域下限値」、および、「α：変更先経路の制約パラメータ（経路メトリック長の制限）」の４つのパラメータが記憶されており、最大リンク使用率計算部２２は、パラメータ設定部２２１の処理により、この４つのパラメータすべてを用いて、最大リンク使用率を低減するための処理を実行するものとする。さらに、記憶部４０内のフロー／経路選択基準情報７００として、前記した〔選択基準１〕〜〔選択基準４〕が記憶されているものとする。
【００９１】
図１０に示すように、まず、フロー経路変更計算装置１ａの最大リンク使用率計算部２２は、フローの経路変更回数のパラメータ（フロー経路変更回数）ｎを「０」に初期化（ｎ＝０）する（ステップＳ２０）。
【００９２】
次に、最大リンク使用率計算部２２は、トポロジ情報１００、リンク情報２００、一部のフローのフロー情報３００およびパラメータ情報６００を、記憶部４０から取得する（ステップＳ２１）。
【００９３】
続いて、最大リンク使用率計算部２２は、取得したリンク情報２００（各リンクの最大帯域および各リンクのリンクトラヒック量）に基づき、ネットワーク内の各リンクのリンク使用率を計算することにより、最大リンク使用率を計算する（ステップＳ２２）。この計算により、最大リンク使用率が計算されると共に、「最大リンク使用率となるリンク」が特定される。
なお、最大リンク使用率計算部２２は、計算した最大リンク使用率（および最大リンク使用率となるリンク）の情報を、その時点のフロー経路変更回数ｎの情報に対応付けて、メモリ部３０（図６参照）に記憶しておく。また、最大リンク使用率計算部２２は、最大リンク使用率を計算する過程で算出した、各リンクのリンク使用率についても、メモリ部３０に記憶しておくようにしてもよい。
【００９４】
次に、最大リンク使用率計算部２２は、パラメータ設定部２２１が設定した「Ｌ：フロー経路変更回数ｎの上限値」に基づき、フロー経路変更回数ｎがフロー経路変更回数ｎの上限値（Ｌ）以下であるか否か（ｎ≦Ｌ）を判定する（ステップＳ２３）。ここで、フロー経路変更回数ｎがフロー経路変更回数ｎの上限値（Ｌ）を超える場合には（ステップＳ２３→Ｎｏ）、ステップＳ３１（図１１参照）へ進む。一方、フロー経路変更回数ｎがフロー経路変更回数ｎの上限値（Ｌ）以下である場合には（ステップＳ２３→Ｙｅｓ）、次のステップＳ２４に進む。
【００９５】
ステップＳ２４において、最大リンク使用率計算部２２は、パラメータ設定部２２１が設定した「Ｍ：最大リンク使用率の下限値」に基づき、ステップＳ２２で計算した最大リンク使用率が最大リンク使用率の下限値（Ｍ）以上であるか否か（最大リンク使用率≧Ｍ）を判定する。ここで、最大リンク使用率が最大リンク使用率の下限値（Ｍ）より低い場合は（ステップＳ２４→Ｎｏ）、ステップＳ３１（図１１参照）へ進む。一方、最大リンク使用率が最大リンク使用率の下限値（Ｍ）以上である場合は（ステップＳ２４→Ｙｅｓ）、次のステップＳ２５に進む。
【００９６】
そして、最大リンク使用率計算部２２は、取得した一部のフローのフロー情報３００の中で、ステップＳ２２において計算した最大リンク使用率となるリンクを通り、かつ、フローの帯域（フロートラヒック）が経路変更可能なフローの帯域下限値（Ｓ）以上（フロー帯域≧Ｓ）となるフローに対し、フロー選択条件（Ａ）「最大リンク使用率となるリンクを通らない。」、フロー選択条件（Ｂ）「経路変更により最大リンク使用率となるリンクを変更しない。」、フロー選択条件（Ｃ）「経路メトリック長が『変更前の最短経路長＋α（変更先経路の制約パラメータ）』より小さい」の全てを満たす経路の最短経路と、その経路に変更した場合の最大リンク使用率を計算する（ステップＳ２５）。
【００９７】
次に、最大リンク使用率計算部２２は、ステップＳ２５の結果、フロー選択条件（Ａ），（Ｂ），（Ｃ）の全てを満たすフローとその経路が存在するか否かを判定する（ステップＳ２６）。最大リンク使用率計算部２２は、フロー選択条件（Ａ），（Ｂ），（Ｃ）の全てを満たすフローとその経路が１つ以上存在する場合には（ステップＳ２６→Ｙｅｓ）、次のステップＳ２７に進む。一方、フロー選択条件（Ａ），（Ｂ），（Ｃ）の全てを満たすフローとその経路が存在しない場合には（ステップＳ２６→Ｎｏ）、ステップＳ２９（図１１参照）に進む。
【００９８】
ステップＳ２７において、最大リンク使用率計算部２２は、経路変更の対象となり得るフローが１つ以上存在することから、フロー経路変更回数ｎに「１」を追加する（ｎ＝ｎ＋１）。
【００９９】
続いて、最大リンク使用率計算部２２は、ステップＳ２５（または後記するステップＳ２９（図１１参照））において計算した１つ以上のフローの中で、フローをその経路に変更した場合、つまり、計算したフローそれぞれを変更先経路に変更した場合における最大リンク使用率が最小値となるフローとその変更先経路とを抽出する（ステップＳ２８）。これにより、フロー経路変更回数ｎ（ｎ＝１，２，…）において経路変更の対象となるフローとその変更先経路が決定され、その経路に変更した場合の最大リンク使用率（および最大リンク使用率となるリンク）が計算される。
ここで、抽出したフローと変更先経路の組み合わせが複数ある場合には、最大リンク使用率計算部２２は、フロー／経路選択部２２２の処理により、フロー／経路選択基準情報７００（図６）を参照し、〔選択基準１〕〜〔選択基準４〕を順に適用することにより、変更するフローとその変更先経路とを決定する。
なお、最大リンク使用率計算部２２は、ステップＳ２８において決定したフローとその変更先経路の情報を、その時点のフロー経路変更回数ｎの情報に対応付けて、メモリ部３０（図３参照）に記憶しておく。
【０１００】
次に、最大リンク使用率計算部２２は、ステップＳ２２に戻り、ステップＳ２８で決定したフローが、最大リンク使用率が最小値となる変更先経路に変更されたものとして、最大リンク使用率を（再）計算する。
なお、最大リンク使用率計算部２２は、（再）計算した最大リンク使用率（および最大リンク使用率となるリンク）の情報を、その時点のフロー経路変更回数ｎの情報に対応付けて、メモリ部３０（図６参照）に記憶しておく。これにより、メモリ部３０では、最大リンク使用率（および最大リンク使用率となるリンク）の情報が上書きされて更新される。また、最大リンク使用率計算部２２は、最大リンク使用率を（再）計算する過程で算出した、各リンクのリンク使用率についても、メモリ部３０に記憶された情報を更新して記憶しておくようにしてもよい。
続いて、最大リンク使用率計算部２２は、前記したステップＳ２３〜Ｓ２６までの処理を再び行う。
【０１０１】
そして、ステップＳ２６において、最大リンク使用率計算部２２は、フロー選択条件（Ａ），（Ｂ），（Ｃ）の全てを満たすフローとその経路が存在しない場合には（ステップＳ２６→Ｎｏ）、ステップＳ２９（図１１参照）に進む。
【０１０２】
図１１に示すように、ステップＳ２９において、最大リンク使用率計算部２２は、取得した一部のフローのフロー情報３００の中で、ステップＳ２２において計算した最大リンク使用率となるリンクを通り、かつ、フローの帯域（トラヒック量）が経路変更可能なフローの帯域下限値（Ｓ）以上（フロー帯域≧Ｓ）となるフローに対し、フロー選択条件（ａ）「最大リンク使用率となるリンクを通らない。」、フロー選択条件（ｂ）「経路変更することによりネットワーク全体の最大リンク使用率が低下する。」、フロー選択条件（Ｃ）「経路メトリック長が『変更前の最短経路長＋α（変更先経路の制約パラメータ）』より小さい」の全てを満たす経路の最短経路と、その経路に変更した場合の最大リンク使用率を計算する。
【０１０３】
次に、最大リンク使用率計算部２２は、ステップＳ２９の結果、フロー選択条件（ａ），（ｂ），（Ｃ）の全てを満たすフローとその経路が存在するか否かを判定する（ステップＳ３０）。最大リンク使用率計算部２２は、フロー選択条件（ａ），（ｂ），（Ｃ）の全てを満たすフローとその経路が１つ以上存在する場合には（ステップＳ３０→Ｙｅｓ）、次のステップＳ２７（図１０参照）に進む。なお、ステップＳ２７以降の処理は、前記した処理と同様であるので説明を省略する。
【０１０４】
一方、ステップＳ３０においてフロー選択条件（ａ），（ｂ），（Ｃ）の全てを満たすフローとその経路が存在しない場合（ステップＳ３０→Ｎｏ）、ステップＳ２３→Ｎｏの場合、ステップＳ２４→Ｎｏの場合において、最大リンク使用率計算部２２は、ステップＳ３１に進む。
ステップＳ３１において、出力情報処理部２３（図６参照）は、フロー経路変更回数が各ｎ（ｎ＝１，２，…）回での経路変更の対象となるフローとその変更先経路、フロー経路変更回数ｎ（ｎ＝１，２，…）に相当する変更順番、最終的に経路変更を終えた経路での最大リンク使用率をメモリ部３０（図６）を参照して出力する。また、出力情報処理部２３は、ステップＳ２２において最大リンク使用率計算部２２が最大リンク使用率を計算する過程で算出した各リンクのリンク使用率がメモリ部３０に記憶されている場合には、その情報を同時に出力するようにしてもよい。
【０１０５】
このようにすることにより、本実施形態の変形例に係るフロー経路変更計算装置１ａは、フロー経路変更計算装置１の効果に加え、ネットワークの設定条件に関するパラメータを導入することにより、処理負荷を低減させて計算時間を短縮することができる。また、フロー経路変更計算装置１ａは、最大リンク使用率が最小値となる複数のフローの中から、より最大リンク使用率を低下するのに適したフローとその変更先経路の組み合わせを選択することが可能となる。
【符号の説明】
【０１０６】
１，１ａ  フロー経路変更計算装置
２      ノード
３      リンク
４      通信ネットワーク
１０    入力部
２０    制御部
２１    入力情報処理部
２２    最大リンク使用率計算部
２３    出力情報処理部
３０    メモリ部
４０    記憶部
５０    出力部
１００  トポロジ情報
２００  リンク情報
２２１  パラメータ設定部
２２２  フロー／経路選択部
３００  フロー情報
４００  フローの経路変更後のリンク情報
５００  経路変更後のフロー情報
６００  パラメータ情報
７００  フロー／経路選択基準情報
１０００  ネットワークシステム
【図１】
0006006684.tif 000002
【図２】
0006006684.tif 000003
【図３】
0006006684.tif 000004
【図４】
0006006684.tif 000005
【図５】
0006006684.tif 000006
【図６】
0006006684.tif 000007
【図７】
0006006684.tif 000008
【図８】
0006006684.tif 000009
【図９】
0006006684.tif 000010
【図１０】
0006006684.tif 000011
【図１１】
0006006684.tif 000012
【図１２】
0006006684.tif 000013