(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6231896
(24)【登録日】2017年10月27日
(45)【発行日】2017年11月15日
(54)【発明の名称】コンテンツ配信システム、P2P端末、及び接続切替え方法
(51)【国際特許分類】
H04L 12/70 20130101AFI20171106BHJP
H04L 12/701 20130101ALI20171106BHJP
【FI】
H04L12/70 F
H04L12/701
【請求項の数】7
【全頁数】13
(21)【出願番号】特願2014-17834(P2014-17834)
(22)【出願日】2014年1月31日
(65)【公開番号】特開2015-146486(P2015-146486A)
(43)【公開日】2015年8月13日
【審査請求日】2016年11月28日
【権利譲渡・実施許諾】特許権者において、実施許諾の用意がある。
(73)【特許権者】
【識別番号】000004352
【氏名又は名称】日本放送協会
(74)【代理人】
【識別番号】100147485
【弁理士】
【氏名又は名称】杉村 憲司
(74)【代理人】
【識別番号】100161148
【弁理士】
【氏名又は名称】福尾 誠
(72)【発明者】
【氏名】西村 敏
(72)【発明者】
【氏名】田中 壮
(72)【発明者】
【氏名】遠藤 洋介
【審査官】
衣鳩 文彦
(56)【参考文献】
【文献】
特開2012−175464(JP,A)
【文献】
特開2009−017493(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/70
(57)【特許請求の範囲】
【請求項1】
コンテンツの配信元である配信サーバを頂点として複数のP2P端末が階層的に接続されたツリー構造のP2Pネットワークを構築してコンテンツを配信するコンテンツ配信システムであって、
前記P2P端末は、
1日の各単位時間におけるコンテンツ配信サービスの利用率である単位時間利用率を予め記憶する単位時間利用率記憶部と、
P2Pネットワークに参加する配信サーバ及び複数のP2P端末から、現在より遅い時刻の単位時間における前記単位時間利用率である次期単位時間利用率を取得する端末情報管理部と、
当該P2P端末の上流側に接続されたP2P端末である接続先端末の前記次期単位時間利用率に基づいて、前記接続先端末との接続を継続するか、前記現在より遅い時刻までに切断するかを決定する接続切替指示部と、
前記接続切替指示部により前記接続先端末との接続を切断すると決定された場合に、前記接続先端末と切断し、接続の切替え先となるP2P端末である切替先端末との接続を行う接続制御部と、
を備える、コンテンツ配信システム。
【請求項2】
コンテンツの配信元である配信サーバを頂点としてツリー構造のP2Pネットワークを構築するP2P端末であって、
1日の各単位時間におけるコンテンツ配信サービスの利用率である単位時間利用率を予め記憶する単位時間利用率記憶部と、
P2Pネットワークに参加する配信サーバ及び複数のP2P端末から、現在より遅い時刻の単位時間における前記単位時間利用率である次期単位時間利用率を取得する端末情報管理部と、
当該P2P端末の上流側に接続されたP2P端末である接続先端末の前記次期単位時間利用率に基づいて、前記接続先端末との接続を継続するか、前記現在より遅い時刻までに切断するかを決定する接続切替指示部と、
前記接続切替指示部により前記接続先端末との接続を切断すると決定された場合に、前記接続先端末と切断し、接続の切替え先となるP2P端末である切替先端末との接続を行う接続制御部と、
を備える、P2P端末。
【請求項3】
前記接続切替指示部は、前記次期単位時間利用率が所定の閾値以上である場合には接続を継続すると決定し、前記次期単位時間利用率が前記閾値よりも小さい場合には、前記現在より遅い時刻までに接続を切断すると決定し、前記切替先端末を前記次期単位時間利用率が前記閾値以上のP2P端末から選択する、請求項2に記載のP2P端末。
【請求項4】
前記接続切替指示部は、前記接続先端末との接続を切断すると決定した場合に、前記切替先端末を、前記次期単位時間利用率が前記閾値以上であり、接続可能な最大のP2P端末数よりも接続中のP2P端末数のほうが小さく、配信ツリーの上流側に位置するP2P端末を切替先候補端末とし、該切替先候補端末のうち前記次期単位時間利用率が大きいP2P端末から優先的に選択する、請求項3に記載のP2P端末。
【請求項5】
前記接続切替指示部は、前記接続先端末との接続を切断すると決定した場合であっても、前記切替先候補端末が存在しないか、又は切替先候補端末の全てのP2P端末から接続を拒否された場合には、前記接続先端末との接続を維持する、請求項4に記載のP2P端末。
【請求項6】
前記単位時間利用率は、1日を一定の単位時間で区切り、各単位時間におけるコンテンツ配信サービスの利用率の平均値、又は前記各単位時間におけるコンテンツ配信サービスの利用率の曜日ごとの平均値とする、請求項2から5のいずれか一項に記載のP2P端末。
【請求項7】
コンテンツの配信元である配信サーバを頂点としてツリー構造のP2Pネットワークを構築するP2P端末の接続先を切替える接続切替え方法であって、
1日の各単位時間におけるコンテンツ配信サービスの利用率である単位時間利用率を予め記憶するステップと、
P2Pネットワークに参加する配信サーバ及び複数のP2P端末から、現在より遅い時刻の単位時間における前記単位時間利用率である次期単位時間利用率を取得するステップと、
当該P2P端末の上流側に接続されたP2P端末である接続先端末の前記次期単位時間利用率に基づいて、前記接続先端末との接続を継続するか、前記現在より遅い時刻までに切断するかを決定するステップと、
前記接続先端末との接続を切断すると決定された場合に、前記接続先端末と切断し、接続の切替え先となるP2P端末である切替先端末との接続を行うステップと、
を含む、接続切替え方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンテンツの配信元であるコンテンツ配信サーバ(以下、「配信サーバ」という)を頂点として複数のP2P端末が階層的に接続された配信ツリー(ツリー構造のP2Pネットワーク)を構築してコンテンツを配信するコンテンツ配信システム、該コンテンツ配信システムを構成するP2P端末、及びP2P端末の接続切替え方法に関する。
【背景技術】
【0002】
近年インターネットにおいては、ストリーミングによる動画配信サービスが普及している。動画配信サービスの形態としては、受信端末において視聴したいコンテンツを選択し、選択したコンテンツを配信サーバから受信するVOD(Video On Demand)のような一対一の配信サービスに加え、同一のコンテンツを多数の受信端末に同時に伝送する一対多(放送型)の配信サービスが知られている。
【0003】
IPネットワークにおいて一対多の放送型の動画配信サービスを効率よく行う方式として、IPマルチキャストが知られている。しかし、このIPマルチキャスト方式では、対象となるネットワーク内の全ルータにマルチキャスト機能が必要となり、現状では限られたネットワークのみでしか利用できない。
【0004】
こうした背景から、一般に普及しているインターネット上で一対多の放送型配信を実現する有効な方法として、P2P(ピアツーピア)技術を用いたコンテンツの分散配信技術が開発されている。この技術は、コンテンツを要求するP2P端末同士で論理的なツリーを作り、P2P端末上で動作するアプリケーションソフトが相互にデータ転送を行うことによりマルチキャスト(一対多通信)を実現する。
【0005】
例えば、特許文献1に記載されたストリームデータ分散配信方法では、インターネットなどのネットワーク環境において、各ノード間でストリームデータの送受信を行うため、各ノードは上流ノードと下流ノードとの接続関係を示すトポロジ情報を交換して、上流ノードから下流ノードへストリームデータを中継している。このストリームデータ分散配信方法では、各ノード間でトポロジ情報を交換するため、各ノードが自律的にトポロジ情報を記憶・更新し、提供するなどの管理を行う機能を備えている。
【0006】
また、このようなコンテンツ配信方式の別の例として、非特許文献1に開示された技術では、配信サーバにおいてストリーミングメディアを複数のデータパケットに断片化する(断片化されたデータをチャンクと呼ぶ)。そして、各端末は必要なチャンクを持つ端末を動的に検出し、検出した端末から、プル型でチャンクを受信し、受信したチャンクを再構成することにより、所望のストリーミングメディアを得ることができる。
図4にこのような従来のコンテンツ配信システムの一例を示す。
図4に示したコンテンツ配信システムの例では、配信サーバによって1〜6の6個に断片化したチャンクのうち、奇数番号のチャンクが実線に沿って転送され、偶数番号のチャンクが破線に沿って転送されることで、図示する6台の各P2P端末に対して、全てのチャンクが行き届いている様子を示している。
【0007】
P2P技術によるコンテンツ配信方式では、一般利用者の利用者端末(P2P端末)が、自端末から他のP2P端末へ中継を行う機能を担うことになり、配信ツリーの上流に位置するP2P端末(上流端末)がコンテンツ視聴を中止した際には、そのP2P端末から下流に位置するP2P端末(下流端末)への配信が停止することになる。このため、P2P技術によるコンテンツ配信を安定的に実現するには、P2P端末の突発的な離脱に対処する必要がある。
【0008】
そこで、一般的な方法では、各P2P端末に受信データを蓄積するための受信メモリ(受信バッファ)を備えさせ、上流端末が急に離脱したとしても、受信バッファに蓄積したデータを再生している間に他の上流端末に再接続することで、コンテンツ配信サービスによるストリーミング受信を継続する。
【0009】
しかしながら、この方法では、コンテンツ配信の安定性を確保するために、各P2P端末が大容量の受信メモリを備える必要があるとともに、再生前に受信データを受信メモリに蓄える必要があり、遅延時間が大きくなってしまうという問題があった。また、この受信メモリ内のデータが枯渇した際には映像が停止してしまうという問題もあった。
【0010】
これらの問題を解決するために、例えば特許文献2に記載されているように、相対的に離脱し難いと想定されるP2P端末を上流に配置するP2Pネットワークの構築方法が開示されている。
【0011】
また、
図4に示したコンテンツ配信システムのように、複数のP2P端末がメッシュ状に接続したメッシュ構造のP2Pネットワークを構築する場合には、一部の上流端末からデータ受信が途絶えたとしても、他の上流端末からデータを受信することにより、コンテンツ配信サービスによるストリーミング受信を継続することができる。
【先行技術文献】
【特許文献】
【0012】
【特許文献1】特開2003−169089号公報
【特許文献2】特開2009−130667号公報
【非特許文献】
【0013】
【非特許文献1】CoolStreaming/DoNet: A Data-Driven Overlay Network for Efficient Live Media Streaming”, In Proc. Of the 24th IEEE INFOCO, March 2005, p.2102-2111 Xinyan Zhang, Jiangchuan Liu, Bo Li and Tak-ShingPeter Yum
【発明の概要】
【発明が解決しようとする課題】
【0014】
特許文献1に記載されたP2Pネットワークによりコンテンツ配信サービスを実現する場合、上流端末は離脱し難いから、大規模な受信状況の劣化を避けることができる。しかしながら、ネットワークの末端部に離脱し易いP2P端末が多く配置されることから、局所的な受信状況の劣化までは避けることはできないという問題がある。
【0015】
また、
図4のメッシュ構造のP2Pネットワークによるコンテンツ配信サービスを実現する場合、一部の上流端末からのデータ受信が途絶えたとしても、残りの上流端末からデータを受信することができるため、ツリー構造のP2Pネットワークと比較して、P2Pネットワーク全体の安定性は高くなる。しかしながら、上流の接続相手として離脱の可能性の高いP2P端末が多い場合には、コンテンツ配信サービスによるストリーミング受信を安定的に継続することができないという問題がある。
【0016】
かかる事情に鑑みてなされた本発明の目的は、P2P端末の離脱を予測して安定したP2Pネットワークを構築することが可能なコンテンツ配信システム、P2P端末、及び接続切替え方法を提供することにある。
【課題を解決するための手段】
【0017】
上記課題を解決するため、本発明に係るコンテンツ配信システムは、コンテンツの配信元である配信サーバを頂点として複数のP2P端末が階層的に接続されたツリー構造のP2Pネットワークを構築してコンテンツを配信するコンテンツ配信システムであって、前記P2P端末は、1日の各単位時間におけるコンテンツ配信サービスの利用率である単位時間利用率を予め記憶する単位時間利用率記憶部と、P2Pネットワークに参加する配信サーバ及び複数のP2P端末から、現在より遅い時刻の単位時間における前記単位時間利用率である次期単位時間利用率を取得する端末情報管理部と、当該P2P端末の上流側に接続されたP2P端末である接続先端末の前記次期単位時間利用率に基づいて、前記接続先端末との接続を継続するか、前記現在より遅い時刻までに切断するかを決定する接続切替指示部と、前記接続切替指示部により前記接続先端末との接続を切断すると決定された場合に、前記接続先端末と切断し、接続の切替え先となるP2P端末である切替先端末との接続を行う接続制御部と、を備える。
【0018】
また、上記課題を解決するため、本発明に係るP2P端末は、コンテンツの配信元である配信サーバを頂点としてツリー構造のP2Pネットワークを構築するP2P端末であって、1日の各単位時間におけるコンテンツ配信サービスの利用率である単位時間利用率を予め記憶する単位時間利用率記憶部と、P2Pネットワークに参加する配信サーバ及び複数のP2P端末から、現在より遅い時刻の単位時間における前記単位時間利用率である次期単位時間利用率を取得する端末情報管理部と、当該P2P端末の上流側に接続されたP2P端末である接続先端末の前記次期単位時間利用率に基づいて、前記接続先端末との接続を継続するか、前記現在より遅い時刻までに切断するかを決定する接続切替指示部と、前記接続切替指示部により前記接続先端末との接続を切断すると決定された場合に、前記接続先端末と切断し、接続の切替え先となるP2P端末である切替先端末との接続を行う接続制御部と、を備える。
【0019】
さらに、本発明に係るP2P端末において、前記接続切替指示部は、前記次期単位時間利用率が所定の閾値以上である場合には接続を継続すると決定し、前記次期単位時間利用率が前記閾値よりも小さい場合には、前記現在より遅い時刻までに接続を切断すると決定し、前記切替先端末を前記次期単位時間利用率が前記閾値以上のP2P端末から選択する。
【0020】
さらに、本発明に係るP2P端末において、前記接続切替指示部は、前記接続先端末との接続を切断すると決定した場合に、前記切替先端末を、前記次期単位時間利用率が前記閾値以上であり、接続可能な最大のP2P端末数よりも接続中のP2P端末数のほうが小さく、配信ツリーの上流側に位置するP2P端末を切替先候補端末とし、該切替先候補端末のうち前記次期単位時間利用率が大きいP2P端末から優先的に選択する。
【0021】
さらに、本発明に係るP2P端末において、前記接続切替指示部は、前記接続先端末との接続を切断すると決定した場合であっても、前記切替先候補端末が存在しないか、又は切替先候補端末の全てのP2P端末から接続を拒否された場合には、前記接続先端末との接続を維持する。
【0022】
さらに、本発明に係るP2P端末において、前記単位時間利用率は、1日を一定の単位時間で区切り、各単位時間におけるコンテンツ配信サービスの利用率の平均値、又は前記各単位時間におけるコンテンツ配信サービスの利用率の曜日ごとの平均値とする。
【0023】
また、上記課題を解決するため、本発明に係る接続切替え方法は、コンテンツの配信元である配信サーバを頂点としてツリー構造のP2Pネットワークを構築するP2P端末の接続先を切替える接続切替え方法であって、1日の各単位時間におけるコンテンツ配信サービスの利用率である単位時間利用率を予め記憶するステップと、P2Pネットワークに参加する配信サーバ及び複数のP2P端末から、現在より遅い時刻の単位時間における前記単位時間利用率である次期単位時間利用率を取得するステップと、当該P2P端末の上流側に接続されたP2P端末である接続先端末の前記次期単位時間利用率に基づいて、前記接続先端末との接続を継続するか、前記現在より遅い時刻までに切断するかを決定するステップと、前記接続先端末との接続を切断すると決定された場合に、前記接続先端末と切断し、接続の切替え先となるP2P端末である切替先端末との接続を行うステップと、を含む。
【発明の効果】
【0024】
本発明によれば、P2Pネットワークを構築してコンテンツを配信するコンテンツ配信システムにおいて、上流側に接続されたP2P端末がコンテンツ配信中に離脱する度合いが低くなり、安定した配信を実現することができるようになる。
【図面の簡単な説明】
【0025】
【
図1】本発明の一実施形態に係るコンテンツ配信システムの構成例を示す概略図である。
【
図2】本発明の一実施形態に係るP2P端末の構成例を示すブロック図である。
【
図3】本発明の一実施形態に係る接続切替え方法を示すフローチャートである。
【
図4】従来のコンテンツ配信システムの一例を示す概略図である。
【発明を実施するための形態】
【0026】
以下、本発明の一実施形態について、図面を参照して詳細に説明する。
【0027】
図1は、本発明の一実施形態に係るコンテンツ配信システムの構成例を示す概略図である。コンテンツ配信システムは、複数のP2P端末1と、配信サーバ2と、端末管理サーバ3とを備えており、これらはインターネットを介して接続されている。コンテンツ配信システムは、コンテンツの配信元である配信サーバ2を頂点として複数のP2P端末1が階層的に接続された配信ツリー(ツリー構造のP2Pネットワーク)を構築して、P2P方式によりコンテンツを配信する。以下の説明において、自身のP2P端末(自端末)と他のP2P端末(他端末)とを特に区別する場合には、他端末の符号を1’と表記する。
【0028】
配信サーバ2は、コンテンツの配信元となってコンテンツ配信サービスを提供するサーバであり、P2Pネットワークに参加するP2P端末1に対し、コンテンツのデータパケット(以下、「コンテンツデータ」という)を順次配信する。
【0029】
P2P端末1は、P2Pネットワークに属する配信サーバ2又は他のP2P端末1’と接続する。そして、配信ツリーの上流側に接続された端末(配信サーバ2、又は配信サーバ2からの中継段数を示すホップ数が自端末1のホップ数以下のP2P端末1’)からコンテンツデータを受信して再生するとともに、配信ツリーの下流側に接続された端末(ホップ数が自端末1のホップ数よりも大きいP2P端末1’)にコンテンツデータを中継(分配、転送)する。P2P端末1の詳細については後述する。
【0030】
端末管理サーバ3は、コンテンツ配信システムに参加している配信サーバ2や各P2P端末1のコンテンツ配信に係る情報である端末情報を保持する。端末情報は、配信サーバ2やP2P端末1の端末IDに対応付けて、IPアドレスやポート番号などのデータ転送に必要な情報を含む。
【0031】
また、端末管理サーバ3は、P2P端末1から所望のコンテンツに対する接続先紹介要求を受け付け、接続先候補リストを返信する。接続先候補リストは、P2P端末1の接続先の候補となる配信サーバ2又はP2P端末1の端末情報を1つ以上含むリストである。
【0032】
[P2P端末]
次に、P2P端末1について、
図2を参照して説明する。
図2は、本発明に係るP2P端末1の構成例を示すブロック図である。
【0033】
P2P端末1は、通信I/F11と、単位時間利用率更新部12と、記憶部13と、接続先紹介要求部14と、接続先端末選択部15と、接続切替指示部16と、接続制御部17と、端末情報管理部18と、コンテンツデータ中継部19と、コンテンツバッファ20と、コンテンツ再生部21と、を備える。記憶部13は、端末情報記憶部131と、トポロジ情報記憶部132と、単位時間利用率記憶部133とを備える。
【0034】
通信I/F11は、インターネットに接続し、インターネットを介してデータの送受信を行う。
【0035】
単位時間利用率記憶部133は、1日の各単位時間におけるコンテンツ配信サービスの利用率である単位時間利用率を予め記憶する。単位時間利用率は、例えば1日を一定の単位時間で区切り、その各単位時間におけるコンテンツ配信サービスの利用率の平均値、又は各単位時間におけるコンテンツ配信サービスの利用率の曜日ごとの平均値とする。また、平均値とは、過去1ヶ月分の平均値でもよいし、過去1年間分の平均値でもよい。
【0036】
端末情報記憶部131は、自身のP2P端末(自端末)1、P2Pネットワークに参加している他のP2P端末(他端末)1’、及び配信サーバ2の端末情報を記憶する。表1に、端末情報記憶部131に記憶されている端末情報の一例を示す。表1の例では、各端末の端末情報は、端末IDにそれぞれ関連付けられた、接続待受けアドレス、接続可能数、接続端末数、ホップ数、及び次期単位時間利用率を含む。
【0038】
ここで、端末IDは、配信サーバ2及びP2P端末1を一意に識別する識別子である。接続待受けアドレスは、他端末から接続要求を受け付けることができるIPアドレスとポート番号の組を示している。
【0039】
接続可能数は、P2P端末1が配信サーバ2や他のP2P端末1’と同時に接続可能な最大端末数を示す。予め規定値を設定してもよいし、自端末1の通信状態に合わせて順次更新してもよい。
【0040】
接続端末数は、P2P端末1が現在接続中の配信サーバ2や他のP2P端末1’の総数を示す。
【0041】
ホップ数は、P2Pネットワークにおける配信サーバ2からの中継段数を示す。ここでは、配信サーバ2のホップ数を「0」として、直接配信サーバ2に接続しているP2P端末1のホップ数を「1」、該P2P端末1に接続しているP2P端末1のホップ数を「2」とする。接続・切断により、現在接続している配信サーバ2や他端末1’が変更になった場合は、接続中の配信サーバ2や他端末1’のホップ数に合わせて随時更新する。例えば、現在接続している配信サーバ2や他端末1’のホップ数のうち、最小のホップ数に1を加算した値を自端末1のホップ数とすることができる。
【0042】
次期単位時間利用率は、過去のコンテンツ配信サービスの利用実績に基づく予測値であり、現在より遅い時刻の単位時間(例えば、現在の次の単位時間区切り)における、単位時間利用率を示す。例えば、単位時間が1分で現在時刻が10:00の場合、次期単位時間利用率を10:01から10:02の間の単位時間利用率とし、現在時刻が10:01になると、次期単位時間利用率を10:02から10:03の間の単位時間利用率とすることができる。
【0043】
トポロジ情報記憶部132は、自端末1と直接接続している配信サーバ2又は他端末1’の端末IDを、自端末1から見て上流側に位置するか下流側に位置するかの情報と対応付けて、トポロジ情報として記憶する。例えば、自端末1と接続しており、ホップ数が自端末1のホップ数以下のP2P端末1’を上流端末とし、ホップ数が自端末1のホップ数よりも大きいP2P端末1’を下流端末とする。
【0044】
単位時間利用率更新部12は、ある単位時間区切りtnにおいて(単位時間×n経過時に)、単位時間利用率R
tnを更新し、単位時間利用率記憶部133に記憶する。例えば、ある単位時間区切りtnにおける単位時間利用率R
tnは、簡易的には式(1)のようにR
tn_newに更新される。ここで、Tは単位時間、tは現在の単位時間内のコンテンツ配信サービス利用時間、αは重み付け係数(0<α<1.0:例えば0.2)である。
【0045】
R
tn_new=(1−α)×R
tn+α×t/T (1)
【0046】
接続先紹介要求部14は、端末ID、接続待受けアドレス(IPアドレスやポート番号などのデータ転送に必要となる情報)を含む接続紹介要求を、通信I/F11を介して、コンテンツアドレス情報によって指定される端末管理サーバ3へ送信する。そして、端末管理サーバ3から通信I/F11を介して接続先候補リストを受信し、端末情報記憶部131に記憶する。
【0047】
接続先端末選択部15は、端末情報記憶部131に記憶されている端末情報を読み出す。そして、端末情報記憶部131に記憶されている端末IDを有する配信サーバ2又は他のP2P端末1’の中から、接続先となる配信サーバ2又は他のP2P端末(接続先端末)を所定の処理により選択する。以下、接続先端末の符号を1−1と表記する。接続先端末選択部15は、接続先端末1−1の端末情報を接続先端末情報として接続制御部17に出力し、接続を指示する。例えば接続先端末選択部15は、端末情報記憶部131から端末情報を取得し、上流側に接続される接続先端末1−1を、接続可能数よりも接続端末数のほうが小さく、ホップ数が自端末1より小さく、次期単位時間利用率が所定の閾値よりも大きいP2P端末1’から選択する。また、下流側に接続される接続先端末1−1を、接続可能数よりも接続端末数のほうが小さく、ホップ数が自端末1より大きいP2P端末1’から選択する。
【0048】
接続切替指示部16は、接続切替判定部161と、切替先端末選択部162とを備える。接続切替指示部16は、当該P2P端末1の上流側に接続された接続先端末1−1との接続を維持するか、この接続先端末1−1との接続を切断して他のP2P端末(切替先端末)との接続に切替えるかを決定する。以下、切替先端末の符号を1−2と表記する。
【0049】
接続切替判定部161は、トポロジ情報記憶部132に記憶されているトポロジ情報から上流側に接続された接続先端末1−1の端末IDを入力し、端末情報記憶部131から該端末IDに対応付けられた端末情報を所得する。そして、取得した端末情報の次期単位時間利用率に基づいて、この接続先端末1−1との接続を継続するか、取得した次期単位時間利用率の単位時間区切りまでに切断するかを判定する。例えば、取得した端末情報の次期単位時間利用率が所定の閾値よりも大きい場合にはこの接続先端末1−1との接続を継続すると判定する。そして、次期単位時間利用率が閾値よりも小さくなった場合に(例えば取得した次期単位時間利用率が10:01から10:02の間の単位時間利用率であった場合、10:01までに)、接続先端末1−1と切断すると判定する。
【0050】
切替先端末選択部162は、接続切替判定部161において、接続先端末1−1との接続を切断すると判定した場合に、切替先端末1−2を次期単位時間利用率が閾値以上のP2P端末1’から選択する。そして、選択した切替先端末1−2の端末情報を切替先端末情報とし、接続切替判定部161において切断すると判定された接続先端末1−1の端末情報を切替元端末情報として接続制御部17に出力し、接続切替えを指示する。
【0051】
切替先端末選択部162は、端末情報記憶部131に記憶されている端末情報及びトポロジ情報記憶部132に記憶されているトポロジ情報を読み出し、トポロジ情報が記憶されておらず(つまり、現在自端末1と接続されておらず)、端末情報に格納されている端末IDを有する配信サーバ2又はP2P端末1’の中から、次期単位時間利用率が閾値以上のP2P端末を切替先端末1−2の候補として決定する。例えば、次期単位時間利用率が閾値以上であり、接続可能数よりも接続端末数のほうが小さく、ホップ数が自端末1のホップ数以下であるP2P端末を切替先候補端末とし、該切替先候補端末のうち次期単位時間利用率が大きいP2P端末から優先的に切替先端末1−2を選択する。
【0052】
なお、切替先端末選択部162は、接続切替判定部161により接続先端末1−1との接続を切断すると判定した場合であっても、切替先候補端末が存在しないか、又は切替先候補端末の全てのP2P端末から接続を拒否された場合には、接続先端末1−1との接続を維持するものとする。
【0053】
接続制御部17は、接続先端末選択部15から接続先端末情報を入力し、接続先端末1−1に接続要求を送信する。また、接続の切換を行う場合には、接続切替指示部16の指示に基づいて、接続先端末1−1に切断要求を送信するとともに、切替先端末1−2に接続要求を送信して接続を行う。また、他のP2P端末1’から接続要求・切断要求を受付ける。接続制御部17は、接続・切断の結果とともに端末情報を端末情報管理部18に出力する。
【0054】
端末情報管理部18は、接続制御部17から入力される接続・切断の結果をもとに、端末情報の接続端末数及びホップ数の値を更新し、自端末1の端末IDに対応付けて端末情報記憶部131に記憶する。また、トポロジ情報記憶部132から切断した接続先端末1−1のトポロジ情報を削除し、新たに接続した切替先端末1−2のトポロジ情報を記憶する。
【0055】
また、端末情報管理部18は、自端末1の端末情報を、通信I/F11を介して、端末情報記憶部131に記憶されている端末IDを有する他のP2P端末1’へ送信する。自端末1の端末情報をいずれかの情報が更新される度に送信してもよいし、定期的に送信してもよい。さらに、他のP2P端末1’から通信I/F11を介して端末情報を受信し、端末情報記憶部131に記憶するとともに、端末情報記憶部131に記憶されている端末IDを有する他のP2P端末1’に対して、例えばゴシップ型マルチキャストなどを用いて転送してもよい。
【0056】
コンテンツデータ中継部19は、上流側に接続された接続先端末1−1から通信I/F11を介してコンテンツデータを順次受信し、受信したコンテンツデータを下流側に接続された接続先端末1−1へ中継するとともに、受信したコンテンツデータをコンテンツバッファ20に格納する。
【0057】
コンテンツ再生部21は、コンテンツバッファ20からコンテンツデータを取り出し、順次デコードして再生する。
【0058】
[接続切替え方法]
次に、P2P端末1の接続切替え方法について、
図3を参照して説明する。
図3は、本発明に係る接続切替え方法を示すフローチャートである。
【0059】
P2P端末1は、トポロジ情報記憶部132から上流に接続された接続先端末1−1の端末IDを抽出する(ステップS101)。次に端末情報記憶部131から、該抽出した端末IDの端末情報を抽出し(ステップS102)、抽出した端末情報の次期単位時間利用率と所定の閾値(例えば0.4)とを比較し、閾値よりも小さい場合は(ステップS103−YES)、端末情報記憶部131から、(1)トポロジ情報記憶部132にトポロジ情報が記憶されておらず、(2)接続可能数よりも接続端末数が小さく、(3)ホップ数が自端末以下であり(配信ツリーの上流側に位置し)、(4)次期単位時間利用率が閾値以上である端末の端末情報を抽出し(抽出数をNとする)、次期単位時間利用率が大きい順にソートする(ステップS104)。
【0060】
次に、単位時間区切りになったら(ステップS105−YES)、ループカウンタiを0にセットし(ステップS106)、ループ処理に入る。次に、i<Nである場合は(ステップS107−YES)、i番目の端末情報を抽出し(ステップS108)、i番目のP2P端末(切替先端末)1−2に接続要求を送信する(ステップS109)。i番目の切替先端末1−2は、接続要求を受信し(ステップS110)、接続受付が可能でない場合は(ステップS111−NO)、P2P端末1に接続拒否応答を送信し(ステップS112)終了する。P2P端末1は接続拒否応答を受信したら(ステップS113)、ループカウンタiをインクリメントし(ステップS114)、ステップS107の処理に戻る。
【0061】
ステップS111の処理に戻り、切替先端末1−2が接続受付可能な場合は(ステップS111−YES)、P2P端末1に接続応答を送信する(ステップS115)。P2P端末1は接続応答を受信したら(ステップS116)、切替先端末1−2と接続を確立する。次に、接続先端末1−1へ切断要求を送信し(ステップS117)、接続先端末1−1は切断要求を受信し(ステップS118)、P2P端末1との接続を切断する。次にP2P端末1は、トポロジ情報記憶部132から接続先端末1−1のトポロジ情報を削除し、切替先端末1−2を上流端末としてトポロジ情報を登録し(ステップS119)、自端末1の端末情報の接続端末数及びホップ数の値を更新して(ステップS120)、処理を終了する。なお、図中には記載していないがステップS119、S120の処理は、接続先端末1−1及び切替先端末1−2でも同様に実施される。
【0062】
また、ステップS103で抽出した端末情報の次期単位時間利用率が閾値よりも大きい場合(ステップS103−NO)、又はステップS107でi≧Nとなった場合は(ステップS107−NO)、接続先端末1−1との接続を維持して処理を終了する。
【0063】
上述したように、本発明に係るコンテンツ配信システムにおいて、P2P端末1は、各利用者における単位時間あたりの過去のコンテンツ配信サービスの利用実績に基づいて、現在の次の単位時間において、上流側に接続された接続先端末1−1との接続を継続するか、利用実績が高いP2P端末に接続を切替えるかを決定する。これにより、次の単位時間において上流側に接続された接続先端末1−1の利用実績が低下することを事前に予測し、より利用実績が高い切替先端末1−2に接続を切替えるため、配信ツリーの上流のP2P端末1がコンテンツ配信中に離脱する度合いが低くなり、安定した配信を実現することができるようになる。
【0064】
上述の実施形態は代表的な例として説明したが、本発明の趣旨及び範囲内で、多くの変更及び置換ができることは当業者に明らかである。したがって、本発明は、上述の実施形態によって制限するものと解するべきではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。例えば、実施形態に記載の複数の構成ブロックを1つに組み合わせたり、あるいは1つの構成ブロックを分割したりすることが可能である。
【符号の説明】
【0065】
1 P2P端末
2 配信サーバ
3 端末管理サーバ
11 通信I/F
12 単位時間利用率更新部
13 記憶部
14 接続先紹介要求部
15 接続先端末選択部
16 接続切替指示部
17 接続制御部
18 端末情報管理部
19 コンテンツデータ中継部
20 コンテンツバッファ
21 コンテンツ再生部
131 端末情報記憶部
132 トポロジ情報記憶部
133 単位時間利用率記憶部
161 接続切替判定部
162 切替先端末選択部