(57)【特許請求の範囲】
【請求項１】
改良された負荷分散のためのマルチプロトコルラベルスイッチング（ＭＰＬＳ）ネットワークのノードにおいて実施される方法であって、前記ノードが前記ＭＰＬＳネットワークにおける複数のノードの１つであり、その各々が共通アルゴリズムタイブレーキングプロセスを実施して最小コスト最短経路ツリーを生成し、前記ノードが前記ＭＰＬＳネットワークのトポロジーを記憶するためのトポロジーデータベースを含み、前記ＭＰＬＳネットワークの前記トポロジーが複数のノード及び前記ノード間のリンクを含み、前記方法が、
前記トポロジーデータベースに記憶された前記ＭＰＬＳネットワークの前記トポロジーに最短経路検索アルゴリズムを実行することによって前記ＭＰＬＳネットワークにおける各ＭＰＬＳノード対間で第１の１つ以上の最短経路のセットを決定するステップと、
前記共通アルゴリズムタイブレーキングプロセスを適用することによって、各ＭＰＬＳノード対について前記第１の１つ以上の最短経路セットから少なくとも第１の最短経路を選択するステップと、
各リンクを通過する選択された最短経路の総数に基づいて前記ＭＰＬＳネットワークの各リンクについてリンク利用値を計算するステップと、
各最短経路に対応するリンク利用値に基づいて第２の１つ以上の最短経路のセットにおける各最短経路について経路利用値を発生するステップと、
前記経路利用値に基づいて、前記トポロジーデータベースに記憶された前記ＭＰＬＳネットワークの前記トポロジーに前記最短経路検索アルゴリズムを実行することによって前記ＭＰＬＳネットワークにおける各ＭＰＬＳノード対間で前記第２の１つ以上の最短経路のセットを決定するステップと、
前記経路利用値に基づいて前記第２の１つ以上の最短経路のセットから第２の最短経路を選択するステップであって、前記第２の１つ以上の最短経路のセットにおいて等しい経路利用値を有する多数の最短経路が存在する場合に前記選択が前記共通アルゴリズムタイブレーキングプロセスを利用する、ステップと、
各ＭＰＬＳノード対について少なくとも前記第１の最短経路及び前記第２の最短経路をラベル情報データベースに記憶するステップであって、前記ラベル情報データベースが、前記ＭＰＬＳノードに入来するトラフィックをどこに転送するかを指示する、ステップと、
を含み、これによって、経路利用を考慮した前記第２の最短経路の前記選択が、前記ＭＰＬＳネットワーク全体の負荷分散の標準偏差を最小に抑える、方法。
【請求項２】
前記経路利用値を発生する前記ステップが、
各経路に対応するリンク利用値を合計すること、又は
各経路に対応する前記リンク利用値を辞書編集方式でソートすること、
を含む、請求項１に記載の方法。
【請求項３】
管理者からリンク変更因子を受信するステップと、
前記リンク変更因子を前記リンク利用値と組み合わせて前記リンク及び経路の対応するものに重み付けし、最低負荷印加経路セットのランク付けに影響を与えることによって選択の可能性を低下させることで前記リンクの使用を低減させるステップと、
を更に含む、請求項１に記載の方法。
【請求項４】
対応する経路利用値に基づいて前記第２の１つ以上の最短経路のセットにおける各最短経路にランク付けするステップを更に含み、
少なくとも前記第２の最短経路を選択する前記ステップが、
前記ランク付けから、最高及び最低のランクが付けられた最短経路を選択することを含む、請求項２に記載の方法。
【請求項５】
追加の最短経路を繰り返し選択して、前記ＭＰＬＳネットワークの全体的な改良に対するネットワークオペレータの要望を反映した管理経路数が満足されるまで、負荷分散を前記第１の最短経路及び第２の最短経路と共有するステップを更に含む、請求項２に記載の方法。
【請求項６】
ＭＰＬＳノード対間の前記第１の１つ以上の最短経路セット及び前記第２の１つ以上の最短経路セットが各々前記ＭＰＬＳネットワーク内のラベルスイッチ経路として実施される、請求項１に記載の方法。
【請求項７】
ラベルマッピングメッセージを発生するステップと、
前記ラベルマッピングメッセージにおいてＦＥＣの種類（Ｔｙｐｅ）−長さ（Ｌｅｎｇｔｈ）−値（Ｖａｌｕｅ）（ＴＬＶ）フィールドを規定するステップと、
前記ラベルマッピングメッセージにおいてラベルＴＬＶフィールドを規定するステップと、
前記ラベルマッピングメッセージのためのトポロジーインデックスを規定するステップであって、前記トポロジーインデックスが前記第１の最短経路及び第２の最短経路を選択する前記ステップにおける繰り返しを示す、ステップと、
前記ラベルマッピングメッセージを前記ＭＰＬＳネットワークにおける各ラベル配布プロトコルピアに送信するステップと、
を更に含む、請求項１に記載の方法。
【請求項８】
ＦＥＣ及びトポロジーインデックス値の各組み合わせについてラベルマッピングメッセージが各ＬＤＰピアに送信される、請求項７に記載の方法。
【請求項９】
マルチプロトコルラベルスイッチング（ＭＰＬＳ）ネットワークにおける改良された負荷分散のためのネットワーク要素であって、前記ＭＰＬＳネットワークが前記ネットワーク要素を含み、前記ネットワーク要素が前記ＭＰＬＳネットワークにおける複数のノードの１つであり、前記ＭＰＬＳネットワークのトポロジーが複数のノード及び前記ノード間のリンクを含み、前記ネットワーク要素が、
前記ＭＰＬＳネットワークにおける各リンクについてリンク情報を記憶するためのトポロジーデータベースと、
前記ネットワーク要素の各ポートについてラベル情報を記憶するためのラベル情報データベースであって、前記ネットワーク要素に入来する各転送等価クラス（ＦＥＣ）をどこに転送するかを指示する、ラベル情報データベースと、
前記トポロジーデータベース及び前記ラベル情報データベースに結合された制御プロセッサであって、前記制御プロセッサがデータトラフィックを処理するように構成され、前記制御プロセッサが、
ラベルスイッチ経路（ＬＳＰ）を介してデータトラフィックを転送するように構成されたＭＰＬＳ管理モジュールと、
前記ＭＰＬＳネットワークにおいてＬＳＰを確立するように構成されたラベル配布プロトコル（ＬＤＰ）モジュールと、
前記トポロジーデータベースに最短経路検索アルゴリズムを実行することによって前記ＭＰＬＳネットワークにおける各ＭＰＬＳノード対間で少なくとも１つの最短経路を決定するように構成された最短経路検索モジュールであって、複数の等コスト最短経路を有する前記ＭＰＬＳノード対の各々について、前記等コスト最短経路を負荷分散モジュールに送信するように構成された、最短経路検索モジュールと、
前記複数の等コスト最短経路における各対に関連付けられたリンク利用値から導出された経路利用値に基づいて前記複数の等コスト最短経路の各々をランク付けするように構成されたソートモジュールと、
受信した前記複数の等コスト最短経路から、前記ＭＰＬＳノード対間でデータトラフィック負荷を共有するために用いるそのＭＰＬＳノード対についての前記複数の等コスト最短経路の第１のサブセットを選択するように、更に、前記経路利用値に基づいて、そのＭＰＬＳノード対についての前記第１のサブセットとデータトラフィック負荷を共有するために用いるそのＭＰＬＳノード対についての前記複数の等コスト最短経路から第２のサブセットを選択するように構成された前記負荷分散モジュールと、
を含む制御プロセッサと、を含み、
これによって、前記経路利用値を考慮した前記第２のサブセットの前記選択が、前記ＭＰＬＳネットワーク全体の負荷分散の標準偏差を最小に抑える、ネットワーク要素。
【請求項１０】
前記ソートモジュールが、前記リンク利用値を辞書編集方式でソートして前記複数の等コスト最短経路のランク付けを生成するように更に構成されている、請求項９に記載のネットワーク要素。
【請求項１１】
前記最短経路検索モジュールが、前記トポロジーにおける各リンクについて前記リンク利用値を計算するように更に構成されている、請求項９に記載のネットワーク要素。
【請求項１２】
前記制御プロセッサが、前記ＭＰＬＳネットワーク内のノード対間で各選択された最短経路を実施するためにラベルスイッチ経路（ＬＳＰ）を発生するように更に構成されている、請求項９に記載のネットワーク要素。
【請求項１３】
前記負荷分散モジュールが、管理者からリンク変更因子を受信し、前記リンク変更因子を前記リンク利用値と組み合わせて経路内の対応するリンクに重み付けし、その経路の前記辞書編集方式のソートに影響を与えることによって選択の可能性を低下させることで前記リンクの使用を低減させるように更に構成されている、請求項１０に記載のネットワーク要素。
【請求項１４】
前記負荷分散モジュールが、等コスト最短経路の前記ランク付けにおいて最高及び最低のアイテムを選択することによって前記複数の等コスト最短経路の各々から前記第１のサブセットを選択するように更に構成されている、請求項９に記載のネットワーク要素。
【請求項１５】
前記負荷分散モジュールが、最低負荷を有する前記等コスト最短経路に共通アルゴリズムタイブレーキングプロセスを適用することによって最高及び最低のアイテムを選択することで、前記複数の等コスト最短経路の各々から前記第２のサブセットを選択するように更に構成されている、請求項９に記載のネットワーク要素。
【請求項１６】
前記ソートモジュール及び前記負荷分散モジュールが、前記第１のサブセット及び第２のサブセットと負荷分散を共有するために追加のサブセットを繰り返し選択するように更に構成されている、請求項９に記載のネットワーク要素。
【請求項１７】
前記ラベル配布プロトコルモジュールが、ラベルマッピングメッセージにおけるＦＥＣの種類（Ｔｙｐｅ）−長さ（Ｌｅｎｇｔｈ）−値（Ｖａｌｕｅ）（ＴＬＶ）フィールド、前記ラベルマッピングメッセージにおけるラベルＴＬＶフィールド、前記ラベルマッピングメッセージにおけるトポロジーインデックスを含む前記ラベルマッピングメッセージを発生するように更に構成され、前記トポロジーインデックスが前記第１のサブセット及び第２のサブセットを選択するステップにおける繰り返しを示し、前記ラベルマッピングメッセージを前記ＭＰＬＳネットワークにおける各ラベル配布プロトコルピアに送信するように更に構成されている、請求項９に記載のネットワーク要素。
【請求項１８】
前記ＬＤＰモジュールが、ＦＥＣ及びトポロジーインデックスの各組み合わせについてラベルマッピングメッセージを各ＬＤＰピアに送信するように更に構成されている、請求項１７に記載のネットワーク要素。
【発明の詳細な説明】
【技術分野】
【０００１】
関連技術の相互参照
本出願と同一日に出願され所有者が共通するDavid Ian Allen及びScott Andrew Mansfieldの「AUTOMATED TRAFFIC ENGINEERING FOR 802.1AQ BASED UPON THE USE OF LINK UTILIZATION AS FEEDBACK INTO THE TIE-BREAKING MECHANISM」による同時係属中の特許出願に対する相互参照を行う。この相互参照した出願は引用により本願にも含まれるものとする。
【０００２】
本発明の実施形態は、ネットワークにおいて負荷分散を向上させるための方法及び装置に関する。具体的には、本発明の実施形態は、ネットワーク内のノード間で多数の等コスト経路を用いたマルチプロトコルラベルスイッチング（ＭＰＬＳ：Multi-Protocol Label Switching）ネットワークにおける負荷拡散のための方法に関する。
【背景技術】
【０００３】
負荷分散又は負荷拡散は、ネットワークにおいて帯域幅をより有効に利用し、全体的な性能を向上させる方法である。今日展開されているほとんどの自動化負荷分散及び負荷拡散技法は、極めてローカルな観点のみで動作する。これらの負荷分散及び負荷拡散技法は、所与の宛先に対する経路の数又は次のホップのみを考慮し、ネットワークにおける全体的なトラフィック分散を考慮しない。
【０００４】
等コストマルチパス（ＥＣＭＰ：equal cost multi-path）は、ルーティングネットワークにおけるユニキャストトラフィックの負荷拡散のための一般的な戦略であり、所与の宛先に対するパケットをどのように転送するかに関する決定が、データベース計算を実行している場合に最短経路の候補である多数の「等コスト」経路のいずれかに分解可能である場合に利用される。ＥＣＭＰは、必要なサポートデータプレーンハードウェアを備えたほとんどのユニキャストルーティングプロトコル及びノードと関連付けて用いることができる。これは、単一のルータに対してローカルなホップごとの決定に依拠し、全ての中間ノードにおいてプロミスキャスな受信及び完全な転送テーブルを想定するからである。ネットワークにおけるいずれかの所与のノードでＥＣＭＰを用いて、負荷は、等コストの次のホップセット全体に疑似均等に分割される。このプロセスは、所与の宛先に対して２つ以上の経路が存在するネットワークの各ホップにおいて独立して実施される。
【０００５】
多くの実施において、多数の等コスト次ホップの存在がある場合、各パケットを、インターネットプロトコル（ＩＰ）ヘッダ等のエントロピソースについて調べ、経路数のヘッダ情報モジューロ（modulo）のハッシュを用いて特定のパケットについて次のホップを選択する。高度に集約されたトラフィックでは、この方法は規則的なトポロジー（すなわち対称的なトポロジー）において平均して負荷を均等に分散させ、規則性の低いトポロジーにおいてある程度の向上を提供する。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
マルチプロトコルラベルスイッチング（ＭＰＬＳ）は、ネットワーク上のトラフィック転送に用いられるデータプレーン及び制御プレーン技術の組み合わせである。ＭＰＬＳは、トラフィックのストリームに割り当てたホップごとのラベルを用い、ラベルルックアップ及び翻訳を用いて（「スワッピング」と称する）ネットワークを介したトラフィック転送を行う。ネットワークの各ノードは、ネットワークを介して受信した入来トラフィックを調べてそのラベルに基づいてそのトラフィックを転送することによってＭＰＬＳをサポートし、ラベルは典型的に各ホップにおいて翻訳又は「スワップ」される。
【０００７】
ＭＰＬＳネットワークは、ホップごとのＥＣＭＰを用いてネットワークにおけるルーティングトラフィック分散を改善して、等コスト経路全体で負荷を分散又は拡散させることができる。ＭＰＬＳネットワークにおいては、ネットワークにおける全てのノードによって、各等コスト経路について各次ホップに対するラベルスイッチング経路（ＬＳＰ）を設定する。ネットワークにおける所与の宛先についての転送経路は、ネットワーク内の各ノードでＳＰＦ（shortest path first）アルゴリズムを用いて計算され、ノードにおいてローカルラベルバインディングにマッピングされ、結果として得られた接続性はマルチポイント−マルチポイントメッシュとして現れる。個々のノードは、多数の等コスト経路に宛てられたトラフィックが提示されると、経路セットにおけるフロー分散の均一性を最大限に高めるために、経路選択機構の一部としてペイロード情報を利用する。マルチポイント−マルチポイントＬＳＰの確立は自動化されている。
【０００８】
ラベル配布プロトコル（ＬＤＰ：label distribution protocol）又は同様のプロトコルを用いて、ネットワークにおける全ての可能な転送等価クラスについて完全なラベルバインディングセットを過剰供給（overprovision）し、各ラベルスイッチルータ（ＬＳＲ）は、各転送等価クラスについて次ホップセットを独立して計算し、いずれかの所与の時点でどのラベルバインディングを実際に用いるかを選択する。
【課題を解決するための手段】
【０００９】
改良された負荷分散のためのマルチプロトコルラベルスイッチング（ＭＰＬＳ）のノードにおいて実施される方法であって、ノードがＭＰＬＳネットワークにおける複数のノードの１つであり、その各々が共通アルゴリズムタイブレーキングプロセスを実施して最小コスト最短経路ツリーを生成し、ノードがＭＰＬＳネットワークのトポロジーを記憶するためのトポロジーデータベースを含み、ＭＰＬＳネットワークのトポロジーが複数のノード及びノード間のリンクを含み、この方法は、トポロジーデータベースに記憶されたＭＰＬＳネットワークのトポロジーに最短経路検索アルゴリズムを実行することによってＭＰＬＳネットワークにおける各ＭＰＬＳノード対間で第１の１つ以上の最短経路のセットを決定するステップと、共通アルゴリズムタイブレーキングプロセスを適用することによって、各ＭＰＬＳノード対について第１の最短経路セットから少なくとも第１の最短経路を選択するステップと、各リンクを通過する選択された最短経路の総数に基づいてＭＰＬＳネットワークの各リンクについてリンク利用値を計算するステップと、トポロジーデータベースに記憶されたＭＰＬＳネットワークのトポロジーに最短経路検索アルゴリズムを実行することによってＭＰＬＳネットワークにおける各ＭＰＬＳノード対間で第２の１つ以上の最短経路のセットを決定するステップと、各最短経路に対応するリンク利用値に基づいて第２の１つ以上の最短経路のセットにおける各最短経路について経路利用値を発生するステップと、経路利用値に基づいて第２の１つ以上の最短経路のセットから第２の最短経路を選択するステップであって、１つ以上の最短経路のセットにおいて等しい経路利用値を有する多数の最短経路が存在する場合に選択が共通アルゴリズムタイブレーキングプロセスを利用する、ステップと、各ＭＰＬＳノード対について少なくとも第１の最短経路及び第２の最短経路をラベル情報データベースに記憶するステップであって、ラベル情報データベースが、ＭＰＬＳノードに入来するトラフィックをどこに転送するかを指示する、ステップと、を含み、これによって、経路利用を考慮した第２のサブセットの選択が、ＭＰＬＳネットワーク全体の負荷分散の標準偏差を最小に抑える。
【００１０】
マルチプロトコルラベルスイッチング（ＭＰＬＳ）ネットワークにおける改良された負荷分散のためのネットワーク要素であって、ＭＰＬＳネットワークがネットワーク要素を含み、ネットワーク要素がＭＰＬＳネットワークにおける複数のノードの１つであり、ＭＰＬＳネットワークのトポロジーが複数のノード及びノード間のリンクを含み、ネットワーク要素が、ＭＰＬＳネットワークにおける各リンクについてリンク情報を記憶するためのトポロジーデータベースと、ネットワーク要素の各ポートについてラベル情報を記憶するためのラベル情報データベースであって、ネットワーク要素に入来する各転送等価クラス（ＦＥＣ）をどこに転送するかを指示する、ラベル情報データベースと、トポロジーデータベース及びラベル情報データベースに結合された制御プロセッサであって、制御プロセッサがデータトラフィックを処理するように構成され、制御プロセッサが、ラベルスイッチ経路（ＬＳＰ）を介してデータトラフィックを転送するように構成されたＭＰＬＳ管理モジュールと、ＭＰＬＳネットワークにおいてＬＳＰを確立するように構成されたラベル配布プロトコル（ＬＤＰ）モジュールと、トポロジーデータベースに最短経路検索アルゴリズムを実行することによってＭＰＬＳネットワークにおける各ＭＰＬＳノード対間で少なくとも１つの最短経路を決定するように構成された最短経路検索モジュールであって、複数の等コスト最短経路を有するＭＰＬＳノード対の各々について、等コスト最短経路を負荷分散モジュールに送信するように構成された、最短経路検索モジュールと、複数の等コスト最短経路における各対に関連付けられたリンク利用値から導出された経路利用値に基づいて複数の等コスト最短経路の各々をランク付けするように構成されたソートモジュールと、受信した複数の等コスト最短経路から、ＭＰＬＳノード対間でデータトラフィック負荷を共有するために用いるそのＭＰＬＳノード対についての複数の等コスト最短経路の第１のサブセットを選択するように、更に、経路利用値に基づいて、そのイーサネット（登録商標）ブリッジ対についての第１のサブセットとデータトラフィック負荷を共有するために用いるそのＭＰＬＳノード対についての複数の等コスト最短経路から第２のサブセットを選択するように構成された負荷分散モジュールと、を含む制御プロセッサと、を含み、これによって、経路利用値を考慮した第２のサブセットの選択が、ＭＰＬＳネットワーク全体の負荷分散の標準偏差を最小に抑える。
【００１１】
本発明は、添付図面の図において、限定ではなく一例として例示されている。図面において同様の参照符号は同様の要素を示す。本開示における「１つの」又は「ある」実施形態に対する異なる引用は必ずしも同一の実施形態に対するものではなく、かかる引用は少なくとも１つを意味することに留意すべきである。更に、特定の特性、構造、又は特徴を１つの実施形態に関連付けて記載する場合、これらは、明示的に記載されている場合もそうでない場合も、他の実施形態と関連付けたかかる特性、構造、又は特徴を実施するための当業者の知識内にあることが提示される。
【図面の簡単な説明】
【００１２】
【図１】ネットワークトポロジーの一例の図である。
【図２】マルチポイントラベルスイッチングネットワーク(ＭＰＬＳ）のための自動トラフィックエンジニアリングを実施するネットワーク要素の一実施形態の図である。
【図３】タイブレーキング機構へのフィードバックとしてリンク利用の使用を組み込んだ自動化トラフィックエンジニアリングを含む負荷分散プロセスの一実施形態のフローチャートである。
【図４】ラベル配布プロトコルの一部としてラベルマッピングメッセージを発生するためのプロセスの一実施形態のフローチャートである。
【図５】マルチポイント−マルチポイントネットワークトポロジーの一例の図である。
【図６】マルチポイント−マルチポイントネットワークトポロジーの別の例の図である。
【図７】ＭＰＬＳネットワークにおいて保守運用管理（ＯＡＭ：operation, administration and management）をサポートするための基礎パケットスイッチネットワークに対する疑似ワイヤセットのマッピングの一実施形態の図である。
【発明を実施するための形態】
【００１３】
以下の記載において、多数の具体的な詳細を明記する。しかしながら、本発明の実施形態はこれらの具体的な詳細がなくても実施可能であることは理解されよう。他の例において、周知の回路、構造、及び技法は、本記載の理解を曖昧にしないために詳細には示さない。しかしながら、本発明はかかる具体的な詳細がなくても実施可能であることは当業者には認められよう。当業者は、ここに包含される記載によって、必要以上の実験作業を行うことなく適切な機能性を実施することができる。
【００１４】
実施形態は、プロセスが常に単一経路に分解するプロパティを含む特定のプロパティを用いた基本的なタイブレーキングプロセスを含み、演算の順序又は方向には依存せず、考慮した経路のいずれの部分についてのタイも経路全体を考慮する必要なく分解可能であるようなローカリティプロパティを有する。
【００１５】
図２の例示的な実施形態を参照して、フロー図の動作を説明する。しかしながら、フロー図の動作は図２を参照して考察するもの以外の本発明の実施形態によって実行可能であり、図２を参照して考察する実施形態は図３及び図４のフロー図を参照して考察するものとは異なる動作を実行可能であることは理解されよう。図１及び図５〜７は、図２、図３、及び図４の原理及び構造の実施を例示する一例としてのトポロジー及び状況を与える。
【００１６】
図に示す技法は、１つ以上の電子デバイス（例えばエンドステーション、ネットワーク要素等）に記憶され実行されるコード及びデータを用いて実施可能である。かかる電子デバイスは、一時的でない（non-transitory）機械読み取り可能又はコンピュータ読み取り可能記憶媒体（例えば磁気ディスク、光ディスク、ランダムアクセスメモリ、読み出し専用メモリ、フラッシュメモリデバイス、及び相変化メモリ）等の一時的でない機械読み取り可能又はコンピュータ読み取り可能媒体を用いて、コード及びデータを（内部で及び／又はネットワークを介して他の電子デバイスによって）記憶し伝達する。更に、かかる電子デバイスは典型的に、１つ以上の記憶デバイス、ユーザ入／出力デバイス（例えばキーボード、タッチスクリーン、及び／又はディスプレイ）、及びネットワーク接続等の１つ以上の他のコンポーネントに結合された１つ以上のプロセッサセットを含む。プロセッサセット及び他のコンポーネントの結合は典型的に１つ以上のバス及びブリッジ（バスコントローラとも称する）を介して行う。記憶デバイスは、１つ以上の一時的でない機械読み取り可能又はコンピュータ読み取り可能記憶媒体及び一時的でない機械読み取り可能又はコンピュータ読み取り可能通信媒体を表す。このため、所与の電子デバイスの記憶デバイスは典型的に、その電子デバイスの１つ以上のプロセッサセット上で実行するためのコード及び／又はデータを記憶する。むろん、本発明の一実施形態の１つ以上の部分は、ソフトウェア、ファームウェア、及び／又はハードウェアの異なる組み合わせを用いても実施可能である。
【００１７】
本明細書において用いる場合、ネットワーク要素（例えばルータ、スイッチ、ブリッジ等）とは、ハードウェア及びソフトウェアを含む１台のネットワーキング機器であり、ネットワーク上の他の機器（例えば他のネットワーク要素、エンドステーション等）と通信的に相互接続する。いくつかのネットワーク要素は「多数サービスネットワーク要素」であり、多数のネットワーキング機能（例えばルーティング、ブリッジング、スイッチング、レイヤ２アグリゲーション、セッションボーダー制御、マルチキャスティング、及び／又は加入者管理）のためのサポートを提供し、及び／又は多数のアプリケーションサービス（例えばデータ、音声、及び映像）のためのサポートを提供する。加入者エンドステーション（例えばサーバ、ワークステーション、ラップトップ、パームトップ、携帯電話、スマートフォン、マルチメディア電話、ＶＯＩＰ（Voice Over Internet Protocol）電話、携帯型メディアプレーヤ、ＧＰＳユニット、ゲームシステム、セットトップボックス（ＳＴＢ）等）は、インターネット上で提供されるコンテンツ／サービス及び／又はインターネットにオーバーレイされた仮想プライベートネットワーク（ＶＰＮ）上で提供されるコンテンツ／サービスにアクセスする。コンテンツ及び／又はサービスは典型的に、サービス又はコンテンツプロバイダーに属する１つ以上のエンドステーション（例えばサーバエンドステーション）、又はピアツーピアサービスに参加するエンドステーションによって提供され、パブリックウェブページ（フリーコンテンツ、商店、検索サービス等）、プライベートウェブページ（例えば電子メールサービスを提供するユーザネーム／パスワードアクセスウェブページ等）、ＶＰＮ、ＩＰＴＶ等を介した企業ネットワークを含むことができる。典型的に、加入者エンドステーションは、他のエンドステーション（例えばサーバエンドステーション）に（例えば他のエッジネットワーク要素に対する１つ以上のコアネットワーク要素を介して）結合されたエッジネットワーク要素に対するアクセスネットワークに（有線で又は無線で）（例えばカスタマ構内機器を介して）結合されている。
【００１８】
本発明の実施形態は、従来技術の欠点を回避するためのシステム、ネットワーク、及び方法を提供する。従来技術の欠点は、非対称トポロジーにおける低い性能、保守運用管理（ＯＡＭ）プロトコルに対するサポート不足、パケットごとの調査のための高リソース要件、合理的なネットワーク利用を達成するための高レベルの拡張、多数のメトリックセット発生及び保守、並びに状態の小さい変更を行うために必要な著しいリソースを含む。
【００１９】
本発明の実施形態は、これらの欠点を克服するために、ネットワークのためのトポロジーデータベースの横断数を最小限に抑えながら動的トラフィックエンジニアリングを可能とする。負荷分散方法は、動的トラフィックエンジニアリングを組み込み、転送プレーンにおいて多数の等コスト経路セットのインスタンス化を利用し、これは等コストツリーセットに集約することができ、これによって、次ホップセット発生のためのタイブレーキングへの経路発生プロセス因子の全ての以前の繰り返しから、経路の各リンクを通過する最短経路の累積数が得られる。いったんノードがタイブレーキングプロセスを用いて初期経路選択を行い、トポロジーデータベースにおける全ノード対を処理すると、各リンクを通過する最短経路数が決定され、これをリンク利用値と称する。更に別の経路セットを発生するためのデータベースのそれ以降の各パスでは、考慮対象の各経路における各リンクについて辞書編集方式でソートしたリンク利用値のリストにランク付けすることによって、いずれかの２つのノード対間の最短経路セットを絞り込む。ラインク付けしたリストが一意の最低利用経路を有する場合、その経路を選択する。ランク付けしたリストが一意の最低利用経路を有しない場合、最低リンク利用の候補の最短経路サブセットに基本的なタイブレーキングプロセスを適用する。
【００２０】
負荷分散方法及びシステムにおいては、ネットワークでのリンクの負荷を均一にするために、以前の繰り返しのタイブレーキングを考慮に入れて、経路発生の各繰り返しにおいてネットワーク負荷のモデルを計算する。改良したアルゴリズムでは、第１の繰り返しの後の各繰り返しにおいて負荷の少ないリンクの選択を本質的に優先する。
【００２１】
負荷分散プロセスは、明白な特性を有するタイブレーキングプロセスを利用し、いずれかの２点間の経路について、経路のいずれのサブセットのコンピューティングの方向、コンピューティング又は検査の順序とは無関係に、単一の対称的な経路に分解する。このプロパティを、「最短経路のいずれの部分も最短経路である」と記載する。又は、換言すると、最短経路のいずれかの部分に沿ってタイが発生すると、それらのノードは同一の選択の経路のサブセットについてタイを分解し、その結果として最小コストの最短経路ツリーが得られる。本明細書ではこれを「共通アルゴリズムタイブレーキング」プロセスと称する。
【００２２】
負荷分散プロセスにおいては、共通アルゴリズムタイブレーキングプロセスを用いたトポロジーデータベースの初期パスの結果、第１のツリーセットが発生する。これは、いずれのリンク上でも負荷が記録されていないためであり、従って、８０２．１ａｑにおける等コストの定義が最低メトリックであり最小ホップ数である場合に全ての等コスト経路は利用の候補である。初期ステップでは、ネットワークにおける各ＭＰＬＳノード対間の最短経路を決定する必要があり、いずれかの２つのＭＰＬＳノード間で２つ以上の最短経路が発見されると、ネットワークにおける各ＭＰＬＳノード対間で一意の経路選択を発生するため、及び１つ以上の等コスト転送ツリーセットを発生するため、共通アルゴリズムタイブレーキングプロセスをタイブレーキングに用いる。これをＩＥＥＥ規格８０２．１ａｑにおいては「ＥＣＴセット」と称する。
【００２３】
負荷分散プロセスは、等コスト経路にランクを付け、ランクの低い及び高い経路又は「ブックエンド」経路を決定することができ、双方の経路は必須のプロパティセットを呈する。このため、この負荷分散プロセスは、データベースの単一の「全対」パスから２つ以上の経路を選択することができる。また、負荷分散プロセスは、以前のタイブレーキング手順によって実際に選択された経路に基づいて、各リンクを横断する最短経路数を計算する。この値は「リンク利用」値と称され、以降の計算において用いることができる。リンク利用値は、最短経路がリンクを通過するＭＰＬＳノード対の総数である。他の実施形態では、トポロジーデータベースにおける追加情報を考慮してリンク利用の代わりに用いられる更に洗練された可能性が存在する。
【００２４】
データベースを介して更に経路又はツリーセットを発生するための以降のパスでは、各経路について辞書編集方式でソートしたリンク利用値又は単に経路における各リンクの利用の和を含むことができる経路利用値を発生し、次いで経路利用値に基づいて結果として得られた経路にランクを付けることによって、いずれかの２つのＭＰＬＳノード間の最短経路セットを最初にランク付けする。また、２つ以上のランク付け方式も用いることができる。これは、等コスト経路又はツリーセットを発生している際に２つ以上の経路を選択した場合、同一の経路を選択する回数を最小限に抑えることが有利であるからである。多様性を実証する多数のリンクのランク付けを用いることで、多数の経路を選択するために必要な繰り返し数を最小限に抑えることができる。ランク付けプロセスによって単一の最低利用経路が発生すると、更に処理を行うことなくこれを選択することができる。２つ以上のランク付け（例えば最低ランク付け及び最高ランク付け）を考慮する場合、最低及び最高のランク付け経路の双方として最低利用経路を選択する。２つ以上の等しい最低利用経路が存在する場合、共通アルゴリズムタイブレーキングプロセスを最低利用経路セットに適用して選択を行う。一実施形態では、このステップから２つ以上のランク付けを選択することも可能である。２つ以上の負荷ランク付け機構を利用する場合（例えばランク付けとして負荷の和及び辞書編集方式ソート）、タイが発生した場合に各々から多数のランク付けを抽出することができる。
【００２５】
トポロジーデータベースを介した追加のパス又は繰り返しを実行することができ、各繰り返しにおいて、経路の各リンクに割り当てたリンク利用値は、トポロジーデータベースを介した全ての以前のパスの間に選択されたリンクを通過する最短経路の累積測定値又は指示である。
【００２６】
図１は、例示的なネットワークトポロジーの一実施形態の図である。例示的なネットワークトポロジーは６つのノードを含み、これらは対応するノード識別子１〜６を有する。ネットワークトポロジーに経路対は決定されていない。代表的な共通アルゴリズムタイブレーキングプロセスを利用し、ノード識別子を用いて辞書編集方式で経路をランク付けする。ノード１とノード４との間で等コストの経路セットを調べると、以下のようなランク付けされた経路識別子セットが発生する（経路識別子は辞書編集方式でソートされており、ノード識別子が経過リストとして現れないようになっていることに注意すること）。
【００２７】
１−２−３−４  
１−２−４−６
１−３−４−５
１−４−５−６
【００２８】
このタイブレーキングプロセスの最初の適用では、これらのノード間の低いランク付け及び高いランク付け経路として１−２−３−４及び１−４−５−６が選択される。この例では簡略化のため、全ての６つのノードからの最短経路ツリーではなくネットワークのための経路総数を決定する際にノード対１及び４のみを考慮する。この例では次いで、選択したリンク経路におけるリンクの各々に経路対総数１を割り当てる。トポロジーデータベースを介した次のパスでは、負荷分散プロセスは、経路ＩＤの各々と関連付けて以下の辞書編集方式のリンク負荷印加のソートを行う。
【００２９】
経路１−２−４−６について負荷０、１、１
経路１−３−４−５について負荷０、１、１
経路１−２−３−４について負荷１、１、１
経路１−４−５−６について負荷１、１、１
【００３０】
辞書編集方式のリンク負荷ソートの結果として、経路１−２−４−６及び１−３−４−５の各々は０−１−１であり、これらについてタイが生じる。同様に、リンク負荷の和は以下の通りである。
【００３１】
経路１−２−４−６について負荷２
経路１−３−４−５について負荷２
経路１−２−３−４について負荷３
経路１−４−５−６について負荷３
【００３２】
双方のランク付けスタイルの結果、辞書編集方式でソートした経路ＩＤの二次的タイブレーカーが用いられる。双方の場合、この二次的タイブレーカーから、低経路（１−２−４−６）が選択される。同様に、最低負荷経路セットの高ランク付け経路ＩＤとして１−３−４−５を選択することができる。一実施形態においては、低−高選択を用いる場合、２つの経路を選択する。これらの経路は同一であるか、又は著しい重複を有する可能性がある。例えば、経路１−３−４−５が上のランク付けリストに存在しない場合、経路１−２−４−６が最低コストの低及び高ランク付け経路の双方としての資格を得る。他の実施形態では、低経路選択に対する最初の入力は、辞書編集方式の負荷ソートに基づいたランク付けから行うことができ、高経路選択に対する主要入力は、負荷の和に基づいたランク付けから行うことができる。
【００３３】
この例は１つの経路対を調べることからリンク利用を考慮するだけであるのに対し、データベースの単一のパスの後、潜在的なトラフィック分散の包括的なビューが存在し、以降のパスのタイブレーキングによって本質的に最大が回避され、従って負荷はネットワーク全体で更に均等に分散されることは当業者に理解されよう。負荷分散の変化の程度は、効果が累積的と見なされる新しい各経路セットごとに比例して低減する。
【００３４】
プロセスの繰り返しごとに選択される経路数及びネットワークを利用するため構成される累積経路数は、アプリオリの転送状態対必要な演算パワー分析の関数とすることができる。最低コストの最低及び最高ランク付け経路の双方を選択すると、リンク利用の標準偏差における所与の向上に必要なコンピューティングパワー量が最小限に抑えられるが、結果として更に転送状態が必要である。これは、繰り返しごとに２つの等コストツリーセットが発生されるからである。各繰り返しから単一経路順列を選択するには更にコンピューティングパワーが必要であるが、利用の標準偏差において所与の低減に必要な転送データベース状態量が低減する。これは、単一の最低利用候補から２つの経路を選択しなければならない回数が最小限に抑えられるからである。発生した全経路数は、ネットワーク効率に対して均衡化したネットワーク要素状態及び演算パワー考慮点の双方の組み合わせに基づいて決定される。経路負荷にランク付けするために多数の方式を利用することで、データベースの所与のパスからもっと多くの経路を選択することができる。これは、所与の数の経路選択について同一の経路を２回以上選択する確率を下げるからである。上述の例では、ネットワーク全体に適用される一貫した結果を生じる２つの経路負荷ランク付け方法について記載した。他の実施形態では、追加の又は代替的なランク付け方法を利用することも可能である。例えば、ローカリティプロパティ（共通アルゴリズムタイブレーキングプロセスと組み合わせた場合に最低負荷経路のいずれかの部分が最低負荷経路でもある）及びかかるランク付けの組み合わせも有する他の負荷ランク付け機構を利用することができる。
【００３５】
更に、上述の例では、リンクを通過した最短経路総数によってリンク利用を表す。リンク利用を表すために、もっと詳細かつ高精度で多数の変形を利用することができる。ラベル情報及びトポロジーデータベース内には充分な情報があるので、ネットワーク内の各ノードが、特定の最短経路を用いるサービスインスタンス数を決定することができる。リンク利用値はこの利用に基づいて決定されて、対応するリンクを適切に重み付けすることができる。ラベル情報又はトポロジーデータベースによって記憶されたデータを増大させることで、負荷分散計算に用いるためにサービスごとの追加の帯域幅プロファイリング情報が利用可能である。別の実施形態では、ノード対間で提供可能である最大負荷を表すものとして、経路におけるリンクセットの最小リンクメトリックのみを用いる。他の実施形態では、同様のメトリック又は更に詳細なメトリックを用いることができる。
【００３６】
一実施形態において、トポロジーデータベースの最終パスを除いた全てのものが、ネットワーク内の全ノート対間の最短経路の「全対」計算を伴う。これは複雑さのために演算の面で高価である場合がある。しかしながら、負荷分散プロセスは、測定可能な利益を生むためにトポロジーデータベース内で著しい数のパスを必要とせず、その結果、負荷分散プロセスはネットワークリソース割り当てにおいて有益な全体的な向上を達成し、これらの「全対」計算を妥当なものとする。
【００３７】
ランダムなグラフ発生を利用する実験例において、初期ＥＣＴセットを確立した後のデータベース内の単一パスでは、結果として、ネットワークの各リンクを通過する最短経路総数として測定されたリンク負荷印加の変動係数が約平均４５％低減した。トポロジーデータベース内で更に３つのパスにおいて変動係数が低下し続け、平均７５％の低減まで至ったが、利点の大部分はベースラインを確立した後に第１のパスから得られた。このため、負荷分散における利点の大部分はデータベースの最初の２つのパスで得られる。第１のセットの負荷印加を回避するために第２のセットが明示的に配置されると、ネットワーク内の経路数は２倍になった。しかしながら、変動係数の向上率は、累積経路総数によって表面的に提示される１／２、１／３、１／４率よりもはるかに迅速にパスごとに低下する。このため、演算及び転送状態の双方において負荷分散プロセスを追跡可能に維持しながら、有意の結果を達成可能である。
【００３８】
この方法は効果的に接続指向であり、最小負荷印加リンクを求めるので、失敗によって生じたトラフィックマトリックスの乱れは分離され、性質上ローカルである傾向がある。いったんネットワークの狭窄（constriction）が迂回されたら、負荷分散プロセスはデータトラフィックを最初の分散へと向ける傾向がある。また、この方法は新しく現れたＭＰＬＳ−ＴＰ技術ベースにより動作して、保守運用管理（ＯＡＭ：operation, administration and management）プロトコルを未変更で利用することができ、ＭＰＬＳネットワークのアーキテクチャ及びサービス保証を維持するようにする。
【００３９】
また、負荷均衡化プロセス及びシステムによって、管理者は負荷因子でリンクを「予めバイアス」することができ、これは特定のリンクから何らかの負荷をシフトする効果を有する。これによって、マルチトポロジールーティングよりもはるかに単純な管理である単純なメトリック変更よりもルーティング挙動操作のための更に微妙なグラデーションが可能となり、従来の負荷均衡化システムで行われたメッシュ密度を人工的に上昇させるためのリンク仮想化（ＲＦＣ  ４２０６に従ったＭＰＬＳ「転送隣接（forwarding adjacencies）」等）の必要がなくなる。２段階ソートでは、リンクバイアスを適用するタイミングが重要である。これは典型的には第２及びそれ以降の繰り返しについてのみ考慮される。第１の繰り返しにおける実施においては、全ての等コスト経路は利用の候補であり（ゼロ）、すぐにバイアス因子を適用すると、第１の繰り返しの結果としてバイアスを有するそのリンクから他の経路へと全ての負荷がシフトされる傾向がある。
【００４０】
図２は、タイブレーキング機構へのフィードバックとしてリンク利用を組み込んだ負荷分散方法を実施するネットワーク要素の一実施形態の図である。ネットワーク要素２００は、ラベル情報データベース２１９、トポロジーデータベース２２１、入口モジュール２０３、出口モジュール２０５、及び制御プロセッサ２０７を含むことができる。入口モジュール２０３は、物理リンク及びデータリンクレベルでネットワーク要素２００が受信しているデータパケットの処理を扱うことができる。出口モジュール２０５は、物理リンク及びデータリンクレベルでネットワーク要素２００が送信しているデータパケットの処理を扱う。制御プロセッサ２０７は、ルーティング、データトラフィックの転送及び高レベル処理を扱う。制御プロセッサ２０７は、最短経路検索モジュール２０９、負荷分散モジュール２１５、ラベル配布プロトコル（ＬＤＰ）モジュール２１３、ＭＰＬＳ管理モジュール２１７、及びソートモジュール２１１を実行するか又は含むことができる。
【００４１】
ラベル情報データベース２１９は、データパケットを転送する方法を定義するラベル転送エントリを有するテーブルを含む。ラベル転送エントリは、ネットワーク要素２００のネットワークインタフェースに、ラベル及び基礎にあるＦＥＣ及び仮想トポロジーを関連付ける。この情報は制御プロセッサ２０７によって用いられて、どのようにデータパケットを処理するか、すなわちどのネットワークインタフェースにデータパケットを転送するかを決定する。負荷分散方法及びシステムは、本明細書において以下に記載するような負荷分散を実施するラベル配布プロトコル（ＬＤＰ）によるラベル転送エントリを生成する。
【００４２】
トポロジーデータベース２２１は、ネットワーク要素２００が接続されているネットワークのトポロジーのネットワークモデル又は同様の表現を記憶する。一実施形態において、ネットワーク内のノードは各々ラベルスイッチルータ（ＬＳＲ）であり、ＬＳＲ間のリンクは多数の基礎にあるプロトコル及び技術を利用することができる。ノードはノードループバックアドレス等の一意のノード識別子によって、リンクはノード−識別子対によって識別することができる。このネットワークモデル表現は一例として与えられており、この負荷分散方法及びシステムによって他のネットワークトポロジー表現も利用可能であることは当業者には理解されよう。
【００４３】
最短経路検索モジュール２０９は、制御プロセッサ２０７のコンポーネント又は制御プロセッサ２０７によって実行されるモジュールである。最短経路検索モジュール２０９は、トポロジーデータベースを横切って、ネットワークトポロジー内のいずれかの２つのノード間の最短経路を決定する。２つのノード間においてネットワーク内で等しい距離又はコストを有する多数の経路が存在し、これらの多数の経路が全て最短経路である場合には、これらの多数の等コスト経路をソートモジュール２１１及び負荷分散モジュール２１５に提供して、どれを利用するかを決定することができる。最短経路検索モジュール２０９は、ネットワークトポロジー内の全ノード間の最短経路を決定することができ、これを本明細書においては「全対」計算と称する。
【００４４】
最短経路検索モジュール２０９は、各ノード対について最短経路セットを与え、負荷分散モジュール２１５は、最短経路のサブセットを選択し、ラベル情報データベースを更新して、ネットワーク要素２００を横切る各最短経路のサブセットを実施するエントリを含む。
【００４５】
第１のパスの後、最短経路検索モジュール２０９は、トポロジーデータベースを介した第１のパスの結果として得られたネットワークトポロジー内の各リンクのリンク利用値を計算する。リンク利用値は、所与のリンクを横切る選択された最短経路の総数である。各リンクについて別個のリンク利用値を計算し記録する。これらのリンク利用値を用いて経路利用値を発生し、次いでこれを用いてトポロジーデータベースを介した以降のパスについて経路のランク付けをバイアスさせる。この場合、初期タイブレーカーは、辞書編集方式でソートしたリンク利用値のランク付けしたリスト又はリンク利用値の和（すなわち経路利用値の形態）のいずれかであり、この結果としてタイが生じた場合、共通アルゴリズムタイブレーキングプロセスが以降のタイブレーカーとして用いられる。
【００４６】
ソートモジュール２１１は、制御プロセッサ２０７のコンポーネント又は制御プロセッサ２０７によって実行されるモジュールである。ソートモジュール２１１は、第２のパス及び以降のパスにおいて経路利用値に基づいて負荷印加した等コストツリーセットの初期ランク付けを実行することによって、負荷分散モジュール２１５を支援する。
【００４７】
多数の等コスト経路を有する各ノード対について、ソートモジュール２１１は経路利用値に基づいてこれらの等コスト経路の各々のランク付けを発生し、負荷分散モジュール２１５はこのランク付けから少なくとも１つの経路を選択する。他の実施形態においては、最高及び最低ランク付けの経路を選択して、対応するノード対間で負荷を分割することができる。負荷分散モジュール２１５は、制御プロセッサ２０７のコンポーネント又は制御プロセッサ２０７によって実行されるモジュールである。
【００４８】
このプロセスは、いかなるパス又は繰り返し数でも繰り返すことができ、この場合リンク利用値は通過する最短経路セットの累積指示値まで更新される。また、経路利用値も、リンク利用値に対する変更に従って更新される。経路における変数の標準偏差は典型的に各繰り返しと共に低減するが、経路セット数が増えると、各追加セットの全体的な影響は比例して低減し、これは２つ又は３つ以上のパス又は繰り返しを用いることが生成のための演算労力又はインスタンス化のための転送状態のいずれにも値しないことを示す。経路又は繰り返しの数は、管理者によって指定され、ネットワーク全体にわたって構成される。
【００４９】
ＭＰＬＳ管理モジュール２１７は、制御プロセッサ２０７のコンポーネント又は制御プロセッサ２０７によって実行されるモジュールである。ＭＰＬＳ管理モジュール２１７は、入来パケットを調べ、関連付けられたラベルを判定し、ラベル情報データベース２１９においてパケットのルックアップを実行してパケットを転送するネットワークインタフェースを決定する。また、ＭＰＬＳ管理モジュール２１７は、各データパケットについてＬＳＰの適正な横断に影響を与えるために、いずれかの必要なラベルスワッピング、ラベル追加、又はラベル除去を実行する。
【００５０】
ＬＤＰモジュール２１３は、制御プロセッサ２０７のコンポーネント又は制御プロセッサ２０７によって実行されるモジュールである。ＬＤＰモジュール２１３は、ネットワークの負荷を分散させるために利用するＬＳＰの生成に必要なネットワーク内のラベルバインディングに対して、転送等価クラス（ＦＥＣ）及び仮想トポロジーを確立するために必要なメッセージを発生する。ＬＤＰモジュール２１３は、ＦＥＣタイプ−長−値（ＴＬＶ）フィールド、ラベルＴＬＣフィールド、及び仮想トポロジーＴＬＶフィールドを含むラベルマッピングメッセージを発生する。トポロジーＴＬＶフィールドは、負荷分散プロセスのどの繰り返しにそのラベルおよびＦＥＣが関連付けられているかを示すトポロジーインデックスを含む。また、ＬＤＰモジュール２１３は、ラベル配布を実施するための他の従来の機能も実行する。
【００５１】
図３は、等コスト経路のためのタイブレーキング機構へのフィードバックとしてリンク利用を用いること基づいたマルチプロトコルラベルスイッチングの自動化トラフィックエンジニアリングをサポートする負荷分散のプロセスの一実施形態のフローチャートである。一実施形態では、このプロセスは、リンクスイッチルータ等のネットワーク要素の開始時に、既定の間隔又は同様のイベントもしくは時点において、そのルータに接続されたネットワークに対するトポロジーの変化が通知されると実行することができる。トポロジーデータベースは、負荷分散プロセスとは別個のプロセスとしてネットワーク内の各ネットワーク要素において維持され、ネットワークの真のトポロジーの現在の表現であると想定される。
【００５２】
一実施形態において、負荷分散プロセスは、ネットワーク内のネットワーク要素又はＭＰＬＳノード（例えばＬＳ）とネットワーク内の別のネットワーク要素又はＭＰＬＳノードとの間の最短経路セットを決定することによって開始する（ブロック３０１）。最短経路セットは、個々の経路として又は各ツリーのルートとして各ネットワーク要素を有するツリーセットとして考えることができる。多数の最短経路があるか否か、すなわちＭＰＬＳノード間に最短経路のためのタイがあるか否かを判定するためにチェックを行う（ブロック３０３）。ＭＰＬＳノード対がそれらの間に単一の最短経路を有する場合、ラベル情報データベースを更新して最短経路を反映させる（ブロック３０６）。一実施形態では、ラベル情報データベースを更新して、これを維持するネットワーク要素を横断する経路の各々を反映させる。ネットワーク内の各ネットワーク要素がこの同一の計算を実行する。負荷分散プロセスは決定論的であり、このため各ネットワーク要素は同一の結果を生成する。トポロジーに変化がない限り、単一の最短経路を有するＭＰＬＳノード対にこれ以上の処理は必要ない。
【００５３】
ＭＰＬＳノード対が、典型的に最低ホップ数及び最低コストとして測定される一意の最短経路を有しない場合、共通アルゴリズムタイブレーキングプロセスを用いて、一意の最短経路又は最短経路セットを選択することができる（ブロック３０５）。一実施形態では、第１及び最後のランク付け経路を選択することができる。経路を選択した後、それらをラベル情報データベースに記憶するか、又はそれらを用いてラベル情報データベースを更新して、全てのＭＰＬＳノード対でそれらの間に少なくとも１つの経路が選択されているようにする。
【００５４】
最短経路を選択した後、ＭＰＬＳノード対の全てで経路が選択されているか否かを判定するためにチェックを行う（ブロック３０７）。更に別のＭＰＬＳノード対で１つの経路又は経路セットが選択されていない場合、プロセスは続いて処理する次のＭＰＬＳノード対を選択する（ブロック３０９）。ＭＰＬＳノード対の全てで最短経路が選択された場合、プロセスは続いて第２のパス又は繰り返しに移る。
【００５５】
全てのＭＰＬＳノード対が完了したので、転送データベースの更新結果として、又は転送データベースの更新後に、各リンクについてリンク利用値を計算する（ブロック３１０）。リンク利用値は、ネットワークのトポロジーにおける各対応リンクを横断する経路の総数である。リンク利用値はネットワークにおける各リンクについて計算される。リンク利用値は、使用レベル及び、追加経路を形成する場合に回避しなければならないネットワークにおける潜在的なボトルネックの指示を与える。
【００５６】
これ以降の最短経路の発生では、経路利用値を発生することによってタイブレーキングを最初に実行する。経路利用値は、これがリンク利用値を含む場合は辞書編集方式でソートしたリストとして、又はリンク利用値の和としてのいずれかで発生する。全てのノードプロセスは、あるＭＰＬＳノード対を選択し、このＭＰＬＳノード対間で最短経路セットを決定することによって再び開始する（ブロック３１１）。このプロセスは、各経路に対応するリンク利用値に基づいた経路利用値を含む（ブロック３１３）。経路利用値は、リンク利用値の和等の各経路の全体的な負荷を表すことができ、又は、各経路における最大もしくは最小負荷印加リンクを強調するリンク利用値の辞書編集方式でソートした配置もしくは同様の配置及び表現とすることができる。最短経路は、それらの経路利用値によってランク付けされる（ブロック３１５）。等しい経路利用値を有する所与のＭＰＬＳノード対について２つ以上の最短経路があるか否かを判定するためにチェックを行う（ブロック３１７）。
【００５７】
一意の最低負荷印加経路が存在する場合、全経路ランク付け（例えば最低及び最高）のためにこれ以上の処理を行うことなくこれを選択することができる。同一の負荷印加の２つ以上の最短経路が存在する場合（すなわち同一の経路利用値）、共通アルゴリズムタイブレーキングプロセスを用いて、最短経路の最低負荷印加セットのこのサブセットにおいて経路選択を実行する（ブロック３２１）。ランク付けはリンク利用値を考慮に入れて、最低又は最小使用リンクの経路が最も選択される可能性が高いようになっており、これは結果としてネットワーク内の次のホップだけでなくネットワークの全体的な負荷を考慮するので、ネットワーク全体のルーティングはいっそう均衡化される。次いでラベル情報データベースを更新して、選択した経路を反映させる（ブロック３１８）。
【００５８】
次いで、ＭＰＬＳノード対の全てが選択された最短経路又は最短経路セットを有するか否かを判定するためにチェックを行う（ブロック３１９）。そうでない場合、プロセスは続いて処理する次のＭＰＬＳノード対を選択する（ブロック３２３）。ＭＰＬＳノード対の全てが計算された場合は、追加の経路が必要であるか否かを判定するためにチェックを行う（ブロック３２５）。追加の経路が必要ない場合（これはネットワーク管理者によって設定されるか又は同様の方法で決定されるパラメータである）、負荷分散プロセスは終了する。追加の経路が必要である場合、プロセスは続いて第２のものと同様の第３のパス又は繰り返しに移るが、これは以前の繰り返しで決定されたリンク利用に基づいている。このプロセスはいかなる数の繰り返しを有することも可能である。
【００５９】
図４は、ラベル配布プロトコルの一部としてラベルマッピングメッセージを発生するためのプロセスの一実施形態のフローチャートである。一実施形態において、このプロセスは、トポロジーの変化又はネットワークのためのラベル情報データベースの変更に応答して開始される。別の実施形態では、このプロセスは、ＭＰＬＳネットワークの状態を維持するために定期的に開始される。このプロセスは、各ノードがそのピアの１つに送信するラベルマッピングメッセージを発生することによって開始する（ブロック４１０）。
【００６０】
ラベルマッピングメッセージは、多数のタイプ−長−値（ＴＬＶ）フィールドを含む。ホストノードのラベル情報ベースに表されるように、ネットワークのトポロジーにおける各転送等価クラス（ＦＥＣ）及び各トポロジー経路又はツリーについて別個のラベルマッピングメッセージを発生する。各ラベルマッピングメッセージについて、対応するフィールド等価クラスをラベルマッピングメッセージのＦＥＣ  ＴＬＶフィールドにおいて規定する（ブロック４０３）。
【００６１】
また、経路におけるインタフェースの各々についてＬＳＰに割り当てたラベルに従って、各ラベルマッピングメッセージのラベルＴＬＶも規定する（ブロック４０５）。ラベルマッピングメッセージにおいて、トポロジーインデックスも規定する（ブロック４０７）。トポロジーインデックスは、ラベルマッピングメッセージが規定したＬＳＰの選択プロセスの繰り返しを示す。例えば、ラベルマッピングメッセージが第１の選択されたツリー又は経路に対応する場合、ゼロ又は１のトポロジーインデックスを選択し、ラベルマッピングメッセージに挿入すれば良い。同様に、第２の経路又はツリーがメッセージに対応する場合、１又は２を値として指定すれば良い。いったんラベルマッピングメッセージの各々を規定し、その値の各々を指定すると、ラベルマッピングメッセージをラベル配布プロトコルピアの各々に送信することができる（ブロック４０９）。一実施形態では、トポロジーインデックスはラベルマッピングメッセージの既存のＴＬＶに含まれる。別の実施形態では、ラベルマッピングメッセージのためにトポロジーＴＬＶを規定する。
【００６２】
図５は、ラベルスイッチルータ（ＬＳＲ）セット１〜１８を含むマルチポイント−マルチポイントネットワークの一実施形態の図である。この図は、所与の例について先に規定したプロセスの第１の繰り返しによって規定された経路又はツリーのセットを示す。この図は、このネットワークへの入口がノード１〜４及び同様に１３〜１８上で分散可能であることを想定する。換言すると、これらのＬＳＲはネットワークのエッジにあるが同一の外部インタフェースを有する。この例では、第１のパスにおいて、このプロセスは、この一意の経路セットから全てのノード対について辞書編集方式でソートした一意の経路１〜１３から４〜１８のセット（例えば１−５、５−９、９−１３、及び４−８、８−１２、１２−１８）を発生し、この例は、これらの一意の経路識別子のランク付けから、ツリー５０１及び５０３に相当する低い及び高い経路が選択されると想定する。
【００６３】
図６は、本明細書において上述した負荷分散方法の第２の繰り返しにおいて選択された経路又はツリーを示す。この例では、負荷分散方法は、各経路に関連付けたリンク負荷の辞書編集方式の順序付けが２つの経路間にタイを生成する２つの経路を見出し、経路識別子としてのノードＩＤの代表的な辞書編集方式の順序付けを呼び出してタイを権威的に分解する。第２の繰り返しからの最低ランク付けツリー６０５及び最高ランク６０７は、ノード１〜４及びノード１３〜１８間でトラフィックを更に分散させ、図５に示した第１の繰り返しから最低ランク付けツリー６０１及び最高ランク付けツリー６０３を補足する。辞書編集方式のソートにリンク使用値を組み込むことによって、第２の繰り返しは最低利用リンクを有する等コスト経路を選択し、これによって帯域幅の利用を増し、選択した「全対」経路のトポロジーの多様性を増す。
【００６４】
図７は、ＭＰＬＳネットワークにおける保守運用管理（ＯＡＭ）をサポートするために基礎パケットスイッチネットワークに疑似ワイヤセットをマッピングする一実施形態の図である。疑似ワイヤと等価なエンドポイント間にピアツーピアＬＳＰの完全メッシュを重ねることによって、トラフィックエンジニアリングシステムを用いて性能監視を維持しコンパチビリティを維持することができる。従って、パケットスイッチネットワークはオーダー（Ｎ）でスケーリングし、従って障害管理はスケーリングすることができるが、オーバーレイは性能監視に必要なピアツーピアプロパティを有する。疑似ワイヤのＦＥＣを変更して、疑似ワイヤＦＥＣをＰＳＮ仮想トポロジーインデックスにバインドする。ＰＳＮトポロジーは疑似エンドポイント間で論理的にピアツーピアであるので、疑似ワイヤラベルはＯＡＭカウンタのためにソース一義化の手段を与える。
【００６５】
このように、リンク使用を考慮したＭＰＬＳにおける負荷分散のための方法、システム、及び装置を記載した。上述の記載は例示を意図しており、限定ではないことは理解されよう。上述の記載を読み理解すれば、当業者には多くの他の実施形態が明らかであろう。従って、本発明の範囲は、添付の特許請求の範囲に権利が付与される均等物の全範囲と共に、特許請求の範囲を参照して決定される。
【図１】
0005985483.tif 000002
【図７】
0005985483.tif 000003
【図２】
0005985483.tif 000004
【図３】
0005985483.tif 000005
【図４】
0005985483.tif 000006
【図５】
0005985483.tif 000007
【図６】
0005985483.tif 000008