(57)【要約】【課題】配信するコンテンツや配信先のピアに応じてコンテンツを優先的に配信するコンテンツ配信システムを提供する。【解決手段】センタサーバ１は、各ピア２に関するピア情報と、コンテンツに関するコンテンツ情報とに基づいて優先度を算出し、各ピアのピアＩＤと、各コンテンツのコンテンツＩＤと算出した優先度とを互いに対応付けて優先度データベース１３に登録する。ピア２は他のピア２から所望のコンテンツの配信要求を受けたとき、優先度データベース１３を取得し、所望のコンテンツのコンテンツＩＤ及び当該他のピア２のピアＩＤとに対応する優先度を取得する。ピア２は、配信要求に応じた配信処理に取得した優先度を対応づけ、複数の配信処理をそれらの優先度に基づいて実行する。【選択図】図１
2007087280.tif 000002
【特許請求の範囲】
【請求項１】
互いに接続される複数のピアと、前記複数のピアに接続されるセンタサーバとを備えたコンテンツ配信システムであって、
前記センタサーバは、
前記複数のピアが保存する複数のコンテンツに関するコンテンツ情報を記憶するためのサーバ記憶手段と、
前記コンテンツ情報に基づいて優先度を決定する決定手段とを備え、
前記複数のピアの各々は、
前記複数のコンテンツを記憶するピア記憶手段と、
他のピアから所望のコンテンツの配信要求を受信する受信手段と、
前記所望のコンテンツのコンテンツ情報に基づいて決定された優先度を取得し、前記取得された優先度を前記配信要求に応じた配信処理に対応付ける管理手段と、
複数の前記配信処理をそれらの優先度に応じて実行する配信手段とを備えることを特徴とするコンテンツ配信システム。
【請求項２】
請求項１に記載のコンテンツ配信システムであって、
前記サーバ記憶手段はさらに、
前記ピアに関するピア情報を記憶し、
前記決定手段は、前記コンテンツ情報及びピア情報に基づいて前記優先度を決定し、
前記管理手段は、前記所望のコンテンツのコンテンツ情報と前記他のピアのピア情報とに基づいて決定された優先度を取得することを特徴とするコンテンツ配信システム。
【請求項３】
請求項１又は請求項２に記載のコンテンツ配信システムであって、
前記サーバ記憶手段はさらに、
前記決定手段により決定された複数の優先度を登録するための優先度データベースを記憶し、
前記管理手段は、前記優先度を前記優先度データベースから取得することを特徴とするコンテンツ配信システム。
【請求項４】
請求項３に記載のコンテンツ配信システムであって、
前記センタサーバはさらに、
前記優先度データベースを随時更新する更新手段を備え、
前記複数のピアの各々はさらに、
前記配信要求を受信するごとに前記優先度データベースを取得する取得手段を備え、
前記管理手段は、前記取得された優先度データベースから前記優先度を取得することを特徴とするコンテンツ配信システム。
【請求項５】
請求項１〜請求項４のいずれか１項に記載のコンテンツ配信システムであって、
前記ピア記憶手段はさらに、
前記配信手段が実行中の配信処理とその配信処理に対応付けられた優先度とに関する配信情報を登録するための配信情報リストを記憶し、
前記複数のピアの各々はさらに、
前記配信情報を前記配信情報リストに登録する配信情報登録手段を備え、
前記管理手段は、前記配信情報リストに登録された配信情報の数が所定数を超えたとき、前記配信情報に基づいて最も低い優先度の配信処理を特定し、
前記配信手段は、実行中の配信処理のうち、前記特定された配信処理を停止することを特徴とするコンテンツ配信システム。
【請求項６】
請求項１〜請求項５のいずれか１項に記載のコンテンツ配信システムであって、
前記コンテンツ情報は、コンテンツの公開開始時期を含み、
前記決定手段は、現時点から前記公開開始時期までの期間に応じて前記優先度を決定することを特徴とするコンテンツ配信システム。
【請求項７】
請求項１〜請求項４及び請求項６のいずれか１項に記載のコンテンツ配信システムに使用されるセンタサーバ。
【請求項８】
請求項１〜請求項６のいずれか１項に記載のコンテンツ配信システムに使用されるピア。
【請求項９】
互いに接続される複数のピアと、前記複数のピアに接続されるセンタサーバとを備えたコンテンツ配信システムによるコンテンツ配信方法であって、
複数のコンテンツを前記複数のピアに記憶するステップと、
前記複数のコンテンツに関する複数のコンテンツ情報を前記センタサーバに記憶するステップと、
前記コンテンツ情報に基づいて優先度を決定するステップと、
前記ピアにおいて他のピアから所望のコンテンツの配信要求を受信するステップと、
前記配信要求を受信したピアにおいて、前記所望のコンテンツのコンテンツ情報に基づいて決定された優先度を取得し、取得した優先度を前記配信要求に応じた配信処理に対応付けるステップと、
前記配信要求を受信したピアにおいて、複数の前記配信処理をそれらの優先度に応じて実行するステップとを備えることを特徴とするコンテンツ配信方法。
【請求項１０】
請求項９に記載のコンテンツ配信方法であってさらに、
前記ピアに関するピア情報を前記センタサーバに記憶するステップを備え、
前記優先度を決定するステップは、前記コンテンツ情報及びピア情報に基づいて前記優先度を算出し、
前記優先度を配信処理に対応付けるステップは、前記所望のコンテンツのコンテンツ情報と前記他のピアのピア情報とに基づいて決定された優先度を取得することを特徴とするコンテンツ配信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツ配信システム、本システムに使用されるセンタサーバ及びピア、並びにコンテンツ配信方法に関し、さらに詳しくは、互いに接続される複数のピアと、複数のピアに接続されるセンタサーバとを備えたコンテンツ配信システム、本システムに使用されるセンタサーバ及びピア、並びにコンテンツ配信方法に関する。
【背景技術】
【０００２】
ピアツーピア型コンテンツ配信システムは、相互に接続された複数のピアを含む。各ピアは他のピアからコンテンツをダウンロードするとともに、他のピアから要求されたコンテンツをそのピアに返信する。ピアツーピア型コンテンツ配信システムでは、このようにコンテンツがピア間で配信され、ダウンロード負荷が各ピアに分散されるため、クライアントサーバ型コンテンツ配信システムに比べ、はるかに多くのピア（クライアント）にコンテンツを配信することができる。
【０００３】
このようなピアツーピア型コンテンツ配信システムの場合、各ピアは同じ時期に他の複数のピアから複数のコンテンツ配信要求を受ける場合がある。この場合、要求を受けたピアは複数のコンテンツ配信処理を実行する。
【０００４】
各ピアが複数の配信処理を実行する場合、各配信処理を同等に扱うのではなく、特定の配信処理を優先的に実行したい場合がある。たとえば、人気度の高いコンテンツについては、その配信元となるピアの数を増やした方が配信効率が上がる。そのため、そのようなコンテンツは他のコンテンツよりも優先的に配信して、そのコンテンツを保有するピアの数を増やすべきである。
【０００５】
また、特願２００５−０１５３９４号公報（関連出願１）では、公開日前にコンテンツを予めダウンロードし、公開日に一斉にコンテンツを再生できるコンテンツ配信システムが提案されている。このようなコンテンツ配信システムの場合、公開日が間近のコンテンツは優先的に配信される方がよい。公開日までにダウンロードを完了させるためである。
【０００６】
さらに、上述のようにコンテンツに応じて配信処理を優先的に実行するだけでなく、各ピアに応じて配信処理を優先的に実行したい場合もある。たとえば、コンテンツ配信システムを運営するサービスプロバイダが、コンテンツ配信システムの利用者に対して複数の料金コースを提供する場合、高額の料金コースで契約されたピアに対してコンテンツを優先的に配信したい場合もある。
【特許文献１】特開平９−１３５２５９号公報
【０００７】
［関連出願１］特願２００５−０１５３９４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明の目的は、配信するコンテンツに応じてコンテンツを優先的に配信するコンテンツ配信システム、本システムに使用されるセンタサーバ及びピア、並びにコンテンツ配信方法を提供することである。
【０００９】
本発明の他の目的は、配信先のピアに応じてコンテンツを優先的に配信できるコンテンツ配信システム、本システムに使用されるセンタサーバ及びピア、並びにコンテンツ配信方法を提供することである。
【課題を解決するための手段及び発明の効果】
【００１０】
本発明によるコンテンツ配信システムは、互いに接続される複数のピアと、複数のピアに接続されるセンタサーバとを備える。センタサーバは、サーバ記憶手段と、決定手段とを備える。サーバ記憶手段は、複数のピアが保存する複数のコンテンツに関するコンテンツ情報を記憶する。決定手段は、コンテンツ情報に基づいて優先度を決定する。複数のピアの各々は、ピア記憶手段と、受信手段と、管理手段と、配信手段とを備える。ピア記憶手段は、複数のコンテンツを記憶する。受信手段は、他のピアから所望のコンテンツの配信要求を受信する。管理手段は、所望のコンテンツのコンテンツ情報に基づいて決定された優先度を取得し、取得された優先度を配信要求に応じた配信処理に対応付ける。配信手段は、複数の配信処理をそれらの優先度に応じて実行する。ここで、コンテンツ情報とは、たとえば、コンテンツの人気度や、コンテンツの公開開始時期をいう。また、配信手段は、たとえば優先度に応じて、優先度順に配信処理をひとつずつ実行してもよいし、マルチタスクにより複数の配信処理を並行に実行し、優先度に基づいて各配信処理に割り当てる処理時間を決定してもよい。
【００１１】
本発明によるコンテンツ配信システムでは、コンテンツ情報に基づいて優先度を決定し、各ピアは決定された優先度に基づいて複数の配信処理を実行する。そのため、特定のコンテンツに対して優先的に配信処理を実行することができる。
【００１２】
好ましくは、サーバ記憶手段はさらに、ピアに関するピア情報を記憶する。決定手段は、コンテンツ情報及びピア情報に基づいて優先度を決定する。管理手段は、所望のコンテンツのコンテンツ情報と他のピアのピア情報とに基づいて決定された優先度を取得する。ここで、ピア情報とは、たとえば、センタサーバを運営するサービスプロバイダが設定するコンテンツ配信システムの利用料金コースのうち、各ピアの利用者が契約した利用料金コースに関する情報や、各ピアに現在かかる負荷に関する情報である。
【００１３】
この場合、コンテンツ情報及びピア情報に基づいて優先度が決定され、ピアはその優先度を用いて複数の配信処理を実行する。そのため、各ピアが複数の配信処理を実行するとき、特定のコンテンツ及び特定のピアに対して優先的に配信処理を実行できる。
【００１４】
好ましくは、サーバ記憶手段はさらに、決定手段により決定された複数の優先度を登録するための優先度データベースを記憶する。管理手段は、優先度を優先度データベースから取得する。
【００１５】
この場合、センタサーバは予めコンテンツ情報やピア情報に基づいて優先度を決定し、優先度データベースに登録しておく。そのため、各ピアは、優先度データベースから所望の優先度を取得できる。
【００１６】
好ましくは、センタサーバはさらに、更新手段を備える。更新手段は、優先度データベースを随時更新する。複数のピアの各々はさらに、取得手段を備える。取得手段は、配信要求を受信するごとに優先度データベースを取得する。管理手段は、取得された優先度データベースから優先度を取得する。ここで、更新手段はたとえばコンテンツ情報やピア情報が更新されるごとに優先度データベースを更新してもよいし、所定期間ごとに優先度データベースを更新してもよい。
【００１７】
この場合、優先度データベースは随時更新される。各ピアは、配信要求を受けてから優先度データベースを取得するため、最新の優先度データベースから所望の優先度を取得できる。
【００１８】
好ましくは、ピア記憶手段はさらに、配信情報リストを記憶する。配信情報リストは、配信手段が実行中の配信処理とその配信処理に対応付けられた優先度とに関する配信情報を登録する。複数のピアの各々はさらに、配信情報登録手段を備える。配信情報登録手段は、配信情報を配信情報リストに登録する。管理手段は、配信情報リストに登録された配信情報の数が所定数を超えたとき、配信情報に基づいて最も低い優先度の配信処理を特定する。配信手段は、実行中の配信処理のうち、特定された配信処理を停止する。
【００１９】
各ピアにおいて、実行中の配信処理の数が多すぎれば、ピアの負担が過剰となり、各配信処理に支障をきたす場合がある。このような場合、実行中の配信処理の数を減らせばよいが、優先的に配信したいコンテンツについては、配信処理を維持したい。そこで、優先度の最も低い配信処理を停止することで、優先度の高い配信処理の実行をそのまま維持する。
【００２０】
好ましくは、コンテンツ情報は、コンテンツの公開開始時期を含む。決定手段は、現時点から公開開始時期までの期間に応じて優先度を決定する。
【００２１】
この場合、公開開始時期に応じて、優先度を経時的に変化させる。そのため、公開開始間近のコンテンツの優先度を上げることができ、そのようなコンテンツを優先的に配信できる。
【００２２】
本発明によるセンタサーバは、上記コンテンツ配信システムに使用されるサーバである。また、本発明によるピアは、上記コンテンツ配信システムに使用されるピアである。本発明によるコンテンツ配信方法は、上記コンテンツ配信システムの動作方法である。
【発明を実施するための最良の形態】
【００２３】
以下、図面を参照し、本発明の実施の形態を詳しく説明する。図中同一又は相当部分には同一符号を付してその説明は繰り返さない。
【００２４】
［全体構成］
図１を参照して、コンテンツ配信システムは、センタサーバ（コンピュータ）１と、複数のピア（コンピュータ）２とを備える。これらはインターネット３で相互に接続されるが、ＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）、その他のコンピュータネットワーク経由で相互に接続されてもよい。
【００２５】
センタサーバ１はサービスプロバイダにより運用され、ピア２は一般利用者によって操作される。センタサーバ１は、各ピア２に関するピア情報を取得し、各ピア２を管理する。センタサーバ１は、配信されるコンテンツに関するコンテンツ情報を有するがコンテンツ自体を有していない。各ピア２は１又は複数のコンテンツを蓄積する。ピア２は他のピア２からコンテンツをダウンロードしてコンテンツを再生するとともに、他の１又は複数のピア２からの配信要求に応じて自身が蓄積するコンテンツを配信する。つまり、このシステムは、センタサーバ１を有するハイブリッド型ピアツーピアシステムであって、ダウンロード型のコンテンツ配信システムである。
【００２６】
［センタサーバの構成］
センタサーバ１は、ピア情報と、コンテンツ情報とを管理する。センタサーバ１はさらに、ピア情報及びコンテンツ情報に基づいて優先度を算出し、優先度データベースを作成する。センタサーバ１はまた、各ピア２がコンテンツを再生中である、又はコンテンツを配信中である等、各ピア２の動作状況に関する動作状況情報を取得し、管理する。
【００２７】
センタサーバ１は、ピア情報データベース１１と、コンテンツ情報データベース１２と、優先度データベース１３と、データベースアプリケーション（プログラム）１４とを備える。これらはセンタサーバ１内のハードディスク（図示せず）に記憶される。
【００２８】
ピア情報データベース１１は、図２に示すように、複数のピア情報ＰＩを含む。ピア情報ＰＩは、ピア２を特定するための識別子であるピアＩＤ、ピア２の利用者の氏名、住所を含む。ピア情報ＰＩはさらに、ピア２の利用者がサービスプロバイダと契約した料金コースに関する料金情報を含む。料金情報は、契約した料金コースに応じて低額コース、標準コース、高額コースに分類される。料金情報は優先度を算出するときに利用される。
【００２９】
コンテンツ情報データベース１２は、図３に示すように、各ピア２が蓄積する複数のコンテンツに関するコンテンツ情報ＣＩを含む。コンテンツ情報ＣＩは、コンテンツを特定するための識別子であるコンテンツＩＤと、コンテンツのタイトルとを含む。
【００３０】
コンテンツ情報ＣＩはまた、コンテンツの人気度を含む。コンテンツの人気度は、コンテンツ情報ＣＩの登録時に設定されてもよいし、そのコンテンツの配信要求回数や再生回数に基づいて動的に設定されてもよい。センタサーバ１は、各ピア２から送信される動作状況情報に基づいて、各コンテンツの配信要求回数や再生回数を管理する。
【００３１】
コンテンツ情報ＣＩはまた、公開開始日時及び公開終了日時を含む。公開開始日時は、そのコンテンツの再生を開始できる日時であり、公開終了日時は、そのコンテンツの再生ができなくなる日時である。ピア２は、公開開始日時前にコンテンツを取得できるが、公開開始日時を過ぎなければそのコンテンツを再生できない。また、公開終了日時を過ぎればそのコンテンツを再生できない。
【００３２】
コンテンツ情報ＣＩはさらに、そのコンテンツを記憶するピア２のＵＲＬを列挙したＵＲＬリストを含む。要するに、ＵＲＬリストに列挙されたＵＲＬのピア２は同じ内容のコンテンツを蓄積する。
【００３３】
優先度データベース１３は、図４に示すように、複数の配信優先度情報ＤＰを含む。各配信優先度情報ＤＰは、１つのコンテンツＩＤと、複数のピア優先度情報ＰＰとを含む。各ピア優先度情報ＰＰはピアＩＤと優先度とを含む。要するに、優先度データベース１３には、コンテンツＩＤとピアＩＤの組合せに対応した優先度が登録される。
【００３４】
データベースアプリケーション１４は、ピア２からの要求に応じて優先度データベース１３をピア２に送信する。
【００３５】
また、コンテンツ配信システムに新たなピア２が追加されたとき、又はピア２がコンテンツ配信システムから離脱したとき、データベースアプリケーション１４はピア情報データベース１１を更新する。新たなピア２が追加されたとき、データベースアプリケーション１４は、新たなピア２からピア情報ＰＩを取得し、ピア情報データベース１１を更新する。  各ピア２に新たなコンテンツが記憶されたとき、データベースアプリケーション１４はコンテンツ情報データベース１２を更新する。ピア２は新たなコンテンツを記憶したとき、少なくともそのコンテンツのコンテンツＩＤ、タイトル及び自身のＵＲＬを送信する。データベースアプリケーションは送信された情報を受信し、コンテンツ情報データベース１２を更新する。
【００３６】
データベースアプリケーション１４はさらに、ピア情報データベース１１及びコンテンツ情報データベース１２が更新されたとき、優先度データベース１３を更新する。具体的には、ピア情報ＰＩ及びコンテンツ情報ＣＩに基づいて、ピアＩＤとコンテンツＩＤとの組合せごとに優先度を算出し、算出した優先度に基づいて優先度データベース１３を更新する。データベースアプリケーション１４はさらに、所定期間ごとに優先度を算出し、優先度データベース１３を更新する。
【００３７】
［ピアの構造］
ピア２は、複数のコンテンツを記憶するためのコンテンツデータベース２１と、コンテンツの配信処理（以下、配信プロセスという）に関する情報が登録される配信プロセス情報データベース２２と、受信アプリケーション（プログラム）２３と、配信アプリケーション（プログラム）２４と、プロセスマネージャ（プログラム）２５とを備える。ピア２はまた、他のピア２にコンテンツの配信要求を送信したり、コンテンツを再生したりするためのプログラムを備える。これらは、ピア２内のハードディスク（図示せず）に記憶される。
【００３８】
受信アプリケーション２３は、他のピア２から送信されるコンテンツ配信要求を受信する。また、他のピア２から配信されたコンテンツを受信する。
【００３９】
配信アプリケーション２４は、受信した配信要求に応じてコンテンツの配信プロセスを生成し、実行する。配信アプリケーションはマルチタスク機能を有しており、配信プロセスが複数存在する場合、それらの配信プロセスを並行に実行する。
【００４０】
プロセスマネージャ２５は、配信アプリケーション２４が実行している１又は複数の配信プロセスを管理する。プロセスマネージャ２５は、優先度データベース１３に基づいて、各配信プロセスに優先度を対応付け、優先度に基づいて配信プロセスを実行するよう配信アプリケーション２４に指令する。配信アプリケーション２４は、プロセスマネージャ２５からの指令を受け、複数の配信プロセスをそれらの優先度に基づいて実行する。
【００４１】
プロセスマネージャ２５はさらに、実行中の配信プロセスの数が所定数を超えたとき、優先度の最も低い配信プロセスを終了するよう配信アプリケーション２４に指令する。配信アプリケーション２４は、プロセスマネージャ２５からの指令に応じて優先度の最も低い配信プロセスの実行を停止する。
【００４２】
配信プロセス情報データベース２２は、配信プロセス情報リストを記憶する。配信プロセス情報リストは、プロセスマネージャ２５が配信プロセスを管理するために利用される。図５に示すように、配信プロセス情報リストには実行中の配信プロセスに関する配信プロセス情報ＰＲが登録される。配信プロセス情報ＰＲは、配信プロセスを特定するための識別子であるプロセスＩＤと、配信先のピア２のピアＩＤと、配信するコンテンツのコンテンツＩＤとを含む。配信プロセス情報ＰＲはさらに、その配信プロセスに対応付けられた優先度を含む。
【００４３】
［動作］
ピア２は、他のピア２から所望のコンテンツの配信要求を受けたとき、所望のコンテンツの配信プロセスを生成し、実行する。このとき、ピア２は、配信するコンテンツと、配信先のピア２とに基づいて、配信プロセスの優先度を決定する。たとえば、配信するコンテンツの公開開始日時が間近であったり、人気度が高い場合、優先度が高くなる。また、配信先のピア２の利用者の料金コースが高額コースである場合、優先度が高くなる。一方、コンテンツの公開開始日時が迫っていなかったり、料金コースが低額コースである場合、優先度が低くなる。ピア２は決定された優先度に基づいて配信プロセスを実行する。たとえば、優先度の高い順に処理時間を多く割り当てることにより優先度の高い配信プロセスを優先的に実行する。
【００４４】
また、実行中の配信プロセスの数が多すぎればピア２の負荷が過剰になる。そのため、実行中の配信プロセス数が所定数を超えたとき、ピア２は、実行中の配信プロセスのうち優先度が最も低い配信プロセスを終了する。これにより、配信元となるピア２の負荷を抑制できる。
【００４５】
以下、コンテンツ配信システムの動作の詳細を説明する。
【００４６】
［センタサーバの動作］
センタサーバ１のデータベースアプリケーション１４は、各ピア２からピア情報ＰＩを随時取得し、ピア情報データベース１１を更新する。また、センタサーバ１は、各ピア２が保存するコンテンツに関する情報を随時取得し、コンテンツ情報データベース１２を更新する。
【００４７】
データベースアプリケーション１４はさらに、所定期間ごとに優先度データベース１３を更新する（更新処理）。この更新処理により、コンテンツ配信システムに新たなピア２が加わったり、新たなコンテンツが記憶されても、新たなピア２及びコンテンツに対応した優先度が算出され、優先度データベース１３が更新される。さらに、現時点から公開開始日時までの期間といった経時的要素に基づいて優先度が算出され、優先度データベース１３が更新される。以下、更新処理について説明する。
【００４８】
図６を参照して、データベースアプリケーション１４は、随時更新処理を実行する。具体的には、ピア情報データベース１１及び／又はコンテンツ情報データベース１２が更新されたときに更新処理を実行し、かつ、所定期間ごとに更新処理を実行する。
【００４９】
データベースアプリケーション１４はまず、コンテンツ情報データベース１２及びピア情報データベース１１に基づいて、コンテンツＩＤとピアＩＤの組合せを選択する（Ｓ１）。たとえば、システム全体で２０個のコンテンツが存在し、５個のピア２が存在する場合、コンテンツＩＤとピアＩＤの組合せは１００通りある。データベースアプリケーション１４は、これらの組合せの中から所定の組合せ、たとえば、（コンテンツＩＤ、ピアＩＤ）＝（Ｃ１、Ｐ１）を選択する。
【００５０】
続いて、データベースアプリケーション１４は、選択した組合せ（Ｃ１、Ｐ１）中のコンテンツＩＤ＝Ｃ１に対応するコンテンツ情報ＣＩをコンテンツ情報データベース１２から取得し、さらにその中から公開開始日時を取得する（Ｓ２）。データベースアプリケーション１４はさらに、選択した組合せ（Ｃ１、Ｐ１）中のピアＩＤ＝Ｐ１に対応するピア情報ＰＩをピア情報データベース１１から取得し、その中から料金情報を取得する（Ｓ３）。
【００５１】
データベースアプリケーション１４は、ステップＳ２及びステップＳ３で取得した公開開始日時及び料金情報に基づいて、組合せ（Ｃ１、Ｐ１）の優先度を算出する（Ｓ４）。
【００５２】
データベースアプリケーション１４はまず、以下の式（１）に基づいて公開日優先度を算出する。
【００５３】
公開日優先度＝０．３−現時点から公開開始日までの日数×０．１  （１）
続いて、データベースアプリケーション１４は、料金情報に応じて料金優先度を決定する。たとえば、低額コースの料金優先度＝０．８であり、標準コースの料金優先度＝１．０であり、高額コースの料金優先度＝１．２である。
【００５４】
以上の処理により公開日優先度及び料金優先度を決定した後、データベースアプリケーション１４は以下の式（２）に基づいて優先度を算出する。
【００５５】
優先度＝公開日優先度×０．７＋料金優先度×０．３  （２）
ここで、各式（１）、（２）及び料金優先度の係数や数値は一例であり、他の値を用いてもよい。式（２）の場合、公開日優先度の係数（＝０．７）の方が料金優先度の係数（＝０．３）よりも大きいため、式（２）は公開日優先度を重視した優先度の算出式となっている。料金優先度を重視する場合、料金優先度の係数を公開日優先度の係数よりも高くする。ステップＳ４では、公開開始日時が迫っている程、かつ、利用者が高額料金コースを契約している程、優先度が高くなる。
【００５６】
優先度を算出後、データベースアプリケーション１４は優先度データベース１３を更新する（Ｓ５）。データベースアプリケーション１４はまず、組合せ（Ｃ１、Ｐ１）に対応する優先度が既に優先度データベース１３に登録されているか否かを判断する。既に登録されている場合、データベースアプリケーション１４は、既に登録されている優先度をステップＳ４で算出した優先度に置換する。一方、組合せ（Ｃ１、Ｐ１）に対応する優先度が登録されていない場合、新たなピア優先度情報ＰＰを作成し、コンテンツＩＤ＝Ｃ１の
配信優先度情報ＤＰに新たなピア優先度情報ＰＰを追加する。
【００５７】
データベースアプリケーション１４は、全ての組合せについて優先度を算出したか否かを判断し（Ｓ６）、算出していない場合はステップＳ１に戻って他の組合せについても優先度を算出する。全ての組合せについて優先度を算出した場合（Ｓ６でＹＥＳ）、優先度更新処理を終了する。
【００５８】
以上、データベースアプリケーション１４は、コンテンツ情報ＣＩとピア情報ＰＩとの組合せに対応した優先度を算出し、算出した優先度に基づいて優先度データベース１３を更新する。データベースアプリケーション１４は、更新処理を随時実行するため、優先度データベース１３は最新のコンテンツ情報ＣＩ及びピア情報ＰＩに基づく。
【００５９】
また、データベースアプリケーション１４は、コンテンツ情報ＣＩとピア情報ＰＩとに基づいて優先度を算出するため、コンテンツ及びピアの事情に応じて優先度を変更できる。たとえば、図６のステップＳ４では、公開開始日時が迫っているコンテンツや、高額料金コースを契約したピア等、特定のコンテンツ及び特定のピアの優先度を高くできる。
【００６０】
なお、図６では、コンテンツの公開開始日時を優先度の算出に利用したが、他の情報を利用してもよい。たとえば、人気度を用いて優先度を算出してもよい。また、ピア情報として料金情報を利用したが、他の情報を利用してもよい。たとえば、配信先のピア２に現在かかっている負荷に関する負荷情報をピア情報ＰＩに含め、負荷情報を参照して、負荷の低いピアの優先度を高くしてもよい。この場合、センタサーバ１はピア２の動作状況情報を各ピア２から随時取得し、取得した動作状況情報に基づいて各ピア２にかかる負荷を算出する。動作状況情報とはピア２が現在実行している動作に関する情報であり、たとえば、再生中、ダウンロード中、アップロード中といった情報である。
【００６１】
［ピアの動作］
ピア２が他のピア２からコンテンツ配信要求を受信したとき、配信アプリケーション２４は配信プロセスを生成し、生成した配信プロセスを実行する。プロセスマネージャ２５は、各配信プロセスに優先度を対応付け、優先度に応じて配信プロセスを実行するよう配信アプリケーション２４に指令する。プロセスマネージャ２５はさらに、必要な場合、優先度の低い配信プロセスを終了させる。以下、ピア２の動作について説明する。
【００６２】
［受信アプリケーション及び配信アプリケーションの動作］
図７を参照して、ピア２中の受信アプリケーション２３は、他のピア２からのコンテンツ配信要求を受信する（Ｓ３１）。コンテンツ配信要求は、コンテンツ配信要求を送信したピア２のピアＩＤと、配信を希望するコンテンツのコンテンツＩＤとを含む。
【００６３】
配信アプリケーション２４は、受信したコンテンツ配信要求に応じた配信プロセスを生成する（Ｓ３２）。
【００６４】
配信プロセスを生成した後、配信アプリケーション２４はプロセスマネージャ２５に図８に示すプロセス開始通知コマンドを出力する（Ｓ３３）。プロセスマネージャ２５が生成された配信プロセスを管理するためである。プロセス開始通知コマンドは、配信プロセスの識別子であるプロセスＩＤと、ステップＳ３１で受信したコンテンツ配信要求に含まれるコンテンツＩＤ及びピアＩＤとを含む。
【００６５】
プロセス開始通知コマンドを出力後、配信アプリケーション２４は、配信プロセスを実行し、コンテンツの配信を開始する（Ｓ３４）。配信アプリケーション２４は、コンテンツ配信要求内のピアＩＤで特定されるピア２に、コンテンツ配信要求内のコンテンツＩＤで特定されるコンテンツを配信する。配信アプリケーション２４は、コンテンツの全データを配信したとき（ステップＳ３５でＹＥＳ）、又はコンテンツの配信に失敗したとき（Ｓ３６でＹＥＳ）、又は、プロセスマネージャ２５から後述するプロセス終了コマンドを受けたとき（Ｓ３７でＹＥＳ）、その配信プロセスを終了する（Ｓ３８）。上記以外の場合（Ｓ３５〜Ｓ３７でＮＯ）、コンテンツの配信を継続する。配信アプリケーション２４は、配信プロセスごとに図７の動作を実行する。したがって、複数のコンテンツ配信要求を同時期に受信したとき、配信アプリケーション２４はマルチタスク機能により複数の配信プロセスを実行する。
【００６６】
［プロセスマネージャの動作］
プロセスマネージャ２５は、配信アプリケーション２４が実行中の１又は複数の配信プロセスを管理する。プロセスマネージャ２５は、配信プロセスに優先度を対応付け、優先度に基づいて配信プロセスを実行するように指令し、必要な場合は優先度の最も低い配信プロセスを終了させる。以下、プロセスマネージャ２５の動作について説明する。
【００６７】
図９を参照して、プロセスマネージャ２５は、コマンドの受信を監視する（Ｓ１１）。配信アプリケーション２４が出力したプロセス開始通知コマンドを受信したとき（Ｓ１１でＹＥＳ）、プロセスマネージャ２５は受信したコマンドがプロセス開始通知コマンドであると判断する（Ｓ１２でＹＥＳ）。
【００６８】
プロセスマネージャ２５は、配信プロセス情報リストに新たな配信プロセス情報ＰＲを追加し（Ｓ１３）、受信したプロセス開始通知コマンド内のプロセスＩＤと、ピアＩＤと、コンテンツＩＤとを、追加した配信プロセス情報ＰＲに登録する（Ｓ１４）。
【００６９】
登録後、プロセスマネージャ２５は、センタサーバ１に優先度データベース１３を要求する（Ｓ１５）。配信プロセス情報リストに追加した新たな配信プロセスの優先度を取得するためである。センタサーバ１はプロセスマネージャ２５の要求に応答して優先度データベース１３をピア２に送信する（Ｓ１６）。ピア２は、優先度データベース１３を予め記憶せず、配信プロセス情報リストに新たな配信プロセスが追加されるごとに優先度データベース１３を取得する。そのため、プロセスマネージャ２５は、センタサーバ１により更新された最新の優先度データベース１３から優先度を取得できる。
【００７０】
プロセスマネージャ２５は、センタサーバ１から送信された優先度データベース１３を受信し、図示しないメモリに記憶する（Ｓ１７）。プロセスマネージャ２５は、優先度データベース１３に基づいて、ステップＳ１３で新たに追加された配信プロセスの優先度を取得する（Ｓ１８）。プロセスマネージャ２５は、配信プロセス情報ＰＲ内のコンテンツＩＤとピアＩＤとの組合せに対応した優先度を優先度データベース１３から取得し、配信プロセス情報ＰＲに登録する。これにより、プロセスマネージャ２５は、新たな配信プロセスに優先度を対応付ける。つまり、配信プロセスの優先度が決定される。
【００７１】
優先度を登録後、プロセスマネージャ２５は配信プロセスの優先順位を設定する（Ｓ１９）。プロセスマネージャ２５は、配信プロセス情報リストに登録された複数の配信プロセス情報ＰＲの優先度に基づいて、各プロセスＩＤの優先順位を設定する。プロセスマネージャ２５はステップＳ１９で設定された優先順位に基づいて各配信プロセスを実行するよう配信アプリケーション２４に指示する。たとえば、優先順位に基づいて配信プロセスの処理時間を割り当てる。配信アプリケーション２４はプロセスマネージャ２５の指示に応じて、各配信プロセスを実行する。
【００７２】
優先順位を設定後、プロセスマネージャ２５は、現在実行中の配信プロセスの数が所定数を超えているか否かを確認する（Ｓ２０）。このとき、プロセスマネージャ２５は配信プロセス情報リストに登録された配信プロセス情報の数をカウントし、カウント数が所定数を超えているか否か判断する。所定数を超えている場合（Ｓ２０でＹＥＳ）、配信アプリケーション２４の負荷が過剰となっており、各配信プロセスの実行に支障が生じる場合がある。そのため、プロセスマネージャ２５は、配信プロセス情報リストを参照し、優先度が最も低いプロセスＩＤを特定し（Ｓ２１）、特定したプロセスＩＤの配信プロセスを終了させる（Ｓ２２）。具体的には、プロセスマネージャ２５は、ステップＳ２１で特定したプロセスＩＤを含むプロセス終了コマンドを配信アプリケーション２４に出力する。
【００７３】
プロセス終了コマンドを受けた配信アプリケーション２４は（図７中のＳ３７でＹＥＳ）、プロセス終了コマンド内のプロセスＩＤに対応する配信プロセスを終了する（Ｓ３８）。終了後、配信アプリケーション２４は、終了したプロセスＩＤを含むプロセス終了通知コマンドをプロセスマネージャ２５に出力する（Ｓ３９）。
【００７４】
プロセス終了通知コマンドを受信したプロセスマネージャ２５は（図９中のＳ１１でＹＥＳ）、受信したコマンドがプロセス終了通知コマンドであると判断する（Ｓ１２でＮＯ）。そのため、プロセスマネージャ２５は、プロセス終了通知コマンド内のプロセスＩＤに対応する配信プロセス情報ＰＲを配信プロセス情報リストから削除する（Ｓ２３）。配信プロセスが終了したため、もはやプロセスマネージャ２５で管理する必要がないためである。
【００７５】
以上、本実施の形態によるコンテンツ配信システムは、コンテンツ情報ＣＩ及びピア情報ＰＩに基づいて優先度を設定し、その優先度に応じてコンテンツの配信処理を実行する。そのため、コンテンツ情報ＣＩ及びピア情報ＰＩに応じて特定のコンテンツの配信を優先したり、特定のピアへの配信を優先することができる。
【００７６】
なお、本実施の形態では、コンテンツ情報ＣＩ及びピア情報ＰＩに基づいて優先度を算出したが、コンテンツ情報ＣＩのみに基づいて優先度を算出してもよい。この場合、図６に示した更新処理において、ステップＳ３が実行されず、ステップＳ４の優先度算出処理では、料金優先度が算出されない。優先度は公開日優先度に基づいて算出される。なお、優先度が公開開始日時以外の情報、たとえば人気度等に基づいて算出されてもよい。プロセスマネージャ２５は、配信プロセス情報内のコンテンツＩＤに対応した優先度を取得する。また、ピア情報ＰＩのみに基づいて優先度を算出してもよい。
【００７７】
上述の実施の形態では、ピア２が優先度データベース１３を取得したが、センタサーバ１のみが優先度データベース１３を有し、ピア２はセンタサーバ１に問い合わせて配信プロセスに対応する優先度を取得してもよい。ただし、ピア２が優先度データベース１３を有する方が、センタサーバ１の負荷が低減する。センタサーバ１がピア２の問い合わせに基づいて優先度を取得し、ピア２にその優先度を送信する必要がないためである。
【００７８】
また、コンテンツ配信システムは優先度データベース１３を有しなくてもよい。この場合、プロセスマネージャ２５はセンタサーバ１に優先度を要求する。このとき、優先度の要求コマンドにコンテンツＩＤとピアＩＤとを含める。センタサーバ１はコンテンツＩＤに対応するコンテンツ情報ＣＩ及びピアＩＤに対応するピア情報ＰＩを用いて優先度を算出し、算出した優先度をピア２に送信する。これにより、優先度データベース１３がなくてもピア２は優先度を取得できる。
【００７９】
上述の実施の形態では、優先度を決定するピア情報として料金情報を利用したが、ピア情報として各ピアの動作状況に関する情報や、各ピアにかかる負荷に関する情報を利用してもよい。この場合、ピア情報ＰＩに各ピア２の動作状況及び各ピアにかかる負荷が登録されており、センタサーバ１は、この動作状況及び負荷を用いて優先度を算出する。
【００８０】
以上、本発明の実施の形態を説明したが、上述した実施の形態は本発明を実施するための例示に過ぎない。よって、本発明は上述した実施の形態に限定されることなく、その趣旨を逸脱しない範囲内で上述した実施の形態を適宜変形して実施することが可能である。
【図面の簡単な説明】
【００８１】
【図１】本発明の実施の形態によるコンテンツ配信システムの構成を示す機能ブロック図である。
【図２】図１に示したピア情報データベースのレコード構成を示す図である。
【図３】図１に示したコンテンツ情報データベースのレコード構成を示す図である。
【図４】図１に示した優先度データベースのレコード構成を示す図である。
【図５】図１に示した配信プロセス情報データベース内に登録される配信プロセス情報リストのレコード構成を示す図である。
【図６】図１に示したコンテンツ配信システムのうち、センタサーバの動作を示すフロー図である。
【図７】図１に示したコンテンツ配信システムのうち、ピア内の受信アプリケーション及び配信アプリケーションの動作を示すフロー図である。
【図８】図７中のステップＳ３３で通知するプロセス開始通知コマンドの構成を示す図である。
【図９】図１に示したコンテンツ配信システムのうち、ピア内のプロセスマネージャの動作を示すフロー図である。
【符号の説明】
【００８２】
１  センタサーバ
２  ピア
３  インターネット
１１  ピア情報データベース
１２  コンテンツ情報データベース
１３  優先度データベース
１４  データベースアプリケーション
２１  コンテンツデータベース
２２  配信プロセス情報データベース
２３  受信アプリケーション
２４  配信アプリケーション
２５  プロセスマネージャ
【図１】
2007087280.tif 000003
【図２】
2007087280.tif 000004
【図３】
2007087280.tif 000005
【図４】
2007087280.tif 000006
【図５】
2007087280.tif 000007
【図６】
2007087280.tif 000008
【図７】
2007087280.tif 000009
【図８】
2007087280.tif 000010
【図９】
2007087280.tif 000011