JP2009531981A - 次数制約付き最小全域木を生成する方法および装置 - Google Patents
次数制約付き最小全域木を生成する方法および装置 Download PDFInfo
- Publication number
- JP2009531981A JP2009531981A JP2009503129A JP2009503129A JP2009531981A JP 2009531981 A JP2009531981 A JP 2009531981A JP 2009503129 A JP2009503129 A JP 2009503129A JP 2009503129 A JP2009503129 A JP 2009503129A JP 2009531981 A JP2009531981 A JP 2009531981A
- Authority
- JP
- Japan
- Prior art keywords
- node
- nodes
- packet switching
- switching nodes
- packet
- 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.)
- Withdrawn
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4604—LAN interconnection over a backbone network, e.g. Internet, Frame Relay
- H04L12/462—LAN interconnection over a bridge based backbone
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/42—Centralised routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/48—Routing tree calculation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
次数制約付き最小全域木(MST)を生成する方法および装置は、データパケットを送受信する複数のポイントツーポイント(P2P)パケット交換ノードと、データパケットを送受信する複数のポイントツーマルチポイント(P2MP)パケット交換ノードと、複数のパケット交換ノードの対を結合する、各々が或る距離を有する複数の伝送リンクとを備えている。経路演算モジュールは、複数のP2Pパケット交換ノードの各々が2の次数を有するように、次数制約付きMSTを決定することが可能である。拡張Bellman−Fordアルゴリズムは、逐次的に、複数のパケット交換ノードの各々を現在のノードとして解析し、次数制約付きMSTを、複数の伝送リンクの各々の距離と、現在のノードの前のノードがP2Pパケット交換ノードおよびP2MPパケット交換ノードのうちのいずれであるかとに応じて演算する。
Description
本発明は、次数制約付き最小全域木を生成する方法および装置に関する。
「データパケット」と呼ばれるデータアセンブリッジとしてデータを伝送するパケット交換ネットワークによって複数のデータ処理要素を相互接続することが、ますます有用になっている。そのようなネットワークは、相互接続された複数の交換ノードを含んでいる。そのようなパケットネットワークは、広範囲に亘る地理的分布に伴って極めて大規模となることがある。そのような状況では、互いに通信することが望まれる2つのエンドノードの間で効率的な経路を選択することが最も重要となる。
ネットワークレベルで解決しなければならない一般的な問題は、発信元ノードと宛先ノードとの間の経路を発見することである。従来技術において、パケットネットワーク内のノード間の経路を選択するための主な基準は、最小ホップカウントと最小経路長(距離)である。ホップカウントは、2つのエンドノード間で経路を構成するのに使用されるリンクの数である。経路長は、2つのエンドノード間の経路によって課される全体的な伝送遅延の関数である。
ルーティングアルゴリズムの選択は、多くの場合、矛盾する多数の要件を満たさなければならないため、容易ではない。このアルゴリズムは、実装が簡単でなければならず、また、ネットワーク上の外乱がいかなるものであってもパケットが正しく進行するようにしなければならない。このアルゴリズムは、トラフィック変動およびネットワークトポロジに拘わらず、満足な結果をもたらし得るものでなければならない。また、異なるエンドユーザ間での公平さを確保し、ネットワークへのアクセス権を平等に分配しなければならない。最後に、ルーティングアルゴリズムは、可能な場合、利用形式と共に変動し得る基準に従ってネットワークを最適な方式で活用することが可能でなければならない。ほとんどの場合、ネットワークは、パケット移動時間を最小にし、且つ、最大数のパケットを転送する方式で実現されている。その他の場合、目的は、通信コストを減少させること、または、破局的な回線、ノードの故障があってもトラフィックがピークであっても正しく動作することが可能な高信頼性のネットワークを開発することである。
ネットワーク理論において、プリム(Prim)のアルゴリズム、クラスカル(Kruskal)のアルゴリズム、およびダイクストラ(Dijkstra)のアルゴリズムなどのアルゴリズムが、ネットワークに対する最小コスト木を発見するために使用されてきた。しかしながら、単にコストだけでなく他の制約条件をも満たすほぼ最適なコスト木が必要とされている。したがって、従来技術では満たされていない、最小全域木の生成においてコストを唯一の要素とはしない、ネットワークに対する最小全域木を生成する要求が存在する。
本発明の代表的な要素、動作上の特徴、用途および/または利点は、とりわけ、この後により詳しく示し、説明し、請求するように、構造および動作の詳細にある。本出願の一部をなす添付の図面を参照するが、図面において同様の参照符号は、全体を通じて同様の部分を指している。他の要素、動作上の特徴、用途および/または利点は、詳細な説明において詳述した或る例示的な実施形態を鑑みると明らかとなろう。
図における要素は、簡潔且つ明瞭にするように示されており、必ずしも実測するようには描かれていない。例えば、図における一部の要素の寸法は、本発明の種々の実施形態の理解を高めるために、他の要素に対して誇張されていることがある。さらに、「第1」、「第2」などの用語が本出願にある場合、それらの用語は、とりわけ類似した要素同士を区別するために使用されており、必ずしも発生順序または時系列順序を表わすために使用されているわけではない。さらに、「前」、「後ろ」、「頂部」、「底部」、「上」、「下」などの用語が、実施形態および/または特許請求の範囲にある場合、それらの用語は、一般に説明を目的として用いられており、必ずしも排他的な相対位置を包括的に表わすために用いられているわけではない。そのように使用された先の用語のうちのいずれも、本出願で説明する本発明の種々の実施形態が、明示的に図示したまたは別の方法で説明したもの以外の他の構成および/または配置においても動作が可能となり得るような適切な状況下では、置換することが可能である。
本発明の以下の代表的な説明は、概して、例示的な実施形態と最良の形態についての本発明者の構想とに関するものであり、本発明の適用性または構成をいかなる形であれ限定することを意図したものではない。むしろ、以下の説明は、本発明の種々の実施形態を実現するために好都合な実例を示すことを意図したものである。明らかなように、開示した例示的な実施形態で説明する任意の要素の機能および/または構成において、本発明の精神および範囲から逸脱することなく変更がなされ得る。
説明を明瞭にするために、本発明の実施形態は部分的に、別個の機能ブロックを備えるものとして示されている。これらのブロックによって表わされる機能は、限定はしないがソフトウェアを実行することが可能なハードウェアを含めて、共用のハードウェアまたは専用のハードウェアのいずれかを使用することによって提供することができる。本発明は、要素のいかなる特定の組による実施に限定されるものではなく、また、本出願における説明は、単に一実施形態を代表するものである。
「a」または「an」という用語は、本出願では、「1つ」または「一または複数」として定義されている。「複数の」という用語は、本出願では、「2つ」または「2つ以上」として定義されている。「別の」という用語は、本出願では、「少なくとも2番目またはそれ以降」として定義されている。「備えている/含んでいる」および/または「有している」という用語は、本出願では、「備えている/含んでいる」(つまり、包含的な用語)として定義されている。「結合される」という用語は、本出願では、必ずしも直接ではなく、また必ずしも機械的にではないが、「接続される」として定義されている。「プログラム」、「ソフトウェアアプリケーション」などの用語は、本出願では、コンピュータシステム上での実行のために設計された一連の命令として定義されている。プログラム、コンピュータプログラム、またはソフトウェアアプリケーションには、サブルーチン、関数、プロシージャ、オブジェクトメソッド、オブジェクトインプリメンテーション、実行可能アプリケーション、アプレット、サーブレット、オブジェクトコード、共有ライブラリ/動的ロードライブラリ、および/またはコンピュータシステム上での実行のために設計された他の一連の命令を挙げることができる。構成要素には、コンピュータプログラム、ソフトウェアアプリケーション、または一または複数行のコンピュータが読み取り可能な処理命令を挙げることができる。
本発明の実施形態を実装するソフトウェアブロックは、コンピュータ命令を備えるコンピュータプログラムモジュール、つまりメモリなどのコンピュータが読み取り可能な媒体に記憶されるような制御アルゴリズムの一部であることができる。コンピュータ命令は、以下で説明する任意のメソッドを実施するようにプロセッサに命令することができる。他の実施形態において、さらなるモジュールが必要に応じて与えられてもよい。
しかしながら、留意すべきこととして、これらの用語および類似の用語のすべては、適切な物理量と関連付けられるべきでものであり、また、それらの量に当てはめられた単に好都合な呼び名である。別段の明確な定めがない限り、以下の議論から明らかなように、説明の全体を通じて、「処理する」または「演算する」または「算出する」または「決定する」または「表示する」などの用語を利用する議論は、コンピュータシステムのレジスタおよびメモリ内で物理(電子的)量として表現されるデータを、コンピュータシステムのメモリもしくはレジスタ、またはそのような情報記憶、送信、もしくは表示装置内で物理(電子的)量として同様に表現される他のデータへと操作し変換する、コンピュータシステムまたは類似の電子演算装置の動作および処理を指していることが理解されよう。
本発明は、また、本出願における動作を実施する装置に関する。この装置は、必要な目的のために特別に構成されていてもよく、また、その内部に記憶されたコンピュータプログラムによって選択的に起動または再構成される汎用コンピュータを備えていてもよい。そのようなコンピュータプログラムは、限定はしないが、フロッピー(登録商標)ディスク、光ディスク、CD−ROM、および光磁気ディスクを含めた任意の種類のディスク、読出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気もしくは光カード、または電子命令を記憶するのに好適な任意の種類の媒体など、コンピュータが読み取り可能な記憶媒体に記憶することができ、各々はコンピュータシステムバスに結合することができる。
マルチキャスティングは、様々な宛先からなる1つのグループに同じ情報を同時に送信することを含む。多数のマルチキャストセッションを効率的にサポートするために、ネットワークは、それらのセッションで交換される情報を、可能な限り少数のネットワークリソースを使用してトランスポートを行う必要がある。一般に、ネットワークリソースを効率的に利用するために、最小全域木がネットワークに対して確立される。本発明の以下の代表的な実施形態は、分岐するポイントツーマルチポイント(P2MP)ノードと分岐しないポイントツーポイント(P2P)ノードとを考慮して次数制約付き最小全域木を生成する新規な方法を示している。次数制約付き最小全域木は、最小コストを有していない場合でも、ほぼ最適なコストを有することができる。
図1は、本発明の例示的な実施形態にかかるパケット通信システム100を代表的に示している。或る実施形態において、パケット通信システム100は、データパケットを送受信する複数のパケット交換ノード102と、一対の複数のパケット交換ノード102を結合する複数の伝送リンク108とを備えている。
パケット通信システム100は、マルチ・プロトコル・ラベル・スイッチング(MPLS)ネットワークであってもよく、このMPLSネットワークにおいて、入来データパケットは「ラベル」を付与され、ラベルスイッチパス(LSP)に沿って転送され、このLSPにおいて、各交換ノードは、ラベルのコンテンツのみに基づいて転送決定を行なう。各ホップで、交換ノードは既存のラベルを取り除き、新しいラベルを付け、その新しいラベルにより、パケットをどのように転送するかを次のホップに伝える。LSPは、或るレベルのパフォーマンスを保証するため、ネットワークの混雑を避けてルーティングするため、または、ネットワークベースの仮想プライベートネットワーク用のIPトンネルを作成するためなど、多様な目的でネットワークオペレータによって確立することができる。ATM、フレームリレー、またはEthernet(登録商標)などの複数のレイヤ2トランスポートに亘るLSPを確立することができる。或る実施形態において、MPLSは、任意の種類のトランスポート媒体に亘る特定のパフォーマンス特性を持つエンドツーエンド回路を形成して、オーバレイネットワークまたはレイヤ2専用の制御機構に対する必要性を排除することができる。
コネクションレス型のネットワークレイヤプロトコルのデータパケットが、或る交換ノードから次の交換ノードに移動するとき、各交換ノードは、そのデータパケットに対して、独自の転送決定を行なうことができる。つまり、各交換ノードは、データパケットのヘッダを解析することができ、また、各交換ノードは、ネットワークレイヤのルーティングアルゴリズムを実行する。各交換ノードは、パケットのヘッダの解析結果およびルーティングアルゴリズムの実行結果に基づいて、データパケットの次のホップを選択する。パケットヘッダは、単に次のホップを選択するのに必要となるよりもかなり重要な情報を含んでいる。次のホップの選択は、2つの機能から成立し得るものである。第1の機能は、使用可能なパケットの組全体を一組の「転送等価クラス(FEC)」に分割することができる。第2の機能は、各FECを次のホップにマップすることができる。転送決定に関する限りにおいて、同じFECにマップされた異なるデータパケットは、区別することができない。特定のFECに属し、特定の交換ノードから移動するすべてのデータパケットは、同じ経路に従う(または、或る種類のマルチパスルーティングを使用している場合、すべてのデータパケットは、FECに関連付けられた一組の経路のうちの1つに従う)。
通常のIP転送において、ルータのルーティングテーブル内に何らかのアドレスプレフィックスXがあり、それによりXが各パケットの宛先アドレスに対する「最長マッチ」となっている場合、特定の交換ノードは、典型的には、2つのデータパケットが同じFEC内に存在するとみなす。パケットがネットワークを通過するとき、各ホップでパケットを再度調べ、そのパケットをFECに割り当てる。
MPLSにおいて、特定のFECへの特定のパケットの割当ては、そのパケットがネットワークに入るときに、一度だけ行なわれる。パケットの割当て先のFECは、「ラベル」として知られる短い固定長の値として符号化される。パケットが次のホップに転送されるとき、ラベルがそのパケットと共に送信される。つまり、パケットは、転送される前に「ラベル付け」される。続くホップでは、パケットのネットワークレイヤヘッダのさらなる解析は行なわれない。むしろ、ラベルは、次のホップを指定するテーブルへのインデックス、および新しいラベルとして使用される。古いラベルは、新しいラベルで置き換えられ、パケットは次のホップに転送される。MPLS転送パラダイムにおいては、パケットがFECに割り当てられると、さらなるヘッダ解析が、続く交換ノードによってなされることはなく、すべての転送はラベルによって行なわれる。MPLSについてのさらなる詳細は、IETF(インターネット・エンジニアリング・タスク・フォース)のRFC(Request for Comment)3031に見出すことができる。
複数のパケット交換ノード102は、ルータ、エンタプライズサーバ、ビデオサーバ、ポータブルまたはデスクトップコンピュータ、携帯電話機、PDAなど、コンピュータのような任意の装置を備えていてもよい。例えば、限定するものではないが、複数の交換ノード102のうちの一または複数が、MPLSにおける動作用のラベルスイッチングルータ(LSR)であってもよい。複数のパケット交換ノード102は、それぞれ、接続されたすべてのノードにデータ通信サービスを提供するデータ処理システムを備えていてもよい。複数のパケット交換ノード102は、それぞれ、一または複数の決定点をノード内に備えていてもよく、それらの決定点において、入来データパケットは、そのノード内でまたは別のノードで終端する一または複数の送出通信リンク上で選択的にルーティングされる。そのようなルーティング決定は、データパケットのヘッダ内の情報に応答してなされる。
或る実施形態において、複数の交換ノード102のうちの一または複数が、一または複数のポイントツーポイント(P2P)交換ノード104を備えていてもよく、そのP2P交換ノード104は、単に、インバウンド伝送リンク上で受信した入来データパケットをアウトバウンド伝送リンクにルーティングするものである。P2P交換ノード104は、複数の宛先への伝送のためにデータパケットを複製する(つまり分岐させる)ことのないものであり、図1において円形のノードで表現されている。或る実施形態において、複数の交換ノード102のうちの一または複数が、一または複数のポイントツーマルチポイント(P2MP)交換ノード106を備えていてもよく、このP2MP交換ノード106は、入来データパケットを複製し(分岐させ)、その入来データパケットの複製を複数の宛先に伝送することができる。複数のP2MP交換ノード106は、図1において四角形のノードで表わされている。
複数の伝送リンク108は、有線リンクであっても無線リンクであってもよい。さらなる複数の伝送リンク108は、それぞれ、関連付けられた距離110を有することができ、この距離110は、物理的距離、トラフィック混雑、障害、またはデータパケットの流れに対するコストもしくは抵抗の他の尺度を表わすことができる。
図2は、本発明の例示的な実施形態にかかるパケット通信サブシステム200を代表的に示している。図2に示した要素は、複数のパケット交換ノード102のうちの一または複数に配置され、および/または、複数のパケット交換ノード102のうちの一または複数の間に分配されることができる。パケット通信サブシステム200は、トポロジプロトコルモジュール210と、トポロジデータベース220と、経路演算モジュール230と、トラフィック制御モジュール240とを備えることができる。図2に示した要素は、単に代表的なものである。パケット通信サブシステム200の他の構成および他の要素が、本発明の方法を実現するために使用されてもよく、また、本発明の範囲に含まれる。
トポロジプロトコルモジュール210は、パケット通信システム100のトポロジをトポロジデータベース220に供給するルーティングプロトコルを実行することができる。例えば、限定するものではないが、トポロジプロトコルモジュール210は、MPLSネットワーク内にあるオープン・ショーテスト・パス・ファースト(OSPF)ルーティングプロトコルであってもよい。或る実施形態において、トポロジプロトコルモジュール210は、トポロジデータベース220内のデータを周期的にまたは連続的に更新することができる。例えば、トポロジプロトコルモジュール210は、パケット通信システム100内にある複数のパケット交換ノード102と複数の伝送リンク108の構成および/または状態を周期的にまたは連続的に更新して、トポロジデータベース220が、パケット通信システム100の最新の構成および/または状態を備えるようにしてもよい。
或る実施形態において、トラフィック制御モジュール240は、MPLSネットワーク内にLSP250を確立するように動作することができる。例えば、トラフィック制御モジュール240は、ラベルトラフィック制御システム(LTCS)であってもよく、また、MPLSネットワークの機能を実現することができる。LSP250を確立する目的で、トラフィック制御モジュール240は、1つの発信元ノードから宛先ノード(1つまたは複数)への経路を必要とする。或る実施形態において、トラフィック制御モジュール240は、発信元アドレス、宛先アドレス(1つまたは複数)、およびトラフィック工学的制約などの入力を与えて、経路演算モジュール230にリクエストを行なう。或る実施形態において、経路演算モジュール230は、MPLSネットワーク内にあるCSPF(制約付きショーテスト・パス・ファースト)モジュールであってもよい。経路演算モジュール230は、トラフィック制御モジュール240から経路演算のリクエストを受信すると、トポロジデータベース220のデータにアクセスし、経路を演算することができる。演算した経路は、トラフィック制御モジュール240に返されることができ、ここで、トラフィック制御モジュールは、1つの発信元ノードから宛先ノード(1つまたは複数)への経路の確立を開始するが、この経路をLSP250とすることができる。或る実施形態において、トラフィック制御モジュール240は、経路演算モジュール230から返された明示的な経路と共にコントロールプレーンシグナリングメッセージ(例えばRSVP−TEシグナリング)を送信して、LSP250を確立することができる。ここで、トラフィック制御モジュール240は、特定の宛先アドレスを持つ、特定の発信元アドレスからのデータパケットが、どの経路に従うべきかを認識しており、その経路を通じてデータパケットを送信するために帯域幅を確保することができる。
或る実施形態において、LSP250は、最小全域木(MST)によって表わすことができる。複数の伝送リンクによって結合された交換パケットノードの、接続された無向トポロジが与えられると、そのトポロジの全域木はサブトポロジとなることができ、そのサブトポロジは1つの木であり、複数の交換パケットのすべてを互いに接続する。単一のトポロジは、多数の異なる全域木を有することができる。上述のように、いかに不都合であるかを表わす数値である距離を、各伝送リンクに割り当てることができ、この距離は、全域木内にある複数の伝送リンクの距離の合計を演算することによって、全域木に重みを割り当てるために使用されることもできる。最小全域木は、全域木重みが他の各全域木の全域木重み以下である全域木であってもよい。
同点の場合、いくつかの最小全域木が存在することがある。特に、すべての全域木重みが同じである場合、すべての全域木が最小となる。最小全域木は、事実上、複数の交換ノードのすべてを接続する最小コストのサブグラフである。
MSTを取得する一方法は、Bellman−Ford(ベルマン−フォード)アルゴリズムを使用することによるものである。Bellman−Fordアルゴリズムについては、ディ.バートセカス(D.Bertsekas)およびアール.ギャラガー(R.Gallager)著、「データ・ネットワークス(Data Networks)」、プレンティス・ホール(Prentice Hall)(ニュージャージー州イングルウッドクリフス所在)、1987年、に記載されている。このアルゴリズムの目的は、2つのノードを最小距離で接続する経路を発見することであり、その距離は、リンクの混雑または不都合性を反映するものと定義されている。このアルゴリズムは、発信元ノードから開始し、まず、1つ以下のリンクを含んでいる経路の制約を受ける最短経路長を発見する。次いで、2つ以下のリンクの経路の制約を伴う最短経路長を発見し、以下同様にする。
N=ノードの数(1,2,…,Nとラベル付けする)、
M=無向リンクの数(或るノードから別のノードに向かう1つ以下の一方向リンクが存在すると、リンクはそのエンドポイントによって識別可能である)、
h=ホップの数、
D(i,h)=発信元ノード(1)からノード(i)までの最短(≦h)経路長(慣例により、すべてのhに対し、D(1,h)=0とする)、
dij=ノード(i)からノード(j)までを接続するリンクの長さ(慣例により、ノード(i)がノード(j)に接続されていない場合、dij=∞とする)とする。
M=無向リンクの数(或るノードから別のノードに向かう1つ以下の一方向リンクが存在すると、リンクはそのエンドポイントによって識別可能である)、
h=ホップの数、
D(i,h)=発信元ノード(1)からノード(i)までの最短(≦h)経路長(慣例により、すべてのhに対し、D(1,h)=0とする)、
dij=ノード(i)からノード(j)までを接続するリンクの長さ(慣例により、ノード(i)がノード(j)に接続されていない場合、dij=∞とする)とする。
最初、すべてのI≠1に対し、D(i,0)=∞であり、
それぞれ続く0≦hについて、すべてのI≠1に対して、D(i,h+1)=minj[D(j,h)+dji],j=1,…,Nである。
それぞれ続く0≦hについて、すべてのI≠1に対して、D(i,h+1)=minj[D(j,h)+dji],j=1,…,Nである。
経路は、N−1以下のリンクを含むことができる。最悪の場合、アルゴリズムは、N−1回反復しなければならず、それぞれの反復は、N−1のノードに対して行なわなければならず、また、それぞれのノードに対し、最小化は、N−1未満の選択対象に亘ってなされなければならない。したがって、演算量は、最悪の場合、N3で増加する。
D(i)をノード(1)からノード(i)までの最短経路長とし、D(1)=0とすると、この式はh=N−1で収束し、次のように記述することができる。
すべてのI≠1に対し、D(i)=minj[D(j)+dji]
D(1)=0。
すべてのI≠1に対し、D(i)=minj[D(j)+dji]
D(1)=0。
これは、Bellmanの式と呼ばれるものであり、ノード(1)からノード(i)までの最短経路長が、(i)の前までのノードへの(最短経路での)経路長の合計に、経路の最終リンクにおける距離を加えたものであることを表わしている。
Bellman−Fordアルゴリズムは、最小コスト全域木について解くものであるが、ネットワークトポロジにおけるそれぞれのノードの次数を考慮するものではない。これは次数上限の制約として知られており、MSTにおけるあるノードが指定限界を超える次数を持たないことを必要とする。或る実施形態において、パケット通信システム100は、上述したP2P交換ノードを含んでいてもよく、このP2P交換ノードは、2を超える次数を持つことがない。この次数は、インバウンド伝送リンク数と交換ノードへのアウトバウンド伝送リンク数との合計である。
或る実施形態において、拡張Bellman−Fordアルゴリズム242とリンク交換アルゴリズム244が、次数制約付きMST250を生成するために使用されてもよい。図示のように、経路演算モジュール230は、次数制約付きMSTを、したがってLSP250を生成するために使用し得る拡張Bellman−Fordアルゴリズム242とリンク交換アルゴリズム244とを備えることができる。上述したように、トラフィック制御モジュール240からリクエストを受信すると、経路演算モジュール230は、トポロジデータベース220から得たトポロジデータを使用して、LSP250を生成することができる。或る実施形態において、経路演算モジュール230は、拡張Bellman−Fordアルゴリズム242とリンク交換アルゴリズム244とを使用して、次数制約付きMSTを、したがってLSP250を生成することができる。拡張Bellman−Fordアルゴリズム242とリンク交換アルゴリズム244の操作の実施形態を、図3〜図5に示す。
或る例示的な実施形態において、次数制約付きMSTは、2つの段階で生成することができる。第1の段階では、パケット通信システム100のトポロジ上で拡張Bellman−Fordアルゴリズム242を実行する。拡張Bellman−Fordアルゴリズム242は、次数に基づいてノードを選択するための付加的な制約、この実施形態では、すべてのP2P交換ノード104が2以下の次数を有するという制約を加えて、従来のBellman−Fordアルゴリズムを実行する。これによって、次数制約に反するP2P交換ノード104の数が最小に維持される。拡張Bellman−Fordアルゴリズム242を実行した後、2を超える次数を有するP2P交換ノード104が次数制約付きMST内に存在する場合、残りのP2P交換ノード104が2以下の次数を有するようにする目的で、リンク交換アルゴリズム244を実行して、次数制約付きMST内に含まれているリンクを、MST内に含まれていないリンクと交換することができる。
図3は、本発明の別の例示的な実施形態にかかるパケット通信システム300を代表的に示している。図3は、拡張Bellman−Fordアルゴリズム242の各ステップを示すために、図3A〜図3Fに分割されている。図3A〜図3Fは、図1に関連して説明したパケット通信システム100を、発信元ノードとしてのノードAと共に表わしている。
上述したように、ノードの次数は、入次数(in−degree)および出次数(out−degree)の合計であり、ここで、入次数は、ノードに入る伝送リンクの数であり、出次数は、ノードから抜け出す伝送リンクの数である。或る実施形態において、次数制約付きMSTは、P2P交換ノード104が1の入次数と1の出次数を、したがって2の次数を有するようなものとなる。P2MP交換ノード106は、1の入次数と1を超える出次数とを有することができる。
拡張Bellman−Fordアルゴリズム242は、従来のBellman−Fordアルゴリズムを使用してそれぞれの交換ノード(現在のノード)を解析するだけでなく、次の手順を使用して、(現在のノードの)前のノードのP2MP能力および出次数に基づいて決定を行なう。
1)解析する各ノード(現在のノード)に対し、その前のノード(現在のノードに供給を行なうノード、つまり親ノード)がP2MP可能かどうかを示す「prev_node_p2mp_flag」というフィールドを追加する。
2)解析する各ノード(現在のノード)に対し、そのノードがP2MP可能かどうかを示すフィールド「p2mp_flag」を追加する。
3)各反復(ホップ数=1,2…(ノード数−1))に対し、現在のノード「J」ごとに、入来伝送リンク(K1,J)または(K2,J)を次のように選択する(ここで、K1,K2は、それぞれ、現在のノードJの前のノードである)。
1)解析する各ノード(現在のノード)に対し、その前のノード(現在のノードに供給を行なうノード、つまり親ノード)がP2MP可能かどうかを示す「prev_node_p2mp_flag」というフィールドを追加する。
2)解析する各ノード(現在のノード)に対し、そのノードがP2MP可能かどうかを示すフィールド「p2mp_flag」を追加する。
3)各反復(ホップ数=1,2…(ノード数−1))に対し、現在のノード「J」ごとに、入来伝送リンク(K1,J)または(K2,J)を次のように選択する(ここで、K1,K2は、それぞれ、現在のノードJの前のノードである)。
上記の拡張Bellman−Fordアルゴリズム242を使用して、ここで、例示的な実施形態について、図3A〜図3Fを参照して説明する。
図3Aは、図1のパケット通信システム100の一部分を示しており、ノードAは発信元ノード322であり且つP2MPノードである(四角形形状のノードで示す)。発信元ノード322のAからノードHとノードIに到達し、ノードHとノードIの双方のprev_node_p2mp_flagを真(TRUE)に設定する。
図3Aは、図1のパケット通信システム100の一部分を示しており、ノードAは発信元ノード322であり且つP2MPノードである(四角形形状のノードで示す)。発信元ノード322のAからノードHとノードIに到達し、ノードHとノードIの双方のprev_node_p2mp_flagを真(TRUE)に設定する。
図3Bは、ノードHからノードG、ノードI、およびノードEへの移動を示している。この例において、ノードIは、ノードAからの入来伝送リンク(リンクAI)と、ノードHからの入来伝送リンク(リンクHI)とを有している。ノードIのprev_node_p2mp_flagをノードHのp2mp_flagと比較すると、ノードAはP2MP交換ノードであり、ノードHはP2P交換ノードであるので、リンクAIが、テーブル1における事例Cに従って選択されている。この反復において分かるように、ノードIが現在のノード324であり、ノードAおよびノードHは現在のノード324の前のノード326である。
図3Cは、ノードIおよびノードHからノードEへの移動を示している。この反復において、ノードEが現在のノードであり、ノードIおよびノードHが前のノードである。ノードEには、2つの入来伝送リンク(IEおよびHE)が存在する。ノードEのprev_node_p2mp_flagをノードIのp2mp_flagと比較し、テーブル1における事例D(前のノードがいずれもP2Pモードである)に従って伝送リンクIEが選択され、処置列に示すように変数およびフラグが更新される。リンクHEが選択される場合、ノードEの次数が2を超えることになるため、リンクHEは除去される。ノードGは1つの入来伝送リンク(リンクHG)を有しているのみであり、したがってノードGの解析は不要である。
図3Dは、ノードGからノードFへの、またノードEからノードCおよびノードDへの移動を示している。ノードFからノードEに到達すると、ノードFには2個のP2Pノードからの2つの入来伝送リンク(リンクIEおよびリンクFE)が存在する。更新は、この事例では不要である。図3Eは、ノードCからノードBへの移動を示している。ノードBに、2つの入来伝送リンク(リンクCBおよびリンクFB)が存在する。この反復において、ノードBが現在のノードであり、ノードCおよびノードFが前のノードである。ノードCはP2MP交換ノードであり、ノードFはP2P交換ノードであるので、リンクCBが、テーブル1の事例Cに従って選択される。ノードCから、ノードDに到達する。テーブル1の事例Cにより、リンクCDがリンクEDに優先して選択される。
図3Fは、ノードBからノードFへの移動を示している。ノードFが現在のノードであり、ノードGおよびBが前のノードであるので、事例Bにより、リンクGFに優先してリンクBFが得られる。最終的な全域木は、次数制約付きMST350であり、ここで、各P2P交換ノード(円形のノード)は、2以下の次数334を有している。例えば、ノードIは、P2P交換ノードであるが、1つのインバウンド無向伝送リンク330と、1つのアウトバウンド無向伝送リンク332とを有している。図示の実施形態において、拡張Bellman−Fordアルゴリズム242は、有向トポロジと無向トポロジの双方に作用しており、また、Bellman−Fordアルゴリズムに対するわずかな修正しか必要としていない。或る実施形態において、拡張Bellman−Fordアルゴリズム242は、標準的なBellman−Fordアルゴリズムと同じ時間演算量(O(V,E)、ここで、Vは交換ノードの数であり、Eは伝送リンクの数である)を有している。
或る実施形態において、拡張Bellman−Fordアルゴリズム242はヒューリスティックなアルゴリズムであってもよく、拡張Bellman−Fordアルゴリズム242のみを使用しても、すべてのP2P交換ノードを2以下の次数に制限した次数制約付き最小全域木が得られないパケット通信システム100のトポロジが存在し得る。
図4は、本発明の別の例示的な実施形態にかかるパケット通信システム400を代表的に示している。図4に示す実施形態は、拡張Bellman−Fordアルゴリズム242を使用して生成した次数制約付きMSTの一部分を示しており、ここで、すべてのP2P交換ノードが2以下の次数を有する次数制約付きMSTが、拡張Bellman−Fordアルゴリズム242によって得られない場合、リンク交換アルゴリズム244を呼び出すことができる。換言すれば、リンク交換アルゴリズム244は、不適合なすべてのP2P交換ノード(2を超える次数を有するノード)を訂正することができる。実線は、次数制約付きMST内に含まれている伝送リンクを表わしており、破線は、次数制約付きMST内に含まれていない伝送リンクを示している。さらに、ノードZとノードXとの間に表わされた2つのリンクは、有向伝送リンクである。
図4に示すように、拡張Bellman−Fordアルゴリズム242により次数制約付きMSTが得られており、ここで、P2P交換ノードのうちの少なくとも1つ(ノードZ)は、2を超える次数を有している。次数制約付きMSTが生成された状態で、ノードZは次数制約規則(次数は2以下)に反しており、したがって、最適な次数制約付きMSTではない。これを修復するために、リンク交換アルゴリズム244を図示のMSTに対して実行することができる。
第一に、2を超える次数を有するP2P交換ノードのすべてを含んだ調整用リスト(to_adjust_list)が生成される。拡張Bellman−Fordアルゴリズム242によって生成された次数制約付きMSTに現在は含まれていない、トポロジ内の伝送リンクのすべてを含んだ試験用リスト(to_test_list)が生成される。to_test_listが、各リンクの距離に従って昇順でソートされる。ホップ数(hop_away)フラグが、不適合なP2Pノード(ノードZ)から1ホップだけ離れていることを意味する1で初期化される。to_adjust_list内にある各ノードに対して、to_adjust_list内の各ノードから、すべてのノードのhop_awayの調整用ホップ数リスト(to_adjust_hop_away_list)が生成される。さらに、リンク交換アルゴリズム244が進行すると、リンク交換アルゴリズム244を実施する間にMSTから除去された伝送リンクを含んだ第2の試験用リスト(to_test2_list)が生成されてもよい。
to_adjust_list内の各ノード、例えばノードZに対し、以下の手順を実施することができる。to_test_listの先頭(最小距離を有するリンク)から開始して、to_test_list内のいずれかのリンク、例えばリンクXYをMSTに追加して次の制約を満足し得るかどうかを調べる。
a)リンクXYが、調整用ノード(to_adjust_node)(すなわち、ノードZ)の接続ノードのいずれか、例えばノードXを通過する必要がある。
b)除去すべきリンク(link_to_remove)を、to_adjust_node(ノードZ)と同じスタートノードおよび接続ノードとしてのエンドノードから、to_adjust_nodeへのリンク(リンクZX)として、初期化する。接続ノード(ノードX)がMSTにおける親ノードである場合、link_to_removeは、接続ノード(ノードX)としてのスタートノードから、to_adjust_node(ノードZ)およびto_adjust_nodeと同じエンドノードへのリンク(リンクXZ)である。これは、MSTにおける流れの方向を保つために行われる。
c)現在の試験すべきリンク(to_test_link)を追加し、link_to_removeを除去することによって、
c1)to_adjust_nodeを調整する(不適合なノードの次数を1だけ減じる)こと、および、
c2)to_adjust_listに新しいノードを追加しないこと。
d)to_test_linkを追加し、link_to_removeを除去することによって、MSTが依然として接続されていること(トポロジ内のすべてのノードが、発信元ノードから到達可能であること)。
a)リンクXYが、調整用ノード(to_adjust_node)(すなわち、ノードZ)の接続ノードのいずれか、例えばノードXを通過する必要がある。
b)除去すべきリンク(link_to_remove)を、to_adjust_node(ノードZ)と同じスタートノードおよび接続ノードとしてのエンドノードから、to_adjust_nodeへのリンク(リンクZX)として、初期化する。接続ノード(ノードX)がMSTにおける親ノードである場合、link_to_removeは、接続ノード(ノードX)としてのスタートノードから、to_adjust_node(ノードZ)およびto_adjust_nodeと同じエンドノードへのリンク(リンクXZ)である。これは、MSTにおける流れの方向を保つために行われる。
c)現在の試験すべきリンク(to_test_link)を追加し、link_to_removeを除去することによって、
c1)to_adjust_nodeを調整する(不適合なノードの次数を1だけ減じる)こと、および、
c2)to_adjust_listに新しいノードを追加しないこと。
d)to_test_linkを追加し、link_to_removeを除去することによって、MSTが依然として接続されていること(トポロジ内のすべてのノードが、発信元ノードから到達可能であること)。
上記の条件(a〜d)が満足された場合、新しいリンク(リンクXY)がMSTに追加され、link_to_remove(リンクXZ)が除去される(リンクXZとリンクZXの双方が除去される)。除去されたリンクはto_test2_listに追加され、to_test2_listは、リスト内の各リンクの距離に従って昇順でソートされる。上記のステップは、to_adjust_node(ノードZ)がto_adjust_listから除去されるまで繰り返すことができる。さらに、上記のステップは、to_adjust_list内の各ノードに対して繰り返すことができる。
解が見つからない場合、制約(c1)および(c2)の一または複数を無視して上記の手順を繰り返すことができる。依然として解が見つからず、to_test_listを使い果たした場合、to_test2_list内のリンクに注目することができる。依然として解が見つからない場合、hop_awayを1だけ増分して手順を繰り返すことができる(つまり、hop_awayを2に増分し、to_adjust_nodeから2ホップ離れたノードに注目する)。hop_awayが、MST内のノードの数より1つ小さい値に達し、且つ、解が見つからない場合、所与のトポロジに対して得られる解は存在しない。
或る実施形態において、上記のリンク交換アルゴリズム244は、拡張Bellman−Fordアルゴリズム242を実行した後にも2を超える次数を有する不適合なP2P交換ノードを訂正することができる。リンク交換アルゴリズム244の時間演算量は、O(V2、E)であり、ここで、Vは交換ノードの数であり、Eは伝送リンクの数である。
或る実施形態において、リンク交換アルゴリズム244はヒューリスティックなアルゴリズムであってもよく、また、すべてのP2P交換ノードを2以下の次数に制限した次数制約付きMSTが得られないパケット通信システムのトポロジが存在し得る。さらに、拡張Bellman−Fordアルゴリズム242およびリンク交換アルゴリズム244の組合せはヒューリスティックなアルゴリズムであってもよく、また、拡張Bellman−Fordアルゴリズム242とリンク交換アルゴリズム244を使用しても、すべてのP2P交換ノードを2以下の次数に制限した次数制約付き最小全域木が得られないパケット通信システム100のトポロジが存在し得る。
図5は、本発明のさらに別の例示的な実施形態にかかるパケット通信システム500を代表的に示している。図5は、リンク交換アルゴリズム244の各ステップを例示的に示すために、図5A〜図5Eに分割されている。図示のパケット通信システム500は、ビデオ、他のパケット化データなどのマルチキャスト配信のためのトポロジ501を代表することができ、ここで、発信元ノード(例えばノードC)は、複数の伝送リンク508を介して一または複数の宛先ノード505に配信を行なう。複数の伝送リンクの各々のそれぞれの距離は、下線付きの番号で示されている。
図5Aは、Bellman−Fordアルゴリズム242の実行後のパケット通信システム500のトポロジ501を示しており、Bellman−Fordアルゴリズム242により、2を超える次数を有する不適合なP2P交換ノードを持つ次数制約付きMSTが返されている。P2P交換ノード504は円形のノードで表わされており、P2MP交換ノード506は四角形のノードで表わされている。図示の実施形態において、MST内に含まれている伝送リンク510は実線で示されており、MST内にない伝送リンク512は破線で示されている。
図示の実施形態において、3つのP2P交換ノード(ノードD、EおよびN)が、2を超える次数をそれぞれ有しているので、それらのP2P交換ノードは不適合である。したがって、to_adjust_listは、ノードD、ノードE、およびノードNを含んでいる。調整用ホップ数(to_adjust_hop_away)のリストは、to_adjust_nodeから(最初は)1ホップ離れている各ノードを表わしている。このことを、to_adjust_nodeに続き、それぞれ括弧の中にto_adjust_hop_awayのノードを示すことによって表わすことができる。つまり、to_adjust_listは、D(E,B,CP)、E(N,F,DP)、N(O,S,EP)となり、ここで、上付き添え字「P」は、各場合の親ノードを表わす。to_test_listは、MST内に含まれていないリンク512を距離の昇順でソートしたもの、つまり、QN(3)、NQ(3)、FI(3)、IF(3)、JM(3)、MJ(3)、AB(4)、BA(4)、PQ(5)、QP(5)、JE(6)、EJ(6)を含んでいる。
まず、to_adjust_nodeのDが修正される。交換について考慮されているリンクは、リンクDE、DB、およびCDである。リンクをto_test_listから追加するための条件がここで考慮される。リンクQN、NQ、FI、IF、JM、およびMJは、Dに接続されたノードを含んでいない(上記の条件(a))ので、これらのリンクは考慮されない。リンクABはノードBを含んでおり、このノードBはノードDに接続されているので、リンクABは考慮することができる。リンクABが追加され、リンクDBが除去されると、それによって上記の条件のすべてが満たされる。すなわち、
条件(a):新しいリンク(AB)は、to_adjust_nodeに接続されたノードを通過する。
条件(b):MSTにおける流れの方向は保たれる。
条件(c1):ノードDの次数は1だけ減分される。
条件(c2):リンクABを追加しても、to_adjust_listに新しいノードは追加されない。
条件(d):MSTは依然として接続されており、発信元ノードCから他のすべてのノードに到達可能である。
条件(a):新しいリンク(AB)は、to_adjust_nodeに接続されたノードを通過する。
条件(b):MSTにおける流れの方向は保たれる。
条件(c1):ノードDの次数は1だけ減分される。
条件(c2):リンクABを追加しても、to_adjust_listに新しいノードは追加されない。
条件(d):MSTは依然として接続されており、発信元ノードCから他のすべてのノードに到達可能である。
ノードDを訂正した後の新しいMSTが図5Bに示されており、図5Bにおいて、リンクABはここでは実線となっており、リンクDBはここでは破線となっている。新しいto_adjust_listは、E(N,F,DP)、N(O,S,EP)である。新しいto_test_listは、QN(3)、NQ(3)、FI(3)、IF(3)、JM(3)、MJ(3)、PQ(5)、QP(5)、JE(6)、EJ(6)である。to_test2_listは、DB(2)、BD(2)である。
今度はノードEが修正される。リンクPQおよびQPは、ノードEに接続されたノードを含んでいない。to_test_listからの他のリンクは、次数に反することなく追加することができない(条件c2)。リンクIFまたはFIを追加すると、ノードFがto_adjust_listに追加される。リンクJM、MJ、EJ、またはJEを追加すると、新しいノードJがto_adjust_listに追加される。QNを追加し、リンクENを除去すると、すべての条件が満たされる。すなわち、
条件(a):新しいリンク(QN)は、to_adjust_nodeに接続されたノードを通過する。
条件(b):MSTにおける流れの方向は保たれる。
条件(c1):ノードEの次数は1だけ減分される。
条件(c2):リンクQNを追加しても、to_adjust_listに新しいノードは追加されない。
条件(d):MSTは依然として接続されており、発信元ノードCから他のすべてのノードに到達可能である。
条件(a):新しいリンク(QN)は、to_adjust_nodeに接続されたノードを通過する。
条件(b):MSTにおける流れの方向は保たれる。
条件(c1):ノードEの次数は1だけ減分される。
条件(c2):リンクQNを追加しても、to_adjust_listに新しいノードは追加されない。
条件(d):MSTは依然として接続されており、発信元ノードCから他のすべてのノードに到達可能である。
ノードEを訂正した後の新しいMSTが図5Cに示されており、リンクQNはここでは実線となっており、リンクENはここでは破線となっている。新しいto_adjust_listは、N(O,S,QP)である。新しいto_test_listは、FI(3)、IF(3)、JM(3)、MJ(3)、PQ(5)、QP(5)、JE(6)、EJ(6)である。to_test2_listは、DB(2)、BD(2)、EN(8)、NE(8)である。
ここでノードNが修正される。リンクFI、IF、MJ、およびJMは、ノードNに接続されたノードを含んでいない。リンクPQを追加すると、MSTは接続されなくなるので、条件(d)が満たされなくなる(ここで、PQはPからQへの方向性があり、PQを使用するとノードP、O、およびNが孤立する)。リンクQPを追加し、リンクQNを除去すると、すべての条件が満たされる。すなわち、
条件(a):新しいリンク(QP)は、to_adjust_nodeに接続されたノードを通過する。
条件(b):MSTにおける流れの方向は保たれる。
条件(c1):ノードNの次数は1だけ減分される。
条件(c2):リンクQPを追加しても、to_adjust_listに新しいノードは追加されない。
条件(d):MSTは依然として接続されており、発信元ノードCから他のすべてのノードに到達可能である。
条件(a):新しいリンク(QP)は、to_adjust_nodeに接続されたノードを通過する。
条件(b):MSTにおける流れの方向は保たれる。
条件(c1):ノードNの次数は1だけ減分される。
条件(c2):リンクQPを追加しても、to_adjust_listに新しいノードは追加されない。
条件(d):MSTは依然として接続されており、発信元ノードCから他のすべてのノードに到達可能である。
ノードEを訂正した後の新しいMSTが図5Dに示されており、リンクQPはここでは実線となっており、リンクQNはここでは破線となっている。新しいto_adjust_listは空である。新しいto_test_listは、FI(3)、IF(3)、JM(3)、MJ(3)、JE(6)、EJ(6)である。to_test2_listは、DB(2)、BD(2)、NQ(3)、QN(3)、EN(8)、NE(8)である。
ここで、次数制約付きMST550が図5Eに示されており、MST550に含まれていないリンクはない。P2Pノードのすべてがここでは、2以下の次数を有している。次数制約付きMST550は、LSP250を確立するために使用することができる。
上記の拡張Bellman−Fordアルゴリズムおよびリンク交換アルゴリズムは、標準的なBellman−Fordアルゴリズムを実行する演算量が増加されず、リンク交換アルゴリズムのみが(必要に応じて)追加されるという利点を有している。上記のアルゴリズムはまた、有向トポロジと無向トポロジの双方に作用するという利点を有している。最終的な次数制約付きMSTは、最小コストを有していない場合でも、ほぼ最適なコストを有することができる。
以上の詳述において、本発明は特定の例示的な実施形態を参照して記述された。しかしながら、様々な修正および変更が、特許請求の範囲に記載したような本発明の範囲から逸脱することなくなされ得ることは理解されよう。本明細書および図面は、限定的にではなく、例示的に考慮されるべきであり、そのようなすべての修正が本発明の範囲内に含まれることが意図されている。したがって、本発明の範囲は、単に上述した例によってではなく、本明細書に添付した特許請求の範囲とその法的な均等物によって定められるべきである。
例えば、いずれかの方法または方法クレームにおいて列挙したステップは、いかなる順序でも実行することができ、特許請求の範囲に示した特定の順序に限定されない。加えて、いずれかの装置クレームにおいて列挙した構成要素および/または要素は、本発明と実質的に同じ結果を生じるように、多様な並び換えにおいて組み立て、あるいは別の方法で操作的に構成することができ、したがって、特許請求の範囲において列挙した特定の構成に限定されない。
利益、他の利点、および問題の解決策について、特定の実施形態を参照して説明してきたが、しかしながら、いかなる利益、利点、問題の解決策も、あるいは、いかなる特定の利益、利点、もしくは解決策をも生じさせ得る、またはより明白にし得るいかなる要素も、特許請求の範囲の一部またはすべての重要な、必要な、または不可欠な特徴または構成要素とみなされるべきではない。
具体的に列挙されていないものに加えて、本発明の実施に使用される上述の構造、構成、応用、比率、要素、材料、または構成要素の他の組合せおよび/または修正は、本発明の一般的原理から逸脱することなく変更することができ、あるいは別の方法で、特定の環境、製造仕様、設計パラメータ、または他の操作要件に特に適合させることができる。
Claims (10)
- パケット通信システムであって、
データパケットを送受信する複数のポイントツーポイント(P2P)パケット交換ノードと、前記データパケットを送受信する複数のポイントツーマルチポイント(P2MP)パケット交換ノードとを含む複数のパケット交換ノードと、
前記複数のパケット交換ノードの対を結合する複数の伝送リンクであって、各々が或る距離を有する複数の伝送リンクと、
前記複数のP2Pパケット交換ノードの各々が2の次数を有するように、前記パケット通信システムの次数制約付き最小全域木(MST)を決定する経路演算モジュールであって、拡張Bellman−Fordアルゴリズムが、前記複数のパケット交換ノードの各々を現在のノードとして逐次的に解析し、前記次数制約付きMSTを、前記複数の伝送リンクの各々の距離と、前記現在のノードの前のノードが前記複数のP2Pパケット交換ノードのうちの1つおよび前記複数のP2MPパケット交換ノードのうちの1つのいずれであるかとに応じて演算する経路演算モジュールと、を備えるパケット通信システム。 - 前記拡張Bellman−Fordアルゴリズムは、前記複数のパケット交換ノードのうちの1つを前記現在のノードに設定し、複数の前のノードのうちの1つと前記現在のノードとに結合された前記複数の伝送リンクのうちのいずれの伝送リンクを前記次数制約付きMSTに含めるかについて、前記複数の伝送リンクのうちの1つの距離と、前記複数の前のノードのうちの前記1つが前記複数のP2Pパケット交換ノードのうちの1つおよび前記複数のP2MPパケット交換ノードのうちの1つのいずれであるかとに基づいて決定する請求項1記載のパケット通信システム。
- 前記次数制約付きMST内にある前記複数のP2Pパケット交換ノードの各々は、1つのインバウンド無向伝送リンクおよび1つのアウトバウンド無向伝送リンクのみを含む請求項1記載のパケット通信システム。
- 前記経路演算モジュールは、前記複数のP2Pパケット交換ノードの各々が2の次数を有するようにリンク交換アルゴリズムを実行する、請求項1記載のパケット通信システム。
- 前記リンク交換アルゴリズムは、前記複数のP2Pパケット交換ノードの各々が2の次数を有するように、前記次数制約付きMST内にある複数の伝送リンクのうちの1つ以上を前記次数制約付きMST内にない複数の伝送リンクのうちの1つ以上と交換するように結合されている、請求項4記載のパケット通信システム。
- パケット通信システムにおいて次数制約付き最小全域木(MST)を生成する方法であって、
データパケットを送受信する複数のパケット交換ノードであって、複数のポイントツーポイント(P2P)パケット交換ノードと、複数のポイントツーマルチポイント(P2MP)パケット交換ノードとを含む複数のパケット交換ノードを設けることと、
前記複数のパケット交換ノードの対を結合する複数の伝送リンクであって、各々が或る距離を有する複数の伝送リンクを設けることと、
前記複数のP2Pパケット交換ノードの各々が2の次数を有するように、前記次数制約付きMSTを演算することとを含み、該演算は、
拡張Bellman−Fordアルゴリズムが、前記複数のパケット交換ノードの各々を現在のノードとして逐次的に解析すること、および
前記拡張Bellman−Fordアルゴリズムが、前記次数制約付きMSTを、前記複数の伝送リンクの各々の距離と、前記現在のノードの前のノードが前記複数のP2Pパケット交換ノードのうちの1つおよび前記複数のP2MPパケット交換ノードのうちの1つのいずれであるかとに応じて演算することを含む方法。 - 前記演算は、
前記拡張Bellman−Fordアルゴリズムが、前記複数のパケット交換ノードのうちの1つを前記現在のノードに設定することと、
複数の前のノードのうちの1つと前記現在のノードとに結合された前記複数の伝送リンクのうちのいずれの伝送リンクを前記次数制約付きMSTに含めるかについて、前記複数の伝送リンクのうちの1つの距離と、前記複数の前のノードのうちの前記1つが前記複数のP2Pパケット交換ノードのうちの1つおよび前記複数のP2MPパケット交換ノードのうちの1つのいずれであるかとに応じて決定することとをさらに含む請求項6記載の方法。 - 前記複数の前のノードが、前記複数のP2Pパケット交換ノードのうちの1つと、前記複数のP2MPパケット交換ノードのうちの1つとからなる場合、前記複数のP2MPパケット交換ノードのうちの前記1つと前記現在のノードとに結合された前記複数の伝送リンクのうちの1つを選択する請求項7記載の方法。
- 前記複数の前のノードが、前記複数のP2Pパケット交換ノードのうちの2つからなり、前記複数の前のノードのうちの1つは1を超える出次数を有し、前記複数の前のノードのうちの別の1つはゼロに等しい出次数を有する場合、前記現在のノードと、ゼロに等しい次数を有する前記複数の前のノードのうちの前記1つとに結合された前記複数の伝送リンクのうちの1つを選択する請求項7記載の方法。
- 前記次数制約付きMST内にある前記複数のP2Pパケット交換ノードの各々は、1つのインバウンド無向伝送リンクおよび1つのアウトバウンド無向伝送リンクのみを含む請求項6記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/394,075 US20070237097A1 (en) | 2006-03-29 | 2006-03-29 | Method and apparatus for generating a degree-constrained minimum spanning tree |
PCT/US2007/063783 WO2007117821A2 (en) | 2006-03-29 | 2007-03-12 | Method and apparatus for generating a degree-constrained minimum spanning tree |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009531981A true JP2009531981A (ja) | 2009-09-03 |
Family
ID=38575131
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009503129A Withdrawn JP2009531981A (ja) | 2006-03-29 | 2007-03-12 | 次数制約付き最小全域木を生成する方法および装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20070237097A1 (ja) |
JP (1) | JP2009531981A (ja) |
WO (1) | WO2007117821A2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011259321A (ja) * | 2010-06-10 | 2011-12-22 | Nippon Telegr & Teleph Corp <Ntt> | ネットワーク設計方法及びプログラム |
WO2014136531A1 (ja) * | 2013-03-06 | 2014-09-12 | Necソリューションイノベータ株式会社 | ネットワークシステム、ノード、ネットワーク管理方法、及びコンピュータ読み取り可能な記録媒体 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7839796B2 (en) * | 2007-03-14 | 2010-11-23 | Cisco Technology, Inc. | Monitor for multi-protocol label switching (MPLS) networks |
ATE505000T1 (de) * | 2007-04-13 | 2011-04-15 | Ericsson Telefon Ab L M | Ethernet-spanning-tree-bereitstellung |
US20090257365A1 (en) * | 2008-04-11 | 2009-10-15 | Tae In Hwang | Method of distributing files over network |
US8014318B2 (en) * | 2009-02-10 | 2011-09-06 | Cisco Technology, Inc. | Routing-based proximity for communication networks to routing-based proximity for overlay networks |
US8179801B2 (en) * | 2009-06-09 | 2012-05-15 | Cisco Technology, Inc. | Routing-based proximity for communication networks |
CN101621721A (zh) * | 2009-08-06 | 2010-01-06 | 中兴通讯股份有限公司 | K优路径的计算方法及装置 |
US9118577B2 (en) * | 2012-05-07 | 2015-08-25 | Futurewei Technologies, Inc. | Automatic method for setting up mLDP LSP through P2P tunnel |
US9722861B2 (en) * | 2013-07-07 | 2017-08-01 | Alcatel Lucent | Fault-resilient broadcast, multicast, and unicast services |
US10021017B2 (en) | 2015-03-18 | 2018-07-10 | Futurewei Technologies, Inc. | X channel to zone in zone routing |
US9998368B2 (en) * | 2015-06-11 | 2018-06-12 | Futurewei Technologies, Inc. | Zone routing system |
US10963617B1 (en) * | 2020-01-06 | 2021-03-30 | Cadence Design Systems, Inc. | Modifying route topology to fix clock tree violations |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5233604A (en) * | 1992-04-28 | 1993-08-03 | International Business Machines Corporation | Methods and apparatus for optimum path selection in packet transmission networks |
US6105018A (en) * | 1998-03-26 | 2000-08-15 | Oracle Corporation | Minimum leaf spanning tree |
US7212536B2 (en) * | 2001-12-27 | 2007-05-01 | Alcatel-Lucent Canada Inc. | User priority mapping in bridged VLANS |
US20030233540A1 (en) * | 2002-06-13 | 2003-12-18 | International Business Machines Corporation | System and method for secured delivery of content stream across multiple channels |
DE60320104T2 (de) * | 2002-12-11 | 2009-05-14 | Nippon Telegraph & Telephone Co. | Verfahren und Vorrichtung zur Berechnung von Mehrfachsendungsleitwegen |
US7593353B2 (en) * | 2004-03-13 | 2009-09-22 | International Business Machines Corporation | Methods and apparatus for content delivery via application level multicast with minimum communication delay |
-
2006
- 2006-03-29 US US11/394,075 patent/US20070237097A1/en not_active Abandoned
-
2007
- 2007-03-12 JP JP2009503129A patent/JP2009531981A/ja not_active Withdrawn
- 2007-03-12 WO PCT/US2007/063783 patent/WO2007117821A2/en active Application Filing
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011259321A (ja) * | 2010-06-10 | 2011-12-22 | Nippon Telegr & Teleph Corp <Ntt> | ネットワーク設計方法及びプログラム |
WO2014136531A1 (ja) * | 2013-03-06 | 2014-09-12 | Necソリューションイノベータ株式会社 | ネットワークシステム、ノード、ネットワーク管理方法、及びコンピュータ読み取り可能な記録媒体 |
JP2014175685A (ja) * | 2013-03-06 | 2014-09-22 | Nec Solution Innovators Ltd | ネットワークシステム、ノード、ネットワーク管理方法、及びプログラム |
US9860125B2 (en) | 2013-03-06 | 2018-01-02 | Nec Solution Innovators, Ltd. | Network system, node, network management method, and computer-readable recording medium |
Also Published As
Publication number | Publication date |
---|---|
WO2007117821A3 (en) | 2009-04-16 |
US20070237097A1 (en) | 2007-10-11 |
WO2007117821A2 (en) | 2007-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2009531981A (ja) | 次数制約付き最小全域木を生成する方法および装置 | |
EP2911348B1 (en) | Control device discovery in networks having separate control and forwarding devices | |
Vetriselvan et al. | Survey on the RIP, OSPF, EIGRP routing protocols | |
US11943136B2 (en) | Advanced preferred path route graph features in a network | |
US6778531B1 (en) | Multicast routing with service-level guarantees between ingress egress-points in a packet network | |
JP5985483B2 (ja) | タイブレーキング機構へのフィードバックとしてのリンク利用によるマルチプロトコルラベルスイッチング(mpls)のための自動化トラフィックエンジニアリング | |
US7436838B2 (en) | Automatic prioritization of BGP next-hop in IGP | |
US7801137B2 (en) | Receiver-based construction of point-to-multipoint trees using path computation elements in a computer network | |
JP3546764B2 (ja) | ネットワークに備えられた負荷分散サーバ及び負荷分散サーバを備えるノード | |
Rakheja et al. | Performance analysis of RIP, OSPF, IGRP and EIGRP routing protocols in a network | |
US10439880B2 (en) | Loop-free convergence in communication networks | |
US20100061231A1 (en) | Multi-domain network and method for multi-domain network | |
US20070208874A1 (en) | Technique for optimized routing of data streams on an IP backbone in a computer network | |
EP2666268A1 (en) | System and method for finding point-to-multipoint label switched path crossing multiple domains | |
Chu et al. | Optimal link weights for IP-based networks supporting hose-model VPNs | |
US11290394B2 (en) | Traffic control in hybrid networks containing both software defined networking domains and non-SDN IP domains | |
Okonkwo et al. | Comparative study of EIGRP and OSPF protocols based on network convergence | |
Csikor et al. | Optimizing IGP link costs for improving IP-level resilience with Loop-Free Alternates | |
EP2063585A1 (en) | Method and apparatus for computing a path in a network | |
Geng et al. | A hop-by-hop dynamic distributed multipath routing mechanism for link state network | |
CN104937878A (zh) | 在单向隧道存在的情况下建立协议无关多播树的方法 | |
WO2019212678A1 (en) | Explicit backups and fast re-route mechanisms for preferred path routes in a network | |
Kalyan et al. | Optimal selection of Dynamic Routing Protocol with real time case studies | |
Seok et al. | Dynamic constrained traffic engineering for multicast routing | |
Dzida et al. | Optimization of the shortest-path routing with equal-cost multi-path load balancing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20090730 |