(57)【要約】【課題】上位のノード装置への通信負荷を高くすることなく、全体としてのコンテンツ配信にかかる時間を短くすることを可能とする配信システム、ノード装置、配信方法及びプログラムを提供する。【解決手段】ノード装置のいずれかからコンテンツを取得する時刻を示す時刻情報を取得し、時刻情報が示す時刻に応じて、所定のコンテンツを記憶しているノード装置を検索し、検索されたノード装置から所定のコンテンツを取得し、取得されたコンテンツを記憶し、記憶されたコンテンツが他のノード装置から検索されたとき、当該コンテンツを当該他のノード装置に送信し、コンテンツが送信されてから所定の条件を満たしたか否かを判定し、所定の条件が満たされたと判定されたとき、記憶されたコンテンツが他のノード装置により取得されることを禁止する。【選択図】図３
2011008657.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して互いに通信可能な複数のノード装置間でコンテンツの送受信が可能なコンテンツ配信システムにおけるノード装置のいずれかからコンテンツを取得する時刻を示す時刻情報を取得する取得手段と、
前記取得手段により取得された時刻情報が示す時刻に応じて、所定のコンテンツを記憶しているノード装置を検索する検索手段と、
前記検索手段により検索されたノード装置から、前記所定のコンテンツを取得するコンテンツ取得手段と、
前記コンテンツ取得手段により取得されたコンテンツを記憶する記憶手段と、
前記記憶手段に記憶されたコンテンツが、他の前記ノード装置から検索されたとき、当該コンテンツを当該他のノード装置に送信するコンテンツ送信手段と、
前記コンテンツ送信手段により前記コンテンツが送信されてから、所定の条件を満たしたか否かを判定する判定手段と、
前記判定手段により、前記所定の条件が満たされたと判定されたとき、前記記憶手段に記憶されたコンテンツが、他の前記ノード装置により取得されることを禁止する禁止手段と、
を備えることを特徴とするノード装置。
【請求項２】
前記判定手段は、前記所定の条件として、コンテンツを送信した送信回数が所定の回数に達したか否かを判定し、
前記禁止手段は、前記判定手段により、コンテンツを送信した送信回数が所定の回数に達したと判定されたとき、前記記憶手段に記憶されたコンテンツが、他の前記ノード装置に取得されることを禁止することを特徴とする請求項１に記載のノード装置。
【請求項３】
前記判定手段は、前記所定の条件として、前記コンテンツ送信手段によりコンテンツが送信されてから、所定の時間が経過したか否かを判定し、
前記禁止手段は、前記判定手段により、コンテンツが送信されてから所定の時間が経過したと判定したとき、前記記憶手段に記憶されたコンテンツが、他の前記ノード装置に取得されることを禁止することを特徴とする請求項１に記載のノード装置。
【請求項４】
前記禁止手段により、他の前記ノード装置による取得を禁止されてから所定の時間か経過したか否かを判定する時間判定手段と、
前記時間判定手段により、取得を禁止されてから所定の時間が経過したと判定されたとき、前記他のノード装置による取得の禁止を解除する解除手段と、
を更に備えることを特徴とする請求項１から請求項３のいずれか１項に記載のノード装置。
【請求項５】
前記記憶手段にコンテンツが記憶されたことを示すパブリッシュメッセージを、前記記憶手段により前記コンテンツを記憶しているノード装置の所在を示す所在情報を記憶するノード装置へ、当該所在情報を含めて送信するメッセージ送信手段と、
前記検索手段により検索されたノード装置の前記所在情報に基づいて、前記検索されたノード装置へコンテンツの送信を要求する要求手段と、を更に備え、
前記検索手段は、前記所定のコンテンツを記憶しているノード装置の前記所在情報を記憶するノード装置から、当該所定のコンテンツを記憶しているノード装置を検索し、
前記コンテンツ送信手段は、他の前記ノード装置から要求されたコンテンツを当該他のノード装置に送信し、
前記禁止手段は、前記判定手段により、前記所定の条件が満たされたと判定されたとき、前記記憶手段により前記コンテンツを記憶しているノード装置の前記所在情報を記憶するノード装置へ、前記判定手段により前記所定の条件が満たされたと判定されたコンテンツが他の前記ノード装置により取得されることを禁止する指令を送信することを特徴とする請求項１から請求項４の何れか１項に記載のノード装置。
【請求項６】
ネットワークを介して互いに通信可能な複数のノード装置間でコンテンツの送受信が可能なコンテンツ配信システムにおけるノード装置のいずれかからコンテンツを取得する時刻を示す時刻情報を取得する取得ステップと、
前記取得ステップにおいて取得された時刻情報が示す時刻に応じて、所定のコンテンツを記憶しているノード装置を検索する検索ステップと、
前記検索ステップにおいて検索されたノード装置から、前記所定のコンテンツを取得するコンテンツ取得ステップと、
前記コンテンツ取得ステップにおいて取得されたコンテンツを記憶する記憶ステップと、
前記記憶ステップにおいて記憶されたコンテンツが、他の前記ノード装置から検索されたとき、当該コンテンツを当該他のノード装置に送信するコンテンツ送信ステップと、
前記コンテンツ送信ステップにおいて前記コンテンツが送信されてから、所定の条件を満たしたか否かを判定する判定ステップと、
前記判定ステップにおいて、前記所定の条件が満たされたと判定されたとき、前記記憶ステップにより記憶されたコンテンツが、他の前記ノード装置により取得されることを禁止する禁止手ステップと、
を含むことを特徴とするコンテンツ配信方法。
【請求項７】
ネットワークを介して互いに通信可能な複数のノード装置間でコンテンツの送受信が可能なコンテンツ配信システムにおけるノード装置のいずれかからコンテンツを取得する時刻を示す時刻情報を取得する取得ステップと、
前記取得ステップにおいて取得された時刻情報が示す時刻に応じて、所定のコンテンツを記憶しているノード装置を検索する検索ステップと、
前記検索ステップにおいて検索されたノード装置から、前記所定のコンテンツを取得するコンテンツ取得ステップと、
前記コンテンツ取得ステップにおいて取得されたコンテンツを記憶する記憶ステップと、
前記記憶ステップにおいて記憶されたコンテンツが、他の前記ノード装置から検索されたとき、当該コンテンツを当該他のノード装置に送信するコンテンツ送信ステップと、
前記コンテンツ送信ステップにおいて前記コンテンツが送信されてから、所定の条件を満たしたか否かを判定する判定ステップと、
前記判定ステップにより、前記所定の条件が満たされたと判定されたとき、前記コンテンツ送信ステップにおいて送信されたコンテンツが、他の前記ノード装置により取得されることを禁止する禁止手ステップと、
をコンピュータに実現させるためのノードプログラム。
【請求項８】
ネットワークを介して互いに通信可能な複数のノード装置間でコンテンツの送受信が可能なコンテンツ配信システムにおけるノード装置のいずれかからコンテンツを取得する時刻を示す時刻情報を取得する取得手段と、
前記取得手段により取得された時刻情報が示す時刻に応じて、所定のコンテンツを記憶しているノード装置を検索する検索手段と、
前記検索手段により検索されたノード装置から、前記所定のコンテンツを取得するコンテンツ取得手段と、
前記コンテンツ取得手段により取得されたコンテンツを記憶する記憶手段と、
前記記憶手段に記憶されたコンテンツが、他の前記ノード装置から検索されたとき、当該コンテンツを当該他のノード装置に送信するコンテンツ送信手段と、
前記コンテンツ送信手段により前記コンテンツが送信されてから、所定の条件を満たしたか否かを判定する判定手段と、
前記判定手段により、前記所定の条件が満たされたと判定されたとき、前記記憶手段に記憶されたコンテンツが、他の前記ノード装置により取得されることを禁止する禁止手段と、
を備えることを特徴とするコンテンツ配信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたピアツーピア（Peer to Peer（P2P））型の通信システムの技術分野に関する。
【背景技術】
【０００２】
近年、現在のコンテンツ配信における主流形態であるサーバクライアント方式に変わる新しい形態として、ピアツーピア型の通信システムが注目されている。この種のピアツーピア型の通信システムにおいて、複数のコンテンツの複製データ（以下、「レプリカ」という）を複数のノード装置に分散して保存（配置）させ、各ノード装置間でレプリカを利用可能としたコンテンツ分散保存システムが知られている。これにより、対故障性やアクセスの分散性が高められている。このように分散保存されたレプリカの所在は、例えば特許文献１に開示されるような分散ハッシュテーブル（以下、ＤＨＴ（Distributed Hash Table）という）を利用して効率良く検索可能になっている。
【０００３】
このようなコンテンツ分散保存システムにおいて、各ノード装置は、夫々ＤＨＴを用いたルーティングテーブルを保持している。このルーティングテーブルは、コンテンツ分散保存システム上における各種メッセージの転送先を規定している。また、各ノード装置は、夫々コンテンツ分散保存システムに参加しているノーどのうち必要最低限のノードについての情報をルーティングテーブルに登録している。そして、ルーティングテーブルに情報が登録されていないノード装置にメッセージを送る際には、各ノード装置間でメッセージを転送して合って目的のノード装置に届けられるようになっている。
【０００４】
特許文献１には、ＤＨＴを利用して、各ノード装置に対してコンテンツを（レプリカとして）効率的に配信する技術が開示されている。具体的に、或るノード装置が、自身で保持しているルーティングテーブルにネットワークアドレス等の情報が登録されている複数のノード装置に対してコンテンツを送信する。コンテンツを受信した各ノード装置は、同様に自身で保持しているルーティングテーブルに情報が登録されている複数のノード装置に対してコンテンツを転送する。このようにして、コンテンツが次々とプッシュ式に転送されていくことにより、最初にコンテンツを送信したノードを頂点として、ツリー上の配信経路を経て、コンテンツが各ノード装置にまんべんなく配信されるのである。また、この配信経路は各ノード装置のルーティングテーブルに登録されている情報により予め或る程度決まっているともいえる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−５３６６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述したコンテンツ配信では、図９に示すように、配信経路の上位に位置するノード装置から下位に位置するノード装置へ、各ノード装置Ｎ１〜ノード装置Ｎ７が受信したコンテンツを順次別のノード装置へ取得させるのが望ましい。ここで、上位に位置するノード装置とは、コンテンツを取得する時期が、配信経路上に位置するノード装置全体から見て相対的に早いノード装置をいう。図９の例では、ノード装置Ｎ２が受信したコンテンツαを、ノード装置Ｎ４へ取得させている。また、ノード装置Ｎ１が受信したコンテンツβを、ノード装置Ｎ２へ取得させている。図９のように、受信したコンテンツを順次別の端末へ取得させることで、理想的な階層型の配信形態を取ることができる。しかしながら、実際のピアツーピア型の通信システムでは、図９のノードＮ４から見ると、サーバＳＡとノード装置Ｎ１とノード装置Ｎ２とノード装置Ｎ３とが、コンテンツαの取得候補先である。この場合、取得先として、ノード装置Ｎ２又はノード装置Ｎ３が選択されることが望ましい。しかし、ノード装置Ｎ１が取得先として選択される可能性がある。ノード装置Ｎ１が取得先として選択された場合、ノード装置Ｎ１は、受信したコンテンツβをノード装置Ｎ２及びノード装置Ｎ３に取得させる処理も行っている。従って、ノード装置Ｎ１は、ノード装置Ｎ２及びノード装置Ｎ３にコンテンツを取得されるという従来の通信処理に加え、ノード装置Ｎ４へコンテンツを取得させる通信処理も担うこととなる。この結果、配信経路の上位に位置するノード装置への通信負荷が高くなることで、コンテンツの配信完了に必要な時間が大きく遅延する恐れがあった。
【０００７】
本発明は、以上の点に鑑みてなされたものである。本発明の目的は、上述した配信形態を用いる場合であっても、上位のノード装置への通信負荷を高くすることなく、全体としてのコンテンツ配信にかかる時間を短くすることを可能とする配信システム、ノード装置、配信方法及びプログラムを提供することである。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、請求項１に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置間でコンテンツの送受信が可能なコンテンツ配信システムにおけるノード装置のいずれかからコンテンツを取得する時刻を示す時刻情報を取得する取得手段と、前記取得手段により取得された時刻情報が示す時刻に応じて、所定のコンテンツを記憶しているノード装置を検索する検索手段と、前記検索手段により検索されたノード装置から、前記所定のコンテンツを取得するコンテンツ取得手段と、前記コンテンツ取得手段により取得されたコンテンツを記憶する記憶手段と、前記記憶手段に記憶されたコンテンツが、他の前記ノード装置から検索されたとき、当該コンテンツを当該他のノード装置に送信するコンテンツ送信手段と、前記コンテンツ送信手段により前記コンテンツが送信されてから、所定の条件を満たしたか否かを判定する判定手段と、前記判定手段により、前記所定の条件が満たされたと判定されたとき、前記記憶手段に記憶されたコンテンツが、他の前記ノード装置により取得されることを禁止する禁止手段と、を備えることを特徴とする。
【０００９】
この発明によれば、所定の条件が満たされたときに、取得されたコンテンツが他のノード装置により取得されることが禁止される。よって、上位のノード装置への通信負荷を高くすることなく、全体としてのコンテンツ配信にかかる時間を短くすることができる。
【００１０】
請求項２に記載の発明は、請求項１に記載のノード装置において、前記判定手段は、前記所定の条件として、コンテンツを送信した送信回数が所定の回数に達したか否かを判定し、前記禁止手段は、前記判定手段により、コンテンツを送信した送信回数が所定の回数に達したと判定されたとき、前記記憶手段に記憶されたコンテンツが、他の前記ノード装置に取得されることを禁止することを特徴とする。
【００１１】
この発明によれば、所定の回数を超えるコンテンツの送信は行われないので、多数のノード装置からコンテンツを要求されることにより上位のノード装置にコンテンツ送信の負荷が集中してしまうことを防止することができる。よって、全体としてのコンテンツ配信にかかる時間をより短くすることができる。
【００１２】
請求項３に記載の発明は、請求項１に記載のノード装置において、前記判定手段は、前記所定の条件として、前記コンテンツ送信手段によりコンテンツが送信されてから、所定の時間が経過したか否かを判定し、前記禁止手段は、前記判定手段により、コンテンツが送信されてから所定の時間が経過したと判定したとき、前記記憶手段に記憶されたコンテンツが、他の前記ノード装置に取得されることを禁止することを特徴とする。
【００１３】
この発明によれば、所定の時間が経過した後、コンテンツの送信は行われないので、上位のノード装置への通信負荷が高なることを確実に防止することができる。
【００１４】
請求項４に記載の発明は、請求項１から請求項３の何れか１項に記載のノード装置において、前記禁止手段により、他の前記ノード装置による取得を禁止されてから所定の時間か経過したか否かを判定する時間判定手段と、前記時間判定手段により、取得を禁止されてから所定の時間が経過したと判定されたとき、前記他のノード装置による取得の禁止を解除する解除手段と、を更に備えることを特徴とする。
【００１５】
この発明によれば、コンテンツの取得が禁止された後、所定の時間が経過するとコンテンツの取得が可能となる。よって、コンテンツ配信時にコンテンツを取得していなかったノード装置が後でコンテンツを取得することができる。
【００１６】
請求項５に記載の発明は、請求項１から請求項４の何れか１項に記載のノード装置において、前記記憶手段にコンテンツが記憶されたことを示すパブリッシュメッセージを、前記記憶手段により前記コンテンツを記憶しているノード装置の所在を示す所在情報を記憶するノード装置へ、当該所在情報を含めて送信するメッセージ送信手段と、前記検索手段により検索されたノード装置の前記所在情報に基づいて、前記検索されたノード装置へコンテンツの送信を要求する要求手段と、を更に備え、前記検索手段は、前記所定のコンテンツを記憶しているノード装置の前記所在情報を記憶するノード装置から、当該所定のコンテンツを記憶しているノード装置を検索し、前記コンテンツ送信手段は、他の前記ノード装置から要求されたコンテンツを当該他のノード装置に送信し、前記禁止手段は、前記判定手段により、前記所定の条件が満たされたと判定されたとき、前記記憶手段により前記コンテンツを記憶しているノード装置の前記所在情報を記憶するノード装置へ、前記判定手段により前記所定の条件が満たされたと判定されたコンテンツが他の前記ノード装置により取得されることを禁止する指令を送信することを特徴とする。
【００１７】
この発明によれば、ノード装置がコンテンツを記憶しつつ当該コンテンツの取得が禁止されるので、その後必要なときにコンテンツを再度取得可能にすることができる。
【００１８】
請求項６に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置間でコンテンツの送受信が可能なコンテンツ配信システムにおけるノード装置のいずれかからコンテンツを取得する時刻を示す時刻情報を取得する取得ステップと、前記取得ステップにおいて取得された時刻情報が示す時刻に応じて、所定のコンテンツを記憶しているノード装置を検索する検索ステップと、前記検索ステップにおいて検索されたノード装置から、前記所定のコンテンツを取得するコンテンツ取得ステップと、前記コンテンツ取得ステップにおいて取得されたコンテンツを記憶する記憶ステップと、前記記憶ステップにおいて記憶されたコンテンツが、他の前記ノード装置から検索されたとき、当該コンテンツを当該他のノード装置に送信するコンテンツ送信ステップと、前記コンテンツ送信ステップにおいて前記コンテンツが送信されてから、所定の条件を満たしたか否かを判定する判定ステップと、前記判定ステップにおいて、前記所定の条件が満たされたと判定されたとき、前記記憶ステップにより記憶されたコンテンツが、他の前記ノード装置により取得されることを禁止する禁止手ステップと、を含むことを特徴とする。
【００１９】
請求項７に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置間でコンテンツの送受信が可能なコンテンツ配信システムにおけるノード装置のいずれかからコンテンツを取得する時刻を示す時刻情報を取得する取得ステップと、前記取得ステップにおいて取得された時刻情報が示す時刻に応じて、所定のコンテンツを記憶しているノード装置を検索する検索ステップと、前記検索ステップにおいて検索されたノード装置から、前記所定のコンテンツを取得するコンテンツ取得ステップと、前記コンテンツ取得ステップにおいて取得されたコンテンツを記憶する記憶ステップと、前記記憶ステップにおいて記憶されたコンテンツが、他の前記ノード装置から検索されたとき、当該コンテンツを当該他のノード装置に送信するコンテンツ送信ステップと、前記コンテンツ送信ステップにおいて前記コンテンツが送信されてから、所定の条件を満たしたか否かを判定する判定ステップと、前記判定ステップにより、前記所定の条件が満たされたと判定されたとき、前記コンテンツ送信ステップにおいて送信されたコンテンツが、他の前記ノード装置により取得されることを禁止する禁止手ステップと、をコンピュータに実現させる。
【００２０】
請求項８に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置間でコンテンツの送受信が可能なコンテンツ配信システムにおけるノード装置のいずれかからコンテンツを取得する時刻を示す時刻情報を取得する取得手段と、前記取得手段により取得された時刻情報が示す時刻に応じて、所定のコンテンツを記憶しているノード装置を検索する検索手段と、前記検索手段により検索されたノード装置から、前記所定のコンテンツを取得するコンテンツ取得手段と、前記コンテンツ取得手段により取得されたコンテンツを記憶する記憶手段と、前記記憶手段に記憶されたコンテンツが、他の前記ノード装置から検索されたとき、当該コンテンツを当該他のノード装置に送信するコンテンツ送信手段と、前記コンテンツ送信手段により前記コンテンツが送信されてから、所定の条件を満たしたか否かを判定する判定手段と、前記判定手段により、前記所定の条件が満たされたと判定されたとき、前記記憶手段に記憶されたコンテンツが、他の前記ノード装置により取得されることを禁止する禁止手段と、を備えることを特徴とする。
【発明の効果】
【００２１】
本発明によれば、所定の条件が満たされたときに、取得されたコンテンツが他のノード装置により取得されることが禁止される。よって、上位のノード装置への通信負荷を高くすることなく、全体としてのコンテンツ配信にかかる時間を短くすることができる。
【図面の簡単な説明】
【００２２】
【図１】第１実施形態に係るコンテンツ分散保存システムＳにおける各ノード装置の接続態様の一例を示す図である。
【図２】第１実施形態に係るコンテンツ分散保存システムＳにおける概要構成の一例を示す図である。
【図３】第１実施形態に係るセンターサーバＳＡ及び各ノードＮｎのコンテンツのアップロード状態、ダウンロード状態及び保持状態を示す図であり、（ａ）は、禁止方法１の場合の図であり、（ｂ）は、禁止方法２の場合の図である。
【図４】第１実施形態に係るセンターサーバＳＡの概要構成例を示す図である。
【図５】第１実施形態に係るノードＮｎの概要構成例を示す図である。
【図６】第１実施形態の実施例１に係るノードＮｎにおける制御部２１の処理例を示すフローチャートである。
【図７】第１実施形態の実施例２に係るノードＮｎにおける制御部２１の処理例を示すフローチャートである。
【図８】第２実施形態に係るコンテンツ分散保存システムＳにおけるノードＮｎの処理例を示すフローチャートである。
【図９】コンテンツが配信される様子の一例を示す図である。
【発明を実施するための形態】
【００２３】
以下、本発明の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、コンテンツ分散保存システムに本発明を適用した場合の実施形態である。
【００２４】
［１．第１実施形態］
［１．１  コンテンツ分散保存システムの構成及び動作概要］
始めに、図１等を参照して、本発明の第１実施形態に係るコンテンツ分散保存システムの構成及び動作概要について説明する。
【００２５】
図１は、本実施形態に係るコンテンツ分散保存システムＳにおける各ノード装置の接続態様の一例を示す図である。
【００２６】
図１の下部枠１０１内に示すように、分散保存システムＳは、複数のノード装置Ｎｎがインターネットを介して接続されることで構成される。また、図１の下部枠１０１内に示すように、ＩＸ（Internet eＸchange）３、ＩＳＰ（Internet Service Provider）４ａ，４ｂ、ＤＳＬ（Digital Subscriber Line）回線事業者の装置５ａ，５ｂ、ＦＴＴＨ（Fiber To The Home）回線事業者の装置６、及び通信回線７等によって、インターネット等のネットワーク８が構築されている。ネットワーク８は、現実世界の通信ネットワークである。なお、図１の例におけるネットワーク８には、データパケットを転送するためのルータが適宜挿入されているが、図１では図示を省略している。なお、通信回線７としては、例えば、電話回線や光ケーブル等が用いられる。
【００２７】
このようなネットワーク８には、複数のノード装置Ｎｎ（ｎ＝１，２，３・・・の何れか）が接続されている。以下、ノード装置は、「ノード」という。また、各ノードＮｎには、固有の製造番号及びＩＰ（Internet Protocol）アドレスが割り当てられている。そして、本実施形態に係るコンテンツ分散保存システムＳは、これらのノードＮｎのうち、図１の上部枠１００内に示すように、何れか複数のノードＮｎの接続により形成されるピアツーピア方式のネットワークシステムとなっている。各ノードＮｎは、本実施形態においては複数の拠点に分散配置された拠点サーバである。
【００２８】
なお、図１の上部枠１００内に示すネットワーク９は、既存のネットワーク８を用いて形成された仮想的なリンクを構成するオーバーレイネットワーク９である。論理的なネットワークであるオーバーレイネットワーク９は、特定のアルゴリズム、例えば、ＤＨＴを利用したアルゴリズムにより実現される。そして、コンテンツ分散保存システムＳに接続されている各ノードＮｎには、所定桁数からなる固有の識別情報であるノードＩＤが割り当てられている。
【００２９】
また、ノードＩＤは、例えば、各ノードＮｎに個別に割り当てられたＩＰアドレス或いは製造番号を共通のハッシュ関数によりハッシュ化した値である。ノードＩＤは、ＩＤ空間に偏りなく分散して配置されることになる。ハッシュ関数としては、例えば、ＳＨＡ−１等が用いられる。また、ハッシュ化した値は、例えば、ｂｉｔ長が１６０ｂｉｔとなる。そして、このノードＩＤは、ＩＤ空間に偏りなく分散して配置されることになる。
【００３０】
なお、コンテンツ分散保存システムＳへの接続は、接続していないノードＮｎ、例えば、ノードＮ８が、接続している任意のノードＮｎに対してコンテンツ分散保存システムへの参加要求を示す参加メッセージを送信することによって行われる。コンテンツ分散保存システムＳへの参加とは、ノード装置Ｎｎが分散保存システムＳに接続され、分散保存システムＳからコンテンツデータを取得可能になることである。任意のノードＮｎは、例えば、システムＳに常時接続しているコンタクトノードである。
【００３１】
また、各ノードＮｎは、夫々、ＤＨＴを用いたルーティングテーブルを保持している。このルーティングテーブルは、コンテンツ分散保存システムＳ上における各種メッセージの転送先を規定している。具体的に、このルーティングテーブルには、ＩＤ空間内で適度に離れたノードＮｎのノードＩＤ、ＩＰアドレス及びポート番号を含むノード情報が複数登録されている。なお、ノード情報は、本発明における所在情報の一例である。
【００３２】
コンテンツ分散保存システムＳに接続している１台のノードは、必要最低限のノードＮｎのノード情報をルーティングテーブルとして記憶している。各ノードＮｎ間で互いに各種メッセージが転送されることで、ノード情報を記憶していないノードＮｎについてのノード情報が取得される。
【００３３】
このようなＤＨＴを用いたルーティングテーブルについては、特開２００６−１９７４００号公報等で公知であるので、詳しい説明を省略する。
【００３４】
コンテンツ分散保存システムＳは、内容の異なる様々なコンテンツデータのレプリカを所定のファイル形式で複数のノードＮｎに分散して保存する。以下、コンテンツデータは、「コンテンツ」という。そして、各ノードＮｎ間でレプリカが利用可能になっている。各コンテンツのオリジナルはセンターサーバＳＡに保存されている。例えば、ノードＮ５には、タイトルがＸＸＸの映画のコンテンツのレプリカが保存されている。一方、ノードＮ３には、タイトルがＹＹＹの映画のコンテンツのレプリカが保存される。このように、複数のノードＮｎに分散されて保存されている。以下、コンテンツのレプリカが保存されるノードＮは、「コンテンツ保持ノード」という。
【００３５】
上述のコンテンツのレプリカには、夫々、コンテンツ名及びコンテンツ毎に固有の識別情報であるコンテンツＩＤ等の情報が付加されている。このコンテンツＩＤは、例えば、コンテンツ名＋任意の数値が、上記ノードＩＤを得るときと共通のハッシュ関数によりハッシュ化されて生成される。或いは、システム管理者が、コンテンツ毎に一意のＩＤ値を付与しても良い。
【００３６】
分散保存されているコンテンツのレプリカの所在は、インデックス情報として、コンテンツのレプリカの所在を管理（記憶）しているノードＮｎ等により記憶される。以下、レプリカの所在を管理（記憶）しているノードＮｎは、「ルートノード」という。インデックス情報は、レプリカを保存したノードＮｎのノード情報と、コンテンツのコンテンツＩＤと等の組を含む。このようなルートノードは、例えば、コンテンツＩＤと最も近いノードＩＤを有するノードＮｎであるように定められる。コンテンツＩＤと最も近いノードＩＤとは、例えば、ＩＤの上位桁が最も多く一致するノードＩＤである。
【００３７】
例えば、タイトルがＸＸＸの映画のコンテンツのレプリカについてのインデックス情報は、そのコンテンツのルートノードであるノードＮ４により管理される。また、例えば、タイトルがＹＹＹの映画のコンテンツのレプリカについてのインデックス情報は、そのコンテンツのルートノードであるノードＮ７により管理される。また、このようなルートノードは、例えば、コンテンツＩＤと最も近いノードＩＤを有するノードＮｎであるように定められる。コンテンツＩＤと最も近いノードＩＤとは、例えば、コンテンツＩＤと上位桁がより多く一致するノードＩＤである。
【００３８】
そして、或るノードＮｎのユーザが、所望するコンテンツのレプリカを取得したい場合、このレプリカの取得を望むノードＮｎは、メッセージを生成する。以下、ユーザによりレプリカの取得を望むノードＮｎは、「ユーザノード」という。このメッセージは、取得を望むコンテンツのコンテンツＩＤ及びユーザノードのＩＰアドレス等を含むコンテンツ所在問合せメッセージである。コンテンツ所在問合せメッセージは、コンテンツ保持ノードを検索するためのメッセージでもある。上述のコンテンツ所在問合せメッセージが、ユーザノードが取得するＤＨＴのルーティングテーブルに従って、他のノードＮｎに対して送出される。つまり、ユーザノードは、コンテンツ所在問合せメッセージを、ルートノードに向けて送出する。これにより、コンテンツ所在問合せメッセージは、コンテンツＩＤをキーとするＤＨＴルーティングによって最終的にルートノードに到着することになる。
【００３９】
各ノードＮｎにおいて、コンテンツのコンテンツ名及びコンテンツＩＤ等の属性情報は、コンテンツカタログ情報に記述されている。このコンテンツカタログ情報は、例えばセンターサーバＳＡから全てのノードＮｎに配信される。
【００４０】
また、上記コンテンツ所在問合せメッセージに含まれるコンテンツＩＤは、ユーザノードによって、コンテンツ名が上記共通のハッシュ関数によりハッシュ化されて生成されるようにしても良い。なお、ＤＨＴルーティングについては、特開２００６−１９７４００号公報等で公知であるので、詳しい説明を省略する。
【００４１】
上記コンテンツ所在問合せメッセージを受信したルートノードは、これに含まれるコンテンツＩＤに対応するインデックス情報をインデックス情報キャッシュから取得する。取得されたインデックス情報は、コンテンツ所在問合せメッセージの送信元であるユーザノードに対して返信される。こうしてインデックス情報を取得したユーザノードは、インデックス情報に基づいてコンテンツのレプリカをダウンロード（取得）することができる。インデックス情報に含まれるコンテンツ保持ノードのＩＰアドレス等に基づいて、ユーザノードはコンテンツ保持ノードにアクセスする。アクセスしたコンテンツ保持ノードから、コンテンツのレプリカをダウンロードすることが可能になる。なお、インデックス情報には、例えば複数のコンテンツ保持ノードのノード情報が含まれていることもある。この場合、ユーザノードは、この複数のコンテンツ保持ノードのうち一つのコンテンツ保持ノードを選択する。そして、ユーザノードは、選択したコンテンツ保持ノードに接続してコンテンツのレプリカをダウンロードすることができる。
【００４２】
なお、ルートノードは、このインデックス情報に含まれるＩＰアドレス等に示されたコンテンツ保持ノードに対してコンテンツ送信要求メッセージを送信し、これにより、ユーザノードは、上記コンテンツ保持ノードからそのレプリカをダウンロードすることもできる。また、上記ユーザノードは、コンテンツ所在問合せメッセージがルートノードに辿り着くまでの間に、このルートノードと同じインデックス情報をキャッシュしているキャッシュノードからこのインデックス情報を取得することもできる。
【００４３】
また、ユーザノードが、コンテンツ保持ノードからコンテンツのレプリカを取得して保存したとき、保存したユーザノードは、パブリッシュメッセージを生成する。パブリッシュメッセージは、レプリカを保存したことをルートノードへ知らせるためのメッセージである。パブリッシュメッセージは、レプリカのコンテンツＩＤ及びレプリカを保存したノード装置のノード情報を含む。パブリッシュメッセージは、ルートノードに向けて送出される。これにより、パブリッシュメッセージは、コンテンツ所在問合せメッセージと同じように、コンテンツＩＤをキーとするＤＨＴルーティングによってルートノードに到着することになる。そして、ルートノードは、パブリッシュメッセージを受信する。ルートノードは、パブリッシュメッセージに含まれるノード情報及びコンテンツＩＤの組を含むインデックス情報をインデックス情報キャッシュ領域に記憶する。こうして、上記ユーザノードは、新たに、上記コンテンツのレプリカを保持するコンテンツ保持ノードとなる。
【００４４】
［１．２  各ノードＮｎへのコンテンツ配信］
［１．２．１  コンテンツ配信の概要］
次に、各ノードＮｎへのコンテンツ配信について、図２及び図３を用いて説明する。なお、ここからの説明においては、各ノードＮｎが保存しているレプリカも、コンテンツと称する。
【００４５】
図２は、本実施形態に係るコンテンツ分散保存システムＳにおける概要構成の一例を示す図である。
【００４６】
図２に示すように、コンテンツ分散保存システムＳにおいては、各拠点に、拠点サーバとしてのノードＮｎが分散して設置されている。各ノードＮｎは、グリッド技術としてＤＨＴを利用したオーバーレイネットワーク９により互いに接続されている。また、各拠点には、夫々配信サーバＰｎ（ｎ＝１，２，３・・・の何れか）が設置されている。更に、各拠点には、夫々複数のユーザ端末Ｕｍ（ｍ＝１，２，３・・・の何れか）が設置されている。
【００４７】
各拠点においては、例えば、ＬＡＮ（Local Area Network）等のネットワークが構築されている。このＬＡＮ等のネットワークによって、各拠点におけるノードＮｎと配信サーバＰｎとは、互いに通信可能に接続されている。また、各拠点における配信サーバＰｎと複数のユーザ端末Ｕｍとも、互いに通信可能に接続されている。
【００４８】
オーバーレイネットワーク９を介してノードＮｎがダウンロードしたコンテンツは、ノードＮｎが設置されている拠点の配信サーバＰｎに転送される。転送されたコンテンツは、配信サーバＰｎにより保存される。拠点にいるユーザは、所望のコンテンツを利用したい場合には、ユーザ端末Ｕｍを操作する。この操作により、ユーザ端末Ｕｍからユーザ端末Ｕｍが設置されている拠点の配信サーバＰｎにコンテンツが要求される。コンテンツを要求された配信サーバＰｎは、要求されたコンテンツを保存している場合には、保存しているコンテンツをユーザ端末Ｕｍに送信する。一方、配信サーバＰｎは、要求されたコンテンツを保存していない場合には、配信サーバＰｎが設置されている拠点のノードＮｎにコンテンツを要求する。コンテンツを要求されたノードＮｎは、コンテンツを保存している別のノードＮｎから当該コンテンツをダウンロードする。そして、ノードＮｎは、ダウンロードしたコンテンツを配信サーバＰｎに転送する。
【００４９】
特定のコンテンツについては、全てのノードＮｎ又は特定の複数のノードＮｎに予め配信し、保存させておきたい場合がある。この場合、コンテンツ分散保存システムＳにおいては、複数のノードＮｎでツリー状の配信経路を形成して、コンテンツが順次転送されるようになっている。配信対象たる特定のコンテンツは、更に複数のコンテンツ（例えば、コンテンツ１、コンテンツ２、コンテンツ３・・・・）に分割される。分割によってできた各コンテンツは、夫々コンテンツＩＤが付与されて、センターサーバＳＡに記憶される。各ノードＮｎは、コンテンツ１、コンテンツ２、コンテンツ３・・・、とコンテンツを次々に転送していく。例えば、ノードＮｎは、コンテンツ１をダウンロードすると、次は、コンテンツ２をダウンロードしながらコンテンツ１を他のノードＮｎにアップロードする。次に、ノードＮｎは、コンテンツ３をダウンロードしながらコンテンツ２を他のノードＮｎにアップロードする。これにより、ノードＮｎの処理能力及び通信回線を効率よく利用することができるので、全体としてコンテンツの配信に要する時間が短縮される。
【００５０】
各ノードＮｎには、コンテンツ配信の際においてコンテンツを要求する順番が割り当てられている。以下、コンテンツを要求する順番を、「コンテンツ要求順」という。なお、コンテンツ要求順は、コンテンツの取得順と同義である。コンテンツ要求順の割り当て方法としては、例えば図９に示した例と同様に、ノードＮ１に対して１番、ノードＮ２及びＮ３に対して２番、ノードＮ４〜Ｎ７に対して３番・・・が割り当てられる。この場合、ノードＮ１は、センターサーバＳＡからコンテンツをダウンロードする。また、ノードＮ２及びＮ３は、夫々ノードＮ１からコンテンツをダウンロードする。また、ノードＮ４〜Ｎ７は、夫々ノードＮ２又はＮ３からコンテンツをダウンロードする。またこの場合、１台のノードＮｎは、２台のノードＮｎに対してコンテンツをアップロードする。１台のノードＮｎがコンテンツをダウンロードする台数を、「アップロード台数」という。このアップロード台数は、２台に限られるものではない。
【００５１】
コンテンツ要求順がＸ番目（Ｘ＝１，２，３・・・）のノードＮｎがコンテンツの取得を開始してから、所定時間だけ遅れて、コンテンツ要求順がＸ＋１番目のノードＮｎがコンテンツの取得を開始する。以下、この所定時間を、「遅延時間」という。遅延時間は、例えば、ノードＮｎが１個のコンテンツをダウンロードするのに要する時間以上に設定される。コンテンツの取得を開始する時刻は、分割によってできたコンテンツのうち最初のコンテンツ、つまり、コンテンツ１を要求する時刻である。コンテンツ要求順が１番目のノードＮｎがコンテンツの取得を開始する時刻が、コンテンツ配信開始時刻である。各ノードＮｎは、コンテンツＹ（Ｙ＝１，２，３・・・）を要求してから遅延時間が経過すると、コンテンツＹ＋１を要求する。
【００５２】
［１．２．２  コンテンツ配信の具体例及びコンテンツのアップロードの禁止］
以上を踏まえて、コンテンツが配信されている様子を具体的に説明する。先ず、コンテンツ配信開始時刻である時刻Ｔ０において、コンテンツ要求順が１番である例えばノードＮ１がコンテンツ所在問合せメッセージを送信する。コンテンツ所在問合せメッセージの送信により、ノードＮ１は、コンテンツ１の所在を検索する。ただし、このときは、コンテンツ１を保存しているノードＮｎは存在していない。従ってこの場合、ノードＮ１は、コンテンツ１を予め記憶しているセンターサーバＳＡからコンテンツをダウンロードする。コンテンツ１をダウンロードしたノードＮ１が、コンテンツ１を保存しパブリッシュメッセージを送信する。これにより、コンテンツ１のルートノードが保持するインデックス情報にノードＮ１のノード情報が登録される。
【００５３】
時刻Ｔ０から、設定された遅延時間が経過した時刻Ｔ１において、ノードＮｎは、上記と同様にコンテンツ２をセンターサーバＳＡからダウンロードする。また、コンテンツ要求順が２番である例えばノードＮ２及びＮ３が、夫々コンテンツ１の所在を検索する。すると、ノードＮ１がコンテンツ保持ノードであることが判明するので、ノードＮ２及びＮ３は、夫々ノードＮ１からコンテンツ１をダウンロードする。
【００５４】
時刻Ｔ１から遅延時間が経過した時刻Ｔ２において、ノードＮ１は、コンテンツ３をセンターサーバＳＡからダウンロードする。また、ノードＮ２及びＮ３が、夫々ノードＮ１からコンテンツ２をダウンロードする。
【００５５】
更に時刻Ｔ２において、コンテンツ要求順が３番である例えばノードＮ４〜Ｎ７が、夫々コンテンツ１の所在を検索する。このとき、コンテンツ１に対応するコンテンツ保持ノードは、本来であればノードＮ１〜Ｎ３である。そうすると、ノードＮ４〜Ｎ７は、夫々ノードＮ１〜Ｎ３の何れかからコンテンツ１をダウンロードすることになる。しかしながら、時刻Ｔ２においては、ノードＮ１は、コンテンツ２をアップロードする。従って、ノードＮ１が、コンテンツ２に加えて、コンテンツ１をアップロードすると、ノードＮ１の処理負荷やネットワーク負荷が高くなり、コンテンツの配信遅延が生じる。
【００５６】
そこで、ノードＮ１は、所定の条件が満たされた場合には、コンテンツ１が他のノードＮｎによりダウンロードされること、すなわち、コンテンツ１をノードＮ１がアップロードすることを禁止する。コンテンツのダウンロードを禁止する条件及び禁止方法の詳細は後述する。ノードＮ１からのコンテンツ１のアップロードが禁止されることで、ノードＮ４〜Ｎ７は、夫々ノードＮ２又はＮ３からコンテンツ１をダウンロードする。
【００５７】
時刻Ｔ２から遅延時間が経過した時刻Ｔ３において、ノードＮ１は、コンテンツ４をセンターサーバＳＡからダウンロードする。また、ノードＮ２及びＮ３が、夫々ノードＮ１からコンテンツ３をダウンロードする。また、ノードＮ４〜Ｎ７が、夫々ノードＮ２又はＮ３からコンテンツ２をダウンロードする。この場合にも、ノードＮ１からのコンテンツ２のアップロードが禁止される。更に、コンテンツ要求順が４番である例えばノードＮ８〜Ｎ１５が、夫々コンテンツ１の所在を検索する。このとき、コンテンツ１に対応するコンテンツ保持ノードは、本来であればノードＮ１〜Ｎ７である。ノードＮ１からのコンテンツ１のアップロードは既に禁止される。ここでは更に、ノードＮ２及びＮ３からのコンテンツ１のアップロードも禁止される。従って、ノードＮ８〜Ｎ１５は、夫々ノードＮ４〜Ｎ７の何れかからコンテンツ１をダウンロードする。
【００５８】
コンテンツ５以降も、上記と同様にして転送されていき、全てのコンテンツが各ノードＮｎに転送されたとき、コンテンツ配信が完了する。
【００５９】
［１．２．３  コンテンツのアップロードを禁止する条件］
コンテンツのアップロードを禁止する条件は、コンテンツ要求順がＸ番目のノードＮｎが、コンテンツ要求順がＸ＋１番目のノードＮｎに対してはコンテンツのアップロードを可能とするが、コンテンツ要求順がＸ＋２番目のノードＮｎに対してはコンテンツのアップロードができないように規定される。
【００６０】
例えば、アップロードを禁止する条件としては、以下の条件が挙げられる。以下、コンテンツをアップロードを禁止する条件を、「アップロード禁止条件」という。なお、アップロード禁止条件は以下の３条件に限られるものではない。
条件１：アップロード可能な回数を制限
条件２：アップロード可能な時間を制限
条件３：外部からの指示
【００６１】
アップロード禁止条件１においては、各ノードＮｎが、各コンテンツ（コンテンツ１、コンテンツ２、コンテンツ３・・・）毎に、他のノードＮｎにアップロードすることができる回数を制限する。以下、アップロードすることができる回数を、「アップロード可能回数」という。ここで、
Ｘ番目におけるアップロード可能回数＝Ｘ＋１番目のノードＮｎの台数／Ｘ番目のノードＮｎの台数
である。つまり、アップロード可能回数はアップロード台数と同数である。コンテンツ要求順がＸ番目の全ノードＮｎがアップロード台数分だけコンテンツＹをアップロードすると、コンテンツ要求順がＸ＋１番目の全ノードＮｎにコンテンツＹが行き渡る。コンテンツ要求順がＸ＋１番目の全ノードＮｎにコンテンツＹが行き渡った後は、コンテンツ要求順がＸ番目の全ノードＮｎからコンテンツＹをダウンロードすることはできない。
【００６２】
なお、アップロード可能回数は、例えば、ノードＮｎにおいて上記式を用いて実際に計算されても良い。また、アップロード可能回数は、例えば、サーバＳＡにおいて上記式を用いて実際に計算され、後述する設定ファイルに含まれるなどして各ノードＮｎに配信されても良い。また、アップロード可能回数は、実際に計算される以外にも、例えば、アップロード可能回数として予め設定された設定値が、サーバＳＡから各ノードＮｎに配信されても良い。
【００６３】
アップロード禁止条件２においては、例えば、コンテンツが公開されてから所定時間が経過するまでは、コンテンツのアップロードが許可され、所定時間が経過した後は、コンテンツのアップロードが禁止される。以下、コンテンツのアップロードが許可される時間を、「公開時間」という。ここで、コンテンツの公開とは、コンテンツをダウンロードしたノードＮｎが、パブリッシュメッセージを送信することにより、ダウンロードしたコンテンツを保持するコンテンツ保持ノードとして他のノードＮｎから検索可能にすること、つまり、ダウンロードを可能にすることをいう。
【００６４】
公開時間は、例えば、次のようにして決められる。先ず、公開時間は、コンテンツ要求順がＸ番目のノードＮｎがパブリッシュメッセージを送信してから、Ｘ＋１番目のノードＮｎがコンテンツのダウンロードを開始するまでに要する時間、つまり、Ｘ＋１番目のノードＮｎから送信されたコンテンツ送信要求メッセージを受信するまでに要する時間以上とされる。更に、公開時間は、コンテンツ要求順がＸ番目のノードＮｎがパブリッシュメッセージを送信してから、Ｘ＋２番目のノードＮｎから送信されたコンテンツ送信要求メッセージを受信するまでに要する時間未満とされる。これにより、コンテンツ要求順がＸ＋１番目のノードＮｎは、Ｘ番目のノードＮｎからコンテンツＹをダウンロードすることができるが、コンテンツ要求順がＸ＋２番目のノードＮｎは、Ｘ番目のノードＮｎからコンテンツＹをダウンロードすることはできない。
【００６５】
なお、公開時間の計時の始点は、例えば、コンテンツをダウンロードした時点、ダウンロードしたコンテンツを記憶した時点、又は、パブリッシュメッセージを送信した時点の何れであっても良い。また、公開時間の計時は、例えば、公開されたコンテンツがユーザノードに対して初めてアップロードされた時点から開始されても良い。
【００６６】
アップロード禁止条件３においては、例えば、センターサーバＳＡが、各ノードＮｎに対して公開停止指示メッセージを送信する。公開停止指示メッセージには、例えば、アップロードを禁止するコンテンツのコンテンツＩＤが含まれている。センターサーバＳＡは、例えば、コンテンツ要求順がＸ＋２番目のノードＮｎによりコンテンツＹが取得される時刻が到来する直前に、Ｘ番目の各ノードＮｎに対して、コンテンツＹのアップロードを禁止させる公開停止指示メッセージを送信する。公開停止指示メッセージを受信したノードＮｎは、公開停止指示メッセージに含まれているコンテンツＩＤに対応するコンテンツのアップロードを禁止する。
【００６７】
［１．２．４  コンテンツのアップロードを禁止する方法］
コンテンツのアップロードを禁止する方法としては、例えば、以下の方法が挙げられる。なお、アップロードを禁止する方法は以下の３方法に限られるものではない。
禁止方法１：コンテンツを非公開にする
禁止方法２：コンテンツを削除する
禁止方法３：コンテンツが要求されたときに他のノードＮｎを紹介する
【００６８】
禁止方法１においては、コンテンツ保持ノードは、ダウンロードしたコンテンツを保持しつつも、このコンテンツのコンテンツ保持ノードとして他のノードＮｎに検索されないようにすることである。これを、コンテンツの非公開という。例えば、コンテンツ保持ノードは、コンテンツのアップロードを禁止する条件を満たした場合、コンテンツ削除メッセージを送信する。コンテンツ削除メッセージには、非公開にするコンテンツのコンテンツＩＤ及び非公開にするコンテンツを保存しているコンテンツ保持ノードのノード情報が含まれている。コンテンツ削除メッセージは、このコンテンツ削除メッセージに含まれているコンテンツＩＤをキーとするＤＨＴルーティングによってルートノードに到着することになる。コンテンツ削除メッセージを受信したルートノードは、コンテンツ削除メッセージに含まれているコンテンツＩＤに対応するインデックス情報から、コンテンツ削除メッセージに含まれているノードＩＤが示すコンテンツ保持ノードのノード情報を削除する。これによって、コンテンツ削除メッセージを送信したコンテンツ保持ノードについては、コンテンツが非公開になる。
【００６９】
図３（ａ）は、禁止方法１におけるセンターサーバＳＡ及び各ノードＮｎのコンテンツのアップロード状態、ダウンロード状態及び保持状態を示す図である。具体的に、図３（ａ）においては、コンテンツ配信開始時刻である時刻Ｔ０から時刻Ｔ４までの各時刻において、センターサーバＳＡ、コンテンツ要求順が１番目、２番目及び３番目の各ノードＮｎについての状態が示されている。そして、各欄には、アップロードするコンテンツ、ダウンロードするコンテンツ、保持しているコンテンツが示されている。また、保持しているコンテンツは、公開されているコンテンツと非公開にされているコンテンツとで分けて示されている。
【００７０】
図３（ａ）に示すように、センターサーバＳＡは、コンテンツ１〜５を保持している。時刻Ｔ０において、コンテンツ要求順が１番目のノードＮ１がコンテンツ１をセンターサーバＳＡからダウンロードする。
【００７１】
時刻Ｔ１において、ノードＮ１は、ダウンロードしたコンテンツ１を保持している。また、ノードＮ１は、コンテンツ２をセンターサーバＳＡからダウンロードする。また、コンテンツ要求順が２番目のノードＮ２及びＮ３は、コンテンツ１をノードＮ１からダウンロードする。
【００７２】
時刻Ｔ２においては、ノードＮ１は、コンテンツ１及び２を保持している。ただし、コンテンツ１は時刻Ｔ２が経過する前に非公開とされる。また、ノードＮ１は、コンテンツ３をセンターサーバＳＡからダウンロードする。また、ノードＮ２及びＮ３は、コンテンツ２をノードＮ１からダウンロードする。また、ノードＮ４〜Ｎ７は、コンテンツ１を保持しているノードのうち、コンテンツ１を公開しているノードＮ２又はＮ３から、ダウンロードする。
【００７３】
時刻Ｔ３においては、ノードＮ１においてコンテンツ２が新たに非公開とされ、ノードＮ２及びＮ３においてコンテンツ１が非公開とされる。そして、ノードＮ１は、センターサーバＳＡからコンテンツ４をダウンロードする。また、ノードＮ２及びＮ３は、コンテンツ３をノードＮ１からダウンロードする。また、ノードＮ４〜Ｎ７は、コンテンツ２をノードＮ２又はＮ３からダウンロードする。
【００７４】
時刻Ｔ４においては、ノードＮ１においてコンテンツ３が新たに非公開とされ、ノードＮ２及びＮ３においてコンテンツ２が新たに非公開とされ、ノードＮ４〜Ｎ７においてコンテンツ１が非公開とされる。そして、ノードＮ１は、センターサーバＳＡからコンテンツ５をダウンロードする。また、ノードＮ２及びＮ３は、コンテンツ４をノードＮ１からダウンロードする。また、ノードＮ４〜Ｎ７は、コンテンツ３をノードＮ２又はＮ３から、コンテンツ１をダウンロードする。
【００７５】
禁止方法２においては、コンテンツ保持ノードは、コンテンツのアップロードを禁止する条件を満たした場合、該当するコンテンツをコンテンツ保持ノード自身のキャッシュから削除する。この場合、コンテンツ保持ノードは、コンテンツ削除メッセージを送信しても良いし、送信しなくても良い。
【００７６】
配信サーバＰｎが存在しない場合、ダウンロードしたコンテンツをノードＮｎが削除してしまうと、ユーザ端末ＵｍがノードＮｎからコンテンツをダウンロードすることができない。そこで、本実施形態においては、各拠点に、拠点サーバとしてのノードＮｎに加えて、配信サーバＰｎも設置している。そして、ノードＮｎは、コンテンツをダウンロードすると、そのコンテンツを配信サーバＰｎに転送する。ユーザ端末Ｕｍは、ノードＮｎからコンテンツが削除されても、配信サーバＰｎからコンテンツをダウンロードすることができる。なお、禁止方法１及び３においては、配信サーバＰｎを設置しなくても良い。この場合は、ノードＮｎ自身がユーザ端末Ｕｍに対してコンテンツを配信することができるからである。
【００７７】
図３（ｂ）は、禁止方法２におけるセンターサーバＳＡ及び各ノードＮｎのコンテンツのアップロード状態、ダウンロード状態及び保持状態を示す図である。図３（ｂ）に示すように、各ノードＮｎにおいて、コンテンツのアップロードを禁止するタイミングは、図３（ａ）と同様である。ノードＮ１においては、時刻Ｔ２の時点でコンテンツ１が、時刻Ｔ３の時点でコンテンツ２が、時刻Ｔ４の時点でコンテンツ３が、夫々削除されている。また、ノードＮ２及びＮ３においては、時刻Ｔ３の時点でコンテンツ１が、時刻Ｔ４の時点でコンテンツ２が、夫々削除されている。また、ノードＮ４〜Ｎ７においては、時刻Ｔ４の時点でコンテンツ１が削除されている。
【００７８】
禁止方法３においては、コンテンツのアップロードを禁止する条件を満たしているコンテンツ保持ノードに、ユーザノードからコンテンツ送信要求メッセージが送信された場合、ユーザノードに対して別のコンテンツ保持ノードが紹介される。例えば、コンテンツのアップロードを禁止する条件を満たしているコンテンツ保持ノードは、ユーザノードに対して、コンテンツ送信不可メッセージを送信する。コンテンツ送信不可メッセージは、コンテンツの送信することができないことを示すメッセージである。コンテンツ送信不可メッセージを受信したユーザノードは、再度コンテンツ所在問合せメッセージを送信してルートノードからインデックス情報を取得する。そして、ユーザノードは、取得したインデックス情報から別のコンテンツ保持ノードを選択して、再度コンテンツ送信要求メッセージを送信する。或いは、ユーザノードは、複数のコンテンツ保持ノードのノード情報が含まれているインデックス情報をルートノードから取得していた場合には、この取得していたインデックス情報に基づいて別のコンテンツ保持ノードを選択しても良い。
【００７９】
［１．２．５  コンテンツのアップロードを再度許可する条件］
コンテンツのアップロードが禁止された後、コンテンツのアップロードを再度許可しても良い。例えば、各ノードＮｎへのコンテンツ配信が完了した後に、拠点の増加等によってコンテンツ分散保存システムＳに新たなノードＮｎが参加してくる場合がある。また、電源がＯＦＦされていたこと等によって、コンテンツ配信時にコンテンツを取得することができなかったノードＮｎが存在する場合がある。この場合、配信が完了したコンテンツをノードＮｎが取得する必要が生じる場合がある。そのような状況に備えて、コンテンツのアップロードを再度許可される。
【００８０】
コンテンツのアップロードを再度許可する条件としては、例えば、以下の条件が挙げられる。以下、コンテンツのアップロードを再度許可する条件を、「アップロード再許可条件」という。なお、アップロード再許可条件は以下の３条件に限られるものではない。
条件１：一定時間経過後      
条件２：許可しない
条件３：外部からの指示
【００８１】
アップロード再許可条件１においては、例えば、コンテンツのアップロードが禁止されてから、所定時間が経過した後、コンテンツのアップロードを再度許可する。以下、コンテンツのアップロードが禁止されてから再度許可されるまでに要する時間を、「非公開時間」という。
【００８２】
アップロード再許可条件２においては、コンテンツのアップロードは原則として二度と許可されない。
【００８３】
アップロード再許可条件３においては、例えば、センターサーバＳＡが、各ノードＮｎに対して公開再開指示メッセージを送信する。公開再開指示メッセージには、例えば、アップロードを再許可するコンテンツのコンテンツＩＤが含まれている。センターサーバＳＡは、例えば、所定の時刻になったとき、全てのノードＮｎに対して公開再開指示メッセージを送信しても良い。公開再開指示メッセージを受信したノードＮｎは、公開再開指示メッセージに含まれているコンテンツＩＤに対応するコンテンツのアップロードを再度許可する。
【００８４】
コンテンツのアップロードを再度許可する方法は、コンテンツのアップロードを禁止する方法によって異なる。例えば、禁止方法１の場合、コンテンツ保持ノードは、アップロードを再度許可するコンテンツについて、パブリッシュメッセージを送信する。つまり、コンテンツ保持ノードは、コンテンツを再公開する。また、禁止方法３の場合、コンテンツ保持ノードは、方法３によるコンテンツのアップロードの禁止を終了させる。つまり、コンテンツ保持ノードは、要求されたコンテンツをそのままユーザノードにアップロードすれば良い。
【００８５】
以上説明したアップロード禁止条件、禁止方法及びアップロード再許可条件について夫々どの条件及び方法を用いるかは、例えば、コンテンツ分散保存システムＳにおいて予め定められる。
【００８６】
［１．３  センターサーバＳＡの構成及び機能等］
次に、図４を参照して、センターサーバＳＡの構成及び機能について説明する。
【００８７】
図４は、センターサーバＳＡの概要構成例を示す図である。
【００８８】
センターサーバＳＡは、図４に示すように、演算機能を有するＣＰＵ，作業用ＲＡＭ，各種データ及びプログラムを記憶するＲＯＭ等から構成されたコンピュータとしての制御部１１を備えている。また、センターサーバＳＡは、各種データ及び各種プログラム等を記憶保存するためのＨＤ等から構成された記憶部１２を備えている。更に、センターサーバＳＡは、ネットワーク８等を通じてノードＮｎとの間の情報の通信制御を行うための通信部１３を備えている。また更に、センターサーバＳＡは、各種情報を表示するＣＲＴ，液晶ディスプレイ等の表示部１４を備えている。更にまた、センターサーバＳＡは、オペレータからの指示を受け付けこの指示に応じた指示信号を制御部１１に対して与える入力部（例えば、キーボード、マウス等）１５と、を備えている。そして、制御部１１、記憶部１２、通信部１３、表示部１４、及び入力部１５はバス１６を介して相互に接続されている。
【００８９】
記憶部１２には、各ノードＮｎのノードＩＤ、ＩＰアドレス及びポート番号等が記憶されている。また、記憶部１２には、配信対象となるコンテンツが記憶されている。
【００９０】
更に、記憶部１２には、コンテンツ配信に用いられる設定ファイルが記憶されている。設定ファイルは、本発明における時刻情報の一例である。設定ファイルには、例えば、コンテンツ配信開始時刻、遅延時間、コンテンツが配信される各ノードＮｎのノードＩＤ及び各ノードＮｎのコンテンツ要求順が記載されている。或いは、コンテンツ配信開始時刻及び遅延時間に代えて、コンテンツ要求順毎に各コンテンツを要求する時刻が記載されても良い。また、設定ファイルには、例えば、配信対象となる複数のコンテンツのコンテンツＩＤ及びコンテンツの配信順が記載されている。
【００９１】
また、アップロード禁止条件が、上述したアップロード禁止条件１である場合、つまり、アップロード可能な回数を制限する場合、設定ファイルには、アップロード可能回数が記載される。また、アップロード禁止条件が、アップロード禁止条件２である場合、つまり、アップロード可能な時間を制限する場合、設定ファイルには、公開時間が記載される。また、アップロード再許可条件が、上述したアップロード再許可条件１である場合、つまり、一定時間経過後である場合、設定ファイルには、非公開時間が記載される。また、アップロード再許可条件が、上述したアップロード再許可条件３である場合、つまり、外部からの指示である場合、設定ファイルには、センターサーバＳＡが公開再開指示メッセージを送信する時刻が記載される。
【００９２】
このような内容の設定ファイルは、例えば、オペレータにより作成されても良いし、センターサーバＳＡにより自動的に作成されても良い。
【００９３】
制御部１１は、ＣＰＵが記憶部１２等に記憶されたプログラムを読み出して実行することにより、センターサーバＳＡ全体を統括制御する。
【００９４】
例えば、制御部１１は、記憶部１２に記憶されている設定ファイルを各ノードＮｎに配信する。この設定ファイルの配信は、例えば、特開２００７−０５３６６２号公報にて開示されたＤＨＴマルチキャスト（マルチキャストメッセージ転送処理）によりコンテンツ分散保存システムＳに参加している全てのノードＮｎに対して行っても良い。
【００９５】
また、制御部１１は、ノードＮｎからコンテンツ送信要求メッセージを受信したとき、コンテンツ送信要求メッセージに対応するコンテンツを要求元のノードＮｎに送信する。
【００９６】
なお、上記プログラムは、例えば、ネットワーク８上の所定のサーバからダウンロードされるようにしても良い。また、上記プログラムは、例えば、ＣＤ−ＲＯＭ等の記録媒体に記録されて当該記録媒体のドライブを介して読み込まれるようにしても良い。
【００９７】
［１．４  ノードＮｎの構成及び機能等］
次に、図５参照して、ノードＮｎの構成及び機能について説明する。
【００９８】
図５は、ノードＮｎの概要構成例を示す図である。
【００９９】
各ノードＮｎは、図５に示すように、演算機能を有するＣＰＵ，作業用ＲＡＭ，各種データ及びプログラムを記憶するＲＯＭ等から構成されたコンピュータとしての制御部２１を備えている。また、各ノードＮｎは、各種データ及び各種プログラム等を記憶保存するためのＨＤ（ハードディスク）等から構成された記憶部２２と、受信されたコンテンツのレプリカ等を一時蓄積するバッファメモリ２３とを備えている。記憶部２２は、本発明における記憶手段の一例である。更に、各ノードＮｎは、コンテンツのレプリカに含まれるエンコードされたビデオデータ（映像情報）及びオーディオデータ（音声情報）等をデコードするデコーダ部２４を備えている。また更に、各ノードＮｎは、このデコードされたビデオデータ等に対して所定の描画処理を施しビデオ信号として出力する映像処理部２５と、この映像処理部２５から出力されたビデオ信号に基づき映像表示するＣＲＴ，液晶ディスプレイ等の表示部２６と、を備えている。更にまた、各ノードＮｎは、上記デコードされたオーディオデータをアナログオーディオ信号にＤ （Digital）／Ａ（Analog）変換した後これをアンプにより増幅して出力する音声処理部２７と、この音声処理部２７から出力されたオーディオ信号を音波として出力するスピーカ２８と、を備えている。また更に、各ノードＮｎは、ネットワーク８を通じて他のノードＮｎ等間の情報の通信制御を行うための通信部２９を備えている。更にまた、各ノードＮｎは、ユーザからの指示を受け付けこの指示に応じた指示信号を制御部２１に対して与える入力部（例えば、キーボード、マウス、或いは、リモコンや操作パネル等）３０を備えている。そして、制御部２１、記憶部２２、バッファメモリ２３、デコーダ部２４、通信部２９、及び入力部３０はバス３１を介して相互に接続されている。なお、ノードＮｎとしては、専用のサーバ装置のほか、パーソナルコンピュータ、ＳＴＢ（Set Top Box）等を適用可能である。
【０１００】
記憶部２２には、ＤＨＴを用いたルーティングテーブル、インデックス、並びに、コンテンツ分散保存システムＳに参加する際のアクセス先となるコンタクトノードのＩＰアドレス及びポート番号、及びセンターサーバＳＡのＩＰアドレス及びポート番号等が記憶されている。また、記憶部２２には、センターサーバＳＡから配信されてきたファイル情報が記憶される。更に、記憶部２２には、ダウンロードされたコンテンツが記憶される。
【０１０１】
制御部２１は、ＣＰＵが記憶部２２等に記憶されたプログラム（本発明のノードプログラムを含む）を読み出して実行することにより、本発明における取得手段、検索手段、コンテンツ取得手段、コンテンツ送信手段、判定手段、禁止手段、時間判定手段及び解除手段として機能する。
【０１０２】
なお、上記ノードプログラムは、例えば、ネットワーク８上の所定のサーバからダウンロードされるようにしても良いし、例えば、ＣＤ−ＲＯＭ等の記録媒体に記録されてこの記録媒体のドライブを介して読み込まれるようにしても良い。
【０１０３】
［１．５  コンテンツ分散保存システムＳの動作］
次に、図６及び図７を参照して、本実施形態に係るコンテンツ分散保存システムＳの動作について、実施例毎に説明する。
【実施例１】
【０１０４】
実施例１は、アップロード禁止条件として条件１、禁止方法として方法１、アップロード再許可条件として条件１を夫々適用した場合の実施例である。
【０１０５】
図６は、本実施形態の実施例１に係るノードＮｎにおける制御部２１の処理例を示すフローチャートである。
【０１０６】
図６に示す処理は、例えば、ノードＮｎの電源がＯＮとされたときに開始される。先ず、制御部２１は、ノードＮｎの電源がＯＦＦとされたか否かを判定する（ステップＳ１）。このとき、制御部２１は、ノードＮｎの電源がＯＦＦとされていない場合には（ステップＳ１：ＮＯ）、取得手段としてセンターサーバＳＡから設定ファイルを受信したか否かを判定する（ステップＳ２）。このとき、制御部２１は、設定ファイルを受信した場合には（ステップＳ２：ＹＥＳ）、受信した設定ファイルを記憶部２２に上書き記憶させる（ステップＳ３）。
【０１０７】
制御部２１は、ステップＳ２において設定ファイルを受信していない場合、又は、ステップＳ３の処理を終えた場合には、他のノードＮｎからコンテンツが要求されたか否かを判定する（ステップＳ４）。つまり、制御部２１は、コンテンツ送信要求メッセージを受信したか否かを判定する。
【０１０８】
このとき、制御部２１は、コンテンツが要求された場合には（ステップＳ４：ＹＥＳ）、コンテンツ送信手段として、コンテンツ送信要求メッセージに含まれるコンテンツＩＤに対応するコンテンツを、要求元のユーザノードにアップロードする（ステップＳ５）。次いで、制御部２１は、アップロードしたコンテンツのアップロード回数を１増加させる（ステップＳ６）。次いで、制御部２１は、判定手段として、設定ファイルに基づいてアップロード禁止条件が満たされたか否かを判定する（ステップＳ７）。具体的に、制御部２１は、アップロード回数が、設定ファイルに記載されているアップロード可能回数に達したか否かを判定する。このとき、制御部２１は、アップロード回数がアップロード可能回数に達していない場合には（ステップＳ７：ＮＯ）、ステップＳ１に移行する。
【０１０９】
一方、制御部２１は、アップロード回数がアップロード可能回数に達した場合には（ステップＳ７：ＹＥＳ）、禁止手段として、該当するコンテンツのアップロードを禁止する（ステップＳ８）。具体的に、制御部２１は、コンテンツ削除メッセージをルートノードに向けて送信する。このとき、制御部２１は、このコンテンツ削除メッセージに、アップロード回数がアップロード可能回数に達したコンテンツのコンテンツＩＤを設定する。次いで、制御部２１は、コンテンツ削除メッセージ送信時刻を記憶部２２に記憶させる（ステップＳ９）。このとき、制御部２１は、アップロード回数がアップロード可能回数に達したコンテンツのコンテンツＩＤに対応付けて、コンテンツ削除メッセージ送信時刻を記憶させる。コンテンツ削除メッセージ送信時刻には、その時点での現在時刻が適用される。制御部２１は、ステップＳ９の処理を終えると、ステップＳ１に移行する。
【０１１０】
ステップＳ４において、制御部２１は、他のノードＮｎからコンテンツが要求されていない場合には（ステップＳ４：ＮＯ）、非公開にされたコンテンツが存在するか否かを判定する（ステップＳ１０）。非公開にされたコンテンツが存在するか否かは、例えば、記憶部２２にコンテンツ削除メッセージ送信時刻が記憶されているか否かで判定することができる。そして、制御部２１は、非公開にされたコンテンツが存在する場合には（ステップＳ１０：ＹＥＳ）、時間判定手段として、非公開にされてから、設定ファイルに記載されている非公開時間が経過したか否かを判定する（ステップＳ１１）。例えば、制御部２１は、記憶部２２に記憶されているコンテンツ削除メッセージ送信時刻をコンテンツの非公開開始時刻として、非公開時間が経過したか否かを判定する。そして、制御部２１は、コンテンツが非公開にされてから非公開時間が経過した場合には（ステップＳ１１：ＹＥＳ）、解除手段として、コンテンツのアップロードの禁止を解除する（ステップＳ１２）。具体的に、制御部２１は、パブリッシュメッセージをルートノードに向けて送信する。このとき、制御部２１は、パブリッシュメッセージに、非公開時間が経過したコンテンツのコンテンツＩＤを設定する。また、制御部２１は、非公開時間が経過したコンテンツのコンテンツＩＤに対応するコンテンツ削除メッセージ送信時刻を記憶部２２から削除する。制御部２１は、ステップＳ１１において、コンテンツが非公開にされてから非公開時間が経過していない場合、又は、ステップＳ１２の処理を終えた場合には、ステップＳ１に移行する。
【０１１１】
ステップＳ１０において、制御部２１は、非公開にされたコンテンツが存在しない場合には（ステップＳ１０：ＮＯ）、設定ファイルの記載内容に基づいて、コンテンツを要求する時刻が到来したか否かを判定する（ステップＳ１３）。例えば、設定ファイルにコンテンツを要求する時刻そのものが記載されている場合には、記載されている時刻が到来したか否かを判定すればよい。或いは、設定ファイルにコンテンツ配信開始時刻及び遅延時間が記載されている場合、コンテンツ要求順がＸ番目であるノードＮｎがコンテンツＹを要求する時刻Ｔ（Ｘ，Ｙ）は、次の式により求めることができる。
Ｔ（Ｘ，Ｙ）＝コンテンツ配信開始時刻＋（Ｘ−１）×遅延時間＋（Ｙ−１）×遅延時間
【０１１２】
ステップＳ１３の判定において、制御部２１は、コンテンツを要求する時刻が到来した場合には（ステップＳ１３：ＹＥＳ）、検索手段として、コンテンツ所在問合せメッセージをルートノードに向けて送信する（ステップＳ１４）。このコンテンツ所在問合せメッセージには、設定ファイルに基づいて、要求する時刻が到来したコンテンツのコンテンツＩＤが設定される。その後、制御部２１は、ルートノードから送信されてきたインデックス情報を取得する。これによってコンテンツ保持ノードが検索される。そして、制御部２１は、コンテンツ取得手段として、インデックス情報に含まれるノード情報に基づいてコンテンツ保持ノードにコンテンツ送信要求メッセージを送信する。制御部２１は、ステップＳ１４の処理を終えると、ステップＳ１に移行する。
【０１１３】
ステップＳ１３において、制御部２１は、コンテンツを要求する時刻が到来していない場合には（ステップＳ１３：ＮＯ）、コンテンツ取得手段としてコンテンツ保持ノードからコンテンツを受信したか否かを判定する（ステップＳ１５）。このとき、制御部２１は、コンテンツを受信した場合には（ステップＳ１５：ＹＥＳ）、受信したコンテンツを記憶部２２に記憶させる（ステップＳ１６）。次いで、制御部２１は、パブリッシュメッセージをルートノードに向けて送信する（ステップＳ１７）。このとき、制御部２１は、パブリッシュメッセージに、記憶させたコンテンツのコンテンツＩＤを設定する。制御部２１は、ステップＳ１７の処理を終えると、ステップＳ１に移行する。
【０１１４】
ステップＳ１において、制御部２１は、ノードＮｎの電源がＯＦＦとされた場合には（ステップＳ１：ＹＥＳ）、図６に示す処理を終了させる。
【実施例２】
【０１１５】
実施例２は、アップロード禁止条件として条件２、禁止方法として方法２、アップロード再許可条件として条件２を夫々適用した場合の実施例である。
【０１１６】
図７は、本実施形態の実施例２に係るノードＮｎにおける制御部２１の処理例を示すフローチャートである。図７において、図６と同様の要素については同様に符号を付してある。
【０１１７】
ステップＳ１〜Ｓ５の処理は、実施例１の処理と同様である。制御部２１は、ステップＳ５においてコンテンツをアップロードすると、ステップＳ１に移行する。
【０１１８】
ステップＳ４において、制御部２１は、他のノードＮｎからコンテンツが要求されていない場合には（ステップＳ４：ＮＯ）、公開されているコンテンツが存在するか否かを判定する（ステップＳ５１）。公開されているコンテンツが存在するか否かは、例えば、記憶部２２にパブリッシュメッセージ送信時刻が記憶されているか否かで判定することができる。そして、制御部２１は、公開されているコンテンツが存在する場合には（ステップＳ５１：ＹＥＳ）、判断手段として、コンテンツが公開されてから、設定ファイルに記載されている公開時間が経過したか否かを判定する（ステップＳ５２）。例えば、制御部２１は、記憶部２２に記憶されているパブリッシュメッセージ送信時刻をコンテンツの公開開始時刻として、公開時間が経過したか否かを判定する。そして、制御部２１は、コンテンツが公開されてから公開時間が経過した場合には（ステップＳ５２：ＹＥＳ）、コンテンツ削除メッセージをルートノードに向けて送信する（ステップＳ５３）。このとき、制御部２１は、コンテンツ削除メッセージに、公開時間が経過したコンテンツのコンテンツＩＤを設定する。次いで、制御部２１は、禁止手段として、公開時間が経過したコンテンツを記憶部２２から削除する（ステップＳ５４）。また制御部２１は、公開時間が経過したコンテンツのコンテンツＩＤに対応するパブリッシュメッセージ送信時刻を記憶部２２から削除する。制御部２１は、ステップＳ５２において、コンテンツが公開されてから公開時間が経過していない場合、又は、ステップＳ５４の処理を終えた場合には、ステップＳ１に移行する。
【０１１９】
ステップＳ５１において、制御部２１は、公開されているコンテンツが存在しない場合には（ステップＳ５１：ＮＯ）、ステップＳ１３の判定を行う。ステップＳ１３〜Ｓ１７の処理は、実施例１の処理と同様である。制御部２１は、ステップＳ１７においてパブリッシュメッセージを送信すると、パブリッシュメッセージ送信時刻を記憶部２２に記憶させる（ステップＳ５５）。このとき、制御部２１は、ステップＳ１６において記憶されたコンテンツのコンテンツＩＤに対応付けて、パブリッシュメッセージ送信時刻を記憶させる。パブリッシュメッセージ送信時刻は、その時点での現在時刻が適用される。制御部２１は、ステップＳ５５の処理を終えると、ステップＳ１に移行する。
【実施例３】
【０１２０】
実施例３は、アップロード禁止条件として条件３、禁止方法として方法１、アップロード再許可条件として条件３を夫々適用した場合の実施例である。
【０１２１】
ノードＮｎの制御部２１は、記憶部２２に記憶されている設定ファイルに基づいてコンテンツを要求する時刻が到来したか否かを判定する。そして、制御部２１は、コンテンツを要求する時刻が到来した場合には、コンテンツ所在問合せメッセージを送信する。これによって、制御部２１は、コンテンツ保持ノードから送信されてきたコンテンツを受信し、記憶部２２に記憶させる。
【０１２２】
その後、制御部２１は、記憶させたコンテンツについてセンターサーバＳＡから公開停止指示メッセージを受信すると、コンテンツ削除メッセージをルートノードに向けて送信する。このとき、制御部２１は、コンテンツ削除メッセージに、公開停止指示メッセージに含まれるコンテンツＩＤを設定する。なお、制御部２１は、対応するコンテンツについては記憶部２２から削除しない。
【０１２３】
その後、制御部２１は、コンテンツ削除メッセージを送信したコンテンツについてセンターサーバＳＡから公開再開指示メッセージを受信すると、パブリッシュメッセージをルートノードに向けて送信する。このとき、制御部２１は、パブリッシュメッセージに、公開再開指示メッセージに含まれるコンテンツＩＤを設定する。
【０１２４】
以上説明したように、本実施形態によれば、ノードＮｎの制御部２１が、センターサーバＳＡから送信されてきた設定ファイルを受信する。また、制御部２１が、受信した設定ファイルに記載されたコンテンツを要求する時刻、又は、設定ファイルに記載されている情報に基づいて求められたコンテンツを要求する時刻が到来したときに、設定ファイルに記載されているコンテンツＩＤに対応するコンテンツのコンテンツ保持ノードを検索する。また、制御部２１が、検索されたコンテンツ保持ノードからコンテンツをダウンロードする。また、制御部２１が、ダウンロードしたコンテンツを記憶部２２に記憶させる。また、制御部２１が、コンテンツが記憶部２２に記憶され公開されてから、アップロード禁止条件が満たされたか否かを判定する。また、制御部２１が、アップロード禁止条件が満たされたと判定されたとき、記憶部２２に記憶されているコンテンツを他のノードＮｎに対してアップロードすることを禁止する。
【０１２５】
従って、アップロード禁止条件が満たされたときに、ダウンロードされたコンテンツが他のノードＮｎによりダウンロードされることが禁止される。よって、コンテンツが配信されるノードＮｎ全体から見てコンテンツ要求順が相対的に早いノードＮｎへの通信負荷を高くすることなく、全体としてのコンテンツ配信にかかる時間を短くすることができる。
【０１２６】
また、制御部２１が、アップロード禁止条件として、アップロード回数が、設定ファイルに記載されたアップロード可能回数に達したと判定した場合に、記憶部２２に記憶されているコンテンツのアップロードを禁止する。
【０１２７】
また、制御部２１が、アップロード禁止条件として、コンテンツが公開されてから、設定ファイルに記載された公開時間が経過したと判定した場合に、記憶部２２に記憶されているコンテンツのアップロードを禁止する。
【０１２８】
従って、公開時間が経過した後、コンテンツのアップロードは行われないので、コンテンツ要求順が相対的に早いノード装置への通信負荷が高くなることを確実に防止することができる。
【０１２９】
また、制御部２１が、アップロード禁止条件として、センターサーバＳＡから送信された公開停止指示メッセージを受信したと判定した場合に、記憶部２２に記憶されているコンテンツのアップロードを禁止する。
【０１３０】
従って、ノードＮｎ自身が、コンテンツのアップロードを禁止するスケジュールを管理する必要がない。
【０１３１】
また、制御部２１が、記憶部２２に記憶されているコンテンツを他のノードＮｎに対してアップロードすることを禁止した後、設定ファイルに記載された非公開時間が経過したと判定した場合には、記憶部２２に記憶されているコンテンツのアップロードの禁止を解除する。
【０１３２】
従って、コンテンツ配信時にコンテンツをダウンロードしていなかったノードＮｎが後でコンテンツをダウンロードすることができる。
【０１３３】
また、制御部２１が、記憶部２２にコンテンツを記憶すると、制御部２１自身のノードＮｎのノード情報を含むパブリッシュメッセージをルートノードに向けて送信する。また、制御部２１が、コンテンツ問い合わせメッセージをルートノードに向けて送信し、ルートノードからインデックス情報を受信することで、コンテンツ保持ノードを検索する。また、制御部２１が、受信したインデックス情報に含まれるノード情報に基づいて、検索されたコンテンツ保持ノードにコンテンツ送信要求メッセージを送信する。また、制御部２１が、アップロード禁止条件が満たされたと判定すると、制御部２１自身のノードＮｎのノード情報を含むコンテンツ削除メッセージをルートノードに向けて送信する。
【０１３４】
従って、ノードＮｎがコンテンツを記憶しつつコンテンツのアップロードが禁止されるので、その後必要なときにコンテンツを再度アップロードすることができる。
【０１３５】
［２．第２実施形態］
次に、本発明の第２実施形態について、図８を用いて説明する。上記説明した第１実施形態においては、コンテンツ保持ノードがコンテンツのアップロードを禁止する制御を行っていた。これに対し、以下に説明する第２実施形態においては、ルートノードがコンテンツのアップロードを禁止する制御を行う。本実施形態においては、例えば、アップロード禁止条件として条件１が適用される。
【０１３６】
なお、コンテンツ分散保存システムＳの構成及び動作概要、コンテンツの配信方法、センターサーバＳＡの構成及びノードＮｎの構成は、第１実施形態の場合と同様である。従って、これらの説明は省略する。
【０１３７】
ルートノードの記憶部２２には、上述したようにインデックス情報が記憶されている。本実施形態において、ルートノードが記憶するインデックス情報には、ルートノードが所在を管理するコンテンツのコンテンツＩＤと、このコンテンツを保存しているコンテンツ保持ノードのノード情報と、このコンテンツ保持ノードがコンテンツをアップロードしたアップロード回数との組が含まれている。ルートノードは、コンテンツ保持ノードからパブリッシュメッセージを受信したとき、このコンテンツ保持ノードのノード情報を、記憶部２２に記憶されているインデックス情報に登録する。このとき、ルートノードは、コンテンツ保持ノードのノード情報に対応付けて、アップロード回数として０回を設定する。
【０１３８】
図８は、本実施形態に係るコンテンツ分散保存システムＳにおけるノードＮｎの処理例を示すフローチャートである。
【０１３９】
図８に示す処理は、ユーザノードが、設定ファイルの記載内容に基づいて、コンテンツを要求する時刻が到来したと判定した場合に開始される。先ず、ユーザノードは、コンテンツ所在問合せメッセージをルートノードに向けて送信する（ステップＳ１０１）。
【０１４０】
ルートノードは、コンテンツ所在問合せメッセージを受信すると（ステップＳ１０２）、コンテンツ保持ノードをユーザノードに送信する（ステップＳ１０３）。このとき、ルートノードは、ユーザノードから要求されたコンテンツのアップロード回数がアップロード可能回数未満であるコンテンツ保持ノードのうち、例えば、一つのコンテンツ保持ノードを選択する。そして、ルートノードは、選択したコンテンツ保持ノードのノード情報を含むインデックス情報をユーザノードに送信する。つまりこの場合、判定手段としてのルートノードが、各コンテンツ保持ノードについて、アップロード回数がアップロード可能回数に達しているか否かをインデックス情報に基づいて判定する。そして、禁止手段としてのルートノードが、アップロード回数がアップロード可能回数に達しているコンテンツ保持ノードについては、ユーザノードにより検索されないように制御する。この制御により、特定のコンテンツについてアップロード禁止条件が満たされたコンテンツ保持ノードは、この特定のコンテンツのアップロードが禁止される。
【０１４１】
また、ルートノードは、ユーザノードにノード情報を送信したコンテンツ保持ノードのアップロード回数を１増加させる。つまり、コンテンツ保持ノードとしてユーザノードに通知された回数がアップロード回数とみなされる。
【０１４２】
インデックス情報を受信したユーザノードは、受信したインデックス情報に含まれるノード情報に基づいて、コンテンツ保持ノードにコンテンツ送信要求メッセージを送信する（ステップＳ１０４）。そして、ユーザノードは、コンテンツ保持ノードから送信されたコンテンツを受信する（ステップＳ１０５）。
【０１４３】
以上説明したように、ユーザノードから要求されたコンテンツについてアップロード回数がアップロード可能回数に達しているコンテンツ保持ノードは、ユーザノードに検索されない。従って、要求されたコンテンツについてアップロード禁止条件が満たされたコンテンツ保持ノードは、要求されたコンテンツのアップロードが禁止される。よって、全体から見てコンテンツ要求順が相対的に早いノードＮｎへの通信負荷を高くすることなく、全体としてのコンテンツ配信にかかる時間を短くすることができる。
【０１４４】
なお、上記各実施形態においては、各ノードＮｎが、設定ファイルに基づいて、コンテンツの要求時刻が到来したか否かを判定していたが、これに限られるものではない。例えば、各ノードＮｎは、センターサーバＳＡからコンテンツを要求させる指示を示すメッセージを受信したとき、コンテンツを要求するようにしても良い。
【０１４５】
また、上記各実施形態においては、ルートノードがコンテンツの所在を管理していたが、これに限られるものではない。例えば、ノードＮｎ以外の所定のサーバ装置が、コンテンツの所在を管理しても良い。この場合、各ノードＮｎは、所定のサーバ装置に要求することにより、コンテンツ保持ノードを検索する。
【０１４６】
また、上記各実施形態においては、コンテンツ配信システムを、ＤＨＴを利用したコンテンツ分散保存システムに適用していたが、これに限られるものではない。例えば、コンテンツ配信システムを、他のピアツーピアシステムに適用しても良い。
【符号の説明】
【０１４７】
３  ＩＸ
４ａ、４ｂ  ＩＳＰ
５ａ、５ｂ  ＤＳＬ回線業者の装置
６  ＦＴＴＨ回線業者の装置
７  通信回線
８  ネットワーク
９  オーバーレイネットワーク
１１  制御部
１２  記憶部
１３  通信部
１４  表示部
１５  入力部
１６  バス
２１  制御部
２２  記憶部
２３  バッファメモリ
２４  デコーダ部
２５  映像処理部
２６  表示部
２７  音声処理部
２８  スピーカ
２９  通信部
３０  入力部
３１  バス
Ｎｎ  ノード（拠点サーバ）
Ｐｎ  配信サーバ
ＳＡ  センターサーバ
Ｕｍ  ユーザ端末
Ｓ  コンテンツ分散保存システム
【図１】
2011008657.tif 000003
【図２】
2011008657.tif 000004
【図３】
2011008657.tif 000005
【図４】
2011008657.tif 000006
【図５】
2011008657.tif 000007
【図６】
2011008657.tif 000008
【図７】
2011008657.tif 000009
【図８】
2011008657.tif 000010
【図９】
2011008657.tif 000011