(57)【要約】【課題】ピアツーピアによるストリーミング配信方法、配信サーバ装置及びクライアント装置に関し、ネットワークに分散するピアによって保持されるデータブロックの偏りをなくし、配信サーバへの負荷集中を回避する。【解決手段】コンテンツの実データを複数のデータブロックに分割し、各データブロックを配信サーバ１０及び複数のピア２１〜２５で保持し、クライアント１１にコンテンツの各データブロックを各ピア２１〜２５又は配信サーバ１０から配信する。クライアント１１は、データブロックの配信要求を各ピア２１〜２５に対して行い、ピアから配信不可を示す応答が返送されたとき、該配信不可のデータブロックの配信要求を配信サーバ１０に送信する。配信サーバ１０は、データブロックの配信要求を受けたとき、該データブロックを該クライアント１１に配信すると共に、該データブロックを当該クライアント１１で保持するよう指示する。【選択図】図１
2011199644.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツの実データを複数のデータブロックに分割し、各データブロックを配信サーバ装置及び複数のピア装置で保持し、クライアント装置からのコンテンツの視聴要求に対して、該コンテンツの各データブロックを、前記各ピア装置又は配信サーバ装置から配信するストリーミング配信方法において、
前記クライアント装置は、前記データブロックの配信要求を、前記配信サーバ装置から通知された各ピア装置に対して行い、該データブロックの配信要求に対して、配信不可を示す応答が返送されたとき、該配信不可のデータブロックの配信要求を前記配信サーバ装置に送信するステップと、
前記配信サーバ装置は、前記クライアント装置からのデータブロックの配信要求を受けたとき、該データブロックを該クライアントに配信すると共に、該データブロックをピア装置に優先的に保持するよう指示するステップと、
を含むことを特徴とするストリーミング配信方法。
【請求項２】
前記配信サーバ装置は、前記データブロックを保持するピア装置が一定数以上かを判定し、一定数以上の場合に、前記配信不可のデータブロックをピア装置に優先的に保持するよう指示するステップを含むことを特徴とする請求項１に記載のストリーミング配信方法。
【請求項３】
前記配信サーバ装置は、前記クライアント装置に対して、前記コンテンツの一部のデータブロックを保持するよう指示するステップと、
前記クライアント装置からの前記データブロックの保持結果の通知を受け、該データブロックの保持結果を基に、前記ピア装置のデータブロック保持状況を示すピアリストに、該クライアント装置をピア装置として登録するステップと、
を含むことを特徴とする請求項１又は２に記載のストリーミング配信方法。
【請求項４】
前記クライアント装置から前記ピア装置へのデータブロック配信要求に対して、ピア装置から配信不可の応答を受けたとき、該データブロック配信不可のピア装置の識別情報を該クライアント装置で記録し、前記配信サーバ装置に通知するステップと、
前記配信サーバで、前記データブロック配信不可のピア装置を、前記ピアリストから消去するステップと、
を含むことを特徴とする請求項３に記載のストリーミング配信方法。
【請求項５】
前記ピアリストに登録されたピア装置のうち、より新しく登録されたピア装置を、より優先順位の高い配信要求先ピア候補として、前記クライアント装置に通知するステップを含むことを特徴とする請求項３に記載のストリーミング配信方法。
【請求項６】
コンテンツの実データを分割した各データブロックを保持するとともに、各データブロックを保持したピア装置の識別情報を示すピアリストを保持し、クライアント装置からのコンテンツの視聴要求に対して、データブロックを保持したピア装置の識別情報を通知する配信サーバにおいて、
前記クライアント装置に、前記ピア装置の識別情報を通知する際に、該クライアントに保持させるデータブロックを指示する手段と、
前記クライアント装置からデータブロックの配信要求を受信したとき、該データブロックを該クライアント装置に配信すると共に、該データブロックをピア装置に優先的に保持するよう指示する手段と、
を備えたことを特徴とする配信サーバ装置。
【請求項７】
コンテンツの視聴要求に対して、該コンテンツの実データを分割した各データブロックを保持するピア装置の識別情報を配信サーバから受信し、該ピア装置に対して各データブロックの配信要求を送信するクライアント装置において、
前記ピア装置から配信不可の応答を受けたとき、該データブロック配信不可のピア装置の識別情報を記録し、前記配信サーバ装置に通知する手段と、
前記配信サーバ又は前記ピア装置から配信されたデータブロックのうち、前記配信サーバから指示されたデータブロックを保持する手段と、
を備えたことを特徴とするクライアント装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストリーミング配信方法、配信サーバ装置及びクライアント装置に関する。本発明は、ピアツーピア（Ｐ２Ｐ）によるストリーミング配信に好適に適用することができる。
【背景技術】
【０００２】
従来のサーバ・クライアント型ストリーミング配信では、配信サーバが全クライアントにコンテンツ配信を行うので、配信サーバに負荷が集中する。そのため、クライアント数の増加に合わせて、配信サーバの性能や帯域の増強を行っていた。配信サーバへの負荷の集中を回避するため、配信サーバを介さないピアツーピア（Ｐ２Ｐ）によるストリーミング配信が発案されている。
【０００３】
ピアツーピア（Ｐ２Ｐ）によるストリーミング配信では、コンテンツを複数のデータブロックに分割し、各ピアは能力（ＣＰＵ、ハードディスク容量、ネットワーク帯域等）に応じて、コンテンツの一部のデータブロックを保持する。クライアントは、配信サーバではなく、幾つかのピアからコンテンツの配信を受けることにより、配信サーバの負荷集中を回避する。
【０００４】
緩やかに結合されたピアの集合体からクライアントへのメディアストリーミングの、受信側主導の制御の分散ストリーミング配信方法等は、下記の特許文献１等により知られている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−０７４７４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１等に記載された従来のストリーミング配信では、保持する各データブロックをクライアントがランダムに決定するため、ネットワーク上に分散している各クライアント（ピア）によって保持されるデータブロックに偏りが生じることがある。特にデータブロックを保持するピア数が少ない場合は、ピアに保持されたデータブロックの偏りが顕著である。
【０００７】
ネットワーク上のピアに保持されたデータブロックに偏りが生じた場合、少ないデータブロックに関しては、クライアント−ピア間で配信が行なえず、配信サーバから配信することとなるため、配信サーバに負荷が集中する。その結果、ストリーミング視聴において遅延などの問題が発生する場合がある。本発明では、ピア数に関係なく、ネットワークに分散しているピアによって保持されるデータブロックの偏りをなくし、配信サーバへの負荷集中を回避することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決する一形態としてのストリーミング配信方法は、コンテンツの実データを複数のデータブロックに分割し、各データブロックを配信サーバ装置及び複数のピア装置で保持し、クライアント装置からのコンテンツの視聴要求に対して、該コンテンツの各データブロックを、前記各ピア装置又は配信サーバ装置から配信するストリーミング配信方法において、前記クライアント装置は、前記データブロックの配信要求を、前記配信サーバ装置から通知された各ピア装置に対して行い、該データブロックの配信要求に対して、配信不可を示す応答が返送されたとき、該配信不可のデータブロックの配信要求を前記配信サーバ装置に送信するステップと、前記配信サーバ装置は、前記クライアント装置からのデータブロックの配信要求を受けたとき、該データブロックを該クライアントに配信すると共に、該データブロックをピア装置に優先的に保持するよう指示するステップと、を含むものである。
【０００９】
また、他の一形態としての配信サーバ装置は、コンテンツの実データを分割した各データブロックを保持するとともに、各データブロックを保持したピア装置の識別情報を示すピアリストを保持し、クライアント装置からのコンテンツの視聴要求に対して、データブロックを保持したピア装置の識別情報を通知する配信サーバにおいて、前記クライアント装置に、前記ピア装置の識別情報を通知する際に、該クライアントに保持させるデータブロックを指示する手段と、前記クライアント装置からデータブロックの配信要求を受信したとき、該データブロックを該クライアント装置に配信すると共に、該データブロックをピア装置に優先的に保持するよう指示する手段と、を備えたものである。
【００１０】
また、他の一形態としてのクライアント装置は、コンテンツの視聴要求に対して、該コンテンツの実データを分割した各データブロックを保持するピア装置の識別情報を配信サーバから受信し、該ピア装置に対して各データブロックの配信要求を送信するクライアント装置において、前記ピア装置から配信不可の応答を受けたとき、該データブロック配信不可のピア装置の識別情報を記録し、前記配信サーバ装置に通知する手段と、前記配信サーバ又は前記ピア装置から配信されたデータブロックのうち、前記配信サーバから指示されたデータブロックを保持する手段と、を備えたものである。
【発明の効果】
【００１１】
コンテンツの各データブロックに対して、当該データブロックを保持するピア数が少ないデータブロックを優先的にピア装置に保持させることができ、ネットワークに分散しているピア装置により保持されるデータブロックの偏りを防ぎ、配信サーバへの負荷集中を回避することができる。
【図面の簡単な説明】
【００１２】
【図１】ストリーミング配信が適用されるネットワーク構成例を示す図である。
【図２】配信サーバで保持される情報を示す図である。
【図３】コンテンツの視聴要求を行ったクライアントで保持される情報を示す図である。
【図４】配信サーバの機能ブロック構成例を示す図である。
【図５】クライアントの機能ブロック構成例を示す図である。
【図６】コンテンツ視聴要求シーケンス（ピアへの要求ＯＫの場合）を示す図である。
【図７】コンテンツ視聴要求シーケンス（ピアへの要求ＮＧの場合）を示す図である。
【図８】コンテンツ視聴要求シーケンス（優先リストに格納データが有る場合）を示す図である。
【図９】要求先ピア候補リスト（Ｃ２）生成の処理フローを示す図である。
【図１０】保持データブロックＩＤリスト（Ｃ３）生成の処理フローを示す図である。
【図１１】クライアントにおけるストリーミング視聴要求の処理フローを示す図である。
【図１２】配信サーバにおけるピアリストの更新の処理フローを示す図である。
【図１３】ピアにおけるストリーミング視聴要求受信の処理フローを示す図である。
【図１４】配信サーバにおけるストリーミング視聴要求受信の処理フローを示す図である。
【発明を実施するための形態】
【００１３】
開示のストリーミング配信が適用されるネットワーク構成例を図１に示している。図１において、各クライアント１１〜１３からのコンテンツの配信要求に対して、配信サーバ１０又は各ピア２１〜２５から、該コンテンツの実データを分割した各データブロックを配信する。なお、以下の説明において、配信サーバ装置、クライアント装置及びピア装置は、単に配信サーバ、クライアント及びピアと記す。
【００１４】
図１の例では、データブロックＩＤが“１”のデータブロックは、配信サーバ１０、ピア２１及び２２に保持され、データブロックＩＤが“２”のデータブロックは、配信サーバ１０、ピア２２及び２３に保持され、データブロックＩＤが“３”のデータブロックは、配信サーバ１０、ピア２１及び２５に保持され、データブロックＩＤが“４”のデータブロックは、配信サーバ１、ピア２３及び２４に保持されている例を示している。
【００１５】
配信サーバで保持される情報を図２に示す。配信サーバは、コンテンツ情報（Ｓ１）、コンテンツの実体データ（Ｓ２）、ピアリスト（Ｓ３）、通常保持指示リスト（Ｓ４）、優先保持指示リスト（Ｓ５）、及び要求不可ピアリスト（Ｓ６）を保持する。
【００１６】
コンテンツ情報（Ｓ１）は、配信サーバが配信する動画などの各コンテンツの実体データの構成を示す情報である。各コンテンツの実体データは、複数のデータブロックという配信単位のデータに細分化され、コンテンツ情報（Ｓ１）は、該データブロックの構成情報を示す。コンテンツ情報（Ｓ１）は、各コンテンツ対応に、コンテンツＩＤ及び各データブロックＩＤを含んでいる。
【００１７】
コンテンツの実体データ（Ｓ２）は、視聴に供される動画などのストリーミングコンテンツの実体データ群であり、データブロックの集合体である。ピアリスト（Ｓ３）は、各コンテンツ対応に、どのピアがどのデータブロックを保持しているかを示す情報である。ピアリスト（Ｓ３）には、ピアの識別情報（ＩＰアドレス及びポート番号）と、該ピアに保持されているデータブロックの識別情報（保持データブロックＩＤ）とが対応付けて格納される。
【００１８】
通常保持指示リスト（Ｓ４）は、クライアントに対して保持を指示するデータブロックのデータブロックＩＤを格納する。コンテンツの配信要求を行ったクライアントに対して、該クライアントがピアとして機能するよう、配信したデータブロックの一部を保持するよう指示するために使用される。なお、以下では、通常保持指示リストを簡明化のために単に通常リストともいう。
【００１９】
優先保持指示リスト（Ｓ５）は、通常保持指示リスト（Ｓ４）と同様に、クライアントに対して保持を指示するデータブロックのデータブロックＩＤを格納する。但し、通常保持指示リスト（Ｓ４）に格納されたデータブロックＩＤより優先的に保持するよう指示するデータブロックＩＤを格納する。なお、以下では、優先保持指示リストを簡明化のために単に優先リストともいう。
【００２０】
要求不可ピアリスト（Ｓ６）は、クライアントからピアへのデータブロックの配信要求に対して、該ピアから配信要求が不可となったデータブロックＩＤ及び該ピアのＩＰアドレスを格納する。該要求不可ピアリスト（Ｓ６）は、クライアントから配信サーバに通知される。なお、以下では、要求不可ピアリストを簡明化のために要求ＮＧピアリストともいう。
【００２１】
コンテンツの視聴要求を行ったクライアントで保持される情報を図３に示す。コンテンツの視聴要求を行ったクライアントでは、コンテンツ情報（Ｃ１）、要求先ピア候補リスト（Ｃ２）、保持データブロックＩＤリスト（Ｃ３）、保持データブロックの実体データ（Ｃ４）及び要求不可ピアリスト（Ｃ５）を保持する。
【００２２】
コンテンツ情報（Ｃ１）は、コンテンツ視聴要求に対する応答として配信サーバから取得される。このコンテンツ情報（Ｃ１）は、配信サーバに保持された複数のコンテンツのコンテンツ情報（Ｓ１）の中から、当該クライアントから視聴要求されたコンテンツのみのコンテンツ情報が取得される。
【００２３】
要求先ピア候補リスト（Ｃ２）は、視聴要求されたコンテンツの実体データを構成するデータブロックが保持されているピアを示す情報を格納する。該データブロック毎に、データブロックＩＤと、該データブロックが保持されている１又は２以上のピアのＩＰアドレス及びポート番号を格納する。これらの情報は、配信サーバにより生成され、視聴要求したクライアントに通知される。
【００２４】
保持データブロックＩＤリスト（Ｃ３）は、当該クライアントで保持するデータブロックのコンテンツＩＤ及びデータブロックＩＤを格納する。保持データブロックの実体データ（Ｃ４）は、配信サーバから保持するよう指示され、当該クライアントで保持するデータブロックの実体データである。要求不可ピアリスト（Ｃ５）は、クライアントからピアへのデータブロックの配信要求に対して、該ピアから配信要求が不可となったデータブロックＩＤ及び該ピアのＩＰアドレスを格納する。
【００２５】
配信サーバの機能ブロック構成例を図４に示す。図４において、配信コンテンツ登録受付部４−１は、配信サーバから配信するコンテンツの登録要求を受け付ける。配信コンテンツ登録処理部４−２は、コンテンツの登録要求に基づき、コンテンツの実体データと合わせてコンテンツ情報を生成し、それらの保持及び管理を行う。
【００２６】
クライアント要求分析制御部４−３は、クライアントからのコンテンツ視聴要求等の要求を分析し、ピアリスト管理部４−５、配信コンテンツ状態管理部４−６、送信信号制御部４−７の各機能部への処理要求を行う。受信信号分析部４−４は、クライアントからの信号を受信・分析し、クライアント要求分析制御部４−３へ処理要求を行う。
【００２７】
ピアリスト管理部４−５は、クライアントからのコンテンツの視聴完了通知を基に、ピアリスト（Ｓ３）の更新を行う。また、クライアントからコンテンツの視聴要求が有ったとき、該要求元クライアントに対して返信する要求先ピア候補リスト（Ｃ２）を編集・生成する。
【００２８】
配信コンテンツ状態管理部４−６は、クライアントからのコンテンツの視聴要求又は或るデータブロックの送信要求の受信時に、通常保持指示リスト（Ｓ４）又は優先保持指示リスト（Ｓ５）の内容の更新管理を行う。送信信号制御部４−７は、クライアントへ送信する信号の制御を行う。データブロック送信制御部４−８は、クライアントからのデータブロック送信要求に基づき、データブロックの実体データの送信制御を行う。
【００２９】
クライアントの機能ブロック構成例を図５に示す。図５において、ユーザインタフェース部５−１は、クライアント機能を使用するコンテンツ視聴ユーザからの要求の受付・処理を行う。要求先ピア候補リスト管理部５−２は、配信サーバから配信される要求先ピア候補リスト（Ｃ２）の管理を行う。
【００３０】
配信コンテンツ取得制御部５−３は、コンテンツ視聴ユーザが要求したコンテンツの取得を行うため、配信サーバへの視聴要求を指示し、配信サーバから返送される各種情報（コンテンツ情報（Ｃ１）、要求先ピア候補リスト（Ｃ２）、保持データブロックＩＤリスト（Ｃ３）等）の取得を制御する。
【００３１】
データブロック取得制御部５−４は、要求先ピア候補リスト（Ｃ２）を参照し、該要求先ピア候補リスト（Ｃ２）に格納された各ピアからのデータブロック（ストリーミングデータ）の取得制御を行う。データブロック管理部５−５は、配信されたデータブロック（ストリーミングデータ）の管理を行う。
【００３２】
データブロック送信制御部５−６は、他のクライアントからのデータブロック配信要求に対するデータブロックの配信制御を行う。信号受信分析部５−７は、視聴要求に対する配信サーバからの応答、及び他のクライアントからのデータブロック転送要求等を受信・分析し、配信コンテンツ取得制御部５−３、データブロック取得制御部５−４、又はデータブロック送信制御部５−６の機能部へ処理要求を行う。
【００３３】
送信信号制御部５−８は、配信サーバや他のクライアントへの信号の送信の制御を行う。コンテンツ再生部５−９は、取得したデータブロック（ストリーミングデータ）を元に、コンテンツの再生を行う。
【００３４】
このストリーミング配信の動作例について以下に説明する。
［クライアントと配信サーバとを取り巻くピアの環境］
ピアツーピア（Ｐ２Ｐ）通信を利用したストリーミング配信サービスにおいては、クライアントと配信サーバとを取り巻くピアの状況が、配信サービス提供開始を起点として時系列に時々刻々変化する。この変化の状況は、ピア環境拡充期とピア環境成熟期との２つのパターンに分類される。
【００３５】
［ピア環境拡充期］
ピア環境拡充期は、各クライアントが送出するコンテンツ視聴要求に対して、そのコンテンツのデータブロックを配信し得る十分な数のピアが未だ出揃っていない状況である。配信サーバがコンテンツ配信サービスを開始した直後はこの状況となる。
【００３６】
［ピア環境成熟期］
各クライアントが送出するコンテンツ視聴要求に対して、コンテンツのデータブロックを配信し得る十分な数のピアが出揃っている状況である。コンテンツ視聴を要求するクライアントが、何れかのピアからコンテンツの各データブロックの配信を受けることができ、配信サーバが直接コンテンツ配信しなくても、ストリーミング配信サービスが維持される状況である。
【００３７】
［ピア環境の移行］
クライアントは、ストリーミング配信サービスを利用した後に、ピアの仲間入りをする。時系列的にこのようなピアが増加するにつれて、ピア環境拡充期からピア環境成熟期に移行していく。一方、クライアントは、一旦ピアとなっても、保持したデータブロックを随時、削除することが可能であり、古くなったコンテンツのデータブロックは削除され、配信可能なピアの総数が減少していくと、ピア環境成熟期からピア環境拡充期へと移行する。
【００３８】
ストリーミング配信サービスが提供されている期間を通じて、ピア環境はピア環境拡充期とピア環境成熟期の２つの状況パターンを行き来する。なお以下では、データブロックを保持し、該データブロックの配信が可能なピアをアクティブなピア、データブロックを保持していないピアをノンアクティブなピアとも称する。
【００３９】
［コンテンツ視聴要求に対する配信サーバの処理］
クライアントからのコンテンツ視聴要求に対する配信サーバの処理について図６を参照して説明する。ここでは、ピアへの配信要求が可能な場合について説明する。コンテンツ配信サービスを希望するクライアント１１が、配信サーバ１０に対して、視聴希望のコンテンツ特定したコンテンツ視聴要求（６−１）を送信することからコンテンツ配信サービスが開始される。配信サーバ１０は、クライアント１１で使用される要求先ピア候補リスト（Ｃ２）及び保持データブロックＩＤリスト（Ｃ３）を作成する（６−２，６−３）。
【００４０】
［要求先ピア候補リスト（Ｃ２）の生成］
配信サーバ１０は、コンテンツ視聴要求（６−１）に含まれるコンテンツＩＤのコンテンツ情報（Ｓ１）と、該コンテンツＩＤのピアリスト（Ｓ３）とを保持している。コンテンツ情報（Ｓ１）は、コンテンツＩＤにより特定されるコンテンツの実体データ（Ｓ２）の構成情報を示し、後にクライアント１１が各ピアから該実体データ（Ｓ２）のデータブロックを収集し、該コンテンツを再構成するために使用される。
【００４１】
ピアリスト（Ｓ３）は、コンテンツＩＤ毎に各ピアで保持されているデータブロックのデータブロックＩＤと、該ピアのＩＰアドレス等とが対応付けてされている。これらは、過去にコンテンツ配信サービスを利用したクライアント（ピア）の情報を基に配信サーバ１０により生成され、保持される。
【００４２】
配信サーバ１０は、コンテンツ視聴要求（６−１）に含まれるコンテンツＩＤを元に、コンテンツ情報（Ｓ１）とピアリスト（Ｓ３）とを参照して、クライアント１１で使用される要求先ピア候補リスト（Ｃ２）を生成する。要求先ピア候補リスト（Ｃ２）は、クライアント１１が視聴要求したコンテンツの各データブロックを配信するピアの候補をリスト化したものである。要求先ピア候補リスト（Ｃ２）は、図９のフロー処理により生成される。クライアント１１は、該要求先ピア候補リスト（Ｃ２）を基に、各データブロックの配信を各ピアに問い合わせて収集する。
【００４３】
［保持データブロックＩＤリスト（Ｃ３）の生成］
クライアント１１は、配信サービスの利用が終了した後に、自らもピアの１つとなる。このときに、コンテンツの一部のデータブロックを保持することとなるが、どのデータブロックを保持するかを配信サーバ１０が指定する。
【００４４】
配信サーバ１０は、コンテンツ視聴要求（６−１）に含まれるコンテンツＩＤを元に、コンテンツ情報（Ｓ１）と、通常保持指示リスト（Ｓ４）又は優先保持指示リスト（Ｓ５）とを用い、保持データブロックＩＤリスト（Ｃ３）を生成する。保持データブロックＩＤリスト（Ｃ３）は、図１０のフロー処理により生成される。
【００４５】
［コンテンツ情報及び生成情報のクライアントへの返却］
配信サーバ１０は、クライアント１１に対して、コンテンツ視聴要求（６−１）のレスポンス（６−４）を返却する。このレスポンス（６−４）には、要求先ピア候補リスト（Ｃ２）、コンテンツ情報（Ｃ１）及び保持データブロックＩＤリスト（Ｃ３）が含まれる。
【００４６】
図６に示した動作例では、通常保持指示リスト（Ｓ４）に登録されたデータブロックＩＤ“１”〜“４”のうち、データブロックＩＤ“１”を取り出して保持データブロックＩＤリスト（Ｃ３）に設定し、クライアント１１に返却した例を示している。これにより、通常保持指示リスト（Ｓ４）から、データブロックＩＤ“１”が消去される。
【００４７】
［クライアントにおけるデータブロックの収集処理］
クライアント１１は、配信サーバ１０から受信した情報（要求先ピア候補リスト（Ｃ２）、コンテンツ情報（Ｃ１）及び保持データブロックＩＤリスト（Ｃ３））を保持し（６−５）、それらの情報を基に、図１１に示すフロー処理によって、データブロックを取得し、ストリーミングを視聴可能なように再構成する処理を実施する。
【００４８】
以下にクライアント１１における動作を、図６を参照して説明する。クライアント１１は、コンテンツ情報（Ｃ１）から、該コンテンツを構成するデータブロックＩＤを得る。要求先ピア候補リスト（Ｃ２）から、前述のデータブロックＩＤのデータブロックの配信を要求するピアの候補の情報を得る（６−６）。
【００４９】
まず、データブロックＩＤ“１”を保持するピアの１つであるピア２１に対して、ストリーミング視聴要求（６−７）を送信する。ここでは、ピア環境成熟期であることを前提とし、ピア２１は、データブロックＩＤ“１”のデータブロックを保持しているアクティブなピアであるとする。ピア２１は、自身が保持しているデータブロックＩＤ“１”のデータブロックを抽出し（６−８）、配信サーバ１０の代わりにクライアント１１に配信する（６−９）。
【００５０】
クライアント１１は、配信されたデータブロックのデータブロックＩＤが、保持データブロックＩＤリスト（Ｃ３）に設定されたデータブロックＩＤと一致するか判定し、一致する場合は、該データブロックＩＤのデータブロックを保持する（６−１０）。
【００５１】
同様に、データブロックＩＤ“２”を保持するピア２２に対して、ストリーミング視聴要求（６−１１）を送信する。ピア２２は、自身が保持しているデータブロックＩＤ“２”のデータブロックを抽出し（６−１２）、配信サーバ１０の代わりにクライアント１１に配信する（６−１３）。
上述の処理をデータブロックの数だけ繰り返し実施する。この処理を実行する期間において、クライアント１１では、保持データブロックＩＤリスト（Ｃ３）により指示されたデータブロックを保持する。クライアント１１は、コンテンツ視聴が完了した後、配信サーバ１０に対して完了通知（６−１４）を送信する。
【００５２】
［クライアントからの完了通知に対する配信サーバの処理］
完了通知（６−１４）には、コンテンツＩＤ、クライアント１１のＩＰアドレス、ポート番号及び保持データブロックＩＤリスト（Ｃ３）が含まれる。配信サーバ１０は、該完了通知（６−１４）を基に、ピアリスト（Ｓ３）の最後にクライアント（ピア）１１の情報を追加し、ピアリスト（Ｓ３）を更新する（６−１５）。つまり、ピアリスト（Ｓ３）の後方に登録されているほど、追加時刻が新しいことになる。この動作は、図１２に示すフロー処理によって行われる。
【００５３】
［ピアがデータブロックをストリーミングする動作］
クライアント１１から送信されるストリーミング視聴要求（６−７，６−１１）には、コンテンツＩＤ及びデータブロックＩＤが含まれる。ピア２１，２２は、それぞれ、要求されたコンテンツＩＤ及びデータブロックＩＤを入力し、自身が保持しているデータブロックの有無をチェックする。
【００５４】
ここでは、ピア環境成熟期であることを前提とし、ピア２１，２２は、クライアント１１の要求するデータブロックＩＤ“１”，“２”を保持しているものとする。ピア２１，２２は、自身が保持しているデータブロックを、配信サーバ１０の代わりに、クライアント１１に配信する。この動作は図１３に示すフロー処理によって実施される。
【００５５】
次に、ピアへの配信要求に対して不可（ＮＧ）の応答が返送される場合のシーケンスについて図７を参照して説明する。
【００５６】
［クライアントからのコンテンツ視聴要求に対する配信サーバの処理］
コンテンツ配信サービスの利用を希望するクライアント１２は、配信サーバ１０に対してコンテンツ視聴要求（７−１）を送信する。配信サーバ１０は、クライアント１２で使用される要求先ピア候補リスト（Ｃ２）及び保持データブロックＩＤリスト（Ｃ３）を作成する（７−２，７−３）。
【００５７】
［保持データブロックＩＤリスト（Ｃ３）の生成］
［要求先ピア候補リスト（Ｃ２）の生成］
要求先ピア候補リスト（Ｃ２）及び保持データブロックＩＤリスト（Ｃ３）の作成（７−２，７−３）は、図６を参照して説明した要求先ピア候補リスト（Ｃ２）及び保持データブロックＩＤリスト（Ｃ３）の作成（６−２，６−３）と同様である。
【００５８】
［コンテンツ情報及び生成情報のクライアントへの返却］
配信サーバ１０は、クライアント１２に対して、コンテンツ視聴要求（７−１）のレスポンス（７−４）を返却する。このレスポンス（７−４）には、要求先ピア候補リスト（Ｃ２）、コンテンツ情報（Ｃ１）及び保持データブロックＩＤリスト（Ｃ３）が含まれる。
【００５９】
図７に示した動作例では、通常保持指示リスト（Ｓ４）に登録されたデータブロックＩＤ“２”〜“４”のうち、データブロックＩＤ“２”を取り出して保持データブロックＩＤリスト（Ｃ３）に設定し、クライアント１２に返却した例を示している。これにより、通常保持指示リスト（Ｓ４）から、データブロックＩＤ“２”が消去される。
【００６０】
［クライアントにおけるデータブロックの収集処理］
クライアント１２は、配信サーバ１０から受信した情報（要求先ピア候補リスト（Ｃ２）、コンテンツ情報（Ｃ１）及び保持データブロックＩＤリスト（Ｃ３））を元に、図１１に示すフロー処理によって、データブロックを取得し、ストリーミングを視聴可能なように再構成する処理を実施する。
【００６１】
以下にクライアント１２における動作を、図７を参照して説明する。クライアント１２は、コンテンツ情報（Ｃ１）から、該コンテンツを構成するデータブロックＩＤを得る。要求先ピア候補リスト（Ｃ２）から、前述のデータブロックＩＤのデータブロックの配信を要求するピアの候補の情報を得る。
【００６２】
ここで、データブロック“４”を保持するピアの１つであるピア２３に対して、ストリーミング視聴要求（７−５）を送信する。ここでは、ピア環境拡充期であることを前提とし、ピア２３は、クライアント１２の要求するデータブロックＩＤ“４”のデータブロックを保持していないノンアクティブなピアであるとする。
【００６３】
ピア２３は、クライアント１２に対して、配信不可（要求ＮＧ）の応答を返却する（７−６）。クライアント１２は、ピア２３からの配信不可（要求ＮＧ）の応答を受けて、データブロックをピア２３から入手できないことを認識し、要求先ピア候補リスト（Ｃ２）から次の候補のピア２４の情報を得る。このときクライアント１２は、ピア２３が要求不可ピアであったので、要求不可ピアリスト（Ｃ５）にピア２３を登録し、更新する（７−７）。
【００６４】
クライアント１２は、次の候補のピア２４に対してストリーミング視聴要求（７−８））を送信する。ここでも、ピア環境拡充期を前提としているので、ピア２４はデータブロックＩＤ“４”のデータブロックを保持しないノンアクティブなピアであるとする。ピア２４もまたクライアント１２に対して配信不可（要求ＮＧ）の応答（７−９）を返却する。このときクライアント１２は、ピア２４が要求不可ピアであったので、要求不可ピアリスト（Ｃ５）にピア２４を登録し、更新する（７−１０）。
【００６５】
上述の処理を要求先ピア候補の数だけ繰り返し、最終的にデータブロックＩＤ“４”をピアから入手できないと認識した場合に、クライアント１２は、配信サーバ１０に対して該データブロックの配信要求を含むストリーミング視聴要求（７−１１）を送信する。
【００６６】
配信サーバ１０は、要求されたデータブロックをクライアント１２に配信することが常に可能である。ここで、クライアント１２からのストリーミング視聴要求（７−１１）には、要求不可のピア２３，２４の情報が設定された要求不可ピアリスト（Ｃ５）が含まれている。
【００６７】
配信サーバ１０は、クライアント１２から受信された要求不可ピアリスト（Ｃ５）により、自身の要求不可ピアリスト（Ｓ６）を更新する。配信サーバ１０は、データブロックＩＤ“４”について、ピアに保持されていない、又はネットワーク上にアクティブなピアが不足していると認識し、以後、データブロックＩＤ“４”のデータブロックを保持するピアを増やすように指示する動作を開始する。
【００６８】
具体的にこのタイミングで行う動作は、ピアリスト（Ｓ３）から要求不可ピア２３，２４を削除し（７−１２）、優先保持指示リスト（Ｓ５）に該データブロックＩＤ“４”を登録する（７−１３）。そして、データブロックＩＤ“４”のデータブロックをクライアント１２に配信する（７−１４）。
【００６９】
クライアント１２は、コンテンツの実体データ（Ｓ２）を再構成するためのデータブロックが全て揃うまで、ピア２１〜２４又は配信サーバ１０に対して、コンテンツ視聴要求の送信を行い、そのレスポンスとしてデータブロックを入手する。上述の処理の実行期間において、クライアント１２は、は、配信サーバからの保持データブロックＩＤリスト（Ｃ３）により指示されたデータブロックの実データを保持する。クライアント１２は、コンテンツ視聴が完了した後、配信サーバ１０に対して完了通知を送信する。
【００７０】
［ピアがクライアントに対してコンテンツ視聴要求ＮＧを返却する動作］
クライアント１２から送信されるストリーミング視聴要求（７−５，７−８）には、コンテンツＩＤ及びデータブロックＩＤが含まれる。ピア２３，２４は、それぞれ、要求されたコンテンツＩＤ及びデータブロックＩＤを入力し、自身が保持しているデータブロックの有無をチェックする。
【００７１】
ここでは、ピア環境拡充期を前提とし、ピア２３，２４はクライアント１２の要求するデータブロックＩＤ“４”を保持していないノンアクティブなピアであるとする。又はデータブロックを保持しているが、他のクライアントからの要求に対して配信中であるなどの理由により、該データブロックの配信要求に応じられない状態であるとする。ピア２３，２４は、クライアント１２に対して配信不可（要求ＮＧ）の応答を返送する。この動作は図１３に示すフロー処理によって行われる。
【００７２】
［配信サーバがクライアントにデータブロックをストリーミングする動作］
クライアント１２から配信サーバ１０に対して送信されるストリーミング視聴要求（７−１１）には、コンテンツＩＤ及びデータブロックＩＤが含まれると共に、配信要求不可のピア情報が設定された要求不可ピアリスト（Ｃ５）が含まれる。この要求不可ピアリスト（Ｃ５）により自身の要求不可ピアリスト（Ｓ６）を更新する。
【００７３】
配信サーバ１０は、要求されたデータブロックをクライアント１２に配信する。また、配信サーバ１０は、要求不可ピアリスト（Ｓ６）を元に、ノンアクティブなピアの情報をピアリスト（Ｓ３）から削除する。また、クライアント１２から要求されたデータブロックＩＤ“４”について、アクティブなピアが不足しているものと見なし、データブロックＩＤ“４”のデータブロックを保持するアクティブなピアを増やすように指示する。具体的には、優先保持指示リスト（Ｓ５）にデータブロックＩＤ“４”を登録する。この動作は図１４に示すフロー処理によって行われる。
【００７４】
ここで優先保持指示リスト（Ｓ５）に登録されることによって、以下の動作が実施され、次回以降のクライアントからのコンテンツ配信要求に対する処理において、配信サーバ１０が返却するレスポンスに含まれる保持データブロックＩＤリスト（Ｃ３）に該データブロックＩＤ“４”を設定する。この動作は図１０に示すフロー処理によって行われる。
【００７５】
［クライアントからのコンテンツ視聴要求に対する配信サーバの処理］
クライアントからのコンテンツ視聴要求に対する配信サーバの処理について、図８を参照して説明する。コンテンツ配信サービスの利用を希望するクライアント１３が、配信サーバ１０に対して、視聴希望のコンテンツを特定したコンテンツ視聴要求（８−１）を送信する。配信サーバ１０は、クライアント１３で使用される要求先ピア候補リスト（Ｃ２）及び保持データブロックＩＤリスト（Ｃ３）を作成する（８−２，８−３）。
【００７６】
［保持データブロックＩＤリスト（Ｃ３）の生成］
［要求先ピア候補リスト（Ｃ２）の生成］
要求先ピア候補リスト（Ｃ２）及び保持データブロックＩＤリスト（Ｃ３）の作成（８−２，８−３）は、図６を参照して説明した要求先ピア候補リスト（Ｃ２）及び保持データブロックＩＤリスト（Ｃ３）の作成（６−２，６−３）と同様である。
【００７７】
ここでは、優先保持指示リスト（Ｓ５）にデータブロックＩＤ“４”が登録されているため、配信サーバ１０が返却するレスポンス（８−４）に含まれる保持データブロックＩＤリスト（Ｃ３）に、該データブロックＩＤ“４”を設定する。この設定は、通常保持指示リスト（Ｓ４）のデータブロックＩＤより優先して設定する。保持データブロックＩＤリスト（Ｃ３）にデータブロックＩＤ“４”を設定すると、該データブロックＩＤ“４”を優先保持指示リスト（Ｓ５）から消去する。この生成は、図１０に示すフロー処理によって行われる。
【００７８】
［コンテンツ情報及び生成情報をクライアントへの返却］
配信サーバ１０は、クライアント１３に対して、コンテンツ視聴要求（８−１）のレスポンス（８−４）を返却する。このレスポンス（８−４）には、要求先ピア候補リスト（Ｃ２）、コンテンツ情報（Ｃ１）及び保持データブロックＩＤリスト（Ｃ３）が情報として含まれている。
【００７９】
この際、保持データブロックＩＤリスト（Ｃ３）によって指定されるデータブロックＩＤ“４”は、配信サーバ１０がネットワーク上で保持しているピアが不足していると見なしたものである。この構成によって、ネットワーク上のアクティブなピアが保持するデータブロックＩＤが均一化されることになり、ピア環境拡充期からピア環境成熟期への早期移行が可能となり、配信サーバに負担を掛けないストリーミング配信サービスが可能となる。
【００８０】
［要求先ピア候補リスト（Ｃ２）生成フロー］
要求先ピア候補リスト（Ｃ２）生成のフロー処理を、図９を参照して説明する。配信サーバは、コンテンツ配信情報を参照し（９−１）、データブロックＩＤの最初から最後までに対して以下の処理を繰り返し実施する（９−２）。ピアリスト（Ｓ３）を参照し（９−３）、要求先ピア候補数だけ以下の処理を繰り返し実施する（９−４）。
【００８１】
ピアリスト（Ｓ３）に最後に格納されたピアから順番に、データブロックＩＤに対応するピアのＩＰアドレス及びポート番号を取得する（９−５）。この処理において、ピアリスト（Ｓ３）に最後に格納されたピアから順番にピア候補を検索していることに注目されたい。
【００８２】
データブロックを保持したピアの情報がピアリスト（Ｓ３）に次々と格納されていく中で、より新しく登録されたピアをデータブロック配信のピア候補とする。これによって、ピア候補に選定されたピアが、実際にデータブロック配信可能なアクティブピアとなる可能性が高まり、ストリーム配信サービスがスムーズに提供されることとなる。
【００８３】
［保持データブロックＩＤ決定フロー］
保持データブロックＩＤリスト（Ｃ３）生成のフロー処理を、図１０を参照して説明する。配信サーバは、まず、優先保持指示リスト（Ｓ５）を参照し（１０−１）、優先保持指示リスト（Ｓ５）が空か否かを判定する（１０−２）。優先保持指示リスト（Ｓ５）が空でない場合、優先保持指示リスト（Ｓ５）に格納されたデータブロックＩＤの少なくとも１つを取り出し（１０−３）、該データブロックＩＤをクライアントへの保持データブロックＩＤリスト（Ｃ３）に設定する（１０−４）。このとき優先保持指示リスト（Ｓ５）から取り出したデータブロックＩＤは、優先保持指示リスト（Ｓ５）から消去する。
【００８４】
また、優先保持指示リスト（Ｓ５）が空の場合、通常保持指示リスト（Ｓ４）を参照し（１０−５）、通常保持指示リスト（Ｓ４）が空か否かを判定する（１０−６）。通常保持指示リスト（Ｓ４）が空の場合、通常保持指示リスト（Ｓ４）に当該コンテンツのデータブロックＩＤを登録する（１０−７）。
【００８５】
次に、通常保持指示リスト（Ｓ４）からデータブロックＩＤの少なくとも１つを取り出し（１０−８）、取り出したデータブロックＩＤをクライアントへの保持データブロックＩＤリスト（Ｃ３）に設定する（１０−９）。このとき通常保持指示リスト（Ｓ４）から取り出したデータブロックＩＤは、通常保持指示リスト（Ｓ４）から消去する。
【００８６】
［クライアントにおけるストリーミング視聴要求フロー］
クライアントにおけるストリーミング視聴要求の処理フローを、図１１を参照して説明する。クライアントは、コンテンツ情報（Ｃ１）を参照し（１１−１）、データブロックＩＤの最初から最後までに対して以下の処理を繰り返し実施する（１１−２）。まず、要求先ピア候補リスト（Ｃ２）を参照し（１１−３）、データブロックＩＤに対応する接続先ピア候補を取り出す（１１−４）。
【００８７】
取り出した要求先ピア候補にストリーミング視聴要求を送信する（１１−５）。該ストリーミング視聴要求に対する応答として、視聴要求が可（ＯＫ）であるか判定する（１１−６）。不可（ＮＧ）である場合、該ピア候補を要求不可ピアリスト（Ｃ５）に登録して更新する（１１−７）。そして、要求先ピア候補リスト（Ｃ２）の最後の要求先ピア候補かを判定し（１１−８）、最後でなければ、次の要求先ピア候補を取り出し（１１−９）、フロー１１−５に戻って同様の処理を繰り返す。
【００８８】
一方、最後の要求先ピア候補である場合、配信サーバにストリーミング視聴要求を送信する（１１−１０）。処理フロー１１−６で視聴要求が可（ＯＫ）であった場合、又は配信サーバにストリーミング視聴要求を行った後、保持データブロックＩＤとストリーミング視聴要求を行ったデータブロックＩＤとが一致するかを判定する（１１−１１）。
【００８９】
一致した場合、クライアントでは、ストリーミング視聴処理と共に、該データブロックの保持を実施する（１１−１２）。一方、不一致の場合、ストリーミング視聴処理のみを行う（１１−１３）。以上までの処理を、データブロックＩＤの最初から最後までに対して繰り返し実施する（１１−１４）。これらの処理の終了後、配信サーバに完了通知を送信する（１１−１５）。
【００９０】
［配信サーバにおけるピアリストの更新フロー］
配信サーバにおけるピアリストの更新の処理フローを、図１２を参照して説明する。配信サーバは、クライアントから完了通知を受信すると（１２−１）、受信した完了通知のピアの情報をピアリスト（Ｓ３）の最後に追加する（１２−２）。
【００９１】
［ピアにおけるストリーミング視聴要求受信フロー］
ピアにおけるストリーミング視聴要求受信の処理フローを、図１３を参照して説明する。ピアは、ストリーミング視聴要求を受信すると（１３−１）、要求されたコンテンツＩＤ及びデータブロックＩＤを取得する（１３−２）。
【００９２】
そして、保持データブロックＩＤリスト（Ｃ３）を参照し（１３−３）、要求されたコンテンツＩＤ及びデータブロックＩＤに対応するデータブロックを保持しているか判定する（１３−４）。保持していない場合は、要求不可（ＮＧ）の応答を送信する（１３−５）。保持している場合は、要求されたデータブロックＩＤに対応するストリーミングデータを抽出する（１３−６）。そして、該ストリーミングデータの配信を実施する（１３−７）。
【００９３】
［配信サーバにおけるストリーミング視聴要求受信フロー］
配信サーバにおけるストリーミング視聴要求受信の処理フローを、図１４を参照して説明する。配信サーバは、ストリーミング視聴要求を受信し（１４−１）、要求不可（ＮＧ）ピアリスト（Ｓ６）の情報を取得する（１４−２）。
【００９４】
要求不可（ＮＧ）ピアリスト（Ｓ６）に設定されたピア数だけ、以下の処理を繰り返し実施する（１４−３）。まず、ピアリスト（Ｓ３）を参照し（１４−４）、要求不可（ＮＧ）ピアリスト（Ｓ６）に設定されたピアと、コンテンツＩＤ、データブロックＩＤ及びＩＰアドレスが一致するピアがピアリスト（Ｓ３）に存在するか判定する（１４−５）。
【００９５】
存在する場合、ピアリスト（Ｓ３）から該当のピア情報を削除する（１４−６）。以上の処理を、要求不可（ＮＧ）ピアリスト（Ｓ６）に設定されたピア数だけ繰り返し実施する（１４−７）。次に、ピアリスト（Ｓ３）に一定数以上のピアが登録されているかを判定する（１４−８）。
【００９６】
ピアリスト（Ｓ３）に一定数以上のピアが登録されている場合、即ち、ピア環境成熟期である場合、要求不可（ＮＧ）ピアリスト（Ｓ６）に設定されたデータブロックＩＤを、優先保持指示リスト（Ｓ５）に登録する（１４−９）。
【００９７】
ピアリスト（Ｓ３）に一定数以上のピアが登録されていない場合、即ち、コンテンツ配信初期のピア環境拡充期である場合、優先保持指示リスト（Ｓ５）を使用せず、通常保持指示リスト（Ｓ４）のみを使用することとするため、優先保持指示リスト（Ｓ５）には何も登録しない。
【００９８】
次に、要求されたデータブロックＩＤに対応するストリーミングデータを抽出する（１４−１０）。そして、該ストリーミングデータを、ストリーミング視聴要求を送信したクライアントに配信する（１４−１１）。
【符号の説明】
【００９９】
１０  配信サーバ
１１〜１３  クライアント
２１〜２５  ピア
Ｓ１  コンテンツ情報
Ｓ２  コンテンツの実体データ
Ｓ３  ピアリスト
Ｓ４  通常保持指示リスト
Ｓ５  優先保持指示リスト
Ｓ６  要求不可ピアリスト
Ｃ１  コンテンツ情報
Ｃ２  要求先ピア候補リスト
Ｃ３  保持データブロックＩＤリスト
Ｃ４  保持データブロックの実体データ
Ｃ５  要求不可ピアリスト
【図１】
2011199644.tif 000003
【図２】
2011199644.tif 000004
【図３】
2011199644.tif 000005
【図４】
2011199644.tif 000006
【図５】
2011199644.tif 000007
【図６】
2011199644.tif 000008
【図７】
2011199644.tif 000009
【図８】
2011199644.tif 000010
【図９】
2011199644.tif 000011
【図１０】
2011199644.tif 000012
【図１１】
2011199644.tif 000013
【図１２】
2011199644.tif 000014
【図１３】
2011199644.tif 000015
【図１４】
2011199644.tif 000016