(57)【要約】      （修正有）【課題】最短パス優先ルーテッド・ネットワーク内のルーティングを最適化する。【解決手段】第１のルーティング状態から第２のルーティング状態に最短パス優先（ＳＰＦ）ルーテッド・ネットワークを移行するシステムは、一連の中間ネットワーク・プランを生成する切り換えモジュールを備え、それぞれ、ネットワーク内の少なくとも１つのデマンドのルーティングが変化するように、先行するネットワーク・プランに応じて先行するネットワーク状態を修正する。この一連の中間ネットワーク・プランでは、ネットワークを第１のルーティング状態から第２のルーティング状態に移行する。ネットワーク・コントローラは、一連の中間ネットワーク・プランに応じてネットワークを順次構成してゆく。この一連のプランの中のそれぞれの中間ネットワーク・プランにおいて、少なくとも１つの所定の制約条件の範囲内で動作するようにネットワークを構成する。【選択図】図１
2010166594.tif 000002
【特許請求の範囲】
【請求項１】
最短パス優先（ＳＰＦ）ルーティング法を使用してルーティングされるネットワークのリンクに関連付けられているメトリックを最適化するシステムであって、
増補ネットワークデータに含まれる共有リスク・リンク・グループに基づいて生成され、前記ネットワークに適用可能な少なくとも１つの障害シナリオを識別し、前記ネットワークを通してルーティングされるポイントツーポイント・デマンドに適用可能な少なくとも１つの帯域幅レベルのシナリオを識別し、ネットワークの複数のリンクのそれぞれに対しメトリックを自動的に計算し、前記ネットワーク経由のデマンドのルーティングが前記少なくとも１つの障害シナリオと前記少なくとも１つの帯域幅レベル・シナリオに最適化されるようにするメトリック・トラフィック・エンジニアリング・モジュールと、
前記メトリック・トラフィック・エンジニアリング・モジュールに結合され、前記ネットワークの前記複数のリンクのそれぞれについて前記計算されたメトリックに応じてネットワーク・コントローラに前記共有リスク・リンク・グループの単一メトリック変更又は単一要素活性化又は不活性化によるネットワーク構成の変更を通知する切り換えモジュールとを備えるシステム。
【請求項２】
最短パス優先（ＳＰＦ）ルーティング法を使用してルーティングされるネットワークのリンクに関連付けられているメトリックを最適化する方法であって、
共有リスク・リンク・グループを含む増補ネットワークデータを準備することと、
前記共有リスク・リンク・グループに基づいて生成され、前記ネットワークに適用可能な少なくとも１つの障害シナリオを識別することと、
前記ネットワーク内でルーティングされるポイントツーポイント・デマンドに適用可能な少なくとも１つの帯域幅レベル・シナリオを識別することと、
ネットワークの複数のリンクのそれぞれについてメトリックを、前記ネットワークを経由するデマンドのルーティングが前記少なくとも１つの障害シナリオと前記少なくとも１つの帯域幅レベルについて最適化されるように、自動的に計算することとを含む方法。
【請求項３】
前記ネットワークに適用可能な複数の障害シナリオと複数の帯域幅レベル・シナリオを識別し、前記ネットワークの前記複数のリンクのそれぞれについて前記メトリックを自動的に計算して、前記メトリックによって決定されたデマンドルーティングから得られる前記リンク利用度が前記ネットワークの前記複数のリンクのそれぞれについて、前記複数の障害シナリオのそれぞれについて、及び前記複数の帯域幅レベル・シナリオのそれぞれについて、所定のしきい値以下になるようにすることを含む請求項２に記載の方法。
【請求項４】
前記自動計算では、前記複数のリンクのそれぞれについて、前記複数のリンク、前記複数の障害シナリオ、及び前記複数の帯域幅レベル・シナリオに対する前記最大リンク利用度が最小化され、リンク・メトリックの可能なすべての選択について前記最小化が実行されるように、前記ネットワークの前記複数のリンクのそれぞれに対する前記メトリックを計算する請求項３に記載の方法。
【請求項５】
前記最短パス優先ルーティング法で前記複数のリンクのそれぞれについて計算された前記メトリックを適用して、前記計算されたメトリックによる前記ネットワーク内のトラフィックのルーティングすることを含む請求項２に記載の方法。
【請求項６】
少なくとも１つのリンクについて前記自動的に計算されたメトリックをユーザに適用することにより生じる、前記少なくとも１つの障害シナリオと前記少なくとも１つの帯域幅レベル・シナリオでの、前記最大リンク利用度を伝達することを含む請求項２に記載の方法。
【請求項７】
前記ネットワーク内の前記計算されたメトリックを格納し、前記格納されているメトリックに応じて前記最短パス優先ルーティング法を使用し前記ネットワークのルーティングが行われるようにすることを含む請求項２に記載の方法。
【請求項８】
第１のルーティング状態から第２のルーティング状態に最短パス優先（ＳＰＦ）ルーテッド・ネットワークを移行するシステムであって、
前記ネットワークを前記第１のルーティング状態から増補ネットワークデータに含まれる共有リスク・リンク・グループに基づいて生成される前記第２のルーティング状態に移行するための一連の中間ネットワーク・プランを生成し、それぞれのプランでは、先行するネットワーク・プランに応じて前記共有リスク・リンク・グループの単一メトリック変更又は単一要素活性化又は不活性化により先行するネットワーク状態を修正し、前記ネットワーク内の少なくとも１つのデマンドのルーティングが変更されるようにする切り換えモジュールと、
前記第１のルーティング状態から前記第２のルーティング状態に前記ネットワークを移行するように前記一連の中間ネットワーク・プランに従って前記ネットワークを順次構成してゆき、前記一連の中間ネットワーク・プランのそれぞれが少なくとも１つの所定の制約条件の範囲内で稼働するように前記ネットワークを構成する、ネットワーク・コントローラとを備えるシステム。
【請求項９】
メトリックの第１の集合を前記ネットワークのリンクに関連付ける第１のネットワーク・プランからメトリックの第２の集合を前記ネットワークのリンクに関連付ける第２のネットワーク・プランへの最短パス優先（ＳＰＦ）ルーテッド・ネットワークを移行する方法であって、
前記第１のネットワーク・プランに基づく前記第１のルーティング状態から増補ネットワークデータに含まれる共有リスク・リンク・グループに基づいて生成される前記第２のネットワーク・プランに基づく前記第２のルーティング状態へ前記ネットワークを移行する一連の中間ネットワーク・プランを生成し、それぞれのプランは先行するネットワーク・プランに応じて前記共有リスク・リンク・グループの単一メトリック変更又は単一要素活性化又は不活性化により先行するネットワーク状態を修正し、前記ネットワーク内の少なくとも１つのデマンドのルーティングが変更されるようにすることと、
前記第１のルーティング状態から前記第２のルーティング状態に前記ネットワークを移行するように前記一連の中間ネットワーク・プランに従って前記ネットワークを順次構成してゆくこととを含み、
前記一連のプランのそれぞれの中間ネットワーク・プランにおいて、少なくとも１つの所定の制約条件の範囲内で稼働するように前記ネットワークを構成する方法。
【請求項１０】
前記所定の制約条件は、前記先行するネットワーク状態とその結果のネットワーク状態との間の収束時間が所定の最大時間よりも短くなることである請求項９に記載の方法。
【請求項１１】
前記少なくとも１つの所定の制約条件は、前記ネットワークの少なくとも１つのリンクの所定の容量を超えることなく帯域幅デマンドの最大増加率である請求項９に記載の方法。
【請求項１２】
前記少なくとも１つの所定の制約条件は、前記ネットワーク内のポイントツーポイント・デマンドに関連付けられている最大デマンド待ち時間である請求項９に記載の方法。
【請求項１３】
前記少なくとも１つの所定の制約条件は、前記ネットワーク上で提供されるサービスの最低限の品質である請求項９に記載の方法。
【請求項１４】
前記一連の中間ネットワーク・プランのうちの特定の中間ネットワーク・プランは、前記ネットワークの少なくとも１つのリンクの状態が前記先行する中間ネットワーク・プランにより指定された先行する状態と異なるという点で、先行する中間ネットワーク・プランと異なる請求項９に記載の方法。
【請求項１５】
前記ネットワークの前記順次構成は、切り換えシーケンス・モジュールからネットワーク・コントローラに前記一連の中間ネットワーク・プランのそれぞれを順次伝達することを含み、前記切り換えシーケンス・モジュールは、前記ネットワーク・コントローラから、その後の中間ネットワーク・プランを伝達する前に特定の中間ネットワーク・プランが構成済みであることの肯定応答を受信する請求項９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本出願は、参照により本明細書に組み込まれる２００２年１０月１８日に出願した米国仮出願第６０／４１９，３６８号の出願日の利益を主張するものである。
本発明は、一般に、ネットワーキングの分野に関するものであり、複数の実施態様において、メトリック・ルーテッド・ネットワークでトラフィック・エンジニアリングを実施する方法とシステムに関するものである。
【背景技術】
【０００２】
最短パス優先（ＳＰＦ：shortest-path-first）ルーティング法は、ネットワーク内の送信元ノードから宛先ノードへルーティングされるべきパス・データを決定するためにさまざまなデータ・ネットワークにおいて使用されている。ＳＰＦルーティング法を使用するデータ・ネットワークの例としては、内部ゲートウェイ・プロトコル（ＩＧＰ）のＯＳＰＦ又はＩＳ−ＩＳバージョンを使用するインターネット・プロトコル（ＩＰ）ネットワークがある。
【０００３】
ＳＰＦルーテッド・ネットワーク内のノードは、単一方向リンクにより接続される。それぞれのリンクに対し、メトリックと呼ばれる正の数が割り当てられる。ネットワーク内のパスの長さは、そのパスを含むリンク上のメトリックの総和として定義される。送信元ノードから宛先ノードへ伝わるデータは、それら２つのノードの間のこの定義による最短パスに沿って伝わる。複数のパスが等しいコストを持つ場合、データ負荷、つまり帯域幅は、コストが等しいそれらのパスの間で何らかの形で共有される。
【０００４】
ネットワーク・メトリックを選択することにより、ネットワーク内のデータのルーティングが決定される。与えられたネットワーク内のルーティングのある選択が他の選択よりも望ましい場合がある。メトリック・ベースのトラフィック・エンジニアリングは、望ましいルーティングを得るためのメトリックを選択するプロセスである。数多くある理由のうち何らかの理由により、例えば以下の場合に、特定のルーティングが他のルーティングよりも好ましい。
１．輻輳を防止するため、ネットワーク内の各リンクについて帯域幅の利用度（例えば、利用されるリンク容量のパーセンテージ）を特定のパーセンテージ以下に保持するか、又はできる限り低くすること。
２．ネットワークの特定の要素（例えば、リンク又はノード）が機能しなくなったり、又は故意に無効にされて、ネットワーク内のどこかで帯域幅のルーティングしなければならない場合でも、ネットワーク内のリンク毎に、帯域幅利用度を特定のパーセンテージ以下に抑えるか、又はできる限り低くすること。
【０００５】
この分野の２つの態様は、これまで何らかの従来の学術研究のテーマとなっていた。
１．リンク利用度の測定結果からネットワーク内のポイントツーポイント帯域幅デマンドを見積もること。例えば、非特許文献１を参照のこと。ネットワークのメトリック及び／又はトポロジに対する修正に基づき将来のリンク利用度を計算するために、ポイントツーポイントに対するデマンドがわかっている必要がある。
２．通常のネットワーク動作の下でリンクを利用している間に輻輳の発生を回避するためのネットワーク内のメトリックを選択するアルゴリズム。例えば、非特許文献２を参照のこと。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Ｙｉｎ  Ｚｈａｎｇ、Ｍａｔｔｈｅｗ  Ｒｏｕｇｈｅｎ、Ｃａｒｓｔｅｎ  Ｌｕｎｄ、及びＤａｖｉｄ  Ｄｏｎｏｈｏ著「Ａｎ  Ｉｎｆｏｒｍａｔｉｏｎ−Ｔｈｅｏｒｅｔｉｃ  Ａｐｐｒｏａｃｈ  ｔｏ  Ｔｒａｆｆｉｃ  Ｍａｔｒｉｘ  Ｅｓｔｉｍａｔｉｏｎ」（ＡＣＭ  ＳＩＧＣＯＭＭ２００３）
【非特許文献２】「Ｔｒａｆｆｉｃ  ｅｎｇｉｎｅｅｒｉｎｇ  ｗｉｔｈ  ｔｒａｄｉｔｉｏｎａｌ  ＩＰ  ｒｏｕｔｉｎｇ  ｐｒｏｔｏｃｏｌｓ」ＩＥＥＥ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｍａｇａｚｉｎｅ、４０（１０）：１１８−１２４、２００２
【発明の概要】
【課題を解決するための手段】
【０００７】
本発明の一態様では、複数のノードとそれらのノード間の複数のリンクを含むネットワーク内のポイントツーポイント帯域幅デマンドを見積もるシステムを実現する。システムは、ネットワークのリンクの集合に対する、それぞれのリンクの測定された利用度をそれぞれ示すリンク・トラフィック尺度を決定し、ネットワークのノードの集合のノード間の、そのノードの集合に含まれる送信元ノードと宛先ノードとの間の測定されたデマンドをそれぞれ示すポイントツーポイント帯域幅デマンドを決定するネットワーク・コントローラを備える。ネットワーク・コントローラに結合されているデマンド見積もりモジュールは、ネットワーク・コントローラからリンク・トラフィック尺度及びポイントツーポイント帯域幅デマンド尺度を進め、リンク・トラフィック尺度とポイントツーポイント帯域幅デマンド尺度とを使用して複数のノードに対する複数のポイントツーポイント帯域幅デマンド見積もりを計算する。
【０００８】
本発明の他の態様では、複数のノードとそれらのノード間の複数のリンクを含むネットワーク内のポイントツーポイント帯域幅デマンドを見積もる方法を実現する。この方法は、ネットワークのリンクの集合に対する、それぞれのリンク測定された利用度をそれぞれ示すリンク・トラフィック尺度を決定することを含む。ネットワークのノードの集合のノード間の、そのノードの集合に含まれる送信元ノードと宛先ノードとの間の測定されたデマンドをそれぞれ示すポイントツーポイント帯域幅デマンド尺度が決定される。リンク・トラフィック尺度とポイントツーポイント帯域幅デマンド尺度を使用して複数のノードに対して複数のポイントツーポイント帯域幅デマンド見積もりを計算する。
【０００９】
これら複数のポイントツーポイント・デマンド見積もりを使用して、ネットワーク・ルーティング状態の変更（例えば、ネットワーク・トポロジの変更、ネットワーク・コンポーネントの機能不全から生じる変更、又は最短パス優先ルーテッド・ネットワークのメトリックの変更）を受けるネットワーク・ルーティングをシミュレートすることができる。
【００１０】
この複数のポイントツーポイント・デマンド見積もりは、さらに、ネットワークのルーティングのシミュレーションを実行するためにも使用することができ、したがって示されているように、複数のポイントツーポイント・デマンド見積もりのそれぞれの下でネットワーク内の各リンクについてリンク利用度を識別することができる。
【００１１】
一実施態様では、これら複数のポイントツーポイント・デマンド見積もりを使用して、複数のポイントツーポイント・デマンド見積もりと複数のネットワーク障害シナリオに対するリンク利用度を最適化することができる。
【００１２】
リンク・トラフィック尺度の決定は、ネットワーク・コントローラを利用してリンクの集合のトラフィックの測定を実行することを含むことがある。
【００１３】
ポイントツーポイント帯域幅デマンド尺度の決定は、ネットワーク・コントローラを利用してノードの集合のノード間の帯域幅デマンドの測定を実行することを含むことができる。
【００１４】
一実施態様では、リンク・トラフィック尺度とポイントツーポイント帯域幅デマンド尺度とが食い違っている場合、ポイントツーポイント帯域幅デマンド見積もりを計算し、それらの食い違いを調整する。
【００１５】
この方法は、複数のノードに対する前のポイントツーポイント帯域幅デマンド見積もりと、ポイントツーポイント帯域幅デマンド見積もりの計算の際に、前のポイントツーポイント帯域幅デマンド見積もりを使用することを含むことができる。計算には、ネットワーク内でルーティイグされたときに、ネットワーク内に障害が生じていないと仮定して、リンク・トラフィック値の集合を発生する有効なポイントツーポイント帯域幅デマンドレベルの集合が存在するようにリンク・トラフィック値の集合を識別することを含むことができる。
【００１６】
一実施態様では、リンク・トラフィック値の集合の識別は、有効なポイントツーポイント帯域幅デマンドレベルの集合が、ポイントツーポイント帯域幅デマンド尺度にほぼ一致するような識別である。有効なポイントツーポイント帯域幅デマンドレベルの集合とポイントツーポイント帯域幅デマンド尺度との差は、最小にすることができる。
【００１７】
他の実施態様では、リンク・トラフィック値の集合の識別は、リンク・トラフィック値の集合がリンク・トラフィック尺度にほぼ一致するような識別である。
【００１８】
計算は、ポイントツーポイント帯域幅デマンド尺度に近いポイントツーポイント帯域幅デマンドレベルの集合を識別することを含むことができる。
【００１９】
計算は、さらに、識別されたポイントツーポイント帯域幅デマンドレベルの集合に基づいて計算される値である、計算されたリンク・トラフィック値の集合が識別されたポイントツーポイント帯域幅デマンドレベルの集合に対応するようにポイントツーポイント・デマンド帯域幅レベルの集合を識別することを含むこともできる。
【００２０】
計算は、さらに、識別されたポイントツーポイント・デマンドレベルの集合が前のポイントツーポイントの前のデマンド帯域幅とほぼ一致するようにポイントツーポイント・デマンド帯域幅レベルの集合を識別することを含むことができる。
【００２１】
本発明の他の態様により、最短パス優先（ＳＰＦ）ルーティング法を使用してルーティングされるネットワークのリンクに関連付けられているメトリックを最適化するシステムを実現する。システムは、ネットワークに適用可能な少なくとも１つの障害シナリオを識別し、ネットワークを通してルーティングされるポイントツーポイント・デマンドに適用可能な少なくとも１つの帯域幅レベルのシナリオを識別し、ネットワークの複数のリンクのそれぞれに対しメトリックを自動的に計算するためのメトリック・トラフィック・エンジニアリング・モジュールを備え、ネットワーク経由のデマンドのルーティングが少なくとも１つの障害シナリオと少なくとも１つの帯域幅レベル・シナリオとに最適化されるようにする。メトリック・トラフィック・エンジニアリング・モジュールに結合されている切り換えモジュールは、ネットワークの複数のリンクのそれぞれについて計算されたメトリックに応じてネットワーク・コントローラにネットワーク構成の変更を通知する。
【００２２】
本発明のさらに他の態様により、最短パス優先（ＳＰＦ）ルーティング法を使用してルーティングされるネットワークのリンクに関連付けられているメトリックを最適化する方法を実現する。この方法は、ネットワークに適用可能な少なくとも１つの障害シナリオを識別することを含む。ネットワーク内でルーティングされるポイントツーポイント・デマンドに適用可能な少なくとも１つの帯域幅レベル・シナリオがさらに識別される。ネットワーク内のデマンドのルーティングが、少なくとも１つの障害シナリオと、少なくとも１つの帯域幅レベルに対して最適化されるように、ネットワークの複数のリンクのそれぞれに対するメトリックが自動的に計算される。
【００２３】
この方法は、さらに、ネットワークに適用可能な複数の障害シナリオと複数の帯域幅レベル・シナリオを識別し、ネットワークの複数のリンクのそれぞれについてメトリックを自動的に計算して、それらのメトリックによって決定されたデマンドルーティングから得られるリンク利用度がネットワークの複数のリンクのそれぞれに対して、複数の障害シナリオのそれぞれに対して、さらには複数の帯域幅レベル・シナリオのそれぞれに対して所定のしきい値以下になるようにすることを含む。
【００２４】
自動計算では、複数のリンクのそれぞれの、複数のリンク、複数の障害シナリオ、複数の帯域幅レベル・シナリオに対する最大リンク利用度が最小化され、リンク・メトリックの可能なすべての選択についてその最小化が実行されるように、ネットワークの複数のリンクのそれぞれに対するメトリックを計算することができる。
【００２５】
少なくとも１つの障害シナリオは、ネットワーク・オペレータがネットワークの少なくとも一部を無効化する自発的行為を行った結果とすることができる。
【００２６】
この方法は、さらに、最短パス優先ルーティング法で複数のリンクのそれぞれについて計算されたメトリックを適用して、計算されたメトリックによるネットワーク内のトラフィックのルーティングすることをも含むことができる。
【００２７】
方法は、さらに、少なくとも１つのリンクについて自動的に計算されたメトリックをユーザに適用することにより生じる、少なくとも１つの障害シナリオと少なくとも１つの帯域幅レベル・シナリオでの、最大リンク利用度を伝達することを含むこともできる。
【００２８】
一実施態様では、最大リンク利用度の伝達には、少なくとも１つの最大リンク利用度が所定のしきい値リンク利用度を超えるかどうかを示すことが含まれる。最大リンク利用度の伝達は、少なくとも１つの最大リンク利用度が視覚的に示されるユーザ・インターフェイスを生成することを含むことができる。
【００２９】
この方法は、さらに、ネットワーク内の計算されたメトリックを格納し、格納されているメトリックに応じて最短パス優先ルーティング法を使用してネットワークがルーティングされるようにすることを含むこともできる。
【００３０】
この方法は、さらに、それぞれのメトリックがネットワークのコア・リンクとして計算されるネットワークの複数のリンクを識別することを含むことができる。一実施態様では、コア・リンクのメトリックを選択するためネットワークのコアを通る共通ルーティングに従う数組のポイントツーポイント・デマンドを識別することができ、デマンドを集計し、自動計算における単一のデマンドとして取り扱うことができる。
【００３１】
本発明のさらに他の態様により、第１のルーティング状態から第２のルーティング状態へ最短パス優先（ＳＰＦ）ルーテッド・ネットワークを移行するシステムを実現する。このシステムは、ネットワークを第１のルーティング状態から第２のルーティング状態に移行するための一連の中間ネットワーク・プランを生成する。それぞれのプランは、先行するネットワーク・プランに応じて先行するネットワーク状態を修正し、ネットワーク内の少なくとも１つのデマンドのルーティングを変更する、切り換えモジュールを備える。ネットワーク・コントローラは、第１のルーティング状態から第２のルーティング状態へネットワークを移行する一連の中間ネットワーク・プランに応じてネットワークを順次構成してゆく。この一連のプランの中のそれぞれの中間ネットワーク・プランにおいて、少なくとも１つの所定の制約条件の範囲内で動作するようにネットワークを構成する。
【００３２】
本発明の他の態様では、第１のメトリックの集合をネットワークのリンクに関連付ける第１のネットワーク・プランから第２のメトリックの集合をネットワークに関連付ける第２のネットワーク・プランへの最短パス優先（ＳＰＦ）ルーテッド・ネットワークを移行する方法を実現する。この方法は、第１のネットワーク・プランに基づく第１のルーティング状態から第２のネットワーク・プランに基づく第２のルーティング状態へネットワークを移行する一連の中間ネットワーク・プランを生成することを含み、それぞれのプランは先行するネットワーク・プランに応じて先行するネットワーク状態を修正し、ネットワーク内の少なくとも１つのデマンドのルーティングを変更することを含む。その後、ネットワークは、一連の中間ネットワーク・プランに応じて、第１のルーティング状態から第２のルーティング状態へネットワークを移行するように順次構成されてゆく。この一連のプランの中のそれぞれの中間ネットワーク・プランにおいて、少なくとも１つの所定の制約条件の範囲内で動作するようにネットワークを構成する。
【００３３】
先行するネットワーク状態とその結果として生じるネットワーク状態との間の収束時間が所定の最大時間、ネットワークの少なくとも１つのリンクの所定の容量を超えることなく帯域幅デマンドの最高増大割合、ネットワーク内のポイントツーポイント・デマンドに関連付けられている最大デマンド待ち時間よりも小さい少なくとも１つの所定の制約条件がある。また、一実施態様では、最大デマンド待ち時間は、ポイントツーポイント・デマンドに関連付けられている既存のデマンド待ち時間を超える増大割合として指定される。
少なくとも１つの所定の制約条件は、さらに、ネットワークの少なくとも１つのリンクに対する最大リンク帯域幅利用度であり、最大リンク帯域幅利用度は、ネットワークの少なくとも１つの障害シナリオに関するものである。少なくとも１つの所定の制約条件も、ネットワーク上で提供されるサービスの最低品質、又は複数の障害シナリオでの最大リンク帯域幅利用度であってもよい。
【００３４】
一連の中間ネットワーク・プランの生成は、第１のルーティング状態をルートとして持つ、ネットワーク・ルーティング状態のツリーを定義すること、及びそれぞれのネットワーク状態においてパス内の各ノードが少なくとも１つの所定の制約条件の範囲内で動作するようにネットワークを構成するようにそのルートから第２のネットワーク・ルーティング状態までのツリー内のパスを識別することを含むことができる。
【００３５】
一連の中間ネットワーク・プランの生成は、第１の一連の中間ネットワーク・プランが第１の制約条件を超えているかどうかを判定すること、及びその後一連の中間ネットワーク・プランが生成される際に基づく少なくとも１つの所定の制約条件を生成するように第１の制約条件を修正することを含むことができる。
【００３６】
一実施態様では、一連の中間ネットワーク・プランのうちの特定の中間ネットワーク・プランは、先行する中間ネットワーク・プランと単一のメトリックでのみ異なっていてもよい。代替の実施態様では、一連の中間ネットワーク・プランのうちの特定の中間ネットワーク・プランは、先行する中間ネットワーク・プランと少なくとも１つのメトリックが異なるか、又はネットワークの少なくとも１つのリンクの状態がネットワークの先行する中間ネットワーク・プランにより指定された先行する状態と異なるという点で異なる場合がある。例えば、この状態がアクティブ状態であり、先行する状態が非アクティブ状態であるか、又はその逆である。
【００３７】
この方法は、第１のセット・リンクを識別することを含むことができるが、ただし、この一連のプランのうちの第１の中間ネットワーク・プランは、第１のセットが先行する中間ネットワーク・プランにより指定された先行する状態と異なるという点で先行する中間ネットワーク・プランと異なる。
【００３８】
ネットワークの順次構成は、切り換えシーケンス・モジュールからネットワーク・コントローラに一連の中間ネットワーク・プランのそれぞれを順次伝達することを含むことができるが、ただし、切り換えシーケンス・モジュールは、ネットワーク・コントローラから、その後の中間ネットワーク・プランを伝達する前に特定の中間ネットワーク・プランが構成済みであることの肯定応答を受け取る。
【００３９】
本発明の他の態様では、ネットワークに関する情報を表示するインターフェイスを生成する自動化された方法を提供する。その方法は、ネットワーク・ノードの少なくとも１つの集合をネットワーク・サイトとして識別することを含む。ネットワーク内のそれぞれのネットワーク・ノードとネットワーク・リンクを表す、グラフィック・ノードとグラフィック・リンクの第１の表示が、インターフェイスとともに含まれて、生成される。その際、ネットワーク・ノードの少なくとも１つの集合が、表示内の単一グラフィック・ノードで表される。インターフェイスとともに含まれる第２の表示は、少なくとも１つのこの集合のノード間のネットワーク・ノードとネットワーク・リンクからなる少なくとも１つの集合を表すものとして生成される。インターフェイスは、第１及び第２の表示をユーザに対して同時に提示するように生成される。
【００４０】
ネットワーク・ノードの集合の識別は、ノードの少なくとも１つの集合を共通の物理的ロケーションに常駐するものとして識別することを含むことができる。
【００４１】
第２の表示の生成は、第２の表示内の少なくとも１つの集合の複数のノードと少なくとも１つの集合の外部にある複数のノードとの間のネットワーク・リンクをさらに表すことを含むことができる。
【００４２】
ネットワークのノードのペア間の少なくとも２つのリンクは、１つの回路を構成するものとして表示することができ、これにより、ペアのノード間の双方向通信を容易に行うことができ、少なくとも第１の表示の生成は、ノードのペア間にある１つの回路を表すグラフィック回路を含む。
【００４３】
この方法は、ノードのペア間の帯域幅容量を視覚的に示すグラフィック回路を生成することを含むことができる。
【００４４】
グラフィック回路は、帯域幅容量を示すグラフィック回路の寸法決定を含む帯域幅容量を視覚的に示すように生成することができる。
【００４５】
グラフィック回路は、表現されているネットワーク回路を構成するネットワーク・リンクを示すように、したがって表現されているネットワーク回路の帯域幅利用度を視覚的に示すように、生成することができる（例えば、色／利用度指数に応じてグラフィック・リンクを色分けするか、又は帯域幅利用度に比例してグラフィック・リンクのセクションを色分けすることで）。
【００４６】
ネットワークに関する障害シナリオのユーザ指定を行えるように、また障害シナリオに応じてネットワークを通して再ルーティングされたデマンドの表示を提示するようにインターフェイスを生成することができる。
【００４７】
ネットワークに関する帯域幅デマンドレベルのユーザ指定を行えるように、また指定された帯域幅デマンドレベルに応じてネットワークを通して帯域幅利用度の表示を提示するようにインターフェイスを生成することができる。
【００４８】
さらに、ネットワーク・トラフィック・サービス・クラスのユーザ指定を行えるように、また指定されたネットワーク・トラフィック・サービス・クラスに特有の帯域幅デマンドと帯域幅利用の情報を１つ又は複数提示することができるようにインターフェイスを生成することができる。
【００４９】
一実施態様では、指定されたネットワーク・トラフィック・サービス・クラスに属しているネットワーク内のネットワーク・トラフィックから使用可能な容量の大きさに等しい容量を示す指標を表示し、容量の割合に応じて帯域幅利用度情報を表示するようにインターフェイスを生成することができる。
【００５０】
さらに、定義済みの最悪の場合の障害シナリオにおいてネットワークの少なくとも１つのリンクに対し帯域幅デマンドと帯域幅利用度情報のうち少なくとも一方を表示するようにインターフェイスを生成することもできる。
【００５１】
複数の障害シナリオと複数のデマンド帯域幅レベルにわたる最高の利用度に基づいてインターフェイス内で表示するそれぞれのリンクを色分けし、それらの複数のリンクが複数の障害シナリオと複数のデマンド帯域幅レベルのうちの少なくとも一方について利用度が表されるものとして示されるようにできる。
【００５２】
本発明のさらに他の態様では、最短パス優先ルーテッド・ネットワーク内のルーティングを最適化する方法を実現する。この方法は、ネットワーク内の帯域幅デマンドを見積もることを含む。この見積もった帯域幅デマンドを使用して、現在の状態のネットワーク内の帯域幅利用度を測定する。ネットワークのリンクに関連付けられているメトリックの最適化を実行し、それによって、現在の状態に相対的にネットワーク内で帯域幅利用度が低減されるネットワークに対する所望の状態を識別する。現在の状態から所望の状態へネットワークを移行する切り換えシーケンスが生成される。
【００５３】
本発明の他の特徴は、付属の図面と以下で述べる詳細な説明とから明らかになる。
【図面の簡単な説明】
【００５４】
【図１】本発明の一実施形態によるトラフィック・エンジニアリング・システムを例示するブロック図である。
【図２Ａ】既存の及び所望のネットワーク・プランに関する情報を格納するために使用することができる、本発明の一実施形態による、ネットワーク・プラン・データ構造の図式表現である。
【図２Ｂ】既存の及び所望のネットワーク・プランに関する情報を格納するために使用することができる、本発明の一実施形態による、ネットワーク・プラン・データ構造の図式表現である。
【図３】図２に示されているネットワーク・プラン構造が関係しているネットワーク例の図式表現である。
【図４】ネットワーク・プラン構造について帯域幅利用度構造を計算するための、本発明の一実施形態による、方法を例示する流れ図である。
【図５】本発明の一実施形態によるメトリック・トラフィック・エンジニアリング・モジュールのアーキテクチャの詳細を例示するブロック図である。
【図６】ネットワーク例を図式表現する、コア・ネットワーク・プラン・モジュールでコア・ネットワーク・プランを作成する方法を例示する図である。
【図７】デマンド構造を作成するためにネットワーク・プラン・クリエータ・モジュールにより実装することが可能な、本発明の一実施形態による、方法を例示する流れ図である。
【図８】２つのデマンド構造例の図式表現である。
【図９】メトリック最適化モジュール内のメトリックを最適化するための、本発明の一実施形態による、方法を例示する流れ図である。
【図１０】本発明の一実施形態による、切り換えモジュールのアーキテクチャを例示するブロック図である。
【図１１】切り換えシーケンス生成モジュールにより作成することができる、本発明の一実施形態による、切り換えシーケンスのデータ構造を例示するブロック図である。
【図１２】切り換えシーケンスを生成するために切り換えシーケンス生成モジュールにより実装することが可能な、本発明の一実施形態による、方法を例示する流れ図である。
【図１３】ネットワーク・コントローラを利用して、切り換えシーケンスを実行するために切り換え信号発生モジュールにより実装することが可能な、本発明の一実施形態による、方法を例示する流れ図である。
【図１４】本発明の一実施形態による、切り換えシーケンス構造の糖尿病表現、及びネットワーク内のリンクの利用度、及び切り換えシーケンスの各ステップの表である。
【図１５】トラフィック・エンジニアリング・システムの他の要素との、デマンド見積もりモジュールの、本発明の一実施形態による、相互作用を例示するブロック図である。
【図１６】基本デマンドを計算するために基本デマンド・エスティメータにより実装することが可能な、本発明の一実施形態による、方法を例示する流れ図である。
【図１７】デマンド変動を計算するためにデマンド変動エスティメータにより実装することが可能な、本発明の一実施形態による、方法を例示する流れ図である。
【図１８】本発明の一実施形態における、ＧＵＩにより生成し、提示できるインターフェイス例の図である。
【図１９】本発明の一実施形態における、ＧＵＩにより生成し、提示できるインターフェイス例の図である。
【図２０】本発明の一実施形態における、ＧＵＩにより生成し、提示できるインターフェイス例の図である。
【図２１】本発明の一実施形態における、ＧＵＩにより生成し、提示できるインターフェイス例の図である。
【図２２】本明細書で説明されている方法及びアルゴリズムのうちの１つ又は複数をマシンに実行させる一組の命令を実行できるコンピュータ・システムの実施形態におけるマシンの図式表現である。
【発明を実施するための最良の形態】
【００５５】
本発明は、付属の図面の図において限定されることなく例を使用して説明され、類似の参照番号は類似の要素を示す。
【００５６】
トラフィック・エンジニアリング・システムの実施形態及びシステムによって実行される方法と機能のさまざまな実施形態について説明する。以下の説明では、説明を目的として、本発明を完全に理解できるようにする多数の具体的詳細を述べている。ただし、当業者にとっては、本発明はこれらの具体的詳細が取りあげられなくても実施できることは明白であろう。
【００５７】
図１は、本発明の一実施形態によるトラフィック・エンジニアリング・システム１０を例示するブロック図である。図内の矢印は、システム１０を通るデータ・フローの方向を表す。
【００５８】
例示的なネットワーク１００は、システム１０によりリンク・メトリックの操作及び／又はネットワーク１００内のさまざまな要素又は要素の集まりの活性化又は不活性化を介してトラフィック・エンジニアリングが実行されるＳＰＦルーテッド通信ネットワークである。
【００５９】
ネットワーク・コントローラ１０５は、ネットワーク１００から構成及び利用度測定結果を抽出し、ネットワーク１００上で構成変更を実行する動作をする。例えば、ネットワーク・コントローラ１０５は、
１．自身のタスクを自動的に実行する専用ソフトウェア及び／又はハードウェア、
２．手動でネットワーク１００を対話操作し、必要な情報を抽出したり、又はネットワーク構成を修正したりできる人間のネットワーク・コントローラ、又は
３．必要な測定や制御機能を実行することができる、ネットワーク１００それ自体の中のソフトウェア及び／又はハードウェアのうちの１つ又は複数とすることができる。
【００６０】
ネットワーク・コントローラ１０５は、既存のネットワーク・プラン１１５と称することが好ましいデータ構造を構築する。既存のネットワーク・プラン１１５は、グラフィカル・ユーザ・インターフェイス（ＧＵＩ）１４０、及びメトリック・トラフィック・エンジニアリング・モジュール１２５により使用され、所望のネットワーク・プラン１３０を構築する。既存のネットワーク・プラン１１５と所望のネットワーク・プラン１３０は両方とも、切り換えモジュール１３５に入力され、そこで、切り換えシーケンスが構築される（例えば、一連のネットワーク・トポロジ及びメトリック構成が変更され、ネットワーク１００を、既存の構成から所望の構成に移行させる）。その後、切り換えモジュール１３５により作成される切り換えシーケンスは、ネットワーク・コントローラ１０５に伝達され、そこで、ネットワーク１００上で、ステップバイステップで変更を実現する。既存のネットワーク・プラン１１５は、以下を使用して構築されるデータ構造である。
１．ネットワーク・コントローラ１０５から直接得られる、ネットワーク１００のトポロジに関する情報。
２．ネットワーク１００内のポイントツーポイント帯域幅デマンドに関する情報。このような情報がネットワーク・コントローラ１０５を介してネットワーク１００から直接読み込めない場合は、デマンド見積もりモジュール１１０から取得される情報。この情報は、読み込める場合は、ネットワーク・コントローラ１０５から取得することができる。
３．ネットワーク・コントローラ１０５を介してネットワーク１００から直接利用できない、増補ネットワーク・データ１２０とラベル付けすると都合がよい、付加ネットワーク・プラン情報。この増補ネットワーク・データ１２０は、例えば、ネットワーク１００内のさまざまなＳｈａｒｅｄ  Ｒｉｓｋ  Ｌｉｎｋ  Ｇｒｏｕｐ（ＳＲＬＧ）で構成できる（例えば、ともに機能しなくなる何らかの妥当な確率を持つと判定されたリンクのグループ）。
【００６１】
人間のユーザは、ＧＵＩ  １４０を既存のネットワーク・プラン１１５の表現として使用することができ、これにより、ネットワーク１００の現在の状態を理解することができる。ＧＵＩ  １４０は、さらに、所望のネットワーク・プラン１３０の作成も支援する。
例えば、所望のネットワーク・プラン１３０は、以下の点で既存のネットワーク・プラン１１５と異なる。
１．既存のネットワーク・プラン１１５内でアクティブであるＳＲＬＧ（例えば、正常に機能しているすべてのコンポーネント要素）は、所望のネットワーク・プラン１３０内では非アクティブである（例えば、それらのコンポーネント要素のいずれも機能していない）。所望のネットワーク・プラン１３０のこのような変更は、人間のユーザがＧＵＩ  １４０を通して行う。例えば、ユーザがメンテナンスのためネットワーク１００からノードを削除したい場合、ユーザは、関連するノードが不活性化されている所望のネットワーク・プラン１３０を作成し、メトリック・トラフィック・エンジニアリング・モジュール１２５を使用して、関連するノードの不活性化のリンク利用度に対する影響が最も小さい、所望のネットワーク・プラン１３０に対するメトリックの集合を決定する。その後、切り換えモジュール１３５では、ネットワーク１００の途絶が最小限である、所望のネットワーク・プラン１３０に移行するためのメトリック変更及びノード不活性化を実行する順序を決定する。
２．既存のネットワーク・プラン１１５において、非アクティブであるいくつかのＳＲＬＧは、所望のネットワーク・プラン１３０でアクティブである。所望のネットワーク・プラン１３０のこのような変更は、人間のユーザがＧＵＩ  １４０を通して行うことができる。例えば、ユーザが上の１．でノードを不活性化し、メンテナンスの完了後ノードの再活性化を行いたいと仮定する。既存のネットワーク・プラン１１５は、１．における所望のネットワーク・プラン１３０であり、所望のネットワーク・プラン１３０は、１．における既存のネットワーク・プラン１１５である。その後、切り換えモジュール１３５は、ネットワーク１００を元の構成に戻すために、メトリックの変更及びノードの再活性化を実行する順序を決定する。
３．既存のネットワーク・プラン１１５の一部のメトリックは、所望のネットワーク・プラン１３０のとは異なる場合がある。これは、ネットワーク１００の利用特性を改善するためにメトリック・エンジニアリング・モジュール１２５が所望のネットワーク・プラン１３０のメトリックを変更した結果生じるか、又はＧＵＩ  １４０のユーザにより手動でメトリックが変更される。その後、切り換えモジュール１３５は、ネットワーク１００自体でそれらのメトリックを変更する順序を決定することができる。
【００６２】
図２Ａ及び２Ｂは、既存のネットワーク・プラン１１５及び所望のネットワーク・プラン１３０の両方に関する情報を格納するために使用される、本発明の一実施形態による、ネットワーク・プラン・データ構造２００を例示している。
【００６３】
ネットワーク・プラン構造例２００は、トポロジ構造２０５、デマンド構造２２０、共有リスク・リンク・グループ構造２０３０、帯域幅利用度構造２３５を含む。
【００６４】
トポロジ構造２０５は、ネットワーク・トポロジに関する情報、例えば、ネットワーク１００の物理的構造とその内部構成に関する情報を含む。トポロジ構造２０５は、さらに、リンク・データ構造２１０とノード・データ構造２１５を含むように示されている。リンク・データ構造２１０には、ネットワーク１００内のリンクがリストされている。ネットワーク・リンクは、ネットワーク１００内の一方のノードから他方のノードヘの単一方向である。ネットワーク１００内のリンク毎に、リンク・データ構造２１０は、リンク名、リンクが発生したノード（Ｆｒｏｍ  Ｎｏｄｅ）、リンクが終端するノード（Ｔｏ  Ｎｏｄｅ）、例えばメガビット／秒（Ｍｂ／ｓ）で表されるリンクの容量、リンク・メトリック、リンクの待ち時間、及びリンクがコア・リンクであるかどうかを記録する。リンクの待ち時間は、データが関連するリンクを横断するのに要する時間（例えば、ミリ秒（ｍｓ）で表される）である。以下では、コア・リンクの概念について詳述する。
【００６５】
ノード・データ構造２１５には、ネットワーク１００内のノードがリストされている。
ノード・データ構造２１５には、ネットワーク１００内のノード毎に、ノード名及びノードがコア・ノートであるかどうかがリストされている。以下では、さらに、コア・ノードの概念について詳述する。
【００６６】
次にデマンド構造２２０を参照すると、この構造２２０は、ネットワーク１００内の帯域幅デマンドのリストを含む。帯域幅デマンドは、ネットワーク１００内の送信元ノード又は送信元ノードの集合からネットワーク１００内の宛先ノード又は宛先ノードの集合に流れる（又は流れる可能性がある）実際の又は仮説的な帯域幅レベルとすることができる。それぞれの帯域幅デマンドは、デマンドに関連付けられている１つ又は複数の帯域幅レベル２２５とともに、送信元ノードの集合及び宛先ノードの集合からなる。それぞれの帯域幅レベル２２５は、帯域幅レベル名、及び帯域幅レベル自体からなり、メガビット／秒（Ｍｂ／ｓ）で表される。デマンドには、例えば、異なる時刻における異なる帯域幅レベルを表す複数の帯域幅レベル２２５、又はデマンド帯域幅が正確には知られていないが、ネットワーク１００上の測定結果から推定される場合には異なる仮説的な帯域幅レベルを含むことができる。
【００６７】
Ｓｈａｒｅ  Ｒｉｓｋ  Ｌｉｎｋ  Ｇｒｏｕｐｓ（ＳＲＬＧ）構造２３０は、ネットワーク１００上の１つ又は複数のＳＲＬＧの定義を含む。ＳＲＬＧは、この実施形態では、同時にすべて故障する何らかの無視できない確率を持つネットワーク・リンクの集まりである。例えば、ＳＲＬＧは、２つのノードを接続し、２つのリンクを含み、一方のリンクは１つの方向にノードを接続し、他方のリンクはそれと反対の方向でノードを接続する、ネットワーク１００内の回路とすることができる。通常のＩＰネットワークでは、例えば、リンクの始点となるノード上のリンク・インターフェイス・カードの障害によりこれらのリンクのうちの１つが機能しなくなった場合、他方も機能しなくなる。したがって、この２つがともに機能しなくなることも考慮しなければならない。ＳＲＬＧの他の例は、特定のノードを始点とし、終点とするすべてのリンクである。その特定のノードが機能しなくなるか、又は不活性化されたとすると、これらすべてのリンクが同時に非アクティブになってしまう。ＳＲＬＧのさらに他の例は、同じ物理的導管に沿ってすべて配置されている回路のグループ内のリンクのグループである。この導管が物理的に切断された場合、これらのリンクはすべて同時に機能しなくなる。
【００６８】
そこで、ＳＲＬＧ構造２３０には、多数のＳＲＬＧがリストされ、それらのＳＲＬＧにどのリンクが含まれるかを示す。ネットワーク・プラン構造例２００を例示するために使用されるデータ例では、４つの回路、１つの導管、及び機能しなくなる可能性のあるノードが１つある。これらは図３で説明されている。
【００６９】
ＳＲＬＧ構造２３０内にリストされているＳＲＬＧ毎に、関連するＳＲＬＧがアクティブかどうかを示すフラグが１つある。これらのフラグにより、同一のトポロジ構造を持つ２つの異なるネットワーク・プラン構造（例えば、既存の、及び所望のネットワーク・プラン１１５、１３０）間のトポロジの違いを示すことができる。ＳＲＬＧが非アクティブの場合、ルーティングを目的としてＳＲＬＧ内のリンクがネットワーク１００内に存在しないことを示す。
【００７０】
本発明の一実施形態では、ＳＲＬＧ構造にリストされている１つのＳＲＬＧは、特別なケースとしてみなすことができ、常に「Ｎｏ  Ｆａｉｌｕｒｅ」ＳＲＬＧとリストされる。この特別なケースのＳＲＬＧは、リンクを１つも含まない空のＳＲＬＧとすることができる。この特別なケースのＳＲＬＧは、便宜上用意されており、ＳＲＬＧを一度に１つずつループしてネットワークの挙動を計算するオペレーションは、異なる障害シナリオの下では、それらのシナリオの１つとして無障害シナリオを含む。
【００７１】
本発明の一実施形態では、帯域幅利用度構造２３５は、図４を参照しつつ以下で説明されている方法で、ネットワーク・プラン構造２００の残りから計算できる。デマンド構造２２０で指定されている帯域幅レベル毎に、帯域幅利用度構造２４０が帯域幅利用度構造２３５に含まれる。ネットワーク１００内のすべてのリンクについて、及びＳＲＬＧ構造２３０内にリストされているすべてのＳＲＬＧについて、帯域幅利用度構造２３５に、ＳＲＬＧ内のリンクが非アクティブであるネットワーク１００内でルーティングされたデマンド構造２２０内のデマンドとともに特定のリンクの帯域幅利用度割合が記録される。
【００７２】
図３は、図２に示されているネットワーク・プラン構造２００内のデータが関係するネットワーク例３０１を例示している。ネットワーク３０１内の３つのノード、Ａ、Ｂ、Ｃは、３２５、３３５、３３０と示されている。リンク・データ構造２１０内にリストされている各リンクは、リンクの送信元ノードから終端ノードへの矢印としてここでは示されている。２つのペア内のノードＡとノードＢを接続する４つのリンクが示されている。リンク３００の第１のペアは、図２に示されているＳＲＬＧ構造２３０のＳＲＬＧのリスト内の回路１を含む。リンク３０５の第２のペアは、同様に、回路２を含む。回路３、回路４は、リンク３１０とリンク３１５のペアとして例示されている。３１０と３１５における４つのリンクは、ノードＣというラベルが付けられているＳＲＬＧを構成するが、それは、ノードＣを始点又は終点とするリンクの集まりであり、したがって、ノードＣが機能しなくなると機能しなくなるリンクである。３００、３０５を含むこれら４つのリンクは、合わさってＳＲＬＧ  ３２０を形成し、これは、同じ物理的ルートに沿ってノードＡとノードＢを接続するように、２つの回路３００、３０５の両方が入る単一の導管を表す。
【００７３】
図４は、帯域幅利用度構造２３５、つまりトポロジ構造２０５、デマンド構造２２５、共有リスク・リンク・グループ構造２３０の他のコンポーネントから、ネットワーク・プラン構造２００の、帯域幅利用度構造２３５を計算する、本発明の一実施形態による、方法４０１を示す流れ図である。
【００７４】
ブロック４００では、所定のネットワーク・プランを表す表記が指定されている。ネットワーク・プランは、ｋ＝１，．．．，ｐが付けられているそれぞれ容量Ｃ（ｋ）を有するリンクを持つ。デマンド構造２２０は、それぞれＢ帯域幅レベルｂ＝１，．．．，Ｂを有するデマンドｉ＝１，．．．，ｎを含む。（複数の）送信元ノート及び（複数の）宛先ノードは、Ｓ（ｉ）及びＤ（ｉ）、ｉ＝１，．．．ｎと指定される。ｉ番目のデマンドに対するｂ番目の帯域幅レベルは、ｂｗ（ｉ，ｂ）で与えられる。ＳＲＬＧ構造２３０内のＳＲＬＧは、ｊ＝１，．．．，ｍと番号が振られる。
【００７５】
ブロック４０５で、帯域幅利用度構造２３５を格納する配列Ｕは０に初期化される。つまり、Ｂ（ｊ，ｋ，ｂ）は、すべてのＳＲＬＧ  ｊ＝１，．．．，ｍ、リンクｋ＝１，．．．，ｐ、帯域幅レベルｂ＝１，．．．，Ｂに対して０に設定される。カウンタｉ、ｊ、ｂは１に設定される。これらは、デマンド、ＳＲＬＧ、帯域幅レベルのインデックスをそれぞれ作成する。
【００７６】
ブロック４２０で、ＳＲＬＧｊと関連するリンクが削除されているネットワーク１００内の送信元ノードＳ（ｉ）から宛先ノードＤ（ｉ）へデマンドの最短パス・ルーティングを計算する。トポロジ内のリンクのそれぞれでメトリックを使用して最短パスを計算する。これに対し、例えば、ダイクストラ法をはじめとする、よく知られているアルゴリズムをいくつでも使用することができる。送信元ノードから宛先ノードヘの複数の最短パスがある場合、これらの最短パス間のフローを分割するさまざまな方法が存在し、ここでは方法４０１が、モデル化されているネットワーク１００により使用される方法を模倣する。
例えば、長さの等しいすべてのパス間でフローを均等に分割する、コストが等しいマルチパス（ＥＣＭＰ）アルゴリズムを使用することが可能である。
【００７７】
デマンドで使用するルーティングにより、デマンドでネットワーク１００内の各リンクが使用される量が決定される。１からｐまでのｋについて、Ｄ（ｋ）は、リンクｋを通るこのデマンドｉのＭｂ／ｓ単位の利用度として設定される。
【００７８】
ブロック４１５で、機能していないＳＲＬＧｊと帯域幅レベルｂを持つデマンドｉに対する利用度のベクトルＤは、帯域幅レベル利用度構造２４０に加えられる。
【００７９】
ブロック４２０、４２５、４３０、４３５、４４０、４４５では、１からｎまでのｉ、１からｍまでのｊ、１からＢまでのｂのすべての組み合わせについて１回、ブロック４１０を簡単にループできる。つまり、デマンド、ＳＲＬＧ、帯域幅レベル毎にである。
【００８０】
最後に、すべてのループ動作が完了すると、ブロック４５０は、Ｍｂ／ｓのＵで表される利用度を各リンクの容量の割合で表される利用度に変換する。Ｕの各エントリは、ネットワーク内の対応するリンクの容量により除算される。そこで、その結果得られるＵが望ましい利用構造である。
【００８１】
図５は、本発明の一実施形態によるメトリック・トラフィック・エンジニアリング・モジュールのアーキテクチャに関する詳細を示すブロック図である。メトリック・トラフィック・エンジニアリング・モジュール１２５により実行されるさまざまな機能に関する詳細を図５を参照しつつ説明する。
【００８２】
既存のネットワーク・プラン５００が、メトリック・トラフィック・エンジニアリング
・モジュール１２５に入力される。メトリック・トラフィック・エンジニアリング・モジュール１２５は、結果として得られるプラン・デマンドのルーティングを改善するため既存のネットワーク・プラン５００内のリンク・メトリックの一部又は全部を置き換える動作をする。
【００８３】
説明のため、通常の通信ネットワークのリンクをコア・ノードと非コア・ノードに分けることができる。２つのコア・ノードを接続するリンクがコア・リンクであり、そうでなければ、非コア・リンクである。メトリック・トラフィック・エンジニアリング・モジュール１２５により実行されるトラフィック・エンジニアリング・プロセスは、本発明の一実施形態では、コア・リンク内のメトリックのみを変更することにより動作する。これは、修正可能な変数の個数を減らすことにより、最適化問題の複雑さを低減するために使用することができる。さらに、非コア・リンク（例えば、エッジ・リンク又はピア接続リンク）のメトリックがネットワーク全体を通して標準化され、ネットワークの構成ポリシーに違反しないことには変更できない場合であることが多い。さらに、ネットワークのコアに対する最適化を制限することにより、コアを通してコアの外部からデマンドをより少ないデマンドに集約し、さらに最適化問題の複雑さを低減することが可能である。この目的のために、図６、７、８で説明されている方法で、既存のネットワーク・プラン５００をコア・ノード、リンク、デマンドのみを含むコア・ネットワーク・プラン５１５に変換するコア・ネットワーク・プラン・クリエータ・モジュール５１０を含むメトリック・トラフィック・エンジニアリング・モジュール１２５が示されている。
【００８４】
本発明の他の実施形態では、ネットワーク全体をコアとして定義することが可能であり、その場合、モジュール５１０、５２５は関連性がない。
【００８５】
上述のように、コア・ネットワーク・プラン・クリエータ・モジュール５１０は、説明のために、図２を参照しつつ上述のネットワーク・プラン構造２００であると考えられるコア・ネットワーク・プラン５１５を作成する。本発明の一実施形態によるメトリック最適化モジュール５２０は、コア・ネットワーク・プラン５１５を入力として受け取り、コア・ネットワーク・プラン５１５内のメトリックをより最適なメトリックの集まりに変更する。その後、対応するコア・リンク・メトリックは、元のネットワーク・プラン５００内のコア・メトリック修正モジュール５２５により変更される。コア・ネットワーク・プラン・クリエータ・モジュール５１０は、さらに、コア・ネットワーク・プラン５１５のルーティングにとって都合のよいメトリック変更が元のネットワーク・プラン５００のコア・コンポーネントを通るルーティングにとっても等しく都合がよいようにコア・ネットワーク・プラン５１５を作成することができる。
【００８６】
図６は、ネットワーク例６０１を図式表現し、本発明の一実施形態により、コア・ネットワーク・プラン・モジュール５１０でコア・ネットワーク・プラン５１５を作成する方法を例示している。図６は、さらに、通信ネットワーク例におけるさまざまな非コア要素も例示している。
【００８７】
ネットワーク６０１内の各ノードは、ネットワーク・プラン構造２００で、コア・ノード又は非コア・ノードのいずれかとして定義される。図６では、ネットワーク・コア６００内に置かれているノードは、コア・ノードとして定義されているが、ネットワーク・コア６００の外にあるものは、非コア・ノードである。例えば、ノード６１５は非コア・ノードであり、ノード６０５はコア・ノードである。矢印６１０などの双方向の矢印は、各方向に１つずつ、２つのリンクを含む回路を表す。矢印６３５などの単一方向矢印は、リンクを示している。２つのコア・ノードを接続するリンクは、コア・リンク（例えば、６１０内の２つのリンク）と定義され、そうでなければ、関連ノードは、非コア・リンク（例えば、リンク６３５）である。
【００８８】
回路又はリンクの隣の円番号、例えば円番号６４０は、それぞれ、回路内のリンク又はリンク自体のメトリックを表す。ノード６１５などのエッジ・ノードは、ネットワーク例６０１内に始点と終点を置くデマンドの送信元と宛先として機能する。
【００８９】
複数の通信ネットワークは、通常、互いに同格であり、それぞれ他のネットワークを発信元とする、又は他のネットワークを宛先とするトラフィックを伝送する。ネットワーク管理者は、ある範囲まで制御する自分のピア接続配置を変更し、他のネットワークからのデータがネットワークに入り、自分のネットワークからのデータが他のネットワークに出て行くようにできる。
【００９０】
ネットワーク・ピア接続は、それぞれのピア接続されているネットワークを表す特別なノードを含めることによりネットワーク・プラン構造２００内に表すことができる。ノード６２０は、ピア接続されているネットワークを表す「特記」ノードの一実施形態である。特に、ノード６２０は、ネットワーク例６０１内のノード６２５を通して、又はノード６３０を通してアクセス可能なピア接続されているネットワークを表す。ピア接続されているネットワーク内の宛先に向かう、ネットワーク例６０１におけるデマンドは、どれがネットワーク例６０１内の送信元から宛先６２０への最短パス上にあるかに応じて、ノード６３０又はノード６２５から出る。したがって、ネットワーク６０１内のメトリックを変更することにより、ピア接続されているネットワークへの途中でデータの流れが通る最後のノードがノード６２５であるか、ノード６３０であるかに対し影響を及ぼすことができる。
【００９１】
ただし、ピア接続されているネットワークがネットワーク例６０１に入るデマンドの送信元であれば、ネットワーク６０１の内部のメトリック変更を使用して、ネットワーク６０１内でデータの流れが通る最初のノードに影響を及ぼすことはできない。実施形態では、ノード６２０から発信するデータは、ノード６３０又はノード６２５を流れて、ネットワーク６０１内に入るが、これは、ネットワーク６０１内のメトリックを変更することにより変更することはできない。
【００９２】
例えば、ネットワーク・プラン構造２００内のノード６２０により表されるピア接続されているネットワーク内を発信元とするデマンドをモデル化するために、トラフィックがネットワーク６０１に入るか場所に応じて、送信元ノードをノード６３０又はノード６２５のいずれかとして指定するという１つの結論が得られる。しかし、ノード６２０で表される、ピア接続されているネットワークを宛先とするデマンドをモデル化するために、宛先ノードをノード６３０として指定することができ、ネットワーク６０１内のメトリック選択により、それら２つのパスのうちのどれがピア接続されてるネットワーク（ノード６２０）につながるのかが決まる。
【００９３】
図７は、ネットワーク・プラン５００内の既存のデマンド構造２２０を置き換える、新しいデマンド構造２２０を構築するためにコア・ネットワーク・プラン・クリエータ・モジュール５００により使用することができる、本発明の実施形態による、アルゴリズム７０１を示す流れ図である。新しいネットワークデマンド構造２２０は、デマンドの送信元と宛先をコア・ノードであるとみなす。これにより、すべての非コア・ノードと非コア・リンクが除去されるようにコア・ネットワーク・プラン５１５を構築することができ、したがって、５２０でのメトリック最適化をコア・リンク内のメトリックだけに制限することができる。
【００９４】
ブロック７００は、流れ図内の入力された（例えば、既存の）ネットワークデマンド構造２２０を表すための表記を説明している。ｉ＝１，．．．，ｎのそれぞれについて、ＮＳ（ｉ）、ＮＤ（ｉ）、ＮＢＷ（ｉ）は、それぞれ、既存のネットワークデマンド構造２２０内のそれぞれのデマンドに対する送信元ノード、宛先ノード、帯域幅レベルである。
ブロック７０５で、カウンタｉは１に設定される。
【００９５】
ブロック７１０で、ＣＳ（ｉ）は、ノードＮＳ（ｉ）からメトリック距離が最短である、対象のネットワーク内のコア・ノードの集合として設定される。例えば、ＮＳ（ｉ）が図６のノード６３０である場合、ＣＳ（ｉ）は、集合｛ＣＲ１．Ａ、ＣＲ２．Ａ｝に設定されるが、それは、これら２つのコア・ノードが両方ともノード６３０から距離５のところにあり、したがって、ノード６３０から最も近いコア・ノードであるからである。
【００９６】
ブロック７１０では、さらに、ＣＤ（ｉ）は、ノードＮＤ（ｉ）へのメトリック距離が最短である、対象のネットワーク内のコア・ノードの集合として設定される。例えば、ＮＤ（ｉ）が図６のノード６２０である場合、ＣＤ（ｉ）は、集合｛ＣＲ１．Ａ、ＣＲ２．Ａ、ＣＲ２．Ｃ｝に設定されるが、それは、これら４つのコア・ノードが両方ともノード６２０から距離１０のところにあり、したがって、ノード６２０から最も近いコア・ノードであるからである。
【００９７】
ブロック７１５は、カウンタｉが、ネットワークデマンドの総数ｎに達したかどうかをチェックする。達しなければ、ブロック７２０は、ｉを増分し、７１０を回るループが継続する。ｉ＝ｎであれば、フローはブロック７２５に渡される。
【００９８】
ブロック７２５では、送信元と宛先のペアのリスト内のすべての一意的なペアの集合｛（ＣＳ  （１），ＣＤ（１）），．．，（ＣＳ（ｎ），ＣＤ（ｎ））｝を構築する。ｍは、ｊ＝１，．．．ｍについて（Ｓ（ｊ），Ｄ（ｊ））と表される一意的なペアのこのリストの長さに設定される。
【００９９】
１からｍまでのｊについて一意的なペア（Ｓ（ｊ），Ｄ（ｊ））毎に、ブロック７３０では、帯域幅ＢＷ（ｊ）を、（Ｓ（ｊ），Ｄ（ｊ））に等しい送信元、宛先ペア（ＣＳ（ｉ），ＣＤ（ｉ））のすべてに対応するすべての帯域幅ＮＢＷ（ｉ）の総和として計算する。
【０１００】
このようにして、コア・ノードの同じ集合からネットワーク・コア６００を出入りする、すべての入力されたネットワークデマンドの集計である、一意的な送信元と宛先ノード集合を持つｍ個のデマンドが構築される。ブロック７３５で、ベクトルＳ、Ｄ、ＢＷは、これらの集計されたデマンドのそれぞれに対する送信元ノード集合、宛先ノード集合、集計帯域幅を表す。これの結論として、アルゴリズム７０１が流れ図内に表される。
【０１０１】
図８は、図２を参照しつつ上で説明されているデマンド構造２２０に構造上対応するデマンド構造８００、８０５の２つの実施形態を示している。第１のデマンド構造８００は、図６で表されるネットワーク例６０１を通るデマンドのリスト例を含む。第２のデマンド構造８０５はこれらのデマンドを含むが、例えば、図７で説明されているアルゴリズム７０１を使用してコア・ネットワーク・プラン・クリエータ・モジュール５１０により、コア・ルータの集合間のデマンドに集計されるからである。
【０１０２】
ＥＲ１からＣＲ１．Ｂへの第１のデマンド構造８００内の第１のデマンドは、第２のデマンド構造８０５内のＣＲ１．ＡからＣＲ１．Ｂへのデマンドに変換されるが、それは、ＣＲ１．Ａがネットワーク例６０１内でＥＲ１．Ａに最も近い単一のコア・ノードだからである。
【０１０３】
次の３つのデマンドのすべては、コア・ルータの同じ集合、つまり｛ＣＲ１．Ａ，ＣＲ２．Ａ｝に最も近い送信元を持つ。その宛先ノードは、さらに、すべて、同じコア・ルータＣＲ１．Ｂに最も近い（例えば、自明な意味で）。これらのデマンドは、全帯域幅が３０である７０５内の単一のコアデマンドに集計される。つまり、これら３つのデマンドの帯域幅の総和である。
【０１０４】
７００の第５のデマンドは、４つのコア・ルータ｛ＣＲ１．Ａ，ＣＲ２．Ａ，ＣＲ１．Ｃ，ＣＲ２．Ｃ｝から宛先ノードまでの距離が等しい（距離＝１０）。したがって、これらは、７０５の対応するデマンドにおける宛先ノードである。
【０１０５】
図９は、メトリック最適化モジュール５２０内のメトリックを最適化するための、本発明の一実施形態による、方法９０１を例示する流れ図である。
【０１０６】
方法例９０１の特定の最適化の目標は、ネットワーク・プラン構造２００で指定されているすべてのリンク、すべてのＳＲＬＧ障害、すべての帯域幅レベルにわたって最大利用度となる場合に、最大リンク利用度を最小にすることである。リンク利用度が高いほど、リンクで輻輳が発生する確率が高くなり、したがって、そのリンク間のデータ伝送に中断が発生する。方法９０１では、すべてのリンク、ＳＲＬＧ障害、帯域幅レベルにわたる最大リンク利用度をできるだけ低くすることにより、以下のさまざまな運用状況下で、対象となるネットワーク６０１内のすべてのリンクに対する利用度レベルを下げようとする。
１．ネットワーク６０１のすべての要素が正常に機能している「無障害」ＳＲＬＧ動作モード。
２．（リストにもし含まれていれば）回路障害、ノード障害、導管障害などのその他のＳＲＬＧ障害を含む、ネットワーク・プラン５００にリストされる他のＳＲＬＧ障害下でのオペレーション。
３．１日の又は週の異なる時刻での帯域幅を表すことができる、さまざまな異なる帯域幅レベルの下でのオペレーション。
４．ネットワーク内の各デマンドに対する実際の帯域幅レベルがどのようなものかに関するさまざまな仮説を表すことができる、異なる帯域幅レベルの下でのオペレーション。
例えば、これらの仮説は、デマンド見積もりモジュール（１１０）により立てることができる。
【０１０７】
ネットワーク・プラン５００内のノードの部分集合のみがコア・ノードとして定義された場合、この最適化は、それらのコア・ノード間のコア・リンク上でのみ実行されることに留意されたい。つまり、非コア・リンクにおける利用度を最小にする試みはなされないということである。最適化をコアに制限することの計算上の利点のほかに、この制限には、さらに、たぶんいくつかの帯域幅デマンドをコア・ネットワークにもたらすのに１つのアクセス・リンクしか利用できないため輻輳は回避できない場合に、ネットワーク６０１への小さなアクセス・リンク内の輻輳を無視するという利点がある。
【０１０８】
第１のブロック９００では、ネットワーク・プラン５００は、ｐ個のリンクｋ＝１，．．．，ｐ及びｊ＝１，．．．，ｍのｍ個の定義済みＳＲＬＧでインデックスが作成されるものとして定義される。各ｋについて、ｍ（ｋ）は、リンクｋ上の現在のメトリックであると定義される。２つのカウンタｔ＿１及びｔ＿２は０に設定される。
【０１０９】
ブロック９０５では、帯域幅レベル構造は、メトリックｍから計算されたルーティングを使用して、ネットワーク・プラン５００内の９個の帯域幅レベルｌ＝１，．．．，ｑのそれぞれについて計算される。これらの帯域幅レベル構造は、例えば、図４を参照しつつ上で説明されている方法４０１を使用して、計算することができる。ＳＲＬＧ  ｊ＿０、リンクｋ＿０、帯域幅レベルｌにおける利用度がネットワーク・プラン内のすべての帯域幅レベルにおけるすべてのリンク及びＳＲＬＧのすべての利用度にわたって最高になるような３つ組（ｊ＿０，ｋ＿０，ｌ＿０）が見つけられる。Ｂ＿ｍａｘは、この最大帯域幅レベルに設定される。
【０１１０】
ブロック９１０で、２つのカウンタｔ１及びｔ２が１だけ増分される。
【０１１１】
決定ブロック９１５で、カウンタがテストされる。実施形態では、目標値ｍａｘ＿ｔｒｉｅｓ＿ｎｏ＿ｐｒｏｇｒｅｓｓの低減の進行なしで方法９０１を実行できる最大反復回数に制限を設定する。ｔ＿１がこの限界を超えた場合、最適化ループは終了する。また、進行ｔｏｔａｌ＿ｔｒｉｅｓがある場合もない場合もこのアルゴリズムの最大反復回数に限界が設定される。ｔ＿２がこの限界を超えた場合、最適化ループは終了する。
【０１１２】
決定ブロック９１５のいずれかの条件も満たされない場合、ブロック９２０では、ブロック９０５で使用される最高のメトリックであると判明したリンクｋ＿０のメトリックを増分する。このメトリックを高くすることにより、リンクｋ＿０を通るルーティングとされているいくつかのデマンドでは、ネットワークを通る新しいより短いパスがあるため、他の場所へルーティングされる。
【０１１３】
ブロック９２５では、ブロック９０５と同じ計算を実行して、３つ組（Ｊ＿０，Ｋ＿０，ｌ＿０）を見つけ、新しいメトリック設定の下で最高の利用度を得る。この最高の利用度は、Ｂ＿ｎｅｗｍａｘに格納される。
【０１１４】
決定ブロック９３０では、新しい利用度Ｂ＿ｎｅｗｍａｘが前の最大利用度Ｂ＿ｍｘａよりも小さいかどうかを調べる。もし小さければ、最大利用度の低減が進行している。この場合、ブロック９３５では、カウンタｔ＿１を０にリセットし、Ｂ＿ｍａｘを新しい最大値Ｂ＿ｎｅｗｍａｘに設定し、フローはブロック９０５から再開する。そうでない場合、フローは直接ブロック９０５から再開する。
【０１１５】
決定ブロック９１５でテストのいずれかが通った後、方法９０１は終了する。ベクトルｍには、新しい最適化されたメトリック、及び達成された新しい最小の最大利用度であるＢ＿ｍａｘを含む。
【０１１６】
図１０は、本発明の一実施形態による、切り換えモジュール１３５を例示するブロック図である。切り換えモジュール１３５のサブモジュール間のデータ・フローが示されている。
【０１１７】
図１０は、以下のような切り替えモジュール１３５への２つの入力を例示している。
１．対象のネットワークの現在の状態を表すネットワーク・プラン構造（図２に示されているような）であることが思い出される、既存のネットワーク・プラン１１５。
２．対象のネットワークの所望の新しい状態を表すネットワーク・プラン構造である、所望のネットワーク・プラン１３０。これら２つのプランは、（場合によっては）異なるメトリックがトポロジ内の各リンクに与えられていることを除き、同じトポロジ構造２０５を持つ。これらは、同一のデマンド構造２２０、及び一方のプランの中でアクティブないくつかのＳＲＬＧが他のプランでは非アクティブであり、またその逆もあり得ることを除き、同一のＳＲＬＧ構造２３０を持つ。
【０１１８】
切り換えモジュール１３５は、２つのタスクを実行できる。１つは、切り換えシーケンス生成モジュール１０５により実行されるもので、既存のネットワーク・プラン１１５から所望のネットワーク・プラン１３０内に反映されている状態に対象のネットワークを移行するためにステップバイステップの変更の切り換えシーケンス１０２０を生成する。切り換えシーケンス１０２０内のそれぞれのステップは、例えば、ＳＲＬＧの活性化、ＳＲＬＧの不活性化、又は単一リンクのメトリックの変更とすることができる。
【０１１９】
その後、切り換えシーケンス１０２０は、切り換え信号発生モジュール１０２５により対象のネットワーク上で実行される。切り換え信号発生モジュール１０２５は、信号をネットワーク・コントローラ１０３０に送り、対象のネットワーク１０３５にどのような変更を加えるかをコントローラ１０３０に指令する。切り換えシーケンス１０２０のそれぞれの変更が正常に行われた後、ネットワーク・コントローラ１０３０は、切り換えが正常に行われたという応答で切り換え信号発生モジュール１０２５に応え、切り換え信号発生モジュール１０２５は、切り換えシーケンス１０２０の次の変更をネットワーク・コントローラ１０３０に送る。
【０１２０】
図１１は、切り換えシーケンス生成モジュール１０１５により作成することができる、本発明の一実施形態による、切り換えシーケンス１０２０のデータ構造１１００を例示するブロック図である。
【０１２１】
切り換えシーケンス・データ構造１１００は、１から切り換えシーケンス１０２０内のステップの総数まで番号が付けられた切り換えステップ構造１０１５のリストを含む。それぞれの切り換えステップ構造１１０５は、１１１５、１１２０、又は１１２５と表される、３つの可能な下部構造からなる。
【０１２２】
特に、切り換えステップ構造１１０５は、切り換えステップ構造１１０５により表されるステップがネットワーク・プランのＳＲＬＧの活性化である場合に構造１１１５を含む。構造１１１５は、ＳＲＬＧのインデックスとともに、現在は非アクティブであり、切り換えシーケンスのこのステップで活性化されなければならない、活性化するコマンドを含む。
【０１２３】
切り換えステップ構造１１０５は、切り換えステップ構造１１０５により表されるステップがネットワーク・プランのＳＲＬＧの不活性化である場合に構造１１２０を含む。構造１１２０は、ＳＲＬＧのインデックスとともに、現在は非アクティブであり、切り換えシーケンスのこのステップで不活性化しなければならない活性化するコマンドを含む。
【０１２４】
切り換えステップ構造は、切り換えステップ構造１１０５により表されるステップがネットワーク・プランのメトリックの変更である場合に、構造１１２５を同様に含むことができる。構造１１２５は、メトリックが変更されなければならないリンクのインデックスとともに、メトリックを変更するコマンドを含み、そのリンクのメトリックが変更されないてはならない変更先の新しいメトリックを含む。
【０１２５】
図１２は、切り換えシーケンス１０２０を生成するために切り換えシーケンス生成モジュール１０１５により使用することが可能な、本発明の一実施形態による、方法を例示する流れ図である。
【０１２６】
これは、以下の理由から、ネットワーク内で変更を実行する適切な順序を見つけるために使用することができる。
１．変更は、必ずしもすべてが一度に行われるわけではない。最短パス・ルーテッド・ネットワークでは、メトリック変更が行われる毎に、又は対象となるネットワークの要素が活性化又は不活性化される毎に、対象となるネットワークを通る最短パス・ルーティングを再発見するのに時間がかかる。このときに、対象となるネットワークのある部分は新しいルーティングに更新され、他の部分は更新されていない場合に、対象となるネットワークは途絶する場合がある。単一メトリック変更又は単一要素活性化又は不活性化などの小さな変更が行われると、多数の同時変更ほど途絶を起こさずに、ネットワーク内の新しいルーティングの集合への収束が高速化される。
２．多数の小さな変更を順次加えなければならない場合、中間のルーティング（例えば、切り換えシーケンス１０２０のステップの全部ではなく一部が完了したときに生じる）が受け入れられることが望ましい。例えば、対象のネットワークを通るデマンドにより現在使用されている帯域幅レベルの下でこれにより対象のネットワークの正常オペレーションの下で利用度が過剰に高まるべきではない。他の考慮も重要な場合がある。例えば、ＳＲＬＧの障害の下のこれらの中間段階での利用度があまり高くなく、この障害が切り換えシーケンスを実行している真っ只中で生じた場合に、対象のネットワークが輻輳しないことが必要になることがある。また、ネットワーク内のルーティングの待ち時間が中間ステップであまり長くなく、対象のネットワークのすべてのユーザに一定の品質のサービスが提供されるようにする必要がある場合もある。
【０１２７】
開始ブロック１２００で、既存の及び所望のネットワーク・プラン１１５、１３０が切り換えシーケンス生成モジュール１０１５に届く。これらのプラン１１５、１３０は、図１２の流れ図で、Ｐ１（既存のネットワーク）とＰ２（所望のネットワーク）として示されている。ブロック１２０５で、受け入れ可能性について調べられたすべての可能な部分切り換えシーケンスを含む、集合Ｖが空集合に設定される。カウンタｉは１に設定され、現在の中間ネットワーク・プランＰは、既存のネットワーク・プランＰ１に設定される。
ブロック１２１０で、現在の中間ネットワーク・プランＰに適用したときに、ネットワーク・プランを所望のネットワーク・プランＰ２に１ステップだけ近づけ、受け入れ可能な中間ネットワーク・プランを提供する適切な切り換えステップを求める。部分切り換えシーケンスＡ（１），．．．，Ａ（ｉ）がＶ内にあるような切り換えステップＡ（ｉ）を求めなければならない。これにより、すでに調査されている潜在的な切り換えシーケンスは調査されなくなる。Ａ（ｉ）は、以下の切り換えステップのうちの１つでなければならない。
１．Ｐでは非アクティブだがＰ２ではアクティブなＳＲＬＧの活性化。
２．ＰではアクティブだがＰ２では非アクティブなＳＲＬＧの不活性化。
３．Ｐにおける値からＰ２における（異なる）値へのリンクのメトリックの変更。
【０１２８】
ブロック１２１５では、そのようなＡ（ｉ）が見つかるかどうかに応じてフローは分岐する。見つからない場合、受け入れ可能な切り換えシーケンスを見つけることはできず、方法１２０１はブロック１２２０で終了する。
【０１２９】
そのようなＡ（ｉ）を見つけられる場合、部分切り換えシーケンスＡ（１），．．．，Ａ（ｉ）がＶに追加され、現在の中間ネットワーク・プランＰは、Ａ（ｉ）で指定されている変更により更新される。現在の中間ネットワーク・プランＰの帯域幅利用度構造は、例えば、図４を参照しつつ上で説明されている方法４０１を使用して、計算される。
【０１３０】
ブロック１２３０で、現在の中間ネットワーク・プランＰの帯域幅利用度構造をチェックし、帯域幅利用度が受け入れ可能かどうかを判定する。さらに、Ｐでルーティングされたデマンドの待ち時間をチェックし、それらが受け入れ可能かどうかを判定する。現在の中間ネットワーク・プランＰが受け入れ可能である場合、ブロック１２３５は、カウンタｉを進める。ブロック１２４０で、現在の中間ネットワーク・プランＰが所望のネットワーク・プランＰ２に等しいかどうかをチェックし、その場合に、Ａ（１），．．．，Ａ（ｉ）はＰ１からＰ２への完了した切り換えシーケンス１０２０であり、方法１２０１は１２４５で終了する。そうでない場合、方法１２０１は、１２１０に戻り、次のＡ（ｉ）を見つける。
【０１３１】
ブロック１２３０で、現在の中間ネットワーク・プランＰが適切な利用度レベル及び／又はルーティング待ち時間を持つと判明しない場合、方法１２０１はバックトラックする。ブロック１２５０で、ｉが１だけ減じられる。ブロック１２５５で、ｉが０に等しいと判定された場合、適切なシーケンスを見つけられず、方法１２０１は終了ブロック１２２０で異常終了する。そのように判定されなければ、方法１２０１はブロック１２１０に戻り、適切な次のＡ（ｉ）を見つけようとする。
【０１３２】
図１３は、ネットワーク・コントローラ１０３０を利用して、切り換えシーケンス１０２０を実行するために切り換え信号発生モジュール１０２５により使用することが可能な、本発明の一実施形態による、方法１３０１を例示する流れ図である。
【０１３３】
開始ブロック１３００で、切り換え信号発生モジュール１０２５は、切り換えシーケンス１０２０を受け取る。このシーケンスＡ（１，），．．．Ａ（ｎ）におけるｎ個のステップにラベルを付ける。
【０１３４】
ブロック１３０５で、カウンタｉは１に初期化される。
【０１３５】
ブロック１３１０で、切り換えシーケンス・ステップＡ（ｉ）の、切り換えシーケンス１０２０に関連付けられている切り換えシーケンス・データ構造１１００が、対象のネットワーク１０３５で実施するためにネットワーク・コントローラ１０３０に送られる。
【０１３６】
ブロック１３１５で、方法１３０１は、ネットワーク・コントローラ１０３０から切り換えシーケンス・ステップが正常に実行され、及びネットワーク１０３５が切り換えシーケンス・ステップにより通知される新しいメトリック又は要素活動に応じてデータを再ルーティングするように完全に自動的に再構成されているという肯定応答を受け取るまで待機する。
【０１３７】
ブロック１３２０で、切り換え信号発生モジュール１０２５からの肯定応答がチェックされる。アクションが正常に完了した場合、１３２５でカウンタｉは増分される。ブロック１３３０で、ｉがｎよりも大きい場合、切り換えは正常に完了しており、方法１３０１は１３３５で終了する。１３２５でｉがｎ以下の場合、方法１３０１は１３１０に戻り、次のステップをネットワーク・コントローラ１０３０に送る。
【０１３８】
ブロック１３２０で、アクションが正常に完了していないと判定される場合、切り換えは不成功であり、方法１３０１はブロック１３４０で終了する。
【０１３９】
図１４は、切り換えシーケンス構造１４０５図式表現であり、切り換えシーケンス１０２０のそれぞれのステップの下でネットワーク１０３５のリンクの利用度の表１４００である。
【０１４０】
図１４に示されている実施形態では、切り換えシーケンス１０２０を生じた、既存のネットワーク・プラン１１５は、図２のネットワーク・プラン構造２００である。所望のネットワーク・プラン１３０は、以下の点を除き既存のネットワーク・プラン１１５と同じである。
１．ＳＲＬＧ「回路２」が不活性化されている。
２．２つのリンク３．１及び４．１は、メトリックを１０から５に変更してしまっている。
【０１４１】
切り換えのステップ０の図１４で「無障害」というラベルの付いている行及びさらに１４００とラベルの付いている利用度のテーブルの行において、帯域幅レベル利用度構造２４０に両方とも示されているように、「無障害」障害シナリオの既存のネットワーク・プラン１１５の下で、両方とも７５％利用されているリンク１．１とリンク２．１の２つのリンクだけが使用される。これは、ノードＡからノードＢへのネットワーク・プランにおける単一デマンドが、ＡからＢへの最短パスの１つである、リンク１．１に沿っての帯域幅（７５０Ｍｂ／ｓ）の半分、及びＡからＢへの他の最短パスであるリンク２．１に沿っての帯域幅のもう半分でルーティングされるためである。
【０１４２】
切り換えシーケンス構造１４０５のステップ１で、リンク３．１のメトリックは１０から５に変更される。ＡからＢへの最短ルーティングは、この変更の影響を受けず、テーブル１４００のステップ１に示されているように、利用度は同じままである。
【０１４３】
切り換えシーケンス構造１４０５のステップ２で、リンク４．１のメトリックは１０から５に変更される。この変更の後、ＡからＢへ３つの最短ルーティング、つまり、２つの前のルーティング、及びリンク３．１、４．１を通る、総ルート長が１０であるパスがある。テーブル１４００のステップ２に示されているように、リンク利用度は、ＡからＢへのデマンドが５００Ｍｂ／ｓで満たされ、それら３つのルートのそれぞれに沿って伝送される、今やリンク１．１、２．１、３．１、４．１のそれぞれで、５０％の利用度が得られることを反映する。
【０１４４】
最後に、切り換えシーケンス構造１４０５のステップ３で、「回路２」というラベルの付いているＳＲＬＧは不活性化される。そこで、ＡからＢへの２つの最短ルートしかない。一方はリンク１．１を通るもので、他方はリンク３．１及び４を通るものである。１．
回路２の一部であるため、不活性化されたリンク２．１を通るトラフィックをルーティングすることができなくなる。したがって、リンク利用度は、テーブル１４００の行３に示されたものとなる。
【０１４５】
切り換えシーケンス構造１４０５の３つの切り換えステップが実行される順序が重要であることに留意されたい。例えば、不活性化ステップが最初に実行されている場合、リンク１．１を通るＡからＢへの単一の最短ルートがあっただけである。リンク利用度は、１５０％＝１５００／１０００となっており、ネットワーク内に重大な輻輳を引き起こす。
【０１４６】
図１５は、システムの残りとの、図１を参照しつつ上ですでに説明してある、デマンド見積もりモジュール１１０の、本発明の一実施形態による、相互作用を例示するブロック図である。デマンド見積もりモジュール１１０は、図１５においてブロック１５００として示されている。
【０１４７】
デマンド見積もりモジュール１１０は、ネットワーク１００の現在の状態の表現である、ネットワーク・プラン構造２００を構築し、この構造を「既存のネットワーク・プラン」１１５として格納する。ネットワーク・プラン構造２００のさまざまなコンポーネントは、異なる送信元から取られ、デマンド見積もりモジュール１１０により一体にまとめられる。
【０１４８】
トポロジ構造１５１０内の情報は、通常、ネットワーク構成から読み取ることができるため、トポロジ構造１５１０はネットワーク・コントローラ１０５により与えられる。共有リスク・リンク・グループ構造は、増補ネットワーク・データ１５２５により与えられる。増補ネットワーク・データ１５２５は、通常、ネットワーク１００の外部知識を使用して構築され、ネットワーク・コントローラ１０５自体からは利用できない。例えば、２つの回路が同じ導管内にあり、したがって一緒にＳＲＬＧを形成するかどうかは、ネットワーク構成を読み取ることによりネットワーク・コントローラ１０５が必ず検出できる情報ではない。
【０１４９】
ネットワーク・プラン構造２００内のデマンド構造２２０は、以下の３つの別々の入力を使用してデマンド見積もりモジュール１１０により構築される。
１．リンク利用度測定結果１５１５（例えば、リンク容量の割合として表される）、及び
２．ネットワーク・コントローラ１０５を通して得られる、デマンド測定結果１５２０（例えば、Ｍｂ／ｓで表される）、及び
３．増補ネットワーク・データ１５２５の一部である、前のデマンド構造１５３５。前のデマンド構造１５３５は、図２に例示されている、デマンド構造２２０の形態のデータ構造であり、単一帯域幅レベル２２５を含む。前のデマンド構造１５３５は、ネットワーク１００内に存在するすべてのデマンド送信元と宛先をリストする。それらのデマンドのそれぞれの対応する帯域幅レベルは、デマンド帯域幅レベルの前の見積もりである。この見積もりは、デマンドレベルの時間的推移による測定により、又はネットワークの利用度測定結果に基づく何らかの外部見積もり手順又は他の何らかの見積もり方法を使用して、得られる。
【０１５０】
デマンド測定結果１５２０は、ネットワーク１００から直接行われたこれらのデマンド帯域幅レベルの測定と合わせた、前のデマンド構造１５３５内のデマンドの部分集合のリストである。デマンド測定結果１５２０のこのリストに前のデマンド構造１５３５内のすべてのデマンドが含まれる場合、すべてのデマンド帯域幅レベルは知られており、デマンド見積もりモジュール１１０は過剰となる。デマンド測定結果１５２０のリストに、前のデマンド構造内のデマンドが全く含まれないか、又は一部のみが含まれる場合、デマンド見積もりモジュール１１０の役割は、リンク利用度測定結果１５１５、知られているデマンド測定結果、及び前のデマンドを使用して、測定が全く行われていなかったリンクについての見積もりを行うことである。
【０１５１】
デマンド見積もりモジュール１１０は、デマンド帯域幅の最良の見積もりを表す単一帯域幅レベル（例えば、Ｍｂ／ｓで表される）、又はそれぞれデマンド帯域幅の見積もりが異なる複数の帯域幅レベルのいずれかを持つデマンド構造２２０を生成する。これらの複数の帯域幅レベルは、ともに、デマンド帯域幅見積もりの変動を表す。それぞれは、異なる帯域幅レベル・シナリオを表し、システム１０のＧＵＩ  １４０及びその他のコンポーネントは、異なる帯域幅レベル・シナリオの下でトポロジ及びメトリックの変更の影響を評価するか、又は最悪の場合の帯域幅レベル・シナリオに対処するためメトリック・トラフィック・エンジニアリングを実行することができる。
【０１５２】
実施形態では、デマンド見積もりモジュール１１０は、サブモジュールを含むものとして示されている。第１のサブモジュールは、基本デマンド・エスティメータ１５５０であり、これは、前のデマンド構造、リンク利用度測定結果、デマンド測定結果が与えられたときに、単一のデマンド帯域幅レベルの見積もりを行う動作をする。図１６は、基本デマンド・エスティメータ１５５０により実装することができるアルゴリズムによる方法１６０１を示す流れ図である。第２のサブモジュールは、デマンド変動エスティメータ１５４５であり、これは、前のデマンド構造１５３５の帯域幅レベルに基づいて変動を構築し、その後、それらの変動とともに基本デマンド・エスティメータ１５５０を呼び出す動作を行い、基本デマンド・エスティメータ１５５０は、帯域幅レベル見積もりでの変動に戻る。これらの変動から、デマンド変動エスティメータ１５４５は、既存のネットワーク・プラン１１５に挿入されるデマンド構造２２０の帯域幅レベル２２５の集まりを構築する。
図１７は、デマンド変動エスティメータ１５４５により実装することが可能な、本発明の一実施形態による、アルゴリズムによる方法１７０１を例示する流れ図である。
【０１５３】
上記のように、図１６は、デマンド構造の帯域幅レベルを見積もるために基本デマンド
・エスティメータ１５５０により実装することができる、アルゴリズムによる方法１６０１を示す流れ図である。
【０１５４】
ブロック１６００には、入力データの表記が示されている。トポロジ構造は、ｐ個のリンクで指定される。デマンド構造は、ｎ個のデマンド、及び、ｎ個のデマンドのそれぞれについての前の帯域幅レベルを表す、対応する帯域幅レベルｂｗ＿ｐｒｉｏｒ（１），．．．，ｂｗ＿ｐｒｉｏｒ（ｎ）により指定される。リンク利用度測定結果は、ａ＜＝ｐについてのリンクｌ（１），．．．，ｌ（ａ）の部分集合により、リンク利用度測定結果ｕ＿ｍ（１），．．．，ｕ＿ｍ（ａ）の対応する集合とともに表される。デマンド測定結果は、ｂ＜＝ｐについてのリンクｄ（１），．．．，ｄ（ｂ）の部分集合により、測定された帯域幅レベルｂｗ＿ｍ（１），．．．，ｂｗ＿ｍ（ｂ）の対応する集合とともに表される。
【０１５５】
デマンド帯域幅とリンク利用度の測定結果が互いに完全に一致しない場合、測定システムに不具合があるか、又はわずかに異なる時刻に異なる測定を行っていると考えられる。
したがって、ブロック１６０５で実行される見積もりの第１のステップは、所定の測定結果にできる限り近いリンクとデマンド測定結果の完全に一致する集合の集合を見つけることである。特に、ブロック１６０５では、以下のようなｕ（１），．．．，ｕ（ｐ）と呼ばれる各リンクについてリンク利用度を見つける。
１．ネットワーク１００に障害がなく、したがってネットワーク１００は「無障害」ＳＲＬＧで稼働していると仮定すると、利用度ｕ（１），．．．，ｕ（ｐ）を出力する、所定のトポロジとメトリック設定を使用してネットワーク１００を通してルーティングされるデマンド帯域幅レベルの少なくとも１つの集合が存在する。
２．これらのデマンドの部分集合ｄ（１），．．．，ｄ（ｂ）の帯域幅レベルは、できる限り測定されたデマンド帯域幅レベルｂｗ＿ｍ（１），．．．，ｂｗ＿ｍ（ｂ）と一致する。
３．これらのリンク利用度の部分集合ｌ（１），．．．，ｌ（ａ）のリンク利用度は、できる限り測定されたリンク利用度ｕ＿ｍ（１），．．．，ｕｍ＿ｍ（ａ）と一致する。
【０１５６】
そのような利用度の集合を見つける１つの手段として、以下のように指定された線形プログラムを解く。Ａをネットワークに対するｎ×ｐのルーティング行列、つまり利用度ｕのｐベクトルとデマンド帯域幅レベルｂｗのｎベクトルが与えられると、Ａ×ｂｗ＝ｕである。
【０１５７】
そこで、線形プログラムは、
【０１５８】
【数１】
2010166594.tif 000003
Ａ×ｂｗ＝ｕを条件として上の式を最小にする。正の実数ｓ＿１及びｓ＿２の相対的サイズにより、所定のリンク利用度測定結果と結果として得られるベクトルｕとの照合対所定のデマンド測定結果とｕを生成する基礎のデマンドｂｗとの照合の相対的重要度を決定する。これらは、例えば、測定結果の２つの集合のそれぞれにおいて持つ相対的信頼度に応じて異なる。
【０１５９】
ベクトルｕが計算された後、ブロック１６１０は、実際のデマンド見積もりを実行する。特に、基本デマンド・エスティメータ１４５０は、両方ともデータとよく一致するデマンド帯域幅レベルの集合（測定されたリンク利用度及びデマンド帯域レベル）、及びどれが指定された前の帯域幅レベルｂｗ＿ｐｒｉｒｏに近いかを見つけようとする。したがって、基本デマンド・エスティメータ１５５０は、以下を満たす見積もられた帯域幅レベルｂｗ＿ｂａｓｅ（１），．．．，ｂｗ＿ｂａｓｅ（ｎ）の集合を見つける。
１．これらのデマンドの部分集合ｄ（１），．．．，ｄ（ｂ）はｂｗ（１），．．．，ｂｗ（ｂ）に等しい。
２．これらのデマンドから得られるリンク利用度（つまり、ベクトルＡ×ｂｗ＿ｂａａｓｅ）はｕ（１），．．．，ｕ（ｎ）に等しい。
３．帯域幅レベルｂｗ＿ｂａｓｅ（１），．．．，ｂｗ＿ｂａｓｅ（ｎ）はできるだけｂｗ＿ｐｒｉｏｒ（１），．．．，ｂｗ＿ｐｒｉｏｒ（ｎ）に近い。
【０１６０】
ｕは、ブロック１６０５内の要件を満たすため、１及び２を満たす少なくとも１つのベクトルｂｗ＿ｂａｓｅが存在する。そのようなベクトルを見つける１つの方法は、上記の３つの要件を形式的に以下のように書き直すことである。
１．ｂｗ＿ｂａｓｅ（ｄ（ｉ））＝ｂｗ（ｉ）、ｉ＝１，．．．，ｎ、
２．Ａ×ｂｗ＿ｂａｓｅ＝ｕ、
３．以下の式を最小にし、
【０１６１】
【数２】
2010166594.tif 000004
２次プログラムを使用してｂｗ＿ｂａｓｅについて解く。ブロック１６１５は、方法１６０１を終了する。必要な帯域幅見積もりはｂｗ＿ｂａｓｅ（１），．．．，ｂｗ＿ｂａｓｅ（ｎ）である。
【０１６２】
図１７は、ネットワーク・プラン構造２００のデマンド構造２２０の帯域幅レベルの範囲を見積もるために、図１５に例示されている、デマンド変動エスティメータ１５４５により実装が可能な、本発明の一実施形態による、アルゴリズムによる方法１７０１を例示する流れ図であり、すべて、ネットワーク・コントローラ１０５を通してネットワークから利用可能な利用度及びデマンド帯域幅の得られた測定結果を与えた場合にデマンド帯域幅レベルのすべての見積もりが可能である。
【０１６３】
ブロック１７００は、方法１７０１への入力を示している。これらは、２つ追加あるが、図１６の方法１６０１と同じ入力である。一方のＢは、見積もる帯域幅レベルの集合の数である。他方のＶは、指定された前のｂｗ＿ｐｒｉｏｒに入っている信頼度の尺度である正数である。Ｖの値＝０は、前の帯域幅の完全な信頼を示し、この場合、帯域幅レベルの集合１，．．．，Ｂのすべてが、それ自体前の帯域幅に等しい。より大きいＶは、前の帯域幅で表現される信頼度が低いほど、方法１７０１により生成される帯域幅レベルの集合の範囲値は広がる（ただし、利用度及び帯域幅デマンドの見積もりにより制約される）。ブロック１７０５で、１からＢのカウンタは１に設定される。
【０１６４】
ブロック１７１０で、新しい前の帯域幅ベクトルｂｗ＿ｐｒｉｏｒ＿ｖａｒ（ｉ）が構築される。ｉ＝１，．．．，ｎのこのベクトルのそれぞれのｂｗ＿ｐｒｉｏｒ＿ｖａｒ（ｉ）は、ｂｗ＿ｐｒｉｏｒ（ｉ）＋Ｎ（ｉ）に設定される。ここでは、それぞれのＮ（ｉ）は、平均値０、分散Ｖの正規分布から生成される乱数変数である。これらの正規分布以外の他の分布も、前の帯域幅のバラツキを生成するためにここで使用することが可能である。
【０１６５】
ブロック１７１５で、図１６に例示されている方法１６０１がブロック１７００で指定されているすべての入力１〜４で呼び出されるが、前の帯域幅ベクトルｂｗ＿ｐｒｉｏｒはｂｗ＿ｐｒｉｏｒ＿ｖａｒで置き換えられる。この手順により、帯域幅レベルの見積もり、ベクトルｂｗ＿ｖａｒ＿ｂが出力される。
【０１６６】
ブロック１７２０、１７２５で、反復が完了したかどうかをチェックし、反復が完了していなければカウンタｂを増分する。反復が完了した後、フローはブロック１７３０に渡され、方法１７０１は終了する。ベクトルｂｗ＿ｖａｒ＿１，．．．，ｂｗ＿ｖａｒ＿Ｂは、この手順で見積もられたＢ帯域幅レベルである。
【０１６７】
上述のように、ＧＵＩ  １４０を使用すると、既存のネットワーク・プラン１１５をユーザに対して視覚的に表すことができるため、ユーザはネットワークの現在の状態を容易に把握できる。図１８〜２１は、本発明の一実施形態における、ＧＵＩ  １４０により生成し、提示できるインターフェイス例の図であり、以下で説明する。
【０１６８】
まず図１８を参照すると、インターフェイス１８００は、メジャー・ウィンドウ１８０４内に対象のネットワークのエクストラサイト・ビュー１８０２を表示し、マイナー・ウィンドウ１８０８内に対象のネットワークの一部のイントラサイト・ビュー１８０６を表示している。エクストラサイト・ビュー１８０２は、ネットワーク・サイトの位置を示し、それぞれのサイトは、共通物理的ロケーションに置かれているノードの集まりを潜在的に含む。２つの異なるサイト内の２つのノード１８１０を接続する回路（例えば、２つ以上のリンク）は、エクストラサイト・ビュー１８０２内に、関連する２つのサイト１８１０を接続しているものとして表示される。エクストラサイト・ビュー１８０２では、さらに、ユーザがマイナー・ウィンドウ１８０８内に表示する特定のサイト１８１０をイントラサイト・ビュー１８０６として選択することができる。特に、イントラサイト・ビュー１８０６は、選択されたサイトについて、そのサイト内に含まれるノードと、そのサイトのノード間の回路接続を示す。イントラサイト・ビュー１８０６は、さらに、選択されたサイト内のノードに接続されている回路を、関連ノードの接続先の他のサイトのノードの方向にマイナー・ウィンドウ１８０８を出るものとして例示している。説明されている２レベル階層のビューを用意することにより、インターフェイス１８００では、複雑なネットワーク・トポロジ、高利用度領域、又はエクストラサイト・ルーティングの概要をわかりやすく示すことができる。
【０１６９】
また、図１８から、対象のネットワーク内の回路例のそれぞれは双方向であり、２つのリンクを含み、それぞれのリンクが特定の方向ネットワーク・トラフィックを伝送することがわかる。一実施形態では、回路の容量は、これらのリンクの組み合わせた容量である。エクストラサイト・ビュー１８０２とイントラサイト・ビュー１８０６は、両方とも、ノード又はサイトに接続する矩形として回路を示している。これらの矩形はそれぞれ、関連する回路の容量に比例する幅、又はその容量に他の形で関係する物理的寸法により示される。例えば、回路の容量が高いほど、関連する矩形は広がる。回路を表す矩形はそれぞれ、さらに、真ん中で分割され、２つの細い矩形を形成し、細い矩形のそれぞれが回路内のそれぞれのリンクを表すように示されている。矢印は、これらの細い矩形と関連付けられており、それぞれの細い三角形により表されるリンクに沿ってネットワーク・トラフィックが伝わる方向を示す。
【０１７０】
一実施形態では、リンクを表す細い三角形のそれぞれ、又は回路を表す複合矩形のそれぞれは、色分けすることにより（又は、他の何らかの方法で視覚的に区別することにより）、関連するリンク又は回路の利用率を視覚的に表すことができる。例えば、矩形に関連付けられた色を利用度レベルに応じて変え、容認できないほど高い利用度を示す明確な視覚的信号を発するようにできる。利用度は、例えば、利用度が低い（例えば、５０％未満）か、中程度か、高い（例えば、１００％を超える）かどうかに応じて、緑色、オレンジ色、又は赤色で示すことができる。また、矩形で帯域幅利用度を示すのに、帯域幅デマンド度に比例してグラフィック・リンクのセクションを色付けすることができる（例えば、矩形の５０％が色付けされていれば、これは５０％の帯域幅利用を示す）。
【０１７１】
さらに、これらのサイト１８１０のそれぞれを表すボックスを色分けするか、又は他の何らかの方法で、視覚的に区別し、関連するサイト１８１０内のイントラサイト・リンクの最大利用度を識別することができる。例えば、特定のサイト１８１０内のリンクの１つが１００％を超える利用度であれば、サイト１８１０を示すブロックは、少なくとも一部は、赤色で着色することができる。このようにして、ユーザは、エクストラサイト・ビュー１８０２を表示する際に、問題サイトを識別する便利な視覚的手掛かりを利用できる。
【０１７２】
ＧＵＩ  １４０により表示されるインターフェイスは、さらに、１つ又は複数の障害シナリオの下で対象のネットワークを通るデマンドのルーティングを視覚的に示すのに使用することもできる。このために、図１９は、インターフェイス例１９００を示しており、ネットワークを通るデマンドのルーティングが選択された障害シナリオの下に示されている。例えば、メジャー・ウィンドウ１８０４内に示されているエクストラサイト・ビュー１８０２内で、ユーザは障害に関して特定の回路を選択することができる。図１９に例示されているインターフェイス例１９００では、回路１９０４が機能していない回路として選択されている。
【０１７３】
インターフェイス１９００は、さらに、ネットワークを通るさまざまな帯域幅デマンド（例えば、ＳＪＣとＷＤＣとの間の帯域幅デマンド）のユーザ側で選択可能なリスティングを表示するテーブル・ウィンドウ１９０２を含むように示されている。テーブル・ウィンドウ１９０２内に示されているどれかのデマンドをユーザが選択すると、選択されたデマンドが対象のネットワーク内で通る実際のルートがエクストラサイト・ビュー１８０２内に示される。
【０１７４】
ユーザが特定の障害シナリオを選択した後（例えば、１つ又は複数の回路を機能していない回路として選択することにより）、インターフェイス１９００は、選択されたデマンドの再ルーティング（例えば、テーブル・ウィンドウ１９０２内に示されているさまざまなデマンドから選択される）とともに、帯域幅利用度（例えば、利用率）を、障害シナリオの下で、そのような利用を示すために色（又は他の視覚的区別機能）を使用して示す。
さらに、再ルーティングは、エクストラサイトとイントラサイト・ビュー１８０２、１８０６の両方で視覚的に示すこともできる。例えば、選択されたデマンドの再ルーティングは、図１９では、破線で示されている。関連する円形のリンクの最大容量を超えるリンク又は回路の利用も、さらに、赤色で示すことができる。
【０１７５】
インターフェイス１９００は、さらに、一実施形態では、異なる帯域幅レベルの下でルーティングされたデマンドの表示に対応している。このために、異なる帯域幅レベルのドロップダウン・メニュー１９０８が用意され、ユーザは、これらの異なる帯域幅レベルの中から選択することができる。その後、選択された帯域幅レベルは、インターフェイス１９００内のエクストラサイト及びイントラサイト・ビュー１８０２、１８０６に示されているルーティングに適用される。
【０１７６】
ネットワーク内のパケット（例えば、ＩＰネットワーク）は、パケットの相対的優先度を決定する、異なるサービス・クラスでタグ付けすることができる。ネットワークでは一方のクラスのパケットを他よりも優先するようにできるため、低い優先度のパケットでは、高優先度パケットを処理するために必要でないリンク内の帯域幅の割合部分のみを使用する。例えば、１０００Ｍｂ／ｓリンクは低優先度サービス・クラスからフルパケットの５０％、高優先度サービス・クラスからのフルパケットの５０％であると考える。低優先度フローの観点からは、リンクの帯域幅容量は全部利用されている。しかし、高優先度フローは必要に応じて低優先度フローを強制的に動かすことができるため、高優先度フローの観点からは、リンクの帯域幅容量の５０％はそれでも利用可能である。
【０１７７】
ネットワークにおいて複数のサービス・クラスから複数のパケットのルーティングする状況では、本発明の一実施形態のＧＵＩ  １４０は、特定のサービス・クラスの観点（又は視点）からネットワークを見る機能を備えている。一実施形態では、ＧＵＩ  １４０により表示されるユーザ・インターフェイスを使用することにより、ユーザは、フルダウン
・メニューからサービス・クラス・ビューを選択することができる。このために、図１９に示されているインターフェイス例１９００は、サービス・クラス・メニューのドロップダウン・メニュー１９１０を備え、これにより、ユーザ選択可能な多数のサービス・クラスをサービス・クラス・ビューとして提示する。図１９に例示されている状態では、「ＡＬＬ」サービス・クラスが選択されている。ドロップダウン・メニュー１９１０からサービス・クラスが選択された後、インターフェイス１９００内に表示されるビュー内のリンク（例えば、細い矩形により表される）のサイズを変更して、選択されたサービス・クラスの視点から関連するリンクの容量を表すことができる（例えば、リンクの全容量からすべての高優先度サービス・クラスの利用度を差し引く）。したがって、表示される利用度は、「見られた」利用度の割合として表された、選択されたサービス・クラスからのパケット別のリンクの利用度である。例えば、上の例で説明されているように、ネットワークでそれぞれリンクの容量の５０％を使用している２つのサービス・クラスをサポートしている。特定のリンクが以下の３つのビューのそれぞれから異なる形で表示される。
１．「ＡＬＬ」サービス・クラス・ビュー：このビューでは、リンクの帯域幅は１０００Ｍｂ／ｓを表し、リンクは完全利用されていることが示されている（例えば、赤色である）。
２．「低優先度」サービス・クラス・ビュー：関連するリンクの幅は小さく、５００Ｍｂ／ｓを表し、リンクは完全利用されていることが示されている（例えば、赤色である）。
３．「高優先度」サービス・クラス・ビュー：リンクの幅は、１００Ｍｂ／ｓの容量を持つことを示し、リンクの容量の５０％が利用されていることが示されている（例えば、リンクはオレンジ色である）。
【０１７８】
「障害シナリオ」という概念について上で説明した。障害シナリオはリンクの集合の同時障害を伴うことがあることは理解されるであろう（例えば、回路内の２つのリンクが１つの障害シナリオを形成する可能性があるが、それは、回路が機能しなくなると、関連する回路内のリンクは両用とも機能しなくなるからである）。ＧＵＩ  １４０のシミュレーションと最適化により表示されるインターフェイスでは、上述のように、指定された障害シナリオのリストについて対象のネットワークの挙動を考慮する。
【０１７９】
対象のネットワーク内の特定のリンクについて、注目する量は、複数の異なる障害シナリオでの特定のリンクの最大利用度である。特定のリンクの最大利用度が所定の容量を超えた場合（例えば、利用度がリンク容量の１００％を超える）、発生した場合に、関連するリンク内に輻輳を引き起こすネットワークの再ルーティングを発生させる１つ又は複数の障害シナリオがあることを意味する。このために、ＧＵＩ  １４０では、特定のリンクに最大利用度を達成させた特定の障害シナリオの下で異なるリンクの利用度を同時に表示する「最悪の場合」の表示モードを提示できる。図２０は、１つ又は複数の障害シナリオの下で輻輳を生じるリンク２００２を視覚的に識別するインターフェイス例２０００を示している。インターフェイス２０００では、さらに、ユーザは、リンクの輻輳を引き起こした１つのシナリオ又は複数のシナリオを調べることができる。例えば、ユーザが輻輳リンクの１つを選択することにより、選択されたリンクの輻輳を引き起こした１つ又は複数の障害シナリオをインターフェイス２０００で表示することができる（例えば、図１９に示されているインターフェイス１９００内の障害シナリオの表示と似た方法で）。
【０１８０】
最後に、ＧＵＩ  １４０は、さらに、グラフ形式、表形式で表示されている図１８〜２０を参照しつつ、上で説明されている情報を提示することもできる。図２１は、リンク別の詳細を表示する表形式のレポート２１００を例示している。特に、表形式レポート例２１００のリストは、上述のインターフェイス１８００，１９００、２０００のそれぞれについて生成することができ、レポートの１行が特定のリンクに関する情報の表示専用に割り当てられる。さらに、レポート２１００内の複数の行を「最悪の場合」の利用度別の順序で表示することもできる。例えば、インターフェイス２０００により提示される「最悪の場合」の情報を参照することにより、インターフェイス例２００で、輻輳の原因として識別されている３つのリンク２００２は、表形式レポート２１００内で視覚的に区別される（例えば、赤色の「ＷＣ  Ｕｔｉｌ（％）」値を使用する）。表形式レポート２１０は、リンクに関する情報を表示するが、それとともに、ＳＲＬＧの障害により関連するリンクが「最悪の場合」の障害の要因となり、また「最悪の場合」の帯域幅レベルがこの状態に関わっている。この表示により、ユーザは問題リンクを簡単に識別し、またその問題に関わった状況（例えば、ＳＲＬＧ障害及び帯域幅レベル）を識別することができ、適切な処置を講じることができる（例えば、メトリック・トラフィック・エンジニアリング・モジュール１２５を使用してメトリック最適化を実行するか、又は識別された問題リンクの容量を増やすことにより）。
【０１８１】
図２２は、本明細書で説明されている方法ろアルゴリズムのうちの１つ又は複数をマシンに実行させる一組の命令を実行できるコンピュータ・システム２２００の実施形態におけるマシンの図式表現である。他の実施形態では、マシンは、スタンドアロンのデバイスとして動作するか、又は他のマシンに接続（例えば、ネットワーク接続）することができる。ネットワーク接続配置では、マシンは、サーバ・クライアント・ネットワーク環境のサーバ又はクライアント・マシンの容量内で動作することができるか、又はピアツーピア（又は分散）ネットワーク環境でピア・マシンとして動作することができる。マシンは、サーバ・コンピュータ、パーソナル・コンピュータ（ＰＣ）、タブレットＰＣ、セットトップ・ボックス（ＳＴＢ）、パーソナル・デジタル・アシスタント（ＰＤＡ）、携帯電話、Ｗｅｂアプライアンス、ネットワーク・ルータ、スイッチ又はブリッジ、又はそのマシンにより実行されるアクションを指定する一組の命令（順次又はその他の型式）を実行することができるマシンとすることができる。さらに、単一マシンのみが例示されているが、「マシン」という用語は、本明細書で説明されている方法の１つ又は複数を実行する一組の（又は複数の組の）命令を個別に又は連携して実行するマシンの集まりを含むものとして解釈するものとする。
【０１８２】
コンピュータ・システム例２２００は、プロセッサ２２０２（例えば、中央処理ユニット（ＣＰＵ）、グラフィック処理ユニット（ＧＰＵ）、又はその両方）、メイン・メモリ２２０４とスタティック・メモリ２２０６を備え、これらは、バス２２０８を介して互いに交信する。コンピュータ・システム２２００は、さらに、ビデオ表示ユニット２２１０（例えば、液晶表示装置（ＬＣＤ）又は陰極線管（ＣＲＴ））を備えることもできる。コンピュータ・システム２２００は、さらに、英数字入力デバイス２２１２（例えば、キーボード）、ユーザ・インターフェイス（ＵＩ）ナビゲーション・デバイス２２１４（例えば、マウス）、ディスク・ドライブ・ユニット２２１６、信号発生デバイス２２１８（例えば、スピーカ）、及びネットワーク・インターフェイス・デバイス２２２０も備える。
【０１８３】
ディスク・ドライブ・ユニット２２１６は、本明細書で説明されている方法、機能、又はアルゴリズムのうちの１つ又は複数を実現する一組又は複数の組の命令（例えば、ソフトウェア２２２４）が格納されるマシン可読媒体２２２２を備える。ソフトウェア２２２４は、さらに、メイン・メモリ２２０４内で、及び／又はコンピュータ・システム２２００による実行中のプロセッサ２２０２内に完全に又は少なくとも一部、常駐することもでき、メイン・メモリ２２０４やプロセッサ２２０２はマシン可読媒体をも構成する。
【０１８４】
ソフトウェア２２２４は、さらに、ネットワーク・インターフェイス・デバイス２２２０を介して、ネットワーク２２２６上で送受信することができる。
【０１８５】
一実施形態ではマシン可読媒体２２９２は単一の媒体として示されているが、「マシン可読媒体」という用語は、一組又は複数の組の命令を格納する単一の媒体又は複数の媒体（例えば、集中又は分散データベース、及び／又は関連するキャッシュ及びサーバ）を含むものとして解釈すべきである。「マシン可読媒体」という用語は、さらに、マシンにより実行する、本発明の方法のうちの１つ又は複数をマシンに実行させる一組の命令を格納、符号化、又は搬送することができる媒体を含む。したがって、「マシン可読媒体」という用語は、リードステート・メモリ、光及び磁気媒体、及び搬送波信号などを含むものと解釈するものとする。
【０１８６】
要するに、本発明の上述の実施形態は強化機能及び追加機能を実現するものであり、メトリック・ベースのトラフィック・エンジニアリングの実用的実装に有用であるということである。例えば、さまざまな実施形態において以下の実際の問題の対処を追求する。
１．ポイントツーポイント・デマンド情報は、ネットワーク上の利用度の測定結果から部分的にしか推測できないことが多い。トラフィック・エンジニアリング・システム１０は、これらのデマンドに関する不確かな情報を扱うことができるであろう。トラフィックのインテリジェント型ルーティングは、ネットワーク障害の際に、例えば、ネットワーク内の１つ又は複数の要素（リンク又はノード）が機能しなくなった場合に、非常に役立つことが多い。通常であれば、これらの要素を通るルーティングが行われるトラフィックは、これらの要素を含まない最短パスを通るルートが選択され、その結果、障害の発生していない要素において利用度が高まる。ネットワークに対するメトリックの選択は、通常稼働中のネットワークだけでなく、多数の障害シナリオのうちの１つの下にあるネットワークについても適切である。
２．大きなネットワークは多数のエッジ・デバイスやピア接続デバイスに接続され、すべて、トラフィックの個別の送信元と宛先として使用される。このため、ルーティング・テーブルのサイズや複雑度が指数関数的に増大する可能性がある。トラフィック・エンジニアリング・アルゴリズムの機能強化は、これらのアルゴリズムがこのタイプの複雑度が大幅に増大するときにも有効である。
３．利用度レベルなどの目標の基準を使用して、トラフィック・エンジニアリング手順のガイドとすることができるが、より主観的な基準も考慮する必要がある場合もあり、そのような理由から、人間が理解できる形で、大規模で複雑なネットワークについても、重要な決定基準のビューを提示するネットワーク・ビジュアル化システムは有用である。
４．トラフィック・エンジニアリング要件を満たす新しいメトリックの集合が見つかった後でも、ネットワーク活動を中断することなく、またこのプロセスの中間ステップにおいて予測可能で受け入れ可能なパフォーマンスを維持しながら、現在のネットワーク構成をステップバイステップで所望の構成に移行する方法は、いくらかの利益につながる。上述の切り換えシステム例は、このような問題の解消を試みるものである。
【図１】
2010166594.tif 000005
【図２Ａ】
2010166594.tif 000006
【図２Ｂ】
2010166594.tif 000007
【図３】
2010166594.tif 000008
【図４】
2010166594.tif 000009
【図５】
2010166594.tif 000010
【図６】
2010166594.tif 000011
【図７】
2010166594.tif 000012
【図８】
2010166594.tif 000013
【図９】
2010166594.tif 000014
【図１０】
2010166594.tif 000015
【図１１】
2010166594.tif 000016
【図１２】
2010166594.tif 000017
【図１３】
2010166594.tif 000018
【図１４】
2010166594.tif 000019
【図１５】
2010166594.tif 000020
【図１６】
2010166594.tif 000021
【図１７】
2010166594.tif 000022
【図１８】
2010166594.tif 000023
【図１９】
2010166594.tif 000024
【図２０】
2010166594.tif 000025
【図２１】
2010166594.tif 000026
【図２２】
2010166594.tif 000027