(57)【要約】通信ネットワーク内のノードが、スプリットタイブレーカを使用して等コスト最短パス（ＥＣＳＰ）の間で選択を行う。ノードは、そのノードについての複数のシステム識別子（ＩＤ）を広告し、各システムＩＤは、ネットワーク内で異なる仮想ネットワークを区別する、異なるトラフィックＩＤのセットに関連付けられる。ノードは、ネットワーク内の他のノードの各々についてのシステムＩＤのセットを受信する。２つのノード間の複数の異なるＥＣＳＰを構築した後、ノードは、２つのノード間で使用されるトラフィックＩＤ各々についてのＥＣＳＰのうち１つを選択する。トラフィックＩＤについて、ノードは、そのトラフィックＩＤに関連付けられる、パス内の各ノードの１つのシステムＩＤを使用して、ＥＣＳＰの各々についてパスＩＤを構築する。ネットワーク内のシステムＩＤ及びトラフィックＩＤの構成により、障害により影響を受けるトラフィックは、生き残った複数のＥＣＳＰにわたって分散されるであろう。【選択図】図７
2015519795.tif 000002
【特許請求の範囲】
【請求項１】
通信ネットワーク内の複数のノードのうちのノードにより実行される、スプリットタイブレーカを用いて前記ネットワーク内の等コスト最短パスの間で選択を行うための方法であって、
前記ノードについての第１の及び第２のシステム識別子（ＩＤ）を広告するステップと、前記第１の及び第２のシステムＩＤは、それぞれ第１の及び第２のトラフィックＩＤのセットに関連付けられることと、前記ネットワーク内で異なる仮想ネットワークを区別するためにトラフィックＩＤが使用されることと、各トラフィックＩＤは、タイブレーキング変換に関連付けられることと、
前記ネットワーク内の他の複数のノードの各々についての第３の及び第４のシステムＩＤを受信するステップと、前記第３の及び第４のシステムＩＤは、それぞれ前記第１の及び第２のトラフィックＩＤのセットに関連付けられることと、
前記ネットワークの第１のノードと第２のノードとの間の複数の異なる等コスト最短パスを構築するステップと、
各トラフィックＩＤについて、構築された前記等コスト最短パスのうちの１つを、
前記等コスト最短パスの各々について、当該トラフィックＩＤに関連付けられる前記タイブレーキング変換と、当該トラフィックＩＤに関連付けられるシステムＩＤを含む、各々が当該等コスト最短パスの異なるノードに関連付けられるシステムＩＤのセットと、を用いてパスＩＤを構築し、
前記等コスト最短パスのうちの１つを選択するために前記パスＩＤに選択アルゴリズムを適用する、
ことにより選択するステップと、
前記ネットワーク内の前記システムＩＤ及び前記トラフィックＩＤの構成を理由として、選択された１つ以上の等コスト最短パス上の、複数のトラフィックＩＤについてのトラフィックに影響する障害に応じて、他の複数の等コスト最短パスにわたって当該トラフィックＩＤに関連付けられるトラフィックを分散させるステップと、
を含む方法。
【請求項２】
前記複数の異なる等コスト最短パスを構築することは、前記ネットワーク内の前記複数のノードについて全てのペアの最短パスを計算すること、を含む、請求項１の方法。
【請求項３】
前記等コスト最短パスの各々について前記パスＩＤを構築することは、
前記トラフィックＩＤに関連付けられる前記タイブレーキング変換をシステムＩＤの前記セットの各々に適用することと、
変換された各システムＩＤを辞書順に並び替えることと、
変換され並び替えられた前記システムＩＤを接合することと、
を含む、請求項１の方法。
【請求項４】
前記選択アルゴリズムは、
前記パスＩＤをランク付けすることと、
ランク付けされた前記パスＩＤのうち最低のパスＩＤを選択することと、
を含む、請求項１の方法。
【請求項５】
前記通信ネットワークは、８０２．１ａｑネットワークであり、
前記トラフィックＩＤは、バックボーンＶＬＡＮ識別子（Ｂ−ＶＩＤ）である、請求項１の方法。
【請求項６】
前記障害は、選択された１つの等コスト最短パス上のＮ個のトラフィックＩＤについてのトラフィックに影響し、Ｎは、１より大きい整数であり、
前記Ｎ個のトラフィックＩＤについてのトラフィックは、Ｎ個の異なる等コスト最短パスにわたって分散される、請求項１の方法。
【請求項７】
前記障害を発生させた障害コンポーネントの復旧時に、前記Ｎ個の異なるトラフィックＩＤについての前記トラフィックは、選択された前記１つの等コスト最短パス上で転送される、請求項６の方法。
【請求項８】
通信ネットワーク内の他のネットワークエレメントのセットに連結されるべき、スプリットタイブレーカを用いて前記ネットワーク内の等コスト最短パスの間で選択を行うように構成されるネットワークエレメントであって、
リンクステートプロトコルモジュールと、
転送モジュールと、
を備え、
前記リンクステートプロトコルモジュールは、
前記ネットワークのトポロジーを表現し、複数のネットワークエレメントと当該複数のネットワークエレメントの各々についての複数のシステム識別子（ＩＤ）とを含むリンクステートデータベース、を管理し、
前記ネットワークエレメントについての、それぞれ第１の及び第２のトラフィックＩＤのセットに関連付けられる第１の及び第２のシステムＩＤであって、前記ネットワーク内で異なる仮想ネットワークを区別するために各トラフィックＩＤが使用され、各トラフィックＩＤがタイブレーキング変換に関連付けられる、前記第１の及び第２のシステムＩＤを広告するために、前記ネットワークを用いてリンクステートメッセージを送信し、
前記ネットワーク内の他の複数のネットワークエレメントの各々に割り当てられる、それぞれ前記第１の及び第２のトラフィックＩＤのセットに関連付けられる第３の及び第４のシステムＩＤ、を示すリンクステートメッセージを受信し、
前記リンクステートデータベース内の情報を用いて、前記ネットワークの第１のネットワークエレメントと第２のネットワークエレメントとの間の複数の異なる等コスト最短パスを構築し、
各トラフィックＩＤについて、前記複数の異なる等コスト最短パスの各々についてのパスＩＤを、当該トラフィックＩＤに関連付けられる前記タイブレーキング変換と、当該トラフィックＩＤに関連付けられるシステムＩＤを含む、各々が当該等コスト最短パスの異なるネットワークエレメントに関連付けられるシステムＩＤのセットと、を用いて構築し、
前記トラフィックＩＤの各々について、構築した各パスＩＤに選択アルゴリズムを適用することにより、対応する構築した前記等コスト最短パスのうちの１つを選択し、
選択した前記等コスト最短パスを反映するように、１つ以上の転送エントリを構成させる、
ように構成され、
前記転送モジュールは、
ポートから複数のパケットを受信し、
１つ以上の等コスト最短パス上の複数のトラフィックＩＤについてのトラフィックに影響する前記ネットワーク内の障害の前に、前記転送エントリに従って前記１つ以上の等コスト最短パス上で前記複数のトラフィックＩＤについてのトラフィックを送信し、
前記障害の後に、前記ネットワーク内の前記システムＩＤ及び前記トラフィックＩＤの構成を理由として、複数の異なる等コスト最短パス上で前記複数のトラフィックＩＤについてのトラフィックを送信する、
ように構成される、
ネットワークエレメント。
【請求項９】
前記リンクステートプロトコルモジュールは、前記ネットワーク内の前記複数のネットワークエレメントについて全てのペアの最短パスを計算することにより、前記複数の異なる等コスト最短パスを構築するように構成される、請求項８のネットワークエレメント。
【請求項１０】
前記リンクステートプロトコルモジュールは、
前記トラフィックＩＤに関連付けられる前記タイブレーキング変換をシステムＩＤの前記セットの各々に適用することと、
変換された各システムＩＤを辞書順に並び替えることと、
変換され並び替えられた前記システムＩＤを接合することと、
によって、前記複数の等コスト最短パスの各々について前記パスＩＤを構築するように構成される、請求項８のネットワークエレメント。
【請求項１１】
前記選択アルゴリズムは、
構築された前記パスＩＤをランク付けすることと、
ランク付けされた前記パスＩＤのうち最低のパスＩＤを選択することと、
を含む、請求項８のネットワークエレメント。
【請求項１２】
前記通信ネットワークは、８０２．１ａｑネットワークであり、
前記トラフィックＩＤは、バックボーンＶＬＡＮ識別子（Ｂ−ＶＩＤ）である、請求項８のネットワークエレメント。
【請求項１３】
前記障害は、選択された１つの等コスト最短パス上のＮ個のトラフィックＩＤについてのトラフィックに影響し、Ｎは、１より大きい整数であり、
前記障害の後、前記Ｎ個のトラフィックＩＤについてのトラフィックは、Ｎ個の異なる等コスト最短パスにわたって送信される、請求項８のネットワークエレメント。
【請求項１４】
前記障害を発生させた障害コンポーネントの復旧時に、前記Ｎ個のトラフィックＩＤについての前記トラフィックは、選択された前記１つの等コスト最短パス上で送信される、請求項１３のネットワークエレメント。
【請求項１５】
複数のネットワークエレメントを含む通信ネットワークであって、
各ネットワークエレメントは、少なくとも１つの他のネットワークエレメントと通信可能に連結され、
各ネットワークエレメントは、
プロセッサと、
前記プロセッサに連結され、命令を有する非一時的な機械可読媒体と、
を含み、
前記命令は、前記プロセッサにより実行される際に、前記プロセッサに、以下の動作を実行させることにより、スプリットタイブレーカを用いて前記ネットワークの等コスト最短パスの間で選択を行わせ、
前記動作は、
前記ネットワークエレメントについての第１の及び第２のシステム識別子（ＩＤ）を広告することであって、前記第１の及び第２のシステムＩＤは、それぞれ第１の及び第２のトラフィックＩＤのセットに関連付けられ、前記ネットワーク内で異なる仮想ネットワークを区別するためにトラフィックＩＤが使用され、各トラフィックＩＤは、タイブレーキング変換に関連付けられることと、
前記ネットワーク内の他の複数のネットワークエレメントの各々についての第３の及び第４のシステムＩＤを受信することであって、前記第３の及び第４のシステムＩＤは、それぞれ前記第１の及び第２のトラフィックＩＤのセットに関連付けられることと、
前記ネットワークの第１のネットワークエレメントと第２のネットワークエレメントとの間の複数の異なる等コスト最短パスを構築することと、
各トラフィックＩＤについて、構築された前記等コスト最短パスのうちの１つを、
前記等コスト最短パスの各々について、当該トラフィックＩＤに関連付けられる前記タイブレーキング変換と、当該トラフィックＩＤに関連付けられるシステムＩＤを含む、各々が当該等コスト最短パスの異なるネットワークエレメントに関連付けられるシステムＩＤのセットと、を用いてパスＩＤを構築し、
前記等コスト最短パスのうちの１つを選択するために前記パスＩＤに選択アルゴリズムを適用する、
ことにより選択することと、
前記ネットワーク内の前記システムＩＤ及び前記トラフィックＩＤの構成を理由として、選択された１つ以上の等コスト最短パス上の、複数のトラフィックＩＤについてのトラフィックに影響する障害に応じて、他の複数の等コスト最短パスにわたって当該トラフィックＩＤに関連付けられるトラフィックを分散させることと、
である、通信ネットワーク。
【請求項１６】
前記複数の異なる等コスト最短パスを構築することは、前記ネットワーク内の前記複数のネットワークエレメントについて全てのペアの最短パスを計算すること、を含む、請求項１５の通信ネットワーク。
【請求項１７】
前記等コスト最短パスの各々について前記パスＩＤを構築することは、
前記トラフィックＩＤに関連付けられる前記タイブレーキング変換をシステムＩＤの前記セットの各々に適用することと、
変換された各システムＩＤを辞書順に並び替えることと、
変換され並び替えられた前記システムＩＤを接合することと、
を含む、請求項１５の通信ネットワーク。
【請求項１８】
前記選択アルゴリズムは、
前記パスＩＤをランク付けすることと、
ランク付けされた前記パスＩＤのうち最低のパスＩＤを選択することと、
を含む、請求項１５の通信ネットワーク。
【請求項１９】
前記通信ネットワークは、８０２．１ａｑネットワークであり、
前記トラフィックＩＤは、バックボーンＶＬＡＮ識別子（Ｂ−ＶＩＤ）である、請求項１５の通信ネットワーク。
【請求項２０】
前記障害を発生させた障害コンポーネントの復旧時に、影響を受ける前記複数のトラフィックＩＤに関連付けられる前記トラフィックは、選択された前記１つ以上の等コスト最短パス上で転送される、請求項１５の通信ネットワーク。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、コンピュータネットワーキングの分野に関し、より具体的には、８０２．１ａｑネットワークにおけるスプリットタイブレーカの使用に関する。
【背景技術】
【０００２】
イーサネットは、ＩＥＥＥ（Institute  of  Electrical  and  Electronics  Engineers）により定義されたネットワーキングプロトコルであり、物理レイヤを仕様化する標準８０２．３と、ネットワークレイヤを仕様化する８０２．１とを包含する。イーサネットは、ＬＡＮ（Local  Area  Network）を可能とするために考案され、わずかな構成しか要しない“プラグアンドプレイ”のネットワークキングを可能とした。時を経て、イーサネットは、追加的な機能性を提供し及び代替的ネットワークトポロジーをサポートするように拡張された。ここで使用されるところでは、“イーサネットネットワーク”との用語は、例えば８０２．１、８０２．１Ｑ、８０２．１ａｄ、８０２．１ａｈ、８０２．１Ｑａｙ、８０２．１Ｑｂｐ又は８０２．１ａｑを含む８０２．１プロトコルファミリーのうちの１つ以上を実装するネットワークをいう。
【０００３】
高度な仮想化をサポートし、マルチパスルーティングを可能とし、並びに、キャリア、企業及びクラウドネットワークの生成と管理とを簡素化するために、ＩＥＥＥ８０２．１ａｑが開発されてきた。ＩＥＥＥ８０２．１ａｑネットワークでは、ブリッジが、ネットワークのトポロジー及び論理的なネットワークメンバシップの双方を広告することで、ネットワークによるイーサネットフレームの転送を制御するために、リンクステートプロトコルを利用する。リンクステートルーティングプロトコルの２つの例は、ＯＳＰＦ（Open  Shortest  Path  First）及びＩＳ−ＩＳ（Intermediate  System  to  Intermediate  System）を含み、８０２．１ａｑネットワークでは後者が使用される。
【０００４】
リンクステートルーティングネットワークでは、ネットワークを形成するブリッジは、ネットワークトポロジーの同期したビューを各ノードが有することを可能とするために、リンクステート広告（ＬＳＡ）を交換する。ネットワーク内の各ブリッジがネットワークのトポロジーの同期したビューと必要とされるユニキャスト及びマルチキャストの接続性の完全な認識とを有するため、各ブリッジは、ネットワーク内のブリッジの任意のペアの間の１つ以上の最短パスを計算することができる。この情報で、各ブリッジは、それに応じて個別に転送情報ベース（ＦＩＢ）を構築する。
【０００５】
ＩＥＥＥ８０２．１ａｑは、エッジベースの拡散に基づいて、ネットワークの単一のフルメッシュを伴う等コストツリー（ＥＣＴ）へと負荷を分散し、それらはＥＣＴセットと見なされる。各ＥＣＴセットは、バックボーンＶＬＡＮ識別子（Ｂ−ＶＩＤ）に１対１で関連付けられることにより、データプレーン内で識別される。
【０００６】
数多くのネットワーキングアプリケーションがマルチパスネットワークの設計への依存を深めており、ネットワーク内で任意の２つの地点の間に複数の等コストパスが存在することになる。ほとんどのコンピュータネットワークにおいて、ネットワークにおける１回以上の障害に順応することの必要性は、ネットワークの継続的な可用性を保証するために重要である。“旧来の”８０２．１ａｑネットワークでは、リンク又はブリッジの障害は、１つ以上の周囲のブリッジにより観測され、ネットワークにわたって広告されることになる。ネットワーク内の各ブリッジは障害により影響を受けるトラフィックについて新たなパスを再計算し、新たなパスを用いて転送が自動的に継続されるであろう。しかしながら、障害が存在する場合、トラフィックはまとまってフェイルオーバパスへとシフトされる。接続性の疎らなネットワークでは、代替的なパスの数が大きく制約されることに起因して、これらの結果は容易に理解される。一方、密に接続されたマルチパスネットワークでは、障害のインパクトを受けた所与の２つの地点の間の負荷は、生き残ったパスのセットにわたって分散される代わりに、いくつもの候補パスのうちの１つのみへとシフトされる。これは、フェイルオーバパスが今やトラフィックの大幅な増加を処理することから、ネットワークの安定性を減少させるかもしれず、それにより、既にパス上にあったトラフィック、当該パスへとシフトされたトラフィック、及び影響を受けたパス内のリンク又はブリッジを利用する任意の他のトラフィックの性能が劣化し得る。さらに、フェイルオーバパスへのこのまとまったトラフィックのシフトは、フェイルオーバパス内のリンク及びブリッジを、それらエレメントを実質的に障害に陥らせるほど圧倒するかもしれない。このような形で、まとまったトラフィックのシフトの繰り返しとその結果としてのフェイルオーバ障害とに起因して、ネットワーク障害が連鎖的に起きる可能性がある。よって、障害のシナリオにおいて、影響を受けない既存のパスをリルートすることなくネットワーク負荷を分散させ、移動した負荷を障害の是正の後にもとのルーティングへと復帰させる仕組みを有することが望ましいであろう。
【発明の概要】
【課題を解決するための手段】
【０００７】
本発明の一実施形態によれば、方法は、スプリットタイブレーカを用いてネットワーク内の等コスト最短パスの間で選択を行うために、通信ネットワーク内の複数のノードのうちのノードにより実行される。ノードについての第１の及び第２のシステム識別子（ＩＤ）がネットワーク内で広告される。第１及び第２のシステムＩＤは、それぞれ第１の及び第２のトラフィックＩＤのセットに関連付けられる。これらは、８０２．１ａｑ用語におけるＥＣＴセットに対応している。トラフィックＩＤは、ネットワーク内で異なる仮想ネットワークを区別するために使用され、タイブレーキング変換に関連付けられる。方法は、ネットワーク内の他の複数のノードの各々についての第３の及び第４のシステムＩＤを受信するステップをさらに含む。第３の及び第４のシステムＩＤは、それぞれ第１の及び第２のトラフィックＩＤのセットに関連付けられる。方法は、ネットワークの第１のノードと第２のノードとの間の複数の異なる等コスト最短パスを構築するステップと、各トラフィックＩＤについて、構築された等コスト最短パスのうちの１つを選択するステップと、を含む。選択は、当該トラフィックＩＤに関連付けられるタイブレーキング変換と、当該トラフィックＩＤに関連付けられるシステムＩＤを含むシステムＩＤのセットと、を用いて、等コスト最短パスの各々についてのパスＩＤを構築することにより、部分的に実行される。システムＩＤのセットの各々は、その等コスト最短パスの異なるノードに関連付けられる。選択は、また、等コスト最短パスのうちの１つを選択するためにパスＩＤに選択アルゴリズムを適用することにより、部分的に実行される。方法は、ネットワーク内のシステムＩＤ及びトラフィックＩＤの構成を理由として、選択された１つ以上の等コスト最短パス上の、複数のトラフィックＩＤについてのトラフィックに影響する障害に応じて、他の複数の等コスト最短パスにわたって当該トラフィックＩＤに関連付けられるトラフィックを分散させるステップをさらに含む。
【０００８】
本発明の別の実施形態によれば、通信ネットワーク内の他のネットワークエレメントのセットに連結されるネットワークエレメントは、スプリットタイブレーカを用いてネットワーク内の等コスト最短パスの間で選択を行うように構成される。ネットワークエレメントは、ネットワークのトポロジーを表現し、複数のネットワークエレメントと当該複数のネットワークエレメントの各々についての複数のシステム識別子（ＩＤ）とを含むリンクステートデータベース、を管理するように構成されるリンクステートプロトコルモジュールを含む。リンクステートプロトコルモジュールは、また、ネットワークエレメントについての、それぞれ第１の及び第２のトラフィックＩＤのセットに関連付けられる第１の及び第２のシステムＩＤであって、ネットワーク内で異なる仮想ネットワークを区別するために各トラフィックＩＤが使用され、各トラフィックＩＤがタイブレーキング変換に関連付けられる、第１の及び第２のシステムＩＤを広告するために、ネットワークを用いてリンクステートメッセージを送信するように構成される。リンクステートプロトコルモジュールは、また、ネットワーク内の他の複数のネットワークエレメントの各々に割り当てられる、それぞれ第１の及び第２のトラフィックＩＤのセットに関連付けられる第３の及び第４のシステムＩＤ、を示すリンクステートメッセージを受信するように構成される。リンクステートプロトコルモジュールは、また、リンクステートデータベース内の情報を用いて、ネットワークの第１のネットワークエレメントと第２のネットワークエレメントとの間の複数の異なる等コスト最短パスを構築するように構成される。リンクステートプロトコルモジュールは、また、各トラフィックＩＤについて、複数の異なる等コスト最短パスの各々についてのパスＩＤを、当該トラフィックＩＤに関連付けられる前記タイブレーキング変換と、当該トラフィックＩＤに関連付けられるシステムＩＤを含む、各々が当該等コスト最短パスの異なるネットワークエレメントに関連付けられるシステムＩＤのセットと、を用いて構築するように構成される。リンクステートプロトコルモジュールは、また、トラフィックＩＤの各々について、構築した各パスＩＤに選択アルゴリズムを適用することにより、対応する構築した等コスト最短パスのうちの１つを選択するように構成される。リンクステートプロトコルモジュールは、また、選択した等コスト最短パスを反映するように、１つ以上の転送エントリを構成させるように構成される。ネットワークエレメントは、また、ポートから複数のパケットを受信するように構成される転送モジュールを含む。転送モジュールは、また、１つ以上の等コスト最短パス上の複数のトラフィックＩＤについてのトラフィックに影響するネットワーク内の障害の前に、転送エントリに従って１つ以上の等コスト最短パス上で複数のトラフィックＩＤについてのトラフィックを送信するように構成される。転送モジュールは、また、障害の後に、ネットワーク内のシステムＩＤ及びトラフィックＩＤの構成を理由として、複数の異なる等コスト最短パス上で複数のトラフィックＩＤについてのトラフィックを送信するように構成される。
【図面の簡単な説明】
【０００９】
本発明は、明細書及び本発明の実施形態を説明するために用いられる以下の添付図面を参照することにより、最もよく理解され得る。
【図１】本発明の一実施形態に係る、例示的なネットワーク及び例示的なネットワークにおけるスプリットタイブレーカを使用するための手続のうちのいくつかを示す。
【図２】本発明の一実施形態に係る、８０２．１ａｑのためのスプリットタイブレーカを実装するネットワークエレメントの例示的な機能ブロック図である。
【図３】本発明の一実施形態に係る、ネットワークトラフィックをカプセル化するために使用されるパケットヘッダを示す。
【図４】本発明の一実施形態に係る、８０２．１ａｑネットワークにおけるスプリットタイブレーカを使用するためのフロー図を示す。
【図５】本発明の一実施形態に係る最短パス及びトラフィック識別子を示す、例示的なネットワークトポロジーを示す。
【図６】本発明の一実施形態に係るスプリットタイブレーカを利用する最短パスの論理計算を示す。
【図７】本発明の一実施形態に係る、障害後の図５に示される例示的なネットワークトポロジーを示す。
【図８】本発明の一実施形態に係る、スプリットタイブレーカを利用する最短パスの論理計算を示す。
【図９】本発明の一実施形態に係る、例示的なネットワーク上のマルチキャストトラフィックのための最短パスを示す。
【図１０】本発明の一実施形態に係る、障害後の図９の例示的なネットワーク上のマルチキャストトラフィックのための別の最短パスを示す。
【発明を実施するための形態】
【００１０】
以下の説明において、多くの具体的な詳細が説明される。しかしながら、本発明の実施形態は、それらの具体的な詳細がなくとも実践され得ることが理解されるべきである。他の例では、本説明の理解を曖昧にすることのないように、周知の回路、構造、及び技法については詳細を示していない。ここに含まれる説明によって、当業者は、過度の実験をすることなく、適切な機能性を実装することができるであろう。
【００１１】
明細書中の“一実施形態（one  embodiment）”、“実施形態（an  embodiment）”、“例としての実施形態（an  example  embodiment）”等への言及は、説明される実施形態が、特定の特徴、構造又は特性を含み得ることを示すが、全ての実施形態が、当該特定の特徴、構造又は特性を必ずしも含まなくともよい。さらに、そのような表現は、必ずしも同一の実施形態に言及するものではない。さらに、特定の特徴、構造又は特性が、実施形態に関連して記載される場合に、明示的に記載されているか否かに関わらず、他の実施形態に関連してそのような特徴、構造、又は特性を達成することは、当業者の知識の範囲内であると考えられる。
【００１２】
以下の説明及び特許請求の範囲において、それらの派生物と共に“結合された（coupled）”及び“接続された（connected）”という用語が使用され得る。これらの用語は、互いに同義語として意図されるものでないことを理解すべきである。“結合された（coupled）”は、互いに直接物理的又は電気的に接触していてもよく、していなくてもよい２以上のエレメントが、互いに協働又は相互作用することを示すために用いられる。“接続された（connected）”は、互いに結合された２以上のエレメント間の通信の確立を示すために用いられる。
【００１３】
本発明の様々な実施形態は、ソフトウェア、ファームウェア、及び／又はハードウェアの様々な組み合わせを使用して実装され得る。したがって、図に示される技術は、１以上の電子装置（例えば、エンドステーション、ネットワークエレメント）上に格納され実行されるコード及びデータを使用して実装されることができる。そのような電子装置は、非一時的コンピュータ可読記憶媒体（磁気ディスク、光ディスク、ＲＡＭ、ＲＯＭ、フラッシュメモリ装置、相変化メモリ）及び一時的コンピュータ可読送信媒体（例えば、搬送波、赤外線信号、デジタル信号といった、電気的、光学的、音響又は他の形式の伝搬される信号）といったコンピュータ可読媒体を使用して、コード及びデータを（内部的に、及び／又はネットワーク上の他の電子装置と共に）格納及び通信する。さらに、そのような電子装置は、典型的に、１以上の記憶装置（非一時的機械可読記憶媒体）、ユーザ入力／出力装置（例えば、キーボード、タッチスクリーン、及び／又はディスプレイ）、及びネットワーク接続といった、１以上の他のコンポーネントに結合される１以上のプロセッサ一式を含む。プロセッサ一式と他のコンポーネントとの結合は、典型的に、１以上のバス及びブリッジ（バスコントローラとも呼ばれる）を介して行われる。したがって、所与の電子装置の記憶装置は、典型的に、その電子装置の１以上のプロセッサ一式上で実行するためのコード及び／又はデータを格納する。
【００１４】
ここで用いられるものとして、ネットワークエレメント（例えば、ルータ、スイッチ、ブリッジ、又は総称的にはノード）は、ネットワーク上の他の機器（例えば、他のネットワークエレメント、エンドステーション）を通信可能に相互接続するハードウェア及びソフトウェアを含むネットワーキング機器の一部である。いくつかのネットワークエレメントは、複数のネットワーキング機能（例えば、ルーティング、ブリッジング、スイッチング、レイヤ２アグリゲーション、セッションボーダコントロール、ＱｏＳ（Quality  of  Service）、及び／又は加入者管理）についてのサポートを提供し、及び／又は複数のアプリケーションサービス（例えば、データ、音声、及びビデオ）についてのサポートを提供する、“複数のサービスネットワークエレメント”である。加入者エンドステーション（例えば、サーバ、ワークステーション、ラップトップ、ネットブック、パームトップ、携帯電話、スマートフォン、マルチメディアフォン、ＶＯＩＰ（Voice  Over  Internet  Protocol）フォン、ユーザ機器、ターミナル、携帯メディアプレイヤ、ＧＰＳユニット、ゲームシステム、セットトップボックス）は、インターネット上で提供されるコンテンツ／サービス、及び／又はインターネット上に重ねられた（例えば、インターネットを通じてトンネルされた）ＶＰＮ（virtual  private  networks）上で提供されるコンテンツ／サービスにアクセスする。コンテンツ及び／又はサービスは、典型的には、サービス若しくはコンテンツプロバイダ又はピアツーピアサービスに参加しているエンドステーションに属している１以上のエンドステーション（例えば、サーバエンドステーション）により提供される。コンテンツ及び／又はサービスは、例えば、公共のウェブページ（例えば、無料コンテンツ、ストアフロント、検索サービス）、私的なウェブページ（例えば、ユーザ名／パスワードでアクセスされる電子メールサービスを提供するウェブページ）、及び／又はＶＰＮ上の企業ネットワークを含み得る。典型的には、加入者エンドステーションは、（例えば、（有線又は無線の）アクセスネットワークに結合される顧客構内機器を通じて）エッジネットワークエレメントに結合される。エッジネットワークエレメントは、他のエンドステーション（例えば、サーバエンドステーション）に結合される他のエッジネットワークに（例えば、１以上のコアネットワークエレメントを介して）結合される。
【００１５】
いくつかのネットワークエレメントは、ＶＰＮ（Virtual  Private  Networks）（例えば、レイヤ２ＶＰＮ及び／又はレイヤ３ＶＰＮ）の実装についてのサポートを提供する。例えば、プロバイダのネットワーク及び顧客のネットワークが結合されている地点におけるネットワークエレメントは、各々ＰＥ（Provider  Edge）及びＣＥ（Customer  Edge）と呼ばれる。レイヤ２ＶＰＮでは、転送は典型的にＶＰＮのいずれかの端におけるＣＥ上で実行され、トラフィックは、ネットワークをわたって（例えば、他のネットワークエレメントにより結合される１以上のＰＥを介して）送信される。レイヤ２回線は、ＣＥ及びＰＥ間（例えば、イーサネットポート、８０２．１Ｑ恒久仮想回線（ＰＶＣ：permanent  virtual  circuit）、オンデマンド８０２．１Ｑ  ＰＶＣ、フレームリレーＰＶＣ、非同期転送モード（ＡＴＭ：Asynchronous  Transfer  Mode）ＰＶＣ）で構成される。レイヤ３ＶＰＮでは、ルーティングは、典型的にＰＥにより実行される。一例として、複数のコンテキストをサポートするエッジネットワークエレメントは、ＰＥとして展開されることができ、コンテキストは、ＶＰＮプロトコルで構成されることができ、したがって、そのコンテキストは、ＶＰＮコンテキストと呼ばれる。
【００１６】
ネットワークエレメントは、一般に、制御プレーンとデータプレーン（転送プレーン又はメディアプレーンと呼ばれることもある）とに分けられる。ネットワークエレメントがルータである（又はルーティング機能を実装している）場合、制御プレーンは、典型的に、データ（例えば、パケット）がどのようにルーティングされるべきか（例えば、データについてのネクストホップ、及びそのデータについての発信ポート）を決定し、データプレーンは、そのデータの転送を担当する。例えば、制御プレーンは、典型的に、ルートを交換し、１以上のルーティングメトリックに基づいてそれらのルートを選択するために他のネットワークエレメントと通信する、１以上のルーティングプロトコル（例えば、ＢＧＰ（Border  Gateway  Protocol）、ＩＧＰ（Interior  Gateway  Protocol（例えば、ＯＳＰＦ（Open  Shortest  Path  First）、ＲＩＰ（Routing  Information  Protocol）、ＩＳ−ＩＳ（Intermediate  System  to  Intermediate  System））、ＬＤＰ（Label  Distribution  Protocol）、ＲＳＶＰ（Resource  Reservation  Protocol））を含む。
【００１７】
ルート及び隣接性（adjacencies）は、制御プレーン上の１以上のルーティング構造体（例えば、ＲＩＢ（Routing  Information  Base）、ＬＩＢ（Label  Information  Base）、１以上の隣接性構造体）に格納される。制御プレーンは、ルーティング構造体に基づく情報（例えば、隣接性及びルート情報）で、データプレーンをプログラムする。例えば、制御プレーンは、データプレーン上の１以上の転送構造体（例えば、ＦＩＢ（Forwarding  Information  Base）、ＬＦＩＢ（Label  Forwarding  Information  Base）、及び１以上の隣接性構造体）の中に隣接性及びルート情報をプログラムする。データプレーンは、トラフィックの転送時にこれらの転送構造体及び隣接性構造体を使用する。
【００１８】
レイヤ２フォワーディングのために、ネットワークエレメントは、データ内に存在するレイヤ２情報に基づいてデータを転送するために使用される１以上のブリッジングテーブルを格納することができる。
【００１９】
典型的には、ネットワークエレメントは、１以上のラインカードのセット、１以上のコントロールカードのセット、及び必要に応じて１以上のサービスカード（リソースカードと呼ばれることもある）のセットを含む。これらのカードは、１以上のメカニズム（例えば、ラインカードを結合する第１のフルメッシュ及び全てのカードを結合する第２のフルメッシュ）を介して互いに結合される。コントロールカードのセットがコントロールプレーンを提供し、ラインカードを介して外部のネットワークエレメントとパケットを交換する一方、ラインカードのセットは、データプレーンを作り上げる。サービスカードのセットは、専門化した処理（例えば、レイヤ４からレイヤ７のサービス（例えば、ファイアウォール、ＩＰＳｅｃ、ＩＤＳ、Ｐ２Ｐ）、ＶｏＩＰセッションボーダコントローラ、モバイルワイヤレスゲートウェイ（ＧＧＳＮ、ＥＰＳ（Evolved  Packet  System）ゲートウェイ））を提供する。例として、サービスカードは、ＩＰｓｅｃトンネルを終端させ、付随する認証及び暗号化アルゴリズムを実行するために使用され得る。
【００２０】
ＩＥＥＥ８０２．１ａｑは、２つの動作可能なモードを有する。ＶＬＡＮベースのネットワークのための第１のモードは、最短パスブリッジングＶＩＤ（ＳＰＢＶ）と呼ばれる。ＭＡＣベースのネットワークのための第２のモードは、最短パスブリッジングＭＡＣ（ＳＰＢＭ）と呼ばれる。各ＥＣＴセットは、一般に、ＳＰＢＶについての最短パスＶＬＡＮ識別子（ＳＰＶＩＤ）セット及びＳＰＢＭについてのバックボーンＶＬＡＮ識別子（Ｂ−ＶＩＤ）に関連付けられる。イーサネットネットワークは、データプレーンにおいて１つより多くのＥＣＴセットを同時にサポートすることができる。
【００２１】
ＩＥＥＥ８０２．１ａｑは、ネットワーク内の２つの地点の間の全てのノードが独立して、所与のＥＣＴセットについてネットワーク内の任意の２つの地点の間の同一の対称パスを選択することを必要とする。したがって、ＩＥＥＥ８０２．１ａｑネットワークにおけるパス選択が、計算の方向、計算の順序、又はパスの任意のサブセットの検査に関わらず、任意の２つのノード間のパスが単一の対称パスに解決されるようなタイブレーキング処理を利用するように、アルゴリズムは仕様化されている。この性質は、あるいは、“最短パスのどの部分も最短パスである”とされている。複数の“同等の”選択肢があるといったように、最短パスのどの部分に沿っても同点（tie）が発生する場合、それらのノードは、結果が最小コストの最短パスツリーである同一の選択肢で、パスのサブセットについて同点を解消するであろう。これは、“共通アルゴリズムタイブレーキング”処理とここで呼ばれる。マルチパスネットワークのより効果的な使用を可能にさせる、複数のＥＣＴセットが生成されるように、共通アルゴリズムタイブレーキング処理への入力を操作することが可能である。
【００２２】
パス選択処理において、共通アルゴリズムタイブレーキング処理を利用するリンクステート（トポロジー）データベースの最初のパスは、第１のツリーのセットの生成をもたらす。最初のステップは、ネットワーク内の各ノードのペア間の最短パスを判定する。任意の２つのノード間で１以上の最短パスが見つかる場合、共通アルゴリズムタイブレーキング処理は、ネットワーク内の各ノードペア間で一意のパス選択を行うため、及び、ＩＥＥＥ８０２．１ａｑにおいて“ＥＣＴセット”と呼ばれる１以上の等コスト転送ツリーのセットを生成するために、タイブレーキングに利用される。
【００２３】
旧来の８０２．１ａｑＳＰＢＭネットワークでは、パスは、各Ｂ−ＶＩＤについて以下の方式で選択される。第１に、各ノードは、ノード間で送信されるＩＳ−ＩＳリンクステートルーティングプロトコルメッセージを用いて、ネットワークのトポロジを学習する。全てのノードがネットワークのトポロジを学習すると、ユニキャスト及びマルチキャストトラフィックについての最短パスが、いくつかの最短パス計算アルゴリズムを使用する各ノードによって計算される。そのようなアルゴリズムは、当該技術分野において周知であり、全点対間最短パスアルゴリズム（フロイドワーシャルアルゴリズム、ジョンソンのアルゴリズム等）、及び単一始点最短パスアルゴリズム（ダイクストラのアルゴリズム、ベルマン・フォードアルゴリズム等）を含む。ノードが、共通のサービスに関与しているノードのペア間の最短パス上にあると判定する場合、ノードは、それに応じてそのようなトラフィックを転送し得るように転送状態をインストールする
【００２４】
しかしながら、共通のサービスに関与しているノードのペア間に複数の最短パスが存在する場合、ネットワーク内の各ノードは、そのＥＣＴセットのトラフィックについて最短パスのうちの共通の１つを選択するために、タイブレーキング手続きを実行する。このタイブレーキング手続きは、そのトラフィックについてパスの合同性（congruency）を保つために、１つの正しいパスに関してネットワーク全体の一貫した決定がなされ、それによって、任意の２つのブリッジ間のパスが両方向で共通のルートを共有するであろうということを提供することを保証する。対称なタイブレーキングアルゴリズムであるこの手続きは、パス内の各ノードからシステム識別子（システムＩＤ）を使用する最短パスの各々についてパス識別子（パスＩＤ）を構築すること、及び、その後特定のタイブレーキングアルゴリズムに従ってこれらのパスＩＤのうち１つを選択することにより動作する。８０２．１ａｑの仕様に従って、パス内のノード各々についてのシステムＩＤは、そのＥＣＴセットについてのＢ−ＶＩＤと関連付けられるマスクを使用して変換される。パスについての変換された各システムＩＤは、その後接合され、その後パスＩＤを形成するために辞書順にソートされる。潜在的なパスのセットを表現するこれらのパスＩＤは、ランク付けされ、最も低いパスＩＤがそのＥＣＴセットにおけるトラフィックについてのパスとして選択される。この方式では、同一ロジックを実装する全てのノードが、同一の選択肢から同一のパスを選択するであろう。所与のＥＣＴセットについてのトラフィックの正確なパスは、したがって、そのパスには直接的にインパクトを与えなかったネットワークトポロジーにおける変化がある場合でさえ、予測可能である。この手続きは、また、トラフィックのサービスが選択的にＢ−ＶＩＤに割り当てられ得るため、先験的（apriori）なトラフィックエンジニアリングを可能にし、それにより、ネットワーク内の複数の等コストパスにわたって、システムロードを分散させることが可能である。
【００２５】
リンク又はノード障害が起きた場合には、ネットワーク内の各ノードは、ＩＳ−ＩＳリンクステートメッセージを介して障害を知り、障害により影響を受けるトラフィック（即ち、障害のあるリンク上を通過され、又は障害のあるノードを介して通過されるトラフィック）についての最短パスを再計算する。例えば、特定のＢ−ＶＩＤを有するトラフィックが、障害により影響を受ける特定のルートを通過した場合、ネットワーク内の各ノードは、そのＢ−ＶＩＤを利用する全てのトラフィックが、異なるパスを使用して転送されるべきであると判定するであろう。これは、トラフィックが異なるリンク上及びノードにシフトされるという結果をもたらす。このアプローチは、ネットワーク内で中断されるトラフィックが、障害のあるリンク又はノードを通過したトラフィックのみに限定されるということにおいて利益を有する。
【００２６】
しかしながら、このアプローチは、重大な制限をも有する。ネットワーク内の障害の後に、所与の最短パス上の影響を受けたＢ−ＶＩＤのトラフィックは、ブロックとして新たなパスにシフトされ、生き残ったリソースにわたって均等に分散されない。これは、影響を受けたトラフィックについての“新たな”パス内のリンク及びノード上に著しい負荷を生む可能性がある。例えば、ノードＡ１０４とノードＢ１０２との間に４つの物理的等コスト最短パスを有する、図１のネットワークを仮定すると、パスのうちの１つ（例えば、Ａ−Ｙ−Ｂ）の上での障害は、そのパスを利用するトラフィックが別のパス（例えば、Ａ−Ｚ−Ｂ）に一括してシフトされるという結果をもたらすであろう。したがって、障害の前には全てのトラフィックが４つの等コスト最短パス間で均等に分散されていたとすると、障害後、パスＡ−Ｚ−Ｂではトラフィックが倍増するであろう。この結果は、そのパス上のリンクを利用するトラフィックについてサービスが大幅に低下する結果となり、更なるネットワーク障害及び更なるサービスの低下に至る可能性があるため、厄介である。
【００２７】
図１は、本発明の一実施形態に係る、例示的なネットワーク及び例としてのネットワークにおけるスプリットタイブレーカを使用するための手続きの論理的表現を示す。この例としてのイーサネットネットワークは、スプリットタイブレーカの一使用を示すためのリンクにより相互接続される６個のノード（例えば、ブリッジ、ネットワークエレメント等）を含む。しかしながら、他の実施形態では、ネットワークはより多くのノード、少ないノード、又はファットツリー若しくはClosネットワークアーキテクチャといった別のネットワークトポロジーを含むものであってもよい。
【００２８】
このネットワークでは、ノードＡ１０４は、ネットワークの入口ノードであり、したがって、別のネットワーク（図示せず）からのトラフィックを受信し、ネットワークの他のノードに送信されるべきトラフィックを生成する。ここで、ノードＡ１０４は、出口ノードＢ１０２にトラフィックを送信するように構成され、出口ノードＢ１０２は、別のネットワーク（図示せず）にトラフィックを転送し得る。ノードＡ１０４及びＢ１０２は、ネットワークの入口ノードとして、バックボーンエッジブリッジ（ＢＥＢ：Backbone  Edge  Bridge）又はプロバイダエッジ（Provider  Edge）ネットワークエレメントが考えられ得る。
【００２９】
ノードＡ１０４及びノードＢ１０２間には４つのノードがある。これら４つのノード、ノードＷ１１０、ノードＸ１１２、ノードＹ１１４、及びノードＺ１１６は、リンクのセットでノードＡ１０４及びノードＢ１０２の両方に各々接続されている。これら４つの中間ノード１１０〜１１６は、バックボーンコアブリッジ（ＢＣＢ：Backbone  Core  Bridge）又はプロバイダネットワークエレメントと考えられ得る。
【００３０】
この構成では、ノードＡ１０４からノードＢ１０２への４つの異なる物理パス：Ａ−Ｗ−Ｂ、Ａ−Ｘ−Ｂ、Ａ−Ｙ−Ｂ、及びＡ−Ｚ−Ｂが存在する。説明のため、これら４つのパスの各々は、等コストであるものとして定義される。しかしながら、実際には、これらのパスの各々は、ただ１つのノード（即ち、ノードＷ１１０〜Ｚ１１６のうちの１つ）を介してノードＡ１０４からノードＢ１０２に進んではいるものの、これらのパスの各々は、様々な方法の構成又は判定により異なるコストであると考えられ得る。例えば、最短パスは最も少ない数のノードを通過するパスであると判定するようにネットワークが構成されてもよく、又は、最短パスは、パス内のリンクの帯域幅に基づいて、若しくは各リンク若しくはノードに割り当てられた“重み”を設定されることにより判定される。
【００３１】
このように、このネットワークは、ノードＡ１０４及びノードＢ１０２の間に４つの物理的等コスト最短パスを含む。８０２．１ａｑ  ＳＰＢＭによれば、これらの最短パスのうち１つが、関連するＥＣＴセットを識別するパケットに関連付けられるＢ−ＶＩＤに従って、ノードＡ１０４からノードＢ１０２に向かうパケットについて選択される。例えば、ＳＰＢＭネットワークに入ると、パケットは、Ｂ−ＶＩＤヘッダフィールドを含む８０２．１ａｈヘッダ３４０（図３参照、本明細書中で後述する）内にカプセル化される。このＢ−ＶＩＤは、トラフィック識別子（トラフィックＩＤ又はＴＩＤ）としてもここで総称的に言及され、１以上の等コスト最短パスが存在する場合に、発信元から宛て先へのそのＢ−ＶＩＤのトラフィックについての１つの最短パスを判定するために、ネットワークの各ノードにより使用される。
【００３２】
本発明の実施形態によれば、ネットワークトラフィックは、スプリットタイブレーカの使用を通じて、障害が起きた場合に複数の生き残った等コスト最短パスにわたって迅速かつ簡単に分散されることができる。他の利益の中でも、スプリットタイブレーカは障害後において大幅な利益を提供し、影響を受けるトラフィックの一部が複数の生き残ったパスにシフトされ、それによって生き残ったリンク及びノード各々におけるインパクトを減少させる。障害前のパス及び障害後のパスの両方が、サービス及びＢ−ＶＩＤのトラフィックへの選択的割り当てを通じて決定可能かつ構成可能であるため、スプリットタイブレーカの使用は、旧来の８０２．１ａｑネットワークのパス決定能力（determinability）の利益をも保持する。これらの利益についての基本的メカニズムは、タイブレーキング期間中の２次的パス、即ち“好適なパス以外のパス”の選択が、他のシステムＩＤのセットのものとは様々異なるように、各セット内のシステムＩＤの分散を構成することである。障害が発生すると、複数のＥＣＴセットが影響を受け、システムＩＤは、共通の“次に最善な”選択を持たないようなやり方で選択されているため、障害により影響を受けるトラフィックは、１以上の生き残ったパスにわたって分散される。技術に対する必要条件は、いかなる単一の障害においても、特定のパスが選択されるようにするタイブレーカのセットに関連付けられるインパクトのあったＥＣＴセットが生き残ったリソースのセットにわたって均等に分散されるように、システムＩＤのセットを生成することである。３ステージＣＬＯＳアーキテクチャのような単純なネットワークについて、これは些細な作業であると証明することができる。任意のトポロジーについては、より複雑なアルゴリズムによって各セット内の値の分配を決定する必要があるかもしれない。
【００３３】
本発明の実施形態に係るスプリットタイブレーキングの使用は、図１の例としての簡単なネットワークにおいて図示されている。上述のように、このネットワークは、６つのノード、及びノードＡ１０４とノードＢ１０２との間の４つの物理的等コスト最短パスを含む。この例では、８個の異なるトラフィックＩＤ（即ちＢ−ＶＩＤ）により表されるトラフィックが、４つの物理的等コスト最短パスへと解決される８つの仮想的な等コスト最短パスを使用し、ノードＡ１０４からノードＢ１０２に転送される。この例は、最短パスのうちの１つに影響する障害１１８の前後にスプリットタイブレーカを有するネットワークの動作を示している。当然のことながら、スプリットタイブレーカは、より多くの若しくは少ないノード、より多くの若しくは少ないトラフィックＩＤを有するネットワークにおいて、及び、ノードのペア間により多くの若しくは少ないパスを有するシナリオについて、動作するように構成されることができる。
【００３４】
旧来の８０２．１ａｑネットワークは、パス識別子の構築時に各ノードに割り当てられるシステムＩＤを使用する一方、スプリットタイブレーカの実装は、ネットワーク内のノードに１以上のシステムＩＤを割り当てる。ノードについての各システムＩＤは、１以上のトラフィックＩＤの特定のセットについてパス識別子を構築する際に使用される。したがって、ノードの各々について、第１のトラフィックＩＤが第１のシステムＩＤについてのパス識別子を生成する際に使用される。一方で、そのパス内のノードの各々から、第２のトラフィックＩＤについてのパス識別子を生成する際には第２のシステムＩＤが使用されるであろう。本発明の実施形態によれば、各ノードについての複数のシステムＩＤは、ネットワーク管理者により手動で割り当てられてもよく、又はネットワーク上のソフトウェアツール若しくはハードウェアエレメントにより割り当てられてもよい。同様に、トラフィックＩＤのセットと、最短パス判定の際に使用されるべきノードについてのシステムＩＤのセットのうち所定の１つとの間のマッピングは、ネットワーク管理者により手動で割り当てられてもよく、又はネットワーク上のソフトウェアツール若しくはハードウェアエレメントにより割り当てられてもよい。
【００３５】
図１において、８個の仮想的な等コスト最短パスは、ネットワーク内の各ノードにより、ノードＡ１０４及びノードＢ１０２間で構築される。図１において構築された８個の仮想的な等コスト最短パスは、トラフィックＩＤ１から８に対応する４つの物理的パス１２０Ａ−Ｗ−Ｂ、Ａ−Ｘ−Ｂ、Ａ−Ｙ−Ｂ、及びＡ−Ｚ−Ｂの各々に割り当てられる２つのインスタンスを含む。１というトラフィックＩＤを有するトラフィックについて最短パスのうち１つを選択するために、各パスについてのパス識別子が、パス各々におけるノード各々に関連付けられる第１のシステムＩＤを使用して構築１２２される。このネットワークでは、各ノードの第１のシステムＩＤがトラフィックＩＤ１〜４に関連付けられ、各ノードの第２のシステムＩＤがトラフィックＩＤ５〜８に関連付けられる。代替的な実施形態では、各ノードに割り当てられる２つより多くのシステムＩＤが存在してもよく、システムＩＤの各々に関連付けられるトラフィックＩＤは、異なるものであってもよく、数がより多くても少なくてもよい。これらのオプション間の選択及びその構成は、異なるネットワークトポロジー及びシナリオについて異なっていてもよく、ネットワークに依存して異なる利益を生み出すものであってもよい。
【００３６】
第１のパスＡ−Ｗ−Ｂについて、各ノードに割り当てられる第１のシステムＩＤが選択１２２される。ノードＡ１０４について、これは１００１ｂであり、ノードＷ１１０についてこれは００００ｂであり、ノードＢ１０２についてこれは１０００ｂである。これらのシステムＩＤは、その後変換される。例えば、図１は、トラフィックＩＤ１に関連付けられる変換を使用して各システムＩＤを変換すること１２３を示す。この例では、変換は、“排他的ＯＲ”（ＸＯＲ）演算子を介したシステムＩＤへのマスクの適用であり、トラフィックＩＤ１に関連付けられるマスクは、００００ｂというマスクである。変換された各システムＩＤ１２３は、その後辞書順にソートされ、接合１３０されて、００００／１０００／１００１ｂというパスＩＤを構築する。この手続きは、他の３つの等コスト最短パスの各々について繰り返される。例えば、パスＡ−Ｚ−Ｂについて、ノードＡ１０４についての第１のシステムＩＤ１００１ｂが識別され、ノードＺ１１６についての第１のシステムＩＤ００１１ｂが識別され、ノードＢ１０２についての第１のシステムＩＤ１０００ｂが識別される。これらの識別されたシステムＩＤは変換され、辞書順にソートされ、接合されて、パスＩＤ００１１／１０００／１００１ｂを形成する。
【００３７】
４つのパスＩＤの各々がこの処理に従って構築された後、それらはランク付けされ、最低値を有するパスＩＤが選択され、そのパスＩＤに関連付けられる等コスト最短パスが、そのトラフィックＩＤのトラフィックについてのパスであるように決定される。この例では、パスＩＤは、バイナリ符号なし整数として各ビットパターンを扱うことにより比較されるが、本発明の他の実施形態では、パスＩＤの比較の他の方法が可能であり、当技術分野において周知である。ここでは、パスＡ−Ｗ−ＢについてのパスＩＤは、他の３つのパスＩＤよりも小さく、したがってトラフィックＩＤ１についてのトラフィックは、パスＡ−Ｗ−Ｂを使用してこのネットワーク内でルーティングされるであろう。この処理は、トラフィックＩＤ２〜４の各々について繰り返される。
【００３８】
他方、トラフィックＩＤ５〜８についてのタイブレーキングアルゴリズムは、各等コスト最短パスにおけるブリッジを表すためにシステムＩＤの異なるセットに依存する。トラフィックＩＤ５〜８について４つの物理的等コスト最短パスのうち１つを選択するために、各ノードに割り当てられる第２のシステムＩＤが選択１２４される。例えば、パスＡ−Ｗ−ＢについてのパスＩＤは、ここで、ノードＡ１０４についての第２のシステムＩＤ１０００ｂ、ノードＷ１１０についての第２のシステムＩＤ０００１ｂ、及び、ノードＢ１０２についての第２のシステムＩＤ１００１ｂを用いて構築されている。
【００３９】
ネットワーク１１８における障害の前は、構築された４つのパスのうち１つが、トラフィックＩＤ５〜８の各々について、タイブレーキングアルゴリズム及びその特定のトラフィックＩＤに関連付けられる変換を用いて選択される。図１では、この処理がトラフィックＩＤ６について示されており、トラフィックＩＤ６は０００１ｂのマスクに関連付けられる。したがって、そのパスにおける第２のシステムＩＤの各々は、マスク０００１ｂに対してシステムＩＤをＸＯＲすることにより変換１２５される。これは、パスＡ−Ｗ−Ｂ１０００／０００１／１００１ｂについての元のシステムＩＤが１００１／００００／１０００ｂに変換される結果となる。1000b  XOR  0001b=1001bであるから、当該結果の最初の４ビットが発生し、0001b  XOR  0001b=0000bであるから、当該結果の真ん中の４ビットが発生し、1001b  XOR  0001b=1000bであるから、当該結果の最後の４ビットが発生する。変換されたシステムＩＤの各セットは、その後、辞書順にソートされ、特定されたトラフィックＩＤについてのタイブレーキングにおいて使用されるべきパスＩＤを形成するように接合１３２される。
【００４０】
トラフィックＩＤ６について、この手続きは、他の３つの等コスト最短パスの各々に対して発生する。パスＩＤが、これらの４つの等コスト最短パスの各々について構築された後、最低値を有するパスＩＤを選択することにより、タイブレーキングが発生１２６し、そのパスＩＤに関連付けられる等コスト最短パスが、トラフィックＩＤ６についてのパスとなるように判定される。この例では、最も低いパスＩＤは、ノードＡ−Ｗ−Ｂを通過するパスについての００００／１０００／１００１ｂである。この処理は、トラフィックＩＤ６〜８の各々について、その特定のトラフィックＩＤに関連付けられる変換と共に各パス内の各ノードの第２のシステムＩＤを使用する度に、繰り返される。
【００４１】
障害前１２６のトラフィックＩＤ１〜４及び５〜８の両方についての最短パスの選択の終わりに、トラフィックＩＤ１及び６についてのトラフィックは、Ａ−Ｗ−Ｂパスを通過し、トラフィックＩＤ２及び８についてのトラフィックは、Ａ−Ｘ−Ｂパスを通過し、トラフィックＩＤ３及び５についてのトラフィックは、Ａ−Ｙ−Ｂパスを通過し、トラフィックＩＤ４及び７についてのトラフィックは、Ａ−Ｚ−Ｂパスを通過する。ネットワーク内の各ノードは、これらのパスを独立して計算し、これらの転送手続きを実装するために使用される正確な転送状態をインストール済みである。
【００４２】
ある時点において、ノードＡ１０４及びＷ１１０間のリンクに影響する障害がネットワーク内に発生１１８する。ノードＡ１０４及びノードＷ１１０のうち少なくとも１つは、このリンクの喪失を示す広告をネットワークを通じてフラッディングする。この情報で、システム内の各ノードは、そのリンクステートデータベースから当該リンク（又は当該リンクの有効性）を削除する。結果的に、トラフィックＩＤ１及び６についてのトラフィックはもはや、ネットワークを通じて有効なパスを有さず、各トラフィックＩＤについての新たなパスが各ノードにより判定される。
【００４３】
トラフィックＩＤ１及び６の各々についての新たなパスを判定するために、各ノードは再び等コスト最短パスを構築し、そのトラフィックＩＤについての変換を用いて、構築された各等コスト最短パスについてのパスＩＤを構築し、パスを選択するために共通のタイブレーキングアルゴリズムを適用する。例えば、障害を除いて他にネットワークが全く変化していないと仮定すると、等コスト最短パスは１２０におけるように構築されるであろうが、１つ目のパスＡ−Ｗ−Ｂはもはや存在しないであろう。トラフィックＩＤ１について、システムＩＤは、これらのパス１２２における各ノードの第１のシステムＩＤを用いて選択されるであろう（重ねて、パスＡ−Ｗ−ＢについてのパスＩＤは構築されないであろう）。システムＩＤの各々は、マスク００００ｂである、トラフィックＩＤ１に関連付けられる変換を使用して変換１２３されるであろう。この障害後の状態においては、変換されたシステムＩＤは、辞書順に並び替えられ、パスＩＤを生成するために接合１３４され、最も低いパスＩＤが選択１２８される。トラフィックＩＤ１についてのトラフィックは、これからパスＡ−Ｘ−Ｂを通過するであろう。
【００４４】
同様に、トラフィックＩＤ６について、Ａ−Ｗ−Ｂについてのパスは存在しないであろうが、パス内の各ノードの第２のシステムＩＤを使用して、１２４におけるのと同様にシステムＩＤが選択されるであろう。第２のシステムＩＤの各々は、トラフィックＩＤ６に関連付けられる０００１ｂのマスクを使用して変換１２５される。この障害後の状態において、変換されたシステムＩＤは、辞書順に並び替えられ、パスＩＤ１３６を形成するために接合１３６され、その後、最も低い結果のパスＩＤが選択１２８される。トラフィックＩＤ６についてのトラフィックは、これからパスＡ−Ｙ−Ｂを通過するであろう。
【００４５】
この結果は、スプリットタイブレーカの使用から生じる利益の１つを示している。旧来の８０２．１ａｑの動作によれば、Ａ−Ｗ−Ｂパスを通過する全てのトラフィックは、障害１１８の後、他の生き残った１つのパスＡ−Ｘ−Ｂにシフトされるであろう。結果的に、障害の影響を受ける全てのトラフィックを他の１つのパス上にこのようにシフトすることは、そのパス上の負荷を著しく増加させるであろう。よくても、これはそのパス内の全てのリンク及びノードの性能を低下させ、最悪の場合、トラフィックが破棄され、又はノード若しくはリンクの障害が発生する恐れがあるほど、これらのノード及びリンクが混雑に陥ることが起こりうる。
【００４６】
その代わりに、システムのノードについてのシステムＩＤの意図的な選択、並びにネットワークのトラフィックについてのトラフィックＩＤ及び変換の慎重な選択を通じて、スプリットタイブレーカを実装するネットワークは、生き残った複数の等コスト最短パスにわたって、影響を受けるトラフィックを分散することにより、障害に適切にかつ自動的に適応することが可能である。例えば、図１においてトラフィックＩＤ１及び６に関連付けられるトラフィックは、障害１１８の後に同一のパスにシフトされず、その代わりに、このトラフィックは、２つのパス（Ａ−Ｘ−Ｂ及びＡ−Ｙ−Ｂ）間で分散される。さらに、リンク障害の後で、トラフィックの著しい拡散がネットワーク内の生き残ったリソースの間に発生することを保証するように、マルチパス及びスプリットタイブレーカ構成の組み合わせを設計するためにネットワークのトポロジとトラフィック割り当てを分析することが可能である。
【００４７】
さらに、障害１１６が是正された場合、他のパスのトラフィックが動かないままである一方、トラフィックＩＤ１及びトラフィックＩＤ６に関連付けられるトラフィックは、元のパス（Ａ−Ｗ−Ｂ）に戻るであろう。これは、トポロジーの変化により誘発されるネットワーク内のパケットフローの並び替えの可能性を最小化する。
【００４８】
結果的に、ホップ・バイ・ホップの等コストマルチパスルーティング（ＥＣＭＰ：equal  cost  multi-path  routing）の多くの利益はそのままで、但し、障害シナリオにおけるフロー順序の保全、ネットワークの予測可能性、並びにＯＡＭ（Operations,  Administration,  and  Maintenance）の実用性及びテスト容易性、における大いなる改善がもたらされる。さらに、スプリットタイブレーカを採用するシステムが、旧来の８０２．１ａｑネットワークで典型的に使用されるよりも多くのトラフィックＩＤを使用することにより利益を受ける一方、各ノードの転送データベース内のマルチキャスト状態の量は、トラフィックＩＤのこの増加により影響を受けない。さらに、いかなる順序においても全ての障害の正確な影響は確実に予測され得るため、ネットワークの計画は単純化される。
【００４９】
図２は、本発明の一実施形態に係る８０２．１ａｑのためのスプリットタイブレーカを実装する例示的なネットワークエレメント２１０の機能ブロック図を示す。図２に示されるように、ネットワークエレメント２１０は、制御プレーン２１２とデータプレーン２１４とを含む。データプレーン２１４の役割は、インバウンドパケット２５２を受信すること、及び、転送情報ベース２３６内の情報に従って、アウトバウンドパケットとしてこれらのパケットを転送することである。ネットワークエレメント２１０がＢＥＢとして機能し、したがってバックボーンネットワークの端に位置し、別個のネットワーク（例えば、顧客のネットワーク）とインタフェース接続している本発明の実施形態においては、インバウンドのパケット２５２は、別個のネットワークから到着する。インバウンドパケット２５２が別個のネットワークから受信される８０２．１ａｄパケットである、本発明の実施形態では、転送モジュール２３４が、それらをアウトバウンドパケット２５４としてバックボーンネットワークに転送する前に、８０２．１ａｈヘッダと共にインバウンドパケット２５２をカプセル化し得る。（８０２．１ａｄパケット及び８０２．１ａｈパケットに関する更なる詳細は、図３に関して本明細書中の後で提示される）
【００５０】
あるいは、本発明の実施形態において、ネットワークエレメント２１０は、バックボーンネットワーク及び別個のネットワークの端において、ＢＥＢとして機能することができ、８０２．１ａｄヘッダと共に既にカプセル化されている、バックボーンネットワークからのインバウンドパケット２５２を受信することができる。このシナリオでは、転送モジュール２３４が、パケットをアウトバウンドパケット２５４として別個のネットワークに送信する前に、パケットから８０２．１ａｄヘッダを逆カプセル化（即ち削除）するであろう。ネットワークエレメント２１０がＢＣＢとして機能し、よってバックボーンネットワークのコア内にある、本発明の実施形態では、インバウンドパケット２５２及びアウトバウンドパケット２５４の両方が８０２．１ａｄパケットであり、転送モジュール２３４によってさらにカプセル化又は逆カプセル化されないであろう。
【００５１】
制御プレーン２１２は、ネットワークエレメント２１０の動作を制御するように構成される。制御プレーン２１２は、リンクステートプロトコルモジュール２１６を含み、リンクステートプロトコルモジュール２１６は、本明細書で後述される他の機能性の中で、バックボーンネットワークのネットワークエレメントの間でリンクステートメッセージ２５０を交換（即ち、送信及び受信）することにより、ネットワークの他のネットワークエレメントと通信する。リンクステートメッセージ２５０は、ネットワーク内のノード間でトポロジー情報を通信する、ＩＳ−ＩＳ又はＯＳＰＦといったリンクステート型ルーティングプロトコルを採用するネットワークにおいて使用されており、そのようなリンクステート型ルーティングプロトコルは、当業者によりよく理解されている。リンクステートメッセージ２５０の交換は、ネットワーク内の各ネットワークエレメントが、ネットワークトポロジーの理解を同期させることを可能にする。本発明の実施形態では、リンクステートメッセージは、２００１年３月８日の“IS-IS  Extensions  Supporting  IEEE  802.1aq  Shortest  Path  Bridging”と題するＩＥＴＦ（Internet  Engineering  Task  Force）インターネットドラフト  バージョン５（draft-ietf-isis-ieee-aq-05.txt）に記載された、ＩＳ−ＩＳプロトコルのバージョンに従って送信される。本発明の実施形態によれば、基盤となるＩＳ−ＩＳプロトコルは、各ネットワークエレメントが、単にシステムＩＤを１つだけ送信する替わりに、特定のネットワークエレメントに割り当てられている複数のシステムＩＤを送信及び受信することを可能にするためにさらに修正される。この修正は、スプリットタイブレーキングを目的として、ネットワークエレメント毎に複数のシステムＩＤを分散することを可能にするための１つの方法である。しかしながら、各ネットワークエレメントにおいてこの情報を手動で構成するといった、他の方法が利用されてもよい。
【００５２】
ネットワークの他のネットワークエレメントからリンクステートメッセージ２５０のセットを受信すると、リンクステートプロトコルモジュール２１６は、ネットワークのトポロジーを判定するために、これらのリンクステートメッセージ２５０からの情報を利用する。リンクステートプロトコルモジュール２１６は、リンクステートデータベースモジュール２２４にアクセス２６０することによって、ネットワークについてのトポロジー情報を格納及び取得する。リンクステートデータベースモジュール２２４は、ネットワークのネットワークエレメントを表すエントリ、及びこれらのネットワークエレメント間の接続を含むリンクステートデータベース２２６を含む。本発明の実施形態では、これらのネットワークエレメントは、イーサネットブリッジであり、イーサネットブリッジ間の接続は、イーサネットリンクである。さらに、リンクステートデータベース２２６は、等コスト最短パス間のスプリットタイブレーキングのために用いられる、各ネットワークエレメント２２８についての複数のシステムＩＤをも格納する。
【００５３】
リンクステートデータベースモジュール２２４内に格納されたネットワークトポロジー情報にアクセス２６０することにより、リンクステートプロトコルモジュール２１６は、パス構築モジュール２２０を使用してネットワークエレメント間の最短パスを構築することができる。本発明の実施形態では、パス構築モジュール２２０は、ネットワーク内のＢＥＢペア間の１以上の等コスト最短パスを構築するために、ダイクストラのアルゴリズムの実装を使用し、続いて、ＦＩＢ構築の一部として、その特定のＢ−ＶＩＤに割り当てられる所与のＢＥＢのペア間のＩ−ＳＩＤの共通集合（intersection）を決定する。
【００５４】
パス構築モジュール２２０によりＢＥＢのペア間に１以上の等コスト最短パスが存在すると判定される場合、リンクステートプロトコルモジュール２１６は、判定された等コスト最短パスのうち１つを選択するために、タイブレーキングモジュール２２２を利用する。本発明の実施形態では、タイブレーキングモジュール２２２は、Ｂ−ＶＩＤ／トラフィックＩＤに関連付けられる変換、及びＢ−ＶＩＤ／トラフィックＩＤに関連付けられる各ネットワークエレメント２２８についての複数のシステムＩＤのうち特定の１つを使用して、特定のトラフィックＩＤについての特定のノードのペア間のパスについてタイブレーキングを実行する。
【００５５】
ネットワークのネットワークエレメント間の最短パスを判定後、リンクステートプロトコルモジュール２１６は、転送モジュール２３４を更新２６６して、最短パスに従ってパケットを転送するようにデータプレーン２１４を構成する。本発明の実施形態では、最短パス情報は、転送情報ベース（ＦＩＢ）２３６に格納されており、転送情報ベース２３６は、１以上の出力インタフェースに対し、１以上の入力インタフェース、宛て先アドレス、及びＢ−ＶＩＤをマッピングするエントリを含む。ネットワークトポロジーにおける変更を示す、追加のリンクステートメッセージ２５０を受信すると、リンクステートプロトコルモジュール２１６がリンクステートデータベースモジュール２２４を更新し、最短パスを構築し、再度転送モジュール２３４を更新２６６するように、この処理が繰り返される。
【００５６】
図３は、本発明の一実施形態に係るネットワークトラフィックをカプセル化するために使用されるパケットヘッダを示す。上述したように、ＢＥＢ装置として機能するネットワークエレメントは、外部のネットワークからトラフィックを受信し、外部のネットワークはクライアントネットワークであり得る。本発明の実施形態では、クライアントネットワーク上のイーサネットトラフィックは、ペイロード３１０と、クライアント宛て先ＭＡＣアドレス（Ｃ−ＤＡ）３１８、クライアント発信元ＭＡＣアドレス（Ｃ−ＳＡ）３１６、及び少なくとも１つの仮想ＬＡＮ  ＩＤ（ＶＩＤ）を含むクライアントヘッダ３３０とを含む。本発明の実施形態によれば、図３に示す通り、クライアントヘッダは、ＩＥＥＥ８０２．１ａｄにより詳述されるようにＳ−ＶＩＤ３１４及びＣ−ＶＩＤ３１２の両方を含む。本発明の他の実施形態では、クライアントヘッダは、８０２．１Ｑでのように、Ｃ−ＶＩＤのみを含み得る。いうまでもなく、他のイーサネットフレームフォーマットが、クライアントネットワークにより使用されてもよい。クライアントトラフィックを受信すると、ＢＥＢネットワークエレメントは、ＩＥＥＥ８０２．１ａｈバックボーンヘッダ３４０と共にトラフィック３５０をカプセル化し、ＩＥＥＥ８０２．１ａｈバックボーンヘッダ３４０は、バックボーンネットワークのネットワークエレメントが、クライアントＭＡＣアドレス空間に基づいて転送する替わりに、バックボーンベースのＭＡＣアドレス空間に基づいてトラフィックを転送することを可能にする。８０２．１ａｈヘッダ３３０は、バックボーン（Ｂ）宛て先ＭＡＣアドレス（Ｂ−ＤＡ）３２６、バックボーン発信元ＭＡＣアドレス（Ｂ−ＳＡ）３２４、プロバイダＶＬＡＮ  ＩＤ（Ｂ−ＶＩＤ）３２２、及びサービス識別子（Ｉ−ＳＩＤ）３２０を含む。
【００５７】
図４のフロー図の動作について、図１、２、５、７、９及び１０の例示的な実施形態を参照して説明する。しかしながら、図４のフロー図の動作は、図１、２、５、７、９及び１０を参照して論じられる以外の本発明の実施形態により実行されることができ、図１、２、５、７、９及び１０を参照して論じられる実施形態は、図４のフロー図を参照して論じられるものとは異なる動作を実行することができることを理解すべきである。
【００５８】
図４は、本発明の一実施形態に係る８０２．１ａｑネットワークにおけるスプリットタイブレーカの使用についてのフロー図を示す。ブロック４０２において、８０２．１ａｑネットワーク内のノードは、当該ノードについての第１及び第２のシステム識別子を広告する。第１の及び第２のシステムＩＤは、それぞれ第１の及び第２のトラフィックＩＤのセットに関連付けられる。トラフィックＩＤは、ネットワーク内で異なる仮想ネットワークを区別するために使用され、各トラフィックＩＤはタイブレーキング変換に関連付けられる。本発明の実施形態では、２以上のシステムＩＤがノードについて広告され、システムＩＤの各々は、トラフィックＩＤの異なるセットに関連付けられる。ある実施形態では、タイブレーキング変換は、マスクと各システムＩＤとにＸＯＲ演算を実行することにより、パスＩＤ内のシステムＩＤを変換するために使用されるマスクである。ブロック４０４において、ノード４０２は、ネットワーク内の他の複数のノードの各々についての第３の及び第４のシステムＩＤを受信する。第３の及び第４のシステムＩＤは、それぞれ第１の及び第２のトラフィックＩＤのセットに関連付けられる。本発明の実施形態では、２以上のシステムＩＤが、ネットワーク内の他の複数のノードの各々について受信され、ノードについてのシステムＩＤの各々が、トラフィックＩＤの異なるセットに関連付けられる。ブロック４０６において、ノードは、ネットワークの第１のノードと第２のノードとの間の複数の異なる等コスト最短パスを構築する。ある実施形態では、最短パスは、それらが同じ数のリンクを包含する場合に等コストであるとみなされる。ある実施形態では、最短パスは、リンク使用統計（link  usage  statistics）を用いて判定される。ブロック４０８において、ノードは、１）等コスト最短パスの各々について、そのトラフィックＩＤに関連付けられるタイブレーキング変換と、そのトラフィックＩＤに関連付けられるシステムＩＤを含む、各々がその等コスト最短パスの異なるノードに関連付けられるシステムＩＤのセットと、を用いてパスＩＤを構築すること、及び２）等コスト最短パスのうちの１つを選択するためにパスＩＤに選択アルゴリズムを適用することにより、各トラフィックＩＤについて、構築された等コスト最短パスのうち１つを選択する。ブロック４１０において、ノードは、ネットワーク内のシステムＩＤ及びトラフィックＩＤの構成を理由として、選択された１以上の等コスト最短パス上の、複数のトラフィックＩＤについてのトラフィックに影響する障害に応じて、複数の他の等コスト最短パスにわたって、それらのトラフィックＩＤに関連付けられるトラフィックを分散させる。本発明の実施形態において、ネットワーク内の各ノードについての複数のシステムＩＤ、並びにトラフィックについてのトラフィックＩＤ及び変換の選択は、障害により影響を受けるトラフィックが、そのトラフィックについての他の全ての生き残った等コスト最短パスにわたって分散されることを可能にする。
【００５９】
図５は、本発明の一実施形態に係る最短パス及びトラフィック識別子を説明する例示的なネットワークトポロジーを示しており、本発明の一実施形態に係るスプリットタイブレーカを利用する最短パスの論理計算を示す図６と併せて提示されている。図５は、６個のノード−２個のＢＥＢノードであるＢ５０２及びＡ５００、並びに４個のＢＣＢノードであるＷ５１０、Ｘ５１２、Ｙ５１４及びＺ５１６を含むバックボーンネットワークを示す。各ノードは、２つのシステムＩＤを含むが、説明を容易にするために、ＢＣＢノードについてのシステムＩＤのみ示されている。このネットワークは、４つの等コスト最短パス、Ａ−Ｗ−Ｂ、Ａ−Ｘ−Ｂ、Ａ−Ｙ−Ｂ、及びＡ−Ｚ−Ｂを含む。図５中の円は、特定のパス上で転送されるものと判定されたトラフィックＩＤに関連付けられるトラフィックを示す。例えば、トラフィックＩＤ１及び６に関連付けられるトラフィックは、ＢＥＢノードＡ５００及びＢＥＢノードＢ５０２の間でＢＣＢノードＷ５１０を介して転送されるものとされている。
【００６０】
図６は、トラフィックＩＤ１〜８に関連付けられるトラフィックが、４つの等コストパス上を進むためにどのように選択されるかの概念的な図を提示する。図１及び図２を参照して上で詳述したように、各ノードは、ネットワークのトポロジーを表すリンクステートデータベースをメンテナンスする。ネットワーク内のＢＥＢノードのペア（ノードＡ５００及びノードＢ５０２）について、各ノードは、ＢＥＢノード間を通過するトラフィックにおいて使用される各トラフィックＩＤについて、ＢＥＢノード間の等コスト最短パスを計算する。ノードが１以上の等コスト最短パスを算出した場合、ノードは、スプリットタイブレーカを使用してトラフィックＩＤを有するトラフィックについて１つのパスを選択する。
【００６１】
図６は、スプリットタイブレーキングの理解に有用な第１のテーブル６０２Ａ及び第２のテーブル６０２Ｂを含む。各テーブルは、システムＩＤの見出し行（６０６、６１８）を含み、システムＩＤは４つの等コスト最短パスの各々における中間ノードに属する。各行は、トラフィックＩＤの各々に関連付けられる第１列のマスク６０４でインデックス付けされている。第１のテーブル６０２Ａは、等コスト最短パス内の各中間ノードからの第１のシステムＩＤのセット６０６の使用を示す。この例では、第１のシステムＩＤのセットの各々が、１から４までの範囲内のトラフィックＩＤのセットに関連付けられる。他方、第２のテーブル６０２Ｂは、等コスト最短パス内の各中間ノードからの第２のシステムＩＤのセット６１８の使用を示す。この第２のシステムＩＤは、５から８までの範囲内のトラフィックＩＤのセットに関連付けられる。トラフィックＩＤ１〜４の各々についての等コスト最短パスを判定する場合、第１のテーブル６０２Ａ及び第１のシステムＩＤのセット６０６が用いられる。同様に、トラフィックＩＤ５〜８の各々についての等コスト最短パスを判定する場合、第２のテーブル６０２Ｂ及び第２のシステムＩＤのセット６１８が用いられる。
【００６２】
図５のように、発信元と宛て先ノードとの間に複数の等コスト最短パスが存在する場合、各パスについてパスＩＤが構築される。特定のトラフィックＩＤについて、各パス内の各システムＩＤは、そのトラフィックＩＤに関連付けられる変換を使用して変換される。変換された各システムＩＤは、辞書順に並び替えられ、パスＩＤを生成するために接合され、最も低いパスＩＤがそのトラフィックＩＤについてのパスとして選択される。図６（及び後述する図８）は、この処理の関連する部分を示している。しかしながら、理解を容易にするために、完全なパスＩＤは、これらの図において示されていない。特に、送信側のＢＥＢノード（図５におけるノードＡ５００）及び受信側のＢＥＢノード（図５におけるノードＢ５０２）についてのシステムＩＤ及び変換されたシステムＩＤは示されていない。これらの値は、構築された各パスＩＤ内に存在するであろうから、比較される際に互いに相殺される。例えば、Ａ−Ｗ−ＢとＡ−Ｘ−Ｂの２つのパスを比較する際、各パスの差異のある面は、各パスの第２ホップのみであり、この場合は、ノードＷとノードＸである。理解を容易にするために、これらの余分な値（例えば、ノードＡ及びＢについてのシステムＩＤ）は、明確化のために省略されるが、そのような値を含む完全な例については、図１を参照されたい。
【００６３】
第１のテーブル６０２Ａは、本発明の実施形態に係る、トラフィックＩＤ１〜４についてのパスの選択を示す。第１の行６１０は、トラフィックＩＤ１についての中間ノードのシステムＩＤ６０６のうちの１つの変換及び選択を示す。トラフィックＩＤに関連付けられる変換はマスク００００ｂであり、ノードＷ５１０についての第１のシステムＩＤのセット、即ち００００ｂとＸＯＲされると、００００ｂの結果を得る。同様にマスク００００ｂは、ノードＸ５１２、Ｙ５１４及びＺ５１６の各々についての第１のシステムＩＤに対して再び適用される。行６１０における各々の結果は、変換されたシステムＩＤを表す。本発明の実施形態では、各パス内の各ノードについての第１のシステムＩＤ各々は、このようにして変換され、結果は、パスＩＤを生成するために辞書順に並べ替えられ、接合され、その最低値がパスとして選択される。第１の行６１０について、ノードＷ５１０についての変換されたシステムＩＤが行６１０において最も低いバイナリ変換されたシステムＩＤであるため、選択される（丸で表される）。本発明の他の実施形態では、選択されるパスＩＤは、最も高い変換されたパスＩＤを選択するといったような、別のルールやアルゴリズムに従って選択されてもよい。このように、ノードＡ５００とノードＢ５０２との間の４つの等コスト最短パスを表す第１の行６１０内の変換されたシステムＩＤによれば、トラフィックＩＤ１についてのトラフィックは、Ａ−Ｗ−Ｂを用いて転送されるであろう。この手続きは、ネットワーク内の各ノードによって実行されるが、この点において、ノードＡ５００、Ｗ５１０及びＢ５０２は、この決定されたパスに従ってトラフィックを認識し転送するために、それらの個別の転送情報ベース２３６内の転送情報を構成する。
【００６４】
この処理は、２行６１２、３行６１４、４行６１６内のトラフィックＩＤ２〜４の各々について同様に実行されるであろう。この処理によれば、００００ｂのノードＸ５１２についての変換されたシステムＩＤが、第２行６１２の最低値であるから、トラフィックＩＤ２についてのトラフィックはパスＡ−Ｘ−Ｂを通過するであろう。同様に、トラフィックＩＤ３についてのトラフィックは、Ａ−Ｙ−Ｂのパスを通過し、トラフィックＩＤ４についてのトラフィックは、Ａ−Ｚ−Ｂのパスを通過するであろう。
【００６５】
しかしながら、第２のテーブル６０２Ｂが示すように、トラフィックＩＤ５〜８についてのパス選択は、パス内の各ノードに関連付けられるシステムＩＤのセットの第２のシステムＩＤの変換を含む。例えば、第１のテーブル６０２Ａ内のノードＷ５１０は、その第１のシステムＩＤ００００ｂによって表されていたが、第２のテーブル６０２Ｂ内のノードＷ５１０は、その第２のシステムＩＤ０００１ｂによって表される。第２のテーブル６０２Ｂの第１の行６２０において、トラフィックＩＤ５についてのパス選択が示されている。トラフィックＩＤ５についての変換は、マスク００００ｂであり、それは中間ノードについての第１のシステムＩＤの各々に適用される。例えば、ノードＷ５１０についての第２のシステムＩＤは０００１ｂであり、これは、ＸＯＲ演算とともにマスク００００ｂを適用することにより変換され、その結果０００１ｂとなる。ノードＸ５１２について、第２のシステムＩＤ００１１ｂは、マスク００００ｂとＸＯＲされた結果００１１ｂとなる。ノードＹ５１４について、第２のシステムＩＤ００００ｂは、マスク００００ｂとＸＯＲされた結果００００ｂとなる。ノードＺについて、第２のシステムＩＤ００１０ｂは、マスク００００ｂとＸＯＲされた結果００１０ｂとなる。第２のテーブル６０２Ｂの第１行６２０において、各システムＩＤが変換された後、最も低い変換されたシステムＩＤが選択される。この最低値は、００００ｂであり、それは、ノードＹ５１４を含むパスがトラフィックＩＤ５を使用するトラフィックについてのパスであることを示している。同様に、この処理をトラフィックＩＤ６〜８の各々について繰り返し、各中間ノードについて第２のシステムＩＤのセットを再び使用する。図５は、パス選択完了時におけるトラフィックＩＤによるトラフィックの流れを表す。トラフィックＩＤ１及び６についてのトラフィックは、Ａ−Ｗ−Ｂパスを通過し、トラフィックＩＤ２及び８についてのトラフィックは、Ａ−Ｘ−Ｂパスを通過し、トラフィックＩＤ３及び５についてのトラフィックは、Ａ−Ｙ−Ｂパスを通過し、トラフィックＩＤ４及び７についてのトラフィックは、Ａ−Ｚ−Ｂパスを通過する。
【００６６】
図７は、本発明の一実施形態に係る、障害後の図５に示された例示的なネットワークトポロジーを示しており、本発明の一実施形態に係るスプリットタイブレーカを利用する最短パスの論理計算を示す図８と併せて提示される。図５及び６と同様に、図７及び８は、ノードＡ７００及びＢ７０２についてのシステムＩＤを図示せず、パスＩＤ全体を表現する代わりに、各パスにおける中間ノードについてのシステムＩＤ及び変換されたシステムＩＤのみを代わりに表示する。
【００６７】
図７は、図５で提示されたのと同一のノードを含む。しかしながら、図７は、トラフィックＩＤ１及び６についてのトラフィックに影響する障害７１８が発生した後のネットワークを示す。この障害は、多くの理由により発生し得る。ノードＡ７００及びＷ７１０間のリンクの物理的障害、ノードＡ及びＢ７１０のうち１つ又は両方の障害、又はノードＡ７００及びＷ７１０のうち１つ若しくは両方におけるポート若しくはネットワークインタフェースカードの問題を含むが限定されない。この例としてのネットワークでは、ノードＡ７００及びＷ７１０のうち１つ又は両方が障害７１８を検知し、この障害７１８を示すリンクステートメッセージ２５０をネットワークの他のノードに送信するであろう。各ノードが障害７１８のことを知ると、ノードは、そのリンクステートデータベース２２６を更新２６０し、トラフィックＩＤ１及び６についての新たなパスを計算する。
【００６８】
図８は、図７の３つの生き残った等コスト最短パス上を進むために、トラフィックＩＤ１〜８に関連付けられるトラフィックがどのように選択されるかの概念的な図を提示する。障害７１８に起因して、各ノードは、ノードＡ５００とノードＢ５０２との間のパスを計算する際に、ノードＷ５１０を通る最短パスを計算することはない。したがって、第１のテーブル８０２Ａ及び第２のテーブル８０２ＢにおけるノードＷ５１０の列は、‘Ｘ’で印され、考慮されない。図６でのように、第１のテーブル８０２Ａ及び第２のテーブル８０２Ｂの各々は、トラフィックＩＤ１〜８の各々に関連付けられる第１列のマスク８０４を含む。同様に、各テーブルは、システムＩＤの行を含み、第１のテーブル８０２Ａは、各中間ノードについての第１のシステムＩＤのセットを含む行８０６を含み、第２のテーブル８０２Ｂは、第２のシステムＩＤのセットを含む行８１８を含む。
【００６９】
第１のテーブル８０２Ａに示されるように、ノードＡ５００とノードＢ５０２との間の３つの等コストパスが、ネットワーク内の各ノードにより計算される。パス候補が１つ少なく存在するが、トラフィックＩＤ１〜４の各々についてのパス選択処理は、図６において前述したように発生する。第１の行８１０において、トラフィックＩＤ１に関連付けられる変換はマスク００００ｂであり、各中間ノードについての第１のシステムＩＤのセット８０６の各々に対してＸＯＲされる。この変換の結果、変換されたシステムＩＤは、ノードＸ５１２について０００１ｂ、ノードＹ５１４について００１０ｂ及びノードＺ５１６について００１１ｂとなる。これらの３つの候補のうち、ノードＸ５１２についての０００１ｂが最も低く、したがってトラフィックＩＤ１についての選択されたパスは、ここでＡ−Ｘ−Ｂである。このように、ノードＡ５００、Ｘ５１２及びＢ５０２の各々は、トラフィックＩＤ１に関連付けられるトラフィックが、この決定されたパスに従って転送されることができるように、それらの個別の転送情報ベース２３６を構成するであろう。この処理は、第２行８１２、第３行８１４及び第４行８１６においてトラフィックＩＤ２〜４について継続する。
【００７０】
トラフィックＩＤ５〜８の各々についてのパス選択は、第２のテーブル８０２に表されており、それは、各中間ノードについての第２のシステムＩＤのセット８１８を使用する。例えば、トラフィックＩＤ６についての新たなパスは、０００１ｂのマスクである、トラフィックＩＤ６に関連付けられる変換で、システムＩＤ８１８の各々に第１の変換を行うことにより、第２の行８２２において判定される。システムＩＤ８１８の各々にマスクを適用することにより、変換されたシステムＩＤは、ノードＸ５１２についての００１０ｂ、ノードＹ５１４についての０００１ｂ、及びノードＺについての００１１ｂである。０００１ｂのノードＹ５１４についての変換されたシステムＩＤが、行８２２の最低値であるから、トラフィックＩＤ６についてのトラフィックは、ノードＹ５１４を用いて転送されるであろう。その結果、ノードＡ５００、Ｙ５１４及びＢ５０２の各々は、トラフィックＩＤ６に関連付けられるトラフィックが、この判定されたパスに従って転送されることができるように、それらの個別の転送情報ベース２３６を構成するであろう。同様にして、タイブレーキングは、８２０、８２４及び８２６においてトラフィックＩＤ５、７及び８の各々についても実行される。上述のように、中間ノードについての第２のシステムＩＤのセットを変換することに加えて、いくつかの実施形態では、ノードＡ５００及びノードＢ５０２についての第１のシステムＩＤのセットも変換され、３つの変換されたシステムＩＤ全てが、辞書順に並べ替えられ、パスＩＤに接合される。それらの実施形態では、各パスＩＤは、タイブレーキングを実行し、トラフィックＩＤについてのパスを選択するために比較される。
【００７１】
複数の各ノードについてのシステムＩＤ、トラフィックに割り当てられるトラフィックＩＤ、及びトラフィックＩＤの各々に関連付けられる変換の適切な構成に起因して、タイブレーキングは、それによって、以前Ａ−Ｗ−Ｂを通過していたネットワークトラフィックが、パスＡ−Ｘ−Ｂ及びＡ−Ｙ−Ｂにインパクトを与える障害の後、２つの異なるパス上を通過することができるようにする。これは、ネットワークが、障害に起因して移動されるトラフィックについて、ネットワークを介して複数のフェイルオーバーパスを利用することにより、障害シナリオにより簡単かつ予測通りに対応できるようにする。影響を受けた全てのトラフィックをブロックとして他の１つのパスにシフトする代わりに、トラフィックが複数のパス間で分散され、障害のインパクトを軽減している。
【００７２】
図９は、本発明の一実施形態に係る例示的なネットワーク上のマルチキャストトラフィックについての最短パスを示す。この図は、明確化のため、２つのトラフィックＩＤ（１及び６）のみを利用するトラフィックを示し、典型的には、そのようなネットワークは２以上のトラフィックＩＤを利用するであろう。本実施形態では、ノードＡ９００は、ノードＢ９０２、ノードＣ９０４、ノードＤ９０６及びノードＥ９０８にマルチキャストトラフィックを送信する。ノードＡ９００と受信側ノード９０２〜９０８との間には、中間ノードＷ９１０、中間ノードＸ９１２、中間ノード９１４及び中間ノード９１６がある。ノード間のホップ数がパスのコストを示す、本発明の実施形態では、４つの物理等コスト最短パスが、ノードＡ９００と４つの受信側ノード９０２〜９０８各々との間に存在すると判定される。図５及び図６と同じ方法で、各パス内の各ノードの第１のシステムＩＤは、トラフィックＩＤ１〜４と関連付けられ、各パス内の各ノードの第2のシステムＩＤは、トラフィックＩＤ５〜８と関連付けられる。重ねて、説明の明確化のために、ノードＡ９００及び受信側ノード９０２〜９０８各々についてのシステムＩＤは図示しない。トラフィックＩＤ１についてのパスを選択する際に、中間ノード９１０〜９１６各々の第１のシステムＩＤが、トラフィックＩＤ１に関連付けられる変換（例えば、マスク００００ｂ、図示せず）を使用して変換される。これにより、トラフィックＩＤ１についてのトラフィックはノードＷ９１０を通過することとなり、パスは、Ａ−Ｗ−Ｂ、Ａ−Ｗ−Ｃ、Ａ−Ｗ−Ｄ、及びＡ−Ｗ−Ｅであると判定される。同様に、トラフィックＩＤ６についてのパスの選択は、トラフィックＩＤ６に関連付けられる変換（例えば、マスク０００１ｂ、図示せず）を使用して、中間ノード９１０〜９１６についての第２のシステムＩＤのセットの変換を含む。これにより、トラフィックＩＤ６についてのトラフィックも、ノードＷ９１０を通過することとなり、パスは、Ａ−Ｗ−Ｂ、Ａ−Ｗ−Ｃ、Ａ−Ｗ−Ｄ、及びＡ−Ｗ−Ｅであると判定される。
【００７３】
図１０は、本発明の一実施形態に係る、障害後の図９の例示的なネットワーク上のマルチキャストトラフィックのための別の最短パスを示す。この図では、トラフィックＩＤ１及び６に影響する障害１０１８が、中間ノードＷ９１０と受信側ノードＢ９０２との間で発生する。このシナリオでは、ノードＢ９０２に向かうトラフィックＩＤ１及び６についてのトラフィックのみが影響を受け、ノードＣ９０４、ノードＤ９０６及びノードＥ９０８に向かうトラフィックＩＤ１及び６についてのトラフィックは、引き続きノードＷ９１０を通って転送１０２０されるであろう。トラフィックＩＤ１が変換としてマスク００００ｂを利用すると仮定すると、このマスクは、ノードＸ９１２、ノードＹ９１４及びノードＺ９１６の各々についての第１のシステムＩＤに対してＸＯＲされるであろう。結果的に、最も低い変換されたシステムＩＤは、ノードＸ９１２についての０００１ｂとなる。同様に、トラフィックＩＤ６がマスク０００１ｂを利用すると仮定すると、このマスクは、ノードＸ９１２、ノードＹ９１４及びノードＺ９１６の各第２のシステムＩＤに適用される。結果的に、最も低い変換されたシステムＩＤは、ノードＹ９１４についての０００１ｂとなる。その結果、ノードＡ９００からノードＢ９０２に向かうトラフィックＩＤ１についてのトラフィックは、Ａ−Ｘ−Ｂパスを通過し、ノードＡ９００からノードＢ９０２に向かうトラフィックＩＤ６についてのトラフィックは、Ａ−Ｘ−Ｃパスを通過する。
【００７４】
図面のフロー図は、本発明の所定の実施形態により実行される動作の特定の順序を示しているが、そのような順序は例示的なものである（例えば、代替的な実施形態は、異なる順序で動作を実行し、所定の動作を結合し、所定の動作を重複させる等してもよい）ことを理解すべきである。
【００７５】
本発明は、数個の実施形態の観点から記載されたが、当業者は、本発明が記載された実施形態に限定されないことを認識し、添付の特許請求の範囲の精神及び範囲内において修正及び変更して実施することができる。したがって、説明は、限定ではなく例示であるものと見なされるべきである。
【図１】
2015519795.tif 000003
【図２】
2015519795.tif 000004
【図３】
2015519795.tif 000005
【図４】
2015519795.tif 000006
【図５】
2015519795.tif 000007
【図６】
2015519795.tif 000008
【図７】
2015519795.tif 000009
【図８】
2015519795.tif 000010
【図９】
2015519795.tif 000011
【図１０】
2015519795.tif 000012
【国際調査報告】
2015519795.tif 000013
2015519795.tif 000014
2015519795.tif 000015