説明

配信システム、情報処理装置、情報処理プログラム、及びコンテンツ取得方法

【課題】配信システム内に、より効率良くコンテンツを保存させ、各ノード装置によるコンテンツの迅速な取得を向上させることが可能な配信システム、情報処理装置、情報処理プログラム、及びコンテンツ取得方法を提供する。
【解決手段】第一の情報処理装置は、1つ以上の情報処理装置に保存されている1つ以上のコンテンツデータの識別情報と、前記識別情報に対応するコンテンツデータ中の出力位置を示す位置情報と、を含むコンテンツ情報を生成し、これを所定の情報処理装置に送信する。そして、第二の情報処理装置は、上記コンテンツ情報を取得し、これに含まれる位置情報に基づいてコンテンツデータ中の出力位置を含む部分データを決定する。そして、第二の情報処理装置は、上記決定された前記部分データを取得する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたピアツーピア(Peer to Peer(P2P))型の配信システムの技術分野に関する。
【背景技術】
【0002】
近年、ピアツーピア型の配信システムが知られている。ピアツーピア型の配信システムは、複数のコンテンツデータを複数のノード装置に分散して保存させ、各ノード装置間でコンテンツデータを利用可能としたシステムである。以下、コンテンツデータを「コンテンツ」という。ピアツーピア型の配信システムでは、クライアント・サーバ型の配信システムのようなサーバへの負荷集中を軽減することができる。また、ピアツーピア型の配信システムにおいて分散保存されたコンテンツの所在は、例えば特許文献1に開示されるような分散ハッシュテーブルを利用して効率良く検索可能になっている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2006−197400号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、上述した配信システムにおいて分散保存されているコンテンツの一部が編集され、編集されたコンテンツが配信システムにおけるノード装置に保存される場合がある。このような場合、編集前のコンテンツと編集後のコンテンツの双方が配信システム内に保存される。このため、編集前と編集後のコンテンツで重複した部分が配信システム内に存在することになる。そのため、配信システム内においてコンテンツを保存するための記憶領域を無駄に消費するという問題が生じる。このような問題は、各ノード装置によるコンテンツの迅速な取得を妨げる要因に繋がる可能性がある。
【0005】
そこで、本発明は、以上の点等に鑑みてなされたものであり、配信システム内に、より効率良くコンテンツを保存させ、各ノード装置によるコンテンツの迅速な取得を向上させることが可能な配信システム、情報処理装置、情報処理プログラム、及びコンテンツ取得方法を提供すること等を課題とする。
【課題を解決するための手段】
【0006】
上記課題を解決するために、請求項1に記載の発明は、ネットワークを介して互いに通信可能な複数の情報処理装置を備え、1つ以上の情報処理装置にコンテンツデータが保存され、各情報処理装置はコンテンツデータに付与された固有の識別情報に基づいて他の情報処理装置から当該コンテンツデータを取得するように構成された配信システムであって、第一の前記情報処理装置は、前記1つ以上の情報処理装置に保存されている1つ以上のコンテンツデータの識別情報と、前記識別情報に対応するコンテンツデータ中の出力位置を示す位置情報と、を含むコンテンツ情報を生成する生成手段と、前記生成手段により生成されたコンテンツ情報を、所定の前記情報処理装置に送信する送信手段と、を備え、第二の前記情報処理装置は、前記第一の前記情報処理装置又は前記所定の前記情報処理装置から前記コンテンツ情報を取得する第一取得手段と、前記第一取得手段により取得されたコンテンツ情報に含まれる前記位置情報に基づいて前記コンテンツデータ中の出力位置を含む部分データを決定する決定手段と、前記決定手段により決定された前記部分データを取得する第二取得手段と、を備えることを特徴とする。
【0007】
請求項2に記載の発明は、請求項1に記載の配信システムにおいて、前記生成手段は、前記1つ以上の情報処理装置に保存されている複数のコンテンツデータの識別情報と、複数の前記識別情報夫々に対応するコンテンツデータ中の出力位置を示す位置情報と、を含むコンテンツ情報を生成し、前記決定手段は、前記第一取得手段により取得されたコンテンツ情報に含まれる前記位置情報に基づいて、各前記コンテンツデータ中の出力位置を含む部分データに対応する識別情報を決定し、前記第二取得手段は、前記決定手段により決定された識別情報に基づいて、前記部分データを取得し、前記第二の前記情報処理装置は、前記第二取得手段により取得された複数の前記部分データを繋げたコンテンツデータを出力する出力手段を更に備えることを特徴とする。
【0008】
請求項3に記載の発明は、請求項1または2に記載の配信システムにおいて、前記生成手段は、前記コンテンツデータの識別情報と、前記識別情報に対応するコンテンツデータ中の出力の開始位置を示す位置情報と、を含むコンテンツ情報を生成し、前記決定手段は、前記第一取得手段により取得された前記位置情報に示される前記開始位置に基づいて、前記コンテンツデータ中の出力の開始位置を含む部分データに対応する識別情報を決定し、前記第二取得手段は、前記決定手段により決定された前記識別情報に基づいて他の前記情報処理装置から、前記開始位置を含む前記部分データを取得することを特徴とする。
【0009】
請求項4に記載の発明は、請求項3に記載の配信システムにおいて、前記生成手段は、前記コンテンツデータの識別情報と、前記識別情報に対応するコンテンツデータ中の出力の開始位置及び前記コンテンツデータ中の出力の終了位置とを示す位置情報と、を含むコンテンツ情報を生成し、前記決定手段は、前記第一取得手段により取得された前記位置情報に示される前記開始位置及び前記終了位置に基づいて、前記コンテンツデータ中の前記開始位置から前記終了位置を含む部分データに対応する識別情報を決定し、前記第二取得手段は、前記決定手段により決定された前記識別情報に基づいて他の前記情報処理装置から、前記開始位置から前記終了位置を含む前記部分データを取得することを特徴とする。
【0010】
請求項5に記載の発明は、請求項1乃至4の何れか一項に記載の配信システムにおいて、前記配信システムは、前記ネットワークに接続された前記複数の情報処理装置により形成されたオーバーレイネットワークを有し、前記コンテンツ情報は、固有の識別情報が付与されて前記オーバーレイネットワークを形成する何れかの前記情報処理装置に保存されており、前記第一取得手段は、前記コンテンツ情報に付与された固有の識別情報を取得し、当該取得した識別情報に基づいて前記オーバーレイネットワークを介して他の前記情報処理装置から当該コンテンツ情報を取得することを特徴とする。
【0011】
請求項6に記載の発明は、請求項1乃至5の何れか一項に記載の配信システムにおいて、前記コンテンツ情報に複数の前記コンテンツデータの識別情報が含まれている場合には、夫々の前記コンテンツデータ又は前記コンテンツデータ中の部分データを保存している前記情報処理装置の数に応じた値を示す保存数情報を取得する第三取得手段と、前記第三取得手段により取得された各前記保存数情報に示される値の差を決定する決定手段と、前記決定手段により決定された差が閾値以上であるか否かを判定する判定手段と、前記判定手段により前記差が閾値以上であると判定された場合には、前記保存数情報に示される値が少ない方の前記コンテンツデータ又は前記部分データを所定の前記情報処理装置に保存させる処理を行う制御手段と、を更に備えることを特徴とする。
【0012】
請求項7に記載の発明は、請求項1から請求項6のいずれか一項に記載の配信システムにおいて、前記コンテンツデータには、前記部分データの利用を許可するか否かを示す許否情報が付与されており、前記生成手段は、前記コンテンツデータに付与された前記許否情報に前記部分データの利用を許可することが示されている場合にのみ、当該コンテンツデータの識別情報と、当該コンテンツデータ中の出力位置を示す位置情報と、を含むコンテンツ情報を生成することを特徴とする。
【0013】
請求項8に記載の発明は、ネットワークを介して互いに通信可能な複数の情報処理装置を備え、1つ以上の情報処理装置にコンテンツデータが保存され、各情報処理装置はコンテンツデータに付与された固有の識別情報に基づいて他の情報処理装置から当該コンテンツデータを取得するように構成された配信システムにおける前記情報処理装置であって、前記1つ以上の情報処理装置に保存されている1つ以上のコンテンツデータの識別情報と、前記識別情報に対応するコンテンツデータ中の出力位置を示す位置情報と、を含むコンテンツ情報を生成する生成手段と、前記生成手段により生成されたコンテンツ情報を、所定の前記情報処理装置に送信する送信手段と、を備えることを特徴とする。
【0014】
請求項9に記載の発明は、ネットワークを介して互いに通信可能な複数の情報処理装置を備え、1つ以上の情報処理装置にコンテンツデータが保存され、各情報処理装置はコンテンツデータに付与された固有の識別情報に基づいて他の情報処理装置から当該コンテンツデータを取得するように構成された配信システムにおける前記情報処理装置であって、前記第一の前記情報処理装置又は前記所定の前記情報処理装置から前記コンテンツ情報を取得する第一取得手段と、前記第一取得手段により取得されたコンテンツ情報に含まれる前記位置情報に基づいて前記コンテンツデータ中の出力位置を含む部分データを決定する決定手段と、前記決定手段により決定された前記部分データを取得する第二取得手段と、を備えることを特徴とする。
【0015】
請求項10に記載の発明は、ネットワークを介して互いに通信可能な複数の情報処理装置を備え、1つ以上の情報処理装置にコンテンツデータが保存され、各情報処理装置はコンテンツデータに付与された固有の識別情報に基づいて他の情報処理装置から当該コンテンツデータを取得するように構成された配信システムにおける前記情報処理装置に含まれるコンピュータに、前記1つ以上の情報処理装置に保存されている1つ以上のコンテンツデータの識別情報と、前記識別情報に対応するコンテンツデータ中の出力位置を示す位置情報と、を含むコンテンツ情報を生成するステップと、前記生成されたコンテンツ情報を、所定の前記情報処理装置に送信するステップと、を実行させるための情報処理プログラムである。
【0016】
請求項11に記載の発明は、ネットワークを介して互いに通信可能な複数の情報処理装置を備え、1つ以上の情報処理装置にコンテンツデータが保存され、各情報処理装置はコンテンツデータに付与された固有の識別情報に基づいて他の情報処理装置から当該コンテンツデータを取得するように構成された配信システムにおける前記情報処理装置に含まれるコンピュータに、前記第一の前記情報処理装置又は前記所定の前記情報処理装置から前記コンテンツ情報を取得するステップと、前記取得されたコンテンツ情報に含まれる前記位置情報に基づいて前記コンテンツデータ中の出力位置を含む部分データを決定するステップと、前記決定された前記部分データを取得するステップと、を実行させるための情報処理プログラムである。
【0017】
請求項12に記載の発明は、ネットワークを介して互いに通信可能な複数の情報処理装置を備え、1つ以上の情報処理装置にコンテンツデータが保存され、各情報処理装置はコンテンツデータに付与された固有の識別情報に基づいて他の情報処理装置から当該コンテンツデータを取得するように構成された配信システムにおけるコンテンツ取得方法であって、前記コンテンツ取得方法は、第一の前記情報処理装置が、前記1つ以上の情報処理装置に保存されている1つ以上のコンテンツデータの識別情報と、前記識別情報に対応するコンテンツデータ中の出力位置を示す位置情報と、を含むコンテンツ情報を生成するステップと、第一の前記情報処理装置が、前記生成されたコンテンツ情報を、所定の前記情報処理装置に送信するステップと、第二の前記情報処理装置が、前記第一の前記情報処理装置又は前記所定の前記情報処理装置から前記コンテンツ情報を取得するステップと、第二の前記情報処理装置が、前記取得されたコンテンツ情報に含まれる前記位置情報に基づいて前記コンテンツデータ中の出力位置を含む部分データを決定するステップと、第二の前記情報処理装置が、前記決定された前記部分データを取得するステップと、を含むことを特徴とする。
【発明の効果】
【0018】
請求項1、8乃至12に記載の発明によれば、情報処理装置は、コンテンツ情報が含む出力位置に基づいて、配信システム内に保存されているコンテンツデータ中から、出力位置に対応する部分データを取得する。そのため、重複するコンテンツデータの保存を低減し、より効率良くコンテンツデータを配信システム内に保存させることができる。その結果、各ノード装置によるコンテンツの迅速な取得を向上させることができる。
【0019】
請求項2に記載の発明によれば、複数のコンテンツデータを利用して、複数の部分データを繋げたコンテンツデータを出力することができる。
【0020】
請求項3に記載の発明によれば、コンテンツデータ中の出力の開始位置から部分データを効率良く決定することができる。
【0021】
請求項4に記載の発明によれば、コンテンツデータ中の出力の開始位置と終了位置から部分データを効率良く決定することができる。
【0022】
請求項5に記載の発明によれば、情報処理装置はオーバーレイネットワークを介してコンテンツ情報を容易に取得することができる。
【0023】
請求項6に記載の発明によれば、人気の偏り等でコンテンツ情報に示される各コンテンツデータを保存している情報処理装置の数にアンバランスがあっても、当該アンバランスを解消することができる。
【0024】
請求項7に記載の発明によれば、部分データの利用が不許可であるコンテンツデータについては改変を防止することができる。
【図面の簡単な説明】
【0025】
【図1】本実施形態に係るコンテンツ配信システムの概要構成例を示す図である。
【図2】合成コンテンツの一例を示す図である。
【図3】コンテンツ管理サーバMSの概要構成例を示すブロック図である。
【図4】ノードNnの概要構成例を示すブロック図である。
【図5】(A)は、ノードNnの制御部11における合成コンテンツの投入要求処理を示すフローチャートである。(B)は、コンテンツ管理サーバMSの制御部1における合成コンテンツの投入処理を示すフローチャートである。
【図6】ノードNnの制御部11における合成コンテンツの生成処理を示すフローチャートである。
【図7】(A)は、コンテンツ管理サーバMSの制御部1又はノードNnの制御部11におけるキャッシュアンバランス解消処理を示すフローチャートである。(B)は、キャッシュバランスメッセージを受信したノードNnの制御部11の処理を示すフローチャートである。
【発明を実施するための形態】
【0026】
以下、本発明の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、コンテンツ配信システムに本発明を適用した場合の実施形態である。
1.コンテンツ配信システムの構成及び動作概要
始めに、図1を参照して、本実施形態に係るコンテンツ配信システムの構成及び動作概要について説明する。
【0027】
図1は、本実施形態に係るコンテンツ配信システムの概要構成例を示す図である。
【0028】
図1に示すように、本実施形態に係るコンテンツ配信システムSは、コンテンツ管理サーバMS、及び複数のノード装置Nn(n=1,2,3・・・kの何れか)等を備えて構成されている。コンテンツ管理サーバMS及び各ノード装置Nnは、インターネット等からなるネットワークNWに接続されている。なお、ノード装置を、以下、「ノード」という。また、コンテンツ管理サーバMSは、本発明の第一の情報処理装置の一例である。また、ノードNnは、本発明の第二の情報処理装置の一例である。また、各ノードNnには固有の識別情報であるノードIDが割り当てられている。
【0029】
コンテンツ配信システムSには、オーバーレイネットワークONが形成されている。オーバーレイネットワークONは、ネットワークNWを介して複数のノードNnにより形成される仮想的なリンクを構成する論理的なネットワークである。
【0030】
オーバーレイネットワークONは、特定のアルゴリズム、例えば、分散ハッシュテーブルを利用したアルゴリズムにより実現される。分散ハッシュテーブルを、以下、「DHT(Distributed Hash Table)」という。なお、DHTを用いたルーティングテーブルについては、特開2006−197400号公報等で公知であるので、詳しい説明を省略する。
【0031】
また、オーバーレイネットワークONに参加している複数のノードNnには、内容の異なる様々なコンテンツが分散されて保存されている。例えば、コンテンツには、映画、音楽、番組のコンテンツ等がある。各コンテンツには固有の識別情報であるコンテンツIDが割り当てられている。また、データ量が所定値より大きいコンテンツは、複数のチャンクに分割される。一つのチャンクは、例えば数Mバイトのデータ量を有する。そして、各チャンクは複数のノードNnに分散されて保存されている。例えば、ノードN1には、コンテンツXを構成するチャンクX1が保存されている。また、ノードN2には、コンテンツXを構成するチャンクX2が保存されている。また、コンテンツXを構成する全てのチャンクを保存するノードNnも存在する。各チャンクには固有の識別情報であるチャンクIDが割り当てられている。また、コンテンツを構成する各チャンクのチャンクIDは、例えば、このコンテンツのメタファイルに記述されている。また、コンテンツのメタファイルには、各チャンクのデータ量を示す情報が記述されている。そして、各コンテンツのメタファイルは、複数のノードNnに分散されて保存されている。なお、メタファイルには、これに対応するコンテンツのコンテンツIDが割り当てられている。
【0032】
さらに、各ノードNnは、オーバーレイネットワークONを介して取得可能な1つ以上のコンテンツ中の複数の部分データを用いて構成されるコンテンツを生成することができる。このようなコンテンツを、以下、「合成コンテンツ」という。また、合成コンテンツ以外の通常のオリジナルのコンテンツを、以下、「通常コンテンツ」という。
【0033】
図2は、合成コンテンツの一例を示す図である。図2(A)に示す合成コンテンツαは、通常コンテンツXの部分データXaと部分データXcとから構成される。一方、図2(B)に示す合成コンテンツβは、通常コンテンツYの部分データYaと、通常コンテンツZの部分データZbとから構成される。これらの各合成コンテンツにも固有のコンテンツIDが割り当てられる。
【0034】
そして、合成コンテンツを構成するための情報を含むコンテンツが、通常のコンテンツと同様、複数のノードNnに分散されて保存される。合成コンテンツを構成するための情報を含むコンテンツを、以下、「構成情報コンテンツ」という。構成情報コンテンツは、コンテンツ情報の一例である。なお、合成コンテンツと、この合成コンテンツを構成するための構成情報コンテンツには、同一のコンテンツIDが割り当てられる。
【0035】
ここで、構成情報コンテンツには、例えば、合成コンテンツの素材となる通常コンテンツのコンテンツIDと、このコンテンツIDに対応する通常コンテンツ中の出力位置を示す位置情報と、が含まれる。通常コンテンツのコンテンツIDと、通常コンテンツの出力位置を示す位置情報とは対応付けられる。合成コンテンツの素材となる通常コンテンツは、合成コンテンツを構成する部分データを有するコンテンツである。また、通常コンテンツ中の出力位置を示す位置情報は、通常コンテンツ中の出力位置を含む部分データを決定するための情報である。
【0036】
なお、データ量が所定値より大きい構成情報コンテンツは、通常コンテンツと同様、複数のチャンクに分割される。そして、構成情報コンテンツの各チャンクは複数のノードNnに分散されて保存される。また、構成情報コンテンツを構成する各チャンクのチャンクIDは、例えば、構成情報コンテンツのメタファイルに記述されている。そして、構成情報コンテンツのメタファイルは、複数のノードNnに分散されて保存される。
【0037】
なお、以下の説明において、単に「コンテンツ」という場合、通常コンテンツと構成情報コンテンツの双方を意味するものとする。
【0038】
ここで、コンテンツ、コンテンツのメタファイル、及びチャンクの少なくとも一つを保存しているノードNnを、以下、「コンテンツ保持ノード」という。また、コンテンツのメタファイル、又はチャンクの所在を示す情報は、インデックス情報として、コンテンツの所在を管理しているノードNnに記憶される。コンテンツの所在を管理しているノードNnを、以下、「ルートノード」という。このインデックス情報には、コンテンツ又はコンテンツのメタファイルを保存しているコンテンツ保持ノードのノード情報と、コンテンツ又はコンテンツのメタファイルのコンテンツIDとの組が含まれる。又は、このインデックス情報には、チャンクを保存しているコンテンツ保持ノードのノード情報と、このチャンクのチャンクIDとの組が含まれる。ノード情報には、コンテンツ保持ノードのIPアドレス、ポート番号、及びノードIDが含まれる。ルートノードは、例えば、コンテンツID又はチャンクIDと最も近いノードIDが割り当てられたノードNnであるように定められる。コンテンツID又はチャンクIDと最も近いノードIDとは、例えば、IDの上位桁が最も多く一致するノードIDである。
2.コンテンツ管理サーバMSの構成及び機能
次に、図3を参照して、コンテンツ管理サーバMSの構成及び機能について説明する。図3は、コンテンツ管理サーバMSの概要構成例を示すブロック図である。
【0039】
コンテンツ管理サーバMSは、図3に示すように、制御部1、記憶部2、及び通信部3等を備えて構成される。制御部1、記憶部2、及び通信部3はバス4を介して相互に接続されている。
【0040】
記憶部2は、例えばハードディスクドライブ等から構成される。記憶部2には、オペレーティングシステム、及び情報処理プログラム等が記憶されている。なお、情報処理プログラムは、例えば、ネットワークNWに接続された所定のサーバからダウンロードされるようにしても良い。或いは、情報処理プログラムは、例えば、記録媒体に記録されて当該記録媒体のドライブを介して読み込まれるようにしても良い。
【0041】
また、記憶部2には、通常コンテンツのレコード及び合成コンテンツのレコードを含むコンテンツカタログ情報、及びDHTを用いたルーティングテーブル等が記憶されている。通常コンテンツのレコードには、通常コンテンツのコンテンツID、コンテンツ名、公開開始日時、公開終了日時、キーワード及び特殊キーワードが記述されている。
【0042】
ここで、公開開始日時は、各ノードNnにより通常コンテンツがコンテンツ配信システムSで利用開始となる利用開始日時である。一方、公開終了日時は、各ノードNnにより通常コンテンツがコンテンツ配信システムSで利用終了となる利用終了日時である。言い換えれば、公開終了日時は通常コンテンツの有効期限である。各ノードNnは、通常コンテンツのレコードを公開開始日時から公開終了日時までの期間内にコンテンツカタログ情報から検索することができる。また、キーワードは、ノードNnのユーザがコンテンツカタログ情報中から所望の通常コンテンツのレコードを検索するための情報である。キーワードの例としては、通常コンテンツのジャンルや年齢層等の属性情報が挙げられる。また、通常コンテンツには、通常コンテンツ中の部分データの利用を許可するか否かを示す許否情報が付与されている。特殊キーワードには、この許否情報として、例えば、通常コンテンツ中の部分データを、合成コンテンツ生成用に利用を許可する者の範囲を規定する権利情報が含まれる。この権利情報は、通常コンテンツの編集に係る著作権管理を行うための情報である。例えば、権利情報には、通常コンテンツ中の部分データを合成コンテンツ生成用に利用できる者を識別する利用者IDが記述される。このような者としては、例えば通常コンテンツの提供者等が挙げられる。特に合成コンテンツ生成用に利用できる者を限定しない通常コンテンツの権利情報には、編集フリーを示すフラグが記述される。
【0043】
なお、通常コンテンツのメタファイルに記述される情報が、この通常コンテンツのレコード内に記述されるように構成しても良い。
【0044】
一方、合成コンテンツのレコードには、合成コンテンツのコンテンツID、及び特殊キーワードが記述されている。ここで、特殊キーワードには、合成コンテンツのレコードであることを示す識別子が含まれる。この識別子は、合成コンテンツのレコードを、通常コンテンツのレコードと区別するための情報である。
【0045】
なお、合成コンテンツのレコードに記述される特殊キーワードに、この合成コンテンツに対応する構成情報コンテンツが含まれるように構成しても良い。この場合、構成情報コンテンツを複数のノードNnに分散保存させる必要がない。ただし、構成情報コンテンツを特殊キーワードに含ませるよりも、複数のノードNnに分散保存させた方が望ましい。これは、複数のノードNnに分散保存させた方が、コンテンツカタログ情報のデータ量を低減することができるためのである。
【0046】
そして、上述したレコードは、通常コンテンツ又は構成情報コンテンツがコンテンツ配信システムS内に投入される際に生成される。そして、生成されたレコードを含むコンテンツカタログ情報はコンテンツ管理サーバMSから各ノードNnに配信される。ここで、コンテンツの投入とは、オーバーレイネットワークONに参加している所定のノードNnにコンテンツ又はコンテンツのメタファイルが送信され保存されることをいう。
【0047】
通信部3は、ネットワークNWを通じてノードNn等との間の情報の通信制御を行う。
【0048】
制御部1は、演算機能を有するCPU,作業用RAM,及びROM等から構成される。そして、制御部1は、CPUが記憶部2等に記憶された情報処理プログラムを読み出して実行することにより、後述する処理を行う。なお、制御部1は、本発明における生成手段、送信手段、第三取得手段、算出手段、判定手段、及び制御手段の一例である。
3.ノードNnの構成及び機能
次に、図4を参照して、ノードNnの構成及び機能について説明する。
【0049】
図4は、ノードNnの概要構成例を示すブロック図である。
【0050】
ノードNnは、図4に示すように、制御部11、記憶部12、バッファメモリ13、デコーダ部14、映像処理部15、表示部16、音声処理部17、スピーカ18、通信部19、及び入力部19a等を備えて構成される。制御部11、記憶部12、バッファメモリ13、デコーダ部14、映像処理部15、表示部16、音声処理部17、通信部19、及び入力部19aは、バス19bを介して相互に接続されている。なお、ノードNnとしては、パーソナルコンピュータ、STB(Set Top Box)、TV受信機、或いは、カラオケ装置等が適用可能である。
【0051】
記憶部12は、例えばハードディスクドライブ等から構成される。記憶部12には、オペレーティングシステム、及び情報処理プログラム等が記憶されている。なお、情報処理プログラムは、例えば、ネットワークNWに接続された所定のサーバからダウンロードされるようにしても良い。或いは、情報処理プログラムは、例えば、記録媒体に記録されて当該記録媒体のドライブを介して読み込まれるようにしても良い。
【0052】
また、記憶部12には、コンテンツ保持ノード、又はコンテンツ管理サーバMSから取得されたコンテンツ又はコンテンツのメタファイル、更にはチャンクが記憶、保存されている。更に、オーバーレイネットワークONに参加しているノードNnの記憶部12には、コンテンツカタログ情報及びDHTを用いたルーティングテーブル等が記憶されている。
【0053】
バッファメモリ13は、受信されたコンテンツ又はチャンクを一時的に蓄積する。デコーダ部14は、通常コンテンツ又はチャンクに含まれる映像データ及び音声データ等のデータ伸張や復号化等のデコード処理を行う。映像処理部15は、デコーダ部14によりデコードされた映像データ等に対して所定の描画処理を施し映像信号として出力する。表示部16は、映像処理部15から出力された映像信号に基づきディスプレイに映像等を表示出力する。又は、表示部16は、デコーダ部14によりデコードされた画像を表示出力する。音声処理部17は、デコーダ部14によりデコードされた音声データをアナログ音声信号にD(Digital)/A(Analog)変換した後これをアンプにより増幅して出力する。スピーカ18は、音声処理部17から出力された音声信号を音波として出力する。
【0054】
通信部19は、ネットワークNWを通じてコンテンツ管理サーバMS及び他のノードNn等との間の情報の通信制御を行う。
【0055】
制御部11は、演算機能を有するCPU,作業用RAM,及びROM等から構成される。また、制御部11は、時計機能を有する。そして、制御部11は、CPUが記憶部12等に記憶された情報処理プログラムを読み出して実行することにより、後述する処理を行う。なお、制御部11は、本発明における第一取得手段、決定手段、第二取得手段、第三取得手段、算出手段、判定手段、制御手段、及び出力手段の一例である。
4.コンテンツ配信システムSの動作
次に、本実施形態に係るコンテンツ配信システムSの動作について説明する。
(4−1.合成コンテンツを構成するための構成情報コンテンツの投入動作)
先ず、図5を参照して、構成情報コンテンツの投入動作について説明する。
【0056】
図5(A)は、ノードNnの制御部11における構成情報コンテンツの投入要求処理を示すフローチャートである。図5(B)は、コンテンツ管理サーバMSの制御部1における構成情報コンテンツの投入処理を示すフローチャートである。
【0057】
構成情報コンテンツの投入を要求する利用者が、例えば、自身のノードNnの入力部19aを操作して、コンテンツ管理サーバMSにより提供されるコンテンツ投入サイトのURLを指定すると、図5(A)の処理が開始される。構成情報コンテンツの投入を要求する利用者としては、例えば合成コンテンツの素材となる通常コンテンツの作成者や提供者、或いはその他一般ユーザ等が挙げられる。
【0058】
図5(A)に示す処理が開始されると、ノードNnの制御部11は、ネットワークNWを介してコンテンツ管理サーバMSにアクセスしログイン要求メッセージを送信する(ステップS1)。このログイン要求メッセージには、利用者の利用者ID及びパスワードが含まれる。
【0059】
次いで、コンテンツ管理サーバMSの制御部1は、ノードNnからのログイン要求メッセージを受信すると、図5(B)に示す処理を開始し、ログイン処理を行う(ステップS2)。ログイン処理において、ログイン要求メッセージに含まれる利用者ID及びパスワードがデータベースに登録されていれば、利用者のログインがなされる。そして、ログインがなされると、制御部1は、ネットワークNWを介して構成情報コンテンツ指定画面のデータをノードNnに送信する(ステップS3)。
【0060】
次いで、ノードNnの制御部11は、コンテンツ管理サーバMSからの構成情報コンテンツ指定画面のデータを受信すると(ステップS4)、構成情報コンテンツ指定画面を表示部16に表示する(ステップS5)。利用者は入力部19aを操作して、表示された構成情報コンテンツ指定画面に設けられた入力欄で、合成コンテンツの素材となる通常コンテンツのコンテンツIDと、このコンテンツIDに対応する通常コンテンツ中の出力位置を示す位置情報と、を夫々入力又は選択することにより指定する。例えば、利用者が、複数の映画のコンテンツのダイジェストを作成したい場合、各映画の通常コンテンツのコンテンツIDと、これらの通常コンテンツ中でダイジェストに挿入したい各部分データの出力の開始位置及び出力の終了位置を示す位置情報を指定する。通常コンテンツが動画像や音楽の場合、出力の開始位置と出力の終了位置は、再生の開始位置と再生の終了位置である。
【0061】
なお、上記各映画のコンテンツのコンテンツIDは、例えばノードNnに事前に配信されたコンテンツカタログ情報からキーワードを用いて検索することができる。また、出力の開始位置及び出力の終了位置は、夫々例えば通常コンテンツの先頭位置からのバイト数で指定することができる。
【0062】
また、複数の部分データが指定される場合、利用者は入力部19aを操作して、各部分データの出力順序を指定することもできる。例えば、利用者は、各部分データに対応する出力位置を指定する際に、各部分データを出力する順番を指定する。或いは、各部分データの出力位置を指定する順序が、各部分データの出力順序に設定されるように構成しても良い。
【0063】
制御部11は、利用者により指定されたコンテンツID及び位置情報等を受け付けてRAMに記憶する(ステップS6)。なお、利用者により各部分データを出力する順番が指定される場合がある。この場合、利用者により指定された各位置情報に対応する各部分データの出力順序を示す順序情報がRAMに記憶される。そして、利用者が入力部19aを操作して構成情報コンテンツの投入要求指示を入力すると、制御部11は、ネットワークNWを介して投入要求メッセージをコンテンツ管理サーバMSに送信する(ステップS7)。この投入要求メッセージは、構成情報コンテンツの投入を要求するためのメッセージである。また、投入要求メッセージには、利用者により指定されたコンテンツID及び位置情報が含まれる。なお、通常コンテンツのコンテンツIDと、この通常コンテンツ中の出力位置を示す位置情報とは対応付けられている。また、順序情報が位置情報に対応付けられてRAMに記憶されている場合、投入要求メッセージには、利用者により指定されたコンテンツID、位置情報及び順序情報が含まれる。
【0064】
次いで、コンテンツ管理サーバMSの制御部1は、ノードNnからの投入要求メッセージを受信する(ステップS8)。受信された投入要求メッセージに含まれるコンテンツID及び位置情報及び順序情報等はRAMに記憶される。
【0065】
次いで、制御部1は、上記ステップS8で受信された投入要求メッセージに含まれるコンテンツIDが記述されたレコードを、記憶部2に記憶されているコンテンツカタログ情報から検索し取得する(ステップS9)。なお、投入要求メッセージに複数のコンテンツIDが含まれる場合には、各コンテンツIDに対応するレコードが検索される。
【0066】
次いで、制御部1は、上記ステップS9で取得されたレコードを一つ選択する(ステップS10)。
【0067】
次いで、制御部1は、上記ステップS10で選択されたレコードから特殊キーワードを抽出する(ステップS11)。
【0068】
次いで、制御部1は、上記ステップS11で抽出された特殊キーワードに含まれる権利情報中に、上記ログインされた利用者の利用者ID又は編集フリーを示すフラグが記述されているか否かを判定する(ステップS12)。
【0069】
そして、制御部1は、権利情報中に上記利用者ID又は編集フリーを示すフラグが記述されていないと判定した場合には(ステップS12:NO)、ステップS13に進む。一方、制御部1は、権利情報中に上記利用者ID又は編集フリーを示すフラグが記述されていると判定した場合には(ステップS12:YES)、ステップS14に進む。例えば、権利情報中に利用者IDが記述されている場合、この利用者IDに対応する利用者に通常コンテンツ中の部分データの利用が許可される。また、権利情報中に編集フリーを示すフラグが記述されている場合、全ての利用者に通常コンテンツ中の部分データの利用が許可される。このように、特殊キーワードに含まれる権利情報に部分データの利用を許可することが示されている場合にのみ、後述するステップS15で構成情報コンテンツが生成される。
【0070】
ステップS13では、制御部1は、指定された通常コンテンツは合成コンテンツには使用できない旨のエラーメッセージを、上記投入要求メッセージを送信したノードNnに送信する。このエラーメッセージは、ノードNnの表示部16に表示される。これにより、部分データの利用が不許可である通常コンテンツについては改変を防止することができる。
【0071】
ステップS14では、制御部1は、上記ステップS9で取得されたレコードのうち、上記ステップS10で未だ選択されていないレコードがあるか否かを判定する。そして、制御部1は、未だ選択されていないレコードがあると判定した場合には(ステップS14:YES)、ステップS10に戻る。ステップS10に戻ると、制御部1は、未だ選択していないレコードを一つ選択し、ステップS11以降の処理を行う。一方、制御部1は、未だ選択されていないレコードがないと判定した場合には(ステップS14:NO)、ステップS15に進む。
【0072】
ステップS15では、制御部1は、上記ステップS8で受信された投入要求メッセージに含まれるコンテンツID及び位置情報が記述された構成情報コンテンツを生成する。
【0073】
図2(B)に示す例の場合、通常コンテンツYのコンテンツIDと通常コンテンツZのコンテンツIDとが構成情報コンテンツに含まれる。そして、この場合、部分データYaを決定するための位置情報には、例えば、通常コンテンツY中の出力の開始位置P1と出力の終了位置P2が示される。一方、部分データZbを決定するための位置情報には、例えば、通常コンテンツZ中の出力の開始位置P3と出力の終了位置P4が示される。出力の開始位置と出力の終了位置は、例えば、通常コンテンツの先頭位置からのバイト数で表される。或いは、出力の開始位置と出力の終了位置は、通常コンテンツの先頭位置からの再生時刻で表されるものであっても良い。出力の開始位置と出力の終了位置が位置情報に示されることにより、ノードNnは通常コンテンツ中の部分データの範囲を決定することができる。なお、例えば部分データが静止画像や3Dモデルのテクスチャ等の場合、出力の開始位置のみが位置情報が示されれば良い。
【0074】
なお、上記ステップS8で受信された投入要求メッセージに、コンテンツID、位置情報、及び順序情報が記述されている場合がある。この場合、コンテンツID、位置情報、及び順序情報が、構成情報コンテンツに記述される。図2(B)に示す例の場合、部分データYaの出力順序“1番”を示す順序情報が、この部分データYaに対応する位置情報に対応付けられて構成情報コンテンツに記述される。また、部分データZbの出力順序“2番”を示す順序情報が、この部分データZbに対応する位置情報に対応付けられて構成情報コンテンツに記述される。 次いで、ステップS15で生成された構成情報コンテンツに固有のコンテンツIDを付与する(ステップS16)。このコンテンツIDは、構成情報コンテンツに対応する合成コンテンツのコンテンツIDでもある。
【0075】
次いで、制御部1は、上記コンテンツIDが付与された構成情報コンテンツをコンテンツ配信システムS内に投入する投入処理を行う(ステップS17)。この投入処理では、制御部1は、オーバーレイネットワークONに参加しているノードNnのうちノード情報を記憶部2に記憶しているノードNnの中から、所定数のノードNnを選択する。そして、制御部1は、選択した各ノードNnにアクセスし、上記構成情報コンテンツを送信する。
【0076】
ここで、構成情報コンテンツのデータ量が所定値より大きい場合、この構成情報コンテンツはチャンク単位に分割される。そして、分割された各チャンクには固有のチャンクIDが付与される。更に、構成情報コンテンツを構成する各チャンクのチャンクIDが記述されたメタファイルが生成される。こうして生成された構成情報コンテンツのメタファイルには、この構成情報コンテンツと同じコンテンツIDが付与される。そして、構成情報コンテンツのメタファイル及びこのメタファイルに記述される各チャンクは、上記ステップS17と同じ手順でコンテンツ配信システム内に投入される。
【0077】
こうして、上記選択されたノードNnは、受信した構成情報コンテンツ、構成情報コンテンツのメタファイル、及びチャンクの少なくとも一つを記憶部12に記憶、保存する。構成情報コンテンツ、構成情報コンテンツのメタファイル、及びチャンクの少なくとも一つを、以下、「コンテンツファイル」という。コンテンツファイルを保存した各ノードNnは、のコンテンツ保持ノードとなる。そして、コンテンツファイルを保存した各コンテンツ保持ノードは、コンテンツファイルのパブリッシュ処理を実行する。このパブリッシュ処理は、コンテンツファイルを保存していることを他のノードNnに公開するための処理である。このパブリッシュ処理において、各ノードNnは、パブリッシュメッセージを生成する。パブリッシュメッセージには、構成情報コンテンツのコンテンツID、及びコンテンツ保持ノードのIPアドレス等が含まれる。又は、パブリッシュメッセージには、チャンクのチャンクID、及びコンテンツ保持ノードのIPアドレス等が含まれる。そして、コンテンツ保持ノードは、生成したパブリッシュメッセージを、DHTルーティングにより、コンテンツファイルのルートノード宛に送信する。なお、DHTルーティングは、例えば特開2007−053662号公報等で公知であるので、詳しい説明を省略する。パブリッシュメッセージを受信したルートノードは、構成情報コンテンツのコンテンツIDとコンテンツ保持ノードのIPアドレス等との組を、インデックス情報として記憶部12のインデックスキャッシュ領域に記憶する。また、パブリッシュメッセージを受信したルートノードは、チャンクのチャンクIDとコンテンツ保持ノードのIPアドレス等との組を、インデックス情報として記憶部12のインデックスキャッシュ領域に記憶する。
【0078】
次いで、制御部1は、上記ステップS15で生成された構成情報コンテンツに対応する合成コンテンツのレコードを生成する(ステップS18)。
【0079】
次いで、制御部1は、上記ステップS16で構成情報コンテンツに付与されたコンテンツIDと、特殊キーワードとを、上記ステップS18で生成されたレコード内に記述する(ステップS19)。この特殊キーワードには、合成コンテンツのレコードであることを示す識別子が含まれる。
【0080】
次いで、制御部1は、コンテンツID等が記述された、合成コンテンツのレコードをコンテンツカタログ情報中に追加登録する(ステップS20)。
【0081】
なお、制御部1は、構成情報コンテンツを投入する代わりに、上記ステップS19において、合成コンテンツのレコードに記述される特殊キーワードに構成情報コンテンツを含ませるように構成しても良い。この場合、上記ステップS17の処理を行う必要がない。
【0082】
次いで、制御部1は、上記ステップS20で登録された合成コンテンツのレコードを含むコンテンツカタログ情報を、オーバーレイネットワークONに参加しているノードNnにDHTマルチキャストで配信し(ステップS21)、図5(B)に示す処理を終了する。DHTマルチキャストで配信されるコンテンツカタログ情報には、少なくとも上記ステップS20で登録された合成コンテンツのレコードが含まれるものであれば良い。なお、DHTマルチキャストは、例えば特開2007−053662号公報等で公知であるので、詳しい説明を省略する。
(4−2.合成コンテンツの生成動作)
次に、図6を参照して、合成コンテンツの生成動作について説明する。
【0083】
図6は、ノードNnの制御部11における合成コンテンツの生成処理を示すフローチャートである。
【0084】
図6に示す処理は、ノードNnの制御部11がコンテンツIDを取得した場合に開始される。ここで、コンテンツIDは、例えばノードNnがコンテンツ提供サイトにアクセスすることにより提供されたWebページから取得することができる。このコンテンツ提供サイトは、例えば動画等のコンテンツを提供するためのWebサイトである。例えば、一般ユーザに広告として合成コンテンツを視聴させたい利用者の指示により、コンテンツ提供サイトから提供されるWebページを構成する構造化文書に、合成コンテンツのコンテンツIDが事前に記述される。構造化文書としては、例えば、HTML(Hyper Text Markup Language)文書やXHTML文書等が挙げられる。
【0085】
或いは、コンテンツIDは、ノードNnに記憶されているコンテンツカタログ情報からキーワード等により検索されるものであっても良い。
【0086】
図6に示す処理が開始されると、制御部11は、取得したコンテンツIDが記述されたレコードを、記憶部12に記憶されているコンテンツカタログ情報から検索し取得する(ステップS31)。
【0087】
制御部11は、上記ステップS31で取得されたレコードが合成コンテンツのレコードであるか否かを判定する(ステップS32)。例えば、合成コンテンツのレコードに記述された特殊キーワード中に合成コンテンツのレコードであることを示す識別子が含まれている場合、合成コンテンツのレコードであると判定される。
【0088】
そして、制御部11は、合成コンテンツのレコードであると判定した場合には(ステップS32:YES)、ステップS33に進む。一方、制御部11は、合成コンテンツのレコードでないと判定した場合には(ステップS32:NO)、ステップS47に進む。
【0089】
ステップS33では、制御部11は、合成コンテンツに対応する構成情報コンテンツ又は構成情報コンテンツのメタファイルの取得処理を実行する。この取得処理は、構成情報コンテンツのコンテンツIDに基づいて、コンテンツ保持ノード等から構成情報コンテンツ又は構成情報コンテンツのメタファイルを取得する処理である。具体的には、制御部11は、先ず、コンテンツ所在問合せメッセージを生成する。コンテンツ所在問合せメッセージは、構成情報コンテンツ又は構成情報コンテンツのメタファイルの所在をルートノードに問い合わせるためのメッセージである。また、コンテンツ所在問合せメッセージには、このメッセージを送信するノードNnのIPアドレス及びポート番号、及び構成情報コンテンツのコンテンツIDが含まれる。そして、制御部11は、生成したコンテンツ所在問合せメッセージを、DHTルーティングにより、合成コンテンツのルートノード宛に送信する。なお、DHTルーティングは、例えば特開2007−053662号公報等で公知であるので、詳しい説明を省略する。
【0090】
上記コンテンツ所在問合せメッセージを受信したルートノードは、コンテンツ所在問合せメッセージに含まれるコンテンツIDに対応するインデックス情報を取得する。そして、ルートノードは、取得したインデックス情報を、受信したコンテンツ所在問合せメッセージの送信元であるノードNnへ返信する。このように返信されたインデックス情報には、構成情報コンテンツ又は構成情報コンテンツのメタファイルを保存しているコンテンツ保持ノードのIPアドレス等が含まれている。こうして、上記コンテンツ所在問合せメッセージの送信元のノードNnの制御部11は、ルートノードからのインデックス情報を受信する。そして、制御部11は、受信されたインデックス情報に含まれるコンテンツ保持ノードのIPアドレス等に基づいてコンテンツ保持ノードにアクセスする。そして、制御部11は、コンテンツ保持ノードから構成情報コンテンツ又は構成情報コンテンツのメタファイルをダウンロードする。ダウンロードとは取得の一例である。なお、コンテンツ保持ノードから構成情報コンテンツ又は構成情報コンテンツのメタファイルがダウンロードできない場合がある。この場合、コンテンツ管理サーバMSから構成情報コンテンツ又は構成情報コンテンツのメタファイルがダウンロードされる。
【0091】
ここで、構成情報コンテンツのメタファイルがダウンロードされた場合、制御部11は、このメタファイルから各チャンクIDを抽出する。そして、制御部11は、各チャンクIDに対応するチャンクの取得処理を実行する。この取得処理は、チャンクのチャンクIDに基づいて、コンテンツ保持ノード等からチャンクを取得する処理である。このチャンクの取得処理は、構成情報コンテンツの取得処理と同じ手順で行われる。そして、制御部11は、チャンクの取得処理により、各チャンクのコンテンツ保持ノードから各チャンクをダウンロードする。なお、コンテンツ保持ノードからチャンクがダウンロードできない場合がある。この場合、コンテンツ管理サーバMSからチャンクがダウンロードされる。そして、制御部11は、ダウンロードされた各チャンクに基づいて構成情報コンテンツを復元する。こうして構成情報コンテンツが取得される。なお、構成情報コンテンツのメタファイル及びチャンクを保存したコンテンツ保持ノードは、構成情報コンテンツのメタファイル及びチャンクのパブリッシュ処理を実行する。
【0092】
次いで、制御部11は、取得した構成情報コンテンツから、通常コンテンツのコンテンツIDとこれに対応つけられた位置情報を抽出する(ステップS34)。なお、構成情報コンテンツに、各部分データの出力順序を示す順序情報が記述されている場合、各部分データの順序情報も抽出される。
【0093】
なお、上記ステップS31で取得されたレコードに記述された特殊キーワードに、構成情報コンテンツが記述されている場合がある。この場合、制御部11は、上記ステップS33の取得処理を行わず、合成コンテンツのレコードに記述された特殊キーワードから、通常コンテンツのコンテンツID及び位置情報等を抽出することになる。
【0094】
次いで、制御部11は、上記ステップS34で抽出されたコンテンツIDを一つ選択する(ステップS35)。このコンテンツIDは、通常コンテンツのコンテンツIDである。
【0095】
次いで、制御部11は、上記ステップS35で選択されたコンテンツIDが記述されたレコードを、記憶部12に記憶されているコンテンツカタログ情報から検索し取得する(ステップS36)。
【0096】
次いで、制御部11は、上記ステップS36で取得されたレコードから公開開始日時及び公開終了日時を抽出する(ステップS37)。
【0097】
次いで、制御部11は、上記ステップS37で抽出された公開開始日時から公開終了日時までの期間内に、現在時刻が含まれるか否かを判定する(ステップS38)。なお、現在時刻は、制御部11の図示しない時計機能により得られる。そして、制御部11は、公開開始日時から公開終了日時までの期間内に現在時刻が含まれていないと判定した場合には(ステップS38:NO)、制御部11は通常コンテンツの部分データを利用できない旨のエラーメッセージを表示部16に表示する(ステップS39)。そして、制御部11は、図6に示す処理を終了する。
【0098】
一方、制御部11は、公開開始日時から公開終了日時までの期間内に現在時刻が含まれていると判定した場合には(ステップS38:YES)、ステップS40に進む。
【0099】
ステップS40では、制御部11は、上記ステップS35で選択されたコンテンツIDに対応する通常コンテンツのメタファイルの取得処理を実行する。この取得処理は、通常コンテンツのコンテンツIDに基づいて、コンテンツ保持ノード等から通常コンテンツのメタファイルを取得する処理である。この通常コンテンツのメタファイルの取得処理は、構成情報コンテンツのメタファイルの取得処理と同じ手順で行われる。そして、制御部11は、通常コンテンツのメタファイルの取得処理により、コンテンツ保持ノードから通常コンテンツのメタファイルをダウンロードする。なお、コンテンツ保持ノードから通常コンテンツのメタファイルがダウンロードできない場合がある。この場合、コンテンツ管理サーバMSから通常コンテンツのメタファイルがダウンロードされる。
【0100】
なお、通常コンテンツのメタファイルに記述される情報が、この通常コンテンツのレコードに記述されている場合、制御部11は、コンテンツ保持ノードから通常コンテンツのメタファイルをダウンロードしなくても良い。
【0101】
次いで、制御部1は、上記ステップS35で選択されたコンテンツIDに対応付けられている位置情報に基づいて通常コンテンツ中の出力位置を含む部分データを決定する(ステップS41)。例えば、位置情報に示される出力の開始位置から出力の終了位置までを含む部分データが決定される。例えば、出力の開始位置から出力の終了位置までを含むバイト範囲で部分データが決定される。なお、上記ステップS35で選択されたコンテンツIDに複数の部分データの位置情報が対応付けられている場合には、各部分データが決定される。
【0102】
次いで、制御部11は、上記ステップS40でダウンロードされた通常コンテンツのメタファイルを参照して、上記ステップS41で決定された部分データに対応するチャンクのチャンクIDを決定する(ステップS42)。例えば、部分データのバイト範囲を含むチャンクのチャンクIDが決定される。通常コンテンツのメタファイルには、各チャンクのデータ量を示す情報が記述されている。そのため、各チャンクのデータ量を示す情報と、上記決定された部分データのバイト範囲とを比較することで、部分データのバイト範囲を含むチャンクを判別することができる。上記ステップS41で複数の部分データが決定された場合には、部分データ毎にチャンクのチャンクIDが決定される。
【0103】
なお、通常コンテンツのメタファイルに記述される情報が、この通常コンテンツのレコードに記述されている場合がある。この場合、制御部11は、通常コンテンツのレコードを参照して、ステップS42の処理を行うことになる。
【0104】
次いで、制御部11は、上記ステップS42で決定されたチャンクIDに対応するチャンクの取得処理を実行する(ステップS43)。この取得処理は、チャンクのチャンクIDに基づいて、コンテンツ保持ノード等から、上記決定された部分データを含むチャンクを取得する処理である。このチャンクの取得処理は、上述したチャンクの取得処理と同じ手順で行われる。そして、制御部11は、チャンクの取得処理により、コンテンツ保持ノードから、上記部分データを含むチャンクをダウンロードする。なお、コンテンツ保持ノードからチャンクがダウンロードできない場合がある。この場合、コンテンツ管理サーバMSからチャンクがダウンロードされる。
【0105】
なお、ダウンロードされた通常コンテンツのメタファイルやチャンクは、バッファメモリ13に蓄積された後、記憶部12に記憶、保存される。通常コンテンツのメタファイルやチャンクを保存したコンテンツ保持ノードは、通常コンテンツのメタファイルやチャンクのパブリッシュ処理を実行する。
【0106】
次いで、制御部11は、上記ステップS34で抽出されたコンテンツIDのうち、上記ステップS35で未だ選択されていないコンテンツIDがあるか否かを判定する(ステップS44)。そして、制御部11は、未だ選択されていないコンテンツIDがあると判定した場合には(ステップS44:YES)、ステップS35に戻る。ステップS35に戻ると、制御部11は、未だ選択していないコンテンツIDを一つ選択し、ステップS36以降の処理を行う。一方、制御部1は、未だ選択されていないコンテンツIDがないと判定した場合には(ステップS44:NO)、ステップS45に進む。
【0107】
ステップS45では、制御部11は、上記ステップS43でダウンロードされた各チャンクに含まれる部分データを繋げて合成コンテンツを生成する。ここで、上記ステップS34で、構成情報コンテンツから各部分データの出力順序を示す順序情報が抽出された場合には、この順序情報が示す出力順序で複数の部分データが繋げられて合成コンテンツが生成される。一方、上記ステップS34で構成情報コンテンツから各部分データの順序情報が抽出されない場合には、例えば部分データを含むチャンクをダウンロードした順序で部分データを繋げて合成コンテンツが生成される。
【0108】
次いで、制御部11は、上記ステップS45で生成された合成コンテンツをデコーダ部14、映像処理部15、表示部16、音声処理部17、及びスピーカ18を通じて外部に出力させる(ステップS46)。これにより、ユーザは合成コンテンツを例えば視聴することができる。なお、上記ステップS43でチャンクがダウンロードされると、ただちに、チャンクに含まれる部分データがデコーダ部14等を介して出力されるように構成しても良い。つまり、この場合、素材となる全ての通常コンテンツのダウンロードの終了を待たずに部分データが出力される。
【0109】
一方、ステップS47に示す通常コンテンツの取得処理では、上記ステップS40と同様の処理により通常コンテンツのメタファイルが取得される。そして、取得されたメタファイルに記述された各チャンクIDに基づいて各チャンクが取得される。なお、通常コンテンツの取得処理は公知であるので詳しい説明を省略する。
(4−3.通常コンテンツのキャッシュバランスを保つ動作)
次に、図7を参照して、通常コンテンツのキャッシュバランスを保つ動作について説明する。通常コンテンツのキャッシュバランスとは、合成コンテンツの素材となる複数の通常コンテンツのメタファイル又は通常コンテンツを構成するチャンクのコンテンツ保持ノードの数を均衡させることをいう。なお、「コンテンツ保持ノードの数」は、保存ノード数に応じた値の一例である。「コンテンツ保持ノードの数」を、以下、「保持ノード数」という。
【0110】
コンテンツ配信システムSにおいて取得可能な各通常コンテンツの人気に偏りがあると、通常コンテンツ毎に、通常コンテンツのメタファイルやチャンクを保存しているコンテンツ保持ノードの数が異なる。合成コンテンツが、人気に差がある複数の通常コンテンツを素材とする場合、人気のない通常コンテンツは、人気のある通常コンテンツに比べ、コンテンツ保持ノードから取得され難くなり種々の問題が生じる。例えば、人気のない通常コンテンツのメタファイルやチャンクのコンテンツ保持ノードからの応答が遅くなるという問題がある。また、コンテンツ保持ノードから人気のない通常コンテンツのメタファイルやチャンクをダウンロードする時間が長くなるという問題がある。更に、コンテンツ保持ノードからの応答が遅くなる場合、合成コンテンツを生成するノードNnは、全ての通常コンテンツを管理しているコンテンツ管理サーバMSに対して人気のない通常コンテンツのメタファイルやチャンクを要求することになる。そのため、コンテンツ管理サーバMSの負荷が増大するという問題もある。
【0111】
このような問題を解決するため、通常コンテンツのキャッシュバランスを保つ動作では、コンテンツ管理サーバMSとノードNnがキャッシュアンバランス解消処理を行う。
【0112】
図7(A)は、コンテンツ管理サーバMSの制御部1又はノードNnの制御部11におけるキャッシュアンバランス解消処理を示すフローチャートである。図7(B)は、キャッシュバランスメッセージを受信したノードNnの制御部11の処理を示すフローチャートである。
【0113】
先ず、図7(A)に示す処理は、例えば、コンテンツ管理サーバMSの制御部1が図5(B)に示す処理において構成情報コンテンツを生成又は投入した際に開始される。或いは、図7(A)に示す処理は、コンテンツ管理サーバMSが、合成コンテンツの素材となる各通常コンテンツの人気度の差が閾値以上である場合に開始されるように構成しても良い。この場合、コンテンツ管理サーバMSが、オーバーレイネットワークONに参加している所定数のノードNnから、合成コンテンツの素材となる各通常コンテンツの再生ログ情報を収集する。そして、コンテンツ管理サーバMSは、収集した再生ログ情報に基づいて、各通常コンテンツの人気度の差を算出する。
【0114】
図7(A)に示す処理が開始されると、コンテンツ管理サーバMSの制御部1は、構成情報コンテンツに、複数の通常コンテンツのコンテンツIDが記述されているか否かを判定する(ステップS61)。そして、制御部1は、複数の通常コンテンツのコンテンツIDが記述されていると判定した場合には(ステップS61:YES)、ステップS62に進む。一方、制御部1は、複数の通常コンテンツのコンテンツIDが記述されていないと判定した場合には(ステップS61:NO)、図7(A)に示す処理を終了する。
【0115】
ステップS62では、制御部1は、通常コンテンツ毎に保持ノード数の問い合わせ処理を行う。この問い合わせ処理では、制御部1は、保持ノード数問合せメッセージを生成する。この保持ノード数問合せメッセージは、通常コンテンツ又は通常コンテンツのメタファイルの保持ノード数をルートノードに問い合わせるためのメッセージである。また、保持ノード数問合せメッセージには、このメッセージを送信するノードNnのIPアドレス及びポート番号、及び通常コンテンツのコンテンツID等が含まれる。そして、制御部1は、生成した保持ノード数問合せメッセージを、DHTルーティングにより、通常コンテンツのルートノード宛に送信する。なお、DHTルーティングは、例えば特開2007−053662号公報等で公知であるので、詳しい説明を省略する。保持ノード数問合せメッセージを受信したルートノードは、保持ノード数問合せメッセージに含まれるコンテンツIDに対応するインデックス情報を取得する。そして、このルートノードは、取得したインデックス情報に含まれるノード情報の数から、保持ノード数を特定する。ルートノードは、特定した保持ノード数を示す保持ノード数情報を、保持ノード数問合せメッセージの送信元であるノードNnへ返信する。なお、保持ノード数情報は、保存数情報の一例である。
【0116】
こうして、制御部1は、各ルートノードからの各保持ノード数情報を取得する(ステップS63)。なお、構成情報コンテンツに3つ以上の通常コンテンツのコンテンツIDが記述されている場合、3つ以上の保持ノード数情報が取得される。
【0117】
次いで、制御部1は、上記ステップS63で取得した各保持ノード数情報に示される保持ノード数の差を算出する(ステップS64)。なお、3つ以上の保持ノード数情報が取得された場合がある。この場合、例えば、これらの保持ノード数の中で、通常コンテンツの保存ノード数の最大と、この最大以外の通常コンテンツの保存ノード数との差を算出すれば良い。例えば、素材となる通常コンテンツX,Y,Zの3つであるとする。そして、通常コンテンツXの保持ノード数が「10」、通常コンテンツYの保持ノード数が「5」、通常コンテンツXの保持ノード数が「1」であるとする。この場合、通常コンテンツXとYの保持ノード数との差、通常コンテンツXとZの保持ノード数との差を算出すれば良い。そして、この場合、算出された夫々の差について、ステップS65以降の処理が行われることになる。
【0118】
次いで、制御部1は、上記ステップS64で算出された保持ノード数の差が閾値以上であるか否かを判定する(ステップS65)。そして、制御部1は、保持ノード数の差が閾値以上であると判定した場合には(ステップS65:YES)、ステップS66に進む。一方、制御部1は、保持ノード数の差が閾値以上でないと判定した場合には(ステップS65:NO)、図7(A)に示す処理を終了する。
【0119】
ステップS66では、制御部1は、上記ステップS64で算出された保持ノード数の差に基づいて、保持ノード数が少ない方の通常コンテンツの複製数を決定する。例えば、保持ノード数の差が閾値になるように、保持ノード数が少ない方の通常コンテンツの複製数が決定される。
【0120】
次いで、制御部1は、キャッシュバランスメッセージを生成する(ステップS67)。このキャッシュバランスメッセージは、保持ノード数が少ない方の通常コンテンツを所定のノードNnに保存させるためのメッセージである。また、キャッシュバランスメッセージには、保持ノード数が少ない方の通常コンテンツのコンテンツIDが含まれる。
【0121】
次いで、制御部1は、上記ステップS66で決定された通常コンテンツの複製数に応じたキャッシュバランスメッセージの送信回数と転送回数を決定する(ステップS68)。
【0122】
次いで、制御部1は、上記ステップS68で決定された転送回数を、上記ステップS67で生成されたキャッシュバランスメッセージのTTL(Time To Live)に設定する(ステップS69)。
【0123】
次いで、制御部1は、オーバーレイネットワークONに参加している所定のノードNnに、TTLが設定されたキャッシュバランスメッセージを送信する(ステップS70)。なお、上記所定のノードNnは、例えば、DHTを用いたルーティングテーブルに登録されているノードNnから例えばランダムに選定される。また、キャッシュバランスメッセージは、上記ステップS68で決定された送信回数分、異なる任意のノードNnに送信される。キャッシュバランスメッセージを送信処理は、保持ノード数が少ない方の通常コンテンツを所定のノードNnに保存させる処理の一例である。
【0124】
また、上記ステップS70の処理は、上記ステップS68で決定された送信回数分、所定時間間隔で行われる。一度に多くのノードNnにキャッシュバランスメッセージが送信されると、コンテンツ管理サーバMSの負荷が増大する可能性がある。そこで、制御部1は、所定時間間隔で所定数ずつキャッシュバランスメッセージを送信する。これにより、コンテンツ管理サーバMSの負荷が増大することを回避することができる。
【0125】
以上説明した図7(A)に示す処理により、例えば構成情報コンテンツの投入時に、合成コンテンツを素材とする複数の通常コンテンツのメタファイルの保持ノード数をバランスさせることができる。
【0126】
ところで、ノードNnによる合成コンテンツの再生出力に応じて複数の通常コンテンツのメタファイルの保持ノード数が徐々に同じ数に近づいていくので良いのであれば、図7(A)に示す処理はノードNnが行う。この場合、図7(A)に示す処理は、例えば、ノードNnの制御部11が図6に示す処理において構成情報コンテンツをダウンロードした際に開始される。この場合において、ノードNnの制御部11は、図7(A)に示すステップS66で決定する複製数は1回程度とすれば良い。そして、ノードNnの制御部11は、図7(A)に示すステップS68で決定する送信回数と転送回数は夫々1回程度とすれば良い。これは、ノードNnを送信元として送信されるキャッシュバランスメッセージの送信回数や転送回数が多いと、過剰なメッセージによりネットワークNWの負荷が増大するためである。
【0127】
なお、上記図7(A)に示す処理では、制御部1又は制御部11は、各通常コンテンツのメタファイルの保持ノード数の差に基づいて保持ノード数が少ない方の通常コンテンツの複製数を決定した。別の例として、制御部1又は制御部11は、合成コンテンツの素材となる各通常コンテンツ中の部分データを含むチャンクの保持ノード数の差に基づいて保持ノード数が少ない方のチャンクの複製数を決定するように構成しても良い。この場合、上記ステップS62において、制御部1又は制御部11は、上述したステップS40〜S42と同様の処理により、各通常コンテンツ中の部分データを含むチャンクのチャンクIDを決定する。
【0128】
図2(B)に示す例の場合、通常コンテンツY中の部分データYaを含むチャンクのチャンクIDと、通常コンテンツZ中の部分データZbを含むチャンクのチャンクIDと、が決定される。そして、制御部1又は制御部11は、特定したチャンク毎に保持ノード数の問い合わせ処理を行う。この問い合わせ処理は、上記ステップS62における通常コンテンツの保持ノード数の問い合わせ処理と同じ手順で行われる。その結果、制御部1又は制御部11は、上記ステップS63で、各ルートノードからの各保持ノード数情報を取得する。
【0129】
なお、構成情報コンテンツに3つ以上の通常コンテンツのコンテンツIDが記述されている場合上記ステップS64で説明した通常コンテンツの保持ノード数の差の算出と同様にチャンクの保存ノード数の差が算出される。
【0130】
また、素材となる一つの通常コンテンツ中で複数の部分データが合成コンテンツに利用される場合がある。この場合、制御部1又は制御部11は、複数の部分データの中で保持ノード数が最大の部分データに対応するチャンクの保存ノード数を上記通常コンテンツにおける代表として、上記ステップS64における差の計算に用いれば良い。或いは、制御部1又は制御部11は、複数の部分データの各々に対応する各チャンクの保持ノード数の平均値又は分散値を計算し、この計算により得られた平均値又は分散値を上記ステップS64における差の計算に用いるように構成しても良い。この場合、各チャンクの保持ノード数の平均値又は分散値は、保存ノード数に応じた値の一例である。例えば、通常コンテンツY中の10個の部分データと、通常コンテンツZ中の8個の部分データと、が合成コンテンツに用いられるとする。この場合、通常コンテンツY中の10個の部分データの各々に対応するチャンクの保持ノード数の平均値又は分散値と、通常コンテンツZ中の8個の部分データの各々に対応するチャンクの保持ノード数の平均値又は分散値と、の差が算出されることになる。
【0131】
そして、制御部1又は制御部11は、上述したステップS65の処理を行う。そして、制御部1又は制御部11は、上記ステップS66で、上記ステップS64で算出された保持ノード数の差に基づいて、保持ノード数が少ない方のチャンクの複製数を決定する。そして、制御部1又は制御部11は、上記ステップS67〜ステップS70の処理を行う。なお、この場合において、上記ステップS67で生成されるキャッシュバランスメッセージには、保持ノード数が少ない方のチャンクのチャンクIDが含まれる。このような処理により、合成コンテンツに利用される部分データを含むチャンクの保持ノード数をバランスさせることができる。そのため、ノードNnは、合成コンテンツをより迅速に生成することができる。
【0132】
次に、図7(B)に示す処理は、ノードNnがコンテンツ管理サーバMS又は他のノードNnからキャッシュバランスメッセージを受信した場合に開始される。
【0133】
図7(B)に示す処理が開始されると、ノードNnの制御部11は、受信したキャッシュバランスメッセージから通常コンテンツのコンテンツIDを抽出する(ステップS81)。
【0134】
次いで、制御部11は、ステップS81で抽出されたコンテンツIDに対応する通常コンテンツのメタファイル及び各チャンクの取得処理を実行する(ステップS82)。この取得処理では、上述したステップS40及びステップS43と同様の処理により、キャッシュバランスメッセージに含まれるコンテンツIDに対応する通常コンテンツのメタファイル及び各チャンクがダウンロードされ、記憶部12に保存される。通常コンテンツのメタファイル及び各チャンクが保存されると、制御部11は、通常コンテンツのメタファイル及びチャンクのパブリッシュ処理を実行する。
【0135】
次いで、制御部11は、受信したキャッシュバランスメッセージに設定されたTTLに基づいてキャッシュバランスメッセージを他のノードNnに転送するか否かを判定する(ステップS83)。そして、制御部11は、キャッシュバランスメッセージを他のノードNnに転送すると判定した場合(ステップS83:YES)、ステップS84に進む。一方、キャッシュバランスメッセージを他のノードNnに転送しないと判定した場合(ステップS83:NO)、図7(B)に示す処理を終了する。
【0136】
ステップS84では、制御部11は、オーバーレイネットワークONに参加している所定のノードNnに、TTLが設定されたキャッシュバランスメッセージを転送し、図7(B)に示す処理を終了する。なお、上記所定のノードNnは、例えば、DHTを用いたルーティングテーブルに登録されているノードNnから例えばランダムに選定される。
【0137】
なお、上記図7(B)に示す処理で、チャンクIDが含まれるキャッシュバランスメッセージが受信された場合には、上記ステップS81で、制御部11は、受信したキャッシュバランスメッセージからチャンクのチャンクIDを抽出する。そして、制御部11は、上記ステップS82で、チャンクIDに対応するチャンクをダウンロードして記憶部12に保存する。
【0138】
以上説明したように、上記実施形態によれば、ノードNnは、複数のノードNnにチャンク単位で分散保存されている通常コンテンツのコンテンツID、及びこの通常コンテンツ中の出力位置を示す位置情報等を含む構成情報コンテンツを取得する。そして、ノードNnは、取得した構成情報コンテンツが含む出力位置に基づいて、コンテンツ配信システムS内に保存されている通常コンテンツ中から、出力位置に対応する部分データを取得するように構成した。そのため、ノードNnは、既に保存されている通常コンテンツ中の部分データを利用して合成コンテンツを出力することができる。従って、各ノードNnの記憶領域を無駄に消費することを低減し、コンテンツ配信システムS内により効率良く通常コンテンツを保存させることができる。また、各ノードNnによる通常コンテンツ等の迅速な取得を向上させることができる。
【0139】
また、構成情報コンテンツをノードNnがオーバーレイネットワークONを介して取得できるように構成した。そのため、ノードNnは、通常コンテンツの部分データを利用して合成コンテンツを効率良く出力することができる。
【0140】
また、通常コンテンツのキャッシュバランスを保つ動作によれば、人気の偏り等で合成コンテンツの素材となる各通常コンテンツの保持ノード数にアンバランスがあっても、当該アンバランスを効率良く解消することができる。
【0141】
更に、図6に示すステップS38で、合成コンテンツの素材となる通常コンテンツの公開開始日時から公開終了日時までの期間内に現在時刻が含まれない場合、処理を終了して合成コンテンツを生成できないように構成した。そのため、合成コンテンツの有効期限の管理を不要とすることができる。つまり、合成コンテンツのレコード中に合成コンテンツの公開開始日時及び公開終了日時を記述しなくても良い。これにより、合成コンテンツのレコードのデータ量を最小限に抑えることができるので、コンテンツカタログ情報のデータ量を低減することができる。
【0142】
なお、上記実施形態の別の例として、コンテンツ提供サイトからノードNnへ提供されるWebページを構成する構造化文書内に構成情報コンテンツが記述されるように構成しても良い。この場合、コンテンツ管理サーバMSの制御部1は、上述した図5(B)を示すステップS15で生成した構成情報コンテンツを、コンテンツ提供サイトを構成するWebサーバに送信する。このWebサーバは、所定の情報処理装置の一例である。そして、Webサーバは、構成情報コンテンツに含まれるコンテンツID及び位置情報等を、例えば、HTML文書に記述されたタグ内に記述したWebページを生成する。なお、コンテンツ管理サーバMSが、このWebページを生成してWebサーバに送信するように構成しても良い。こうして、生成されたWebページは、オーバーレイネットワークONに参加しているノードNnに提供可能にURLが付与されてコンテンツ提供サイトに登録される。これにより、ノードNnは、上述した図6に示す処理におけるステップS34で、コンテンツ提供サイトから提供されたWebページから、コンテンツIDとこれに対応つけられた位置情報を抽出し、ステップS35以降の処理を行う。この構成によれば、コンテンツ管理サーバMSは、上述したステップS17で、構成情報コンテンツ又は構成情報コンテンツのメタファイルをコンテンツ配信システムS内に投入する投入処理を行う必要がない。また、ノードNnは、上述したステップS33でコンテンツ保持ノードから構成情報コンテンツ又は構成情報コンテンツのメタファイルをダウンロードする必要がない。
【0143】
また、上記実施形態においては、合成コンテンツの素材として通常コンテンツを利用するように構成したが、合成コンテンツの素材として他の合成コンテンツを利用しても良い。
【0144】
また、上記実施形態においては、オーバーレイネットワークONに、DHTを利用したピアツーピアネットワークを適用したが、これに限られるものではない。例えば、他のピアツーピアシステム、または、他のオーバーレイネットワークを用いたシステムが適用されても良い。DHTを利用しないピアツーピアシステムとしては、例えば、ハイブリッド型のピアツーピアシステムがある。
【0145】
また、本発明は、ピアツーピア型のコンテンツ配信システムばかりでなく、クライアント/サーバ型のコンテンツ配信システムに対しても適用可能である。
【符号の説明】
【0146】
1 制御部
2 記憶部
3 通信部
4 バス
11 制御部
12 記憶部
13 バッファメモリ
14 デコーダ部
15 映像処理部
16 表示部
17 音声処理部
18 スピーカ
19 通信部
19a 入力部
19b バス
MS コンテンツ管理サーバ
Nn ノード
NW ネットワーク
ON オーバーレイネットワーク
S コンテンツ配信システム

【特許請求の範囲】
【請求項1】
ネットワークを介して互いに通信可能な複数の情報処理装置を備え、1つ以上の情報処理装置にコンテンツデータが保存され、各情報処理装置はコンテンツデータに付与された固有の識別情報に基づいて他の情報処理装置から当該コンテンツデータを取得するように構成された配信システムであって、
第一の前記情報処理装置は、
前記1つ以上の情報処理装置に保存されている1つ以上のコンテンツデータの識別情報と、前記識別情報に対応するコンテンツデータ中の出力位置を示す位置情報と、を含むコンテンツ情報を生成する生成手段と、
前記生成手段により生成されたコンテンツ情報を、所定の前記情報処理装置に送信する送信手段と、
を備え、
第二の前記情報処理装置は、
前記第一の前記情報処理装置又は前記所定の前記情報処理装置から前記コンテンツ情報を取得する第一取得手段と、
前記第一取得手段により取得されたコンテンツ情報に含まれる前記位置情報に基づいて前記コンテンツデータ中の出力位置を含む部分データを決定する決定手段と、
前記決定手段により決定された前記部分データを取得する第二取得手段と、
を備えることを特徴とする配信システム。
【請求項2】
前記生成手段は、前記1つ以上の情報処理装置に保存されている複数のコンテンツデータの識別情報と、複数の前記識別情報夫々に対応するコンテンツデータ中の出力位置を示す位置情報と、を含むコンテンツ情報を生成し、
前記決定手段は、前記第一取得手段により取得されたコンテンツ情報に含まれる前記位置情報に基づいて、各前記コンテンツデータ中の出力位置を含む部分データに対応する識別情報を決定し、
前記第二取得手段は、前記決定手段により決定された識別情報に基づいて、前記部分データを取得し、
前記第二の前記情報処理装置は、前記第二取得手段により取得された複数の前記部分データを繋げたコンテンツデータを出力する出力手段を更に備えることを特徴とする請求項1に記載の配信システム。
【請求項3】
前記生成手段は、前記コンテンツデータの識別情報と、前記識別情報に対応するコンテンツデータ中の出力の開始位置を示す位置情報と、を含むコンテンツ情報を生成し、
前記決定手段は、前記第一取得手段により取得された前記位置情報に示される前記開始位置に基づいて、前記コンテンツデータ中の出力の開始位置を含む部分データに対応する識別情報を決定し、
前記第二取得手段は、前記決定手段により決定された前記識別情報に基づいて他の前記情報処理装置から、前記開始位置を含む前記部分データを取得することを特徴とする請求項1または2に記載の配信システム。
【請求項4】
前記生成手段は、前記コンテンツデータの識別情報と、前記識別情報に対応するコンテンツデータ中の出力の開始位置及び前記コンテンツデータ中の出力の終了位置とを示す位置情報と、を含むコンテンツ情報を生成し、
前記決定手段は、前記第一取得手段により取得された前記位置情報に示される前記開始位置及び前記終了位置に基づいて、前記コンテンツデータ中の前記開始位置から前記終了位置を含む部分データに対応する識別情報を決定し、
前記第二取得手段は、前記決定手段により決定された前記識別情報に基づいて他の前記情報処理装置から、前記開始位置から前記終了位置を含む前記部分データを取得することを特徴とする請求項3に記載の配信システム。
【請求項5】
前記配信システムは、前記ネットワークに接続された前記複数の情報処理装置により形成されたオーバーレイネットワークを有し、
前記コンテンツ情報は、固有の識別情報が付与されて前記オーバーレイネットワークを形成する何れかの前記情報処理装置に保存されており、
前記第一取得手段は、前記コンテンツ情報に付与された固有の識別情報を取得し、当該取得した識別情報に基づいて前記オーバーレイネットワークを介して他の前記情報処理装置から当該コンテンツ情報を取得することを特徴とする請求項1乃至4の何れか一項に記載の配信システム。
【請求項6】
前記第一又は前記第二の前記情報処理装置は、
前記コンテンツ情報に複数のコンテンツデータの識別情報が含まれている場合には、夫々の前記コンテンツデータ又は前記コンテンツデータ中の部分データを保存している前記情報処理装置の数に応じた値を示す保存数情報を取得する第三取得手段と、
前記第三取得手段により取得された各前記保存数情報に示される値の差を決定する決定手段と、
前記決定手段により決定された差が閾値以上であるか否かを判定する判定手段と、
前記判定手段により前記差が閾値以上であると判定された場合には、前記保存数情報に示される値が少ない方の前記コンテンツデータ又は前記部分データを所定の前記情報処理装置に保存させる処理を行う制御手段と、
を更に備えることを特徴とする請求項1乃至5の何れか一項に記載の配信システム。
【請求項7】
前記コンテンツデータには、前記部分データの利用を許可するか否かを示す許否情報が付与されており、
前記生成手段は、前記コンテンツデータに付与された前記許否情報に前記部分データの利用を許可することが示されている場合にのみ、当該コンテンツデータの識別情報と、当該コンテンツデータ中の出力位置を示す位置情報と、を含むコンテンツ情報を生成することを特徴とする請求項1から請求項6のいずれか一項に記載の配信システム。
【請求項8】
ネットワークを介して互いに通信可能な複数の情報処理装置を備え、1つ以上の情報処理装置にコンテンツデータが保存され、各情報処理装置はコンテンツデータに付与された固有の識別情報に基づいて他の情報処理装置から当該コンテンツデータを取得するように構成された配信システムにおける前記情報処理装置であって、
前記1つ以上の情報処理装置に保存されている1つ以上のコンテンツデータの識別情報と、前記識別情報に対応するコンテンツデータ中の出力位置を示す位置情報と、を含むコンテンツ情報を生成する生成手段と、
前記生成手段により生成されたコンテンツ情報を、所定の前記情報処理装置に送信する送信手段と、
を備えることを特徴とする情報処理装置。
【請求項9】
ネットワークを介して互いに通信可能な複数の情報処理装置を備え、1つ以上の情報処理装置にコンテンツデータが保存され、各情報処理装置はコンテンツデータに付与された固有の識別情報に基づいて他の情報処理装置から当該コンテンツデータを取得するように構成された配信システムにおける前記情報処理装置であって、
前記第一の前記情報処理装置又は前記所定の前記情報処理装置から前記コンテンツ情報を取得する第一取得手段と、
前記第一取得手段により取得されたコンテンツ情報に含まれる前記位置情報に基づいて前記コンテンツデータ中の出力位置を含む部分データを決定する決定手段と、
前記決定手段により決定された前記部分データを取得する第二取得手段と、
を備えることを特徴とする情報処理装置。
【請求項10】
ネットワークを介して互いに通信可能な複数の情報処理装置を備え、1つ以上の情報処理装置にコンテンツデータが保存され、各情報処理装置はコンテンツデータに付与された固有の識別情報に基づいて他の情報処理装置から当該コンテンツデータを取得するように構成された配信システムにおける前記情報処理装置に含まれるコンピュータに、
前記1つ以上の情報処理装置に保存されている1つ以上のコンテンツデータの識別情報と、前記識別情報に対応するコンテンツデータ中の出力位置を示す位置情報と、を含むコンテンツ情報を生成するステップと、
前記生成されたコンテンツ情報を、所定の前記情報処理装置に送信するステップと、
を実行させるための情報処理プログラム。
【請求項11】
ネットワークを介して互いに通信可能な複数の情報処理装置を備え、1つ以上の情報処理装置にコンテンツデータが保存され、各情報処理装置はコンテンツデータに付与された固有の識別情報に基づいて他の情報処理装置から当該コンテンツデータを取得するように構成された配信システムにおける前記情報処理装置に含まれるコンピュータに、
前記第一の前記情報処理装置又は前記所定の前記情報処理装置から前記コンテンツ情報を取得するステップと、
前記取得されたコンテンツ情報に含まれる前記位置情報に基づいて前記コンテンツデータ中の出力位置を含む部分データを決定するステップと、
前記決定された前記部分データを取得するステップと、
を実行させるための情報処理プログラム。
【請求項12】
ネットワークを介して互いに通信可能な複数の情報処理装置を備え、1つ以上の情報処理装置にコンテンツデータが保存され、各情報処理装置はコンテンツデータに付与された固有の識別情報に基づいて他の情報処理装置から当該コンテンツデータを取得するように構成された配信システムにおけるコンテンツ取得方法であって、
前記コンテンツ取得方法は、
第一の前記情報処理装置が、前記1つ以上の情報処理装置に保存されている1つ以上のコンテンツデータの識別情報と、前記識別情報に対応するコンテンツデータ中の出力位置を示す位置情報と、を含むコンテンツ情報を生成するステップと、
第一の前記情報処理装置が、前記生成されたコンテンツ情報を、所定の前記情報処理装置に送信するステップと、
第二の前記情報処理装置が、前記第一の前記情報処理装置又は前記所定の前記情報処理装置から前記コンテンツ情報を取得するステップと、
第二の前記情報処理装置が、前記取得されたコンテンツ情報に含まれる前記位置情報に基づいて前記コンテンツデータ中の出力位置を含む部分データを決定するステップと、
第二の前記情報処理装置が、前記決定された前記部分データを取得するステップと、
を含むことを特徴とするコンテンツ取得方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2011−158989(P2011−158989A)
【公開日】平成23年8月18日(2011.8.18)
【国際特許分類】
【出願番号】特願2010−18342(P2010−18342)
【出願日】平成22年1月29日(2010.1.29)
【出願人】(000005267)ブラザー工業株式会社 (13,856)
【Fターム(参考)】