説明

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

【課題】コンテンツの配信を停止したり、別のコンテンツで配信を再開したりする場合に、ネットワークの帯域の消費を減らす。
【解決手段】コンテンツを保存する第1ノード装置の所在を示す所在情報と、保存されたコンテンツを識別する第1識別情報と、を対応付けて記憶し、コンテンツを要求する第2ノード装置へ、要求されたコンテンツを識別する第1識別情報に対応する所在情報を送信し、配信の停止が指示された第1コンテンツを識別する第2識別情報を取得し、第2識別情報に対応する所在情報を送信することを制限し、第2識別情報により識別されるコンテンツとして、第1コンテンツと入れ替わって配信が許可された第2コンテンツの保存の指示を示し、第2識別情報を含む指示情報を、第2識別情報に対応する所在情報が所在を示す第1ノード装置へ送信し、指示情報に基づいて第2コンテンツを保存する第1ノード装置の所在を示す所在情報を送信することを許可する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、オーバーレイネットワークを利用する通信システムの技術分野に関する。
【背景技術】
【0002】
近年、オーバーレイネットワークを用いた通信システムが注目されている。具体的には、オーバーレイネットワークを用いた通信システムの中に、ピアツーピア方式の通信システムがある。このピアツーピア方式の通信システムにおいては、複数のノード装置に分散して保存された複数のコンテンツを、オーバーレイネットワークを介して配信することができる。オーバーレイネットワークを介して配信可能なコンテンツについての情報は、例えば、コンテンツカタログ情報に記述されている。このコンテンツカタログ情報は、全てのノード装置に配信される。コンテンツカタログ情報については、例えば、特許文献1に記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2007−280303号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、何らかの理由で、あるコンテンツの配信を停止しなければならない場合がある。その理由としては、例えば、著作権上の理由等が挙げられる。このとき、コンテンツの配信を停止するためには、コンテンツカタログ情報を更新し、更新されたコンテンツカタログ情報を全てのノード装置に送信する必要がある。あるいは、全てのノード装置に、コンテンツの配信を停止する旨を示すメッセージを送信する必要がある。このような処理を行うと、コンテンツの配信停止が頻繁に発生した場合に、ネットワークに大量のメッセージが送信される。そのため、ネットワークの帯域が、コンテンツの配信を停止するためのメッセージで消費されてしまうという問題があった。
【0005】
また、コンテンツの配信を停止した後、配信を停止したコンテンツに代わって別のコンテンツの配信を開始させる場合がある。この場合も同様に、ネットワークの帯域が、コンテンツの配信を開始するためのメッセージで消費されてしまうという問題があった。
【0006】
そこで、本発明は、以上の点に鑑みてなされたものである。本発明は、コンテンツの配信を停止したり、別のコンテンツで配信を再開したりする場合に、ネットワークの帯域の消費を減らすことができる配信システム、情報処理装置、情報処理方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するために、請求項1に記載の発明は、ネットワークに接続する複数のノード装置に分散して保存されるコンテンツが、前記複数のノード装置により構成されるオーバーレイネットワークを介して配信される配信システムであって、コンテンツを保存する前記ノード装置である第1ノード装置の所在を示す所在情報と、前記所在情報が所在を示す第1ノード装置により保存されたコンテンツを識別する第1識別情報と、を対応付けて記憶する第1記憶手段と、コンテンツを要求する前記ノード装置である第2ノード装置へ、要求されたコンテンツを識別する前記第1識別情報に対応する前記所在情報を送信する第1送信手段と、配信の停止が指示されたコンテンツである第1コンテンツを識別する第2識別情報を取得する取得手段と、前記取得手段により取得された前記第2識別情報に対応する前記所在情報を前記第1送信手段が送信することを制限する制限手段と、前記第2識別情報により識別されるコンテンツとして、前記第1コンテンツと入れ替わって配信が許可された第2コンテンツの保存の指示を示す指示情報であり、前記第2識別情報を含む指示情報を、前記第2識別情報に対応する前記所在情報が所在を示す前記第1ノード装置へ送信する第2送信手段と、前記第2送信手段により送信された前記指示情報に基づいて前記第2コンテンツを保存する前記第1ノード装置の所在を示す前記所在情報を前記第1送信手段が送信することを許可する許可手段と、を備える情報処理装置と、前記第1コンテンツと、前記第2識別情報と、を対応付けて記憶する第2記憶手段と、前記情報処理装置から送信された前記指示情報を受信する受信手段と、前記受信手段により受信された前記指示情報に基づいて、前記指示情報に含まれる前記第2識別情報に対応するコンテンツを、前記第1コンテンツから前記第2コンテンツに入れ替えて前記第2記憶手段に記憶させる制御手段と、を備える前記第1ノード装置と、を含むことを特徴とする。
【0008】
この発明によれば、情報処理装置は、配信停止対象のコンテンツを要求する第2ノード装置へ、配信停止対象のコンテンツを保存する第1ノード装置の所在情報の送信を制限する。これにより、コンテンツの配信を停止させることができる。そのため、情報処理装置は、コンテンツの配信を停止するためのメッセージをノード装置へ送信する必要がない。また、配信停止対象のコンテンツと入れ替わるコンテンツとして、配信が許可されたコンテンツの配信が開始される。このとき、情報処理装置は、配信停止対象のコンテンツを保存する第1ノード装置へ、指示情報を送信する。指示情報を受信した第1ノード装置は、保存するコンテンツを、配信が停止されたコンテンツから配信が許可されたコンテンツに入れ替える。そのため、情報処理装置は、配信を停止したコンテンツを保存するノード装置へ、コンテンツの配信を許可するためのメッセージを送信すれば良い。従って、ネットワークの帯域の消費を減らすことができる。
【0009】
請求項2に記載の発明は、前記第1ノード装置は、前記第2記憶手段に記憶された前記第1コンテンツのハッシュ値を取得する第2取得手段と、前記第2記憶手段に記憶された前記第2識別情報と、前記第2取得手段により取得されたハッシュ値と、前記第1ノード装置の所在を示す前記所在情報と、を前記情報処理装置へ送信する第3送信手段と、を更に備え、前記情報処理装置は、前記第2コンテンツのハッシュ値を取得する第3取得手段と、前記第1ノード装置から送信された前記第1識別情報、ハッシュ値及び前記所在情報を受信する第2受信手段と、前記第3取得手段により取得されたハッシュ値と、前記第2受信手段により受信されたハッシュ値と、が一致するかを判定する判定手段と、を更に備え、前記第1記憶手段は、前記第2受信手段により受信された前記第2識別情報と前記所在情報とを対応付けて記憶し、前記許可手段は、前記判定手段により一致すると判定された場合、前記第2受信手段により受信された前記所在情報の送信を許可し、前記第2送信手段は、前記判定手段により一致しないと判定された場合、前記第2受信手段により受信された前記第2識別情報により識別されるコンテンツとして、前記第1コンテンツと入れ替わって配信が許可される前記第2コンテンツの保存の指示を示す前記指示情報を、前記第1ノード装置へ送信することを特徴とする。
【0010】
この発明によれば、配信が許可されたコンテンツの配信が開始された後、例えば、オーバーレイネットワークに参加してきた第1ノード装置が、保存しているコンテンツの情報を情報処理装置に送信する場合がある。このとき、情報処理装置は、コンテンツのハッシュ値に基づいて、配信が停止されたコンテンツであるか配信が許可されたコンテンツであるかを判定を行う。そして、情報処理装置は、配信が停止されたコンテンツを第1ノード装置が保存していると判定した場合には、配信が許可された第2コンテンツを第1ノード装置に保存させる。そのため、オーバーレイネットワークに保存されるコンテンツの整合をとることができる。
【0011】
請求項3に記載の発明は、前記情報処理装置は、前記判定手段により一致しないと判定された場合、前記受信手段により受信された前記第2識別情報に対応する前記所在情報のうち、前記送信手段による送信が許可された前記所在情報の数が、予め設定された数以上であるかを判定する第2判定手段を更に備え、前記第2送信手段は、前記第2判定手段により前記予め設定された数以上であると判定された場合、前記指示情報を送信せず、前記制限手段は、前記第2判定手段により前記予め設定された数以上であると判定された場合、前記第2受信手段により受信された前記所在情報の送信を制限することを特徴とする。
【0012】
配信が許可されたコンテンツを保存している第1ノード装置の数が予め設定された数以上であったとする。この発明によれば、この場合、情報処理装置は、配信が停止されたコンテンツを保存している第1ノード装置に、配信が許可されたコンテンツを保存させるための指示情報を送信しない。また、情報処理装置は、配信が停止されたコンテンツを保存している第1ノード装置の所在情報の第2ノード装置への送信を制限する。そのため、ネットワークの帯域の消費を減らしながら、配信の停止対象であるコンテンツの配信の停止と、配信が許可されたコンテンツの配信を可能することができる。
【0013】
請求項4に記載の発明は、前記第1記憶手段は、複数のコンテンツにより構成される複合コンテンツを識別する前記第1識別情報と、前記複合コンテンツを保存する前記ノード装置の所在を示す前記所在情報と、を対応付けて記憶し、前記第1送信手段は、前記複合コンテンツを要求する前記第2ノード装置へ、要求された前記複合コンテンツを識別する前記第1識別情報を送信し、前記取得手段は、前記第1コンテンツを構成要素とする前記複合コンテンツである第1複合コンテンツを識別する前記第2識別情報を取得し、前記許可手段は、前記第2コンテンツを保存する前記第1ノード装置の所在を示す前記所在情報を前記第1送信手段が送信することを許可した場合、前記第1複合コンテンツを保存する前記第1ノード装置の所在を示す前記所在情報を前記第1送信手段が送信することを許可し、前記第2記憶手段は、前記第1複合コンテンツと、前記第2識別情報と、を対応付けて記憶することを特徴とする。
【0014】
この発明によれば、配信が停止されたコンテンツを構成要素に含む複合コンテンツの配信の停止や再開の場合にも、ネットワークの帯域の消費を減らすことができる。
【0015】
請求項5に記載の発明は、ネットワークに接続する複数のノード装置に分散して保存されるコンテンツが、前記複数のノード装置により構成されるオーバーレイネットワークを介して配信される配信システムに含まれる情報処理装置であって、コンテンツを保存する前記ノード装置である第1ノード装置の所在を示す所在情報と、前記所在情報が所在を示す第1ノード装置により保存されたコンテンツを識別する第1識別情報と、を対応付けて記憶する第1記憶手段と、コンテンツを要求する前記ノード装置である第2ノード装置へ、要求されたコンテンツを識別する前記第1識別情報に対応する前記所在情報を送信する第1送信手段と、配信の停止が指示されたコンテンツである第1コンテンツを識別する第2識別情報を取得する取得手段と、前記取得手段により取得された前記第2識別情報に対応する前記所在情報を前記第1送信手段が送信することを制限する制限手段と、前記第2識別情報により識別されるコンテンツとして、前記第1コンテンツと入れ替わって配信が許可された第2コンテンツの保存の指示を示す指示情報であり、前記第2識別情報を含む指示情報を、前記第2識別情報に対応する前記所在情報が所在を示す前記第1ノード装置へ送信する第2送信手段と、前記第2送信手段により送信された前記指示情報に基づいて前記第2コンテンツを保存する前記第1ノード装置の所在を示す前記所在情報を前記第1送信手段が送信することを許可する許可手段と、を備えることを特徴とする。
【0016】
請求項6に記載の発明は、ネットワークに接続する複数のノード装置に分散して保存されるコンテンツが、前記複数のノード装置により構成されるオーバーレイネットワークを介して配信される配信システムにおける情報処理方法であって、前記配信システムに含まれる情報処理装置が、コンテンツを要求する前記ノード装置である第2ノード装置へ、要求されたコンテンツを識別する第1識別情報に対応する所在情報であり、コンテンツを保存する前記ノード装置である第1ノード装置の所在を示す所在情報と、前記所在情報が所在を示す第1ノード装置により保存されたコンテンツを識別する第1識別情報と、を対応付けて記憶する記憶手段に記憶された所在情報を送信する第1送信ステップと、前記情報処理装置が、配信の停止が指示されたコンテンツである第1コンテンツを識別する第2識別情報を取得する取得ステップと、前記情報処理装置が、前記取得ステップにおいて取得された前記第2識別情報に対応する前記所在情報を前記第1送信ステップにおいて送信することを制限する制限ステップと、前記情報処理装置が、前記第2識別情報により識別されるコンテンツとして、前記第1コンテンツと入れ替わって配信が許可された第2コンテンツの保存の指示を示す指示情報であり、前記第2識別情報を含む指示情報を、前記第2識別情報に対応する前記所在情報が所在を示す前記第1ノード装置へ送信する第2送信ステップと、前記情報処理装置が、前記第2送信ステップにおいて送信された前記指示情報に基づいて前記第2コンテンツを保存する前記第1ノード装置の所在を示す前記所在情報を前記第1送信ステップにおいて送信することを許可する許可ステップと、前記第1ノード装置が、前記情報処理装置から送信された前記指示情報を受信する受信ステップと、前記第1ノード装置が、前記受信ステップにおいて受信された前記指示情報に基づいて、前記第1コンテンツと、前記第2識別情報と、を対応付けて記憶する第2記憶手段に記憶されたコンテンツのうち、前記指示情報に含まれる前記第2識別情報に対応するコンテンツを、前記第1コンテンツから前記第2コンテンツに入れ替えて前記第2記憶手段に記憶させる制御ステップと、を含むことを特徴とする。
【0017】
請求項7に記載の発明は、ネットワークに接続する複数のノード装置に分散して保存されるコンテンツが、前記複数のノード装置により構成されるオーバーレイネットワークを介して配信される配信システムに含まれる情報処理装置に含まれるコンピュータに、コンテンツを要求する前記ノード装置である第2ノード装置へ、要求されたコンテンツを識別する第1識別情報に対応する所在情報であり、コンテンツを保存する前記ノード装置である第1ノード装置の所在を示す所在情報と、前記所在情報が所在を示す第1ノード装置により保存されたコンテンツを識別する第1識別情報と、を対応付けて記憶する記憶手段に記憶された所在情報を送信する第1送信ステップと、配信の停止が指示されたコンテンツである第1コンテンツを識別する第2識別情報を取得する取得ステップと、前記取得ステップにおいて取得された前記第2識別情報に対応する前記所在情報を前記第1送信ステップにおいて送信することを制限する制限ステップと、前記第2識別情報により識別されるコンテンツとして、前記第1コンテンツと入れ替わって配信が許可された第2コンテンツの保存の指示を示す指示情報であり、前記第2識別情報を含む指示情報を、前記第2識別情報に対応する前記所在情報が所在を示す前記第1ノード装置へ送信する第2送信ステップと、前記第2送信ステップにおいて送信された前記指示情報に基づいて前記第2コンテンツを保存する前記第1ノード装置の所在を示す前記所在情報を前記第1送信ステップにおいて送信することを許可する許可ステップと、を実行させることを特徴とする。
【発明の効果】
【0018】
本発明によれば、情報処理装置は、配信停止対象のコンテンツを要求する第2ノード装置へ、配信停止対象のコンテンツを保存する第1ノード装置の所在情報の送信を制限する。これにより、コンテンツの配信を停止させることができる。そのため、情報処理装置は、コンテンツの配信を停止するためのメッセージをノード装置へ送信する必要がない。また、配信停止対象のコンテンツと入れ替わるコンテンツとして、配信が許可されたコンテンツの配信が開始される。このとき、情報処理装置は、配信停止対象のコンテンツを保存する第1ノード装置へ、指示情報を送信する。指示情報を受信した第1ノード装置は、保存するコンテンツを、配信が停止されたコンテンツから配信が許可されたコンテンツに入れ替える。そのため、情報処理装置は、配信を停止したコンテンツを保存するノード装置へ、コンテンツの配信を許可するためのメッセージを送信すれば良い。従って、ネットワークの帯域の消費を減らすことができる。
【図面の簡単な説明】
【0019】
【図1】一実施形態の配信システムの概要構成例を示す図である。
【図2】(A)は、一実施形態の配信システムSの通常コンテンツの配信停止時における動作概要を示す図であり、(B)は、一実施形態の配信システムSの通常コンテンツの更新時における動作概要を示す図である。
【図3】(A)は、一実施形態の配信システムSにおいて保持ノードがオーバーレイネットワークONに参加した場合の動作概要を示す図であり、(B)は、一実施形態の配信システムSにおいて配信停止したコンテンツを構成要素とする複合コンテンツが存在する場合の動作概要を示す図である。
【図4】(A)は、センターサーバSSの概要構成例を示すブロック図であり、(B)は、ノードの概要構成例を示すブロック図である。
【図5】一実施形態のセンターサーバSSの制御部1の処理例を示すフローチャートである。
【図6】一実施形態のノードの制御部11の処理例を示すフローチャートである。
【図7】一実施形態のノードの制御部11の処理例を示すフローチャートである。
【発明を実施するための形態】
【0020】
以下、本発明の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、配信システムに本発明を適用した場合の実施形態である。
【0021】
[1.配信システムの構成及び動作概要]
始めに、図1を参照して、本実施形態の配信システムの構成及び動作概要について説明する。図1は、本実施形態の配信システムの概要構成例を示す図である。図1に示すように、本実施形態の配信システムSは、センターサーバSS、及びノード装置Nn(n=1,2,3・・・k)等により構成されている。ノード装置Nnを、以下、「ノード」という。また、センターサーバSS及びノードはネットワークNWに接続されている。ネットワークNWは、インターネット等からなる。
【0022】
また、図1に示すように、配信システムSには、複数の拠点Pnごとに拠点ネットワークNLnが構築されている。この拠点の例としては、例えばカラオケ店舗、学校、会社、住宅、またはその他の施設等が挙げられる。拠点ネットワークNLnは、例えば、通信手段としてのLAN(Local Area Network)等のプライベートネットワークである。
【0023】
また、各拠点ネットワークNLnには、ノードと複数の拠点端末Tn−l(l=1,2,3・・・j)とが接続されている。ノードは、同じ拠点ネットワークNLnに接続されている拠点端末Tn−lへコンテンツを提供するエッジサーバとしての機能を有する。一方、拠点端末Tn−lは、コンテンツを再生する機能を有する。例えば、拠点Pnがカラオケ店舗の場合、拠点端末Tn−lは、カラオケ用のコンテンツを再生するコマンダである。また、例えば拠点Pnが学校である場合、教材用のコンテンツを再生する視聴端末である。また、例えば拠点Pnが会社である場合、研修用のコンテンツを再生する視聴端末である。また、例えば拠点Pnが住宅である場合、放送番組用のコンテンツを再生するセットトップボックスである。
【0024】
また、図1に示すように、配信システムSには、ネットワークNWを介して互いに通信可能な複数のノードの参加によりオーバーレイネットワークONが構成されている。オーバーレイネットワークONは、仮想的なリンクを構成する論理的なネットワークである。オーバーレイネットワークONは、特定のアルゴリズム、例えば、分散ハッシュテーブルを利用したアルゴリズムにより実現される。なお、分散ハッシュテーブルを、以下、「DHT(Distributed Hash Table)」という。ここで、オーバーレイネットワークONに参加するとは、DHTを用いたルーティングテーブルに基づいてオーバーレイネットワークONを介して他のノードとの間で各種メッセージを送受信できる状態に稼動することをいう。なお、DHTを用いたルーティングテーブルについては、特開2006−197400号公報等で公知であるので、詳しい説明を省略する。また、オーバーレイネットワークONに参加している各ノードには、ノードIDが付与されている。このノードIDは、ノードを、オーバーレイネットワークONに参加しているノードの中から識別する固有の識別情報である。
【0025】
配信システムSにおいては、様々なコンテンツが複数のノードに分散して保存される。各コンテンツには、それぞれコンテンツIDが付与されている。コンテンツIDは、コンテンツを、オーバーレイネットワークONに保存されるコンテンツの中から識別する固有の識別情報である。なお、コンテンツIDは、本発明における第1識別情報の一例である。センターサーバSSは、コンテンツをオーバーレイネットワークONに投入する。コンテンツの投入とは、コンテンツを何れかのノードに保存させ、保存されたコンテンツを、各ノードがオーバーレイネットワークONから取得可能にすることである。各コンテンツのコンテンツID等の属性情報は、コンテンツカタログ情報に記述されている。コンテンツカタログ情報は、センターサーバSSにより作成される。そして、センターサーバSSが、コンテンツカタログ情報を全てのノードに配信する。
【0026】
また、配信システムSにおいては、複数のコンテンツにより構成される複合コンテンツが投入される場合がある。また、複合コンテンツではないコンテンツは、通常コンテンツである。例えば、拠点Pnがカラオケ店舗の場合、複合コンテンツとしては、カラオケ用のコンテンツが挙げられる。カラオケ用のコンテンツは、例えば、音楽データ、映像データ、歌詞データ等の通常コンテンツにより構成される。
【0027】
また、各通常コンテンツは、複数のデータに分割されている。通常コンテンツから分割されたデータを、「チャンク」という。各チャンクは、例えば、センターサーバSSにより、通常コンテンツを所定のデータサイズで分割することにより生成される。各チャンクは、複数のノードに分散されて保存される。これにより、元となる通常コンテンツが複数のノードに分散して保存されることになる。各チャンクのオリジナルは、センターサーバSSに保存されている。各チャンクには、それぞれシーケンス番号及びチャンクIDが付与されている。シーケンス番号は、例えば、分割された複数のチャンクを、元となる通常コンテンツを構成するように並べたときの並び順に相当する。チャンクIDは、チャンクを、オーバーレイネットワークONに保存されるチャンクの中から識別する固有の識別情報である。
【0028】
通常コンテンツを構成する各チャンクのシーケンス番号及びチャンクIDは、通常コンテンツのメタファイルに記述されている。通常コンテンツのメタファイルには、通常コンテンツのコンテンツIDが付与される。コンテンツIDが付与されたメタファイルは、チャンクと同様に、オーバーレイネットワークONに投入される。そして、メタファイルは、複数のノードに分散されて保存される。なお、メタファイルを保存しているノードを、「メタファイルの保持ノード」という。また、チャンクを保存しているノードを、「チャンクの保持ノード」という。また、メタファイルまたはチャンクの所在を示す情報は、インデックス情報として、コンテンツの所在を管理しているノードに記憶される。メタファイルまたはチャンクの所在を管理しているノードを、以下、「ルートノード」という。メタファイルのインデックス情報には、メタファイルを保存している保持ノードのノード情報と、メタファイルのコンテンツIDとの組が含まれる。ノード情報には、例えば、保持ノードのIPアドレス、ポート番号、及びノードIDが含まれる。ルートノードは、例えば、コンテンツIDと最も近いノードIDが割り当てられたノードであるように定められる。コンテンツIDと最も近いノードIDとは、例えば、IDの上位桁が最も多く一致するノードIDである。なお、保持ノードは、本発明における第1ノード装置の一例である。また、保持ノードのIPアドレスは、本発明における所在情報の一例である。また、ルートノードは、本発明における情報処理装置の一例である。
【0029】
複合コンテンツを構成する各コンテンツのコンテンツIDは、複合コンテンツのメタファイルに記述されている。複合コンテンツのメタファイルとは、複合コンテンツを構成する各コンテンツを検索するためのファイルである。複合コンテンツのメタファイルには、複合コンテンツのコンテンツIDが付与される。なお、複数の複合コンテンツにより構成される複合コンテンツがオーバーレイネットワークONに投入されても良い。この場合、複合コンテンツのメタファイルには、複合コンテンツを構成する各複合コンテンツのコンテンツIDが記述される。
【0030】
ノードが、ある通常コンテンツまたは複合コンテンツをオーバーレイネットワークONから取得する場合、ノードは、先ず、コンテンツのメタファイルを取得する。コンテンツを取得するノードを、以下、「ユーザノード」という。ユーザノードは、取得するメタファイルの保持ノードを検索する。具体的に、ユーザノードは、検索メッセージを送信する。検索メッセージは、取得対象のメタファイルの所在をメタファイルのルートノードに問い合わせるためのメッセージである。検索メッセージには、取得対象のメタファイルのコンテンツIDが含まれる。ルートノードは、受信した検索メッセージに含まれるコンテンツIDに対応するインデックス情報をインデックス情報キャッシュから取得する。ルートノードは、取得したインデックス情報を、検索メッセージの送信元のユーザノードに返信する。これにより、ユーザノードは、ルートノードから保持ノードのIPアドレス等を受信する。そして、ユーザノードは、保持ノードにアクセスし、メタファイルをダウンロードする。なお、コンテンツの所在をルートノードに問い合わせる処理は、例えば特開2007−053662号公報等で公知であるので、詳しい説明を省略する。
【0031】
ユーザノードは、保持ノードからメタファイルを取得したとき、メタファイルを公開する。メタファイルの公開とは、ユーザノードが取得したメタファイルを、オーバーレイネットワークONから取得可能にすることをいう。具体的に、ユーザノードは、取得したメタファイルを保存する。そして、ユーザノードは、ルートノードへパブリッシュメッセージを送信する。パブリッシュメッセージは、メタファイルを保存したことをルートノードへ通知するためのメッセージである。パブリッシュメッセージは、保存したメタファイルのコンテンツIDと、メタファイルを保存したユーザノードのノード情報とを含む。また、パブリッシュメッセージは、後述する更新確認情報を含む。ルートノードは、受信したパブリッシュメッセージに含まれるコンテンツIDとノード情報との組を含むインデックス情報を、インデックス情報キャッシュに記憶する。こうして、ユーザノードは、新たに、メタファイルを保存する保持ノードとなる。
【0032】
ユーザノードが取得したメタファイルが、複合コンテンツのメタファイルである場合、ユーザノードは、メタファイルから、複合コンテンツを構成する各通常コンテンツのコンテンツIDを取得する。そして、ユーザノードは、取得したコンテンツIDに基づいて、各通常コンテンツのメタファイルをオーバーレイネットワークONから取得する。
【0033】
ユーザノードが取得したメタファイルが、通常コンテンツのメタファイルである場合、ユーザノードは、メタファイルから、通常コンテンツを構成する各チャンクのチャンクIDを取得する。そして、ユーザノードは、取得したチャンクIDに基づいて、各チャンクをオーバーレイネットワークONから取得する。なお、チャンクの取得方法は、基本的にメタファイルの取得方法と同様である。そのため、チャンクの取得方法の詳しい説明を省略する。なお、チャンクの取得の場合、コンテンツIDではなく、チャンクIDが用いられる。
【0034】
ところで、オーバーレイネットワークONに投入されている複数のコンテンツの中から、あるコンテンツの配信を停止したい場合がある。例えば、あるコンテンツが著作権に違反するコンテンツである場合、著作権に違反するコンテンツの配信を停止する必要がある。このときに、センターサーバSSが、全てのノードに配信を停止する旨を示すメッセージを送信したとする。この場合、ノードの数が多かったり、配信停止が頻繁に発生したりすると、ネットワークNWの帯域が、配信を停止するためのメッセージで消費されてしまう。そこで、配信システムSにおいては、コンテンツの配信の停止等の制御を、コンテンツのメタファイルのルートノードが行う。これにより、配信を停止するためのメッセージによる帯域の消費を減らすようになっている。
【0035】
メタファイルのルートノードは、メタファイルのインデックス情報と対応付けて、紹介状態を記憶する。紹介状態は、インデックス情報に設定されているコンテンツIDに対応するメタファイルの保持ノードを紹介することが可能か等を示す情報である。具体的に、紹介状態は、インデックス情報に設定されているノードIDに対応する保持ノードを紹介することが可能か等を示す情報である。保持ノードの紹介とは、ルートノードが、ユーザノードからの検索メッセージに対して、保持ノードのインデックス情報をユーザノードに送信することである。紹介状態は、インデックス情報ごとに記憶される。紹介状態としては、「紹介可能」、「紹介停止中」及び「紹介不可」がある。「紹介可能」は、保持ノードの紹介が可能であることを示す。つまり、ルートノードは、対応するインデックス情報の送信を許可する。「紹介停止中」は、保持ノードの紹介を停止していることを示す。つまり、ルートノードは、対応するインデックス情報の送信を制限する。あるメタファイルについて、全ての保持ノードの紹介が停止されている場合、ルートノードは、そのメタファイルのインデックス情報を1つもユーザノードに送信しないことになる。そのため、ユーザノードは、メタファイルを取得するために必要な保持ノードのIPアドレス等を取得することができない。これにより、コンテンツの配信が停止される。「紹介不可」は、保持ノードの紹介が不可能であることを示す。この場合も、ルートノードは、対応するインデックス情報の送信を制限する。「紹介停止中」と「紹介不可」との違いは、保持ノードが記憶しているメタファイルの整合性に基づく。保持ノードが記憶しているメタファイルの整合性については、後述する。
【0036】
図2(A)は、本実施形態の配信システムSの通常コンテンツの配信停止時における動作概要を示す図である。図2(A)に示すように、ノードN2〜N4は、通常コンテンツであるコンテンツF1のメタファイルM1の保持ノードである。メタファイルM1には、コンテンツF1のコンテンツIDとして、例えば、3213が付与されている。説明の便宜上、コンテンツIDを、4桁の十進数で示す。ノードN1は、メタファイルM1のルートノードである。ノードN1は、ノードN2〜N4のインデックス情報を記憶する。また、ノードN1は、ノードN2〜N4のインデックス情報にそれぞれ対応付けて、「紹介可能」が設定された紹介状態を記憶する。なお、図2(A)においては、「紹介可能」を「○」で示している。また、ノードN1は、メタファイルM1自体も記憶する。
【0037】
ここで、例えば、コンテンツF1が著作権に違反することが判明したとする。すると、配信システムSの管理者は、例えば、コンテンツF1のコンテンツIDとして、3213をセンターサーバSSに入力する。すると、センターサーバSSは、配信停止通知メッセージを、コンテンツF1のメタファイルM1のルートノードであるノードN1へ送信する (図2(A)(1))。配信停止通知メッセージは、コンテンツの配信を停止することを通知するメッセージである。配信停止通知メッセージは、配信の停止対象となるコンテンツのコンテンツIDを含む。配信の停止対象となるコンテンツのコンテンツIDは、本発明における第1識別情報の一例である。なお、センターサーバSSは、オーバーレイネットワークONに参加していない。そのため、センターサーバSSは、予め定められたノードにメッセージを送信する。センターサーバSSからメッセージを受信する予め定められたノードを、「サポーターノード」という。サポーターノードは、センターサーバSSから受信したメッセージを、DHTルーティングに従って他のノードへ転送する。
【0038】
ノードN1は、配信停止通知メッセージを受信すると、配信停止通知メッセージに含まれるコンテンツIDに対応するインデックス情報を検索する。これにより、ノードN1は、ノードN2〜N4のインデックス情報を発見する(図2(A)(2))。そして、ノードN1は、ノードN2〜N4のインデックス情報に対応する紹介状態を、「紹介停止中」に変更する。なお、図2(A)においては、「紹介停止中」を「△」で示している。
【0039】
その後、ノードN5が、取得するコンテンツのコンテンツIDとして、3213を含む検索メッセージをノードN1へ送信したとする(図2(A)(3))。この場合、ノードN1は、ノードN2〜N4のインデックス情報から、紹介状態が「紹介可能」に設定されているインデックス情報を検索する。しかしながら、該当するインデックス情報は発見されない。そのため、ノードN1は、インデックス情報の送信を制限する。例えば、ノードN1は、ノードN5へエラー応答メッセージを送信する。エラー応答メッセージは、送信可能なインデックス情報がないことを示すエラーメッセージである。
【0040】
このように、コンテンツの配信を停止させる場合、センターサーバSSは、メッセージをルートノードのみに送信すれば良い。そのため、ネットワークNWの帯域の消費を減らすことができる。
【0041】
なお、コンテンツF1の配信を停止するとともに、コンテンツF1をオーバーレイネットワークONから削除したいとする。この場合、センターサーバSSは、配信停止通知メッセージの代わりに、削除通知メッセージをノードN1へ送信する。削除通知メッセージは、コンテンツを削除することを通知するメッセージである。削除通知メッセージは、削除対象となるコンテンツのコンテンツIDを含む。ノードN1は、削除通知メッセージを受信すると、配信停止通知メッセージを受信した場合と同様に、ノードN2〜N4のインデックス情報に対応する紹介状態を、「紹介停止中」に変更する。また、ノードN1は、ノードN2〜N4に、削除要求メッセージを送信する。削除要求メッセージは、コンテンツの削除の要求を示すメッセージである。削除要求メッセージは、削除対象となるコンテンツのコンテンツIDを含む。ノードN2〜N4は、削除要求メッセージを受信すると、削除要求メッセージに含まれるコンテンツIDに対応するメタファイルM1を削除する。
【0042】
また、コンテンツF1の配信を停止した後、配信を再開させたい場合ある。例えば、著作権に違反する可能性があるとして、図2(A)に示した処理により、コンテンツF1の配信が停止される。その後、コンテンツの配信事業者が調査した結果、コンテンツF1は著作権に違反しないと判明した場合である。この場合、センターサーバSSは、配信再開通知メッセージをノードN1へ送信する。配信再開通知メッセージは、コンテンツの配信を再開することを通知するメッセージである。配信再開通知メッセージは、配信の再開対象となるコンテンツのコンテンツIDを含む。ノードN1は、配信再開通知メッセージを受信すると、配信停止通知メッセージを受信した場合と同様に、ノードN2〜N4のインデックス情報を検索する。そして、ノードN2〜N4のインデックス情報に対応する紹介状態を、「紹介可能」に変更する。
【0043】
図2(B)は、本実施形態の配信システムSの通常コンテンツの更新時における動作概要を示す図である。図2(A)に示した処理によりコンテンツの配信が停止された後、配信が停止されたコンテンツの更新を行うとする。そして、更新されたコンテンツを配信させるとする。コンテンツの更新とは、オーバーレイネットワークを介して配信されるコンテンツを、配信が停止されたコンテンツから、配信が許可されたコンテンツに入れ替えることである。コンテンツの入れ替えの例としては、配信が停止されたコンテンツの代替えとして、別のコンテンツに入れ替えることが挙げられる。また、著作権に違反するコンテンツを、著作権に違反しないように修正することが挙げられる。
【0044】
コンテンツF1をコンテンツF2に更新する場合、管理者は、例えば、更新対象のコンテンツF1のコンテンツIDである3213と、コンテンツF2と、をセンターサーバSSに入力する。すると、センターサーバSSは、コンテンツF2を複数のチャンクに分割する。そして、センターサーバSSは、分割した各チャンクを、オーバーレイネットワークONに投入する。また、センターサーバSSは、コンテンツF2のメタファイルM2を生成する。そして、センターサーバSSは、メタファイルM2に、入力されたコンテンツIDである3213を付与する。つまり、配信が許可されたコンテンツに、配信が停止されたコンテンツのコンテンツIDが付与される。これにより、複合コンテンツを構成する何れかのコンテンツの更新があった場合でも、複合コンテンツのメタファイルを更新する必要がない。センターサーバSSは、更新通知メッセージをノードN1へ送信する(図2(B)(1))。更新通知メッセージは、コンテンツの更新を通知するメッセージである。更新通知メッセージは、コンテンツF1及びF2のコンテンツIDである3213と、配信が許可されたコンテンツF2のメタファイルであるメタファイルM2と、を含む。ノードN1は、更新通知メッセージを受信すると、記憶するメタファイルを更新する(図2(B)(2))。具体的に、ノードN1は、更新通知メッセージに含まれるコンテンツIDに対応するメタファイルM1を削除する。そして、ノードN2は、更新通知メッセージに含まれるメタファイルM2を、更新通知メッセージに含まれるコンテンツIDに対応付けて記憶する。つまり、ノードN1は、記憶するメタファイルを、メタファイルM1からメタファイルM2に入れ替える。
【0045】
次いで、ノードN1は、更新通知メッセージに含まれるコンテンツIDに対応するノードN2〜N4のインデックス情報を検索する。そして、ノードN1は、検索された各インデックス情報に含まれるIPアドレス等に基づいて、ノードN2〜N4へ更新要求メッセージを送信する(図2(B)(3))。更新要求メッセージは、コンテンツの更新を要求するメッセージである。更新要求メッセージは、更新対象のコンテンツのコンテンツIDである3213と、メタファイルM2と、を含む。なお、更新要求メッセージは、本発明における指示情報の一例である。次いで、ノードN1は、ノードN2〜N4のインデックス情報に対応する紹介状態を、「紹介可能」に変更する(図2(B)(4))。ノードN2〜N4は、更新要求メッセージを受信すると、ノードN1の場合と同様に、記憶するコンテンツを、メタファイルM1からメタファイルM2に更新する(図2(B)(5))。これにより、各ノードがオーバーレイネットワークONからメタファイルM2を取得可能となる。そのため、コンテンツF1と入れ替わったコンテンツF2の配信が可能となる。
【0046】
このように、コンテンツの削除、配信再開及び更新時においては、ルートノードは、メッセージを、全てのノードのうち、対象となるコンテンツのメタファイルを記憶するノードのみに送信すれば良い。そのため、ネットワークNWの帯域の消費を減らすことができる。
【0047】
なお、例えば、コンテンツF1の一部を修正、変更等してコンテンツF2が生成されたとする。この場合、更新通知メッセージや更新要求メッセージには、配信が許可されたコンテンツのメタファイルそのものに代えて、メタファイルの差分を含ませることができる。例えば、センターサーバSSは、コンテンツF1を構成する各チャンクと、コンテンツF2を構成する各チャンクと、を比較する。これにより、センターサーバSSは、コンテンツF1とコンテンツF2との差分を、チャンク単位で特定する。次いで、センターサーバSSは、コンテンツF2を構成するチャンクのうち、差分に相当するチャンクのチャンクID及びシーケンス番号等を記述した差分情報を生成する。そして、センターサーバSSは、差分情報を含む更新通知メッセージを送信する。ノードN1は、更新通知メッセージに含まれる差分情報と、記憶しているメタファイルM1と、に基づいて、メタファイルM2を生成する。そして、ノードN1は、メタファイルM2を記憶する。次いで、ノードN1は、差分情報を含む更新要求メッセージを送信する。ノードN2〜N4は、ノードN1の場合と同様にメタファイルM2を生成する。
【0048】
図3(A)は、本実施形態の配信システムSにおいて保持ノードがオーバーレイネットワークONに参加した場合の動作概要を示す図である。例えば、メタファイルM1を記憶しているノードN6が、図3(A)に示すコンテンツの更新前にオーバーレイネットワークONから離脱したとする。オーバーレイネットワークONからの離脱とは、オーバーレイネットワークONに参加していたノードが他のノードと通信することができない状態になったことをいう。ノードが他のノードと通信することができない状態になる場合としては、例えば、ノードの電源がOFFになった場合がある。また、ノードは、ルーティングテーブルを用いて他のノードと通信を行うためのP2Pプログラムを実行することにより、オーバーレイネットワークONに参加する。管理者からの離脱の指示によって、ノードがP2Pプログラムの実行を終了させた場合も、ノードが他のノードと通信することができない状態になる場合の一例である。
【0049】
その後、ノードN6は、コンテンツの更新後にオーバーレイネットワークONに再参加したとする(図3(A)(1))。このとき、ノードN6が記憶しているメタファイルの整合をとる必要がある。あるコンテンツIDが付与されたメタファイルを記憶する複数のノードの全てが、配信が許可されたコンテンツのメタファイルを記憶している場合、記憶しているメタファイルの整合がとれている。また、複数のノードの全てが、配信が停止中のコンテンツのメタファイルを記憶している場合も、記憶しているメタファイルの整合がとれている。一方、配信が許可されたコンテンツのメタファイルを記憶しているノードと、配信が停止されたコンテンツのメタファイルを記憶しているノードと、が混在する場合、記憶しているメタファイルの整合がとれていない。この場合、配信が停止されたコンテンツのメタファイルを記憶しているノードに、配信が許可されたコンテンツのメタファイルを記憶させる必要がある。
【0050】
ノードN6は、オーバーレイネットワークONに参加したとき、パブリッシュメッセージを送信する(図3(A)(2))。これは、新しく参加したノードのインデックス情報を、ルートノードに記憶させるためである。このとき、ノードN6は、メタファイルM1に対応付けられている更新確認情報を取得する。更新確認情報は、ノードが記憶しているメタファイルが、配信が停止されたコンテンツのメタファイルであるのか、または、配信が許可されたコンテンツのメタファイルであるのか、を判定するために用いられる情報である。更新確認情報としては、例えば、メタファイルのハッシュ値が用いられる。メタファイルのハッシュ値は、全ノードが記憶する共通のハッシュ関数により算出される。ノードN6は、更新確認情報を含むパブリッシュメッセージを送信する。
【0051】
ノードN1は、パブリッシュメッセージを受信すると、インデックスキャッシュに、ノードN6のインデックス情報を追加して記憶する。また、ノードN1は、メタファイルの整合性を判定する(図3(A)(3))。具体的に、ノードN1は、記憶しているメタファイルM2の更新確認情報として、メタファイルM2のハッシュ値を取得する。ノードN1は、取得したハッシュ値と、パブリッシュメッセージに含まれるハッシュ値と、を比較する。ノードN1は、ハッシュ値が一致する場合には、メタファイルの整合がとれていると判定する。一方、ノードN1は、ハッシュ値が一致しない場合には、メタファイルの整合がとれていないと判定する。メタファイルM1とメタファイルM2は一致しないため、算出されたハッシュ値も一致しない。従って、ノードN1は、整合がとれていないと判定する。そこで、ノードN1は、ノードN6のインデックス情報に対応付けて、「紹介不可」に設定された紹介状態を追加する(図3(A)(4))。なお、図3(A)においては、「紹介不可」を「×」で示している。
【0052】
次いで、ノードN1は、ノードN6へ、更新要求メッセージを送信する(図3(A)(5))。更新要求メッセージの内容は、図2(B)の場合と同様である。次いで、ノードN1は、ノードN6のインデックス情報に対応する紹介状態を、「紹介可能」に変更する(図2(A)(6))。ノードN6は、更新要求メッセージを受信すると、記憶するコンテンツを、メタファイルM1からメタファイルM2に更新する(図2(A)(7))。
【0053】
このように、更新確認情報を用いることで、保持ノードが記憶するメタファイルの整合性を保つことができる。なお、更新確認情報は、メタファイルのハッシュ値ではなくても良い。更新確認情報は、ルートノードが記憶するメタファイルの更新情報と比較することで、配信が停止されたメタファイルであるか、または、配信が許可されたメタファイルであるかを判定することができる情報であれば良い。例えば、更新確認情報は、メタファイルのタイムスタンプであっても良い。
【0054】
なお、メタファイルM2を記憶する保持ノードの数が、予め設定された閾値以上である場合には、図3(A)(5)〜図3(A)(7)の処理を行わなくても良い。つまり、ノードN1は、更新要求メッセージを送信せず、また、ノードN6のインデックス情報に対応する紹介状態を「紹介不可」のままにしても良い。メタファイルM2を記憶する保持ノードがある程度の数以上存在すれば、メタファイルM2を安定してアップロードすることができるからである。つまり、コンテンツF2を安定して配信することができる。また、更新要求メッセージが送信されない分、ネットワークNWの帯域の消費を減らすことができる。
【0055】
その後、ノードN1は、ノードN6に対して、例えば予め定められたタイミングで更新要求メッセージを送信しても良い。例えば、メタファイルM2を記憶する保持ノードの数が閾値未満になったタイミングであっても良い。また例えば、コンテンツF2が更新されるタイミングであっても良い。
【0056】
図3(B)は、本実施形態の配信システムSにおいて配信停止したコンテンツを構成要素とする複合コンテンツが存在する場合の動作概要を示す図である。例えば、コンテンツF1を構成要素とする複合コンテンツとして、コンテンツG1〜G3が存在するとする。この場合、コンテンツF1の配信を停止させるときには、コンテンツG1〜G3の配信を停止させる必要がある。コンテンツF1のみの配信を停止させると、例えば、コンテンツG1のユーザノードは、コンテンツG1を構成するコンテンツのうち、コンテンツF1を取得することができないからである。つまり、ユーザノードは、コンテンツG1の全体を取得することができないからである。
【0057】
そこで、センターサーバSSは、各コンテンツについて、複合コンテンツリストを記憶する。複合コンテンツリストは、対応するコンテンツを構成要素とする複合コンテンツのコンテンツIDが記述されたリストである。センターサーバSSは、複合コンテンツを投入するときに、複合コンテンツを構成する各コンテンツの複合コンテンツリストを生成する。このとき、センターサーバSSは、あるコンテンツに対応する複合コンテンツリストが既に生成される場合には、既に生成されている複合コンテンツリストに、新たに投入される複合コンテンツのコンテンツIDを追加する。
【0058】
センターサーバSSは、コンテンツF1の配信を停止する場合、コンテンツF1の複合コンテンツリストを参照する。コンテンツF1の複合コンテンツリストには、コンテンツG1〜G3のコンテンツIDが記述されている。そこで、センターサーバSSは、配信停止通知メッセージを、コンテンツG1〜G3のメタファイルのルートノードへ送信する(図3(B)(1))。図3(B)に示すように、ノードN7は、コンテンツG1のメタファイルのルートノードである。また、ノードN8は、コンテンツG2のメタファイルのルートノードである。また、ノードN9は、コンテンツG3のメタファイルのルートノードである。ノードN7〜N9にそれぞれ送信される配信停止通知メッセージは、コンテンツG1〜G3のメタファイルのうち何れかのメタファイルのコンテンツIDを含む。ノードN7〜N9は、配信停止通知メッセージを受信すると、通常コンテンツのメタファイルの場合と同様に、メタファイルG1〜G3の配信を停止させる。次いで、センターサーバSSは、ノードN1へ配信停止通知メッセージを送信する(図3(B)(2))。
【0059】
なお、複合コンテンツを削除したり、配信を再開したりする場合の配信システムSの動作も、通常コンテンツの場合と同様である。また、通常コンテンツを更新する場合、センターサーバSSは、通常コンテンツのメタファイルのルートノードへ、更新要求メッセージを送信する。そして、センターサーバSSは、複合コンテンツのメタファイルのルートノードへ、配信再開通知メッセージを送信する。これにより、配信が許可された新しい通常コンテンツを含む複合コンテンツを配信させることができる。つまり、複合コンテンツが更新される。複合コンテンツの削除及び配信再開時においても、通常コンテンツの場合と同様に、ネットワークNWの帯域の消費を減らすことができる。
【0060】
また、複合コンテンツのメタファイルを更新することによって複合コンテンツを更新することも可能である。例えば、複合コンテンツを構成するコンテンツに新たにコンテンツを追加したり、複合コンテンツを構成するコンテンツの中から何れかのコンテンツを削除したりする場合等が挙げられる。この場合、複合コンテンツのメタファイルを更新する必要がある。複合コンテンツのメタファイルを更新する場合の配信システムSの動作も、通常コンテンツの場合と同様である。
【0061】
なお、コンテンツの投入は、センターサーバSSからではなく、何れかのノードからでも行うことができるようにしても良い。そして、ノードから投入したコンテンツの配信を停止等することを可能にしても良い。この場合、コンテンツの投入を行うノードの処理内容は、センターサーバSSの場合と基本的に同様である。ノードからコンテンツが投入される場合としては、例えば、配信システムSの利用者が、拠点端末Tn−lを通じてコンテンツを投稿する場合が挙げられる。
【0062】
また、「紹介可能」、「紹介停止中」、「紹介不可」以外の紹介状態があっても良い。例えば、「著作権違反調査中」があっても良い。「著作権違反調査中」は、例えば、コンテンツが著作権に違反する旨の通報があったため、著作権に違反するか否かを調査している最中であることを示す紹介状態である。紹介状態が「著作権違反調査中」である場合、インデックス情報の送信は制限される。紹介状態が「著作権違反調査中」である場合の配信システムSの動作は、「紹介停止中」の場合と同様である。
【0063】
[2.センターサーバの構成]
次に、図4(A)を参照して、センターサーバSSの構成について説明する。図4(A)は、センターサーバSSの概要構成例を示すブロック図である。センターサーバSSは、図4(A)に示すように、制御部1、記憶部2、及び通信部3等を備えて構成される。制御部1、記憶部2、及び通信部3はバス4を介して相互に接続されている。
【0064】
記憶部2は、例えばハードディスクドライブ等から構成される。記憶部2には、オペレーティングシステム及び各種制御プログラム等が記憶されている。また、記憶部2には、各コンテンツのオリジナル及び各コンテンツのメタファイルが記憶されている。また、記憶部2には、複合コンテンツリストが、複合コンテンツを構成するコンテンツのコンテンツIDに対応付けて記憶されている。また、記憶部2には、コンテンツカタログ情報が記憶されている。また、記憶部2には、サポーターノードのノード情報が記憶されている。
【0065】
通信部3は、ネットワークNWを通じてノード等との間の通信制御を行う。制御部1は、演算機能を有するCPU,作業用RAM,及びROM等から構成される。制御部1は、CPUが記憶部2等に記憶されたプログラムを読み出して実行することにより、センターサーバSS全体を統括制御する。
【0066】
[3.ノードの構成]
次に、図4(B)を参照して、ノードの構成及び機能について説明する。図4(B)は、ノードの概要構成例を示すブロック図である。ノードは、図4(B)に示すように、制御部11、記憶部12、通信部13a、通信部13b、及びバッファメモリ14等を備えて構成される。制御部11、記憶部12、通信部13a、通信部13b、及びバッファメモリ14はバス15を介して相互に接続されている。
【0067】
本実施形態において、ノードは、ネットワークNWと拠点ネットワークNLnとの間でIP(Internet Protocol)パケットを中継する中継機器である。この中継機器は、例えばルータまたはL3スイッチングハブ等である。なお、ノードは、ユーザが利用する端末装置であっても良い。また、ノードは、基本的にネットワークNWに定常的に接続されているゲートウェイ等の機器であっても良い。
【0068】
記憶部12は、例えばハードディスクドライブ等から構成される。記憶部12には、オペレーティングシステム、P2Pプログラム等が記憶されている。P2Pプログラムは、ルーティングテーブルを用いて他のノードと通信を行うためのプログラムである。なお、P2Pプログラム等は、例えば、ネットワークNWに接続された所定のサーバからダウンロードされるようにしても良い。あるいは、P2Pプログラム等は、例えば、DVD等の記録媒体に記録されて記録媒体のドライブを介して読み込まれるようにしても良い。
【0069】
また、記憶部12には、オーバーレイネットワークONで使用されるDHTを用いたルーティングテーブル等が記憶されている。また、記憶部12には、センターサーバSSから配信されたコンテンツカタログ情報が記憶されている。また、記憶部12には、オーバーレイネットワークONから取得されたメタファイルと、メタファイルの更新確認情報とが、コンテンツIDに対応付けて記憶されている。また、記憶部12には、オーバーレイネットワークONから取得されたチャンクが記憶されている。また、記憶部12には、インデックス情報及び紹介状態が記憶されている。また、記憶部12には、センターサーバSSのIPアドレス及びポート番号が記憶されている。
【0070】
通信部13aは、ネットワークNWを通じて、他のノードやセンターサーバSS等との間の通信制御を行う。通信部13bは、拠点ネットワークNLnを通じて拠点端末Tn−lとの間の通信制御を行う。また、バッファメモリ14は、通信部13aを介して受信されたチャンクを一時的に蓄積する。
【0071】
制御部11は、演算機能を有するCPU,作業用RAM,及びROM等から構成される。また、制御部11は、時計機能及びタイマ機能を備える。そして、制御部11は、CPUが記憶部12等に記憶されたプログラムを読み出して実行することにより、本発明における第1送信手段、取得手段、制限手段、第2送信手段、許可手段、受信手段、制御手段、第2取得手段、第3送信手段、第3取得手段、第2受信手段、判定手段及び第2判定手段として機能する。
【0072】
[4.配信システムの動作]
次に、図5乃至図7を参照して、本実施形態の配信システムSの動作について説明する。図5は、本実施形態のセンターサーバSSの制御部1の処理例を示すフローチャートである。
【0073】
図5に示す処理は、例えば、センターサーバSSの電源がONとされたときに開始される。先ず、制御部1は、配信システムSの管理者から電源OFFが要求されたか否かを判定する(ステップS1)。このとき、制御部1は、電源OFFが要求されていないと判定した場合には(ステップS1:NO)、管理者からコンテンツの配信停止が指示されたか否かを判定する(ステップS2)。
【0074】
このとき、制御部1は、配信停止が指示されたと判定した場合には(ステップS2:YES)、コンテンツの配信を停止するための処理を行う。先ず、制御部1は、管理者から入力された配信停止対象のコンテンツのコンテンツIDを取得する。次いで、制御部1は、取得したコンテンツIDに対応する複合コンテンツリストが記憶部2に記憶されているか否かを判定する(ステップS3)。このとき、制御部1は、複合コンテンツリストが記憶されていると判定した場合には(ステップS3:YES)、複合コンテンツのメタファイルのルートノードへ、配信停止通知メッセージを送信する(ステップS4)。具体的に、制御部1は、複合コンテンツリストに記述されたコンテンツIDを含む配信停止通知メッセージを送信する。制御部1は、この処理を、複合コンテンツリストに記述されたコンテンツIDごとに行う。制御部1は、複合コンテンツリストが記憶されていないと判定した場合(ステップS3:NO)、または、ステップS4の処理を終えた場合には、配信停止対象のコンテンツのメタファイルのルートノードへ、配信停止通知メッセージを送信する(ステップS5)。具体的に、制御部1は、管理者から取得したコンテンツIDを含む配信停止通知メッセージを送信する。制御部1は、ステップS5の処理を終えると、ステップS1に移行する。
【0075】
ステップS2において、制御部1は、配信停止が指示されていないと判定した場合には(ステップS2:NO)、管理者からコンテンツの削除が指示されたか否かを判定する(ステップS6)。このとき、制御部1は、削除が指示されたと判定した場合には(ステップS6:YES)、コンテンツを削除するための処理を行う。具体的に、制御部1は、削除対象のコンテンツを構成要素とする複合コンテンツが存在する場合には、複合コンテンツのメタファイルのルートノードへ削除通知メッセージを送信する。また、制御部1は、削除対象のコンテンツのメタファイルのルートノードへ、削除通知メッセージを送信する(ステップS7〜S9)。これらの処理は、送信するメッセージが異なること以外はステップS3〜5と同様である。制御部1は、ステップS9の処理を終えると、ステップS1に移行する。
【0076】
ステップS6において、制御部1は、削除が指示されていないと判定した場合には(ステップS6:NO)、管理者からコンテンツの更新が指示されたか否かを判定する(ステップS10)。このとき、制御部1は、更新が指示されたと判定した場合には(ステップS10:YES)、コンテンツを更新するための処理を行う。先ず、制御部1は、管理者から入力された更新対象のコンテンツのコンテンツIDと、配信が許可されたコンテンツと、を取得する。そして、制御部1は、配信が許可されたコンテンツのメタファイルを生成する。次いで、制御部1は、更新対象のコンテンツのメタファイルのルートノードへ、更新通知メッセージを送信する(ステップS11)。このとき、制御部1は、管理者から取得したコンテンツIDと、生成したメタファイルと、を含む更新通知メッセージを送信する。次いで、制御部1は、更新対象のコンテンツを構成要素とする複合コンテンツが存在する場合には、複合コンテンツのメタファイルのルートノードへ配信再開通知メッセージを送信する(ステップS12及びS13)。これらの処理は、送信するメッセージが異なること以外はステップS3及び4と同様である。制御部1は、複合コンテンツリストが記憶されていないと判定した場合(ステップS12:NO)、または、ステップS13の処理を終えると、ステップS1に移行する。
【0077】
ステップS10において、制御部1は、更新が指示されていないと判定した場合には(ステップS10:NO)、管理者からコンテンツの配信再開が指示されたか否かを判定する(ステップS14)。このとき、制御部1は、配信再開が指示されたと判定した場合には(ステップS14:YES)、コンテンツの配信を再開するための処理を行う。具体的に、制御部1は、配信再開対象のコンテンツを構成要素とする複合コンテンツが存在する場合には、複合コンテンツのメタファイルのルートノードへ配信再開通知メッセージを送信する。また、制御部1は、配信再開対象のコンテンツのメタファイルのルートノードへ、配信再開通知メッセージを送信する(ステップS15〜S17)。これらの処理は、送信するメッセージが異なること以外はステップS3〜5と同様である。制御部1は、ステップS17の処理を終えると、ステップS1に移行する。
【0078】
ステップS14において、制御部1は、配信再開が指示されていないと判定した場合には(ステップS14:NO)、ステップS1に移行する。ステップS1において、制御部1は、電源OFFが要求されたと判定した場合には(ステップS1:YES)、図5に示す処理を終了させる。
【0079】
図6及び図7は、本実施形態のノードの制御部11の処理例を示すフローチャートである。図6及び図7に示す処理は、例えば、ノードがオーバーレイネットワークONに参加したときに開始される。先ず、制御部11は、記憶部12に記憶されている各メタファイルについて、パブリッシュメッセージをルートノードへ送信する(ステップS50)。具体的に、制御部11は、メタファイルのコンテンツID、メタファイルの更新確認情報及び保持ノードのノードIDを含むパブリッシュメッセージを送信する。
【0080】
次いで、制御部11は、センターサーバSSからルートノードへ送信されるメッセージを受信したか否かを判定する(ステップS51)。センターサーバSSからルートノードへ送信されるメッセージとしては、配信停止通知メッセージ、削除通知メッセージ、更新通知メッセージ、配信再開通知メッセージがある。
【0081】
このとき、制御部11は、センターサーバSSからのメッセージを受信していないと判定した場合には(ステップS51:NO)、ステップS80に移行する。一方、制御部11は、センターサーバSSからのメッセージを受信したと判定した場合には(ステップS51:YES)、配信停止通知メッセージを受信したか否かを判定する(ステップS52)。このとき、制御部11は、配信停止通知メッセージを受信したと判定した場合には(ステップS52:YES)、配信停止通知メッセージからコンテンツIDを取得する。次いで、制御部11は、取得したコンテンツIDに対応するインデックス情報を全て検索する。そして、制御部11は、検索されたインデックス情報に対応する紹介状態を、「紹介停止中」に変更する(ステップS53)。制御部11は、ステップS53の処理を終えると、ステップS80に移行する。
【0082】
ステップS52において、制御部11は、配信停止通知メッセージを受信していないと判定した場合には(ステップS52:NO)、削除通知メッセージを受信したか否かを判定する(ステップS54)。このとき、制御部11は、削除通知メッセージを受信したと判定した場合には(ステップS54:YES)、削除通知メッセージからコンテンツIDを取得する。次いで、制御部11は、取得したコンテンツIDに対応するインデックス情報を全て検索する。そして、制御部11は、検索されたインデックス情報に対応する紹介状態を、「紹介停止中」に変更する(ステップS55)。次いで、制御部11は、削除対象のコンテンツのメタファイルの保持ノードへ、削除要求メッセージを送信する(ステップS56)。具体的に、制御部11は、検索されたインデックス情報から保持ノードのIPアドレス等を取得する。次いで、制御部11は、保持ノードのIPアドレス等に基づいて、削除通知メッセージから取得されたコンテンツIDを含む削除要求メッセージを送信する。制御部11は、これらの処理を、検索されたインデックス情報ごとに行う。制御部11は、ステップS56の処理を終えると、ステップS80に移行する。
【0083】
ステップS54において、制御部11は、削除通知メッセージを受信していないと判定した場合には(ステップS54:NO)、更新通知メッセージを受信したか否かを判定する(ステップS57)。このとき、制御部11は、更新通知メッセージを受信したと判定した場合には(ステップS57:YES)、更新対象のコンテンツのメタファイルの保持ノードの中に、紹介状態が「紹介可能」に設定されている保持ノードが存在するか否かを判定する(ステップS58)。具体的に、制御部11は、更新通知メッセージからコンテンツIDを取得する。次いで、制御部11は、取得したコンテンツIDに対応するインデックス情報を全て検索する。そして、制御部11は、検索されたインデックス情報に対応する紹介状態を参照する。これにより、制御部11は、紹介状態が「紹介可能」に設定されている保持ノードが存在するか否かを判定する。
【0084】
このとき、制御部11は、紹介状態が「紹介可能」に設定されている保持ノードが存在すると判定した場合には(ステップS58:YES)、紹介状態が「紹介可能」に設定されている保持ノードの紹介状態を、「紹介停止中」に変更する(ステップS59)。例えば、センターサーバSSから、配信停止通知が送信されてくることなく、更新通知メッセージが送信されてくる場合がある。この場合、各保持ノードの紹介状態は「紹介可能」に設定されているが、各保持ノードが記憶するメタファイルは、メタファイルの更新によって入れ替わる前の古いメタファイルである。そのため、更新通知メッセージが受信された後は古いメタファイルが配信されないよう、紹介状態を「紹介停止中」にする。
【0085】
制御部11は、紹介状態が「紹介可能」に設定されている保持ノードが存在しないと判定した場合(ステップS58:NO)、または、ステップS59の処理を終えた場合には、記憶しているメタファイルを更新する(ステップS60)。具体的に、制御部11は、更新通知メッセージに含まれるコンテンツIDに対応するメタファイルを、記憶部12から削除する。そして、制御部11は、更新通知メッセージに含まれるメタファイルを、更新通知メッセージに含まれるコンテンツIDに対応付けて、記憶部12に記憶させる。次いで、制御部11は、新しく記憶させたメタファイルの更新確認情報を生成する(ステップS61)。例えば、制御部11は、メタファイルのハッシュ値を算出する。そして、制御部11は、生成した更新確認情報を、更新通知メッセージに含まれるコンテンツIDに対応付けて、記憶部12に記憶させる。
【0086】
次いで、制御部11は、更新対象のメタファイルの保持ノードへ、更新要求メッセージを送信する(ステップS62)。具体的に、制御部11は、検索されたインデックス情報から保持ノードのIPアドレス等を取得する。次いで、制御部11は、保持ノードのIPアドレス等に基づいて、更新通知メッセージから取得されたコンテンツID及び新しく記憶したメタファイルを含む更新要求メッセージを送信する。制御部11は、これらの処理を、検索されたインデックス情報ごとに行う。次いで、制御部11は、検索されたインデックス情報に対応する紹介状態を、「紹介可能」に変更する(ステップS63)。制御部11は、ステップS63の処理を終えると、ステップS80に移行する。
【0087】
ステップS57において、制御部11は、更新通知メッセージを受信していないと判定した場合には(ステップS57:NO)、配信再開通知メッセージを受信したか否かを判定する(ステップS64)。このとき、制御部11は、配信再開通知メッセージを受信したと判定した場合には(ステップS64:YES)、配信再開通知メッセージからコンテンツIDを取得する。次いで、制御部11は、取得したコンテンツIDに対応するインデックス情報を全て検索する。そして、制御部11は、検索されたインデックス情報に対応する紹介状態を、「紹介可能」に変更する(ステップS65)。制御部11は、ステップS65の処理を終えると、ステップS80に移行する。
【0088】
ステップS64において、制御部11は、配信再開通知メッセージを受信していないと判定した場合には(ステップS64:NO)、ステップS80に移行する。
【0089】
ステップS80において、制御部11は、メタファイルの保持ノードからパブリッシュメッセージを受信したか否かを判定する。このとき、制御部11は、パブリッシュメッセージを受信していないと判定した場合には(ステップS80:NO)、ステップS97に移行する。一方、制御部11は、パブリッシュメッセージを受信したと判定した場合には(ステップS80:YES)、パブリッシュメッセージを受信したノード自身がルートノードであるか否かを判定する(ステップS81)。具体的に、制御部11は、パブリッシュメッセージからコンテンツIDを取得する。また、制御部11は、パブリッシュメッセージを受信したノード自身のノードIDを、記憶部12から取得する。また、制御部11は、ルーティングテーブルに登録されているノードIDのうち、パブリッシュメッセージから取得されたコンテンツIDと最も近いノードIDを取得する。次いで、制御部11は、パブリッシュメッセージを受信したノード自身のノードIDと、ルーティングテーブルから取得されたノードIDとのうち、パブリッシュメッセージから取得されたコンテンツIDにより近いノードIDは何れかであるかを判定する。このとき制御部11は、ルーティングテーブルから取得されたノードIDの方がコンテンツIDに近いと判定した場合には、パブリッシュメッセージを受信したノード自身がルートノードではないと判定する(ステップS81:NO)。この場合、制御部11は、受信したメッセージを、ルーティングテーブルに基づいて他のノードへ転送する(ステップS102)。制御部11は、ステップS102の処理を終えると、ステップS96に移行する。
【0090】
一方、制御部11は、パブリッシュメッセージを受信したノード自身のノードIDの方がコンテンツIDに近いと判定した場合には、メッセージを受信したノード自身がルートノードであると判定する(ステップS81:YES)。この場合、制御部11は、パブリッシュメッセージに設定されたインデックス情報を、記憶部12に記憶させる(ステップS82)。次いで、制御部11は、インデックス情報からコンテンツIDを取得する。また、制御部11は、パブリッシュメッセージから更新確認情報を取得する。次いで、制御部11は、取得したコンテンツIDに対応するメタファイルの更新確認情報を記憶部12から取得する。そして、制御部11は、パブリッシュメッセージから取得した更新確認情報と、記憶部12から取得した更新確認情報と、を比較する(ステップS83)。次いで、制御部11は、比較の結果、更新確認情報が一致するか否かを判定する(ステップS84)。
【0091】
このとき、制御部11は、更新確認情報が一致すると判定した場合には(ステップS84:YES)、インデックス情報から取得したコンテンツIDに対応するインデックス情報を全て検索する。そして、制御部11は、検索されたインデックス情報に対応する紹介状態を参照する。そして、制御部11は、「紹介可能」に設定された紹介状態が存在するか否かを判定する。つまり、制御部11は、紹介状態が「紹介可能」に設定されている保持ノードが存在するか否かを判定する(ステップS85)。このとき、制御部11は、紹介状態が「紹介可能」に設定されている保持ノードが存在すると判定した場合には(ステップS85:YES)、「紹介可能」に設定された紹介状態を、ステップS82において記憶されたインデックス情報と対応付けて記憶部12に記憶させる(ステップS86)。この場合、パブリッシュメッセージを送信してきた保持ノードが記憶するメタファイルは、配信が許可されているコンテンツのメタファイルと同一となっているからである。なお、パブリッシュメッセージを送信してきた保持ノードを、「送信元保持ノード」という。制御部11は、ステップS86の処理を終えると、ステップS96に移行する。
【0092】
ステップS85において、制御部11は、紹介状態が「紹介可能」に設定されている保持ノードが存在しないと判定した場合には(ステップS85:NO)、ステップS85の場合と同様にして、紹介状態が「紹介停止中」に設定されている保持ノードが存在するか否かを判定する(ステップS87)。このとき、制御部11は、紹介状態が「紹介停止中」に設定されている保持ノードが存在すると判定した場合には(ステップS87:YES)、「紹介停止中」に設定された紹介状態を、送信元保持ノードのインデックス情報に対応付けて記憶部12に記憶させる(ステップS88)。この場合、送信元保持ノードが記憶するメタファイルは、現在配信が停止中のコンテンツのメタファイルと同一となっている。そして、配信が停止中のコンテンツに代わるコンテンツとして、配信が許可されたコンテンツはまだ投入されていないからである。
【0093】
ステップS87において、制御部11は、紹介状態が「紹介停止中」に設定されている保持ノードが存在しないと判定した場合には(ステップS87:NO)、センターサーバSSに、紹介状態の問い合わせを行う(ステップS89)。この場合、送信元保持ノードが記憶するメタファイルが、配信が停止されたコンテンツのメタファイルであるのか、または、配信が許可されたコンテンツのメタファイルであるのか、を判定することができないからである。例えば、制御部11は、送信元保持ノードのインデックス情報から取得したコンテンツIDを含む問い合わせメッセージをセンターサーバSSへ送信する。センターサーバSSは、受信した問い合わせメッセージに含まれるコンテンツIDに対応するメタファイルが、配信が停止されたコンテンツのメタファイルであるのか、または、配信が許可されたコンテンツのメタファイルであるのか、を判定する。例えば、配信停止通知メッセージや更新通知メッセージの送信履歴に基づいて、判定が行われる。そして、センターサーバSSは、判定結果をルートノードへ送信する。制御部11は、受信した判定結果に基づいて、送信元保持ノードの紹介状態を「紹介可能」または「紹介停止中」に設定する。そして、送信元保持ノードの紹介状態を、送信元保持ノードのインデックス情報に対応付けて記憶部12に記憶させる(ステップS90)。制御部11は、ステップS90の処理を終えると、ステップS96に移行する。
【0094】
ステップS84において、制御部11は、更新確認情報が一致しないと判定した場合には(ステップS84:NO)、「紹介停止中」に設定された紹介状態を、送信元保持ノードのインデックス情報に対応付けて記憶部12に記憶させる(ステップS91)。次いで、制御部11は、ステップS85において検索されたインデックス情報に対応する紹介状態のうち、「紹介可能」に設定されている紹介状態の数を数える。そして、制御部11は、「紹介可能」に設定されている紹介状態の数が閾値以上であるか否かを判定する。つまり、制御部11は、紹介状態が「紹介可能」に設定されている保持ノードの数が閾値以上であるか否かを判定する(ステップS92)。このとき、制御部11は、紹介状態が「紹介可能」に設定されている保持ノードの数が閾値以上であると判定した場合には(ステップS92:YES)、紹介状態を「紹介不可」のままにして、ステップS96に移行する。
【0095】
一方、制御部11は、紹介状態が「紹介可能」に設定されている保持ノードの数が閾値以上ではないと判定した場合には(ステップS92:NO)、紹介状態が「紹介可能」に設定されている保持ノードが存在するか否かを判定する(ステップS93)。この判定方法は、ステップS85の場合と同様である。このとき、制御部11は、紹介状態が「紹介可能」に設定されている保持ノードが存在しないと判定した場合には(ステップS93:NO)、ステップS96に移行する。例えば、送信元保持ノードが記憶するメタファイルが、コンテンツF1のメタファイルであるとする。コンテンツF1は、既に配信が停止されたコンテンツである。また、コンテンツF1に入れ替わって配信が許可されたコンテンツがコンテンツF2であるとする。このコンテンツF2も、現在は配信が停止されている。そして、コンテンツF2に入れ替わるコンテンツとして、配信が許可されたコンテンツはまだ投入されていない。そのため、紹介状態が「紹介可能」に設定されている保持ノードが存在しない。従って、現時点では、コンテンツF1やF2に代わって配信すべきコンテンツが存在しない。そこで、送信元保持ノードが記憶するメタファイルを更新する必要がないので、送信元保持ノードの紹介状態は「紹介不可」に設定されたままになる。
【0096】
一方、制御部11は、紹介状態が「紹介可能」に設定されている保持ノードが存在すると判定した場合には(ステップS93:YES)、送信元保持ノードへ、更新要求メッセージを送信する(ステップS94)。具体的に、制御部11は、送信元保持ノードのインデックス情報から取得したコンテンツIDに対応するメタファイルを記憶部12から取得する。このメタファイルは、配信が許可されたメタファイルである。そして、制御部11は、取得したメタファイルと、取得したメタファイルのコンテンツIDと、を含む更新要求メッセージを送信する。次いで、制御部11は、送信元保持ノードの紹介状態を、「紹介可能」に変更する(ステップS95)。制御部11は、ステップS95の処理を終えると、ステップS96に移行する。
【0097】
ステップS97において、制御部11は、ルートノードから削除要求メッセージを受信したか否かを判定する。このとき、制御部11は、削除要求メッセージを受信したと判定した場合には(ステップS97:YES)、削除要求メッセージに含まれるコンテンツIDに対応するメタファイルを、記憶部12から削除する(ステップS98)。制御部11は、ステップS98の処理を終えると、ステップS96に移行する。
【0098】
ステップS97において、制御部11は、削除要求メッセージを受信していないと判定した場合には(ステップS97:NO)、ルートノードから更新要求メッセージを受信したか否かを判定する(ステップS99)。このとき、制御部11は、更新要求メッセージを受信したと判定した場合には(ステップS99:YES)、記憶部12に記憶しているメタファイルの更新及び更新確認情報の生成を行う(ステップS100及びS101)。これらの処理は、図6に示すステップS60及びS61の処理と同様である。制御部11は、ステップS101の処理を終えると、ステップS96に移行する。
【0099】
ステップS99において、制御部11は、更新要求メッセージを受信していないと判定した場合には(ステップS99:NO)、ステップS96に移行する。ステップS96において、制御部11は、拠点Pnの管理者から、オーバーレイネットワークONからの離脱が指示されたか否かを判定する。このとき、制御部11は、離脱が指示されていないと判定した場合には(ステップS96:NO)、ステップS51に移行する。一方、制御部11は、離脱が指示されたと判定した場合には(ステップS96:YES)、図6及び図7に示す処理を終了させる。
【0100】
なお、上記実施形態において、ルートノードは、インデックス情報ごとに紹介状態を記憶していた。つまり、ルートノードは、保持ノードごとに紹介状態を記憶していた。ここで、ルートノードは、保持ノードごとの紹介状態に加えて、例えば、メタファイルごとに紹介状態を記憶しても良い。ここで、保持ノードごとの紹介状態を、「保持ノード紹介状態」という。また、メタファイルごとの紹介状態を、「メタファイル紹介状態」という。メタファイル紹介状態は、メタファイルのコンテンツIDに対応付けて記憶される。ルートノードは、センターサーバSSから配信停止通知メッセージまたは削除通知メッセージを受信したとき、対応するメタファイル紹介状態を「紹介停止中」に設定する。また、ルートノードは、センターサーバSSから更新通知メッセージまたは配信再開通知メッセージを受信したとき、対応するメタファイル紹介状態を「紹介可能」に設定する。メタファイル紹介状態は、「紹介不可」には設定されない。ルートノードは、例えば、図7に示すステップS85、S87、S89、S93等で、メタファイル紹介状態を参照することができる。これにより、保持ノード紹介状態を参照しなくても、ルートノードが現在記憶しているメタファイルの紹介状態を判定することができる。そして、メタファイルの紹介状態に基づいて、送信元保持ノードの紹介状態を設定することができる。
【0101】
また、ルートノードは、メタファイル紹介状態のみを記憶し、保持ノード紹介状態は記憶しなくても良い。この場合、メタファイル紹介状態とインデックス情報とは、メタファイルのコンテンツIDにより対応付けられる。つまり、メタファイル紹介状態は、対応するメタファイルを記憶する全ての保持ノードに適用される。ルートノードは、ユーザノードから検索メッセージを受信したとき、検索メッセージに含まれるコンテンツIDに対応するメタファイル紹介状態に基づいて、対応するインデックス情報の送信を許可するか制限するかを判定する。また、ルートノードは、保持ノードからパブリッシュメッセージを受信したときに、更新情報が一致しない場合には、例えば、送信元保持ノードに対して無条件で更新要求メッセージを送信する。
【0102】
また、上記実施形態においては、ルートノードが、紹介状態を記憶してコンテンツの配信の停止等の制御を行っていた。しかしながら、予め定められたノードが、コンテンツの配信の停止等の制御を行っても良い。予め定められたノードとしては、例えば、ネットワークNWに定常的に接続するノード等がある。
【0103】
また、上記実施形態においては、オーバーレイネットワークに、DHTを利用したピアツーピアネットワークが適用されていたが、これに限られるものではない。例えば、他のピアツーピアシステム、または、オーバーレイネットワークを用いたシステムが適用されても良い。DHTを利用しないオーバーレイネットワークとしては、例えば、ハイブリッド型のピアツーピアネットワークシステムがある。ハイブリッド型のピアツーピアネットワークシステムの場合、例えば、センターサーバSSが、全てのメタファイルのインデックス情報を記憶する。そこで、センターサーバSSが、全てのメタファイルについての紹介状態を記憶し、コンテンツの配信の停止等の制御を行っても良い。
【0104】
また、上記実施形態においては、通常コンテンツが複数のチャンクに分割されていた。そして、通常コンテンツのメタファイルを保存する保持ノードを、本発明におけるコンテンツを保存する第1ノード装置に相当するノードとしていた。ユーザノードは、通常コンテンツのメタファイルを取得することにより、通常コンテンツを構成する各チャンクを取得することができる。これにより、ユーザノードは、通常コンテンツを取得する。つまり、ユーザノードは、メタファイルの保持ノードから、通常コンテンツを取得したと考えることができるからである。しかしながら、通常コンテンツが複数のチャンクに分割されなくても良い。この場合、各ノードは、通常コンテンツ全体を保存する。そして、通常コンテンツを保存するノードが、本発明における第1ノード装置に相当する。また、通常コンテンツの所在を管理するノードが、本発明における第2ノード装置に相当する。通常コンテンツの配信の停止、削除、配信再開、更新、パブリッシュメッセージの送受信時等における各ノード及びセンターサーバSSの処理内容は、上記実施形態の場合と基本的に同様である。ただし、メタファイルの送信、メタファイルの更新、メタファイルのハッシュ値の算出等、メタファイルに対して行われていた処理は、通常コンテンツに対して行われる。なお、上記実施形態においては、複合コンテンツのメタファイルを保存する保持ノードを、本発明における複合コンテンツを保存する第1ノード装置に相当するノードとしている。
【符号の説明】
【0105】
1,11 制御部
2,12 記憶部
3,13a,13b 通信部
SS センターサーバ
Nn ノード
NW ネットワーク
ON オーバーレイネットワーク
S 配信システム

【特許請求の範囲】
【請求項1】
ネットワークに接続する複数のノード装置に分散して保存されるコンテンツが、前記複数のノード装置により構成されるオーバーレイネットワークを介して配信される配信システムであって、
コンテンツを保存する前記ノード装置である第1ノード装置の所在を示す所在情報と、前記所在情報が所在を示す第1ノード装置により保存されたコンテンツを識別する第1識別情報と、を対応付けて記憶する第1記憶手段と、
コンテンツを要求する前記ノード装置である第2ノード装置へ、要求されたコンテンツを識別する前記第1識別情報に対応する前記所在情報を送信する第1送信手段と、
配信の停止が指示されたコンテンツである第1コンテンツを識別する第2識別情報を取得する取得手段と、
前記取得手段により取得された前記第2識別情報に対応する前記所在情報を前記第1送信手段が送信することを制限する制限手段と、
前記第2識別情報により識別されるコンテンツとして、前記第1コンテンツと入れ替わって配信が許可された第2コンテンツの保存の指示を示す指示情報であり、前記第2識別情報を含む指示情報を、前記第2識別情報に対応する前記所在情報が所在を示す前記第1ノード装置へ送信する第2送信手段と、
前記第2送信手段により送信された前記指示情報に基づいて前記第2コンテンツを保存する前記第1ノード装置の所在を示す前記所在情報を前記第1送信手段が送信することを許可する許可手段と、
を備える情報処理装置と、
前記第1コンテンツと、前記第2識別情報と、を対応付けて記憶する第2記憶手段と、
前記情報処理装置から送信された前記指示情報を受信する受信手段と、
前記受信手段により受信された前記指示情報に基づいて、前記指示情報に含まれる前記第2識別情報に対応するコンテンツを、前記第1コンテンツから前記第2コンテンツに入れ替えて前記第2記憶手段に記憶させる制御手段と、
を備える前記第1ノード装置と、
を含むことを特徴とする配信システム。
【請求項2】
前記第1ノード装置は、
前記第2記憶手段に記憶された前記第1コンテンツのハッシュ値を取得する第2取得手段と、
前記第2記憶手段に記憶された前記第2識別情報と、前記第2取得手段により取得されたハッシュ値と、前記第1ノード装置の所在を示す前記所在情報と、を前記情報処理装置へ送信する第3送信手段と、
を更に備え、
前記情報処理装置は、
前記第2コンテンツのハッシュ値を取得する第3取得手段と、
前記第1ノード装置から送信された前記第1識別情報、ハッシュ値及び前記所在情報を受信する第2受信手段と、
前記第3取得手段により取得されたハッシュ値と、前記第2受信手段により受信されたハッシュ値と、が一致するかを判定する判定手段と、
を更に備え、
前記第1記憶手段は、前記第2受信手段により受信された前記第2識別情報と前記所在情報とを対応付けて記憶し、
前記許可手段は、前記判定手段により一致すると判定された場合、前記第2受信手段により受信された前記所在情報の送信を許可し、
前記第2送信手段は、前記判定手段により一致しないと判定された場合、前記第2受信手段により受信された前記第2識別情報により識別されるコンテンツとして、前記第1コンテンツと入れ替わって配信が許可される前記第2コンテンツの保存の指示を示す前記指示情報を、前記第1ノード装置へ送信することを特徴とする請求項1に記載の配信システム。
【請求項3】
前記情報処理装置は、
前記判定手段により一致しないと判定された場合、前記受信手段により受信された前記第2識別情報に対応する前記所在情報のうち、前記送信手段による送信が許可された前記所在情報の数が、予め設定された数以上であるかを判定する第2判定手段を更に備え、
前記第2送信手段は、前記第2判定手段により前記予め設定された数以上であると判定された場合、前記指示情報を送信せず、
前記制限手段は、前記第2判定手段により前記予め設定された数以上であると判定された場合、前記第2受信手段により受信された前記所在情報の送信を制限することを特徴とする請求項1または請求項2に記載の配信システム。
【請求項4】
前記第1記憶手段は、複数のコンテンツにより構成される複合コンテンツを識別する前記第1識別情報と、前記複合コンテンツを保存する前記ノード装置の所在を示す前記所在情報と、を対応付けて記憶し、
前記第1送信手段は、前記複合コンテンツを要求する前記第2ノード装置へ、要求された前記複合コンテンツを識別する前記第1識別情報を送信し、
前記取得手段は、前記第1コンテンツを構成要素とする前記複合コンテンツである第1複合コンテンツを識別する前記第2識別情報を取得し、
前記許可手段は、前記第2コンテンツを保存する前記第1ノード装置の所在を示す前記所在情報を前記第1送信手段が送信することを許可した場合、前記第1複合コンテンツを保存する前記第1ノード装置の所在を示す前記所在情報を前記第1送信手段が送信することを許可し、
前記第2記憶手段は、前記第1複合コンテンツと、前記第2識別情報と、を対応付けて記憶することを特徴とする請求項1から請求項3の何れか一項に記載の配信システム。
【請求項5】
ネットワークに接続する複数のノード装置に分散して保存されるコンテンツが、前記複数のノード装置により構成されるオーバーレイネットワークを介して配信される配信システムに含まれる情報処理装置であって、
コンテンツを保存する前記ノード装置である第1ノード装置の所在を示す所在情報と、前記所在情報が所在を示す第1ノード装置により保存されたコンテンツを識別する第1識別情報と、を対応付けて記憶する第1記憶手段と、
コンテンツを要求する前記ノード装置である第2ノード装置へ、要求されたコンテンツを識別する前記第1識別情報に対応する前記所在情報を送信する第1送信手段と、
配信の停止が指示されたコンテンツである第1コンテンツを識別する第2識別情報を取得する取得手段と、
前記取得手段により取得された前記第2識別情報に対応する前記所在情報を前記第1送信手段が送信することを制限する制限手段と、
前記第2識別情報により識別されるコンテンツとして、前記第1コンテンツと入れ替わって配信が許可された第2コンテンツの保存の指示を示す指示情報であり、前記第2識別情報を含む指示情報を、前記第2識別情報に対応する前記所在情報が所在を示す前記第1ノード装置へ送信する第2送信手段と、
前記第2送信手段により送信された前記指示情報に基づいて前記第2コンテンツを保存する前記第1ノード装置の所在を示す前記所在情報を前記第1送信手段が送信することを許可する許可手段と、
を備えることを特徴とする情報処理装置。
【請求項6】
ネットワークに接続する複数のノード装置に分散して保存されるコンテンツが、前記複数のノード装置により構成されるオーバーレイネットワークを介して配信される配信システムにおける情報処理方法であって、
前記配信システムに含まれる情報処理装置が、コンテンツを要求する前記ノード装置である第2ノード装置へ、要求されたコンテンツを識別する第1識別情報に対応する所在情報であり、コンテンツを保存する前記ノード装置である第1ノード装置の所在を示す所在情報と、前記所在情報が所在を示す第1ノード装置により保存されたコンテンツを識別する第1識別情報と、を対応付けて記憶する記憶手段に記憶された所在情報を送信する第1送信ステップと、
前記情報処理装置が、配信の停止が指示されたコンテンツである第1コンテンツを識別する第2識別情報を取得する取得ステップと、
前記情報処理装置が、前記取得ステップにおいて取得された前記第2識別情報に対応する前記所在情報を前記第1送信ステップにおいて送信することを制限する制限ステップと、
前記情報処理装置が、前記第2識別情報により識別されるコンテンツとして、前記第1コンテンツと入れ替わって配信が許可された第2コンテンツの保存の指示を示す指示情報であり、前記第2識別情報を含む指示情報を、前記第2識別情報に対応する前記所在情報が所在を示す前記第1ノード装置へ送信する第2送信ステップと、
前記情報処理装置が、前記第2送信ステップにおいて送信された前記指示情報に基づいて前記第2コンテンツを保存する前記第1ノード装置の所在を示す前記所在情報を前記第1送信ステップにおいて送信することを許可する許可ステップと、
前記第1ノード装置が、前記情報処理装置から送信された前記指示情報を受信する受信ステップと、
前記第1ノード装置が、前記受信ステップにおいて受信された前記指示情報に基づいて、前記第1コンテンツと、前記第2識別情報と、を対応付けて記憶する第2記憶手段に記憶されたコンテンツのうち、前記指示情報に含まれる前記第2識別情報に対応するコンテンツを、前記第1コンテンツから前記第2コンテンツに入れ替えて前記第2記憶手段に記憶させる制御ステップと、
を含むことを特徴とする情報処理方法。
【請求項7】
ネットワークに接続する複数のノード装置に分散して保存されるコンテンツが、前記複数のノード装置により構成されるオーバーレイネットワークを介して配信される配信システムに含まれる情報処理装置に含まれるコンピュータに、
コンテンツを要求する前記ノード装置である第2ノード装置へ、要求されたコンテンツを識別する第1識別情報に対応する所在情報であり、コンテンツを保存する前記ノード装置である第1ノード装置の所在を示す所在情報と、前記所在情報が所在を示す第1ノード装置により保存されたコンテンツを識別する第1識別情報と、を対応付けて記憶する記憶手段に記憶された所在情報を送信する第1送信ステップと、
配信の停止が指示されたコンテンツである第1コンテンツを識別する第2識別情報を取得する取得ステップと、
前記取得ステップにおいて取得された前記第2識別情報に対応する前記所在情報を前記第1送信ステップにおいて送信することを制限する制限ステップと、
前記第2識別情報により識別されるコンテンツとして、前記第1コンテンツと入れ替わって配信が許可された第2コンテンツの保存の指示を示す指示情報であり、前記第2識別情報を含む指示情報を、前記第2識別情報に対応する前記所在情報が所在を示す前記第1ノード装置へ送信する第2送信ステップと、
前記第2送信ステップにおいて送信された前記指示情報に基づいて前記第2コンテンツを保存する前記第1ノード装置の所在を示す前記所在情報を前記第1送信ステップにおいて送信することを許可する許可ステップと、
を実行させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate