説明

端末装置、接続管理サーバ、端末装置用プログラム、接続管理サーバ用プログラム及びコンテンツ配信システム

【課題】P2P技術によるオーバーレイマルチキャスト配信を安定的に実現する。
【解決手段】コンテンツ配信システム100の接続管理サーバ1は、各端末装置2の過去の利用時間の平均値から、コンテンツ配信サービスに参加した時刻からの経過時間を減じた値を算出して各端末装置2の寿命(余命)を求める。各端末装置2は、所定期間毎に、他の端末装置2の寿命(余命)を認識し、接続中の端末装置2の寿命(余命)が短くなった場合に、その端末装置2を切り離し、寿命(余命)の長い端末装置2に切替える処理を行う。これにより、コンテンツ配信システム100は、寿命(余命)の長い端末装置2を介したコンテンツ配信を行うことができる。したがって、P2P技術によるオーバーレイマルチキャスト配信を安定的に実現することが可能となる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、IPネットワークを用いたコンテンツ配信技術に関し、特に、P2P(Peer to Peer)型のオーバーレイネットワークによるコンテンツ配信に好適な端末装置、接続管理サーバ、端末装置用プログラム、接続管理サーバ用プログラム及びコンテンツ配信システムに関する。
【背景技術】
【0002】
近年、インターネットのブロードバンド化が進む一方で、パーソナルコンピュータ及びSTB(Set Top Box:セットトップボックス)の高性能化及び高機能化も進んでいる。また、映像コンテンツのオンデマンド配信及びライブ配信等のストリーミング配信も、盛んに活用されるようになってきている。
【0003】
特に、コンサート等のイベントをライブ配信する場合に、オンデマンド配信で用いられるユニキャスト通信を用いると、同時利用者数に比例して配信サーバの台数及びネットワークの帯域が増大することになる。このため、ネットワークの規模が大きくなればなるほど、経費及び設備面で困難となる。この解決手段の一つとして、IPマルチキャスト技術の利用が想定される。しかしながら、対象となるネットワーク内の全ルータにマルチキャスト機能が必要となり、現状では限られたネットワークのみでしか利用できない。
【0004】
一方、一般に普及しているインターネット上でマルチキャスト配信を実現する有効な方法として、P2P技術を用いたオーバーレイマルチキャストが注目されており、例えば、非特許文献1に記載されている方法がある。
【0005】
P2P技術によるオーバーレイマルチキャスト配信網を構成する場合、一般利用者の端末装置は、自らの端末装置から他の端末装置へ中継を行う機能を担うことになり、ネットワーク的に上流の端末装置の利用者がコンテンツ視聴を中止した際には、その端末装置から下流の端末装置への配信が停止することになる。このため、オーバーレイマルチキャスト配信を安定的に実現するには、端末装置の離脱の問題を解決する必要がある。
【0006】
このような端末装置の離脱の問題を解決する一般的な方法として、各端末装置に受信データを蓄積するための受信メモリ(受信バッファ)を備えさせ、接続先の上流の端末装置が離脱したとしても、受信バッファに蓄積したデータを再生している間に、他の上流の端末装置に再接続することで、コンテンツ配信サービスによるストリーミング受信を継続することができる。
【0007】
しかしながら、この方法では、コンテンツ配信サービスの安定性を確保するために、各端末装置が大容量の受信メモリを備える必要があると共に、再生前に受信データを受信メモリに蓄える必要があり、遅延時間が大きくなってしまうという問題があった。また、この受信メモリ内のデータが枯渇した際には、映像が停止してしまうという問題もあった。
【0008】
これらの問題を解決するために、ツリー型のネットワークを構成する場合には、例えば特許文献1に記載されているように、相対的に離脱し難いと想定される端末装置を上流に配置する方法が検討されている。
【0009】
一方、複数の端末装置を同時に接続可能なメッシュ型のネットワークを構成する場合には、例えば非特許文献2に記載されているように、一部の上流の端末装置からデータ受信が途絶えたとしても、他の上流の端末装置からデータを受信することにより、コンテンツ配信サービスによるストリーミング受信を継続することができる。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】特開2009−130667号公報
【非特許文献】
【0011】
【非特許文献1】P.Francis、“Yoid:Extending the Internet Multicast Architecture”、[online]、Unrefereed report、38pages、April 2、2000、 [平成23年1月7日検索]、インターネット<URL:http://www.icir.org/yoid/docs/index.html>
【非特許文献2】X.Zhang,J.Liu,B.Li,and P.Yum,“CoolStreaming/DONet;A data−driven overlay network for efficient live media streaming”in IEEE INFOCOM 2005,Miami,US,Mar.2005
【発明の概要】
【発明が解決しようとする課題】
【0012】
前述の特許文献1に記載されたツリー型ネットワーク構成によりコンテンツ配信サービスを実現する場合、上流の端末装置は離脱し難いから、大規模な受信状況の劣化を避けることができる。しかしながら、ネットワークの末端部に離脱し易い端末装置が多く配置されるから、局所的な受信状況の劣化までは避けることはできないという問題がある。
【0013】
また、前述の非特許文献2に記載されたメッシュ型ネットワーク構成によりコンテンツ配信サービスを実現する場合、一部の上流の端末装置からのデータ受信が途絶えたとしても、残りの上流の端末装置からデータを受信することができる。したがって、ツリー型ネットワーク構成の場合と比較して、ネットワーク全体の安定性は高くなる。しかしながら、上流の接続相手として信頼性の低い端末装置(離脱の可能性の高い端末装置)が多い場合には、コンテンツ配信サービスによるストリーミング受信を安定的に継続することができないという問題がある。
【0014】
そこで、本発明はかかる問題を解決するためになされたものであり、その目的は、P2P技術によるオーバーレイマルチキャスト配信を安定的に実現可能な端末装置、接続管理サーバ、端末装置用プログラム、接続管理サーバ用プログラム及びコンテンツ配信システムを提供することにある。
【課題を解決するための手段】
【0015】
上記目的を達成するために、請求項1の端末装置の発明は、複数の端末装置を含み、上流の端末装置から下流の端末装置へコンテンツを配信するオーバーレイマルチキャスト配信ネットワークにより、コンテンツ配信サービスを利用する前記端末装置において、前記各端末装置における前記コンテンツ配信サービスの利用時間と、前記コンテンツ配信サービスに参加してから現時点までの間の経過時間とに基づいて計算された、前記現時点から離脱するまでの間の予測時間を示す余命によって、コンテンツの配信を受ける上流の接続対象となる端末装置を特定する接続制御部、を備えたことを特徴とする。
【0016】
請求項2の端末装置の発明は、請求項1に記載の端末装置において、前記接続制御部が、所定の時間期間毎に、前記コンテンツ配信サービスに参加している複数の端末装置のうち、前記余命が最大であって、かつ、下流の接続対象の端末装置へコンテンツを提供可能な端末装置数を示す提供可能接続数がゼロではない端末装置を、上流の候補として選定し、前記選定した候補の前記余命と、前記選定した候補の離脱によりコンテンツの受信が停止してから参加によりコンテンツを受信するまでの間の時間を示す予め設定された再接続処理時間とに基づいて、前記選定した候補に対する信頼度を計算し、前記信頼度が所定値を超える場合、前記選定した候補を、上流の接続対象の端末装置として特定し、前記信頼度が所定値を超えない場合、前記複数の端末装置のうちの残りの端末装置から、新たな候補を選定し、選定した全ての候補に対する信頼度を計算し、前記信頼度が所定値を超えるまで、前記新たな候補の選定及び前記信頼度の計算を繰り返し、前記信頼度が所定値を超えた場合の前記選定した全ての候補を、上流の接続対象の端末装置として特定する、ことを特徴とする。
【0017】
請求項3の端末装置用プログラムの発明は、コンピュータを、請求項1または2に記載の端末装置として機能させることを特徴とする。
【0018】
請求項4の接続管理サーバの発明は、複数の端末装置を含み、上流の端末装置から下流の端末装置へコンテンツを配信するオーバーレイマルチキャスト配信ネットワークに接続され、コンテンツ配信サービスに参加する各端末装置の情報を管理する接続管理サーバにおいて、前記端末装置毎の、少なくとも前記コンテンツ配信サービスに対する過去の利用時間の平均値を含む端末管理テーブルと、当該接続管理サーバ及び前記コンテンツ配信サービスに参加している全ての前記端末装置の間で共有する端末共有情報と、前記コンテンツ配信サービスに端末装置が参加した場合、前記端末管理テーブルに含まれる、前記参加した端末装置における過去の利用時間の平均値を、前記端末装置が現時点から離脱するまでの間の予測時間を示す余命の初期値として、前記端末共有情報に書き込む端末情報交換処理部とを備え、前記各端末装置に対し、前記コンテンツ配信サービスに参加した後の経過時間に伴って、前記端末共有情報に書き込まれた余命を更新させると共に、前記余命に基づいて、コンテンツの配信を受ける上流の接続対象となる端末装置を特定させる、ことを特徴とする。
【0019】
請求項5の接続管理サーバの発明は、請求項4に記載の接続管理サーバにおいて、前記端末情報交換処理部が、前記端末装置が前記コンテンツ配信サービスに参加した後の経過時間に伴って、前記端末共有情報に書き込まれた余命を更新する、ことを特徴とする接続管理サーバ。
前記端末装置が前記コンテンツ配信サービスに参加した後の経過時間に伴って、前記端末共有情報の余命を更新する情報を更新する、ことを特徴とする。
【0020】
請求項6の接続管理サーバの発明は、請求項4または5に記載の接続管理サーバにおいて、前記端末情報交換処理部が、前記端末装置がコンテンツ配信サービスに参加して一定時間以内で離脱した場合、前記端末共有情報に、前記余命の初期値の書き込みを行わない、ことを特徴とする。
【0021】
請求項7の接続管理サーバ用プログラムの発明は、コンピュータを、請求項4から6までのいずれか一項に記載の接続管理サーバとして機能させることを特徴とする。
【0022】
請求項8のコンテンツ配信システムの発明は、オーバーレイマルチキャスト配信ネットワークを用いたコンテンツ配信システムにおいて、請求項1または2に記載の端末装置と、請求項4から6までのいずれか一項に記載の接続管理サーバと、を備えたことを特徴とする。
【発明の効果】
【0023】
以上のように、本発明によれば、各端末装置における過去のコンテンツ配信サービスの利用実績のうちの余命に基づいて、コンテンツ配信元に近い上流の接続対象の端末装置を特定するようにした。これにより、現時点から離脱するまでの時間を示す余命の長い端末装置が特定されて接続されるから、上流の端末装置が、コンテンツ配信中に離脱する度合いが低くなり、P2P技術によるオーバーレイマルチキャスト配信を安定的に実現することができる。
【図面の簡単な説明】
【0024】
【図1】本発明の実施例によるコンテンツ配信システムにおけるオーバーレイマルチキャスト配信ネットワークの概略構成の一例を示すブロック図である。
【図2】端末装置における配信経路の設定を説明する図である。
【図3】オーバーレイマルチキャスト配信ネットワークを構成する場合に必要となる端末情報共有用ネットワークの接続の一例を示す図である。
【図4】接続管理サーバの概略構成を示すブロック図である。
【図5】接続管理サーバに備えた端末管理テーブルの一例を示す図である。
【図6】接続管理サーバの端末共有情報記憶部に記憶される端末共有情報の一例を示す図である。
【図7】接続管理サーバの処理を説明するフローチャートである。
【図8】端末装置の概略構成を示すブロック図である。
【図9】端末装置の処理を説明するフローチャートである。
【図10】端末装置の接続制御部による接続・切り離し処理を説明するフローチャートである。
【発明を実施するための形態】
【0025】
以下、本発明を実施するための最良の形態について、図面を参照して説明する。本実施例は、P2P技術によるオーバーレイマルチキャスト配信を行うためのオーバーレイマルチキャスト配信ネットワークを構成し、該ネットワーク上の複数の端末装置それぞれの過去の利用実績に基づいて信頼性の指標値を設定し、この指標値を利用して端末装置間を論理的に接続する例である。
【0026】
〔オーバーレイマルチキャスト配信ネットワーク〕
図1は、本発明の実施例によるコンテンツ配信システムにおけるオーバーレイマルチキャスト配信ネットワークの概略構成の一例を示すブロック図である。同図において、オーバーレイマルチキャスト配信ネットワーク5上の各端末装置2(2a〜2g)は、接続管理サーバ1による管理の下で、コンテンツ配信元であるオリジン配信サーバ3から、直接的にまたは間接的にコンテンツを受信する。各端末装置2は、オリジン配信サーバ3から間接的にコンテンツを受信する場合、オリジン配信サーバ3に近い上流の端末装置2に対して配信経路を設定し、その端末装置2を介してコンテンツの受信を行う。この際、各端末装置2は、接続先の端末装置2が離脱してもコンテンツの受信が途絶えることを避けるため、複数の上流の端末装置2に対して配信経路を設定する。また、各端末装置2は、コンテンツを受信している最中であっても、自身よりもオリジン配信サーバ3から遠い下流の端末装置2によって配信経路が設定された場合、その端末装置2へコンテンツを供給する役割も担っている。
【0027】
図2は、図1に示した端末装置2eを中心として見た場合の配信経路の設定を説明する図である。同図において、端末装置2eは、上流の端末装置2b,2cに対して接続要求を送信し、コンテンツを取得するための配信経路を設定する。また、端末装置2eは、設定した配信経路を切り離す場合、端末装置2b,2cに対して切り離し要求を送信する。これにより、端末装置2eは、端末装置2b,2cからコンテンツを取得しなくなる。また、端末装置2eは、下流の端末装置2gから接続要求または切り離し要求を受ける。端末装置2eが下流の端末装置2と接続できる最大数が提供可能接続数であり、その数は端末装置2eの性能及び帯域の制約によって決まる。また、コンテンツは、オリジン配信サーバ3を最上流として、上流から下流へ向かって流れる。
【0028】
〔端末情報共有用ネットワーク〕
図3は、図1に示したオーバーレイマルチキャスト配信ネットワーク5を構成する場合に必要となる端末情報共有用ネットワーク6の接続の一例を示す図である。同図中にある双方向矢印は、後述する端末共有情報の流れを示す。端末情報共有用ネットワーク6は、各端末装置2が、接続すべき上流の端末装置2の候補を特定するために必要な各端末装置2の状態を伝送するために構成するものである。ここで、端末装置2がコンテンツ配信サービスに参加するということは、オーバーレイマルチキャスト配信ネットワーク5に参加すると同時に端末情報共有用ネットワーク6にも参加するということである。コンテンツ配信サービスに参加した端末装置2は、自身がコンテンツを受信するために接続している上流の端末装置2がネットワークから離脱した際に、オーバーレイマルチキャスト配信ネットワーク5における情報と端末情報共有用ネットワーク6における情報とに基づいて上流の別の端末装置2に再接続する動作を行う。尚、端末情報共有用ネットワーク6の構成方法は、本発明により限定されるものではないので、説明を省略する。
【0029】
〔接続管理サーバの構成〕
図4は、図1に示した接続管理サーバ1の概略構成を示すブロック図である。同図において、接続管理サーバ1は、送受信部11、参加・離脱処理部12、端末管理テーブル13、端末情報交換処理部14及び端末共有情報記憶部15を備えている。接続管理サーバ1は、端末装置2の参加・離脱処理部22から参加メッセージ及び離脱メッセージを受信し、端末装置2の端末情報交換処理部24との間で、端末共有情報16の送受信を行う。ここで、端末管理テーブル13及び端末共有情報記憶部15に記憶される端末共有情報16について説明する。
【0030】
(端末管理テーブル)
まず、端末管理テーブル13について説明する。図5は、端末管理テーブル13の一例を示す図である。同図において、端末管理テーブル13には、コンテンツ配信サービスに参加した端末装置2から送信されてくる参加メッセージにより得られる情報及び参加メッセージを送信してきた端末装置2に対する接続管理サーバ1の管理情報が登録される。参加メッセージにより得られる情報には、端末装置2を特定するための端末ID、端末装置2をIPネットワーク4上で識別するためのIPアドレス、及び、端末装置2の性能に応じた提供可能接続数(コンテンツを提供可能な下流の端末装置2の台数)がある。他方、接続管理サーバ1の管理情報には、端末装置2の利用回数、端末装置2における過去の利用時間の平均値、及び、端末装置2がコンテンツ配信サービスに参加した参加時刻がある。
【0031】
端末IDは、コンテンツ配信サービスに参加する端末装置2に対して永続的な値として割り振られるものである。IPアドレスは、通常は端末装置2の起動時等にIPネットワーク4側から割り当てられるものである。端末ID及びIPアドレスは、端末装置2がコンテンツ配信サービスに参加する際に、その端末装置2から接続管理サーバ1に通知される。提供可能接続数は、端末装置2の性能に応じた値であり、下流の端末装置2が1台接続される毎にその値が1つ減じられる。例えば、提供可能接続数が「5」の状態で、下流の端末装置2が1台接続されると、提供可能接続数は「5」から「4」になる。利用回数は、過去のコンテンツ利用に対する平均値を算出するための値である。この利用回数は、端末装置2がコンテンツ配信サービスに参加するために参加メッセージを送信してきたときから、コンテンツ配信サービスから離脱するために離脱メッセージを送信してきたときまでを1つのカウントとしている。端末装置2から離脱メッセージが送られてくることで利用回数が「1」カウントアップされる。
【0032】
過去の利用時間の平均値は、端末装置2における過去の利用時間の平均を求めた値である。この過去の利用時間の平均値は、端末装置2から離脱メッセージが送信されてきたときに更新される。本実施例では、1回の利用時間を、固定値であるT0を超える値としている(利用時間>T0)。これは、コンテンツ視聴に特有のザッピング視聴(いわゆる短い時間の試し視聴)を排除し、通常の視聴行為に対する平均値を算出するためである。ザッピング視聴による短時間で離脱する端末装置2をコンテンツ受信の接続先として選択した場合、安定性を損なう要因となる。これを避けるために、接続管理サーバ1は、端末装置2から参加メッセージを受けたときからT0時間内に離脱メッセージを受けた場合にザッピング視聴と判断し、端末ID、IPアドレス等の情報を端末管理テーブル13に反映しない。逆に、参加メッセージを受けたときからT0時間を経過しても離脱メッセージを受けない場合はザッピング視聴ではないと判断し、端末ID、IPアドレス等の情報を端末管理テーブル13に反映する。T0の値としては60秒程度が適当と考えられる。因みに、過去の利用時間の平均値は、例えば端末ID=000001の端末装置2の今回の利用時間が1時間(60×60=3600秒)とすると、((利用回数1000×平均値800)+3600)/1001≒803となる。尚、端末装置2は、ザッピング視聴を判定し、端末ID、IPアドレス等の情報を接続管理サーバ1へ送信しないようにしてもよい。
【0033】
参加時刻は、接続管理サーバ1が、コンテンツ配信サービスに参加しようとする端末装置2から送信されてきた参加メッセージを受信した時刻としている。尚、この参加時刻は、端末装置2から通知されるものであっても構わない。参加時刻及びIPアドレスは、端末装置2から離脱メッセージが送信されたときに端末管理テーブル13から削除される。
【0034】
このように、接続管理サーバ1の端末管理テーブル13には、コンテンツ配信サービスに参加する端末装置2から送信されてくる参加メッセージに基づき、その端末装置2の端末ID、IPアドレス、提供可能接続数及び参加時刻が登録され、コンテンツ配信サービスから離脱する端末装置2から送信されてくる離脱メッセージに基づき、その端末装置2の利用回数及び過去の利用時間の平均値が登録される。
【0035】
(端末共有情報)
次に、端末共有情報16について説明する。図6は、端末共有情報16の一例を示す図である。同図において、端末共有情報16は、上述した端末管理テーブル13に登録された各端末装置2のIPアドレス及び提供可能接続数に加え、寿命(余命)により構成される。端末装置2のIPアドレスは、端末装置2から参加メッセージが送信されてきたときに、その参加メッセージから読み取られて、端末共有情報16に書き込まれる。また、端末装置2の提供可能接続数は、端末装置2から参加メッセージが送信されてきたときに、その参加メッセージに含まれる提供可能接続数である初期値が読み取られて、端末共有情報16に書き込まれる。また、端末装置2の寿命(余命)は、過去の利用時間の平均値を参加時刻からの経過時間で減算した値であり、端末共有情報16に書き込まれる。端末装置2が参加した直後は寿命の値が設定されるが、参加後時間が経過するに従って、現時点から離脱するまでの間の予測時間である余命となる。端末共有情報16は、端末情報共有用ネットワーク6を巡り廻って全ての端末装置2と接続管理サーバ1に取得される。すなわち、端末共有情報16は、全ての端末装置2及び接続管理サーバ1の共有情報として扱われる。
【0036】
(各構成部)
図4の接続管理サーバ1において、送受信部11は、上述したオーバーレイマルチキャスト配信ネットワーク5及び端末情報共有用ネットワーク6が構成されたIPネットワーク4を介して各端末装置2から送信されてくる参加メッセージ及び離脱メッセージを受信すると共に、端末共有情報16を送受信する。ここで、IPネットワーク4を利用したデータの送受信には、TCP/IP(Transmission Control Protocol/Internet Protocol)等のプロトコルが用いられ、通信路を開設できる。
【0037】
参加・離脱処理部12は、送受信部11で参加メッセージが受信されたときに参加処理を行い、離脱メッセージが受信されたときに離脱処理を行う。参加・離脱処理部12は、参加処理により、参加メッセージを送信してきた端末装置2の端末ID、IPアドレス、提供可能接続数及び参加時刻を端末管理テーブル13に登録する。参加・離脱処理部12は、離脱処理により、離脱メッセージを送信してきた端末装置2のIPアドレス及び参加時刻を端末管理テーブル13から削除し、利用回数を1つカウントアップし、さらに過去の利用時間の平均値を更新する。
【0038】
端末情報交換処理部14は、端末共有情報16の生成及び更新処理を行うとともに、端末情報共有用ネットワーク6を介した共有に関わる処理を行う。すなわち、端末情報交換処理部14は、送受信部11で参加メッセージが受信されると、端末管理テーブル13に登録された該当する端末IDのIPアドレス及び提供可能接続数を読み出し、端末共有情報16に書き込む。この場合、端末共有情報16への書き込みは即座に行わず、端末装置2が参加した時刻以降でT0時間経過した後に、端末装置2が離脱していない場合に行う。端末情報交換処理部14は、所定期間毎に、端末管理テーブル13に登録されている各端末装置2の過去の利用時間の平均値から、参加時刻からの経過時間を減算し、各端末装置2の寿命(余命)を更新する。
【0039】
端末共有情報記憶部15は、端末共有情報16を記憶する。端末共有情報16は、全ての端末装置2に共有のものであるので、各端末装置2は、端末情報共有用ネットワーク6から端末共有情報16を取得することで、他の全ての端末装置2の寿命(余命)を把握できる。尚、本実施例では、接続管理サーバ1が各端末装置2の寿命(余命)の更新を行うようにしたが、各端末装置2が自ら行うようにしてもよい。
【0040】
尚、図4に示すように、接続管理サーバ1、各端末装置2及びオリジン配信サーバ3(図示せず)は、コンテンツ配信システム100を構成する。これらは、IPネットワーク4を介して接続される。
【0041】
〔接続管理サーバの動作〕
次に、接続管理サーバ1の動作を説明する。図7は、接続管理サーバ1の処理を説明するフローチャートである。同図において、ステップS1〜S3及びステップS6,S7の各処理は、主に端末情報交換処理部14にて行われる。また、ステップS4,S5及びステップS8〜S12の各処理は、主に参加・離脱処理部12にて行われる。
【0042】
まず、端末情報交換処理部14が、所定の時間期間毎に、端末管理テーブル13に登録されている各端末装置2における過去の利用時間の平均値から、参加時刻からの経過時間を減じた値を寿命(余命)として算出し、寿命(余命)を含む端末共有情報16を端末情報共有用ネットワーク6に送出する処理を行う。すなわち、端末情報交換処理部14は、所定期間を経過したか否かを判定し(ステップS1)、所定期間を経過したと判定すると(ステップS1:YES)、端末管理テーブル13に登録されている各端末装置2の過去の利用時間の平均値から、参加時刻からの経過時間を減じた値を算出し、各端末装置2の寿命(余命)を更新する(ステップS2)。各端末装置2の寿命(余命)を更新した後の端末共有情報16を端末情報共有用ネットワーク6に送出する(ステップS3)。これにより、各端末装置2は、他の全ての端末装置2の寿命(余命)を把握することができ、端末共有情報16が端末情報共有用ネットワーク6に送出された後、ステップS1へ戻る。
【0043】
端末情報交換処理部14は、ステップS1において、所定時間を経過していないと判定すると(ステップS1:NO)、参加・離脱処理部12が、参加メッセージが有るか否かを判定する(ステップS4)。すなわち、送受信部11で参加メッセージが受信されたか否かを判定する。参加・離脱処理部12は、参加メッセージが有ると判定すると(ステップS4:YES)、その参加メッセージから端末ID、IPアドレス、提供可能接続数(初期値)及び参加時刻をそれぞれ取得し、端末管理テーブル13に登録する(ステップS5)。
【0044】
端末情報交換処理部14は、端末管理テーブル13から該当するIPアドレス及び提供可能接続数をそれぞれ読み出し、端末共有情報16に書き込む(ステップS6)。そして、IPアドレス及び提供可能接続数を書き込んだ端末共有情報16を端末情報共有用ネットワーク6に送出し(ステップS7)、ステップS1へ戻る。尚、端末情報交換処理部14は、送受信部11により参加メッセージが受信された場合、端末管理テーブル13に登録されている過去の利用時間の平均値を寿命(余命)として、端末管理情報16における端末装置2の寿命(余命)に書き込む。
【0045】
参加・離脱処理部12は、ステップS4において、参加メッセージが無いと判定すると(ステップS4:NO)、離脱メッセージが有るか否かを判定する(ステップS8)。参加・離脱処理部12は、離脱メッセージが有ると判定すると(ステップS8:YES)、その離脱メッセージに含まれている端末IDを取得し(ステップS9)、該当するIPアドレス及び参加時刻を端末管理テーブル13から削除する(ステップS10)。そして、該当する利用回数を1つカウントアップし(ステップS11)、最新の利用時間と過去の利用時間の平均値を用いて最新の利用時間の平均値を計算し、利用時間の平均値を更新する(ステップS12)。利用時間の平均値を更新した後、ステップS1へ戻る。一方、参加離脱処理部12は、ステップS8において、離脱メッセージが無いと判定した場合(ステップS8:NO)は、何も処理を行わず、ステップS1へ戻る。
【0046】
このように、接続管理サーバ1は、端末装置2毎に、参加による利用回数及び過去の利用時間の平均値、並びに参加してからの経過時間に基づいて、離脱するまでの予測時間を寿命(余命)として計算し、各端末装置2へ通知するようにした。また、コンテンツ配信サービスに参加する端末装置2があれば、その端末装置2により送信された参加メッセージから端末ID、IPアドレス、提供可能接続数、及びその端末装置2が参加した参加時刻(参加時刻は参加メッセージを受信した時刻であってもよい。)を端末管理テーブル13に登録し、さらに、端末管理テーブル13に登録したIPアドレス及び提供可能接続数を端末共有情報16に書き込み、各端末装置2へ通知するようにした。また、コンテンツ配信サービスから離脱する端末装置2があれば、その端末装置2により送信された離脱メッセージに含まれている端末IDを取得し、端末管理テーブル13の該当するIPアドレス及び参加時刻を削除すると共に、利用回数をカウントアップし、利用時間の平均値の更新を行うようにした。これにより、接続管理サーバ1により更新される端末装置2の寿命(余命)が、端末共有情報16に含まれる情報として全ての端末装置2へ通知される。
【0047】
〔端末装置の構成〕
次に、端末装置2の構成について説明する。図8は、端末装置2の概略構成を示すブロック図である。同図において、端末装置2は、送受信部21、参加・離脱処理部22、端末情報記憶部23、端末情報交換処理部24、端末共有情報記憶部25、接続制御部26、パケット受信処理部27、パケット中継処理部28、受信バッファ管理部29及びアプリケーション制御部30を備えている。送受信部21は、IPネットワーク4を介して接続管理サーバ1へ参加メッセージ及び離脱メッセージを送信する。また、IPネットワーク4を介して接続管理サーバ1及び他の端末装置2との間で、端末共有情報16の送受信を行う。また、IPネットワーク4を介して他の端末装置2との間で、接続要求及び切り離し要求の送受信を行う。また、IPネットワーク4を介して、上流の端末装置2から送信されたコンテンツデータを受信し、下流の端末装置2へコンテンツデータを送信する。尚、各端末装置2は、下流の端末装置2と接続されてない場合はコンテンツデータの送信は行わない。
【0048】
端末情報記憶部23は、各端末装置2の端末ID、IPアドレス及び提供可能接続数等の各種情報を記憶する。参加・離脱処理部22は、端末装置2がコンテンツ配信サービスに参加する際、アプリケーション制御部30からの指示により、端末情報記憶部23が記憶している端末ID、IPアドレス及び提供可能接続数等の各種情報を読み込んで参加メッセージを生成し、送受信部21から情報管理サーバ1へ送信する。また、参加・離脱処理部22は、端末装置2がコンテンツ配信サービスから離脱する際、アプリケーション制御部30からの指示により、端末情報記憶部23が記憶している端末ID等の情報を読み込んで離脱メッセージを生成し、送受信部21から情報管理サーバ1へ送信する。
【0049】
端末情報交換処理部24は、接続管理サーバ1または他の端末装置2から送信されてきた端末共有情報16を端末共有情報記憶部25に記憶させる。接続制御部26は、端末共有情報記憶部25が記憶している端末共有情報16の中からコンテンツデータの受信を行う上流の端末装置2を決定する。この際、接続制御部26は、所定の接続の信頼度を確保することを条件に、接続管理サーバ1で計算された各端末装置2の寿命(余命)を用いる。1接続あたりの接続の信頼度Aは、式(1)により求めることができる。
信頼度A=接続先の端末装置2の寿命(余命)/(接続先の端末装置2の寿命(余命)+再接続処理時間) ・・・(1)
【0050】
ここで、再接続処理時間は、予め設定された値であり、接続中の当該端末装置2が離脱しコンテンツデータの受信が途絶えてから、当該端末装置2がコンテンツ配信サービスに再度参加して別の端末装置2と接続し、コンテンツデータの受信を開始するまでにかかる時間の想定値である。尚、1接続だけでは所定の信頼度を満足しない場合は、複数の端末装置2における接続の信頼度を求める。この場合、並列にn個接続するとして、それぞれの端末装置2の信頼度をA1,A2,・・・,Anとすると、全体の信頼度Aは、式(2)により求めることができる。
全体の信頼度A=1−(1−A1)(1−A2)・・・(1−An) ・・・(2)
となる。
【0051】
接続制御部26は、接続する上流の端末装置2を決定した後、該当する全ての端末装置2のIPアドレスを用いて、送受信部21を介して接続要求を送信する。パケット受信処理部27は、接続制御部26により接続された全ての端末装置2から送信されるコンテンツデータのパケットを受信する。受信バッファ管理部29は、パケット受信処理部27で受信されたコンテンツデータのパケットを管理する。この場合、接続された上流の全ての端末装置2からのパケットは端末装置2毎に異なる遅延時間で到達するため、受信バッファ管理部29では、パケットを正規の順番に並べ替える。受信バッファ管理部29にて正規の順番で並べ替えが行われたパケットは、アプリケーション制御部30に渡される。アプリケーション制御部30は、参加・離脱処理部22を制御する一方、受信バッファ管理部29から渡されたパケットの内容を表示する処理を行う。
【0052】
接続先の端末装置2が離脱した場合、離脱した端末装置2からのコンテンツデータの送信が途絶えることになる。この場合、上述した手順と同様の手順で、接続制御部26が新たな端末装置2を決定して接続を行う。また、一旦接続した端末装置2も時間が経過するにつれて寿命(余命)が短くなるため、所定の信頼度を満足しなくなる。このような状況になるのを避けるため、接続制御部26は、随時、既接続の信頼度を再計算し、新たに寿命(余命)の長い端末装置2に接続すると共に、それまで接続していた寿命(余命)の短い端末装置2との接続を切り離す処理を行う。このような処理を行うことで、安定したデータ受信を継続することが可能となる。
【0053】
その他、端末装置2は、上流の端末装置2からコンテンツデータを受信する一方で、下流の端末装置2へコンテンツデータを提供する役割を果たす。この場合、接続制御部26が下流の端末装置2から接続要求を既に受けているときには、パケット中継処理部28により、コンテンツデータを下流の端末装置2へ送信する。このとき、接続制御部26は、提供可能接続数の値を1つ減じ、端末共有情報16を更新する。こうすることで過剰な接続要求を防ぐことができる。一方、接続制御部26は、下流の端末装置2から離脱要求を受信した場合、提供可能接続数の値を1つ増加させ、端末共有情報16を更新する。
【0054】
〔端末装置の動作〕
次に、端末装置2の動作を説明する。図9は、端末装置2の処理を説明するためのフローチャートである。同図において、ステップS20,S30の各処理は、主にアプリケーション制御部30にて行われる。また、ステップS23,S24の各処理は、主に端末情報交換処理部24にて行われる。また、ステップS21,S22,S31,S32の各処理は、主に参加・離脱処理部22にて行われる。また、ステップS25,S26,S27,S28の各処理は、主に接続制御部26にて行われる。また、ステップS29の処理は、主にパケット受信処理部27にて行われる。
【0055】
まず、アプリケーション制御部30が、コンテンツ配信サービスに参加するか否かを判定する(ステップS20)。ここで、コンテンツ配信サービスに参加するか否かはユーザが判断し、参加する場合は、参加を意図する操作が行われる。アプリケーション制御部30は、ユーザ操作に従い、コンテンツ配信サービスに参加すると判定すると(ステップS20:YES)、参加・離脱処理部22に参加指示を出力する。参加・離脱処理部22は、アプリケーション制御部30からの参加指示を入力し、端末情報記憶部23に記憶されている端末ID、IPアドレス及び提供可能接続数を読み出し、これらを含む参加メッセージを生成する(ステップS21)。そして、参加・離脱処理部22は、生成した参加メッセージを、送受信部21を介して接続管理サーバ1へ通知する(ステップS22)。
【0056】
次に、端末情報交換処理部24は、送受信部21を介して端末共有情報16を受信したか否かを判定し(ステップS23)、端末共有情報16を受信していないと判定すると(ステップS23:NO)、ステップS25へ移行する。一方、端末情報交換処理部24は、ステップS23において、端末共有情報16を受信したと判定すると(ステップS23:YES)、受信した端末共有情報16を端末共有情報記憶部25に記憶させる(ステップS24)。そして、ステップS25へ移行する。
【0057】
接続制御部26は、ステップS25において、端末装置2の処理が開始してから時間カウントするタイマにて周期的な所定期間が経過したか否かを判定し、所定期間を経過したと判定すると(ステップS25:YES)、接続・切り離し処理を行う(ステップS26)。
【0058】
接続制御部26は、ステップS25において、所定期間を経過していないと判定すると(ステップS25:NO)、下流の端末装置2から受信した接続要求または切り離し要求が有るか否かを判定し(ステップS27)、接続要求または切り離し要求があると判定すると(ステップS27:YES)、接続要求してきた下流の端末装置2との間の接続を行い、切り離しを要求してきた下流の端末装置2との間の接続を遮断し、さらに、端末共有情報16の提供可能接続数を更新する(提供可能接続数は0から初期値の範囲内において、接続要求の場合は1を減算し、切り離し要求の場合は1を加算する)(ステップS28)。これにより、コンテンツデータのパケットは、新たに接続された下流の端末装置2へ送信され、新たに切り離された下流の端末装置2へ送信されない。また、更新された端末共有情報16は、送受信部21を介して送信される。接続制御部26は、ステップS27において、接続要求または切り離し要求がないと判定すると(ステップS27:NO)、ステップS29へ移行する。接続・切り離し処理により特定した端末装置2が存在する場合には、パケット受信処理部27が、上流の端末装置2からのコンテンツデータのパケットを受信し、接続中の下流の端末装置2が存在する場合には、コンテンツデータのパケットを送信する(ステップS29)。このステップS29の処理の後、ステップS23へ移行する。
【0059】
アプリケーション制御部30は、ステップS20において、コンテンツ配信サービスに参加しないと判定すると(ステップS20:NO)、コンテンツ配信サービスから離脱しないか否かを判定し(ステップS30)、コンテンツ配信サービスから離脱しないと判定すると(ステップS30:NO)、ステップS23へ移行する。アプリケーション制御部30は、ステップS30において、コンテンツ配信サービスから離脱すると判定すると(ステップS30:YES)、参加・離脱処理部22に離脱指示を出力する。参加・離脱処理部22は、端末情報記憶部23に記憶されている端末IDを読み出し、この端末IDを含む離脱メッセージを生成する(ステップS31)。そして、参加・離脱処理部22は、生成した離脱メッセージを、送受信部21を介して接続管理サーバ1へ通知する(ステップS32)。そして、処理を終了する。
【0060】
図10は、端末装置2の接続制御部26による接続・切り離し処理(図9に示したステップS26の処理)を説明するフローチャートである。同図において、接続制御部26は、最初に現時点で接続中の上流の端末装置2の全体の信頼度A(A=1−(1−A1)(1−A2)・・・(1−An))を計算する(ステップS291)。そして、全体の信頼度を計算した後、全体の信頼度Aが所定の閾値kを超えるかどうか判定し(ステップS292)、全体の信頼度Aが所定の閾値kを超えると判定した場合(ステップS292:YES)には、接続・切り離し処理を終了する。また、閾値kを超えないと判定すると(ステップS292:NO)、ステップS293へ移行する。そして、コンテンツ配信サービスに参加している全ての端末装置2(現時点で接続中の端末装置2も含む)のうち、寿命(余命)が最大かつ提供可能接続数が0(ゼロ)でない端末装置2(候補)を特定する(ステップS293)。そして、特定した端末装置2(候補)の信頼度A1を計算する(ステップS294)。次いで、全体の信頼度A(A=1−(1−A1)(1−A2)・・・(1−An))を計算する(ステップS295)。最初の処理では、特定された端末装置2(候補)は1つであるから、A=1−(1−A1)である。そして、全体の信頼度を計算した後、全体の信頼度Aが所定の閾値kを超えるかどうか判定し(ステップS296)、閾値kを超えないと判定すると(ステップS296:NO)、ステップS293へ移行し、1回目に特定した端末装置2(候補)を除く残りの全ての端末装置2のうち、寿命(余命)が最大かつ提供可能接続数が0でない端末装置2(候補)を特定する。
【0061】
2回目の処理では、A=1−(1−A1)(1−A2)である。そして、このときの全体の信頼度Aが所定の閾値kを超えると判定すると(ステップS296:YES)、ステップS297へ移行し、所定の閾値kを超えていないと判定すると(ステップS296:NO)、1回目及び2回目に特定した2つの端末装置2(候補)を除く残りの全ての端末装置2のうち、寿命(余命)が最大かつ提供可能接続数が0でない端末装置2(候補)を特定する。以後、全体の信頼度Aが所定の閾値kを超えるまで同様の処理を繰り返す。
【0062】
接続制御部26は、ステップS296において、全体の信頼度Aが所定の閾値kを超えたと判定した場合(ステップS296:YES)、特定した全ての端末装置2(候補)を、上流側に接続可能な端末装置2として特定する。そして、特定した新たな端末装置2のうち、接続中でない端末装置2へ接続要求を送信する。また、接続中の端末装置2のうち、特定しなかった端末装置2があれば(1台とは限らない)、その(またはそれらの)端末装置2へ切り離し要求を送信する(ステップS297)。そして、特定した新たな端末装置2と接続し(ステップS298)、処理を終了する。本処理は、図9のステップS25に示したように、所定期間毎に実行され、常に全体の信頼度Aが所定の閾値kを超える値に維持されるように、接続すべき端末装置2が更新される。尚、新たな端末装置2を特定できない場合は現状を維持する。
【0063】
このように、端末装置2は、コンテンツ配信サービスに参加するときには、自身の端末ID、IPアドレス及び提供可能接続数を含む参加メッセージを生成して接続管理サーバ1へ通知し、コンテンツ配信サービスから離脱するときには、自身の端末IDを含む離脱メッセージを生成して接続管理サーバ1へ通知する。また、接続管理サーバ1及び他の端末装置2と共有する端末共有情報16により他の端末装置2の状態を把握し、所定期間毎に、他の端末装置2の寿命(余命)及び提供可能接続数を認識して、接続中の端末装置2の寿命(余命)が短くなった場合、その端末装置2に切り離し要求を送信すると共に、寿命(余命)の長い端末装置2に切替える処理を行う。また、下流の端末装置2から受信する接続要求及び切り離し要求に従って、端末共有情報16の提供可能接続数を加減算する。
【0064】
以上のように、本発明の実施例によるコンテンツ配信システム100によれば、P2P技術によるオーバーレイマルチキャスト配信を行うものであって、接続管理サーバ1が、各端末装置2の過去の利用時間の平均値から、コンテンツ配信サービスに参加した時刻から経過時間を減じた値を算出して各端末装置2の寿命(余命)を求め、各端末装置2が、所定期間毎に、他の端末装置2の寿命(余命)を認識して、接続中の端末装置2の寿命(余命)が短くなった場合、その端末装置2に切り離し要求を送信すると共に、寿命(余命)の長い端末装置2に切替える処理を行うようにした。これにより、端末装置2は、寿命(余命)の長い上流の端末装置2からコンテンツデータのパケットを受信することになるから、安定したオーバーレイマルチキャスト配信を実現することができる。また、接続管理サーバ1は、端末装置2がコンテンツ配信サービスに参加してからT0時間内に離脱した場合、ザッピング視聴であると判断して当該端末装置2の端末ID及びIPアドレス等の情報を端末管理テーブル13に反映させないので、端末装置2の寿命(余命)は正しく算出され、また、端末装置2が新たな上流の端末装置2を特定する際に、当該端末装置2はその対象に含まれることがない。したがって、一層安定したオーバーレイマルチキャスト配信を実現することができる。
【0065】
尚、本発明の実施例による接続管理サーバ1及び端末装置2のハードウェア構成としては、通常のコンピュータを使用することができる。接続管理サーバ1及び端末装置2は、CPU、RAM等の揮発性の記憶媒体、ROM等の不揮発性の記憶媒体、及びインターフェース等を備えたコンピュータによって構成される。接続管理サーバ1に備えた送受信部11、参加・離脱処理部12、端末管理テーブル13、端末情報交換処理部14及び端末共有情報記憶部15の各機能は、これらの機能を記述したプログラムをCPUに実行させることによりそれぞれ実現される。また、端末装置2に備えた送受信部21、参加・離脱処理部22、端末情報記憶部23、端末情報交換処理部24、端末共有情報記憶部25、接続制御部26、パケット受信処理部27、パケット中継処理部28、受信バッファ管理部29及びアプリケーション制御部30も、これらの機能を記述したプログラムをCPUに実行させることによりそれぞれ実現される。これらのプログラムは、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスク等)、光ディスク(CD−ROM、DVD等)、半導体メモリ等の記憶媒体に格納して頒布することもできる。
【符号の説明】
【0066】
1 接続管理サーバ
2 端末装置
3 オリジン配信サーバ
4 IPネットワーク
5 オーバーレイマルチキャスト配信ネットワーク
6 端末情報共有用ネットワーク
11 送受信部
12 参加・離脱処理部
13 端末管理テーブル
14 端末情報交換処理部
15 端末共有情報記憶部
16 端末共有情報
21 送受信部
22 参加・離脱処理部
23 端末情報記憶部
24 端末情報交換処理部
25 端末共有情報記憶部
26 接続制御部
27 パケット受信処理部
28 パケット中継処理部
29 受信バッファ管理部
30 アプリケーション制御部
100 コンテンツ配信システム

【特許請求の範囲】
【請求項1】
複数の端末装置を含み、上流の端末装置から下流の端末装置へコンテンツを配信するオーバーレイマルチキャスト配信ネットワークにより、コンテンツ配信サービスを利用する前記端末装置において、
前記各端末装置における前記コンテンツ配信サービスの利用時間と、前記コンテンツ配信サービスに参加してから現時点までの間の経過時間とに基づいて計算された、前記現時点から離脱するまでの間の予測時間を示す余命によって、コンテンツの配信を受ける上流の接続対象となる端末装置を特定する接続制御部、を備えたことを特徴とする端末装置。
【請求項2】
請求項1に記載の端末装置において、
前記接続制御部は、所定の時間期間毎に、
前記コンテンツ配信サービスに参加している複数の端末装置のうち、前記余命が最大であって、かつ、下流の接続対象の端末装置へコンテンツを提供可能な端末装置数を示す提供可能接続数がゼロでない端末装置を、上流の候補として選定し、前記選定した候補の前記余命と、前記選定した候補の離脱によりコンテンツの受信が停止してから参加によりコンテンツを受信するまでの間の時間を示す予め設定された再接続処理時間とに基づいて、前記選定した候補に対する信頼度を計算し、
前記信頼度が所定値を超える場合、前記選定した候補を、上流の接続対象の端末装置として特定し、
前記信頼度が所定値を超えない場合、前記複数の端末装置のうちの残りの端末装置から、新たな候補を選定し、選定した全ての候補に対する信頼度を計算し、前記信頼度が所定値を超えるまで、前記新たな候補の選定及び前記信頼度の計算を繰り返し、前記信頼度が所定値を超えた場合の前記選定した全ての候補を、上流の接続対象の端末装置として特定する、ことを特徴とする端末装置。
【請求項3】
コンピュータを、請求項1または2に記載の端末装置として機能させるためのプログラム。
【請求項4】
複数の端末装置を含み、上流の端末装置から下流の端末装置へコンテンツを配信するオーバーレイマルチキャスト配信ネットワークに接続され、コンテンツ配信サービスに参加する各端末装置の情報を管理する接続管理サーバにおいて、
前記端末装置毎の、少なくとも前記コンテンツ配信サービスに対する過去の利用時間の平均値を含む端末管理テーブルと、
当該接続管理サーバ及び前記コンテンツ配信サービスに参加している全ての前記端末装置の間で共有する端末共有情報と、
前記コンテンツ配信サービスに端末装置が参加した場合、前記端末管理テーブルに含まれる、前記参加した端末装置における過去の利用時間の平均値を、前記端末装置が現時点から離脱するまでの間の予測時間を示す余命の初期値として、前記端末共有情報に書き込む端末情報交換処理部とを備え、
前記各端末装置に対し、前記コンテンツ配信サービスに参加した後の経過時間に伴って、前記端末共有情報に書き込まれた余命を更新させると共に、前記余命に基づいて、コンテンツの配信を受ける上流の接続対象となる端末装置を特定させる、ことを特徴とする接続管理サーバ。
【請求項5】
請求項4に記載の接続管理サーバにおいて、
前記端末情報交換処理部は、
前記端末装置が前記コンテンツ配信サービスに参加した後の経過時間に伴って、前記端末共有情報に書き込まれた余命を更新する、ことを特徴とする接続管理サーバ。
【請求項6】
請求項4または5に記載の接続管理サーバにおいて、
前記端末情報交換処理部は、
前記端末装置がコンテンツ配信サービスに参加して一定時間以内で離脱した場合、前記端末共有情報に、前記余命の初期値の書き込みを行わない、ことを特徴とする接続管理サーバ。
【請求項7】
コンピュータを、請求項4から6までのいずれか一項に記載の接続管理サーバとして機能させるためのプログラム。
【請求項8】
オーバーレイマルチキャスト配信ネットワークを用いたコンテンツ配信システムにおいて、
請求項1または2に記載の端末装置と、請求項4から6までのいずれか一項に記載の接続管理サーバと、を備えたことを特徴とするコンテンツ配信システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2012−175464(P2012−175464A)
【公開日】平成24年9月10日(2012.9.10)
【国際特許分類】
【出願番号】特願2011−36374(P2011−36374)
【出願日】平成23年2月22日(2011.2.22)
【出願人】(000004352)日本放送協会 (2,206)
【Fターム(参考)】