(57)【要約】 【課題】配信システム内に、より効率良くコンテンツを保存させ、各ノード装置によるコンテンツの迅速な取得を向上させることが可能な配信システム、情報処理装置、情報処理プログラム、及びコンテンツ取得方法を提供する。【解決手段】第一の情報処理装置は、１つ以上の情報処理装置に保存されている１つ以上のコンテンツデータの識別情報と、前記識別情報に対応するコンテンツデータ中の出力位置を示す位置情報と、を含むコンテンツ情報を生成し、これを所定の情報処理装置に送信する。そして、第二の情報処理装置は、上記コンテンツ情報を取得し、これに含まれる位置情報に基づいてコンテンツデータ中の出力位置を含む部分データを決定する。そして、第二の情報処理装置は、上記決定された前記部分データを取得する。【選択図】図２
2011158989.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して互いに通信可能な複数の情報処理装置を備え、１つ以上の情報処理装置にコンテンツデータが保存され、各情報処理装置はコンテンツデータに付与された固有の識別情報に基づいて他の情報処理装置から当該コンテンツデータを取得するように構成された配信システムであって、
第一の前記情報処理装置は、
前記１つ以上の情報処理装置に保存されている１つ以上のコンテンツデータの識別情報と、前記識別情報に対応するコンテンツデータ中の出力位置を示す位置情報と、を含むコンテンツ情報を生成する生成手段と、
前記生成手段により生成されたコンテンツ情報を、所定の前記情報処理装置に送信する送信手段と、
を備え、
第二の前記情報処理装置は、
前記第一の前記情報処理装置又は前記所定の前記情報処理装置から前記コンテンツ情報を取得する第一取得手段と、
前記第一取得手段により取得されたコンテンツ情報に含まれる前記位置情報に基づいて前記コンテンツデータ中の出力位置を含む部分データを決定する決定手段と、
前記決定手段により決定された前記部分データを取得する第二取得手段と、
を備えることを特徴とする配信システム。
【請求項２】
前記生成手段は、前記１つ以上の情報処理装置に保存されている複数のコンテンツデータの識別情報と、複数の前記識別情報夫々に対応するコンテンツデータ中の出力位置を示す位置情報と、を含むコンテンツ情報を生成し、
前記決定手段は、前記第一取得手段により取得されたコンテンツ情報に含まれる前記位置情報に基づいて、各前記コンテンツデータ中の出力位置を含む部分データに対応する識別情報を決定し、
前記第二取得手段は、前記決定手段により決定された識別情報に基づいて、前記部分データを取得し、
前記第二の前記情報処理装置は、前記第二取得手段により取得された複数の前記部分データを繋げたコンテンツデータを出力する出力手段を更に備えることを特徴とする請求項１に記載の配信システム。
【請求項３】
前記生成手段は、前記コンテンツデータの識別情報と、前記識別情報に対応するコンテンツデータ中の出力の開始位置を示す位置情報と、を含むコンテンツ情報を生成し、
前記決定手段は、前記第一取得手段により取得された前記位置情報に示される前記開始位置に基づいて、前記コンテンツデータ中の出力の開始位置を含む部分データに対応する識別情報を決定し、
前記第二取得手段は、前記決定手段により決定された前記識別情報に基づいて他の前記情報処理装置から、前記開始位置を含む前記部分データを取得することを特徴とする請求項１または２に記載の配信システム。
【請求項４】
前記生成手段は、前記コンテンツデータの識別情報と、前記識別情報に対応するコンテンツデータ中の出力の開始位置及び前記コンテンツデータ中の出力の終了位置とを示す位置情報と、を含むコンテンツ情報を生成し、
前記決定手段は、前記第一取得手段により取得された前記位置情報に示される前記開始位置及び前記終了位置に基づいて、前記コンテンツデータ中の前記開始位置から前記終了位置を含む部分データに対応する識別情報を決定し、
前記第二取得手段は、前記決定手段により決定された前記識別情報に基づいて他の前記情報処理装置から、前記開始位置から前記終了位置を含む前記部分データを取得することを特徴とする請求項３に記載の配信システム。
【請求項５】
前記配信システムは、前記ネットワークに接続された前記複数の情報処理装置により形成されたオーバーレイネットワークを有し、
前記コンテンツ情報は、固有の識別情報が付与されて前記オーバーレイネットワークを形成する何れかの前記情報処理装置に保存されており、
前記第一取得手段は、前記コンテンツ情報に付与された固有の識別情報を取得し、当該取得した識別情報に基づいて前記オーバーレイネットワークを介して他の前記情報処理装置から当該コンテンツ情報を取得することを特徴とする請求項１乃至４の何れか一項に記載の配信システム。
【請求項６】
前記第一又は前記第二の前記情報処理装置は、
前記コンテンツ情報に複数のコンテンツデータの識別情報が含まれている場合には、夫々の前記コンテンツデータ又は前記コンテンツデータ中の部分データを保存している前記情報処理装置の数に応じた値を示す保存数情報を取得する第三取得手段と、
前記第三取得手段により取得された各前記保存数情報に示される値の差を決定する決定手段と、
前記決定手段により決定された差が閾値以上であるか否かを判定する判定手段と、
前記判定手段により前記差が閾値以上であると判定された場合には、前記保存数情報に示される値が少ない方の前記コンテンツデータ又は前記部分データを所定の前記情報処理装置に保存させる処理を行う制御手段と、
を更に備えることを特徴とする請求項１乃至５の何れか一項に記載の配信システム。
【請求項７】
前記コンテンツデータには、前記部分データの利用を許可するか否かを示す許否情報が付与されており、
前記生成手段は、前記コンテンツデータに付与された前記許否情報に前記部分データの利用を許可することが示されている場合にのみ、当該コンテンツデータの識別情報と、当該コンテンツデータ中の出力位置を示す位置情報と、を含むコンテンツ情報を生成することを特徴とする請求項１から請求項６のいずれか一項に記載の配信システム。
【請求項８】
ネットワークを介して互いに通信可能な複数の情報処理装置を備え、１つ以上の情報処理装置にコンテンツデータが保存され、各情報処理装置はコンテンツデータに付与された固有の識別情報に基づいて他の情報処理装置から当該コンテンツデータを取得するように構成された配信システムにおける前記情報処理装置であって、
前記１つ以上の情報処理装置に保存されている１つ以上のコンテンツデータの識別情報と、前記識別情報に対応するコンテンツデータ中の出力位置を示す位置情報と、を含むコンテンツ情報を生成する生成手段と、
前記生成手段により生成されたコンテンツ情報を、所定の前記情報処理装置に送信する送信手段と、
を備えることを特徴とする情報処理装置。
【請求項９】
ネットワークを介して互いに通信可能な複数の情報処理装置を備え、１つ以上の情報処理装置にコンテンツデータが保存され、各情報処理装置はコンテンツデータに付与された固有の識別情報に基づいて他の情報処理装置から当該コンテンツデータを取得するように構成された配信システムにおける前記情報処理装置であって、
前記第一の前記情報処理装置又は前記所定の前記情報処理装置から前記コンテンツ情報を取得する第一取得手段と、
前記第一取得手段により取得されたコンテンツ情報に含まれる前記位置情報に基づいて前記コンテンツデータ中の出力位置を含む部分データを決定する決定手段と、
前記決定手段により決定された前記部分データを取得する第二取得手段と、
を備えることを特徴とする情報処理装置。
【請求項１０】
ネットワークを介して互いに通信可能な複数の情報処理装置を備え、１つ以上の情報処理装置にコンテンツデータが保存され、各情報処理装置はコンテンツデータに付与された固有の識別情報に基づいて他の情報処理装置から当該コンテンツデータを取得するように構成された配信システムにおける前記情報処理装置に含まれるコンピュータに、
前記１つ以上の情報処理装置に保存されている１つ以上のコンテンツデータの識別情報と、前記識別情報に対応するコンテンツデータ中の出力位置を示す位置情報と、を含むコンテンツ情報を生成するステップと、
前記生成されたコンテンツ情報を、所定の前記情報処理装置に送信するステップと、
を実行させるための情報処理プログラム。
【請求項１１】
ネットワークを介して互いに通信可能な複数の情報処理装置を備え、１つ以上の情報処理装置にコンテンツデータが保存され、各情報処理装置はコンテンツデータに付与された固有の識別情報に基づいて他の情報処理装置から当該コンテンツデータを取得するように構成された配信システムにおける前記情報処理装置に含まれるコンピュータに、
前記第一の前記情報処理装置又は前記所定の前記情報処理装置から前記コンテンツ情報を取得するステップと、
前記取得されたコンテンツ情報に含まれる前記位置情報に基づいて前記コンテンツデータ中の出力位置を含む部分データを決定するステップと、
前記決定された前記部分データを取得するステップと、
を実行させるための情報処理プログラム。
【請求項１２】
ネットワークを介して互いに通信可能な複数の情報処理装置を備え、１つ以上の情報処理装置にコンテンツデータが保存され、各情報処理装置はコンテンツデータに付与された固有の識別情報に基づいて他の情報処理装置から当該コンテンツデータを取得するように構成された配信システムにおけるコンテンツ取得方法であって、
前記コンテンツ取得方法は、
第一の前記情報処理装置が、前記１つ以上の情報処理装置に保存されている１つ以上のコンテンツデータの識別情報と、前記識別情報に対応するコンテンツデータ中の出力位置を示す位置情報と、を含むコンテンツ情報を生成するステップと、
第一の前記情報処理装置が、前記生成されたコンテンツ情報を、所定の前記情報処理装置に送信するステップと、
第二の前記情報処理装置が、前記第一の前記情報処理装置又は前記所定の前記情報処理装置から前記コンテンツ情報を取得するステップと、
第二の前記情報処理装置が、前記取得されたコンテンツ情報に含まれる前記位置情報に基づいて前記コンテンツデータ中の出力位置を含む部分データを決定するステップと、
第二の前記情報処理装置が、前記決定された前記部分データを取得するステップと、
を含むことを特徴とするコンテンツ取得方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたピアツーピア（Peer to Peer（P2P））型の配信システムの技術分野に関する。
【背景技術】
【０００２】
近年、ピアツーピア型の配信システムが知られている。ピアツーピア型の配信システムは、複数のコンテンツデータを複数のノード装置に分散して保存させ、各ノード装置間でコンテンツデータを利用可能としたシステムである。以下、コンテンツデータを「コンテンツ」という。ピアツーピア型の配信システムでは、クライアント・サーバ型の配信システムのようなサーバへの負荷集中を軽減することができる。また、ピアツーピア型の配信システムにおいて分散保存されたコンテンツの所在は、例えば特許文献１に開示されるような分散ハッシュテーブルを利用して効率良く検索可能になっている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−１９７４００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、上述した配信システムにおいて分散保存されているコンテンツの一部が編集され、編集されたコンテンツが配信システムにおけるノード装置に保存される場合がある。このような場合、編集前のコンテンツと編集後のコンテンツの双方が配信システム内に保存される。このため、編集前と編集後のコンテンツで重複した部分が配信システム内に存在することになる。そのため、配信システム内においてコンテンツを保存するための記憶領域を無駄に消費するという問題が生じる。このような問題は、各ノード装置によるコンテンツの迅速な取得を妨げる要因に繋がる可能性がある。
【０００５】
そこで、本発明は、以上の点等に鑑みてなされたものであり、配信システム内に、より効率良くコンテンツを保存させ、各ノード装置によるコンテンツの迅速な取得を向上させることが可能な配信システム、情報処理装置、情報処理プログラム、及びコンテンツ取得方法を提供すること等を課題とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、請求項１に記載の発明は、ネットワークを介して互いに通信可能な複数の情報処理装置を備え、１つ以上の情報処理装置にコンテンツデータが保存され、各情報処理装置はコンテンツデータに付与された固有の識別情報に基づいて他の情報処理装置から当該コンテンツデータを取得するように構成された配信システムであって、第一の前記情報処理装置は、前記１つ以上の情報処理装置に保存されている１つ以上のコンテンツデータの識別情報と、前記識別情報に対応するコンテンツデータ中の出力位置を示す位置情報と、を含むコンテンツ情報を生成する生成手段と、前記生成手段により生成されたコンテンツ情報を、所定の前記情報処理装置に送信する送信手段と、を備え、第二の前記情報処理装置は、前記第一の前記情報処理装置又は前記所定の前記情報処理装置から前記コンテンツ情報を取得する第一取得手段と、前記第一取得手段により取得されたコンテンツ情報に含まれる前記位置情報に基づいて前記コンテンツデータ中の出力位置を含む部分データを決定する決定手段と、前記決定手段により決定された前記部分データを取得する第二取得手段と、を備えることを特徴とする。
【０００７】
請求項２に記載の発明は、請求項１に記載の配信システムにおいて、前記生成手段は、前記１つ以上の情報処理装置に保存されている複数のコンテンツデータの識別情報と、複数の前記識別情報夫々に対応するコンテンツデータ中の出力位置を示す位置情報と、を含むコンテンツ情報を生成し、前記決定手段は、前記第一取得手段により取得されたコンテンツ情報に含まれる前記位置情報に基づいて、各前記コンテンツデータ中の出力位置を含む部分データに対応する識別情報を決定し、前記第二取得手段は、前記決定手段により決定された識別情報に基づいて、前記部分データを取得し、前記第二の前記情報処理装置は、前記第二取得手段により取得された複数の前記部分データを繋げたコンテンツデータを出力する出力手段を更に備えることを特徴とする。
【０００８】
請求項３に記載の発明は、請求項１または２に記載の配信システムにおいて、前記生成手段は、前記コンテンツデータの識別情報と、前記識別情報に対応するコンテンツデータ中の出力の開始位置を示す位置情報と、を含むコンテンツ情報を生成し、前記決定手段は、前記第一取得手段により取得された前記位置情報に示される前記開始位置に基づいて、前記コンテンツデータ中の出力の開始位置を含む部分データに対応する識別情報を決定し、前記第二取得手段は、前記決定手段により決定された前記識別情報に基づいて他の前記情報処理装置から、前記開始位置を含む前記部分データを取得することを特徴とする。
【０００９】
請求項４に記載の発明は、請求項３に記載の配信システムにおいて、前記生成手段は、前記コンテンツデータの識別情報と、前記識別情報に対応するコンテンツデータ中の出力の開始位置及び前記コンテンツデータ中の出力の終了位置とを示す位置情報と、を含むコンテンツ情報を生成し、前記決定手段は、前記第一取得手段により取得された前記位置情報に示される前記開始位置及び前記終了位置に基づいて、前記コンテンツデータ中の前記開始位置から前記終了位置を含む部分データに対応する識別情報を決定し、前記第二取得手段は、前記決定手段により決定された前記識別情報に基づいて他の前記情報処理装置から、前記開始位置から前記終了位置を含む前記部分データを取得することを特徴とする。
【００１０】
請求項５に記載の発明は、請求項１乃至４の何れか一項に記載の配信システムにおいて、前記配信システムは、前記ネットワークに接続された前記複数の情報処理装置により形成されたオーバーレイネットワークを有し、前記コンテンツ情報は、固有の識別情報が付与されて前記オーバーレイネットワークを形成する何れかの前記情報処理装置に保存されており、前記第一取得手段は、前記コンテンツ情報に付与された固有の識別情報を取得し、当該取得した識別情報に基づいて前記オーバーレイネットワークを介して他の前記情報処理装置から当該コンテンツ情報を取得することを特徴とする。
【００１１】
請求項６に記載の発明は、請求項１乃至５の何れか一項に記載の配信システムにおいて、前記コンテンツ情報に複数の前記コンテンツデータの識別情報が含まれている場合には、夫々の前記コンテンツデータ又は前記コンテンツデータ中の部分データを保存している前記情報処理装置の数に応じた値を示す保存数情報を取得する第三取得手段と、前記第三取得手段により取得された各前記保存数情報に示される値の差を決定する決定手段と、前記決定手段により決定された差が閾値以上であるか否かを判定する判定手段と、前記判定手段により前記差が閾値以上であると判定された場合には、前記保存数情報に示される値が少ない方の前記コンテンツデータ又は前記部分データを所定の前記情報処理装置に保存させる処理を行う制御手段と、を更に備えることを特徴とする。
【００１２】
請求項７に記載の発明は、請求項１から請求項６のいずれか一項に記載の配信システムにおいて、前記コンテンツデータには、前記部分データの利用を許可するか否かを示す許否情報が付与されており、前記生成手段は、前記コンテンツデータに付与された前記許否情報に前記部分データの利用を許可することが示されている場合にのみ、当該コンテンツデータの識別情報と、当該コンテンツデータ中の出力位置を示す位置情報と、を含むコンテンツ情報を生成することを特徴とする。
【００１３】
請求項８に記載の発明は、ネットワークを介して互いに通信可能な複数の情報処理装置を備え、１つ以上の情報処理装置にコンテンツデータが保存され、各情報処理装置はコンテンツデータに付与された固有の識別情報に基づいて他の情報処理装置から当該コンテンツデータを取得するように構成された配信システムにおける前記情報処理装置であって、前記１つ以上の情報処理装置に保存されている１つ以上のコンテンツデータの識別情報と、前記識別情報に対応するコンテンツデータ中の出力位置を示す位置情報と、を含むコンテンツ情報を生成する生成手段と、前記生成手段により生成されたコンテンツ情報を、所定の前記情報処理装置に送信する送信手段と、を備えることを特徴とする。
【００１４】
請求項９に記載の発明は、ネットワークを介して互いに通信可能な複数の情報処理装置を備え、１つ以上の情報処理装置にコンテンツデータが保存され、各情報処理装置はコンテンツデータに付与された固有の識別情報に基づいて他の情報処理装置から当該コンテンツデータを取得するように構成された配信システムにおける前記情報処理装置であって、前記第一の前記情報処理装置又は前記所定の前記情報処理装置から前記コンテンツ情報を取得する第一取得手段と、前記第一取得手段により取得されたコンテンツ情報に含まれる前記位置情報に基づいて前記コンテンツデータ中の出力位置を含む部分データを決定する決定手段と、前記決定手段により決定された前記部分データを取得する第二取得手段と、を備えることを特徴とする。
【００１５】
請求項１０に記載の発明は、ネットワークを介して互いに通信可能な複数の情報処理装置を備え、１つ以上の情報処理装置にコンテンツデータが保存され、各情報処理装置はコンテンツデータに付与された固有の識別情報に基づいて他の情報処理装置から当該コンテンツデータを取得するように構成された配信システムにおける前記情報処理装置に含まれるコンピュータに、前記１つ以上の情報処理装置に保存されている１つ以上のコンテンツデータの識別情報と、前記識別情報に対応するコンテンツデータ中の出力位置を示す位置情報と、を含むコンテンツ情報を生成するステップと、前記生成されたコンテンツ情報を、所定の前記情報処理装置に送信するステップと、を実行させるための情報処理プログラムである。
【００１６】
請求項１１に記載の発明は、ネットワークを介して互いに通信可能な複数の情報処理装置を備え、１つ以上の情報処理装置にコンテンツデータが保存され、各情報処理装置はコンテンツデータに付与された固有の識別情報に基づいて他の情報処理装置から当該コンテンツデータを取得するように構成された配信システムにおける前記情報処理装置に含まれるコンピュータに、前記第一の前記情報処理装置又は前記所定の前記情報処理装置から前記コンテンツ情報を取得するステップと、前記取得されたコンテンツ情報に含まれる前記位置情報に基づいて前記コンテンツデータ中の出力位置を含む部分データを決定するステップと、前記決定された前記部分データを取得するステップと、を実行させるための情報処理プログラムである。
【００１７】
請求項１２に記載の発明は、ネットワークを介して互いに通信可能な複数の情報処理装置を備え、１つ以上の情報処理装置にコンテンツデータが保存され、各情報処理装置はコンテンツデータに付与された固有の識別情報に基づいて他の情報処理装置から当該コンテンツデータを取得するように構成された配信システムにおけるコンテンツ取得方法であって、前記コンテンツ取得方法は、第一の前記情報処理装置が、前記１つ以上の情報処理装置に保存されている１つ以上のコンテンツデータの識別情報と、前記識別情報に対応するコンテンツデータ中の出力位置を示す位置情報と、を含むコンテンツ情報を生成するステップと、第一の前記情報処理装置が、前記生成されたコンテンツ情報を、所定の前記情報処理装置に送信するステップと、第二の前記情報処理装置が、前記第一の前記情報処理装置又は前記所定の前記情報処理装置から前記コンテンツ情報を取得するステップと、第二の前記情報処理装置が、前記取得されたコンテンツ情報に含まれる前記位置情報に基づいて前記コンテンツデータ中の出力位置を含む部分データを決定するステップと、第二の前記情報処理装置が、前記決定された前記部分データを取得するステップと、を含むことを特徴とする。
【発明の効果】
【００１８】
請求項１、８乃至１２に記載の発明によれば、情報処理装置は、コンテンツ情報が含む出力位置に基づいて、配信システム内に保存されているコンテンツデータ中から、出力位置に対応する部分データを取得する。そのため、重複するコンテンツデータの保存を低減し、より効率良くコンテンツデータを配信システム内に保存させることができる。その結果、各ノード装置によるコンテンツの迅速な取得を向上させることができる。
【００１９】
請求項２に記載の発明によれば、複数のコンテンツデータを利用して、複数の部分データを繋げたコンテンツデータを出力することができる。
【００２０】
請求項３に記載の発明によれば、コンテンツデータ中の出力の開始位置から部分データを効率良く決定することができる。
【００２１】
請求項４に記載の発明によれば、コンテンツデータ中の出力の開始位置と終了位置から部分データを効率良く決定することができる。
【００２２】
請求項５に記載の発明によれば、情報処理装置はオーバーレイネットワークを介してコンテンツ情報を容易に取得することができる。
【００２３】
請求項６に記載の発明によれば、人気の偏り等でコンテンツ情報に示される各コンテンツデータを保存している情報処理装置の数にアンバランスがあっても、当該アンバランスを解消することができる。
【００２４】
請求項７に記載の発明によれば、部分データの利用が不許可であるコンテンツデータについては改変を防止することができる。
【図面の簡単な説明】
【００２５】
【図１】本実施形態に係るコンテンツ配信システムの概要構成例を示す図である。
【図２】合成コンテンツの一例を示す図である。
【図３】コンテンツ管理サーバＭＳの概要構成例を示すブロック図である。
【図４】ノードＮｎの概要構成例を示すブロック図である。
【図５】（Ａ）は、ノードＮｎの制御部１１における合成コンテンツの投入要求処理を示すフローチャートである。（Ｂ）は、コンテンツ管理サーバＭＳの制御部１における合成コンテンツの投入処理を示すフローチャートである。
【図６】ノードＮｎの制御部１１における合成コンテンツの生成処理を示すフローチャートである。
【図７】（Ａ）は、コンテンツ管理サーバＭＳの制御部１又はノードＮｎの制御部１１におけるキャッシュアンバランス解消処理を示すフローチャートである。（Ｂ）は、キャッシュバランスメッセージを受信したノードＮｎの制御部１１の処理を示すフローチャートである。
【発明を実施するための形態】
【００２６】
以下、本発明の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、コンテンツ配信システムに本発明を適用した場合の実施形態である。
［１．コンテンツ配信システムの構成及び動作概要］
始めに、図１を参照して、本実施形態に係るコンテンツ配信システムの構成及び動作概要について説明する。
【００２７】
図１は、本実施形態に係るコンテンツ配信システムの概要構成例を示す図である。
【００２８】
図１に示すように、本実施形態に係るコンテンツ配信システムＳは、コンテンツ管理サーバＭＳ、及び複数のノード装置Ｎｎ（ｎ＝１，２，３・・・ｋの何れか）等を備えて構成されている。コンテンツ管理サーバＭＳ及び各ノード装置Ｎｎは、インターネット等からなるネットワークＮＷに接続されている。なお、ノード装置を、以下、「ノード」という。また、コンテンツ管理サーバＭＳは、本発明の第一の情報処理装置の一例である。また、ノードＮｎは、本発明の第二の情報処理装置の一例である。また、各ノードＮｎには固有の識別情報であるノードＩＤが割り当てられている。
【００２９】
コンテンツ配信システムＳには、オーバーレイネットワークＯＮが形成されている。オーバーレイネットワークＯＮは、ネットワークＮＷを介して複数のノードＮｎにより形成される仮想的なリンクを構成する論理的なネットワークである。
【００３０】
オーバーレイネットワークＯＮは、特定のアルゴリズム、例えば、分散ハッシュテーブルを利用したアルゴリズムにより実現される。分散ハッシュテーブルを、以下、「ＤＨＴ（Distributed Hash Table）」という。なお、ＤＨＴを用いたルーティングテーブルについては、特開２００６−１９７４００号公報等で公知であるので、詳しい説明を省略する。
【００３１】
また、オーバーレイネットワークＯＮに参加している複数のノードＮｎには、内容の異なる様々なコンテンツが分散されて保存されている。例えば、コンテンツには、映画、音楽、番組のコンテンツ等がある。各コンテンツには固有の識別情報であるコンテンツＩＤが割り当てられている。また、データ量が所定値より大きいコンテンツは、複数のチャンクに分割される。一つのチャンクは、例えば数Ｍバイトのデータ量を有する。そして、各チャンクは複数のノードＮｎに分散されて保存されている。例えば、ノードＮ１には、コンテンツＸを構成するチャンクＸ１が保存されている。また、ノードＮ２には、コンテンツＸを構成するチャンクＸ２が保存されている。また、コンテンツＸを構成する全てのチャンクを保存するノードＮｎも存在する。各チャンクには固有の識別情報であるチャンクＩＤが割り当てられている。また、コンテンツを構成する各チャンクのチャンクＩＤは、例えば、このコンテンツのメタファイルに記述されている。また、コンテンツのメタファイルには、各チャンクのデータ量を示す情報が記述されている。そして、各コンテンツのメタファイルは、複数のノードＮｎに分散されて保存されている。なお、メタファイルには、これに対応するコンテンツのコンテンツＩＤが割り当てられている。
【００３２】
さらに、各ノードＮｎは、オーバーレイネットワークＯＮを介して取得可能な１つ以上のコンテンツ中の複数の部分データを用いて構成されるコンテンツを生成することができる。このようなコンテンツを、以下、「合成コンテンツ」という。また、合成コンテンツ以外の通常のオリジナルのコンテンツを、以下、「通常コンテンツ」という。
【００３３】
図２は、合成コンテンツの一例を示す図である。図２（Ａ）に示す合成コンテンツαは、通常コンテンツＸの部分データＸａと部分データＸｃとから構成される。一方、図２（Ｂ）に示す合成コンテンツβは、通常コンテンツＹの部分データＹａと、通常コンテンツＺの部分データＺｂとから構成される。これらの各合成コンテンツにも固有のコンテンツＩＤが割り当てられる。
【００３４】
そして、合成コンテンツを構成するための情報を含むコンテンツが、通常のコンテンツと同様、複数のノードＮｎに分散されて保存される。合成コンテンツを構成するための情報を含むコンテンツを、以下、「構成情報コンテンツ」という。構成情報コンテンツは、コンテンツ情報の一例である。なお、合成コンテンツと、この合成コンテンツを構成するための構成情報コンテンツには、同一のコンテンツＩＤが割り当てられる。
【００３５】
ここで、構成情報コンテンツには、例えば、合成コンテンツの素材となる通常コンテンツのコンテンツＩＤと、このコンテンツＩＤに対応する通常コンテンツ中の出力位置を示す位置情報と、が含まれる。通常コンテンツのコンテンツＩＤと、通常コンテンツの出力位置を示す位置情報とは対応付けられる。合成コンテンツの素材となる通常コンテンツは、合成コンテンツを構成する部分データを有するコンテンツである。また、通常コンテンツ中の出力位置を示す位置情報は、通常コンテンツ中の出力位置を含む部分データを決定するための情報である。
【００３６】
なお、データ量が所定値より大きい構成情報コンテンツは、通常コンテンツと同様、複数のチャンクに分割される。そして、構成情報コンテンツの各チャンクは複数のノードＮｎに分散されて保存される。また、構成情報コンテンツを構成する各チャンクのチャンクＩＤは、例えば、構成情報コンテンツのメタファイルに記述されている。そして、構成情報コンテンツのメタファイルは、複数のノードＮｎに分散されて保存される。
【００３７】
なお、以下の説明において、単に「コンテンツ」という場合、通常コンテンツと構成情報コンテンツの双方を意味するものとする。
【００３８】
ここで、コンテンツ、コンテンツのメタファイル、及びチャンクの少なくとも一つを保存しているノードＮｎを、以下、「コンテンツ保持ノード」という。また、コンテンツのメタファイル、又はチャンクの所在を示す情報は、インデックス情報として、コンテンツの所在を管理しているノードＮｎに記憶される。コンテンツの所在を管理しているノードＮｎを、以下、「ルートノード」という。このインデックス情報には、コンテンツ又はコンテンツのメタファイルを保存しているコンテンツ保持ノードのノード情報と、コンテンツ又はコンテンツのメタファイルのコンテンツＩＤとの組が含まれる。又は、このインデックス情報には、チャンクを保存しているコンテンツ保持ノードのノード情報と、このチャンクのチャンクＩＤとの組が含まれる。ノード情報には、コンテンツ保持ノードのＩＰアドレス、ポート番号、及びノードＩＤが含まれる。ルートノードは、例えば、コンテンツＩＤ又はチャンクＩＤと最も近いノードＩＤが割り当てられたノードＮｎであるように定められる。コンテンツＩＤ又はチャンクＩＤと最も近いノードＩＤとは、例えば、ＩＤの上位桁が最も多く一致するノードＩＤである。
［２．コンテンツ管理サーバＭＳの構成及び機能］
次に、図３を参照して、コンテンツ管理サーバＭＳの構成及び機能について説明する。図３は、コンテンツ管理サーバＭＳの概要構成例を示すブロック図である。
【００３９】
コンテンツ管理サーバＭＳは、図３に示すように、制御部１、記憶部２、及び通信部３等を備えて構成される。制御部１、記憶部２、及び通信部３はバス４を介して相互に接続されている。
【００４０】
記憶部２は、例えばハードディスクドライブ等から構成される。記憶部２には、オペレーティングシステム、及び情報処理プログラム等が記憶されている。なお、情報処理プログラムは、例えば、ネットワークＮＷに接続された所定のサーバからダウンロードされるようにしても良い。或いは、情報処理プログラムは、例えば、記録媒体に記録されて当該記録媒体のドライブを介して読み込まれるようにしても良い。
【００４１】
また、記憶部２には、通常コンテンツのレコード及び合成コンテンツのレコードを含むコンテンツカタログ情報、及びＤＨＴを用いたルーティングテーブル等が記憶されている。通常コンテンツのレコードには、通常コンテンツのコンテンツＩＤ、コンテンツ名、公開開始日時、公開終了日時、キーワード及び特殊キーワードが記述されている。
【００４２】
ここで、公開開始日時は、各ノードＮｎにより通常コンテンツがコンテンツ配信システムＳで利用開始となる利用開始日時である。一方、公開終了日時は、各ノードＮｎにより通常コンテンツがコンテンツ配信システムＳで利用終了となる利用終了日時である。言い換えれば、公開終了日時は通常コンテンツの有効期限である。各ノードＮｎは、通常コンテンツのレコードを公開開始日時から公開終了日時までの期間内にコンテンツカタログ情報から検索することができる。また、キーワードは、ノードＮｎのユーザがコンテンツカタログ情報中から所望の通常コンテンツのレコードを検索するための情報である。キーワードの例としては、通常コンテンツのジャンルや年齢層等の属性情報が挙げられる。また、通常コンテンツには、通常コンテンツ中の部分データの利用を許可するか否かを示す許否情報が付与されている。特殊キーワードには、この許否情報として、例えば、通常コンテンツ中の部分データを、合成コンテンツ生成用に利用を許可する者の範囲を規定する権利情報が含まれる。この権利情報は、通常コンテンツの編集に係る著作権管理を行うための情報である。例えば、権利情報には、通常コンテンツ中の部分データを合成コンテンツ生成用に利用できる者を識別する利用者ＩＤが記述される。このような者としては、例えば通常コンテンツの提供者等が挙げられる。特に合成コンテンツ生成用に利用できる者を限定しない通常コンテンツの権利情報には、編集フリーを示すフラグが記述される。
【００４３】
なお、通常コンテンツのメタファイルに記述される情報が、この通常コンテンツのレコード内に記述されるように構成しても良い。
【００４４】
一方、合成コンテンツのレコードには、合成コンテンツのコンテンツＩＤ、及び特殊キーワードが記述されている。ここで、特殊キーワードには、合成コンテンツのレコードであることを示す識別子が含まれる。この識別子は、合成コンテンツのレコードを、通常コンテンツのレコードと区別するための情報である。
【００４５】
なお、合成コンテンツのレコードに記述される特殊キーワードに、この合成コンテンツに対応する構成情報コンテンツが含まれるように構成しても良い。この場合、構成情報コンテンツを複数のノードＮｎに分散保存させる必要がない。ただし、構成情報コンテンツを特殊キーワードに含ませるよりも、複数のノードＮｎに分散保存させた方が望ましい。これは、複数のノードＮｎに分散保存させた方が、コンテンツカタログ情報のデータ量を低減することができるためのである。
【００４６】
そして、上述したレコードは、通常コンテンツ又は構成情報コンテンツがコンテンツ配信システムＳ内に投入される際に生成される。そして、生成されたレコードを含むコンテンツカタログ情報はコンテンツ管理サーバＭＳから各ノードＮｎに配信される。ここで、コンテンツの投入とは、オーバーレイネットワークＯＮに参加している所定のノードＮｎにコンテンツ又はコンテンツのメタファイルが送信され保存されることをいう。
【００４７】
通信部３は、ネットワークＮＷを通じてノードＮｎ等との間の情報の通信制御を行う。
【００４８】
制御部１は、演算機能を有するＣＰＵ，作業用ＲＡＭ，及びＲＯＭ等から構成される。そして、制御部１は、ＣＰＵが記憶部２等に記憶された情報処理プログラムを読み出して実行することにより、後述する処理を行う。なお、制御部１は、本発明における生成手段、送信手段、第三取得手段、算出手段、判定手段、及び制御手段の一例である。
［３．ノードＮｎの構成及び機能］
次に、図４を参照して、ノードＮｎの構成及び機能について説明する。
【００４９】
図４は、ノードＮｎの概要構成例を示すブロック図である。
【００５０】
ノードＮｎは、図４に示すように、制御部１１、記憶部１２、バッファメモリ１３、デコーダ部１４、映像処理部１５、表示部１６、音声処理部１７、スピーカ１８、通信部１９、及び入力部１９ａ等を備えて構成される。制御部１１、記憶部１２、バッファメモリ１３、デコーダ部１４、映像処理部１５、表示部１６、音声処理部１７、通信部１９、及び入力部１９ａは、バス１９ｂを介して相互に接続されている。なお、ノードＮｎとしては、パーソナルコンピュータ、ＳＴＢ（Set Top Box）、ＴＶ受信機、或いは、カラオケ装置等が適用可能である。
【００５１】
記憶部１２は、例えばハードディスクドライブ等から構成される。記憶部１２には、オペレーティングシステム、及び情報処理プログラム等が記憶されている。なお、情報処理プログラムは、例えば、ネットワークＮＷに接続された所定のサーバからダウンロードされるようにしても良い。或いは、情報処理プログラムは、例えば、記録媒体に記録されて当該記録媒体のドライブを介して読み込まれるようにしても良い。
【００５２】
また、記憶部１２には、コンテンツ保持ノード、又はコンテンツ管理サーバＭＳから取得されたコンテンツ又はコンテンツのメタファイル、更にはチャンクが記憶、保存されている。更に、オーバーレイネットワークＯＮに参加しているノードＮｎの記憶部１２には、コンテンツカタログ情報及びＤＨＴを用いたルーティングテーブル等が記憶されている。
【００５３】
バッファメモリ１３は、受信されたコンテンツ又はチャンクを一時的に蓄積する。デコーダ部１４は、通常コンテンツ又はチャンクに含まれる映像データ及び音声データ等のデータ伸張や復号化等のデコード処理を行う。映像処理部１５は、デコーダ部１４によりデコードされた映像データ等に対して所定の描画処理を施し映像信号として出力する。表示部１６は、映像処理部１５から出力された映像信号に基づきディスプレイに映像等を表示出力する。又は、表示部１６は、デコーダ部１４によりデコードされた画像を表示出力する。音声処理部１７は、デコーダ部１４によりデコードされた音声データをアナログ音声信号にＤ（Digital）／Ａ（Analog）変換した後これをアンプにより増幅して出力する。スピーカ１８は、音声処理部１７から出力された音声信号を音波として出力する。
【００５４】
通信部１９は、ネットワークＮＷを通じてコンテンツ管理サーバＭＳ及び他のノードＮｎ等との間の情報の通信制御を行う。
【００５５】
制御部１１は、演算機能を有するＣＰＵ，作業用ＲＡＭ，及びＲＯＭ等から構成される。また、制御部１１は、時計機能を有する。そして、制御部１１は、ＣＰＵが記憶部１２等に記憶された情報処理プログラムを読み出して実行することにより、後述する処理を行う。なお、制御部１１は、本発明における第一取得手段、決定手段、第二取得手段、第三取得手段、算出手段、判定手段、制御手段、及び出力手段の一例である。
［４．コンテンツ配信システムＳの動作］
次に、本実施形態に係るコンテンツ配信システムＳの動作について説明する。
（４−１．合成コンテンツを構成するための構成情報コンテンツの投入動作）
先ず、図５を参照して、構成情報コンテンツの投入動作について説明する。
【００５６】
図５（Ａ）は、ノードＮｎの制御部１１における構成情報コンテンツの投入要求処理を示すフローチャートである。図５（Ｂ）は、コンテンツ管理サーバＭＳの制御部１における構成情報コンテンツの投入処理を示すフローチャートである。
【００５７】
構成情報コンテンツの投入を要求する利用者が、例えば、自身のノードＮｎの入力部１９ａを操作して、コンテンツ管理サーバＭＳにより提供されるコンテンツ投入サイトのＵＲＬを指定すると、図５（Ａ）の処理が開始される。構成情報コンテンツの投入を要求する利用者としては、例えば合成コンテンツの素材となる通常コンテンツの作成者や提供者、或いはその他一般ユーザ等が挙げられる。
【００５８】
図５（Ａ）に示す処理が開始されると、ノードＮｎの制御部１１は、ネットワークＮＷを介してコンテンツ管理サーバＭＳにアクセスしログイン要求メッセージを送信する（ステップＳ１）。このログイン要求メッセージには、利用者の利用者ＩＤ及びパスワードが含まれる。
【００５９】
次いで、コンテンツ管理サーバＭＳの制御部１は、ノードＮｎからのログイン要求メッセージを受信すると、図５（Ｂ）に示す処理を開始し、ログイン処理を行う（ステップＳ２）。ログイン処理において、ログイン要求メッセージに含まれる利用者ＩＤ及びパスワードがデータベースに登録されていれば、利用者のログインがなされる。そして、ログインがなされると、制御部１は、ネットワークＮＷを介して構成情報コンテンツ指定画面のデータをノードＮｎに送信する（ステップＳ３）。
【００６０】
次いで、ノードＮｎの制御部１１は、コンテンツ管理サーバＭＳからの構成情報コンテンツ指定画面のデータを受信すると（ステップＳ４）、構成情報コンテンツ指定画面を表示部１６に表示する（ステップＳ５）。利用者は入力部１９ａを操作して、表示された構成情報コンテンツ指定画面に設けられた入力欄で、合成コンテンツの素材となる通常コンテンツのコンテンツＩＤと、このコンテンツＩＤに対応する通常コンテンツ中の出力位置を示す位置情報と、を夫々入力又は選択することにより指定する。例えば、利用者が、複数の映画のコンテンツのダイジェストを作成したい場合、各映画の通常コンテンツのコンテンツＩＤと、これらの通常コンテンツ中でダイジェストに挿入したい各部分データの出力の開始位置及び出力の終了位置を示す位置情報を指定する。通常コンテンツが動画像や音楽の場合、出力の開始位置と出力の終了位置は、再生の開始位置と再生の終了位置である。
【００６１】
なお、上記各映画のコンテンツのコンテンツＩＤは、例えばノードＮｎに事前に配信されたコンテンツカタログ情報からキーワードを用いて検索することができる。また、出力の開始位置及び出力の終了位置は、夫々例えば通常コンテンツの先頭位置からのバイト数で指定することができる。
【００６２】
また、複数の部分データが指定される場合、利用者は入力部１９ａを操作して、各部分データの出力順序を指定することもできる。例えば、利用者は、各部分データに対応する出力位置を指定する際に、各部分データを出力する順番を指定する。或いは、各部分データの出力位置を指定する順序が、各部分データの出力順序に設定されるように構成しても良い。
【００６３】
制御部１１は、利用者により指定されたコンテンツＩＤ及び位置情報等を受け付けてＲＡＭに記憶する（ステップＳ６）。なお、利用者により各部分データを出力する順番が指定される場合がある。この場合、利用者により指定された各位置情報に対応する各部分データの出力順序を示す順序情報がＲＡＭに記憶される。そして、利用者が入力部１９ａを操作して構成情報コンテンツの投入要求指示を入力すると、制御部１１は、ネットワークＮＷを介して投入要求メッセージをコンテンツ管理サーバＭＳに送信する（ステップＳ７）。この投入要求メッセージは、構成情報コンテンツの投入を要求するためのメッセージである。また、投入要求メッセージには、利用者により指定されたコンテンツＩＤ及び位置情報が含まれる。なお、通常コンテンツのコンテンツＩＤと、この通常コンテンツ中の出力位置を示す位置情報とは対応付けられている。また、順序情報が位置情報に対応付けられてＲＡＭに記憶されている場合、投入要求メッセージには、利用者により指定されたコンテンツＩＤ、位置情報及び順序情報が含まれる。
【００６４】
次いで、コンテンツ管理サーバＭＳの制御部１は、ノードＮｎからの投入要求メッセージを受信する（ステップＳ８）。受信された投入要求メッセージに含まれるコンテンツＩＤ及び位置情報及び順序情報等はＲＡＭに記憶される。
【００６５】
次いで、制御部１は、上記ステップＳ８で受信された投入要求メッセージに含まれるコンテンツＩＤが記述されたレコードを、記憶部２に記憶されているコンテンツカタログ情報から検索し取得する（ステップＳ９）。なお、投入要求メッセージに複数のコンテンツＩＤが含まれる場合には、各コンテンツＩＤに対応するレコードが検索される。
【００６６】
次いで、制御部１は、上記ステップＳ９で取得されたレコードを一つ選択する（ステップＳ１０）。
【００６７】
次いで、制御部１は、上記ステップＳ１０で選択されたレコードから特殊キーワードを抽出する（ステップＳ１１）。
【００６８】
次いで、制御部１は、上記ステップＳ１１で抽出された特殊キーワードに含まれる権利情報中に、上記ログインされた利用者の利用者ＩＤ又は編集フリーを示すフラグが記述されているか否かを判定する（ステップＳ１２）。
【００６９】
そして、制御部１は、権利情報中に上記利用者ＩＤ又は編集フリーを示すフラグが記述されていないと判定した場合には（ステップＳ１２：ＮＯ）、ステップＳ１３に進む。一方、制御部１は、権利情報中に上記利用者ＩＤ又は編集フリーを示すフラグが記述されていると判定した場合には（ステップＳ１２：ＹＥＳ）、ステップＳ１４に進む。例えば、権利情報中に利用者ＩＤが記述されている場合、この利用者ＩＤに対応する利用者に通常コンテンツ中の部分データの利用が許可される。また、権利情報中に編集フリーを示すフラグが記述されている場合、全ての利用者に通常コンテンツ中の部分データの利用が許可される。このように、特殊キーワードに含まれる権利情報に部分データの利用を許可することが示されている場合にのみ、後述するステップＳ１５で構成情報コンテンツが生成される。
【００７０】
ステップＳ１３では、制御部１は、指定された通常コンテンツは合成コンテンツには使用できない旨のエラーメッセージを、上記投入要求メッセージを送信したノードＮｎに送信する。このエラーメッセージは、ノードＮｎの表示部１６に表示される。これにより、部分データの利用が不許可である通常コンテンツについては改変を防止することができる。
【００７１】
ステップＳ１４では、制御部１は、上記ステップＳ９で取得されたレコードのうち、上記ステップＳ１０で未だ選択されていないレコードがあるか否かを判定する。そして、制御部１は、未だ選択されていないレコードがあると判定した場合には（ステップＳ１４：ＹＥＳ）、ステップＳ１０に戻る。ステップＳ１０に戻ると、制御部１は、未だ選択していないレコードを一つ選択し、ステップＳ１１以降の処理を行う。一方、制御部１は、未だ選択されていないレコードがないと判定した場合には（ステップＳ１４：ＮＯ）、ステップＳ１５に進む。
【００７２】
ステップＳ１５では、制御部１は、上記ステップＳ８で受信された投入要求メッセージに含まれるコンテンツＩＤ及び位置情報が記述された構成情報コンテンツを生成する。
【００７３】
図２（Ｂ）に示す例の場合、通常コンテンツＹのコンテンツＩＤと通常コンテンツＺのコンテンツＩＤとが構成情報コンテンツに含まれる。そして、この場合、部分データＹａを決定するための位置情報には、例えば、通常コンテンツＹ中の出力の開始位置Ｐ１と出力の終了位置Ｐ２が示される。一方、部分データＺｂを決定するための位置情報には、例えば、通常コンテンツＺ中の出力の開始位置Ｐ３と出力の終了位置Ｐ４が示される。出力の開始位置と出力の終了位置は、例えば、通常コンテンツの先頭位置からのバイト数で表される。或いは、出力の開始位置と出力の終了位置は、通常コンテンツの先頭位置からの再生時刻で表されるものであっても良い。出力の開始位置と出力の終了位置が位置情報に示されることにより、ノードＮｎは通常コンテンツ中の部分データの範囲を決定することができる。なお、例えば部分データが静止画像や３Ｄモデルのテクスチャ等の場合、出力の開始位置のみが位置情報が示されれば良い。
【００７４】
なお、上記ステップＳ８で受信された投入要求メッセージに、コンテンツＩＤ、位置情報、及び順序情報が記述されている場合がある。この場合、コンテンツＩＤ、位置情報、及び順序情報が、構成情報コンテンツに記述される。図２（Ｂ）に示す例の場合、部分データＹａの出力順序“１番”を示す順序情報が、この部分データＹａに対応する位置情報に対応付けられて構成情報コンテンツに記述される。また、部分データＺｂの出力順序“２番”を示す順序情報が、この部分データＺｂに対応する位置情報に対応付けられて構成情報コンテンツに記述される。  次いで、ステップＳ１５で生成された構成情報コンテンツに固有のコンテンツＩＤを付与する（ステップＳ１６）。このコンテンツＩＤは、構成情報コンテンツに対応する合成コンテンツのコンテンツＩＤでもある。
【００７５】
次いで、制御部１は、上記コンテンツＩＤが付与された構成情報コンテンツをコンテンツ配信システムＳ内に投入する投入処理を行う（ステップＳ１７）。この投入処理では、制御部１は、オーバーレイネットワークＯＮに参加しているノードＮｎのうちノード情報を記憶部２に記憶しているノードＮｎの中から、所定数のノードＮｎを選択する。そして、制御部１は、選択した各ノードＮｎにアクセスし、上記構成情報コンテンツを送信する。
【００７６】
ここで、構成情報コンテンツのデータ量が所定値より大きい場合、この構成情報コンテンツはチャンク単位に分割される。そして、分割された各チャンクには固有のチャンクＩＤが付与される。更に、構成情報コンテンツを構成する各チャンクのチャンクＩＤが記述されたメタファイルが生成される。こうして生成された構成情報コンテンツのメタファイルには、この構成情報コンテンツと同じコンテンツＩＤが付与される。そして、構成情報コンテンツのメタファイル及びこのメタファイルに記述される各チャンクは、上記ステップＳ１７と同じ手順でコンテンツ配信システム内に投入される。
【００７７】
こうして、上記選択されたノードＮｎは、受信した構成情報コンテンツ、構成情報コンテンツのメタファイル、及びチャンクの少なくとも一つを記憶部１２に記憶、保存する。構成情報コンテンツ、構成情報コンテンツのメタファイル、及びチャンクの少なくとも一つを、以下、「コンテンツファイル」という。コンテンツファイルを保存した各ノードＮｎは、のコンテンツ保持ノードとなる。そして、コンテンツファイルを保存した各コンテンツ保持ノードは、コンテンツファイルのパブリッシュ処理を実行する。このパブリッシュ処理は、コンテンツファイルを保存していることを他のノードＮｎに公開するための処理である。このパブリッシュ処理において、各ノードＮｎは、パブリッシュメッセージを生成する。パブリッシュメッセージには、構成情報コンテンツのコンテンツＩＤ、及びコンテンツ保持ノードのＩＰアドレス等が含まれる。又は、パブリッシュメッセージには、チャンクのチャンクＩＤ、及びコンテンツ保持ノードのＩＰアドレス等が含まれる。そして、コンテンツ保持ノードは、生成したパブリッシュメッセージを、ＤＨＴルーティングにより、コンテンツファイルのルートノード宛に送信する。なお、ＤＨＴルーティングは、例えば特開２００７−０５３６６２号公報等で公知であるので、詳しい説明を省略する。パブリッシュメッセージを受信したルートノードは、構成情報コンテンツのコンテンツＩＤとコンテンツ保持ノードのＩＰアドレス等との組を、インデックス情報として記憶部１２のインデックスキャッシュ領域に記憶する。また、パブリッシュメッセージを受信したルートノードは、チャンクのチャンクＩＤとコンテンツ保持ノードのＩＰアドレス等との組を、インデックス情報として記憶部１２のインデックスキャッシュ領域に記憶する。
【００７８】
次いで、制御部１は、上記ステップＳ１５で生成された構成情報コンテンツに対応する合成コンテンツのレコードを生成する（ステップＳ１８）。
【００７９】
次いで、制御部１は、上記ステップＳ１６で構成情報コンテンツに付与されたコンテンツＩＤと、特殊キーワードとを、上記ステップＳ１８で生成されたレコード内に記述する（ステップＳ１９）。この特殊キーワードには、合成コンテンツのレコードであることを示す識別子が含まれる。
【００８０】
次いで、制御部１は、コンテンツＩＤ等が記述された、合成コンテンツのレコードをコンテンツカタログ情報中に追加登録する（ステップＳ２０）。
【００８１】
なお、制御部１は、構成情報コンテンツを投入する代わりに、上記ステップＳ１９において、合成コンテンツのレコードに記述される特殊キーワードに構成情報コンテンツを含ませるように構成しても良い。この場合、上記ステップＳ１７の処理を行う必要がない。
【００８２】
次いで、制御部１は、上記ステップＳ２０で登録された合成コンテンツのレコードを含むコンテンツカタログ情報を、オーバーレイネットワークＯＮに参加しているノードＮｎにＤＨＴマルチキャストで配信し（ステップＳ２１）、図５（Ｂ）に示す処理を終了する。ＤＨＴマルチキャストで配信されるコンテンツカタログ情報には、少なくとも上記ステップＳ２０で登録された合成コンテンツのレコードが含まれるものであれば良い。なお、ＤＨＴマルチキャストは、例えば特開２００７−０５３６６２号公報等で公知であるので、詳しい説明を省略する。
（４−２．合成コンテンツの生成動作）
次に、図６を参照して、合成コンテンツの生成動作について説明する。
【００８３】
図６は、ノードＮｎの制御部１１における合成コンテンツの生成処理を示すフローチャートである。
【００８４】
図６に示す処理は、ノードＮｎの制御部１１がコンテンツＩＤを取得した場合に開始される。ここで、コンテンツＩＤは、例えばノードＮｎがコンテンツ提供サイトにアクセスすることにより提供されたＷｅｂページから取得することができる。このコンテンツ提供サイトは、例えば動画等のコンテンツを提供するためのＷｅｂサイトである。例えば、一般ユーザに広告として合成コンテンツを視聴させたい利用者の指示により、コンテンツ提供サイトから提供されるＷｅｂページを構成する構造化文書に、合成コンテンツのコンテンツＩＤが事前に記述される。構造化文書としては、例えば、ＨＴＭＬ（Hyper Text Markup Language）文書やＸＨＴＭＬ文書等が挙げられる。
【００８５】
或いは、コンテンツＩＤは、ノードＮｎに記憶されているコンテンツカタログ情報からキーワード等により検索されるものであっても良い。
【００８６】
図６に示す処理が開始されると、制御部１１は、取得したコンテンツＩＤが記述されたレコードを、記憶部１２に記憶されているコンテンツカタログ情報から検索し取得する（ステップＳ３１）。
【００８７】
制御部１１は、上記ステップＳ３１で取得されたレコードが合成コンテンツのレコードであるか否かを判定する（ステップＳ３２）。例えば、合成コンテンツのレコードに記述された特殊キーワード中に合成コンテンツのレコードであることを示す識別子が含まれている場合、合成コンテンツのレコードであると判定される。
【００８８】
そして、制御部１１は、合成コンテンツのレコードであると判定した場合には（ステップＳ３２：ＹＥＳ）、ステップＳ３３に進む。一方、制御部１１は、合成コンテンツのレコードでないと判定した場合には（ステップＳ３２：ＮＯ）、ステップＳ４７に進む。
【００８９】
ステップＳ３３では、制御部１１は、合成コンテンツに対応する構成情報コンテンツ又は構成情報コンテンツのメタファイルの取得処理を実行する。この取得処理は、構成情報コンテンツのコンテンツＩＤに基づいて、コンテンツ保持ノード等から構成情報コンテンツ又は構成情報コンテンツのメタファイルを取得する処理である。具体的には、制御部１１は、先ず、コンテンツ所在問合せメッセージを生成する。コンテンツ所在問合せメッセージは、構成情報コンテンツ又は構成情報コンテンツのメタファイルの所在をルートノードに問い合わせるためのメッセージである。また、コンテンツ所在問合せメッセージには、このメッセージを送信するノードＮｎのＩＰアドレス及びポート番号、及び構成情報コンテンツのコンテンツＩＤが含まれる。そして、制御部１１は、生成したコンテンツ所在問合せメッセージを、ＤＨＴルーティングにより、合成コンテンツのルートノード宛に送信する。なお、ＤＨＴルーティングは、例えば特開２００７−０５３６６２号公報等で公知であるので、詳しい説明を省略する。
【００９０】
上記コンテンツ所在問合せメッセージを受信したルートノードは、コンテンツ所在問合せメッセージに含まれるコンテンツＩＤに対応するインデックス情報を取得する。そして、ルートノードは、取得したインデックス情報を、受信したコンテンツ所在問合せメッセージの送信元であるノードＮｎへ返信する。このように返信されたインデックス情報には、構成情報コンテンツ又は構成情報コンテンツのメタファイルを保存しているコンテンツ保持ノードのＩＰアドレス等が含まれている。こうして、上記コンテンツ所在問合せメッセージの送信元のノードＮｎの制御部１１は、ルートノードからのインデックス情報を受信する。そして、制御部１１は、受信されたインデックス情報に含まれるコンテンツ保持ノードのＩＰアドレス等に基づいてコンテンツ保持ノードにアクセスする。そして、制御部１１は、コンテンツ保持ノードから構成情報コンテンツ又は構成情報コンテンツのメタファイルをダウンロードする。ダウンロードとは取得の一例である。なお、コンテンツ保持ノードから構成情報コンテンツ又は構成情報コンテンツのメタファイルがダウンロードできない場合がある。この場合、コンテンツ管理サーバＭＳから構成情報コンテンツ又は構成情報コンテンツのメタファイルがダウンロードされる。
【００９１】
ここで、構成情報コンテンツのメタファイルがダウンロードされた場合、制御部１１は、このメタファイルから各チャンクＩＤを抽出する。そして、制御部１１は、各チャンクＩＤに対応するチャンクの取得処理を実行する。この取得処理は、チャンクのチャンクＩＤに基づいて、コンテンツ保持ノード等からチャンクを取得する処理である。このチャンクの取得処理は、構成情報コンテンツの取得処理と同じ手順で行われる。そして、制御部１１は、チャンクの取得処理により、各チャンクのコンテンツ保持ノードから各チャンクをダウンロードする。なお、コンテンツ保持ノードからチャンクがダウンロードできない場合がある。この場合、コンテンツ管理サーバＭＳからチャンクがダウンロードされる。そして、制御部１１は、ダウンロードされた各チャンクに基づいて構成情報コンテンツを復元する。こうして構成情報コンテンツが取得される。なお、構成情報コンテンツのメタファイル及びチャンクを保存したコンテンツ保持ノードは、構成情報コンテンツのメタファイル及びチャンクのパブリッシュ処理を実行する。
【００９２】
次いで、制御部１１は、取得した構成情報コンテンツから、通常コンテンツのコンテンツＩＤとこれに対応つけられた位置情報を抽出する（ステップＳ３４）。なお、構成情報コンテンツに、各部分データの出力順序を示す順序情報が記述されている場合、各部分データの順序情報も抽出される。
【００９３】
なお、上記ステップＳ３１で取得されたレコードに記述された特殊キーワードに、構成情報コンテンツが記述されている場合がある。この場合、制御部１１は、上記ステップＳ３３の取得処理を行わず、合成コンテンツのレコードに記述された特殊キーワードから、通常コンテンツのコンテンツＩＤ及び位置情報等を抽出することになる。
【００９４】
次いで、制御部１１は、上記ステップＳ３４で抽出されたコンテンツＩＤを一つ選択する（ステップＳ３５）。このコンテンツＩＤは、通常コンテンツのコンテンツＩＤである。
【００９５】
次いで、制御部１１は、上記ステップＳ３５で選択されたコンテンツＩＤが記述されたレコードを、記憶部１２に記憶されているコンテンツカタログ情報から検索し取得する（ステップＳ３６）。
【００９６】
次いで、制御部１１は、上記ステップＳ３６で取得されたレコードから公開開始日時及び公開終了日時を抽出する（ステップＳ３７）。
【００９７】
次いで、制御部１１は、上記ステップＳ３７で抽出された公開開始日時から公開終了日時までの期間内に、現在時刻が含まれるか否かを判定する（ステップＳ３８）。なお、現在時刻は、制御部１１の図示しない時計機能により得られる。そして、制御部１１は、公開開始日時から公開終了日時までの期間内に現在時刻が含まれていないと判定した場合には（ステップＳ３８：ＮＯ）、制御部１１は通常コンテンツの部分データを利用できない旨のエラーメッセージを表示部１６に表示する（ステップＳ３９）。そして、制御部１１は、図６に示す処理を終了する。
【００９８】
一方、制御部１１は、公開開始日時から公開終了日時までの期間内に現在時刻が含まれていると判定した場合には（ステップＳ３８：ＹＥＳ）、ステップＳ４０に進む。
【００９９】
ステップＳ４０では、制御部１１は、上記ステップＳ３５で選択されたコンテンツＩＤに対応する通常コンテンツのメタファイルの取得処理を実行する。この取得処理は、通常コンテンツのコンテンツＩＤに基づいて、コンテンツ保持ノード等から通常コンテンツのメタファイルを取得する処理である。この通常コンテンツのメタファイルの取得処理は、構成情報コンテンツのメタファイルの取得処理と同じ手順で行われる。そして、制御部１１は、通常コンテンツのメタファイルの取得処理により、コンテンツ保持ノードから通常コンテンツのメタファイルをダウンロードする。なお、コンテンツ保持ノードから通常コンテンツのメタファイルがダウンロードできない場合がある。この場合、コンテンツ管理サーバＭＳから通常コンテンツのメタファイルがダウンロードされる。
【０１００】
なお、通常コンテンツのメタファイルに記述される情報が、この通常コンテンツのレコードに記述されている場合、制御部１１は、コンテンツ保持ノードから通常コンテンツのメタファイルをダウンロードしなくても良い。
【０１０１】
次いで、制御部１は、上記ステップＳ３５で選択されたコンテンツＩＤに対応付けられている位置情報に基づいて通常コンテンツ中の出力位置を含む部分データを決定する（ステップＳ４１）。例えば、位置情報に示される出力の開始位置から出力の終了位置までを含む部分データが決定される。例えば、出力の開始位置から出力の終了位置までを含むバイト範囲で部分データが決定される。なお、上記ステップＳ３５で選択されたコンテンツＩＤに複数の部分データの位置情報が対応付けられている場合には、各部分データが決定される。
【０１０２】
次いで、制御部１１は、上記ステップＳ４０でダウンロードされた通常コンテンツのメタファイルを参照して、上記ステップＳ４１で決定された部分データに対応するチャンクのチャンクＩＤを決定する（ステップＳ４２）。例えば、部分データのバイト範囲を含むチャンクのチャンクＩＤが決定される。通常コンテンツのメタファイルには、各チャンクのデータ量を示す情報が記述されている。そのため、各チャンクのデータ量を示す情報と、上記決定された部分データのバイト範囲とを比較することで、部分データのバイト範囲を含むチャンクを判別することができる。上記ステップＳ４１で複数の部分データが決定された場合には、部分データ毎にチャンクのチャンクＩＤが決定される。
【０１０３】
なお、通常コンテンツのメタファイルに記述される情報が、この通常コンテンツのレコードに記述されている場合がある。この場合、制御部１１は、通常コンテンツのレコードを参照して、ステップＳ４２の処理を行うことになる。
【０１０４】
次いで、制御部１１は、上記ステップＳ４２で決定されたチャンクＩＤに対応するチャンクの取得処理を実行する（ステップＳ４３）。この取得処理は、チャンクのチャンクＩＤに基づいて、コンテンツ保持ノード等から、上記決定された部分データを含むチャンクを取得する処理である。このチャンクの取得処理は、上述したチャンクの取得処理と同じ手順で行われる。そして、制御部１１は、チャンクの取得処理により、コンテンツ保持ノードから、上記部分データを含むチャンクをダウンロードする。なお、コンテンツ保持ノードからチャンクがダウンロードできない場合がある。この場合、コンテンツ管理サーバＭＳからチャンクがダウンロードされる。
【０１０５】
なお、ダウンロードされた通常コンテンツのメタファイルやチャンクは、バッファメモリ１３に蓄積された後、記憶部１２に記憶、保存される。通常コンテンツのメタファイルやチャンクを保存したコンテンツ保持ノードは、通常コンテンツのメタファイルやチャンクのパブリッシュ処理を実行する。
【０１０６】
次いで、制御部１１は、上記ステップＳ３４で抽出されたコンテンツＩＤのうち、上記ステップＳ３５で未だ選択されていないコンテンツＩＤがあるか否かを判定する（ステップＳ４４）。そして、制御部１１は、未だ選択されていないコンテンツＩＤがあると判定した場合には（ステップＳ４４：ＹＥＳ）、ステップＳ３５に戻る。ステップＳ３５に戻ると、制御部１１は、未だ選択していないコンテンツＩＤを一つ選択し、ステップＳ３６以降の処理を行う。一方、制御部１は、未だ選択されていないコンテンツＩＤがないと判定した場合には（ステップＳ４４：ＮＯ）、ステップＳ４５に進む。
【０１０７】
ステップＳ４５では、制御部１１は、上記ステップＳ４３でダウンロードされた各チャンクに含まれる部分データを繋げて合成コンテンツを生成する。ここで、上記ステップＳ３４で、構成情報コンテンツから各部分データの出力順序を示す順序情報が抽出された場合には、この順序情報が示す出力順序で複数の部分データが繋げられて合成コンテンツが生成される。一方、上記ステップＳ３４で構成情報コンテンツから各部分データの順序情報が抽出されない場合には、例えば部分データを含むチャンクをダウンロードした順序で部分データを繋げて合成コンテンツが生成される。
【０１０８】
次いで、制御部１１は、上記ステップＳ４５で生成された合成コンテンツをデコーダ部１４、映像処理部１５、表示部１６、音声処理部１７、及びスピーカ１８を通じて外部に出力させる（ステップＳ４６）。これにより、ユーザは合成コンテンツを例えば視聴することができる。なお、上記ステップＳ４３でチャンクがダウンロードされると、ただちに、チャンクに含まれる部分データがデコーダ部１４等を介して出力されるように構成しても良い。つまり、この場合、素材となる全ての通常コンテンツのダウンロードの終了を待たずに部分データが出力される。
【０１０９】
一方、ステップＳ４７に示す通常コンテンツの取得処理では、上記ステップＳ４０と同様の処理により通常コンテンツのメタファイルが取得される。そして、取得されたメタファイルに記述された各チャンクＩＤに基づいて各チャンクが取得される。なお、通常コンテンツの取得処理は公知であるので詳しい説明を省略する。
（４−３．通常コンテンツのキャッシュバランスを保つ動作）
次に、図７を参照して、通常コンテンツのキャッシュバランスを保つ動作について説明する。通常コンテンツのキャッシュバランスとは、合成コンテンツの素材となる複数の通常コンテンツのメタファイル又は通常コンテンツを構成するチャンクのコンテンツ保持ノードの数を均衡させることをいう。なお、「コンテンツ保持ノードの数」は、保存ノード数に応じた値の一例である。「コンテンツ保持ノードの数」を、以下、「保持ノード数」という。
【０１１０】
コンテンツ配信システムＳにおいて取得可能な各通常コンテンツの人気に偏りがあると、通常コンテンツ毎に、通常コンテンツのメタファイルやチャンクを保存しているコンテンツ保持ノードの数が異なる。合成コンテンツが、人気に差がある複数の通常コンテンツを素材とする場合、人気のない通常コンテンツは、人気のある通常コンテンツに比べ、コンテンツ保持ノードから取得され難くなり種々の問題が生じる。例えば、人気のない通常コンテンツのメタファイルやチャンクのコンテンツ保持ノードからの応答が遅くなるという問題がある。また、コンテンツ保持ノードから人気のない通常コンテンツのメタファイルやチャンクをダウンロードする時間が長くなるという問題がある。更に、コンテンツ保持ノードからの応答が遅くなる場合、合成コンテンツを生成するノードＮｎは、全ての通常コンテンツを管理しているコンテンツ管理サーバＭＳに対して人気のない通常コンテンツのメタファイルやチャンクを要求することになる。そのため、コンテンツ管理サーバＭＳの負荷が増大するという問題もある。
【０１１１】
このような問題を解決するため、通常コンテンツのキャッシュバランスを保つ動作では、コンテンツ管理サーバＭＳとノードＮｎがキャッシュアンバランス解消処理を行う。
【０１１２】
図７（Ａ）は、コンテンツ管理サーバＭＳの制御部１又はノードＮｎの制御部１１におけるキャッシュアンバランス解消処理を示すフローチャートである。図７（Ｂ）は、キャッシュバランスメッセージを受信したノードＮｎの制御部１１の処理を示すフローチャートである。
【０１１３】
先ず、図７（Ａ）に示す処理は、例えば、コンテンツ管理サーバＭＳの制御部１が図５（Ｂ）に示す処理において構成情報コンテンツを生成又は投入した際に開始される。或いは、図７（Ａ）に示す処理は、コンテンツ管理サーバＭＳが、合成コンテンツの素材となる各通常コンテンツの人気度の差が閾値以上である場合に開始されるように構成しても良い。この場合、コンテンツ管理サーバＭＳが、オーバーレイネットワークＯＮに参加している所定数のノードＮｎから、合成コンテンツの素材となる各通常コンテンツの再生ログ情報を収集する。そして、コンテンツ管理サーバＭＳは、収集した再生ログ情報に基づいて、各通常コンテンツの人気度の差を算出する。
【０１１４】
図７（Ａ）に示す処理が開始されると、コンテンツ管理サーバＭＳの制御部１は、構成情報コンテンツに、複数の通常コンテンツのコンテンツＩＤが記述されているか否かを判定する（ステップＳ６１）。そして、制御部１は、複数の通常コンテンツのコンテンツＩＤが記述されていると判定した場合には（ステップＳ６１：ＹＥＳ）、ステップＳ６２に進む。一方、制御部１は、複数の通常コンテンツのコンテンツＩＤが記述されていないと判定した場合には（ステップＳ６１：ＮＯ）、図７（Ａ）に示す処理を終了する。
【０１１５】
ステップＳ６２では、制御部１は、通常コンテンツ毎に保持ノード数の問い合わせ処理を行う。この問い合わせ処理では、制御部１は、保持ノード数問合せメッセージを生成する。この保持ノード数問合せメッセージは、通常コンテンツ又は通常コンテンツのメタファイルの保持ノード数をルートノードに問い合わせるためのメッセージである。また、保持ノード数問合せメッセージには、このメッセージを送信するノードＮｎのＩＰアドレス及びポート番号、及び通常コンテンツのコンテンツＩＤ等が含まれる。そして、制御部１は、生成した保持ノード数問合せメッセージを、ＤＨＴルーティングにより、通常コンテンツのルートノード宛に送信する。なお、ＤＨＴルーティングは、例えば特開２００７−０５３６６２号公報等で公知であるので、詳しい説明を省略する。保持ノード数問合せメッセージを受信したルートノードは、保持ノード数問合せメッセージに含まれるコンテンツＩＤに対応するインデックス情報を取得する。そして、このルートノードは、取得したインデックス情報に含まれるノード情報の数から、保持ノード数を特定する。ルートノードは、特定した保持ノード数を示す保持ノード数情報を、保持ノード数問合せメッセージの送信元であるノードＮｎへ返信する。なお、保持ノード数情報は、保存数情報の一例である。
【０１１６】
こうして、制御部１は、各ルートノードからの各保持ノード数情報を取得する（ステップＳ６３）。なお、構成情報コンテンツに３つ以上の通常コンテンツのコンテンツＩＤが記述されている場合、３つ以上の保持ノード数情報が取得される。
【０１１７】
次いで、制御部１は、上記ステップＳ６３で取得した各保持ノード数情報に示される保持ノード数の差を算出する（ステップＳ６４）。なお、３つ以上の保持ノード数情報が取得された場合がある。この場合、例えば、これらの保持ノード数の中で、通常コンテンツの保存ノード数の最大と、この最大以外の通常コンテンツの保存ノード数との差を算出すれば良い。例えば、素材となる通常コンテンツＸ，Ｙ，Ｚの３つであるとする。そして、通常コンテンツＸの保持ノード数が「１０」、通常コンテンツＹの保持ノード数が「５」、通常コンテンツＸの保持ノード数が「１」であるとする。この場合、通常コンテンツＸとＹの保持ノード数との差、通常コンテンツＸとＺの保持ノード数との差を算出すれば良い。そして、この場合、算出された夫々の差について、ステップＳ６５以降の処理が行われることになる。
【０１１８】
次いで、制御部１は、上記ステップＳ６４で算出された保持ノード数の差が閾値以上であるか否かを判定する（ステップＳ６５）。そして、制御部１は、保持ノード数の差が閾値以上であると判定した場合には（ステップＳ６５：ＹＥＳ）、ステップＳ６６に進む。一方、制御部１は、保持ノード数の差が閾値以上でないと判定した場合には（ステップＳ６５：ＮＯ）、図７（Ａ）に示す処理を終了する。
【０１１９】
ステップＳ６６では、制御部１は、上記ステップＳ６４で算出された保持ノード数の差に基づいて、保持ノード数が少ない方の通常コンテンツの複製数を決定する。例えば、保持ノード数の差が閾値になるように、保持ノード数が少ない方の通常コンテンツの複製数が決定される。
【０１２０】
次いで、制御部１は、キャッシュバランスメッセージを生成する（ステップＳ６７）。このキャッシュバランスメッセージは、保持ノード数が少ない方の通常コンテンツを所定のノードＮｎに保存させるためのメッセージである。また、キャッシュバランスメッセージには、保持ノード数が少ない方の通常コンテンツのコンテンツＩＤが含まれる。
【０１２１】
次いで、制御部１は、上記ステップＳ６６で決定された通常コンテンツの複製数に応じたキャッシュバランスメッセージの送信回数と転送回数を決定する（ステップＳ６８）。
【０１２２】
次いで、制御部１は、上記ステップＳ６８で決定された転送回数を、上記ステップＳ６７で生成されたキャッシュバランスメッセージのＴＴＬ（Time To Live）に設定する（ステップＳ６９）。
【０１２３】
次いで、制御部１は、オーバーレイネットワークＯＮに参加している所定のノードＮｎに、ＴＴＬが設定されたキャッシュバランスメッセージを送信する（ステップＳ７０）。なお、上記所定のノードＮｎは、例えば、ＤＨＴを用いたルーティングテーブルに登録されているノードＮｎから例えばランダムに選定される。また、キャッシュバランスメッセージは、上記ステップＳ６８で決定された送信回数分、異なる任意のノードＮｎに送信される。キャッシュバランスメッセージを送信処理は、保持ノード数が少ない方の通常コンテンツを所定のノードＮｎに保存させる処理の一例である。
【０１２４】
また、上記ステップＳ７０の処理は、上記ステップＳ６８で決定された送信回数分、所定時間間隔で行われる。一度に多くのノードＮｎにキャッシュバランスメッセージが送信されると、コンテンツ管理サーバＭＳの負荷が増大する可能性がある。そこで、制御部１は、所定時間間隔で所定数ずつキャッシュバランスメッセージを送信する。これにより、コンテンツ管理サーバＭＳの負荷が増大することを回避することができる。
【０１２５】
以上説明した図７（Ａ）に示す処理により、例えば構成情報コンテンツの投入時に、合成コンテンツを素材とする複数の通常コンテンツのメタファイルの保持ノード数をバランスさせることができる。
【０１２６】
ところで、ノードＮｎによる合成コンテンツの再生出力に応じて複数の通常コンテンツのメタファイルの保持ノード数が徐々に同じ数に近づいていくので良いのであれば、図７（Ａ）に示す処理はノードＮｎが行う。この場合、図７（Ａ）に示す処理は、例えば、ノードＮｎの制御部１１が図６に示す処理において構成情報コンテンツをダウンロードした際に開始される。この場合において、ノードＮｎの制御部１１は、図７（Ａ）に示すステップＳ６６で決定する複製数は１回程度とすれば良い。そして、ノードＮｎの制御部１１は、図７（Ａ）に示すステップＳ６８で決定する送信回数と転送回数は夫々１回程度とすれば良い。これは、ノードＮｎを送信元として送信されるキャッシュバランスメッセージの送信回数や転送回数が多いと、過剰なメッセージによりネットワークＮＷの負荷が増大するためである。
【０１２７】
なお、上記図７（Ａ）に示す処理では、制御部１又は制御部１１は、各通常コンテンツのメタファイルの保持ノード数の差に基づいて保持ノード数が少ない方の通常コンテンツの複製数を決定した。別の例として、制御部１又は制御部１１は、合成コンテンツの素材となる各通常コンテンツ中の部分データを含むチャンクの保持ノード数の差に基づいて保持ノード数が少ない方のチャンクの複製数を決定するように構成しても良い。この場合、上記ステップＳ６２において、制御部１又は制御部１１は、上述したステップＳ４０〜Ｓ４２と同様の処理により、各通常コンテンツ中の部分データを含むチャンクのチャンクＩＤを決定する。
【０１２８】
図２（Ｂ）に示す例の場合、通常コンテンツＹ中の部分データＹａを含むチャンクのチャンクＩＤと、通常コンテンツＺ中の部分データＺｂを含むチャンクのチャンクＩＤと、が決定される。そして、制御部１又は制御部１１は、特定したチャンク毎に保持ノード数の問い合わせ処理を行う。この問い合わせ処理は、上記ステップＳ６２における通常コンテンツの保持ノード数の問い合わせ処理と同じ手順で行われる。その結果、制御部１又は制御部１１は、上記ステップＳ６３で、各ルートノードからの各保持ノード数情報を取得する。
【０１２９】
なお、構成情報コンテンツに３つ以上の通常コンテンツのコンテンツＩＤが記述されている場合上記ステップＳ６４で説明した通常コンテンツの保持ノード数の差の算出と同様にチャンクの保存ノード数の差が算出される。
【０１３０】
また、素材となる一つの通常コンテンツ中で複数の部分データが合成コンテンツに利用される場合がある。この場合、制御部１又は制御部１１は、複数の部分データの中で保持ノード数が最大の部分データに対応するチャンクの保存ノード数を上記通常コンテンツにおける代表として、上記ステップＳ６４における差の計算に用いれば良い。或いは、制御部１又は制御部１１は、複数の部分データの各々に対応する各チャンクの保持ノード数の平均値又は分散値を計算し、この計算により得られた平均値又は分散値を上記ステップＳ６４における差の計算に用いるように構成しても良い。この場合、各チャンクの保持ノード数の平均値又は分散値は、保存ノード数に応じた値の一例である。例えば、通常コンテンツＹ中の１０個の部分データと、通常コンテンツＺ中の８個の部分データと、が合成コンテンツに用いられるとする。この場合、通常コンテンツＹ中の１０個の部分データの各々に対応するチャンクの保持ノード数の平均値又は分散値と、通常コンテンツＺ中の８個の部分データの各々に対応するチャンクの保持ノード数の平均値又は分散値と、の差が算出されることになる。
【０１３１】
そして、制御部１又は制御部１１は、上述したステップＳ６５の処理を行う。そして、制御部１又は制御部１１は、上記ステップＳ６６で、上記ステップＳ６４で算出された保持ノード数の差に基づいて、保持ノード数が少ない方のチャンクの複製数を決定する。そして、制御部１又は制御部１１は、上記ステップＳ６７〜ステップＳ７０の処理を行う。なお、この場合において、上記ステップＳ６７で生成されるキャッシュバランスメッセージには、保持ノード数が少ない方のチャンクのチャンクＩＤが含まれる。このような処理により、合成コンテンツに利用される部分データを含むチャンクの保持ノード数をバランスさせることができる。そのため、ノードＮｎは、合成コンテンツをより迅速に生成することができる。
【０１３２】
次に、図７（Ｂ）に示す処理は、ノードＮｎがコンテンツ管理サーバＭＳ又は他のノードＮｎからキャッシュバランスメッセージを受信した場合に開始される。
【０１３３】
図７（Ｂ）に示す処理が開始されると、ノードＮｎの制御部１１は、受信したキャッシュバランスメッセージから通常コンテンツのコンテンツＩＤを抽出する（ステップＳ８１）。
【０１３４】
次いで、制御部１１は、ステップＳ８１で抽出されたコンテンツＩＤに対応する通常コンテンツのメタファイル及び各チャンクの取得処理を実行する（ステップＳ８２）。この取得処理では、上述したステップＳ４０及びステップＳ４３と同様の処理により、キャッシュバランスメッセージに含まれるコンテンツＩＤに対応する通常コンテンツのメタファイル及び各チャンクがダウンロードされ、記憶部１２に保存される。通常コンテンツのメタファイル及び各チャンクが保存されると、制御部１１は、通常コンテンツのメタファイル及びチャンクのパブリッシュ処理を実行する。
【０１３５】
次いで、制御部１１は、受信したキャッシュバランスメッセージに設定されたＴＴＬに基づいてキャッシュバランスメッセージを他のノードＮｎに転送するか否かを判定する（ステップＳ８３）。そして、制御部１１は、キャッシュバランスメッセージを他のノードＮｎに転送すると判定した場合（ステップＳ８３：ＹＥＳ）、ステップＳ８４に進む。一方、キャッシュバランスメッセージを他のノードＮｎに転送しないと判定した場合（ステップＳ８３：ＮＯ）、図７（Ｂ）に示す処理を終了する。
【０１３６】
ステップＳ８４では、制御部１１は、オーバーレイネットワークＯＮに参加している所定のノードＮｎに、ＴＴＬが設定されたキャッシュバランスメッセージを転送し、図７（Ｂ）に示す処理を終了する。なお、上記所定のノードＮｎは、例えば、ＤＨＴを用いたルーティングテーブルに登録されているノードＮｎから例えばランダムに選定される。
【０１３７】
なお、上記図７（Ｂ）に示す処理で、チャンクＩＤが含まれるキャッシュバランスメッセージが受信された場合には、上記ステップＳ８１で、制御部１１は、受信したキャッシュバランスメッセージからチャンクのチャンクＩＤを抽出する。そして、制御部１１は、上記ステップＳ８２で、チャンクＩＤに対応するチャンクをダウンロードして記憶部１２に保存する。
【０１３８】
以上説明したように、上記実施形態によれば、ノードＮｎは、複数のノードＮｎにチャンク単位で分散保存されている通常コンテンツのコンテンツＩＤ、及びこの通常コンテンツ中の出力位置を示す位置情報等を含む構成情報コンテンツを取得する。そして、ノードＮｎは、取得した構成情報コンテンツが含む出力位置に基づいて、コンテンツ配信システムＳ内に保存されている通常コンテンツ中から、出力位置に対応する部分データを取得するように構成した。そのため、ノードＮｎは、既に保存されている通常コンテンツ中の部分データを利用して合成コンテンツを出力することができる。従って、各ノードＮｎの記憶領域を無駄に消費することを低減し、コンテンツ配信システムＳ内により効率良く通常コンテンツを保存させることができる。また、各ノードＮｎによる通常コンテンツ等の迅速な取得を向上させることができる。
【０１３９】
また、構成情報コンテンツをノードＮｎがオーバーレイネットワークＯＮを介して取得できるように構成した。そのため、ノードＮｎは、通常コンテンツの部分データを利用して合成コンテンツを効率良く出力することができる。
【０１４０】
また、通常コンテンツのキャッシュバランスを保つ動作によれば、人気の偏り等で合成コンテンツの素材となる各通常コンテンツの保持ノード数にアンバランスがあっても、当該アンバランスを効率良く解消することができる。
【０１４１】
更に、図６に示すステップＳ３８で、合成コンテンツの素材となる通常コンテンツの公開開始日時から公開終了日時までの期間内に現在時刻が含まれない場合、処理を終了して合成コンテンツを生成できないように構成した。そのため、合成コンテンツの有効期限の管理を不要とすることができる。つまり、合成コンテンツのレコード中に合成コンテンツの公開開始日時及び公開終了日時を記述しなくても良い。これにより、合成コンテンツのレコードのデータ量を最小限に抑えることができるので、コンテンツカタログ情報のデータ量を低減することができる。
【０１４２】
なお、上記実施形態の別の例として、コンテンツ提供サイトからノードＮｎへ提供されるＷｅｂページを構成する構造化文書内に構成情報コンテンツが記述されるように構成しても良い。この場合、コンテンツ管理サーバＭＳの制御部１は、上述した図５（Ｂ）を示すステップＳ１５で生成した構成情報コンテンツを、コンテンツ提供サイトを構成するＷｅｂサーバに送信する。このＷｅｂサーバは、所定の情報処理装置の一例である。そして、Ｗｅｂサーバは、構成情報コンテンツに含まれるコンテンツＩＤ及び位置情報等を、例えば、ＨＴＭＬ文書に記述されたタグ内に記述したＷｅｂページを生成する。なお、コンテンツ管理サーバＭＳが、このＷｅｂページを生成してＷｅｂサーバに送信するように構成しても良い。こうして、生成されたＷｅｂページは、オーバーレイネットワークＯＮに参加しているノードＮｎに提供可能にＵＲＬが付与されてコンテンツ提供サイトに登録される。これにより、ノードＮｎは、上述した図６に示す処理におけるステップＳ３４で、コンテンツ提供サイトから提供されたＷｅｂページから、コンテンツＩＤとこれに対応つけられた位置情報を抽出し、ステップＳ３５以降の処理を行う。この構成によれば、コンテンツ管理サーバＭＳは、上述したステップＳ１７で、構成情報コンテンツ又は構成情報コンテンツのメタファイルをコンテンツ配信システムＳ内に投入する投入処理を行う必要がない。また、ノードＮｎは、上述したステップＳ３３でコンテンツ保持ノードから構成情報コンテンツ又は構成情報コンテンツのメタファイルをダウンロードする必要がない。
【０１４３】
また、上記実施形態においては、合成コンテンツの素材として通常コンテンツを利用するように構成したが、合成コンテンツの素材として他の合成コンテンツを利用しても良い。
【０１４４】
また、上記実施形態においては、オーバーレイネットワークＯＮに、ＤＨＴを利用したピアツーピアネットワークを適用したが、これに限られるものではない。例えば、他のピアツーピアシステム、または、他のオーバーレイネットワークを用いたシステムが適用されても良い。ＤＨＴを利用しないピアツーピアシステムとしては、例えば、ハイブリッド型のピアツーピアシステムがある。
【０１４５】
また、本発明は、ピアツーピア型のコンテンツ配信システムばかりでなく、クライアント／サーバ型のコンテンツ配信システムに対しても適用可能である。
【符号の説明】
【０１４６】
１  制御部
２  記憶部
３  通信部
４  バス
１１  制御部
１２  記憶部
１３  バッファメモリ
１４  デコーダ部
１５  映像処理部
１６  表示部
１７  音声処理部
１８  スピーカ
１９  通信部
１９ａ  入力部
１９ｂ  バス
ＭＳ  コンテンツ管理サーバ
Ｎｎ  ノード
ＮＷ  ネットワーク
ＯＮ  オーバーレイネットワーク
Ｓ  コンテンツ配信システム
【図１】
2011158989.tif 000003
【図２】
2011158989.tif 000004
【図３】
2011158989.tif 000005
【図４】
2011158989.tif 000006
【図５】
2011158989.tif 000007
【図６】
2011158989.tif 000008
【図７】
2011158989.tif 000009