JP2007087280A - コンテンツ配信システム、本システムに使用されるセンタサーバ及びピア、並びにコンテンツ配信方法 - Google Patents
コンテンツ配信システム、本システムに使用されるセンタサーバ及びピア、並びにコンテンツ配信方法 Download PDFInfo
- Publication number
- JP2007087280A JP2007087280A JP2005277815A JP2005277815A JP2007087280A JP 2007087280 A JP2007087280 A JP 2007087280A JP 2005277815 A JP2005277815 A JP 2005277815A JP 2005277815 A JP2005277815 A JP 2005277815A JP 2007087280 A JP2007087280 A JP 2007087280A
- Authority
- JP
- Japan
- Prior art keywords
- content
- distribution
- peer
- priority
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
【課題】配信するコンテンツや配信先のピアに応じてコンテンツを優先的に配信するコンテンツ配信システムを提供する。
【解決手段】センタサーバ1は、各ピア2に関するピア情報と、コンテンツに関するコンテンツ情報とに基づいて優先度を算出し、各ピアのピアIDと、各コンテンツのコンテンツIDと算出した優先度とを互いに対応付けて優先度データベース13に登録する。ピア2は他のピア2から所望のコンテンツの配信要求を受けたとき、優先度データベース13を取得し、所望のコンテンツのコンテンツID及び当該他のピア2のピアIDとに対応する優先度を取得する。ピア2は、配信要求に応じた配信処理に取得した優先度を対応づけ、複数の配信処理をそれらの優先度に基づいて実行する。
【選択図】図1
【解決手段】センタサーバ1は、各ピア2に関するピア情報と、コンテンツに関するコンテンツ情報とに基づいて優先度を算出し、各ピアのピアIDと、各コンテンツのコンテンツIDと算出した優先度とを互いに対応付けて優先度データベース13に登録する。ピア2は他のピア2から所望のコンテンツの配信要求を受けたとき、優先度データベース13を取得し、所望のコンテンツのコンテンツID及び当該他のピア2のピアIDとに対応する優先度を取得する。ピア2は、配信要求に応じた配信処理に取得した優先度を対応づけ、複数の配信処理をそれらの優先度に基づいて実行する。
【選択図】図1
Description
本発明は、コンテンツ配信システム、本システムに使用されるセンタサーバ及びピア、並びにコンテンツ配信方法に関し、さらに詳しくは、互いに接続される複数のピアと、複数のピアに接続されるセンタサーバとを備えたコンテンツ配信システム、本システムに使用されるセンタサーバ及びピア、並びにコンテンツ配信方法に関する。
ピアツーピア型コンテンツ配信システムは、相互に接続された複数のピアを含む。各ピアは他のピアからコンテンツをダウンロードするとともに、他のピアから要求されたコンテンツをそのピアに返信する。ピアツーピア型コンテンツ配信システムでは、このようにコンテンツがピア間で配信され、ダウンロード負荷が各ピアに分散されるため、クライアントサーバ型コンテンツ配信システムに比べ、はるかに多くのピア(クライアント)にコンテンツを配信することができる。
このようなピアツーピア型コンテンツ配信システムの場合、各ピアは同じ時期に他の複数のピアから複数のコンテンツ配信要求を受ける場合がある。この場合、要求を受けたピアは複数のコンテンツ配信処理を実行する。
各ピアが複数の配信処理を実行する場合、各配信処理を同等に扱うのではなく、特定の配信処理を優先的に実行したい場合がある。たとえば、人気度の高いコンテンツについては、その配信元となるピアの数を増やした方が配信効率が上がる。そのため、そのようなコンテンツは他のコンテンツよりも優先的に配信して、そのコンテンツを保有するピアの数を増やすべきである。
また、特願2005−015394号公報(関連出願1)では、公開日前にコンテンツを予めダウンロードし、公開日に一斉にコンテンツを再生できるコンテンツ配信システムが提案されている。このようなコンテンツ配信システムの場合、公開日が間近のコンテンツは優先的に配信される方がよい。公開日までにダウンロードを完了させるためである。
さらに、上述のようにコンテンツに応じて配信処理を優先的に実行するだけでなく、各ピアに応じて配信処理を優先的に実行したい場合もある。たとえば、コンテンツ配信システムを運営するサービスプロバイダが、コンテンツ配信システムの利用者に対して複数の料金コースを提供する場合、高額の料金コースで契約されたピアに対してコンテンツを優先的に配信したい場合もある。
特開平9−135259号公報
[関連出願1]特願2005−015394号公報
本発明の目的は、配信するコンテンツに応じてコンテンツを優先的に配信するコンテンツ配信システム、本システムに使用されるセンタサーバ及びピア、並びにコンテンツ配信方法を提供することである。
本発明の他の目的は、配信先のピアに応じてコンテンツを優先的に配信できるコンテンツ配信システム、本システムに使用されるセンタサーバ及びピア、並びにコンテンツ配信方法を提供することである。
本発明によるコンテンツ配信システムは、互いに接続される複数のピアと、複数のピアに接続されるセンタサーバとを備える。センタサーバは、サーバ記憶手段と、決定手段とを備える。サーバ記憶手段は、複数のピアが保存する複数のコンテンツに関するコンテンツ情報を記憶する。決定手段は、コンテンツ情報に基づいて優先度を決定する。複数のピアの各々は、ピア記憶手段と、受信手段と、管理手段と、配信手段とを備える。ピア記憶手段は、複数のコンテンツを記憶する。受信手段は、他のピアから所望のコンテンツの配信要求を受信する。管理手段は、所望のコンテンツのコンテンツ情報に基づいて決定された優先度を取得し、取得された優先度を配信要求に応じた配信処理に対応付ける。配信手段は、複数の配信処理をそれらの優先度に応じて実行する。ここで、コンテンツ情報とは、たとえば、コンテンツの人気度や、コンテンツの公開開始時期をいう。また、配信手段は、たとえば優先度に応じて、優先度順に配信処理をひとつずつ実行してもよいし、マルチタスクにより複数の配信処理を並行に実行し、優先度に基づいて各配信処理に割り当てる処理時間を決定してもよい。
本発明によるコンテンツ配信システムでは、コンテンツ情報に基づいて優先度を決定し、各ピアは決定された優先度に基づいて複数の配信処理を実行する。そのため、特定のコンテンツに対して優先的に配信処理を実行することができる。
好ましくは、サーバ記憶手段はさらに、ピアに関するピア情報を記憶する。決定手段は、コンテンツ情報及びピア情報に基づいて優先度を決定する。管理手段は、所望のコンテンツのコンテンツ情報と他のピアのピア情報とに基づいて決定された優先度を取得する。ここで、ピア情報とは、たとえば、センタサーバを運営するサービスプロバイダが設定するコンテンツ配信システムの利用料金コースのうち、各ピアの利用者が契約した利用料金コースに関する情報や、各ピアに現在かかる負荷に関する情報である。
この場合、コンテンツ情報及びピア情報に基づいて優先度が決定され、ピアはその優先度を用いて複数の配信処理を実行する。そのため、各ピアが複数の配信処理を実行するとき、特定のコンテンツ及び特定のピアに対して優先的に配信処理を実行できる。
好ましくは、サーバ記憶手段はさらに、決定手段により決定された複数の優先度を登録するための優先度データベースを記憶する。管理手段は、優先度を優先度データベースから取得する。
この場合、センタサーバは予めコンテンツ情報やピア情報に基づいて優先度を決定し、優先度データベースに登録しておく。そのため、各ピアは、優先度データベースから所望の優先度を取得できる。
好ましくは、センタサーバはさらに、更新手段を備える。更新手段は、優先度データベースを随時更新する。複数のピアの各々はさらに、取得手段を備える。取得手段は、配信要求を受信するごとに優先度データベースを取得する。管理手段は、取得された優先度データベースから優先度を取得する。ここで、更新手段はたとえばコンテンツ情報やピア情報が更新されるごとに優先度データベースを更新してもよいし、所定期間ごとに優先度データベースを更新してもよい。
この場合、優先度データベースは随時更新される。各ピアは、配信要求を受けてから優先度データベースを取得するため、最新の優先度データベースから所望の優先度を取得できる。
好ましくは、ピア記憶手段はさらに、配信情報リストを記憶する。配信情報リストは、配信手段が実行中の配信処理とその配信処理に対応付けられた優先度とに関する配信情報を登録する。複数のピアの各々はさらに、配信情報登録手段を備える。配信情報登録手段は、配信情報を配信情報リストに登録する。管理手段は、配信情報リストに登録された配信情報の数が所定数を超えたとき、配信情報に基づいて最も低い優先度の配信処理を特定する。配信手段は、実行中の配信処理のうち、特定された配信処理を停止する。
各ピアにおいて、実行中の配信処理の数が多すぎれば、ピアの負担が過剰となり、各配信処理に支障をきたす場合がある。このような場合、実行中の配信処理の数を減らせばよいが、優先的に配信したいコンテンツについては、配信処理を維持したい。そこで、優先度の最も低い配信処理を停止することで、優先度の高い配信処理の実行をそのまま維持する。
好ましくは、コンテンツ情報は、コンテンツの公開開始時期を含む。決定手段は、現時点から公開開始時期までの期間に応じて優先度を決定する。
この場合、公開開始時期に応じて、優先度を経時的に変化させる。そのため、公開開始間近のコンテンツの優先度を上げることができ、そのようなコンテンツを優先的に配信できる。
本発明によるセンタサーバは、上記コンテンツ配信システムに使用されるサーバである。また、本発明によるピアは、上記コンテンツ配信システムに使用されるピアである。本発明によるコンテンツ配信方法は、上記コンテンツ配信システムの動作方法である。
以下、図面を参照し、本発明の実施の形態を詳しく説明する。図中同一又は相当部分には同一符号を付してその説明は繰り返さない。
[全体構成]
図1を参照して、コンテンツ配信システムは、センタサーバ(コンピュータ)1と、複数のピア(コンピュータ)2とを備える。これらはインターネット3で相互に接続されるが、LAN(Local Area Network)、WAN(Wide Area Network)、その他のコンピュータネットワーク経由で相互に接続されてもよい。
図1を参照して、コンテンツ配信システムは、センタサーバ(コンピュータ)1と、複数のピア(コンピュータ)2とを備える。これらはインターネット3で相互に接続されるが、LAN(Local Area Network)、WAN(Wide Area Network)、その他のコンピュータネットワーク経由で相互に接続されてもよい。
センタサーバ1はサービスプロバイダにより運用され、ピア2は一般利用者によって操作される。センタサーバ1は、各ピア2に関するピア情報を取得し、各ピア2を管理する。センタサーバ1は、配信されるコンテンツに関するコンテンツ情報を有するがコンテンツ自体を有していない。各ピア2は1又は複数のコンテンツを蓄積する。ピア2は他のピア2からコンテンツをダウンロードしてコンテンツを再生するとともに、他の1又は複数のピア2からの配信要求に応じて自身が蓄積するコンテンツを配信する。つまり、このシステムは、センタサーバ1を有するハイブリッド型ピアツーピアシステムであって、ダウンロード型のコンテンツ配信システムである。
[センタサーバの構成]
センタサーバ1は、ピア情報と、コンテンツ情報とを管理する。センタサーバ1はさらに、ピア情報及びコンテンツ情報に基づいて優先度を算出し、優先度データベースを作成する。センタサーバ1はまた、各ピア2がコンテンツを再生中である、又はコンテンツを配信中である等、各ピア2の動作状況に関する動作状況情報を取得し、管理する。
センタサーバ1は、ピア情報と、コンテンツ情報とを管理する。センタサーバ1はさらに、ピア情報及びコンテンツ情報に基づいて優先度を算出し、優先度データベースを作成する。センタサーバ1はまた、各ピア2がコンテンツを再生中である、又はコンテンツを配信中である等、各ピア2の動作状況に関する動作状況情報を取得し、管理する。
センタサーバ1は、ピア情報データベース11と、コンテンツ情報データベース12と、優先度データベース13と、データベースアプリケーション(プログラム)14とを備える。これらはセンタサーバ1内のハードディスク(図示せず)に記憶される。
ピア情報データベース11は、図2に示すように、複数のピア情報PIを含む。ピア情報PIは、ピア2を特定するための識別子であるピアID、ピア2の利用者の氏名、住所を含む。ピア情報PIはさらに、ピア2の利用者がサービスプロバイダと契約した料金コースに関する料金情報を含む。料金情報は、契約した料金コースに応じて低額コース、標準コース、高額コースに分類される。料金情報は優先度を算出するときに利用される。
コンテンツ情報データベース12は、図3に示すように、各ピア2が蓄積する複数のコンテンツに関するコンテンツ情報CIを含む。コンテンツ情報CIは、コンテンツを特定するための識別子であるコンテンツIDと、コンテンツのタイトルとを含む。
コンテンツ情報CIはまた、コンテンツの人気度を含む。コンテンツの人気度は、コンテンツ情報CIの登録時に設定されてもよいし、そのコンテンツの配信要求回数や再生回数に基づいて動的に設定されてもよい。センタサーバ1は、各ピア2から送信される動作状況情報に基づいて、各コンテンツの配信要求回数や再生回数を管理する。
コンテンツ情報CIはまた、公開開始日時及び公開終了日時を含む。公開開始日時は、そのコンテンツの再生を開始できる日時であり、公開終了日時は、そのコンテンツの再生ができなくなる日時である。ピア2は、公開開始日時前にコンテンツを取得できるが、公開開始日時を過ぎなければそのコンテンツを再生できない。また、公開終了日時を過ぎればそのコンテンツを再生できない。
コンテンツ情報CIはさらに、そのコンテンツを記憶するピア2のURLを列挙したURLリストを含む。要するに、URLリストに列挙されたURLのピア2は同じ内容のコンテンツを蓄積する。
優先度データベース13は、図4に示すように、複数の配信優先度情報DPを含む。各配信優先度情報DPは、1つのコンテンツIDと、複数のピア優先度情報PPとを含む。各ピア優先度情報PPはピアIDと優先度とを含む。要するに、優先度データベース13には、コンテンツIDとピアIDの組合せに対応した優先度が登録される。
データベースアプリケーション14は、ピア2からの要求に応じて優先度データベース13をピア2に送信する。
また、コンテンツ配信システムに新たなピア2が追加されたとき、又はピア2がコンテンツ配信システムから離脱したとき、データベースアプリケーション14はピア情報データベース11を更新する。新たなピア2が追加されたとき、データベースアプリケーション14は、新たなピア2からピア情報PIを取得し、ピア情報データベース11を更新する。 各ピア2に新たなコンテンツが記憶されたとき、データベースアプリケーション14はコンテンツ情報データベース12を更新する。ピア2は新たなコンテンツを記憶したとき、少なくともそのコンテンツのコンテンツID、タイトル及び自身のURLを送信する。データベースアプリケーションは送信された情報を受信し、コンテンツ情報データベース12を更新する。
データベースアプリケーション14はさらに、ピア情報データベース11及びコンテンツ情報データベース12が更新されたとき、優先度データベース13を更新する。具体的には、ピア情報PI及びコンテンツ情報CIに基づいて、ピアIDとコンテンツIDとの組合せごとに優先度を算出し、算出した優先度に基づいて優先度データベース13を更新する。データベースアプリケーション14はさらに、所定期間ごとに優先度を算出し、優先度データベース13を更新する。
[ピアの構造]
ピア2は、複数のコンテンツを記憶するためのコンテンツデータベース21と、コンテンツの配信処理(以下、配信プロセスという)に関する情報が登録される配信プロセス情報データベース22と、受信アプリケーション(プログラム)23と、配信アプリケーション(プログラム)24と、プロセスマネージャ(プログラム)25とを備える。ピア2はまた、他のピア2にコンテンツの配信要求を送信したり、コンテンツを再生したりするためのプログラムを備える。これらは、ピア2内のハードディスク(図示せず)に記憶される。
ピア2は、複数のコンテンツを記憶するためのコンテンツデータベース21と、コンテンツの配信処理(以下、配信プロセスという)に関する情報が登録される配信プロセス情報データベース22と、受信アプリケーション(プログラム)23と、配信アプリケーション(プログラム)24と、プロセスマネージャ(プログラム)25とを備える。ピア2はまた、他のピア2にコンテンツの配信要求を送信したり、コンテンツを再生したりするためのプログラムを備える。これらは、ピア2内のハードディスク(図示せず)に記憶される。
受信アプリケーション23は、他のピア2から送信されるコンテンツ配信要求を受信する。また、他のピア2から配信されたコンテンツを受信する。
配信アプリケーション24は、受信した配信要求に応じてコンテンツの配信プロセスを生成し、実行する。配信アプリケーションはマルチタスク機能を有しており、配信プロセスが複数存在する場合、それらの配信プロセスを並行に実行する。
プロセスマネージャ25は、配信アプリケーション24が実行している1又は複数の配信プロセスを管理する。プロセスマネージャ25は、優先度データベース13に基づいて、各配信プロセスに優先度を対応付け、優先度に基づいて配信プロセスを実行するよう配信アプリケーション24に指令する。配信アプリケーション24は、プロセスマネージャ25からの指令を受け、複数の配信プロセスをそれらの優先度に基づいて実行する。
プロセスマネージャ25はさらに、実行中の配信プロセスの数が所定数を超えたとき、優先度の最も低い配信プロセスを終了するよう配信アプリケーション24に指令する。配信アプリケーション24は、プロセスマネージャ25からの指令に応じて優先度の最も低い配信プロセスの実行を停止する。
配信プロセス情報データベース22は、配信プロセス情報リストを記憶する。配信プロセス情報リストは、プロセスマネージャ25が配信プロセスを管理するために利用される。図5に示すように、配信プロセス情報リストには実行中の配信プロセスに関する配信プロセス情報PRが登録される。配信プロセス情報PRは、配信プロセスを特定するための識別子であるプロセスIDと、配信先のピア2のピアIDと、配信するコンテンツのコンテンツIDとを含む。配信プロセス情報PRはさらに、その配信プロセスに対応付けられた優先度を含む。
[動作]
ピア2は、他のピア2から所望のコンテンツの配信要求を受けたとき、所望のコンテンツの配信プロセスを生成し、実行する。このとき、ピア2は、配信するコンテンツと、配信先のピア2とに基づいて、配信プロセスの優先度を決定する。たとえば、配信するコンテンツの公開開始日時が間近であったり、人気度が高い場合、優先度が高くなる。また、配信先のピア2の利用者の料金コースが高額コースである場合、優先度が高くなる。一方、コンテンツの公開開始日時が迫っていなかったり、料金コースが低額コースである場合、優先度が低くなる。ピア2は決定された優先度に基づいて配信プロセスを実行する。たとえば、優先度の高い順に処理時間を多く割り当てることにより優先度の高い配信プロセスを優先的に実行する。
ピア2は、他のピア2から所望のコンテンツの配信要求を受けたとき、所望のコンテンツの配信プロセスを生成し、実行する。このとき、ピア2は、配信するコンテンツと、配信先のピア2とに基づいて、配信プロセスの優先度を決定する。たとえば、配信するコンテンツの公開開始日時が間近であったり、人気度が高い場合、優先度が高くなる。また、配信先のピア2の利用者の料金コースが高額コースである場合、優先度が高くなる。一方、コンテンツの公開開始日時が迫っていなかったり、料金コースが低額コースである場合、優先度が低くなる。ピア2は決定された優先度に基づいて配信プロセスを実行する。たとえば、優先度の高い順に処理時間を多く割り当てることにより優先度の高い配信プロセスを優先的に実行する。
また、実行中の配信プロセスの数が多すぎればピア2の負荷が過剰になる。そのため、実行中の配信プロセス数が所定数を超えたとき、ピア2は、実行中の配信プロセスのうち優先度が最も低い配信プロセスを終了する。これにより、配信元となるピア2の負荷を抑制できる。
以下、コンテンツ配信システムの動作の詳細を説明する。
[センタサーバの動作]
センタサーバ1のデータベースアプリケーション14は、各ピア2からピア情報PIを随時取得し、ピア情報データベース11を更新する。また、センタサーバ1は、各ピア2が保存するコンテンツに関する情報を随時取得し、コンテンツ情報データベース12を更新する。
センタサーバ1のデータベースアプリケーション14は、各ピア2からピア情報PIを随時取得し、ピア情報データベース11を更新する。また、センタサーバ1は、各ピア2が保存するコンテンツに関する情報を随時取得し、コンテンツ情報データベース12を更新する。
データベースアプリケーション14はさらに、所定期間ごとに優先度データベース13を更新する(更新処理)。この更新処理により、コンテンツ配信システムに新たなピア2が加わったり、新たなコンテンツが記憶されても、新たなピア2及びコンテンツに対応した優先度が算出され、優先度データベース13が更新される。さらに、現時点から公開開始日時までの期間といった経時的要素に基づいて優先度が算出され、優先度データベース13が更新される。以下、更新処理について説明する。
図6を参照して、データベースアプリケーション14は、随時更新処理を実行する。具体的には、ピア情報データベース11及び/又はコンテンツ情報データベース12が更新されたときに更新処理を実行し、かつ、所定期間ごとに更新処理を実行する。
データベースアプリケーション14はまず、コンテンツ情報データベース12及びピア情報データベース11に基づいて、コンテンツIDとピアIDの組合せを選択する(S1)。たとえば、システム全体で20個のコンテンツが存在し、5個のピア2が存在する場合、コンテンツIDとピアIDの組合せは100通りある。データベースアプリケーション14は、これらの組合せの中から所定の組合せ、たとえば、(コンテンツID、ピアID)=(C1、P1)を選択する。
続いて、データベースアプリケーション14は、選択した組合せ(C1、P1)中のコンテンツID=C1に対応するコンテンツ情報CIをコンテンツ情報データベース12から取得し、さらにその中から公開開始日時を取得する(S2)。データベースアプリケーション14はさらに、選択した組合せ(C1、P1)中のピアID=P1に対応するピア情報PIをピア情報データベース11から取得し、その中から料金情報を取得する(S3)。
データベースアプリケーション14は、ステップS2及びステップS3で取得した公開開始日時及び料金情報に基づいて、組合せ(C1、P1)の優先度を算出する(S4)。
データベースアプリケーション14はまず、以下の式(1)に基づいて公開日優先度を算出する。
公開日優先度=0.3−現時点から公開開始日までの日数×0.1 (1)
続いて、データベースアプリケーション14は、料金情報に応じて料金優先度を決定する。たとえば、低額コースの料金優先度=0.8であり、標準コースの料金優先度=1.0であり、高額コースの料金優先度=1.2である。
続いて、データベースアプリケーション14は、料金情報に応じて料金優先度を決定する。たとえば、低額コースの料金優先度=0.8であり、標準コースの料金優先度=1.0であり、高額コースの料金優先度=1.2である。
以上の処理により公開日優先度及び料金優先度を決定した後、データベースアプリケーション14は以下の式(2)に基づいて優先度を算出する。
優先度=公開日優先度×0.7+料金優先度×0.3 (2)
ここで、各式(1)、(2)及び料金優先度の係数や数値は一例であり、他の値を用いてもよい。式(2)の場合、公開日優先度の係数(=0.7)の方が料金優先度の係数(=0.3)よりも大きいため、式(2)は公開日優先度を重視した優先度の算出式となっている。料金優先度を重視する場合、料金優先度の係数を公開日優先度の係数よりも高くする。ステップS4では、公開開始日時が迫っている程、かつ、利用者が高額料金コースを契約している程、優先度が高くなる。
ここで、各式(1)、(2)及び料金優先度の係数や数値は一例であり、他の値を用いてもよい。式(2)の場合、公開日優先度の係数(=0.7)の方が料金優先度の係数(=0.3)よりも大きいため、式(2)は公開日優先度を重視した優先度の算出式となっている。料金優先度を重視する場合、料金優先度の係数を公開日優先度の係数よりも高くする。ステップS4では、公開開始日時が迫っている程、かつ、利用者が高額料金コースを契約している程、優先度が高くなる。
優先度を算出後、データベースアプリケーション14は優先度データベース13を更新する(S5)。データベースアプリケーション14はまず、組合せ(C1、P1)に対応する優先度が既に優先度データベース13に登録されているか否かを判断する。既に登録されている場合、データベースアプリケーション14は、既に登録されている優先度をステップS4で算出した優先度に置換する。一方、組合せ(C1、P1)に対応する優先度が登録されていない場合、新たなピア優先度情報PPを作成し、コンテンツID=C1の
配信優先度情報DPに新たなピア優先度情報PPを追加する。
配信優先度情報DPに新たなピア優先度情報PPを追加する。
データベースアプリケーション14は、全ての組合せについて優先度を算出したか否かを判断し(S6)、算出していない場合はステップS1に戻って他の組合せについても優先度を算出する。全ての組合せについて優先度を算出した場合(S6でYES)、優先度更新処理を終了する。
以上、データベースアプリケーション14は、コンテンツ情報CIとピア情報PIとの組合せに対応した優先度を算出し、算出した優先度に基づいて優先度データベース13を更新する。データベースアプリケーション14は、更新処理を随時実行するため、優先度データベース13は最新のコンテンツ情報CI及びピア情報PIに基づく。
また、データベースアプリケーション14は、コンテンツ情報CIとピア情報PIとに基づいて優先度を算出するため、コンテンツ及びピアの事情に応じて優先度を変更できる。たとえば、図6のステップS4では、公開開始日時が迫っているコンテンツや、高額料金コースを契約したピア等、特定のコンテンツ及び特定のピアの優先度を高くできる。
なお、図6では、コンテンツの公開開始日時を優先度の算出に利用したが、他の情報を利用してもよい。たとえば、人気度を用いて優先度を算出してもよい。また、ピア情報として料金情報を利用したが、他の情報を利用してもよい。たとえば、配信先のピア2に現在かかっている負荷に関する負荷情報をピア情報PIに含め、負荷情報を参照して、負荷の低いピアの優先度を高くしてもよい。この場合、センタサーバ1はピア2の動作状況情報を各ピア2から随時取得し、取得した動作状況情報に基づいて各ピア2にかかる負荷を算出する。動作状況情報とはピア2が現在実行している動作に関する情報であり、たとえば、再生中、ダウンロード中、アップロード中といった情報である。
[ピアの動作]
ピア2が他のピア2からコンテンツ配信要求を受信したとき、配信アプリケーション24は配信プロセスを生成し、生成した配信プロセスを実行する。プロセスマネージャ25は、各配信プロセスに優先度を対応付け、優先度に応じて配信プロセスを実行するよう配信アプリケーション24に指令する。プロセスマネージャ25はさらに、必要な場合、優先度の低い配信プロセスを終了させる。以下、ピア2の動作について説明する。
ピア2が他のピア2からコンテンツ配信要求を受信したとき、配信アプリケーション24は配信プロセスを生成し、生成した配信プロセスを実行する。プロセスマネージャ25は、各配信プロセスに優先度を対応付け、優先度に応じて配信プロセスを実行するよう配信アプリケーション24に指令する。プロセスマネージャ25はさらに、必要な場合、優先度の低い配信プロセスを終了させる。以下、ピア2の動作について説明する。
[受信アプリケーション及び配信アプリケーションの動作]
図7を参照して、ピア2中の受信アプリケーション23は、他のピア2からのコンテンツ配信要求を受信する(S31)。コンテンツ配信要求は、コンテンツ配信要求を送信したピア2のピアIDと、配信を希望するコンテンツのコンテンツIDとを含む。
図7を参照して、ピア2中の受信アプリケーション23は、他のピア2からのコンテンツ配信要求を受信する(S31)。コンテンツ配信要求は、コンテンツ配信要求を送信したピア2のピアIDと、配信を希望するコンテンツのコンテンツIDとを含む。
配信アプリケーション24は、受信したコンテンツ配信要求に応じた配信プロセスを生成する(S32)。
配信プロセスを生成した後、配信アプリケーション24はプロセスマネージャ25に図8に示すプロセス開始通知コマンドを出力する(S33)。プロセスマネージャ25が生成された配信プロセスを管理するためである。プロセス開始通知コマンドは、配信プロセスの識別子であるプロセスIDと、ステップS31で受信したコンテンツ配信要求に含まれるコンテンツID及びピアIDとを含む。
プロセス開始通知コマンドを出力後、配信アプリケーション24は、配信プロセスを実行し、コンテンツの配信を開始する(S34)。配信アプリケーション24は、コンテンツ配信要求内のピアIDで特定されるピア2に、コンテンツ配信要求内のコンテンツIDで特定されるコンテンツを配信する。配信アプリケーション24は、コンテンツの全データを配信したとき(ステップS35でYES)、又はコンテンツの配信に失敗したとき(S36でYES)、又は、プロセスマネージャ25から後述するプロセス終了コマンドを受けたとき(S37でYES)、その配信プロセスを終了する(S38)。上記以外の場合(S35〜S37でNO)、コンテンツの配信を継続する。配信アプリケーション24は、配信プロセスごとに図7の動作を実行する。したがって、複数のコンテンツ配信要求を同時期に受信したとき、配信アプリケーション24はマルチタスク機能により複数の配信プロセスを実行する。
[プロセスマネージャの動作]
プロセスマネージャ25は、配信アプリケーション24が実行中の1又は複数の配信プロセスを管理する。プロセスマネージャ25は、配信プロセスに優先度を対応付け、優先度に基づいて配信プロセスを実行するように指令し、必要な場合は優先度の最も低い配信プロセスを終了させる。以下、プロセスマネージャ25の動作について説明する。
プロセスマネージャ25は、配信アプリケーション24が実行中の1又は複数の配信プロセスを管理する。プロセスマネージャ25は、配信プロセスに優先度を対応付け、優先度に基づいて配信プロセスを実行するように指令し、必要な場合は優先度の最も低い配信プロセスを終了させる。以下、プロセスマネージャ25の動作について説明する。
図9を参照して、プロセスマネージャ25は、コマンドの受信を監視する(S11)。配信アプリケーション24が出力したプロセス開始通知コマンドを受信したとき(S11でYES)、プロセスマネージャ25は受信したコマンドがプロセス開始通知コマンドであると判断する(S12でYES)。
プロセスマネージャ25は、配信プロセス情報リストに新たな配信プロセス情報PRを追加し(S13)、受信したプロセス開始通知コマンド内のプロセスIDと、ピアIDと、コンテンツIDとを、追加した配信プロセス情報PRに登録する(S14)。
登録後、プロセスマネージャ25は、センタサーバ1に優先度データベース13を要求する(S15)。配信プロセス情報リストに追加した新たな配信プロセスの優先度を取得するためである。センタサーバ1はプロセスマネージャ25の要求に応答して優先度データベース13をピア2に送信する(S16)。ピア2は、優先度データベース13を予め記憶せず、配信プロセス情報リストに新たな配信プロセスが追加されるごとに優先度データベース13を取得する。そのため、プロセスマネージャ25は、センタサーバ1により更新された最新の優先度データベース13から優先度を取得できる。
プロセスマネージャ25は、センタサーバ1から送信された優先度データベース13を受信し、図示しないメモリに記憶する(S17)。プロセスマネージャ25は、優先度データベース13に基づいて、ステップS13で新たに追加された配信プロセスの優先度を取得する(S18)。プロセスマネージャ25は、配信プロセス情報PR内のコンテンツIDとピアIDとの組合せに対応した優先度を優先度データベース13から取得し、配信プロセス情報PRに登録する。これにより、プロセスマネージャ25は、新たな配信プロセスに優先度を対応付ける。つまり、配信プロセスの優先度が決定される。
優先度を登録後、プロセスマネージャ25は配信プロセスの優先順位を設定する(S19)。プロセスマネージャ25は、配信プロセス情報リストに登録された複数の配信プロセス情報PRの優先度に基づいて、各プロセスIDの優先順位を設定する。プロセスマネージャ25はステップS19で設定された優先順位に基づいて各配信プロセスを実行するよう配信アプリケーション24に指示する。たとえば、優先順位に基づいて配信プロセスの処理時間を割り当てる。配信アプリケーション24はプロセスマネージャ25の指示に応じて、各配信プロセスを実行する。
優先順位を設定後、プロセスマネージャ25は、現在実行中の配信プロセスの数が所定数を超えているか否かを確認する(S20)。このとき、プロセスマネージャ25は配信プロセス情報リストに登録された配信プロセス情報の数をカウントし、カウント数が所定数を超えているか否か判断する。所定数を超えている場合(S20でYES)、配信アプリケーション24の負荷が過剰となっており、各配信プロセスの実行に支障が生じる場合がある。そのため、プロセスマネージャ25は、配信プロセス情報リストを参照し、優先度が最も低いプロセスIDを特定し(S21)、特定したプロセスIDの配信プロセスを終了させる(S22)。具体的には、プロセスマネージャ25は、ステップS21で特定したプロセスIDを含むプロセス終了コマンドを配信アプリケーション24に出力する。
プロセス終了コマンドを受けた配信アプリケーション24は(図7中のS37でYES)、プロセス終了コマンド内のプロセスIDに対応する配信プロセスを終了する(S38)。終了後、配信アプリケーション24は、終了したプロセスIDを含むプロセス終了通知コマンドをプロセスマネージャ25に出力する(S39)。
プロセス終了通知コマンドを受信したプロセスマネージャ25は(図9中のS11でYES)、受信したコマンドがプロセス終了通知コマンドであると判断する(S12でNO)。そのため、プロセスマネージャ25は、プロセス終了通知コマンド内のプロセスIDに対応する配信プロセス情報PRを配信プロセス情報リストから削除する(S23)。配信プロセスが終了したため、もはやプロセスマネージャ25で管理する必要がないためである。
以上、本実施の形態によるコンテンツ配信システムは、コンテンツ情報CI及びピア情報PIに基づいて優先度を設定し、その優先度に応じてコンテンツの配信処理を実行する。そのため、コンテンツ情報CI及びピア情報PIに応じて特定のコンテンツの配信を優先したり、特定のピアへの配信を優先することができる。
なお、本実施の形態では、コンテンツ情報CI及びピア情報PIに基づいて優先度を算出したが、コンテンツ情報CIのみに基づいて優先度を算出してもよい。この場合、図6に示した更新処理において、ステップS3が実行されず、ステップS4の優先度算出処理では、料金優先度が算出されない。優先度は公開日優先度に基づいて算出される。なお、優先度が公開開始日時以外の情報、たとえば人気度等に基づいて算出されてもよい。プロセスマネージャ25は、配信プロセス情報内のコンテンツIDに対応した優先度を取得する。また、ピア情報PIのみに基づいて優先度を算出してもよい。
上述の実施の形態では、ピア2が優先度データベース13を取得したが、センタサーバ1のみが優先度データベース13を有し、ピア2はセンタサーバ1に問い合わせて配信プロセスに対応する優先度を取得してもよい。ただし、ピア2が優先度データベース13を有する方が、センタサーバ1の負荷が低減する。センタサーバ1がピア2の問い合わせに基づいて優先度を取得し、ピア2にその優先度を送信する必要がないためである。
また、コンテンツ配信システムは優先度データベース13を有しなくてもよい。この場合、プロセスマネージャ25はセンタサーバ1に優先度を要求する。このとき、優先度の要求コマンドにコンテンツIDとピアIDとを含める。センタサーバ1はコンテンツIDに対応するコンテンツ情報CI及びピアIDに対応するピア情報PIを用いて優先度を算出し、算出した優先度をピア2に送信する。これにより、優先度データベース13がなくてもピア2は優先度を取得できる。
上述の実施の形態では、優先度を決定するピア情報として料金情報を利用したが、ピア情報として各ピアの動作状況に関する情報や、各ピアにかかる負荷に関する情報を利用してもよい。この場合、ピア情報PIに各ピア2の動作状況及び各ピアにかかる負荷が登録されており、センタサーバ1は、この動作状況及び負荷を用いて優先度を算出する。
以上、本発明の実施の形態を説明したが、上述した実施の形態は本発明を実施するための例示に過ぎない。よって、本発明は上述した実施の形態に限定されることなく、その趣旨を逸脱しない範囲内で上述した実施の形態を適宜変形して実施することが可能である。
1 センタサーバ
2 ピア
3 インターネット
11 ピア情報データベース
12 コンテンツ情報データベース
13 優先度データベース
14 データベースアプリケーション
21 コンテンツデータベース
22 配信プロセス情報データベース
23 受信アプリケーション
24 配信アプリケーション
25 プロセスマネージャ
2 ピア
3 インターネット
11 ピア情報データベース
12 コンテンツ情報データベース
13 優先度データベース
14 データベースアプリケーション
21 コンテンツデータベース
22 配信プロセス情報データベース
23 受信アプリケーション
24 配信アプリケーション
25 プロセスマネージャ
Claims (10)
- 互いに接続される複数のピアと、前記複数のピアに接続されるセンタサーバとを備えたコンテンツ配信システムであって、
前記センタサーバは、
前記複数のピアが保存する複数のコンテンツに関するコンテンツ情報を記憶するためのサーバ記憶手段と、
前記コンテンツ情報に基づいて優先度を決定する決定手段とを備え、
前記複数のピアの各々は、
前記複数のコンテンツを記憶するピア記憶手段と、
他のピアから所望のコンテンツの配信要求を受信する受信手段と、
前記所望のコンテンツのコンテンツ情報に基づいて決定された優先度を取得し、前記取得された優先度を前記配信要求に応じた配信処理に対応付ける管理手段と、
複数の前記配信処理をそれらの優先度に応じて実行する配信手段とを備えることを特徴とするコンテンツ配信システム。 - 請求項1に記載のコンテンツ配信システムであって、
前記サーバ記憶手段はさらに、
前記ピアに関するピア情報を記憶し、
前記決定手段は、前記コンテンツ情報及びピア情報に基づいて前記優先度を決定し、
前記管理手段は、前記所望のコンテンツのコンテンツ情報と前記他のピアのピア情報とに基づいて決定された優先度を取得することを特徴とするコンテンツ配信システム。 - 請求項1又は請求項2に記載のコンテンツ配信システムであって、
前記サーバ記憶手段はさらに、
前記決定手段により決定された複数の優先度を登録するための優先度データベースを記憶し、
前記管理手段は、前記優先度を前記優先度データベースから取得することを特徴とするコンテンツ配信システム。 - 請求項3に記載のコンテンツ配信システムであって、
前記センタサーバはさらに、
前記優先度データベースを随時更新する更新手段を備え、
前記複数のピアの各々はさらに、
前記配信要求を受信するごとに前記優先度データベースを取得する取得手段を備え、
前記管理手段は、前記取得された優先度データベースから前記優先度を取得することを特徴とするコンテンツ配信システム。 - 請求項1〜請求項4のいずれか1項に記載のコンテンツ配信システムであって、
前記ピア記憶手段はさらに、
前記配信手段が実行中の配信処理とその配信処理に対応付けられた優先度とに関する配信情報を登録するための配信情報リストを記憶し、
前記複数のピアの各々はさらに、
前記配信情報を前記配信情報リストに登録する配信情報登録手段を備え、
前記管理手段は、前記配信情報リストに登録された配信情報の数が所定数を超えたとき、前記配信情報に基づいて最も低い優先度の配信処理を特定し、
前記配信手段は、実行中の配信処理のうち、前記特定された配信処理を停止することを特徴とするコンテンツ配信システム。 - 請求項1〜請求項5のいずれか1項に記載のコンテンツ配信システムであって、
前記コンテンツ情報は、コンテンツの公開開始時期を含み、
前記決定手段は、現時点から前記公開開始時期までの期間に応じて前記優先度を決定することを特徴とするコンテンツ配信システム。 - 請求項1〜請求項4及び請求項6のいずれか1項に記載のコンテンツ配信システムに使用されるセンタサーバ。
- 請求項1〜請求項6のいずれか1項に記載のコンテンツ配信システムに使用されるピア。
- 互いに接続される複数のピアと、前記複数のピアに接続されるセンタサーバとを備えたコンテンツ配信システムによるコンテンツ配信方法であって、
複数のコンテンツを前記複数のピアに記憶するステップと、
前記複数のコンテンツに関する複数のコンテンツ情報を前記センタサーバに記憶するステップと、
前記コンテンツ情報に基づいて優先度を決定するステップと、
前記ピアにおいて他のピアから所望のコンテンツの配信要求を受信するステップと、
前記配信要求を受信したピアにおいて、前記所望のコンテンツのコンテンツ情報に基づいて決定された優先度を取得し、取得した優先度を前記配信要求に応じた配信処理に対応付けるステップと、
前記配信要求を受信したピアにおいて、複数の前記配信処理をそれらの優先度に応じて実行するステップとを備えることを特徴とするコンテンツ配信方法。 - 請求項9に記載のコンテンツ配信方法であってさらに、
前記ピアに関するピア情報を前記センタサーバに記憶するステップを備え、
前記優先度を決定するステップは、前記コンテンツ情報及びピア情報に基づいて前記優先度を算出し、
前記優先度を配信処理に対応付けるステップは、前記所望のコンテンツのコンテンツ情報と前記他のピアのピア情報とに基づいて決定された優先度を取得することを特徴とするコンテンツ配信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005277815A JP2007087280A (ja) | 2005-09-26 | 2005-09-26 | コンテンツ配信システム、本システムに使用されるセンタサーバ及びピア、並びにコンテンツ配信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005277815A JP2007087280A (ja) | 2005-09-26 | 2005-09-26 | コンテンツ配信システム、本システムに使用されるセンタサーバ及びピア、並びにコンテンツ配信方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007087280A true JP2007087280A (ja) | 2007-04-05 |
Family
ID=37974178
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005277815A Pending JP2007087280A (ja) | 2005-09-26 | 2005-09-26 | コンテンツ配信システム、本システムに使用されるセンタサーバ及びピア、並びにコンテンツ配信方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007087280A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009200606A (ja) * | 2008-02-19 | 2009-09-03 | Kddi Corp | コンテンツ配信制御装置及びコンピュータプログラム |
KR100928295B1 (ko) | 2008-02-29 | 2009-11-25 | 고려대학교 산학협력단 | 모바일(mobile)P2P(Peer―to―Peer)애드혹(ad―hoc) 네트워크 환경에서 콘텐츠 정보를방송하는 단말 및 콘텐츠 정보의 분배 방법 |
JP2010027004A (ja) * | 2008-07-24 | 2010-02-04 | Fujitsu Ltd | コンテンツ配信装置、通信システム、コンテンツ配信方法、およびプログラム |
US10404781B2 (en) | 2015-01-14 | 2019-09-03 | Cisco Technology, Inc. | Flow characteristic based peer-to-peer system |
-
2005
- 2005-09-26 JP JP2005277815A patent/JP2007087280A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009200606A (ja) * | 2008-02-19 | 2009-09-03 | Kddi Corp | コンテンツ配信制御装置及びコンピュータプログラム |
KR100928295B1 (ko) | 2008-02-29 | 2009-11-25 | 고려대학교 산학협력단 | 모바일(mobile)P2P(Peer―to―Peer)애드혹(ad―hoc) 네트워크 환경에서 콘텐츠 정보를방송하는 단말 및 콘텐츠 정보의 분배 방법 |
JP2010027004A (ja) * | 2008-07-24 | 2010-02-04 | Fujitsu Ltd | コンテンツ配信装置、通信システム、コンテンツ配信方法、およびプログラム |
US10404781B2 (en) | 2015-01-14 | 2019-09-03 | Cisco Technology, Inc. | Flow characteristic based peer-to-peer system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7379967B2 (en) | Download method for file by bit torrent protocol | |
RU2343536C2 (ru) | Механизм одноранговой широковещательной передачи информационного содержания | |
JP5223480B2 (ja) | コンテンツ配信方法及び通信端末装置 | |
US8738806B2 (en) | Method of synchronizing a plurality of content directory device (CDS) devices, CDS device, and system | |
JP3970777B2 (ja) | 映像配信システムおよび映像配信方法 | |
US8566365B1 (en) | Digital asset hosting and distribution | |
JP5847185B2 (ja) | コンテンツ中心のネットワーク環境でグループ変更に関する情報を用いるコンテンツ共有方法及び装置 | |
JP4664323B2 (ja) | 複数のコンテンツディレクトリサービス装置に対する同期化支援方法、前記同期化支援方法に用いられるコンテンツディレクトリサービス装置、およびそれを含むシステム | |
WO2007013213A1 (ja) | 情報配信システム、登録装置、情報処理装置、登録プログラムを記憶した記憶媒体及び情報処理プログラムを記憶した記憶媒体 | |
KR20140004799A (ko) | 피어 투 피어 데이터 마이그레이션 | |
EP2252057B1 (en) | Method and system for storing and distributing electronic content | |
JP2007087280A (ja) | コンテンツ配信システム、本システムに使用されるセンタサーバ及びピア、並びにコンテンツ配信方法 | |
JP2012118709A (ja) | 配信システム、ストレージ容量決定プログラム、及びストレージ容量決定方法 | |
JP2007207013A (ja) | 情報処理装置、情報共有プログラム | |
JP2009151531A (ja) | コンテンツ配信システム、コンテンツ配信方法、及びプログラム | |
JP2010066930A (ja) | コンテンツ分散保存システム、コンテンツ保存方法、ノード装置、及びノード処理プログラム | |
JP5153520B2 (ja) | データ配信装置、データ配信プログラム | |
JP2011192132A (ja) | 情報通信システム、ノード装置、情報通信方法、及びプログラム | |
EP1813074A1 (en) | Method, apparatus and program products for management of information about shared files in a mobile network | |
US20240082706A1 (en) | Systems and Methods for Efficient Content Management and Distribution for Video Game Development | |
JP5412924B2 (ja) | ノード装置、ノード処理プログラム及びコンテンツデータ削除方法 | |
JP2006260212A (ja) | ファイル版管理システム、ファイル登録サーバ、ファイル版管理方法、およびプログラム | |
JP5229287B2 (ja) | カラオケネットワークシステム、集中管理装置 | |
JP2008109188A (ja) | コンテンツ配信システム、ピア及びセンタサーバ | |
JP5178734B2 (ja) | P2pシステムにおけるピア管理サーバー及びピア管理方法 |