説明

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

【課題】各ピアの負荷を分散させたピアツーピア型コンテンツ配信システムを提供する。
【解決手段】本システムは、コンテンツを相互に配信する多数のダイナミックピアDPと、コンテンツの配信を管理するセンタサーバCSとを備える。各ダイナミックピアDPは自身の動作状況をセンタサーバCSに通知し、センタサーバCSはその動作状況に基づいて各ダイナミックピアDPの負荷を計算し、登録する。各ダイナミックピアDPはセンタサーバCSからコンテンツリストを取得し、所望のコンテンツを所持している他のダイナミックピアDPを探し、負荷が最も低いダイナミックピアDPからコンテンツをダウンロードする。本システムはさらに、新規コンテンツを最初にアップロードするためのスタティックピアSPを備える。コンテンツはスタティックピアSPを起点に各ダイナミックピアDPに配信される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ピアツーピア(Peer to Peer)型コンテンツ配信システムに関し、さらに詳しくは、センタサーバを有するハイブリッド型コンテンツ配信システムに関する。
【背景技術】
【0002】
従来のクライアントサーバ型コンテンツ配信システムでは、コンテンツをサーバに保存しておき、各クライアントからの要求に応じてコンテンツを配信している。しかし、このシステムでは、クライアント数の増大に応じたサーバの強化が必須であり、運用及び管理コストの増大は避けられない。
【0003】
一方、近年隆盛を見せているピアツーピア型コンテンツ配信システムでは、コンテンツをピア間で配信するため、ファイルの転送負荷が各ピアに分散される。そのため、このシステムでは、クライアントサーバ型コンテンツ配信システムに比べ、はるかに多くのピア(クライアント)にコンテンツを配信することができる。
【0004】
しかし、現状のピアツーピア型コンテンツ配信システムでは、コンテンツの流通や利用状況を管理することが困難なため、コンテンツの著作権を侵害するおそれがある。センタサーバを持たない純粋なピアツーピア型コンテンツ配信システムとしては、「Gnutella」、「Winny」などが知られているが、いずれも著作権法上、重大な問題となっている。
【0005】
これに対し、センタサーバを有するピアツーピア型コンテンツ配信システムとしては、「Napster」などが知られている。これは、ピアツーピア型にクライアントサーバ型を組み合わせたハイブリッド型コンテンツ配信システムとも呼ばれている。
【特許文献1】特開2004−64769号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
本発明の1つの目的は、著作権保護を可能とするピアツーピア型コンテンツ配信システムを提供することである。
【0007】
本発明のもう1つの目的は、ファイルの転送負荷を分散させたピアツーピア型コンテンツ配信システムを提供することである。
【課題を解決するための手段及び発明の効果】
【0008】
本発明によるピアツーピア型コンテンツ配信システムは、センタサーバと、センタサーバに接続された複数の第1のピアとを備える。センタサーバは、第1のピアに保存されているコンテンツの詳細及び所在に関するコンテンツ情報と、第1のピアにかかる負荷に関する負荷情報とを記憶するためのグローバル記憶手段と、第1のピアから通知されたコンテンツ情報をグローバル記憶手段に登録するコンテンツ情報登録手段と、第1のピアから通知された動作状況に応じて第1のピアの負荷情報をグローバル記憶手段に登録する負荷情報登録手段と、第1のピアからの要求に応じてコンテンツ情報及び負荷情報を当該第1のピアに返信する手段とを含む。第1のピアの各々は、コンテンツを記憶するためのローカル記憶手段と、コンテンツ情報及び負荷情報をセンタサーバに要求して取得する手段と、取得されたコンテンツ情報に基づいて所望のコンテンツを保存している1又は2以上の当該他のピアを特定し、さらに取得された負荷情報に基づいて特定された1又は2以上の当該他のピアの中から負荷が最も低い1つのピアを特定する手段と、特定された1つのピアに所望のコンテンツを要求し、そのコンテンツを特定された1つのピアからダウンロードする手段と、ダウンロードされたコンテンツをローカル記憶手段に登録する手段と、登録されたコンテンツのコンテンツ情報をセンタサーバに通知する手段と、自身の動作状況をセンタサーバに通知する動作状況通知手段と、当該他のピアからの要求に応じて所望のコンテンツを当該他のピアにアップロードする手段とを含む。
【0009】
本システムでは、コンテンツ情報が各第1のピアからセンタサーバに収集され、各第1のピアに通知される。これにより、各第1のピアは所望のコンテンツを保存している他の第1のピアを知ることができるので、コンテンツは第1のピアから他の第1のピアにダウンロードされ、配信され得る。また、各第1のピアの動作状況はセンタサーバに収集されているため、著作権保護に配慮した秩序ある配信が可能となる。また、各第1のピアの負荷情報がセンタサーバから各第1のピアに通知される。これにより、各第1のピアは負荷が最も低い他の第1のピアを知ることができるので、コンテンツは負荷が最も低い第1のピアから他の第1のピアにダウンロードされ得る。その結果、コンテンツ配信に伴うファイルの転送負荷が分散される。
【0010】
ここでは、負荷が最も低いピアを1つ特定し、そのピアからコンテンツをダウンロードするようにしているが、単にピアの動作状況に基づいて1つのピアを特定し、そのピアからコンテンツをダウンロードするようにしてもよい。また、負荷情報に基づいてピアを特定するとき、負荷が最も低いピアに代えて、負荷がn(1以外の自然数)番目に低いピアを特定してもよい。すなわち、負荷情報に加え、たとえば動作状況に基づいて、可能な限り負荷の低いピアを特定してもよい。
【0011】
また、ピアの代わりにセンタサーバが負荷が最も低いピアを選択するようにしてもよい。すなわち、ここでいう「第1のピアがピアを特定する」場合には、センタサーバが負荷情報に基づいて負荷が最も低いピアを1つ予め特定して第1のピアに返信し、その結果、第1のピアがセンタサーバにより特定されたピアを特定する場合も含まれる。
【0012】
好ましくは、ピアツーピア型コンテンツ配信システムはさらに、センタサーバに接続された第2のピアを備える。第2のピアは、コンテンツを記憶するためのローカル記憶手段と、コンテンツをローカル記憶手段に登録する手段と、登録されたコンテンツのコンテンツ情報をセンタサーバに通知する手段と、自身の動作状況をセンタサーバに通知する動作状況通知手段と、第1のピアからの要求に応じて所望のコンテンツを当該第1のピアにアップロードする手段とを含む。コンテンツ情報登録手段は、第2のピアから通知されたコンテンツ情報をグローバル記憶手段に登録する。負荷情報登録手段は、第1のピアから通知された動作状況に応じて負荷情報をグローバル記憶手段に登録する。
【0013】
この場合、新規コンテンツを第2のピアにアップロードすれば、第2のピアを起点として新規コンテンツが各第1のピアに配信される。
【0014】
好ましくは、コンテンツ情報は、コンテンツの詳細に関するメタ情報と、コンテンツの所在に関するロケーション情報とを含む。ロケーション情報は、コンテンツを保存しているピアの識別情報と、そのピアの負荷情報とを有する。
【0015】
この場合、ピアの負荷情報はコンテンツ情報に付加されているため、第1のピアはコンテンツ情報を取得することにより、負荷が最も低い他の第1のピアを特定することができる。
【0016】
本発明によるセンタサーバは、上記ピアツーピア型コンテンツ配信システムにおけるセンタサーバである。本発明によるダイナミックピアは、上記ピアツーピア型コンテンツ配信システムにおける第1のピアである。本発明によるスタティックピアは、上記ピアツーピア型コンテンツ配信システムにおける第2のピアである。本発明によるピアツーピア型コンテンツ配信方法は、上記ピアツーピア型コンテンツ配信システムの動作方法である。本発明によるコンテンツ配信管理方法は、上記センタサーバの動作方法である。本発明によるセンタサーバ用コンピュータプログラムは、上記センタサーバを動作させるためのコンピュータプログラムである。本発明によるダイナミックピア用コンピュータプログラムは、上記ダイナミックピアを動作させるためのコンピュータプログラムである。本発明によるスタティックピア用コンピュータプログラムは、上記スタティックピアを動作させるためのコンピュータプログラムである。
【発明を実施するための最良の形態】
【0017】
以下、図面を参照し、本発明の実施の形態を詳しく説明する。図中同一又は相当部分には同一符号を付してその説明は繰り返さない。
【0018】
1.構成
図1を参照して、本発明の実施の形態によるピアツーピア型コンテンツ配信システムは、センタサーバCSと、多数のダイナミックピアDPとを備える。これらはインターネット等の電気通信回線(図示せず)を介して相互に接続される。コンテンツはダイナミックピアDP間で相互に転送され、各ダイナミックピアDPに配信される。したがって、コンテンツは各ダイナミックピアDPに保存され、センタサーバCSには保存されない。
【0019】
センタサーバCSはダイナミックピアDPによるコンテンツの配信を管理するために、各ダイナミックピアDPに保存されているコンテンツの詳細及び所在に関する情報(以下「コンテンツ情報」という。)を収集し、各ダイナミックピアDPに通知する。
【0020】
各ダイナミックピアDPは、自身が保存しているコンテンツに関するコンテンツ情報をセンタサーバCSに通知するとともに、所望のコンテンツに関するコンテンツ情報をセンタサーバCSから取得する。したがって、各ダイナミックピアDPはセンタサーバCSに対してクライアントとしても機能する。各ダイナミックピアDPは、センタサーバCSから取得したコンテンツ情報に基づいて、所望のコンテンツを他のダイナミックピアDPからダウンロードする。
【0021】
本システムはさらに、1又は2以上のスタティックピアSPを備える。スタティックピアSPはダイナミックピアDPと類似した機能を有するが、スタティックピアSPはコンテンツ配信の起点となるものであるから、所望のコンテンツに関するコンテンツ情報をセンタサーバCSから取得したり、所望のコンテンツを他のダイナミックピアDPからダウンロードしたりしない。各ダイナミックピアDPは、他のダイナミックピアDPからだけでなく、スタティックピアSPからも所望のコンテンツをダウンロードする。
【0022】
特に限定されないが、通常、センタサーバCSは、コンテンツを販売する複数の事業者により共同で運用される。各スタティックピアSPは、コンテンツを販売する一の事業者により運用される。ダイナミックピアDPは、コンテンツを購入する利用者によりそれぞれ運用される。すなわち、ダイナミックピアDPは利用者のパソコンであり、FTTH(Fiber To The Home)、ADSL(Asymmetric Digital Subscribe Line)、ケーブルテレビ(CATV)等の高速ブロードバンド通信によりインターネットに常時接続される。
【0023】
次に図2を参照して、本システムの具体的な構成を説明する。
【0024】
1.1.監視クライアント
本システムは、図1に示した構成に加え、本システムを監視する1又は2以上の監視クライアントMCを備える。特に限定されないが、各監視クライアントMCは、コンテンツを販売する一の事業者により運用される。
【0025】
監視クライアントMCは、各ダイナミックピアDPに配信すべき新規コンテンツをスタティックピアSPに登録する機能と、新規コンテンツのメタ情報を編集してスタティックピアSPに送信する機能とを有する。監視クライアントMCはまた、顧客データベース11を有し、センタサーバCSから報告されたコンテンツの配信状況に応じて課金処理を行う。
【0026】
1.2.センタサーバ
センタサーバCSは、グローバルデータベース21と、ピア動作管理インタフェース22と、コンテンツ管理インタフェース23と、データベースアプリケーション24とを備える。
【0027】
グローバルデータベース21は、ピア動作管理ログ25と、コンテンツ管理データベース26と、ピア動作状況データベース27と、ピア負荷管理データベース28とを含む。ピア動作管理ログ25は、ピアSP及びDPの動作履歴を記録する。コンテンツ管理データベース26は、ピアSP及びDPに保存されているコンテンツに関するコンテンツ情報を記憶する。ピア動作状況データベース27は、ピアSP及びDPの動作状況を記憶する。ピア負荷管理データベース28は、ピアSP及びDPにかかる負荷に関する負荷情報を記憶する。
【0028】
ピア動作管理インタフェース22は、ピアSP及びDPからそれらの動作状況(以下「ピア動作状況」という。)を受け付けるとともに、そのピア動作状況を監視クライアントMCに通知する。
【0029】
コンテンツ管理インタフェース23は、ピアSP及びDPからコンテンツ情報を受け付ける。コンテンツ管理インタフェース23はまた、ダイナミックピアDPから発行されたクエリを受け付けるとともに、そのクエリに応じて作成されたコンテンツリストをそのクエリを発行したダイナミックピアDPに返信する。
【0030】
データベースアプリケーション24は、ピア動作管理インタフェース22により受け付けられたピア動作状況をピア動作状況データベース27に登録するとともに、そのピア動作状況に基づいてピアSP及びDPにかかる負荷を算出し、算出した負荷に関する負荷情報をピア負荷管理データベース28に登録する。データベースアプリケーション24はまた、コンテンツ管理インタフェース23により受け付けられたコンテンツ情報をコンテンツ管理データベース26に登録する。データベースアプリケーション24はまた、コンテンツ管理インタフェース23により受け付けられたクエリに応じてコンテンツ管理データベース26及びピア負荷管理データベース28を検索し、抽出したコンテンツ情報及び負荷情報を含むコンテンツリストを作成する。
【0031】
1.3.スタティックピア
スタティックピアSPは、ローカルデータベース31と、コンテンツ編集インタフェース32と、スタティックピアアプリケーション33とを備える。
【0032】
ローカルデータベース31は、監視クライアントMCからリリースされた多数の新規コンテンツを記憶する。コンテンツ編集インタフェース32は、監視クライアントMCからアップロードされた新規コンテンツ及びそれに関するコンテンツ情報をローカルデータベース31に登録する。スタティックピアアプリケーション33は、登録された新規コンテンツのコンテンツ情報を新着情報としてセンタサーバCSに通知する。スタティックピアアプリケーション33はまた、ダイナミックピアDPからの要求に応じて所望のコンテンツを送信する。
【0033】
1.4.ダイナミックピア
ダイナミックピアDPは、ダウンローダ41、ローカルデータベース42と、再生アプリケーション43と、ダイナミックピアアプリケーション44とを備える。
【0034】
ダウンローダ41は、スタティックピアSP又は他のダイナミックピアDPから所望のコンテンツをダウンロードする。ローカルデータベース42は、ダウンロードされたコンテンツを記憶する。再生アプリケーション43は、ローカルデータベース42から所望のコンテンツをストリーミング方式で読み出し、そのコンテンツに基づいて音声や映像を再生する。
【0035】
ダイナミックピアアプリケーション44は、所望のコンテンツに関するコンテンツ情報及び負荷情報をセンタサーバCSに要求するためのクエリを発行するとともに、センタサーバCSから取得したコンテンツリストに基づいて所望のコンテンツに関するコンテンツ情報及び負荷情報をローカルデータベース42に登録する。ダイナミックピアアプリケーション44はまた、取得したコンテンツ情報及び負荷情報に基づいて所望のコンテンツを保存している1又は2以上のピアを特定し、さらにその中から負荷が最も低いピアを1つ特定する。ダイナミックピアアプリケーション44はまた、特定した1つのピアに所望のコンテンツを要求し、そのコンテンツをダウンロードするようダウンローダ41を起動する。ダイナミックピアアプリケーション44はまた、ダウンロードされたコンテンツをローカルデータベース42に登録する。ダイナミックピアアプリケーション44はまた、登録したコンテンツに関するコンテンツ情報及び自身の動作状況をセンタサーバCSに通知する。ダイナミックピアアプリケーション44はまた、他のダイナミックピアDPからの要求に応じて所望のコンテンツを送信する。ダイナミックピアアプリケーション44はさらに、利用者の操作に応じて所望のコンテンツをローカルデータベース42から削除する。
【0036】
1.5.コンテンツ管理データベースのレコード
コンテンツ管理データベース26のレコード構成を図3に示す。コンテンツ管理データベース26は、コンテンツの総数に相当する複数のコンテンツ情報レコードitemからなる。各コンテンツ情報レコードitemは、メタ情報と、1又は2以上のURIリストurilistとを有する。コンテンツ情報レコードitemの属性(Attribute)は、当該コンテンツのユニークIDcuidと、アイテムの種類class(映像、音楽など)とを有する。
【0037】
メタ情報は当該コンテンツの詳細を示し、たとえば当該コンテンツのタイトル、監督の名前、主演の名前を含む。URIリストurilistは当該コンテンツの所在を示すロケーション情報である。各コンテンツ情報レコードitemに含まれるURIリストurilistの数は、当該コンテンツを持っているピアSP,DPの数に等しい。URIリストurilistの属性は、当該コンテンツを持っているピアSP又はDPのユニークIDpuidと、そのピアSP又はDPの負荷値loadとを有する。
【0038】
各ピアSP,DPに保存されている1つのコンテンツは、1又は2以上のファイルに分割される。各URIリストurilistは、これらのファイルの所在を示す1又は2以上のURI(Uniform Resource Identifier)からなる。各URIの属性は、当該ファイルに対応するパーツ番号subidと、ファイルサイズsizeとを有する。
【0039】
1.6.コンテンツ管理データベース
コンテンツ管理データベース26の一例を図4に示す。コンテンツ管理データベース26は、コンテンツ情報レコードitemごとにメタ情報と1又は2以上のURIリストurilistとを有する。図4に示した例では、たとえば「cuid=1111…」のコンテンツは、「puid=aaaa…」のピアSP又はDPと、「puid=bbbb…」のピアSP又はDPと、「puid=cccc…」のピアSP又はDPと、「puid=dddd…」のピアSP又はDPと、「puid=eeee…」のピアSP又はDPとに保存されている。たとえば「puid=bbbb…」のピアSP又はDPは「75」の負荷値loadを有している。
【0040】
1.7.ローカルデータベース
ローカルデータベース31又は42の一例を図5に示す。ローカルデータベース31又は42は、コンテンツ情報レコードitemごとにメタ情報とURIリストurilistとを有する。図5に示した例は、「puid=bbbb…」のピアSP又はDPのローカルデータベース31又は42である。
【0041】
1.8.ピア動作状況データベース
ピア動作状況データベース27のレコード構成を図6に示す。ピア動作状況データベース27は、スタティックピアSP及びダイナミックピアDPの総数に相当する複数のピア動作状況レコードpeerinfoからなる。各ピア動作状況レコードpeerinfoは、当該ピアの動作状況を示すピア動作状況stateと、ピア動作状況stateの送信/受信時間timeとを有する。ピア動作状況レコードpeerinfoの属性は、当該ピアのユニークIDpuidと、当該ピアのバージョンversionとを有する。ピア動作状況stateは、当該ピアの電源オンonline、電源オフoffline、ダウンロード開始dlstart、ダウンロード完了dlcompleted、再生開始play、再生停止stop、新規コンテンツ登録registrationなどを含む。電源オンonline、電源オフofflineなどは、スタティックピアSP及びダイナミックピアDPに共通の動作状況である。ダウンロード開始dlstart、ダウンロード完了dlcompleted、再生開始play、再生停止stopなどは、ダイナミックピアDPに特有の動作状況である。新規コンテンツ登録registrationは、スタティックピアSPに特有の動作状況である。
【0042】
1.9.ピア負荷管理データベース
ピア負荷管理データベース28のレコード構成を図7に示す。ピア負荷管理データベース28は、スタティックピアSP及びダイナミックピアDPの総数に相当する複数の負荷情報レコードpeerからなる。各負荷情報レコードpeerは、当該ピアの負荷情報、具体的には、ピアの係数情報(スペック係数又はピアのタイプ(ダウンロード専用ピア、アップロード可能ピア)等)descriptionと、ピアのユニークIDpuidと、負荷基礎値の累算値(負荷値)loadとを含む。各負荷情報レコードpeerの属性は、当該ピアのユニークIDpuidと、当該ピアの負荷値loadとを有する。
【0043】
ピアのユニークIDpuid及びピアの負荷値loadのオリジナルデータはピア負荷管理データベース28に保存されるが、そのコピーデータは前述したようにコンテンツ管理データベース26にもURIリストurilistの属性として保存される。
【0044】
2.動作
以下、本システムの動作を説明する。
【0045】
2.1.新規コンテンツの登録
まず、新規コンテンツを登録するための動作を図8を参照して説明する。
【0046】
スタティックピアSPにおいて、コンテンツ編集アプリケーション32は、図3に示したコンテンツ情報レコードitemの各フィールドにメタ情報を入力する(S101)。ここでは、監視クライアントMCから送信されたメタ情報が入力されてもよく、既存のデータベース(図示せず)からインポートされたメタ情報が入力されてもよく、また、手作業でメタ情報が入力されてもよい。
【0047】
続いて、コンテンツ編集アプリケーション32は、監視クライアントMCからアップロードされた新規コンテンツ及びそのコンテンツ情報をローカルデータベース31に登録する(S102)。詳細は後述する(図10)。
【0048】
続いて、スタティックピアアプリケーション33は、登録されたコンテンツ情報をセンタサーバCSに送信する(S103)。これに対し、センタサーバCSにおいて、データベースアプリケーション24は、スタティックピアSPから送信されたコンテンツ情報をグローバルデータベース21内のコンテンツ管理データベース26に登録する(S201)。詳細は後述する(図11)。
【0049】
新規コンテンツの登録を完了すると(S104で)、スタティックピアアプリケーション33は、新規コンテンツ登録registrationという動作状況をセンタサーバCSに送信する(S105)。これに対し、センタサーバCSにおいて、データベースアプリケーション24は、新規コンテンツ登録registrationという動作状況をピア動作状況データベース27に登録する(S202)。
【0050】
2.2.コンテンツのダウンロード
次に、コンテンツをダウンロードするための動作を図9を参照して説明する。
【0051】
ダイナミックピアDPにおいて、ダイナミックピアアプリケーション44は、予め設定されたコレクションルールに基づいてクエリを発行し、センタサーバCSに送信する(S301)。これに対し、センタサーバCSにおいて、データベースアプリケーション24は、ダイナミックピアDPから発行されたクエリに基づいてコンテンツリストを作成し、クエリを発行したダイナミックピアDPに返信する(S211)。
【0052】
コレクションルールは、ダイナミックピアDPごとに利用者の操作に応じて予め設定される。たとえば監督や主演の名前がコレクションルールとして利用者の好みに応じて設定される。この場合、データベースアプリケーション24は、監督や主演の名前でコンテンツ管理データベース26を検索し、該当する1又は2以上のコンテンツ情報レコードitemを抽出し、そのコンテンツ情報レコードitemを含むコンテンツリストを作成する。
【0053】
ダイナミックピアアプリケーション44は、返信されたコンテンツリストに含まれるコンテンツ情報レコードitemの数だけ以下のステップS303〜S305を繰り返す(S302)。
【0054】
まず、ダイナミックピアアプリケーション44は、当該コンテンツ情報レコードitemに含まれるコンテンツのユニークIDcuidを自身のローカルデータベース42に登録されているコンテンツのユニークIDcuidと照合し、既にダウンロードして保存しているコンテンツか否かを判断する(S303)。既存のコンテンツの場合(S303でYES)、ダイナミックピアアプリケーション44は、ステップS302に戻り、チェックの対象を次のコンテンツ情報レコードitemに移す。
【0055】
一方、新規のコンテンツの場合(S303でNO)、ダイナミックピアアプリケーション44は、当該コンテンツ情報レコードitemに含まれる1又は2以上のURIリストurilistの中から負荷値loadが最も小さい(負の負荷値を除く)URIリストurilistを選択し、それにより負荷が最も低いピアSP又はDPを選択する(S304)。
【0056】
その結果、ダウンロード可能なピアが存在しない場合(S305でNO)、ダイナミックピアアプリケーション44は、ステップS302に戻り、チェックの対象を次のコンテンツ情報レコードitemに移す。
【0057】
一方、ダウンロード可能なピアが存在する場合(S305でYES)、ダイナミックピアアプリケーション44は、選択したURIリストurilistに含まれるURIの数だけ以下のステップS307〜S312を繰り返す(S306)。
【0058】
まず、ダイナミックピアアプリケーション44は、ダウンロード開始という動作状況dlstartをセンタサーバCSに送信する(S307)。これに対し、センタサーバCSにおいて、データベースアプリケーション24は、ダウンロード開始という動作状況dlstartをピア動作状況データベース27に登録し、かつ当該ダイナミックピアDPの負荷値を再計算し、コンテンツ管理データベース26及びピア負荷管理データベース28の負荷値loadを書き換える(S212)。
【0059】
続いて、ダイナミックピアアプリケーション44は、負荷が最も低いピアSP又はDPに当該コンテンツの送信を要求してダウンロードを実行する(S308)。これに対し、当該他のピアSP又はDPにおいて、スタティックピアアプリケーション33又はダイナミックピアアプリケーション44は、要求されたコンテンツをダイナミックピアDPに送信(アップロード)する(S401)。
【0060】
その結果、ダウンロードに失敗した場合(S309でNO)、ダイナミックピアアプリケーション44は、ダウンロード失敗という動作状況dlfailedをセンタサーバCSに送信する(S310)。これに対し、センタサーバCSにおいて、データベースアプリケーション24は、ダウンロード失敗という動作状況dlfailedをピア動作状況データベース27に登録し、かつ当該ダイナミックピアDPの負荷値を再計算し、コンテンツ管理データベース26及びピア負荷管理データベース28の負荷値loadを書き換える(S213)。
【0061】
一方、ダウンロードに成功した場合(S309でYES)、ダイナミックピアアプリケーション44は、ダウンロード完了という動作状況dlcompletedをセンタサーバCSに送信する(S311)。これに対し、センタサーバCSにおいて、データベースアプリケーション24は、ダウンロード完了という動作状況dlcompletedをピア動作状況データベース27に登録し、かつ当該ダイナミックピアDPの負荷値を再計算し、コンテンツ管理データベース26及びピア負荷管理データベース28の負荷値loadを書き換える(S214)。
【0062】
以上のステップS307〜S310を当該コンテンツを分割した1又は2以上のファイルを全てダウンロードするまで繰り返す(S312)。
【0063】
続いて、ダイナミックピアアプリケーション44は、ダウンロードを完了したコンテンツのURIリストurilistを整形する(S313)。具体的には、コンテンツのURIリストから他のピアのURIリストを削除して、自身のURIリストのみを登録する。これにより、コンテンツ情報の容量を小さくすることができ、新たにコンテンツをダウンロードしたピアのURIリストをコンテンツ管理データベース26に登録できる。
【0064】
続いて、ダイナミックピアアプリケーション44は、ダウンロードしたコンテンツ及びそのコンテンツ情報をローカルデータベース42に登録する(S314)。詳細は後述する(図10)。
【0065】
続いて、ダイナミックピアアプリケーション44は、登録されたコンテンツ情報をセンタサーバCSに送信する(S315)。これに対し、センタサーバCSにおいて、データベースアプリケーション24は、ダイナミックピアDPから送信されたコンテンツ情報をグローバルデータベース21内のコンテンツ管理データベース26に登録する(S215)。詳細は後述する(図11)。
【0066】
2.3.コンテンツの登録(ローカル)
ここで、上述したコンテンツの登録ステップS102及びS314の詳細を図10を参照してする。
【0067】
スタティックピアアプリケーション33又はダイナミックピアアプリケーション44は、当該コンテンツ情報レコードitemに含まれるコンテンツのユニークIDcuidを自身のローカルデータベース42に登録されているコンテンツのユニークIDcuidと照合し、既に存在するコンテンツか否かを判断する(S411)。既存のコンテンツの場合であって(S411でYES)、かつピアがスタティックピアSPの場合(S412でYES;図8に示した新規コンテンツ登録の場合)、古いコンテンツ情報レコードitemを新しいコンテンツ情報レコードitemで置き換え、これによりコンテンツ情報を更新する。既存のコンテンツの場合、通常はコンテンツ情報を書き換える必要はないが、既に登録されているメタ情報(たとえば監督の名前)が誤っている場合、このようにコンテンツ情報を書き換えることにより誤って登録されているメタ情報を訂正することができる。
【0068】
一方、新規のコンテンツの場合(S411でNO)、ピアアプリケーション33又は44は、当該コンテンツ情報レコードitemをローカルデータベース31又は42に追加する(S414)。
【0069】
2.4.コンテンツ情報の登録(グローバル)
次に、上述したコンテンツ情報の登録ステップS103及びS315の詳細を図11を参照して説明する。
【0070】
ピアアプリケーション33又は44は、当該コンテンツ情報レコードitemをセンタサーバCSに送信する(S421)。これに対し、センタサーバCSにおいて、データベースアプリケーション24は、当該コンテンツ情報レコードitemに含まれるコンテンツのユニークIDcuidをコンテンツ管理データベース26に登録されているコンテンツのユニークIDcuidと照合し、既に存在するコンテンツか否かを判断する(S221)。
【0071】
既存のコンテンツの場合(S221でYES)、データベースアプリケーション24は、当該コンテンツのユニークIDcuidでコンテンツ管理データベース26を検索し、当該ユニークIDcuidを有するコンテンツ情報レコードitemに、ピアSP又はDPから送信されたコンテンツ情報レコードitemのうちURIリストurilistだけを追加し、これにより当該コンテンツ情報レコードitemを更新する(S221)。
【0072】
一方、新規のコンテンツの場合(S221でNO)、データベースアプリケーション24は、ピアSP又はDPから送信されたコンテンツ情報レコードitemをそのままコンテンツ管理データベース26に追加する(S223)。
【0073】
コンテンツ情報レコードitemの更新又は追加後、データベースアプリケーション24は、コンテンツ情報レコードitemの更新又は追加に成功したか否かを判断し、その結果に応じて所定のリターンコードを当該ピアSP又はDPに返信する(S224)。これに対し、ピアSP又はDPにおいて、ピアアプリケーション33又は44は、センタサーバCSから送信されたリターンコードをチェックし(S422)、コンテンツ情報レコードitemの更新又は追加に失敗した場合、当該コンテンツ情報レコードitemの送信(S421)をリトライする。
【0074】
2.5.コンテンツのダウンロード例
ここで図12に示すように、4台のピア(スタティックピアSP又はダイナミックピアDP)A,B,C,Dが存在し、ピアD(ダイナミックピアDP)がコンテンツCをピアA,B,Cのいずれかからダウンロードしようとしていると仮定する。また、ピアAはADSLでインターネットに接続され、アップロード及び再生の実行中であり、ピアBはFTTHでインターネットに接続され、ダウンロード及び再生の実行中であり、ピアCはCATVでインターネットに接続され、再生の実行中であると仮定する。
【0075】
センタサーバCSは、図13に示されるような負荷計算パラメータテーブルを有する。このテーブルには、ピアSP,DPの負荷値loadを計算するために必要な種々のパラメータが予め登録されている。負荷値loadは次の式(1)により計算される。
【0076】
負荷値=負荷基礎値×回線品種係数×スペック係数×転送実績係数 …(1)
図12に示した例では、ピアAの負荷値loadは118(≒(40+30)×1.2×1.0×1.4)となり(図12中の値と矛盾しますが、100が最大値でしょうか?)、ピアBの負荷値loadは48(≒20+30)×0.8×1.0×1.2)となり、ピアCの負荷値loadは68(≒30×1.5×1.0×1.5)となる。
【0077】
負荷基礎値は、各ピアの動作状況(アップロード中、ダウンロード中、再生中)に応じて決定される数値である。センタサーバCSは、各ピアから通知されたピア動作状況に基づいて各ピアの負荷基礎値をピア負荷管理データベース28に登録する。
【0078】
具体的には、ダウンロード開始という動作状況dlstartを受けると、データベースアプリケーション24は、ダウンロード元ピア(コンテンツをアップロードするピア)の負荷基礎値を「40」増加させ、かつ動作状況の通知元ピア(コンテンツをダウンロードするピア)の基礎負荷値を「20」増加させる。また、ダウンロード完了という動作状況dlcompletedを受けると、データベースアプリケーション24は、ダウンロード元ピア(コンテンツをアップロードしたピア)の負荷基礎値を「40」減少させ、かつ動作状況の通知元ピア(コンテンツをダウンロードしたピア)の基礎負荷値を「20」減少させる。また、ダウンロード失敗という動作状況dlfailedを受けると、データベースアプリケーション24は、動作状況の通知元ピア(ダウンロードに失敗したピア)の基礎負荷値を「20」減少させ、かつダウンロード元ピアの基礎負荷値を「−1」に設定する。これによりダウンロード元ピアがオフラインで通信不可能であることを示す。
【0079】
また、再生開始という動作状況playを受けると、データベースアプリケーション24は、動作状況の通知元ピア(再生を開始したピア)の基礎負荷値を「30」増加させる。また、再生停止という動作状況stopを受けると、データベースアプリケーション24は、動作状況の通知元ピア(再生を停止したピア)の基礎負荷値を「30」減少させる。
【0080】
なお、図13に示したテーブルでは、発生し得るイベントとして3つしか示されていないが、早送り再生、一時停止(ポーズ)、その他のイベントを対応する負荷基礎値とともに追加してもよい。
【0081】
回線品種係数は、各ピアの接続回線に応じて予め設定される重み係数である。接続回線の品種(FTTH、ADSL、CABLE)によって転送速度が異なるためである。
【0082】
スペック係数は、各ピアのハードウェアスペック(CPUの処理能力、ディスクI/Oの能力など)に応じて予め設定される重み係数である。ここでは全てのピアは同じハードウェアスペックを有すると仮定し、スペック係数は一律に「1」に設定される。なお、iDCなどに設置されるファイル転送専用ピアと、一般家庭に設置されるピアとの違いについても、このスペック係数に反映させるようにしてもよい。
【0083】
転送実績係数は、実際にファイルを転送した過去の実績に基づいて決定される係数である。この係数は実績に基づいて自動的に変動させた方が負荷分散上は好ましいが、手動で変更することにより特定ピアの負荷を増減させることも可能である。
【0084】
以上の条件で、ピアDがコンテンツCをダウンロードする場合の動作を図14を参照して説明する。
【0085】
ピアDはクエリを発行し、センタサーバCSにコンテンツリスト50を要求する(S601)。センタサーバCSはこの要求に応じて、コンテンツ情報レコードitemのURIリストurilistの属性に現在登録されている負荷値loadを設定した上で、コンテンツリスト50をピアDに返信する(S501)。
【0086】
ピアDは、URIリストurilistの負荷値loadの中から負荷が最も低いピアBを選択する(S602)。ピアDは、ダウンロード開始という動作状況をセンタサーバCSに送信し(S603)、かつコンテンツCのダウンロードをピアBに要求する(S604)。
【0087】
センタサーバCSは、図13に示した負荷計算パラメータテーブルを参照して、コンテンツCをアップロードすることになったピアBの負荷基礎値を「40」増加させ、コンテンツCをダウンロードすることになったピアDの負荷基礎値を「20」増加させる(S502)。
【0088】
ダウンロード成功の場合、ピアBはコンテンツCの配信を開始する。つまり、ピアDはコンテンツCをピアBからダウンロードする。コンテンツCの配信を完了すると、ピアDはダウンロード完了という動作状況をセンタサーバCSに送信する(S605)。
【0089】
センタサーバCSは、ダウンロード完了という動作状況を受信すると、アップロードを完了したピアBの負荷基礎値を「40」減少させ、ダウンロードを完了したピアDの負荷基礎値を「20」減少させる(S503)。
【0090】
一方、ダウンロード失敗の場合、ピアDは接続の失敗やタイムアウトの発生によりダウンロードの失敗を認識し、ダウンロード失敗という動作状況をセンタサーバCSに送信する(S606)。
【0091】
センタサーバCSは、ダウンロード失敗という動作状況を受信すると、ダウンロード不可能なピアBの負荷基礎値を「−1」(オフライン状態)に設定し、ダウンロードに失敗したピアDの負荷基礎値を「20」減少させる(S504)。
【0092】
以上のように本発明の実施の形態によれば、コンテンツ情報レコードitemは各ピアSP,DPからセンタサーバCSに集められる。集められたコンテンツ情報レコードitemはダイナミックピアDPから発行されるクエリに応じてダイナミックピアDPに返信される。これにより、各ダイナミックピアDPは所望のコンテンツを所持している他のピアSP,DPのURIを取得し、そのピアSP,DPから所望のコンテンツをダウンロードする。コンテンツ情報レコードitemに含まれるURIリストurilistの属性にピアSP,DPの負荷値が設定されているため、各ダイナミックピアDPは負荷が最も低いピアSP,DPを特定し、そのピアSP,DPから所望のコンテンツをダウンロードする。したがって、特定のピアSP,DPにダウンロードの要求が集中することはなく、コンテンツのファイル転送負荷が分散される。また、各ダイナミックピアDPの動作状況がセンタサーバCSに報告されているため、著作権保護に配慮したコンテンツ配信が可能となる。
【0093】
上記の実施の形態では、ピアSP,DPのユニークIDpuid及びピアSP,DPの負荷値loadはコンテンツ管理データベース26にも保存されているが、少なくともピア負荷管理データベース28に保存されていればよい。
【0094】
上記実施の形態では、負荷が最も低いピアを1つ特定し、そのピアからコンテンツをダウンロードするようにしているが、たとえばアップロード中のピア以外のピアを1つ特定するなど、単にピアの動作状況に基づいて1つのピアを特定し、そのピアからコンテンツをダウンロードするようにしてもよい。さらに、動作状況に基づいて1つのピアを特定する場合、図13に示したパラメータのうち、動作状況に関連する負荷基礎値(アップロード、ダウンロード、再生、待機中等)のみに基づいて、すなわち、回線品種係数、スペック係数、転送実績係数を考慮しないで、その値が最も低いピアを特定するようにしてもよい。
【0095】
また、ダイナミックピアDPが負荷が最も低いピアを選択しているが(S304)、センタサーバCSが負荷が最も低いピアを選択するようにしてもよい。この場合、センタサーバCSからダイナミックピアDPに送信されるコンテンツリストには、負荷が最も低いピアのURIさえ含まれていれば足りる。より具体的には、上記S211において、センタサーバCSがコンテンツ管理データベース26及びピア負荷管理データベース28に基づいて負荷が最も低いピアを特定し、当該ピアのURIリストをコンテンツリストに含める。この場合、ダイナミックピアDPはセンタサーバCSによって特定されたピアを特定することになるが、これは負荷情報に基づいて、センタサーバによって特定された1つのピアをさらに特定したことを意味する。
【0096】
また、センタサーバCSが負荷が最も低いピアを1つまで絞り込むのではなく、ピアのURIを含むコンテンツ情報レコードitemを負荷の順番に並び替えたコンテンツリストをダイナミックピアDPに返信するようにしてもよい。この場合、ダイナミックピアDPはコンテンツリストの先頭のピアを特定すれば、負荷が最も低いピアを自動的に特定することができる。また、コンテンツ情報レコードitemを負荷の順番に並び替えた上でさらに、たとえば上位10個のコンテンツ情報レコードitemまで絞り込むようにしてもよい。この場合、コンテンツを記憶しているピアが多い場合であっても、コンテンツリストの容量が多くなり通信回線が混雑することを防止できる。
【0097】
さらに、上記実施形態では、コンテンツはダイナミックピアからの要求に応じて他のダイナミックピア又はスタティックピアから送信されているが、センタサーバの指示等に基づいて他のダイナミックピア又はスタティックピアから強制的にダイナミックピアに送信されるようにすることもできる。コンテンツ情報及び負荷情報もセンタサーバから強制的にダイナミックピアに返信されてもよい。
【0098】
以上、本発明の実施の形態を説明したが、上述した実施の形態は本発明を実施するための例示に過ぎない。よって、本発明は上述した実施の形態に限定されることなく、その趣旨を逸脱しない範囲内で上述した実施の形態を適宜変形して実施することが可能である。
【産業上の利用可能性】
【0099】
本発明によるピアツーピア型コンテンツ配信システムは、インターネット経由のコンテンツ配信サービスに利用可能である。
【図面の簡単な説明】
【0100】
【図1】本発明の実施の形態によるピアツーピア型コンテンツ配信システムの全体構成を示すネットワーク図である。
【図2】図1に示したピアツーピア型コンテンツ配信システムの具体的構成を示す機能ブロック図である。
【図3】図2中のコンテンツ管理データベースのレコード構成を示す図である。
【図4】図2中のコンテンツ管理データベースの一例を示す図である。
【図5】図2中のローカルデータベースの一例を示す図である。
【図6】図2中のピア動作状況データベースのレコード構成を示す図である。
【図7】図2中のピア負荷管理データベースのレコード構成を示す図である。
【図8】図2に示したピアツーピア型コンテンツ配信システムにおけるスタティックピアによる新規コンテンツの登録動作を示すフロー図である。
【図9】図2に示したピアツーピア型コンテンツ配信システムにおけるダイナミックピアによるコンテンツの配信動作を示すフロー図である。
【図10】図8又は図9中のコンテンツの登録動作(ローカル)の詳細を示すフロー図である。
【図11】図8又は図9中のコンテンツ情報の登録動作(グローバル)の詳細を示すフロー図である。
【図12】図2に示したピアツーピア型コンテンツ配信システムによるコンテンツの配信動作の一例を示す説明図である。
【図13】図12に示したセンタサーバに備えられる負荷計算パラメータテーブルを示す図である。
【図14】図12に示したピアツーピア型コンテンツ配信システムによるコンテンツの配信動作を示すフロー図である。
【符号の説明】
【0101】
21 グローバルデータベース
22 ピア動作管理インタフェース
23 コンテンツ管理インタフェース
24 データベースアプリケーション
25 ピア動作管理ログ
26 コンテンツ管理データベース
27 ピア動作状況データベース
28 ピア負荷管理データベース
31 ローカルデータベース
32 コンテンツ編集アプリケーション
32 コンテンツ編集インタフェース
33 スタティックピアアプリケーション
41 ダウンローダ
42 ローカルデータベース
43 再生アプリケーション
44 ダイナミックピアアプリケーション
50 コンテンツリスト
CS センタサーバ
DP ダイナミックピア
SP スタティックピア
item コンテンツ情報レコード
load 負荷値
peerinfo ピア動作状況レコード
urilist URIリスト

【特許請求の範囲】
【請求項1】
センタサーバと、前記センタサーバに接続された複数の第1のピアとを備えたピアツーピア型コンテンツ配信システムであって、
前記センタサーバは、
前記第1のピアに保存されているコンテンツの詳細及び所在に関するコンテンツ情報と、前記第1のピアにかかる負荷に関する負荷情報とを記憶するためのグローバル記憶手段と、
前記第1のピアから通知されたコンテンツ情報を前記グローバル記憶手段に登録するコンテンツ情報登録手段と、
前記第1のピアから通知された動作状況に応じて前記第1のピアの負荷情報を前記グローバル記憶手段に登録する負荷情報登録手段と、
前記第1のピアからの要求に応じて前記コンテンツ情報及び前記負荷情報を当該第1のピアに返信する手段とを含み、
前記第1のピアの各々は、
コンテンツを記憶するためのローカル記憶手段と、
前記コンテンツ情報及び前記負荷情報を前記センタサーバから取得する手段と、
前記取得されたコンテンツ情報に基づいて所望のコンテンツを保存している1又は2以上の当該他のピアを特定し、さらに前記取得された負荷情報に基づいて前記特定された1又は2以上の当該他のピアの中から1つのピアを特定する手段と、
所望のコンテンツを前記特定された1つのピアからダウンロードする手段と、
前記ダウンロードされたコンテンツを前記ローカル記憶手段に登録する手段と、
前記登録されたコンテンツのコンテンツ情報を前記センタサーバに通知する手段と、
自身の動作状況を前記センタサーバに通知する動作状況通知手段と、
所望のコンテンツを当該他のピアにアップロードする手段とを含むことを特徴とするピアツーピア型コンテンツ配信システム。
【請求項2】
請求項1に記載のピアツーピア型コンテンツ配信システムであってさらに、
前記センタサーバに接続された第2のピアを備え、
前記第2のピアは、
コンテンツを記憶するためのローカル記憶手段と、
コンテンツを前記ローカル記憶手段に登録する手段と、
前記登録されたコンテンツのコンテンツ情報を前記センタサーバに通知する手段と、
自身の動作状況を前記センタサーバに通知する動作状況通知手段と、
所望のコンテンツを当該第1のピアにアップロードする手段とを含み、
前記コンテンツ情報登録手段は、前記第2のピアから通知されたコンテンツ情報を前記グローバル記憶手段に登録し、
前記負荷情報登録手段は、前記第1のピアから通知された動作状況に応じて負荷情報を前記グローバル記憶手段に登録することを特徴とするピアツーピア型コンテンツ配信システム。
【請求項3】
請求項1又は請求項2に記載のピアツーピア型コンテンツ配信システムであって、
前記コンテンツ情報は、コンテンツの詳細に関するメタ情報と、コンテンツの所在に関するロケーション情報とを含み、
前記ロケーション情報は、コンテンツを保存しているピアの識別情報と、そのピアの負荷情報とを有することを特徴とするピアツーピア型コンテンツ配信システム。
【請求項4】
複数の第1のピアに接続可能なセンタサーバであって、
前記第1のピアに保存されているコンテンツの詳細及び所在に関するコンテンツ情報と、前記第1のピアにかかる負荷に関する負荷情報とを記憶するためのグローバル記憶手段と、
前記第1のピアから通知されたコンテンツ情報を前記グローバル記憶手段に登録するコンテンツ情報登録手段と、
前記第1のピアから通知された動作状況に応じて前記第1のピアの負荷情報を前記グローバル記憶手段に登録する負荷情報登録手段と、
前記コンテンツ情報及び前記負荷情報を当該第1のピアに返信する手段とを備えたことを特徴とするセンタサーバ。
【請求項5】
1又は2以上のダイナミックピアに接続されたセンタサーバに接続可能なダイナミックピアであって、
コンテンツを記憶するためのローカル記憶手段と、
前記ダイナミックピアに保存されているコンテンツの詳細及び所在に関するコンテンツ情報と、前記ダイナミックピアにかかる負荷に関する負荷情報とを前記センタサーバに要求して取得する手段と、
前記取得されたコンテンツ情報に基づいて所望のコンテンツを保存している1又は2以上の当該他のピアを特定し、さらに前記取得された負荷情報に基づいて前記特定された1又は2以上の当該他のピアの中から1つのピアを特定する手段と、
所望のコンテンツを前記特定された1つのピアからダウンロードする手段と、
前記ダウンロードされたコンテンツを前記ローカル記憶手段に登録する手段と、
前記登録されたコンテンツのコンテンツ情報を前記センタサーバに通知する手段と、
自身の動作状況を前記センタサーバに通知する手段と、
所望のコンテンツを当該他のダイナミックピアにアップロードする手段とを備えたことを特徴とするダイナミックピア。
【請求項6】
複数のダイナミックピアに接続されたセンタサーバに接続可能なスタティックピアであって、
コンテンツを記憶するためのローカル記憶手段と、
コンテンツを前記ローカル記憶手段に登録する手段と、
前記登録されたコンテンツのコンテンツ情報を前記センタサーバに通知する手段と、
自身の動作状況を前記センタサーバに通知する手段と、
所望のコンテンツを当該ダイナミックピアにアップロードする手段とを備えたことを特徴とするスタティックピア。
【請求項7】
複数の第1のピアに保存されているコンテンツの詳細及び所在に関するコンテンツ情報をセンタサーバに登録するステップと、
前記第1のピアから通知された動作状況に応じて前記第1のピアの負荷情報を前記センタサーバに登録するステップと、
前記登録されたコンテンツ情報及び負荷情報を前記センタサーバから当該第1のピアに返信するステップと、
前記センタサーバから当該第1のピアに返信されたコンテンツ情報に基づいて所望のコンテンツを保存している1又は2以上の当該他のピアを特定し、さらに前記センタサーバから当該第1のピアに返信された負荷情報に基づいて前記特定された1又は2以上の当該他のピアの中から1つのピアを特定するステップと、
所望のコンテンツを前記特定された1つのピアから当該第1のピアにダウンロードするステップと、
前記ダウンロードされたコンテンツを当該第1のピアに登録するステップと、
前記登録されたコンテンツのコンテンツ情報を当該第1のピアから前記センタサーバに通知するステップと、
前記第1のピアの動作状況を前記センタサーバに通知するステップとを含むことを特徴とするピアツーピア型コンテンツ配信方法。
【請求項8】
請求項7に記載のピアツーピア型コンテンツ配信方法であってさらに、
コンテンツを第2のピアに登録するステップと、
前記登録されたコンテンツのコンテンツ情報を前記第2のピアから前記センタサーバに通知するステップと、
前記第2のピアから通知されたコンテンツ情報を前記センタサーバに登録するステップと、
前記第2のピアの動作状況を前記第2のピアから前記センタサーバに通知するステップと、
前記第2のピアから通知された動作状況に応じて前記第2のピアの負荷情報を前記センタサーバに登録するステップとを含むことを特徴とするピアツーピア型コンテンツ配信方法。
【請求項9】
複数の第1のピアに接続可能なセンタサーバによるコンテンツ配信管理方法であって、
前記第1のピアに保存されているコンテンツの詳細及び所在に関するコンテンツ情報を前記センタサーバに登録するステップと、
前記第1のピアから通知された動作状況に応じて前記第1のピアの負荷情報を前記センタサーバに登録するステップと、
前記コンテンツ情報及び前記負荷情報を当該第1のピアに返信するステップとを含むことを特徴とするコンテンツ配信管理方法。
【請求項10】
複数のピアに接続可能なセンタサーバに、
前記ピアに保存されているコンテンツの詳細及び所在に関するコンテンツ情報を前記センタサーバに登録するステップと、
前記ピアから通知された動作状況に応じて前記ピアにかかる負荷に関する負荷情報を前記センタサーバに登録するステップと、
前記ピアからの要求に応じて前記コンテンツ情報及び前記負荷情報を当該ピアに返信するステップとを実行させるためのセンタサーバ用コンピュータプログラム。
【請求項11】
1又は2以上のダイナミックピアに接続されたセンタサーバに接続可能なダイナミックピアに、
前記ダイナミックピアに保存されているコンテンツの詳細及び所在に関するコンテンツ情報と、前記ダイナミックピアにかかる負荷に関する負荷情報とを前記センタサーバから取得するステップと、
前記取得されたコンテンツ情報に基づいて所望のコンテンツを保存している1又は2以上の当該他のピアを特定し、さらに前記取得された負荷情報に基づいて前記特定された1又は2以上の当該他のピアの中から1つのピアを特定するステップと、
所望のコンテンツを前記特定された1つのピアからダウンロードするステップと、
前記ダウンロードされたコンテンツを前記ダイナミックピアに登録するステップと、
前記登録されたコンテンツのコンテンツ情報を前記センタサーバに通知するステップと、
前記ダイナミックピアの動作状況を前記センタサーバに通知するステップと、
所望のコンテンツを当該他のダイナミックピアにアップロードするステップとを実行させるためのダイナミックピア用コンピュータプログラム。
【請求項12】
複数のダイナミックピアに接続されたセンタサーバに接続可能なスタティックピアに、
コンテンツを前記スタティックピアに登録するステップと、
前記登録されたコンテンツのコンテンツ情報を前記センタサーバに通知するステップと、
前記スタティックピアの動作状況を前記センタサーバに通知するステップと、
前記ダイナミックピアからの要求に応じて所望のコンテンツを当該ダイナミックピアにアップロードするステップとを実行させるためのスタティックピア用コンピュータプログラム。
【請求項13】
センタサーバと、前記センタサーバに接続された複数の第1のピアとを備えたピアツーピア型コンテンツ配信システムであって、
前記センタサーバは、
前記第1のピアに保存されているコンテンツの詳細及び所在に関するコンテンツ情報と、前記第1のピアの動作状況とを記憶するためのグローバル記憶手段と、
前記第1のピアから通知されたコンテンツ情報を前記グローバル記憶手段に登録するコンテンツ情報登録手段と、
前記第1のピアから通知された動作状況を前記グローバル記憶手段に登録する動作状況登録手段とを含み、
前記センタサーバ又は前記第1のピアの各々は、
前記コンテンツ情報に基づいて所望のコンテンツを保存している1又は2以上の当該他のピアを特定し、さらに前記動作状況に基づいて前記特定された1又は2以上の当該他のピアの中から1つのピアを特定する手段を含み、
前記第1のピアの各々は、
コンテンツを記憶するためのローカル記憶手段と、
所望のコンテンツを前記特定された1つのピアからダウンロードする手段と、
前記ダウンロードされたコンテンツを前記ローカル記憶手段に登録する手段と、
前記登録されたコンテンツのコンテンツ情報を前記センタサーバに通知する手段と、
自身の動作状況を前記センタサーバに通知する動作状況通知手段と、
所望のコンテンツを当該他のピアにアップロードする手段とを含むことを特徴とするピアツーピア型コンテンツ配信システム。
【請求項14】
複数の第1のピアに保存されているコンテンツの詳細及び所在に関するコンテンツ情報をセンタサーバに登録するステップと、
前記第1のピアから通知された動作状況を前記センタサーバに登録するステップと、
前記コンテンツ情報に基づいて所望のコンテンツを保存している1又は2以上の当該他のピアを特定し、さらに前記動作状況に基づいて前記特定された1又は2以上の当該他のピアの中から1つのピアを特定するステップと、
所望のコンテンツを前記特定された1つのピアから当該第1のピアにダウンロードするステップと、
前記ダウンロードされたコンテンツを当該第1のピアに登録するステップと、
前記登録されたコンテンツのコンテンツ情報を当該第1のピアから前記センタサーバに通知するステップと、
前記第1のピアの動作状況を前記センタサーバに通知するステップとを含むことを特徴とするピアツーピア型コンテンツ配信方法。
【請求項15】
複数の第1のピアに接続可能なセンタサーバであって、
前記第1のピアに保存されているコンテンツの詳細及び所在に関するコンテンツ情報と、前記第1のピアの動作状況とを記憶するためのグローバル記憶手段と、
前記第1のピアから通知されたコンテンツ情報を前記グローバル記憶手段に登録するコンテンツ情報登録手段と、
前記第1のピアから通知された動作状況を前記グローバル記憶手段に登録する動作状況登録手段とを含むことを特徴とするセンタサーバ。
【請求項16】
1又は2以上のダイナミックピアに接続されたセンタサーバに接続可能なダイナミックピアであって、
コンテンツを記憶するためのローカル記憶手段と、
所望のコンテンツを特定された1つのピアからダウンロードする手段と、
前記ダウンロードされたコンテンツを前記ローカル記憶手段に登録する手段と、
前記登録されたコンテンツのコンテンツ情報を前記センタサーバに通知する手段と、
自身の動作状況を前記センタサーバに通知する動作状況通知手段と、
所望のコンテンツを当該他のピアにアップロードする手段とを含むことを特徴とするダイナミックピア。
【請求項17】
1又は2以上のダイナミックピアに接続されたセンタサーバに接続可能なダイナミックピアに、
所望のコンテンツを特定された1つのピアからダウンロードするステップと、
前記ダウンロードされたコンテンツを前記ローカル記憶手段に登録するステップと、
前記登録されたコンテンツのコンテンツ情報を前記センタサーバに通知するステップと、
自身の動作状況を前記センタサーバに通知するステップと、
所望のコンテンツを当該他のピアにアップロードするステップとを実行させるためのダイナミックピア用コンピュータプログラム。

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


【公開番号】特開2006−72432(P2006−72432A)
【公開日】平成18年3月16日(2006.3.16)
【国際特許分類】
【出願番号】特願2004−251541(P2004−251541)
【出願日】平成16年8月31日(2004.8.31)
【出願人】(000000273)オンキヨー株式会社 (502)
【Fターム(参考)】