JP5362743B2 - 最短経路決定のタイブレイク - Google Patents

最短経路決定のタイブレイク Download PDF

Info

Publication number
JP5362743B2
JP5362743B2 JP2010540188A JP2010540188A JP5362743B2 JP 5362743 B2 JP5362743 B2 JP 5362743B2 JP 2010540188 A JP2010540188 A JP 2010540188A JP 2010540188 A JP2010540188 A JP 2010540188A JP 5362743 B2 JP5362743 B2 JP 5362743B2
Authority
JP
Japan
Prior art keywords
node
path
branch
identifier
identifiers
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010540188A
Other languages
English (en)
Other versions
JP2011508555A (ja
Inventor
チアバウト,ジェローム
アラン,デイヴィッド
ブラグ,ナイジェル
スミス,ピーター アッシュウッド
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nortel Networks Ltd
Original Assignee
Nortel Networks Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nortel Networks Ltd filed Critical Nortel Networks Ltd
Publication of JP2011508555A publication Critical patent/JP2011508555A/ja
Application granted granted Critical
Publication of JP5362743B2 publication Critical patent/JP5362743B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath

Description

本発明は、イーサネット・ネットワークのようなパケット転送通信ネットワークにおける等価最短経路のような複数の候補の中からの経路の一貫性のある選択に関する。
パケット転送通信ネットワークでは、ノードは、ネットワークのトポロジについて学習し、該トポロジから得た知識に基づきトラフィックを各他のネットワーク・ノードへどのようにルーティングするかを決定しうる。経路選択の主な根拠は経路コストである。経路コストは、ノード間のホップ数の観点から又はノード同士を接続するリンクの帯域幅のような特定の他のメトリック、又はこれらの両方により特定されうる。OSPF(Open Shortest Path First)及びIS−IS(Intermediate System-to-intermediate System)は、広く用いられているリンク状態プロトコルであり、各ノードの経路コストの広告(アドバタイズメント)に基づき最短経路を確立する。これらのプロトコルは、通常、複数の等価経路の間のタイブレイクを試みない。代わりに、これらのプロトコルは、通常、幾つかの等価経路に跨ってトラフィックを展開する。展開のアルゴリズムは、特定されず、ルータ毎に変わりうる。或いは、展開のアルゴリズムは、単一経路の局所的な選択を行うが、他のルータにより行われた選択との一貫性を考慮しない。従って、何れの場合にも、逆方向のフローが順方向で用いられた経路を用いると保証されない。
MOSPF(Multicast Open Shortest Path First)のようなマルチキャスト・ルーティング・プロトコルは、同一の最短経路ツリーを構成するネットワーク内の各ルータに依存する。このため、MOSPFは、リンクの種類、LAN対ポイント・ツー・ポイント、及びルータ識別子に基づくタイブレイク・スキームを実装し、同一のツリーが生成されることを保証する。しかしながら、最大識別子を有する親にタイブレイクの決定の基礎を置くことは、概して、逆方向フローに用いられる経路が順方向フローに用いられた経路と同一でないことを暗示する。
スパニング・ツリー・プロトコル(Spanning Tree Protocol:STP、Rapid Spanning Tree Protocol:RSTP、Multiple Spanning Tree Protocol:MSTP)は、任意のトポロジにおいてループのないスパニング・ツリーを作成する方法である。スパニング・ツリー・プロトコルは、ネットワーク内の各ノードにより実行される。全てのスパニング・ツリー・プロトコルは、(ブリッジ識別子、ポート識別子に基づき)局所的なタイブレイク決定を用い、等価経路間で選択を行う。スパニング・ツリーでは、最初にルート・ノードが選ばれ、次に全てのノードにより該ルートに関するツリーが構成される。従って、行き及び戻りのトラフィックについて全ての経路は対称であるが(本質的に、単純なツリーはこれを唯一の可能な構成とする)、選択処理は遅く、単純なツリー構造は如何なる冗長な容量も用いることができない。同様に、Radia Perlmanの提案するRbridgeは、親ノードの識別子をタイブレイカとして用いる。
Mick Seamanは、最短経路ブリッジをIEEE802.1ワーキング・グループに提案し(http://www.ieee802.org/l/files/public/docs2005/new-seaman-shortest-path-0305-02.pdf)、「カット・ベクトル」を追加することにより一貫したタイブレイク決定を実行する、RSTP(Rapid Spanning Tree Protocol)の簡易なプロトコル拡張について記載している。この提案は、ノード毎のVIDを用い、ノード毎にスパニング・ツリーを識別する。ブリッジにより送信される必要のある全ての情報を単一の適法なイーサネット・フレームに適合させるために、この技術は、現在の所、イーサネット・ネットワークの大きさを32個のブリッジに制限している。
図1は、平凡なネットワークの例でさえ親ノードの識別子に基づくタイブレイク方法が対照的な経路の生成にどのように障害するかを示す。本例では、リンクは等しいコストを有すると考えられ、従って経路コストの決定は単にホップ数を考慮する。最初に、AからBへの経路の計算を検討する。計算がノード2に達するとき、等価経路の存在が発見される。第1の経路(A−1−3−6)及び第2の経路(A−1−4−5)がある。タイブレイク・アルゴリズムは、最小識別子を有する親ノードに基づき経路を選択する場合、第2の経路(A−1−4−5)を選択するだろう。何故なら、ノード識別子5はノード識別子6よりも小さいからである。次に、BからAへの経路の計算を検討する。計算がノード1に達するとき、等価経路の存在が発見される。第1の経路(B−2−6−3)及び第2の経路(B−2−5−4)がある。同一のタイブレイク基準を用いると、タイブレイク・アルゴリズムは、第1の経路(B−2−6−3)を選択する。何故なら、ノード識別子3はノード識別子4よりも小さいからである。従って、ノードA及びBにより行われる最短経路計算は一貫性のない結果をもたらすことが分かる。
IEEE802.1aqに提案されたPLSB(Provider Link State Bridging)のような幾つかの新興のプロトコルには、ユニキャスト及び未知の/マルチキャスト・トラフィックの両方に対してネットワーク全体で一致した転送を維持し、及び順方向及び逆方向のフローの両方で共通経路を用いるという要件がある。従って、等価経路の間でタイブレイクが起こるとき、複数のノードが一貫して同一の決定に到達できることが重要である。更に、ノードは最小量の処理能力でタイブレイクを実行できることが望ましい。
本発明の第1の態様は、パケット転送ネットワークの第1のノードでパケットを転送するときに用いる転送情報を決定する方法を提供する。当該方法は:前記第1のノードと前記ネットワークの第2のノードとの間の最短経路を決定し、複数の最短経路が実質的に等価であるときを決定する。方法は、実質的に等価な経路毎に、該経路内にあるノードのセットを定めるノード識別子のセットを形成するし、該第1の順序付け基準を用いてノード識別子の各セットを順序付け、経路識別子を形成する。第1の順序付け基準はノード識別子が前記経路内に現れる順序とは独立である。方法は、前記経路識別子を比較することにより、複数の等価経路の間で選択する。ネットワークの各ノードはユニークなノード識別子を有する。
有利なことに、第1の順序付け基準は昇順の辞書式順序又は降順の辞書式順序であるが、全体的に順序付けられたノード識別子のセットを生成する如何なる順序付け基準も用いられうる。
望ましくは、方法は、第2の順序付け基準を用いて、複数の経路識別子を順序付きリストに順序付ける段階;を更に有する。同様に、第2の順序付け基準は昇順の辞書式順序、降順の辞書式順序、又は全体的に順序付けられた経路識別子のセットを生成する如何なる順序付け基準であってもよい。
本発明の別の態様は、パケット転送ネットワークの第1のノードでパケットを転送するときに用いる転送情報を決定する方法を提供する。方法は、最短経路ツリーを繰り返し形成することにより、前記第1のノードと前記ネットワークの第2のノードとの間の最短経路を決定する段階;前記最短経路ツリーを形成する間、複数の経路が等価であるときを決定する段階;を有する。各等価経路は、複数の等価経路に共通の分岐ノードから分岐するブランチを有する。方法は、各分岐するブランチで、第1の選択基準を用いてノード識別子を識別し、ブランチ識別子を形成し、前記ブランチ識別子を比較することにより、複数のブランチの間で選択する。
有利なことに、方法は、辞書式順序のような全体的な順序付け基準を用い、各ブランチのノード識別子を比較し選択する。
有利なことに、方法は、前記分岐ノードへ引き返す間に、前記各分岐ブランチ内の第1の選択基準を満たすノード識別子を記録する。これは、計算を更に簡単にし、記憶要件を低減するので有利である。
本発明の2つの態様は、異なる第1の順序付け/選択基準及び共通の第2の順序付け/選択基準を用いること、又は共通の第1の順序付け/選択基準及び異なる第2の選順序付け/択基準を用いることにより2つの等価経路を選択するために用いられてよい。3又は4個の等価経路は、第1及び第2の順序付け/選択基準を複数のノードで一貫して適用し、順序付きリスト内の特定の位置で識別子を選択することにより、同様の方法で選択されてよい。
本発明は、タイブレイカとして用いられ、複数のエンド・ツー・エンド経路のそれぞれに対して順序付けられたノード識別子のセットを比較することにより、等価経路間で選択する。或いは、選択の決定が行われる必要のある場所で局所的に、ツリーの分岐するブランチのノード識別子を用いて等価経路の選択が行われることにより、最短経路ツリーが構成されるので、オンザフライで同一の結果が達成されうることが分かっている。これは、計算量を低減し、格納される必要のあるデータ量を低減するので有利である。ブランチは対に基づき比較され、計算量を更に低減する。これは、ネットワークの規模及び複雑性が増大するとき、特に重要である。本発明の2つの変形は、ネットワーク内のどこで最短経路が計算されるかに拘わらず、等価経路の一貫した選択を可能にするという重要な特性を有する。これは、任意の2個のノード間のトラフィック・フローが、順方向及び逆方向の両方向で、ネットワークを通じて常に同一経路に従うことを保証する。
本発明は、最短経路を決定する如何なる特定の方法にも限定されるものではない。ダイクストラのアルゴリズム、フロイドのアルゴリズム、又は如何なる他の適切な代替が用いられてもよい。
本発明は、正確に同一の値を有する等価経路間、又はリンク・メトリック又はホップ数の観点から互いに所望のオフセットの範囲内にある経路間のタイブレイカとして用いられてよい。これは、現実世界では、適確な経路のセット間で多様性を増すので望ましい。例えば、一般的に、任意の2つの終端点の間で正確に等価であることを義務づけて、対照的にノード及びリンクを展開することは常にコスト効率が良いとは限らない。異なる経路のホップ数が互いに1ホップの範囲内にある必要があることまで制約を緩和することにより、適度な非対称が依然として適確な経路を生じ、及びループ経路を達成するためには最低限2ホップの差が必要なので、ループのないトポロジが依然として保証されうる。
理解されるべき点は、用語「最短経路」が距離のみに基づく経路の決定に限定されないこと、リンクの「コスト」を特定するために用いられうる如何なるメトリック又はメトリックの組み合わせも包含することである。メトリックの非網羅的リストは、距離、ホップ数、容量、速度、使用量、可用性である。
方法は、等価最短経路の選択が、障害ノード又はリンクのような選択された経路上にあるネットワークの部分の除去により影響を受けないという点で安定している。
有利なことに、ネットワークはイーサネット・ネットワークであるが、本発明は特に対照的なトラフィック・ルーティング経路という要件を有するような他の種類のパケット転送ネットワークにも適用可能である。
本願明細書に記載された機能は、ソフトウェア、ハードウェア、又はそれらの組み合わせで実施されてもよい。本発明は、適切なプログラムされたコンピュータ又は如何なる形式の処理装置によって実施されてもよい。従って、本発明の別の態様は、上述の何れかの方法を実施するソフトウェアを提供する。ソフトウェアは、電子記憶装置、ハード・ディスク、光ディスク又は他の機械可読記憶媒体に格納されてもよい。ソフトウェアは、機械可読記憶媒体に格納されたコンピュータ・プログラムとして分配されてもよく、又はネットワーク接続を介してノードにダウンロードされてもよい。
本発明の更なる態様は、上述の任意の方法を実行するようにされるプロセッサを有するネットワーク・ノードを提供する。
本発明の更なる態様は、それぞれ上述の方法を一貫して適用し等価経路の間で選択するノードのネットワークを提供する。
本発明の実施形態は、例として以下の図を参照し詳細に説明される。
等価経路を有するネットワーク・トポロジを示す。 本発明が実施されうるパケット転送ネットワークの例を示す。 図2のブリッジ・ノードの1つの装置の概略を示す。 タイブレイク決定の局所性を示す。 最短経路の計算を説明する例であるネットワーク・トポロジを示す。 最短経路の計算を説明する例であるネットワーク・トポロジを示す。 最短経路の計算を説明する例であるネットワーク・トポロジを示す。 最短経路の計算を説明する更なる例であるネットワーク・トポロジを示す。 図8に示したネットワーク・トポロジの最短経路計算のタイブレイクを行う段階を示す。 図8に示したネットワーク・トポロジの最短経路計算のタイブレイクを行う段階を示す。 図8に示したネットワーク・トポロジの最短経路計算のタイブレイクを行う段階を示す。 メッシュ型ネットワークに二重に収容されたノードの例を示す。 本発明のタイブレイク方法の特性を説明する。 本発明のタイブレイク方法の特性を説明する。
図2は、本発明が実施されうるリンク状態プロトコルにより制御されるイーサネット・ネットワーク10の例を示す。図3は、ノード41−48のうちの1つの装置の概略を示す。メッシュ型ネットワークを形成するノード(ブリッジ又はブリッジ・ノードとも称される)41−48は、リンク状態広告56を互いに交換する。これは、良く理解されているリンク状態ルーティング・システムの仕組みにより達成される。ルーティング・システム・モジュール51は、リンク状態転送プロトコルを用いて、ネットワーク・トポロジに関する情報56をネットワーク内のピア・ノードと交換する。この情報交換により、ノードは、ネットワーク・トポロジの同期された展望図を生成できる。各ノードで、最短経路決定モジュール52は、各他のノードへの最短経路を決定する最短経路ツリーを計算する。モジュール52により決定された最短経路は、ネットワークを通じてトラフィックを方向付けるために、転送情報ベース(Forwarding Information Base:FIB)にエントリを投入するために用いられる。以下に更に詳細に記載されるように、モジュール52が複数の等価経路に層遇するとき、状況が生じる。タイブレイク・モジュール53は、一貫性のある方法で等価経路のうちの1つ(又は複数)を選択する。通常動作では、パケットはノードで受信され57、宛先検索モジュール55はFIB54を用いて受信したパケットが転送58されるべきポート(又はマルチキャスト配信の場合には複数のポート)を決定する。FIB54内に有効なエントリがない場合、パケットは廃棄されてもよい。理解されるべき点は、図3に示されるモジュールが単に説明を目的としており、当業者により理解されるようにノードの複数のモジュール間の機能を結合又は分散することにより実施されてもよいことである。
種々の最短経路アルゴリズムが、所与のノードが所与のブリッジ対の間の最短経路上にあるかどうかを決定するために用いられてもよい。ノード対の間の最短経路を計算するために、Floydのアルゴリズム(R.Floyd:Algorithm 97(最短経路)、Communications of the ACM、7:345、1962)又はDijkstraの単一始点最短経路アルゴリズム(E.W.Dijkstra:A note on two problems in connexion with graphs、Numerical Mathematics、1:269-271、1959)のような全ての対の最短経路アルゴリズムがノード41−48内で実施されてもよい。
理解されるべき点は、如何なる適切な最短経路アルゴリズムも利用されてよいことである。最短経路アルゴリズムにより用いられるリンク・メトリックは、トラフィック工学情報を考慮するために静的又は動的に変更されてもよい。例えば、リンク・メトリックは、容量、速度、使用量及び可用性のようなコストの指標を有してもよい。
課題の前置きとして、先ず、等価経路の間の一貫性のある決定を行いうるタイブレイク・アルゴリズムの要件を説明する。以下の表1に要件の一覧を示す。
Figure 0005362743
タイブレイク・アルゴリズムの真髄は、常に「動作する」ことである。アルゴリズムは、どの経路セットを提示されるかに拘わらず、常に1つの且つ唯一の経路を選択できなければならない。従って、最初に最も重要なことは、タイブレイク・アルゴリズムが完成されたものであることである(1)。
一貫性のあるタイブレイクのために、アルゴリズムは、等価経路が発見されタイブレイクが実行される順序に拘わらず、同一の結果を生成しなければならない。つまり、タイブレイク・アルゴリズムは、交換可能であり(2)及び連想可能(associative)(3)でなければならない。経路対が考慮される順序に拘わらず、3個の経路の間のタイブレイクが同一の結果を生成しなければならないという要件(3)は、明白ではないが、等価経路がネットワークを通じた計算方向に依存して異なる順序で発見されるときに一貫性のある結果のために不可欠である。タイブレイク・アルゴリズムは対称でなければならない(4)。つまり、タイブレイク・アルゴリズムは、経路の方向に拘わらず同一の結果を生成しなければならない。2個のノードA及びBの間の最短経路は、BとAとの間の最短経路の逆でなければならない。最後に、局所性は、ルーティング・システムにより利用される最短経路の非常に重要な特性である(5)。局所性の特性は、単に、最短経路のサブ経路も最短経路であることを意味する。最短経路のこの一見して些細な特性は、宛先に基づく転送を用いるパケット・ネットワークで重要な用途を有する。これらのネットワークでは、経路に沿った中間ノードにおける転送決定は、パケットの送信元アドレスではなく、単にパケットの宛先アドレスに基づく。従って、ノードの転送情報を生成するために、ノードは、単に自身から全ての他のノードへの最短経路を計算するだけでよく、生成された転送情報の量は、ネットワーク内のノード数に関して、二次関数的にではなく線形的に増大する。従って、宛先に基づく転送を可能にするために、タイブレイク・アルゴリズムは、最短経路の局所的特性を維持しなければならない。タイブレイク・アルゴリズムにより選択された最短経路のサブ経路は、タイブレイク・アルゴリズムにより選択された最短経路でなければならない。
計算効率の検討は、別の一見したところ異なる要件をタイブレイク・アルゴリズムに課す。アルゴリズムは、等価経路が発見されると直ぐにタイブレイクの決定を行えるべきである。図4は、この点を図示する。中間ノードIは、2つの等価経路p及びqによりノードAに、及び別の等価経路の対r及びsによりノードBに接続される。従って、ノードA及びBの間に4個の等価経路p+r、p+s、q+r、q+sがあり、全ての経路がノードIを通過する。AからBまでの最短経路の計算が進むと、ノードAとIとの間の等価サブ経路の存在が先ず発見されるだろう。これらの2個の経路の知識を繰り返す必要を回避するために、タイブレイク・アルゴリズムは、第2の等価最短サブ経路が発見されると直ぐに、これらの経路の間で選択可能であるべきである。中間ノードで行われたタイブレイクの決定は、計算の結果に最終的に影響を及ぼす。ノードA及びIの間の2個のサブ経路p及びqのうちの1個を削除することにより、アルゴリズムは、ノードA及びBの間の4個の最短経路のうちの2個を更なる検討から除外する。同様に、逆方向では、タイブレイク・アルゴリズムは、最終決定を行う前にサブ経路r及びsの間で選択する。これらの局所的決定は、互いに一貫していなければならない。特に、経路が同様に延長されるべきである場合には、2個の等価経路間の選択は同一であるべきである。例えば、図3に示された場合には、タイブレイク・アルゴリズムは、次の4個の同一性を検証すべきである。
tiebreak(concat(p,r),concat(q,r))=concat(tiebreak(p,q),r)、
tiebreak(concat(p,s),concat(q,s))=concat(tiebreak(p,q),s)、
concat(p,tiebreak(r,s))=tiebreak(concat(p,r),concat(p,s))、
concat(q,tiebreak(r,s))=tiebreak(concat(q,r),concat(q,s))
対称性(4)及び局所性(5)の条件は、タイブレイク・アルゴリズムが一貫した局所的決定を行うこと、等価最短経路が存在する場合に単一始点最短経路アルゴリズムの非常に効率的実施を実現するために利用され得るという事実、を保証するために、共に必要十分であることが分かる。
表1に示された要件の一覧は網羅的であることを目的としていないので、表1に含まれうる他の最短経路の特性も存在する。例えば、最短経路の一部でないリンクがグラフから除去される場合、最短経路は影響を受けない。同様に、タイブレイク・アルゴリズムの複数の等価経路間の選択は、選択された経路の一部でないリンクがグラフから除去された場合に、及び該リンクがアルゴリズムにより拒否された幾つかの等価経路の一部である場合でも、影響を受けるべきではない。
一貫性のあるタイブレイク・アルゴリズムの第1の実施形態を以下に説明する。本アルゴリズムは、経路毎に経路識別子を形成することにより開始する。経路識別子は、ネットワークを通る経路により通過される各ノードの識別子の順序付きリストである。ノード識別子は、辞書式順序でソートされる。経路識別子は、結果として生じる順序付きノード識別子の連結である。図5は、終端ノードA、B及び中間ノード0−9を有する例であるネットワークを示す。ノードA及びBの間の(図5の上側に沿った)第1の経路は、ノード識別子A−0−5−6−1−4−8−Bを有するノードを通過する。ノード識別子のリストを昇順の辞書式順序で順序付けた後、経路は経路識別子014568ABにより表すことができる。この構成は、経路及びその逆が同一の経路識別子を有することを保証する。更に、アルゴリズムは最短経路のみ又はほぼ最短経路のみを扱うので、2個の経路−直接経路及び対応する逆経路−は1個の識別子を共有しうる。最後に、タイブレイク・アルゴリズムは、最小(又は最大)経路識別子を有する経路を単に選択する。アルゴリズムは次のように要約できる。
(1)第1の順序付け基準に従い、経路内のノードの識別子のセットをソートする。これは、ノード識別子のセットの順序付けを達成する。好適な第1の順序付け基準は、昇順又は降順の辞書式順序である。
(2)順序付けられたノード識別子のセットを連結し、経路識別子を生成する。
(3)第2の順序付け基準に従い、経路識別子のセットをソートする。これは、経路識別子のセットの順序付けを達成する。好適な第2の順序付け基準は、昇順又は降順の辞書式順序である。
(4)経路識別子がソートされた経路識別子のセットの一端(最初又は最後)に現れる経路を選択する。有利なことに、この段階は、順序付けられた経路識別子のセット内の最初に現れる経路識別子を選択する。
本アルゴリズムを実行するネットワーク内の各ノードは、同一の経路を選択するために、一貫して同一の順序付け基準を使用し、経路識別子のセット内の同一の合意のとれた位置にある経路を選択する。
用語「辞書式順序」は、ノード識別子のセットが識別子の大きさの順に整列されることを意味する。従って、ノード識別子がアルファベットである場合は、ノード識別子のセットはアルファベット順、A、B、C、D、...等に整列され、ノード識別子が数字である場合は、ノード識別子のセットは番号順に整列される。明らかに、本方式は、如何なる方法でラベル付けされたノード、及び識別子の種類の如何なる組み合わせにも適合する。例えば、数字と文字の混合は、文字に対する数字の順序(例えば、最初に数字を次に文字を順序付ける)を合意することにより順序付けできる。或いは、各文字は、該文字の情報交換用米国標準コード(American Standard Code for Information Interchange:ASCII)で与えられてよく、及びASCIIコードは昇順(又は降順)にソートされてよい。各ノードは、同一の約束事を使用して、同一の方法で経路のノード識別子を順序付ける。(厳密には経路とその逆経路とを有する対の間の)経路と該経路の識別子との間に1対1マッピングが存在し、経路識別子の順序付けが存在するので、本アルゴリズムは一貫した結果を生成する。
図5に戻ると、順序付けの後、ノードA及びBの間の上側の経路は経路識別子014568ABにより表される。同様に、ノードA及びBの間の第2の経路はノードA−0−7−9−1−4−8−Bを通過し、順序付けの後、経路識別子014789ABにより表すことができる。最後に、ノードA及びBの間の(図5の下側に沿った)第3の経路はノードA−0−7−9−2−3−8−Bを通過し、順序付けの後、経路識別子023789ABにより表すことができる。タイブレイク・アルゴリズムは、順序付けされた経路識別子の各要素を合意した方向で比較する。本例では、使用される約束事は、経路識別子が特定の方向に(例えば左から右へ)比較されるとき、各ノードが順序付けされた経路識別子のうち最も低いものを選択することである。3個の等価経路の場合に、順序付けされた経路識別子は次の通りである。
014568AB
014789AB
023789AB
識別子の左側の要素から開始すると、全ての3個の経路識別子は「0」で始まる。次の要素は「1」又は「2」なので、上2個の識別子だけが更に検討を必要とする。4番目の要素に到達すると、「0145...」は「0147...」よりも小さいので、一番上の経路が選択される。IS−IS及びイーサネット(登録商標)における実際のノード識別子は、6個の8ビットのバイトを有し、通常は00−e0−7b−c1−a8−c2のような16進数の文字列で表記される。一貫して使用される場合、ノードのニックネームが用いられてもよい。
図6は、別の順序付け基準の効果を示す単純なネットワーク・トポロジを示す。2個のノードX、Yは、ノード識別子1−8を有する4個の等価経路により接続される。以下に4個の可能な選択肢を説明する。
−ノードIDを昇順によりソートし、経路IDを昇順によりソートし、最初の(最も小さい)経路IDを選択する。各経路内のノード識別子が大きさの昇順で順序付けされる場合(例えば、ノード1、7を有する一番上の経路は17になる)、経路識別子17、28、35、46を得る。これらの経路識別子を大きさの昇順で整列し、順序付きリスト内の最初の経路識別子を選択すると、ノード1及び7を有する最初の(一番上の)経路を選択する結果となる。
−ノードIDを昇順によりソートし、経路IDを昇順によりソートし、最後の(最も大きい)経路IDを選択する。この選択肢は、ノード4及び6を有する最後の(一番下の)経路を選択する結果となる。
−ノードIDを降順によりソートし、経路IDを昇順によりソートし、最初の(最も小さい)経路IDを選択する。各経路内のノード識別子を大きさの降順でソートすると、経路識別子(71、82、53、64)を得る。これらの経路識別子を大きさの昇順で整列し(53、64、71、82)、順序付きリスト内の最初の(最も小さい)経路識別子を選択すると、ノード3及び5を有する3番目の経路を選択する結果となる。
−ノードIDを降順によりソートし、経路IDを昇順によりソートし、最後の(最も大きい)経路IDを選択する。この選択肢は、ノード8及び2を有する2番目の経路を選択する結果となる。
以下に更に詳細に記載されるように、ノードが複数の異なる順序付け及び/又は選択基準を適用して複数の等価経路を選択することが望ましい状況がある。
これまでは本願明細書は、アルゴリズムが局所的でないこと、タイブレイクが全ての等価経路が見付かった後に実行されることを想定していた。しかしながら、枝分かれするブランチにあるノードのみを考慮することにより、本アルゴリズムの局所的バージョンが同一の結果を生成しうることが分かっている。実際に、タイブレイクの結果は、枝分かれするブランチ内の最小ノード識別子の相対的位置にのみ依存する。一貫性のあるタイブレイク・アルゴリズムの第2の実施形態は次のように要約できる。
(1)第1の選択基準を満たす第1の経路の枝分かれするブランチ内のノード識別子を見付ける。これは、第1の経路のブランチ識別子とみなされる。
(2)第1の選択基準を満たす第2の経路の枝分かれするブランチ内のノード識別子を見付ける。これは、第2の経路のブランチ識別子とみなされる。
(3)第2の選択基準を用いて複数の経路の内の1つを選択する。これは、段階(1)及び(2)により選択されたブランチ識別子に対して行われる。
第1の選択基準の好適な選択肢は、辞書式順序(昇順又は降順の辞書式順序)のような順序付け方式を用いてノード識別子が整列されるとき、最初の(又は最後の)ノード識別子を見付けることである。以下に説明されるように、本方式がブランチ内のノード識別子のセット全体に適合して該セットを順序付ける必要はない。実際に、本方式は、辞書式順序を意識してノード識別子の対を繰り返し比較できる。同様に、第2の選択基準の好適な選択肢は、辞書式順序(昇順又は降順の辞書式順序)のような順序付け方式を用いてブランチ識別子が整列されるとき、最初の(又は最後の)ブランチ識別子を見付けることである。
図6を再び参照すると、ノードX及びYの間の4個の等価経路は、親ノードXから枝分かれする4個の等価なブランチを表しうる。タイブレイク・アルゴリズムは、4個のブランチのうちの1つを選択する必要がある。次の4個の可能な選択肢がある。
−各ブランチの最小ノードIDを識別する。この結果はブランチ識別子として(1、2、3、4)である。次に、ブランチ識別子のうち最小のものを識別する。これは、ノード1及び7を有する最初の(一番上の)経路を選択する結果となる。
−各ブランチの最小ノードIDを識別する。次に、ブランチ識別子のうち最大のものを識別する。この選択肢は、ノード4及び6を有する最後の(一番下の)経路を選択する結果となる。
−各ブランチの最大ノードIDを識別する。この結果はブランチ識別子として(5、6、7、8)である。次に、ブランチ識別子のうち最小のものを識別する。これは、ノード3及び5を有する経路を選択する結果となる。
−各ブランチの最大ノードIDを識別する。次に、ブランチ識別子のうち最大のものを識別する。この選択肢は、ノード2及び8を有する経路を選択する結果となる。
以下に更に詳細に記載されるように、ノードが複数の異なる順序付け及び/又は選択基準を適用して複数の等価経路を選択することが望ましい状況がある。
本アルゴリズムは非常に簡単に且つ簡単な比較で効率的に実施することができる。図7は、別のネットワーク・トポロジを示す。方法の局所的バージョンは、ノード13で開始し、ノード15から通じる2つの枝分かれするブランチの発見へと進む。方法は、2個の別個の経路をノード16の所まで探索する。ノード16で2個の経路は再び合流する。この点で、方法は、2個のブランチのそれぞれについてノード識別子を調べる。第1のブランチではノード識別子は10、14、17、21であり、第2のブランチではノード識別子は11、12、19、20である。最も低い識別子(10)を有するブランチは上側の経路の一部である。方法は、ノード16からノード15へ向かって単純に同じ道を引き返し、各ブランチで見付かった最小ノード識別子を追跡する。各逆行段階で、方法は、それまでに見付かった最小ノード識別子を、該段階で遭遇した新たなノード識別子と比較する。最小ノード識別子は格納される。方法がノード15まで同じ道を引き返すとき、2個の最低値(上側のブランチの10、下側のブランチの11)は、最小ノード識別子を有するブランチを見付けるために、単純に互いに比較される。これにより、上側の経路の一部を形成する上側のブランチが選択される。このタイブレイクを実行するとき、枝分かれするブランチの両方に共通の経路の一部は、無視される。ネットワーク内の最短経路を発見する最も一般的なアルゴリズムの1つは、ダイクストラ(Dijkstra)のアルゴリズムである(Dijkstra59)。
このアルゴリズムは、経路長が正のホップ・バイ・ホップのリンク・コストの和として定められるとき、グラフ内の一点(始点又はルート・ノード)から全ての可能な終点への最短経路を見付ける問題を解決する。この問題は、屡々、単一始点最短経路問題と称される。グラフではG=(N,L)であり、ここでNはノードのセットであり、Lは該ノードを接続するリンクのセットである。ダイクストラのアルゴリズムは、一般にTENTと称される優先待ち行列を用い、始点ノードからの距離の昇順でノードを訪ねる。ダイクストラのアルゴリズムを実施するために必要な他のデータ構造を以下に示す。
距離:始点ノードから各ノードへの最短距離の最良推定の配列である。
親:各ノードの先行ノードの配列である。
以下の記載は、知られているダイクストラのアルゴリズムを説明し、複数の等価経路が発見されたときにタイブレイクを実行するためにどのように変更されうるかを説明する。ダイクストラのアルゴリズムは、最も一般的に用いられている最短経路発見アルゴリズムの1つなのでここで説明される。しかしながら、他のアルゴリズムが同様に用いられうることが理解されるだろう。
初期化段階は、始点ノード自体を除いて、各ノードの距離を無限大に設定する。始点ノードはツリーのルートなので、始点ノードの距離はゼロに設定され、始点ノードの親はヌルに設定される。計算の開始時に、優先待ち行列は始点ノードのみを有する。アルゴリズムが進行すると、始点ノードからノードへの経路が見付かったとき、該ノードは優先待ち行列に追加される。ノードと始点ノードとの間の最短経路が見付かった後に、該ノードは、始点ノードからの距離の昇順で優先待ち行列から取り出される。始点ノードから到達可能な全てのノードが優先待ち行列を通して循環されたとき、アルゴリズムは終了する。優先待ち行列TENTが空でないとき、アルゴリズムは以下の段階を実行する。
(1)TENT内の、始点ノードに最も近いノードを見付け、除去する。
(2)Nに接続される各ノードについて、ノードの始点ノードまでの距離がNを該ノードの親にすることにより短縮されうる場合には、ノードの親をNに変更し、ノードの距離を新たな距離に設定し、そしてTENTにノードを追加する。アルゴリズムが完了すると、距離(ノード)は、始点ノードからノードまでの最短距離(又はノードが始点ノードから到達可能でない場合には無限大)を有し、親(ノード)は、スパニング・ツリー内の該ノードに先行するノードを有する(始点ノード及び始点ノードから到達可能でないノードを除く)。親の変更がノードの距離を実際に短縮する場合のみ、ノードの親は更新される。これは、複数の等価最短経路が始点ノードと特定の他のノードとの間に存在する場合に、アルゴリズムの実行注に最初に遭遇したもののみが検討されることを意味する。
上述の段階は、ダイクストラのアルゴリズムの従来の段階である。この点で、ダイクストラは一貫性のあるタイブレイク段階を追加するよう変更される。上述の段階2は、次のように変更される。
(2)ノードNに接続される各ノードについて、以下を行う。
(2a)始点までのノードの距離がNを該ノードの親にすることにより短縮されうる場合には、ノードの親をNに変更し、ノードの距離を新たな距離に設定し、そしてTENTに該ノードを追加する。
(2b)ノードの始点ノードまでの距離がNを該ノードの親にした後も同一のままである場合には、タイブレイク・アルゴリズムを呼び出し、ノードの親が変更されるべきかどうかを決定する。
タイブレイク・アルゴリズムは、2つの枝分かれするブランチの合流点に到達したときに呼び出される。例えば、図7に示されるトポロジを検討すると、ダイクストラのアルゴリズムがノード13から開始した場合、ノード15から通じる枝分かれするブランチ(ノード10、14、17、21を有する上側のブランチ及びノード11、12、19、20を有する下側のブランチ)が発見され、これらの枝分かれするブランチはノード16で合流する。
ノード16で、2つのブランチ間で選択するためにタイブレイク・アルゴリズムが呼び出される。
以下の擬似コードは、TENTセットの優先待ち行列の実施を用いて、一貫性のあるタイブレイクを有する変更されたダイクストラのアルゴリズムの実施を示す。エンキュー(Enqueue)処理は2個の引数、待ち行列(キュー)とノードを取り、ノードの始点ノードからの距離に従い、該ノードを待ち行列の正しい位置に置く。デキュー(Dequeue)処理は、待ち行列の先頭にあるノード、つまり始点ノードからの最短距離を有するノードを待ち行列から除去する。
Figure 0005362743
タイブレイク・アルゴリズムは、現在の親及び新たな親の候補からそれぞれ開始して、分岐点までずっと、2個の等価経路を逆に辿ることにより、動作する。2個の分岐経路が異なるホップ数を有しうるという事実は、2個の経路は未知の等しくないホップ数により逆に辿られなければならないので、若干、事を複雑にする。この問題は、2個の経路のうちの長い方を常に最初に又は2個の経路が等価な場合には両方を同時に逆に辿ることにより、解決できる。或いは、この課題は、2個の経路が同一のホップ数を有する場合、及びその場合のみ、2個の経路が等価であると考えられることを保証することにより、完全に除去できる。これは、経路コストにホップ数を取り入れることにより、又はホップ数を1次のタイブレイカとして用いることにより、簡単に達成される。
以下の擬似コードは、2個の経路が同一のホップ数(従ってそれら経路の分岐するブランチも同一である)を有すると仮定したタイブレイク・アルゴリズムの実施を示す。
タイブレイク関数は、2個の等しい経路の端にある2個のノードを取り込み、そのうちの1つを返して、該関数が2個の経路のうちのどちらを選択したかを示す。
Figure 0005362743
アルゴリズムが実行されるべき頻度は用途に依存する。PLSBは、基本的に全ての対の最短経路(屡々、それらのサブセット)を計算する必要がある。この場合、ダイクストラのアルゴリズムは、ネットワーク内の全てのノード(正確には1つを除いて全部)に対して実行される必要がある。フロイドのアルゴリズムは、全ての対の最短経路を計算するので、1回だけ実行される必要がある。他の用途は、より少ない数の経路の計算しか要求しない(例えば、1つの最短経路のみが必要な場合は、ダイクストラのアルゴリズムは該経路の終端点の1つを始点として1回だけ実行されればよい)。
図8は、リンクにより相互接続されたノードA−H、Jのネットワークの例を示す。各リンクには、該リンクに関連付けられたメトリックが、該リンク上に整数値として示される。本ネットワークにはノードA及びBの間に6個の異なる等価な最短経路が存在する。これらの最短経路は、その対応する長さ及び経路識別子と共に以下の表に示される。
Figure 0005362743
これら6個の経路の全ては同一の長さ10を有する。タイブレイク・アルゴリズムの非局所的バージョンは、最小経路識別子(ABCFH)、つまり経路AFCHBを有する経路を選択する。この章の残りの部分は、タイブレイク・アルゴリズムの局所的バージョンが、等価経路として局所的なタイブレイク決定を行うことにより、どのように同一の結果に到達するか、及びダイクストラのアルゴリズムの実行中にサブ経路がどのように発見されるかを示す。
ダイクストラのアルゴリズムは、ネットワーク内のノードの距離及び親(又は先行するノード)の表を初期化する。距離がゼロに設定される始点ノードを除いて、全ての距離は最初に無限大に設定される。この段階では親は不定である。
Figure 0005362743
ダイクストラのアルゴリズムは、優先待ち行列も初期化して、始点ノードAのみを有するようにする。
TENT=[(A,O)]
ダイクストラ・ループの最初の反復で、TENT内の最初の且つノードのみ、ノードAを選択する。
次に、ノードAの各近隣ノード、つまりノードF及びGについて、それらの始点までの距離を更新し、ノードAをそれらの親にする。最後に、これらの2個のノードはTENT優先待ち行列に追加される。
このダイクストラのアルゴリズムの最初の反復中に、距離と親の表は次のようになる。
Figure 0005362743
この最初の反復の終了時に、優先待ち行列は次の通りである。
TENT=[(G,1),(F,2)]
ダイクストラ・ループの2回目の反復で、最小距離を有するノード、つまりノードGが優先待ち行列から除去される。この反復で、未だ処理されていないGの2個の近隣、つまりノードC及びDが更新され、これらのノードは優先待ち行列に追加される。
Figure 0005362743
この2回目の反復の終了時に、優先待ち行列は次の通りである。
TENT=[(F,2),(D,4),(C,5)]
ダイクストラ・ループの3回目の反復では、ノードFが優先待ち行列から除去される。この反復では、ノードFの2個の近隣、つまりノードC及びEが更新され、ノードEが優先待ち行列に追加される(ノードCは既に存在する)。ノードCの距離は変化しないが、ノードFを通過するノードA及びノードCとの間の等価経路の新たな候補が存在する。
従って、タイブレイク・アルゴリズムは、ノードFを通過するこの新たな経路とノードGを通過する古い経路との間で選択するために呼び出されなければならい。これは図9に示される。タイブレイク・アルゴリズムは、ノードCの親の新たな候補であるノードF、及びノードCの古い親であるノードGと共に呼び出される。oldMinは古い親の識別子Gに設定され、newMinは新たな親の識別子Fに設定される。ノードF及びGは同一の親(ノードA)を共有するので、タイブレイク・ループは実行されない。タイブレイクはoldMinとnewMinを単に比較し、newMin=F<G=oldMinなので、ノードFがノードCの新たな親として選択される。
Figure 0005362743
この3回目の反復の終了時に、優先待ち行列は次の通りである。
TENT=[(D,4),(E,4),(C,5)]
ダイクストラ・ループの4回目の反復で、距離4を有するノードうちの1つ、例えばノードDが優先待ち行列から除去される。Dの2個の近隣うちの1個のみ、ノードHは更新され、優先待ち行列に追加される。
Figure 0005362743
この4回目の反復の終了時に、優先待ち行列は次の通りである。
TENT=[(E,4),(C,5),(H,6)]
ダイクストラ・ループの5回目の反復では、ノードEが優先待ち行列から除去される。Eの2個の近隣うちの1個のみ、ノードJは更新され、優先待ち行列に追加される。
Figure 0005362743
この5回目の反復の終了時に、優先待ち行列は次の通りである。
TENT=[(C,5),(H,6),(J,6)]
ダイクストラ・ループの6回目の反復では、ノードCが優先待ち行列から除去される。Cの2個の近隣、ノードJ及びHは、ノードCを通過するノードAまでの等価経路を有する。従って、タイブレイク・アルゴリズムは、ノードJ及びHのそれぞれに対して2回呼び出されなければならない。
ノードJでは、タイブレイク・アルゴリズムは、新たな可能性のある親であるノードC、及び古い親であるノードEと共に呼び出される。oldMinは古い親の識別子Eに設定され、newMinは新たな親の識別子Cに設定される。これら2個のノードE及びCは同一の親(ノードF)を共有するので、タイブレイク・ループは実行されない。タイブレイクはoldMinとnewMinを単に比較し、newMin=C<E=oldMinなので、新たな親が選択される。従って、ノードJの親は、ノードCにより置き換えられる。これは図10に示される。
ノードHでは、タイブレイク・アルゴリズムは、新たな可能性のある親であるノードC、及び古い親であるノードDと共に呼び出される。oldMinは古い親の識別子Dに設定され、newMinは新たな親の識別子Cに設定される。これら2個のノードは異なる親を有するので、両経路は更に1ホップ引き返さなければならない。Dの親はGであり、G>oldMin(=D)なので、oldMinは変わらない。Cの親はFであり、F>newMin(=C)なので、newMinも変わらない。ノードF及びGは同一の親、ノードAを共有するので、引き返しループは停止する。次にタイブレイク・アルゴリズムはoldMinとnewMinを単に比較し、newMin=C<D=oldMinなので、ノードCがノードHの新たな親になるよう選択される。これは図11に示される。
Figure 0005362743
この6回目の反復の終了時に、優先待ち行列は次の通りである。
TENT=[(H,6),(J,6)]
ダイクストラ・ループの7回目の反復で、距離6を有するノードうちの1つ、例えばノードHが優先待ち行列から除去される。Hの近隣うちの1個のみ、ノードBは更新され、優先待ち行列に追加される。
Figure 0005362743
この7回目の反復の終了時に、優先待ち行列は次の通りである。
TENT=[(J,6),(B,10)]
ダイクストラ・ループの8回目の反復では、ノードJが優先待ち行列から除去される。Jの近隣のうちノードBのみが更新される必要がある。ノードBの距離は変化しないが、ノードJを通過するノードA及びノードCの間の等価経路の新たな候補が存在する。タイブレイク・アルゴリズムは、ノードBの新たな可能性のある親であるノードJ、及び古い親であるノードHと共に呼び出される。oldMinは古い親の識別子Hに設定され、newMinは新たな親の識別子Jに設定される。これら2個のノードH及びJは同一の親(ノードC)を共有するので、タイブレイク・ループは実行されない。タイブレイクはoldMinとnewMinを単に比較し、oldMin=H<J=newMinなので、古い親が選択され、ノードBの親は同一のままである。
Figure 0005362743
この8回目の反復の終了時に、優先待ち行列は次の通りである。
TENT=[(B,10)]
最後に、ダイクストラ・ループの最後の反復では、ノードBが待ち行列から除去され、Bの如何なる近隣も更新できないので(ノードBは始点ノードAから最も遠いノードである)、アルゴリズムは終了する。
ノードAに到達するまでノードBで開始し親に続くノードAからノードBへの最短経路の逆、BHCFAは、親のテーブルから直接読み出される。従って、局所的タイブレイク・アルゴリズムにより選択されたノードAからノードBへの最短経路は、逆経路AFCHBである。
ノードA及びBの間には6個の等価経路が存在するが、局所的タイブレイクは、ダイクストラのアルゴリズムの実行中に全部で4回だけ呼び出された。最初の反復で、タイブレイク・アルゴリズムは、サブ経路AFC及びAGCの間で選択しなければならなかった。タイブレイク・アルゴリズムは、サブ経路AFCを選択し、それにより2個の経路AGCJB及びAGCHBを更なる検討から除外した。2回目の反復で、タイブレイク・アルゴリズムは、サブ経路AFCJ及びAFEJの間で選択しなければならなかった。タイブレイク・アルゴリズムは、サブ経路AFCJを選択し、それにより第3の経路AFEJBを更なる検討から除外した。3回目の反復で、タイブレイク・アルゴリズムは、サブ経路AGDH及びAGCHの間で選択しなければならなかった。タイブレイク・アルゴリズムは、サブ経路AGCHを選択し、それにより第4の経路AGDHBを更なる検討から除外した。最後に、4回目の反復で、タイブレイク・アルゴリズムは、経路AFCHB及びAFCJBの間で選択しなければならなかった。タイブレイク・アルゴリズムは、第5の経路AFCJBを除去し、経路AFCHBを最終的な解として選択した。
拡張をロードするための等価複数経路の選択
多くのネットワーク・アプリケーションでは、幾つかの等価経路を用いることは、一貫性のある方法で達成できるならば、屡々有利である。タイブレイク・アルゴリズムの2つの変形を用いることにより、ノードの対が存在する場合には該対の間の2個の等価経路を用いることが可能である。
図12は、エッジ・ノードX及びYがコア・ノードA、B、C、Dの完全なメッシュに二重に収容されている共通ネットワークの状況を示す。冗長性のため、各エッジ・ノードは、2個のコア・ノードに接続される。ノードXはコア・ノードA及びBに接続され、ノードYはノードC及びDに接続される。各コア・ノードは、全ての他のコア・ノードに接続される。例えば、ノードAはB、C及びDに接続される。このトポロジの有する問題は、1個の最短経路のみがノード対の間で用いられる場合に、通常の環境下では多くのアクセス能力が浪費されることである。複数の等価最短経路が2個のノード間に存在するとき、2個の経路を正確に一貫性をもって選択するために、タイブレイク・アルゴリズムの2つの変形を使用することができる。全てのノードにより合意された如何なる約束事も、等価経路間の選択を行うために用いることができる。1つの特に都合の良い約束事は、最小の識別子を有する第1の経路及び最大の識別子を有する第2の経路を選択することである。図12では、コア・ノードは完全にメッシュ型なので、エッジ・ノードX及びYの間に4個の等価経路(X,A,C,Y)、(X,A,D,Y)、(X,B,C,Y)、(X,B,D,Y)が存在する。タイブレイク・アルゴリズムの2つの変形は、これらの2個の経路を選択するだろう。
(X,min(A,B),min(C,D),Y)、及び
(X,max(A,B),max(C,D),Y)である。
ノード識別子はユニークなので、min(A,B)!=max(A,B)andmin(C,D)!=max(C,D)である。これら2個の経路は最も多様性がある。これらの経路は、それらの終端点のみを共通に有する。図12では、2個の選択された経路は、経路(X,A,C,Y)及び経路(X,B,D,Y)である。上述のタイブレイク方法の重要な特性の1つは、タイブレイクが決定する必要のある一式の経路のうちの1つに影響しないネットワークの変更が、タイブレイクの結果に如何なる影響も与えないことである。このような変更は、障害ノード又はリンクのような選択された経路上にないネットワークの部分を除去することを有してもよい。別の重要な特性は、複数の経路の等価経路が用いられるとき、1個の経路における障害が他の経路の安定性に影響を及ぼさないことである。同様に、リンクの追加は、複数の等価経路のうちの両方ではなく1個のみに影響を及ぼす。これは、ネットワークの安定性のために重要である。
図13A及び図13Bは、本発明のタイブレイク方法の他の重要な特性を説明する。
−等価経路の存在下での単一の障害はループを実施できない。
−障害は、ループを閉じ、ルートの設定点をずらす。
−障害は、更に短い経路を生成できない。−タイブレイク・アルゴリズムは、等価経路の順位付けが最短経路を変更することを防止する。
図13A及び図13Bは、これらの特性を、ノードA、B、C、D及びRを有する単純なネットワーク・トポロジで示す。図13Aを検討すると、Rと一式のノードA−Dとの間の最短経路はリンクR−Aを用いる。ノードAからノードCに到達するには2個の等価経路の中から選択できる。上述のタイブレイク方法のうちの1つを用いて、ブランチA−D−Cではなく、ブランチA−B−Cが一貫して選択される。同様に、逆方向では、C−D−Aの代わりにリンクC−B−Aが一貫して選択される。図13Bは、後の時点で、リンクR−Aが障害したときの状況を示す。ノードRは、次に最良のリンクR−Cを介して一式のノードA−Dに接続する。ノードCからノードAに到達するには2個の等価経路の中から選択できる。再び、C−D−Aではなく、リンクC−B−Aが一貫して選択される。この一貫性のあるタイブレイク・アルゴリズムを使用することなく、リンクR−A内の障害に続いてループA−B−C−D−Aが生じ得る。ノードA及びBは遅くその動作が不規則であり、ノードC及びDは機敏である。この特性は、マルチキャスト転送のループの自由を保障するのに特に有用である。
本発明は、本願明細書に記載された実施形態に限定されない。これらの実施形態は、本発明の範囲から逸脱することなく変形及び変更が行われてよい。

Claims (32)

  1. パケット転送ネットワークのードでパケットを転送するのに用いられる転送情報を決定する方法であって、
    該ネットワークの各ノードはユニークなノード識別子を有し、
    当該方法は:
    前記ネットワークの第1のノードと第2のノードとの間の最短経路を決定する段階;
    複数の最短経路が実質的に等価であるときを決定する段階;
    実質的な等価経路毎に、該経路内にあるノードのセットを定めるノード識別子のセットを形成する段階;
    経路識別子を形成するために第1の順序付け基準を用いてノード識別子を選択する段階であって、前記第1の順序付け基準はノード識別子が前記経路内に現れる順序とは独立である、段階
    前記経路識別子を比較することにより、複数の等価経路のうちの少なくとも1つの等価経路を選択する段階;
    を有する方法。
  2. 前記複数の最短経路が実質的に等価であるときを決定する段階は、複数の最短経路が正確に等価であるときを決定する段階で置き換えられる、
    ことを特徴とする請求項1に記載の方法。
  3. 前記第1の順序付け基準は、全順序付けられたノード識別子のセットを生成する、
    ことを特徴とする請求項1に記載の方法。
  4. 前記第1の順序付け基準は、昇順の辞書式順序、降順の辞書式順序のうちの1つである、
    ことを特徴とする請求項1に記載の方法。
  5. 前記複数の等価経路のうちの少なくとも1つの等価経路を選択する段階は、第2の順序付け基準を用いて、複数の経路識別子を順序付きリストに順序付ける段階;
    を更に有する請求項1に記載の方法。
  6. 前記第2の順序付け基準は、全順序付け基準である
    ことを特徴とする請求項5に記載の方法。
  7. 前記複数の等価経路のうちの少なくとも1つの等価経路を選択する段階は
    経路識別子の順序付きリストの最初
    経路識別子の順序付きリストの最後
    のうちの1つに現れる等価経路を選択する段階を有する、
    ことを特徴とする請求項6に記載の方法。
  8. 前記第2の順序付け基準は、昇順の辞書式順序、降順の辞書式順序のうちの1つである、
    ことを特徴とする請求項5に記載の方法。
  9. 前記経路識別子を比較することにより、複数の等価経路のうちの少なくとも1つの等価経路を選択する段階は:
    経路識別子の2つのセットを形成するために2つの異なる第1の順序付け基準及び前記2つのセットの各々から1つの2つの異なる経路識別子を選択するために共通の第2の順序付け基準を用いることにより前記実質的な等価経路のうちの2つを選択する段階;及び
    経路識別子を形成するために共通の第1の順序付け基準を及び2つの異なる経路識別子を選択するために2つの異なる第2の順序付け基準を用いることにより、前記実質的な等価経路のうちの2つを選択する段階;
    のうちの1つを有する、請求項5に記載の方法。
  10. 経路識別子を形成するために2つの異なる第1の順序付け基準及び経路識別子の2つの個々の順序付きリストを生成するために共通の第2の順序付け基準を用いる段階であって、経路識別子の各順序付きリストは、前記2つの異なる第1の順序付け基準の各々1つに対応する、段階;及び
    経路識別子の前記2つの順序付きリストの各々の最初と最後に現れる経路識別子に対応する等価経路を選択する段階;
    により前記実質的な等価経路のうちの4つを選択する段階;
    を更に有する請求項5に記載の方法。
  11. 前記共通の順序付け基準は、昇順の辞書式順序及び降順の辞書式順序のうちの1つであり;
    前記の2つの異なる順序付け基準は、昇順の辞書式順序及び降順の辞書式順序である;
    ことを特徴とする請求項9に記載の方法。
  12. パケット転送ネットワークのードでパケットを転送するのに用いられる転送情報を決定する方法であって、
    該ネットワークの各ノードはユニークなノード識別子を有し、
    当該方法は:
    最短経路ツリーを繰り返し形成することにより、前記ネットワークの第1のノードと第2のノードとの間の最短経路を決定する段階;
    各等価経路は該等価経路に共通の分岐ノードから分岐するブランチを有し、前記最短経路ツリーを形成する間、複数の経路が等価であるときを決定する段階;
    ブランチ識別子を形成するために、各分岐するブランチで、第1の選択基準を用いてノード識別子を選択する段階;
    前記ブランチ識別子を比較することにより、複数のブランチのうちの少なくとも1つのブランチを選択する段階;
    を有する方法。
  13. 前記第1の選択基準は、全順序付け基準である
    ことを特徴とする請求項12記載の方法。
  14. 前記第1の選択基準は、辞書式順序である
    ことを特徴とする請求項12記載の方法。
  15. 前記ノード識別子を選択する段階は、
    辞書式順序の最初に現れるノード識別子;
    辞書式順序の最後に現れるノード識別子;
    のうちの1つを選択する段階を有する、
    ことを特徴とする請求項14記載の方法。
  16. 前記ノード識別子を選択する段階は、各分岐ブランチにおいて、前記第1の選択基準を最も満たす個々のノード識別子を選択する段階;
    を更に有する請求項12に記載の方法。
  17. 前記分岐ブランチは、合流ノードで合流し;
    前記第1の選択基準を最も満たす個々のノード識別子を選択する段階は、各分岐ブランチにおいて:
    該ブランチにある前記合流ノードに隣接する個々のノードのノード識別子を記録する段階;
    前記分岐ノードに隣接する個々のノードに到達するまで前記合流ノードから前記ブランチに沿って前記分岐ノードへ向かってノード毎に進む段階であって、各ノード識別子を前に記録されたノード識別子と比較し、前記第1の選択基準を満たす2つのノードのノード識別子を記録しながら進む段階;
    前記分岐ノードに隣接する個々のノードに到達すると、前記記録されたノード識別子を前記ブランチの個々のブランチ識別子として選択する段階;
    を有する請求項16に記載の方法。
  18. 前記複数のブランチのうちの少なくとも1つのブランチを選択する段階は、第2の選択基準を用いてブランチ識別子を比較する段階を有する、請求項12に記載の方法。
  19. 前記第2の選択基準は、順序付け基準である
    ことを特徴とする請求項18記載の方法。
  20. 前記第2の選択基準は、辞書式順序である
    ことを特徴とする請求項19記載の方法。
  21. 前記複数のブランチのうちの少なくとも1つのブランチを選択する段階は:
    辞書式順序の最初に現れるブランチ識別子
    辞書式順序の最後に現れるブランチ識別子
    のうちの1つを選択する段階を有する
    ことを特徴とする請求項20記載の方法。
  22. 前記複数のブランチのうちの少なくとも1つのブランチを選択する段階は、前記ブランチ識別子うちの2つを比較する連続する段階を有する
    ことを特徴とする請求項12に記載の方法。
  23. 前記ブランチ識別子を比較することにより、複数のブランチのうちの少なくとも1つのブランチを選択する段階は:
    ブランチ識別子の2つの異なるセットを形成するために2つの異なる第1の選択基準及び前記2つのセットの各々から1つのブランチ識別子を選択するために共通の第2の選択基準を用いることにより前記ブランチのうちの2つを選択する段階;及び
    ブランチ識別子を形成するために共通の第1の選択基準を及び1つの異なるブランチ識別子を選択するために2つの異なる第2の選択基準を用いることにより前記ブランチのうちの2つを選択する段階;
    のうち少なくとも1つを有する、請求項18に記載の方法。
  24. 前記ブランチ識別子を比較することにより、複数のブランチのうちの少なくとも1つのブランチを選択する段階は:
    2つの異なる第1の選択基を用いてブランチ識別子の2つの個々のセットを形成する段階であって、ブランチ識別子の各セットは前記2つの異なる第1の選択基準の各々1つに対応する、段階;及び
    2つの異なる第2の選択基準を用い前記2つの異なる第1の選択基準に関連付けられたブランチ識別子の前記2つのセットの各々から2つの個々のブランチ識別子を選択する段階;
    により前記ブランチのうちの4つを選択する段階;
    を有する請求項18に記載の方法。
  25. 前記共通の選択基準は、最大ノード識別子及び最小ノード識別子のうちの1つであり;
    前記の2つの異なる選択基準は、最大ブランチ識別子及び最小ブランチ識別子である;
    ことを特徴とする請求項23に記載の方法。
  26. ダイクストラのアルゴリズムを用いて最短経路ツリーを反復的に形成する段階;
    を有する請求項12に記載の方法。
  27. プロセッサにより実行されると該プロセッサに請求項1に記載の方法を実施させる命令を有するコンピュータ・プログラム。
  28. 請求項1の方法を実行するようにされるプロセッサを有するネットワーク・ノード。
  29. 複数のノードを有するネットワークであって、各ノードは請求項1に記載の方法を一貫して適用し複数の等価経路のうちの少なくとも1つの等価経路を選択するネットワーク。
  30. プロセッサにより実行されると該プロセッサに請求項12に記載の方法を実施させる命令を有するコンピュータ・プログラム。
  31. 請求項12の方法を実行するようにされるプロセッサを有するネットワーク・ノード。
  32. 複数のノードを有するネットワークであって、各ノードは請求項12に記載の方法を一貫して適用し複数のブランチうちの少なくとも1つのブランチを選択するネットワーク。
JP2010540188A 2007-12-26 2008-12-11 最短経路決定のタイブレイク Expired - Fee Related JP5362743B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/964,478 US7911944B2 (en) 2007-12-26 2007-12-26 Tie-breaking in shortest path determination
US11/964,478 2007-12-26
PCT/IB2008/003940 WO2010032081A1 (en) 2007-12-26 2008-12-11 Tie-breaking in shortest path determination

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2013183368A Division JP5676710B2 (ja) 2007-12-26 2013-09-04 最短経路決定のタイブレイク

Publications (2)

Publication Number Publication Date
JP2011508555A JP2011508555A (ja) 2011-03-10
JP5362743B2 true JP5362743B2 (ja) 2013-12-11

Family

ID=40798344

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2010540188A Expired - Fee Related JP5362743B2 (ja) 2007-12-26 2008-12-11 最短経路決定のタイブレイク
JP2013183368A Expired - Fee Related JP5676710B2 (ja) 2007-12-26 2013-09-04 最短経路決定のタイブレイク

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2013183368A Expired - Fee Related JP5676710B2 (ja) 2007-12-26 2013-09-04 最短経路決定のタイブレイク

Country Status (7)

Country Link
US (3) US7911944B2 (ja)
EP (2) EP2582103A3 (ja)
JP (2) JP5362743B2 (ja)
KR (1) KR20100112144A (ja)
CN (2) CN101965715B (ja)
CA (1) CA2742887A1 (ja)
WO (1) WO2010032081A1 (ja)

Families Citing this family (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7030863B2 (en) 2000-05-26 2006-04-18 America Online, Incorporated Virtual keyboard system with automatic correction
US7821503B2 (en) 2003-04-09 2010-10-26 Tegic Communications, Inc. Touch screen and graphical user interface
US7750891B2 (en) 2003-04-09 2010-07-06 Tegic Communications, Inc. Selective input system based on tracking of motion parameters of an input device
US7286115B2 (en) * 2000-05-26 2007-10-23 Tegic Communications, Inc. Directional input system with automatic correction
US9110985B2 (en) * 2005-05-10 2015-08-18 Neetseer, Inc. Generating a conceptual association graph from large-scale loosely-grouped content
US7958120B2 (en) 2005-05-10 2011-06-07 Netseer, Inc. Method and apparatus for distributed community finding
US8380721B2 (en) 2006-01-18 2013-02-19 Netseer, Inc. System and method for context-based knowledge search, tagging, collaboration, management, and advertisement
US8825657B2 (en) 2006-01-19 2014-09-02 Netseer, Inc. Systems and methods for creating, navigating, and searching informational web neighborhoods
US8843434B2 (en) 2006-02-28 2014-09-23 Netseer, Inc. Methods and apparatus for visualizing, managing, monetizing, and personalizing knowledge search results on a user interface
CN101523818B (zh) * 2006-10-13 2012-12-19 发尔泰公司 在静态和移动网状网络上的网状网节点移动性
US9817902B2 (en) * 2006-10-27 2017-11-14 Netseer Acquisition, Inc. Methods and apparatus for matching relevant content to user intention
US8201087B2 (en) 2007-02-01 2012-06-12 Tegic Communications, Inc. Spell-check for a keyboard system with automatic correction
US8225203B2 (en) 2007-02-01 2012-07-17 Nuance Communications, Inc. Spell-check for a keyboard system with automatic correction
US8761022B2 (en) 2007-12-26 2014-06-24 Rockstar Consortium Us Lp Tie-breaking in shortest path determination
US7911944B2 (en) * 2007-12-26 2011-03-22 Nortel Networks Limited Tie-breaking in shortest path determination
US8027310B2 (en) 2008-01-29 2011-09-27 Ericsson Ab Flexible mobile IP foreign agent architecture for enabling converged services
US8116229B2 (en) * 2008-02-19 2012-02-14 Cisco Technology, Inc. Reducing packet drops in networks guaranteeing in-order delivery
US10387892B2 (en) * 2008-05-06 2019-08-20 Netseer, Inc. Discovering relevant concept and context for content node
US20090300009A1 (en) * 2008-05-30 2009-12-03 Netseer, Inc. Behavioral Targeting For Tracking, Aggregating, And Predicting Online Behavior
US8565075B2 (en) * 2008-10-30 2013-10-22 Verizon Patent And Licensing Inc. Method and system for determining alternate paths
US8417695B2 (en) * 2008-10-30 2013-04-09 Netseer, Inc. Identifying related concepts of URLs and domain names
US8248925B2 (en) * 2009-09-08 2012-08-21 Rockstar Bidco, LP Method and apparatus for selecting between multiple equal cost paths
US9135215B1 (en) * 2009-09-21 2015-09-15 Tilera Corporation Route prediction in packet switched networks
US9065743B2 (en) * 2009-12-24 2015-06-23 At&T Intellectual Property I, L.P. Determining connectivity in a failed network
US8681635B2 (en) 2009-12-31 2014-03-25 Mapquest, Inc. Computer-implemented systems and methods for planning a route
CN105141516A (zh) * 2010-01-08 2015-12-09 日本电气株式会社 通信系统、转发节点、路径管理服务器以及通信方法
PL2385656T3 (pl) * 2010-05-06 2013-05-31 Deutsche Telekom Ag Sposób i system sterowania komunikacją danych w sieci
US9210071B2 (en) 2010-08-16 2015-12-08 Telefonaktiebolaget L M Ericsson (Publ) Automated traffic engineering for fat tree networks
US8553584B2 (en) 2010-09-08 2013-10-08 Telefonaktiebolaget L M Ericsson (Publ) Automated traffic engineering for 802.1AQ based upon the use of link utilization as feedback into the tie breaking mechanism
US9503360B2 (en) * 2010-09-27 2016-11-22 Ciena Corporation Method and apparatus for traffic engineering in shortest path bridged networks
CN103190126B (zh) * 2010-11-01 2016-06-22 日本电气株式会社 通信系统、控制装置、分组转发路径控制方法和程序
WO2012061701A1 (en) * 2010-11-04 2012-05-10 Nuance Communications, Inc. Spell-check for a keyboard system with automatic correction
CN102111912B (zh) * 2011-03-09 2013-07-10 南京瀚之显电子科技有限公司 Zigbee同构树型无线传感网的集中式构建方法
US8804490B2 (en) 2011-07-29 2014-08-12 Telefonaktiebolaget L M Ericsson (Publ) Controller placement for fast failover in the split architecture
US9185027B2 (en) 2011-07-29 2015-11-10 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for resilient routing of control traffic in a split-architecture system
US8774192B2 (en) * 2011-09-10 2014-07-08 Arnab Das Methods systems, and devices for robustness improvement in a mobile ad hoc network using reputation-based routing
US8811212B2 (en) * 2012-02-22 2014-08-19 Telefonaktiebolaget L M Ericsson (Publ) Controller placement for fast failover in the split architecture
US8982689B2 (en) * 2012-04-20 2015-03-17 Telefonaktiebolaget L M Ericsson (Publ) Split tiebreakers for 802.1AQ
US8848509B2 (en) 2012-04-27 2014-09-30 Telefonaktiebolaget L M Ericsson (Publ) Three stage folded Clos optimization for 802.1aq
CN102769887A (zh) * 2012-05-02 2012-11-07 黄林果 一种无线mesh网络的多路径选择方法
JP2015520997A (ja) * 2012-05-22 2015-07-23 ロックスター コンソーティアム ユーエス エルピー 最短経路の決定におけるタイブレイク
US9077562B2 (en) 2012-06-08 2015-07-07 Cisco Technology, Inc. System and method for layer-2 multicast multipathing
CN103546381B (zh) * 2012-07-12 2017-06-09 华为技术有限公司 基于内部网关协议创建双向组播分发树的方法、装置及系统
US9178837B2 (en) 2012-07-17 2015-11-03 Cisco Technology, Inc. System and method for layer-2 network routing
CN102880739A (zh) * 2012-07-31 2013-01-16 中国兵器科学研究院 一种基于邻接表的网络最小路集确定方法
US10311085B2 (en) 2012-08-31 2019-06-04 Netseer, Inc. Concept-level user intent profile extraction and applications
CN103036791B (zh) * 2012-11-30 2015-08-19 福建星网锐捷网络有限公司 一种确定点到多点路径的方法和装置
CN103078796B (zh) * 2013-01-28 2016-03-30 杭州华三通信技术有限公司 一种路由计算方法和设备
US20140269410A1 (en) * 2013-03-14 2014-09-18 Cisco Technology, Inc. Efficient Flooding of Link State Packets for Layer 2 Link State Protocols
US9419919B2 (en) * 2013-03-15 2016-08-16 Cisco Technology, Inc. VPC auto configuration
CN104641604B (zh) * 2013-04-08 2017-12-15 华为技术有限公司 确定最短路径的方法及装置
US9160651B2 (en) 2013-07-24 2015-10-13 Telefonaktiebolaget L M Ericsson (Publ) Metric biasing for bandwidth aware tie breaking
US9264312B2 (en) * 2013-09-30 2016-02-16 Cisco Technology, Inc. Method and system to calculate multiple shortest path first trees
US9166887B2 (en) 2013-12-26 2015-10-20 Telefonaktiebolaget L M Ericsson (Publ) Multicast convergence
US9912577B2 (en) * 2014-04-17 2018-03-06 Cisco Technology, Inc. Segment routing—egress peer engineering (SP-EPE)
US9225629B2 (en) * 2014-05-30 2015-12-29 Telefonaktiebolaget L M Ericsson (Publ) Efficient identification of node protection remote LFA target
US9565623B2 (en) * 2014-08-12 2017-02-07 Digi International Inc. Systems and methods for ordering candidates for wireless network association
US9753439B2 (en) * 2014-10-02 2017-09-05 Fisher-Rosemount Systems, Inc. Multi-protocol device supporting wireless plant protocols
US10069639B2 (en) * 2015-07-28 2018-09-04 Ciena Corporation Multicast systems and methods for segment routing
US10686699B2 (en) 2015-07-28 2020-06-16 Ciena Corporation Multicast systems and methods for segment routing
IL244937A (en) 2016-04-05 2017-07-31 Musman Lior Global optimization and network load balancing
US10680430B2 (en) * 2016-06-14 2020-06-09 Tikla Com Inc. Fault recovery systems and methods for electrical power distribution networks
US10097419B2 (en) * 2016-11-14 2018-10-09 Alcatel-Lucent Canada, Inc. Linear method for detection of multiple service topologies
CN109218190B (zh) 2017-06-29 2020-08-07 华为技术有限公司 一种传输路径的确定方法及节点
CN111289816B (zh) * 2020-02-11 2022-03-15 南方电网科学研究院有限责任公司 一种多端直流输电系统的试验排序优化方法及装置
CN113612684B (zh) * 2020-08-11 2022-09-20 北京航空航天大学 一种基于二分查找的域间路径标识前缀匹配方法
CN112596071A (zh) * 2020-11-02 2021-04-02 中国兵器工业计算机应用技术研究所 无人机自主定位方法、装置及无人机
US11658869B2 (en) 2021-04-09 2023-05-23 Huawei Technologies Co., Ltd. Method and apparatus for configuring a communication network using a connectivity metric
US11606285B2 (en) * 2021-05-07 2023-03-14 Huawei Technologies Co., Ltd. Method and apparatus for configuring a communication network using a distance metric
CN113569012B (zh) * 2021-07-28 2023-12-26 卫宁健康科技集团股份有限公司 医疗数据查询方法、装置、设备及存储介质
WO2023188437A1 (ja) * 2022-04-01 2023-10-05 日本電信電話株式会社 制御装置、制御方法、及びプログラム

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5023916A (en) * 1989-08-28 1991-06-11 Hewlett-Packard Company Method for inspecting the leads of electrical components on surface mount printed circuit boards
JPH05207132A (ja) * 1992-01-23 1993-08-13 Nippon Telegr & Teleph Corp <Ntt> 通信網設計のための交換機間接続経路の生成、整理及び決定方法
EP0873626B1 (en) * 1995-11-15 2006-05-10 Enterasys Networks, Inc. Distributed connection-oriented services for switched communications networks
JP3315588B2 (ja) * 1996-05-16 2002-08-19 株式会社日立製作所 トラヒック流量制御を行うatm交換機
US6961341B1 (en) * 1996-07-02 2005-11-01 Microsoft Corporation Adaptive bandwidth throttling for network services
GB2332809A (en) * 1997-12-24 1999-06-30 Northern Telecom Ltd Least cost routing
US6697333B1 (en) * 1998-03-04 2004-02-24 Alcatel Canada Inc. Bandwidth load consideration in network route selection
US6633544B1 (en) * 1998-06-24 2003-10-14 At&T Corp. Efficient precomputation of quality-of-service routes
JP2000032040A (ja) * 1998-07-07 2000-01-28 Nippon Telegr & Teleph Corp <Ntt> サーバアクセス経路可視化方法および装置
US6928484B1 (en) * 2000-01-18 2005-08-09 Cisco Technology, Inc. Method and apparatus for discovering edge-disjoint shortest path pairs during shortest path tree computation
US7123620B1 (en) 2000-04-25 2006-10-17 Cisco Technology, Inc. Apparatus and method for scalable and dynamic traffic engineering in a data communication network
US6990073B1 (en) * 2001-03-28 2006-01-24 Lsi Logic Corporation Data packet congestion management technique
US7308198B1 (en) * 2001-05-16 2007-12-11 Tellabs Operations, Inc. Method for allocating protection bandwidth in a telecommunications mesh network
GB0120033D0 (en) * 2001-08-16 2001-10-10 Fujitsu Ltd Cell selection
JP3726741B2 (ja) * 2001-11-16 2005-12-14 日本電気株式会社 パケット転送装置、方法およびプログラム
JP3904435B2 (ja) * 2001-11-28 2007-04-11 株式会社日立製作所 Webサービス向け輻輳制御装置及び方法
US7046634B2 (en) * 2002-04-15 2006-05-16 Tropic Networks Inc. Method and apparatus for selecting maximally disjoint shortest paths in a network
US20040032832A1 (en) * 2002-07-30 2004-02-19 Snehal Desai System and method for determining the shortest path between a pair of nodes in an equal cost network
US20040052239A1 (en) * 2002-08-29 2004-03-18 Nesbitt David W. Automated route determination
JP2004129054A (ja) * 2002-10-04 2004-04-22 Ntt Docomo Inc 経路制御装置及び経路制御情報生成方法
US7224668B1 (en) * 2002-11-27 2007-05-29 Cisco Technology, Inc. Control plane security and traffic flow management
US20040105388A1 (en) * 2002-12-02 2004-06-03 David Wilkins Router node with control fabric and resource isolation therein
US7346706B2 (en) * 2003-05-02 2008-03-18 Alcatel Equivalent multiple path traffic distribution in communications networks
US7606161B2 (en) * 2003-06-27 2009-10-20 Broadcom Corporation Distributing information across equal-cost paths in a network
JP2005086460A (ja) * 2003-09-09 2005-03-31 Nec Corp 経路設計装置及びその方法並びにプログラム
GB2421158B (en) 2003-10-03 2007-07-11 Avici Systems Inc Rapid alternate paths for network destinations
US7609705B2 (en) * 2004-05-20 2009-10-27 Hewlett-Packard Development Company, L.P. Determination of a plurality of paths before selection of one path of the plurality of paths for transmission of one or more packets
US7382734B2 (en) * 2004-05-20 2008-06-03 Hewlett-Packard Development Company, L.P. Directing a path verification request along a specific path to a mesh network switch to test operability of the specific path
US7463587B2 (en) * 2005-01-11 2008-12-09 Alcatel Lucent System and method for identifying pre-computed paths in a policy-based routing network
US9306831B2 (en) * 2005-02-14 2016-04-05 Cisco Technology, Inc. Technique for efficient load balancing of TE-LSPs
US7889681B2 (en) * 2005-03-03 2011-02-15 Cisco Technology, Inc. Methods and devices for improving the multiple spanning tree protocol
US7529199B1 (en) * 2005-05-31 2009-05-05 Cisco Technology, Inc. System and method for resolving conflicts in proxy routing information associated with multicast distribution trees
US20070008949A1 (en) * 2005-07-07 2007-01-11 Nokia Corporation Method for automatic route aggregation in a communication system
US8027345B2 (en) * 2005-07-27 2011-09-27 Sharp Laboratories Of America, Inc. Method for automatically providing quality of service
JP4687332B2 (ja) * 2005-08-25 2011-05-25 日本電気株式会社 光アクセスネットワークのセンタ側装置および光アクセスネットワークのデータ信号送出方法
KR101406922B1 (ko) * 2005-10-05 2014-06-20 노오텔 네트웍스 리미티드 공급자 링크 상태 브리징
US20070147255A1 (en) 2005-12-23 2007-06-28 Ozgur Oyman Routing in wireless mesh networks
GB2443472A (en) 2006-10-30 2008-05-07 Cotares Ltd Method of generating routes
US8094555B2 (en) * 2006-11-27 2012-01-10 Cisco Technology, Inc. Dynamic weighted-fair load-balancing
US8442030B2 (en) * 2007-03-01 2013-05-14 Extreme Networks, Inc. Software control plane for switches and routers
JP4918900B2 (ja) * 2007-09-13 2012-04-18 日本電気株式会社 無線マルチホップネットワーク、ノード、マルチキャスト経路制御方法及びプログラム
US8953486B2 (en) * 2007-11-09 2015-02-10 Cisco Technology, Inc. Global auto-configuration of network devices connected to multipoint virtual connections
US7911944B2 (en) 2007-12-26 2011-03-22 Nortel Networks Limited Tie-breaking in shortest path determination
US9444720B2 (en) * 2009-05-05 2016-09-13 Ciena Corporation Method and apparatus for multicast implementation in a routed ethernet mesh network
US8553562B2 (en) 2010-09-08 2013-10-08 Telefonaktiebolaget L M Ericsson (Publ) Automated traffic engineering for multi-protocol label switching (MPLS) with link utilization as feedback into the tie-breaking mechanism

Also Published As

Publication number Publication date
US20090168768A1 (en) 2009-07-02
US7911944B2 (en) 2011-03-22
KR20100112144A (ko) 2010-10-18
CA2742887A1 (en) 2010-03-25
US8699329B2 (en) 2014-04-15
CN103973566A (zh) 2014-08-06
EP2232792A4 (en) 2012-04-18
EP2582103A2 (en) 2013-04-17
EP2582103A3 (en) 2013-07-31
CN101965715A (zh) 2011-02-02
US20140140347A1 (en) 2014-05-22
JP2011508555A (ja) 2011-03-10
JP5676710B2 (ja) 2015-02-25
EP2232792A1 (en) 2010-09-29
CN101965715B (zh) 2014-06-11
JP2014017842A (ja) 2014-01-30
US20110128857A1 (en) 2011-06-02
WO2010032081A1 (en) 2010-03-25

Similar Documents

Publication Publication Date Title
JP5362743B2 (ja) 最短経路決定のタイブレイク
US8761022B2 (en) Tie-breaking in shortest path determination
US9264243B2 (en) Flooding and multicasting in a loop-free routing topology using routing arcs
KR100450407B1 (ko) 서비스 품질(QoS)보장 다중경로 계산방법
US9379971B2 (en) Method and apparatus for determining paths between source/destination pairs
US7821963B2 (en) Method for a root path calculation in a shortest path bridge
US9338086B2 (en) Hierarchal label distribution and route installation in a loop-free routing topology using routing arcs at multiple hierarchal levels for ring topologies
JP2015520997A (ja) 最短経路の決定におけるタイブレイク
US7334047B1 (en) Method and system for selective link state advertisement blocking over a data network area
US9246794B2 (en) Label distribution and route installation in a loop-free routing topology using routing arcs
JP6117911B2 (ja) 802.1aqのための3段折り返しclosの最適化
US20060002291A1 (en) Methods of network routing having improved resistance to faults affecting groups of links subject to common risks
Cho et al. Independent directed acyclic graphs for resilient multipath routing
US9654382B2 (en) Use of alternate paths in forwarding of network packets
Cevher et al. Trade-off analysis of multi topology routing based Ip fast reroute mechanisms

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111107

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130307

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130319

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130619

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130806

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130904

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees