(57)【要約】      （修正有）【課題】Ｐ２Ｐ端末の離脱を予測して安定したＰ２Ｐネットワークを構築する。【解決手段】Ｐ２Ｐ端末１は、単位時間利用率を予め記憶する単位時間利用率記憶部１３３と、Ｐ２Ｐネットワークに参加する配信サーバ及び複数のＰ２Ｐ端末１から、現在より遅い時刻の単位時間における単位時間利用率である次期単位時間利用率を取得する端末情報管理部１８と、当該Ｐ２Ｐ端末１の上流側に接続された接続先端末の次期単位時間利用率に基づいて、接続先端末との接続を継続するか、前記現在より遅い時刻までに切断するかを決定する接続切替指示部１６と、接続切替指示部１６により接続先端末との接続を切断すると決定された場合に、接続先端末と切断し切替先端末との接続を行う接続制御部１７と、を備える。【選択図】図２
2015146486.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツの配信元である配信サーバを頂点として複数のＰ２Ｐ端末が階層的に接続されたツリー構造のＰ２Ｐネットワークを構築してコンテンツを配信するコンテンツ配信システムであって、
前記Ｐ２Ｐ端末は、
１日の各単位時間におけるコンテンツ配信サービスの利用率である単位時間利用率を予め記憶する単位時間利用率記憶部と、
Ｐ２Ｐネットワークに参加する配信サーバ及び複数のＰ２Ｐ端末から、現在より遅い時刻の単位時間における前記単位時間利用率である次期単位時間利用率を取得する端末情報管理部と、
当該Ｐ２Ｐ端末の上流側に接続されたＰ２Ｐ端末である接続先端末の前記次期単位時間利用率に基づいて、前記接続先端末との接続を継続するか、前記現在より遅い時刻までに切断するかを決定する接続切替指示部と、
前記接続切替指示部により前記接続先端末との接続を切断すると決定された場合に、前記接続先端末と切断し、接続の切替え先となるＰ２Ｐ端末である切替先端末との接続を行う接続制御部と、
を備える、コンテンツ配信システム。
【請求項２】
コンテンツの配信元である配信サーバを頂点としてツリー構造のＰ２Ｐネットワークを構築するＰ２Ｐ端末であって、
１日の各単位時間におけるコンテンツ配信サービスの利用率である単位時間利用率を予め記憶する単位時間利用率記憶部と、
Ｐ２Ｐネットワークに参加する配信サーバ及び複数のＰ２Ｐ端末から、現在より遅い時刻の単位時間における前記単位時間利用率である次期単位時間利用率を取得する端末情報管理部と、
当該Ｐ２Ｐ端末の上流側に接続されたＰ２Ｐ端末である接続先端末の前記次期単位時間利用率に基づいて、前記接続先端末との接続を継続するか、前記現在より遅い時刻までに切断するかを決定する接続切替指示部と、
前記接続切替指示部により前記接続先端末との接続を切断すると決定された場合に、前記接続先端末と切断し、接続の切替え先となるＰ２Ｐ端末である切替先端末との接続を行う接続制御部と、
を備える、Ｐ２Ｐ端末。
【請求項３】
前記接続切替指示部は、前記次期単位時間利用率が所定の閾値以上である場合には接続を継続すると決定し、前記次期単位時間利用率が前記閾値よりも小さい場合には、前記現在より遅い時刻までに接続を切断すると決定し、前記切替先端末を前記次期単位時間利用率が前記閾値以上のＰ２Ｐ端末から選択する、請求項２に記載のＰ２Ｐ端末。
【請求項４】
前記接続切替指示部は、前記接続先端末との接続を切断すると決定した場合に、前記切替先端末を、前記次期単位時間利用率が前記閾値以上であり、接続可能な最大のＰ２Ｐ端末数よりも接続中のＰ２Ｐ端末数のほうが小さく、配信ツリーの上流側に位置するＰ２Ｐ端末を切替先候補端末とし、該切替先候補端末のうち前記次期単位時間利用率が大きいＰ２Ｐ端末から優先的に選択する、請求項３に記載のＰ２Ｐ端末。
【請求項５】
前記接続切替指示部は、前記接続先端末との接続を切断すると決定した場合であっても、前記切替先候補端末が存在しないか、又は切替先候補端末の全てのＰ２Ｐ端末から接続を拒否された場合には、前記接続先端末との接続を維持する、請求項４に記載のＰ２Ｐ端末。
【請求項６】
前記単位時間利用率は、１日を一定の単位時間で区切り、各単位時間におけるコンテンツ配信サービスの利用率の平均値、又は前記各単位時間におけるコンテンツ配信サービスの利用率の曜日ごとの平均値とする、請求項２から５のいずれか一項に記載のＰ２Ｐ端末。
【請求項７】
コンテンツの配信元である配信サーバを頂点としてツリー構造のＰ２Ｐネットワークを構築するＰ２Ｐ端末の接続先を切替える接続切替え方法であって、
１日の各単位時間におけるコンテンツ配信サービスの利用率である単位時間利用率を予め記憶するステップと、
Ｐ２Ｐネットワークに参加する配信サーバ及び複数のＰ２Ｐ端末から、現在より遅い時刻の単位時間における前記単位時間利用率である次期単位時間利用率を取得するステップと、
当該Ｐ２Ｐ端末の上流側に接続されたＰ２Ｐ端末である接続先端末の前記次期単位時間利用率に基づいて、前記接続先端末との接続を継続するか、前記現在より遅い時刻までに切断するかを決定するステップと、
前記接続先端末との接続を切断すると決定された場合に、前記接続先端末と切断し、接続の切替え先となるＰ２Ｐ端末である切替先端末との接続を行うステップと、
を含む、接続切替え方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツの配信元であるコンテンツ配信サーバ（以下、「配信サーバ」という）を頂点として複数のＰ２Ｐ端末が階層的に接続された配信ツリー（ツリー構造のＰ２Ｐネットワーク）を構築してコンテンツを配信するコンテンツ配信システム、該コンテンツ配信システムを構成するＰ２Ｐ端末、及びＰ２Ｐ端末の接続切替え方法に関する。
【背景技術】
【０００２】
近年インターネットにおいては、ストリーミングによる動画配信サービスが普及している。動画配信サービスの形態としては、受信端末において視聴したいコンテンツを選択し、選択したコンテンツを配信サーバから受信するＶＯＤ（Video On Demand）のような一対一の配信サービスに加え、同一のコンテンツを多数の受信端末に同時に伝送する一対多（放送型）の配信サービスが知られている。
【０００３】
ＩＰネットワークにおいて一対多の放送型の動画配信サービスを効率よく行う方式として、ＩＰマルチキャストが知られている。しかし、このＩＰマルチキャスト方式では、対象となるネットワーク内の全ルータにマルチキャスト機能が必要となり、現状では限られたネットワークのみでしか利用できない。
【０００４】
こうした背景から、一般に普及しているインターネット上で一対多の放送型配信を実現する有効な方法として、Ｐ２Ｐ（ピアツーピア）技術を用いたコンテンツの分散配信技術が開発されている。この技術は、コンテンツを要求するＰ２Ｐ端末同士で論理的なツリーを作り、Ｐ２Ｐ端末上で動作するアプリケーションソフトが相互にデータ転送を行うことによりマルチキャスト（一対多通信）を実現する。
【０００５】
例えば、特許文献１に記載されたストリームデータ分散配信方法では、インターネットなどのネットワーク環境において、各ノード間でストリームデータの送受信を行うため、各ノードは上流ノードと下流ノードとの接続関係を示すトポロジ情報を交換して、上流ノードから下流ノードへストリームデータを中継している。このストリームデータ分散配信方法では、各ノード間でトポロジ情報を交換するため、各ノードが自律的にトポロジ情報を記憶・更新し、提供するなどの管理を行う機能を備えている。
【０００６】
また、このようなコンテンツ配信方式の別の例として、非特許文献１に開示された技術では、配信サーバにおいてストリーミングメディアを複数のデータパケットに断片化する（断片化されたデータをチャンクと呼ぶ）。そして、各端末は必要なチャンクを持つ端末を動的に検出し、検出した端末から、プル型でチャンクを受信し、受信したチャンクを再構成することにより、所望のストリーミングメディアを得ることができる。図４にこのような従来のコンテンツ配信システムの一例を示す。図４に示したコンテンツ配信システムの例では、配信サーバによって１〜６の６個に断片化したチャンクのうち、奇数番号のチャンクが実線に沿って転送され、偶数番号のチャンクが破線に沿って転送されることで、図示する６台の各Ｐ２Ｐ端末に対して、全てのチャンクが行き届いている様子を示している。
【０００７】
Ｐ２Ｐ技術によるコンテンツ配信方式では、一般利用者の利用者端末（Ｐ２Ｐ端末）が、自端末から他のＰ２Ｐ端末へ中継を行う機能を担うことになり、配信ツリーの上流に位置するＰ２Ｐ端末（上流端末）がコンテンツ視聴を中止した際には、そのＰ２Ｐ端末から下流に位置するＰ２Ｐ端末（下流端末）への配信が停止することになる。このため、Ｐ２Ｐ技術によるコンテンツ配信を安定的に実現するには、Ｐ２Ｐ端末の突発的な離脱に対処する必要がある。
【０００８】
そこで、一般的な方法では、各Ｐ２Ｐ端末に受信データを蓄積するための受信メモリ（受信バッファ）を備えさせ、上流端末が急に離脱したとしても、受信バッファに蓄積したデータを再生している間に他の上流端末に再接続することで、コンテンツ配信サービスによるストリーミング受信を継続する。
【０００９】
しかしながら、この方法では、コンテンツ配信の安定性を確保するために、各Ｐ２Ｐ端末が大容量の受信メモリを備える必要があるとともに、再生前に受信データを受信メモリに蓄える必要があり、遅延時間が大きくなってしまうという問題があった。また、この受信メモリ内のデータが枯渇した際には映像が停止してしまうという問題もあった。
【００１０】
これらの問題を解決するために、例えば特許文献２に記載されているように、相対的に離脱し難いと想定されるＰ２Ｐ端末を上流に配置するＰ２Ｐネットワークの構築方法が開示されている。
【００１１】
また、図４に示したコンテンツ配信システムのように、複数のＰ２Ｐ端末がメッシュ状に接続したメッシュ構造のＰ２Ｐネットワークを構築する場合には、一部の上流端末からデータ受信が途絶えたとしても、他の上流端末からデータを受信することにより、コンテンツ配信サービスによるストリーミング受信を継続することができる。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２００３−１６９０８９号公報
【特許文献２】特開２００９−１３０６６７号公報
【非特許文献】
【００１３】
【非特許文献１】CoolStreaming/DoNet: A Data-Driven Overlay Network for Efficient Live Media Streaming”, In Proc. Of the 24th IEEE INFOCO, March 2005, ｐ．2102-2111 Xinyan Zhang, Jiangchuan Liu, Bo Li and Tak-ShingPeter Yum
【発明の概要】
【発明が解決しようとする課題】
【００１４】
特許文献１に記載されたＰ２Ｐネットワークによりコンテンツ配信サービスを実現する場合、上流端末は離脱し難いから、大規模な受信状況の劣化を避けることができる。しかしながら、ネットワークの末端部に離脱し易いＰ２Ｐ端末が多く配置されることから、局所的な受信状況の劣化までは避けることはできないという問題がある。
【００１５】
また、図４のメッシュ構造のＰ２Ｐネットワークによるコンテンツ配信サービスを実現する場合、一部の上流端末からのデータ受信が途絶えたとしても、残りの上流端末からデータを受信することができるため、ツリー構造のＰ２Ｐネットワークと比較して、Ｐ２Ｐネットワーク全体の安定性は高くなる。しかしながら、上流の接続相手として離脱の可能性の高いＰ２Ｐ端末が多い場合には、コンテンツ配信サービスによるストリーミング受信を安定的に継続することができないという問題がある。
【００１６】
かかる事情に鑑みてなされた本発明の目的は、Ｐ２Ｐ端末の離脱を予測して安定したＰ２Ｐネットワークを構築することが可能なコンテンツ配信システム、Ｐ２Ｐ端末、及び接続切替え方法を提供することにある。
【課題を解決するための手段】
【００１７】
上記課題を解決するため、本発明に係るコンテンツ配信システムは、コンテンツの配信元である配信サーバを頂点として複数のＰ２Ｐ端末が階層的に接続されたツリー構造のＰ２Ｐネットワークを構築してコンテンツを配信するコンテンツ配信システムであって、前記Ｐ２Ｐ端末は、１日の各単位時間におけるコンテンツ配信サービスの利用率である単位時間利用率を予め記憶する単位時間利用率記憶部と、Ｐ２Ｐネットワークに参加する配信サーバ及び複数のＰ２Ｐ端末から、現在より遅い時刻の単位時間における前記単位時間利用率である次期単位時間利用率を取得する端末情報管理部と、当該Ｐ２Ｐ端末の上流側に接続されたＰ２Ｐ端末である接続先端末の前記次期単位時間利用率に基づいて、前記接続先端末との接続を継続するか、前記現在より遅い時刻までに切断するかを決定する接続切替指示部と、前記接続切替指示部により前記接続先端末との接続を切断すると決定された場合に、前記接続先端末と切断し、接続の切替え先となるＰ２Ｐ端末である切替先端末との接続を行う接続制御部と、を備える。
【００１８】
また、上記課題を解決するため、本発明に係るＰ２Ｐ端末は、コンテンツの配信元である配信サーバを頂点としてツリー構造のＰ２Ｐネットワークを構築するＰ２Ｐ端末であって、１日の各単位時間におけるコンテンツ配信サービスの利用率である単位時間利用率を予め記憶する単位時間利用率記憶部と、Ｐ２Ｐネットワークに参加する配信サーバ及び複数のＰ２Ｐ端末から、現在より遅い時刻の単位時間における前記単位時間利用率である次期単位時間利用率を取得する端末情報管理部と、当該Ｐ２Ｐ端末の上流側に接続されたＰ２Ｐ端末である接続先端末の前記次期単位時間利用率に基づいて、前記接続先端末との接続を継続するか、前記現在より遅い時刻までに切断するかを決定する接続切替指示部と、前記接続切替指示部により前記接続先端末との接続を切断すると決定された場合に、前記接続先端末と切断し、接続の切替え先となるＰ２Ｐ端末である切替先端末との接続を行う接続制御部と、を備える。
【００１９】
さらに、本発明に係るＰ２Ｐ端末において、前記接続切替指示部は、前記次期単位時間利用率が所定の閾値以上である場合には接続を継続すると決定し、前記次期単位時間利用率が前記閾値よりも小さい場合には、前記現在より遅い時刻までに接続を切断すると決定し、前記切替先端末を前記次期単位時間利用率が前記閾値以上のＰ２Ｐ端末から選択する。
【００２０】
さらに、本発明に係るＰ２Ｐ端末において、前記接続切替指示部は、前記接続先端末との接続を切断すると決定した場合に、前記切替先端末を、前記次期単位時間利用率が前記閾値以上であり、接続可能な最大のＰ２Ｐ端末数よりも接続中のＰ２Ｐ端末数のほうが小さく、配信ツリーの上流側に位置するＰ２Ｐ端末を切替先候補端末とし、該切替先候補端末のうち前記次期単位時間利用率が大きいＰ２Ｐ端末から優先的に選択する。
【００２１】
さらに、本発明に係るＰ２Ｐ端末において、前記接続切替指示部は、前記接続先端末との接続を切断すると決定した場合であっても、前記切替先候補端末が存在しないか、又は切替先候補端末の全てのＰ２Ｐ端末から接続を拒否された場合には、前記接続先端末との接続を維持する。
【００２２】
さらに、本発明に係るＰ２Ｐ端末において、前記単位時間利用率は、１日を一定の単位時間で区切り、各単位時間におけるコンテンツ配信サービスの利用率の平均値、又は前記各単位時間におけるコンテンツ配信サービスの利用率の曜日ごとの平均値とする。
【００２３】
また、上記課題を解決するため、本発明に係る接続切替え方法は、コンテンツの配信元である配信サーバを頂点としてツリー構造のＰ２Ｐネットワークを構築するＰ２Ｐ端末の接続先を切替える接続切替え方法であって、１日の各単位時間におけるコンテンツ配信サービスの利用率である単位時間利用率を予め記憶するステップと、Ｐ２Ｐネットワークに参加する配信サーバ及び複数のＰ２Ｐ端末から、現在より遅い時刻の単位時間における前記単位時間利用率である次期単位時間利用率を取得するステップと、当該Ｐ２Ｐ端末の上流側に接続されたＰ２Ｐ端末である接続先端末の前記次期単位時間利用率に基づいて、前記接続先端末との接続を継続するか、前記現在より遅い時刻までに切断するかを決定するステップと、前記接続先端末との接続を切断すると決定された場合に、前記接続先端末と切断し、接続の切替え先となるＰ２Ｐ端末である切替先端末との接続を行うステップと、を含む。
【発明の効果】
【００２４】
本発明によれば、Ｐ２Ｐネットワークを構築してコンテンツを配信するコンテンツ配信システムにおいて、上流側に接続されたＰ２Ｐ端末がコンテンツ配信中に離脱する度合いが低くなり、安定した配信を実現することができるようになる。
【図面の簡単な説明】
【００２５】
【図１】本発明の一実施形態に係るコンテンツ配信システムの構成例を示す概略図である。
【図２】本発明の一実施形態に係るＰ２Ｐ端末の構成例を示すブロック図である。
【図３】本発明の一実施形態に係る接続切替え方法を示すフローチャートである。
【図４】従来のコンテンツ配信システムの一例を示す概略図である。
【発明を実施するための形態】
【００２６】
以下、本発明の一実施形態について、図面を参照して詳細に説明する。
【００２７】
図１は、本発明の一実施形態に係るコンテンツ配信システムの構成例を示す概略図である。コンテンツ配信システムは、複数のＰ２Ｐ端末１と、配信サーバ２と、端末管理サーバ３とを備えており、これらはインターネットを介して接続されている。コンテンツ配信システムは、コンテンツの配信元である配信サーバ２を頂点として複数のＰ２Ｐ端末１が階層的に接続された配信ツリー（ツリー構造のＰ２Ｐネットワーク）を構築して、Ｐ２Ｐ方式によりコンテンツを配信する。以下の説明において、自身のＰ２Ｐ端末（自端末）と他のＰ２Ｐ端末（他端末）とを特に区別する場合には、他端末の符号を１’と表記する。
【００２８】
配信サーバ２は、コンテンツの配信元となってコンテンツ配信サービスを提供するサーバであり、Ｐ２Ｐネットワークに参加するＰ２Ｐ端末１に対し、コンテンツのデータパケット（以下、「コンテンツデータ」という）を順次配信する。
【００２９】
Ｐ２Ｐ端末１は、Ｐ２Ｐネットワークに属する配信サーバ２又は他のＰ２Ｐ端末１’と接続する。そして、配信ツリーの上流側に接続された端末（配信サーバ２、又は配信サーバ２からの中継段数を示すホップ数が自端末１のホップ数以下のＰ２Ｐ端末１’）からコンテンツデータを受信して再生するとともに、配信ツリーの下流側に接続された端末（ホップ数が自端末１のホップ数よりも大きいＰ２Ｐ端末１’）にコンテンツデータを中継（分配、転送）する。Ｐ２Ｐ端末１の詳細については後述する。
【００３０】
端末管理サーバ３は、コンテンツ配信システムに参加している配信サーバ２や各Ｐ２Ｐ端末１のコンテンツ配信に係る情報である端末情報を保持する。端末情報は、配信サーバ２やＰ２Ｐ端末１の端末ＩＤに対応付けて、ＩＰアドレスやポート番号などのデータ転送に必要な情報を含む。
【００３１】
また、端末管理サーバ３は、Ｐ２Ｐ端末１から所望のコンテンツに対する接続先紹介要求を受け付け、接続先候補リストを返信する。接続先候補リストは、Ｐ２Ｐ端末１の接続先の候補となる配信サーバ２又はＰ２Ｐ端末１の端末情報を１つ以上含むリストである。
【００３２】
［Ｐ２Ｐ端末］
次に、Ｐ２Ｐ端末１について、図２を参照して説明する。図２は、本発明に係るＰ２Ｐ端末１の構成例を示すブロック図である。
【００３３】
Ｐ２Ｐ端末１は、通信Ｉ／Ｆ１１と、単位時間利用率更新部１２と、記憶部１３と、接続先紹介要求部１４と、接続先端末選択部１５と、接続切替指示部１６と、接続制御部１７と、端末情報管理部１８と、コンテンツデータ中継部１９と、コンテンツバッファ２０と、コンテンツ再生部２１と、を備える。記憶部１３は、端末情報記憶部１３１と、トポロジ情報記憶部１３２と、単位時間利用率記憶部１３３とを備える。
【００３４】
通信Ｉ／Ｆ１１は、インターネットに接続し、インターネットを介してデータの送受信を行う。
【００３５】
単位時間利用率記憶部１３３は、１日の各単位時間におけるコンテンツ配信サービスの利用率である単位時間利用率を予め記憶する。単位時間利用率は、例えば１日を一定の単位時間で区切り、その各単位時間におけるコンテンツ配信サービスの利用率の平均値、又は各単位時間におけるコンテンツ配信サービスの利用率の曜日ごとの平均値とする。また、平均値とは、過去１ヶ月分の平均値でもよいし、過去１年間分の平均値でもよい。
【００３６】
端末情報記憶部１３１は、自身のＰ２Ｐ端末（自端末）１、Ｐ２Ｐネットワークに参加している他のＰ２Ｐ端末（他端末）１’、及び配信サーバ２の端末情報を記憶する。表１に、端末情報記憶部１３１に記憶されている端末情報の一例を示す。表１の例では、各端末の端末情報は、端末ＩＤにそれぞれ関連付けられた、接続待受けアドレス、接続可能数、接続端末数、ホップ数、及び次期単位時間利用率を含む。
【００３７】
【表１】
2015146486.tif 000003
【００３８】
ここで、端末ＩＤは、配信サーバ２及びＰ２Ｐ端末１を一意に識別する識別子である。接続待受けアドレスは、他端末から接続要求を受け付けることができるＩＰアドレスとポート番号の組を示している。
【００３９】
接続可能数は、Ｐ２Ｐ端末１が配信サーバ２や他のＰ２Ｐ端末１’と同時に接続可能な最大端末数を示す。予め規定値を設定してもよいし、自端末１の通信状態に合わせて順次更新してもよい。
【００４０】
接続端末数は、Ｐ２Ｐ端末１が現在接続中の配信サーバ２や他のＰ２Ｐ端末１’の総数を示す。
【００４１】
ホップ数は、Ｐ２Ｐネットワークにおける配信サーバ２からの中継段数を示す。ここでは、配信サーバ２のホップ数を「０」として、直接配信サーバ２に接続しているＰ２Ｐ端末１のホップ数を「１」、該Ｐ２Ｐ端末１に接続しているＰ２Ｐ端末１のホップ数を「２」とする。接続・切断により、現在接続している配信サーバ２や他端末１’が変更になった場合は、接続中の配信サーバ２や他端末１’のホップ数に合わせて随時更新する。例えば、現在接続している配信サーバ２や他端末１’のホップ数のうち、最小のホップ数に１を加算した値を自端末１のホップ数とすることができる。
【００４２】
次期単位時間利用率は、過去のコンテンツ配信サービスの利用実績に基づく予測値であり、現在より遅い時刻の単位時間（例えば、現在の次の単位時間区切り）における、単位時間利用率を示す。例えば、単位時間が１分で現在時刻が１０：００の場合、次期単位時間利用率を１０：０１から１０：０２の間の単位時間利用率とし、現在時刻が１０：０１になると、次期単位時間利用率を１０：０２から１０：０３の間の単位時間利用率とすることができる。
【００４３】
トポロジ情報記憶部１３２は、自端末１と直接接続している配信サーバ２又は他端末１’の端末ＩＤを、自端末１から見て上流側に位置するか下流側に位置するかの情報と対応付けて、トポロジ情報として記憶する。例えば、自端末１と接続しており、ホップ数が自端末１のホップ数以下のＰ２Ｐ端末１’を上流端末とし、ホップ数が自端末１のホップ数よりも大きいＰ２Ｐ端末１’を下流端末とする。
【００４４】
単位時間利用率更新部１２は、ある単位時間区切りｔｎにおいて（単位時間×ｎ経過時に）、単位時間利用率Ｒｔｎを更新し、単位時間利用率記憶部１３３に記憶する。例えば、ある単位時間区切りｔｎにおける単位時間利用率Ｒｔｎは、簡易的には式（１）のようにＲｔｎ_ｎｅｗに更新される。ここで、Ｔは単位時間、ｔは現在の単位時間内のコンテンツ配信サービス利用時間、αは重み付け係数（０＜α＜１．０：例えば０．２）である。
【００４５】
Ｒｔｎ_ｎｅｗ＝（１−α）×Ｒｔｎ＋α×ｔ／Ｔ                          （１）
【００４６】
接続先紹介要求部１４は、端末ＩＤ、接続待受けアドレス（ＩＰアドレスやポート番号などのデータ転送に必要となる情報）を含む接続紹介要求を、通信Ｉ／Ｆ１１を介して、コンテンツアドレス情報によって指定される端末管理サーバ３へ送信する。そして、端末管理サーバ３から通信Ｉ／Ｆ１１を介して接続先候補リストを受信し、端末情報記憶部１３１に記憶する。
【００４７】
接続先端末選択部１５は、端末情報記憶部１３１に記憶されている端末情報を読み出す。そして、端末情報記憶部１３１に記憶されている端末ＩＤを有する配信サーバ２又は他のＰ２Ｐ端末１’の中から、接続先となる配信サーバ２又は他のＰ２Ｐ端末（接続先端末）を所定の処理により選択する。以下、接続先端末の符号を１−１と表記する。接続先端末選択部１５は、接続先端末１−１の端末情報を接続先端末情報として接続制御部１７に出力し、接続を指示する。例えば接続先端末選択部１５は、端末情報記憶部１３１から端末情報を取得し、上流側に接続される接続先端末１−１を、接続可能数よりも接続端末数のほうが小さく、ホップ数が自端末１より小さく、次期単位時間利用率が所定の閾値よりも大きいＰ２Ｐ端末１’から選択する。また、下流側に接続される接続先端末１−１を、接続可能数よりも接続端末数のほうが小さく、ホップ数が自端末１より大きいＰ２Ｐ端末１’から選択する。
【００４８】
接続切替指示部１６は、接続切替判定部１６１と、切替先端末選択部１６２とを備える。接続切替指示部１６は、当該Ｐ２Ｐ端末１の上流側に接続された接続先端末１−１との接続を維持するか、この接続先端末１−１との接続を切断して他のＰ２Ｐ端末（切替先端末）との接続に切替えるかを決定する。以下、切替先端末の符号を１−２と表記する。
【００４９】
接続切替判定部１６１は、トポロジ情報記憶部１３２に記憶されているトポロジ情報から上流側に接続された接続先端末１−１の端末ＩＤを入力し、端末情報記憶部１３１から該端末ＩＤに対応付けられた端末情報を所得する。そして、取得した端末情報の次期単位時間利用率に基づいて、この接続先端末１−１との接続を継続するか、取得した次期単位時間利用率の単位時間区切りまでに切断するかを判定する。例えば、取得した端末情報の次期単位時間利用率が所定の閾値よりも大きい場合にはこの接続先端末１−１との接続を継続すると判定する。そして、次期単位時間利用率が閾値よりも小さくなった場合に（例えば取得した次期単位時間利用率が１０：０１から１０：０２の間の単位時間利用率であった場合、１０：０１までに）、接続先端末１−１と切断すると判定する。
【００５０】
切替先端末選択部１６２は、接続切替判定部１６１において、接続先端末１−１との接続を切断すると判定した場合に、切替先端末１−２を次期単位時間利用率が閾値以上のＰ２Ｐ端末１’から選択する。そして、選択した切替先端末１−２の端末情報を切替先端末情報とし、接続切替判定部１６１において切断すると判定された接続先端末１−１の端末情報を切替元端末情報として接続制御部１７に出力し、接続切替えを指示する。
【００５１】
切替先端末選択部１６２は、端末情報記憶部１３１に記憶されている端末情報及びトポロジ情報記憶部１３２に記憶されているトポロジ情報を読み出し、トポロジ情報が記憶されておらず（つまり、現在自端末１と接続されておらず）、端末情報に格納されている端末ＩＤを有する配信サーバ２又はＰ２Ｐ端末１’の中から、次期単位時間利用率が閾値以上のＰ２Ｐ端末を切替先端末１−２の候補として決定する。例えば、次期単位時間利用率が閾値以上であり、接続可能数よりも接続端末数のほうが小さく、ホップ数が自端末１のホップ数以下であるＰ２Ｐ端末を切替先候補端末とし、該切替先候補端末のうち次期単位時間利用率が大きいＰ２Ｐ端末から優先的に切替先端末１−２を選択する。
【００５２】
なお、切替先端末選択部１６２は、接続切替判定部１６１により接続先端末１−１との接続を切断すると判定した場合であっても、切替先候補端末が存在しないか、又は切替先候補端末の全てのＰ２Ｐ端末から接続を拒否された場合には、接続先端末１−１との接続を維持するものとする。
【００５３】
接続制御部１７は、接続先端末選択部１５から接続先端末情報を入力し、接続先端末１−１に接続要求を送信する。また、接続の切換を行う場合には、接続切替指示部１６の指示に基づいて、接続先端末１−１に切断要求を送信するとともに、切替先端末１−２に接続要求を送信して接続を行う。また、他のＰ２Ｐ端末１’から接続要求・切断要求を受付ける。接続制御部１７は、接続・切断の結果とともに端末情報を端末情報管理部１８に出力する。
【００５４】
端末情報管理部１８は、接続制御部１７から入力される接続・切断の結果をもとに、端末情報の接続端末数及びホップ数の値を更新し、自端末１の端末ＩＤに対応付けて端末情報記憶部１３１に記憶する。また、トポロジ情報記憶部１３２から切断した接続先端末１−１のトポロジ情報を削除し、新たに接続した切替先端末１−２のトポロジ情報を記憶する。
【００５５】
また、端末情報管理部１８は、自端末１の端末情報を、通信Ｉ／Ｆ１１を介して、端末情報記憶部１３１に記憶されている端末ＩＤを有する他のＰ２Ｐ端末１’へ送信する。自端末１の端末情報をいずれかの情報が更新される度に送信してもよいし、定期的に送信してもよい。さらに、他のＰ２Ｐ端末１’から通信Ｉ／Ｆ１１を介して端末情報を受信し、端末情報記憶部１３１に記憶するとともに、端末情報記憶部１３１に記憶されている端末ＩＤを有する他のＰ２Ｐ端末１’に対して、例えばゴシップ型マルチキャストなどを用いて転送してもよい。
【００５６】
コンテンツデータ中継部１９は、上流側に接続された接続先端末１−１から通信Ｉ／Ｆ１１を介してコンテンツデータを順次受信し、受信したコンテンツデータを下流側に接続された接続先端末１−１へ中継するとともに、受信したコンテンツデータをコンテンツバッファ２０に格納する。
【００５７】
コンテンツ再生部２１は、コンテンツバッファ２０からコンテンツデータを取り出し、順次デコードして再生する。
【００５８】
［接続切替え方法］
次に、Ｐ２Ｐ端末１の接続切替え方法について、図３を参照して説明する。図３は、本発明に係る接続切替え方法を示すフローチャートである。
【００５９】
Ｐ２Ｐ端末１は、トポロジ情報記憶部１３２から上流に接続された接続先端末１−１の端末ＩＤを抽出する（ステップＳ１０１）。次に端末情報記憶部１３１から、該抽出した端末ＩＤの端末情報を抽出し（ステップＳ１０２）、抽出した端末情報の次期単位時間利用率と所定の閾値（例えば０．４）とを比較し、閾値よりも小さい場合は（ステップＳ１０３−ＹＥＳ）、端末情報記憶部１３１から、（１）トポロジ情報記憶部１３２にトポロジ情報が記憶されておらず、（２）接続可能数よりも接続端末数が小さく、（３）ホップ数が自端末以下であり（配信ツリーの上流側に位置し）、（４）次期単位時間利用率が閾値以上である端末の端末情報を抽出し（抽出数をＮとする）、次期単位時間利用率が大きい順にソートする（ステップＳ１０４）。
【００６０】
次に、単位時間区切りになったら（ステップＳ１０５−ＹＥＳ）、ループカウンタｉを０にセットし（ステップＳ１０６）、ループ処理に入る。次に、ｉ＜Ｎである場合は（ステップＳ１０７−ＹＥＳ）、ｉ番目の端末情報を抽出し（ステップＳ１０８）、ｉ番目のＰ２Ｐ端末（切替先端末）１−２に接続要求を送信する（ステップＳ１０９）。ｉ番目の切替先端末１−２は、接続要求を受信し（ステップＳ１１０）、接続受付が可能でない場合は（ステップＳ１１１−ＮＯ）、Ｐ２Ｐ端末１に接続拒否応答を送信し（ステップＳ１１２）終了する。Ｐ２Ｐ端末１は接続拒否応答を受信したら（ステップＳ１１３）、ループカウンタｉをインクリメントし（ステップＳ１１４）、ステップＳ１０７の処理に戻る。
【００６１】
ステップＳ１１１の処理に戻り、切替先端末１−２が接続受付可能な場合は（ステップＳ１１１−ＹＥＳ）、Ｐ２Ｐ端末１に接続応答を送信する（ステップＳ１１５）。Ｐ２Ｐ端末１は接続応答を受信したら（ステップＳ１１６）、切替先端末１−２と接続を確立する。次に、接続先端末１−１へ切断要求を送信し（ステップＳ１１７）、接続先端末１−１は切断要求を受信し（ステップＳ１１８）、Ｐ２Ｐ端末１との接続を切断する。次にＰ２Ｐ端末１は、トポロジ情報記憶部１３２から接続先端末１−１のトポロジ情報を削除し、切替先端末１−２を上流端末としてトポロジ情報を登録し（ステップＳ１１９）、自端末１の端末情報の接続端末数及びホップ数の値を更新して（ステップＳ１２０）、処理を終了する。なお、図中には記載していないがステップＳ１１９、Ｓ１２０の処理は、接続先端末１−１及び切替先端末１−２でも同様に実施される。
【００６２】
また、ステップＳ１０３で抽出した端末情報の次期単位時間利用率が閾値よりも大きい場合（ステップＳ１０３−ＮＯ）、又はステップＳ１０７でｉ≧Ｎとなった場合は（ステップＳ１０７−ＮＯ）、接続先端末１−１との接続を維持して処理を終了する。
【００６３】
上述したように、本発明に係るコンテンツ配信システムにおいて、Ｐ２Ｐ端末１は、各利用者における単位時間あたりの過去のコンテンツ配信サービスの利用実績に基づいて、現在の次の単位時間において、上流側に接続された接続先端末１−１との接続を継続するか、利用実績が高いＰ２Ｐ端末に接続を切替えるかを決定する。これにより、次の単位時間において上流側に接続された接続先端末１−１の利用実績が低下することを事前に予測し、より利用実績が高い切替先端末１−２に接続を切替えるため、配信ツリーの上流のＰ２Ｐ端末１がコンテンツ配信中に離脱する度合いが低くなり、安定した配信を実現することができるようになる。
【００６４】
上述の実施形態は代表的な例として説明したが、本発明の趣旨及び範囲内で、多くの変更及び置換ができることは当業者に明らかである。したがって、本発明は、上述の実施形態によって制限するものと解するべきではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。例えば、実施形態に記載の複数の構成ブロックを１つに組み合わせたり、あるいは１つの構成ブロックを分割したりすることが可能である。
【符号の説明】
【００６５】
１      Ｐ２Ｐ端末
２      配信サーバ
３      端末管理サーバ
１１    通信Ｉ／Ｆ
１２    単位時間利用率更新部
１３    記憶部
１４    接続先紹介要求部
１５    接続先端末選択部
１６    接続切替指示部
１７    接続制御部
１８    端末情報管理部
１９    コンテンツデータ中継部
２０    コンテンツバッファ
２１    コンテンツ再生部
１３１  端末情報記憶部
１３２  トポロジ情報記憶部
１３３  単位時間利用率記憶部
１６１  接続切替判定部
１６２  切替先端末選択部
【図１】
2015146486.tif 000004
【図２】
2015146486.tif 000005
【図３】
2015146486.tif 000006
【図４】
2015146486.tif 000007