JP4673329B2 - マルチキャストツリーを作成するための装置、方法及びプログラム - Google Patents

マルチキャストツリーを作成するための装置、方法及びプログラム Download PDF

Info

Publication number
JP4673329B2
JP4673329B2 JP2007047836A JP2007047836A JP4673329B2 JP 4673329 B2 JP4673329 B2 JP 4673329B2 JP 2007047836 A JP2007047836 A JP 2007047836A JP 2007047836 A JP2007047836 A JP 2007047836A JP 4673329 B2 JP4673329 B2 JP 4673329B2
Authority
JP
Japan
Prior art keywords
node
storage unit
shortest path
route
stored
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
JP2007047836A
Other languages
English (en)
Other versions
JP2008211656A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2007047836A priority Critical patent/JP4673329B2/ja
Publication of JP2008211656A publication Critical patent/JP2008211656A/ja
Application granted granted Critical
Publication of JP4673329B2 publication Critical patent/JP4673329B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

この発明は、例えばIP(Internet Protocol)ネットワークシステムのように、複数のノードを通信リンクを介して相互に接続可能としたネットワークシステムにおいて、上記複数のノードのうち任意の起点ノードから複数の終点ノードまでの最短経路を表すマルチキャストツリーを作成するための装置、方法及びプログラムに関する。
近年、インターネット等のIPネットワークの普及に伴い、IPネットワークを利用したIPTV(Internet Protocol Television)等の放送型サービスへの要求が高まっている。この種のサービスを実現するには、IPストリームをMPLS(Multi protocol Label Switching)により明示的に設定した通信路で伝送することにより、伝送帯域を確保して品質(QoS;Quality of Service)を保証する必要がある。この要求を満足するには、放送局のノードから視聴者が使用するノードまで最短経路を表すマルチキャストツリーを作成する必要がある。
最短経路を探索するアルゴリズムとしては、クラスカルのアルゴリズムやプリムのアルゴリズムが知られている。これらのアルゴリズムはいずれもノード間を接続するリンクには方向性がなく、ネットワーク内の一つのノードから他のすべてのノードまでのコストの最小木を求めるアルゴリズムである。
例えば、プリムのアルゴリズムでは次のような最短経路探索が行われる。すなわち、いま仮に図13に示すようにノード101〜108を通信リンクにより相互に接続したネットワークにおいて、ノード101を起点ノードSとして他の各ノード102〜108(D1〜D7)までの最短経路を求めるものとする。なお、図中の各通信リンクに付された数字はリンクコストを示している。リンクコストは、2つのノード間を接続するリンクの距離や情報を伝送するときに必要な料金を反映したものである。
起点ノードSには3本のリンクを介してそれぞれノードD3,D1,D5が接続されている。このため、先ず図14に示すようにこれらの3つのノードD3,D1,D5までの経路(S−D3)、(S−D1)、(S−D5)と、そのリンクコスト“2”,“4”,“4”が集合PQに格納される。そして、この集合PQに格納された3つの経路(S−D3)、(S−D1)、(S−D5)の中からリンクコストの最も小さい経路(S−D3)が選択され、この選択された経路(S−D3)が集合Rに、また当該経路(S−D3)の終点ノードD3が集合Fに格納される。なお、集合Fには起点ノードSが予め格納されている。また、上記選択されて集合Rに格納された経路(S−D3)は集合PQから削除される。
次に、上記集合Fに格納された終点ノードD3を次の起点Vsとして設定し、このノードD3を起点として図15に示すように隣接するノードD1,D6までの経路(D3−D1)、(D3−D6)とそのリンクコスト“3”,“5”を集合PQに追加格納する。そして、この集合PQに格納された経路の中からリンクコストが最も小さい経路(D3−D1)が選択され、この選択された経路(D3−D1)が集合Rに、また当該経路(D3−D1)の終点ノードD1が集合Fに追加される。以下同様に、上記集合Fに新たな終点ノードが格納されるごとに、この新たなノードを起点Vsとして次の経路探索が繰り返し行われる。そして、集合Fにすべてのノードが格納されると、探索処理は終了となる。
以上述べたプリムのアルゴリズムは、例えば非特許文献1に詳しく述べられている。
「データ構造とアルゴリズム第12回:グラフのアルゴリズム」 http://www.mm.ics.saitama-u.ac.jp/~ohsawa/Lect/dstr/12.pdf
ところが、上記プリムのアルゴリズムでは次のような解決すべき課題があった。すなわち、IPTV等のマルチキャストサービスでは、放送局のノードから視聴者のノードへ向かう経路の帯域と、視聴者のノードから放送局のノードに向かう経路の帯域とで使われ方が大きく異なる。すなわち、経路の方向性が重要な要素となる。これに対しプリムのアルゴリズムは、経路の方向性を何ら考慮していないため、マルチキャストサービスに適した経路探索を行うことが困難である。
また、マルチキャストサービスではネットワークの多数のノードの中から任意に指定されたノードが終点ノードとして指定される。しかしプリムのアルゴリズムでは、ネットワーク内の起点を除いたすべてのノードまでの最小木が無条件に作成されるため、任意に指定された終点ノードまでの最適化されたツリーを作成することができない。
さらに、マルチキャストサービスにおいてドメイン間で最小木を決める場合には、1ドメイン内のエッジルータの数により複数のリンクを想定しなければならない場合がある。しかし、プリムのアルゴリズムではノード間に1本のリンクがあるものとして探索処理が行われるため、複数のリンクを考慮した最小木探索が行えない。
この発明は上記事情に着目してなされたもので、その目的とするところは、方向性を考慮しかつ任意に選択したノードまでの最適経路探索を可能とし、さらにノード間を接続するリンクが複数ある場合でも探索が可能なマルチキャストツリーを作成する装置、方法及びプログラムを提供することにある。
上記目的を達成するためにこの発明の一つの観点は、複数のノードを通信リンクを介して相互に接続可能としたネットワークシステムで使用され、上記複数のノードのうち任意の起点ノードから複数の終点ノードまでの最短経路を表すマルチキャストツリーを作成する装置にあって、上記複数のノード間の各経路に対応付けて当該経路の方向性を反映した基準コストを表す情報を記憶する経路情報記憶ユニットと、上記複数のノードの中から選択された起点ノード及び複数の終点ノードを表す頂点ノード指定情報の入力を受け付ける入力インタフェースと、制御ユニットと、この制御ユニットの処理過程で生成される情報を格納する第1、第2及び第3の記憶部を有する集合記憶ユニットを備えている。そして、制御ユニットにより、先ず受け付けた頂点ノード指定情報により表される起点ノードから各終点ノードまでのそれぞれの最短経路を経路情報記憶ユニットに記憶された基準コストを表す情報に基づいて探索して、この探索された最短経路と当該最短経路のコストを表す情報を最短経路候補の集合として集合記憶ユニットの第1の記憶部に格納する。次に、上記第1の記憶部に格納された最短経路候補の集合の中から未選択でかつコストが最小となる最短経路を選択して、この選択された最短経路を表す情報を決定された最短経路の集合として上記集合記憶ユニットの第2の記憶部に格納し、さらに上記選択された最短経路の終点ノードを表す情報を決定された終点ノードの集合として上記集合記憶ユニットの第3の記憶部に格納する。そして、上記第3の記憶部に上記頂点ノード指定情報により指定されたすべての終点ノードを表す情報が格納されるまで、上記第3の記憶部に格納された終点ノードのうち起点として未選択の終点ノードを新たな起点ノードとして、以上の探索処理を繰り返し実行するように構成したものである。
したがって、方向性を反映した基準コストに基づいてマルチキャストの最小木が求められる。このため、IPTV等のマルチキャストサービスのように、放送局のノードから視聴者のノードへ向かう経路の帯域と、視聴者のノードから放送局のノードに向かう経路の帯域とで使われ方が大きく異なる場合でも、経路の方向性を考慮した経路探索が可能となる。
また、頂点ノード指定情報の入力を受け付け、この頂点ノード指定情報により指定された起点ノードから複数の終点ノードまでの部分集合に所属するノード間の最短経路が探索される。このため、ネットワーク中の多数のノードの中から任意に終点ノードが指定されるマルチキャストサービスに対し、最適化されたマルチキャストツリーを作成することができる。しかも、指定された終点ノードを対象とした経路探索が行われるので、プリムのアルゴリズムのように無条件にネットワーク内のすべてのノードを対象とした経路探索を行う場合に比べて、計算量を削減してマルチキャストツリーの作成に要する時間を短縮することができる。
さらに、ノード間を接続するリンクではなく経路ごとに設定した基準コストをもとに最短経路が探索される。このため、例えば1ドメイン内のエッジルータの数によりノード間に複数のリンクを想定しなければならない場合でも、これら複数のリンクを考慮した経路探索が可能となる。
またこの発明は、さらに次のような各種技術思想を備えることも特徴とする。
第1の技術思想は、制御ユニットにおいて、上記第1の記憶部に格納された最短経路候補の集合の中にコストが最小となる最短経路と起点ノードが同じでかつ経路の途中に介在するノードまで同じ通信リンクを共用する再設定対象の最短経路候補が存在するか否かを判定する。そして、再設定対象の最短経路候補が存在すると判定された場合に、当該最短経路候補の前記経路途中に介在するノードから終点ノードまでの最短経路を上記経路情報記憶ユニットに記憶された基準コストに基づいて探索し直し、この探索し直された最短経路を上記第1の記憶部に格納された再設定対象の最短経路候補に置き換えるものである。
したがって、探索経路の重複を排除してより正確なマルチキャストツリーを作成することができる。
第2の技術思想は、経路情報記憶ユニットに、上記複数のノード間の各経路に対応付けて、当該経路の伝送帯域を表す情報をさらに記憶しておき、制御ユニットにより、上記第1の探索処理により探索された最短経路が予め要求された帯域を有しているか否かを上記経路情報記憶ユニットに記憶された伝送帯域を表す情報に基づいて判定する。そして、上記探索された最短経路が予め要求された帯域を有していないと判定された場合に、当該最短経路に代えて上記予め要求された帯域を有する他の経路を上記第1の記憶部に格納するものである。
したがって、マルチキャストツリーの必要帯域を可能な限り確保することが可能となる。
第3の技術思想は、第2の記憶部に格納された最短経路の途中に他のノードが介在している場合に、当該経路途中に介在しているノードを起点として当該ノードから上記複数の終点ノードまでの最短経路を、上記経路情報記憶ユニットに記憶された基準コストを表す情報に基づいて探索する。そして、この探索された、上記経路途中に介在している中間ノードから上記複数の終点ノードまでの最短経路を上記第1の記憶部に追加して格納するものである。
したがって、第1の探索処理により探索された最短経路の途中に中間ノードが介在している場合には、この中間ノードを起点として終点ノードまでの最短経路が追加探索される。このため、最短経路の終点ノードを起点とする最短経路探索のみを行う場合に比べ、より高精細な経路探索が可能となる。
すなわち、この発明によれば、方向性を考慮しかつ任意に選択したノードまでの最適経路探索が可能となり、さらにノード間を接続するリンクが複数ある場合でも探索が可能なマルチキャストツリーを作成する装置、方法及びプログラムを提供することができる。
(第1の実施形態)
図1は、この発明の第1の実施形態に係わるマルチキャストツリー作成方法を説明するためのネットワーク構成を示す図である。このネットワークは、複数のノード(ここでは8個の場合を例示)21〜28を通信リンクを介して任意に接続したもので、これによりドメイン30を構成している。上記ノード21〜28はいずれも、例えばルータ、スイッチ又はゲートウエイ等のネットワーク接続機器により構成される。
ところで、上記ノード21〜28のうちの任意のノード21には通信リンクを介してサーバ10が接続される。このサーバ10はマルチキャストツリー作成装置としての機能を備えるもので、次のように構成される。図2はその構成を示すブロック図である。
すなわち、サーバ10は中央処理ユニット(CPU:Central Processing Unit)11を備え、このCPU11にはバス12を介してプログラムメモリ13と、経路コストデータベース14と、データメモリ15と、通信インタフェース16がそれぞれ接続されている。
通信インタフェース16は、CPU11の制御の下でノード21との間でデータの送受信を行う。経路コストデータベース14には、上記ネットワークを構成する各ノード21〜28間のすべての経路に対応付けて、そのコストを表す情報と、帯域を表す情報が予め記憶されている。このうちコストを表す情報は、経路の距離や料金等の既存の要素に加えて当該経路の方向性を反映したものである。また帯域を表す情報は、経路の伝送帯域、例えば単位時間当たりのデータ伝送速度を表す情報からなる。
データメモリ15には、最短経路候補集合PQ記憶部151と、決定経路集合R記憶部152と、決定ノード集合F記憶部153と、終点Vs記憶部154が設けられている。このうち記憶部151〜153は、後述する最短経路探索処理の過程で得られる最短経路候補、決定経路及び決定ノードの各集合を保存するために使用される。また終点Vs記憶部154は、次の最短経路探索過程の起点となるノードの情報を記憶するために使用される。
プログラムメモリ13には、この発明を実施するために必要なアプリケーション・プログラムとして、頂点ノード指定受付制御プログラム131と、最短経路探索制御プログラム132と、帯域判定再選択制御プログラム133と、起点再設定制御プログラム134がそれぞれ格納される。
頂点ノード指定受付制御プログラム131は、上記ネットワーク中の任意のノード21からマルチキャストツリーの作成要求が送られた場合に、この作成要求を通信インタフェース16に受信させ、受信された作成要求から頂点ノード、つまり起点ノードと複数の終点ノードの指定情報と、必要帯域の指定情報をそれぞれ抽出する処理を、上記CPU11に実行させる。
最短経路探索制御プログラム132は、上記抽出された起点ノードを起点として複数のすべての終点ノードを経由する最短経路を、上記経路コストデータベース14に記憶されたコスト情報に基づいて探索する制御を上記CPU11に実行させる。
具体的には、起点ノードから各終点ノードまでのそれぞれの最短経路を上記経路コストデータベース14に記憶されたコスト情報をもとに探索して、この探索された最短経路の情報をそのコスト情報と共に最短経路候補の集合として上記最短経路候補集合PQ記憶部151に格納するステップと、上記最短経路候補集合PQ記憶部151に格納された最短経路候補の集合の中から未選択でかつコストが最小となる最短経路を選択して、この選択された最短経路の情報を上記決定経路集合R記憶部152に格納すると共に、上記選択された最短経路の終点ノードを表す情報を上記決定ノード集合F記憶部153に格納するステップと、上記頂点ノード指定情報により指定されたすべての終点ノードの情報が上記決定ノード集合F記憶部153に格納されたか否かを判定し、すべての終点ノードの情報が格納されたと判定されるまで、上記決定ノード集合F記憶部153に格納された終点ノードのうち起点として未選択の終点ノードを新たな起点ノードとして終点Vs記憶部154に設定して、上記最短経路の探索から上記判定までの処理を繰り返し実行させる。
帯域判定再選択制御プログラム133は、上記最短経路の探索処理により探索された各最短経路候補を上記最短経路候補集合PQ記憶部151に格納する際に、これらの最短経路候補が上記マルチキャストツリーの作成要求により指定された必要帯域を満たすか否かを判定する。そして、必要帯域を満たさない最短経路候補が見付かった場合には、当該最短経路候補に代えて必要帯域を満たす他の最短経路を選択して上記最短経路候補集合PQ記憶部151に格納する制御を、上記CPU11に実行させる。
起点再設定制御プログラム134は、上記最短経路候補集合PQ記憶部151に格納された最短経路候補の集合の中に、起点ノードが同じでかつ経路の途中に介在するノードまで同じ通信リンクを使用する再設定対象の経路が存在するか否かを判定する。そして、存在すると判定された場合に、上記経路途中のノードを起点として各終点ノードまでの最短経路を上記経路コストデータベース14に記憶されたコスト情報をもとに探索し直し、この探索し直された最短経路を上記再設定対象の最短経路候補に置き換える制御を、上記CPU11に実行させる。
次に、以上のように構成されたサーバ10によるマルチキャストツリーの作成処理動作を説明する。図3及び図4はその制御手順と制御内容を示すフローチャートである。
サーバ10は、CPU11の制御の下で、ステップ3aによりマルチキャストツリー作成要求の到来を監視している。この状態でノード21からマルチキャストツリー作成要求が送信され、この作成要求が通信インタフェース16により受信されたとする。そうするとCPU11は、ステップ3bにおいて上記受信された作成要求から頂点ノード指定情報及び必要帯域の指定情報を抽出する。またそれと共に、上記マルチキャストツリーの作成要求に高精細オプションモードの指定情報が含まれているか否かをステップ3cで判定する。そして、高精細オプションモードの指定情報が含まれていなければ、通常探索モードによりマルチキャストツリーの作成処理を以下のように開始する。なお、高精細オプションモードによる探索処理については第2の実施形態において一例を述べる。
さて、いま仮に上記頂点ノード指定情報により、起点としてノード21が指定されると共に、終点としてノード22,23,26,28がそれぞれ指定されたとする。なお、ここでは例えば図5に示すように、基点ノードをS、各終点ノードD1〜D4として説明を行う。
(1)1段階目の探索処理
CPU11は、先ずステップ3dにより、決定ノード集合F記憶部153に上記頂点ノード指定情報により指定されたすべての終点ノードの情報が格納されているか否かを判定する。この判定の結果、まだ探索処理前のため一つも記憶されていないので、CPU11はステップ3eで終点Vs記憶部154に起点ノードSを設定し、ステップ3fにおいて上記起点ノードSから各終点ノードD1〜D4までの最短経路をそれぞれ探索する。この最短経路の探索処理は、経路コストデータベース14に記憶されたすべての経路の中から、コストが最小となる経路を選択することにより行われる。
例えば、いま各ノード21〜28間を接続するリンクに図5に示すようにコストが設定されていたとすると、図6に示すように、起点ノードSから終点ノードD1までの最短経路には(S−D1)が、起点ノードSから終点ノードD2までの最短経路には(S−D1−D2)が、起点ノードSから終点ノードD3までの最短経路には(S−D3)が、起点ノードSから終点ノードD4までの最短経路には(S−D1−N1−D4)がそれぞれ探索される。
続いてCPU11は、ステップ3gにおいて、上記探索された各最短経路(S−D1)、(S−D1−D2)、(S−D3)、(S−D1−N1−D4)が上記必要帯域指定情報により指定された必要帯域を満足するか否かを判定する。この結果、上記選択された各最短経路がいずれも必要帯域を満足していたとすれば、ステップ3iにおいて、これらの最短経路の情報をそのコストの情報と共に最短経路候補集合PQ記憶部151に格納する。これに対し、上記ステップ3gの判定において必要帯域を満たさない最短経路が見付かったとすると、CPU11はステップ3hにおいて、必要帯域を満足する他の経路の中でコストが最も小さい経路(準最短経路)を選択し、上記必要帯域を満足しなかった経路に代えてこの準最短経路の情報をそのコスト情報と共に最短経路候補集合PQ記憶部151に格納する。
さらにCPU11は、ステップ3jにおいて、上記最短経路候補集合PQ記憶部151に格納された各最短経路候補(S−D1)、(S−D1−D2)、(S−D3)、(S−D1−N1−D4)のうち、決定経路集合R記憶部152に既に終点が記憶されている最短経路候補の有無を判定する。この判定の結果、既に記憶されている最短経路候補があれば、ステップ3kでこれを除く。そして、ステップ3mにおいて、上記最短経路候補集合PQ記憶部151に格納された各最短経路候補(S−D1)、(S−D1−D2)、(S−D3)、(S−D1−N1−D4)の中からコストが最小の最短経路を選択し、これを決定経路集合R記憶部152に格納する。またそれと共に、ステップ3nにおいて、上記選択した最短経路の終点ノードを決定ノード集合F記憶部153に格納する。
例えば、図5に示した例では、図6に示すように集合PQに格納された4つの最短経路候補(S−D1)、(S−D1−D2)、(S−D3)、(S−D1−N1−D4)の中から、コストが“2”と最も小さい経路(S−D3)が選択されて、これが集合Rに、またその終点ノードD3が集合Fにそれぞれ格納される。
続いてCPU11はステップ3oに移行し、上記集合Rに格納した最短経路(S−D3)と起点を同じくしかつリンクの一部が重なる経路が集合PQにあるか否かを判定する。この判定の結果、該当する経路がなければ、ノードSを起点とする1段階目の探索処理を終了する。
(2)2段階目の探索処理
次にCPU11は、ステップ3dに戻り、上記集合Fに格納された終点ノードD3を起点とする2段階目の探索処理を以下のように実行する。すなわち、先ずステップ3dにより決定ノード集合F記憶部153に上記頂点ノード指定情報により指定されたすべての終点ノードの情報が格納されているか否かを判定する。この判定の結果、ここではまだすべての終点ノードの情報が格納されていないので、CPU11はステップ3eで終点Vs記憶部154にノードD3を設定し、ステップ3fにおいてこのノードD3を起点として他の各終点ノードD1,D2,D4までの最短経路をそれぞれ探索する。この場合も、最短経路の探索処理は経路コストデータベース14に記憶されたすべての経路の中から、コストが最小となる経路を選択することにより行われる。
例えば、図7に示すように、ノードD3から終点ノードD1までの最短経路としては(D3−D1)が、ノードD3から終点ノードD2までの最短経路としては(D3−D1−D2)が、またノードD3から終点ノードD4までの最短経路としては(D3−N1−D4)がそれぞれ探索される。
続いてCPU11は、ステップ3gにおいて、上記探索された各最短経路が上記必要帯域指定情報により指定された必要帯域を満足するか否かを判定し、いずれも必要帯域を満足していればステップ3iにおいてこれらの最短経路の情報をそのコストの情報と共に最短経路候補集合PQ記憶部151に追加する。
さらにCPU11は、ステップ3mにより、上記最短経路候補集合PQ記憶部151に格納された各最短経路候補の中からコストが最小の最短経路を選択し、これを決定経路集合R記憶部152に格納する。ただし、決定経路集合R記憶部152に既に終点が記憶されている最短経路候補はステップ3j及び3kにより除かれる。またそれと共にCPU11は、ステップ3nにおいて、上記選択した最短経路の終点ノードを決定ノード集合F記憶部153に格納する。
例えば、図7に示すように集合PQに格納された6つの最短経路候補(D3−D1)、(D3−D2)、(S−D1)、(S−D2)、(D3−D4)、(S−D4)の中から、コストが“3”と最も小さい経路(D3−D1)が選択されて、これが集合Rに、またその終点ノードD1が集合Fにそれぞれ格納される。
続いてCPU11はステップ3oに移行し、上記集合Rに格納した最短経路(D3−D1)と起点を同じくしかつリンクの一部が重なる経路が集合PQにあるか否かを判定する。この場合、経路(D3−D1−D2)がそれに該当するので、CPU11はステップ3pにおいて、上記経路(D3−D1−D2)の途中のノードD1を起点として終点ノードD2に至る最短経路を探索し直し、上記集合PQに格納された経路(D3−D1−D2)を図7に示すように上記探索し直された最短経路(D1−D2)に置き換える。またそれと共にコスト情報も置き換える。かくして、ノードD3を起点とする2段階目の探索処理が終了する。
(3)3段階目の探索処理
次にCPU11は、ステップ3dに戻り、ここで上記頂点ノード指定情報により指定されたすべての終点ノードの情報が決定ノード集合F記憶部153に格納されたか否かを判定する。そして、まだ格納されていなければ、上記集合Fに格納された各終点ノードのうち起点として未選択のノードD1を選択し、このノードD1をステップ3eで終点Vs記憶部154に設定する。そして、ステップ3fにおいて、上記ノードD1を起点として他の各終点ノードD2,D4までの最短経路をそれぞれ探索する。この場合も、最短経路の探索処理は経路コストデータベース14に記憶されたすべての経路の中から、コストが最小となる経路を選択することにより行われる。
例えば、図8に示すように、ノードD1から終点ノードD2までの最短経路としては(D1−D2)が、またノードD1から終点ノードD4までの最短経路としては(D1−N1−D4)がそれぞれ選択される。
続いてCPU11は、ステップ3gにおいて、上記選択された各最短経路が上記必要帯域指定情報により指定された必要帯域を満足するか否かを判定し、いずれも必要帯域を満足していればステップ3iにおいてこれらの最短経路の情報をそのコストの情報と共に最短経路候補集合PQ記憶部151に追加する。そしてステップ3mにより、上記最短経路候補集合PQ記憶部151に格納された各最短経路候補の中からコストが最小の最短経路を選択し、これを決定経路集合R記憶部152に格納する。ただし、決定経路集合R記憶部152に既に終点が記憶されている最短経路候補はステップ3j及び3kにより除かれる。またそれと共にCPU11は、ステップ3nにおいて、上記選択した最短経路の終点ノードを決定ノード集合F記憶部153に格納する。
例えば、図8に示すように集合PQに格納された7つの最短経路候補(D1−D2)、(D1−D2)、(D1−D4)、(S−D1)、(S−D2)、(D3−D4)、(S−D4)の中から、コストが“4”と最も小さい経路(D1−D2)が選択されて、これが集合Rに、またその終点ノードD2が集合Fにそれぞれ格納される。
続いてCPU11はステップ3oに移行し、上記集合Rに格納した最短経路(D1−D2)と起点を同じくしかつリンクの一部が重なる経路が集合PQにあるか否かを判定する。この場合、該当する経路はないので、CPU11はノードD1を起点とする3段階目の探索処理を終了する。
(4)4段階目の探索処理
次にCPU11は、ステップ3dに戻り、ここで上記頂点ノード指定情報により指定されたすべての終点ノードの情報が決定ノード集合F記憶部153に格納されたか否かを判定する。そして、まだ格納されていなければ、上記集合Fに格納された各終点ノードのうち起点として未選択のノードD2を選択し、このノードD2をステップ3eで終点Vs記憶部154に設定する。そして、ステップ3fにおいて、上記ノードD2を起点として他の終点ノードD4までの最短経路をそれぞれ探索する。この場合も、最短経路の探索処理は経路コストデータベース14に記憶されたすべての経路の中から、コストが最小となる経路を選択することにより行われる。例えば、図9に示すように、ノードD2から終点ノードD4までの最短経路としては(D2−D4)が選択される。
続いてCPU11は、ステップ3gにおいて、上記選択された最短経路(D2−D4)が上記必要帯域指定情報により指定された必要帯域を満足するか否かを判定し、必要帯域を満足していればステップ3iにおいてこの最短経路の情報をそのコストの情報と共に最短経路候補集合PQ記憶部151に追加する。そしてステップ3mにより、上記最短経路候補集合PQ記憶部151に格納された各最短経路候補の中からコストが最小の最短経路を選択し、これを決定経路集合R記憶部152に格納する。ただし、決定経路集合R記憶部152に既に終点が記憶されている最短経路候補はステップ3j及び3kにより除かれる。またそれと共にCPU11は、ステップ3nにおいて、上記選択した最短経路の終点ノードを決定ノード集合F記憶部153に格納する。
例えば、図9に示すように集合PQに格納された最短経路候補(D2−D4)、(D1−D2)、(D1−D4)、(S−D1)、(S−D2)、(D3−D4)、(S−D4)の中から、終点ノードが起点として未選択でかつコストが“4”と最も小さい経路(D2−D4)が選択されて、これが集合Rに、またその終点ノードD4が集合Fにそれぞれ格納される。
続いてCPU11はステップ3oに移行し、上記集合Rに格納した最短経路(D2−D4)と起点を同じくしかつリンクの一部が重なる経路が集合PQにあるか否かを判定する。この場合、該当する経路はないので、CPU11はノードD2を起点とする4段階目の探索処理を終了する。
次に、CPU11はステップ3dに戻り、ここで上記頂点ノード指定情報により指定されたすべての終点ノードの情報が決定ノード集合F記憶部153に格納されたか否かを判定する。そして、指定されたすべての終点ノードの情報が決定ノード集合F記憶部153に格納されたことが確認されると、マルチキャストツリーの作成処理を終了する。
なお、上記作成されたマルチキャストツリーの情報は、サーバ10から作成要求元のノード21に通知される。ノード21は、上記通知されたマルチキャストツリーの情報に基づいて、MPLSのシグナリングにより明示的にツリーをネットワーク内の各ノード間に設定する。
以上述べたように第1の実施形態では、複数のノード21〜28間の各経路に対応付けて当該経路の方向性を反映したコスト情報と各経路の帯域情報を予め記憶した経路コストデータベース14を設け、マルチキャストツリーの作成要求により指定された起点ノードから複数の終点ノードまでの最短経路を上記経路コストデータベース14に記憶されたコスト情報及び帯域情報に基づいて順次段階的に探索することにより、マルチキャストツリーを作成するようにしている。
したがって、方向性を反映したコスト情報に基づいてマルチキャストの最小木が求められる。このため、IPTV等のマルチキャストサービスのように、放送局のノードから視聴者のノードへ向かう経路の帯域と、視聴者のノードから放送局のノードに向かう経路の帯域とで使われ方が大きく異なる場合でも、経路の方向性を考慮した経路探索が可能となる。
また、頂点ノード指定情報により指定された起点ノードから複数の終点ノードまでの部分集合に所属するノード間の最短経路が探索される。このため、ネットワーク中の多数のノードの中から任意に終点ノードが指定されるマルチキャストサービスに対し、最適化されたマルチキャストツリーを作成することができる。しかも、指定された終点ノードを対象とした経路探索が行われるので、プリムのアルゴリズムのように無条件にネットワーク内のすべてのノードを対象とした経路探索を行う場合に比べて、計算量を削減してマルチキャストツリーの作成に要する時間を短縮することができる。
しかも、ノード間を接続するリンクではなく経路ごとに設定したコスト情報をもとに最短経路が探索される。このため、例えば1ドメイン内のエッジルータの数によりノード間に複数のリンクを想定しなければならない場合でも、これら複数のリンクを考慮した経路探索が可能となる。
さらに、起点再設定制御プログラム134に従い、集合Rに格納した最短経路と起点を同じくしかつリンクの一部が重なる経路が集合PQにあるか否かを判定し、該当する経路が存在する場合には当該経路の途中のノードを起点として終点ノードに至る最短経路を探索し直し、上記集合PQに格納された該当する経路を上記探索し直された最短経路に置き換えるようにしている。したがって、探索経路の重複を排除してより正確なマルチキャストツリーを作成することができる。
さらに、帯域判定再選択制御プログラム133に従い、最短経路候補を最短経路候補集合PQ記憶部151に格納する際に、これらの最短経路候補が上記マルチキャストツリーの作成要求により指定された必要帯域を満たすか否かを判定し、必要帯域を満たさない最短経路候補が見付かった場合には、当該最短経路候補に代えて必要帯域を満たす準最短経路を選択して上記最短経路候補集合PQ記憶部151に格納するようにしている。このため、マルチキャストツリーの必要帯域を可能な限り確保することが可能となる。
(第2の実施形態)
この発明の第2の実施形態は、高精細オプションモードが指定された場合に、探索された最短経路の終点ノードを次の段階の探索の起点として設定して探索処理を行うと共に、当該最短経路の途中に中間ノードが存在する場合には当該中間ノードも起点として設定して最短経路の探索処理を実行し、これらの探索処理により得られた最短経路候補の中から最短経路を選択するものである。
なお、この第2の実施形態において、サーバ10の基本構成は前記第1の実施形態と同一なので、前記図2を延用して異なる部分についてのみ説明する。
サーバ10のプログラムメモリ13には、この発明を実施するために必要なアプリケーション・プログラムとして、第1の実施形態で述べた頂点ノード指定受付制御プログラム131、最短経路探索制御プログラム132、帯域判定再選択制御プログラム133及び起点再設定制御プログラム134に加え、高精細探索制御プログラムがさらに格納されている。
この高精細探索制御プログラムは、マルチキャストツリーの作成要求の中に高精細オプションモードの指定情報が含まれている場合に、決定経路集合R記憶部152に格納された最短経路の途中に中間ノードが介在しているか否かを判定する。そして、中間ノードが介在していると判定された場合に、当該中間ノードを起点として当該中間ノードから各終点ノードまでの最短経路を上記経路コストデータベース14に記憶されたコスト情報をもとにそれぞれ探索し、この探索された中間ノードから各終点ノードまでの最短経路を上記最短経路候補集合PQ記憶部151に最短経路候補として追加する制御を、CPU11に実行させる。
このような高精細探索制御プログラムに従い、サーバ10のCPU11は次のように高精細オプションモードによる探索処理を実行する。図10及び図11はその処理内容を説明するための図である。
すなわち、いま仮に探索対象のドメインネットワークにおいて、例えば図10に示すように起点ノードSと終点ノードD3との間に中間ノードN4が介在配置しているものとする。この場合、起点ノードSから各終点ノードまでの最短経路を探索する1段階目の探索処理では、最短経路として(S−D1)、(S−D1−D2)、(S−N4−D3)、(S−D1−N1−D4)がそれぞれ探索される。そして、これらの最短経路が必要帯域を満足していれば、これらの最短経路(S−D1)、(S−D1−D2)、(S−N4−D3)、(S−D1−N1−D4)が最短経路候補集合PQ記憶部151に格納される。また、上記最短経路候補集合PQに格納された4つの最短経路候補(S−D1)、(S−D2)、(S−N4−D3)、(S−D4)の中から、コストが“2”と最も小さい経路(S−D3)が選択されて、これが集合Rに、またその終点ノードD3が集合Fにそれぞれ格納される。
次にCPU11は、上記集合Fに格納された終点ノードD3を起点とする2段階目の探索処理を実行する。この結果、図11に示すように最短経路として(D3−D1)、(D3−D1−D2)、(D3−N1−D4)がそれぞれ探索される。そして、これらの最短経路が必要帯域を満足していれば、これらの最短経路(D3−D1)、(D3−D1−D2)、(D3−N1−D4)が最短経路候補集合PQ記憶部151に格納される。
またそれと共にCPU11は、高精細オプションモードによる探索を以下のように実行する。すなわち、前記第1段階目の探索処理により決定経路として選択された最短経路(S−N4−D3)に中間ノードが存在するか否かを判定する。この判定の結果、上記最短経路(S−N4−D3)には中間ノードN4が存在するため、CPU11は当該中間ノードN4を起点に設定し、この中間ノードN4から各終点ノードD1,D2,D4までの最短経路を探索する。例えば図10に示すネットワークでは、図11に示すように最短経路(N4−D3−D1)、(N4−D3−D1−D2)、(N4−D3−N1−D4)がそれぞれ探索され、これらが必要帯域を満足していれば上記最短経路候補集合PQ記憶部151に追加される。
そうして高精細オプションモードによる探索が終了すると、CPU11は上記最短経路候補集合PQ記憶部151に格納されたすべての最短経路候補の中からコストが最も小さい最短経路を選択し、この選択した最短経路を決定経路集合R記憶部152に、さらに当該選択された最短経路の終点ノードを決定終点ノード集合F記憶部153にそれぞれ格納する。
このように第2の実施形態によれば、最短経路探索の各段階において、前段階の探索処理において選択された最短経路の終点ノードを起点とする通常モードによる探索処理に加え、当該最短経路の途中に介在配置された中間ノードを起点とする高精細オプションモードによる探索処理が行われ、これらの探索処理により得られた最短経路がそれぞれ最短経路候補集合PQ記憶部151に格納される。このため、最短経路候補の数が増加し、より多くの候補の中から次の段階の探索処理に使用する起点ノードを選択することが可能となり、この結果より低コストの経路を選択する確率を高めることができる。
(第3の実施形態)
この発明の第3の実施形態は、この発明に係わるマルチキャストツリー作成方法を、複数のドメインがコアルータを介して相互に接続されたネットワークシステムに適用した場合を示すものである。図12はそのネットワークシステムの一例を示すものである。
同図において、このネットワークシステムは3つのドメイン51,52,53を備えている。ドメイン51はルータR11,R12とエッジルータER11,ER12を、またドメイン52はルータR21,R22,R23とエッジルータER21を、さらにドメイン53はルータR33とエッジルータER31,ER32をそれぞれ有している。これらのドメイン51,52,53はコアルータCR1,CR2を介して相互に接続され、これによりインタードメイン50を構成している。
上記ドメイン51,52,53にはそれぞれパスコンピューテーションエレメント(PCE;Pass Computation Element)サーバ41,42,43が接続され、これらのPCEサーバ41,42,43はさらに上位のインタードメインPCEサーバ40に接続される。これらのインタードメインPCEサーバ40及びPCEサーバ41,42,43は階層分散してマルチキャストツリーを作成する機能を有し、そのためにPCEサーバ41,42,43はそれぞれドメイン51〜53の経路コストデータベースを備え、またインタードメインPCEサーバ40は上記インタードメイン50の経路コストデータベースを備えている。
PCEサーバ41,42,43の経路コストデータベースには、第1の実施形態で述べたように、ドメイン51,52,53を構成する各ルータ間のすべての経路に対応付けて、そのコストを表す情報と帯域を表す情報が予め記憶されている。また、インタードメインPCEサーバ40の経路コストデータベースには、ドメイン51,52,53間のすべての経路に対応付けて、そのコストを表す情報と帯域を表す情報が予め記憶されている。コストを表す情報は、経路の距離や料金等の既存の要素に加えて当該経路の方向性を反映したものとなっている。また、帯域を表す情報は経路上の伝送帯域を表す情報により表される。
次に、上記インタードメインPCEサーバ40及びPCEサーバ41,42,43によるマルチキャストツリーの作成処理手順とその処理内容を説明する。なお、ここではドメイン51中のルータR11を起点とし、ドメイン52中のルータR22,R23及びドメイン53中のルータR33を終点とするマルチキヤストツリーを作成する場合を例にとって説明する。
起点となるルータR11は、上記起点及び複数の終点を指定するための頂点ノード指定情報を含むマルチキャストツリー作成要求を生成し、このマルチキャストツリー作成要求をPCEサーバ41へ送る(ステップS1)。PCEサーバ41は、上記マルチキャストツリー作成要求を受信すると、当該作成要求に含まれる頂点ノード指定情報から起点及び複数の終点を抽出し、これらが自己の管理するドメイン内に属するものか否かを判定する。この判定の結果、終点は他ドメインに属するため、上記マルチキャストツリー作成要求を上位階層のインタードメインPCEサーバ40へ転送する(ステップS2)。
インタードメインPCEサーバ40は、上記マルチキャストツリー作成要求が転送されると、この作成要求に含まれる頂点ノード指定情報をもとに起点となるドメイン51と終点となるドメイン52,53を認識する。そして、起点ドメイン51から終点ドメイン52,53に至る最短経路を探索して、その探索結果をもとにドメイン間マルチキャストツリーを作成する。このドメイン間マルチキャストツリーの作成は、経路コストデータベースに記憶されたドメイン51,52,53間の経路のコスト情報と帯域情報に基づいて、前記第1の実施形態で述べたドメイン内マルチキャストツリーの作成と同様の処理手順及び処理内容により行われる。この作成処理により、例えば図12の例では最短経路(ER11−CR1−ER31)、(ER12−CR2−ER21)が選択される。
次にインタードメインPCEサーバ40は、上記選択された最短経路(ER11−CR1−ER31)、(ER12−CR2−ER21)に従い、下位層の各PCEサーバ41〜43に対しそれぞれドメイン内マルチキャストツリーの作成要求を送る(ステップS3)。このとき、PCEサーバ41に対しては、起点をルータR11としかつ終点をエッジルータER11とする頂点ノード指定情報を与える。また、PCEサーバ42に対しては、起点をエッジルータER21としかつ終点をルータR22,R23とする頂点ノード指定情報を与え、さらにPCEサーバ43に対しては起点をエッジルータER31としかつ終点をルータR33とする頂点ノード指定情報を与える。
下位層の各PCEサーバ41〜43はそれぞれ、上記インタードメインPCEサーバ40から頂点ノード指定情報により指示された起点から終点までの最短経路を探索し、これによりドメイン内マルチキャストツリーを作成する。このドメイン内マルチキャストツリーの作成も、それぞれの経路コストデータベース14のコスト情報及び帯域情報に基づいて、前記第1の実施形態で述べた処理手順及び内容と同様に行われる。そして、下位層の各PCEサーバ41〜43はそれぞれ、上記作成されたドメイン内マルチキャストツリーの情報を上位層のインタードメインPCEサーバ40へ送る(ステップS3)。
上位層のインタードメインPCEサーバ40は、上記各PCEサーバ41〜43から送られたドメイン内マルチキャストツリーを接続して、ルータR11を起点としかつルータR21,R22,R33を終点とする合成マルチキャストツリーを作成する。そして、この作成された合成マルチキャストツリーの情報を、PCEサーバ41を経由して作成要求元の起点ルータR11に送る(ステップS4,S5)。起点ルータR11は、上記送られた合成マルチキャストツリーの情報をもとにMPLSのシグナリングで明示的にツリーをルータ間で作成する。
このように第3の実施形態によれば、下位層の各PCEサーバ41〜43においてそれぞれのドメインのマルチキャストツリーを作成し、それを上位層のインタードメインPCEサーバ40と合成するようにしたことで、ドメインが階層化されたネットワークシステムに対してもそのマルチキャストツリーを効率良く作成することが可能となる。
(その他の実施形態)
前記各実施形態ではネットワークを構成するノードとは別に設けられたPCEサーバによりマルチキャストツリーを作成する場合を例にとって説明したが、ネットワーク内の任意のノードにおいてマルチキャストツリーを作成するようにしてもよい。
また、前記各実施形態ではPCEサーバ内に経路コストデータベースを設けた場合を例にとって説明したが、マルチキャストツリーを作成するサーバと経路コストデータベースを備えたデータベースサーバとを別々に設け、両サーバ間を通信回線で接続することによりマルチキャストツリー作成装置を構成するようにしてもよい。
その他、マルチキャストツリー作成装置の構成やマルチキャストツリーの作成制御手順とその内容、各ドメインのネットワーク構成やドメインの種類などについても、この発明の要旨を逸脱しない範囲で種々変形して実施できる。
要するにこの発明は、上記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記各実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる各実施形態に亘る構成要素を適宜組み合せてもよい。
この発明の第1の実施形態に係わるマルチキャストツリー作成方法を説明するためのネットワーク構成を示す図である。 この発明の第1の実施形態に係わるマルチキャストツリー作成装置としてのサーバの構成を示すブロック図である。 図2に示したサーバによるマルチキャストツリー作成制御の手順と内容の前半部分を示すフローチャートである。 図2に示したサーバによるマルチキャストツリー作成制御の手順と内容の後半部分を示すフローチャートである。 図3及び図4に示したマルチキャストツリー作成制御の手順と内容を説明するためのネットワーク図である。 図3及び図4に示したマルチキャストツリー作成制御の第1段階目の探索処理を説明するための図である。 図3及び図4に示したマルチキャストツリー作成制御の第2段階目の探索処理を説明するための図である。 図3及び図4に示したマルチキャストツリー作成制御の第3段階目の探索処理を説明するための図である。 図3及び図4に示したマルチキャストツリー作成制御の第4段階目の探索処理を説明するための図である。 この発明の第2の実施形態に係わるマルチキャストツリー作成方法としての高精細オプションモードによる探索処理を説明するためのネットワーク図である。 高精細オプションモードによる探索処理を説明するための図である。 この発明の第3の実施形態に係わるマルチキャストツリー作成方法を説明するためのネットワーク図である。 プリムのアルゴリズムが適用されるネットワークの一例を示す図である。 プリムのアルゴリズムによる第1段階目の探索処理を示す図である。 プリムのアルゴリズムによる第2段階目の探索処理を示す図である。
符号の説明
10…マルチキャストツリー作成装置としてのサーバ、11…CPU、12…バス、13…プログラムメモリ、14…経路コストデータベース、15…データメモリ、16…通信インタフェース、21〜28…ノード、30…ドメイン、40…インタードメインPCEサーバ、41,42,43…PCEサーバ、51,52,53…ドメイン、R11,R12,R21,R22,R23,R33…ルータ、ER11,ER12,ER21,ER31,ER32…エッジルータ、CR1,CR2…コアルータ、131…頂点ノード指定受け付け制御プログラム、132…最短経路探索制御プログラム、133…帯域判定再選択制御プログラム、134…起点再設定制御プログラム、135…高精細探索制御プログラム、151…最短経路候補集合PQ記憶部、152…決定経路集合R記憶部、153…決定ノード集合F記憶部、154…終点Vs記憶部。

Claims (9)

  1. 複数のノードを通信リンクを介して相互に接続可能としたネットワークシステムで使用され、前記複数のノードのうち任意の起点ノードから複数の終点ノードまでの最短経路を表すマルチキャストツリーを作成する装置であって、
    前記複数のノード間の各経路に対応付けて、当該経路の方向性を反映した基準コストを表す情報を記憶する経路情報記憶ユニットと、
    前記複数のノードの中から選択された起点ノード及び複数の終点ノードを表す頂点ノード指定情報の入力を受け付ける入力インタフェースと、
    前記入力インタフェースにより受け付けた頂点ノード指定情報により表される起点ノードを起点として複数のすべての終点ノードを経由する最短経路を、前記経路情報記憶ユニットに記憶された基準コストを表す情報に基づいて探索する制御ユニットと、
    前記制御ユニットの処理過程で生成される情報を格納する第1、第2及び第3の記憶部を有する集合記憶ユニット
    具備し、
    前記制御ユニットは、
    前記入力インタフェースにより受け付けた頂点ノード指定情報により表される起点ノードから各終点ノードまでのそれぞれの最短経路を、前記経路情報記憶ユニットに記憶された基準コストを表す情報に基づいて探索する第1の探索処理手段と、
    前記第1の探索処理手段により探索された起点ノードから各終点ノードまでのそれぞれの最短経路と当該最短経路のコストを表す情報を、最短経路候補の集合として前記集合記憶ユニットの第1の記憶部に格納する手段と、
    前記第1の記憶部に格納された最短経路候補の集合の中から未選択でかつコストが最小となる最短経路を選択し、この選択された最短経路を表す情報を決定された最短経路の集合として前記集合記憶ユニットの第2の記憶部に格納する手段と、
    前記選択された最短経路の終点ノードを表す情報を決定された終点ノードの集合として前記集合記憶ユニットの第3の記憶部に格納する手段と、
    前記第3の記憶部に前記頂点ノード指定情報により指定されたすべての終点ノードを表す情報が格納されたか否かを判定する判定手段と、
    前記判定手段により、前記第3の記憶部に前記すべての終点ノードを表す情報が格納されたと判定されるまで、前記第3の記憶部に格納された終点ノードのうち起点として未選択の終点ノードを新たな起点ノードとして、前記第1の探索処理手段による最短経路の探索から前記判定手段による判定までの処理を繰り返し実行させる制御手段と
    を備えることを特徴とするマルチキャストツリー作成装置。
  2. 前記制御ユニットは、
    前記第1の記憶部に格納された最短経路候補の集合の中に、コストが最小となる最短経路と起点ノードが同じでかつ経路の途中に介在するノードまで同じ通信リンクを使用する再設定対象の最短経路候補が存在するか否かを判定する手段と、
    前記再設定対象の最短経路候補が存在すると判定された場合に、当該最短経路候補の前記経路途中に介在するノードから終点ノードまでの最短経路を前記経路情報記憶ユニットに記憶された基準コストに基づいて探索し直し、この探索し直された最短経路を前記第1の記憶部に格納された再設定対象の最短経路候補に置き換える手段と
    を、さらに備えることを特徴とする請求項1記載のマルチキャストツリー作成装置。
  3. 前記経路情報記憶ユニットは、前記複数のノード間の各経路に対応付けて、当該経路の方向性を反映した基準コストを表す情報と、当該経路の伝送帯域を表す情報とを記憶し、
    前記制御ユニットは、
    前記第1の探索処理手段により探索された最短経路が予め要求された帯域を有しているか否かを、前記経路情報記憶ユニットに記憶された伝送帯域を表す情報に基づいて判定する手段と、
    前記探索された最短経路が予め要求された帯域を有していないと判定された場合に、当該最短経路に代えて前記予め要求された帯域を有する他の経路を前記第1の記憶部に格納する手段と
    を、さらに備えることを特徴とする請求項1記載のマルチキャストツリー作成装置。
  4. 前記第2の記憶部に格納された最短経路の途中に他のノードが介在している場合に、当該経路途中に介在しているノードを起点として当該ノードから前記複数の終点ノードまでの最短経路を、前記経路情報記憶ユニットに記憶された基準コストを表す情報に基づいて探索する第2の探索処理手段と、
    前記第2の探索処理手段により探索された、前記経路途中に介在しているノードから前記複数の終点ノードまでの最短経路を、前記第1の記憶部に追加して格納する手段と
    を、さらに備えることを特徴とする請求項1記載のマルチキャストツリー作成装置。
  5. 複数のノードを通信リンクを介して相互に接続可能としたネットワークシステムの、前記複数のノードのうち任意の起点ノードから複数の終点ノードまでの最短経路を表すマルチキャストツリーを作成する方法であって、
    前記複数のノードの中から選択された起点ノード及び複数の終点ノードを表す頂点ノード指定情報の入力を受け付ける過程と、
    前記受け付けた頂点ノード指定情報により表される起点ノードから各終点ノードまでのそれぞれの最短経路を、経路情報記憶ユニットに前記複数のノード間の各経路に対応付けて記憶された当該経路の方向性を反映した基準コストを表す情報に基づいて探索する第1の探索処理過程と、
    前記探索された起点ノードから各終点ノードまでのそれぞれの最短経路と当該最短経路のコストを表す情報を、最短経路候補の集合として集合記憶ユニットの第1の記憶部に格納する過程と、
    前記第1の記憶部に格納された最短経路候補の集合の中から未選択でかつコストが最小となる最短経路を選択し、この選択された最短経路を表す情報を決定された最短経路の集合として前記集合記憶ユニットの第2の記憶部に格納する過程と、
    前記選択された最短経路の終点ノードを表す情報を決定された終点ノードの集合として前記集合記憶ユニットの第3の記憶部に格納する過程と、
    前記第3の記憶部に前記頂点ノード指定情報により指定されたすべての終点ノードを表す情報が格納されたか否かを判定する判定過程と、
    前記第3の記憶部に前記すべての終点ノードを表す情報が格納されたと判定されるまで、前記第3の記憶部に格納された終点ノードのうち起点として未選択の終点ノードを新たな起点ノードとして、前記第1の探索処理過程から前記判定過程までの処理を繰り返し実行する過程と
    を備えることを特徴とするマルチキャストツリー作成方法。
  6. 前記第1の記憶部に格納された最短経路候補の集合の中に、コストが最小となる最短経路と起点ノードが同じでかつ経路の途中に介在するノードまで同じ通信リンクを共用する再設定対象の最短経路候補が存在するか否かを判定する過程と、
    前記再設定対象の最短経路候補が存在すると判定された場合に、当該最短経路候補の前記経路途中に介在するノードから終点ノードまでの最短経路を前記経路情報記憶ユニットに記憶された基準コストに基づいて探索し直し、この探索し直された最短経路を前記第1の記憶部に格納された再設定対象の最短経路候補に置き換える過程と
    を、さらに備えることを特徴とする請求項5記載のマルチキャストツリー作成方法。
  7. 前記経路情報記憶ユニットが、前記複数のノード間の各経路に対応付けて、当該経路の方向性を反映した基準コストを表す情報と、当該経路の伝送帯域を表す情報とを記憶している場合に、
    前記第1の探索処理過程により探索された最短経路が予め要求された帯域を有しているか否かを、前記経路情報記憶ユニットに記憶された伝送帯域を表す情報に基づいて判定する過程と、
    前記探索された最短経路が予め要求された帯域を有していないと判定された場合に、当該最短経路に代えて前記予め要求された帯域を有する他の経路を前記第1の記憶部に格納する過程と
    を、さらに備えることを特徴とする請求項5記載のマルチキャストツリー作成方法。
  8. 前記第2の記憶部に格納された最短経路の途中に他のノードが介在している場合に、当該経路途中に介在しているノードを起点として当該ノードから前記複数の終点ノードまでの最短経路を、前記経路情報記憶ユニットに記憶された基準コストを表す情報に基づいて探索する第2の探索処理過程と、
    前記第2の探索処理過程により探索された、前記経路途中に介在しているノードから前記複数の終点ノードまでの最短経路を、前記第1の記憶部に追加して格納する過程と
    を、さらに備えることを特徴とする請求項5記載のマルチキャストツリー作成方法。
  9. 複数のノードを通信リンクを介して相互に接続可能としたネットワークシステムで使用されるコンピュータ装置において、前記複数のノードのうち任意の起点ノードから複数の終点ノードまでの最短経路を表すマルチキャストツリーを作成するために使用されるプログラムであって、
    前記複数のノードの中から選択された起点ノード及び複数の終点ノードを表す頂点ノード指定情報を入力インタフェースを介して受け付ける処理と、
    前記受け付けた頂点ノード指定情報により表される起点ノードから各終点ノードまでのそれぞれの最短経路を、経路情報記憶ユニットに前記複数のノード間の各経路に対応付けて記憶された当該経路の方向性を反映した基準コストを表す情報に基づいて探索する第1の探索処理と、
    前記探索された起点ノードから各終点ノードまでのそれぞれの最短経路と当該最短経路のコストを表す情報を、最短経路候補の集合として第1の記憶部に格納する処理と、
    前記第1の記憶部に格納された最短経路候補の集合の中から未選択でかつコストが最小となる最短経路を選択し、この選択された最短経路を表す情報を決定された最短経路の集合として第2の記憶部に格納する処理と、
    前記選択された最短経路の終点ノードを表す情報を決定された終点ノードの集合として第3の記憶部に格納する処理と、
    前記第3の記憶部に前記頂点ノード指定情報により指定されたすべての終点ノードを表す情報が格納されたか否かを判定する処理と、
    前記第3の記憶部に前記すべての終点ノードを表す情報が格納されたと判定されるまで、前記第3の記憶部に格納された終点ノードのうち起点として未選択の終点ノードを新たな起点ノードとして前記第1の探索処理から前記判定処理までの処理を繰り返し実行させる処理と
    を、前記コンピュータ装置に実行させることを特徴とするプログラム。
JP2007047836A 2007-02-27 2007-02-27 マルチキャストツリーを作成するための装置、方法及びプログラム Expired - Fee Related JP4673329B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007047836A JP4673329B2 (ja) 2007-02-27 2007-02-27 マルチキャストツリーを作成するための装置、方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007047836A JP4673329B2 (ja) 2007-02-27 2007-02-27 マルチキャストツリーを作成するための装置、方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2008211656A JP2008211656A (ja) 2008-09-11
JP4673329B2 true JP4673329B2 (ja) 2011-04-20

Family

ID=39787574

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007047836A Expired - Fee Related JP4673329B2 (ja) 2007-02-27 2007-02-27 マルチキャストツリーを作成するための装置、方法及びプログラム

Country Status (1)

Country Link
JP (1) JP4673329B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5419974B2 (ja) * 2009-02-19 2014-02-19 華為技術有限公司 ポイントツーマルチポイントドメイン間マルチプロトコルラベルスイッチングトラフィックエンジニアリング経路計算のシステム、及び方法
JP5271817B2 (ja) * 2009-06-10 2013-08-21 日本電信電話株式会社 経路探索方法、装置及びプログラム
US10547536B2 (en) 2015-08-07 2020-01-28 Micro Focus Llc Identifying shortest paths

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005072869A (ja) * 2003-08-22 2005-03-17 Nippon Telegr & Teleph Corp <Ntt> マルチキャストネットワーク、マルチキャスト転送経路計算方法、マルチキャスト転送経路計算プログラムおよびそのプログラムを記録した記録媒体
JP2005198182A (ja) * 2004-01-09 2005-07-21 Nippon Telegr & Teleph Corp <Ntt> マルチキャスト転送経路計算方法および装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005072869A (ja) * 2003-08-22 2005-03-17 Nippon Telegr & Teleph Corp <Ntt> マルチキャストネットワーク、マルチキャスト転送経路計算方法、マルチキャスト転送経路計算プログラムおよびそのプログラムを記録した記録媒体
JP2005198182A (ja) * 2004-01-09 2005-07-21 Nippon Telegr & Teleph Corp <Ntt> マルチキャスト転送経路計算方法および装置

Also Published As

Publication number Publication date
JP2008211656A (ja) 2008-09-11

Similar Documents

Publication Publication Date Title
CN105049350B (zh) 利用出口对等工程的分段路由的方法、装置及系统
JP6470838B2 (ja) ソフトウェア定義型ネットワーキングにおけるデータ転送方法、装置、およびシステム
EP2911348B1 (en) Control device discovery in networks having separate control and forwarding devices
JP3900195B2 (ja) マルチキャスト転送経路設定方法、及びそれを実現するためのマルチキャストラベルスイッチング方法
JP4960443B2 (ja) 複数ドメインルート計算の方法とシステム
CN102640463B (zh) 动态路由分支系统和动态路由分支方法
CN100596102C (zh) 最小化路径抢占代价的标签交换路径建立方法
EP3043519B1 (en) Method, controller, forwarding device, and network system for forwarding packets
RU2517431C2 (ru) Способ вычисления организации моста между состояниями каналов связи провайдера (plsb)
US20150312138A1 (en) Bicasting using non-congruent paths in a loop-free routing topology having routing arcs
JP4148099B2 (ja) ポイントツーマルチポイントmpls通信方法
JP4598789B2 (ja) 経路計算制御方法、経路計算制御プログラムおよび経路計算制御装置
US9049145B2 (en) Method and apparatus for calculating MPLS traffic engineering paths
JP4533354B2 (ja) 経路計算方法、経路計算プログラムおよび経路計算装置
Kalmykov et al. Segment routing as a basis for software defined network
CN112118181B (zh) 一种流量调度方法及装置
CN107888497A (zh) 通信方法、网络设备和计算机可读存储介质
JP6647179B2 (ja) 経路変換制御装置、経路変換制御方法および経路変換制御プログラム
JP4673329B2 (ja) マルチキャストツリーを作成するための装置、方法及びプログラム
JP6044706B2 (ja) 制御装置、通信システム、通信ノードの制御方法及びプログラム
JP2010199882A (ja) 通信システム、経路計算装置、経路計算方法及びプログラム
JP4231074B2 (ja) マルチキャストラベルスイッチング方法
JP4662286B2 (ja) ポイントツーマルチポイントパス経路計算装置およびプログラム
JP4820832B2 (ja) 仮想プライベートネットワーク管理システム
JP4700662B2 (ja) リルーティング方法、リルーティングプログラムおよびルーティング装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090108

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100917

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101109

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101216

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: 20110118

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110120

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140128

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees