(57)【要約】【課題】各ピアの負荷を分散させたピアツーピア型コンテンツ配信システムを提供する。【解決手段】本システムは、コンテンツを相互に配信する多数のダイナミックピアＤＰと、コンテンツの配信を管理するセンタサーバＣＳとを備える。各ダイナミックピアＤＰは自身の動作状況をセンタサーバＣＳに通知し、センタサーバＣＳはその動作状況に基づいて各ダイナミックピアＤＰの負荷を計算し、登録する。各ダイナミックピアＤＰはセンタサーバＣＳからコンテンツリストを取得し、所望のコンテンツを所持している他のダイナミックピアＤＰを探し、負荷が最も低いダイナミックピアＤＰからコンテンツをダウンロードする。本システムはさらに、新規コンテンツを最初にアップロードするためのスタティックピアＳＰを備える。コンテンツはスタティックピアＳＰを起点に各ダイナミックピアＤＰに配信される。【選択図】図２
2006072432.tif 000002
【特許請求の範囲】
【請求項１】
センタサーバと、前記センタサーバに接続された複数の第１のピアとを備えたピアツーピア型コンテンツ配信システムであって、
前記センタサーバは、
前記第１のピアに保存されているコンテンツの詳細及び所在に関するコンテンツ情報と、前記第１のピアにかかる負荷に関する負荷情報とを記憶するためのグローバル記憶手段と、
前記第１のピアから通知されたコンテンツ情報を前記グローバル記憶手段に登録するコンテンツ情報登録手段と、
前記第１のピアから通知された動作状況に応じて前記第１のピアの負荷情報を前記グローバル記憶手段に登録する負荷情報登録手段と、
前記第１のピアからの要求に応じて前記コンテンツ情報及び前記負荷情報を当該第１のピアに返信する手段とを含み、
前記第１のピアの各々は、
コンテンツを記憶するためのローカル記憶手段と、
前記コンテンツ情報及び前記負荷情報を前記センタサーバから取得する手段と、
前記取得されたコンテンツ情報に基づいて所望のコンテンツを保存している１又は２以上の当該他のピアを特定し、さらに前記取得された負荷情報に基づいて前記特定された１又は２以上の当該他のピアの中から１つのピアを特定する手段と、
所望のコンテンツを前記特定された１つのピアからダウンロードする手段と、
前記ダウンロードされたコンテンツを前記ローカル記憶手段に登録する手段と、
前記登録されたコンテンツのコンテンツ情報を前記センタサーバに通知する手段と、
自身の動作状況を前記センタサーバに通知する動作状況通知手段と、
所望のコンテンツを当該他のピアにアップロードする手段とを含むことを特徴とするピアツーピア型コンテンツ配信システム。
【請求項２】
請求項１に記載のピアツーピア型コンテンツ配信システムであってさらに、
前記センタサーバに接続された第２のピアを備え、
前記第２のピアは、
コンテンツを記憶するためのローカル記憶手段と、
コンテンツを前記ローカル記憶手段に登録する手段と、
前記登録されたコンテンツのコンテンツ情報を前記センタサーバに通知する手段と、
自身の動作状況を前記センタサーバに通知する動作状況通知手段と、
所望のコンテンツを当該第１のピアにアップロードする手段とを含み、
前記コンテンツ情報登録手段は、前記第２のピアから通知されたコンテンツ情報を前記グローバル記憶手段に登録し、
前記負荷情報登録手段は、前記第１のピアから通知された動作状況に応じて負荷情報を前記グローバル記憶手段に登録することを特徴とするピアツーピア型コンテンツ配信システム。
【請求項３】
請求項１又は請求項２に記載のピアツーピア型コンテンツ配信システムであって、
前記コンテンツ情報は、コンテンツの詳細に関するメタ情報と、コンテンツの所在に関するロケーション情報とを含み、
前記ロケーション情報は、コンテンツを保存しているピアの識別情報と、そのピアの負荷情報とを有することを特徴とするピアツーピア型コンテンツ配信システム。
【請求項４】
複数の第１のピアに接続可能なセンタサーバであって、
前記第１のピアに保存されているコンテンツの詳細及び所在に関するコンテンツ情報と、前記第１のピアにかかる負荷に関する負荷情報とを記憶するためのグローバル記憶手段と、
前記第１のピアから通知されたコンテンツ情報を前記グローバル記憶手段に登録するコンテンツ情報登録手段と、
前記第１のピアから通知された動作状況に応じて前記第１のピアの負荷情報を前記グローバル記憶手段に登録する負荷情報登録手段と、
前記コンテンツ情報及び前記負荷情報を当該第１のピアに返信する手段とを備えたことを特徴とするセンタサーバ。
【請求項５】
１又は２以上のダイナミックピアに接続されたセンタサーバに接続可能なダイナミックピアであって、
コンテンツを記憶するためのローカル記憶手段と、
前記ダイナミックピアに保存されているコンテンツの詳細及び所在に関するコンテンツ情報と、前記ダイナミックピアにかかる負荷に関する負荷情報とを前記センタサーバに要求して取得する手段と、
前記取得されたコンテンツ情報に基づいて所望のコンテンツを保存している１又は２以上の当該他のピアを特定し、さらに前記取得された負荷情報に基づいて前記特定された１又は２以上の当該他のピアの中から１つのピアを特定する手段と、
所望のコンテンツを前記特定された１つのピアからダウンロードする手段と、
前記ダウンロードされたコンテンツを前記ローカル記憶手段に登録する手段と、
前記登録されたコンテンツのコンテンツ情報を前記センタサーバに通知する手段と、
自身の動作状況を前記センタサーバに通知する手段と、
所望のコンテンツを当該他のダイナミックピアにアップロードする手段とを備えたことを特徴とするダイナミックピア。
【請求項６】
複数のダイナミックピアに接続されたセンタサーバに接続可能なスタティックピアであって、
コンテンツを記憶するためのローカル記憶手段と、
コンテンツを前記ローカル記憶手段に登録する手段と、
前記登録されたコンテンツのコンテンツ情報を前記センタサーバに通知する手段と、
自身の動作状況を前記センタサーバに通知する手段と、
所望のコンテンツを当該ダイナミックピアにアップロードする手段とを備えたことを特徴とするスタティックピア。
【請求項７】
複数の第１のピアに保存されているコンテンツの詳細及び所在に関するコンテンツ情報をセンタサーバに登録するステップと、
前記第１のピアから通知された動作状況に応じて前記第１のピアの負荷情報を前記センタサーバに登録するステップと、
前記登録されたコンテンツ情報及び負荷情報を前記センタサーバから当該第１のピアに返信するステップと、
前記センタサーバから当該第１のピアに返信されたコンテンツ情報に基づいて所望のコンテンツを保存している１又は２以上の当該他のピアを特定し、さらに前記センタサーバから当該第１のピアに返信された負荷情報に基づいて前記特定された１又は２以上の当該他のピアの中から１つのピアを特定するステップと、
所望のコンテンツを前記特定された１つのピアから当該第１のピアにダウンロードするステップと、
前記ダウンロードされたコンテンツを当該第１のピアに登録するステップと、
前記登録されたコンテンツのコンテンツ情報を当該第１のピアから前記センタサーバに通知するステップと、
前記第１のピアの動作状況を前記センタサーバに通知するステップとを含むことを特徴とするピアツーピア型コンテンツ配信方法。
【請求項８】
請求項７に記載のピアツーピア型コンテンツ配信方法であってさらに、
コンテンツを第２のピアに登録するステップと、
前記登録されたコンテンツのコンテンツ情報を前記第２のピアから前記センタサーバに通知するステップと、
前記第２のピアから通知されたコンテンツ情報を前記センタサーバに登録するステップと、
前記第２のピアの動作状況を前記第２のピアから前記センタサーバに通知するステップと、
前記第２のピアから通知された動作状況に応じて前記第２のピアの負荷情報を前記センタサーバに登録するステップとを含むことを特徴とするピアツーピア型コンテンツ配信方法。
【請求項９】
複数の第１のピアに接続可能なセンタサーバによるコンテンツ配信管理方法であって、
前記第１のピアに保存されているコンテンツの詳細及び所在に関するコンテンツ情報を前記センタサーバに登録するステップと、
前記第１のピアから通知された動作状況に応じて前記第１のピアの負荷情報を前記センタサーバに登録するステップと、
前記コンテンツ情報及び前記負荷情報を当該第１のピアに返信するステップとを含むことを特徴とするコンテンツ配信管理方法。
【請求項１０】
複数のピアに接続可能なセンタサーバに、
前記ピアに保存されているコンテンツの詳細及び所在に関するコンテンツ情報を前記センタサーバに登録するステップと、
前記ピアから通知された動作状況に応じて前記ピアにかかる負荷に関する負荷情報を前記センタサーバに登録するステップと、
前記ピアからの要求に応じて前記コンテンツ情報及び前記負荷情報を当該ピアに返信するステップとを実行させるためのセンタサーバ用コンピュータプログラム。
【請求項１１】
１又は２以上のダイナミックピアに接続されたセンタサーバに接続可能なダイナミックピアに、
前記ダイナミックピアに保存されているコンテンツの詳細及び所在に関するコンテンツ情報と、前記ダイナミックピアにかかる負荷に関する負荷情報とを前記センタサーバから取得するステップと、
前記取得されたコンテンツ情報に基づいて所望のコンテンツを保存している１又は２以上の当該他のピアを特定し、さらに前記取得された負荷情報に基づいて前記特定された１又は２以上の当該他のピアの中から１つのピアを特定するステップと、
所望のコンテンツを前記特定された１つのピアからダウンロードするステップと、
前記ダウンロードされたコンテンツを前記ダイナミックピアに登録するステップと、
前記登録されたコンテンツのコンテンツ情報を前記センタサーバに通知するステップと、
前記ダイナミックピアの動作状況を前記センタサーバに通知するステップと、
所望のコンテンツを当該他のダイナミックピアにアップロードするステップとを実行させるためのダイナミックピア用コンピュータプログラム。
【請求項１２】
複数のダイナミックピアに接続されたセンタサーバに接続可能なスタティックピアに、
コンテンツを前記スタティックピアに登録するステップと、
前記登録されたコンテンツのコンテンツ情報を前記センタサーバに通知するステップと、
前記スタティックピアの動作状況を前記センタサーバに通知するステップと、
前記ダイナミックピアからの要求に応じて所望のコンテンツを当該ダイナミックピアにアップロードするステップとを実行させるためのスタティックピア用コンピュータプログラム。
【請求項１３】
センタサーバと、前記センタサーバに接続された複数の第１のピアとを備えたピアツーピア型コンテンツ配信システムであって、
前記センタサーバは、
前記第１のピアに保存されているコンテンツの詳細及び所在に関するコンテンツ情報と、前記第１のピアの動作状況とを記憶するためのグローバル記憶手段と、
前記第１のピアから通知されたコンテンツ情報を前記グローバル記憶手段に登録するコンテンツ情報登録手段と、
前記第１のピアから通知された動作状況を前記グローバル記憶手段に登録する動作状況登録手段とを含み、
前記センタサーバ又は前記第１のピアの各々は、
前記コンテンツ情報に基づいて所望のコンテンツを保存している１又は２以上の当該他のピアを特定し、さらに前記動作状況に基づいて前記特定された１又は２以上の当該他のピアの中から１つのピアを特定する手段を含み、
前記第１のピアの各々は、
コンテンツを記憶するためのローカル記憶手段と、
所望のコンテンツを前記特定された１つのピアからダウンロードする手段と、
前記ダウンロードされたコンテンツを前記ローカル記憶手段に登録する手段と、
前記登録されたコンテンツのコンテンツ情報を前記センタサーバに通知する手段と、
自身の動作状況を前記センタサーバに通知する動作状況通知手段と、
所望のコンテンツを当該他のピアにアップロードする手段とを含むことを特徴とするピアツーピア型コンテンツ配信システム。
【請求項１４】
複数の第１のピアに保存されているコンテンツの詳細及び所在に関するコンテンツ情報をセンタサーバに登録するステップと、
前記第１のピアから通知された動作状況を前記センタサーバに登録するステップと、
前記コンテンツ情報に基づいて所望のコンテンツを保存している１又は２以上の当該他のピアを特定し、さらに前記動作状況に基づいて前記特定された１又は２以上の当該他のピアの中から１つのピアを特定するステップと、
所望のコンテンツを前記特定された１つのピアから当該第１のピアにダウンロードするステップと、
前記ダウンロードされたコンテンツを当該第１のピアに登録するステップと、
前記登録されたコンテンツのコンテンツ情報を当該第１のピアから前記センタサーバに通知するステップと、
前記第１のピアの動作状況を前記センタサーバに通知するステップとを含むことを特徴とするピアツーピア型コンテンツ配信方法。
【請求項１５】
複数の第１のピアに接続可能なセンタサーバであって、
前記第１のピアに保存されているコンテンツの詳細及び所在に関するコンテンツ情報と、前記第１のピアの動作状況とを記憶するためのグローバル記憶手段と、
前記第１のピアから通知されたコンテンツ情報を前記グローバル記憶手段に登録するコンテンツ情報登録手段と、
前記第１のピアから通知された動作状況を前記グローバル記憶手段に登録する動作状況登録手段とを含むことを特徴とするセンタサーバ。
【請求項１６】
１又は２以上のダイナミックピアに接続されたセンタサーバに接続可能なダイナミックピアであって、
コンテンツを記憶するためのローカル記憶手段と、
所望のコンテンツを特定された１つのピアからダウンロードする手段と、
前記ダウンロードされたコンテンツを前記ローカル記憶手段に登録する手段と、
前記登録されたコンテンツのコンテンツ情報を前記センタサーバに通知する手段と、
自身の動作状況を前記センタサーバに通知する動作状況通知手段と、
所望のコンテンツを当該他のピアにアップロードする手段とを含むことを特徴とするダイナミックピア。
【請求項１７】
１又は２以上のダイナミックピアに接続されたセンタサーバに接続可能なダイナミックピアに、
所望のコンテンツを特定された１つのピアからダウンロードするステップと、
前記ダウンロードされたコンテンツを前記ローカル記憶手段に登録するステップと、
前記登録されたコンテンツのコンテンツ情報を前記センタサーバに通知するステップと、
自身の動作状況を前記センタサーバに通知するステップと、
所望のコンテンツを当該他のピアにアップロードするステップとを実行させるためのダイナミックピア用コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ピアツーピア(Peer to Peer)型コンテンツ配信システムに関し、さらに詳しくは、センタサーバを有するハイブリッド型コンテンツ配信システムに関する。
【背景技術】
【０００２】
従来のクライアントサーバ型コンテンツ配信システムでは、コンテンツをサーバに保存しておき、各クライアントからの要求に応じてコンテンツを配信している。しかし、このシステムでは、クライアント数の増大に応じたサーバの強化が必須であり、運用及び管理コストの増大は避けられない。
【０００３】
一方、近年隆盛を見せているピアツーピア型コンテンツ配信システムでは、コンテンツをピア間で配信するため、ファイルの転送負荷が各ピアに分散される。そのため、このシステムでは、クライアントサーバ型コンテンツ配信システムに比べ、はるかに多くのピア（クライアント）にコンテンツを配信することができる。
【０００４】
しかし、現状のピアツーピア型コンテンツ配信システムでは、コンテンツの流通や利用状況を管理することが困難なため、コンテンツの著作権を侵害するおそれがある。センタサーバを持たない純粋なピアツーピア型コンテンツ配信システムとしては、「Gnutella」、「Winny」などが知られているが、いずれも著作権法上、重大な問題となっている。
【０００５】
これに対し、センタサーバを有するピアツーピア型コンテンツ配信システムとしては、「Napster」などが知られている。これは、ピアツーピア型にクライアントサーバ型を組み合わせたハイブリッド型コンテンツ配信システムとも呼ばれている。
【特許文献１】特開２００４−６４７６９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明の１つの目的は、著作権保護を可能とするピアツーピア型コンテンツ配信システムを提供することである。
【０００７】
本発明のもう１つの目的は、ファイルの転送負荷を分散させたピアツーピア型コンテンツ配信システムを提供することである。
【課題を解決するための手段及び発明の効果】
【０００８】
本発明によるピアツーピア型コンテンツ配信システムは、センタサーバと、センタサーバに接続された複数の第１のピアとを備える。センタサーバは、第１のピアに保存されているコンテンツの詳細及び所在に関するコンテンツ情報と、第１のピアにかかる負荷に関する負荷情報とを記憶するためのグローバル記憶手段と、第１のピアから通知されたコンテンツ情報をグローバル記憶手段に登録するコンテンツ情報登録手段と、第１のピアから通知された動作状況に応じて第１のピアの負荷情報をグローバル記憶手段に登録する負荷情報登録手段と、第１のピアからの要求に応じてコンテンツ情報及び負荷情報を当該第１のピアに返信する手段とを含む。第１のピアの各々は、コンテンツを記憶するためのローカル記憶手段と、コンテンツ情報及び負荷情報をセンタサーバに要求して取得する手段と、取得されたコンテンツ情報に基づいて所望のコンテンツを保存している１又は２以上の当該他のピアを特定し、さらに取得された負荷情報に基づいて特定された１又は２以上の当該他のピアの中から負荷が最も低い１つのピアを特定する手段と、特定された１つのピアに所望のコンテンツを要求し、そのコンテンツを特定された１つのピアからダウンロードする手段と、ダウンロードされたコンテンツをローカル記憶手段に登録する手段と、登録されたコンテンツのコンテンツ情報をセンタサーバに通知する手段と、自身の動作状況をセンタサーバに通知する動作状況通知手段と、当該他のピアからの要求に応じて所望のコンテンツを当該他のピアにアップロードする手段とを含む。
【０００９】
本システムでは、コンテンツ情報が各第１のピアからセンタサーバに収集され、各第１のピアに通知される。これにより、各第１のピアは所望のコンテンツを保存している他の第１のピアを知ることができるので、コンテンツは第１のピアから他の第１のピアにダウンロードされ、配信され得る。また、各第１のピアの動作状況はセンタサーバに収集されているため、著作権保護に配慮した秩序ある配信が可能となる。また、各第１のピアの負荷情報がセンタサーバから各第１のピアに通知される。これにより、各第１のピアは負荷が最も低い他の第１のピアを知ることができるので、コンテンツは負荷が最も低い第１のピアから他の第１のピアにダウンロードされ得る。その結果、コンテンツ配信に伴うファイルの転送負荷が分散される。
【００１０】
ここでは、負荷が最も低いピアを１つ特定し、そのピアからコンテンツをダウンロードするようにしているが、単にピアの動作状況に基づいて１つのピアを特定し、そのピアからコンテンツをダウンロードするようにしてもよい。また、負荷情報に基づいてピアを特定するとき、負荷が最も低いピアに代えて、負荷がｎ（１以外の自然数）番目に低いピアを特定してもよい。すなわち、負荷情報に加え、たとえば動作状況に基づいて、可能な限り負荷の低いピアを特定してもよい。
【００１１】
また、ピアの代わりにセンタサーバが負荷が最も低いピアを選択するようにしてもよい。すなわち、ここでいう「第１のピアがピアを特定する」場合には、センタサーバが負荷情報に基づいて負荷が最も低いピアを１つ予め特定して第１のピアに返信し、その結果、第１のピアがセンタサーバにより特定されたピアを特定する場合も含まれる。
【００１２】
好ましくは、ピアツーピア型コンテンツ配信システムはさらに、センタサーバに接続された第２のピアを備える。第２のピアは、コンテンツを記憶するためのローカル記憶手段と、コンテンツをローカル記憶手段に登録する手段と、登録されたコンテンツのコンテンツ情報をセンタサーバに通知する手段と、自身の動作状況をセンタサーバに通知する動作状況通知手段と、第１のピアからの要求に応じて所望のコンテンツを当該第１のピアにアップロードする手段とを含む。コンテンツ情報登録手段は、第２のピアから通知されたコンテンツ情報をグローバル記憶手段に登録する。負荷情報登録手段は、第１のピアから通知された動作状況に応じて負荷情報をグローバル記憶手段に登録する。
【００１３】
この場合、新規コンテンツを第２のピアにアップロードすれば、第２のピアを起点として新規コンテンツが各第１のピアに配信される。
【００１４】
好ましくは、コンテンツ情報は、コンテンツの詳細に関するメタ情報と、コンテンツの所在に関するロケーション情報とを含む。ロケーション情報は、コンテンツを保存しているピアの識別情報と、そのピアの負荷情報とを有する。
【００１５】
この場合、ピアの負荷情報はコンテンツ情報に付加されているため、第１のピアはコンテンツ情報を取得することにより、負荷が最も低い他の第１のピアを特定することができる。
【００１６】
本発明によるセンタサーバは、上記ピアツーピア型コンテンツ配信システムにおけるセンタサーバである。本発明によるダイナミックピアは、上記ピアツーピア型コンテンツ配信システムにおける第１のピアである。本発明によるスタティックピアは、上記ピアツーピア型コンテンツ配信システムにおける第２のピアである。本発明によるピアツーピア型コンテンツ配信方法は、上記ピアツーピア型コンテンツ配信システムの動作方法である。本発明によるコンテンツ配信管理方法は、上記センタサーバの動作方法である。本発明によるセンタサーバ用コンピュータプログラムは、上記センタサーバを動作させるためのコンピュータプログラムである。本発明によるダイナミックピア用コンピュータプログラムは、上記ダイナミックピアを動作させるためのコンピュータプログラムである。本発明によるスタティックピア用コンピュータプログラムは、上記スタティックピアを動作させるためのコンピュータプログラムである。
【発明を実施するための最良の形態】
【００１７】
以下、図面を参照し、本発明の実施の形態を詳しく説明する。図中同一又は相当部分には同一符号を付してその説明は繰り返さない。
【００１８】
１．構成
図１を参照して、本発明の実施の形態によるピアツーピア型コンテンツ配信システムは、センタサーバＣＳと、多数のダイナミックピアＤＰとを備える。これらはインターネット等の電気通信回線（図示せず）を介して相互に接続される。コンテンツはダイナミックピアＤＰ間で相互に転送され、各ダイナミックピアＤＰに配信される。したがって、コンテンツは各ダイナミックピアＤＰに保存され、センタサーバＣＳには保存されない。
【００１９】
センタサーバＣＳはダイナミックピアＤＰによるコンテンツの配信を管理するために、各ダイナミックピアＤＰに保存されているコンテンツの詳細及び所在に関する情報（以下「コンテンツ情報」という。）を収集し、各ダイナミックピアＤＰに通知する。
【００２０】
各ダイナミックピアＤＰは、自身が保存しているコンテンツに関するコンテンツ情報をセンタサーバＣＳに通知するとともに、所望のコンテンツに関するコンテンツ情報をセンタサーバＣＳから取得する。したがって、各ダイナミックピアＤＰはセンタサーバＣＳに対してクライアントとしても機能する。各ダイナミックピアＤＰは、センタサーバＣＳから取得したコンテンツ情報に基づいて、所望のコンテンツを他のダイナミックピアＤＰからダウンロードする。
【００２１】
本システムはさらに、１又は２以上のスタティックピアＳＰを備える。スタティックピアＳＰはダイナミックピアＤＰと類似した機能を有するが、スタティックピアＳＰはコンテンツ配信の起点となるものであるから、所望のコンテンツに関するコンテンツ情報をセンタサーバＣＳから取得したり、所望のコンテンツを他のダイナミックピアＤＰからダウンロードしたりしない。各ダイナミックピアＤＰは、他のダイナミックピアＤＰからだけでなく、スタティックピアＳＰからも所望のコンテンツをダウンロードする。
【００２２】
特に限定されないが、通常、センタサーバＣＳは、コンテンツを販売する複数の事業者により共同で運用される。各スタティックピアＳＰは、コンテンツを販売する一の事業者により運用される。ダイナミックピアＤＰは、コンテンツを購入する利用者によりそれぞれ運用される。すなわち、ダイナミックピアＤＰは利用者のパソコンであり、ＦＴＴＨ(Fiber To The Home)、ＡＤＳＬ(Asymmetric Digital Subscribe Line)、ケーブルテレビ（ＣＡＴＶ）等の高速ブロードバンド通信によりインターネットに常時接続される。
【００２３】
次に図２を参照して、本システムの具体的な構成を説明する。
【００２４】
１．１．監視クライアント
本システムは、図１に示した構成に加え、本システムを監視する１又は２以上の監視クライアントＭＣを備える。特に限定されないが、各監視クライアントＭＣは、コンテンツを販売する一の事業者により運用される。
【００２５】
監視クライアントＭＣは、各ダイナミックピアＤＰに配信すべき新規コンテンツをスタティックピアＳＰに登録する機能と、新規コンテンツのメタ情報を編集してスタティックピアＳＰに送信する機能とを有する。監視クライアントＭＣはまた、顧客データベース１１を有し、センタサーバＣＳから報告されたコンテンツの配信状況に応じて課金処理を行う。
【００２６】
１．２．センタサーバ
センタサーバＣＳは、グローバルデータベース２１と、ピア動作管理インタフェース２２と、コンテンツ管理インタフェース２３と、データベースアプリケーション２４とを備える。
【００２７】
グローバルデータベース２１は、ピア動作管理ログ２５と、コンテンツ管理データベース２６と、ピア動作状況データベース２７と、ピア負荷管理データベース２８とを含む。ピア動作管理ログ２５は、ピアＳＰ及びＤＰの動作履歴を記録する。コンテンツ管理データベース２６は、ピアＳＰ及びＤＰに保存されているコンテンツに関するコンテンツ情報を記憶する。ピア動作状況データベース２７は、ピアＳＰ及びＤＰの動作状況を記憶する。ピア負荷管理データベース２８は、ピアＳＰ及びＤＰにかかる負荷に関する負荷情報を記憶する。
【００２８】
ピア動作管理インタフェース２２は、ピアＳＰ及びＤＰからそれらの動作状況（以下「ピア動作状況」という。）を受け付けるとともに、そのピア動作状況を監視クライアントＭＣに通知する。
【００２９】
コンテンツ管理インタフェース２３は、ピアＳＰ及びＤＰからコンテンツ情報を受け付ける。コンテンツ管理インタフェース２３はまた、ダイナミックピアＤＰから発行されたクエリを受け付けるとともに、そのクエリに応じて作成されたコンテンツリストをそのクエリを発行したダイナミックピアＤＰに返信する。
【００３０】
データベースアプリケーション２４は、ピア動作管理インタフェース２２により受け付けられたピア動作状況をピア動作状況データベース２７に登録するとともに、そのピア動作状況に基づいてピアＳＰ及びＤＰにかかる負荷を算出し、算出した負荷に関する負荷情報をピア負荷管理データベース２８に登録する。データベースアプリケーション２４はまた、コンテンツ管理インタフェース２３により受け付けられたコンテンツ情報をコンテンツ管理データベース２６に登録する。データベースアプリケーション２４はまた、コンテンツ管理インタフェース２３により受け付けられたクエリに応じてコンテンツ管理データベース２６及びピア負荷管理データベース２８を検索し、抽出したコンテンツ情報及び負荷情報を含むコンテンツリストを作成する。
【００３１】
１．３．スタティックピア
スタティックピアＳＰは、ローカルデータベース３１と、コンテンツ編集インタフェース３２と、スタティックピアアプリケーション３３とを備える。
【００３２】
ローカルデータベース３１は、監視クライアントＭＣからリリースされた多数の新規コンテンツを記憶する。コンテンツ編集インタフェース３２は、監視クライアントＭＣからアップロードされた新規コンテンツ及びそれに関するコンテンツ情報をローカルデータベース３１に登録する。スタティックピアアプリケーション３３は、登録された新規コンテンツのコンテンツ情報を新着情報としてセンタサーバＣＳに通知する。スタティックピアアプリケーション３３はまた、ダイナミックピアＤＰからの要求に応じて所望のコンテンツを送信する。
【００３３】
１．４．ダイナミックピア
ダイナミックピアＤＰは、ダウンローダ４１、ローカルデータベース４２と、再生アプリケーション４３と、ダイナミックピアアプリケーション４４とを備える。
【００３４】
ダウンローダ４１は、スタティックピアＳＰ又は他のダイナミックピアＤＰから所望のコンテンツをダウンロードする。ローカルデータベース４２は、ダウンロードされたコンテンツを記憶する。再生アプリケーション４３は、ローカルデータベース４２から所望のコンテンツをストリーミング方式で読み出し、そのコンテンツに基づいて音声や映像を再生する。
【００３５】
ダイナミックピアアプリケーション４４は、所望のコンテンツに関するコンテンツ情報及び負荷情報をセンタサーバＣＳに要求するためのクエリを発行するとともに、センタサーバＣＳから取得したコンテンツリストに基づいて所望のコンテンツに関するコンテンツ情報及び負荷情報をローカルデータベース４２に登録する。ダイナミックピアアプリケーション４４はまた、取得したコンテンツ情報及び負荷情報に基づいて所望のコンテンツを保存している１又は２以上のピアを特定し、さらにその中から負荷が最も低いピアを１つ特定する。ダイナミックピアアプリケーション４４はまた、特定した１つのピアに所望のコンテンツを要求し、そのコンテンツをダウンロードするようダウンローダ４１を起動する。ダイナミックピアアプリケーション４４はまた、ダウンロードされたコンテンツをローカルデータベース４２に登録する。ダイナミックピアアプリケーション４４はまた、登録したコンテンツに関するコンテンツ情報及び自身の動作状況をセンタサーバＣＳに通知する。ダイナミックピアアプリケーション４４はまた、他のダイナミックピアＤＰからの要求に応じて所望のコンテンツを送信する。ダイナミックピアアプリケーション４４はさらに、利用者の操作に応じて所望のコンテンツをローカルデータベース４２から削除する。
【００３６】
１．５．コンテンツ管理データベースのレコード
コンテンツ管理データベース２６のレコード構成を図３に示す。コンテンツ管理データベース２６は、コンテンツの総数に相当する複数のコンテンツ情報レコードｉｔｅｍからなる。各コンテンツ情報レコードｉｔｅｍは、メタ情報と、１又は２以上のＵＲＩリストｕｒｉｌｉｓｔとを有する。コンテンツ情報レコードｉｔｅｍの属性(Attribute)は、当該コンテンツのユニークＩＤｃｕｉｄと、アイテムの種類ｃｌａｓｓ（映像、音楽など）とを有する。
【００３７】
メタ情報は当該コンテンツの詳細を示し、たとえば当該コンテンツのタイトル、監督の名前、主演の名前を含む。ＵＲＩリストｕｒｉｌｉｓｔは当該コンテンツの所在を示すロケーション情報である。各コンテンツ情報レコードｉｔｅｍに含まれるＵＲＩリストｕｒｉｌｉｓｔの数は、当該コンテンツを持っているピアＳＰ，ＤＰの数に等しい。ＵＲＩリストｕｒｉｌｉｓｔの属性は、当該コンテンツを持っているピアＳＰ又はＤＰのユニークＩＤｐｕｉｄと、そのピアＳＰ又はＤＰの負荷値ｌｏａｄとを有する。
【００３８】
各ピアＳＰ，ＤＰに保存されている１つのコンテンツは、１又は２以上のファイルに分割される。各ＵＲＩリストｕｒｉｌｉｓｔは、これらのファイルの所在を示す１又は２以上のＵＲＩ(Uniform Resource Identifier)からなる。各ＵＲＩの属性は、当該ファイルに対応するパーツ番号ｓｕｂｉｄと、ファイルサイズｓｉｚｅとを有する。
【００３９】
１．６．コンテンツ管理データベース
コンテンツ管理データベース２６の一例を図４に示す。コンテンツ管理データベース２６は、コンテンツ情報レコードｉｔｅｍごとにメタ情報と１又は２以上のＵＲＩリストｕｒｉｌｉｓｔとを有する。図４に示した例では、たとえば「ｃｕｉｄ＝１１１１…」のコンテンツは、「ｐｕｉｄ＝ａａａａ…」のピアＳＰ又はＤＰと、「ｐｕｉｄ＝ｂｂｂｂ…」のピアＳＰ又はＤＰと、「ｐｕｉｄ＝ｃｃｃｃ…」のピアＳＰ又はＤＰと、「ｐｕｉｄ＝ｄｄｄｄ…」のピアＳＰ又はＤＰと、「ｐｕｉｄ＝ｅｅｅｅ…」のピアＳＰ又はＤＰとに保存されている。たとえば「ｐｕｉｄ＝ｂｂｂｂ…」のピアＳＰ又はＤＰは「７５」の負荷値ｌｏａｄを有している。
【００４０】
１．７．ローカルデータベース
ローカルデータベース３１又は４２の一例を図５に示す。ローカルデータベース３１又は４２は、コンテンツ情報レコードｉｔｅｍごとにメタ情報とＵＲＩリストｕｒｉｌｉｓｔとを有する。図５に示した例は、「ｐｕｉｄ＝ｂｂｂｂ…」のピアＳＰ又はＤＰのローカルデータベース３１又は４２である。
【００４１】
１．８．ピア動作状況データベース
ピア動作状況データベース２７のレコード構成を図６に示す。ピア動作状況データベース２７は、スタティックピアＳＰ及びダイナミックピアＤＰの総数に相当する複数のピア動作状況レコードｐｅｅｒｉｎｆｏからなる。各ピア動作状況レコードｐｅｅｒｉｎｆｏは、当該ピアの動作状況を示すピア動作状況ｓｔａｔｅと、ピア動作状況ｓｔａｔｅの送信／受信時間ｔｉｍｅとを有する。ピア動作状況レコードｐｅｅｒｉｎｆｏの属性は、当該ピアのユニークＩＤｐｕｉｄと、当該ピアのバージョンｖｅｒｓｉｏｎとを有する。ピア動作状況ｓｔａｔｅは、当該ピアの電源オンｏｎｌｉｎｅ、電源オフｏｆｆｌｉｎｅ、ダウンロード開始ｄｌｓｔａｒｔ、ダウンロード完了ｄｌｃｏｍｐｌｅｔｅｄ、再生開始ｐｌａｙ、再生停止ｓｔｏｐ、新規コンテンツ登録ｒｅｇｉｓｔｒａｔｉｏｎなどを含む。電源オンｏｎｌｉｎｅ、電源オフｏｆｆｌｉｎｅなどは、スタティックピアＳＰ及びダイナミックピアＤＰに共通の動作状況である。ダウンロード開始ｄｌｓｔａｒｔ、ダウンロード完了ｄｌｃｏｍｐｌｅｔｅｄ、再生開始ｐｌａｙ、再生停止ｓｔｏｐなどは、ダイナミックピアＤＰに特有の動作状況である。新規コンテンツ登録ｒｅｇｉｓｔｒａｔｉｏｎは、スタティックピアＳＰに特有の動作状況である。
【００４２】
１．９．ピア負荷管理データベース
ピア負荷管理データベース２８のレコード構成を図７に示す。ピア負荷管理データベース２８は、スタティックピアＳＰ及びダイナミックピアＤＰの総数に相当する複数の負荷情報レコードｐｅｅｒからなる。各負荷情報レコードｐｅｅｒは、当該ピアの負荷情報、具体的には、ピアの係数情報（スペック係数又はピアのタイプ（ダウンロード専用ピア、アップロード可能ピア）等）ｄｅｓｃｒｉｐｔｉｏｎと、ピアのユニークＩＤｐｕｉｄと、負荷基礎値の累算値（負荷値）ｌｏａｄとを含む。各負荷情報レコードｐｅｅｒの属性は、当該ピアのユニークＩＤｐｕｉｄと、当該ピアの負荷値ｌｏａｄとを有する。
【００４３】
ピアのユニークＩＤｐｕｉｄ及びピアの負荷値ｌｏａｄのオリジナルデータはピア負荷管理データベース２８に保存されるが、そのコピーデータは前述したようにコンテンツ管理データベース２６にもＵＲＩリストｕｒｉｌｉｓｔの属性として保存される。
【００４４】
２．動作
以下、本システムの動作を説明する。
【００４５】
２．１．新規コンテンツの登録
まず、新規コンテンツを登録するための動作を図８を参照して説明する。
【００４６】
スタティックピアＳＰにおいて、コンテンツ編集アプリケーション３２は、図３に示したコンテンツ情報レコードｉｔｅｍの各フィールドにメタ情報を入力する（Ｓ１０１）。ここでは、監視クライアントＭＣから送信されたメタ情報が入力されてもよく、既存のデータベース（図示せず）からインポートされたメタ情報が入力されてもよく、また、手作業でメタ情報が入力されてもよい。
【００４７】
続いて、コンテンツ編集アプリケーション３２は、監視クライアントＭＣからアップロードされた新規コンテンツ及びそのコンテンツ情報をローカルデータベース３１に登録する（Ｓ１０２）。詳細は後述する（図１０）。
【００４８】
続いて、スタティックピアアプリケーション３３は、登録されたコンテンツ情報をセンタサーバＣＳに送信する（Ｓ１０３）。これに対し、センタサーバＣＳにおいて、データベースアプリケーション２４は、スタティックピアＳＰから送信されたコンテンツ情報をグローバルデータベース２１内のコンテンツ管理データベース２６に登録する（Ｓ２０１）。詳細は後述する（図１１）。
【００４９】
新規コンテンツの登録を完了すると（Ｓ１０４で）、スタティックピアアプリケーション３３は、新規コンテンツ登録ｒｅｇｉｓｔｒａｔｉｏｎという動作状況をセンタサーバＣＳに送信する（Ｓ１０５）。これに対し、センタサーバＣＳにおいて、データベースアプリケーション２４は、新規コンテンツ登録ｒｅｇｉｓｔｒａｔｉｏｎという動作状況をピア動作状況データベース２７に登録する（Ｓ２０２）。
【００５０】
２．２．コンテンツのダウンロード
次に、コンテンツをダウンロードするための動作を図９を参照して説明する。
【００５１】
ダイナミックピアＤＰにおいて、ダイナミックピアアプリケーション４４は、予め設定されたコレクションルールに基づいてクエリを発行し、センタサーバＣＳに送信する（Ｓ３０１）。これに対し、センタサーバＣＳにおいて、データベースアプリケーション２４は、ダイナミックピアＤＰから発行されたクエリに基づいてコンテンツリストを作成し、クエリを発行したダイナミックピアＤＰに返信する（Ｓ２１１）。
【００５２】
コレクションルールは、ダイナミックピアＤＰごとに利用者の操作に応じて予め設定される。たとえば監督や主演の名前がコレクションルールとして利用者の好みに応じて設定される。この場合、データベースアプリケーション２４は、監督や主演の名前でコンテンツ管理データベース２６を検索し、該当する１又は２以上のコンテンツ情報レコードｉｔｅｍを抽出し、そのコンテンツ情報レコードｉｔｅｍを含むコンテンツリストを作成する。
【００５３】
ダイナミックピアアプリケーション４４は、返信されたコンテンツリストに含まれるコンテンツ情報レコードｉｔｅｍの数だけ以下のステップＳ３０３〜Ｓ３０５を繰り返す（Ｓ３０２）。
【００５４】
まず、ダイナミックピアアプリケーション４４は、当該コンテンツ情報レコードｉｔｅｍに含まれるコンテンツのユニークＩＤｃｕｉｄを自身のローカルデータベース４２に登録されているコンテンツのユニークＩＤｃｕｉｄと照合し、既にダウンロードして保存しているコンテンツか否かを判断する（Ｓ３０３）。既存のコンテンツの場合（Ｓ３０３でＹＥＳ）、ダイナミックピアアプリケーション４４は、ステップＳ３０２に戻り、チェックの対象を次のコンテンツ情報レコードｉｔｅｍに移す。
【００５５】
一方、新規のコンテンツの場合（Ｓ３０３でＮＯ）、ダイナミックピアアプリケーション４４は、当該コンテンツ情報レコードｉｔｅｍに含まれる１又は２以上のＵＲＩリストｕｒｉｌｉｓｔの中から負荷値ｌｏａｄが最も小さい（負の負荷値を除く）ＵＲＩリストｕｒｉｌｉｓｔを選択し、それにより負荷が最も低いピアＳＰ又はＤＰを選択する（Ｓ３０４）。
【００５６】
その結果、ダウンロード可能なピアが存在しない場合（Ｓ３０５でＮＯ）、ダイナミックピアアプリケーション４４は、ステップＳ３０２に戻り、チェックの対象を次のコンテンツ情報レコードｉｔｅｍに移す。
【００５７】
一方、ダウンロード可能なピアが存在する場合（Ｓ３０５でＹＥＳ）、ダイナミックピアアプリケーション４４は、選択したＵＲＩリストｕｒｉｌｉｓｔに含まれるＵＲＩの数だけ以下のステップＳ３０７〜Ｓ３１２を繰り返す（Ｓ３０６）。
【００５８】
まず、ダイナミックピアアプリケーション４４は、ダウンロード開始という動作状況ｄｌｓｔａｒｔをセンタサーバＣＳに送信する（Ｓ３０７）。これに対し、センタサーバＣＳにおいて、データベースアプリケーション２４は、ダウンロード開始という動作状況ｄｌｓｔａｒｔをピア動作状況データベース２７に登録し、かつ当該ダイナミックピアＤＰの負荷値を再計算し、コンテンツ管理データベース２６及びピア負荷管理データベース２８の負荷値ｌｏａｄを書き換える（Ｓ２１２）。
【００５９】
続いて、ダイナミックピアアプリケーション４４は、負荷が最も低いピアＳＰ又はＤＰに当該コンテンツの送信を要求してダウンロードを実行する（Ｓ３０８）。これに対し、当該他のピアＳＰ又はＤＰにおいて、スタティックピアアプリケーション３３又はダイナミックピアアプリケーション４４は、要求されたコンテンツをダイナミックピアＤＰに送信（アップロード）する（Ｓ４０１）。
【００６０】
その結果、ダウンロードに失敗した場合（Ｓ３０９でＮＯ）、ダイナミックピアアプリケーション４４は、ダウンロード失敗という動作状況ｄｌｆａｉｌｅｄをセンタサーバＣＳに送信する（Ｓ３１０）。これに対し、センタサーバＣＳにおいて、データベースアプリケーション２４は、ダウンロード失敗という動作状況ｄｌｆａｉｌｅｄをピア動作状況データベース２７に登録し、かつ当該ダイナミックピアＤＰの負荷値を再計算し、コンテンツ管理データベース２６及びピア負荷管理データベース２８の負荷値ｌｏａｄを書き換える（Ｓ２１３）。
【００６１】
一方、ダウンロードに成功した場合（Ｓ３０９でＹＥＳ）、ダイナミックピアアプリケーション４４は、ダウンロード完了という動作状況ｄｌｃｏｍｐｌｅｔｅｄをセンタサーバＣＳに送信する（Ｓ３１１）。これに対し、センタサーバＣＳにおいて、データベースアプリケーション２４は、ダウンロード完了という動作状況ｄｌｃｏｍｐｌｅｔｅｄをピア動作状況データベース２７に登録し、かつ当該ダイナミックピアＤＰの負荷値を再計算し、コンテンツ管理データベース２６及びピア負荷管理データベース２８の負荷値ｌｏａｄを書き換える（Ｓ２１４）。
【００６２】
以上のステップＳ３０７〜Ｓ３１０を当該コンテンツを分割した１又は２以上のファイルを全てダウンロードするまで繰り返す（Ｓ３１２）。
【００６３】
続いて、ダイナミックピアアプリケーション４４は、ダウンロードを完了したコンテンツのＵＲＩリストｕｒｉｌｉｓｔを整形する（Ｓ３１３）。具体的には、コンテンツのＵＲＩリストから他のピアのＵＲＩリストを削除して、自身のＵＲＩリストのみを登録する。これにより、コンテンツ情報の容量を小さくすることができ、新たにコンテンツをダウンロードしたピアのＵＲＩリストをコンテンツ管理データベース２６に登録できる。
【００６４】
続いて、ダイナミックピアアプリケーション４４は、ダウンロードしたコンテンツ及びそのコンテンツ情報をローカルデータベース４２に登録する（Ｓ３１４）。詳細は後述する（図１０）。
【００６５】
続いて、ダイナミックピアアプリケーション４４は、登録されたコンテンツ情報をセンタサーバＣＳに送信する（Ｓ３１５）。これに対し、センタサーバＣＳにおいて、データベースアプリケーション２４は、ダイナミックピアＤＰから送信されたコンテンツ情報をグローバルデータベース２１内のコンテンツ管理データベース２６に登録する（Ｓ２１５）。詳細は後述する（図１１）。
【００６６】
２．３．コンテンツの登録（ローカル）
ここで、上述したコンテンツの登録ステップＳ１０２及びＳ３１４の詳細を図１０を参照してする。
【００６７】
スタティックピアアプリケーション３３又はダイナミックピアアプリケーション４４は、当該コンテンツ情報レコードｉｔｅｍに含まれるコンテンツのユニークＩＤｃｕｉｄを自身のローカルデータベース４２に登録されているコンテンツのユニークＩＤｃｕｉｄと照合し、既に存在するコンテンツか否かを判断する（Ｓ４１１）。既存のコンテンツの場合であって（Ｓ４１１でＹＥＳ）、かつピアがスタティックピアＳＰの場合（Ｓ４１２でＹＥＳ；図８に示した新規コンテンツ登録の場合）、古いコンテンツ情報レコードｉｔｅｍを新しいコンテンツ情報レコードｉｔｅｍで置き換え、これによりコンテンツ情報を更新する。既存のコンテンツの場合、通常はコンテンツ情報を書き換える必要はないが、既に登録されているメタ情報（たとえば監督の名前）が誤っている場合、このようにコンテンツ情報を書き換えることにより誤って登録されているメタ情報を訂正することができる。
【００６８】
一方、新規のコンテンツの場合（Ｓ４１１でＮＯ）、ピアアプリケーション３３又は４４は、当該コンテンツ情報レコードｉｔｅｍをローカルデータベース３１又は４２に追加する（Ｓ４１４）。
【００６９】
２．４．コンテンツ情報の登録（グローバル）
次に、上述したコンテンツ情報の登録ステップＳ１０３及びＳ３１５の詳細を図１１を参照して説明する。
【００７０】
ピアアプリケーション３３又は４４は、当該コンテンツ情報レコードｉｔｅｍをセンタサーバＣＳに送信する（Ｓ４２１）。これに対し、センタサーバＣＳにおいて、データベースアプリケーション２４は、当該コンテンツ情報レコードｉｔｅｍに含まれるコンテンツのユニークＩＤｃｕｉｄをコンテンツ管理データベース２６に登録されているコンテンツのユニークＩＤｃｕｉｄと照合し、既に存在するコンテンツか否かを判断する（Ｓ２２１）。
【００７１】
既存のコンテンツの場合（Ｓ２２１でＹＥＳ）、データベースアプリケーション２４は、当該コンテンツのユニークＩＤｃｕｉｄでコンテンツ管理データベース２６を検索し、当該ユニークＩＤｃｕｉｄを有するコンテンツ情報レコードｉｔｅｍに、ピアＳＰ又はＤＰから送信されたコンテンツ情報レコードｉｔｅｍのうちＵＲＩリストｕｒｉｌｉｓｔだけを追加し、これにより当該コンテンツ情報レコードｉｔｅｍを更新する（Ｓ２２１）。
【００７２】
一方、新規のコンテンツの場合（Ｓ２２１でＮＯ）、データベースアプリケーション２４は、ピアＳＰ又はＤＰから送信されたコンテンツ情報レコードｉｔｅｍをそのままコンテンツ管理データベース２６に追加する（Ｓ２２３）。
【００７３】
コンテンツ情報レコードｉｔｅｍの更新又は追加後、データベースアプリケーション２４は、コンテンツ情報レコードｉｔｅｍの更新又は追加に成功したか否かを判断し、その結果に応じて所定のリターンコードを当該ピアＳＰ又はＤＰに返信する（Ｓ２２４）。これに対し、ピアＳＰ又はＤＰにおいて、ピアアプリケーション３３又は４４は、センタサーバＣＳから送信されたリターンコードをチェックし（Ｓ４２２）、コンテンツ情報レコードｉｔｅｍの更新又は追加に失敗した場合、当該コンテンツ情報レコードｉｔｅｍの送信（Ｓ４２１）をリトライする。
【００７４】
２．５．コンテンツのダウンロード例
ここで図１２に示すように、４台のピア（スタティックピアＳＰ又はダイナミックピアＤＰ）Ａ，Ｂ，Ｃ，Ｄが存在し、ピアＤ（ダイナミックピアＤＰ）がコンテンツＣをピアＡ，Ｂ，Ｃのいずれかからダウンロードしようとしていると仮定する。また、ピアＡはＡＤＳＬでインターネットに接続され、アップロード及び再生の実行中であり、ピアＢはＦＴＴＨでインターネットに接続され、ダウンロード及び再生の実行中であり、ピアＣはＣＡＴＶでインターネットに接続され、再生の実行中であると仮定する。
【００７５】
センタサーバＣＳは、図１３に示されるような負荷計算パラメータテーブルを有する。このテーブルには、ピアＳＰ，ＤＰの負荷値ｌｏａｄを計算するために必要な種々のパラメータが予め登録されている。負荷値ｌｏａｄは次の式（１）により計算される。
【００７６】
負荷値＝負荷基礎値×回線品種係数×スペック係数×転送実績係数  …（１）
図１２に示した例では、ピアＡの負荷値ｌｏａｄは１１８（≒（４０＋３０）×１．２×１．０×１．４）となり（図１２中の値と矛盾しますが、１００が最大値でしょうか？）、ピアＢの負荷値ｌｏａｄは４８（≒２０＋３０）×０．８×１．０×１．２）となり、ピアＣの負荷値ｌｏａｄは６８（≒３０×１．５×１．０×１．５）となる。
【００７７】
負荷基礎値は、各ピアの動作状況（アップロード中、ダウンロード中、再生中）に応じて決定される数値である。センタサーバＣＳは、各ピアから通知されたピア動作状況に基づいて各ピアの負荷基礎値をピア負荷管理データベース２８に登録する。
【００７８】
具体的には、ダウンロード開始という動作状況ｄｌｓｔａｒｔを受けると、データベースアプリケーション２４は、ダウンロード元ピア（コンテンツをアップロードするピア）の負荷基礎値を「４０」増加させ、かつ動作状況の通知元ピア（コンテンツをダウンロードするピア）の基礎負荷値を「２０」増加させる。また、ダウンロード完了という動作状況ｄｌｃｏｍｐｌｅｔｅｄを受けると、データベースアプリケーション２４は、ダウンロード元ピア（コンテンツをアップロードしたピア）の負荷基礎値を「４０」減少させ、かつ動作状況の通知元ピア（コンテンツをダウンロードしたピア）の基礎負荷値を「２０」減少させる。また、ダウンロード失敗という動作状況ｄｌｆａｉｌｅｄを受けると、データベースアプリケーション２４は、動作状況の通知元ピア（ダウンロードに失敗したピア）の基礎負荷値を「２０」減少させ、かつダウンロード元ピアの基礎負荷値を「−１」に設定する。これによりダウンロード元ピアがオフラインで通信不可能であることを示す。
【００７９】
また、再生開始という動作状況ｐｌａｙを受けると、データベースアプリケーション２４は、動作状況の通知元ピア（再生を開始したピア）の基礎負荷値を「３０」増加させる。また、再生停止という動作状況ｓｔｏｐを受けると、データベースアプリケーション２４は、動作状況の通知元ピア（再生を停止したピア）の基礎負荷値を「３０」減少させる。
【００８０】
なお、図１３に示したテーブルでは、発生し得るイベントとして３つしか示されていないが、早送り再生、一時停止（ポーズ）、その他のイベントを対応する負荷基礎値とともに追加してもよい。
【００８１】
回線品種係数は、各ピアの接続回線に応じて予め設定される重み係数である。接続回線の品種（ＦＴＴＨ、ＡＤＳＬ、ＣＡＢＬＥ）によって転送速度が異なるためである。
【００８２】
スペック係数は、各ピアのハードウェアスペック（ＣＰＵの処理能力、ディスクＩ／Ｏの能力など）に応じて予め設定される重み係数である。ここでは全てのピアは同じハードウェアスペックを有すると仮定し、スペック係数は一律に「１」に設定される。なお、ｉＤＣなどに設置されるファイル転送専用ピアと、一般家庭に設置されるピアとの違いについても、このスペック係数に反映させるようにしてもよい。
【００８３】
転送実績係数は、実際にファイルを転送した過去の実績に基づいて決定される係数である。この係数は実績に基づいて自動的に変動させた方が負荷分散上は好ましいが、手動で変更することにより特定ピアの負荷を増減させることも可能である。
【００８４】
以上の条件で、ピアＤがコンテンツＣをダウンロードする場合の動作を図１４を参照して説明する。
【００８５】
ピアＤはクエリを発行し、センタサーバＣＳにコンテンツリスト５０を要求する（Ｓ６０１）。センタサーバＣＳはこの要求に応じて、コンテンツ情報レコードｉｔｅｍのＵＲＩリストｕｒｉｌｉｓｔの属性に現在登録されている負荷値ｌｏａｄを設定した上で、コンテンツリスト５０をピアＤに返信する（Ｓ５０１）。
【００８６】
ピアＤは、ＵＲＩリストｕｒｉｌｉｓｔの負荷値ｌｏａｄの中から負荷が最も低いピアＢを選択する（Ｓ６０２）。ピアＤは、ダウンロード開始という動作状況をセンタサーバＣＳに送信し（Ｓ６０３）、かつコンテンツＣのダウンロードをピアＢに要求する（Ｓ６０４）。
【００８７】
センタサーバＣＳは、図１３に示した負荷計算パラメータテーブルを参照して、コンテンツＣをアップロードすることになったピアＢの負荷基礎値を「４０」増加させ、コンテンツＣをダウンロードすることになったピアＤの負荷基礎値を「２０」増加させる（Ｓ５０２）。
【００８８】
ダウンロード成功の場合、ピアＢはコンテンツＣの配信を開始する。つまり、ピアＤはコンテンツＣをピアＢからダウンロードする。コンテンツＣの配信を完了すると、ピアＤはダウンロード完了という動作状況をセンタサーバＣＳに送信する（Ｓ６０５）。
【００８９】
センタサーバＣＳは、ダウンロード完了という動作状況を受信すると、アップロードを完了したピアＢの負荷基礎値を「４０」減少させ、ダウンロードを完了したピアＤの負荷基礎値を「２０」減少させる（Ｓ５０３）。
【００９０】
一方、ダウンロード失敗の場合、ピアＤは接続の失敗やタイムアウトの発生によりダウンロードの失敗を認識し、ダウンロード失敗という動作状況をセンタサーバＣＳに送信する（Ｓ６０６）。
【００９１】
センタサーバＣＳは、ダウンロード失敗という動作状況を受信すると、ダウンロード不可能なピアＢの負荷基礎値を「−１」（オフライン状態）に設定し、ダウンロードに失敗したピアＤの負荷基礎値を「２０」減少させる（Ｓ５０４）。
【００９２】
以上のように本発明の実施の形態によれば、コンテンツ情報レコードｉｔｅｍは各ピアＳＰ，ＤＰからセンタサーバＣＳに集められる。集められたコンテンツ情報レコードｉｔｅｍはダイナミックピアＤＰから発行されるクエリに応じてダイナミックピアＤＰに返信される。これにより、各ダイナミックピアＤＰは所望のコンテンツを所持している他のピアＳＰ，ＤＰのＵＲＩを取得し、そのピアＳＰ，ＤＰから所望のコンテンツをダウンロードする。コンテンツ情報レコードｉｔｅｍに含まれるＵＲＩリストｕｒｉｌｉｓｔの属性にピアＳＰ，ＤＰの負荷値が設定されているため、各ダイナミックピアＤＰは負荷が最も低いピアＳＰ，ＤＰを特定し、そのピアＳＰ，ＤＰから所望のコンテンツをダウンロードする。したがって、特定のピアＳＰ，ＤＰにダウンロードの要求が集中することはなく、コンテンツのファイル転送負荷が分散される。また、各ダイナミックピアＤＰの動作状況がセンタサーバＣＳに報告されているため、著作権保護に配慮したコンテンツ配信が可能となる。
【００９３】
上記の実施の形態では、ピアＳＰ，ＤＰのユニークＩＤｐｕｉｄ及びピアＳＰ，ＤＰの負荷値ｌｏａｄはコンテンツ管理データベース２６にも保存されているが、少なくともピア負荷管理データベース２８に保存されていればよい。
【００９４】
上記実施の形態では、負荷が最も低いピアを１つ特定し、そのピアからコンテンツをダウンロードするようにしているが、たとえばアップロード中のピア以外のピアを１つ特定するなど、単にピアの動作状況に基づいて１つのピアを特定し、そのピアからコンテンツをダウンロードするようにしてもよい。さらに、動作状況に基づいて１つのピアを特定する場合、図１３に示したパラメータのうち、動作状況に関連する負荷基礎値（アップロード、ダウンロード、再生、待機中等）のみに基づいて、すなわち、回線品種係数、スペック係数、転送実績係数を考慮しないで、その値が最も低いピアを特定するようにしてもよい。
【００９５】
また、ダイナミックピアＤＰが負荷が最も低いピアを選択しているが（Ｓ３０４）、センタサーバＣＳが負荷が最も低いピアを選択するようにしてもよい。この場合、センタサーバＣＳからダイナミックピアＤＰに送信されるコンテンツリストには、負荷が最も低いピアのＵＲＩさえ含まれていれば足りる。より具体的には、上記Ｓ２１１において、センタサーバＣＳがコンテンツ管理データベース２６及びピア負荷管理データベース２８に基づいて負荷が最も低いピアを特定し、当該ピアのＵＲＩリストをコンテンツリストに含める。この場合、ダイナミックピアＤＰはセンタサーバＣＳによって特定されたピアを特定することになるが、これは負荷情報に基づいて、センタサーバによって特定された１つのピアをさらに特定したことを意味する。
【００９６】
また、センタサーバＣＳが負荷が最も低いピアを１つまで絞り込むのではなく、ピアのＵＲＩを含むコンテンツ情報レコードｉｔｅｍを負荷の順番に並び替えたコンテンツリストをダイナミックピアＤＰに返信するようにしてもよい。この場合、ダイナミックピアＤＰはコンテンツリストの先頭のピアを特定すれば、負荷が最も低いピアを自動的に特定することができる。また、コンテンツ情報レコードｉｔｅｍを負荷の順番に並び替えた上でさらに、たとえば上位１０個のコンテンツ情報レコードｉｔｅｍまで絞り込むようにしてもよい。この場合、コンテンツを記憶しているピアが多い場合であっても、コンテンツリストの容量が多くなり通信回線が混雑することを防止できる。
【００９７】
さらに、上記実施形態では、コンテンツはダイナミックピアからの要求に応じて他のダイナミックピア又はスタティックピアから送信されているが、センタサーバの指示等に基づいて他のダイナミックピア又はスタティックピアから強制的にダイナミックピアに送信されるようにすることもできる。コンテンツ情報及び負荷情報もセンタサーバから強制的にダイナミックピアに返信されてもよい。
【００９８】
以上、本発明の実施の形態を説明したが、上述した実施の形態は本発明を実施するための例示に過ぎない。よって、本発明は上述した実施の形態に限定されることなく、その趣旨を逸脱しない範囲内で上述した実施の形態を適宜変形して実施することが可能である。
【産業上の利用可能性】
【００９９】
本発明によるピアツーピア型コンテンツ配信システムは、インターネット経由のコンテンツ配信サービスに利用可能である。
【図面の簡単な説明】
【０１００】
【図１】本発明の実施の形態によるピアツーピア型コンテンツ配信システムの全体構成を示すネットワーク図である。
【図２】図１に示したピアツーピア型コンテンツ配信システムの具体的構成を示す機能ブロック図である。
【図３】図２中のコンテンツ管理データベースのレコード構成を示す図である。
【図４】図２中のコンテンツ管理データベースの一例を示す図である。
【図５】図２中のローカルデータベースの一例を示す図である。
【図６】図２中のピア動作状況データベースのレコード構成を示す図である。
【図７】図２中のピア負荷管理データベースのレコード構成を示す図である。
【図８】図２に示したピアツーピア型コンテンツ配信システムにおけるスタティックピアによる新規コンテンツの登録動作を示すフロー図である。
【図９】図２に示したピアツーピア型コンテンツ配信システムにおけるダイナミックピアによるコンテンツの配信動作を示すフロー図である。
【図１０】図８又は図９中のコンテンツの登録動作（ローカル）の詳細を示すフロー図である。
【図１１】図８又は図９中のコンテンツ情報の登録動作（グローバル）の詳細を示すフロー図である。
【図１２】図２に示したピアツーピア型コンテンツ配信システムによるコンテンツの配信動作の一例を示す説明図である。
【図１３】図１２に示したセンタサーバに備えられる負荷計算パラメータテーブルを示す図である。
【図１４】図１２に示したピアツーピア型コンテンツ配信システムによるコンテンツの配信動作を示すフロー図である。
【符号の説明】
【０１０１】
２１  グローバルデータベース
２２  ピア動作管理インタフェース
２３  コンテンツ管理インタフェース
２４  データベースアプリケーション
２５  ピア動作管理ログ
２６  コンテンツ管理データベース
２７  ピア動作状況データベース
２８  ピア負荷管理データベース
３１  ローカルデータベース
３２  コンテンツ編集アプリケーション
３２  コンテンツ編集インタフェース
３３  スタティックピアアプリケーション
４１  ダウンローダ
４２  ローカルデータベース
４３  再生アプリケーション
４４  ダイナミックピアアプリケーション
５０  コンテンツリスト
ＣＳ  センタサーバ
ＤＰ  ダイナミックピア
ＳＰ  スタティックピア
ｉｔｅｍ  コンテンツ情報レコード
ｌｏａｄ  負荷値
ｐｅｅｒｉｎｆｏ  ピア動作状況レコード
ｕｒｉｌｉｓｔ  ＵＲＩリスト
【図１】
2006072432.tif 000003
【図２】
2006072432.tif 000004
【図３】
2006072432.tif 000005
【図４】
2006072432.tif 000006
【図５】
2006072432.tif 000007
【図６】
2006072432.tif 000008
【図７】
2006072432.tif 000009
【図８】
2006072432.tif 000010
【図９】
2006072432.tif 000011
【図１０】
2006072432.tif 000012
【図１１】
2006072432.tif 000013
【図１２】
2006072432.tif 000014
【図１３】
2006072432.tif 000015
【図１４】
2006072432.tif 000016