(57)【要約】【課題】所望のコンテンツのダウンロードファイルのダウンロードに失敗しても、所望のコンテンツを再生できるコンテンツ配信システムを提供する。【解決手段】ピア３０は、センタサーバ１０からコンテンツ情報を取得する。ピア３０はコンテンツ情報に基づいて所望のコンテンツのダウンロードファイルを保存している他のピア３０を特定し、特定した他のピア３０からダウンロードファイルをダウンロードする。ピア３０はダウンロードファイルのダウンロードの成否を判断し、ダウンロードに成功したと判断したときダウンロードファイルを再生する。一方、ダウンロードに失敗したと判断したときコンテンツ情報に基づいてダウンロードに失敗したダウンロードファイルに対応したストリームファイルをストリームサーバ２０に要求し、取得する。【選択図】図１
2006209356.tif 000002
【特許請求の範囲】
【請求項１】
ストリームサーバと、前記ストリームサーバに接続された複数のピアとを備えたコンテンツ配信システムであって、
前記ストリームサーバは、
コンテンツのストリームファイルを記憶するための記憶手段を備え、
前記ピアは、
前記コンテンツのダウンロードファイルを記憶するためのローカル記憶手段と、
前記複数のピアに保存されているコンテンツの詳細と前記コンテンツのダウンロードファイルの所在と前記コンテンツのストリームファイルの所在とに関するコンテンツ情報を記憶するための情報記憶手段と、
前記コンテンツ情報に基づいて他のピアから所望のコンテンツのダウンロードファイルをダウンロードして前記ローカル記憶手段に保存するダウンロード手段と、
ダウンロードに成功したとき前記所望のコンテンツのダウンロードファイルの再生を指示し、ダウンロードに失敗したときストリーム再生を指示する再生制御手段と、
前記ストリーム再生の指示に応答して前記コンテンツ情報に基づいて前記所望のコンテンツのストリームファイルの配信を要求する要求手段とを備え、
前記ストリームサーバはさらに、
前記要求に応答して前記ストリームファイルを配信する配信手段を備え、
前記ピアはさらに、
前記再生制御手段の指示に応答して前記ダウンロードファイル又は配信されたストリームファイルに基づいて前記所望のコンテンツを再生する再生手段を備えることを特徴とするコンテンツ配信システム。
【請求項２】
請求項１に記載のコンテンツ配信システムであって、
前記ダウンロードファイルは、連続して配列され、配列順に再生される複数のダウンロードデータブロックを含み、
前記ストリームファイルは、連続して配列される複数のストリームデータブロックを含み、
前記情報記憶手段はさらに、
前記ダウンロードデータブロックに対応したストリームデータブロックを特定するための特定情報を含み、
前記再生制御手段は、
前記各ダウンロードデータブロックのダウンロードに成功したか否かを判断する判断手段と、
判断の結果ダウンロードデータのダウンロードに成功したとき、前記ダウンロードデータブロックの再生を指示し、判断の結果ダウンロードデータのダウンロードに失敗したとき、ストリーム再生を指示する指示手段とを含み、
前記要求手段は前記ストリーム再生の指示に応答して前記特定情報に基づいて前記ダウンロードに失敗したダウンロードデータブロックに対応したストリームデータブロックの配信を要求し、
前記配信手段は前記要求に応答して前記ストリームデータブロックを配信し、
前記再生手段は前記指示手段の指示に応答してダウンロードデータブロック及び／又は配信されたストリームデータブロックを再生することを特徴とするコンテンツ配信システム。
【請求項３】
請求項２に記載のコンテンツ配信システムであって、
前記判断手段は判断した結果を判断テーブルに登録し、
前記指示手段は前記判断テーブルに基づいてダウンロードデータブロックの再生又はストリーム再生を指示することを特徴とするコンテンツ配信システム。
【請求項４】
請求項２又は請求項３に記載のコンテンツ配信システムであって、
前記特定情報は、各ダウンロードデータブロックの再生開始時間を示す第１のタイムスタンプと、各ストリームデータブロックの再生開始時間を示す第２のタイムスタンプとを含み、
前記要求手段は、前記特定情報に基づいて、前記ダウンロードに失敗したダウンロードデータブロックの第１のタイムスタンプに最も近い第２のタイムスタンプを有するストリームデータブロックを要求することを特徴とするコンテンツ配信システム。
【請求項５】
コンテンツのストリームファイルを有するストリームサーバと他のピアとに接続可能なピアであって、
前記コンテンツのダウンロードファイルを記憶するためのローカル記憶手段と、
前記コンテンツの詳細と前記コンテンツのダウンロードファイルの所在と前記コンテンツのストリームファイルの所在とに関するコンテンツ情報を記憶するための情報記憶手段と、
前記コンテンツ情報に基づいて前記他のピアから所望のコンテンツのダウンロードファイルをダウンロードして前記ローカル記憶手段に保存するダウンロード手段と、
ダウンロードに成功したとき前記所望のコンテンツのダウンロードファイルの再生を指示し、ダウンロードに失敗したときストリーム再生を指示する再生制御手段と、
前記ストリーム再生の指示に応答して前記コンテンツ情報に基づいて前記所望のコンテンツのストリームファイルの配信を前記ストリームサーバに要求する要求手段と、
前記再生制御手段の指示に応答して前記ダウンロードファイル又は前記ストリームサーバから配信されたストリームファイルに基づいて前記所望のコンテンツを再生する再生手段を備えることを特徴とするピア。
【請求項６】
請求項５に記載のピアであって、
前記ダウンロードファイルは、連続して配列され、配列順に再生される複数のダウンロードデータブロックを含み、
前記ストリームファイルは、連続して配列される複数のストリームデータブロックを含み、
前記情報記憶手段はさらに、
前記ダウンロードデータブロックに対応したストリームデータブロックを特定するための特定情報を含み、
前記再生制御手段は、
前記各ダウンロードデータブロックのダウンロードに成功したか否かを判断する判断手段と、
判断の結果ダウンロードデータのダウンロードに成功したとき、前記ダウンロードデータブロックの再生を指示し、判断の結果ダウンロードデータのダウンロードに失敗したとき、ストリーム再生を指示する指示手段とを含み、
前記要求手段は前記ストリーム再生の指示に応答して前記特定情報に基づいて前記ダウンロードに失敗したダウンロードデータブロックに対応したストリームデータブロックの配信を前記ストリームサーバに要求し、
前記再生手段は前記指示手段の指示に応答してダウンロードデータブロック及び／又は前記ストリームサーバから配信されたストリームデータブロックを再生することを特徴とするピア。
【請求項７】
コンテンツのストリームファイルを有するストリームサーバと他のピアとに接続可能なコンピュータに実行させるためのピアプログラムであって、
前記コンテンツの詳細と前記コンテンツのダウンロードファイルの所在と前記コンテンツのストリームファイルの所在とに関するコンテンツ情報を情報記憶手段に保存するステップと、
前記コンテンツ情報に基づいて前記他のピアから所望のコンテンツのダウンロードファイルをダウンロードしてローカル記憶手段に保存するステップと、
ダウンロードに成功したとき前記所望のコンテンツのダウンロードファイルの再生を指示し、ダウンロードに失敗したときストリーム再生を指示する再生制御ステップと、
前記ストリーム再生の指示に応答して前記コンテンツ情報に基づいて前記所望のコンテンツのストリームファイルの配信を前記ストリームサーバに要求する要求ステップと、
前記再生制御手段の指示に応答して前記ダウンロードファイル又は前記ストリームサーバから配信されたストリームファイルに基づいて前記所望のコンテンツを再生する再生ステップとをコンピュータに実行させるためのピアプログラム。
【請求項８】
請求項７に記載のピアプログラムであって、
前記ダウンロードファイルは、連続して配列され、配列順に再生される複数のダウンロードデータブロックを含み、
前記ストリームファイルは、連続して配列される複数のストリームデータブロックを含み、
前記ピアプログラムはさらに、
前記ダウンロードデータブロックに対応したストリームデータブロックを特定するための特定情報を前記情報記憶手段に保存するステップを含み、
前記再生制御ステップは、
前記各ダウンロードデータブロックのダウンロードに成功したか否かを判断するステップと、
判断の結果ダウンロードデータのダウンロードに成功したとき、前記ダウンロードデータブロックの再生を指示し、判断の結果ダウンロードデータのダウンロードに失敗したとき、ストリーム再生を指示するステップとを含み、
前記要求ステップは前記ストリーム再生の指示に応答して前記特定情報に基づいて前記ダウンロードに失敗したダウンロードデータブロックに対応したストリームデータブロックの配信を前記ストリームサーバに要求し、
前記再生ステップは前記指示手段の指示に応答してダウンロードデータブロック及び／又は前記ストリームサーバから配信されたストリームデータブロックを再生することを特徴とするピアプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツ配信システム、並びにこれに用いられるピア及びピアプログラムに関し、さらに詳しくは、ストリーミングサーバと、ストリーミングサーバに接続された複数のピアとを備えたコンテンツ配信システム、並びにこれに用いられるピア及びピアプログラムに関する。
【背景技術】
【０００２】
近年ピアツーピア型コンテンツ配信システムが隆盛を見せている。一般に、ピアツーピア型コンテンツ配信システムは、コンテンツのストリームファイルを配信しながらコンテンツを再生するストリーム方式よりもむしろ、コンテンツのダウンロードファイルを全てダウンロードした後にコンテンツを再生するダウンロード方式を採用する。ストリーム方式の場合、ネットワーク障害が発生すると、ストリームファイルの配信が中止されるため、その時点でコンテンツの再生も中止されるが、ダウンロード方式の場合、ネットワーク障害が発生しても、ダウンロードファイルのダウンロードが既に完了していれば、コンテンツの再生が中止されることはない。
【０００３】
さらに、ダウンロード方式の場合、ネットワークの伝送能力以上のビットレートのコンテンツであってもダウンロード可能であるため、ストリーム方式よりも映像品質の高いコンテンツを配信できる。
【０００４】
しかし、ダウンロード方式ではダウンロードファイルのダウンロードに成功しなければならず、ネットワークの障害等によりダウンロードファイルの一部のダウンロードに失敗した場合、コンテンツを再生できない。
【特許文献１】特開２００４−６４７６９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明の目的は、所望のコンテンツのダウンロードファイルのダウンロードに失敗しても、所望のコンテンツを再生できるコンテンツ配信システムを提供することである。
【０００６】
本発明のもう１つの目的は、所望のコンテンツのダウンロードファイルの一部のダウンロードに失敗しても、映像品質をなるべく低下させずにコンテンツを再生できるコンテンツ配信システムを提供することである。
【課題を解決するための手段及び発明の効果】
【０００７】
本発明によるコンテンツ配信システムは、ストリームサーバと、ストリームに接続された複数のピアとを備えたコンテンツ配信システムである。ストリームサーバは、コンテンツのストリームファイルを記憶するための記憶手段を備える。ピアは、ローカル記憶手段と、情報記憶手段と、ダウンロード手段と、再生制御手段と、要求手段とを備える。ローカル記憶手段はコンテンツのダウンロードファイルを記憶する。情報記憶手段は、複数のピアに保存されているコンテンツの詳細とコンテンツのダウンロードファイルの所在とコンテンツのストリームファイルの所在とに関するコンテンツ情報を記憶する。ダウンロード手段は、コンテンツ情報に基づいて他のピアから所望のコンテンツのダウンロードファイルをダウンロードしてローカル記憶手段に保存する。再生制御手段は、ダウンロードに成功したとき所望のコンテンツのダウンロードファイルの再生を指示し、ダウンロードに失敗したときストリーム再生を指示する。要求手段は、ストリーム再生の指示に応答してコンテンツ情報に基づいて所望のコンテンツのストリームファイルの配信を要求する。ストリームサーバはさらに配信手段を備える。配信手段は、要求に応答してストリームファイルを配信する。ピアはさらに再生手段を備える。再生手段は再生制御手段の指示に応答してダウンロードファイル又は配信されたストリームファイルに基づいて所望のコンテンツを再生する。
【０００８】
本発明によるコンテンツ配信システムは、コンテンツのダウンロードファイルの所在とストリームファイルの所在とをコンテンツ情報に含める。ピアは所望のコンテンツのダウンロードファイルのダウンロードの成否を判断し、ダウンロードに成功したと判断したときダウンロードファイルを再生する。一方、ダウンロードに失敗したと判断したときコンテンツ情報に基づいて所望のコンテンツのストリームファイルを取得する。そのため、ピアはダウンロードファイルのダウンロードの成否にかかわらず、所望のコンテンツを再生できる。
【０００９】
好ましくは、ダウンロードファイルは、連続して配列され、配列順に再生される複数のダウンロードデータブロックを含み、ストリームファイルは、連続して配列される複数のストリームデータブロックを含む。情報記憶手段はさらに、ダウンロードデータブロックに対応したストリームデータブロックを特定するための特定情報を含む。再生制御手段は、判断手段と、指示手段とを含む。判断手段は各ダウンロードデータブロックのダウンロードに成功したか否かを判断する。指示手段は、判断の結果ダウンロードデータのダウンロードに成功したとき、ダウンロードデータブロックの再生を指示し、判断の結果ダウンロードデータのダウンロードに失敗したとき、ストリーム再生を指示する。要求手段はストリーム再生の指示に応答して特定情報に基づいてダウンロードに失敗したダウンロードデータブロックに対応したストリームデータブロックの配信を要求する。配信手段は要求に応答してストリームデータブロックを配信する。再生手段は指示手段の指示に応答してダウンロードデータブロック及び／又は配信されたストリームデータブロックを再生する。ここで、ダウンロードデータブロック及びストリームデータブロックはデータのかたまりであり、たとえばフレームやＧＯＰ（Group Of Pictures）である。また、複数のＧＯＰのかたまりであってもよい。
【００１０】
この場合、ピアはダウンロードデータブロックごとにダウンロードの成否を判断する。コンテンツ再生時、ピアはダウンロードデータブロックを配列順に再生するが、ダウンロードに成功したダウンロードデータブロックを再生し、かつ、ダウンロードに失敗したダウンロードデータブロックに対応したストリームデータブロックをストリーム再生する。したがって、ピアはダウンロードファイルのうちダウンロードに成功した部分についてはダウンロードファイルを再生する。そのため映像品質の低下を可能な限り抑制しながら所望のコンテンツを再生できる。
【００１１】
好ましくは、判断手段は判断した結果を判断テーブルに登録し、指示手段は判断テーブルに基づいてダウンロードデータブロックの再生又はストリーム再生を指示する。
【００１２】
この場合、判断手段が各ダウンロードデータブロックを再生するごとにダウンロードの成否を判断する必要がなく、予めダウンロードの成否を判断してその判断結果を判断テーブルに登録する。そのため指示手段はコンテンツの再生時に判断手段の判断結果を待つ必要がなく、判断テーブルを参照すれば、再生すべきダウンロードブロックのダウンロードの成否を判断できる。
【００１３】
好ましくは、特定情報は、各ダウンロードデータブロックの再生開始時間を示す第１のタイムスタンプと、各ストリームデータブロックの再生開始時間を示す第２のタイムスタンプとを含み、要求手段は、特定情報に基づいて、ダウンロードに失敗したダウンロードデータブロックの第１のタイムスタンプに最も近い第２のタイムスタンプを有するストリームデータブロックを要求する。
【００１４】
この場合、タイムスタンプに基づいてダウンロードデータブロックに対応するストリームデータブロックを特定できる。
【００１５】
本発明によるピアは、コンテンツのストリームファイルを有するストリームサーバと他のピアとに接続可能なピアである。本発明によるピアは、ローカル記憶手段と、情報記憶手段と、ダウンロード手段と、再生制御手段と、要求手段と、再生手段とを備える。ローカル記憶手段は、コンテンツのダウンロードファイルを記憶する。情報記憶手段は、コンテンツの詳細とコンテンツのダウンロードファイルの所在とコンテンツのストリームファイルの所在とに関するコンテンツ情報を記憶する。ダウンロード手段は、コンテンツ情報に基づいて他のピアから所望のコンテンツのダウンロードファイルをダウンロードしてローカル記憶手段に保存する。再生制御手段は、ダウンロードに成功したとき所望のコンテンツのダウンロードファイルの再生を指示し、ダウンロードに失敗したときストリーム再生を指示する。要求手段は、ストリーム再生の指示に応答してコンテンツ情報に基づいて所望のコンテンツのストリームファイルの配信をストリームサーバに要求する。再生手段は、再生制御手段の指示に応答してダウンロードファイル又はストリームサーバから配信されたストリームファイルに基づいて所望のコンテンツを再生する。
【００１６】
本発明によるピアは、コンテンツのダウンロードファイルの所在とストリームファイルの所在とに関するコンテンツ情報を有する。ピアはダウンロードファイルのダウンロードの成否を判断し、所望のコンテンツのダウンロードに成功したと判断したときダウンロードファイルを再生する。一方、ダウンロードに失敗したと判断したときコンテンツ情報に基づいて所望のコンテンツのストリームファイルを取得する。そのため、ピアはダウンロードファイルのダウンロードの成否にかかわらず、所望のコンテンツを再生できる。
【００１７】
好ましくは、ダウンロードファイルは、連続して配列され、配列順に再生される複数のダウンロードデータブロックを含み、ストリームファイルは、連続して配列される複数のストリームデータブロックを含む。情報記憶手段はさらに、ダウンロードデータブロックに対応したストリームデータブロックを特定するための特定情報を含む。再生制御手段は、判断手段と、指示手段とを含む。判断手段は、各ダウンロードデータブロックのダウンロードに成功したか否かを判断する。指示手段は、判断の結果ダウンロードデータのダウンロードに成功したとき、ダウンロードデータブロックの再生を指示し、判断の結果ダウンロードデータのダウンロードに失敗したとき、ストリーム再生を指示する。要求手段はストリーム再生の指示に応答して特定情報に基づいてダウンロードに失敗したダウンロードデータブロックに対応したストリームデータブロックの配信をストリームサーバに要求する。再生手段は指示手段の指示に応答してダウンロードデータブロック及び／又はストリームサーバから配信されたストリームデータブロックを再生する。
【００１８】
この場合、ピアはダウンロードデータブロックごとにダウンロードの成否を判断する。コンテンツ再生時、ピアはダウンロードデータブロックを配列順に再生するが、ダウンロードに成功したダウンロードデータブロックを再生し、ダウンロードに失敗したダウンロードデータブロックに対応したストリームデータブロックをストリーム再生する。したがって、ピアはダウンロードファイルのうちダウンロードに成功した部分についてはダウンロードファイルを再生する。そのため映像品質の低下を可能な限り抑制しながら所望のコンテンツを再生できる。
【００１９】
本発明によるピアプログラムは、コンテンツのストリームファイルを有するストリームサーバと他のピアとに接続可能なコンピュータに実行させるためのピアプログラムである。ピアプログラムはコンピュータに、コンテンツの詳細とコンテンツのダウンロードファイルの所在とコンテンツのストリームファイルの所在とに関するコンテンツ情報を情報記憶手段に保存するステップと、コンテンツ情報に基づいて他のピアから所望のコンテンツのダウンロードファイルをダウンロードしてローカル記憶手段に保存するステップと、ダウンロードに成功したとき所望のコンテンツのダウンロードファイルの再生を指示し、ダウンロードに失敗したときストリーム再生を指示する再生制御ステップと、ストリーム再生の指示に応答してコンテンツ情報に基づいて所望のコンテンツのストリームファイルの配信をストリームサーバに要求する要求ステップと、再生制御手段の指示に応答してダウンロードファイル又はストリームサーバから配信されたストリームファイルに基づいて所望のコンテンツを再生する再生ステップとを実行させるためのものである。
【００２０】
本発明によるピアプログラムでは、コンテンツのダウンロードファイルの所在とストリームファイルの所在とをコンテンツ情報を含む。ピアプログラムは所望のコンテンツのダウンロードファイルのダウンロードの成否を判断し、ダウンロードに成功したと判断したときダウンロードファイルを再生する。一方、ダウンロードに失敗したと判断したときコンテンツ情報に基づいて所望のコンテンツのストリームファイルを取得する。そのため、ピアプログラムはダウンロードファイルのダウンロードの成否にかかわらず、所望のコンテンツを再生できる。
【００２１】
好ましくは、ダウンロードファイルは、連続して配列され、配列順に再生される複数のダウンロードデータブロックを含み、ストリームファイルは、連続して配列される複数のストリームデータブロックを含む。ピアプログラムはさらに、ダウンロードデータブロックに対応したストリームデータブロックを特定するための特定情報を情報記憶手段に保存するステップを含む。再生制御ステップは、各ダウンロードデータブロックのダウンロードに成功したか否かを判断するステップと、判断の結果ダウンロードデータのダウンロードに成功したとき、ダウンロードデータブロックの再生を指示し、判断の結果ダウンロードデータのダウンロードに失敗したとき、ストリーム再生を指示するステップとを含む。要求ステップはストリーム再生の指示に応答して特定情報に基づいてダウンロードに失敗したダウンロードデータブロックに対応したストリームデータブロックの配信をストリームサーバに要求する。再生ステップは指示手段の指示に応答してダウンロードデータブロック及び／又はストリームサーバから配信されたストリームデータブロックを再生する。
【００２２】
この場合、ピアプログラムはダウンロードデータブロックごとにダウンロードの成否を判断する。コンテンツ再生時、ピアプログラムはダウンロードデータブロックを配列順に再生するが、ダウンロードに成功したダウンロードデータブロックを再生し、ダウンロードに失敗したダウンロードデータブロックに対応したストリームデータブロックをストリーム再生する。したがって、ピアプログラムはダウンロードファイルのうちダウンロードに成功した部分についてはダウンロードファイルを再生する。そのため映像品質の低下を可能な限り抑制しながら所望のコンテンツを再生できる。
【発明を実施するための最良の形態】
【００２３】
以下、図面を参照し、本発明の実施の形態を詳しく説明する。図中同一又は相当部分には同一符号を付してその説明は繰り返さない。
【００２４】
１．構成
［システム全体構成］
図１を参照して、本発明の実施の形態によるコンテンツ配信システムは、センタサーバ１０と、ストリームサーバ２０と、複数のピア３０とを備える。ピア３０はインターネット等の電気通信回線（図示せず）を介してセンタサーバ１０及びストリームサーバ２０に接続され、かつ相互にも接続可能である。各ピア３０はコンテンツのダウンロードファイルを保存し、ダウンロードファイルをピア３０間で相互に配信する。したがって、センタサーバ１０にダウンロードファイルは保存されない。
【００２５】
ストリームサーバ２０はストリームデータベース２１にコンテンツのストリームファイルを保存する。ストリームサーバ２０はピア３０からのストリーム要求に応答してストリームファイルを配信する。
【００２６】
センタサーバ１０は、コンテンツの詳細とダウンロードファイルの所在とストリームファイルの所在とに関するコンテンツ情報をコンテンツ管理データベース１１に保存する。センタサーバ１０は、ダウンロードファイルの所在に関する情報を各ピア３０から収集し、ストリームファイルの所在に関する情報をストリームサーバ２０から収集してコンテンツ情報を更新する。センタサーバ１０は更新したコンテンツ情報を各ピア３０に通知する。
【００２７】
ピア３０は、ローカルデータベース３１と、制御部３２と、ダウンロード部３３と、要求部３４と、再生部３５とを含む。
【００２８】
ローカルデータベース３１はダウンロードファイルを保存する。ダウンロードファイルは図２に示すように、連続して配列される複数のＧＯＰで構成される。ＧＯＰは連続して配列された複数のフレーム（１つのＩピクチャ、複数のＢピクチャ及びＰピクチャ）で構成される。ダウンロードファイルのＧＯＰは配列順に再生される。
【００２９】
ダウンロードファイルはまた、複数のフレームの固まりであって、ＧＯＰよりもサイズの大きい複数のフラグメントＦＲに分割される。図２ではダウンロードファイルは３０個のフラグメントＦＲ０〜ＦＲ２９に分割されている。ＧＯＰは隣接する２つのフラグメントにまたがる場合がある。図２中のＧＯＰ８７８、ＧＯＰ１６７２、ＧＯＰ３３２３がこれに当たる。ピア３０は他のピア３０から各フラグメントＦＲをダウンロードし、ダウンロード後、これらのフラグメントＦＲを結合する。
【００３０】
なお、ストリームファイルも図２に示すように連続して配列される複数のＧＯＰで構成されるが、フラグメントには分割されない。以降、ダウンロードファイルのＧＯＰをＧＯＰＤとし、ストリームファイルのＧＯＰをＧＯＰＳとする。
【００３１】
ローカルデータベース３１はさらに、センタサーバ１０から送信されたコンテンツ情報を保存する。
【００３２】
ダウンロード部３３はコンテンツ情報に基づいて所望のコンテンツを保存する他のピア３０からダウンロードファイルをダウンロードする。ダウンロード部３３は、ダウンロード時に図２に示した所望のコンテンツのダウンロードファイルとともにインフォメーションファイルとインデックスファイルとをダウンロードし、ローカルデータベース３１に保存する。インフォメーションファイルは、ダウンロード後に複数のフラグメントを結合するための情報を含む。インデックスファイルは表１に示すダウンロードインデックスを含む。
【表１】
2006209356.tif 000003
【００３３】
表１に示すように、ダウンロードインデックスはダウンロードファイル内の各ＧＯＰＤのオフセットと、タイムスタンプと、ＧＯＰＤ内のＩピクチャのサイズとを含む。ダウンロードインデックスは後述するストリームインデックスとともにＧＯＰＤに対応するＧＯＰＳを特定するための情報として利用される。
【００３４】
制御部３２はローカルデータベース３１に保存したダウンロードファイルの所在に関する情報をセンタサーバ１０に通知する。制御部３２はまた、他のピア３０からの要求に応じてローカルデータベース３１に保存されたダウンロードファイルを配信する。
【００３５】
制御部３２はさらに、ダウンロード部３３がダウンロードファイルのダウンロードに成功したか否かを判断する。後述するように、制御部３２はダウンロードの成否をＧＯＰＤごとに判断する。制御部３２は判断結果に基づき、ダウンロード再生又はストリーム再生するよう指示する。ここで、ダウンロード再生とはローカルデータベース３１に保存されたダウンロードファイルを再生することをいい、ストリーム再生とはストリームサーバ２０から配信されたストリームファイルを再生することをいう。
【００３６】
要求部３４は、制御部３２からのストリーム再生指示に応じてストリームサーバ２０にストリームファイルの配信を要求する。
【００３７】
再生部３５は制御部３２からのダウンロード再生指示又はストリーム再生指示に応じてダウンロードファイル又はストリームファイルに基づいてコンテンツを再生する。
【００３８】
［コンテンツ情報のデータ構造］
コンテンツ情報は階層構造を有する。具体的には、コンテンツ情報は、アイテム階層と、アイテム階層よりも下位に位置づけられた映像階層とを含む。
【００３９】
図３を参照して、アイテム階層４０は、１又は２以上のアイテムブロック４１からなる。アイテムブロック４１の各々に１つのコンテンツが割り当てられる。各アイテムブロック４１の属性情報は、割り当てられたコンテンツのユニークＩＤｃｕｉｄを含む。アイテムブロック４１はさらに、メタ情報４２と、複数の映像情報４３とを有する。
【００４０】
メタ情報４２は、静的メタ情報、動的メタ情報に分けられる。静的メタ情報は、登録日付、タイトル、監督、脚本、主演、製作国、あらすじなど、静的情報である。動的メタ情報は、価格など、動的に変動する情報である。
【００４１】
映像情報４３はコンテンツのファイル（ダウンロードファイル又はストリームファイル）に関する情報で、ファイルのユニークＩＤｍｏｖｉｅＩｄと、各ユニークＩＤｍｏｖｉｅＩｄに対応付けて付与された本編ダウンロード又は本編ストリームを示す表示情報ｕｉ及び識別情報ｆｎとを含む。
【００４２】
図４を参照して、映像階層５０は、ファイル（ダウンロードファイル又はストリームファイル）に関する情報を格納するための階層である。映像階層５０は複数の映像ブロック５１からなる。映像ブロック５１の各々に１つのファイル（ダウンロードファイル又はストリームファイル）が割り当てられる。映像ブロック５１には、当該ファイルの詳細及び当該ファイルをダウンロード又はストリーム可能なＵＲＬが列挙されている。
【００４３】
各映像ブロック５１の属性情報は、割り当てられたファイルのユニークＩＤｍｏｖｉｅＩｄと、そのファイルの品質ｈｓｄと、ファイルのデータ形式ｍｉｎｅと、配信種別ｄｉｓｔｔｙｐｅ（ダウンロード又はストリーム）と、上演時間ｄｕｒａｔｉｏｎと、インデックスファイルの有無ｉｎｄｅｘＦｉｌｅと、インフォメーションファイルの有無ｉｎｆｏＦｉｌｅと、ファイル内のフラグメント分割数ｎｕｍＦｒａｇｍｅｎｔｓと、識別情報ｆｎとを含む。映像ブロック５１はさらに、ロケーション情報リストｕｒｉｌｉｓｔを含む。
【００４４】
映像ブロック５１に割り当てられたファイルがダウンロードファイルの場合、ロケーション情報リストｕｒｉｌｉｓｔは、該当するダウンロードファイルが保存されているピアのユニークＩＤｐｕｉｄと、ピアの現在の負荷値ｌｏａｄと、複数のフラグメント等の詳細及び所在に関する複数のロケーション情報ｕｒｉとを含む。
【００４５】
各ロケーション情報ｕｒｉは、各フラグメントＦＲ、インフォメーションファイル及びインデックスファイルのＵＲＬ情報ｌｏｃａｔｉｏｎと、パーツ番号ｓｕｂｉｄと、サイズ情報ｓｉｚｅとを含む。パーツ番号ｓｕｂｉｄはファイル固有の番号であり、インフォメーションファイルは「−２」、インデックスファイルは「−１」である。各フラグメントＦＲのパーツ番号ｓｕｂｉｄは「０」以上である。サイズ情報ｓｉｚｅは各パーツ番号のファイルのデータサイズである。
【００４６】
映像ブロック５１に割り当てられたファイルがストリームファイルの場合、ロケーション情報リストｕｒｉｌｉｓｔ内のユニークＩＤｐｕｉｄはストリームサーバ２０のユニークＩＤである。また、ロケーション情報リストｕｒｉｌｉｓｔは、インデックスファイルのロケーション情報ｕｒｉと、ストリームファイルのロケーション情報ｕｒｉとを含む。ここでいうインデックスファイルはストリームファイル内のＧＯＰＳの詳細に関するファイルであり、ストリームインデックスを含む。ストリームインデックスは表１に示したダウンロードインデックスと同様であり、ストリームファイル内の各ＧＯＰＳのオフセットと、タイムスタンプと、ＧＯＰＳ内のＩピクチャのサイズとを含む。
【００４７】
なお、ストリームファイルはフラグメントに分割されないため、ストリームファイルのフラグメント分割数ｎｕｍＦｒａｇｍｅｎｔｓは１つである。
【００４８】
２．動作
［動作概要］
ピア３０は、センタサーバ１０からコンテンツ情報を取得する。ピア３０はコンテンツ情報に基づいて所望のコンテンツのダウンロードファイルを保存している他のピア３０を特定し、特定した他のピア３０からダウンロードファイルをダウンロードする。
【００４９】
このとき、ピア３０はロケーション情報ｕｒｉに基づいてフラグメント単位でダウンロードファイルをダウンロードする。そのため、図５に示すように複数のフラグメントのうちの一部のフラグメントのダウンロードに失敗する場合がある。図５では３０個のフラグメントＦＲ０〜ＦＲ２９のうちフラグメントＦＲ１のダウンロードに失敗している。
【００５０】
コンテンツを再生するとき、ピア３０はフラグメントＦＲ０〜ＦＲ２９の配列順に再生する。このとき、ピア３０はダウンロードファイルのうちダウンロードに成功している部分（フラグメントＦＲ０、ＦＲ２〜ＦＲ２９）をダウンロード再生する。一方、ダウンロードに失敗している部分（フラグメントＦＲ１）についてはその部分に相当するストリームファイルをストリームサーバ２０から取得しストリーム再生する。図５の例ではピア３０は、フラグメントＦＲ１に相当するＧＯＰＳ８７８〜ＧＯＰＳ１６７２を取得し、ストリーム再生する。
【００５１】
以上の動作により、ピア３０はダウンロードファイルの一部のダウンロードに失敗しても、ダウンロードに成功した部分をダウンロード再生し、失敗した部分をストリーム再生する。したがって、ダウンロードに失敗しても所望のコンテンツを再生できる。さらに、コンテンツの全てをストリーム再生するのではなく、ダウンロードに失敗した部分のみストリーム再生を実施するため、映像画質を可能な限り低下させずにコンテンツを再生できる。
【００５２】
［全体動作］
図６を参照して、ピア３０はセンタサーバ１０からコンテンツ情報を受信する（Ｓ１）。ピア３０内の制御部３２はコンテンツ情報に基づいて所望のコンテンツのダウンロードファイルを保存する他のピア３０を特定する。制御部３２はアイテムブロック４１の複数の映像情報４３を検索し、識別情報ｆｎが「本編ダウンロード」であるファイルのユニークＩＤｍｏｖｉｅＩｄを特定する。続いて、ピア３０は特定したユニークＩＤｍｏｖｉｅＩｄの映像ブロック５１を検索する。ダウンロード部３３は制御部３２が特定した映像ブロック５１内のロケーション情報リストｕｒｉｌｉｓｔに基づいてダウンロードを開始する（Ｓ２）。このとき、ピア３０はダウンロードファイルのダウンロードインデックスも取得する。
【００５３】
ダウンロードを開始した後、制御部３２は所望のコンテンツのストリームインデックスを取得する（Ｓ３）。制御部３２はアイテムブロック４１の映像情報４３を検索し、識別情報ｆｎが「本編ストリーム」の映像のユニークＩＤｍｏｖｉｅＩｄを特定する。制御部３２はさらに、特定したユニークＩＤｍｏｖｉｅＩｄの映像ブロック５１を検索する。検索した映像ブロック５１内のパーツ番号「−１」のロケーション情報ｕｒｉに基づいてストリームサーバ２０にストリームインデックスを要求する。ストリームサーバ２０はピア３０からの要求に応じて表１に示すストリームインデックスを送信する。ストリームインデックスはストリーム再生をする場合に必要となるため、ピア３０はコンテンツを再生する前にストリームインデックスを取得する。
【００５４】
ステップＳ３でストリームインデックスを取得した後、制御部３２は、判断処理を開始する（Ｓ４）。判断処理では、ダウンロードファイルのダウンロードに成功したか否かをＧＯＰＤごとに判断し、判断結果を表２に示す判断テーブルに登録する。
【表２】
2006209356.tif 000004
【００５５】
判断テーブルは、ダウンロードに成功したＧＯＰＤの範囲を示す。表２は図５の例に基づいて作成された判断テーブルである。判断処理の詳細については後述する。
【００５６】
判断処理を開始した後、ピア３０は再生処理を開始する（Ｓ５）。ピア３０はＧＯＰＤ０から配列順に再生を指示するが、判断テーブルを参照しながら、有効なＧＯＰＤ、つまりダウンロードに成功したＧＯＰＤについてはダウンロード再生し、無効なＧＯＰＤ、つまりダウンロードに失敗したＧＯＰＤについてはそのＧＯＰＤに相当するＧＯＰＳを要求し、ストリーム再生する。
【００５７】
［判断処理］
制御部３２は、ダウンロードファイルのＧＯＰＤごとにダウンロードに成功したか否かを判断する。再生処理のとき、無効なＧＯＰＤに相当するストリームファイルのＧＯＰＳを取得するためである。
【００５８】
図７を参照して、制御部３２は初めにカウント値ｎ＝０にする（Ｓ４１）。続いて、ＧＯＰＤｎ（＝ＧＯＰＤ０）が属するフラグメントＦＲｉを特定する（Ｓ４２）。具体的には、制御部３２は、ＧＯＰＤｎのオフセットＯＦｇｎとフラグメントＦＲｉのオフセットＯＦｆｉとを比較する。制御部３２は、その値がオフセットＯＦｇｎ以下であり、かつ、オフセットＯＦｇｎに最も近いオフセットＯＦｆｉを特定する。ここで、ＧＯＰＤｎのオフセットＯＦｇｎはダウンロードインデックスから読み出される。また、オフセットＯＦｆｉは以下の式（１）で求められる。
ＯＦｆｉ＝ΣＳｆｉ−１  （１）
【００５９】
ここで、Ｓｆｉ−１はフラグメントＦＲｉ−１のサイズである。サイズＳｆｉ−１はロケーション情報ｕｒｉ内のパーツ番号ｓｕｂｉｄ＝ｉ−１のサイズ情報ｓｉｚｅと同じである。なお、フラグメントＦＲ０のオフセットＯＦｆ０＝０である（但し、ヘッダが存在する場合には、オフセットＯＦｆ０は０にならないこともある。）。
【００６０】
ステップＳ４２でフラグメントＦＲｉを特定した後、制御部３２は、ＧＯＰＤｎの先頭が特定したフラグメントＦＲｉのダウンロード完了部分に含まれているか否か判断する（Ｓ４３）。ダウンロード中、制御部３２はフラグメントＦＲｉのうちダウンロードを完了した部分のサイズＳｄｌｆｉを図示しないメモリに記憶する。ピア３０がフラグメントＦＲｉ全体をダウンロードしたとき、Ｓｄｌｆｉ＝Ｓｆｉになる。ステップＳ４３で制御部３２は以下の式（２）を満たすか否か判断する。
ＯＦｇｎ≦ＯＦｆｉ＋Ｓｄｌｆｉ  （２）
【００６１】
式（２）を満さないとき（Ｓ４３でＮＯ）、制御部３２はＧＯＰＤｎのダウンロードに失敗したと判断する。一方、式（２）を満たすとき、ＧＯＰＤｎの先頭がフラグメントＦＲｉのダウンロード完了部分に含まれていると判断し（Ｓ４３でＹＥＳ）、ステップＳ４４に進む。
【００６２】
ステップＳ４４で制御部３２は、ＧＯＰＤｎがフラグメントＦＲｉとフラグメントＦＲｉ＋１とにまたがっているか否かを判断する（Ｓ４４）。具体的には、制御部３２は以下の式（３）を満たすか否かを判断する。
ＯＦｇｎ＋Ｓｇｎ≦ＯＦｆｉ＋Ｓｆｉ  （３）
【００６３】
ここで、ＳｇｎはＧＯＰＤｎのサイズであり、以下の式（４）で求められる。
Ｓｇｎ＝ＯＦｇｎ＋１−ＯＦｇｎ  （４）
【００６４】
式（３）を満たさない場合（Ｓ４４でＮＯ）、ＧＯＰｎはフラグメントＦＲｉに含まれる。ステップＳ４４でＮＯとなるＧＯＰＤｎはたとえば図５中のＧＯＰＤ０〜ＧＯＰＤ８７７である。この場合、制御部３２はＧＯＰＤｎの後尾がフラグメントＦＲｉのダウンロード完了部分に含まれているか否かを判断する（Ｓ４５）。具体的には、ピア３０は以下の式（５）を満たすか否かを判断する。
ＯＦｇｎ＋Ｓｇｎ≦ＯＦｆｉ＋Ｓｄｌｆｉ  （５）
【００６５】
式（５）を満たさない場合（Ｓ４５でＮＯ）、制御部３２はＧＯＰＤｎのダウンロードに失敗したと判断する。式（５）を満たす場合（Ｓ４５でＹＥＳ）、制御部３２はＧＯＰＤｎのダウンロードに成功したと判断する。
【００６６】
ステップＳ４４で制御部３２が式（３）を満たすと判断した場合（Ｓ４４でＹＥＳ）、ＧＯＰＤｎの後尾はフラグメントＦＲｉ＋１に含まれる。ステップＳ４４でＹＥＳとなるＧＯＰＤｎはたとえば図５中のＧＯＰＤ８７８やＧＯＰＤ１６７２である。この場合、制御部３２はＧＯＰＤｎの後尾がフラグメントＦＲｉ＋１のダウンロード完了部分に含まれているか否かを判断する（Ｓ４６）。具体的には、制御部３２は以下の式（６）を満たすか否かを判断する。
ＯＦｇｎ＋Ｓｇｎ≦ＯＦｆｉ＋１＋Ｓｄｌｆｉ＋１  （６）
【００６７】
式（６）を満たさない場合（Ｓ４６でＮＯ）、制御部３２はＧＯＰＤｎのダウンロードに失敗したと判断する。式（５）を満たす場合（Ｓ４６でＹＥＳ）、制御部３２はＧＯＰＤｎのダウンロードに成功したと判断する。
【００６８】
制御部３２は、ステップＳ４３〜Ｓ４６で判断した結果を表２に示す判断テーブルに登録する（Ｓ４７）。判断テーブルに登録されたＧＯＰ番号の範囲内のＧＯＰＤｎは有効（ダウンロード成功）であり、登録されたＧＯＰ番号の範囲外のＧＯＰＤｎは無効（ダウンロード失敗）である。
【００６９】
ステップＳ４７で判断結果を判断テーブルに登録後、カウント値ｎをインクリメントしてステップＳ４２に戻る。したがって、制御部３２はダウンロードインデックスに列挙された全てのＧＯＰＤのダウンロードの成否を判断する。全てのＧＯＰＤについて判断した後（Ｓ４８でＹＥＳ）、制御部３２は判断処理を終了する。
【００７０】
以上の動作により、判断処理で判断テーブルを作成できる。また、ＧＯＰＤｎのダウンロードの成否をフラグメントＦＲの情報を用いて判断することにより判断処理時間を短縮できる。
【００７１】
［再生処理］
ピア３０は判断処理と再生処理とを同時に開始し、並列で実行する。ダウンロードファイルの全てのＧＯＰＤの判断結果を待って再生処理を実行すれば、ダウンロード直後にコンテンツを再生できないからである。１つのＧＯＰＤを再生する時間よりも１つのＧＯＰＤのダウンロードの成否を判断する時間の方が短いため、ＧＯＰＤのダウンロードの成否を判断する前にそのＧＯＰＤの再生が開始されることがない。そのため、ピア３０は判断処理を再生処理と並列で実行でき、ダウンロード直後にコンテンツを再生できる。以下、図５に示したダウンロードファイルを例として再生処理を説明する。
【００７２】
図８を参照して、制御部３２は初めにカウント値ｎ＝０とし（Ｓ６）、判断テーブルに基づいてＧＯＰＤｎ＝ＧＯＰＤ０が有効か否かを判断する（Ｓ７）。判断の結果ＧＯＰＤ０は有効であり（Ｓ７でＹＥＳ）、かつ、再生未開始であるため（Ｓ８、Ｓ９ともにＮＯ）、制御部３２はダウンロード再生指示を出力する（Ｓ１１）。再生部３５はダウンロード再生指示を受け、ローカルデータベース３１からＧＯＰＤ０を読み出し、再生する（Ｓ１２）。
【００７３】
ステップＳ１２で再生を開始した後、制御部３２はカウント値ｎをインクリメントし（Ｓ１４）、ステップＳ７に戻る。制御部３２はＧＯＰＤ０の再生を完了するまでにＧＯＰＤ１が有効か否か判断する（Ｓ７）。ＧＯＰＤ１は有効であり、かつ、ダウンロード再生中であるため（Ｓ７でＹＥＳ）、制御部３２は再度ダウンロード再生指示を出力しない。再生部３５はダウンロード再生を既に実行中だからである。ＧＯＰＤ０の再生完了後、再生部３５はＧＯＰＤ１のダウンロード再生を実行する（Ｓ１２）。
【００７４】
同様の処理により、再生部３５はＧＯＰＤ２〜ＧＯＰＤ８７７をダウンロード再生する。ＧＯＰＤ８７７を再生した後、制御部３２はステップＳ７でＧＯＰＤ８７８が無効であると判断する（Ｓ７でＮＯ）。ストリーム再生中ではないため（Ｓ１５でＮＯ）、制御部３２はストリーム再生指示を出力する（Ｓ１６）。要求部３４はストリーム再生指示を受け、要求処理を実行する（Ｓ１７）。要求処理ではＧＯＰＤ８７８に相当するＧＯＰＳとしてＧＯＰＳ８７８を特定し、特定したＧＯＰＳ８７８からストリーム配信するようストリームサーバ２０に要求する。要求処理の詳細は後述する。
【００７５】
ストリームサーバ２０は要求部３４からの要求を受け、所望のコンテンツのストリームファイルのうちＧＯＰＳ８７８からストリーム配信を開始する（Ｓ１８）。
【００７６】
再生部３５はステップＳ１６で出力されたストリーム再生指示を受け、ＧＯＰＤ８７７のダウンロード再生を完了した後、ストリーム再生を開始する（Ｓ１９）。つまり、配信されたＧＯＰＳ８７８を受け、再生する。
【００７７】
ストリーム再生を開始後、ステップＳ７に進み、次のＧＯＰＤ８７９の有効性を判断する（Ｓ７）。ＧＯＰＤ８７９も無効であり（Ｓ７でＮＯ）、かつ、ストリーム再生中であるため（Ｓ１５でＹＥＳ）、制御部３２はストリーム再生指示を出力しない。既にストリーム再生が実行されているからである。再生部３５はストリーム再生を継続する（Ｓ１９）。
【００７８】
カウント値ｎのインクリメントを繰り返した後、制御部３２はＧＯＰＤ１６７３が有効であると判断する（Ｓ７）。このとき、ストリーム再生中であるため（Ｓ８でＮＯ、Ｓ９でＹＥＳ）、制御部３２はストリーム配信のために確立していたストリームサーバ２０とのコネクションを切断する（Ｓ１０）。コネクションを切断することによりストリーム再生は終了する。制御部３２はダウンロードインデックス内のＧＯＰＤ１６７３のタイムスタンプに基づいて、ＧＯＰＤ１６７３の再生開始時間にコネクションを切断する。
【００７９】
切断後、制御部３２はダウンロード再生指示を出力する（Ｓ１１）。再生部３５はダウンロード再生指示に応じてローカルデータベース３１からＧＯＰＤ１６７３を読み出し、再生する（Ｓ１２）。ＧＯＰＤ１６７３以降もダウンロード再生を継続し、最後尾のＧＯＰＤ９９０７を再生後（Ｓ１３でＹＥＳ）、再生処理を完了する。
【００８０】
以上の動作により、ピア３０は取得したダウンロードファイルのうちダウンロードに成功した部分はダウンロード再生し、ダウンロードに失敗した部分はストリーム再生する。そのため、ダウンロードファイルの全体のダウンロードに失敗しても、コンテンツを再生できる。さらに、ダウンロードに成功したＧＯＰＤについてはダウンロード再生するため、映像画質を可能な限り高く維持できる。
【００８１】
［要求処理］
要求処理では、ダウンロードに失敗したＧＯＰＤに対応するＧＯＰＳを特定する。このとき、ダウンロードインデックス及びストリームインデックスをＧＯＰＳを特定するための情報として利用する。
【００８２】
図９を参照して、ストリーム再生指示を受けた要求部３４は、ダウンロードインデックスを参照し、無効と判断されたＧＯＰＤｎのタイムスタンプＴＤｎを取得する（Ｓ１７１）。続いて、要求部３４はストリームインデックスを検索し、ステップＳ１７１で取得したタイムスタンプＴＤｎに最も近いＧＯＰＳのタイムスタンプＴＳｋを特定する（Ｓ１７２）。要求部３４は、ストリームインデックスを参照して、ステップＳ１７２で特定したタイムスタンプＴＳｋに対応したオフセットを特定し（Ｓ１７３）、特定したオフセットを要求コマンドに含めてストリームサーバ２０に送信する（Ｓ１７４）。ストリームサーバ２０は、ストリームインデックスを参照して、送信されたオフセットに対応したＧＯＰＳ（図５ではＧＯＰ８７８）からストリーム配信を実行する。
【００８３】
以上の動作により、要求部３４はダウンロードに失敗したＧＯＰＤｎのタイムスタンプに最も近いタイムスタンプを有するストリームＧＯＰＳからストリーム配信を要求する。図５ではＧＯＰＤのＧＯＰ番号とＧＯＰＳのＧＯＰ番号とが同じであるが、エンコード処理の違いによりＧＯＰＤのＧＯＰ番号とＧＯＰＳのＧＯＰ番号とが異なる場合もある。上述の要求処理により、互いのＧＯＰ番号が異なっていても、ダウンロードに失敗したＧＯＰＤに相当するストリームＧＯＰＳを特定し、要求できる。
【００８４】
以上、本発明の実施の形態を説明したが、制御部３２はダウンロードファイルの一部のダウンロードに失敗したと判断した場合、ダウンロード再生せずにストリーム再生を指示してもよい。この場合、再生部３５は所望のコンテンツのダウンロード再生を実行することなく、ストリーム再生を実行する。
【００８５】
また、本実施の形態では、ピア３０は判断処理を再生処理と並列で実行したが、再生開始までにＧＯＰ判断処理を完了していてもよい。
【００８６】
以上、本発明の実施の形態を説明したが、上述した実施の形態は本発明を実施するための例示に過ぎない。よって、本発明は上述した実施の形態に限定されることなく、その趣旨を逸脱しない範囲内で上述した実施の形態を適宜変形して実施することが可能である。
【産業上の利用可能性】
【００８７】
本発明によるコンテンツ配信システムは、ピアツーピア型のコンテンツ配信システムに利用可能である。
【図面の簡単な説明】
【００８８】
【図１】本発明の実施の形態によるコンテンツ配信システムの構成を示す機能ブロック図である。
【図２】図１に示したピアに保存されるダウンロードファイルのデータ構造を示す説明図である。
【図３】図１に示したコンテンツ配信システムに用いられるコンテンツ情報のデータ構造を示す説明図である。
【図４】図３に示したデータ構造の詳細を示す説明図である。
【図５】図１に示したコンテンツ配信システムの動作を示す説明図である。
【図６】図１に示したコンテンツ配信システムの動作を示すフロー図である。
【図７】図６中のステップＳ４の詳細を示すフロー図である。
【図８】図６中のステップＳ５の詳細を示すフロー図である。
【図９】図８中のステップＳ１７の詳細を示すフロー図である。
【符号の説明】
【００８９】
２０  ストリームサーバ
２１  ストリームデータベース
３０  ピア
３１  ローカルデータベース
３２  制御部
３３  ダウンロード部
３４  要求部
３５  再生部
４２  メタ情報
ｕｒｉ  ロケーション情報
【図１】
2006209356.tif 000005
【図２】
2006209356.tif 000006
【図３】
2006209356.tif 000007
【図４】
2006209356.tif 000008
【図５】
2006209356.tif 000009
【図６】
2006209356.tif 000010
【図７】
2006209356.tif 000011
【図８】
2006209356.tif 000012
【図９】
2006209356.tif 000013