(57)【要約】【課題】ユーザ間遅延分散の削減を可能とするマルチキャスト転送経路計算方法を提供する。【解決手段】  トポロジ情報と遅延情報とを用いて、始点ノードから終点ノードまでの遅延最小経路を各終点ノード毎に求め、始点ノードと各終点ノードまでの複数の遅延最小経路のうちの１つの遅延最小経路上のノードを、マルチキャスト転送における集約点ノードの候補ノードとして選択し、各候補ノードに対し、候補ノードから終点ノードまでの遅延最小経路を各終点ノード毎に算出し、各終点ノード毎の複数の遅延最小経路の遅延のうちの最大値と最小値との差を求め、前記差が最小となる候補ノードを集約点ノードとして選択し、始点ノードから集約点ノードまでの遅延最小経路と、集約点ノードから各終点ノードまでの各遅延最小経路とをマルチキャスト転送経路として出力する。【選択図】  図５
2004208289.tif 000002
【特許請求の範囲】
【請求項１】
複数のノードにより構成されるネットワークにおいて、与えられた始点ノードから複数の終点ノードまでのマルチキャスト転送経路を求めるためのマルチキャスト転送経路計算方法であって、
前記ネットワークのトポロジ情報と遅延情報とを用いて、始点ノードから終点ノードまでの遅延最小経路を各終点ノード毎に求め、  
始点ノードと各終点ノードまでの複数の遅延最小経路うちの１つの遅延最小経路上のノードを、マルチキャスト転送における集約点ノードの候補ノードとして選択し、
各候補ノードに対し、候補ノードから終点ノードまでの遅延最小経路を各終点ノード毎に算出し、各終点ノード毎の複数の遅延最小経路の遅延のうちの最大値と最小値との差を求め、
前記差が最小となる候補ノードを集約点ノードとして選択し、
始点ノードから集約点ノードまでの遅延最小経路と、集約点ノードから各終点ノードまでの各遅延最小経路とをマルチキャスト転送経路として出力する
ことを特徴とするマルチキャスト転送経路計算方法。
【請求項２】
前記候補ノードが存在する遅延最小経路は、始点ノードと各終点ノードまでの複数の遅延最小経路のうち、最大の遅延を有する遅延最小経路である請求項１に記載のマルチキャスト転送経路計算方法。
【請求項３】
複数のノードにより構成されるネットワークにおいて、与えられた始点ノードから複数の終点ノードまでのマルチキャスト転送経路をマルチキャスト転送経路計算装置が計算し、この計算されたマルチキャスト転送経路をマルチキャスト転送経路設定装置が設定するマルチキャスト転送経路設定方法であって、
前記マルチキャスト転送経路設定装置が、前記マルチキャスト転送経路計算装置にマルチキャスト転送経路の計算依頼を行い、
前記マルチキャスト転送経路計算装置が、前記計算依頼に基づいて、
ネットワークのトポロジ情報と遅延情報とを用いて、始点ノードから終点ノードまでの遅延最小経路を各終点ノード毎に求め、  
始点ノードと各終点ノードまでの複数の遅延最小経路うちの１つの遅延最小経路上のノードを、マルチキャスト転送における集約点ノードの候補ノードとして選択し、
各候補ノードに対し、候補ノードから終点ノードまでの遅延最小経路を各終点ノード毎に算出し、各終点ノード毎の複数の遅延最小経路の遅延のうちの最大値と最小値との差を求め、
前記差が最小となる候補ノードを集約点ノードとして選択し、
始点ノードから集約点ノードまでの遅延最小経路と、集約点ノードから各終点ノードまでの各遅延最小経路とをマルチキャスト転送経路として出力し、その出力結果を前記マルチキャスト転送経路設定装置に通知し、
前記マルチキャスト転送経路設定装置が、受付けた前記出力結果に従いマルチキャスト転送経路を設定する
ことを特徴とするマルチキャスト転送経路設定方法。
【請求項４】
前記ネットワークの各ノードが、前記ネットワーク内のトラヒック状態を計測し、当該計測結果を前記マルチキャスト転送経路計算装置に通知し、
前記マルチキャスト転送経路計算装置は、前記計測結果に基づいてマルチキャスト転送経路を計算する請求項３に記載のマルチキャスト転送経路設定方法。
【請求項５】
複数のノードにより構成されるネットワークにおいて、与えられた始点ノードから複数の終点ノードまでのマルチキャスト転送経路を求めるためのマルチキャスト転送経路計算装置であって、
ネットワークのトポロジ情報と遅延情報とを用いて、始点ノードから終点ノードまでの遅延最小経路を各終点ノード毎に求める手段と、  
始点ノードと各終点ノードまでの複数の遅延最小経路うちの１つの遅延最小経路上のノードを、マルチキャスト転送における集約点ノードの候補ノードとして選択する手段と、
各候補ノードに対し、候補ノードから終点ノードまでの遅延最小経路を各終点ノード毎に算出し、各終点ノード毎の複数の遅延最小経路の遅延のうちの最大値と最小値との差を求める手段と、
前記差が最小となる候補ノードを集約点ノードとして選択する手段と、
始点ノードから集約点ノードまでの遅延最小経路と、集約点ノードから各終点ノードまでの各遅延最小経路とをマルチキャスト転送経路として出力する手段と
を有することを特徴とするマルチキャスト転送経路計算装置。
【請求項６】
前記候補ノードが存在する遅延最小経路は、始点ノードと各終点ノードまでの複数の遅延最小経路うち、最大の遅延を有する遅延最小経路である請求項５に記載のマルチキャスト転送経路計算装置。
【請求項７】
前記ネットワークにおけるトポロジ情報及び遅延情報を受信する手段と、
前記受信した情報を記録媒体に記録する手段とを更に備え、
前記情報を前記記録媒体から読み取り、当該情報を用いて経路計算を行う請求項５に記載のマルチキャスト転送経路計算装置。
【請求項８】
前記転送経路の計算結果を転送経路設定用制御メッセージに記載し、該転送経路設定用制御メッセージを前記計算結果が示すマルチキャスト転送経路に沿って送信する手段を更に備えた請求項５に記載のマルチキャスト転送経路計算装置。
【請求項９】
マルチキャスト転送経路設定装置からマルチキャスト転送経路の計算依頼を受信する手段と、
前記計算結果を前記マルチキャスト転送経路設定装置へ送信する手段とを更に備えた請求項５に記載のマルチキャスト転送経路計算装置。
【請求項１０】
複数のノードにより構成されるネットワークにおいて、与えられた始点ノードから複数の終点ノードまでのマルチキャスト転送経路を求めるためのマルチキャスト転送経路計算処理をコンピュータに実行させるプログラムであって、
前記ネットワークのトポロジ情報と遅延情報とを用いて、始点ノードから終点ノードまでの遅延最小経路を各終点ノード毎に求める手順と、  
始点ノードと各終点ノードまでの複数の遅延最小経路うちの１つの遅延最小経路上のノードを、マルチキャスト転送における集約点ノードの候補ノードとして選択する手順と、
各候補ノードに対し、候補ノードから終点ノードまでの遅延最小経路を各終点ノード毎に算出し、各終点ノード毎の複数の遅延最小経路の遅延のうちの最大値と最小値との差を求める手順と、
前記差が最小となる候補ノードを集約点ノードとして選択する手順と、
始点ノードから集約点ノードまでの遅延最小経路と、集約点ノードから各終点ノードまでの各遅延最小経路とをマルチキャスト転送経路として出力する手順と
をコンピュータに実行させるプログラム。
【請求項１１】
前記候補ノードが存在する遅延最小経路は、始点ノードと各終点ノードまでの複数の遅延最小経路うち、最大の遅延を有する遅延最小経路である請求項１０に記載のプログラム。
【請求項１２】
複数のノードにより構成されるネットワークにおいて、与えられた始点ノードから複数の終点ノードまでのマルチキャスト転送経路を求めるためのマルチキャスト転送経路計算処理をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記ネットワークのトポロジ情報と遅延情報とを用いて、始点ノードから終点ノードまでの遅延最小経路を各終点ノード毎に求める手順と、  
始点ノードと各終点ノードまでの複数の遅延最小経路うちの１つの遅延最小経路上のノードを、マルチキャスト転送における集約点ノードの候補ノードとして選択する手順と、
各候補ノードに対し、候補ノードから終点ノードまでの遅延最小経路を各終点ノード毎に算出し、各終点ノード毎の複数の遅延最小経路の遅延のうちの最大値と最小値との差を求める手順と、
前記差が最小となる候補ノードを集約点ノードとして選択する手順と、
始点ノードから集約点ノードまでの遅延最小経路と、集約点ノードから各終点ノードまでの各遅延最小経路とをマルチキャスト転送経路として出力する手順と
をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１３】
前記候補ノードが存在する遅延最小経路は、始点ノードと各終点ノードまでの複数の遅延最小経路うち、最大の遅延を有する遅延最小経路である請求項１２に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１４】
複数のノードにより構成されるネットワークにおいて、与えられた始点ノードから複数の終点ノードまでのマルチキャスト転送経路を求めるためのマルチキャスト転送経路計算方法であって、
ネットワークのトポロジ及びネットワーク転送コストを入力し、
入力された情報を用いて始点ノードを除外した第１の部分距離グラフを構築し、
構築された第１の部分距離グラフより終点ノードを選択し、終点ノード間の最短経路を辺とする第２の部分距離グラフを求め、当該第２の部分距離グラフの最小スパニングツリーを構築し、
当該最小スパニングツリーの各辺における途中ノードを含む部分グラフを求め、当該部分グラフの最小スパニングツリーを構築し、
当該部分グラフの最小スパニングツリーから不要な辺を削除して、すべての終点ノードが包含されるツリーを構築し、
構築された前記ツリーを構成するノードを集約点ノードの候補ノードとし、各候補ノードに対し、候補ノードから各終点ノードまでの転送距離のうちの最大距離と最小距離との差を求め、当該差が最小になる候補ノードを集約点ノードとして選択し、
集約点ノードを介して前記ツリーと始点ノードとを接続することにより、マルチキャスト転送経路を求め、出力する
ことを特徴とするマルチキャスト転送経路計算方法。
【請求項１５】
複数のノードにより構成されるネットワークにおいて、与えられた始点ノードから複数の終点ノードまでのマルチキャスト転送経路をマルチキャスト転送経路計算装置が計算し、この計算されたマルチキャスト転送経路をマルチキャスト転送経路設定装置が設定するマルチキャスト転送経路設定方法であって、
前記マルチキャスト転送経路設定装置が、前記マルチキャスト転送経路計算装置にマルチキャスト転送経路の計算依頼を行い、
前記マルチキャスト転送経路計算装置が、前記計算依頼に基づいて、
ネットワークのトポロジ及びネットワーク転送コストを読み出し、始点ノードを除外した第１の部分距離グラフを構築し、
構築された第１の部分距離グラフより終点ノードを選択し、終点ノード間の最短経路を辺とする第２の部分距離グラフを求め、当該第２の部分距離グラフの最小スパニングツリーを構築し、
当該最小スパニングツリーの各辺における途中ノードを含む部分グラフを求め、当該部分グラフの最小スパニングツリーを構築し、
当該部分グラフの最小スパニングツリーから不要な辺を削除して、すべての終点ノードが包含されるツリーを構築し、
構築された前記ツリーを構成するノードを集約点ノードの候補ノードとし、各候補ノードに対し、候補ノードから各終点ノードまでの転送距離のうちの最大距離と最小距離との差を求め、当該差が最小になる候補ノードを集約点ノードとして選択し、
集約点ノードを介して前記ツリーと始点ノードとを接続することにより、マルチキャスト転送経路を求め、出力し、その出力結果を前記マルチキャスト転送経路設定装置に通知し、
前記マルチキャスト転送経路設定装置が、受付けた前記出力結果に従いマルチキャスト転送経路を設定する
ことを特徴とするマルチキャスト転送経路設定方法。
【請求項１６】
前記ネットワークの各ノードが、前記ネットワーク内のトラヒック状態を計測し、当該計測結果を前記マルチキャスト転送経路計算装置に通知し、
前記マルチキャスト転送経路計算装置は、前記計測結果に基づいてマルチキャスト転送経路を計算する請求項１５に記載のマルチキャスト転送経路設定方法。
【請求項１７】
複数のノードにより構成されるネットワークにおいて、与えられた始点ノードから複数の終点ノードまでのマルチキャスト転送経路を求めるためのマルチキャスト転送経路計算装置であって、
ネットワークのトポロジ及びネットワーク転送コストを入力する手段と、
入力された情報を用いて始点ノードを除外した第１の部分距離グラフを構築しする手段と、
構築された第１の部分距離グラフより終点ノードを選択し、終点ノード間の最短経路を辺とする第２の部分距離グラフを求め、当該第２の部分距離グラフの最小スパニングツリーを構築する手段と、
当該最小スパニングツリーの各辺における途中ノードを含む部分グラフを求め、当該部分グラフの最小スパニングツリーを構築する手段と、
当該部分グラフの最小スパニングツリーから不要な辺を削除して、すべての終点ノードが包含されるツリーを構築する手段と、
構築された前記ツリーを構成するノードを集約点ノードの候補ノードとし、各候補ノードに対し、候補ノードから各終点ノードまでの転送距離のうちの最大距離と最小距離との差を求め、当該差が最小になる候補ノードを集約点ノードとして選択する手段と、
集約点ノードを介して前記ツリーと始点ノードとを接続することにより、マルチキャスト転送経路を求め、出力する手段と
を有することを特徴とするマルチキャスト転送経路計算装置。
【請求項１８】
前記ネットワークにおけるトポロジ情報及び転送コスト情報を受信する手段と、
前記受信した情報を記録媒体に記録する手段とを更に備え、
前記情報を前記記録媒体から読み取り、当該情報を用いて経路計算を行う請求項１７に記載のマルチキャスト転送経路計算装置。
【請求項１９】
前記転送経路の計算結果を転送経路設定用制御メッセージに記載し、該転送経路設定用制御メッセージを前記計算結果が示すマルチキャスト転送経路に沿って送信する手段を更に備えた請求項１７に記載のマルチキャスト転送経路計算装置。
【請求項２０】
マルチキャスト転送経路設定装置からマルチキャスト転送経路の計算依頼を受信する手段と、
前記計算結果を前記マルチキャスト転送経路設定装置へ送信する手段とを更に備えた請求項１７に記載のマルチキャスト転送経路計算装置。
【請求項２１】
複数のノードにより構成されるネットワークにおいて、与えられた始点ノードから複数の終点ノードまでのマルチキャスト転送経路を求めるためのマルチキャスト転送経路計算処理をコンピュータに実行させるプログラムであって、
ネットワークのトポロジ及びネットワーク転送コストを読み出す手順と、
始点ノードを除外した第１の部分距離グラフを構築する手順と、
構築された第１の部分距離グラフより終点ノードを選択し、終点ノード間の最短経路を辺とする第２の部分距離グラフを求め、当該第２の部分距離グラフの最小スパニングツリーを構築する手順と、
当該最小スパニングツリーの各辺における途中ノードを含む部分グラフを求め、当該部分グラフの最小スパニングツリーを構築する手順と、
当該部分グラフの最小スパニングツリーから不要な辺を削除して、すべての終点ノードが包含されるツリーを構築する手順と、
構築された前記ツリーを構成するノードを集約点ノードの候補ノードとし、各候補ノードに対し、候補ノードから各終点ノードまでの転送距離のうちの最大距離と最小距離との差を求め、当該差が最小になる候補ノードを集約点ノードとして選択する手順と、
集約点ノードを介して前記ツリーと始点ノードとを接続することにより、マルチキャスト転送経路を求める手順と
をコンピュータに実行させるプログラム。
【請求項２２】
複数のノードにより構成されるネットワークにおいて、与えられた始点ノードから複数の終点ノードまでのマルチキャスト転送経路を求めるためのマルチキャスト転送経路計算処理をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
ネットワークのトポロジ及びネットワーク転送コストを読み出す手順と、
始点ノードを除外した第１の部分距離グラフを構築する手順と、
構築された第１の部分距離グラフより終点ノードを選択し、終点ノード間の最短経路を辺とする第２の部分距離グラフを求め、当該第２の部分距離グラフの最小スパニングツリーを構築する手順と、
当該最小スパニングツリーの各辺における途中ノードを含む部分グラフを求め、当該部分グラフの最小スパニングツリーを構築する手順と、
当該部分グラフの最小スパニングツリーから不要な辺を削除して、すべての終点ノードが包含されるツリーを構築する手順と、
構築された前記ツリーを構成するノードを集約点ノードの候補ノードとし、各候補ノードに対し、候補ノードから各終点ノードまでの転送距離のうちの最大距離と最小距離との差を求め、当該差が最小になる候補ノードを集約点ノードとして選択する手順と、
集約点ノードを介して前記ツリーと始点ノードとを接続することにより、マルチキャスト転送経路を求める手順と
をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチキャスト転送経路を計算する技術に係り、特に、マルチキャスト通信ネットワークにおいて、マルチキャストトラヒックの始点ノードから複数の終点ノードまでの、効率的なマルチキャスト転送経路を計算する技術に関する。
【背景技術】
【０００２】
コンピユータネットワーク上で、動画や音声を特定多数のユーザに配送するマルチキャスト通信が注目を集めている。この通信方式は、経路の始点と選択された１つ以上の終点を結ぶ経路のうち、経路が分かれる部分において情報をコピーし、各終点へと情報を配送する通信方式である。
【０００３】
特定多数の終点へ始点と一対一で通信を行うユニキャスト通信を用いて情報を配送した場合、終点の数だけ始点は情報を用意する必要がある。よって、マルチキャスト通信を用いることにより、ネットワーク内の情報量を減少することができる。
【０００４】
マルチキャスト通信では、特定多数の終点をマルチキャストグループと呼ばれる管理単位で管理を行い、マルチキャストグループに対して１つの転送経路が設定される。この転送経路は始点からマルチキャストグループに属するすべての終点を接続するよう設定される。またあるマルチキャストグループヘと転送される情報を取得したいユーザはマルチキャストグループに参加することで情報を取得する。このため、ユーザの参加状況に応じて転送経路は変化する。
【０００５】
尚、マルチキャスト通信を用いるアプリケーションとして、テレビ会議やオンラインゲーム、映画やテレビ等の動画配送があげられる。テレビ会議やオンラインゲームは複数のユーザがデータの終点となり、同時に受信したデータに対し応答を返すため始点ともなる。このようなアプリケーションでは、あるユーザが送信したデータに対し各ユーザが応答する時間を同程度することで、各ユーザの発言機会を均等にする技術が注目を集めている。応答時間の均等化を実現する手段としては、始点から各終点までの情報の転送経路において全終点とも同等の遅延を発生するよう設計する（始点から全終点までのデータ転送の時間を同等にするよう設計する）ものがある。
【０００６】
ここで、情報が各終点まで到達する時に転送経路上で発生する情報の転送遅延の差異をユーザ間遅延分散と呼ぶ。ただし、既存のコンピュータネットワークでは遅延最小経路を計算するアルゴリズムを用いて経路を計算する方式が主流で、ユーザ間遅延分散を計算するアルゴリズムを採用した通信方式は存在しない。尚、ユーザ間遅延分散の削減を実現するアルゴリズムに関する従来技術として、例えば、非特許文献１「G,Rouskas，外，‘Multicast Routing With End-to-End Delay and Delay Variation Constraints’，IEEE Journal on Selected Areas in Communication，Vol 15，NO.3，Apr 1997．」、非特許文献２「Pi-Rong Sheu，外，‘A Fast and Efficient Heuristic Algorithm for the Delay and Delay Variation Bound Multicast Tree Problem’，IEEEICC，2001．」がある。
【０００７】
非特許文献１はこの問題を転送経路の選択という観点で解決した最初の論文である。まず、上記非特許文献１の経路計算の指針を以下に述べる。
【０００８】
データ転送の始点から各終点までの遅延が最も小さい遅延最小経路を計算し、最も大きな遅延が発生する終点までの遅延ｗを調べる。そして、アプリケーションが許容するユーザ間遅延分散の値をΔとすると、始点からの遅延ｄｉがｄｉ≦ｗ−Δの条件を満たす終点ｉまでの経路を転送経路として採用する。採用されなかった経路については条件を満たすような経路をｋ番目に短い経路を探索するアルゴリズムを用いて探索し、転送経路として採用する。終点の数をｍ、ネットワーク内のノード数をｎとすると、この方式の計算量はＯ（ｋｍｎ３）となる。
【０００９】
非特許文献２の論文では、非特許文献１で提案された方式より計算量の少ない方式を提案し、経路の計算時間を短縮している。計算の方針を以下に示す。この方式では、転送経路は経路の始点から集約点と呼ばれるノードを結ぶ１対１のユニキャスト経路と集約点から経路の終点を結ぶ１対多のマルチキャスト経路からなる。ネットワーク内の各ノードにおいて、それぞれを根とし、自身を除く他のネットワーク内のノードヘとつながる遅延最小経路を計算する。
【００１０】
ネットワーク内に存在する任意のノードｉから全終点までの遅延を計算し、その最大値と最小値の差をＤｉとすると、Ｄｉが最小となるようなノードをデータの集約点として選択する。始点からのデータをノードｉに集約した後、各終点に配送するような経路を計算する。この方式の計算量はＯ（ｎ３）となり、非特許文献１の方式に比べ、早い計算を実現できる。
【００１１】
ここで、上記の従来の技術では、以下のような問題がある。
【００１２】
上述の２つの経路計算の方法は、必要な計算量が大きくなるという特徴を有する。また、ユーザ間遅延分散の削減が求められるアプリケーションはリアルタイム性を要するものが多いため、これらのアプリケーションの実現のためには、ある程度の遅延削減を実現することが必要である。計算量の削減を目的とした非特許文献２の方式のようにデータの集約点を設ける方式は、一般的に遅延最小経路の実現が困難であることが指摘されている。このため、各終点までの転送遅延が総じて大きくなるという問題が生じる。
【００１３】
さて、マルチキャスト通信ネットワークを構築する場合には、マルチキャストトラヒック送信ノード（始点ノード）とマルチキャストトラヒック受信ノード（終点ノード）の間にいかに効率的にマルチキャスト通信経路を設定するかという観点から、マルチキャスト通信経路全体の転送コストを最小化する最小木問題が知られている。この問題は、Steiner ツリー問題と呼ばれ、ネットワークが大規模になると、始点ノードと終点ノードの間で理想的な最小木を構成するマルチキャスト通信経路を計算するのは有限の計算時間では不可能になるというＮＰ問題として知られている。
【００１４】
このようにSteiner 問題の理想解を求めることはＮＰ困難であるが、理想解に近い近似解を発見的に導出する計算方式が提案されている。発見的に最小木の近似解を導出可能なＫＭＢ通信方式がある（例えば、非特許文献３「L.Kou, G.Markowsky, and L.Berman, "A Fast Algorithm for Steiner Tree," Acta Informatica 15, 1981,pp.141-145.」）。この方式では、まず、始めに始点ノード、終点ノードグループを抽出し、抽出ノード間の最短距離で構成される新たな辺による部分グラフを構築する。この構築された部分グラフより、最小のスパニングツリーを構成し、最小スパニングツリーを構成する辺を、先に導いた最小転送経路を構成する辺の集合で置き換え、部分グラフを構築する。こうして構成された部分グラフよりさらに最小スパニングツリーを構成し直し、完成されたスパニングツリーより不要な枝経路を削除することによりマルチキャスト通信経路を構成する。
【００１５】
しかしながら、上記非特許文献３に記載されたような従来のマルチキャスト通信経路計算方式は、マルチキャスト通信経路全体の転送コストを最小化することは可能であるが、計算過程において、始点ノードから、終点ノードグループまでの配信コスト分散を考慮していない。このため、始点ノードから各マルチキャスト受信ノードまでの転送コストを個別に考慮した場合、終点ノードまでの転送コストに大きなバラツキが発生する。このため、このようなマルチキャスト通信経路計算方式を受信者間の転送遅延バラツキを許容しないリアルタイム系のマルチメディアアプリケーションに適用した場合、マルチキャスト受信者毎にトラヒック受信に大きなバラツキが発生し、大きな問題を生じる。
【非特許文献１】「G,Rouskas，外，‘Multicast Routing With End-to-End Delay and Delay Variation Constraints’，IEEE Journal on Selected Areas in Communication，Vol 15，NO.3，Apr 1997．」
【非特許文献２】「Pi-Rong Sheu，外，‘A Fast and Efficient Heuristic Algorithm for the Delay and Delay Variation Bound Multicast Tree Problem’，IEEEICC，2001．」
【非特許文献３】「L.Kou, G.Markowsky, and L.Berman, "A Fast Algorithm for Steiner Tree," Acta Informatica 15, 1981,pp.141-145.」）
【発明の開示】
【発明が解決しようとする課題】
【００１６】
本発明は上記の点を鑑みなされたもので、マルチキャスト転送経路の計算速度の向上を実現し、また、ユーザ間遅延分散の削減を可能とする技術を提供することを目的とする。更に、本発明は、マルチキャスト通信経路全体の転送コストを抑えながら、ユーザ間遅延分散の削減を可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【００１７】
上記の目的を達成するために、本発明は、複数のノードにより構成されるネットワークにおいて、与えられた始点ノードから複数の終点ノードまでのマルチキャスト転送経路を求めるためのマルチキャスト転送経路計算方法であって、
前記ネットワークのトポロジ情報と遅延情報とを用いて、始点ノードから終点ノードまでの遅延最小経路を各終点ノード毎に求め、始点ノードと各終点ノードまでの複数の遅延最小経路うちの１つの遅延最小経路上のノードを、マルチキャスト転送における集約点ノードの候補ノードとして選択し、各候補ノードに対し、候補ノードから終点ノードまでの遅延最小経路を各終点ノード毎に算出し、各終点ノード毎の複数の遅延最小経路の遅延のうちの最大値と最小値との差を求め、前記差が最小となる候補ノードを集約点ノードとして選択し、始点ノードから集約点ノードまでの遅延最小経路と、集約点ノードから各終点ノードまでの各遅延最小経路とをマルチキャスト転送経路として出力するように構成される。
【００１８】
本発明によれば、従来の方式よりも早い計算時間で、ユーザ間遅延分散の削減が可能となる。
【００１９】
また、前記候補ノードが存在する遅延最小経路は、始点ノードと各終点ノードまでの複数の遅延最小経路うち、最大の遅延を有する遅延最小経路としてもよい。
【００２０】
また、上記の目的を達成するために、本発明は、複数のノードにより構成されるネットワークにおいて、与えられた始点ノードから複数の終点ノードまでのマルチキャスト転送経路を求めるためのマルチキャスト転送経路計算方法であって、ネットワークのトポロジ及びネットワーク転送コストを入力し、入力された情報を用いて始点ノードを除外した第１の部分距離グラフを構築し、構築された第１の部分距離グラフより終点ノードを選択し、終点ノード間の最短経路を辺とする第２の部分距離グラフを求め、当該第２の部分距離グラフの最小スパニングツリーを構築し、当該最小スパニングツリーの各辺における途中ノードを含む部分グラフを求め、当該部分グラフの最小スパニングツリーを構築し、当該部分グラフの最小スパニングツリーから不要な辺を削除して、すべての終点ノードが包含されるツリーを構築し、構築された前記ツリーを構成するノードを集約点ノードの候補ノードとし、各候補ノードに対し、候補ノードから各終点ノードまでの転送距離のうちの最大距離と最小距離との差を求め、当該差が最小になる候補ノードを集約点ノードとして選択し、集約点ノードを介して前記ツリーと始点ノードとを接続することにより、マルチキャスト転送経路を求め、出力するように構成する。
【００２１】
本発明によれば、マルチキャスト転送経路計算を実施するときに、転送ツリー全体を最小化する計算プロセスと、送信者から各マルチキャスト受信者までの転送コストを揃えるようにマルチキャスト転送ツリーを整形するプロセスとを有することにより、マルチキャスト転送経路全体の転送コストを最小化しながら、マルチキャスト送信ノードから、各マルチキャスト受信ノードまでの転送コストが均一化するようなマルチキャスト転送経路を得ることができる。
【００２２】
また、計算した最小ツリーにおいて、送信者から受信者までの転送経路分散を最適化するような集約点をダイナミックに設定可能な点が従来技術と異なる。
【発明の効果】
【００２３】
本発明によれば、従来の方式よりも早い計算時間で、ユーザ間遅延分散の削減が可能となる。
【００２４】
また、本発明によれば、マルチキャスト転送経路計算を実施するときに、転送ツリー全体を最小化する計算プロセスと、送信者から各マルチキャスト受信者までの転送コストを揃えるようにマルチキャスト転送ツリーを整形するプロセスとを有することにより、マルチキャスト転送経路全体の転送コストを最小化しながら、マルチキャスト送信ノードから、各マルチキャスト受信ノードまでの転送コストが均一化するようなマルチキャスト転送経路を得ることができる。
【００２５】
また、計算した最小ツリーにおいて、送信者から受信者までの転送経路分散を最適化するような集約点をダイナミックに設定可能な点が従来技術と異なる。
【発明を実施するための最良の形態】
【００２６】
以下、本発明の実施の形態を図面を参照して説明する。
【００２７】
（第1の実施の形態）
まず、本発明の第1の実施の形態によるマルチキャスト転送経路設定方法を図面を参照して説明する。
【００２８】
図１は本実施の形態の概要を説明するための図である。本実施の形態のマルチキャストネットワークは、マルチキャスト転送装置を含む複数のノードにより構成されており、また複数のノードのうちのいずれかのノードにマルチキャスト転送経路計算装置またはマルチキャスト転送経路設定装置が設けられている。なお、マルチキャスト転送経路計算装置は、マルチキャストネットワークを構成する各ノードとは別の装置でもよい。また、マルチキャスト転送経路計算装置とマルチキャスト転送経路設定装置とを１つのノードに備えてもよい。
【００２９】
ネットワーク内のマルチキャスト転送装置（ノード）が各リンクで発生するデータ転送の遅延などを示すネットワーク計測情報を収集し（１）、各マルチキャスト転送装置がマルチキャスト転送経路計算装置やマルチキャスト転送経路設定装置にネットワーク計測情報を通知する（２）。そしてマルチキャストにより転送するデータの転送経路の設定の必要性が生じたときに、マルチキャスト転送経路設定装置とマルチキャスト転送経路計算装置が後述の処理によりデータの転送経路の設定を実行する。本実施の形態においては、マルチキャスト転送装置はノード間で転送されるデータのネットワーク計測情報を収集する機能を有し、マルチキャスト転送経路計算装置は転送経路を計算する機能を有し、マルチキャスト転送経路設定装置は転送経路を設定する機能を有する。
【００３０】
ここで、マルチキャスト転送経路設定装置とマルチキャスト転送経路計算装置が異なる装置である場合には、マルチキャスト転送経路設定装置がマルチキャスト転送経路計算装置へ転送経路の計算を依頼をする（３）。また、マルチキャスト転送経路設定装置とマルチキャスト転送経路計算装置が同一装置である場合、マルチキャスト転送経路設定装置が自身の経路計算モジュールに経路計算を指示する（４）。そして、マルチキャスト転送経路設定装置もしくはマルチキャスト転送経路計算装置の経路計算モジュールが、収集した情報をもとに転送経路を計算する（５）。そして計算結果はマルチキャスト転送経路設定装置の経路設定モジュールに通知され（６）、当該計算結果を受信したマルチキャスト転送経路設定装置がマルチキャスト転送経路を設定する（７）。
【００３１】
尚、上述のネットワーク計測情報を収集する機能においては、すでに提案されているＯＳＰＦ-ＴＥ（Open Shortest Path First-Traffic Engineering）やＩＳ-ＩＳ-ＴＥ（Intermediate system-Intermediate system-Traffic Engineering）などの、隣接ノード間でのネットワーク計測情報を交換する機能が備わったプロトコルを用いる。
【００３２】
また、マルチキャスト転送経路計算装置は、マルチキャスト転送装置からネットワーク計測情報を受信する機能と、かつ転送経路の計算結果を送信するパケット転送機能、経路計算に使用するアルゴリズムを実現するプログラム、ネットワーク計測情報や経路計算プログラムや経路計算結果を保存する記憶媒体、ならびに経路計算を実行する経路計算機能により構成される。なお、マルチキャスト転送経路計算装置は、ネットワーク計測情報を自身で収集する代わりに、マルチキャスト転送経路計算装置からネットワーク計測情報を受信してもよい。
【００３３】
また、本実施の形態で使用する経路計算プログラムは、転送経路の始点から各終点までの遅延最小経路を計算する機能と、計算された経路のうち最大のデータ転送の遅延が発生する終点までの経路の上に存在する候補ノードから各終点までのデータ転送の遅延を計算する機能と、各候補ノードにおいて、各終点までの遅延の最小と最大の差を求め、その差が最小となる候補ノードを集約点（ランデブーポイントともいう）として選択する機能とを有する。
【００３４】
上記機能により、本実施の形態では集約点の候補を限定するため、計算時間を文献２に記載の方式より短縮することが可能である。さらに、本実施の形態では前記集約点をユーザ間遅延分散削減に有効である選択基準に従い選択することで、従来広く用いられている始点と終点間の遅延が最も小さい遅延最小経路を転送経路に採用していたマルチキャスト転送経路計算装置に比べて、ユーザ間遅延分散の削減に有効である。
【００３５】
また本実施の形態では、既存のネットワーク内のトラヒック状態を示すネットワーク計測情報の収集機能を利用するだけで、容易に転送経路の計算をすることが可能となる。そしてネットワーク計測情報をマルチキャスト転送経路計算装置が取得することは容易であり、転送経路計算のために必要なネットワーク計測情報を収集するために新たなプロトコルの開発を必要としないという利点がある。
【００３６】
次に、本実施の形態のマルチキャスト転送経路設定方法を実現するために必要なマルチキャスト転送経路計算装置とマルチキャスト転送経路設定装置を説明する。
【００３７】
図２はマルチキャスト転送経路計算装置の構成を示す図である。この図において符号１０はマルチキャスト転送経路計算装置である。そして、図２に示すマルチキャスト転送経路計算装置１０はネットワーク内のノードや各ノードを繋ぐリンクで発生する遅延やコストに関するネットワーク計測情報を管理する情報管理部１１と、転送経路を計算する経路計算部１２と、送受信するパケットを処理するパケット処理部１３により構成される。そして、マルチキャスト転送経路計算装置１０のパケット処理部１３が、ネットワーク計測情報及び経路計算依頼の受信や、経路計算部１２が計算した転送経路の計算結果のマルチキャスト転送経路設定装置への送信を行う。
【００３８】
またマルチキャスト転送経路計算装置１０の情報管理部１１は、トラヒック状態の情報の収集に使用するＯＳＰＦやＩＳ−ＩＳなどのルーチングプロトコルで使用される情報交換プロトコルを処理するルーチングプロトコルモジュール１１１と、そのプロトコルによって得られたネットワークのトポロジ、遅延、コストなどのネットワーク計測情報を管理する計測情報記憶部１１２とを備えている。また経路計算部１２は、転送経路を計算する経路計算モジュール１２１と、計算結果を記憶する計算結果記憶部１２２とを備えている。
【００３９】
また、パケット処理部１３は到着したパケットの種別を判断し、そのパケットを転送、または情報管理部１１に送るパケット処理モジュール１３１と、パケットの転送先を記録するパケット転送テーブル記憶部１３２と、ネットワークインタフェース１３３とを備えている。
【００４０】
本実施の形態における経路計算モジュール１２１の構成の一例を図３に示す。なお、経路計算モジュール１２１の各部の機能は、ＣＰＵ、メモリなどのハードウェアと、プログラムにより実現されるものである。
【００４１】
図３に示すように、経路計算モジュール１２１は、ネットワークのトポロジ情報と遅延情報を入力する入力部１４１と、ネットワークのトポロジ情報と遅延情報とを用いて、始点ノードから終点ノードまでの遅延最小経路を各終点ノード毎に求める遅延最小経路算出部１４２と、始点ノードと各終点ノードまでの複数の遅延最小経路のうちの１つの遅延最小経路上のノードを、マルチキャスト転送における集約点ノードの候補ノードとして選択する候補ノード選択部１４３と、各候補ノードに対し、候補ノードから終点ノードまでの遅延最小経路を各終点ノード毎に算出し、各終点ノード毎の複数の遅延最小経路の遅延のうちの最大値と最小値との差を求める差算出部１４４と、前記差が最小となる候補ノードを集約点ノードとして選択する集約点ノード選択部１４５と、始点ノードから集約点ノードまでの遅延最小経路と、集約点ノードから各終点ノードまでの各遅延最小経路とをマルチキャスト転送経路として出力する出力部１４６とを有している。
【００４２】
なお、マルチキャスト転送経路計算装置１０は、マルチキャストネットワークとは別に備えられた、ＣＰＵ、メモリ、ハードディスク等を有する一般的なコンピュータを用いて構成することもできる。この場合、経路計算に必要な情報を外部から適宜与え、マルチキャスト転送経路計算を行うプログラムにより経路計算を行う。
【００４３】
図４はマルチキャスト転送経路設定装置の構成を示す図である。この図において符号２０はマルチキャスト転送経路設定装置である。そして、図４に示すマルチキャスト転送経路設定装置２０は、ネットワーク内のノードやリンクで発生する遅延やコストに関する情報を管理する情報管理部２１と、自身の処理により発生する遅延やコストなどを測定する測定部２２と、新たなデータフローが発生したときに経路設定を行う経路設定用プロトコル処理部２３と、到着したパケットを処理するパケット処理部２４により構成される。
【００４４】
そして、情報管理部２１の基本構成はマルチキャスト転送経路計算装置１０の情報管理部１１と同様であり、ルーチングプロトコルモジュール２１１と、計測情報記憶部２１２を備えている。また、測定部２２はパケット処理部２４が備えるネットワークインタフェース２４３の状態や、ネットワーク上の各ノードの処理の遅延などの情報を測定する測定モジュールを備えている。また、パケット処理部２４は到着したパケットの種別を判断し、パケットの転送を行い、また新規の経路設定の決定を判断するパケット処理モジュール２４１と、パケットの転送先を記録するパケット転送テーブル記憶部２４２と、ネットワークインタフェース２４３を備えている。また、マルチキャスト転送経路設定装置２０は経路計算部２５を備えており、経路計算部２５は転送経路を計算する計算処理モジュール２５１と、計算結果を記憶する計算結果記憶部２５２とを備えている。尚、転送経路の計算をマルチキャスト転送経路設定装置２０が行なう場合には、この経路計算部２５がマルチキャスト転送経路計算装置１０と同様の処理を行なう。また、転送経路の計算をマルチキャスト転送経路設定装置２０が行なわない場合には、経路計算部２５を備えなくてもよい。
【００４５】
経路設定用プロトコル処理部２３はパケット処理部２４から経路設定依頼を受信し、その経路設定依頼のマルチキャスト転送経路計算装置１０への送信処理を行なう。また経路設定用プロトコル処理部２３はマルチキャスト転送経路計算装置１０から受信した転送経路の計算結果に従ってデータ転送の為の転送経路を設定する機能を有する。
【００４６】
尚、マルチキャスト転送経路計算装置１０とマルチキャスト転送経路設定装置２０が同一ノードである場合には、そのノードはマルチキャスト転送経路計算装置１０とマルチキャスト転送経路設定装置２０の各処理部を有し、上述の各処理部の処理を行なう。
【００４７】
次に上記のマルチキャスト転送経路計算装置１０、マルチキャスト転送経路設定装置２０、マルチキャスト転送装置の動作を説明する。
【００４８】
ネットワーク内のマルチキャスト転送装置の機能を有するノードは常にネットワークのトポロジ、遅延やコストを表すネットワーク計測情報を隣接ノード間で交換する。そして各ノードは、その交換の処理によって得られたネットワーク計測情報を記憶する。
【００４９】
ノードが交換するネットワーク計測情報は、自ノードで計測したネットワーク計測情報のみならず、自ノードが保持する他ノードが計測したネットワーク計測情報も含まれる。これらの交換動作により、各ノードはネットワーク内の全ノードにおける接続情報及び遅延などのネットワーク計測情報を保持する。
【００５０】
そして、新たに転送経路を設定するマルチキャスト転送経路設定装置２０の機能を有するノードは、マルチキャスト転送経路計算装置１０の機能を有するノードに経路計算依頼をする。このとき、マルチキャスト転送経路計算装置１０の機能を有するノードは情報管理部１１で管理されているネットワーク内のトポロジや遅延などトラヒックに関するネットワーク計測情報と、経路計算依頼をしたノードから送られてきた終点の情報に基づいて転送経路を計算する。
【００５１】
図５はマルチキャスト転送経路計算装置１０における経路計算の処理を示すフローチャートである。
【００５２】
まず、マルチキャスト転送経路設定装置２０からの経路計算依頼をマルチキャスト転送経路計算装置１０が受付ける。この時、マルチキャスト転送経路計算装置１０は、マルチキャスト転送経路設定装置２０からデータ転送の始点、終点の情報も受付ける。すると、マルチキャスト転送経路計算装置１０の経路計算部１２が情報管理部１１の計測情報記憶部１１２に記録されているネットワークのトポロジやトラヒック状態を示すネットワーク計測情報を読み取る（ステップＳ１）。そして、経路計算モジュール１２１がネットワーク計測情報を用いて、データ転送の始点と終点までの遅延が最も小さい遅延最小経路を計算する（ステップＳ２）。このとき、経路計算モジュール１２１は経路計算依頼を送信したノードを始点とし、データ転送の各終点ノードまでの遅延最小経路を計算する。尚、遅延最小経路の計算にはダイクストラのアルゴリズムを用いる。これにより、経路計算依頼を出したノードと各終点までの遅延最小経路が算出される。
【００５３】
次にマルチキャスト転送経路計算装置１０の経路計算モジュール１２１はステップＳ２で求めた始点から終点までの遅延最小経路のうち、データ転送の遅延が最大となる遅延最小経路を選択する（ステップＳ３）。そして、経路計算モジュール１２１は、ステップＳ３で選択した遅延最小経路上に存在する各ノード（候補ノード）から各終点までのデータ転送の遅延を算出し（ステップＳ４）、算出した複数の遅延のうちの最大の遅延と最小の遅延の差を各候補ノードごとに比較して、最もその差が小さい候補ノードを集約点として選択する（ステップＳ５）。尚ステップＳ５は具体的には、候補ノードから各終点までのデータ転送にかかる遅延の最大値と最小値の差δを、候補ノード毎に計算し、最も小さいδを実現する候補ノードを集約点とする処理である。そして、経路計算モジュール１２１は始点から選択した集約点と、当該集約点を中心とする各終点までの経路を示す計算結果を、パケット処理部１３を介して経路計算依頼を出したノードに返送する（ステップＳ６）。
【００５４】
尚、本実施の形態では、マルチキャスト転送装置が遅延などのネットワーク計測情報を収集する際には、ＯＳＰＦ-ＴＥを用いる。ＯＳＰＦ−ＴＥはユニキャストのルーチングプロトコルであるＯＳＰＦのトポロジ情報交換情報に遅延などのネットワーク内のトラヒック情報を格納した通信プロトコルである。
【００５５】
また、本実施の形態では、データの転送経路を設定するプロトコルとして、明示的な経路指定を実現するＲＳＶＰ-ＴＥ（Resource Reservation Protocol-Traffic Engineering）を拡張したマルチキャストＭＰＬＳ（Multi Protocol Label Switching）プロトコルを使用する。マルチキャストＭＰＬＳは、通常のＭＰＬＳで用いられるＲＳＶＰ-ＴＥに対して、ＬＳＰ（Label Switched Path）を生成するメッセージ中にツリートポロジを格納できる情報要素を追加し、そのトポロジ情報に沿ってＰｏｉｎｔ-ｔｏ-Ｍｕｌｔｉｐｏｉｎｔ ＬＳＰを確立することができる技術である。
【００５６】
次に、本実施の形態による転送経路を計算する処理の例について説明する。
図６はマルチキャストネットワークを示す図である。この図において符号１〜５はデータ転送の終点である。またＡ〜Ｉは始点と終点との間の中間点のノードであり、マルチキャスト転送装置の機能を有している。尚、マルチキャスト転送経路設定装置２０、ノードＡ〜Ｉ、終点１〜５の各ノードが通信回線により接続（リンク）されてマルチキャストネットワークを構成している。そして各ノード間に表示されている数字はそれぞれのリンクにおける遅延を表している。
【００５７】
そして、マルチキャスト転送経路設定装置２０は、マルチキャスト転送経路計算装置１０が計算した結果に基づいて、自らを始点として終点１〜終点５に対してデータを転送する。尚、各ノード間のリンクで発生する遅延を示すネットワーク計測情報は先述のＯＳＰＦ-ＴＥを用いて各ノードが収集する。そして当該ネットワーク計測情報が予めマルチキャスト転送経路計算装置１０に通知される。
【００５８】
図７は、データ転送の始点と各終点を結ぶ経路のうち遅延最小経路を示した図である。
【００５９】
マルチキャスト転送経路計算装置１０は、マルチキャスト転送経路設定装置２０からの経路計算依頼を受けると、まず、始点となるマルチキャスト転送経路設定装置２０から各終点１〜５までの遅延最小経路を計算する。この時マルチキャスト転送経路計算装置１０は遅延最小経路の計算アルゴリズムとしてダイクストラのアルゴリズムを用いる。ダイクストラのアルゴリズムは遅延最小経路を計算するアルゴリズムとしては一般的によく使用される。尚、マルチキャスト転送経路計算装置１０が計算した始点から終点１、２、３、４、５までの各遅延最小経路は、マルチキャスト転送経路設定装置２０→ノードＡ→ノードＣ→終点１と、マルチキャスト転送経路設定装置２０→ノードＡ→ノードＣ→ノードＥ→ノードＧ→終点２と、マルチキャスト転送経路設定装置２０→ノードＡ→ノードＣ→ノードＥ→ノードＧ→ノードＩ→終点３と、マルチキャスト転送経路設定装置２０→ノードＡ→ノードＣ→ノードＤ→ノードＦ→終点４と、マルチキャスト転送経路設定装置２０→ノードＡ→ノードＣ→ノードＤ→終点５である。
【００６０】
ここで、始点→終点１までの遅延は４、始点→終点２までの遅延は７、始点→終点３までの遅延は９、始点→終点４までの遅延は６、始点→終点５までの遅延は５であるので、始点であるマルチキャスト転送経路設定装置２０から最も遅延が大きい終点は終点３となる。
【００６１】
次に、マルチキャスト転送経路計算装置１０は、マルチキャスト転送経路における集約点を、マルチキャスト転送経路設定装置２０と終点３を結ぶ経路上のノードＡ、Ｃ、Ｅ、Ｇ、Ｉのいずれかから選択する。図８はマルチキャスト転送経路設定装置２０とノードＡ，Ｃ、Ｅ、Ｇ、Ｉと終点３とを結ぶ経路を示す図である。そして、以下、マルチキャスト転送経路設定装置２０とノードＡ，Ｃ、Ｅ、Ｇ、Ｉと終点３とを結ぶ経路を集約点候補経路と呼ぶ。またノードＡ，Ｃ、Ｅ、Ｇ、Ｉを候補ノードと呼ぶ。
【００６２】
次に、マルチキャスト転送経路計算装置１０は、候補ノードＡ、Ｃ、Ｅ、Ｇ、Ｉ各々から終点１、２、３，４，５までの遅延最小経路を計算する。ここで、候補ノードそれぞれに関して、遅延最小経路で結ばれる各終点までの遅延のうち、最も大きい遅延をＤmax（ｎ）及び最も小さい遅延をＤmin（ｎ）：｛ｎは候補ノード｝とする。そして、マルチキャスト転送経路計算装置１０はＤmax（Ａ）及びＤmin（Ａ）と、Ｄmax（Ｃ）及びＤmin（Ｃ）と、Ｄmax（Ｅ）及びＤmin（Ｅ）と、Ｄmax（Ｇ）及びＤmin（Ｇ）と、Ｄmax（Ｉ）及びＤmin（Ｉ）を計算する
。
【００６３】
本発明はユーザ間遅延分散を小さくすることを目的としている。そして、ユーザ間遅延分散が小さくなる為には、始点から転送されるデータが終点に到着するまでの遅延の差が小さくなることが必要である。よって、マルチキャスト転送経路計算装置１０は、Ｄmax（ｎ）とＤmin（ｎ）の差が最も小さくなる候補ノードを集約点として選択する。よって、マルチキャスト転送経路計算装置１０は、Ｄmax（Ａ）とＤmin（Ａ）の差と、Ｄmax（Ｃ）とＤmin（Ｃ）の差と、Ｄmax（Ｅ）とＤmin（Ｅ）の差と、Ｄmax（Ｇ）とＤmin（Ｇ）の差と、Ｄmax（Ｉ）とＤmin（Ｉ）の差とを計算し、その差が最も小さくなる候補ノードを集約点のノードとして選択する。この結果、最大の遅延Ｄmax（ｎ）と最小の遅延Ｄmin（ｎ）の差が最も小さくなる候補ノードはノードＥとなるので、マルチキャスト転送経路計算装置１０は、集約点としてノードＥを選択する。尚、ノードＥから終点１までの遅延は３、ノードＥから終点２までの遅延は２、ノードＥから終点３までの遅延は４、ノードＥから終点４までの遅延は３、ノードＥから終点５までの遅延は４となり、集約点から各終点までの遅延は２〜４の範囲に収まることとなる。
【００６４】
そして、マルチキャスト転送経路計算装置１０は、マルチキャスト転送経路設定装置２０とノードＥを結ぶ遅延最小経路と、ノードＥと各終点１〜５を結ぶ遅延最小経路をマルチキャスト転送経路として算出する。そして、マルチキャスト転送経路計算装置１０は、計算結果であるマルチキャスト転送経路の情報をマルチキャスト転送経路設定装置２０に送信する。図９はマルチキャスト転送経路設定装置２０とノードＥを結ぶ遅延最小経路と、ノードＥと各終点１〜５を結ぶ遅延最小経路を示す図である。そしてマルチキャスト転送経路設定装置２０から各終点１０へ転送されるデータは全て集約点であるノードＥを経由して転送される。
【００６５】
次に、マルチキャスト転送経路の情報を受信したマルチキャスト転送経路設定装置２０は、当該マルチキャスト転送経路の情報を転送経路設定用制御メッセージに格納し、経路設定用のプロトコルであるＲＳＶＰ-ＴＥを拡張したマルチキャストＭＰＬＳを用いて経路を設定する。そしてマルチキャスト転送経路設定装置２０は、転送経路の設定後、転送データを当該転送経路で転送する。
【００６６】
以上、第1の実施の形態について説明したが、ダイクストラのアルゴリズムにおける計算量は、ネットワークのノードをｎとすると一般的に計算量Ｏ＝ｎ２となる。そして、従来技術においてはダイクストラのアルゴリズムをネットワーク内の全てのノード（ｎ）に適用して転送経路を設定しているので、計算量Ｏ＝ｎ３であった。しかしながら、本発明においては、始点と終点を結ぶ最小遅延経路のノード数ｐ（但し、ｐ＜ｎ）に対してダイクストラのアルゴリズムを適用する為に計算量Ｏ＝ｐｎ２となる。よって、従来に比べて計算量を削減する事ができる。
【００６７】
また、上述のマルチキャスト転送経路計算装置やマルチキャスト転送経路設定装置は内部にコンピュータシステムを有している。そして、上述した処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
【００６８】
以上説明したように、ユーザ間遅延分散を考慮した経路計算アルゴリズムを備えた経路計算用ノードを有するシステムを用いることで、ユーザごとに発生する遅延の値を同程度にすることが可能となる。これにより、既存のマルチキャスト経路計算用ノードでは困難であった、遅延に関するユーザ間の公平性を満足するサービスを提供することができるようになる。また同様のサービスを提供するときに従来のユーザ間遅延分散を考慮したアルゴリズムを備えた装置を利用した場合に比べ、早い計算時間を達成することが可能である。これにより、経路設定時間の短縮を実現することが可能である。
【００６９】
（第２の実施の形態）
以下、図面と共に本発明の第２の実施の形態について説明する。
【００７０】
第２の実施の形態では、マルチキャスト転送経路の計算アルゴリズムが第１の実施の形態と異なる。その他の構成は、第１の実施の形態と同様の構成を使用することができる。
【００７１】
図１０に、第２の実施の形態におけるマルチキャスト通信経路計算の処理手順の概要を示す。
【００７２】
まず、マルチキャスト通信ネットワークのトポロジ、ネットワーク転送コストを、ネットワークを構成するノード情報、ノード間を接続するリンク情報、リンクを転送するのに要する転送コスト情報を使用して記述する距離グラフをマルチキャスト転送経路計算装置に入力する（ステップ１１）。なお、外部から入力する代わりに、収集したものを読み出すこととしてもよい。
【００７３】
続いて、始点ノード情報、終点ノードグループ情報を入力し（ステップ１２）、入力された情報より、始点ノードを除外した第１の部分距離グラフを構築する（ステップ１３）。
【００７４】
構築された第１の部分距離グラフより終点ノードグループを選択し、終点ノードグループ間の最短経路を新規に辺として表す第２の部分距離グラフを構築し（ステップ１４）、第２の部分距離グラフより最小スパニングツリーを構築し、複数のスパニングツリーが存在する場合には、任意のスパニングツリーを選択して最小スパニングツリーを構築する（ステップ１５）。
【００７５】
そして、構築された最小スパニングツリーの最小経路で表現された各辺を入力された距離グラフで対応するノードで構成される転送経路に復元することにより、部分グラフを構築し（ステップ１６）、復元された部分グラフより再度、最小スパニングツリーを構築し、複数のスパニングツリーが存在する場合には、任意のスパニングツリーを選択して最小スパニングツリーを構築し（ステップ１７）、構築されたスパニングツリーよりすべての宛先グループノードがスパニングツリーの一部となるように不要な辺を削除して、宛先グループノードが包含されるマルチキャスト配信経路を構築する（ステップ１８）。
【００７６】
構築されたマルチキャスト配信経路を構成するノードを集約点（ランデブーポイント）の候補とし、該集約点から宛先グループノードまでのすべての転送距離を抽出し、該集約点から最も離れている宛先グループノードまでの最大距離と最も近接している宛先グループノードまでの最近距離の差分が最小になる集約点を選択し（ステップ１９）、選択された集約点において、終点ノードグループのみで構築されたマルチキャスト通信経路を始点ノードと接続し、該始点ノードから宛先グループノード全てを含むマルチキャスト配信経路を構築する（ステップ２０）。
【００７７】
図１１は、本発明の第２の実施の形態におけるマルチキャスト転送経路計算装置の経路計算モジュールの構成を示す図である。なお、その他の構成は第１の実施の形態と同様である。
【００７８】
同図に示す経路計算モジュールは、情報入力部３００、第１の部分距離グラフ構築部３１１、第２の部分距離グラフ構築部３１２、第１の最小スパニングツリー構築部３１３、転送経路復元部３１４、第２の最小スパニングツリー構築部３１５、第１のマルチキャスト配信経路構築部３１６、ランデブーポイント選択部３１７、第２のマルチキャスト配信経路構築部３１８から構成される。
【００７９】
情報入力部３００は、マルチキャスト通信ネットワークのトポロジ、ネットワーク転送コストを、ネットワークを構成するノード情報、ノード間を接続するリンク情報、リンクを転送するのに要する転送コスト情報を使用して記述する距離グラフを入力する。さらに、始点ノード情報、終点ノードグループ情報を入力する。なお、第２の実施の形態における“ネットワーク転送コスト”は、第1の実施の形態におけるネットワークの遅延に相当する。
【００８０】
第１の部分距離グラフ構築部３１１は、情報入力部３００により入力された情報より、始点ノードを除外した第１の部分距離グラフを構築する。
【００８１】
第２の部分距離グラフ構築部３１２は、第１の部分距離グラフ構築部３１１で構築された第１の部分距離グラフより終点ノードグループを選択し、終点ノードグループ間の最短経路を新規に辺として表す第２の部分距離グラフを構築する。
【００８２】
第１の最小スパニングツリー構築部３１３は、第２の部分距離グラフ構築部３１２により構築された第２の部分距離グラフより最小スパニングツリーを構築し、複数のスパニングツリーが存在する場合には、任意のスパニングツリーを選択して最小スパニングツリーを構築する。
【００８３】
転送経路復元部３１４は、第１の最小スパニングツリー構築部３１３で構築された最小スパニングツリーの最小経路で表現された各辺を、入力された距離グラフで対応するノードで構成される転送経路に復元することにより、部分グラフを構築する。
【００８４】
第２の最小スパニングツリー構築部３１５は、転送経路復元部３１４で復元された部分グラフより再度、最小スパニングツリーを構築し、複数のスパニングツリーが存在する場合には、任意のスパニングツリーを選択して最小スパニングツリーを構築する。
【００８５】
第１のマルチキャスト転送経路構築部３１６は、第２の最小スパニングツリー構築部３１５で構築されたスパニングツリーよりすべての宛先グループノードがスパニングツリーの一部となるように不要な辺を削除して、宛先グループノードが包含されるマルチキャスト転送経路を構築する。
【００８６】
集約点選択部３１７は、第２のマルチキャスト転送経路構築部３１６で構築されたマルチキャスト転送経路を構成するノードを集約点の候補とし、該集約点から宛先グループノードまでのすべての転送距離を抽出し、該集約点から最も離れている宛先グループノードまでの最大距離と最も近接している宛先グループノードまでの最近距離の差分が最小になる集約点を選択する。
【００８７】
第２のマルチキャスト転送経路構築部３１８は、集約点選択部３１７で選択された集約点において、終点ノードグループのみで構築されたマルチキャスト転送経路を始点ノードと接続し、該始点ノードから宛先グループノード全てを含むマルチキャスト転送経路を構築する。
【００８８】
以下に本実施の形態のマルチキャスト転送経路計算方法の手順を詳細に示す。
【００８９】
本マルチキャスト転送経路計算方法では、下記の情報を、例えば計測結果記憶部から入力する。下記の情報は、第１の実施の形態で説明した既存のプロトコルを使用して、ネットワーク計測情報として収集できる情報である。
【００９０】
（１）  ネットワーク全体のトポロジを記述する片方向の距離グラフ：
Ｇ＝（Ｖ，Ｅ，ｄ）
但し、Ｖ：ノード，  Ｅ：ノード間のリンク，ｄ：リンクに付与されるコスト値（第１の実施の形態における“遅延”に相当する）
（２）  マルチキャストトラヒック送信ノード（始点ノード）：ｓ（⊆Ｖ）
（３）  マルチキャストトラヒック受信ノードグループ（終点ノードグループ、すなわち、複数の終点ノード）：Ｓ（⊆Ｖ）
上記の情報を入力すると、本実施の形態のマルチキャスト転送経路計算方法では、下記の方法による計算を行って、始点ノードｓから終点ノードグループまでのマルチキャスト通信経路：Ｔ
を出力する。
【００９１】
以下、マルチキャスト転送経路計算方法の計算手順を説明する。
【００９２】
図１２は、本実施の形態におけるマルチキャスト転送経路計算方法のフローチャートである。
【００９３】
ステップ１０１）  入力されたグラフＧ＝（Ｖ，Ｅ，ｄ）より送信ノードを除外した部分グラフＧ’＝（Ｖ−ｓ，Ｅ−Ｅｓ，ｄ−ｄｓ）を構築する。
【００９４】
ステップ１０２）  部分グラフＧ’より終点ノードグループＳを選択し、終点ノードグループＳとグループＳ間の最短経路で構成される部分距離グラフＧ1 ＝（Ｖ1 ，Ｅ1 ，ｄ1 ）を構築する。
【００９５】
ステップ１０３）  部分距離グラフＧ1 より最小スパニングツリーＴ1 を構築する。複数のスパニングツリーが存在する場合は、任意のスパニングツリーを選択する。
【００９６】
ステップ１０４）  スパニングツリーＴ1 の各辺をグラフＧの対応する最短経路で置き換えることにより、部分グラフＧa を構築する。複数の最短経路が存在する場合には、任意の最短経路を選択する。
【００９７】
ステップ１０５）  部分グラフＧa から最小スパニングツリーＴs を構築する。複数のスパニングツリーが存在する場合には、任意のスパニングツリーを選択する。
【００９８】
ステップ１０６）  スパニングツリーＴs からすべての宛先グループノードＳがスパニングツリーの一部となるように不要な辺を削除して、宛先グループノードＳが包含されるマルチキャスト配信経路を構築する。
【００９９】
ステップ１０７）  ステップ１０６で構築されたマルチキャスト配信経路を構成するノードを集約点（ランデブーポイント（ＲＰ））の候補とし、ＲＰｘから宛先グループノードＳまでのすべての転送距離ｄ（ＲＰｘ，ＮＯＤＥｙ）を計測し、ＲＰｘから最も離れている宛先グループノードまでの距離ｄmax と最も近接している宛先グループノードまでの距離ｄmin の差分が最小になる、すなわち、
［min(ｄmax （ＲＰｘ，ＮＯＤＥｙ）−ｄmin （ＲＰｘ，ＮＯＤＥｚ））］を満たす集約点を選択する。なお、転送距離ｄは、例えば、ＲＰｘからある宛先ノード（ＮＯＤＥｙ）への最短距離である。
【０１００】
ステップ１０８）  ステップ１０８で選択された集約点でステップ１０６までに構築されたマルチキャスト転送経路を始点ノードｓと接続し、送信ノードｓから宛先グループＳを含むマルチキャスト転送経路を構築する。
【０１０１】
次に、上記の計算手順を用いたマルチキャスト転送経路の計算例を説明する。
【０１０２】
図１３は、本実施の形態の例が対象とするマルチキャストネットワークのネットワークグラフを示す。
【０１０３】
同図において、Ｖ０からＶ９までの１０個のノードで構成されるネットワークの例を示している。各ノード間はリンクで接続されており、リンクに併記される数値が当該リンクを転送する場合の転送コストを示す。例えば、ノードＶ０とノードＶ１間のリンクには、数値１が併記されているので、ノードＶ０からノードＶ１までの転送コストは、１となる。
【０１０４】
当該ネットワークでマルチキャスト送信ノードＶ０から終点ノードグループＶ１，Ｖ２，Ｖ３，Ｖ４にマルチキャスト配信経路を設定する場合の本実施の形態による計算手順例を説明する。
【０１０５】
経路計算モジュールに、図１３のネットワークグラフ情報と始点ノード情報Ｖ０、終点ノードグループ情報Ｖ１，Ｖ２，Ｖ３，Ｖ４が入力されると、前述のステップ１０１の手順により、入力されたネットワークグラフより、送信ノードＶ０とＶ０と接続されるリンクＶ０Ｖ１、Ｖ０Ｖ９、Ｖ０Ｖ４を除外する。図１４に送信者を除外したネットワークグラフを示す。つまり、図１４がステップ１０１の処理実行後のネットワークグラフである。
【０１０６】
さらに、ステップ１０２により終点ノードグループ間の最短経路で構成される終点ノード間の最短経路グラフを構成する。ステップ１０２の計算結果を図１５に示す。
【０１０７】
その後、ステップ１０３により、最短経路グラフより、終点ノード間の最短経路を辺とする最小スパニングツリーを構成する。この処理結果を図１６に示す。
【０１０８】
その後、ステップ１０４により、最小スパニングツリーを構成する辺を、入力されたグラフの経路を用いて復元する。図１７に、途中ノードを考慮した最小スパニングツリーを構築する、当該処理の途中結果を示す。図１８にその結果を示す。同図に示すように、ノードＶ１とノードＶ４の最短経路はもともとの図１３のネットワークグラフでは、Ｖ１Ｖ９Ｖ５Ｖ４の転送経路で構成されているので、Ｖ１，Ｖ４の間にノードＶ９，Ｖ５を挿入する。同様に、ノードＶ１，Ｖ２間、ノードＶ２，Ｖ３間も最短経路を構成するノードで転送経路を復元する。この例では、ノードＶ９，Ｖ６，Ｖ５が各転送経路と重なっているので、実際の物理接続を反映してグラフを整形すると、図１８に示した部分グラフが構成される。
【０１０９】
その後、ステップ１０５により、図１８に示した部分グラフから最小スパニングツリー（Ｔｓ）を形成する。その結果を図１９に示す。図１９は、サブグラフの最小スパニングツリーを示す。
【０１１０】
さらに、ステップ１０６により、宛先グループノードがスパニングツリーの一部となるように不要な辺を削除して、宛先グループノードが包含されるマルチキャスト転送経路を構築する。その結果を図２０に示す。この状態で、図２０に示すように宛先ノードＶ１，Ｖ２，Ｖ３，Ｖ４を含む最小木Ｖ１Ｖ９Ｖ５Ｖ６Ｖ２Ｖ３Ｖ４が構成される。
【０１１１】
この後、ステップ１０７により、当該最小木の中で、各終点までの転送距離分散が最小となる集約点を選択する。集約点の選択にあたっては、最小木を構成するすべてのノードを集約点候補として、候補集約点から各終点までの転送距離を抽出し、その最大と最小の遅延差をチェックする。図２０の例では、例えば、Ｖ９が集約点（ＲＰ）候補とした場合、
ＲＰ・Ｖ１＝１，
ＲＰ・Ｖ２＝３，
ＲＰ・Ｖ３＝３，
ＲＰ・Ｖ４＝２
となるので、その最大（ｄmax ）と最小（ｄmin ）の差は２となる。図２１の例では、ＲＰをＶ５に設定した場合、ＲＰからＶ１，Ｖ２，Ｖ３，Ｖ４までの転送経路が全て２となる。遅延差が０となり最適な集約点となる。
【０１１２】
さらに、ステップ１０８により、送信ノードＶ０と集約点を接続し、Ｖ０からＶ１，Ｖ２，Ｖ３，Ｖ４までの最適マルチキャスト転送経路が設定される。当該プロセスにより、最適マルチキャスト転送経路が計算される。
【０１１３】
図２２は、本実施の形態におけるマルチキャスト転送経路計算システムの一構成例を示す図である。すなわち、図１に示すシステム構成の他に図２２に示すシステム構成をとることが可能である。同図に示すシステムは、上記のマルチキャスト計算手順を実行する。
【０１１４】
ネットワークトラヒック情報データベース１２０がルーティングプロトコルによりネットワークのトラヒック情報を収集する。マルチキャスト計算エンジン３１０は、その入力としてノード情報、終点ノードグループ情報、要求条件、制約条件が入力されると、ネットワークトラヒック情報データベース１２０を用いて、前述の図１１に示す計算方法により最適なマルチキャスト転送経路を計算して出力する。
【０１１５】
次に、本実施の形態における計算方法の性能例を示す。
【０１１６】
図２３は、本実施の形態におけるマルチキャスト転送経路計算システム評価用ネットワークを示す。同図に示すように、ノード数４００のランダムグラフを設定し、各リンクの使用帯域を設定し、宛先ノード４０のマルチキャストツリーを構築した。図２４にマルチキャスト転送経路を、図２５に転送遅延差の性能評価グラフを示す。評価結果からわかるように、ＫＭＢ通信方式に比較して、若干の転送コストの上昇があるものの、ツリー全体の遅延差を抑えることがわかる。
【０１１７】
このように、本実施の形態の計算方法を用いることにより、個々のマルチキャストトラヒックのＱｏＳ要求条件に応じて最適なマルチキャスト通信経路を設定できると共に、ネットワーク全体で帯域を有効活用できるマルチキャスト通信経路を設定できるので、高性能なマルチキャスト通信ネットワークを構築できる。
【０１１８】
なお、本実施の形態における処理も、第１の実施の形態と同様に、図１１に示す動作をプログラムとして構築し、マルチキャスト転送経路計算装置として動作するコンピュータにインストールする、または、ネットワークを介して流通させることも可能である。
【０１１９】
また、構築されたプログラムをマルチキャスト転送経路計算装置として動作するコンピュータに接続されるハードディスク装置や、フレキシブルディスク、ＣＤ−ＲＯＭ等の可搬記憶媒体に格納しておき、本発明を実施する際にインストールすることも可能である。
【０１２０】
また、第１の実施の形態と同様にして、本実施の形態における計算方法により計算されたマルチキャスト転送経路をネットワーク上に設定することができる。
【０１２１】
上述のように、本実施の形態の計算方法によれば、マルチキャスト転送経路全体の転送コストを抑えながら、宛先受信グループノードまでの転送遅延差を抑えたマルチキャスト転送経路を設定できる。そのため、効率的で高性能なマルチキャスト通信ネットワークを構築できる。
【０１２２】
なお、本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
【図面の簡単な説明】
【０１２３】
【図１】第１の実施の形態の概要を説明するための図である。
【図２】第１の実施の形態におけるマルチキャスト転送経路計算装置の構成を示す図である。
【図３】第１の実施の形態における経路計算モジュールの構成例を示す図である。
【図４】第１の実施の形態におけるマルチキャスト転送経路設定装置の構成を示す図である。
【図５】第１の実施の形態における経路計算の処理を示すフローチャートである。
【図６】第１の実施の形態におけるマルチキャストネットワークの例を示す図である。
【図７】データ転送の始点と各終点を結ぶ経路のうち遅延最小経路を示した図である。
【図８】マルチキャスト転送経路設定装置２０とノードＡ，Ｃ、Ｅ、Ｇ、Ｉと終点３とを結ぶ経路を示す図である。
【図９】マルチキャスト転送経路設定装置２０とノードＥを結ぶ遅延最小経路と、ノードＥと各終点１〜５を結ぶ遅延最小経路を示す図である。
【図１０】第２の実施の形態における経路計算方法の概要を示す図である。
【図１１】第２の実施の形態におけるマルチキャスト転送経路計算装置の経路計算モジュールの構成図である。
【図１２】第２の実施の形態におけるマルチキャスト通信経路計算方法のフローチャートである。
【図１３】第２の実施の形態が対象とするマルチキャストネットワークのネットワークグラフの例である。
【図１４】送信者を除外したネットワークグラフである。
【図１５】宛先ノード間の最短経路グラフである。
【図１６】宛先ノード間の最短経路を用いた最小スパニングツリーである。
【図１７】途中ノードを考慮した最小スパニングツリーである。
【図１８】途中ノードを考慮した最小スパニングツリーを構成するサブグラフである。
【図１９】サブグラフの最小スパニングツリーである。
【図２０】宛先ノードを含む最小木である。
【図２１】始点ノードから集約点を設定した宛先ノードへのマルチキャスト転送経路である。
【図２２】第２の実施の形態におけるマルチキャスト転送経路計算システムの例である。
【図２３】第２の実施の形態におけるマルチキャスト転送経路計算システム評価用ネットワークである。
【図２４】マルチキャスト転送経路コストの性能評価グラフである。
【図２５】マルチキャスト転送経路遅延差の性能評価グラフである。
【符号の説明】
【０１２４】
１０  マルチキャスト転送経路計算装置
１１、２１  情報管理部
１２、２５  経路計算部
１３、２４  パケット処理部
２２  測定部
２３  経路設定用プロトコル処理部
２０  マルチキャスト転送経路設定装置
１４１  入力部
１４２  遅延最小経路算出部
１４３  候補ノード選択部
１４４  差算出部
１４５  集約点ノード選択部
１４６  出力部
３００  情報入力部
３１０  マルチキャスト通信経路計算エンジン
３１１  第１の部分距離グラフ構築部
３１２  第２の部分距離グラフ構築部
３１３  第１の最小スパニングツリー構築部
３１４  転送経路復元部
３１５  第２の最小スパニングツリー構築部
３１６  第１のマルチキャスト配信経路構築部
３１７  集約点選択部
３１８  第２のマルチキャスト配信経路構築部
３２０  ネットワークトラヒック情報データベース
【図１】
2004208289.tif 000003
【図２】
2004208289.tif 000004
【図３】
2004208289.tif 000005
【図４】
2004208289.tif 000006
【図５】
2004208289.tif 000007
【図６】
2004208289.tif 000008
【図７】
2004208289.tif 000009
【図８】
2004208289.tif 000010
【図９】
2004208289.tif 000011
【図１０】
2004208289.tif 000012
【図１１】
2004208289.tif 000013
【図１２】
2004208289.tif 000014
【図１３】
2004208289.tif 000015
【図１４】
2004208289.tif 000016
【図１５】
2004208289.tif 000017
【図１６】
2004208289.tif 000018
【図１７】
2004208289.tif 000019
【図１８】
2004208289.tif 000020
【図１９】
2004208289.tif 000021
【図２０】
2004208289.tif 000022
【図２１】
2004208289.tif 000023
【図２２】
2004208289.tif 000024
【図２３】
2004208289.tif 000025
【図２４】
2004208289.tif 000026
【図２５】
2004208289.tif 000027