JP3904885B2 - データの配布経路を生成する装置および方法 - Google Patents

データの配布経路を生成する装置および方法 Download PDF

Info

Publication number
JP3904885B2
JP3904885B2 JP2001327475A JP2001327475A JP3904885B2 JP 3904885 B2 JP3904885 B2 JP 3904885B2 JP 2001327475 A JP2001327475 A JP 2001327475A JP 2001327475 A JP2001327475 A JP 2001327475A JP 3904885 B2 JP3904885 B2 JP 3904885B2
Authority
JP
Japan
Prior art keywords
server
redistribution
distribution
route
information
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
JP2001327475A
Other languages
English (en)
Other versions
JP2002232466A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2001327475A priority Critical patent/JP3904885B2/ja
Publication of JP2002232466A publication Critical patent/JP2002232466A/ja
Application granted granted Critical
Publication of JP3904885B2 publication Critical patent/JP3904885B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、ネットワーク上の複数のユーザが、同じ動画や音声等のマルチメディアデータ(ストリームデータ)を受信する場合に、データの配布経路を自動的に生成する装置および方法に関する。
【0002】
【従来の技術】
現在のインターネットやイントラネットでは、図24に示すように、複数のクライアント13が同じストリームデータを受信しようとしたとき、多くの場合、データのソース11がクライアント13の数だけデータをコピーして送信する(ユニキャストする)。このとき、ソース11から送信されたデータは、ルータ12を介してクライアント13に転送される。
【0003】
この場合、同じデータが何回も同じネットワーク上を流れることになり、ネットワークが混雑して、ストリームデータの遅延や廃棄が生じる。このため、クライアントがストリームデータを快適に受信できないことがある。
【0004】
このような問題を解決し、複数のクライアントへデータを配布する(マルチキャストする)従来技術として、ネットワーク層のマルチキャストとアプリケーション層のマルチキャストがある。
【0005】
ネットワーク層のマルチキャストとしては、IP(internet protocol )マルチキャストが一般的である。IPマルチキャストでは、特定のホストグループに割り当てられたマルチキャストアドレスに対してソースがデータを送信するとき、ネットワーク上のルータが、ソースからクライアントまでの配布ツリーを自動的に作成し、必要に応じてデータを分岐する。これにより、複数の同じデータが同じネットワーク上を流れるのを防ぐことができる。
【0006】
しかし、IPマルチキャストを使用するためには、ソースからクライアントに至る経路上のルータのネットワーク層を変更して、IPマルチキャスト機能を組み込む必要がある。また、誰かが誤ってストリームデータをマルチキャストした場合、ユニキャストと異なり、ネットワーク全体にデータが広がるため、他のデータトラフィックを圧迫する可能性がある。
【0007】
このように、ネットワーク層の変更が必要なこと、マルチキャストアドレスやストリームデータの管理方法が確立していないこと等が問題となり、IPマルチキャストは多くのドメインで導入されていないのが現状である。
【0008】
これに対して、アプリケーション層のマルチキャストは、ホスト間に配布ツリーを作成し、データをコピーして分岐するためのアプリケーション(再配信サーバ)をツリーの分岐点に設置することで、効率的にデータを配布する方法である。このように、アプリケーションによってデータ配布を行うため、ルータのネットワーク層の変更(IPマルチキャストの組み込み)を必要とせず、ネットワーク層のマルチキャストよりも、ストリームデータの管理がしやすいという利点がある。
【0009】
【発明が解決しようとする課題】
しかしながら、上述した従来のアプリケーション層のマルチキャストには、次のような問題がある。
【0010】
配布ツリーを手作業で作成するため、管理者がネットワーク全体の構成や状況を把握し、再配信サーバの配置等を適切に設定しなければならない。また、ツリーを自動構成できるアプリケーションを用いる場合でも、ルータの位置関係等、ネットワークの物理的構成が既知であることが前提条件となるため、やはり管理者による設定が必要である。
【0011】
通常、イントラネットの基幹部分の管理者は、イントラネットの末端のネットワーク設定を行うことは不可能あるいは困難である。また、ネットワーク管理者とアプリケーション管理者が別人(別の部署)の場合は、マルチキャストのための設定を行うことがさらに困難となる。
【0012】
本発明の課題は、アプリケーション層におけるストリームデータの配布経路を、ネットワーク管理者による煩雑な設定作業を必要とせずに、効率的かつ自動的に生成する装置および方法を提供することである。
【0013】
【課題を解決するための手段】
図1は、本発明の配布経路生成装置の原理図である。図1の配布経路生成装置は、収集手段21、生成手段22、および出力手段23を備える。収集手段21は、通信ネットワークのノード間の通信コストに関する情報を収集する。生成手段22は、通信ネットワーク上の複数のクライアントに、ソースから発信されたストリームデータを配布するとき、そのソースからそれらのクライアントに至る配布経路を表す配布経路情報を、通信コストに関する情報に基づいて、自動的に生成する。出力手段23は、生成された配布経路情報を出力する。
【0014】
通信ネットワークのノードは、ストリームソースや再配信サーバ等に対応し、ノード間の通信コストに関する情報は、ノード間のホップ数や遅延時間等に対応する。収集手段21は、収集した情報を生成手段22に渡し、生成手段22は、受け取った情報に基づいてストリームデータの配布経路を決定し、配布経路情報を出力手段23に渡す。出力手段23は、受け取った配布経路情報を、その配布経路上のノード等に出力する。
【0015】
このような配布経路生成装置によれば、収集された情報に基づいて自動的に配布経路情報が生成されるため、ネットワークの物理的構成に関する情報が得られない場合でも、配布経路を構成することができる。また、ネットワーク層の変更や管理者による設定作業を必要としないため、配布経路を効率的に構成することができる。
【0016】
例えば、図1の収集手段21、生成手段22、および出力手段23は、後述する図2のマスタサーバ31に対応する。
【0017】
【発明の実施の形態】
以下、図面を参照しながら、本発明の実施の形態を詳細に説明する。
本実施形態では、インターネットまたはイントラネット上の複数のクライアントに、動画や音声等のマルチメディアデータ(ストリームデータ)を配布する際に、データの分岐点に再配信サーバを設置する。再配信サーバは、アプリケーションプログラムまたは同等の機能を有するハードウェア回路に対応する。
【0018】
そして、2つの再配信サーバ間の経路コストをすべての再配信サーバの組み合わせについて収集し、そのコスト情報をもとに、以下のような方法により、データ配布経路ツリーを自動構成する。
(a)ストリームデータの発信ノード(ソース)からのコストが最小になるよう、次の転送先の候補となる再配信サーバ(または再配信サーバグループ)を選択する。
(b)作成中の配布経路上の各再配信サーバ(または再配信サーバグループ)からのコストが最小になるように、次の転送先の候補となる再配信サーバ(または再配信サーバグループ)を選択する。
【0019】
これにより、ネットワーク層の変更や管理者による煩雑な設定作業を必要とせずに、ストリームデータの配布経路が効率的かつ自動的に構成される。したがって、同じストリームデータが複数本同じネットワーク上を流れることによって引き起こされるネットワークの輻輳を回避して、クライアントにストリームデータを供給することが可能となる。
【0020】
また、経路上にコストが高い枝が存在する場合には、再配信サーバ群を高コストの枝を境界とする複数のグループに分割し、ソースが含まれるグループを起点とするグループ間の配布経路ツリーを、上述の方法(a)により構成する。さらに、各グループ内において、ソースを含むグループでは、ソースを起点とする配布経路ツリーを、その他のグループでは、グループ間経路ツリーの入力枝端となる再配信サーバを起点とする配布経路ツリーを、方法(a)により構成する。
【0021】
次に、構成された配布経路ツリーの情報を、その経路ツリーに沿って、上流側再配信サーバから下流側再配信サーバへと伝達する。このとき、ある再配信サーバよりも上流側の配布経路ツリー情報は、その再配信サーバよりも下流側に伝達する必要がないので、その情報を削除することにより、より効率的に配布経路ツリーの情報を伝達する。
【0022】
さらに、再配信サーバ間の経路コストを収集する際、以下のような方法によりコスト測定の範囲を限定することで、コスト測定に要する負荷を軽減することもできる。
(a)基幹接続ルータを指定し、そのルータを直近の基幹接続ルータとする再配信サーバを、コスト測定範囲とする。
(b)ある再配信サーバの上流において制限ホップ数h1内のルータを検出し、そのルータから制限ホップ数h2内にある再配信サーバを、コスト測定範囲とする。制限ホップ数h1、h2を調整することにより、コスト測定範囲を適切に設定する。
【0023】
図2は、このような再配信サーバによるストリーム配信システムの例を示している。図2の配信システムは、ストリームデータを送信するソース11、データを転送するルータ12、データを受信する複数のクライアント13、ストリーム情報や経路コスト情報等を管理するマスタサーバ31、およびデータのコピーおよび分岐を行う1つ以上の再配信サーバ32から構成される。
【0024】
マスタサーバ31は、再配信サーバの中から選択してもよいし、専用のサーバとして設けてもよい。ソース11またはクライアント13が、再配信サーバ32の持つ再配信機能を、併せ持つことも可能である。また、再配信サーバ32は、ルータ12内に設置することもでき、2つのルータ12の間に配置することもできる。再配信サーバ32は、アプリケーション層で動作し、ネットワーク層の変更は必要としない。
【0025】
新規の再配信サーバ32は、動作開始時に、マスタサーバ31に対して登録を要請する。マスタサーバ31は、再配信サーバ32の登録を契機として、新規再配信サーバ32と既存再配信サーバ32の間の経路コストを収集し、経路コスト情報を更新する。
【0026】
ソース11は、ストリームデータの送信に先立ち、マスタサーバ31に対して、ストリームを登録する。ストリームが登録されると、マスタサーバ31は、ストリームのソース11を起点とする配布経路ツリーを構成し、その配布経路に沿って、ストリーム−経路対応表を再配信サーバ32に伝達する。
【0027】
各再配信サーバ32は、上流の再配信サーバ32から受け取ったストリームデータを、ストリーム−経路対応表に従って、次の宛先(再配信サーバ32またはクライアント13)に配信する。
【0028】
クライアント13は、ストリームデータの受信に先立ち、最寄りの再配信サーバ32に接続するか、または、マスタサーバ31に対してデータ配布を要求する。マスタサーバ31は、クライアント13が接続すべき再配信サーバ32を選択し、クライアント13に通知する。クライアント13は、その再配信サーバ32に接続することにより、ストリームデータを受信する。
【0029】
再配信サーバ間の経路コストは、それを収集するために発生するネットワーク負荷が小さく、かつ、配布経路ツリーの構成に有効な情報でなければならない。経路コストを決定する上で、ホップ数と帯域(遅延時間から推測される)はとても重要である。ホップ数からは大まかなネットワーク構成を知ることができ、さらに遅延時間を考慮することにより、極めて帯域の細い経路を除外することができるからである。そこで、ここではホップ数と遅延時間を用いて、以下の式により経路コストを算出する。
経路コスト=
ホップ数+α*max(0,(遅延−β))*ストリームレート/基準レート+設定値
ホップ数は、測定対象のノード間でテストパケットを交換し、パケットヘッダのTTL(time to live)の変化を調べることで、取得できる。TTLは、パケットの生存時間に対応し、目的地までのルータの残数等により記述される。また、遅延時間は、テストパケットのRTT(round trip time )を測定することで、取得できる。また、tracerouteコマンド等を用いて、パケットの通過ルートをトレースする方法もある。
【0030】
また、ネットワークのボトルネックや有効帯域(使用できる可能性のある帯域)等を測定し、それをもとに経路コストを算出することも考えられる。
ストリームレートは、配布ストリームのレート(速度)であり、基準レートは、通常想定しているストリームレートである。また、設定値は、管理者が設定する追加コストである。この値は、その経路に流れるストリームを制限したい場合等に設定され、通常は0である。
【0031】
αおよびβは、遅延時間をホップ数に換算するための係数である。例えば、64kbpsのリンク(1500byte流すのに約190ms)ではホップ数20個分のコストを追加し、500kbps以上のリンク(1500byte流すのに約25ms)ではコストは加算しないという場合は、β=25、α=20/(190−25)=0.12に設定される。
【0032】
マスタサーバ31は、必要に応じて、管理している再配信サーバ32間の経路コストを収集する。収集手順は以下の通りである。
1.マスタサーバ31は、各再配信サーバ32に、測定対象となる再配信サーバ32のIPアドレスを通知する。通知の際に、マスタサーバ31が測定対象の再配信サーバ32を絞り込むことも可能である。絞り込みの方法については後述する。
2.各再配信サーバ32は、通知された測定対象の再配信サーバ32との間のホップ数と遅延を検出する。このとき、ある程度大きなサイズのパケットを数回送出して、得られた遅延の平均を算出する。また、複数の既存再配信サーバ32が、新規再配信サーバ32に対する遅延測定を同時に行うと、測定パケットによって輻輳が生じる可能性があるため、パケットを送出する間隔にランダムな時間の揺らぎを持たせておく。
3.各再配信サーバ32は、検出したホップ数と遅延の情報と、自ノードの負荷情報(CPU(中央処理装置)負荷、メモリ使用量、配信ストリーム数等)を、マスタサーバ31に通知する。
4.マスタサーバ31は、各再配信サーバ32から通知された情報をもとに、経路コスト情報を更新する。
【0033】
マスタサーバ31は、基本的に、新規再配信サーバ32の登録時に経路コストを収集する。また、ルート変更や輻輳等のネットワーク状況の変化に対応するために、以下のような契機でも、経路コストを収集することができる。
(1)定期的に経路コストを収集する。
(2)ストリームのデータパケットやデータ制御用パケットの情報から、経路上のネットワーク状況の変化を検出したときに、経路コストを収集する。
【0034】
(2)のタイミングの場合、例えば、RTP(Real-time Transfer Protocol )パケットのようなデータパケットのTTLや、RTCP(RTP Control Protocol)パケットのような制御用パケットのtimestamp等を利用することができる。この場合、以下のような手順で、経路コストが収集される。
1.再配信サーバ32が、データパケットのTTLの変化や制御用パケットのtimestamp等から、上流側再配信サーバとの間のネットワーク状況の変化を検出する。TTLの変化からは、ルート変更が検出され、timestampの変化からは、ルート変更または輻湊の発生が検出される。
2.再配信サーバ32は、マスタサーバ31に経路コスト収集を要求する。
3.マスタサーバ31は、上述の手順に従って、経路コストの収集を開始する。
【0035】
次に、図3から図8までを参照しながら、経路コスト情報に基づく配布経路ツリー自動生成アルゴリズムについて説明する。このアルゴリズムにおいては、各再配信サーバ32がネットワーク上のノードとして扱われ、ノードiからノードjにデータを配信する際の経路コストをC[i,j]とする。また、ノードiからノードjへの経路コストが測定されていない場合は、C[i,j]=∞とする。
【0036】
図3は、ソースからのコストに基づく配布経路ツリー生成処理のフローチャートである。まず、マスタサーバ31は、ソース11(SRC)を、集合Sに入れ、その他のノードを集合Vに入れて、i=0とおく(ステップS1)。このとき、集合Vには、ノード0からノードn−1までのn個のノードが含まれているものとする。
【0037】
次に、ソース11からノードi(i∈V)までの距離D[i]を、ソース11からノードiまでのコストC[SRC,i]で初期化し、ノードiの直前ノードP[i]をSRCに初期化して、i=i+1とおく(ステップS2)。そして、iをnと比較し(ステップS3)、i<nであれば、ステップS2の処理を繰り返す。
【0038】
ステップS3においてi≧nとなると、次に、集合Vの要素の中で、D[i]が最も小さいノードを探し、それをノードvとする(ステップS4)。次に、ノードvを集合Vから取り出して集合Sに加え、i=0とおく(ステップS5)。そして、D[i]とD[v]+C[v,i]を比較する(ステップS6)。
【0039】
D[i]がD[v]+C[v,i]以上であれば、D[i]=D[v]+C[v,i]、P[i]=vとおき(ステップS7)、i=i+1とおく(ステップS8)。そして、iをnと比較し(ステップS9)、i<nであれば、ステップS6以降の処理を繰り返す。また、ステップS6において、D[i]がD[v]+C[v,i]より小さければ、ステップS8以降の処理を行う。
【0040】
ステップS9においてi≧nとなると、次に、集合Vが空か否かをチェックし(ステップS10)、集合Vが空でなければ、ステップS4以降の処理を繰り返す。そして、ステップS10において集合Vが空になると、配布経路ツリーを生成して(ステップS11)、処理を終了する。
【0041】
ところで、ネットワーク資源や各再配信サーバ32のCPUやメモリ等の資源を有効利用するという観点から見ると、再配信サーバ32を経由する場合としない場合のコストが同じならば、再配信サーバ32を経由するように経路を構成する方が望ましい。
【0042】
そこで、図3の処理を変更して、経由可能な再配信サーバ32がある場合には、なるべくそれを経由するようにノードを選択することが考えられる。この場合、再配信サーバ32を経由する経路のコストから一定値を差し引いて、その経路のコストを低く設定する。
【0043】
具体的には、管理方針等により任意に設定される0以上の値をcとして、マスタサーバ31は、ステップS6において、D[i]とD[v]+C[v,i]−cを比較する。そして、D[i]がD[v]+C[v,i]−c以上であれば、ステップS7以降の処理を行い、D[i]がD[v]+C[v,i]−cより小さければ、ステップS8以降の処理を行う。cの値を適切に調整することにより、ノードvを経由する経路が選択される可能性が高くなる。また、c=0の場合は、図3の処理と同じである。
【0044】
図4は、図3のステップS11におけるツリー生成処理のフローチャートである。マスタサーバ31は、検索開始ノードp_nodeをSRCとおいて(ステップS21)、次ノード検索処理を行う(ステップS22)。
【0045】
図5は、図4のステップS22における次ノード検索処理のフローチャートである。この処理では、P[i]を用いてノードをたどることにより、配布経路ツリーが生成される。まず、マスタサーバ31は、i=0とおき(ステップS31)、P[i]とp_nodeを比較する(ステップS32)。そして、P[i]とp_nodeが一致すれば、ノードiをp_nodeの次ノードとして記憶し、p_nodeをノードiの直前ノードとして記憶する(ステップS33)。
【0046】
次に、p_node=iとおいて(ステップS34)、次ノード検索処理を再帰的に行う(ステップS35)。次に、i=i+1とおき(ステップS36)、iをnと比較する(ステップS37)。そして、i<nであれば、ステップS32以降の処理を繰り返し、i≧nとなると、処理を終了する。こうして記憶されたノード間の関係が、配布経路ツリーに対応する。
【0047】
図6は、図3の処理により生成された配布経路の例を示している。この生成処理によれば、ソース11から各再配信サーバ32までの経路コストは低くなるが、図6に示されるように、複数の同一ストリームが同じ枝上を流れる可能性がある。
【0048】
次に、図7は、配布経路上の各再配信サーバからのコストに基づく配布経路ツリー生成処理のフローチャートである。図7において、ステップS41〜S45およびS48〜S51の処理は、図3のステップS1〜S5およびS8〜S11の処理と同様である。
【0049】
ステップS45においてノードvを集合Sに加えると、次に、マスタサーバ31は、D[i]とC[v,i]を比較する(ステップS46)。D[i]がC[v,i]以上であれば、D[i]=C[v,i]、P[i]=vとおき(ステップS47)、ステップS48以降の処理を行う。また、ステップS46において、D[i]がC[v,i]より小さければ、そのままステップS48以降の処理を行う。
【0050】
図8は、図7の処理により生成された配布経路の例を示している。この生成処理によれば、複数の同じストリームが同じ枝上を流れることは軽減できるが、ソース11からの経路が遠回りになったり、経路が逆流したりする場合もある。
【0051】
次に、図9から図11までを参照しながら、グループ化による配布経路ツリー自動生成アルゴリズムについて説明する。上述したように、図3の処理により配布経路ツリーを生成した場合、複数の同じストリームが同じ枝上を流れる可能性がある。しかし、この枝を構成する物理リンクの帯域が小さい等の理由によって、この枝の経路コストが高い場合、この枝上にはストリームが1本だけ流れるようにしたい。そこで、以下のような自動構成アルゴリズムを適用する。
【0052】
まず、必要に応じてm個の経路コスト閾値を設定する。次に、再配信サーバ群を、図9に示すように、1番目の閾値よりも高い経路コストをもつ枝でのみ結ばれた複数のグループに分割する。図9では、再配信サーバ群が、G1〜G4の4つのグループに分割されている。そして、得られた各グループ内の再配信サーバ32を、2番目の閾値を用いて同様に分割する。このような分割をm回行うことで、m階層に分割された複数の再配信サーバグループが生成される。
【0053】
最終的に得られた各グループ同士は1つの枝で結ばれているものと仮定し、2つのグループ間の経路コストとして、一方のグループに属する再配信サーバ32と他方に属する再配信サーバ32の間の経路コストのうち、最も小さいものを用いる。この経路コストに対応するグループ間経路の両端にある再配信サーバ32が、グループ間の配布経路ツリーが生成された時点で決定される、各グループにおける入力枝端の候補となる。
【0054】
そして、各グループを1つのノードとみなし、ソース11が属するグループを起点(ソース)とみなして、グループ間の配布経路ツリーを生成する。ここで、ソース11が属するグループとは、ソース11に接続された再配信サーバ32を含むグループを表す。
【0055】
次に、各グループ内で、ソース11が属するグループではソース11を起点として、その他のグループではグループ間配布経路ツリーの入力枝端となる再配信サーバ32を起点として、配布経路ツリーを生成する。生成されたグループ間配布経路ツリーとグループ内配布経路ツリーを組み合わせれば、グループ化による配布経路ツリーが得られる。
【0056】
図10は、このような配布経路ツリー生成処理のフローチャートである。まず、マスタサーバ31は、再配信サーバ群を、設定された経路コストの閾値によって複数のグループに分割し(ステップS61)、グループ間の経路コストを検出する(ステップS62)。
【0057】
次に、グループ間の経路コストをもとに、図3の処理によりグループ間配布経路ツリーを生成する(ステップS63)。この時点で、各グループ内で入力枝端となる再配信サーバ32が決定される。そして、各グループ内で、ソースまたは入力枝端となる再配信サーバ32を起点として、図3の処理により配布経路ツリーを生成し(ステップS64)、処理を終了する。
【0058】
図11は、図10のステップS61において階層毎に行われるグループ化処理のフローチャートである。まず、マスタサーバ31は、i=0、集合V=φ、集合T=φとおき、すべてのノード(再配信サーバ)を集合Vに入れる(ステップS71)。次に、集合Si=φとおき、集合Vから任意のノードを取り出し、集合Tに加える(ステップS72)。また、集合Tから任意のノードを取り出し、集合Siに加えて、取り出したノードをノードjとする(ステップS73)。
【0059】
次に、集合Vの要素である各ノードkについて、C[j,k]とコスト閾値を比較する(ステップS74)。ここで、C[j,k]<コスト閾値という条件を満たすノードkがあれば、そのノードkを集合Vから取り出し、集合Tに加えて(ステップS75)、ステップS74の処理を繰り返す。そして、その条件を満たすノードkがなくなれば、次に、集合Tが空か否かをチェックする(ステップS76)。
【0060】
集合Tが空でなければ、ステップS73以降の処理を繰り返し、集合Tが空になると、次に、集合Vが空か否かをチェックする(ステップS77)。集合Vが空でなければ、i=i+1とおいて(ステップS78)、ステップS72以降の処理を繰り返し、集合Vが空になると、処理を終了する。
【0061】
次に、図12から図15までを参照しながら、経路コストの測定範囲を決定するアルゴリズムについて説明する。再配信サーバ間の経路コストを収集する際、コスト測定の負荷を軽減するために、コスト測定の範囲を制限することも重要である。ここでは、基幹接続ルータを指定して測定範囲を制限する方法と、ソースの直近の再配信サーバを指定し、経路情報をもとに測定範囲を制限する方法について説明する。基幹接続ルータは、ネットワークの基幹に接続しているルータに対応する。
【0062】
基幹接続ルータを指定して測定範囲を決定するアルゴリズムでは、各再配信サーバ32は、マスタサーバ31への登録時に、すべての基幹接続ルータへのホップ数を測定して格納するとともに、その情報をマスタサーバ31に通知する。また、マスタサーバ31は、再配信サーバ32から通知された基幹接続ルータへのホップ数を、再配信サーバリストの中で管理する。
【0063】
図12は、このような測定範囲決定処理のフローチャートである。まず、マスタサーバ31は、測定を行う再配信サーバ32から通知された基幹接続ルータへのホップ数(または、マスタサーバ31自身が直接測定したホップ数)をもとに、その再配信サーバ32に最も近い基幹接続ルータを検出する(ステップS81)。
【0064】
次に、再配信サーバリストの中から、検出された基幹接続ルータを直近の基幹接続ルータとする再配信サーバ32と、それ以外の再配信サーバ32のうちで、基幹接続ルータを経由するルート上にあるものを検出し、それらを経路コストの測定対象として(ステップS82)、処理を終了する。
【0065】
図13は、このようにして決定された測定範囲の例を示している。図13の測定範囲41には、測定を行う再配信サーバ42に最も近い基幹接続ルータ43を直近の基幹接続ルータとする再配信サーバ44と、再配信サーバ42から見て、基幹接続ルータ43、45を経由するルート上にある再配信サーバ46が含まれている。
【0066】
次に、図14は、再配信サーバまでの経路情報をもとにした測定範囲決定処理のフローチャートである。ここでは、測定を行う再配信サーバ32の直前のルータ12から他のルータ12までの制限ホップ数をH1とし、ルータ12から再配信サーバ32までの制限ホップ数をH2とする。また、マスタサーバ31は、ソース11と再配信サーバ32が一致していたり、配布経路ツリーを既に生成済みである等の理由から、ソース11に最も近い再配信サーバ32を知っているものとする。
【0067】
まず、マスタサーバ31からの指示により、ソース11の直近の再配信サーバ32は、測定を行う再配信サーバ32までのルート上に存在するルータ12と、その再配信サーバ32までのホップ数を検出し、結果をマスタサーバ31に通知する(ステップS91)。
【0068】
次に、マスタサーバ31は、測定を行う再配信サーバ32の直近のルータ12の配下の再配信サーバ32をピックアップして集合SS1に入れ、h=1とおく(ステップS92)。
【0069】
次に、測定を行う再配信サーバ32の直近のルータ12からhホップだけソース側にあるルータ12を、ルータhとする(ステップS93)。そして、ルータhを通り、かつルータhからのホップ数がH2以内の再配信サーバ32(他の枝も含む)を探し、そのような再配信サーバ32があれば、集合SS2に入れる(ステップS94)。
【0070】
次に、hとH1を比較し(ステップS95)、h<H1であれば、h=h+1とおいて(ステップS96)、ステップS93以降の処理を繰り返す。そして、ステップS95においてhがH1に達すれば、次に、集合SS1に属していない集合SS2の要素があるか否かをチェックする(ステップS97)。そのような要素がなければ、ステップS96以降の処理を繰り返す。
【0071】
そして、ステップS97において、集合SS1に属していない集合SS2の要素があれば、集合SS1およびSS2に含まれる再配信サーバ32を測定対象として(ステップS98)、処理を終了する。
【0072】
図15は、このようにして決定された測定範囲の例を示している。図15の測定範囲51には、測定を行う再配信サーバ52に最も近いルータ53の配下の再配信サーバ54と、ルータ53の1ホップ前のルータ55に最も近い再配信サーバ56が含まれている。
【0073】
次に、図16から図21までを参照しながら、図2の配信システムにおける処理の細部について説明する。
新規再配信サーバの動作開始時には、その再配信サーバがマスタサーバに登録され、新規再配信サーバと既存の再配信サーバの間の経路コストが収集される。また、再配信サーバの動作を停止する場合には、登録情報が削除され、再配信サーバ間の経路コストが更新される。
【0074】
図16は、新規再配信サーバの登録処理のフローチャートである。まず、新規再配信サーバは、基幹接続ルータまでのホップ数を測定し(ステップS101)、自ノードのIPアドレスと測定したホップ数を含む登録要求を、マスタサーバに送信する(ステップS102)。マスタサーバのアドレスは、Web等で公開されているか、または、再配信サーバプログラムのダウンロード時に、そのプログラムに記入されているものとする。
【0075】
次に、マスタサーバは、再配信サーバリストに新規再配信サーバのIPアドレスと基幹接続ルータまでのホップ数を登録する(ステップS103)。そして、上述した測定範囲決定処理により、経路コストの測定対象となる再配信サーバのIPアドレスリストを含む再配信サーバリストを作成する(ステップS104)。このとき、新規再配信サーバに対しては、その再配信サーバリストを通知し、リストに含まれる既存再配信サーバに対しては、新規再配信サーバのIPアドレスを、経路コストの測定対象として通知する。
【0076】
新規再配信サーバは、マスタサーバから通知された再配信サーバリストに含まれる各再配信サーバを対象として、経路コストを測定し(ステップS105)、測定結果と自ノードの負荷情報をマスタサーバに通知する(ステップS106)。
【0077】
また、既存再配信サーバは、マスタサーバから通知された新規再配信サーバを対象として、経路コストを測定し(ステップS107)、測定結果と自ノードの負荷情報をマスタサーバに通知する(ステップS108)。
【0078】
次に、図17は、再配信サーバの削除処理のフローチャートである。まず、動作を停止する再配信サーバは、マスタサーバに対して、登録削除要求を送信する(ステップS111)。次に、マスタサーバは、その再配信サーバに関する情報を削除し、配布経路ツリーを再構成して、新しい配布経路ツリーの情報を配布する(ステップS112)。また、要求を送信した再配信サーバに対して、削除許可を送信する。そして、削除許可を受信した再配信サーバは、動作を停止する。
【0079】
配布経路ツリーは、あるストリームデータを配布するときに使用される再配信サーバの経路ツリーであり、再配信サーバ間の経路コスト情報をもとに、上述した処理により生成される。ストリームの配布経路ツリーは、そのストリームの登録を契機として生成され、再配信サーバの登録または削除の際に更新される。一般に、生成された配布経路ツリーと、実際のストリームデータが配布される経路は異なり、下流にクライアントが接続されていない配布経路ツリーの枝には、実際のストリームデータが配布されない場合がある。
【0080】
ソースは、ストリームデータの配布に先立って、マスタサーバに対して、以下のようなストリーム情報を登録する。
(1)送信元:データを送信するホスト(ソース)のIPアドレス
(2)ストリームID:送信ホスト毎に一意な識別情報
(3)配布の形態:クライアント要求型/配布型の区別
(4)配布の範囲:配布型の場合にデータを配布する範囲
このうち、配布の形態がクライアント要求型の場合は、クライアントが接続されている配布経路ツリーの枝にのみデータが配布され、配布型の場合は、クライアントが接続されているか否かに関係なく、設定された範囲の再配信サーバにデータが配布される。配布の範囲はドメインで指定され、指定されていないドメインが末端となっている枝には、実データは転送されない。
【0081】
マスタサーバは、基本的に、ストリーム情報が登録された時点で、ストリームソースを根とする配布経路ツリーを作成する。このとき、マスタサーバは、各再配信サーバの負荷情報を参照しながらアドミッション制御を行い、既に多数のストリームの配信を行っている再配信サーバは経路として使用しない。また、再配信サーバの登録/削除時や、ネットワーク状況の変化が検出されたときに、配布経路ツリーの再構成を行うこともできる。
【0082】
また、障害が起きる可能性のある経路または再配信サーバに関する情報(負荷が高くなりやすい等)がある場合には、そのような経路上にある再配信サーバを指定し、指定された再配信サーバを通らない代替配布経路ツリーを、バックアップ用配布経路ツリーとして、あらかじめ作成しておくこともできる。
【0083】
バックアップ用配布経路ツリーは、マスタサーバが管理している再配信サーバから、指定された再配信サーバを除いた残りを、使用可能な再配信サーバとして、自動生成アルゴリズムを適用することにより、求められる。また、障害が発生する可能性が複数考えられる場合は、それぞれの可能性について、対応する部分を除外したバックアップ用配布経路ツリーが作成される。現在使用中の配布経路ツリーからバックアップ用配布経路ツリーへの切り替えは、例えば、ネットワーク状況の変化が検出されたときを契機として行われる。
【0084】
また、マスタサーバは、ストリームと配布経路ツリーの情報を、配布経路ツリーに沿って各再配信サーバに通知する。通知のタイミングは、ストリームの配布形態によって異なる。クライアント要求型の場合は、クライアントが接続した再配信サーバから配布経路ツリー要求を受信したときであり、配布型の場合は、配布経路ツリー生成の直後である。このとき、マスタサーバは、以下のような配布経路通知データを各再配信サーバに配布する。
ストリームソース(IPアドレス)、ストリームID、上流サーバアドレス、port、経路番号、経由再配信サーバアドレス、分岐数、分岐(下流)経路番号・・・、経路番号、経由再配信サーバアドレス、分岐数、分岐(下流)経路番号・・・、経路番号、経由再配信サーバアドレス、分岐数(0)
クライアント要求型のストリームの場合、配布経路ツリー全体の中から、配布経路ツリー要求を送信してきた再配信サーバに至る配布経路を抜き出し、配布経路通知データとして配布する。また、配布型のストリームの場合は、配布経路ツリー全体のデータを配布する。配布経路通知データを受信した各再配信サーバは、ストリームと配布経路ツリーの情報を、ストリーム−経路対応表として管理する。
【0085】
このとき、上流再配信サーバは、下流再配信サーバに伝達する必要のない情報(上流側の配布経路に関する情報)を配布経路通知データから削除し、残りのデータを下流再配信サーバに配布する。
【0086】
図18は、各再配信サーバが通知された情報を他の再配信サーバに配布する処理のフローチャートである。まず、再配信サーバは、上流再配信サーバから配布経路通知データを受信し(ステップS121)、受信したデータの内容が新しいか否かをチェックする(ステップS122)。
【0087】
受信したデータが新しいデータであれば、次に、ストリーム受信用のポートを確保して、その識別情報を上流再配信サーバに通知する(ステップS123)。このとき、例えば、確保されたポートのうち、未使用のポートの中から最も若い番号のポートを選択し、その番号を含む以下のようなデータを上流再配信サーバに通知する。
ストリームソース(IPアドレス)、ストリームID、自ノードのIPアドレス、受信ポート番号
データを受信した上流再配信サーバは、これらの情報をストリーム−経路対応表に格納する。
【0088】
次に、ポート番号を通知した再配信サーバは、ストリーム−経路対応表に以下のような情報を格納する(ステップS124)。ただし、下流再配信サーバの受信ポート番号は、その再配信サーバからの通知を受信した時点で格納する。
(1)ストリームソース(IPアドレス)
(2)ストリームID
(3)上流再配信サーバのアドレスおよび経路番号
(4)下流再配信サーバのアドレス、ポート番号、および経路番号
次に、受信した配布経路通知データに従って設定を行い、ストリーム配信を開始する(ステップS125)。そして、配布経路通知データから、自ノードに関する情報を削除し、残りの配布経路通知データを下流再配信サーバに送信して(ステップS126)、処理を終了する。ステップS122において、受信したデータが既に受信しているデータと同じであれば、情報を格納せずに、ステップS126の処理を行う。
【0089】
図19は、このような処理による配布経路通知データの配布とポート番号の通知を示している。図19において、実線の矢印は、配布経路通知データの配布を表し、破線の矢印は、ポート番号の通知を表している。配布経路通知データは、マスタサーバ31からソース11に送信され、配布経路ツリーに沿って下流再配信サーバに配布される。
【0090】
また、クライアント要求型のストリームの場合、各再配信サーバは、下流にデータ配布対象の再配信サーバやクライアントがなくなったとき、上流再配信サーバに対して以下のようなデータを送信して、データ配布の中止を要求する。
ストリームソース(IPアドレス)、ストリームID、解除フラグ、自ノードのIPアドレス、受信ポート番号
次に、クライアントの接続および切断について説明する。図20は、クライアント接続処理のフローチャートである。まず、クライアントは、接続候補となる再配信サーバの情報を持っているか否かをチェックし(ステップS131)、その情報を持っていなければ、マスタサーバに対してストリーム配信を要求する(ステップS132)。マスタサーバとストリームに関する情報は、Web等から取得できるものとする。
【0091】
マスタサーバは、要求に応じて接続候補再配信サーバを決定し(ステップS133)、クライアントに通知する(ステップS134)。このとき、マスタサーバは、DNS(Domain Name System)を用いてクライアントのドメインを取得し、同じドメインに再配信サーバがある場合は、その再配信サーバを接続候補とする。
【0092】
そして、上述した経路コスト測定範囲の絞り込みと同様にして、クライアントの位置を把握し、ストリームの配布経路ツリーから近い再配信サーバを選択する。また、既に多数のストリームの配信を行っている再配信サーバは、アドミッション制御により候補から除く。
【0093】
接続候補再配信サーバを通知されると、クライアントは、その再配信サーバに接続を要求する(ステップS135)。このとき、ストリーム情報とクライアントの受信ポート番号を再配信サーバに通知する。
【0094】
接続要求を受けた再配信サーバは、まず、該当ストリームに関するストリーム−経路対応表を持っているか否かをチェックし(ステップS136)、その対応表があれば、次に、接続を要求したクライアントがそのストリームに関する初めてのクライアントであるか否かをチェックする(ステップS137)。
【0095】
それが初めてのクライアントであれば、クライアントが接続したことをマスタサーバに対して通知し(ステップS138)、クライアントに対してストリームデータの配信を開始する(ステップS139)。また、マスタサーバは、その再配信サーバのそのストリームに対するクライアント接続の有無に関する情報を更新する(ステップS140)。ステップS137において、接続を要求したクライアントが初めてのクライアントでなければ、再配信サーバは、そのままステップS139の処理を行う。
【0096】
また、ステップS136において、該当ストリームに関するストリーム−経路対応表がなければ、再配信サーバは、マスタサーバに対して以下のようなデータを送信し、配布経路ツリーを要求する(ステップS141)。
再配信サーバのアドレス、ストリームソースのアドレス、ストリームID
マスタサーバは、要求に応じて配布経路通知データを送信する(ステップS142)。再配信サーバは、上流再配信サーバを介してそれを受信し、受信データに従ってストリームデータ配信のための設定を行って(ステップS143)、ステップS137以降の処理を行う。
【0097】
図21は、クライアント切断処理のフローチャートである。まず、クライアントは、接続している再配信サーバに対して、切断要求を送信する(ステップS151)。
【0098】
再配信サーバは、要求に応じてクライアントへのデータ配信を中止し、ストリーム−経路対応表から、そのクライアントの項目を削除する(ステップS152)。そして、そのストリームに関して、そのクライアント以外のクライアントが存在するか否かをチェックする(ステップS153)。
【0099】
他のクライアントが存在しなければ、マスタサーバに対して、接続するクライアントがなくなったことを通知する(ステップS154)。マスタサーバは、その再配信サーバのそのストリームに対するクライアント接続の有無に関する情報を更新する(ステップS155)。
【0100】
次に、再配信サーバは、そのストリームに関して、そのクライアント以外の転送先が存在するか否かをチェックする(ステップS156)。他の転送先が存在しなければ、上流再配信サーバに対してデータ配布の中止を要求する(ステップS157)。
【0101】
ステップS153において他のクライアントが存在すれば、ステップS156以降の処理を行い、ステップS156において他の転送先が存在すれば、そのまま処理を終了する。
【0102】
ところで、図2のソース11、クライアント、マスタサーバ31、および再配信サーバ32は、例えば、図22に示すような情報処理装置(コンピュータ)を用いて運用される。図22の情報処理装置は、CPU(中央処理装置)61、メモリ62、入力装置63、出力装置64、外部記憶装置65、媒体駆動装置66、およびネットワーク接続装置67を備え、それらはバス68により互いに接続されている。
【0103】
メモリ62は、例えば、ROM(read only memory)、RAM(random access memory)等を含み、処理に用いられるプログラムとデータを格納する。CPU61は、メモリ62を利用してプログラムを実行することにより、必要な処理を行う。
【0104】
入力装置63は、例えば、キーボード、ポインティングデバイス、タッチパネル等であり、オペレータからの指示や情報の入力に用いられる。出力装置64は、例えば、ディスプレイ、プリンタ、スピーカ等であり、オペレータへの問い合わせや処理結果の出力に用いられる。
【0105】
外部記憶装置65は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。情報処理装置は、この外部記憶装置65に、上述のプログラムとデータを保存しておき、必要に応じて、それらをメモリ62にロードして使用する。
【0106】
媒体駆動装置66は、可搬記録媒体69を駆動し、その記録内容にアクセスする。可搬記録媒体69としては、メモリカード、フロッピーディスク、CD−ROM(compact disk read only memory )、光ディスク、光磁気ディスク等、任意のコンピュータ読み取り可能な記録媒体が用いられる。オペレータは、この可搬記録媒体69に上述のプログラムとデータを格納しておき、必要に応じて、それらをメモリ62にロードして使用する。
【0107】
ネットワーク接続装置67は、インターネット、イントラネット等の任意の通信ネットワークに接続され、通信に伴うデータ変換を行う。また、情報処理装置は、上述のプログラムとデータをネットワーク接続装置67を介して、サーバ等の他の装置から受け取り、必要に応じて、それらをメモリ62にロードして使用する。
【0108】
図23は、図22の情報処理装置にプログラムとデータを供給することのできるコンピュータ読み取り可能な記録媒体を示している。可搬記録媒体69やサーバ70のデータベース71に保存されたプログラムとデータは、メモリ62にロードされる。このとき、サーバ70は、プログラムとデータを搬送する搬送信号を生成し、ネットワーク上の任意の伝送媒体を介して、情報処理装置に送信する。そして、CPU61は、そのデータを用いてそのプログラムを実行し、必要な処理を行う。
(付記1) 通信ネットワークのノード間の通信コストに関する情報を収集する収集手段と、
前記通信ネットワーク上の複数のクライアントに、ソースから発信されたストリームデータを配布するとき、該ソースから該複数のクライアントに至る配布経路を表す配布経路情報を、前記通信コストに関する情報に基づいて、自動的に生成する生成手段と、
前記配布経路情報を出力する出力手段と
を備えることを特徴とする配布経路生成装置。
(付記2) 前記生成手段は、前記ソースから転送先ノードまでの通信コストが最小になるように、該転送先ノードを選択することで、前記配布経路情報を生成することを特徴とする付記1記載の配布経路生成装置。
(付記3) 前記生成手段は、生成中の配布経路上の各ノードから転送先ノードまでの通信コストが最小になるように、該転送先ノードを選択することで、前記配布経路情報を生成することを特徴とする付記1記載の配布経路生成装置。
(付記4) 前記生成手段は、ノード群を複数のグループに分割し、前記ソースが属するグループを起点とするグループ間の配布経路情報を生成し、該ソースが属するグループ内において、該ソースを起点とする、グループ内の配布経路情報を生成し、その他のグループ内において、グループ間の配布経路の入力枝端となるノードを起点とする、グループ内の配布経路情報を生成することを特徴とする付記1記載の配布経路生成装置。
(付記5) 前記生成手段は、ノード間の通信コストが閾値以上である枝を境界として、前記ノード群を前記複数のグループに分割することを特徴とする付記4記載の配布経路生成装置。
(付記6) 前記通信コストの測定範囲を限定する限定手段をさらに備えることを特徴とする付記1記載の配布経路生成装置。
(付記7) 前記限定手段は、前記通信ネットワークの基幹に接続するルータを指定し、指定されたルータを介して該基幹に接続する1つ以上のノードを、測定対象とすることを特徴とする付記6記載の配布経路生成装置。
(付記8) 前記限定手段は、前記ソースから測定を行う測定ノードまでの経路情報をもとに、該測定ノードから第1の制限ホップ数以内の距離にあるルータを検出し、検出されたルータから第2の制限ホップ数以内の距離にあるノードを、測定対象とすることを特徴とする付記6記載の配布経路生成装置。
(付記9) データパケットおよび制御用パケットのうち少なくとも一方の情報に基づいて、ネットワーク状況の変化を検出する検出手段をさらに備え、前記収集手段は、該ネットワーク状況の変化を契機として、前記通信コストに関する情報を収集することを特徴とする付記1記載の配布経路生成装置。
(付記10) データパケットおよび制御用パケットのうち少なくとも一方の情報に基づいて、ネットワーク状況の変化を検出する検出手段をさらに備え、前記生成手段は、該ネットワーク状況の変化を契機として、配布経路情報を再生成することを特徴とする付記1記載の配布経路生成装置。
(付記11) 前記生成手段は、前記通信ネットワーク上で障害の発生が予想される部分を除外した代替配布経路を表す配布経路情報をさらに生成することを特徴とする付記1記載の配布経路生成装置。
(付記12) データパケットおよび制御用パケットのうち少なくとも一方の情報に基づいて、ネットワーク状況の変化を検出する検出手段をさらに備え、前記生成手段は、該ネットワーク状況の変化を契機として、現在の配布経路を代替配布経路へ切り替ることを特徴とする付記11記載の配布経路生成装置。
(付記13) コンピュータのためのプログラムを記録した記録媒体であって、該プログラムは、
通信ネットワークのノード間の通信コストに関する情報を収集し、
前記通信ネットワーク上の複数のクライアントに、ソースから発信されたストリームデータを配布するとき、該ソースから該複数のクライアントに至る配布経路を表す配布経路情報を、前記通信コストに関する情報に基づいて、自動的に生成する
処理を前記コンピュータに実行させることを特徴とするコンピュータ読み取り可能な記録媒体。
(付記14) コンピュータにプログラムを搬送する搬送信号であって、該プログラムは、
通信ネットワークのノード間の通信コストに関する情報を収集し、
前記通信ネットワーク上の複数のクライアントに、ソースから発信されたストリームデータを配布するとき、該ソースから該複数のクライアントに至る配布経路を表す配布経路情報を、前記通信コストに関する情報に基づいて、自動的に生成する
処理を前記コンピュータに実行させることを特徴とする搬送信号。
(付記15) 通信ネットワークのノード間の通信コストに関する情報を収集し、
前記通信ネットワーク上の複数のクライアントに、ソースから発信されたストリームデータを配布するとき、該ソースから該複数のクライアントに至る配布経路を表す配布経路情報を、前記通信コストに関する情報に基づいて、自動的に生成する
ことを特徴とする配布経路生成方法。
(付記16) 前記配布経路情報を、前記配布経路に沿って、上流ノードから下流ノードに配布することを特徴とする付記15記載の配布経路生成方法。
(付記17) 前記上流ノードにおいて、前記下流ノードに伝達する必要のない情報を前記配布経路情報から削除し、残りの情報を該上流ノードから該下流ノードに配布することを特徴とする付記16記載の配布経路生成方法。
(付記18) 前記下流ノードにおいて、前記ストリームデータを受信するためのポートを確保し、該ポートの識別情報を該下流ノードから前記上流ノードに通知することを特徴とする付記16記載の配布経路生成方法。
【0109】
【発明の効果】
本発明によれば、ネットワーク層の変更や管理者による煩雑な設定作業を必要とせずに、アプリケーション層におけるストリームデータの配布経路が効率的かつ自動的に構成される。したがって、同じストリームデータが複数本同じネットワーク上を流れることによって引き起こされるネットワークの輻輳を回避して、クライアントにストリームデータを供給することが可能となる。
【図面の簡単な説明】
【図1】本発明の配布経路生成装置の原理図である。
【図2】ストリーム配信システムを示す図である。
【図3】第1の配布経路ツリー生成処理のフローチャートである。
【図4】ツリー生成処理のフローチャートである。
【図5】次ノード検索処理のフローチャートである。
【図6】第1の配布経路を示す図である。
【図7】第2の配布経路ツリー生成処理のフローチャートである。
【図8】第2の配布経路を示す図である。
【図9】再配信サーバのグループを示す図である。
【図10】第3の配布経路ツリー生成処理のフローチャートである。
【図11】グループ化処理のフローチャートである。
【図12】第1の測定範囲決定処理のフローチャートである。
【図13】第1の測定範囲を示す図である。
【図14】第2の測定範囲決定処理のフローチャートである。
【図15】第2の測定範囲を示す図である。
【図16】登録処理のフローチャートである。
【図17】削除処理のフローチャートである。
【図18】配布処理のフローチャートである。
【図19】通知データの配布を示す図である。
【図20】接続処理のフローチャートである。
【図21】切断処理のフローチャートである。
【図22】情報処理装置の構成図である。
【図23】記録媒体を示す図である。
【図24】ストリーム配信の現状を示す図である。
【符号の説明】
11 ストリームソース
12、53、55 ルータ
13 クライアント
21 収集手段
22 生成手段
23 出力手段
31 マスタサーバ
32、42、44、46、52、54、56 再配信サーバ
41、51 測定範囲
43、45 基幹接続ルータ
61 CPU
62 メモリ
65 外部記憶装置
66 媒体駆動装置
67 ネットワーク接続装置
68 バス
69 可搬記録媒体
70 サーバ
71 データベース
G1、G2、G3、G4 グループ

Claims (1)

  1. 通信ネットワークのノード間の通信コストに関する情報を収集する収集手段と、
    前記通信ネットワーク上の複数のクライアントに、ソースから発信されたストリームデータを配布するとき、該ソースから該複数のクライアントに至る配布経路を表す配布経路情報を、前記通信コストに関する情報に基づいて、自動的に生成する生成手段と、
    前記配布経路情報を出力する出力手段と、を備えることを特徴とする配布経路生成装置であって、
    前記生成手段は、ノード間の通信コストが閾値以上である枝を境界として、ノード群を複数のグループに分割し、前記ソースが属するグループを起点とするグループ間の配布経路情報を生成し、該ソースが属するグループ内において、該ソースを起点とする、グループ内の配布経路情報を生成し、その他のグループ内において、グループ間の配布経路の入力枝端となるノードを起点とする、グループ内の配布経路情報を生成することを特徴とする配布経路生成装置。
JP2001327475A 2000-11-30 2001-10-25 データの配布経路を生成する装置および方法 Expired - Fee Related JP3904885B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001327475A JP3904885B2 (ja) 2000-11-30 2001-10-25 データの配布経路を生成する装置および方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2000364555 2000-11-30
JP2000-364555 2000-11-30
JP2001327475A JP3904885B2 (ja) 2000-11-30 2001-10-25 データの配布経路を生成する装置および方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2006302959A Division JP2007068221A (ja) 2000-11-30 2006-11-08 データの配布経路を生成する装置および方法

Publications (2)

Publication Number Publication Date
JP2002232466A JP2002232466A (ja) 2002-08-16
JP3904885B2 true JP3904885B2 (ja) 2007-04-11

Family

ID=26604923

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001327475A Expired - Fee Related JP3904885B2 (ja) 2000-11-30 2001-10-25 データの配布経路を生成する装置および方法

Country Status (1)

Country Link
JP (1) JP3904885B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI265697B (en) * 2002-06-06 2006-11-01 Ibm Digital contents distribution system, digital contents distribution method, computer readable recording medium storing the program therein, and server and client therefor
JP4073923B2 (ja) 2005-03-30 2008-04-09 富士通株式会社 ネットワーク機器管理装置、ネットワーク機器管理プログラム、及びネットワーク機器管理方法
CN101288288A (zh) * 2005-10-14 2008-10-15 皇家飞利浦电子股份有限公司 改进的接近度检测方法
JP2007183714A (ja) * 2006-01-04 2007-07-19 Mitsubishi Electric Corp コンテンツ配信システム、中継サーバ及び中継管理サーバ
JP2007226400A (ja) * 2006-02-22 2007-09-06 Hitachi Ltd 計算機管理方法、計算機管理プログラム、実行サーバの構成を管理する待機サーバ及び計算機システム
JP4893824B2 (ja) * 2007-05-22 2012-03-07 富士通株式会社 通信方法、通信装置、プログラム及び通信システム
JP4504415B2 (ja) * 2007-12-21 2010-07-14 富士通株式会社 ネットワーク機器管理プログラム
US10862962B2 (en) * 2018-10-10 2020-12-08 Palo Alto Research Center Incorporated Dynamic content distribution in an enterprise network
CN110825943B (zh) * 2019-10-23 2023-10-10 支付宝(杭州)信息技术有限公司 一种生成用户访问路径树数据的方法、系统及设备

Also Published As

Publication number Publication date
JP2002232466A (ja) 2002-08-16

Similar Documents

Publication Publication Date Title
Jokela et al. LIPSIN: Line speed publish/subscribe inter-networking
US7583796B2 (en) Apparatus and method for generating a data distribution route
CN104780096B (zh) 一种控制虚拟网络的系统及虚拟网络控制器节点
US7583601B2 (en) Multicast transfer route setting method, and multicast label switching method for implementing former method
JP2723084B2 (ja) リンクステートルーティング装置
JP5850068B2 (ja) 制御装置、通信システム、通信方法およびプログラム
EP1022875B1 (en) Push network
US9806895B1 (en) Fast reroute of redundant multicast streams
JP2004048146A (ja) リクエストルーティングネットワーク、リクエストルータ装置、ルータ装置及びネットワークにおけるパス設定方法
AlSaeed et al. Multicasting in software defined networks: A comprehensive survey
US11646960B2 (en) Controller provided protection paths
US20140149549A1 (en) Distributed cluster processing system and packet processing method thereof
CN104272679A (zh) 通信系统、控制装置、通信方法以及程序
JP2005210631A (ja) パケット転送装置
CN103975556A (zh) 远程多播复制网络的改进复制管理
JP3904885B2 (ja) データの配布経路を生成する装置および方法
Ascigil et al. A native content discovery mechanism for the information-centric networks
CN109168050A (zh) 一种基于sdn的视频组播方法
JP2016171503A (ja) 管理装置および接続処理方法
WO2013189414A2 (zh) 网络拓扑自动获取方法及系统、网络查询及管理系统
JP2007068221A (ja) データの配布経路を生成する装置および方法
WO2023065848A1 (zh) 业务调度方法、装置、设备及计算机可读存储介质
JP2000354067A (ja) プッシュ型ネットワーク
Renganathan Raja et al. A subtree-based approach to failure detection and protection for multicast in SDN
JP2005159846A (ja) マルチキャスト転送経路設定方法および装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040927

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060622

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060627

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060828

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20061010

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061108

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20061214

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070110

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110119

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120119

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130119

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130119

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20140119

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees