(57)【要約】  ＡＬＭ配信木構築装置（１００）は、複数の端末それぞれのアップロードリンク帯域を測定するメトリック測定部（１０１）と、複数の端末それぞれに１つの上位端末及び１以上の下位端末の少なくとも一方を割り当てるノード割当部（２０２）と、下位端末が割り当てられた端末それぞれについて、アップロードリンク帯域の少なくとも一部を、ストリームデータを配信する論理的な第１の枝として割り当てる第１の枝割当部（２０３）と、第１の枝として使用されない残帯域を、当該端末より下の階層に位置する端末に対してストリームデータに関連する関連データを配信する論理的な第２の枝として割り当てる第２の枝割当部（４０２）とを備える。
2010146798.tif 000002
【特許請求の範囲】
【請求項１】
通信ネットワークに相互接続される複数の端末のうちから選ばれたルート端末から他の全ての端末に対してストリームデータを配信するＡＬＭ（Ａｐｐｌｉｃａｔｉｏｎ  Ｌａｙｅｒ  Ｍｕｌｔｉｃａｓｔ）配信木を構築するＡＬＭ配信木構築装置であって、
前記複数の端末それぞれのアップロードリンク帯域を測定するメトリック測定部と、
前記複数の端末それぞれに、前記ストリームデータの配信元となる１つの上位端末、及び前記ストリームデータの配信先となる１以上の下位端末の少なくとも一方を割り当てる端末割当部と、
前記下位端末が割り当てられた端末それぞれについて、前記メトリック測定部によって測定された前記アップロードリンク帯域の少なくとも一部を、前記下位端末に対して前記ストリームデータを配信する論理的な第１の通信路として割り当てる第１の通信路割当部と、
前記アップロードリンク帯域のうち前記第１の通信路として使用されない残帯域を有する端末それぞれについて、前記残帯域を、当該端末より下の階層に位置する端末に対して前記ストリームデータに関連する関連データを配信する論理的な第２の通信路として割り当てる第２の通信路割当部とを備える
ＡＬＭ配信木構築装置。
【請求項２】
前記端末割当部は、前記複数の端末それぞれを、第１階層、前記第１階層に属する端末のいずれか１つを前記上位端末とする第２階層、及び前記第２階層に属する端末のいずれか１つを前記上位端末とする第３階層のいずれかに割り当て、
前記第２の通信路割当部は、前記第２の通信路として、
前記第２階層に属する端末の残帯域を、前記第３階層に属する端末に均等に割り当て、
前記第１階層に属する端末の残帯域を、前記第２階層に属する端末に均等に割り当てる
請求項１に記載のＡＬＭ配信木構築装置。
【請求項３】
前記第２の通信路割当部は、さらに、
前記第１階層に属する端末の残帯域を前記第２階層に属する端末数で除した第１の商が、前記第２階層に属する端末の残帯域を前記第３階層に属する端末数で除した第２の商より大きい場合に、前記第１の階層に属する端末の残帯域を、前記第２及び第３階層に属する端末に対する前記第２の通信路が同一帯域となるように、前記第２及び第３階層に属する端末に割り当てる
請求項２に記載のＡＬＭ配信木構築装置。
【請求項４】
該ＡＬＭ配信木構築装置は、さらに、
前記他の全ての端末それぞれについて、前記ルート端末から配信された前記ストリームデータを受信するまでの遅延時間を測定する経路遅延測定部と、
前記経路遅延測定部の測定結果に基づいて、前記複数の端末それぞれを、前記ルート端末から配信される前記ストリームデータを第１の時間経過以前に受信する第１階層、前記第１の時間経過後で前記第１の時間より遅い第２の時間経過以前に受信する第２階層、及び前記第２の時間経過後に受信する第３階層のいずれかに割り当てる経路遅延適用部とを備え、
前記第２の通信路割当部は、前記第２の通信路として、
前記第２階層に属する端末の残帯域を、前記第３階層に属する端末に均等に割り当て、
前記第１階層に属する端末の残帯域を、前記第２階層に属する端末に均等に割り当てる
請求項１に記載のＡＬＭ配信木構築装置。
【請求項５】
該ＡＬＭ配信木構築装置は、さらに、２以上の前記端末それぞれの残帯域が、前記第２の通信路として同一の前記端末に割り当てられている場合に、前記関連データを前記第２の通信路の帯域幅で比例配分して、前記２以上の端末それぞれに配信させる関連データ割当部を備える
請求項１〜４のいずれか１項に記載のＡＬＭ配信木構築装置。
【請求項６】
前記関連データは、前記ストリームデータの誤り訂正符号を含む
請求項１〜５のいずれか１項に記載のＡＬＭ配信木構築装置。
【請求項７】
前記関連データは、前記ストリームデータの損失に対する再送データを含む
請求項１〜５のいずれか１項に記載のＡＬＭ配信木構築装置。
【請求項８】
該ＡＬＭ配信木構築装置は、前記ルート端末である
請求項１〜７のいずれか１項に記載のＡＬＭ配信木構築装置。
【請求項９】
通信ネットワークに相互接続される複数の端末のうちから選ばれたルート端末から他の全ての端末に対してストリームデータを配信するＡＬＭ（Ａｐｐｌｉｃａｔｉｏｎ  Ｌａｙｅｒ  Ｍｕｌｔｉｃａｓｔ）配信木を構築するＡＬＭ配信木構築方法であって、
前記複数の端末それぞれのアップロードリンク帯域を測定するメトリック測定ステップと、
前記複数の端末それぞれに、前記ストリームデータの配信元となる１つの上位端末、及び前記ストリームデータの配信先となる１以上の下位端末の少なくとも一方を割り当てる端末割当ステップと、
前記下位端末が割り当てられた端末それぞれについて、前記メトリック測定ステップにおいて測定された前記アップロードリンク帯域の少なくとも一部を、前記下位端末に対して前記ストリームデータを配信する論理的な第１の通信路として割り当てる第１の通信路割当ステップと、
前記アップロードリンク帯域のうち前記第１の通信路として使用されない残帯域を有する端末それぞれについて、前記残帯域を、当該端末より下の階層に位置する端末に対して前記ストリームデータに関連する関連データを配信する論理的な第２の通信路として割り当てる第２の通信路割当ステップとを含む
ＡＬＭ配信木構築方法。
【請求項１０】
通信ネットワークに相互接続される複数の端末のうちから選ばれたルート端末から他の全ての端末に対してストリームデータを配信するＡＬＭ（Ａｐｐｌｉｃａｔｉｏｎ  Ｌａｙｅｒ  Ｍｕｌｔｉｃａｓｔ）配信木を構築するプログラムであって、
前記複数の端末それぞれのアップロードリンク帯域を測定するメトリック測定ステップと、
前記複数の端末それぞれに、前記ストリームデータの配信元となる１つの上位端末、及び前記ストリームデータの配信先となる１以上の下位端末の少なくとも一方を割り当てる端末割当ステップと、
前記下位端末が割り当てられた端末それぞれについて、前記メトリック測定ステップにおいて測定された前記アップロードリンク帯域の少なくとも一部を、前記下位端末に対して前記ストリームデータを配信する論理的な第１の通信路として割り当てる第１の通信路割当ステップと、
前記アップロードリンク帯域のうち前記第１の通信路として使用されない残帯域を有する端末それぞれについて、前記残帯域を、当該端末より下の階層に位置する端末に対して前記ストリームデータに関連する関連データを配信する論理的な第２の通信路として割り当てる第２の通信路割当ステップと
を、コンピュータに実行させるプログラム。
【請求項１１】
通信ネットワークに相互接続される複数の端末のうちから選ばれたルート端末から他の全ての端末に対してストリームデータを配信するＡＬＭ（Ａｐｐｌｉｃａｔｉｏｎ  Ｌａｙｅｒ  Ｍｕｌｔｉｃａｓｔ）配信木を構築する集積回路であって、
前記複数の端末それぞれのアップロードリンク帯域を測定するメトリック測定部と、
前記複数の端末それぞれに、前記ストリームデータの配信元となる１つの上位端末、及び前記ストリームデータの配信先となる１以上の下位端末の少なくとも一方を割り当てる端末割当部と、
前記下位端末が割り当てられた端末それぞれについて、前記メトリック測定部によって測定された前記アップロードリンク帯域の少なくとも一部を、前記下位端末に対して前記ストリームデータを配信する論理的な第１の通信路として割り当てる第１の通信路割当部と、
前記アップロードリンク帯域のうち前記第１の通信路として使用されない残帯域を有する端末それぞれについて、前記残帯域を、当該端末より下の階層に位置する端末に対して前記ストリームデータに関連する関連データを配信する論理的な第２の通信路として割り当てる第２の通信路割当部とを備える
集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＡＬＭ（Ａｐｐｌｉｃａｔｉｏｎ  Ｌａｙｅｒ  Ｍｕｌｔｉｃａｓｔ）配信木によるストリーム配信を行う場合に、ＡＬＭ配信木構築後の残帯域を有効活用するＡＬＭ配信木構築装置及びＡＬＭ配信木構築方法に関するものである。
【背景技術】
【０００２】
従来からＡＬＭ配信木を用いたストリーム配信が行われている。図１２及び図１３を参照して、ＡＬＭ配信木の概要を説明する。複数の端末１１、１２、１３、１４、１５、１６、１７は、図１２に示されるように、インターネットやＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等のスター型の通信ネットワーク１０に接続されている。【０００３】
ここで、例えば、端末１１が、他の全ての端末１２、１３、１４、１５、１６、１７に対して直接ストリームデータを配信しようとすると、データ量が端末１１に接続されている回線の帯域幅の上限を超えて、遅延が生じる可能性がある。【０００４】
そこで、図１３に示されるように、ストリームデータの配信元である端末１１を頂点（ルートノード）とする論理的な階層構造を構築する。つまり、端末１１は、ストリームデータを端末１２、１３にのみ配信する。そして、端末１２、１３は、端末１１から受信したストリームデータを再生すると共に、それぞれ配下の端末１４、１５、１６、１７に配信する。上記構成によれば、トラフィックを分散させることができるので、遅延のないストリーム配信を実現することができる。【０００５】
ここで、インターネット上でＡＬＭ配信木による映像配信等を行う場合、配信する映像の解像度（配信する映像のビットレート）と配信元（以下「ソース」と表記する）から各受信者への遅延がその品質を評価する主な指標とされている（例えば、遠隔講義等のインタラクティブなアプリケーションにおいては、映像の解像度と遅延との両方が重要である）。【０００６】
ＡＬＭ配信木は、複数のユーザ端末（以下単に「端末」、または「ノード」と表記する）によって構成されるため、ＡＬＭ配信木の構成はノードのアップロードリンクの帯域幅の上限、ダウンロードリンクの帯域幅の上限、及び各端末間の遅延時間に大きく影響される。【０００７】
一般的なインターネット利用（コンテンツ閲覧）に当たっては、ダウンロードするデータ量がアップロードするデータ量より多い。そのため、ダウンロードリンク（以降「ダウンリンク」と表記する）の帯域幅の上限が、アップロードリンク（以降「アップリンク」と表記する）の帯域幅の上限より大きく設定されていることが多い。【０００８】
例えば、多くのユーザが加入しているＡＤＳＬにおいては、アップリンク帯域幅がダウンリンク帯域幅の十数％に留まっている。このため、上記ＡＬＭ配信木の構成は、ノードのアップリンク帯域幅の上限とノード間の遅延とによって左右されるものであると言える。【０００９】
この２つのメトリックを考慮した様々なＡＬＭ配信木を構築する手法は、過去多数提案されている。例えば、非特許文献１は、ノードのアップリンク帯域幅とノード間の遅延とが入力として与えられたときに、ＡＬＭ配信木の最大遅延が与えられた上限を超えず、且つ配信に利用可能な帯域幅が最大になるようなＡＬＭ配信木の構築アルゴリズムを提案している。
【先行技術文献】
【非特許文献】
【００１０】
【非特許文献１】Ｍｕｌｔｉｃａｓｔ  ｒｏｕｔｉｎｇ  ａｎｄ  ｂａｎｄｗｉｄｔｈ  ｄｉｍｅｎｓｉｏｎｉｎｇ  ｉｎ  ｏｖｅｒｌａｙ  ｎｅｔｗｏｒｋｓ  Ｓｈｉ，  Ｓ．Ｙ．；  Ｔｕｒｎｅｒ，  Ｊ．Ｓ．；ＩＥＥＥ  Ｊｏｕｒｎａｌ  ｏｎ  Ｓｅｌｅｃｔｅｄ  Ａｒｅａｓ  ｉｎ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ，  Ｖｏｌｕｍｅ  ２０，  Ｉｓｓｕｅ  ８，  Ｏｃｔ．  ２００２，  Ｐａｇｅ（ｓ）：１４４４  −  １４５５
【発明の概要】
【発明が解決しようとする課題】
【００１１】
このようなアルゴリズムは、各ノードのアップリンク帯域幅を最大限に利用し、高品質な映像配信を目的としている。しかしながら、このアルゴリズムでは、各枝の太さがＡＬＭ配信木を構成する非葉ノードの最小アップリンク帯域幅に制約される。すなわち、配信する映像の帯域幅がその最小アップリンク帯域幅に制限されるという特徴がある。つまり、複数のノードでストリームデータの配信に使用されない帯域が生じる可能性がある。【００１２】
本発明は係る点に鑑みてなされたものであり、ＡＬＭ配信木上に生じる残帯域を有効活用することで、より高品質な伝送を実現するＡＬＭ配信木構築装置を提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明の一形態に係るＡＬＭ配信木構築装置は、通信ネットワークに相互接続される複数の端末のうちから選ばれたルート端末から他の全ての端末に対してストリームデータを配信するＡＬＭ（Ａｐｐｌｉｃａｔｉｏｎ  Ｌａｙｅｒ  Ｍｕｌｔｉｃａｓｔ）配信木を構築する。具体的には、前記複数の端末それぞれのアップロードリンク帯域を測定するメトリック測定部と、前記複数の端末それぞれに、前記ストリームデータの配信元となる１つの上位端末、及び前記ストリームデータの配信先となる１以上の下位端末の少なくとも一方を割り当てる端末割当部と、前記下位端末が割り当てられた端末それぞれについて、前記メトリック測定部によって測定された前記アップロードリンク帯域の少なくとも一部を、前記下位端末に対して前記ストリームデータを配信する論理的な第１の通信路として割り当てる第１の通信路割当部と、前記アップロードリンク帯域のうち前記第１の通信路として使用されない残帯域を有する端末それぞれについて、前記残帯域を、当該端末より下の階層に位置する端末に対して前記ストリームデータに関連する関連データを配信する論理的な第２の通信路として割り当てる第２の通信路割当部とを備える。【００１４】
上記構成のように、第１の通信路として使用されない残帯域を用いて、関連データを配信することにより、アップロードリンク帯域を有効利用したＡＬＭ配信木を構築することができる。【００１５】
また、前記端末割当部は、前記複数の端末それぞれを、第１階層、前記第１階層に属する端末のいずれか１つを前記上位端末とする第２階層、及び前記第２階層に属する端末のいずれか１つを前記上位端末とする第３階層のいずれかに割り当てる。そして、前記第２の通信路割当部は、前記第２の通信路として、前記第２階層に属する端末の残帯域を、前記第３階層に属する端末に均等に割り当て、前記第１階層に属する端末の残帯域を、前記第２階層に属する端末に均等に割り当ててもよい。【００１６】
さらに、前記第２の通信路割当部は、前記第１階層に属する端末の残帯域を前記第２階層に属する端末数で除した第１の商が、前記第２階層に属する端末の残帯域を前記第３階層に属する端末数で除した第２の商より大きい場合に、前記第１の階層に属する端末の残帯域を、前記第２及び第３階層に属する端末に対する前記第２の通信路が同一帯域となるように、前記第２及び第３階層に属する端末に割り当ててもよい。【００１７】
高いリアルタイム性が要求されるストリームデータの配信においては、一部の通信路だけ大きな帯域を確保したとしても、当該帯域を有効利用することはできない。そこで、各階層の残帯域を、当該階層より下の階層に属する全ての端末に対して均等に割り当てることにより、残帯域をさらに有効活用することができる。【００１８】
さらに、該ＡＬＭ配信木構築装置は、前記他の全ての端末それぞれについて、前記ルート端末から配信された前記ストリームデータを受信するまでの遅延時間を測定する経路遅延測定部と、前記経路遅延測定部の測定結果に基づいて、前記複数の端末それぞれを、前記ルート端末から配信される前記ストリームデータを第１の時間経過以前に受信する第１階層、前記第１の時間経過後で前記第１の時間より遅い第２の時間経過以前に受信する第２階層、及び前記第２の時間経過後に受信する第３階層のいずれかに割り当てる経路遅延適用部とを備える。そして、前記第２の通信路割当部は、前記第２の通信路として、前記第２階層に属する端末の残帯域を、前記第３階層に属する端末に均等に割り当て、前記第１階層に属する端末の残帯域を、前記第２階層に属する端末に均等に割り当ててもよい。【００１９】
通常、各端末の遅延時間は、ＡＬＭ配信木上の階層に応じて変動する。しかしながら、現実には、通信ネットワークのトラフィックや端末の性能に応じて遅延時間は大きく変動する。そこで、ＡＬＭ配信上の階層に依存せず、実際の遅延時間に応じて階層を決定し、当該階層に基づいて第２の通信路を割り当てることにより、残帯域をさらに有効に利用することができる。【００２０】
さらに、該ＡＬＭ配信木構築装置は、２以上の前記端末それぞれの残帯域が、前記第２の通信路として同一の前記端末に割り当てられている場合に、前記関連データを前記第２の通信路の帯域幅で比例配分して、前記２以上の端末それぞれに配信させる関連データ割当部を備えてもよい。これにより、複数の端末から関連データを受信する端末に対しても、遅延なく関連データを配信することができる。【００２１】
また、一例として、前記関連データは、前記ストリームデータの誤り訂正符号を含んでもよい。他の例として、前記関連データは、前記ストリームデータの損失に対する再送データを含んでもよい。なお、関連データは、誤り訂正符号又は再送データに限定されず、例えば、ストリームデータそのものであってもよい。【００２２】
また、該ＡＬＭ配信木構築装置は、前記ルート端末であってもよい。または、ＡＬＭ配信木を構成する他の端末であってもよいし、ＡＬＭ配信木を構成する端末とは異なる端末であってもよい。【００２３】
本発明の一形態に係るＡＬＭ配信木構築方法は、通信ネットワークに相互接続される複数の端末のうちから選ばれたルート端末から他の全ての端末に対してストリームデータを配信するＡＬＭ（Ａｐｐｌｉｃａｔｉｏｎ  Ｌａｙｅｒ  Ｍｕｌｔｉｃａｓｔ）配信木を構築する。具体的には、前記複数の端末それぞれのアップロードリンク帯域を測定するメトリック測定ステップと、前記複数の端末それぞれに、前記ストリームデータの配信元となる１つの上位端末、及び前記ストリームデータの配信先となる１以上の下位端末の少なくとも一方を割り当てる端末割当ステップと、前記下位端末が割り当てられた端末それぞれについて、前記メトリック測定ステップにおいて測定された前記アップロードリンク帯域の少なくとも一部を、前記下位端末に対して前記ストリームデータを配信する論理的な第１の通信路として割り当てる第１の通信路割当ステップと、前記アップロードリンク帯域のうち前記第１の通信路として使用されない残帯域を有する端末それぞれについて、前記残帯域を、当該端末より下の階層に位置する端末に対して前記ストリームデータに関連する関連データを配信する論理的な第２の通信路として割り当てる第２の通信路割当ステップとを含む。【００２４】
本発明の一形態に係るプログラムは、通信ネットワークに相互接続される複数の端末のうちから選ばれたルート端末から他の全ての端末に対してストリームデータを配信するＡＬＭ（Ａｐｐｌｉｃａｔｉｏｎ  Ｌａｙｅｒ  Ｍｕｌｔｉｃａｓｔ）配信木を構築する。具体的には、前記複数の端末それぞれのアップロードリンク帯域を測定するメトリック測定ステップと、前記複数の端末それぞれに、前記ストリームデータの配信元となる１つの上位端末、及び前記ストリームデータの配信先となる１以上の下位端末の少なくとも一方を割り当てる端末割当ステップと、前記下位端末が割り当てられた端末それぞれについて、前記メトリック測定ステップにおいて測定された前記アップロードリンク帯域の少なくとも一部を、前記下位端末に対して前記ストリームデータを配信する論理的な第１の通信路として割り当てる第１の通信路割当ステップと、前記アップロードリンク帯域のうち前記第１の通信路として使用されない残帯域を有する端末それぞれについて、前記残帯域を、当該端末より下の階層に位置する端末に対して前記ストリームデータに関連する関連データを配信する論理的な第２の通信路として割り当てる第２の通信路割当ステップとを、コンピュータに実行させる。【００２５】
本発明の一形態に係る集積回路は、通信ネットワークに相互接続される複数の端末のうちから選ばれたルート端末から他の全ての端末に対してストリームデータを配信するＡＬＭ（Ａｐｐｌｉｃａｔｉｏｎ  Ｌａｙｅｒ  Ｍｕｌｔｉｃａｓｔ）配信木を構築する。具体的には、前記複数の端末それぞれのアップロードリンク帯域を測定するメトリック測定部と、前記複数の端末それぞれに、前記ストリームデータの配信元となる１つの上位端末、及び前記ストリームデータの配信先となる１以上の下位端末の少なくとも一方を割り当てる端末割当部と、前記下位端末が割り当てられた端末それぞれについて、前記メトリック測定部によって測定された前記アップロードリンク帯域の少なくとも一部を、前記下位端末に対して前記ストリームデータを配信する論理的な第１の通信路として割り当てる第１の通信路割当部と、前記アップロードリンク帯域のうち前記第１の通信路として使用されない残帯域を有する端末それぞれについて、前記残帯域を、当該端末より下の階層に位置する端末に対して前記ストリームデータに関連する関連データを配信する論理的な第２の通信路として割り当てる第２の通信路割当部とを備える。【００２６】
なお、本発明は、ＡＬＭ配信木構築装置やＡＬＭ配信木構築方法として実現できるだけでなく、これらの機能を実現する集積回路として実現したり、そのような機能をコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、ＣＤ−ＲＯＭ等の記録媒体及びインターネット等の伝送媒体を介して流通させることができるのは言うまでもない。
【発明の効果】
【００２７】
ＡＬＭ配信木上の残帯域を冗長符合や複製データで有効に活用できるため、配信するストリームデータの品質を高めることができる。
【図面の簡単な説明】
【００２８】
【図１Ａ】図１Ａは、本発明の実施の形態１、２に係るＡＬＭ配信木構築装置のブロック図である。
【図１Ｂ】図１Ｂは、本発明の実施の形態１に係るＡＬＭ配信木構築装置の最小構成を示すブロック図である。
【図１Ｃ】図１Ｃは、図１ＢのＡＬＭ配信木構築装置の動作を示すフローチャートである。
【図２】図２は、ＡＬＭ配信木構築処理を示すフローチャートである。
【図３】図３は、第２の枝割当処理を示すフローチャートである。
【図４】図４は、ＡＬＭ配信木の論理的な端末配置を示す図である。
【図５】図５は、第１の枝の帯域幅を決定した状態を示す図である。
【図６】図６は、第３階層の残帯域を第４階層に対する第２の枝として割り当てた状態を示す図である。
【図７】図７は、第２階層の残帯域を第３階層に対する第２の枝として割り当てた状態を示す図である。
【図８】図８は、第２階層の残帯域を第３、４階層に対する第２の枝として割り当てた状態を示す図である。
【図９】図９は、第２の枝を用いて配信される追加データを示す図である。
【図１０】図１０は、経路遅延を考慮した階層構造を示す図である。
【図１１Ａ】図１１Ａは、記録媒体本体である磁気ディスクの物理フォーマットの例を示す図である。
【図１１Ｂ】図１１Ｂは、磁気ディスクを保持するケースの正面図、断面図、及び磁気ディスクを示す図である。
【図１１Ｃ】図１１Ｃは、フレキシブルディスクに上記プログラムの記録再生を行うための構成を示す図である。
【図１２】図１２は、従来のネットワーク構成を示す図である。
【図１３】図１３は、図１２の端末でＡＬＭ配信木を構成した例を示す図である。
【発明を実施するための形態】
【００２９】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
【００３０】
（実施の形態１）
図１Ａは、本発明の実施の形態１に係るＡＬＭ配信木構築装置１００の典型例を示すブロック図である。図１Ａに示されるＡＬＭ配信木構築装置１００は、メトリック測定部１０１と、ＡＬＭ配信木計算部２０１と、ＡＬＭ制御部３０１と、第２の枝計算部４０１と、経路遅延測定部５０１と、追加データ計算部６０１とを主に備える。
【００３１】
メトリック測定部１０１は、ＡＬＭ配信木に参加する各ノードのアップロードリンク帯域を測定する。なお、ノード間の遅延等、ＡＬＭ配信木の構築に必要な他のメトリックを測定対象に含めてもよい。
【００３２】
ＡＬＭ配信木計算部２０１は、メトリック測定部１０１の測定結果を基にＡＬＭ配信木の構成を計算する。具体的には、ノード割当部２０２と、第１の枝割当部２０３とを備える。
【００３３】
ノード割当部（端末割当部）２０２は、まず、複数の端末それぞれを、複数の階層のいずれかに割り当てる。次に、各端末に対して、上位端末及び下位端末の少なくとも一方を割り当てる。上位端末は、ストリームデータの配信元となる端末であり、直上の階層に属する端末から１台だけ選択される。一方、下位端末は、ストリームデータの配信先となる端末であり、直下の階層に属する端末から１台以上選択される。
【００３４】
第１の枝割当部（第１の通信路割当部）２０３は、下位端末が割り当てられた端末それぞれについて、メトリック測定部１０１によって測定されたアップロード帯域の少なくとも一部を、下位端末に対してストリームデータを配信する論理的な第１の通信路（以下「第１の枝」と表記する）として割り当てる。
【００３５】
ＡＬＭ制御部３０１は、ＡＬＭ配信木構成データを元に配信すべきストリームデータの受信、複製、及び送信を行う。なお、ＡＬＭ配信木を構成しない端末がＡＬＭ配信木構築装置１００となる場合には、ＡＬＭ制御部３０１を省略することができる。
【００３６】
第２の枝計算部４０１は、ＡＬＭ配信木の各ノードの残帯域を算出し、当該残帯域をＡＬＭ配信木の下流ノードに第２の通信路（以下「第２の枝」と表記する）として割り当てる。具体的には、第２の枝割当部４０２と、経路遅延適用部４０３と、追加データ割当部４０４とを備える。
【００３７】
第２の枝割当部（第２の通信路割当部）４０２は、アップロード帯域のうち第１の枝として使用されない残帯域を有する端末それぞれについて、当該残帯域を、当該端末より下の階層に位置する端末に第２の枝として割り当てる。なお、「第２の枝」は、ストリームデータに関連する追加データ（「関連データ」ともいう）を配信する論理的な通信路である。
【００３８】
経路遅延適用部４０３は、ストリームデータの遅延時間を第２の枝の計算に適用させる。経路遅延測定部５０１は、ＡＬＭ配信木の各ノードについて、ソースから配信されるストリームデータを受信するまでの遅延時間を測定する。なお、経路遅延適用部４０３及び経路遅延測定部５０１は、実施の形態１においては省略することができる。これらの詳細な動作は、実施の形態２で説明する。
【００３９】
追加データ割当部（関連データ割当部）４０４は、送信すべき追加データを各第２の枝に割り当てる。追加データ計算部６０１は、ＡＬＭ配信木上で送信すべき追加データを算出する。
【００４０】
図１Ｂは、本発明の実施の形態１に係るＡＬＭ配信木構築装置１００の最小構成を示す図である。図１Ｃは、図１Ｂに示されるＡＬＭ配信木構築装置１００の動作を示すフローチャートである。
【００４１】
図１Ｂに示されるＡＬＭ配信木構築装置１００は、メトリック測定部１１０と、端末割当部１２０と、第１の通信路割当部１３０と、第２の通信路割当部１４０とを備える。なお、メトリック測定部１１０は図１Ａのメトリック測定部１０１に、端末割当部１２０は図１Ａのノード割当部２０２に、第１の通信路割当部１３０は図１Ａの第１の枝割当部２０３に、第２の通信路割当部１４０は図１Ａの第２の枝割当部４０２に、それぞれ相当する。
【００４２】
メトリック測定部１１０は、各端末のアップロードリンク帯域を測定するために、各端末に対して測定要求を送信し、各端末から測定結果を受信する（Ｓ１０）。そして、メトリック測定部１１０は、各端末のアップロードリンク帯域の測定結果を、端末割当部１２０及び第１の通信路割当部１３０に通知する。
【００４３】
端末割当部１２０は、各端末をＡＬＭ配信木の所定のノードに割り当てる（Ｓ１１）。そして、割当結果である木構造情報を、各端末に送信すると共に、第１の通信路割当部１３０に通知する。なお、割当方法は特に限定されないが、メトリック測定部１１０から取得した各端末のアップロードリンク帯域の測定結果に基づいて、アップロードリンク帯域の大きい端末を上流側に、アップロードリンク帯域の小さい端末を下流側に配置するのが望ましい。しかしながら、アップロードリンク帯域の大きさを考慮せずに割り当てを行う場合、端末割当部１２０は、メトリック測定部１１０からアップロードリンク帯域の測定結果を取得する必要はない。
【００４４】
第１の通信路割当部１３０は、上位端末それぞれのアップロードリンク帯域の少なくとも一部を、第１の通信路として下位端末に割り当てる（Ｓ１２）。そして、割当結果である第１の通信路情報を各端末に送信すると共に、各端末の残帯域を示す残帯域情報を第２の通信路割当部１４０に通知する。第２の通信路割当部１４０は、上位層の端末の残帯域を、第２の通信路として下位層の端末に割り当てる（Ｓ１３）。そして、割当結果である第２の通信路情報を各端末に送信する。
【００４５】
次に、図２〜図９を参照して、上記構成のＡＬＭ配信木構築装置１００の動作を説明する。図２は、ＡＬＭ配信木構築処理を示すフローチャートである。なお、図１Ｃと図２とで同一の番号を付した処理ステップでは、同一の処理が実行される。
【００４６】
まず、メトリック測定部１０１は、全ての端末２０〜３３のアップリンク帯域を測定する（Ｓ１０）。図４の端末２０、２１、２２、２３、２４、２５、２６、２７、２８、２９、３０、３１、３２、３３を示す○印内に、アップロードリンク帯域の測定結果を示している。なお、アップリンク帯域の具体的な測定方法は特に限定されず、従来から用いられているあらゆる方法を採用することができる。
【００４７】
例えば、パケットトレイン法によって測定することができる。具体的には、ＡＬＭ配信木構築装置１００は、測定対象の端末２０に対して所定の間隔で複数のパケットを送信し、当該端末２０からの応答パケットを監視する。そして、パケットの送信間隔を徐々に短くしていくと、端末２０がアップロードリンク帯域を使い切ったタイミングで応答パケットが遅延する。このときの送信間隔と応答パケットのデータ量とに基づいて、端末２０のアップロードリンク帯域を推定することができる。他の端末２１〜３３についても、同様の方法で測定することができる。
【００４８】
次に、ＡＬＭ配信木構築装置１００は、複数の端末をＡＬＭ配信木の所定のノードに割り当てる処理を実行する（Ｓ１１）。図４は、複数（１４台）の端末２０、２１、２２、２３、２４、２５、２６、２７、２８、２９、３０、３１、３２、３３でＡＬＭ配信木を構成した例を示す図である。図４を参照して、Ｓ１１の処理を具体的に説明する。
【００４９】
まず、ノード割当部２０２は、端末２０〜３３を複数の階層のいずれかに割り当てる。本実施の形態１では、第１階層〜第４階層のいずれかに割り当てる。ノード割当部２０２は、まず、ストリームデータの配信元となる端末２０を第１階層に割り当てる。次に、端末２１〜３３を、アップリンク帯域が大きいほど上位の階層に割り当てる。図４では、端末２１、２２を第２階層に、端末２３〜２６を第３階層に、端末２７〜３３を第４階層に割り当てている。なお、ノードの割り当て（どのノードをどの階層に割り当てるかを決める手段）は、アップリンク帯域の大きい順に限定されず、従来から用いられているあらゆる方法を採用することができる。
【００５０】
次に、ノード割当部２０２は、各端末２０〜３３それぞれに対して、上位端末及び下位端末の少なくとも一方を割り当てる。具体的には、第１階層に属する端末２０には、下位端末として第２階層に属する端末２１、２２を割り当てる。また、第２階層に属する端末２１には、上位端末として第１階層に属する端末２０を、下位端末として第３階層に属する端末２３、２４を割り当てる。さらに、第４階層に属する端末２７には、上位端末として第３階層に属する端末２３を割り当てる。他の端末についても図４に示す通りであるので、説明は省略する。
【００５１】
なお、下位端末が割り当てられている端末２０〜２６を「非葉ノード」と呼び、特に、下位端末のみが割り当てられる端末２０を「ルートノード」と呼ぶ。一方、上位端末のみが割り当てられる端末２７〜３３を「葉ノード」と呼ぶ。
【００５２】
次に、ＡＬＭ配信木構築装置１００は、ストリームデータを配信するための論理的な第１の枝の帯域幅を決定する（Ｓ１２）。図５は、図４のＡＬＭ配信木において、第１の枝の帯域幅を示す図である。図５を参照して、Ｓ１２の処理を具体的に説明する。
【００５３】
まず、第１の枝割当部２０３は、各非葉ノードに対して、アップリンク帯域を下位端末の端末数で除算する。例えば、端末２０は、アップリンク帯域が２．８Ｍｂｐｓであり、下位端末の端末数が２台であるので、計算結果は１．４Ｍｂｐｓとなる。同様に、端末２６は、アップリンク帯域が１．０Ｍｂｐｓであり、下位端末の端末数が１台であるので、計算結果は１．０Ｍｂｐｓとなる。
【００５４】
そして、第１の枝割当部２０３は、全ての非葉ノードに対して上記の計算を行い、計算結果の最小値を第１の枝の帯域幅とする。実施の形態１における第１の枝の帯域幅は、図５に示されるように、１．０Ｍｂｐｓとなる。
【００５５】
また、図５は、各非葉ノードである端末２０〜２６の残帯域を示している（図中○印の中の数値が残帯域を示す）。ここで、各非葉ノードである端末２０〜２６の残帯域は、「アップリンク帯域幅−下位端末の端末数×第１の枝の帯域幅」のように計算される。
【００５６】
具体的には、端末２０〜２２が０．８Ｍｂｐｓ（＝２．８−２×１）、端末２３、２４が０．５Ｍｂｐｓ（＝２．５−２×１）、端末２５が０（＝２−１×１）、及び端末２６が０（＝１−１×１）の残帯域を持っていることになる。本願手法はこの残帯域を、既に構築されているＡＬＭ配信木の下流ノードに対して追加データを配信するための第２の枝として利用するものである。
【００５７】
次に、ＡＬＭ配信木構築装置１００は、追加データを配信するための第２の枝の帯域幅を決定するための第２の枝割当処理を実行する（Ｓ１３）。図３は、第２の枝割当処理の詳細を示すフローチャートである。
【００５８】
任意のＡＬＭ配信木（被覆木）において、下流ノードは、上流ノードに比べて遅れてストリームデータを受信し、遅れてストリーム再生を開始する。そのため、上流ノードが保持している追加データを、そのノードの残帯域を利用して下流ノード向けに送信すると、その下流ノードの再生時刻に間に合う確率は高い。
【００５９】
一方、下流ノードから上流ノードに向けて追加データを送信しても、上流ノードでそれらの追加データに該当する再生時刻が過ぎている確率は高く、その場合は追加データが利用できない。従って、ＡＬＭ配信木全体の残帯域を合算し、それを各受信ノード宛に割り当てる等の単純な仕組みでは、残帯域が効率良く利用できない。
【００６０】
従って、ここではＡＬＭ配信木の構成、特にノードの上下関係を考慮して残帯域を割り当てる。具体的には、各ノードの残帯域をその下流ノードへの追加データ送信にだけ利用するというポリシーとなる。なお、「下流ノード」とは、自ノードが属する階層より下の階層に属するノードを指す。同様に、「上流ノード」とは、自ノードが属する階層より上の階層に属するノードを指す。
【００６１】
例えば、図６においては、第３階層に属する全てのノード（端末２３〜２６）の残帯域を第４階層のノード（端末２７〜３３）への追加データの送信に利用している。また、図８においては、第２階層に属する全てのノード（端末２１、２２）の残帯域を第３階層、及び第４階層のノード（端末２３〜３３）への追加データ送信に利用している。さらに、図示は省略するが、第１階層に属するノード（端末２０）の残帯域を第２階層、第３階層、及び第４階層のノード（端末２１〜３３）への追加データ送信に利用する。
【００６２】
そして、この段階的な配当をボトムアップ的な計算により実現する。このボトムアップ的計算の概念を図５に示している。つまり、図５の領域Ａ、領域Ｂ、領域Ｃの順で第２の枝割当処理が実行される。具体的には、まず、第３階層の残帯域を用いた第２の枝の計算（以降「ステップ１」と表記する）、その次に第２階層の残帯域を用いた第２の枝の計算（以降「ステップ２」と表記する）、最後に第１階層の残帯域を用いた第２の枝の計算（以降「ステップ３」と表記する）を行う。
【００６３】
まず、第２の枝割当部４０２は、第３階層に属する全ての端末２３〜２６の残帯域を第４階層に属する端末に均等に分配する（ステップ１）。具体的には、まず、第４階層の端末数と、第３階層に属する全ての端末２３〜２６の残帯域の合計（以下「総残帯域」と表記する）とを取得する（Ｓ１３１）。
【００６４】
次に、第２の枝割当部４０２は、総残帯域である１Ｍｂｐｓ（＝０．５＋０．５）を均等に分割（７等分）し、第４階層の端末２７〜３３に割り当てる第２の枝の帯域幅を決定する（Ｓ１３２）。ここでは、第４階層に属する端末２７〜３３に割り当てられる第２の枝の帯域幅を１４２Ｋｂｐｓとする。
【００６５】
次に、第２の枝割当部４０２は、図６に示されるように、第３階層に属する端末２３、２４それぞれの残帯域を、第２の枝として、第４階層に属する端末２７〜３３に割り当てる。ここでは、端末２３、２４の残帯域は、共に５００Ｋｂｐｓである。つまり、端末２３、２４は、それぞれが１４２ｋｂｐｓの第２の枝を３つと、７２Ｋｂｐｓの第２の枝を１つ提供することが可能になる。
【００６６】
そこで、端末２３から端末２７、２８、３２に対して１４２Ｋｂｐｓの第２の枝を割り当てる。同様に、端末２４から端末２９、３１、３２に対して、１４２Ｋｂｐｓの第２の枝を割り当てる。さらに、端末２４、２５それぞれから端末３３に対して、７１Ｋｂｐｓの第２の枝を割り当てる。これにより、端末３３に割り当てられた第２の枝の帯域幅も１４２Ｋｂｐｓとなる。その結果、第４階層に属する各端末２７〜３３には、同一帯域幅（１４２Ｋｂｐｓ）の第２の枝が割り当てられることになる。
【００６７】
次に、第２の枝割当部４０２は、第４階層に属する各端末２７〜３３に割り当てられる第２の枝と、第５階層に属する各端末に割り当てられる第２の枝との帯域幅を比較する（Ｓ１３３）。なお、実施の形態１において第５階層は存在しないので（Ｓ１３３でＮｏ）、Ｓ１３４をスキップする。
【００６８】
次に、第２の枝割当部４０２は、全ての階層の残帯域を第２の枝に割り当てたか否かを判断する（Ｓ１３５）。現時点では、第３階層の残帯域のみを第２の枝に割り当てたにすぎないので（Ｓ１３５でＮｏ）、Ｓ１３１に戻って処理を継続する。
【００６９】
次に、第２の枝割当部４０２は、第３階層の端末数（４台）と、第２階層の総残帯域（１．６Ｍｂｐｓ）とを取得する（Ｓ１３１）。次に、第２階層の総残帯域を第３階層の端末数で除すると、図７に示されるように、第３階層に属する端末２３〜２６に割当可能な第２の枝の帯域幅（４００Ｋｂｐｓ）が得られる（Ｓ１３２）。
【００７０】
図７に示される割当方法は、ステップ１の動作をそのまま繰り返すものであり、第２階層の総残帯域を直下のノードにのみ均等に分配する手法である。この手法には、シンプルであるというメリットはある。しかしながら、第２の枝の帯域幅が階層毎に異なり、ＡＬＭ配信木全体のストリーミング品質が向上しないというデメリットがある。そこで、図８に示す方法では、ステップ１の計算結果を考慮し、ＡＬＭ配信木全体における第２の枝の帯域幅の平等化を図る（ステップ２）。
【００７１】
そこで、第３階層に属する端末２３〜２６に割当可能な第２の枝の帯域幅（４００Ｋｂｐｓ）と、現在までに第４階層に属する端末２７〜３３に割り当てられた第２の枝の帯域幅（１４２Ｋｂｐｓ）とを比較する（Ｓ１３３）。
【００７２】
具体的には、第ｉ階層の総残帯域をＸｉ、第ｉ階層の端末数をＹｉとすると、（Ｘ２／Ｙ３）≦（Ｘ３／Ｙ４）のときは、Ｓ１３２で説明したように、第２階層の総残帯域Ｘ２を第３階層に属する端末２３〜２６にのみ分配する。一方、（Ｘ２／Ｙ３）＞（Ｘ３／Ｙ４）のときは、第２階層の総残帯域Ｘ２を全下流ノードへの帯域分配が均等になるように分配する。
【００７３】
ここでは、第３の階層に割当可能な第２の枝の帯域幅が大きいので（Ｓ１３３でＹｅｓ）、第２の枝割当部４０２は、第３階層及び第４階層に割り当てられる第２の枝が同一帯域となるように、第２階層の総残帯域Ｘ２を、第３階層のみならず、第４階層にも割り当てる（Ｓ１３４）。例えば、第ｉ階層の総残帯域をＸ、現時点において第（ｉ＋２）階層以下の端末に割り当てられた第２の枝の帯域幅をＹ、及び第（ｉ＋１）階層のノード数をＺとすると、第ｉ階層の総残帯域Ｘを、第（ｉ＋１）階層以下の全ての階層に割り当てる際の計算式は、下記式１及び式２のようになる。
【００７４】
【数１】
2010146798.tif 000003
【００７５】
【数２】
2010146798.tif 000004
【００７６】
このように分配することで、第ｉ階層の総残帯域Ｘが全下流ノードに対して平等に分配される。第２階層の総残帯域Ｘ＝１．６Ｍｂｐｓ、第４階層の第２の枝の帯域幅Ｙ＝１４２Ｋｂｐｓ、第３階層のノード数Ｚ＝４、第２階層の下流ノード数＝１１を上記式１及び式２に代入すれば、第３階層への分配分＝１４２Ｋｂｐｓ＋（１．６Ｍｐｐｓ−４×１４２Ｋｂｐｓ）／１１＝２３５Ｋｂｐｓ、第４階層への分配分＝（１．６Ｍｐｐｓ−４×１４２Ｋｂｐｓ）／１１＝９３Ｋｂｐｓとなる。
【００７７】
また、このとき、第４階層に属する各ノードには既に１４２Ｋｂｐｓ（＝Ｙ）の帯域幅が確保されているので、先の計算で算出された９３Ｋｂｐｓを加算して、第２の枝の合計帯域幅が２３５Ｋｂｐｓ（＝１４２Ｋｂｐｓ＋９３Ｋｂｐｓ）となる。
【００７８】
ここで、得られた帯域の第２の枝の張り方の具体例を図８に示している。第２の枝割当部４０２は、端末２１の残帯域のうち、端末２３、２４に２３５Ｋｂｐｓを、端末２７〜２９に９３Ｋｂｐｓを、端末３３に４６．５Ｋｂｐｓをそれぞれ割り当てる。同様に、端末２２の残帯域のうち、端末２５、２６に２３５Ｋｂｐｓを、端末３０〜３２に９３Ｋｂｐｓを、端末３３に４６．５Ｋｂｐｓをそれぞれ割り当てる。
【００７９】
なお、ここで述べた、第２の枝の張り方は一例に過ぎず、端末２３〜３３に割り当てられる第２の枝の帯域幅が２３５Ｋｂｐとなれば、いかなる張り方であってもよい。
【００８０】
次に、ステップ３は、ステップ２と同様に実行される。すなわち、ステップ２の計算結果（ステップ２で得られた第２の枝の帯域幅）を考慮し、第１階層の総残帯域（０．８Ｍｂｐｓ）の割り当てを行う。具体的には、Ｘ＝０．８Ｍｂｐｓ、Ｙ＝２３５Ｋｂｐｓ、Ｚ＝２、及び第１階層の下流ノード数＝１３を上述の式に代入する。
【００８１】
その結果、第２階層に割り当てられる、第２の枝の帯域幅＝２３５Ｋｂｐｓ＋（０．８Ｍｐｐｓ−２×２３５Ｋｂｐｓ）／１３＝２６０Ｋｂｐｓ、第３階層及び第４階層に割り当てられる、第２の枝の帯域幅＝（０．８Ｍｐｐｓ−２×２３５Ｋｂｐｓ）／１３＝２５Ｋｂｐｓとなる。
【００８２】
なお、ここでは、各端末に割り当てられる第２の枝の帯域幅が等しくなるように残帯域を分配しているが、それは一例に過ぎず、様々なポリシーに基づき残帯域を分配することができる。ポリシーを適切に設定することで、アプリケーションに適した品質向上が実現可能である。例えば、ある特定のノード集合を選出し、そのノード集合にだけ残帯域のあるノードから第２の枝を張る。これにより、当該ノード集合に配信されるストリームデータの品質を格別に向上させることができ、ＡＬＭ配信木におけるバックボーン的な、またはソースの役割を果たすノード集合を実現することができる。
【００８３】
ここまで、残帯域を利用した第２の枝の張り方を説明した（図２のＳ１０〜Ｓ１３）。次に、ＡＬＭ配信木構築装置１００は、このように張られた第２の枝を用いて送信するデータのデータサイズを決定する（Ｓ１４）。
【００８４】
送信するデータはアプリケーションに応じて変わる任意のものであるが、例えば、第１の枝を用いて送信されるストリームデータの誤り訂正符号（パリティビット等）であってもよい。ここでは、当該誤り訂正符号は図１の追加データ計算部６０１によって算出されるものとし、その具体的な算出方法については説明しない。
【００８５】
図９は、第２の枝を用いて配信されるパケットを示す図である。なお、以下の説明では、図８に示される帯域幅の第２の枝を用いて、図９に示されるパケットを送信する手順を説明する。
【００８６】
まず、端末２３〜２６には、帯域幅が２３５Ｋｂｐｓの第２の枝が１本割り当てられている。すなわち、端末２３〜２６は、パケット番号１〜ｍの全てのパケットを当該第２の枝を介して端末２１、２２から受信する。
【００８７】
一方、端末２７〜３３には、複数の第２の枝が割り当てられている。例えば、端末２７には、帯域幅が１４２Ｋｂｐｓの第２の枝が端末２３から１本、帯域幅が９３Ｋｂｐｓの第２の枝が端末２１から１本割り当てられている。また、端末３３には、帯域幅が７２Ｋｂｐｓの第２の枝が端末２３、２４から１本ずつ（計２本）、帯域幅が４６．５Ｋｂｐｓの第２の枝が端末２１、２２から１本ずつ（計２本）割り当てられている。
【００８８】
そこで、ＡＬＭ配信木構築装置１００は、端末２７に配信されるパケット番号１〜ｍのパケットのうち、パケット番号１〜ｎ（１４２／２３５）のパケットを端末２３に配信させ、パケット番号ｎ＋１〜ｍ（９３／２３５）のパケットを端末２１に配信させる。端末２８〜３２に対しても同様の方法で追加データを分割して配信させる。
【００８９】
同様に、ＡＬＭ配信木構築装置１００は、端末３３に対して配信されるパケット番号１〜ｍのパケットのうち、パケット番号１〜ｋ（７２／２３５）のパケットを端末３３に配信させ、パケット番号ｋ＋１〜ｎ（７２／２３５）のパケットを端末２４に配信させ、パケット番号ｎ＋１〜ｊ（４６．５／２３５）のパケットを端末２１に配信させ、パケット番号ｊ＋１〜ｍ（４６．５／２３５）のパケットを端末２２に配信させる。
【００９０】
上記のように、端末２７〜３３には、２以上の端末から第２の枝が張られる場合がある。このような場合に、追加データを第２の枝の帯域幅で比例配分して、２以上の端末それぞれに配信させることにより、遅延のない追加データの配信が可能となる。
【００９１】
一般的に任意のノードｘがｈ個のノード、ｙ１、ｙ２、・・・、ｙｈからなるノード集合Ｎから第２の枝がｈ個（ｌ１、ｌ２、・・・、ｌｈ）張られ、それら第２の枝の帯域幅が順にｂｗ１、ｂｗ２、・・・、ｂｗｈである場合、ノード集合Ｎの各ノードｙｉ（ｉ＝１、２、・・・、ｈ）がｘに配信するデータパケットのシーケンス番号の範囲ｐ１ｉ、ｐ２ｉ（ｐ１：下限、ｐ２上限）が以下の式３及び式４により算出される。
【００９２】
【数３】
2010146798.tif 000005
【００９３】
【数４】
2010146798.tif 000006
【００９４】
なお、ｐｉｄ１は、第２の枝を用いて配信される１ステップのデータの最終パケットのシーケンス番号である。ｐｉｄ２は、第２の枝を用いて配信される１つ前のステップのデータの最終パケットのシーケンス番号である。このように送信すると、端末２３〜３３の全てがほぼ同時に２３５Ｋｂｐｓの追加データを受信することになる。
【００９５】
このとき、追加データ計算部６０１は、例えば、第１の枝を利用して配信されるストリームデータの品質を向上させるためにＦＥＣ（Ｆｏｒｗａｒｄ  Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ）データを送信したい場合に、ＦＥＣの厚みが２３５Ｋｂｐｓになるように計算することになる。なお、ストリーミングにおいて、ＦＥＣデータを送信することは広く行われているため、ここではＦＥＣの説明、ストリーミングデータからＦＥＣデータの算出方法等の説明は行わない。
【００９６】
なお、ここではＦＥＣデータ送信の例を挙げたが、それは一例に過ぎず、第２の枝を利用してどのようなデータを送信してもよい。例えば、第１の枝を利用して配信されるストリームデータの損失に対する再送データを、第２の枝を利用して送信してもよい。なお、再送データは常時発生するわけではないので、この場合は、第２の枝で配信するデータのデータサイズを決定する処理（図２のＳ１４）は省略することができる。
【００９７】
図８を参照して、端末３０が第２の枝を利用して再送データを受信する手順を説明する。まず、端末３０は、第１の枝を利用して端末２４から受信するストリームデータにパケットロス（損失）がないかを確認する。パケットロスを検出する具体的な方法は特に限定されないが、例えば、ＲＴＰ（Ｒｅａｌ−ｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）ヘッダのシーケンス番号を参照することにより、パケットロスを検出することができる。
【００９８】
パケットロスを検出した場合、端末３０は、第２の枝で接続された端末２４、２５のいずれかに対して、ロスしたパケットの再送を要求する。これにより、端末３０は、第２の枝を通じて端末２４から再送パケットを受信することができる。
【００９９】
なお、再送を要求する端末の選択方法は特に限定されないが、例えば、第２の枝の帯域幅が最も大きい端末（この場合、端末２４）を選択してもよい。なお、端末３０は、ＡＬＭ配信木構築装置１００から取得した第２の通信路情報によって、端末２４からの第２の枝の帯域幅（１４２Ｋｂｐｓ）と、端末２５からの第２の枝の帯域幅（９３Ｋｂｐｓ）とを把握しているものとする。
【０１００】
（実施の形態２）
次に、図１０を参照して、本発明の実施の形態２を説明する。なお、基本構成は、図１に示されるＡＬＭ配信木構築装置１００と共通する。実施の形態１では、ＡＬＭ配信木の任意ノードの残帯域をその下流ノードへの第２の枝に利用するというポリシーを説明した。しかしながら、実際には、同一階層の全てのノードの遅延が等しくならないため、ルートノードからの遅延という観点での各ノードの上下関係は、ＡＬＭ配信木の構成通りになるとは限らない。そこで、実施の形態２では、ＡＬＭ配信木上の階層にとらわれず、ルートノードからの遅延時間に基づいて第２の枝を割り当てる点で、実施の形態１と異なる。
【０１０１】
図１０は、端末２０から配信されるストリームデータの端末２１〜３３での遅延時間を示す図である。また、ＡＬＭ配信木上に端末２０からの遅延が１００［ｍｓ］、２００［ｍｓ］、３００［ｍｓ］となる等遅延線を描いており、各端末２１〜３３の端末２０からの遅延を端末２０からの距離で示している。
【０１０２】
なお、遅延時間の測定方法の具体例は特に限定されないが、例えば、ＲＴＣＰ（Ｒｅａｌ−ｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）を利用して測定してもよい。具体的には、ＡＬＭ配信木構築装置１００として機能する端末２０は、遅延時間の測定対象となる端末２１にパケットを送信し、端末２１からの応答パケットを受信するまでの時間を遅延時間として測定する。他の端末２１〜３３についても、同様の方法で測定することができる。
【０１０３】
図１０に示されるように、各階層（第２階層〜第４階層）に属する端末２１〜３３の端末２０からの遅延時間が揃っていないため、端末２０からの遅延という観点からみたノード間の上限関係とＡＬＭ配信木の構成上の上下関係とは異なる。具体的には、図１０に示される端末２７、２８は、ＡＬＭ配信木の構成上は第３階層に所属し、端末２５は第２階層に所属する。しかしながら、端末２７、２８の端末２０からの遅延時間が端末２５のその値より短い。つまり、端末２０からの遅延という観点では、端末２５と端末２７、２８との上下関係が逆になる。
【０１０４】
このように、上下関係の一貫性のないＡＬＭ配信木において、実施の形態１で説明した手法に従って残帯域の割り当てを行って追加データを送信しても、それらは再生時間に間に合わず、利用できなくなる可能性が高い。よって、このような環境にも対応できるように、実施の形態１で述べた基本手法を以下のように拡張する。
【０１０５】
実施の形態２における第２の枝の割当方法は、任意のノードの残帯域を第２の枝に利用する際に、残帯域を提供しているノードの遅延時間より遅延時間が長いノードのみを割当対象ノードとし、ＡＬＭ配信木の構成を考慮しない。
【０１０６】
まず、経路遅延測定部５０１は、図１０に示されるように、端末２１〜３３の遅延時間を測定する。そして、経路遅延適用部４０３は、当該測定結果に基づいて、端末２１〜３３を、遅延時間が１００ｍｓ以下の端末２１〜２３を第２階層に、遅延時間が１００ｍｓ〜２００ｍｓの端末２４、２６〜２８を第３階層に、遅延時間が２００ｍｓ〜３００ｍｓの端末２５、２９〜３３を第４階層に割り当てる。
【０１０７】
そして、上記のように決定された階層に基づいて、前述のステップ１〜３と同様の処理を実行する。処理の具体的な内容は、繰り返しになるため省略する。
【０１０８】
（実施の形態３）
また、本発明は、実施の形態１のように、ＡＬＭ配信木構築装置及びＡＬＭ配信木構築方法として実現できるだけではなく、実施の形態１、２のＡＬＭ配信木構築方法をコンピュータに実行させるためのプログラムとして実現してもよい。
【０１０９】
図１１Ａ〜図１１Ｃは、上記実施の形態１、２のＡＬＭ配信木構築方法を格納したフレキシブルディスクＦＤを用いて、コンピュータシステムにより実施する場合の説明図である。
【０１１０】
図１１Ａは、記録媒体本体である磁気ディスクＭＤの物理フォーマットの例を示す。図１１Ｂは、磁気ディスクＭＤを保持するケースＦの正面図、断面図、及び磁気ディスクＭＤを示す。図１１Ｃは、フレキシブルディスクＦＤに上記プログラムの記録再生を行うための構成を示す。
【０１１１】
フレキシブルディスクＦＤは、記録媒体本体である磁気ディスクＭＤと、磁気ディスクＭＤを保持するケースＦとで構成される。磁気ディスクＭＤの表面には、同心円状に外周から内周に向かって複数のトラックＴｒが形成され、各トラックＴｒは角度方向に１６のセクタＳｅに分割されている。従って、上記プログラムを格納したフレキシブルディスクＦＤは、磁気ディスクＭＤ上に割り当てられた領域に、上記プログラムとしてのＡＬＭ配信木構築方法が記録されている。
【０１１２】
また、上記プログラムをフレキシブルディスクＦＤに記録する場合は、コンピュータシステムＣｓから上記プログラムとしてのＡＬＭ配信木構築方法をフレキシブルディスクドライブＦＤＤを介して書き込む。また、フレキシブルディスクＦＤ内のプログラムによりＡＬＭ配信木構築方法をコンピュータシステムＣｓ中に構築する場合は、フレキシブルディスクドライブＦＤＤによりプログラムをフレキシブルディスクＦＤから読み出し、コンピュータシステムＣｓに転送する。
【０１１３】
なお、上記説明では、記録媒体としてフレキシブルディスクＦＤを用いて説明を行ったが、光ディスクを用いても同様に行うことができる。また、記録媒体はこれに限らず、ＩＣカード、ＲＯＭカセット等、プログラムを記録できるものであれば同様に実施することができる。
【０１１４】
また、本発明は、ＡＬＭ配信木構築装置を構成する構成要素の一部または全部を、１個のシステムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）から構成してもよい。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩである。
【０１１５】
以上、図面を参照してこの発明の実施形態を説明したが、この発明は、図示した実施形態のものに限定されない。図示した実施形態に対して、この発明と同一の範囲内において、あるいは均等の範囲内において、種々の修正や変形を加えることが可能である。
【産業上の利用可能性】
【０１１６】
本発明は、より高いＱｏＳを実現することができるためＡＬＭ技術を利用した映像配信や遠隔講義システム等で利用可能である。
【符号の説明】
【０１１７】
１０                                            通信ネットワーク
１１，１２，１３，１４，１５，１６，１７，２０，２１，２２，２３，２４，２５，２６，２７，２８，２９，３０，３１，３２，３３    端末
１００                                        ＡＬＭ配信木構築装置
１０１，１１０                                  メトリック測定部
１２０                                          端末割当部
１３０                                          第１の通信路割当部
１４０                                          第２の通信路割当部
２０１                                          ＡＬＭ配信木計算部
２０２                                          ノード割当部
２０３                                          第１の枝割当部
３０１                                          ＡＬＭ制御部
４０１                                          第２の枝計算部
４０２                                          第２の枝割当部
４０３                                          経路遅延適用部
４０４                                          追加データ割当部
５０１                                          経路遅延測定部
６０１                                          追加データ計算部
【図１Ａ】
2010146798.tif 000007
【図１Ｂ】
2010146798.tif 000008
【図１Ｃ】
2010146798.tif 000009
【図２】
2010146798.tif 000010
【図３】
2010146798.tif 000011
【図４】
2010146798.tif 000012
【図５】
2010146798.tif 000013
【図６】
2010146798.tif 000014
【図７】
2010146798.tif 000015
【図８】
2010146798.tif 000016
【図９】
2010146798.tif 000017
【図１０】
2010146798.tif 000018
【図１１Ａ】
2010146798.tif 000019
【図１１Ｂ】
2010146798.tif 000020
【図１１Ｃ】
2010146798.tif 000021
【図１２】
2010146798.tif 000022
【図１３】
2010146798.tif 000023
【手続補正書】
【提出日】平成22年12月13日(2010.12.13)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＡＬＭ（Ａｐｐｌｉｃａｔｉｏｎ  Ｌａｙｅｒ  Ｍｕｌｔｉｃａｓｔ）配信木によるストリーム配信を行う場合に、ＡＬＭ配信木構築後の残帯域を有効活用するＡＬＭ配信木構築装置及びＡＬＭ配信木構築方法に関するものである。
【背景技術】
【０００２】
従来からＡＬＭ配信木を用いたストリーム配信が行われている。図１２及び図１３を参照して、ＡＬＭ配信木の概要を説明する。複数の端末１１、１２、１３、１４、１５、１６、１７は、図１２に示されるように、インターネットやＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等のスター型の通信ネットワーク１０に接続されている。
【０００３】
ここで、例えば、端末１１が、他の全ての端末１２、１３、１４、１５、１６、１７に対して直接ストリームデータを配信しようとすると、データ量が端末１１に接続されている回線の帯域幅の上限を超えて、遅延が生じる可能性がある。
【０００４】
そこで、図１３に示されるように、ストリームデータの配信元である端末１１を頂点（ルートノード）とする論理的な階層構造を構築する。つまり、端末１１は、ストリームデータを端末１２、１３にのみ配信する。そして、端末１２、１３は、端末１１から受信したストリームデータを再生すると共に、それぞれ配下の端末１４、１５、１６、１７に配信する。上記構成によれば、トラフィックを分散させることができるので、遅延のないストリーム配信を実現することができる。
【０００５】
ここで、インターネット上でＡＬＭ配信木による映像配信等を行う場合、配信する映像の解像度（配信する映像のビットレート）と配信元（以下「ソース」と表記する）から各受信者への遅延がその品質を評価する主な指標とされている（例えば、遠隔講義等のインタラクティブなアプリケーションにおいては、映像の解像度と遅延との両方が重要である）。
【０００６】
ＡＬＭ配信木は、複数のユーザ端末（以下単に「端末」、または「ノード」と表記する）によって構成されるため、ＡＬＭ配信木の構成はノードのアップロードリンクの帯域幅の上限、ダウンロードリンクの帯域幅の上限、及び各端末間の遅延時間に大きく影響される。
【０００７】
一般的なインターネット利用（コンテンツ閲覧）に当たっては、ダウンロードするデータ量がアップロードするデータ量より多い。そのため、ダウンロードリンク（以降「ダウンリンク」と表記する）の帯域幅の上限が、アップロードリンク（以降「アップリンク」と表記する）の帯域幅の上限より大きく設定されていることが多い。
【０００８】
例えば、多くのユーザが加入しているＡＤＳＬにおいては、アップリンク帯域幅がダウンリンク帯域幅の十数％に留まっている。このため、上記ＡＬＭ配信木の構成は、ノードのアップリンク帯域幅の上限とノード間の遅延とによって左右されるものであると言える。
【０００９】
この２つのメトリックを考慮した様々なＡＬＭ配信木を構築する手法は、過去多数提案されている。例えば、非特許文献１は、ノードのアップリンク帯域幅とノード間の遅延とが入力として与えられたときに、ＡＬＭ配信木の最大遅延が与えられた上限を超えず、且つ配信に利用可能な帯域幅が最大になるようなＡＬＭ配信木の構築アルゴリズムを提案している。
【先行技術文献】
【非特許文献】
【００１０】
【非特許文献１】Ｍｕｌｔｉｃａｓｔ  ｒｏｕｔｉｎｇ  ａｎｄ  ｂａｎｄｗｉｄｔｈ  ｄｉｍｅｎｓｉｏｎｉｎｇ  ｉｎ  ｏｖｅｒｌａｙ  ｎｅｔｗｏｒｋｓ  Ｓｈｉ，  Ｓ．Ｙ．；  Ｔｕｒｎｅｒ，  Ｊ．Ｓ．；ＩＥＥＥ  Ｊｏｕｒｎａｌ  ｏｎ  Ｓｅｌｅｃｔｅｄ  Ａｒｅａｓ  ｉｎ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ，  Ｖｏｌｕｍｅ  ２０，  Ｉｓｓｕｅ  ８，  Ｏｃｔ．  ２００２，  Ｐａｇｅ（ｓ）：１４４４  −  １４５５
【発明の概要】
【発明が解決しようとする課題】
【００１１】
このようなアルゴリズムは、各ノードのアップリンク帯域幅を最大限に利用し、高品質な映像配信を目的としている。しかしながら、このアルゴリズムでは、各枝の太さがＡＬＭ配信木を構成する非葉ノードの最小アップリンク帯域幅に制約される。すなわち、配信する映像の帯域幅がその最小アップリンク帯域幅に制限されるという特徴がある。つまり、複数のノードでストリームデータの配信に使用されない帯域が生じる可能性がある。
【００１２】
本発明は係る点に鑑みてなされたものであり、ＡＬＭ配信木上に生じる残帯域を有効活用することで、より高品質な伝送を実現するＡＬＭ配信木構築装置を提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明の一形態に係るＡＬＭ配信木構築装置は、通信ネットワークに相互接続される複数の端末のうちから選ばれたルート端末から他の全ての端末に対してストリームデータを配信するＡＬＭ（Ａｐｐｌｉｃａｔｉｏｎ  Ｌａｙｅｒ  Ｍｕｌｔｉｃａｓｔ）配信木を構築する。具体的には、前記複数の端末それぞれのアップロードリンク帯域を測定するメトリック測定部と、前記複数の端末それぞれに、前記ストリームデータの配信元となる１つの上位端末、及び前記ストリームデータの配信先となる１以上の下位端末の少なくとも一方を割り当てる端末割当部と、前記下位端末が割り当てられた端末それぞれについて、前記メトリック測定部によって測定された前記アップロードリンク帯域の少なくとも一部を、前記下位端末に対して前記ストリームデータを配信する論理的な第１の通信路として割り当てる第１の通信路割当部と、前記アップロードリンク帯域のうち前記第１の通信路として使用されない残帯域を有する端末それぞれについて、前記残帯域を、当該端末より下の階層に位置する端末に対して前記ストリームデータに関連する関連データを配信する論理的な第２の通信路として割り当てる第２の通信路割当部とを備える。
【００１４】
上記構成のように、第１の通信路として使用されない残帯域を用いて、関連データを配信することにより、アップロードリンク帯域を有効利用したＡＬＭ配信木を構築することができる。
【００１５】
また、前記端末割当部は、前記複数の端末それぞれを、第１階層、前記第１階層に属する端末のいずれか１つを前記上位端末とする第２階層、及び前記第２階層に属する端末のいずれか１つを前記上位端末とする第３階層のいずれかに割り当てる。そして、前記第２の通信路割当部は、前記第２の通信路として、前記第２階層に属する端末の残帯域を、前記第３階層に属する端末に均等に割り当て、前記第１階層に属する端末の残帯域を、前記第２階層に属する端末に均等に割り当ててもよい。
【００１６】
さらに、前記第２の通信路割当部は、前記第１階層に属する端末の残帯域を前記第２階層に属する端末数で除した第１の商が、前記第２階層に属する端末の残帯域を前記第３階層に属する端末数で除した第２の商より大きい場合に、前記第１の階層に属する端末の残帯域を、前記第２及び第３階層に属する端末に対する前記第２の通信路が同一帯域となるように、前記第２及び第３階層に属する端末に割り当ててもよい。
【００１７】
高いリアルタイム性が要求されるストリームデータの配信においては、一部の通信路だけ大きな帯域を確保したとしても、当該帯域を有効利用することはできない。そこで、各階層の残帯域を、当該階層より下の階層に属する全ての端末に対して均等に割り当てることにより、残帯域をさらに有効活用することができる。
【００１８】
さらに、該ＡＬＭ配信木構築装置は、前記他の全ての端末それぞれについて、前記ルート端末から配信された前記ストリームデータを受信するまでの遅延時間を測定する経路遅延測定部と、前記経路遅延測定部の測定結果に基づいて、前記複数の端末それぞれを、前記ルート端末から配信される前記ストリームデータを第１の時間経過以前に受信する第１階層、前記第１の時間経過後で前記第１の時間より遅い第２の時間経過以前に受信する第２階層、及び前記第２の時間経過後に受信する第３階層のいずれかに割り当てる経路遅延適用部とを備える。そして、前記第２の通信路割当部は、前記第２の通信路として、前記第２階層に属する端末の残帯域を、前記第３階層に属する端末に均等に割り当て、前記第１階層に属する端末の残帯域を、前記第２階層に属する端末に均等に割り当ててもよい。
【００１９】
通常、各端末の遅延時間は、ＡＬＭ配信木上の階層に応じて変動する。しかしながら、現実には、通信ネットワークのトラフィックや端末の性能に応じて遅延時間は大きく変動する。そこで、ＡＬＭ配信上の階層に依存せず、実際の遅延時間に応じて階層を決定し、当該階層に基づいて第２の通信路を割り当てることにより、残帯域をさらに有効に利用することができる。
【００２０】
さらに、該ＡＬＭ配信木構築装置は、２以上の前記端末それぞれの残帯域が、前記第２の通信路として同一の前記端末に割り当てられている場合に、前記関連データを前記第２の通信路の帯域幅で比例配分して、前記２以上の端末それぞれに配信させる関連データ割当部を備えてもよい。これにより、複数の端末から関連データを受信する端末に対しても、遅延なく関連データを配信することができる。
【００２１】
また、一例として、前記関連データは、前記ストリームデータの誤り訂正符号を含んでもよい。他の例として、前記関連データは、前記ストリームデータの損失に対する再送データを含んでもよい。なお、関連データは、誤り訂正符号又は再送データに限定されず、例えば、ストリームデータそのものであってもよい。
【００２２】
また、該ＡＬＭ配信木構築装置は、前記ルート端末であってもよい。または、ＡＬＭ配信木を構成する他の端末であってもよいし、ＡＬＭ配信木を構成する端末とは異なる端末であってもよい。
【００２３】
本発明の一形態に係るＡＬＭ配信木構築方法は、通信ネットワークに相互接続される複数の端末のうちから選ばれたルート端末から他の全ての端末に対してストリームデータを配信するＡＬＭ（Ａｐｐｌｉｃａｔｉｏｎ  Ｌａｙｅｒ  Ｍｕｌｔｉｃａｓｔ）配信木を構築する。具体的には、前記複数の端末それぞれのアップロードリンク帯域を測定するメトリック測定ステップと、前記複数の端末それぞれに、前記ストリームデータの配信元となる１つの上位端末、及び前記ストリームデータの配信先となる１以上の下位端末の少なくとも一方を割り当てる端末割当ステップと、前記下位端末が割り当てられた端末それぞれについて、前記メトリック測定ステップにおいて測定された前記アップロードリンク帯域の少なくとも一部を、前記下位端末に対して前記ストリームデータを配信する論理的な第１の通信路として割り当てる第１の通信路割当ステップと、前記アップロードリンク帯域のうち前記第１の通信路として使用されない残帯域を有する端末それぞれについて、前記残帯域を、当該端末より下の階層に位置する端末に対して前記ストリームデータに関連する関連データを配信する論理的な第２の通信路として割り当てる第２の通信路割当ステップとを含む。
【００２４】
本発明の一形態に係るプログラムは、通信ネットワークに相互接続される複数の端末のうちから選ばれたルート端末から他の全ての端末に対してストリームデータを配信するＡＬＭ（Ａｐｐｌｉｃａｔｉｏｎ  Ｌａｙｅｒ  Ｍｕｌｔｉｃａｓｔ）配信木を構築する。具体的には、前記複数の端末それぞれのアップロードリンク帯域を測定するメトリック測定ステップと、前記複数の端末それぞれに、前記ストリームデータの配信元となる１つの上位端末、及び前記ストリームデータの配信先となる１以上の下位端末の少なくとも一方を割り当てる端末割当ステップと、前記下位端末が割り当てられた端末それぞれについて、前記メトリック測定ステップにおいて測定された前記アップロードリンク帯域の少なくとも一部を、前記下位端末に対して前記ストリームデータを配信する論理的な第１の通信路として割り当てる第１の通信路割当ステップと、前記アップロードリンク帯域のうち前記第１の通信路として使用されない残帯域を有する端末それぞれについて、前記残帯域を、当該端末より下の階層に位置する端末に対して前記ストリームデータに関連する関連データを配信する論理的な第２の通信路として割り当てる第２の通信路割当ステップとを、コンピュータに実行させる。
【００２５】
本発明の一形態に係る集積回路は、通信ネットワークに相互接続される複数の端末のうちから選ばれたルート端末から他の全ての端末に対してストリームデータを配信するＡＬＭ（Ａｐｐｌｉｃａｔｉｏｎ  Ｌａｙｅｒ  Ｍｕｌｔｉｃａｓｔ）配信木を構築する。具体的には、前記複数の端末それぞれのアップロードリンク帯域を測定するメトリック測定部と、前記複数の端末それぞれに、前記ストリームデータの配信元となる１つの上位端末、及び前記ストリームデータの配信先となる１以上の下位端末の少なくとも一方を割り当てる端末割当部と、前記下位端末が割り当てられた端末それぞれについて、前記メトリック測定部によって測定された前記アップロードリンク帯域の少なくとも一部を、前記下位端末に対して前記ストリームデータを配信する論理的な第１の通信路として割り当てる第１の通信路割当部と、前記アップロードリンク帯域のうち前記第１の通信路として使用されない残帯域を有する端末それぞれについて、前記残帯域を、当該端末より下の階層に位置する端末に対して前記ストリームデータに関連する関連データを配信する論理的な第２の通信路として割り当てる第２の通信路割当部とを備える。
【００２６】
なお、本発明は、ＡＬＭ配信木構築装置やＡＬＭ配信木構築方法として実現できるだけでなく、これらの機能を実現する集積回路として実現したり、そのような機能をコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、ＣＤ−ＲＯＭ等の記録媒体及びインターネット等の伝送媒体を介して流通させることができるのは言うまでもない。
【発明の効果】
【００２７】
ＡＬＭ配信木上の残帯域を冗長符合や複製データで有効に活用できるため、配信するストリームデータの品質を高めることができる。
【図面の簡単な説明】
【００２８】
【図１Ａ】図１Ａは、本発明の実施の形態１、２に係るＡＬＭ配信木構築装置のブロック図である。
【図１Ｂ】図１Ｂは、本発明の実施の形態１に係るＡＬＭ配信木構築装置の最小構成を示すブロック図である。
【図１Ｃ】図１Ｃは、図１ＢのＡＬＭ配信木構築装置の動作を示すフローチャートである。
【図２】図２は、ＡＬＭ配信木構築処理を示すフローチャートである。
【図３】図３は、第２の枝割当処理を示すフローチャートである。
【図４】図４は、ＡＬＭ配信木の論理的な端末配置を示す図である。
【図５】図５は、第１の枝の帯域幅を決定した状態を示す図である。
【図６】図６は、第３階層の残帯域を第４階層に対する第２の枝として割り当てた状態を示す図である。
【図７】図７は、第２階層の残帯域を第３階層に対する第２の枝として割り当てた状態を示す図である。
【図８】図８は、第２階層の残帯域を第３、４階層に対する第２の枝として割り当てた状態を示す図である。
【図９】図９は、第２の枝を用いて配信される追加データを示す図である。
【図１０】図１０は、経路遅延を考慮した階層構造を示す図である。
【図１１Ａ】図１１Ａは、記録媒体本体である磁気ディスクの物理フォーマットの例を示す図である。
【図１１Ｂ】図１１Ｂは、磁気ディスクを保持するケースの正面図、断面図、及び磁気ディスクを示す図である。
【図１１Ｃ】図１１Ｃは、フレキシブルディスクに上記プログラムの記録再生を行うための構成を示す図である。
【図１２】図１２は、従来のネットワーク構成を示す図である。
【図１３】図１３は、図１２の端末でＡＬＭ配信木を構成した例を示す図である。
【発明を実施するための形態】
【００２９】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
【００３０】
（実施の形態１）
図１Ａは、本発明の実施の形態１に係るＡＬＭ配信木構築装置１００の典型例を示すブロック図である。図１Ａに示されるＡＬＭ配信木構築装置１００は、メトリック測定部１０１と、ＡＬＭ配信木計算部２０１と、ＡＬＭ制御部３０１と、第２の枝計算部４０１と、経路遅延測定部５０１と、追加データ計算部６０１とを主に備える。
【００３１】
メトリック測定部１０１は、ＡＬＭ配信木に参加する各ノードのアップロードリンク帯域を測定する。なお、ノード間の遅延等、ＡＬＭ配信木の構築に必要な他のメトリックを測定対象に含めてもよい。
【００３２】
ＡＬＭ配信木計算部２０１は、メトリック測定部１０１の測定結果を基にＡＬＭ配信木の構成を計算する。具体的には、ノード割当部２０２と、第１の枝割当部２０３とを備える。
【００３３】
ノード割当部（端末割当部）２０２は、まず、複数の端末それぞれを、複数の階層のいずれかに割り当てる。次に、各端末に対して、上位端末及び下位端末の少なくとも一方を割り当てる。上位端末は、ストリームデータの配信元となる端末であり、直上の階層に属する端末から１台だけ選択される。一方、下位端末は、ストリームデータの配信先となる端末であり、直下の階層に属する端末から１台以上選択される。
【００３４】
第１の枝割当部（第１の通信路割当部）２０３は、下位端末が割り当てられた端末それぞれについて、メトリック測定部１０１によって測定されたアップロード帯域の少なくとも一部を、下位端末に対してストリームデータを配信する論理的な第１の通信路（以下「第１の枝」と表記する）として割り当てる。
【００３５】
ＡＬＭ制御部３０１は、ＡＬＭ配信木構成データを元に配信すべきストリームデータの受信、複製、及び送信を行う。なお、ＡＬＭ配信木を構成しない端末がＡＬＭ配信木構築装置１００となる場合には、ＡＬＭ制御部３０１を省略することができる。
【００３６】
第２の枝計算部４０１は、ＡＬＭ配信木の各ノードの残帯域を算出し、当該残帯域をＡＬＭ配信木の下流ノードに第２の通信路（以下「第２の枝」と表記する）として割り当てる。具体的には、第２の枝割当部４０２と、経路遅延適用部４０３と、追加データ割当部４０４とを備える。
【００３７】
第２の枝割当部（第２の通信路割当部）４０２は、アップロード帯域のうち第１の枝として使用されない残帯域を有する端末それぞれについて、当該残帯域を、当該端末より下の階層に位置する端末に第２の枝として割り当てる。なお、「第２の枝」は、ストリームデータに関連する追加データ（「関連データ」ともいう）を配信する論理的な通信路である。
【００３８】
経路遅延適用部４０３は、ストリームデータの遅延時間を第２の枝の計算に適用させる。経路遅延測定部５０１は、ＡＬＭ配信木の各ノードについて、ソースから配信されるストリームデータを受信するまでの遅延時間を測定する。なお、経路遅延適用部４０３及び経路遅延測定部５０１は、実施の形態１においては省略することができる。これらの詳細な動作は、実施の形態２で説明する。
【００３９】
追加データ割当部（関連データ割当部）４０４は、送信すべき追加データを各第２の枝に割り当てる。追加データ計算部６０１は、ＡＬＭ配信木上で送信すべき追加データを算出する。
【００４０】
図１Ｂは、本発明の実施の形態１に係るＡＬＭ配信木構築装置１００の最小構成を示す図である。図１Ｃは、図１Ｂに示されるＡＬＭ配信木構築装置１００の動作を示すフローチャートである。
【００４１】
図１Ｂに示されるＡＬＭ配信木構築装置１００は、メトリック測定部１１０と、端末割当部１２０と、第１の通信路割当部１３０と、第２の通信路割当部１４０とを備える。なお、メトリック測定部１１０は図１Ａのメトリック測定部１０１に、端末割当部１２０は図１Ａのノード割当部２０２に、第１の通信路割当部１３０は図１Ａの第１の枝割当部２０３に、第２の通信路割当部１４０は図１Ａの第２の枝割当部４０２に、それぞれ相当する。
【００４２】
メトリック測定部１１０は、各端末のアップロードリンク帯域を測定するために、各端末に対して測定要求を送信し、各端末から測定結果を受信する（Ｓ１０）。そして、メトリック測定部１１０は、各端末のアップロードリンク帯域の測定結果を、端末割当部１２０及び第１の通信路割当部１３０に通知する。
【００４３】
端末割当部１２０は、各端末をＡＬＭ配信木の所定のノードに割り当てる（Ｓ１１）。そして、割当結果である木構造情報を、各端末に送信すると共に、第１の通信路割当部１３０に通知する。なお、割当方法は特に限定されないが、メトリック測定部１１０から取得した各端末のアップロードリンク帯域の測定結果に基づいて、アップロードリンク帯域の大きい端末を上流側に、アップロードリンク帯域の小さい端末を下流側に配置するのが望ましい。しかしながら、アップロードリンク帯域の大きさを考慮せずに割り当てを行う場合、端末割当部１２０は、メトリック測定部１１０からアップロードリンク帯域の測定結果を取得する必要はない。
【００４４】
第１の通信路割当部１３０は、上位端末それぞれのアップロードリンク帯域の少なくとも一部を、第１の通信路として下位端末に割り当てる（Ｓ１２）。そして、割当結果である第１の通信路情報を各端末に送信すると共に、各端末の残帯域を示す残帯域情報を第２の通信路割当部１４０に通知する。第２の通信路割当部１４０は、上位層の端末の残帯域を、第２の通信路として下位層の端末に割り当てる（Ｓ１３）。そして、割当結果である第２の通信路情報を各端末に送信する。
【００４５】
次に、図２〜図９を参照して、上記構成のＡＬＭ配信木構築装置１００の動作を説明する。図２は、ＡＬＭ配信木構築処理を示すフローチャートである。なお、図１Ｃと図２とで同一の番号を付した処理ステップでは、同一の処理が実行される。
【００４６】
まず、メトリック測定部１０１は、全ての端末２０〜３３のアップリンク帯域を測定する（Ｓ１０）。図４の端末２０、２１、２２、２３、２４、２５、２６、２７、２８、２９、３０、３１、３２、３３を示す○印内に、アップロードリンク帯域の測定結果を示している。なお、アップリンク帯域の具体的な測定方法は特に限定されず、従来から用いられているあらゆる方法を採用することができる。
【００４７】
例えば、パケットトレイン法によって測定することができる。具体的には、ＡＬＭ配信木構築装置１００は、測定対象の端末２０に対して所定の間隔で複数のパケットを送信し、当該端末２０からの応答パケットを監視する。そして、パケットの送信間隔を徐々に短くしていくと、端末２０がアップロードリンク帯域を使い切ったタイミングで応答パケットが遅延する。このときの送信間隔と応答パケットのデータ量とに基づいて、端末２０のアップロードリンク帯域を推定することができる。他の端末２１〜３３についても、同様の方法で測定することができる。
【００４８】
次に、ＡＬＭ配信木構築装置１００は、複数の端末をＡＬＭ配信木の所定のノードに割り当てる処理を実行する（Ｓ１１）。図４は、複数（１４台）の端末２０、２１、２２、２３、２４、２５、２６、２７、２８、２９、３０、３１、３２、３３でＡＬＭ配信木を構成した例を示す図である。図４を参照して、Ｓ１１の処理を具体的に説明する。
【００４９】
まず、ノード割当部２０２は、端末２０〜３３を複数の階層のいずれかに割り当てる。本実施の形態１では、第１階層〜第４階層のいずれかに割り当てる。ノード割当部２０２は、まず、ストリームデータの配信元となる端末２０を第１階層に割り当てる。次に、端末２１〜３３を、アップリンク帯域が大きいほど上位の階層に割り当てる。図４では、端末２１、２２を第２階層に、端末２３〜２６を第３階層に、端末２７〜３３を第４階層に割り当てている。なお、ノードの割り当て（どのノードをどの階層に割り当てるかを決める手段）は、アップリンク帯域の大きい順に限定されず、従来から用いられているあらゆる方法を採用することができる。
【００５０】
次に、ノード割当部２０２は、各端末２０〜３３それぞれに対して、上位端末及び下位端末の少なくとも一方を割り当てる。具体的には、第１階層に属する端末２０には、下位端末として第２階層に属する端末２１、２２を割り当てる。また、第２階層に属する端末２１には、上位端末として第１階層に属する端末２０を、下位端末として第３階層に属する端末２３、２４を割り当てる。さらに、第４階層に属する端末２７には、上位端末として第３階層に属する端末２３を割り当てる。他の端末についても図４に示す通りであるので、説明は省略する。
【００５１】
なお、下位端末が割り当てられている端末２０〜２６を「非葉ノード」と呼び、特に、下位端末のみが割り当てられる端末２０を「ルートノード」と呼ぶ。一方、上位端末のみが割り当てられる端末２７〜３３を「葉ノード」と呼ぶ。
【００５２】
次に、ＡＬＭ配信木構築装置１００は、ストリームデータを配信するための論理的な第１の枝の帯域幅を決定する（Ｓ１２）。図５は、図４のＡＬＭ配信木において、第１の枝の帯域幅を示す図である。図５を参照して、Ｓ１２の処理を具体的に説明する。
【００５３】
まず、第１の枝割当部２０３は、各非葉ノードに対して、アップリンク帯域を下位端末の端末数で除算する。例えば、端末２０は、アップリンク帯域が２．８Ｍｂｐｓであり、下位端末の端末数が２台であるので、計算結果は１．４Ｍｂｐｓとなる。同様に、端末２６は、アップリンク帯域が１．０Ｍｂｐｓであり、下位端末の端末数が１台であるので、計算結果は１．０Ｍｂｐｓとなる。
【００５４】
そして、第１の枝割当部２０３は、全ての非葉ノードに対して上記の計算を行い、計算結果の最小値を第１の枝の帯域幅とする。実施の形態１における第１の枝の帯域幅は、図５に示されるように、１．０Ｍｂｐｓとなる。
【００５５】
また、図５は、各非葉ノードである端末２０〜２６の残帯域を示している（図中○印の中の数値が残帯域を示す）。ここで、各非葉ノードである端末２０〜２６の残帯域は、「アップリンク帯域幅−下位端末の端末数×第１の枝の帯域幅」のように計算される。
【００５６】
具体的には、端末２０〜２２が０．８Ｍｂｐｓ（＝２．８−２×１）、端末２３、２４が０．５Ｍｂｐｓ（＝２．５−２×１）、端末２５が０（＝２−１×１）、及び端末２６が０（＝１−１×１）の残帯域を持っていることになる。本願手法はこの残帯域を、既に構築されているＡＬＭ配信木の下流ノードに対して追加データを配信するための第２の枝として利用するものである。
【００５７】
次に、ＡＬＭ配信木構築装置１００は、追加データを配信するための第２の枝の帯域幅を決定するための第２の枝割当処理を実行する（Ｓ１３）。図３は、第２の枝割当処理の詳細を示すフローチャートである。
【００５８】
任意のＡＬＭ配信木（被覆木）において、下流ノードは、上流ノードに比べて遅れてストリームデータを受信し、遅れてストリーム再生を開始する。そのため、上流ノードが保持している追加データを、そのノードの残帯域を利用して下流ノード向けに送信すると、その下流ノードの再生時刻に間に合う確率は高い。
【００５９】
一方、下流ノードから上流ノードに向けて追加データを送信しても、上流ノードでそれらの追加データに該当する再生時刻が過ぎている確率は高く、その場合は追加データが利用できない。従って、ＡＬＭ配信木全体の残帯域を合算し、それを各受信ノード宛に割り当てる等の単純な仕組みでは、残帯域が効率良く利用できない。
【００６０】
従って、ここではＡＬＭ配信木の構成、特にノードの上下関係を考慮して残帯域を割り当てる。具体的には、各ノードの残帯域をその下流ノードへの追加データ送信にだけ利用するというポリシーとなる。なお、「下流ノード」とは、自ノードが属する階層より下の階層に属するノードを指す。同様に、「上流ノード」とは、自ノードが属する階層より上の階層に属するノードを指す。
【００６１】
例えば、図６においては、第３階層に属する全てのノード（端末２３〜２６）の残帯域を第４階層のノード（端末２７〜３３）への追加データの送信に利用している。また、図８においては、第２階層に属する全てのノード（端末２１、２２）の残帯域を第３階層、及び第４階層のノード（端末２３〜３３）への追加データ送信に利用している。さらに、図示は省略するが、第１階層に属するノード（端末２０）の残帯域を第２階層、第３階層、及び第４階層のノード（端末２１〜３３）への追加データ送信に利用する。
【００６２】
そして、この段階的な配当をボトムアップ的な計算により実現する。このボトムアップ的計算の概念を図５に示している。つまり、図５の領域Ａ、領域Ｂ、領域Ｃの順で第２の枝割当処理が実行される。具体的には、まず、第３階層の残帯域を用いた第２の枝の計算（以降「ステップ１」と表記する）、その次に第２階層の残帯域を用いた第２の枝の計算（以降「ステップ２」と表記する）、最後に第１階層の残帯域を用いた第２の枝の計算（以降「ステップ３」と表記する）を行う。
【００６３】
まず、第２の枝割当部４０２は、第３階層に属する全ての端末２３〜２６の残帯域を第４階層に属する端末に均等に分配する（ステップ１）。具体的には、まず、第４階層の端末数と、第３階層に属する全ての端末２３〜２６の残帯域の合計（以下「総残帯域」と表記する）とを取得する（Ｓ１３１）。
【００６４】
次に、第２の枝割当部４０２は、総残帯域である１Ｍｂｐｓ（＝０．５＋０．５）を均等に分割（７等分）し、第４階層の端末２７〜３３に割り当てる第２の枝の帯域幅を決定する（Ｓ１３２）。ここでは、第４階層に属する端末２７〜３３に割り当てられる第２の枝の帯域幅を１４２Ｋｂｐｓとする。
【００６５】
次に、第２の枝割当部４０２は、図６に示されるように、第３階層に属する端末２３、２４それぞれの残帯域を、第２の枝として、第４階層に属する端末２７〜３３に割り当てる。ここでは、端末２３、２４の残帯域は、共に５００Ｋｂｐｓである。つまり、端末２３、２４は、それぞれが１４２ｋｂｐｓの第２の枝を３つと、７２Ｋｂｐｓの第２の枝を１つ提供することが可能になる。
【００６６】
そこで、端末２３から端末２７、２８、３２に対して１４２Ｋｂｐｓの第２の枝を割り当てる。同様に、端末２４から端末２９、３１、３２に対して、１４２Ｋｂｐｓの第２の枝を割り当てる。さらに、端末２４、２５それぞれから端末３３に対して、７１Ｋｂｐｓの第２の枝を割り当てる。これにより、端末３３に割り当てられた第２の枝の帯域幅も１４２Ｋｂｐｓとなる。その結果、第４階層に属する各端末２７〜３３には、同一帯域幅（１４２Ｋｂｐｓ）の第２の枝が割り当てられることになる。
【００６７】
次に、第２の枝割当部４０２は、第４階層に属する各端末２７〜３３に割り当てられる第２の枝と、第５階層に属する各端末に割り当てられる第２の枝との帯域幅を比較する（Ｓ１３３）。なお、実施の形態１において第５階層は存在しないので（Ｓ１３３でＮｏ）、Ｓ１３４をスキップする。
【００６８】
次に、第２の枝割当部４０２は、全ての階層の残帯域を第２の枝に割り当てたか否かを判断する（Ｓ１３５）。現時点では、第３階層の残帯域のみを第２の枝に割り当てたにすぎないので（Ｓ１３５でＮｏ）、Ｓ１３１に戻って処理を継続する。
【００６９】
次に、第２の枝割当部４０２は、第３階層の端末数（４台）と、第２階層の総残帯域（１．６Ｍｂｐｓ）とを取得する（Ｓ１３１）。次に、第２階層の総残帯域を第３階層の端末数で除すると、図７に示されるように、第３階層に属する端末２３〜２６に割当可能な第２の枝の帯域幅（４００Ｋｂｐｓ）が得られる（Ｓ１３２）。
【００７０】
図７に示される割当方法は、ステップ１の動作をそのまま繰り返すものであり、第２階層の総残帯域を直下のノードにのみ均等に分配する手法である。この手法には、シンプルであるというメリットはある。しかしながら、第２の枝の帯域幅が階層毎に異なり、ＡＬＭ配信木全体のストリーミング品質が向上しないというデメリットがある。そこで、図８に示す方法では、ステップ１の計算結果を考慮し、ＡＬＭ配信木全体における第２の枝の帯域幅の平等化を図る（ステップ２）。
【００７１】
そこで、第３階層に属する端末２３〜２６に割当可能な第２の枝の帯域幅（４００Ｋｂｐｓ）と、現在までに第４階層に属する端末２７〜３３に割り当てられた第２の枝の帯域幅（１４２Ｋｂｐｓ）とを比較する（Ｓ１３３）。
【００７２】
具体的には、第ｉ階層の総残帯域をＸｉ、第ｉ階層の端末数をＹｉとすると、（Ｘ２／Ｙ３）≦（Ｘ３／Ｙ４）のときは、Ｓ１３２で説明したように、第２階層の総残帯域Ｘ２を第３階層に属する端末２３〜２６にのみ分配する。一方、（Ｘ２／Ｙ３）＞（Ｘ３／Ｙ４）のときは、第２階層の総残帯域Ｘ２を全下流ノードへの帯域分配が均等になるように分配する。
【００７３】
ここでは、第３の階層に割当可能な第２の枝の帯域幅が大きいので（Ｓ１３３でＹｅｓ）、第２の枝割当部４０２は、第３階層及び第４階層に割り当てられる第２の枝が同一帯域となるように、第２階層の総残帯域Ｘ２を、第３階層のみならず、第４階層にも割り当てる（Ｓ１３４）。例えば、第ｉ階層の総残帯域をＸ、現時点において第（ｉ＋２）階層以下の端末に割り当てられた第２の枝の帯域幅をＹ、及び第（ｉ＋１）階層のノード数をＺとすると、第ｉ階層の総残帯域Ｘを、第（ｉ＋１）階層以下の全ての階層に割り当てる際の計算式は、下記式１及び式２のようになる。
【００７４】
【数１】
2010146798.tif 000024
【００７５】
【数２】
2010146798.tif 000025
【００７６】
このように分配することで、第ｉ階層の総残帯域Ｘが全下流ノードに対して平等に分配される。第２階層の総残帯域Ｘ＝１．６Ｍｂｐｓ、第４階層の第２の枝の帯域幅Ｙ＝１４２Ｋｂｐｓ、第３階層のノード数Ｚ＝４、第２階層の下流ノード数＝１１を上記式１及び式２に代入すれば、第３階層への分配分＝１４２Ｋｂｐｓ＋（１．６Ｍｐｐｓ−４×１４２Ｋｂｐｓ）／１１＝２３５Ｋｂｐｓ、第４階層への分配分＝（１．６Ｍｐｐｓ−４×１４２Ｋｂｐｓ）／１１＝９３Ｋｂｐｓとなる。
【００７７】
また、このとき、第４階層に属する各ノードには既に１４２Ｋｂｐｓ（＝Ｙ）の帯域幅が確保されているので、先の計算で算出された９３Ｋｂｐｓを加算して、第２の枝の合計帯域幅が２３５Ｋｂｐｓ（＝１４２Ｋｂｐｓ＋９３Ｋｂｐｓ）となる。
【００７８】
ここで、得られた帯域の第２の枝の張り方の具体例を図８に示している。第２の枝割当部４０２は、端末２１の残帯域のうち、端末２３、２４に２３５Ｋｂｐｓを、端末２７〜２９に９３Ｋｂｐｓを、端末３３に４６．５Ｋｂｐｓをそれぞれ割り当てる。同様に、端末２２の残帯域のうち、端末２５、２６に２３５Ｋｂｐｓを、端末３０〜３２に９３Ｋｂｐｓを、端末３３に４６．５Ｋｂｐｓをそれぞれ割り当てる。
【００７９】
なお、ここで述べた、第２の枝の張り方は一例に過ぎず、端末２３〜３３に割り当てられる第２の枝の帯域幅が２３５Ｋｂｐとなれば、いかなる張り方であってもよい。
【００８０】
次に、ステップ３は、ステップ２と同様に実行される。すなわち、ステップ２の計算結果（ステップ２で得られた第２の枝の帯域幅）を考慮し、第１階層の総残帯域（０．８Ｍｂｐｓ）の割り当てを行う。具体的には、Ｘ＝０．８Ｍｂｐｓ、Ｙ＝２３５Ｋｂｐｓ、Ｚ＝２、及び第１階層の下流ノード数＝１３を上述の式に代入する。
【００８１】
その結果、第２階層に割り当てられる、第２の枝の帯域幅＝２３５Ｋｂｐｓ＋（０．８Ｍｐｐｓ−２×２３５Ｋｂｐｓ）／１３＝２６０Ｋｂｐｓ、第３階層及び第４階層に割り当てられる、第２の枝の帯域幅＝（０．８Ｍｐｐｓ−２×２３５Ｋｂｐｓ）／１３＝２５Ｋｂｐｓとなる。
【００８２】
なお、ここでは、各端末に割り当てられる第２の枝の帯域幅が等しくなるように残帯域を分配しているが、それは一例に過ぎず、様々なポリシーに基づき残帯域を分配することができる。ポリシーを適切に設定することで、アプリケーションに適した品質向上が実現可能である。例えば、ある特定のノード集合を選出し、そのノード集合にだけ残帯域のあるノードから第２の枝を張る。これにより、当該ノード集合に配信されるストリームデータの品質を格別に向上させることができ、ＡＬＭ配信木におけるバックボーン的な、またはソースの役割を果たすノード集合を実現することができる。
【００８３】
ここまで、残帯域を利用した第２の枝の張り方を説明した（図２のＳ１０〜Ｓ１３）。次に、ＡＬＭ配信木構築装置１００は、このように張られた第２の枝を用いて送信するデータのデータサイズを決定する（Ｓ１４）。
【００８４】
送信するデータはアプリケーションに応じて変わる任意のものであるが、例えば、第１の枝を用いて送信されるストリームデータの誤り訂正符号（パリティビット等）であってもよい。ここでは、当該誤り訂正符号は図１の追加データ計算部６０１によって算出されるものとし、その具体的な算出方法については説明しない。
【００８５】
図９は、第２の枝を用いて配信されるパケットを示す図である。なお、以下の説明では、図８に示される帯域幅の第２の枝を用いて、図９に示されるパケットを送信する手順を説明する。
【００８６】
まず、端末２３〜２６には、帯域幅が２３５Ｋｂｐｓの第２の枝が１本割り当てられている。すなわち、端末２３〜２６は、パケット番号１〜ｍの全てのパケットを当該第２の枝を介して端末２１、２２から受信する。
【００８７】
一方、端末２７〜３３には、複数の第２の枝が割り当てられている。例えば、端末２７には、帯域幅が１４２Ｋｂｐｓの第２の枝が端末２３から１本、帯域幅が９３Ｋｂｐｓの第２の枝が端末２１から１本割り当てられている。また、端末３３には、帯域幅が７２Ｋｂｐｓの第２の枝が端末２３、２４から１本ずつ（計２本）、帯域幅が４６．５Ｋｂｐｓの第２の枝が端末２１、２２から１本ずつ（計２本）割り当てられている。
【００８８】
そこで、ＡＬＭ配信木構築装置１００は、端末２７に配信されるパケット番号１〜ｍのパケットのうち、パケット番号１〜ｎ（１４２／２３５）のパケットを端末２３に配信させ、パケット番号ｎ＋１〜ｍ（９３／２３５）のパケットを端末２１に配信させる。端末２８〜３２に対しても同様の方法で追加データを分割して配信させる。
【００８９】
同様に、ＡＬＭ配信木構築装置１００は、端末３３に対して配信されるパケット番号１〜ｍのパケットのうち、パケット番号１〜ｋ（７２／２３５）のパケットを端末３３に配信させ、パケット番号ｋ＋１〜ｎ（７２／２３５）のパケットを端末２４に配信させ、パケット番号ｎ＋１〜ｊ（４６．５／２３５）のパケットを端末２１に配信させ、パケット番号ｊ＋１〜ｍ（４６．５／２３５）のパケットを端末２２に配信させる。
【００９０】
上記のように、端末２７〜３３には、２以上の端末から第２の枝が張られる場合がある。このような場合に、追加データを第２の枝の帯域幅で比例配分して、２以上の端末それぞれに配信させることにより、遅延のない追加データの配信が可能となる。
【００９１】
一般的に任意のノードｘがｈ個のノード、ｙ１、ｙ２、・・・、ｙｈからなるノード集合Ｎから第２の枝がｈ個（ｌ１、ｌ２、・・・、ｌｈ）張られ、それら第２の枝の帯域幅が順にｂｗ１、ｂｗ２、・・・、ｂｗｈである場合、ノード集合Ｎの各ノードｙｉ（ｉ＝１、２、・・・、ｈ）がｘに配信するデータパケットのシーケンス番号の範囲ｐ１ｉ、ｐ２ｉ（ｐ１：下限、ｐ２上限）が以下の式３及び式４により算出される。
【００９２】
【数３】
2010146798.tif 000026
【００９３】
【数４】
2010146798.tif 000027
【００９４】
なお、ｐｉｄ１は、第２の枝を用いて配信される１ステップのデータの最終パケットのシーケンス番号である。ｐｉｄ２は、第２の枝を用いて配信される１つ前のステップのデータの最終パケットのシーケンス番号である。このように送信すると、端末２３〜３３の全てがほぼ同時に２３５Ｋｂｐｓの追加データを受信することになる。
【００９５】
このとき、追加データ計算部６０１は、例えば、第１の枝を利用して配信されるストリームデータの品質を向上させるためにＦＥＣ（Ｆｏｒｗａｒｄ  Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ）データを送信したい場合に、ＦＥＣの厚みが２３５Ｋｂｐｓになるように計算することになる。なお、ストリーミングにおいて、ＦＥＣデータを送信することは広く行われているため、ここではＦＥＣの説明、ストリーミングデータからＦＥＣデータの算出方法等の説明は行わない。
【００９６】
なお、ここではＦＥＣデータ送信の例を挙げたが、それは一例に過ぎず、第２の枝を利用してどのようなデータを送信してもよい。例えば、第１の枝を利用して配信されるストリームデータの損失に対する再送データを、第２の枝を利用して送信してもよい。なお、再送データは常時発生するわけではないので、この場合は、第２の枝で配信するデータのデータサイズを決定する処理（図２のＳ１４）は省略することができる。
【００９７】
図８を参照して、端末３０が第２の枝を利用して再送データを受信する手順を説明する。まず、端末３０は、第１の枝を利用して端末２４から受信するストリームデータにパケットロス（損失）がないかを確認する。パケットロスを検出する具体的な方法は特に限定されないが、例えば、ＲＴＰ（Ｒｅａｌ−ｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）ヘッダのシーケンス番号を参照することにより、パケットロスを検出することができる。
【００９８】
パケットロスを検出した場合、端末３０は、第２の枝で接続された端末２４、２５のいずれかに対して、ロスしたパケットの再送を要求する。これにより、端末３０は、第２の枝を通じて端末２４から再送パケットを受信することができる。
【００９９】
なお、再送を要求する端末の選択方法は特に限定されないが、例えば、第２の枝の帯域幅が最も大きい端末（この場合、端末２４）を選択してもよい。なお、端末３０は、ＡＬＭ配信木構築装置１００から取得した第２の通信路情報によって、端末２４からの第２の枝の帯域幅（１４２Ｋｂｐｓ）と、端末２５からの第２の枝の帯域幅（９３Ｋｂｐｓ）とを把握しているものとする。
【０１００】
（実施の形態２）
次に、図１０を参照して、本発明の実施の形態２を説明する。なお、基本構成は、図１に示されるＡＬＭ配信木構築装置１００と共通する。実施の形態１では、ＡＬＭ配信木の任意ノードの残帯域をその下流ノードへの第２の枝に利用するというポリシーを説明した。しかしながら、実際には、同一階層の全てのノードの遅延が等しくならないため、ルートノードからの遅延という観点での各ノードの上下関係は、ＡＬＭ配信木の構成通りになるとは限らない。そこで、実施の形態２では、ＡＬＭ配信木上の階層にとらわれず、ルートノードからの遅延時間に基づいて第２の枝を割り当てる点で、実施の形態１と異なる。
【０１０１】
図１０は、端末２０から配信されるストリームデータの端末２１〜３３での遅延時間を示す図である。また、ＡＬＭ配信木上に端末２０からの遅延が１００［ｍｓ］、２００［ｍｓ］、３００［ｍｓ］となる等遅延線を描いており、各端末２１〜３３の端末２０からの遅延を端末２０からの距離で示している。
【０１０２】
なお、遅延時間の測定方法の具体例は特に限定されないが、例えば、ＲＴＣＰ（Ｒｅａｌ−ｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）を利用して測定してもよい。具体的には、ＡＬＭ配信木構築装置１００として機能する端末２０は、遅延時間の測定対象となる端末２１にパケットを送信し、端末２１からの応答パケットを受信するまでの時間を遅延時間として測定する。他の端末２１〜３３についても、同様の方法で測定することができる。
【０１０３】
図１０に示されるように、各階層（第２階層〜第４階層）に属する端末２１〜３３の端末２０からの遅延時間が揃っていないため、端末２０からの遅延という観点からみたノード間の上限関係とＡＬＭ配信木の構成上の上下関係とは異なる。具体的には、図１０に示される端末２７、２８は、ＡＬＭ配信木の構成上は第３階層に所属し、端末２５は第２階層に所属する。しかしながら、端末２７、２８の端末２０からの遅延時間が端末２５のその値より短い。つまり、端末２０からの遅延という観点では、端末２５と端末２７、２８との上下関係が逆になる。
【０１０４】
このように、上下関係の一貫性のないＡＬＭ配信木において、実施の形態１で説明した手法に従って残帯域の割り当てを行って追加データを送信しても、それらは再生時間に間に合わず、利用できなくなる可能性が高い。よって、このような環境にも対応できるように、実施の形態１で述べた基本手法を以下のように拡張する。
【０１０５】
実施の形態２における第２の枝の割当方法は、任意のノードの残帯域を第２の枝に利用する際に、残帯域を提供しているノードの遅延時間より遅延時間が長いノードのみを割当対象ノードとし、ＡＬＭ配信木の構成を考慮しない。
【０１０６】
まず、経路遅延測定部５０１は、図１０に示されるように、端末２１〜３３の遅延時間を測定する。そして、経路遅延適用部４０３は、当該測定結果に基づいて、端末２１〜３３を、遅延時間が１００ｍｓ以下の端末２１〜２３を第２階層に、遅延時間が１００ｍｓ〜２００ｍｓの端末２４、２６〜２８を第３階層に、遅延時間が２００ｍｓ〜３００ｍｓの端末２５、２９〜３３を第４階層に割り当てる。
【０１０７】
そして、上記のように決定された階層に基づいて、前述のステップ１〜３と同様の処理を実行する。処理の具体的な内容は、繰り返しになるため省略する。
【０１０８】
（実施の形態３）
また、本発明は、実施の形態１のように、ＡＬＭ配信木構築装置及びＡＬＭ配信木構築方法として実現できるだけではなく、実施の形態１、２のＡＬＭ配信木構築方法をコンピュータに実行させるためのプログラムとして実現してもよい。
【０１０９】
図１１Ａ〜図１１Ｃは、上記実施の形態１、２のＡＬＭ配信木構築方法を格納したフレキシブルディスクＦＤを用いて、コンピュータシステムにより実施する場合の説明図である。
【０１１０】
図１１Ａは、記録媒体本体である磁気ディスクＭＤの物理フォーマットの例を示す。図１１Ｂは、磁気ディスクＭＤを保持するケースＦの正面図、断面図、及び磁気ディスクＭＤを示す。図１１Ｃは、フレキシブルディスクＦＤに上記プログラムの記録再生を行うための構成を示す。
【０１１１】
フレキシブルディスクＦＤは、記録媒体本体である磁気ディスクＭＤと、磁気ディスクＭＤを保持するケースＦとで構成される。磁気ディスクＭＤの表面には、同心円状に外周から内周に向かって複数のトラックＴｒが形成され、各トラックＴｒは角度方向に１６のセクタＳｅに分割されている。従って、上記プログラムを格納したフレキシブルディスクＦＤは、磁気ディスクＭＤ上に割り当てられた領域に、上記プログラムとしてのＡＬＭ配信木構築方法が記録されている。
【０１１２】
また、上記プログラムをフレキシブルディスクＦＤに記録する場合は、コンピュータシステムＣｓから上記プログラムとしてのＡＬＭ配信木構築方法をフレキシブルディスクドライブＦＤＤを介して書き込む。また、フレキシブルディスクＦＤ内のプログラムによりＡＬＭ配信木構築方法をコンピュータシステムＣｓ中に構築する場合は、フレキシブルディスクドライブＦＤＤによりプログラムをフレキシブルディスクＦＤから読み出し、コンピュータシステムＣｓに転送する。
【０１１３】
なお、上記説明では、記録媒体としてフレキシブルディスクＦＤを用いて説明を行ったが、光ディスクを用いても同様に行うことができる。また、記録媒体はこれに限らず、ＩＣカード、ＲＯＭカセット等、プログラムを記録できるものであれば同様に実施することができる。
【０１１４】
また、本発明は、ＡＬＭ配信木構築装置を構成する構成要素の一部または全部を、１個のシステムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）から構成してもよい。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩである。
【０１１５】
以上、図面を参照してこの発明の実施形態を説明したが、この発明は、図示した実施形態のものに限定されない。図示した実施形態に対して、この発明と同一の範囲内において、あるいは均等の範囲内において、種々の修正や変形を加えることが可能である。
【産業上の利用可能性】
【０１１６】
本発明は、より高いＱｏＳを実現することができるためＡＬＭ技術を利用した映像配信や遠隔講義システム等で利用可能である。
【符号の説明】
【０１１７】
１０                                            通信ネットワーク
１１，１２，１３，１４，１５，１６，１７，２０，２１，２２，２３，２４，２５，２６，２７，２８，２９，３０，３１，３２，３３    端末
１００                                          ＡＬＭ配信木構築装置
１０１，１１０                                  メトリック測定部
１２０                                          端末割当部
１３０                                          第１の通信路割当部
１４０                                          第２の通信路割当部
２０１                                          ＡＬＭ配信木計算部
２０２                                          ノード割当部
２０３                                          第１の枝割当部
３０１                                          ＡＬＭ制御部
４０１                                          第２の枝計算部
４０２                                          第２の枝割当部
４０３                                          経路遅延適用部
４０４                                          追加データ割当部
５０１                                          経路遅延測定部
６０１                                          追加データ計算部
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
通信ネットワークに相互接続される複数の端末のうちから選ばれたルート端末から他の全ての端末に対してストリームデータを配信するＡＬＭ（Ａｐｐｌｉｃａｔｉｏｎ  Ｌａｙｅｒ  Ｍｕｌｔｉｃａｓｔ）配信木を構築するＡＬＭ配信木構築装置であって、
前記複数の端末それぞれのアップロードリンク帯域を測定するメトリック測定部と、
前記複数の端末それぞれに、前記ストリームデータの配信元となる１つの上位端末、及び前記ストリームデータの配信先となる１以上の下位端末の少なくとも一方を割り当てる端末割当部と、
前記下位端末が割り当てられた端末それぞれについて、前記メトリック測定部によって測定された前記アップロードリンク帯域の少なくとも一部を、前記下位端末に対して前記ストリームデータを配信する論理的な第１の通信路として割り当てる第１の通信路割当部と、
前記アップロードリンク帯域のうち前記第１の通信路として使用されない残帯域を有する端末それぞれについて、前記残帯域を、当該端末より下の階層に位置する端末に対して前記ストリームデータに関連する関連データを配信する論理的な第２の通信路として割り当てる第２の通信路割当部とを備える
ＡＬＭ配信木構築装置。
【請求項２】
前記端末割当部は、前記複数の端末それぞれを、第１階層、前記第１階層に属する端末のいずれか１つを前記上位端末とする第２階層、及び前記第２階層に属する端末のいずれか１つを前記上位端末とする第３階層のいずれかに割り当て、
前記第２の通信路割当部は、前記第２の通信路として、
前記第２階層に属する端末の残帯域を、前記第３階層に属する端末に均等に割り当て、
前記第１階層に属する端末の残帯域を、前記第２階層に属する端末に均等に割り当てる
請求項１に記載のＡＬＭ配信木構築装置。
【請求項３】
前記第２の通信路割当部は、さらに、
前記第１階層に属する端末の残帯域を前記第２階層に属する端末数で除した第１の商が、前記第２階層に属する端末の残帯域を前記第３階層に属する端末数で除した第２の商より大きい場合に、前記第１の階層に属する端末の残帯域を、前記第２及び第３階層に属する端末に対する前記第２の通信路が同一帯域となるように、前記第２及び第３階層に属する端末に割り当てる
請求項２に記載のＡＬＭ配信木構築装置。
【請求項４】
該ＡＬＭ配信木構築装置は、さらに、
前記他の全ての端末それぞれについて、前記ルート端末から配信された前記ストリームデータを受信するまでの遅延時間を測定する経路遅延測定部と、
前記経路遅延測定部の測定結果に基づいて、前記複数の端末それぞれを、前記ルート端末から配信される前記ストリームデータを第１の時間経過以前に受信する第１階層、前記第１の時間経過後で前記第１の時間より遅い第２の時間経過以前に受信する第２階層、及び前記第２の時間経過後に受信する第３階層のいずれかに割り当てる経路遅延適用部とを備え、
前記第２の通信路割当部は、前記第２の通信路として、
前記第２階層に属する端末の残帯域を、前記第３階層に属する端末に均等に割り当て、
前記第１階層に属する端末の残帯域を、前記第２階層に属する端末に均等に割り当てる
請求項１に記載のＡＬＭ配信木構築装置。
【請求項５】
該ＡＬＭ配信木構築装置は、さらに、２以上の前記端末それぞれの残帯域が、前記第２の通信路として同一の前記端末に割り当てられている場合に、前記関連データを前記第２の通信路の帯域幅で比例配分して、前記２以上の端末それぞれに配信させる関連データ割当部を備える
請求項１〜４のいずれか１項に記載のＡＬＭ配信木構築装置。
【請求項６】
前記関連データは、前記ストリームデータの誤り訂正符号を含む
請求項１〜５のいずれか１項に記載のＡＬＭ配信木構築装置。
【請求項７】
前記関連データは、前記ストリームデータの損失に対する再送データを含む
請求項１〜５のいずれか１項に記載のＡＬＭ配信木構築装置。
【請求項８】
該ＡＬＭ配信木構築装置は、前記ルート端末である
請求項１〜７のいずれか１項に記載のＡＬＭ配信木構築装置。
【請求項９】
通信ネットワークに相互接続される複数の端末のうちから選ばれたルート端末から他の全ての端末に対してストリームデータを配信するＡＬＭ（Ａｐｐｌｉｃａｔｉｏｎ  Ｌａｙｅｒ  Ｍｕｌｔｉｃａｓｔ）配信木を構築するＡＬＭ配信木構築方法であって、
前記複数の端末それぞれのアップロードリンク帯域を測定するメトリック測定ステップと、
前記複数の端末それぞれに、前記ストリームデータの配信元となる１つの上位端末、及び前記ストリームデータの配信先となる１以上の下位端末の少なくとも一方を割り当てる端末割当ステップと、
前記下位端末が割り当てられた端末それぞれについて、前記メトリック測定ステップにおいて測定された前記アップロードリンク帯域の少なくとも一部を、前記下位端末に対して前記ストリームデータを配信する論理的な第１の通信路として割り当てる第１の通信路割当ステップと、
前記アップロードリンク帯域のうち前記第１の通信路として使用されない残帯域を有する端末それぞれについて、前記残帯域を、当該端末より下の階層に位置する端末に対して前記ストリームデータに関連する関連データを配信する論理的な第２の通信路として割り当てる第２の通信路割当ステップとを含む
ＡＬＭ配信木構築方法。
【請求項１０】
通信ネットワークに相互接続される複数の端末のうちから選ばれたルート端末から他の全ての端末に対してストリームデータを配信するＡＬＭ（Ａｐｐｌｉｃａｔｉｏｎ  Ｌａｙｅｒ  Ｍｕｌｔｉｃａｓｔ）配信木を構築するプログラムであって、
前記複数の端末それぞれのアップロードリンク帯域を測定するメトリック測定ステップと、
前記複数の端末それぞれに、前記ストリームデータの配信元となる１つの上位端末、及び前記ストリームデータの配信先となる１以上の下位端末の少なくとも一方を割り当てる端末割当ステップと、
前記下位端末が割り当てられた端末それぞれについて、前記メトリック測定ステップにおいて測定された前記アップロードリンク帯域の少なくとも一部を、前記下位端末に対して前記ストリームデータを配信する論理的な第１の通信路として割り当てる第１の通信路割当ステップと、
前記アップロードリンク帯域のうち前記第１の通信路として使用されない残帯域を有する端末それぞれについて、前記残帯域を、当該端末より下の階層に位置する端末に対して前記ストリームデータに関連する関連データを配信する論理的な第２の通信路として割り当てる第２の通信路割当ステップと
を、コンピュータに実行させるプログラム。
【請求項１１】
通信ネットワークに相互接続される複数の端末のうちから選ばれたルート端末から他の全ての端末に対してストリームデータを配信するＡＬＭ（Ａｐｐｌｉｃａｔｉｏｎ  Ｌａｙｅｒ  Ｍｕｌｔｉｃａｓｔ）配信木を構築する集積回路であって、
前記複数の端末それぞれのアップロードリンク帯域を測定するメトリック測定部と、
前記複数の端末それぞれに、前記ストリームデータの配信元となる１つの上位端末、及び前記ストリームデータの配信先となる１以上の下位端末の少なくとも一方を割り当てる端末割当部と、
前記下位端末が割り当てられた端末それぞれについて、前記メトリック測定部によって測定された前記アップロードリンク帯域の少なくとも一部を、前記下位端末に対して前記ストリームデータを配信する論理的な第１の通信路として割り当てる第１の通信路割当部と、
前記アップロードリンク帯域のうち前記第１の通信路として使用されない残帯域を有する端末それぞれについて、前記残帯域を、当該端末より下の階層に位置する端末に対して前記ストリームデータに関連する関連データを配信する論理的な第２の通信路として割り当てる第２の通信路割当部とを備える
集積回路。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１Ａ】
2010146798.tif 000028
【図１Ｂ】
2010146798.tif 000029
【図１Ｃ】
2010146798.tif 000030
【図２】
2010146798.tif 000031
【図３】
2010146798.tif 000032
【図４】
2010146798.tif 000033
【図５】
2010146798.tif 000034
【図６】
2010146798.tif 000035
【図７】
2010146798.tif 000036
【図８】
2010146798.tif 000037
【図９】
2010146798.tif 000038
【図１０】
2010146798.tif 000039
【図１１Ａ】
2010146798.tif 000040
【図１１Ｂ】
2010146798.tif 000041
【図１１Ｃ】
2010146798.tif 000042
【図１２】
2010146798.tif 000043
【図１３】
2010146798.tif 000044
【国際調査報告】
2010146798.tif 000045
2010146798.tif 000046