(57)【要約】【課題】Ｐ２Ｐ端末によるコンテンツの視聴を迅速に開始させる。【解決手段】Ｐ２Ｐ端末１は、他のＰ２Ｐ端末とＰ２Ｐ通信を行うＰ２Ｐ通信部１１と、セグメント化データを受信して再生するＨＴＴＰ配信再生部１２とを備える。ＨＴＴＰ配信再生部１２はセグメント化データの取得先ＵＲＬを含む情報のリクエストを視聴開始補助サーバ２に送信し、視聴開始補助サーバ２はリクエストに応じてセグメント化データの取得先ＵＲＬを含むレスポンスをＨＴＴＰ配信再生部１２に送信する。ＨＴＴＰ配信再生部１２は取得先ＵＲＬからセグメント化データを受信して再生する。Ｐ２Ｐ通信部１１はＰ２Ｐネットワークへの参加処理を行い、ＨＴＴＰ配信再生部１２は、Ｐ２Ｐ通信部１１によるＰ２Ｐネットワークへの参加処理が完了すると、セグメント化データの取得先をＰ２Ｐ通信部１１に変更する。【選択図】図１
2015095824.tif 000002
【特許請求の範囲】
【請求項１】
Ｐ２Ｐネットワークに参加可能なＰ２Ｐ端末と、該Ｐ２Ｐ端末におけるコンテンツの分割単位であるセグメント化データの取得を補助する視聴開始補助サーバとを備えるコンテンツ配信システムであって、
Ｐ２Ｐ端末は、他のＰ２Ｐ端末とＰ２Ｐ通信を行うＰ２Ｐ通信部と、セグメント化データを受信して再生するＨＴＴＰ配信再生部とを備えており、
前記ＨＴＴＰ配信再生部は、セグメント化データの取得先ＵＲＬを含む情報のリクエストを前記視聴開始補助サーバに送信し、
前記視聴開始補助サーバは、前記ＨＴＴＰ配信再生部から前記リクエストを受信すると、セグメント化データの取得先ＵＲＬを含むレスポンスを前記ＨＴＴＰ配信再生部に送信し、
前記ＨＴＴＰ配信再生部は、前記セグメント化データの取得先ＵＲＬからセグメント化データを受信して再生し、
前記Ｐ２Ｐ通信部は、Ｐ２Ｐネットワークへの参加処理を行い、
前記ＨＴＴＰ配信再生部は、前記Ｐ２Ｐ通信部による前記Ｐ２Ｐネットワークへの参加処理が完了すると、セグメント化データの取得先を前記Ｐ２Ｐ通信部に変更する、コンテンツ配信システム。
【請求項２】
前記Ｐ２Ｐ通信部は、前記Ｐ２Ｐネットワークへの参加処理が完了すると、前記ＨＴＴＰ配信再生部の前記視聴開始補助サーバに対する前記リクエストを当該Ｐ２Ｐ通信部に転送するように要求するリクエスト転送要求を前記視聴開始補助サーバに送信し、
前記視聴開始補助サーバは、前記Ｐ２Ｐ通信部から前記リクエスト転送要求を受信すると、前記ＨＴＴＰ配信再生部からの前記リクエストを前記Ｐ２Ｐ通信部に転送し、
前記Ｐ２Ｐ通信部は、前記視聴開始補助サーバから前記リクエストが転送されると、セグメント化データの取得先ＵＲＬを当該Ｐ２Ｐ通信部のＵＲＬに更新し、該更新されたセグメント化データの取得先ＵＲＬを含むレスポンスを前記ＨＴＴＰ配信再生部に送信する、請求項１に記載のコンテンツ配信システム。
【請求項３】
前記Ｐ２Ｐ通信部は、他のＰ２Ｐ端末から受信したセグメント化データの格納数が所定の規定値以上になったときに、前記リクエスト転送要求を前記視聴開始補助サーバに送信する、請求項２に記載のコンテンツ配信システム。
【請求項４】
Ｐ２Ｐネットワークに参加可能なＰ２Ｐ端末であって、
他のＰ２Ｐ端末とＰ２Ｐ通信を行うＰ２Ｐ通信部と、セグメント化データを受信して再生するＨＴＴＰ配信再生部とを備えおり、
前記ＨＴＴＰ配信再生部は、セグメント化データの取得先ＵＲＬを含む情報のリクエストを視聴開始補助サーバに送信し、
前記ＨＴＴＰ配信再生部は、前記視聴開始補助サーバからセグメント化データの取得先ＵＲＬを含むレスポンスを受信し、該セグメント化データの取得先ＵＲＬからセグメント化データを受信して再生し、
前記Ｐ２Ｐ通信部は、Ｐ２Ｐネットワークへの参加処理を行い、
前記ＨＴＴＰ配信再生部は、前記Ｐ２Ｐ通信部による前記Ｐ２Ｐネットワークへの参加処理が完了すると、セグメント化データの取得先を前記Ｐ２Ｐ通信部に変更する、Ｐ２Ｐ端末。
【請求項５】
前記Ｐ２Ｐ通信部は、前記Ｐ２Ｐネットワークへの参加処理が完了すると、前記ＨＴＴＰ配信再生部の前記視聴開始補助サーバに対する前記リクエストを当該Ｐ２Ｐ通信部に転送するように要求するリクエスト転送要求を前記視聴開始補助サーバに送信し、
前記Ｐ２Ｐ通信部は、前記視聴開始補助サーバから前記リクエストが転送されると、セグメント化データの取得先ＵＲＬを当該Ｐ２Ｐ通信部のＵＲＬに更新し、該更新されたセグメント化データの取得先ＵＲＬを含むレスポンスを前記ＨＴＴＰ配信再生部に送信する、請求項４に記載のＰ２Ｐ端末。
【請求項６】
前記Ｐ２Ｐ通信部は、他のＰ２Ｐ端末から受信したセグメント化データの格納数が所定の規定値以上になったときに、前記リクエスト転送要求を前記視聴開始補助サーバに送信する、請求項５に記載のＰ２Ｐ端末。
【請求項７】
Ｐ２Ｐ端末におけるコンテンツの分割単位であるセグメント化データの取得を補助する視聴開始補助サーバであって、
Ｐ２Ｐ端末は、他のＰ２Ｐ端末とＰ２Ｐ通信を行うＰ２Ｐ通信部と、セグメント化データを受信して再生するＨＴＴＰ配信再生部とを備えており、
前記ＨＴＴＰ配信再生部からのセグメント化データの取得先ＵＲＬを含む情報のリクエストに応じて、セグメント化データの取得先ＵＲＬを含むレスポンスを前記ＨＴＴＰ配信再生部に送信し、
前記Ｐ２Ｐ通信部から、前記リクエストを当該Ｐ２Ｐ通信部に転送するように要求するリクエスト転送要求を受信すると、前記ＨＴＴＰ配信再生部からの前記リクエストを前記Ｐ２Ｐ通信部に転送する、視聴開始補助サーバ。
【請求項８】
Ｐ２Ｐネットワークに参加可能なＰ２Ｐ端末と、該Ｐ２Ｐ端末におけるコンテンツの分割単位であるセグメント化データの取得を補助する視聴開始補助サーバとを備えるコンテンツ配信システムにおけるコンテンツ配信方法であって、
前記Ｐ２Ｐ端末は、他のＰ２Ｐ端末とＰ２Ｐ通信を行うＰ２Ｐ通信部と、セグメント化データを受信して再生するＨＴＴＰ配信再生部とを備えており、
前記ＨＴＴＰ配信再生部により、セグメント化データの取得先ＵＲＬを含む情報のリクエストを前記視聴開始補助サーバに送信するステップと、
前記視聴開始補助サーバにより、前記ＨＴＴＰ配信再生部から前記リクエストを受信すると、セグメント化データの取得先ＵＲＬを含むレスポンスを前記ＨＴＴＰ配信再生部に送信するステップと、
前記ＨＴＴＰ配信再生部により、前記セグメント化データの取得先ＵＲＬからセグメント化データを受信して再生するステップと、
前記Ｐ２Ｐ通信部により、Ｐ２Ｐネットワークへの参加処理を行うステップと、
前記ＨＴＴＰ配信再生部により、前記Ｐ２Ｐ通信部による前記Ｐ２Ｐネットワークへの参加処理が完了すると、セグメント化データの取得先を前記Ｐ２Ｐ通信部に変更するステップと、
を含むコンテンツ配信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツ配信システム、Ｐ２Ｐ端末、視聴開始補助サーバ、及びコンテンツ配信方法に関するものである。
【背景技術】
【０００２】
近年インターネットにおいては、ストリーミングによる動画配信サービスが普及している。また、受信端末において視聴したいコンテンツを選択し、配信サーバより選択したコンテンツを受信するＶＯＤ（Video On Demand）のような一対一の配信サービスに加え、同一のコンテンツを多数の受信端末に同時に伝送する一対多（放送型）の配信サービスが知られている。
【０００３】
さらに、ＩＰネットワークにおいて、放送型の動画配信サービスを効率よく行う方式として、ＩＰマルチキャストが知られている。しかし、このＩＰマルチキャスト方式では、通信事業者の専用ネットワークが必要であり、複数事業者を跨いだサービスが困難であった。
【０００４】
こうした背景から、通信事業者の専用のネットワークを必要とせずに、複数事業者を跨いだ放送型の動画配信サービスを可能とするため、ピアツーピア技術を用いたコンテンツの分散配信技術が考案された。こうした技術は、コンテンツを要求する端末同士で論理的なツリーを作り、端末上で動作するアプリケーションソフトが相互にデータ転送を行うことによりマルチキャスト（一対多通信）を実現する（例えば、特許文献１参照）。
【０００５】
特許文献１に記載のストリームデータ分散配信方法では、インターネット等のネットワーク環境において、各ノード間でストリームデータの送受信を行うために、各ノードは、上流ノードと下流ノードとの接続関係を示すトポロジ情報を交換して、上流ノードから下流ノードへストリームデータを中継している。このストリームデータ分散配信方法では、各ノード間でトポロジ情報を交換するために、各ノードが自律的にトポロジ情報を記憶及び更新し、さらに提供する等の管理を行う機能を備えている。
【０００６】
また、このようなコンテンツ配信方式の別の例として、配信サーバにおいて、ストリーミングメディアを複数のデータパケットに断片化し（断片化されたデータをチャンクと呼ぶ）、各端末は必要なチャンクを持つ端末を動的に検出し、検出した端末から、プル型でチャンクを受信し、受信したチャンクを再構成することにより、所望のストリーミングメディアを得る技術が知られている（例えば、非特許文献１参照）。
【０００７】
図１７は、コンテンツ配信システムの一例を示す図である。この例では、配信サーバ５によって１〜６の６個に断片化したチャンクのうち、奇数番号のチャンクが実線に沿って、偶数番号のチャンクが破線に沿ってそれぞれ転送されることで、図示する６台の各端末（利用者端末）に対して、全てのチャンクが行き届いている様子を示している。このようなＰ２Ｐネットワークによるコンテンツ配信システムは、配信サーバから送出されるコンテンツを端末（Ｐ２Ｐ端末）が次々と中継していくことによって、配信サーバの負荷を軽減することが可能となり、低コストで大規模な配信を実現する方式として期待されている（以後、「Ｐ２Ｐ配信」と呼ぶ）。
【０００８】
図１８は、新たなＰ２Ｐ端末がＰ２Ｐネットワークに参加し、視聴を開始する一般的な手順を示す図である。この図を参照して、新たなＰ２Ｐ端末がＰ２Ｐネットワークに参加し、視聴を開始するまでの手順を説明する。端末管理サーバ６は、Ｐ２Ｐネットワークに参加するＰ２Ｐ端末の情報を管理するサーバである。新規にＰ２Ｐネットワークに参加するＰ２Ｐ端末（Ｐ２Ｐ端末Ｘ）は、端末管理サーバ６に自身の端末情報（ＩＰアドレスやポート番号等）を登録する（ステップ１）。端末管理サーバ６は、現在Ｐ２Ｐネットワークに参加している他のＰ２Ｐ端末Ａ，Ｂ，Ｃ・・・や配信サーバ５の端末情報のリストを返信する（ステップ２）。Ｐ２Ｐ端末Ｘは、受信したリストから自身に適したＰ２Ｐ端末を選択して接続することで、Ｐ２Ｐネットワークに参加してコンテンツを受信し、視聴を開始する（ステップ３）。
【０００９】
また、汎用ＯＳ上で動作するＰ２Ｐアプリケーションソフトウェア（Ｐ２Ｐ端末）は、一般にコンテンツを再生する視聴プレーヤソフトウェア、及び所定のＰ２Ｐ通信プロトコルによるコンテンツの中継機能を有するＰ２Ｐ通信ソフトウェアを組み合わせて実装される。
【００１０】
図１９は、Ｐ２Ｐアプリケーションソフトウェアの構成の一例を示す図である。視聴プレーヤソフトウェアとしては、ＯＳにあらかじめインストールされている既成のソフトウェア（例えば、Windows Media Player（登録商標）やQuickTime Player（登録商標））や、Ｗｅｂブラウザのプラグインとして提供されているソフトウェア（例えば、Flash Player（登録商標）やSilverlight（登録商標））がある。視聴プレーヤは、例えばＨ．２６４やＡＡＣなど国際標準規格（ＩＳＯ）に従ったストリームのデコード機能及びデコード映像の提示機能を有しているほか、ベンダ独自プロトコルやＨＴＴＰ通信規格をベースとするストリーミングプロトコルによりネットワーク経由でのストリームを受信するインタフェースを有している。
【００１１】
Ｐ２Ｐ通信ソフトウェア３２は、所定のＰ２Ｐ通信プロトコルによりＰ２Ｐネットワークに参加し、コンテンツの中継を行うとともに、コンテンツバッファにコンテンツを格納する。また、Ｐ２Ｐ通信ソフトウェア３２は、視聴プレーヤソフトウェア３１が対応するストリーミングプロトコルを実装したサーバ機能を有しており、視聴プレーヤソフトウェア３１に対しては、配信サーバのように振る舞う。これら２つのソフトウェアを組み合わせて、Ｐ２Ｐ通信ソフトウェア３２が所定のＰ２Ｐ通信プロトコルにより受信したコンテンツを、ローカル通信インタフェースを介して、視聴プレーヤソフトウェアに対して配信し、視聴プレーヤソフトウェア３１が入力したコンテンツを再生することにより、ユーザがコンテンツを視聴することができるようになる。
【００１２】
ところで、昨今の動画配信では、専用のサーバと専用のプロトコルによるストリーミング配信方式から、汎用的なＷｅｂサーバによりＨＴＴＰプロトコルを用いてストリーミング配信する方式への移行が進んでおり、多くのデバイス向けの配信において主流となっている。このようなＨＴＴＰプロトコルによるストリーミング配信方式（アダプティブストリーミング）としては、ＩＴベンダによる独自技術が普及している他、これらストリーミング方式の統一を意図した国際標準規格の策定が進んでいる（例えば、非特許文献２参照）。いずれの技術も基本的なコンセプトは同様であり、Ｗｅｂサーバには動画コンテンツを数秒から数十秒程度のファイルに分割したもの（セグメント化データ）と、それらの動画コンテンツの属性やＵＲＬを記述したマニフェストファイルを用意し、端末はマニフェストファイルのＵＲＬに従って次々とセグメント化データを受信し、１本の動画コンテンツにつなぎ合わせて再生するものである。
【００１３】
ＨＴＴＰプロトコルによるストリーミング配信方式では、セグメント化データが順次生成される（例えば、非特許文献３参照）。図２０は、ＨＴＴＰプロトコルによるストリーミング配信方式の概念を示す図である。ここでは、ライブエンコーダでエンコードされたコンテンツが時間の進行に合わせて分割され、１〜６のセグメント化データが順次生成されている。マニフェストも同様に、セグメント化データが生成されるのに合わせて内容が更新されている。つまり、一番左のマニフェストファイルには１〜３のセグメント化データのＵＲＬが登録されており、次のマニフェストファイルには２〜４のセグメント化データのＵＲＬが登録されているように、順次登録されているセグメント化データのＵＲＬが一定個数ずつスライドしている。セグメント化データ及びマニフェストは順次Ｗｅｂサーバに供給されている。端末は、Ｗｅｂサーバからマニフェストファイルを受信し、マニフェストファイルに登録されているセグメント化データを順次ＨＴＴＰプロトコルにより受信する。また、更新されたマニフェストファイルを受信し、新規に登録されたセグメント化データを受信する処理を繰り返すことにより一連のコンテンツを受信することができる（以後、「ＨＴＴＰ配信」と呼ぶ）。
【００１４】
Ｐ２Ｐネットワークによるコンテンツ配信システムは、利用者端末が、個別に配信サーバ５からコンテンツを受信するＨＴＴＰ配信方式と比較すると、配信サーバ５から送出されるコンテンツをＰ２Ｐ端末が次々と中継していくことによって、配信サーバ５の負荷を軽減して低コストで大規模な配信を実現できる一方で、コンテンツの受信に先立ち、Ｐ２Ｐネットワークに参加しコンテンツの配信元となる他のＰ２Ｐ端末を検索して接続を確立する必要があることから、視聴開始までに多くの時間を要していた。
【００１５】
また、Ｐ２Ｐアプリケーション内部においては、視聴プレーヤソフトウェアがＰ２Ｐ通信ソフトウェアにローカル通信インタフェースを介して接続して視聴を開始することから、視聴プレーヤソフトウェアに先立ち、Ｐ２Ｐ通信ソフトウェアが起動し、視聴プレーヤからのストリーム要求を待受けている必要がある。Ｐ２Ｐ通信ソフトウェアは他のＰ２Ｐ端末（ＰＣ等）から接続を受け付ける必要があることから、ソフトウェアの起動に際してＯＳによりファイアウォール機能の設定を促すためのメッセージが表示され、ユーザのインタラクションを待機するなど、起動までに時間がかかる場合がある。このように、Ｐ２Ｐ通信ソフトウェアの起動に時間がかかる場合は、再生までの待ち時間がさらに大きくなるといった問題があった。
【００１６】
このような再生までの待ち時間を短縮する技術としては、複数のデータ提供ノードと共にネットワークに収容されるコンテンツのストリーミング再生装置において、コンテンツのストリーミング再生を迅速に開始させることを目的とした、ストリーミング再生装置、ストリーミング再生方法、コンピュータプログラム及び記憶媒体が開示されている（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【００１７】
【特許文献１】特開２００３−１６９０８９号公報
【特許文献２】国際公開第２０１２／０５３０４７号
【非特許文献】
【００１８】
【非特許文献１】CoolStreaming/DoNet: A Data-Driven Overlay Network for Efficient Live Media Streaming”, In Proc. Of the 24thIEEE INFOCO, March 2005, ｐ．2102-2111 Xinyan Zhang, Jiangchuan Liu, Bo Li and Tak-Shing Peter Yum
【非特許文献２】“次世代動画配信技術「ＭＰＥＧ−ＤＡＳＨ」技術概要と標準化・関連技術動向”、映像情報メディア学会誌、Vol,67、No.2、2013、p.109-115
【発明の概要】
【発明が解決しようとする課題】
【００１９】
特許文献２に記載の技術によれば、複数のデータ提供ノード（Ｐ２Ｐ端末）各々との間の通信状態を特定し、ストリーミング再生を開始するために必要となるデータとしての再生開始データを細分化してなる複数の細部化データを要求する要求プロトコルを、各データ提供ノード間で細分化データの要求プロトコルの送信時点から細分化データの転送が終了する時点に至る転送時間が均等になるように生成することにより、再生開始データの取得に要する時間を短縮している。
【００２０】
しかしながら、特許文献２に記載の技術は、あらかじめ複数のデータ提供ノードと通信が可能な状態（つまり、あらかじめＰ２Ｐネットワークが構築された状態）であることが前提となっていることから、Ｐ２Ｐネットワークに参加しコンテンツの配信元となる他のＰ２Ｐ端末（データ提供ノード）を検索するまでに要する時間については考慮されておらず、視聴を迅速に開始できない場合があった。さらに、Ｐ２Ｐ通信ソフトウェアの起動までにかかる時間についても考慮されていないことから、視聴を迅速に開始できない場合があった。
【００２１】
かかる事情に鑑みてなされた本発明の目的は、Ｐ２Ｐ端末によるコンテンツの視聴を迅速に開始させることを可能とするコンテンツ配信システム、Ｐ２Ｐ端末、視聴開始補助サーバ、及びコンテンツ配信方法を提供することにある。
【課題を解決するための手段】
【００２２】
上記課題を解決するため、本発明に係るコンテンツ配信システムは、Ｐ２Ｐネットワークに参加可能なＰ２Ｐ端末と、該Ｐ２Ｐ端末におけるコンテンツの分割単位であるセグメント化データの取得を補助する視聴開始補助サーバとを備えるコンテンツ配信システムであって、Ｐ２Ｐ端末は、他のＰ２Ｐ端末とＰ２Ｐ通信を行うＰ２Ｐ通信部と、セグメント化データを受信して再生するＨＴＴＰ配信再生部とを備えており、前記ＨＴＴＰ配信再生部は、セグメント化データの取得先ＵＲＬを含む情報のリクエストを前記視聴開始補助サーバに送信し、前記視聴開始補助サーバは、前記ＨＴＴＰ配信再生部から前記リクエストを受信すると、セグメント化データの取得先ＵＲＬを含むレスポンスを前記ＨＴＴＰ配信再生部に送信し、前記ＨＴＴＰ配信再生部は、前記セグメント化データの取得先ＵＲＬからセグメント化データを受信して再生し、前記Ｐ２Ｐ通信部は、Ｐ２Ｐネットワークへの参加処理を行い、前記ＨＴＴＰ配信再生部は、前記Ｐ２Ｐ通信部による前記Ｐ２Ｐネットワークへの参加処理が完了すると、セグメント化データの取得先を前記Ｐ２Ｐ通信部に変更する。
【００２３】
さらに、本発明に係るコンテンツ配信システムにおいて、前記Ｐ２Ｐ通信部は、前記Ｐ２Ｐネットワークへの参加処理が完了すると、前記ＨＴＴＰ配信再生部の前記視聴開始補助サーバに対する前記リクエストを当該Ｐ２Ｐ通信部に転送するように要求するリクエスト転送要求を前記視聴開始補助サーバに送信し、前記視聴開始補助サーバは、前記Ｐ２Ｐ通信部から前記リクエスト転送要求を受信すると、前記ＨＴＴＰ配信再生部からの前記リクエストを前記Ｐ２Ｐ通信部に転送し、前記Ｐ２Ｐ通信部は、前記視聴開始補助サーバから前記リクエストが転送されると、セグメント化データの取得先ＵＲＬを当該Ｐ２Ｐ通信部のＵＲＬに更新し、該更新されたセグメント化データの取得先ＵＲＬを含むレスポンスを前記ＨＴＴＰ配信再生部に送信する。
【００２４】
さらに、本発明に係るコンテンツ配信システムにおいて、前記Ｐ２Ｐ通信部は、他のＰ２Ｐ端末から受信したセグメント化データの格納数が所定の規定値以上になったときに、前記リクエスト転送要求を前記視聴開始補助サーバに送信する。
【００２５】
また、上記課題を解決するため、本発明に係るＰ２Ｐ端末は、Ｐ２Ｐネットワークに参加可能なＰ２Ｐ端末であって、他のＰ２Ｐ端末とＰ２Ｐ通信を行うＰ２Ｐ通信部と、セグメント化データを受信して再生するＨＴＴＰ配信再生部とを備えおり、前記ＨＴＴＰ配信再生部は、セグメント化データの取得先ＵＲＬを含む情報のリクエストを視聴開始補助サーバに送信し、前記ＨＴＴＰ配信再生部は、前記視聴開始補助サーバからセグメント化データの取得先ＵＲＬを含むレスポンスを受信し、該セグメント化データの取得先ＵＲＬからセグメント化データを受信して再生し、前記Ｐ２Ｐ通信部は、Ｐ２Ｐネットワークへの参加処理を行い、前記ＨＴＴＰ配信再生部は、前記Ｐ２Ｐ通信部による前記Ｐ２Ｐネットワークへの参加処理が完了すると、セグメント化データの取得先を前記Ｐ２Ｐ通信部に変更する。
【００２６】
さらに、本発明に係るＰ２Ｐ端末において、前記Ｐ２Ｐ通信部は、前記Ｐ２Ｐネットワークへの参加処理が完了すると、前記ＨＴＴＰ配信再生部の前記視聴開始補助サーバに対する前記リクエストを当該Ｐ２Ｐ通信部に転送するように要求するリクエスト転送要求を前記視聴開始補助サーバに送信し、前記Ｐ２Ｐ通信部は、前記視聴開始補助サーバから前記リクエストが転送されると、セグメント化データの取得先ＵＲＬを当該Ｐ２Ｐ通信部のＵＲＬに更新し、該更新されたセグメント化データの取得先ＵＲＬを含むレスポンスを前記ＨＴＴＰ配信再生部に送信する。
【００２７】
さらに、本発明に係るＰ２Ｐ端末において、前記Ｐ２Ｐ通信部は、他のＰ２Ｐ端末から受信したセグメント化データの格納数が所定の規定値以上になったときに、前記リクエスト転送要求を前記視聴開始補助サーバに送信する。
【００２８】
また、上記課題を解決するため、本発明に係る視聴開始補助サーバは、Ｐ２Ｐ端末におけるコンテンツの分割単位であるセグメント化データの取得を補助する視聴開始補助サーバであって、Ｐ２Ｐ端末は、他のＰ２Ｐ端末とＰ２Ｐ通信を行うＰ２Ｐ通信部と、セグメント化データを受信して再生するＨＴＴＰ配信再生部とを備えており、前記ＨＴＴＰ配信再生部からのセグメント化データの取得先ＵＲＬを含む情報のリクエストに応じて、セグメント化データの取得先ＵＲＬを含むレスポンスを前記ＨＴＴＰ配信再生部に送信し、前記Ｐ２Ｐ通信部から、前記リクエストを当該Ｐ２Ｐ通信部に転送するように要求するリクエスト転送要求を受信すると、前記ＨＴＴＰ配信再生部からの前記リクエストを前記Ｐ２Ｐ通信部に転送する。
【００２９】
また、上記課題を解決するため、本発明に係るコンテンツ配信方法は、Ｐ２Ｐネットワークに参加可能なＰ２Ｐ端末と、該Ｐ２Ｐ端末におけるコンテンツの分割単位であるセグメント化データの取得を補助する視聴開始補助サーバとを備えるコンテンツ配信システムにおけるコンテンツ配信方法であって、前記Ｐ２Ｐ端末は、他のＰ２Ｐ端末とＰ２Ｐ通信を行うＰ２Ｐ通信部と、セグメント化データを受信して再生するＨＴＴＰ配信再生部とを備えており、前記ＨＴＴＰ配信再生部により、セグメント化データの取得先ＵＲＬを含む情報のリクエストを前記視聴開始補助サーバに送信するステップと、前記視聴開始補助サーバにより、前記ＨＴＴＰ配信再生部から前記リクエストを受信すると、セグメント化データの取得先ＵＲＬを含むレスポンスを前記ＨＴＴＰ配信再生部に送信するステップと、前記ＨＴＴＰ配信再生部により、前記セグメント化データの取得先ＵＲＬからセグメント化データを受信して再生するステップと、前記Ｐ２Ｐ通信部により、Ｐ２Ｐネットワークへの参加処理を行うステップと、前記ＨＴＴＰ配信再生部により、前記Ｐ２Ｐ通信部による前記Ｐ２Ｐネットワークへの参加処理が完了すると、セグメント化データの取得先を前記Ｐ２Ｐ通信部に変更するステップと、を含む。
【発明の効果】
【００３０】
本発明によれば、Ｐ２Ｐネットワーク参加処理の終了を待つことなく、視聴を迅速に開始することができるようになる。
【図面の簡単な説明】
【００３１】
【図１】本発明の一実施形態に係るコンテンツ配信システムの構成例を示すブロック図である。
【図２】Ｗｅｂサーバが送信する視聴ページの一例を示す図である。
【図３】本発明の一実施形態に係る視聴開始補助サーバの構成例を示すブロック図である。
【図４】マニフェストファイルの一例を示す図である。
【図５】本発明の一実施形態に係る視聴開始補助サーバのセグメントバッファの構成例を示すブロック図である。
【図６】本発明の一実施形態に係るＰ２Ｐ端末の構成例を示すブロック図である。
【図７】本発明の一実施形態に係るＰ２Ｐ端末のコンテンツバッファの状態の一例を示す図である。
【図８】本発明の一実施形態に係るＰ２Ｐ端末のコンテンツバッファの状態に対するマニフェストの一例を示す図である。
【図９】本発明の一実施形態に係るＰ２Ｐ端末の起動動作を示すシーケンス図である。
【図１０】本発明の一実施形態に係るＰ２Ｐ端末のＰ２Ｐ通信処理の動作を示すフローチャートである。
【図１１】本発明の一実施形態に係るＰ２Ｐ端末のＰ２Ｐネットワーク参加処理を示すフローチャートである。
【図１２】本発明の一実施形態に係るＰ２Ｐ端末の視聴補助開始サーバに対するリクエスト転送要求処理を示すシーケンス図である。
【図１３】本発明の一実施形態に係るＰ２Ｐ端末のＨＴＴＰサーバ処理を示すフローチャートである。
【図１４】本発明の一実施形態に係る視聴開始補助サーバのＨＴＴＰリクエストにかかる動作を示すフローチャートである。
【図１５】本発明の一実施形態に係るＰ２Ｐ端末のＨＴＴＰ配信再生処理を示すフローチャートである。
【図１６】ＨＴＴＰリクエスト／ＨＴＴＰレスポンスのメッセージフォーマットの一例を示す図である。
【図１７】従来のコンテンツ配信システムの一例を示す図である。
【図１８】従来のＰ２Ｐ端末のＰ２Ｐネットワーク参加処理を示すフローチャートである。
【図１９】従来のＰ２Ｐアプリケーションソフトウェアの構成の一例を示す図である。
【図２０】従来のＨＴＴＰプロトコルによるストリーミング配信方式の概念を示す図である。
【発明を実施するための形態】
【００３２】
以下、本発明の一実施形態について、図面を参照して詳細に説明する。なお、以下に説明する実施形態では、Ｐ２Ｐ配信のデータ中継にかかるコンテンツの配信単位（分割単位）をＨＴＴＰ配信におけるコンテンツの配信単位であるセグメント化データと共通とする。
【００３３】
図１は、本発明の一実施形態に係るコンテンツ配信システムの構成例を示すブロック図である。この例では、コンテンツ配信システムは、複数のＰ２Ｐ端末１と、視聴開始補助サーバ２と、オリジンサーバ３と、Ｗｅｂサーバ４と、配信サーバ５と、端末管理サーバ６とを備え、それぞれインターネットに接続される。なお、図１においては、視聴開始補助サーバ２と、オリジンサーバ３と、Ｗｅｂサーバ４と、配信サーバ５と、端末管理サーバ６とを個別のサーバとして表記しているが、一つのサーバに全ての機能を具備してもよい。また、以下の説明において、新規にＰ２Ｐネットワークに参加する新規参加Ｐ２Ｐ端末に対して、既にＰ２Ｐネットワークに参加しており新規参加Ｐ２Ｐ端末の接続先候補又は接続先となる他のＰ２Ｐ端末を区別する場合には、該他のＰ２Ｐ端末の符号を１’と表記する。
【００３４】
オリジンサーバ３は、コンテンツの配信元となるサーバであり、コンテンツをセグメント化データに分割するとともに、マニフェストを生成し、視聴開始補助サーバ２及び配信サーバ５に送信する。
【００３５】
配信サーバ５は、オリジンサーバ３から受信したセグメント化データを、Ｐ２Ｐネットワークに参加するＰ２Ｐ端末１’に対し順次配信するサーバである。Ｐ２Ｐネットワークは、配信サーバ５及びＰ２Ｐ端末１’が階層的に接続して構成される。
【００３６】
端末管理サーバ６は、本発明のコンテンツ配信システムのＰ２Ｐネットワークに参加している配信サーバ５や各Ｐ２Ｐ端末１’のコンテンツ配信に係る情報である端末情報のリストを保持し、新規参加Ｐ２Ｐ端末１からの所望のコンテンツＩＤのＰ２Ｐネットワークに対する接続先紹介要求を受け付け、接続先候補リストを返信する。端末情報には、Ｐ２Ｐネットワークに参加する配信サーバ５やＰ２Ｐ端末１’の端末ＩＤに対応付けて、ＩＰアドレスやポート番号などの、データ転送に必要な情報が含まれる。接続先候補リストは、新規参加Ｐ２Ｐ端末１の接続先の候補となる、既にＰ２Ｐネットワークに参加している配信サーバ５及びＰ２Ｐ端末１’の端末情報を一つ以上含むリストである。
【００３７】
Ｗｅｂサーバ４は、Ｐ２Ｐ端末１においてユーザが選択したコンテンツの視聴ページを送信するサーバである。視聴ページは例えばＨＴＭＬ形式によるＷｅｂページで構成され、コンテンツへのアクセス情報（ＩＰアドレス、ＵＲＬ、コンテンツＩＤ等）、及びＰ２Ｐアプリケーションを構成する視聴プレーヤソフトウェア、Ｐ２Ｐ通信ソフトウェアへのアクセス情報や、これらソフトウェアの起動を促すタグ情報、Ｐ２Ｐアプリケーションに対して一意に割り当てられた端末ＩＤ等を含む。
【００３８】
図２は、Ｗｅｂサーバが送信する視聴ページの一例を示す図である。この例では、４〜７行目が視聴プレーヤソフトウェア起動タグを示しており、視聴プレーヤソフトウェアをFlash Playerを用いて実装した例を示している。タグ内を見ると、５行目が視聴プレーヤソフトウェアのアクセス情報（ダウンロードＵＲＬ）を示しており、６行目の“src=http://192.168.11.1/content01.m3u8”がコンテンツへのアクセス情報を、“nid=0001”が端末ＩＤを示している。
【００３９】
また、１０〜１３行目がＰ２Ｐ通信ソフトウェア起動タグを示しており、Ｐ２Ｐ通信ソフトウェアをJava Applet（登録商標）を用いて実装した例を示している。タグ内を見ると、１０行目がＰ２Ｐ通信ソフトウェアのアクセス情報（ダウンロードＵＲＬ）を示しており、１１行目がコンテンツへのアクセス情報（コンテンツＩＤ）を、１２行目が端末ＩＤをそれぞれ示している。
【００４０】
Ｐ２Ｐ端末１は、他のＰ２Ｐ端末１’とＰ２Ｐ通信を行うＰ２Ｐ通信部１１と、セグメント化データを受信して再生するＨＴＴＰ配信再生部１２とを備える。詳細は後述する。
【００４１】
［視聴開始補助サーバ］
次に、視聴開始補助サーバ２について説明する。視聴開始補助サーバ２は、オリジンサーバ３からセグメント化データ及びマニフェストを受信し、Ｐ２Ｐ端末１のリクエストに対してマニフェスト及びセグメント化データを送信するとともに、マニフェストの取得先を転送するサーバである。視聴開始補助サーバ２は、Ｐ２Ｐ端末におけるセグメント化データの取得を補助し、Ｐ２Ｐ端末１がＰ２Ｐネットワークの参加処理を完了し、ＨＴＴＰ配信のリクエストを受付けできるようになるまでの間、マニフェスト及びセグメント化データをＰ２Ｐ端末１に送信する。
【００４２】
図３は、視聴開始補助サーバ２の構成例を示すブロック図である。視聴開始補助サーバ２は、配信素材受信部２１と、ＨＴＴＰリクエスト受信部２２と、リクエスト解析部２３と、ＨＴＴＰレスポンス送信部２４と、リクエスト転送要求受付部２５と、記憶部２６と、通信Ｉ／Ｆ２７とを備える。記憶部２６は、転送待ちリスト２６１と、セグメントバッファ２６２と、マニフェスト記憶部２６３とを備える。
【００４３】
転送待ちリスト２６１は、端末ＩＤに対応付けて、転送可否フラグ及び転送先アドレス情報を格納するリストである。転送可否フラグは、端末ＩＤのマニフェストのリクエストを転送可能か否かについて示すフラグである。転送先アドレス情報は、転送可否フラグが「転送可」の時に、リクエストの転送先となるアドレス情報（ＩＰアドレスとポート番号の組、又はＵＲＬ）である。
【００４４】
セグメントバッファ２６２は、セグメント化データを格納する。
【００４５】
マニフェスト記憶部２６３は、マニフェスト内の先頭のセグメント化データのシーケンス番号と対応付けてマニフェストを記憶する。
【００４６】
配信素材受信部２１は、オリジンサーバ３からセグメント化データを受信し、セグメントバッファ２６２に順次格納するとともに、セグメント化データのＵＲＬを記載したマニフェストを受信し、マニフェスト内の先頭のセグメント化データのシーケンス番号と対応付けてマニフェスト記憶部２６３に格納する。
【００４７】
なお、本実施形態では、オリジンサーバ３から入力されるマニフェスト及びセグメント化データは、マニフェストに記載されるセグメント化データ数を５に、セグメント化データの分割周期を３秒に予め設定されているものとする。
【００４８】
図４は、マニフェストの一例を示す図であり、ＩＥＴＦ（Internet Engineering Task Force）のインターネットドラフトである“HTTP Live Streaming”の仕様に従ったマニフェストの例を示している。“HTTP Live Streaming”の詳細については、例えば、インターネット＜ＵＲＬ：http://tools.ietf.org/html/draft-pantos-http-live-streaming-12＞を参照されたい。
【００４９】
図４では、シーケンス番号（セグメントＩｄ）＝１４を先頭として、３秒の５つのセグメント化データ（ｔｓファイル）の取得先ＵＲＬが存在する例を示している。セグメント化データのファイル名は、「コンテンツ名」（content01_）、「セグメントＩｄ」の０詰め５桁（例えば00014）、「拡張子」（.ts）を連結させた文字列となっている。マニフェストに記載されるセグメントは一定数（例えば５）として、新たなセグメント化データを受信する度に、先頭のセグメント化データの情報が削除され、最新のセグメント化データが末尾に追加される。なお、図中のＩＰアドレス“192.168.11.1”は、視聴開始補助サーバ２のＩＰアドレスを示している。
【００５０】
ＨＴＴＰリクエスト受信部２２は、通信Ｉ／Ｆ２７を介してＰ２Ｐ端末１のＨＴＴＰ配信再生部１２からＨＴＴＰプロトコルによるリクエスト（ＨＴＴＰリクエスト）を受信し、受信したＨＴＴＰリクエストをリクエスト解析部２３に出力する。
【００５１】
リクエスト解析部２３は、ＨＴＴＰリクエストを解析し、リクエスト内容がセグメント化データ（ｔｓファイル）であった場合は、該セグメント化データを送信するようにＨＴＴＰレスポンス送信部２４に指示する。
【００５２】
リクエスト解析部２３は、リクエスト内容がマニフェストであった場合は、ＨＴＴＰリクエストから端末ＩＤを抽出する。転送待ちリスト２６１に当該端末ＩＤが記憶されていない場合は、「転送可否フラグ」を「転送不可」として新規に登録し、ＨＴＴＰレスポンス送信部２４に端末ＩＤを出力するとともにマニフェストを送信するように指示する。
【００５３】
ＨＴＴＰレスポンス送信部２４は、リクエスト解析部２３よりセグメント化データを送信するように指示された場合は、セグメントバッファ２６２より当該セグメント化データを入力し、ＨＴＴＰレスポンスをＰ２Ｐ端末１のＨＴＴＰ配信再生部１２に送信する。また、リクエスト解析部２３よりマニフェストを送信するように指示された場合は、転送待ちリスト２６１より、リクエスト解析部２３より入力した端末ＩＤに対応する転送可否フラグを抽出し、「転送不可」であった場合は、マニフェスト記憶部２６３からマニフェストを入力し、ＨＴＴＰレスポンスをＰ２Ｐ端末１のＨＴＴＰ配信再生部１２に送信する。このときに送信するマニフェストを、図５を参照して説明する。マニフェストは先頭のシーケンス番号に対応付けて複数管理されている。
【００５４】
図５は、時間経過に対応するセグメントバッファ２６２の内容を示す図である。セグメントバッファ２６２は所定の大きさを持っており、現在時刻においてはセグメントバッファ２６２にシーケンス番号１１〜２０のセグメント化データが保存されており、新しいセグメント化データが入力されたら、最古のセグメント化データが削除されるものとする。
【００５５】
送信するマニフェストは現在時刻にバッファ内に存在する最新のセグメント化データのシーケンス番号（２０）から、予め設定されたバッファ規定値（２）とマニフェストに記載されるセグメント化データ数（５）を足した値だけ遡ったシーケンス番号（１４）に対応付いたマニフェストとする。ここで、バッファ規定値とは、Ｐ２Ｐ端末１におけるＨＴＴＰ配信再生部１２に対するＰ２Ｐ通信部１１（Ｐ２Ｐ通信ソフトウェア）のバッファの余裕度であり、ＨＴＴＰ配信再生部１２が取得可能な最新のセグメント化データよりも新しく、且つ現在取得可能なセグメント化データの数を示している。バッファ規定値の値が大きいほど視聴の安定性が高まる一方で、現在時刻と視聴中のセグメント化データの時刻の差分が大きくなる。
【００５６】
一方で、転送可否フラグが「転送可」であった場合は、転送待ちリスト２６１から当該端末ＩＤに対応する転送先アドレス情報を抽出し、ＨＴＴＰヘッダのステータスコードを“302 Found”に設定するとともに、転送先アドレス情報を基に、マニフェストの転送先ＵＲＬを生成し、“Location”ヘッダに例えば、Location: http://127.0.0.1:5555/content01.m3u8と記述し、Ｐ２Ｐ端末１（ＨＴＴＰ配信再生部１２）に送信する。
【００５７】
リクエスト転送要求受付部２５は、Ｐ２Ｐ端末１のＰ２Ｐ通信部１１から、リクエスト転送要求を受信し、端末ＩＤ及び転送先アドレス情報を抽出し、転送待ちリスト２６１の当該端末ＩＤに対応する転送可否フラグを「転送可」に設定するとともに、転送先アドレス情報を転送待ちリスト２６１に登録する。また、マニフェスト記憶部２６３から現在のマニフェストを抽出し、Ｐ２Ｐ端末１に送信する。
【００５８】
［Ｐ２Ｐ端末］
次に、Ｐ２Ｐ端末１の詳細について説明する。Ｐ２Ｐ端末１は、Ｐ２Ｐネットワークに参加可能であり、配信サーバ５や他のＰ２Ｐ端末１と接続してセグメント化データを受信・転送・再生するとともに、視聴開始補助サーバ２からセグメント化データを受信し再生する端末である。
【００５９】
図６は、本発明のＰ２Ｐ端末１の構成例を示すブロック図である。この例では、各Ｐ２Ｐ端末１は、Ｐ２Ｐ通信部１１と、ＨＴＴＰ配信再生部１２と、通信Ｉ／Ｆ１３と、ローカル通信Ｉ／Ｆ１４とを備える。
【００６０】
Ｐ２Ｐ通信部１１は、接続先紹介要求部１１１と、接続制御部１１２と、データ中継部１１３と、リクエスト転送要求部１１４と、記憶部１１５と、ＨＴＴＰサーバ部１１６と、マニフェスト更新部１１７とを備える。記憶部１１５は、端末情報記憶部１１５１と、コンテンツバッファ１１５２と、マニフェスト記憶部１１５３と、ＨＴＴＰサーバアドレス情報記憶部１１５４とを備える。
【００６１】
接続先紹介要求部１１１は、所望のコンテンツのコンテンツＩＤ、端末ＩＤ、及びアドレス情報（ＩＰアドレスとポート番号などのデータ転送に必要な情報）を含む接続先紹介要求を端末管理サーバ６へ送信し、端末管理サーバ６から返信される接続先候補リストを受信し、端末情報記憶部１１５１に格納する。
【００６２】
接続制御部１１２は、接続先候補リストをもとに、Ｐ２Ｐネットワークにおける接続相手となるＰ２Ｐ端末１’や配信サーバ５を選択して接続するか、あるいは他のＰ２Ｐ端末１’からの接続を受け付ける。
【００６３】
データ中継部１１３は、階層的に接続して構成されたＰ２Ｐネットワークにおいて上流に位置するＰ２Ｐ端末１’からセグメント化データを、データ中継開始時点での最新のシーケンス番号から順次受信し、該受信したセグメント化データを他のＰ２Ｐ端末１’へ中継するとともに、記憶部１１５のコンテンツバッファ１１５２に格納する。
【００６４】
リクエスト転送要求部１１４は、コンテンツバッファ１１５２を確認し、セグメント化データの格納数が予め設定したバッファ規定値（図５に示したバッファ規定値と同じ）以上となったタイミングで、自身の端末ＩＤ及びＨＴＴＰサーバアドレス情報を含む転送要求を視聴開始補助サーバ２に送信し、受信したマニフェストをマニフェスト記憶部１１５３に格納する（起動後に１度だけ実施される）。ここで、ＨＴＴＰサーバアドレス情報は、ＨＴＴＰサーバ部１１６がＨＴＴＰ配信再生部１２のＨＴＴＰリクエストを受け付けるアドレス情報であり、ＩＰアドレスとポート番号の組で構成される。
【００６５】
ＨＴＴＰサーバ部１１６は、ＨＴＴＰ配信再生部１２からのＨＴＴＰ配信にかかる送信要求を受付け、マニフェスト及びセグメント化データをＨＴＴＰ配信再生部１２に送信するサーバ機能を有する。ＨＴＴＰサーバ部１１６は、ＨＴＴＰ配信再生部１２からマニフェストのリクエストを受信した場合は、マニフェスト更新部１１７からマニフェストを入力し、ＨＴＴＰ配信再生部１２に送信する。ＨＴＴＰサーバ部１１６は、ＨＴＴＰ配信再生部１２からセグメント化データのリクエストを受信した場合は、記憶部１１５のコンテンツバッファ１１５２から、当該シーケンス番号のセグメント化データを抽出し、ＨＴＴＰ配信再生部１２に送信する。
【００６６】
マニフェスト更新部１１７は、マニフェスト記憶部１１５３に保存されているマニフェストをコンテンツバッファ１１５２内のセグメント化データの状態に基づいて更新する。マニフェスト更新部１１７によるマニフェストの更新方法について、図７，８を参照して説明する。
【００６７】
図７はコンテンツバッファ１１５２の状態の一例を示す図である。図８はコンテンツバッファ１１５２の状態に対するマニフェストの一例を示す図である。Ｐ２Ｐ通信部１１の生成するマニフェストの格納セグメント数は、オリジンサーバ３が生成するマニフェストのセグメント数にバッファ規定値を足し合わせた数とする。本実施形態では、オリジンサーバ３が生成するマニフェストのセグメント数を５とし、バッファ規定値を２とする。
【００６８】
図８（ａ）はリクエスト転送要求部１１４により視聴開始補助サーバ２から受信したマニフェストであり、マニフェストの初期値（以降、初期マニフェストと呼ぶ）となるものである。図中のＩＰアドレス“192.168.11.1”は、視聴開始補助サーバ２のＩＰアドレスを示している。なお、本実施形態では、初期のセグメント化データの取得先ＵＲＬを視聴開始補助サーバ２としているが、セグメント化データの取得先ＵＲＬを他のサーバとしてもよい。
【００６９】
図７（ａ）のバッファ状態１は、Ｐ２Ｐ通信部１１が起動してから間もなく、コンテンツバッファ１１５２内のセグメント化データ数が、格納セグメント数よりも小さい状態を示している。また、バッファ状態２は、コンテンツバッファ１１５２にマニフェストに格納するセグメント数以上のセグメント化データが格納されている状態を示している。
【００７０】
マニフェストの更新に際しては、現在時刻から格納セグメント数まで遡ったシーケンス番号のセグメント化データを先頭として、最新のシーケンス番号のセグメント化データまでを格納する。
【００７１】
バッファ状態１においては、コンテンツバッファ１１５２に格納されていない、つまりデータ中継の開始時刻以前のセグメント化データ（図７（ａ）のバッファ状態１の１６〜１９）が含まれる。そのため、当該セグメント化データの取得先ＵＲＬとして、初期マニフェストに記載されている当該シーケンス番号の取得先ＵＲＬを用いる。コンテンツバッファ１１５２に格納されているセグメント化データの取得先ＵＲＬは、自身のＨＴＴＰサーバアドレス情報を基に生成する。図８（ｂ）に、バッファ状態１におけるマニフェストの一例を示す。図８（ｂ）では、先頭から４つ目までのセグメント化データの取得先ＵＲＬが視聴開始補助サーバ２（“192.168.11.1”）となっており、５つ目から７つ目までの取得先ＵＲＬが、自身のＨＴＴＰサーバ部１１６となっている。ここで、“127.0.0.1:5555”はＨＴＴＰサーバアドレス情報を示している。この例では、“127.0.0.1”がＩＰアドレスであり、“5555”がポート番号である。
【００７２】
バッファ状態２においては、全てのセグメント化データがコンテンツバッファ１１５２に格納されているため、セグメント化データの取得先ＵＲＬは、自身のＨＴＴＰサーバアドレス情報を基に生成する。図８（ｃ）に、バッファ状態２におけるマニフェストの一例を示す。図８（ｃ）では、全てのセグメント化データの取得先ＵＲＬが、Ｐ２Ｐ通信部１１のＨＴＴＰサーバ部１１６となっている。
【００７３】
ＨＴＴＰ配信再生部１２は、マニフェスト要求先記憶部１２１と、マニフェスト要求部１２２と、マニフェスト受信部１２３と、マニフェスト解析部１２４と、セグメント受信部１２５と、再生バッファ１２６と、コンテンツ再生部１２７とを備える。ＨＴＴＰ配信再生部１２は、Ｐ２Ｐ通信部１１によるＰ２Ｐネットワークへの参加処理が完了すると、セグメント化データの取得先をセグメント化データの取得先ＵＲＬからＰ２Ｐ通信部１１に切替える
【００７４】
マニフェスト要求先記憶部１２１は、マニフェストの取得先のアドレス情報を格納する記憶部である。起動時はＷｅｂサーバ４から取得した視聴ページに記載された視聴開始補助サーバ２のアドレス情報を含むマニフェストの取得先ＵＲＬを記憶する。
【００７５】
マニフェスト要求部１２２は、マニフェスト要求先記憶部１２１からマニフェストの取得先ＵＲＬを入力し、端末ＩＤを含むＨＴＴＰリクエストを視聴開始補助サーバ２に送信する。例えば、マニフェストの取得先ＵＲＬが“http://192.168.11.1/content01.m3u8”であり、端末ＩＤが“0001”のとき、マニフェストの取得先ＵＲＬにクエリパラメータを“?nid=0001”として付加し、“http://192.168.11.1/content01.m3u8?nid=0001”をＨＴＴＰリクエストのリクエスト行に記載する。マニフェストのリクエストは、所定時間（例えば１秒）毎に定期的に行ってもよいし、マニフェストに記載されている全てのセグメント化データを受信し終えてから行ってもよい。
【００７６】
マニフェスト受信部１２３は、受信したＨＴＴＰレスポンスに含まれるステータスコードが“２００”の場合は、マニフェストの要求先からマニフェストを受信し、マニフェスト解析部１２４に出力する。受信したＨＴＴＰレスポンスに含まれるステータスコードが“３０１”、“３０２”、“３０７”のいずれかであった場合は、ＨＴＴＰレスポンスヘッダの“Location”ヘッダから、転送先ＵＲＬを抽出し、マニフェスト要求先記憶部１２１に格納するとともに、マニフェスト受信部１２３に当該転送先ＵＲＬにＨＴＴＰリクエストを送信するように指示する。
【００７７】
マニフェスト解析部１２４は、マニフェストより、シーケンス番号に対応付いたセグメント化データの取得先ＵＲＬの情報を抽出し、セグメント受信部１２５にシーケンス番号順にセグメント化データの取得先ＵＲＬに対するＨＴＴＰリクエストを送信するように指示する。
【００７８】
セグメント受信部１２５は、マニフェスト解析部１２４の指示に基づいて、順次セグメント化データの取得先ＵＲＬにＨＴＴＰリクエストを送信し、当該取得先ＵＲＬからセグメント化データを受信し、再生バッファ１２６に格納する。
【００７９】
コンテンツ再生部１２７は、再生バッファ１２６からセグメント化データを順次入力し、該入力したセグメント化データをデコードしてコンテンツを再生する。
【００８０】
［コンテンツ配信方法］
次に、本発明の一実施形態に係るコンテンツ配信方法について、図９〜図１５のフローチャートを用いて説明する。また、説明で使用するＨＴＴＰリクエスト／ＨＴＴＰレスポンスのメッセージフォーマットの一例を図１６に示す。ＨＴＴＰリクエスト／ＨＴＴＰレスポンスは、改行コードの上下でヘッダ部とボディ部に分かれており、ＨＴＴＰレスポンスヘッダの最上位行はステータスコードが含まれている。ボディ部は存在しない場合もある。
【００８１】
図９はＰ２Ｐ端末１の起動動作を示すフローチャートである。Ｐ２Ｐ端末１は、Ｗｅｂサーバ４から選択したコンテンツの視聴ページを取得し（ステップＳ１００１）、視聴ページ（図２参照）の視聴プレーヤソフトウェア（ＨＴＴＰ配信再生部１２）及びＰ２Ｐ通信ソフトウェア（Ｐ２Ｐ通信部１１）の起動タグに基づいて、ＨＴＴＰ配信再生部１２によるＨＴＴＰ配信処理（ステップＳ１００２）、及びＰ２Ｐ通信部１１によるＰ２Ｐ通信処理（ステップＳ１００３）を並列的に実行する。以上によりＰ２Ｐ端末１は起動し、一連の処理を実行する。Ｐ２Ｐ通信処理（ステップＳ１００３）の詳細については、図１０〜１３を参照して後述し、ＨＴＴＰ配信処理（ステップＳ１００２）の詳細については、図１５を参照して後述する。
【００８２】
図１０はＰ２Ｐ通信部１１によるＰ２Ｐ通信処理の動作を示すフローチャートである。視聴ページから選択したコンテンツのコンテンツＩＤ及び端末ＩＤを取得し、端末情報記憶部１１５１に格納する（ステップＳ１１０１）。次に、コンテンツＩＤ及び端末ＩＤを基に、Ｐ２Ｐネットワークに参加する（ステップＳ１１０２）。ステップＳ１１０２の詳細については、図１１を参照して後述する。
【００８３】
Ｐ２Ｐ端末１はＰ２Ｐネットワークに参加したら、データ中継部１１３によりデータ中継開始時点（この処理に最初に入った時刻）での最新シーケンス番号のセグメント化データから順次、接続先のＰ２Ｐ端末１’又は配信サーバ５に要求する（ステップＳ１１０３）。Ｐ２Ｐ端末１はセグメント化データを受信した場合は（ステップＳ１１０４−ＹＥＳ）、受信したセグメント化データをコンテンツバッファ１１５２に格納する（ステップＳ１１０５）。セグメント化データを受信しなかった場合は（ステップＳ１１０４−ＮＯ）、ステップＳ１１０６に移る。
【００８４】
次に、ＨＴＴＰサーバ部１１６を起動中であるか否かを確認する（ステップＳ１１０６）。ＨＴＴＰサーバ部１１６を起動中である場合は（ステップＳ１１０６−ＹＥＳ）、ステップＳ１１１１に進む。初期状態では起動中ではない（ステップＳ１１０６−ＮＯ）。ＨＴＴＰサーバ部１１６を起動していない場合は（ステップＳ１１０６−ＮＯ）、コンテンツバッファ１１５２のセグメント化データの格納数がバッファ規定値を超えたかどうか確認する（ステップＳ１１０７）。バッファ規定値を超えていない場合は（ステップＳ１１０７−ＮＯ）、ステップＳ１１０３に戻り、バッファ規定値を超えていた場合は（ステップＳ１１０７−ＹＥＳ）、ＨＴＴＰサーバ部１１６を起動し（ステップＳ１１０８）、ＨＴＴＰサーバアドレス情報をＨＴＴＰサーバアドレス情報記憶部１１５４に格納する（ステップＳ１１０９）。
【００８５】
次に、リクエスト転送要求部１１４は、ＨＴＴＰ配信再生部１２の視聴開始補助サーバ２に対するリクエストをＰ２Ｐ通信部１１に転送するように、視聴開始補助サーバ２に要求する（ステップＳ１１１０）。ステップＳ１１１０の詳細については、図１２を参照して後述する。
【００８６】
ここまでの処理により、Ｐ２Ｐ通信部１１がＨＴＴＰ配信再生部１２からＨＴＴＰリクエストを受信する準備が完了し、ＨＴＴＰサーバ処理に移る（ステップＳ１１１１）。ステップＳ１１１１の詳細については、図１３を参照して後述する。次に、再生が終了したかどうか確認し（ステップＳ１１１２）、再生が終了している場合は（ステップＳ１１１２−ＹＥＳ）、処理を終了し、再生が終了していない場合は（ステップＳ１１１２−ＮＯ）、ステップＳ１１０３に戻る。
【００８７】
図１１は、Ｐ２Ｐ通信部１１によるＰ２Ｐネットワーク参加処理（ステップＳ１１０２）を示すシーケンス図である。Ｐ２Ｐ通信部１１の接続先紹介要求部１１１は、コンテンツＩＤ、端末ＩＤ、及びアドレス情報を含む接続先紹介要求を端末管理サーバ６に送信する（ステップＳ１２０１）。
【００８８】
端末管理サーバ６は、受信した端末情報により端末情報のリストを更新し、コンテンツＩＤのコンテンツを中継するＰ２Ｐネットワークに参加しているＰ２Ｐ端末１’又は配信サーバ５の端末情報を複数抽出し（ステップＳ１２０２）、接続先候補リストとしてＰ２Ｐ端末１のＰ２Ｐ通信部１１に送信する（ステップＳ１２０３）。
【００８９】
次に、Ｐ２Ｐ通信部１１の接続先紹介要求部１１１は、接続先紹介応答から接続先候補リストを受信し、端末情報記憶部１１５１に格納する（ステップＳ１２０４）。この時のリストの受信数をＮとする。次にループカウンタＩを０にセットし（ステップＳ１２０５）、ＩがＮより小さい場合は（ステップＳ１２０６−ＹＥＳ）、接続制御部１１２はＩ番目の端末情報を抽出し（ステップＳ１２０７）、Ｉ番目のＰ２Ｐ端末１’に接続要求を送信する（ステップＳ１２０８）。所定時間以内（例えば２秒）に応答があった場合は（ステップＳ１２０９）、接続制御部１１２は接続応答を受信し（ステップＳ１２１０）、接続ＯＫであれば（ステップＳ１２１１−ＹＥＳ）、Ｉ番目のＰ２Ｐ端末１’を上流端末として接続を確立することにより、Ｐ２Ｐネットワークに参加する（ステップＳ１２１３）。ステップＳ１２０９でＮＯであるか、ステップＳ１２１１でＮＯである場合は、ループカウンタをインクリメントして（ステップＳ１２１２）、ステップＳ１２０６に戻る。ステップＳ１２０６に戻り、ＩがＮ以上となった場合は（ステップＳ１２０６−ＮＯ）、ステップＳ１２０１に戻る。
【００９０】
以上により、Ｐ２Ｐ端末１は、既にＰ２Ｐネットワークに接続しているＰ２Ｐ端末１’又は配信サーバ５と接続し、セグメント化データを受信できるようになる。
【００９１】
図１２は、Ｐ２Ｐ通信部１１による視聴開始補助サーバ２に対するリクエスト転送要求処理（ステップＳ１１１０）を示すシーケンス図である。Ｐ２Ｐ通信部１１は、Ｐ２Ｐ通信部１１のコンテンツバッファ１１５２がバッファ規定値を超えた時に、端末ＩＤと転送先ＵＲＬ（ＨＴＴＰサーバアドレス情報）を含む転送要求を視聴開始補助サーバ２に送信する（ステップＳ１３０１）。視聴開始補助サーバ２は、転送要求を受信し（ステップＳ１３０２）、転送要求から端末ＩＤと転送先ＵＲＬを抽出する（ステップＳ１３０３）。
【００９２】
次に、視聴開始補助サーバ２は抽出した端末ＩＤが転送待ちリスト２６１に登録されているか否か確認し（ステップＳ１３０４）、登録されている場合は（ステップＳ１３０４−ＹＥＳ）、転送待ちリスト２６１内の当該端末ＩＤの転送可否フラグを「転送可」に更新し、転送先ＵＲＬとして該抽出した転送先ＵＲＬを登録する（ステップＳ１３０５）。端末ＩＤが転送待ちリスト２６１に登録されていない場合は（ステップＳ１３０４−ＮＯ）、当該端末ＩＤを転送待ちリスト２６１に登録し、転送可否フラグを「転送可」に設定し、転送先ＵＲＬとして該抽出した転送先ＵＲＬを登録する（ステップＳ１３０６）。次に、マニフェスト記憶部２６３からマニフェストを抽出し、転送要求元（Ｐ２Ｐ端末１のＰ２Ｐ通信部１１）に送信する（ステップＳ１３０７）。このとき送信するマニフェストについては、視聴開始補助サーバ２のマニフェスト記憶部２６３において説明した通りである。
【００９３】
Ｐ２Ｐ通信部１１は、視聴開始補助サーバ２から転送応答を受信する（ステップＳ１３０８）。そして、受信した転送応答からマニフェストを抽出し、初期マニフェストとしてマニフェスト記憶部２６３に格納し（ステップＳ１３０９）、転送要求処理を終了する。
【００９４】
以上により、Ｐ２Ｐ通信部１１のコンテンツバッファ１１５２がバッファ規定値を超えた時に、ＨＴＴＰ配信再生部１２のリクエストをＰ２Ｐ通信部１１に転送するように視聴開始補助サーバ２に要求を行い、視聴開始補助サーバ２がＨＴＴＰ配信再生部１２にリクエストを転送することで、ＨＴＴＰ配信再生部１２がＰ２Ｐ通信部１１にリクエストできるようになる。
【００９５】
図１３は、Ｐ２Ｐ通信部１１によるＨＴＴＰサーバ処理（ステップＳ１１１１）を示すフローチャートである。Ｐ２Ｐ端末１のＰ２Ｐ通信部１１は、ＨＴＴＰ配信再生部１２からローカル通信Ｉ／Ｆ１４を介してＨＴＴＰリクエストを待ち受け、ＨＴＴＰリクエストを受信したら（ステップＳ１４０１−ＹＥＳ）、リクエスト対象がマニフェストか、セグメント化データかを確認する（ステップＳ１４０２）。リクエスト対象がマニフェストであった場合は（ステップＳ１４０２−ＹＥＳ）、初期マニフェストとコンテンツバッファ１１５２の状態から、マニフェストを更新し、ＨＴＴＰレスポンスのボディに設定する（ステップＳ１４０３）。マニフェストの更新については、Ｐ２Ｐ通信部１１のマニフェスト更新部１１７において説明した通りである。次に、ＨＴＴＰレスポンスヘッダのステータスコードを“２００  ＯＫ”に設定し（ステップＳ１４０４）、ＨＴＴＰ配信再生部１２にＨＴＴＰレスポンスを送信して処理を終了する（ステップＳ１４０５）。
【００９６】
ステップＳ１４０２において、リクエスト対象がセグメント化データであった場合は（ステップＳ１４０２−ＮＯ）、リクエストからセグメントＩｄを取得し（ステップＳ１４０６）、コンテンツバッファ１１５２から当該セグメントＩｄのセグメント化データを抽出し、ＨＴＴＰレスポンスのボディに設定し（ステップＳ１４０７）、ステップＳ１４０５の処理に移る。
【００９７】
以上により、Ｐ２Ｐ通信部１１は、ＨＴＴＰ配信再生部１２のＨＴＴＰ配信にかかるリクエストを処理し、コンテンツを送信することができる。
【００９８】
次に、視聴開始補助サーバ２のＰ２Ｐ端末１のＨＴＴＰ配信再生部１２のＨＴＴＰリクエストにかかる動作を、図１４を参照して説明する。図１４は、視聴開始補助サーバ２のＨＴＴＰリクエストにかかる動作を示すフローチャートである。
【００９９】
視聴開始補助サーバ２は、Ｐ２Ｐ端末１のＨＴＴＰ配信再生部１２からＨＴＴＰリクエストを受信し（ステップＳ２１０１）、リクエスト対象がマニフェストか、セグメント化データかを確認する（ステップＳ２１０２）。リクエスト対象がマニフェストであった場合は（ステップＳ２１０２−ＹＥＳ）、リクエストから端末ＩＤを抽出する（ステップＳ２１０３）。
【０１００】
そして、視聴開始補助サーバ２は、抽出した端末ＩＤが転送待ちリスト２６１に登録されているか否かを確認する（ステップＳ２１０４）。抽出した端末ＩＤが転送待ちリスト２６１に登録されていない場合は（ステップＳ２１０４−ＮＯ）、当該端末ＩＤを転送待ちリスト２６１に登録し、転送可否フラグを「転送不可」に設定し（ステップＳ２１０５）、マニフェスト記憶部２６３からマニフェストを抽出し、ＨＴＴＰレスポンスのボディに設定する（ステップＳ２１０８）。抽出するマニフェストについては、視聴開始補助サーバ２のマニフェスト記憶部２６３において説明した通りである。一方、ステップＳ２１０４において、抽出した端末ＩＤが転送待ちリスト２６１に登録されている場合は（ステップＳ２１０４−ＹＥＳ）、転送待ちリスト２６１から当該端末ＩＤの転送可否フラグと転送先ＵＲＬを抽出し（ステップＳ２１０６）、転送可否フラグが「転送不可」である場合は（ステップＳ２１０７−ＮＯ）、ステップＳ２１０８に移る。次に、ＨＴＴＰレスポンスヘッダのステータスコードを“２００  ＯＫ”に設定し（ステップＳ２１０９）、ＨＴＴＰレスポンスを送信する（ステップＳ２１１０）。
【０１０１】
ステップＳ２１０２に戻って、リクエスト対象がセグメント化データであった場合は（ステップＳ２１０２−ＮＯ）、リクエストからセグメントＩｄを取得し（ステップＳ２１１３）、セグメントバッファ２６２から当該セグメントＩｄのセグメント化データを抽出し、ＨＴＴＰレスポンスのボディに設定し（ステップＳ２１１４）、ステップＳ２１０９の処理に移る。
【０１０２】
ステップＳ２１０７に戻り、転送可否フラグが「転送可」である場合は（ステップＳ２１０７−ＹＥＳ）、ＨＴＴＰレスポンスヘッダの“Location”ヘッダに転送先ＵＲＬを設定する（ステップＳ２１１１）。例えば、Location: http://127.0.0.1:5555/content01.m3u8とする。そして、ＨＴＴＰレスポンスヘッダのステータスコードを“３０２  Ｆｏｕｎｄ”に設定し（ステップＳ２１１２）、ＨＴＴＰレスポンスを送信する（ステップＳ２１１０）。
【０１０３】
次にコンテンツが終了しているかどうかを確認し、コンテンツがまだ終了していない場合は（ステップＳ２１１５−ＮＯ）、ステップＳ２１０１の処理に戻る。コンテンツが終了している場合は（ステップＳ２１１５−ＹＥＳ）、処理を終了する。
【０１０４】
以上により、視聴開始補助サーバ２は、ある端末ＩＤのＰ２Ｐ端末１のＨＴＴＰ配信再生部１２のＨＴＴＰリクエストに対して、当該端末ＩＤのＰ２Ｐ通信部１１から転送要求を受け付けるまでは、マニフェストとセグメント化データを送信するＨＴＴＰ配信サーバの役割を果たし、Ｐ２Ｐ通信部１１から転送要求があると、ＨＴＴＰ配信再生部１２からのリクエストをＰ２Ｐ通信部１１のＨＴＴＰサーバ部１１６に転送することにより、Ｐ２Ｐ端末１の迅速な視聴開始を補助する。
【０１０５】
図１５は、ＨＴＴＰ配信再生部１２によるＨＴＴＰ配信再生動作を示すフローチャートである。図１５を用いてＰ２Ｐ端末１のＨＴＴＰ配信再生部１２の動作を説明する。ＨＴＴＰ配信再生部１２は、Ｗｅｂサーバ４より受信した視聴ページからコンテンツのアクセス先ＵＲＬ（視聴開始補助サーバ２）及び端末ＩＤを取得し、マニフェストの取得先ＵＲＬを例えば、http://192.168.11.1/content01.m3u8?nid=0001と設定する（ステップＳ１５０１）。
【０１０６】
次に、当該マニフェストの取得先ＵＲＬに対して、例えば図１６（ａ）に示すＨＴＴＰリクエストを送信し（ステップＳ１５０２）、ＨＴＴＰレスポンスを取得すると（ステップＳ１５０３）、ＨＴＴＰレスポンスのステータスコードを確認する（ステップＳ１５０４）。例えば、図１６（ｃ）に示すようにステータスコードが“２００”であった場合は（ステップＳ１５０４−ＹＥＳ）、ＨＴＴＰレスポンスのボディからマニフェストを抽出し（ステップＳ１５０５）、抽出したマニフェストからセグメント化データのシーケンス番号及び取得先ＵＲＬを抽出する（ステップＳ１５０６）。
【０１０７】
次に、前回マニフェストを受信してから所定時間（たとえば１秒）経過したか、又はマニフェストに記載のセグメント化データを既に取得済みかを確認し（ステップＳ１５０７）、いずれかが満たされる場合は（ステップＳ１５０７−ＹＥＳ）、ステップＳ１５０２の処理に戻る。いずれも満たされない場合は（ステップＳ１５０７−ＮＯ）、未取得かつ最少シーケンス番号のセグメント化データの取得先ＵＲＬにＨＴＴＰリクエストを送信し（ステップＳ１５０８）、ＨＴＴＰレスポンスを受信する（ステップＳ１５０９）。該受信したＨＴＴＰレスポンスのボディからセグメント化データを抽出し、再生バッファ１２６に格納する（ステップＳ１５１０）。
【０１０８】
次に、コンテンツがまだ再生前の場合は（ステップＳ１５１１−ＮＯ）、再生バッファ１２６に再生のために必要なデータが格納されているか確認する（ステップＳ１５１２）。再生バッファ１２６に再生のために必要なデータがまだ格納されていない場合は（ステップＳ１５１２−ＮＯ）、ステップＳ１５０７の処理に戻り、格納されている場合は（ステップＳ１５１２−ＹＥＳ）、再生を開始する（ステップＳ１５１３）。再生が開始されたか、再生中は（ステップＳ１５１１−ＹＥＳ）、再生バッファ１２６からセグメント化データを順次取り出して再生する（ステップＳ１５１４）。再生が終了していなければ（ステップＳ１５１５−ＮＯ）、ステップＳ１５０７の処理に戻り、再生が終了している場合は（ステップＳ１５１５−ＹＥＳ）、処理を終了する。
【０１０９】
次に、ステップＳ１５０４の処理に戻って、例えば図１６（ｄ）に示すようにステータスコードが２００以外（３０２）であった場合は（ステップＳ１５０４−ＮＯ）、ＨＴＴＰレスポンスヘッダの“Location”ヘッダから、Ｐ２Ｐ通信部１１のＨＴＴＰサーバ部１１６へのアクセス情報を示す転送先ＵＲＬを取得し（ステップＳ１５１６）、該取得した転送先ＵＲＬをマニフェストの取得先ＵＲＬに設定し、ステップＳ１５０１の処理に戻る。図１６（ｂ）は、以降のマニフェストのＨＴＴＰリクエストの例を示している。
【０１１０】
上述した本発明の内包は、ＨＴＴＰ配信再生部１２にてセグメント化データの取得先ＵＲＬを含む情報（マニフェスト）のリクエストを視聴開始補助サーバ２に送信し、視聴開始補助サーバ２にて、セグメント化データの取得先ＵＲＬを含むレスポンスをＨＴＴＰ配信再生部１２に送信し、ＨＴＴＰ配信再生部１２にて、セグメント化データの取得先ＵＲＬからセグメント化データを受信して再生する。また、Ｐ２Ｐ通信部１１にて、Ｐ２Ｐネットワークへの参加処理を行い、Ｐ２Ｐ通信部１１によるＰ２Ｐネットワークへの参加処理が完了すると、ＨＴＴＰ配信再生部１２にて、セグメント化データの取得先をＰ２Ｐ通信部に変更する。これにより、Ｐ２Ｐ端末１はＰ２Ｐネットワーク参加処理の終了を待つことなく、コンテンツの視聴を迅速に開始することができるようになる。また、コンテンツを受信するＰ２Ｐ端末１の数が少ない場合はＨＴＴＰ配信のみでコンテンツ配信サービスを提供し、Ｐ２Ｐ端末１の数が所定数を超えた場合にＰ２Ｐ配信に切換えるように運用することも可能となる。
【０１１１】
ＨＴＴＰ配信再生部１２対してセグメント化データの取得先をＰ２Ｐ通信部１１に変更させる具体例として、Ｐ２Ｐ通信部１１にて、Ｐ２Ｐネットワークへの参加処理が完了すると、ＨＴＴＰ配信再生部１２の視聴開始補助サーバ２に対するリクエストを当該Ｐ２Ｐ通信部１１に転送するように要求するリクエスト転送要求を視聴開始補助サーバ２に送信し、視聴開始補助サーバ２にて、ＨＴＴＰ配信再生部１２からのリクエストをＰ２Ｐ通信部１１に転送し、Ｐ２Ｐ通信部１１にて、視聴開始補助サーバ２からリクエストが転送されると、セグメント化データの取得先ＵＲＬを当該Ｐ２Ｐ通信部１１のＵＲＬに更新し、該更新されたセグメント化データの取得先ＵＲＬを含むレスポンスをＨＴＴＰ配信再生部１２に送信する。これにより、コンテンツの配信先を視聴開始補助サーバ２からＰ２Ｐ通信部１１にシームレスに安定して切替えることができる。さらに、Ｐ２Ｐ端末１においてＨＴＴＰ配信再生部１２とＰ２Ｐ通信部１１を必ずしも同時に起動せず、任意のタイミングでＰ２Ｐ通信部１１を起動しても、Ｐ２Ｐ通信への切換えが可能となる。
【０１１２】
また、Ｐ２Ｐ通信部１１は、他のＰ２Ｐ端末１’から受信したセグメント化データの格納数が所定のバッファ規定値以上になったときに、リクエスト転送要求を視聴開始補助サーバ２に送信するのが好適である。バッファ規定値を設けることにより、視聴の安定性を向上させることができる。
【０１１３】
なお、上述したＰ２Ｐ端末１として機能させるためにコンピュータを好適に用いることができ、そのようなコンピュータは、Ｐ２Ｐ端末１の各機能を実現する処理内容を記述したプログラムを該コンピュータの記憶部に格納しておき、該コンピュータのＣＰＵによってこのプログラムを読み出して実行させることで実現することができる。このプログラムは、コンピュータ読取り可能な記録媒体に記録可能である。
【０１１４】
同様に、上述した視聴開始補助サーバ２として機能させるためにコンピュータを好適に用いることができ、そのようなコンピュータは、視聴開始補助サーバ２の各機能を実現する処理内容を記述したプログラムを該コンピュータの記憶部に格納しておき、該コンピュータのＣＰＵによってこのプログラムを読み出して実行させることで実現することができる。このプログラムは、コンピュータ読取り可能な記録媒体に記録可能である。
【０１１５】
上述の実施形態は、代表的な例として説明したが、本発明の趣旨及び範囲内で、多くの変更及び置換ができることは当業者に明らかである。したがって、本発明は、上述の実施形態によって制限するものと解するべきではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。例えば、実施形態に記載の複数の構成ブロック又はステップを１つに組み合わせたり、あるいは分割したりすることが可能である。また、上述の実施形態では、初期のセグメント化データの取得先ＵＲＬを視聴開始補助サーバ２としているが、セグメント化データの取得先ＵＲＬを他のサーバとしてもよい。
【符号の説明】
【０１１６】
１        Ｐ２Ｐ端末
２        視聴開始補助サーバ
３        オリジンサーバ
４        Ｗｅｂサーバ
５        配信サーバ
６        端末管理サーバ
１１      Ｐ２Ｐ通信部
１２      ＨＴＴＰ配信再生部
１３      通信Ｉ／Ｆ
１４      ローカル通信Ｉ／Ｆ
２１      配信素材受信部
２２      ＨＴＴＰリクエスト受信部
２３      リクエスト解析部
２４      ＨＴＴＰレスポンス送信部
２５      リクエスト転送要求受付部
２６      記憶部
２７      通信Ｉ／Ｆ
１１１    接続先紹介要求部
１１２    接続制御部
１１３    データ中継部
１１４    リクエスト転送要求部
１１５    記憶部
１１６    ＨＴＴＰサーバ部
１１７    マニフェスト更新部
１２１    マニフェスト要求先記憶部
１２２    マニフェスト要求部
１２３    マニフェスト受信部
１２４    マニフェスト解析部
１２５    セグメント受信部
１２６    再生バッファ
１２７    コンテンツ再生部
２６１    転送待ちリスト
２６２    セグメントバッファ
２６３    マニフェスト記憶部
１１５１  端末情報記憶部
１１５２  コンテンツバッファ
１１５３  マニフェスト記憶部
１１５４  ＨＴＴＰサーバアドレス情報記憶部
【図１】
2015095824.tif 000003
【図２】
2015095824.tif 000004
【図３】
2015095824.tif 000005
【図４】
2015095824.tif 000006
【図５】
2015095824.tif 000007
【図６】
2015095824.tif 000008
【図７】
2015095824.tif 000009
【図８】
2015095824.tif 000010
【図９】
2015095824.tif 000011
【図１０】
2015095824.tif 000012
【図１１】
2015095824.tif 000013
【図１２】
2015095824.tif 000014
【図１３】
2015095824.tif 000015
【図１４】
2015095824.tif 000016
【図１５】
2015095824.tif 000017
【図１６】
2015095824.tif 000018
【図１８】
2015095824.tif 000019
【図１９】
2015095824.tif 000020
【図１７】
2015095824.tif 000021
【図２０】
2015095824.tif 000022