説明

ピアツーピアコンテンツ配信システム

【課題】各ピアにかかる負荷を分散させ、多数のピアを設けることの可能なP2Pコンテンツ配信システムを提供する。
【解決手段】センタネットワークCEと、キャッシュネットワークCAと、複数のレルムネットワークRL1〜RL3とからなる。ダイナミックピアDPはレルムネットワークRL1〜RL3に分割される。センタネットワークCEはメインセンタサーバMC及びサブセンタサーバSCからなる。各レルムネットワークはサブセンタサーバSCを有し、P2Pシステムを形成する。キャッシュネットワークCAはキャッシュセンタサーバCCを有し、スタティックピアSP及びダイナミックキャッシュピアCPによりP2Pシステムを形成する。ダイナミックキャッシュピアCPはスタティックピアSPをキャッシュし、レルムネットワークにおいてコンテンツ配信の起点となる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ピアツーピア(Peer to Peer)コンテンツ配信システムに関し、さらに詳しくは、センタサーバを有するハイブリッド型ピアツーピアコンテンツ配信システムに関する。
【背景技術】
【0002】
ピアツーピア(以下、「P2P」と略記する場合がある。)コンテンツ配信システムは、相互に接続された複数のピアを含む。各ピアは他のピアからコンテンツをダウンロードするとともに、他のピアから要求されたコンテンツをそのピアに返信する。ピアツーピア配信システムでは、このようにコンテンツがピア間で配信され、ダウンロード負荷が各ピアに分散されるため、クライアントサーバ型コンテンツ配信システムに比べ、はるかに多くのピア(クライアント)にコンテンツを配信することができる。
【0003】
しかしながら、新規コンテンツの配信当初においては、そのコンテンツを保有しているピアが少ないため、それらのピアにダウンロード負荷が集中し、配信効率が悪いという問題がある。しかも、この問題はピアが増加するにつれて顕著になる。
【0004】
一方、ピアだけで構成される純粋なP2Pコンテンツ配信システムは、コンテンツの流通や利用状況を管理することが困難なため、コンテンツの著作権を侵害するおそれがある。そこで、各ピアを監視するためにセンタサーバが設けられることがある。このシステムは、P2P方式にクライアントサーバ方式を組み合わせたハイブリッド型P2Pコンテンツ配信システムと呼ばれる。このハイブリッド型P2Pコンテンツ配信システムにおいては、ピアが増加するにつれてセンタサーバにかかる負荷が大きくなるという問題がある。
【0005】
このようにピアの数をむやみに増加させることはできないため、P2Pコンテンツ配信システムの規模には一定の限界がある。
【特許文献1】特開2004−64769号公報
【0006】
[関連出願1] 特願2002−251541号
【発明の開示】
【発明が解決しようとする課題】
【0007】
本発明の目的は、各ピアにかかる負荷を分散させ、多数のピアを設けることの可能なピアツーピアコンテンツ配信システムを提供することである。
【0008】
本発明のもう1つの目的は、センタサーバにかかる負荷を分散させることの可能なピアツーピアコンテンツ配信システムを提供することである。
【課題を解決するための手段及び発明の効果】
【0009】
本発明によるピアツーピアコンテンツ配信システムは、スタティックピアと、複数のレルムネットワークとを備える。レルムネットワークの各々は、センタサーバと、ダイナミックキャッシュピアと、複数のダイナミックピアとを含む。ダイナミックキャッシュピアは、スタティックピア及びセンタサーバに接続される。複数のダイナミックピアは、センタサーバ及びダイナミックキャッシュピアに接続され、かつ相互に接続される。スタティックピアは、コンテンツファイルを記憶するための第1のコンテンツ記憶手段を含む。センタサーバの各々は、コンテンツの詳細(たとえばタイトルその他のメタ情報)及び所在(たとえばダイナミックピアのURI(Uniform Resource Identifier))に関するコンテンツ情報を記憶するための第1のコンテンツ情報記憶手段を含む。ダイナミックキャッシュピアの各々は、コンテンツファイルを記憶するための第2のコンテンツ記憶手段と、スタティックピアからコンテンツファイルをダウンロードして第2のコンテンツ記憶手段に保存する第1のダウンロード手段とを含む。ダイナミックピアの各々は、コンテンツファイルを記憶するための第3のコンテンツ記憶手段と、当該レルムネットワーク内のセンタサーバからコンテンツ情報を取得する手段と、取得されたコンテンツ情報に基づいて当該レルムネットワーク内のダイナミックキャッシュピア又は他のダイナミックピアからコンテンツファイルをダウンロードして第3のコンテンツ記憶手段に保存する第2のダウンロード手段と、第3のコンテンツ記憶手段からコンテンツファイルを読み出してコンテンツを再生する再生手段とを含む。
【0010】
このピアツーピアコンテンツ配信システムでは、ピアがレルムネットワークに分割され、各レルムネットワークはセンタサーバを有するピアツーピアシステムを構成する。したがって、各ピアにかかる負荷を分散させ、多数のピアを設けることができる。センタサーバもレルムネットワークに分割されるので、センタサーバにかかる負荷も分散させることができる。
【0011】
好ましくは、ピアツーピアコンテンツ配信システムはさらに、キャッシュセンタサーバを備える。スタティックピアはキャッシュセンタサーバに接続される。複数のダイナミックキャッシュピアはキャッシュセンタサーバに接続され、かつ相互に接続される。キャッシュセンタサーバは、コンテンツ情報を記憶するための第2のコンテンツ情報記憶手段を含む。ダイナミックキャッシュピアの各々はさらに、キャッシュセンタサーバからコンテンツ情報を取得する手段を含む。第1のダウンロード手段は、取得されたコンテンツ情報に基づいてスタティックピア又は他のダイナミックキャッシュピアからコンテンツファイルをダウンロードする。
【0012】
この場合、スタティックピア及びダイナミックキャッシュピアもキャッシュセンタサーバを有するピアツーピアシステムを構成し、これらによりキャッシュネットワークを形成する。そのため、スタティックピアにかかる負荷を軽減し、ダイナミックキャッシュピアに分散させることができる。
【0013】
好ましくは、ダイナミックピアの各々はさらに、第2のダウンロード手段によりダウンロードされたコンテンツに関するコンテンツ情報をセンタサーバに通知する手段を含む。ダイナミックキャッシュピアの各々はさらに、第1のダウンロード手段によりダウンロードされたコンテンツに関するコンテンツ情報をキャッシュセンタサーバ及び当該レルムネットワーク内のセンタサーバに通知する手段を含む。
【0014】
この場合、ダイナミックキャッシュピアはレルムネットワークだけでなく、キャッシュネットワークにも所属する。そのため、ダイナミックキャッシュピアはダイナミックピアだけでなく、他のダイナミックキャッシュピアにもコンテンツファイルを転送することができる。
【0015】
本発明によるもう1つのピアツーピアコンテンツ配信システムは、メインセンタサーバと、複数のレルムネットワークとを備える。レルムネットワークの各々は、サブセンタサーバと、複数のピアとを含む。サブセンタサーバは、メインセンタサーバに接続される。複数のピアは、サブセンタサーバに接続され、かつ相互に接続される。メインセンタサーバは、グローバルピア動作履歴記憶手段と、課金手段とを含む。グローバルピア動作履歴記憶手段は、ピア動作履歴を記憶するためのものである。課金手段は、グローバルピア動作履歴記憶手段に記憶されたピア動作履歴に基づいてコンテンツの利用料を算出する。サブセンタサーバの各々は、コンテンツ情報記憶手段と、ローカルピア動作履歴記憶手段と、ピア動作履歴通知手段とを含む。コンテンツ情報記憶手段は、コンテンツの詳細及びコンテンツファイルの所在に関するコンテンツ情報を記憶するためのものである。ローカルピア動作履歴記憶手段は、当該レルムネットワーク内の各ピアの動作状況の履歴を示すピア動作履歴を記憶するためのものである。ピア動作履歴通知手段は、ローカルピア動作履歴記憶手段に記憶されたピア動作履歴をメインセンタサーバに通知する。ピアの各々は、コンテンツ記憶手段と、コンテンツ情報取得手段と、ダウンロード手段と、再生手段と、動作状況通知手段とを含む。コンテンツ記憶手段は、コンテンツファイルを記憶するためのものである。コンテンツ情報取得手段は、サブセンタサーバからコンテンツ情報を取得する。ダウンロード手段は、コンテンツ情報取得手段により取得されたコンテンツ情報に基づいて当該レルムネットワーク内の他のピアからコンテンツファイルをダウンロードしてコンテンツ記憶手段に保存する。再生手段は、コンテンツ記憶手段からコンテンツファイルを読み出してコンテンツを再生する。動作状況通知手段は、自身の動作状況をサブセンタサーバに通知する。
【0016】
このピアツーピアコンテンツ配信システムでは、サブセンタサーバは課金処理から解放され、ピアの動作履歴を取得するロギング処理に専念することができる。よって、センタサーバにかかる負荷を分散させることができる。
【発明を実施するための最良の形態】
【0017】
以下、図面を参照し、本発明の実施の形態を詳しく説明する。図中同一又は相当部分には同一符号を付してその説明は繰り返さない。
【0018】
[全体構成]
図1を参照して、本発明の実施の形態によるP2Pコンテンツ配信システムは、メインセンタサーバMCと、キャッシュセンタサーバCCと、スタティックピアSPと、複数のレルムネットワークRL1〜RL3とを備える。レルムネットワークRL1〜RL3の各々は、サブセンタサーバSCと、1又は2以上のダイナミックキャッシュピアCPと、2以上のダイナミックピアDPとを備える。メインセンタサーバMC及びサブセンタサーバSCはセンタネットワークCEを形成し、キャッシュセンタサーバCC、スタティックピアSP及びダイナミックキャッシュピアCPはキャッシュネットワークCAを形成する。
【0019】
センタネットワークCEにおいて、サブセンタサーバSCは、LAN(Local Area Network)、WAN(Wide Area Network)などの専用電気通信回線を介してメインセンタサーバMCに接続される。メインセンタサーバMCはサブセンタサーバSCに対してサーバとして機能し、逆に、サブセンタサーバSCはメインセンタサーバMCに対してクライアントとして機能する。よって、センタネットワークCEはクライアントサーバ型システムを形成する。
【0020】
ダイナミックピアDPは一般に、コンテンツを購入して利用する顧客の専用端末装置により構成される。メインセンタサーバMC、サブセンタサーバSC、スタティックピアSP、キャッシュセンタサーバCC、及びダイナミックキャッシュピアCPは一般に、コンテンツを提供するサービス業者により運用される。
【0021】
キャッシュネットワークCAにおいて、スタティックピアSP及びダイナミックキャッシュピアCPは、専用電気通信回線を介してキャッシュセンタサーバCCに接続される。スタティックピアSP及びダイナミックキャッシュピアCPはまた、専用電気通信回線を介して相互に接続される(図示せず)。キャッシュセンタサーバCCはスタティックピアSP及びダイナミックキャッシュピアCPに対してサーバとして機能し、逆に、スタティックピアSP及びダイナミックキャッシュピアCPはキャッシュセンタサーバCCに対してクライアントとして機能する。よって、キャッシュネットワークCAは、キャッシュセンタサーバCCを有するハイブリッド型P2Pシステムを形成する。
【0022】
レルムネットワークRL1〜RL3の各々において、ダイナミックキャッシュピアCP及びダイナミックピアDPは、インターネットなどの公衆電気通信回線を介してサブセンタサーバSCに接続される。ダイナミックキャッシュピアCP及びダイナミックピアDPはまた、公衆電気通信回線を介して相互に接続される(図示せず)。サブセンタサーバSCはダイナミックキャッシュピアCP及びダイナミックピアDPに対してサーバとして機能し、逆に、ダイナミックキャッシュピアCP及びダイナミックピアDPはサブセンタサーバSCに対してクライアントとして機能する。よって、レルムネットワークRL1〜RL3は、サブセンタサーバSCを有するハイブリッド型P2Pシステムを形成する。
【0023】
スタティックピアSPは新規コンテンツを配信するための起点となり、新規に登録したコンテンツ情報をキャッシュセンタサーバCCにアップロードする。ダイナミックキャッシュピアCPはキャッシュセンタサーバCCから取得したコンテンツ情報を参照し、スタティックピアSP又は他のダイナミックキャッシュピアCPからコンテンツをダウンロードする。これにより、ダイナミックキャッシュピアCPはスタティックピアSPのコピーとなる。コンテンツをダウンロードしたダイナミックキャッシュピアCPは、更新したコンテンツ情報をキャッシュセンタサーバCCにアップロードするとともに、自身が所属するレルムネットワーク内のサブセンタサーバSCにもアップロードする。これにより、ダイナミックキャッシュピアCPはレルムネットワーク内において新規コンテンツを配信するための起点となる。ダイナミックピアDPはサブセンタサーバSCから取得したコンテンツ情報を参照し、ダイナミックキャッシュピアCP又は他のダイナミックピアDPからコンテンツをダウンロードする。
【0024】
また、図2に示すように、レルムネットワークRL1〜RL5は階層的に形成されてもよい。本例では、レルムネットワークRL1が最上位の階層に位置づけられ、その次の階層にレルムネットワークRL2が位置づけられ、その次の階層にレルムネットワークRL3が位置づけられる。レルムネットワークRL4も最上位の階層に位置づけられ、その次の階層にレルムネットワークRL5が位置づけられる。
【0025】
ダイナミックキャッシュピアCP1及びCP2はキャッシュネットワークCAに所属するが、ダイナミックキャッシュピアCP3〜CP5はキャッシュネットワークCAに所属しない。
【0026】
ダイナミックキャッシュピアCP3はレルムネットワークRL1だけでなく、下位のレルムネットワークRL2にも所属する。ダイナミックキャッシュピアCP4はレルムネットワークRL4だけでなく、下位のレルムネットワークRL5にも所属する。ダイナミックキャッシュピアCP5はレルムネットワークRL2だけでなく、下位のレルムネットワークRL3にも所属する。ただし、ダイナミックキャッシュピアCP1はレルムネットワークRL1に所属し、他のレルムネットワークに所属しない。ダイナミックキャッシュピアCP2はレルムネットワークRL4に所属し、他のレルムネットワークに所属しない。
【0027】
レルムネットワークRL1はダイナミックキャッシュピアCP1によりキャッシュネットワークCAに結合され、レルムネットワークRL2はダイナミックキャッシュピアCP3によりレルムネットワークRL1に結合され、レルムネットワークRL3はダイナミックキャッシュピアCP5によりレルムネットワークRL2に結合される。一方、レルムネットワークRL4はダイナミックキャッシュピアCP2によりキャッシュネットワークCAに結合され、レルムネットワークRL5はダイナミックキャッシュピアCP4によりレルムネットワークRL4に結合される。
【0028】
ダイナミックキャッシュピアCP1,CP2を第1レベルキャッシュと、ダイナミックキャッシュピアCP3,CP4を第2レベルキャッシュと、ダイナミックキャッシュピアCP5を第3レベルキャッシュと呼ぶ。
【0029】
[メインセンタサーバの構成]
図3を参照して、メインセンタサーバMCは、ピア動作履歴を記憶するためのグローバルピア動作履歴管理データベース10と、メインセンタサーバMCの制御を司るメインセンタサーバアプリケーション11とを備える。グローバルピア動作履歴管理データベース10に保存されるピア動作履歴は、全ダイナミックピアDPの動作履歴である。また、メインサーバMCには、外部に課金データベース12が接続されている。課金データベース12は、顧客に関する情報(たとえば氏名、住所、年齢、職業など)と、コンテンツの料金に関するコンテンツ料金体系(たとえばコンテンツごとの料金又は視聴時間ごとの料金)とが設定されている。メインセンタサーバアプリケーション11は具体的には、各サブセンタサーバSCから通知されたピア動作履歴をグローバルピア動作履歴管理データベース10に保存するとともに、そのピア動作履歴及び課金データベース12に設定された情報に基づいてダイナミックピアDPごとにコンテンツの利用料を算出して課金処理を実行する。
【0030】
[サブセンタサーバの構成]
図4を参照して、サブセンタサーバSCは、コンテンツ情報を記憶するためのコンテンツ管理データベース20と、ピア動作状況を記憶するためのピア動作状況管理データベース21と、ピア動作履歴を記憶するためのローカルピア動作履歴管理データベース22と、ピア負荷値を記憶するためのピア負荷管理データベース23と、サブセンタサーバSCの制御を司るサブセンタサーバアプリケーション24とを備える。
【0031】
コンテンツ管理データベース20に保存されるコンテンツ情報は、当該レルムネットワーク内のダイナミックキャッシュピアCP及びダイナミックピアDPに存在するコンテンツに関する情報であり、詳細は後述する。ピア動作状況管理データベース21に保存されるピア動作状況は、当該レルムネットワーク内のダイナミックピアDP及びダイナミックキャッシュピアCP(以下、単に「ダイナミックピアDP」のみを代表して説明する。)の動作状況であって、たとえば、電源オン、電源オフ、ダウンロードの開始、ダウンロードの完了、コンテンツの再生開始、コンテンツの再生停止などの情報である。ローカルピア動作履歴管理データベース22に保存されるピア動作履歴は、当該レルムネットワーク内のダイナミックピアDP及びダイナミックキャッシュピアCP(以下、単に「ダイナミックピアDP」のみを代表して説明する。)の動作履歴であって、上記ピア動作状況を時系列的に記録した情報である。ピア負荷管理データベース23に保存されるピア負荷値は、当該レルムネットワーク内のダイナミックキャッシュピアCP及びダイナミックピアDPにかかる負荷の値である。
【0032】
サブセンタサーバアプリケーション24は具体的には、当該レルムネットワーク内のダイナミックキャッシュピアCP及びダイナミックピアDPから通知されたコンテンツ情報をコンテンツ管理データベース20に登録する登録部25と、当該レルムネットワーク内のダイナミックピアDPから発行されたクエリに応じてコンテンツ管理データベース20を検索し、所望のコンテンツリストを作成してダイナミックピアDPに返信する検索部26と、当該レルムネットワーク内のダイナミックピアDPから通知されたピア動作状況をピア動作状況管理データベース21に登録して更新するとともに、そのピア動作履歴をローカルピア動作履歴管理データベース22に保存するロギング部27と、当該レルムネットワーク内のダイナミックキャッシュピアCP及びダイナミックピアDPにかかる負荷の値を計算してピア負荷管理データベース23に登録する計算部28と、ローカルピア動作履歴管理データベース22に保存されたピア動作履歴を定期的にメインセンタサーバMCに通知する通知部29とを含む。
【0033】
[コンテンツ管理データベースの構成]
コンテンツ管理データベース20の構成を図5に示す。後述するコンテンツ管理データベースの構成もこれと同じである。
【0034】
コンテンツ管理データベース20は、コンテンツの総数に相当する複数のコンテンツ情報レコードitemからなる。各コンテンツ情報レコードitemは、メタ情報と、1又は2以上のURIリストurilistとを有する。コンテンツ情報レコードitemの属性(Attribute)は、当該コンテンツのユニークIDcuidと、アイテムの種類class(映像、音楽など)とを有する。
【0035】
メタ情報は当該コンテンツの詳細を示し、たとえば当該コンテンツのタイトル、監督の名前、主演の名前を含む。URIリストurilistは当該コンテンツの所在を示すロケーション情報である。各コンテンツ情報レコードitemに含まれるURIリストurilistの数は、当該レルムネットワーク内において当該コンテンツを持っているピアCP,DPの数に等しい。URIリストurilistの属性は、当該コンテンツを持っているピアCP又はDPのユニークIDpuidと、そのピアCP又はDPの負荷値loadとを有する。
【0036】
各ピアCP,DPに保存されている1つのコンテンツは、1又は2以上のファイルに分割される。各URIリストurilistは、これらのファイルの所在を示す1又は2以上のURIからなる。各URIの属性は、当該ファイルに対応するパーツ番号subidと、ファイルサイズsizeとを有する。
【0037】
[センタネットワーク]
図6を参照して、レルムネットワークRL1〜RL3の各々において、サブセンタサーバSCは当該レルムネットワーク内の全ダイナミックピアDP及びダイナミックキャッシュピアCP(以下、単に「ダイナミックピアDP」のみを代表して説明する。)の動作状況を常時監視し、その履歴を一括してメインセンタサーバMCにアップロードする。したがって、メインセンタサーバMCにはレルムネットワークRL1〜RL3内の全ダイナミックピアDPの動作履歴が集約される。メインセンタサーバMCは、その集約された動作履歴に基づいてダイナミックピアDPごとにコンテンツの利用料を算出して課金処理を実行する。
【0038】
その結果、サブセンタサーバSCは課金処理から解放され、リアルタイム処理である履歴収集処理に徹することができ、逆に、メインセンタサーバMCは履歴収集処理から解放され、課金処理に徹することができる。
【0039】
また、ダイナミックピアDPの台数が増加した場合は、新たにサブセンタサーバSCを追加し、その配下にダイナミックピアDPを配置することにより、新たにレルムネットワークを構築すればよい。よって、このコンテンツ配信システムの規模を容易に大きくすることができる。さらに、サブセンタサーバSCの台数が増加した場合は、メインセンタサーバMCを分割することも可能である。
【0040】
[レルムネットワーク]
各レルムネットワークRL1〜RL3にはサブセンタサーバSCは1つしか存在しない。各サブセンタサーバSCは、当該レルムネットワーク内のダイナミックピアDPが所有するコンテンツに関するコンテンツ情報を集約し、各ダイナミックピアDPに公開している。各ダイナミックピアDPは、コンテンツ情報内に記述されたURLに基づいて所望のコンテンツを所有するピアCP,DPにアクセスし、そのコンテンツをダウンロードする。
【0041】
図7を参照して、レルムネットワークRL1内において、サブセンタサーバSCで公開されているコンテンツ情報には、ダイナミックキャッシュピアCP1,CP2及びダイナミックピアDP1〜DP3のURLしか出現しない。そのため、ダイナミックピアDP4〜DP6からレルムネットワークRL2を超えてダイナミックキャッシュピアCP1,CP2及びダイナミックピアDP1〜DP3にアクセスすることはできない。
【0042】
[キャッシュセンタサーバの構成]
図8を参照して、キャッシュセンタサーバCCは、コンテンツ情報を記憶するためのコンテンツ管理データベース30と、キャッシュセンタサーバCCの制御を司るキャッシュセンタサーバアプリケーション31とを備える。
【0043】
キャッシュセンタサーバアプリケーション31は具体的には、スタティックピアSPから通知されたコンテンツ情報をコンテンツ管理データベース30に登録する登録部32と、ダイナミックキャッシュピアCPから発行されたクエリに応じてコンテンツ管理データベース30を検索し、所望のコンテンツリストを作成してダイナミックキャッシュピアCPに返信する検索部33とを含む。
【0044】
[スタティックピアの構成]
図9を参照して、スタティックピアSPは、コンテンツ情報を記憶するためのコンテンツ管理データベース40と、コンテンツファイルを記憶するためのコンテンツデータベース41と、スタティックピアSPの制御を司るスタティックピアアプリケーション42と、キャッシュネットワークCAを構築するためのコンフィグレーションファイル43とを備える。
【0045】
スタティックピアアプリケーション42は具体的には、配信する新規のコンテンツ情報をコンテンツ管理データベース30に登録しかつコンテンツファイルをコンテンツデータベース41に登録する新規登録部44と、コンテンツ管理データベース30に登録されたコンテンツ情報をキャッシュセンタサーバCCに通知する通知部45と、キャッシュネットワークCA内のダイナミックキャッシュピアCPからの要求に応じて所望のコンテンツファイルをダイナミックキャッシュピアCPに転送する転送部46とを含む。
【0046】
[ダイナミックキャッシュピアの構成]
図10を参照して、ダイナミックキャッシュピアCPは、コンテンツ情報を記憶するためのコンテンツ管理データベース50と、コンテンツファイルを記憶するためのコンテンツデータベース51と、ダイナミックキャッシュピアCPの制御を司るダイナミックキャッシュピアアプリケーション52と、スタティックピアSP又は他のダイナミックキャッシュピアCPから所望のコンテンツファイルをダウンロードするダウンローダ53と、キャッシュネットワークCA又はレルムネットワークRL1〜RL5を構築するためのコンフィグレーションファイル54とを備える。
【0047】
ダイナミックキャッシュピアアプリケーション52は具体的には、あらかじめ設定されたクエリを発行してキャッシュセンタサーバCCからコンテンツリストを取得するクエリ発行部55と、ダウンローダ53を起動させる起動部56と、ダウンロードされたコンテンツに関するコンテンツ情報をコンテンツ管理データベース50に登録するとともに、キャッシュセンタサーバCC(第1レベルキャッシュのダイナミックキャッシュピアCP1,CP2の場合、キャッシュセンタサーバCC及びサブセンタサーバSC)に通知する登録部57と、ダイナミックキャッシュピアCPの動作状況をサブセンタサーバSC(第1レベルキャッシュのダイナミックキャッシュピアCP1,CP2の場合、サブセンタサーバSC及びキャッシュセンタサーバCC)に通知する通知部58と、当該レルムネットワーク内のダイナミックピアDP(第1レベルキャッシュのダイナミックキャッシュピアCP1,CP2の場合、キャッシュネットワークCA内の他のダイナミックキャッシュピアCP又は当該レルムネットワーク内のダイナミックピアDP)からの要求に応じて所望のコンテンツファイルをそのダイナミックピアDP(第1レベルキャッシュのダイナミックキャッシュピアCP1,CP2の場合、そのダイナミックキャッシュピアCP又はダイナミックピアDP)に転送する転送部59とを含む。
【0048】
[ダイナミックピアの構成]
図11を参照して、ダイナミックピアDPは、コンテンツ情報を記憶するためのコンテンツ管理データベース60と、コンテンツファイルを記憶するためのコンテンツデータベース61と、ダイナミックピアDPの制御を司るダイナミックピアアプリケーション62と、ダイナミックキャッシュピアCP又は他のダイナミックピアDPから所望のコンテンツファイルをダウンロードするダウンローダ63と、レルムネットワークRL1〜RL5を構築するためのコンフィグレーションファイル64と、所望のコンテンツファイルをコンテンツデータベース61から読み出してコンテンツを再生するプレーヤ65とを備える。
【0049】
ダイナミックピアアプリケーション62は具体的には、所望のクエリを発行してサブセンタサーバSCからコンテンツリストを取得するクエリ発行部66と、ダウンローダ63を起動させる起動部67と、ダウンロードされたコンテンツに関するコンテンツ情報をコンテンツ管理データベース60に登録する登録部68と、ダイナミックピアDPの動作状況をサブセンタサーバSCに通知する通知部69と、当該レルムネットワーク内の他のダイナミックピアDPからの要求に応じて所望のコンテンツファイルをコンテンツデータベース61から読み出してそのダイナミックピアDPに転送する転送部70とを含む。
【0050】
[ピアコンフィグレーション]
次の表1に、ピアCP,DP,SPに含まれるコンフィグレーションファイル43,54,64の構成を示す。ここでは、ピアのユニークID、ピア自身のURI、ピアの動作モード、アップロード可能なピアか否かのフラグ、ピアの動作状況を通知する先の上流側センタサーバのURI、コンテンツ情報を通知する先の上流側センタサーバのURI、ピアの動作状況を通知する先の下流側センタサーバのURI、コンテンツ情報を通知する先の下流側センタサーバのURI、コレクションルール(コンテンツの収集規則)などがあらかじめ登録される。以下の例では、ピアの動作状況の通知先とコンテンツ情報の通知先とに同じURIが設定されるが、異なるURIが設定されてもよい。
【表1】

【0051】
以下、図12に示すように、キャッシュネットワークCA及びレルムネットワークRL1,RL2を構築する場合に設定すべきコンフィグレーションの例を説明する。
【0052】
第1レベルキャッシュのダイナミックキャッシュピアCP1においては、たとえば表2に示すようにコンフィグレーションが設定される。ここでは、上流側センタサーバとしてキャッシュセンタサーバCCのURIが設定され、下流側センタサーバとしてサブセンタサーバSCのURIが設定される。
【表2】

【0053】
第2レベルキャッシュ以降のダイナミックキャッシュピアCP3においては、たとえば表3に示すようにコンフィグレーションが設定される。ここでは、上流側センタサーバとして上流側サブセンタサーバSCのURIが設定され、下流側センタサーバとして下流側サブセンタサーバSCのURIが設定される。
【表3】

【0054】
ダイナミックピアDPにおいては、たとえば表4及び表5に示すようにコンフィグレーションが設定される。ここでは、上流側センタサーバとしてサブセンタサーバSCのURIが設定されるが、下流側センタサーバには何もURIは設定されない。仮に何か設定されても無視される。
【表4】

【表5】

【0055】
なお、表4では、アップロード不可能なダイナミックピアDPとしてアップロード可能フラグが「0」に設定され、表5では、アップロード可能なダイナミックピアDPとしてアップロード可能フラグが「1」に設定されている。
【0056】
スタティックピアSPにおいては、たとえば表6に示すようにコンフィグレーションが設定される。ここでは、上流側センタサーバとしてキャッシュセンタサーバCCのURIが設定されるが、下流側センタサーバには何もURIは設定されない。仮に何か設定されても無視される。
【表6】

【0057】
ダイナミックピアDPのコンフィグレーションファイル64には一般に、コレクションルールとして、あらかじめ定められたスケジュール(番組表)が設定される。よって、ダイナミックピアDPはこのスケージュールに従ってクエリを発行する。
【0058】
ダイナミックキャッシュピアCPのコンフィグレーションファイル54には一般に、コレクションルールとして、スタティックピアSP又は他のダイナミックキャッシュピアCPのユニークIDが設定される。よって、ダイナミックキャッシュピアCPはミラーリングを行い、当該ピアのデータを全てコピーする。
【0059】
図2に示した例では、ダイナミックキャッシュピアCP1,CP2のコレクションルールとしてスタティックピアSPのユニークIDを設定すれば、ダイナミックキャッシュピアCP1,CP2はスタティックピアSPのコンテンツを全て収集し、これによりレルムネットワークRL1,RL4においてスタティックピアSPのキャッシュとして機能する。同様に、ダイナミックキャッシュピアCP3のコレクションルールとしてダイナミックキャッシュピアCP1のユニークIDを設定すれば、ダイナミックキャッシュピアCP3はレルムネットワークRL2においてダイナミックキャッシュピアCP1のキャッシュとして機能する。同様に、ダイナミックキャッシュピアCP5のコレクションルールとしてダイナミックキャッシュピアCP3のユニークIDを設定すれば、ダイナミックキャッシュピアCP5はレルムネットワークRL3においてダイナミックキャッシュピアCP3のキャッシュとして機能する。同様に、ダイナミックキャッシュピアCP4のコレクションルールとしてダイナミックキャッシュピアCP2のユニークIDを設定すれば、ダイナミックキャッシュピアCP4はレルムネットワークRL5においてダイナミックキャッシュピアCP2のキャッシュとして機能する。
【0060】
なお、コレクションルールは主として、ダイナミックキャッシュピアCPに上位のピアからミラーリングを行う場合に用いられるが、ダイナミックピアDP間でミラーリングを行う場合にも用いられる。
【0061】
その他、コレクションルールとして、監督や出演者の名前、ジャンル、制作国などを設定してもよい。たとえばある監督の名前をダイナミックピアDPに設定すると、ダイナミックピアDPはその監督の映画(コンテンツ)を自動的に収集する。また、たとえばあるジャンルをダイナミックキャッシュピアCPに設定すると、ダイナミックキャッシュピアCPはそのジャンルの映画を自動的に収集する。これにより、特定分野専用のダイナミックキャッシュピアCPを構築することも可能である。したがって、レルムネットワーク内で人気のある特定コンテンツを収集したダイナミックキャッシュピアCPを構築すれば、そのコンテンツを各ダイナミックピアDPに迅速に配信することができる。
【0062】
[ダイナミックピアの動作]
次に、ダイナミックピアDPの動作を図13を参照して説明する。ダイナミックピアDPは、ダイナミックピアアプリケーション62に従って、ダイナミックキャッシュピアCP又は他のダイナミックピアDPとサブセンタサーバSCとの間で所定の処理を実行する。
【0063】
まず、ダイナミックピアDPは、あらかじめ設定されたコレクションルールに基づいてクエリを発行し、サブセンタサーバSCに送信する(S301)。これに対し、サブセンタサーバSCは、ダイナミックピアDPから発行されたクエリに基づいてコンテンツリストを作成し、クエリを発行したダイナミックピアDPに返信する(S211)。
【0064】
コレクションルールは、ダイナミックピアDPごとに利用者の操作に応じてあらかじめ設定される。たとえば監督や主演の名前がコレクションルールとして利用者の好みに応じて設定される。この場合、サブセンタサーバSCは、監督や主演の名前でコンテンツ管理データベース20を検索し、該当する1又は2以上のコンテンツ情報レコードitemを抽出し、そのコンテンツ情報レコードitemを含むコンテンツリストを作成する。
【0065】
ダイナミックピアDPは、返信されたコンテンツリストに含まれるコンテンツ情報レコードitemの数だけ以下のステップS303〜S305を繰り返す(S302)。
【0066】
すなわち、ダイナミックピアDPは、当該コンテンツ情報レコードitemに含まれるコンテンツのユニークIDcuidを自身のコンテンツ管理データベース60に登録されているコンテンツのユニークIDcuidと照合し、既にダウンロードして保存しているコンテンツか否かを判断する(S303)。既存のコンテンツの場合(S303でYES)、ダイナミックピアDPは、ステップS302に戻り、チェックの対象を次のコンテンツ情報レコードitemに移す。
【0067】
一方、新規のコンテンツの場合(S303でNO)、ダイナミックピアDPは、当該コンテンツ情報レコードitemに含まれる1又は2以上のURIリストurilistの中から負荷値loadが最も小さい(負の負荷値を除く)URIリストurilistを選択し、それにより負荷が最も低いピアCP又はDPを選択する(S304)。
【0068】
その結果、ダウンロード可能なピアが存在しない場合(S305でNO)、ダイナミックピアDPは、ステップS302に戻り、チェックの対象を次のコンテンツ情報レコードitemに移す。
【0069】
一方、ダウンロード可能なピアが存在する場合(S305でYES)、ダイナミックピアDPは、選択したURIリストurilistに含まれるURIの数だけ以下のステップS307〜S312を繰り返す(S306)。
【0070】
すなわち、ダイナミックピアDPは、ダウンロード開始という動作状況dlstartをサブセンタサーバSCに送信する(S307)。これに対し、サブセンタサーバSCは、ダウンロード開始という動作状況dlstartをピア動作状況管理データベース21に登録し、かつ当該ダイナミックピアDPの負荷値を再計算し、コンテンツ管理データベース20及びピア負荷管理データベース23の負荷値loadを書き換える(S212)。
【0071】
続いて、ダイナミックピアDPはダウンローダ63を起動し、負荷が最も低いピアCP又はDPに当該コンテンツを要求してダウンロードを実行する(S308)。これに対し、当該他のピアCP又はDPは、要求されたコンテンツのファイルをダイナミックピアDPに送信する(S401)。
【0072】
その結果、ダウンロードに失敗した場合(S309でNO)、ダイナミックピアDPは、ダウンロード失敗という動作状況dlfailedをサブセンタサーバSCに送信する(S310)。これに対し、サブセンタサーバSCは、ダウンロード失敗という動作状況dlfailedをピア動作状況管理データベース21に登録し、かつ当該ダイナミックピアDPの負荷値を再計算し、コンテンツ管理データベース20及びピア負荷管理データベース23の負荷値loadを書き換える(S213)。
【0073】
一方、ダウンロードに成功した場合(S309でYES)、ダイナミックピアDPは、ダウンロード完了という動作状況dlcompletedをサブセンタサーバSCに送信する(S311)。これに対し、サブセンタサーバSCは、ダウンロード完了という動作状況dlcompletedをピア動作状況管理データベース21に登録し、かつ当該ダイナミックピアDPの負荷値を再計算し、コンテンツ管理データベース20及びピア負荷管理データベース23の負荷値loadを書き換える(S214)。
【0074】
以上のステップS307〜S311を当該コンテンツを分割した1又は2以上のファイルを全てダウンロードするまで繰り返す(S312)。
【0075】
続いて、ダイナミックピアDPは、ダウンロードを完了したコンテンツのURIリストurilistを整形する(S313)。具体的には、コンテンツのURIリストから他のピアのURIリストを削除して、自身のURIリストのみを登録する。これにより、コンテンツ情報の容量を小さくすることができ、新たにコンテンツをダウンロードしたピアのURIリストをコンテンツ管理データベース20に登録できる。
【0076】
続いて、ダイナミックピアDPは、ダウンロードしたコンテンツ及びそのコンテンツ情報をコンテンツデータベース61及びコンテンツ管理データベース60にそれぞれ登録する(S314)。
【0077】
続いて、ダイナミックピアDPは、登録されたコンテンツ情報をサブセンタサーバSCに送信する(S315)。これに対し、サブセンタサーバは、ダイナミックピアDPから送信されたコンテンツ情報をコンテンツ管理データベース20に登録する(S215)。
【0078】
[ダイナミックキャッシュピアの動作]
次に、ダイナミックキャッシュピアCPの動作を説明する。ダイナミックキャッシュピアCPの動作は、図13に示したダイナミックピアDPの動作と基本的に同じである。したがって、上記ダイナミックピアDPの動作説明中の「ダイナミックピア」を「ダイナミックキャッシュピア」と、「ダイナミックキャッシュピア」を「スタティックキャッシュピア」と、「サブセンタサーバ」を「キャッシュセンタサーバ」とそれぞれ読み替えることにより、上記説明をここに援用する。
【0079】
ダイナミックキャッシュピアCPは、ダイナミックキャッシュピアアプリケーション52に従って、スタティックピアSP又は他のダイナミックキャッシュピアCPとキャッシュセンタサーバCCとの間で図13に示した処理を実行する。ただし、第1レベルキャッシュであるダイナミックキャッシュピアCP1,CP2に限り、図13に示した処理に加え、図14に示した処理を実行する。すなわち、ダイナミックキャッシュピアCPは、登録されたコンテンツ情報をキャッシュセンタサーバCCに送信するとともに(S315)、同じコンテンツ情報をサブセンタサーバSCにも送信する(S316)。
【0080】
以上、本発明による実施の形態によれば、ダイナミックピアDPがレルムネットワークRN1〜RN5に分割され、各レルムネットワークはサブセンタサーバSCを有するP2Pシステムを構成しているので、各ダイナミックピアDPにかかる負荷を分散させることができる。その結果、ダイナミックピアDPの台数を容易に増加させることができる。
【0081】
サブセンタサーバSCもレルムネットワークRN1〜RN5に分割されるので、サブセンタサーバSCにかかる負荷も分散させることができる。
【0082】
また、キャッシュネットワークCAもキャッシュセンタサーバCCを有するP2Pシステムを構成しているので、スタティックピアSPにかかる負荷を軽減し、ダイナミックキャッシュピアCPに分散させることができる。
【0083】
なお、インターネットサービスプロバイダやキャリアといった組織単位でレルムネットワークを構築すれば、膨大なコンテンツファイルがプロバイダやキャリア間ではなく、プロバイダやキャリア内で転送されることになる。
【0084】
上記実施の形態では、キャッシュネットワークCAはP2Pシステムで構成されているが、クライアントサーバシステムで構成してもよい。この場合、キャッシュセンタサーバCCは不要で、スタティックピアSPをサーバとして機能させ、ダイナミックキャッシュピアCPをクライアントとして機能させればよい。
【0085】
以上、本発明の実施の形態を説明したが、上述した実施の形態は本発明を実施するための例示に過ぎない。よって、本発明は上述した実施の形態に限定されることなく、その趣旨を逸脱しない範囲内で上述した実施の形態を適宜変形して実施することが可能である。
【図面の簡単な説明】
【0086】
【図1】本発明の実施の形態によるP2Pコンテンツ配信システムの全体構成を示すネットワーク図である。
【図2】図1に示したP2Pコンテンツ配信システムの他の構成を示すネットワーク図である。
【図3】図1中のメインセンタサーバの構成を示す機能ブロック図である。
【図4】図1中のサブセンタサーバの構成を示す機能ブロック図である。
【図5】図4中のコンテンツ管理データベースの構成を示す図である。
【図6】図1中のセンタネットワークの構成を示すネットワーク図である。
【図7】図1中のレルムネットワークの構成を示すネットワーク図である。
【図8】図1中のキャッシュセンタサーバの構成を示す機能ブロック図である。
【図9】図1中のスタティックピアの構成を示す機能ブロック図である。
【図10】図1中のダイナミックキャッシュピアの構成を示す機能ブロック図である。
【図11】図1中のダイナミックピアの構成を示す機能ブロック図である。
【図12】図9〜図11に示したピア中のコンフィグレーションファイルに設定すべきURIを説明するためのコンテンツ配信システムのネットワーク図である。
【図13】図11に示したダイナミックピアの動作を示すフロー図である。
【図14】図10に示したダイナミックキャッシュピアの動作を示すフロー図である。
【符号の説明】
【0087】
10 グローバルピア動作履歴管理データベース
20,30,40,50,60 コンテンツ管理データベース
21 ピア動作状況管理データベース
22 ローカルピア動作履歴管理データベース
23 ピア負荷管理データベース
41,51,61 コンテンツデータベース
43,54,64 コンフィグレーションファイル
CE センタネットワーク
CA キャッシュネットワーク
RL1〜RL5 レルムネットワーク
MC メインセンタサーバ
SC サブセンタサーバ
CC キャッシュセンタサーバ
SP スタティックピア
CP,CP1〜CP5 ダイナミックキャッシュピア
DP1〜DP6 ダイナミックピア


【特許請求の範囲】
【請求項1】
スタティックピアと、
複数のレルムネットワークとを備え、
前記レルムネットワークの各々は、
センタサーバと、
前記スタティックピア及び前記センタサーバに接続されるダイナミックキャッシュピアと、
前記センタサーバ及び前記ダイナミックキャッシュピアに接続され、かつ相互に接続される複数のダイナミックピアとを含み、
前記スタティックピアは、
コンテンツファイルを記憶するための第1のコンテンツ記憶手段を含み、
前記センタサーバの各々は、
コンテンツの詳細及び所在に関するコンテンツ情報を記憶するための第1のコンテンツ情報記憶手段を含み、
前記ダイナミックキャッシュピアの各々は、
コンテンツファイルを記憶するための第2のコンテンツ記憶手段と、
前記スタティックピアからコンテンツファイルをダウンロードして前記第2のコンテンツ記憶手段に保存する第1のダウンロード手段とを含み、
前記ダイナミックピアの各々は、
コンテンツファイルを記憶するための第3のコンテンツ記憶手段と、
当該レルムネットワーク内のセンタサーバからコンテンツ情報を取得する手段と、
前記取得されたコンテンツ情報に基づいて当該レルムネットワーク内のダイナミックキャッシュピア又は他のダイナミックピアからコンテンツファイルをダウンロードして前記第3のコンテンツ記憶手段に保存する第2のダウンロード手段と、
前記第3のコンテンツ記憶手段からコンテンツファイルを読み出してコンテンツを再生する再生手段とを含むことを特徴とするピアツーピアコンテンツ配信システム。
【請求項2】
請求項1に記載のピアツーピアコンテンツ配信システムであってさらに、
キャッシュセンタサーバを備え、
前記スタティックピアは前記キャッシュセンタサーバに接続され、
前記複数のダイナミックキャッシュピアは前記キャッシュセンタサーバに接続され、かつ相互に接続され、
前記キャッシュセンタサーバは、
コンテンツ情報を記憶するための第2のコンテンツ情報記憶手段を含み、
前記ダイナミックキャッシュピアの各々はさらに、
前記キャッシュセンタサーバからコンテンツ情報を取得する手段を含み、
前記第1のダウンロード手段は、前記取得されたコンテンツ情報に基づいて前記スタティックピア又は他のダイナミックキャッシュピアからコンテンツファイルをダウンロードすることを特徴とするピアツーピアコンテンツ配信システム。
【請求項3】
請求項2に記載のピアツーピアコンテンツ配信システムであって、
前記ダイナミックピアの各々はさらに、
前記第2のダウンロード手段によりダウンロードされたコンテンツに関するコンテンツ情報を前記センタサーバに通知する手段を含み、
前記ダイナミックキャッシュピアの各々はさらに、
前記第1のダウンロード手段によりダウンロードされたコンテンツに関するコンテンツ情報を前記キャッシュセンタサーバ及び当該レルムネットワーク内のセンタサーバに通知する手段を含むことを特徴とするピアツーピアコンテンツ配信システム。
【請求項4】
メインセンタサーバと、
複数のレルムネットワークとを備え、
前記レルムネットワークの各々は、
前記メインセンタサーバに接続されるサブセンタサーバと、
前記サブセンタサーバに接続され、かつ相互に接続される複数のピアとを含み、
前記メインセンタサーバは、
ピア動作履歴を記憶するためのグローバルピア動作履歴記憶手段と、
前記グローバルピア動作履歴記憶手段に記憶されたピア動作履歴に基づいてコンテンツの利用料を算出する課金手段とを含み、
前記サブセンタサーバの各々は、
コンテンツの詳細及びコンテンツファイルの所在に関するコンテンツ情報を記憶するためのコンテンツ情報記憶手段と、
当該レルムネットワーク内の各ピアの動作状況の履歴を示すピア動作履歴を記憶するためのローカルピア動作履歴記憶手段と、
前記ローカルピア動作履歴記憶手段に記憶されたピア動作履歴を前記メインセンタサーバに通知するピア動作履歴通知手段とを含み、
前記ピアの各々は、
コンテンツファイルを記憶するためのコンテンツ記憶手段と、
前記サブセンタサーバからコンテンツ情報を取得するコンテンツ情報取得手段と、
前記コンテンツ情報取得手段により取得されたコンテンツ情報に基づいて当該レルムネットワーク内の他のピアからコンテンツファイルをダウンロードして前記コンテンツ記憶手段に保存するダウンロード手段と、
前記コンテンツ記憶手段からコンテンツファイルを読み出してコンテンツを再生する再生手段と、
自身の動作状況を前記サブセンタサーバに通知する動作状況通知手段とを含むことを特徴とするピアツーピアコンテンツ配信システム。

【図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

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate