(57)【要約】【課題】所定のネットワークから他のネットワークへのコンテンツの送信が過剰に行われることを防止する。【解決手段】情報処理装置は、所定のネットワークに接続するノード装置からアップロードされるデータ量を取得する第１取得手段と、第１取得手段により取得されたアップロードされるデータ量の総データ量を取得する第２取得手段と、第２取得手段により取得された総データ量が、所定のデータ量を超えたか否かを判定する第１判定手段と、第１判定手段により総データ量が所定のデータ量を超えたと判定された場合には、所定のネットワークに接続するノード装置によるコンテンツのアップロードを抑止する制御を行う制御手段と、を備える。【選択図】図６
2011198284.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続する複数のノード装置間でコンテンツが送受信される情報通信システムであって、
所定のネットワークから他のネットワークにコンテンツがアップロードされたデータ量を取得する情報処理装置を備え、
前記情報処理装置は、
前記所定のネットワークに接続する前記ノード装置からアップロードされるデータ量を取得する第１取得手段と、
前記第１取得手段により取得された前記アップロードされるデータ量の総データ量を取得する第２取得手段と、
前記第２取得手段により取得された前記総データ量が、所定のデータ量を超えたか否かを判定する第１判定手段と、
前記第１判定手段により前記総データ量が前記所定のデータ量を超えたと判定された場合には、前記所定のネットワークに接続する前記ノード装置によるコンテンツのアップロードを抑止する制御を行う制御手段と、
を備えることを特徴とする情報通信システム。
【請求項２】
前記他のネットワークに接続するノード装置は、
前記コンテンツの要求を示す要求メッセージを前記情報処理装置に送信する送信手段を備え、
前記情報処理装置は、
前記ノード装置から送信された前記要求メッセージを受信する受信手段を更に備え、
前記情報処理装置の前記第１取得手段は、前記受信手段により受信された前記要求メッセージにより示される要求対象のコンテンツのアップロードすべきデータ量を取得することを特徴とする請求項１に記載の情報通信システム。
【請求項３】
前記ノード装置の前記送信手段は、アップロードを要求するデータ量を含む前記要求メッセージを送信し、
前記情報処理装置の前記第１取得手段は、前記受信手段により受信された前記要求メッセージに含まれるデータ量を、アップロードされるデータ量として取得することを特徴とする請求項２に記載の情報通信システム。
【請求項４】
前記所定のネットワークに接続する前記ノード装置は、
前記他のネットワークに接続する前記ノード装置に前記情報処理装置を介してコンテンツをアップロードするアップロード手段を備え、
前記情報処理装置は、
前記ノード装置からアップロードされてきたコンテンツを中継する中継手段を更に備え、
前記情報処理装置の前記第１取得手段は、前記中継手段により中継されたコンテンツのデータ量を、アップロードされるデータ量として取得することを特徴とする請求項１または請求項２に記載の情報通信システム。
【請求項５】
ネットワークに接続する複数のノード装置間でコンテンツが送受信される情報通信システムにおいて、所定のネットワークから他のネットワークにコンテンツがアップロードされたデータ量を取得する情報処理装置であって、
前記所定のネットワークに接続する前記ノード装置からアップロードされるデータ量を取得する第１取得手段と、
前記第１取得手段により取得された前記アップロードされるデータ量の総データ量を取得する第２取得手段と、
前記第２取得手段により取得された前記総データ量が、所定のデータ量を超えたか否かを判定する第１判定手段と、
前記第１判定手段により前記総データ量が前記所定のデータ量を超えたと判定された場合には、前記所定のネットワークに接続する前記ノード装置によるコンテンツのアップロードを抑止する制御を行う制御手段と、
を備えることを特徴とする情報処理装置。
【請求項６】
前記他のネットワークに接続する前記ノード装置から送信されたコンテンツの要求を示す要求メッセージを受信する受信手段を更に備え、
前記第１取得手段は、前記受信手段により受信された前記要求メッセージにより示される要求対象のコンテンツのアップロードすべきデータ量を取得することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記受信手段は、アップロードを要求するデータ量を含む前記要求メッセージを受信し、
前記第１取得手段は、前記受信手段により受信された前記要求メッセージに含まれるデータ量を、アップロードされるデータ量として取得することを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記所定のネットワークに接続する前記ノード装置が保存しているコンテンツを前記情報処理装置が保存しているものとして公開することを示す公開メッセージを、コンテンツの所在を管理する管理装置へ送信する第２送信手段を更に備えることを特徴とする請求項６または請求項７に記載の情報処理装置。
【請求項９】
前記制御手段は、前記第１判定手段により前記総データ量が前記所定のデータ量を超えたと判定されたとき、コンテンツをアップロードすることができないことを示す不可能メッセージを、前記ノード装置に送信することを特徴とする請求項５乃至８の何れか１項に記載の情報処理装置。
【請求項１０】
前記制御手段は、前記不可能メッセージを、各前記ノード装置にマルチキャストすることを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
前記情報通信システムは、複数の前記ノード装置が複数のコンテンツの所在を分散してコンテンツ毎に管理し、
前記制御手段は、前記第１判定手段により前記総データ量が前記所定のデータ量を超えたと判定されたとき、前記所定のネットワークに接続する前記ノード装置が保存しているコンテンツ毎に、当該コンテンツをアップロードすることができないことを示す不可能メッセージを、当該コンテンツの所在を管理する前記ノード装置に送信することを特徴とする請求項５乃至８の何れか１項に記載の情報処理装置。
【請求項１２】
前記制御手段は、コンテンツのアップロードの抑止が解除される時期を示す時期情報を含む前記不可能メッセージを送信することを特徴とする請求項９または請求項１０に記載の情報処理装置。
【請求項１３】
前記受信手段により受信された前記要求メッセージを前記所定のネットワークに接続する前記ノード装置に転送する転送手段を更に備え、
前記制御手段は、前記第１判定手段により前記総データ量が前記所定のデータ量を超えたと判定された場合には、前記転送手段により前記要求メッセージを転送させないことを特徴とする請求項６乃至１１の何れか１項に記載の情報処理装置。
【請求項１４】
前記制御手段は、前記第１判定手段により前記総データ量が前記所定のデータ量を超えたと判定された場合には、コンテンツの送信を拒否する拒否メッセージを、前記受信手段により受信された前記要求メッセージを送信してきた前記ノード装置へ送信し、または、前記所定のネットワークに接続する前記ノード装置から前記要求メッセージを送信してきた前記ノード装置へ前記拒否メッセージを送信させることを特徴とする請求項６乃至１１の何れか１項に記載の情報処理装置。
【請求項１５】
前記制御手段は、前記第１判定手段により前記総データ量が前記所定のデータ量を超えたと判定された場合には、前記受信手段により受信された前記要求メッセージを、前記他のネットワークに接続する前記ノード装置に転送することを特徴とする請求項６乃至１１の何れか１項に記載の情報処理装置。
【請求項１６】
前記所定のネットワークに接続する前記ノード装置から前記他のネットワークに接続する前記ノード装置へアップロードされるコンテンツを中継する中継手段を更に備え、
前記第１取得手段は、前記中継手段により中継されたコンテンツのデータ量を、アップロードされるデータ量として取得することを特徴とする請求項５乃至１４の何れか１項に記載の情報処理装置。
【請求項１７】
前記第１判定手段により前記総データ量が前記所定のデータ量を超えたと判定された後、所定期間が経過したか否かを判定する第２判定手段を更に備え、
前記制御手段は、前記第２判定手段により前記所定期間が経過したと判定された場合には、コンテンツの送信の抑止を解除することを特徴とする請求項５乃至１５の何れか１項に記載の情報処理装置。
【請求項１８】
ネットワークに接続する複数のノード装置間でコンテンツが送受信される情報通信システムにおいて、所定のネットワークから他のネットワークにコンテンツがアップロードされたデータ量を取得する情報処理装置における情報処理方法であって、
前記所定のネットワークに接続する前記ノード装置からアップロードされるデータ量を取得する第１取得工程と、
前記第１取得工程において取得された前記アップロードされるデータ量の総データを取得する第２取得工程と、
前記第２取得工程において取得された前記総データ量が、所定のデータ量を超えたか否かを判定する第１判定工程と、
前記第１判定工程において前記総データ量が前記所定のデータ量を超えたと判定された場合には、前記所定のネットワークに接続する前記ノード装置によるコンテンツのアップロードを抑止する制御を行う制御工程と、
を含むことを特徴とする情報処理方法。
【請求項１９】
ネットワークに接続する複数のノード装置間でコンテンツが送受信される情報通信システムにおいて、所定のネットワークから他のネットワークにコンテンツがアップロードされたデータ量を取得する情報処理装置に含まれるコンピュータに、
前記所定のネットワークに接続する前記ノード装置からアップロードされるデータ量を取得する第１取得ステップと、
前記第１取得ステップにおいて取得された前記アップロードされるデータ量の総データを取得する第２取得ステップと、
前記第２取得ステップにおいて取得された前記総データ量が、所定のデータ量を超えたか否かを判定する第１判定ステップと、
前記第１判定ステップにおいて前記総データ量が前記所定のデータ量を超えたと判定された場合には、前記所定のネットワークに接続する前記ノード装置によるコンテンツのアップロードを抑止する制御を行う制御ステップと、
を実行させることを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたピアツーピア（Peer to Peer（P2P））方式の通信システムの技術分野に関する。
【背景技術】
【０００２】
近年、特許文献１に開示されているようなピアツーピア方式の通信システムが注目されている。このピアツーピア方式の通信システムでは、ノード装置がコンテンツを取得する場合、例えば、要求されたコンテンツを保存する何れかのノード装置が、要求を行ったノード装置に対してコンテンツを送信する。
【０００３】
ところで、ノード装置が、ＬＡＮ（Local Area Network）やアクセスネットワーク等のネットワークに接続している場合がある。このとき、ノード装置が、例えば、人気の高いコンテンツや多くのコンテンツを保存している場合は、他のネットワークに接続するノード装置からコンテンツの要求を頻繁に受けることになる。そうすると、ノード装置は、頻繁にコンテンツの送信を行わなければならないので、各ノード装置の送信するデータ量が大きくなる。よって、ネットワーク同士を接続する通信機器や回線に負荷がかかる。そこで、ネットワーク間で送受信されるコンテンツのデータ量を把握することが必要となる。
【０００４】
例えば、特許文献１には、アクセスネットワークから中継ネットワークに送信されたデータ量を含む統計情報を収集する技術が記載されている。この技術では、アクセスネットワークに接続するアクセス装置が、統計情報を定期的にキャリアエッジノードへ通知する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−１７７７８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、統計情報は定期的に通知されるものであるので、キャリアエッジノードが受信して保持している統計情報に含まれるデータ量が、現時点までに実際に送信されているデータ量を反映していない場合がある。そのため、キャリアエッジノードが、アクセスネットワークから送信されたデータ量を正確に把握することが難しかった。また、特許文献１に記載の技術では、ネットワーク同士を接続する通信機器や回線の負荷そのものを軽減させることはできなかった。
【０００７】
そこで、本発明は、以上の点に鑑みてなされたものである。本発明は、所定のネットワークから他のネットワークへのコンテンツの送信が過剰に行われることを防止することができる情報通信システム、情報処理装置、情報処理方法、及び情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、請求項１に記載の発明は、ネットワークに接続する複数のノード装置間でコンテンツが送受信される情報通信システムであって、所定のネットワークから他のネットワークにコンテンツがアップロードされたデータ量を取得する情報処理装置を備え、前記情報処理装置は、前記所定のネットワークに接続する前記ノード装置からアップロードされるデータ量を取得する第１取得手段と、前記第１取得手段により取得された前記アップロードされるデータ量の総データ量を取得する第２取得手段と、前記第２取得手段により取得された前記総データ量が、所定のデータ量を超えたか否かを判定する第１判定手段と、前記第１判定手段により前記総データ量が前記所定のデータ量を超えたと判定された場合には、前記所定のネットワークに接続する前記ノード装置によるコンテンツのアップロードを抑止する制御を行う制御手段と、を備えることを特徴とする。この発明によれば、所定のネットワークから他のネットワークへコンテンツがアップロードされた総データ量が所定のデータ量を超えると、所定のネットワークに接続するノード装置によるコンテンツのアップロードが抑止される。よって、所定のネットワークから他のネットワークへのコンテンツの送信が過剰に行われることを防止することができる。
【０００９】
請求項２に記載の発明は、前記他のネットワークに接続するノード装置は、前記コンテンツの要求を示す要求メッセージを前記情報処理装置に送信する送信手段を備え、前記情報処理装置は、前記ノード装置から送信された前記要求メッセージを受信する受信手段を更に備え、前記情報処理装置の前記第１取得手段は、前記受信手段により受信された前記要求メッセージにより示される要求対象のコンテンツのアップロードすべきデータ量を取得することを特徴とする。この発明によれば、所定のネットワークに接続する前記ノード装置への要求メッセージを情報処理装置が受信するので、所定のネットワークからコンテンツがアップロードされることを情報処理装置が認識することができる。そのため、情報処理装置が、アップロードされたデータ量を的確に把握することができる。
【００１０】
請求項３に記載の発明は、前記ノード装置の前記送信手段は、アップロードを要求するデータ量を含む前記要求メッセージを送信し、前記情報処理装置の前記第１取得手段は、前記受信手段により受信された前記要求メッセージに含まれるデータ量を、アップロードされるデータ量として取得することを特徴とする。この発明によれば、要求メッセージに、要求対象のコンテンツの送信すべきデータ量が含まれるので、所定のネットワークから他のネットワークへ送信されるコンテンツのデータ量を情報処理装置が的確に把握することができる。また、情報処理装置は、実際に送信されたコンテンツのデータ量を監視する必要がないので、情報処理装置の処理負荷を軽減することができる。
【００１１】
請求項４に記載の発明は、前記所定のネットワークに接続する前記ノード装置は、前記他のネットワークに接続する前記ノード装置に前記情報処理装置を介してコンテンツをアップロードするアップロード手段を備え、前記情報処理装置は、前記ノード装置からアップロードされてきたコンテンツを中継する中継手段を更に備え、前記情報処理装置の前記第１取得手段は、前記中継手段により中継されたコンテンツのデータ量を、アップロードされるデータ量として取得することを特徴とする。この発明によれば、所定のネットワークからアップロードされるコンテンツを情報処理装置が中継するので、情報処理装置が、アップロードされたデータ量を正確に把握することができる。
【００１２】
請求項５に記載の発明は、ネットワークに接続する複数のノード装置間でコンテンツが送受信される情報通信システムにおいて、所定のネットワークから他のネットワークにコンテンツがアップロードされたデータ量を取得する情報処理装置であって、前記所定のネットワークに接続する前記ノード装置からアップロードされるデータ量を取得する第１取得手段と、前記第１取得手段により取得された前記アップロードされるデータ量の総データ量を取得する第２取得手段と、前記第２取得手段により取得された前記総データ量が、所定のデータ量を超えたか否かを判定する第１判定手段と、前記第１判定手段により前記総データ量が前記所定のデータ量を超えたと判定された場合には、前記所定のネットワークに接続する前記ノード装置によるコンテンツのアップロードを抑止する制御を行う制御手段と、を備えることを特徴とする。この発明によれば、所定のネットワークから他のネットワークへコンテンツがアップロードされた総データ量が所定のデータ量を超えると、所定のネットワークに接続するノード装置によるコンテンツのアップロードが抑止される。よって、所定のネットワークから他のネットワークへのコンテンツの送信が過剰に行われることを防止することができる。
【００１３】
請求項６に記載の発明は、前記他のネットワークに接続する前記ノード装置から送信されたコンテンツの要求を示す要求メッセージを受信する受信手段を更に備え、前記第１取得手段は、前記受信手段により受信された前記要求メッセージにより示される要求対象のコンテンツのアップロードすべきデータ量を取得することを特徴とする。この発明によれば、所定のネットワークに接続する前記ノード装置への要求メッセージを情報処理装置が受信するので、所定のネットワークからコンテンツがアップロードされることを情報処理装置が認識することができる。そのため、情報処理装置が、アップロードされたデータ量を的確に把握することができる。
【００１４】
請求項７に記載の発明は、前記受信手段は、アップロードを要求するデータ量を含む前記要求メッセージを受信し、前記第１取得手段は、前記受信手段により受信された前記要求メッセージに含まれるデータ量を、アップロードされるデータ量として取得することを特徴とする。この発明によれば、要求メッセージに、要求対象のコンテンツの送信すべきデータ量が含まれるので、所定のネットワークから他のネットワークへ送信されるコンテンツのデータ量を情報処理装置が的確に把握することができる。また、情報処理装置は、実際に送信されたコンテンツのデータ量を監視する必要がないので、情報処理装置の処理負荷を軽減することができる。
【００１５】
請求項８に記載の発明は、前記所定のネットワークに接続する前記ノード装置が保存しているコンテンツを前記情報処理装置が保存しているものとして公開することを示す公開メッセージを、コンテンツの所在を管理する管理装置へ送信する第２送信手段を更に備えることを特徴とする。この発明によれば、所定のネットワークに接続するノード装置が保存しているコンテンツは、情報処理装置が保存しているものとして管理装置により管理される。そのため、情報処理装置が要求メッセージを受信することができる。よって、所定のネットワークから他のネットワークへ送信されたコンテンツのデータ量を的確に把握することができる。
【００１６】
請求項９に記載の発明は、前記制御手段は、前記第１判定手段により前記総データ量が前記所定のデータ量を超えたと判定されたとき、コンテンツをアップロードすることができないことを示す不可能メッセージを、前記ノード装置に送信することを特徴とする。この発明によれば、管理装置としてのノード装置が不可能メッセージを受信することにより、情報処理装置に対して要求メッセージが送信されることを抑止することができる。また、コンテンツをアップロードすることができないことをコンテンツ毎に通知する必要がない。
【００１７】
請求項１０に記載の発明は、前記制御手段は、前記不可能メッセージを、各前記ノード装置にマルチキャストすることを特徴とする。この発明によれば、不可能メッセージがマルチキャストされるので、コンテンツをアップロードすることができないことを確実に通知することができる。
【００１８】
請求項１１に記載の発明は、複数の前記ノード装置が複数のコンテンツの所在を分散してコンテンツ毎に管理し、前記制御手段は、前記第１判定手段により前記総データ量が前記所定のデータ量を超えたと判定されたとき、前記所定のネットワークに接続する前記ノード装置が保存しているコンテンツ毎に、当該コンテンツをアップロードすることができないことを示す不可能メッセージを、当該コンテンツの所在を管理する前記ノード装置に送信することを特徴とする。この発明によれば、管理装置としてのノード装置が不可能メッセージを受信することにより、情報処理装置に対して要求メッセージが送信されることを抑止することができる。
【００１９】
請求項１２に記載の発明は、前記制御手段は、コンテンツのアップロードの抑止が解除される時期を示す時期情報を含む前記不可能メッセージを送信することを特徴とする。この発明によれば、不可能メッセージを受信したノード装置が、不可能メッセージに含まれる時期情報から、情報処理装置に対してコンテンツを要求しても良い時期を認識することができる。よって、コンテンツのアップロードの抑止が解除されたときに、アップロードが可能となったことを各ノード装置に通知する必要がない。
【００２０】
請求項１３に記載の発明は、前記受信手段により受信された前記要求メッセージを前記所定のネットワークに接続する前記ノード装置に転送する転送手段を更に備え、前記制御手段は、前記第１判定手段により前記総データ量が前記所定のデータ量を超えたと判定された場合には、前記転送手段により前記要求メッセージを転送させないことを特徴とする。この発明によれば、所定のネットワークに接続するノード装置は、情報処理装置からの要求メッセージの転送を受けないので、コンテンツをアップロードしない。よって、所定のネットワークに接続するノード装置によるコンテンツのアップロードが抑止される。
【００２１】
請求項１４に記載の発明は、前記制御手段は、前記第１判定手段により前記総データ量が前記所定のデータ量を超えたと判定された場合には、コンテンツの送信を拒否する拒否メッセージを、前記受信手段により受信された前記要求メッセージを送信してきた前記ノード装置へ送信し、または、前記所定のネットワークに接続する前記ノード装置から前記要求メッセージを送信してきた前記ノード装置へ前記拒否メッセージを送信させることを特徴とする。この発明によれば、要求メッセージを送信したノード装置は、拒否メッセージを受信することにより、所定のネットワークに接続するノード装置からコンテンツを取得することができないことを認識することができる。よって、所定のネットワークに接続するノード装置によるコンテンツのアップロードが抑止される。
【００２２】
請求項１５に記載の発明は、前記制御手段は、前記第１判定手段により前記総データ量が前記所定のデータ量を超えたと判定された場合には、前記受信手段により受信された前記要求メッセージを、前記他のネットワークに接続する前記ノード装置に転送することを特徴とする。この発明によれば、要求メッセージが転送されることにより、所定のネットワークに接続するノード装置によるコンテンツの送信が抑止される。また、要求メッセージを送信したノード装置は、要求メッセージの転送先のノード装置からコンテンツを取得することができる。
【００２３】
請求項１６に記載の発明は、前記所定のネットワークに接続する前記ノード装置から前記他のネットワークに接続する前記ノード装置へアップロードされるコンテンツを中継する中継手段を更に備え、前記第１取得手段は、前記中継手段により中継されたコンテンツのデータ量を、アップロードされるデータ量として取得することを特徴とする。この発明によれば、所定のネットワークからアップロードされるコンテンツを情報処理装置が中継するので、情報処理装置が、アップロードされたデータ量を確実に把握することができる。
【００２４】
請求項１７に記載の発明は、前記第１判定手段により前記総データ量が前記所定のデータ量を超えたと判定された後、所定期間が経過したか否かを判定する第２判定手段を更に備え、前記制御手段は、前記第２判定手段により前記所定期間が経過したと判定された場合には、コンテンツの送信の抑止を解除することを特徴とする。この発明によれば、所定期間が経過することによって、所定のネットワークに接続するノード装置は、コンテンツをアップロードすることができる。
【００２５】
請求項１８に記載の発明は、ネットワークに接続する複数のノード装置間でコンテンツが送受信される情報通信システムにおいて、所定のネットワークから他のネットワークにコンテンツがアップロードされたデータ量を取得する情報処理装置における情報処理方法であって、前記所定のネットワークに接続する前記ノード装置からアップロードされるデータ量を取得する第１取得工程と、前記第１取得工程において取得された前記アップロードされるデータ量の総データを取得する第２取得工程と、前記第２取得工程において取得された前記総データ量が、所定のデータ量を超えたか否かを判定する第１判定工程と、前記第１判定工程において前記総データ量が前記所定のデータ量を超えたと判定された場合には、前記所定のネットワークに接続する前記ノード装置によるコンテンツのアップロードを抑止する制御を行う制御工程と、を含むことを特徴とする。
【００２６】
請求項１９に記載の発明は、ネットワークに接続する複数のノード装置間でコンテンツが送受信される情報通信システムにおいて、所定のネットワークから他のネットワークにコンテンツがアップロードされたデータ量を取得する情報処理装置に含まれるコンピュータに、前記所定のネットワークに接続する前記ノード装置からアップロードされるデータ量を取得する第１取得ステップと、前記第１取得ステップにおいて取得された前記アップロードされるデータ量の総データを取得する第２取得ステップと、前記第２取得ステップにおいて取得された前記総データ量が、所定のデータ量を超えたか否かを判定する第１判定ステップと、前記第１判定ステップにおいて前記総データ量が前記所定のデータ量を超えたと判定された場合には、前記所定のネットワークに接続する前記ノード装置によるコンテンツのアップロードを抑止する制御を行う制御ステップと、を実行させることを特徴とする。
【発明の効果】
【００２７】
本発明によれば、所定のネットワークから他のネットワークへコンテンツがアップロードされた総データ量が所定のデータ量を超えると、所定のネットワークに接続するノード装置によるコンテンツのアップロードが抑止される。よって、所定のネットワークから他のネットワークへのコンテンツの送信が過剰に行われることを防止することができる。
【図面の簡単な説明】
【００２８】
【図１】一実施形態に係るコンテンツ分散保存システムＳにおける各ノード装置の接続態様の一例を示す図である。
【図２】一実施形態に係るコンテンツ分散保存システムＳの動作概要の一例を示す図である。
【図３】一実施形態に係るコンテンツ分散保存システムＳの動作概要の一例を示す図である。
【図４】ノードＮｎの概要構成例を示す図である。
【図５】一実施形態に係る一般ノードの制御部２１の処理例を示すフローチャートである。
【図６】一実施形態に係る代表ノードの制御部２１の処理例を示すフローチャートである。
【図７】一実施形態に係る代表ノードの制御部２１の処理例を示すフローチャートである。
【発明を実施するための形態】
【００２９】
以下、本発明の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、コンテンツ分散保存システムに本発明を適用した場合の実施形態である。
【００３０】
［１．コンテンツ分散保存システムの概要構成及び動作概要］
始めに、図１を参照して、本実施形態に係るコンテンツ分散保存システムの概要構成について説明する。図１は、本実施形態に係るコンテンツ分散保存システムＳにおける各ノード装置の接続態様の一例を示す図である。
【００３１】
図１に示すように、コンテンツ分散保存システムＳは、複数のノード装置Ｎｎがネットワーク５を介して接続されることで構成される。ネットワーク５は、現実世界の通信ネットワークである。例えば、ネットワーク５は、インターネットで等ある。このネットワーク５は、複数のＬＡＮｍ（ｍ＝１，２，３の何れか）と、ＷＡＮ（Wide Area Network）４とにより構成されている。また、ネットワーク５には、ＬＡＮｍとＷＡＮ４とを相互接続するためのルータＲＴが挿入されている。ルータＲＴは、例えば、ブロードバンドルータであったり、ファイアーウォールであったりする。
【００３２】
各ノード装置Ｎｎ（ｎ＝１，２，３・・・の何れか）は、ネットワーク５を構成するＬＡＮｍ又はＷＡＮ４に接続されている。以下、ノード装置を、「ノード」という。各ノードＮｎには、固有の製造番号及びＩＰ（Internet Protocol）アドレスが割り当てられている。そして、本実施形態に係るコンテンツ分散保存システムＳは、これらのノードＮｎのうち、何れか複数のノードＮｎの接続により形成されるピアツーピア方式のネットワークシステムとなっている。
【００３３】
このピアツーピア方式のネットワークは、図１に示すネットワーク６である。このネットワーク６は、既存のネットワーク５を用いて形成された仮想的なリンクを構成するオーバーレイネットワークである。論理的なネットワークであるネットワーク６は、特定のアルゴリズム、例えば、ＤＨＴを利用したアルゴリズムにより実現される。そして、コンテンツ分散保存システムＳに接続されている各ノードＮｎには、所定桁数からなる固有の識別情報であるノードＩＤが割り当てられている。
【００３４】
なお、コンテンツ分散保存システムＳへの接続は、接続していないノードＮｎ、例えば、ノードＮ８が、接続している任意のノードＮｎに対してコンテンツ分散保存システムへの参加要求を示す参加メッセージを送信することによって行われる。コンテンツ分散保存システムＳへの参加とは、ノード装置Ｎｎがコンテンツ分散保存システムＳに接続され、コンテンツ分散保存システムＳからコンテンツデータを取得可能になることである。任意のノードＮｎは、例えば、システムＳに常時接続しているコンタクトノードである。
【００３５】
また、各ノードＮｎは、夫々、ＤＨＴを用いたルーティングテーブルを保持している。このルーティングテーブルは、コンテンツ分散保存システムＳ上における各種メッセージの転送先を規定している。具体的に、このルーティングテーブルには、ＩＤ空間内で適度に離れたノードＮｎのノードＩＤ、ＩＰアドレス及びポート番号を含むノード情報が複数登録されている。コンテンツ分散保存システムＳに接続している１台のノードは、必要最低限のノードＮｎのノード情報をルーティングテーブルとして記憶している。各ノードＮｎ間で互いに各種メッセージが転送されることで、ノード情報を記憶していないノードＮｎについてのノード情報が取得される。
【００３６】
コンテンツ分散保存システムＳは、内容の異なる様々なコンテンツデータのレプリカを所定のファイル形式で複数のノードＮｎに分散して保存する。以下、コンテンツデータを、「コンテンツ」という。そして、各ノードＮｎ間でレプリカが利用可能になっている。各コンテンツのオリジナルはセンターサーバＳＡに保存されている。また、コンテンツのレプリカが保存されるノードＮｎを、「コンテンツ保持ノード」という。また、以下の説明においては、オリジナルのコンテンツとレプリカとを特に区別することなく、コンテンツと称する。上述のコンテンツには、夫々、コンテンツ名及びコンテンツ毎に固有の識別情報であるコンテンツＩＤ等の情報が付加されている。
【００３７】
分散保存されているコンテンツの所在は、インデックス情報として、コンテンツの所在を管理（記憶）しているノードＮｎにより記憶される。以下、コンテンツの所在を管理（記憶）しているノードＮｎを、「ルートノード」という。インデックス情報は、コンテンツを保存したノードＮｎのノード情報と、コンテンツのコンテンツＩＤと等の組を含む。このようなルートノードは、例えば、コンテンツＩＤと最も近いノードＩＤを有するノードＮｎであるように定められる。コンテンツＩＤと最も近いノードＩＤとは、例えば、ＩＤの上位桁が最も多く一致するノードＩＤである。
【００３８】
そして、或るノードＮｎのユーザが、所望するコンテンツを取得したい場合、このコンテンツの取得を望むノードＮｎは、メッセージを生成する。以下、ユーザによりコンテンツの取得を望むノードＮｎを、「ユーザノード」という。このメッセージは、取得を望むコンテンツのコンテンツＩＤ及びユーザノードのＩＰアドレス等を含む検索メッセージである。検索メッセージは、コンテンツ保持ノードを検索するためのメッセージである。上述の検索メッセージが、ユーザノードが取得するＤＨＴのルーティングテーブルに従って、他のノードＮｎに対して送出される。つまり、ユーザノードは、検索メッセージを、ルートノードに向けて送出する。これにより、検索メッセージは、コンテンツＩＤをキーとするＤＨＴルーティングによって最終的にルートノードに到着することになる。なお、ルートノードは、本発明の管理装置の一例である。
【００３９】
各ノードＮｎにおいて、コンテンツのコンテンツ名及びコンテンツＩＤ等の属性情報は、コンテンツカタログ情報に記述されている。コンテンツカタログ情報は、センターサーバＳＡにより作成されて、全てのノードＮｎに配信される。なお、ＤＨＴルーティングについては、特開２００６−１９７４００号公報等で公知であるので、詳しい説明を省略する。
【００４０】
上記検索メッセージを受信したルートノードは、これに含まれるコンテンツＩＤに対応するインデックス情報をインデックス情報キャッシュから取得する。取得されたインデックス情報は、検索メッセージの送信元であるユーザノードに対して返信される。こうしてインデックス情報を取得したユーザノードは、インデックス情報に基づいてコンテンツをダウンロード（取得）することができる。ユーザノードは、インデックス情報に含まれるコンテンツ保持ノードのＩＰアドレス及びポート番号等に基づいて、コンテンツ要求メッセージをコンテンツ保持ノードに送信する。コンテンツ要求メッセージには、取得を望むコンテンツのコンテンツＩＤが含まれている。コンテンツ要求メッセージを受信したコンテンツ保持ノードは、コンテンツ要求メッセージに含まれるコンテンツＩＤに対応するコンテンツをユーザノードに送信（アップロード）する。このようにして、ユーザノードは、コンテンツをダウンロードすることが可能になる。なお、インデックス情報には、複数のコンテンツ保持ノードのノード情報が含まれていることもある。この場合、ユーザノードは、この複数のコンテンツ保持ノードのうち１つのコンテンツ保持ノードを選択する。そして、ユーザノードは、選択したコンテンツ保持ノードに接続してコンテンツをダウンロードすることができる。なお、コンテンツ要求メッセージは、本発明の要求メッセージの一例である。
【００４１】
なお、ルートノードは、このインデックス情報に含まれるＩＰアドレス等に示されたコンテンツ保持ノードに対してコンテンツ送信要求メッセージを送信しても良い。これにより、ユーザノードは、上記コンテンツ保持ノードからそのコンテンツをダウンロードすることもできる。また、上記ユーザノードは、検索メッセージがルートノードに辿り着くまでの間に、このルートノードと同じインデックス情報をキャッシュしているキャッシュノードからこのインデックス情報を取得することもできる。
【００４２】
また、ユーザノードは、コンテンツ保持ノードからコンテンツを取得して保存したとき、保存したユーザノードは、パブリッシュメッセージを生成する。パブリッシュメッセージは、コンテンツを保存したことをルートノードへ知らせるためのメッセージである。パブリッシュメッセージは、コンテンツのコンテンツＩＤ及びコンテンツを保存したノード装置のノード情報を含む。パブリッシュメッセージは、ルートノードに向けて送出される。これにより、パブリッシュメッセージは、検索メッセージと同じように、コンテンツＩＤをキーとするＤＨＴルーティングによってルートノードに到着することになる。そして、ルートノードは、パブリッシュメッセージに含まれるノード情報及びコンテンツＩＤの組を含むインデックス情報をインデックス情報キャッシュ領域に記憶する。こうして、上記ユーザノードは、新たに、上記コンテンツを保持するコンテンツ保持ノードとなる。なお、パブリッシュメッセージは、本発明の公開メッセージの一例である。
【００４３】
コンテンツ保持ノードは、例えば、保存しているコンテンツを削除したとき、リトラクトメッセージを生成する。リトラクトメッセージは、コンテンツの公開を取り止めることをルートノードへ知らせるためのメッセージである。リトラクトメッセージは、削除されたコンテンツのコンテンツＩＤ及びコンテンツを削除したノード装置のノード情報を含む。リトラクトメッセージも、検索メッセージと同じように、コンテンツＩＤをキーとするＤＨＴルーティングによってルートノードに到着することになる。そして、ルートノードは、リトラクトメッセージに含まれるノード情報及びコンテンツＩＤに対応するインデックス情報をインデックス情報キャッシュ領域から削除する。
【００４４】
［２．コンテンツをアップロードするデータ量の制限］
図２及び図３は、本実施形態に係るコンテンツ分散保存システムＳの動作概要の一例を示す図である。コンテンツ分散保存システムＳにおいては、ＬＡＮ内からＬＡＮ外へコンテンツが過剰にアップロードされないようにするため、各ＬＡＮｍの代表ノードが、ＬＡＮ内からのコンテンツのアップロードを制御するようになっている。具体的には、集計期間内におけるＬＡＮ内からＬＡＮ外への総アップロード量が所定の閾値である許容アップロード量を超えると、ＬＡＮ内のノードＮｎからコンテンツがアップロードされないようになっている。
【００４５】
ＬＡＮ内のノードＮｎとは、或るノードＮｎから見て、或るノードＮｎと同一のＬＡＮｍに接続するノードＮｎをいう。また、ＬＡＮ外のノードＮｎとは、或るノードＮｎから見て、或るノードＮｎと同一のＬＡＮｍに接続していないノードＮｎをいう。総アップロード量は、ＬＡＮ内からＬＡＮ外へコンテンツがアップロードされたデータ量であるアップロード量の合計値である。許容アップロード量は、例えば、システム全体で統一された値が予め設定されていたり、ＬＡＮｍ毎に予め設定されていたりする。集計期間は、総アップロード量を算出する上での単位となる期間である。或る集計期間にコンテンツがアップロードされたデータ量の合計値が、その集計期間の総アップロード量となる。集計期間は、例えば、ＬＡＮｍ毎に予め設定されている。この集計期間は、例えば、１日毎に区切られた期間であったり、１時間毎に区切られた期間であったりする。
【００４６】
なお、代表ノードは、本発明の情報処理装置の一例である。また、総アップロード量は、本発明の総データ量の一例である。また、許容アップロード量は、本発明の所定データ量の一例である。また、集計期間は、本発明の所定の期間の一例である。
【００４７】
代表ノードは、例えば、ＬＡＮｍごとに少なくとも１つ存在し、同一のＬＡＮｍに接続するノードＮｎの中から定められるようになっている。例えば、ＬＡＮ１に接続するノードＮ１、Ｎ２及びＮ３のうち、ノードＮ１が代表ノードとなっている。また、例えば、ＬＡＮ２に接続するノードＮ５及びＮ６のうち、ノードＮ６が代表ノードとなっている。なお、ＬＡＮｍに接続するノードＮｎのうち代表ノード以外のノードを、一般ノードという。
【００４８】
代表ノードがＬＡＮ内の総アップロード量を把握するために、代表ノードに対して、アップロードすべきデータ量を含むコンテンツ要求メッセージが送信されるようになっている。具体的には、例えば図２に示すように、一般ノードであるノードＮ３が、代表ノードであるノードＮ１にパブリッシュメッセージを送信する（図２（１））。パブリッシュメッセージを受信したノードＮ１は、ノードＮ３のインデックス情報をＬＡＮ用のマッピングテーブルに登録する（図２（２））。マッピングテーブルは、ＬＡＮ内のノードＮｎのインデックス情報を登録するテーブルであり、インデックス情報キャッシュとは別に設けられている。このマッピングテーブルは、代表ノードが保持している。そして、ノードＮ１は、ルーティングテーブルに従ってパブリッシュメッセージを転送する（図２（３））。このとき、ノードＮ１は、パブリッシュメッセージに含まれるノードＮ３のノード情報をノードＮ１のノード情報に書き換える。パブリッシュメッセージを受信したルートノード、例えばノードＮ８は、パブリッシュメッセージに含まれるノードＮ１のノード情報を含むインデックス情報をインデックス情報キャッシュに登録する（図２（４））。
【００４９】
パブリッシュメッセージに対する代表ノードによるノード情報の書き換えにより、ノードＮ３へ送信されるべきコンテンツ要求メッセージは、ノードＮ１へ送信される。例えば、ユーザノードであるノードＮ６が、ノードＮ８からコンテンツ保持ノードのインデックス情報を取得する（図２（５））。取得されたインデックス情報には、ノードＮ３のノード情報ではなくノードＮ１のノード情報が含まれている。従って、ノードＮ６は、コンテンツ要求メッセージをノードＮ１に送信する（図２（６））。このとき、ノードＮ６は、アップロード開始位置及びアップロード量をコンテンツ要求メッセージに含める。アップロード開始位置及びアップロード量は、対象のコンテンツのうちどの部分のデータを取得するかを示す情報である。アップロード開始位置は、アップロードしてほしいデータの先頭位置を示すコンテンツの先頭からのオフセットを示す。アップロード量は、アップロードしてほしいデータ量を示す。
【００５０】
ノードＮ１は、受信したコンテンツ要求メッセージに含まれるアップロード量を現在の総アップロード量に加算して、総アップロード量を更新する（図２（７））。更新された総アップロード量が許容アップロード量以下である場合、ノードＮｎは、マッピングテーブルを参照して、受信したコンテンツ要求メッセージを、ＬＡＮ内のコンテンツ保持ノードであるノードＮ３に転送する（図２（８））。ノードＮ３は、受信したコンテンツ要求メッセージに含まれるアップロード開始位置及びアップロード量を取得する。そして、ノードＮ３は、アップロード対象のコンテンツについて、アップロード開始位置が示す位置からアップロード量が示すデータ量分のデータをノードＮ６にアップロードする（図２（９））。
【００５１】
一方、総アップロード量が許容アップロード量を超える場合（図３（１０））、ノードＮ１は、ＬＡＮ１からのコンテンツのアップロードを抑止する制御を行う。具体的に、ノードＮ１は、アップロード不可能通知メッセージをマルチキャストする（図３（１１））。これにより、アップロード不可能通知メッセージが、全ノード装置により受信される。なお、マルチキャストの方法として、例えば、特開２００７−０５３６６２号公報に開示されたＤＨＴマルチキャストを用いても良い。アップロード不可能通知メッセージを受信した各ノードＮｎは、以後ルートノードとして、コンテンツ保持ノードとみなされているノードＮ１のインデックス情報をユーザノードに対して送信しない。これにより、ＬＡＮ内のノードＮｎからコンテンツがアップロードされないようになっている。なお、アップロード不可能通知メッセージは、本発明の不可能メッセージの一例である。
【００５２】
総アップロード量が許容アップロード量を超えてから、各ノードＮｎがアップロード不可能通知メッセージを送信するまでの間に、何れかのノードＮｎ、例えばノードＮ３がノードＮ１に対してコンテンツ要求メッセージを送信する場合がある（図３（１２））。その場合、ノードＮ１は、ノードＮ３に対してアップロード許否メッセージを送信する（図３（１３））。そうすると、ノードＮ３は、別のコンテンツ保持ノードに対してコンテンツ要求メッセージを送信して（図３（１４））、コンテンツを取得する。なお、アップロード許否メッセージは、本発明の許否メッセージの一例である。
【００５３】
その後、集計期間が経過すると、また新たな集計期間が開始される。すると、ノードＮ１は、コンテンツのアップロードの抑制を解除する。具体的に、ノードＮ１は、総アップロード量をゼロにリセットする。そして、ノードＮ１は、アップロード可能通知メッセージをマルチキャストして、全ノードＮｎに送信する。アップロード可能通知メッセージを受信した各ノードＮｎは、以後ルートノードとして、コンテンツ保持ノードとみなされているノードＮ１のインデックス情報の送信を可能とする。
【００５４】
代表ノードとなるノードＮｎは、例えば、予め定められている。例えば、専用のエッジサーバ装置が代表ノードとなり、ユーザにより利用される端末装置が一般ノードとなる。代表ノードは、一般ノードと比べて、パブリッシュメッセージ、リトラクトメッセージ、コンテンツ要求メッセージを受信する頻度が大きくなる。そのため、例えば、エッジサーバ装置のＣＰＵの処理速度やＲＡＭのアクセス速度等を、端末装置に搭載されているものよりも速いものにする。それにより、受信したメッセージに対するエッジサーバ装置の処理速度が速くなり、各メッセージに対する処理がスムーズに行われる。
【００５５】
［３．ノードの構成］
次に、図４を参照して、ノードＮｎの構成について説明する。
【００５６】
図４は、ノードＮｎの概要構成例を示す図である。ノードＮｎは、図４に示すように、演算機能を有するＣＰＵ，作業用ＲＡＭ，各種データ及びプログラムを記憶するＲＯＭ等から構成されたコンピュータとしての制御部２１を備えている。また、各ノードＮｎは、各種データ及び各種プログラム等を記憶保存するためのＨＤ（ハードディスク）等から構成された記憶部２２と、受信されたコンテンツのレプリカ等を一時蓄積するバッファメモリ２３とを備えている。更に、各ノードＮｎは、コンテンツのレプリカに含まれるエンコードされたビデオデータ（映像情報）及びオーディオデータ（音声情報）等をデコードするデコーダ部２４を備えている。また更に、各ノードＮｎは、このデコードされたビデオデータ等に対して所定の描画処理を施しビデオ信号として出力する映像処理部２５と、この映像処理部２５から出力されたビデオ信号に基づき映像表示するＣＲＴ，液晶ディスプレイ等の表示部２６と、を備えている。更にまた、各ノードＮｎは、上記デコードされたオーディオデータをアナログオーディオ信号にＤ （Digital）／Ａ（Analog）変換した後これをアンプにより増幅して出力する音声処理部２７と、この音声処理部２７から出力されたオーディオ信号を音波として出力するスピーカ２８と、を備えている。また更に、各ノードＮｎは、ネットワーク５を通じて他のノードＮｎ等間の情報の通信制御を行うための通信部２９を備えている。更にまた、各ノードＮｎは、ユーザからの指示を受け付けこの指示に応じた指示信号を制御部２１に対して与える入力部３０（例えば、キーボード、マウス、或いは、リモコンや操作パネル等）を備えている。そして、制御部２１、記憶部２２、バッファメモリ２３、デコーダ部２４、通信部２９、及び入力部３０はバス３１を介して相互に接続されている。なお、エッジサーバ装置が代表ノードとなっている場合、入力部２０、デコーダ部２４、映像処理部２５、表示部２６、音声処理部２７、及びスピーカ２８は、代表ノードの構成としては不要である。
【００５７】
記憶部２２には、ＤＨＴを用いたルーティングテーブル、インデックス情報、アップロード不可能リスト、並びに、コンテンツ分散保存システムＳに参加する際のアクセス先となるコンタクトノードのアドレス情報、及びセンターサーバＳＡのアドレス情報等が記憶されている。また、記憶部２２には、ダウンロードされたコンテンツが、コンテンツＩＤに対応付けて記憶されている。
【００５８】
ノードＮｎが代表ノードである場合、記憶部２２には、許容アップロード量、現時点での総アップロード量、ＬＡＮ用のマッピングテーブル、アップロード状態等の情報が記憶されている。アップロード状態は、ＬＡＮ内のノードＮｎが現在コンテンツをアップロードすることが可能な状態であるか否かを示す情報である。
【００５９】
更に、記憶部２２には、オペレーティングシステム、Ｐ２Ｐソフトウェア（本発明の情報通信プログラムを含む）等の各種プログラムが記憶されている。Ｐ２Ｐソフトウェアは、オーバーレイネットワーク６に接続し、他のノードＮｎとの通信等を行うためのソフトウェアである。例えば、代表ノードには、代表ノード用のＰ２Ｐソフトウェアがインストールされ、一般ノードには、一般ノード用のＰ２Ｐソフトウェアがインストールされている。なお、Ｐ２Ｐソフトウェアは、例えば、センターサーバＳＡ等からダウンロードされるようにしても良い。また、Ｐ２Ｐソフトウェアは、例えば、記録媒体に記録されて当該記録媒体からドライブを介して読み込まれるようにしても良い。
【００６０】
制御部２１は、ＣＰＵが記憶部２２等に記憶されたプログラムを読み出して実行することにより、第１取得手段、第２取得手段、第１判定手段、制御手段、送信手段、受信手段、第２送信手段、転送手段、及び第２判定手段として機能する。
【００６１】
［４．コンテンツ分散保存システムの動作］
次に、図５乃至図７を参照して、本実施形態に係るコンテンツ分散保存システムＳの動作について説明する。図５は、本実施形態に係る一般ノードの制御部２１の処理例を示すフローチャートである。
【００６２】
図５に示す処理は、例えば、一般ノードが起動されたときに開始される。先ず、制御部２１は、ユーザからの電源ＯＦＦの要求があったか否かを判定する（ステップＳ１）。ことのき、制御部２１は、電源ＯＦＦの要求がなかった場合には（ステップＳ１：ＮＯ）、ユーザからのコンテンツのリクエストがあったか否かを判定する（ステップＳ２）。
【００６３】
このとき、制御部２１は、ユーザからのコンテンツのリクエストがあった場合には（ステップＳ２：ＹＥＳ）、リクエストされたコンテンツをオーバーレイネットワーク６から取得する（ステップＳ３）。具体的に、制御部２１は、パブリッシュメッセージをルートノードに向けて送信する。その後、制御部２１は、ルートノードから送信されてきたインデックス情報を受信する。次いで、制御部２１は、送信手段として、受信したインデックス情報に基づいて、コンテンツ要求メッセージをコンテンツ保持ノードに送信する。そして、制御部２１は、コンテンツ保持ノードから送信されてきたコンテンツを受信して、記憶部２２に記憶させる。制御部２１は、コンテンツを記憶すると、パブリッシュメッセージを代表ノードに送信する（ステップＳ４）。
【００６４】
制御部２１は、ステップＳ２において、ユーザからのコンテンツのリクエストがなかった場合（ステップＳ２：ＹＥＳ）、または、ステップＳ４の処理を終えた場合には、他のノードＮｎからメッセージを受信したか否かを判定する（ステップＳ５）。このとき、制御部２１は、メッセージを受信していない場合には（ステップＳ５：ＮＯ）、ステップＳ１に移行する。
【００６５】
一方、制御部２１は、メッセージを受信した場合には（ステップＳ５：ＹＥＳ）、受信したメッセージがコンテンツ要求メッセージであるか否かを判定する（ステップＳ６）。このとき、制御部２１は、受信したメッセージがコンテンツ要求メッセージである場合には（ステップＳ６：ＹＥＳ）、記憶部２２からコンテンツを取得して、取得したコンテンツを、コンテンツ要求メッセージを送信してきたノードＮｎにアップロードする（ステップＳ７）。このとき、制御部２１は、受信したコンテンツ要求メッセージに含まれるアップロード開始位置及びアップロード量を取得する。そして、制御部２１は、アップロード対象のコンテンツについて、アップロード開始位置が示す位置からアップロード量が示すデータ量分のデータをアップロードする。制御部２１は、ステップＳ７の処理を終えると、ステップＳ１に移行する。
【００６６】
一方、制御部２１は、受信したメッセージがコンテンツ要求メッセージではない場合には（ステップＳ６：ＮＯ）、受信したメッセージが検索メッセージであるか否かを判定する（ステップＳ８）。このとき、制御部２１は、受信したメッセージが検索メッセージである場合には（ステップＳ８：ＹＥＳ）、検索メッセージに含まれるコンテンツＩＤに対応するインデックス情報がインデックス情報キャッシュに登録されているか否かを判定する（ステップＳ９）。このとき、制御部２１は、検索メッセージに含まれるコンテンツＩＤに対応するインデックス情報がインデックス情報キャッシュに登録されている場合には（ステップＳ９：ＹＥＳ）、検索メッセージを送信してきたノードＮｎにインデックス情報を送信する（ステップＳ１０）。このとき、制御部２１は、アップロード不可能リストに登録されているノードＩＤに対応するインデックス情報は送信しない。制御部２１は、ステップＳ１０の処理を終えると、ステップＳ１に移行する。
【００６７】
一方、制御部２１は、検索メッセージに含まれるコンテンツＩＤに対応するインデックス情報がインデックス情報キャッシュに登録されていない場合には（ステップＳ９：ＮＯ）、一般ノード自身が、検索メッセージに含まれるコンテンツＩＤに対応するコンテンツのルートノードであるか否かを判定する（ステップＳ１１）。このとき、制御部２１は、一般ノード自身がルートノードではない場合には（ステップＳ１１：ＮＯ）、ルーティングテーブルを用いて、検索メッセージを転送する（ステップＳ１２）。制御部２１は、ステップＳ１１において、一般ノード自身がルートノードである場合（ステップＳ１１：ＹＥＳ）、または、ステップＳ１２の処理を終えた場合には、ステップＳ１に移行する。
【００６８】
制御部２１は、ステップＳ８において、受信したメッセージが検索メッセージではない場合には（ステップＳ８：ＮＯ）、受信したメッセージがアップロード許否メッセージであるか否かを判定する（ステップＳ１３）。このとき、制御部２１は、受信したメッセージがアップロード許否メッセージである場合には（ステップＳ１３：ＹＥＳ）、他のノードＮｎからコンテンツを取得するために、再度検索メッセージをルートノードに向けて送信する（ステップＳ１４）。制御部２１は、ステップＳ１４の処理を終えると、ステップＳ１に移行する。
【００６９】
制御部２１は、ステップＳ１３において、受信したメッセージが検索メッセージではない場合には（ステップＳ１３：ＮＯ）、受信したメッセージに対応する処理を実行して（ステップＳ１５）、ステップＳ１に移行する。
【００７０】
制御部２１は、ステップＳ１において、ユーザからの電源ＯＦＦの要求があった場合には（ステップＳ１：ＹＥＳ）、図５に示す処理を終了させる。
【００７１】
図６及び図７は、本実施形態に係る代表ノードの制御部２１の処理例を示すフローチャートである。図６に示す処理は、例えば、代表ノードが起動されたときに開始される。先ず、制御部２１は、ステップＳ２１〜Ｓ２５において、図５に示すステップＳ１〜５と同様の処理を実行する。制御部２１は、ステップＳ２５において、他のノードＮｎからメッセージを受信していない場合には（ステップＳ２５：ＮＯ）、図７に示すステップＳ６８に移行する。
【００７２】
一方、制御部２１は、メッセージを受信した場合には（ステップＳ２５：ＹＥＳ）、受信したメッセージがコンテンツ要求メッセージであるか否かを判定する（ステップＳ２６）。このとき、制御部２１は、受信したメッセージがコンテンツ要求メッセージである場合には（ステップＳ２６：ＹＥＳ）、現在のアップロード状態がアップロード可能状態であるか否かを判定する（ステップＳ２７）。記憶部２２に記憶されているアップロード状態がアップロード可能状態である場合には、ＬＡＮ内のノードＮｎが現在コンテンツをアップロードすることが可能な状態であることを示す。記憶部２２に記憶されているアップロード状態がアップロード不可能状態である場合には、ＬＡＮ内のノードＮｎが現在コンテンツをアップロードすることが不可能な状態であることを示す。
【００７３】
このとき、制御部２１は、アップロード状態がアップロード可能状態である場合には（ステップ２７：ＹＥＳ）、第１取得手段として、受信したコンテンツ要求メッセージからアップロード量を取得する（ステップＳ２８）。次いで、制御部２１は、第２取得手段として、現在の総アップロード量と取得したアップロード量との和を計算する。そして、制御部２１は、第１判定手段として、現在の総アップロード量と取得したアップロード量との和が許容アップロード量以下であるか否かを判定する（ステップＳ２９）。このとき、制御部２１は、総アップロード量と取得したアップロード量との和が許容アップロード量以下である場合には（ステップＳ２９：ＹＥＳ）、取得したアップロード量を総アップロード量に加算する（ステップＳ３０）。
【００７４】
次いで、制御部２１は、代表ノード自身が、受信したコンテンツ要求メッセージに含まれるコンテンツＩＤに対応するコンテンツのコンテンツ保持ノードであるか否かを判定する（ステップＳ３１）。ことのき、制御部２１は、代表ノード自身がコンテンツ保持ノードである場合には（ステップＳ３１：ＹＥＳ）、コンテンツ要求メッセージを送信してきたノードＮｎに対して、記憶部２２に記憶されているコンテンツをアップロードする（ステップＳ３２）。なお、ステップＳ３２の具体的な処理内容は、図５に示すステップＳ７の処理内容と同様である。一方、制御部２１は、代表ノード自身がコンテンツ保持ノードではない場合には（ステップＳ３１：ＮＯ）、転送手段として、受信したコンテンツ要求メッセージをＬＡＮ内のノードＮｎに転送する（ステップＳ３３）。具体的に、制御部２１は、受信したコンテンツ要求メッセージに含まれるコンテンツＩＤに対応するインデックス情報を、マッピングテーブルから取得する。そして、制御部２１は、取得したインデックス情報が示すノードＮｎにコンテンツ要求メッセージを転送する。制御部２１は、ステップＳ３２またはＳ３３の処理を終えると、ステップＳ６８に移行する。
【００７５】
制御部２１は、ステップＳ２９において、総アップロード量と取得したアップロード量との和が許容アップロード量より大きい場合には（ステップＳ２９：ＮＯ）、アップロード状態をアップロード不可能状態に変更する（ステップＳ３４）。次いで、制御部２１は、制御手段として、アップロード不可能通知メッセージをマルチキャストする（ステップＳ３５）。このアップロード不可能通知メッセージには、代表ノード自身のノードＩＤが含まれる。アップロード不可能通知メッセージを受信した各ノードＮｎは、アップロード不可能通知メッセージに含まれるノードＩＤを、アップロード不可能リストに登録する。制御部２１は、ステップＳ３５の処理を終えると、ステップＳ６８に移行する。
【００７６】
制御部２１は、ステップＳ２７において、現在のアップロード状態がアップロード不可能状態である場合には（ステップＳ２７：ＮＯ）、制御手段として、コンテンツ要求メッセージを送信してきたノードＮｎに、アップロード許否メッセージを送信する（ステップＳ３６）。制御部２１は、ステップＳ３６の処理を終えると、ステップＳ６８に移行する。
【００７７】
制御部２１は、受信したメッセージがコンテンツ要求メッセージではない場合には（ステップＳ２６：ＮＯ）、図７に示すように、ステップＳ５１〜Ｓ５７において、図５に示すステップＳ８〜Ｓ１４と同様の処理を実行する。このとき、制御部２１は、インデックス情報を送信した場合（ステップＳ５３）、検索メッセージを転送した場合（ステップＳ５５）、代表ノード自身がルートノードである場合（ステップＳ５４：ＹＥＳ）、または、検索メッセージを送信した場合には（ステップＳ５７）、ステップＳ６８に移行する。
【００７８】
制御部２１は、ステップＳ５６において、受信したメッセージがアップロード許否メッセージではない場合には（ステップＳ５６：ＮＯ）、受信したメッセージがＬＡＮ内のノードＮｎからのパブリッシュメッセージであるか否かを判定する（ステップＳ５８）。ＬＡＮ外のノードＮｎから送信されてＬＡＮ内のノードＮｎにより代表ノードへ転送されたメッセージは、ここでいうＬＡＮ内のノードＮｎからのメッセージには含まれない。ＬＡＮ内のノードＮｎからのメッセージであるか否かは、例えば、メッセージに含まれるノード情報のＩＰアドレスから判定することができる。ＩＰアドレスは、ネットワークを区別するためのネットワークアドレスと、ネットワーク内でホストを区別するためのホストアドレスとにより構成されている。そこで、制御部２１は、ノード情報のＩＰアドレスのネットワークアドレス部分と、代表ノード自身のローカルアドレスのネットワークアドレス部分とを比較する。そして、ネットワークアドレスが一致した場合、受信したメッセージはＬＡＮ内のノードＮｎから送信されたメッセージであると判定される。ＩＰアドレスから当該ＩＰアドレスのクラスを特定することができる。そして、当該クラスにより、ＩＰアドレスの最上位ビットから何ビット目までがネットワークアドレスを示すかを判断することができる。或いは、記憶部２２にサブネットマスクが記憶されていれば、当該サブネットマスクにより、ＩＰアドレスの最上位ビットから何ビット目までがネットワークアドレスとサブネットアドレスを示すかを判断することができる。この場合、ネットワークアドレスとサブネットアドレスの両方が一致しているか否かが判定される。
【００７９】
制御部２１は、受信したメッセージがＬＡＮ内のノードＮｎからのパブリッシュメッセージである場合には（ステップＳ５８：ＹＥＳ）、パブリッシュメッセージに含まれるノード情報及びコンテンツＩＤを、インデックス情報としてマッピングテーブルに登録する（ステップＳ５９）。
【００８０】
次いで、制御部２１は、現在のアップロード状態がアップロード可能状態であるか否かを判定する（ステップＳ６０）。このとき、制御部２１は、アップロード状態がアップロード可能状態である場合には（ステップＳ６０：ＹＥＳ）、インデックス情報をインデックス情報キャッシュに登録する（ステップＳ６１）。このとき、制御部２１は、登録するインデックス情報に含まれるノード情報を、代表ノード自身のノード情報に書き換える。アップロード状態がアップロード可能状態である場合には、ＬＡＮ内のノードＮｎからコンテンツをアップロードすることができる。代表ノードが、他のノードＮｎから受信した検索メッセージに含まれるコンテンツＩＤに対応するコンテンツを、ＬＡＮ内のノードＮｎが保存している場合がある。この場合に、代表ノード自身のノード情報を含むインデックス情報をユーザノードに送信することができるようにする。これにより、ユーザノードからのアップロード要求メッセージが代表ノードに送信される。
【００８１】
次いで、制御部２１は、代表ノード自身が、パブリッシュメッセージに含まれるコンテンツＩＤに対応するコンテンツのルートノードであるか否かを判定する（ステップＳ６２：ＹＥＳ）。このとき、制御部２１は、代表ノード自身がルートノードではない場合には（ステップＳ６２：ＮＯ）。第２送信手段として、ルーティングテーブルを用いて、パブリッシュメッセージを転送する（ステップＳ６３）。このとき、制御部２１は、パブリッシュメッセージに含まれるノード情報を、代表ノード自身のノード情報に書き換える。制御部２１は、ステップＳ６０において、アップロード状態がアップロード不可能状態である場合（ステップＳ６０：ＮＯ）、ステップＳ６２において、代表ノード自身がルートノードである場合（ステップＳ６２：ＹＥＳ）、または、ステップＳ６３の処理を終えた場合には、ステップＳ６８に移行する。
【００８２】
制御部２１は、ステップＳ５８において、受信したメッセージがＬＡＮ内のノードＮｎからのパブリッシュメッセージではない場合には（ステップＳ５８：ＮＯ）、受信したメッセージがＬＡＮ内のノードＮｎからのリトラクトメッセージであるか否かを判定する（ステップＳ６４）。このとき、制御部２１は、受信したメッセージがＬＡＮ内のノードＮｎからのリトラクトメッセージである場合には（ステップＳ６４：ＹＥＳ）、リトラクトメッセージに含まれるノード情報及びコンテンツＩＤに対応するインデックス情報をマッピングテーブルから削除する（ステップＳ６５）。次いで、制御部２１は、インデックス情報キャッシュからもインデックス情報を削除する（ステップＳ６６）。制御部２１は、ステップＳ６６の処理を終えると、ステップＳ６２に移行する。そして、制御部２１は、代表ノード自身が、リトラクトメッセージに含まれるコンテンツＩＤに対応するコンテンツのルートノードである場合には、ルーティングテーブルを用いて、リトラクトメッセージを転送する。この場合も、制御部２１は、リトラクトメッセージに含まれるノード情報を、代表ノード自身のノード情報に書き換える。
【００８３】
制御部２１は、ステップＳ６４において、受信したメッセージがＬＡＮ内のノードＮｎからのリトラクトメッセージではない場合には（ステップＳ６４：ＮＯ）、受信したメッセージに対応する処理を実行して（ステップＳ６７）、ステップＳ６８に移行する。
【００８４】
ステップＳ６８において、制御部２１は、第２判定手段として、集計期間の終了日時に達したか否かを判定する（ステップＳ６８）。このとき、制御部２１は、集計期間の終了日時に達したか場合には（ステップＳ６８：ＹＥＳ）、現在のアップロード状態がアップロード不可能状態であるか否かを判定する（ステップＳ６９）。このとき、制御部２１は、アップロード状態がアップロード不可能状態である場合には（ステップＳ６９：ＹＥＳ）、アップロード状態をアップロード可能状態に変更する（ステップＳ７０）。このとき、制御部２１は、総アップロード量をゼロにリセットする。次いで、制御部２１は、アップロード可能通知メッセージをマルチキャストする（ステップＳ７１）。このアップロード可能通知メッセージには、代表ノード自身のノードＩＤが含まれる。アップロード可能通知メッセージを受信した各ノードＮｎは、アップロード可能通知メッセージに含まれるノードＩＤを、アップロード不可能リストから削除する。制御部２１は、ステップＳ６８において、集計期間の終了日時に達していない場合（ステップＳ６８：ＮＯ）、ステップＳ６９において、アップロード状態がアップロード可能状態である場合（ステップＳ６９：ＮＯ）、または、ステップＳ７１の処理を終えた場合には、ステップＳ２１に移行する。
【００８５】
制御部２１は、ステップＳ２１において、ユーザからの電源ＯＦＦの要求があった場合には（ステップＳ２１：ＹＥＳ）、図６及び図７に示す処理を終了させる。
【００８６】
以上説明したように、本実施形態によれば、代表ノードが、ＬＡＮ内からＬＡＮ外への総アップロード量を取得する。代表ノードが、総アップロード量が許容アップロード量を超えたと判定した場合には、ＬＡＮ内のノードＮｎによるコンテンツのアップロードを抑止する制御を行う。従って、ＬＡＮ内からＬＡＮ外へのコンテンツの送信が過剰に行われることを防止することができる。また、代表ノードが、ＬＡＮ外に接続するノードＮｎから送信されたコンテンツの要求を示すコンテンツ要求メッセージを受信する。そして、代表ノードが、受信されたコンテンツ要求メッセージに含まれるコンテンツＩＤに対応するコンテンツについてアップロードすべきデータ量を取得する。従って、ＬＡＮ内からコンテンツがアップロードされることを代表ノードが認識することができる。そのため、代表ノードが、アップロード量を的確に把握することができる。また、代表ノードが、受信されたコンテンツ要求メッセージに含まれるデータ量を、アップロード量として取得する。従って、ＬＡＮ内からＬＡＮ外へ送信されるコンテンツのデータ量を代表ノードが的確に把握することができる。また、代表ノードは、実際に送信されたコンテンツのデータ量を監視する必要がないので、代表ノードの処理負荷を軽減することができる。
【００８７】
また、代表ノードが、ＬＡＮ内の一般ノードからパブリッシュメッセージを受信した場合、パブリッシュメッセージに含まれるノード情報を代表ノードのノード情報に書き換えて、ルートノードに向けて転送する。従って、ＬＡＮ内のノードＮｎが保存しているコンテンツは、代表ノードが保存しているものとしてルートノードにより管理される。そのため、代表ノードがコンテンツ要求メッセージを受信することができる。よって、ＬＡＮ内からＬＡＮ外へ送信されたコンテンツのデータ量を的確に把握することができる。また、代表ノードが、総アップロード量が許容アップロード量を超えたと判定された後、集計期間が経過したか否かを判定する。そして、代表ノードが、集計期間が経過したと判定された場合には、コンテンツの送信の抑止を解除する。従って、集計期間が経過することによって、ＬＡＮ内のノードＮｎは、コンテンツをアップロードすることができる。
【００８８】
また、代表ノードが、総アップロード量が許容アップロード量を超えたと判定されたとき、アップロード不可能通知メッセージを、各ノードＮｎにマルチキャストする。従って、ルートノードがアップロード不可能通知メッセージを受信することにより、代表ノードに対してコンテンツ要求メッセージが送信されることを抑止することができる。また、コンテンツをアップロードすることができないことをコンテンツ毎に通知する必要がない。また、代表ノードが、総アップロード量が許容アップロード量を超えたと判定された場合には、アップロード拒否メッセージを、コンテンツ要求メッセージを送信してきたノードＮｎへ送信する。従って、ユーザノードは、アップロード拒否メッセージを受信することにより、ＬＡＮ内のノードＮｎからコンテンツを取得することができないことを認識することができる。よって、ＬＡＮ内のノードＮｎによるコンテンツのアップロードが抑止される。
【００８９】
なお、上記実施形態においては、代表ノードとなるノードＮｎが予め定められていた。しかしながら、例えば、同一のＬＡＮ内においてコンテンツ分散保存システムＳに参加しているノードＮｎのうち、最も早くコンテンツ分散保存システムＳに参加しているノードＮｎが代表ノードとなっても良い。具体的には、例えば、コンテンツ分散保存システムＳに参加するノードＮｎは、ノードＮｎ自身が記憶する所定の参加テーブルに、ノードＮｎ自身のノード情報と参加日時としての現在日時とを対応付けて登録する。また、ノードＮｎは、ノードＮｎ自身のノード情報及び参加日時を含む参加通知メッセージをＬ２ブロードキャストでＬＡＮ内の各ノードＮｎに送信する。
【００９０】
参加通知メッセージを受信したノードＮｎがその時点でコンテンツ分散保存システムＳに参加している場合、そのノードＮｎは、参加通知メッセージに含まれるノード情報及び参加日時を、ノードＮｎ自身が記憶する参加テーブルに対応付けて登録する。更に、その時点でコンテンツ分散保存システムＳに参加しているノードＮｎは、ノードＮｎ自身のノード情報及び参加日時を含む返答メッセージを、参加通知メッセージを送信してきたノードＮｎに送信する。一方、参加通知メッセージを受信したノードＮｎがその時点でコンテンツ分散保存システムＳに参加していない場合、そのノードＮｎは、参加通知メッセージを破棄する。
【００９１】
コンテンツ分散保存システムＳに参加するノードＮｎが所定の時間内に返答メッセージを１つも受信しなかった場合、そのノードＮｎが代表ノードとなる。一方、各ノードＮｎから返答メッセージを受信した場合、ノードＮｎは、返答メッセージに含まれるノード情報及び参加日時を、それぞれノードＮｎ自身が記憶する参加テーブルに登録する。そして、ノードＮｎは、参加テーブルに登録されている参加日時が最も早いノード情報を、代表ノードのノード情報とする。以後、ノードＮｎは、代表ノードのノード情報を用いて代表ノードに対してメッセージを送信する。
【００９２】
コンテンツ分散保存システムＳに参加していたノードＮｎが、コンテンツ分散保存システムＳから離脱する場合、そのノードＮｎは、ノードＮｎ自身のノード情報を含む離脱通知メッセージをＬ２ブロードキャストでＬＡＮ内の各ノードＮｎに送信する。離脱通知メッセージを受信したノードＮｎがその時点でコンテンツ分散保存システムＳに参加している場合、そのノードＮｎは、離脱通知メッセージに含まれるノード情報とそのノード情報に対応する参加日時とを、参加テーブルから削除する。そして、ノードＮｎは、その時点で参加テーブルに登録されている参加日時が最も早いノード情報を、代表ノードのノード情報とする。もし、ノードＮｎ自身の参加日時が最も早い場合、或いは、参加テーブルにノードＮｎ自身のノード情報しか残されていない場合、そのノードＮｎが代表ノードとなる。このようにすることで、ＬＡＮ内の特定のノードＮｎを、代表ノードとして常にコンテンツ分散保存システムＳに参加させておく必要がなくなる。
【００９３】
また、上記実施形態においては、アップロード状態がアップロード可能状態であるとき、代表ノードが、コンテンツ要求を受信した場合には、代表ノード自身が、コンテンツ許否メッセージを送信していた。しかしながら、例えば、代表ノードが、ＬＡＮ内のいずれかの一般ノードに通知して、一般ノードによりコンテンツ許否メッセージを送信させても良い。
【００９４】
また、上記実施形態においては、一般ノードＮｎは、コンテンツ保持ノードとして直接ＬＡＮ外のユーザノードにコンテンツをアップロードしていた。しかしながら、一般ノードＮｎは、ＬＡＮ内の代表ノードを介してＬＡＮ外のユーザノードにコンテンツをアップロードしても良い。この場合、代表ノードが、ＬＡＮ内の一般ノードからアップロードされてきたコンテンツをユーザノードに中継する。
【００９５】
また、代表ノードがコンテンツを中継する場合、アップロード量をコンテンツ要求メッセージから取得するのではなく、中継したコンテンツのデータ量をアップロード量として取得しても良い。この場合であれば、代表ノードが、総アップロード量を正確に把握することができる。また、コンテンツ要求メッセージを受信しなくても一般ノードからＬＡＮ外へコンテンツをアップロードする、いわゆるプッシュ配信の場合にも、代表ノードがアップロード量を把握することができる。
【００９６】
また、代表ノードが、アップロード不可能通知メッセージをマルチキャストするとき、アップロードが抑制される集計期間が終了する日時をアップロード不可能通知メッセージに含めても良い。この場合、アップロード不可能通知メッセージを受信したノードＮｎは、アップロード不可能通知メッセージに含まれるノードＩＤと日時とを対応付けてアップロード不可能リストに登録する。そして、アップロード不可能リストに登録された日時が経過したとき、ノードＮｎは、アップロード不可能リストから、ノードＩＤと日時を削除する。そうすることにより、代表ノードが、アップロード可能通知メッセージを送信する必要がない。
【００９７】
また、代表ノードがアップロード不可能通知メッセージをマルチキャストするのではなく、コンテンツをアップロードすることができないことを、別の方法で各ノードＮｎに通知しても良い。例えば、代表ノードが、マッピングテーブルにインデックス情報が登録されているコンテンツ毎に、リトラクトメッセージを送信しても良い。この場合、代表ノードは、リトラクトメッセージに、代表ノード自身のノード情報と、マッピングテーブルにインデックス情報が登録されているコンテンツのコンテンツＩＤとを含めるようにする。この場合、代表ノードは、集計期間の終了日時が経過したら、アップロード可能通知メッセージを送信する代わりに、インデックス情報が登録されているコンテンツ毎にパブリッシュメッセージを送信する。なお、この場合におけるリトラクトメッセージは、本発明の不可能メッセージの他の例である。
【００９８】
また、代表ノードが、ＬＡＮ内の各一般ノードが保存しているコンテンツのコンテンツＩＤを、各一般ノードに問い合わせても良い。そして、代表ノードが、各一般ノードから取得したコンテンツＩＤ毎に、リトラクトメッセージを送信しても良い。代表ノードのマッピングテーブルに登録することができるインデックス情報の数に上限がある場合がある。この場合、ＬＡＮ内の一般ノードが保存しているコンテンツの数が上限より多いと、全てのインデックス情報をマッピングテーブルに登録することができない場合がある。そのような場合であっても、代表ノードが、ＬＡＮ内の一般ノードが保存している全てのコンテンツについてリトラクトメッセージを送信することができる。
【００９９】
また、代表ノードは、リトラクトメッセージを送信するのではなく、コンテンツ毎にアップロード不可通知メッセージをユニキャストで送信しても良い。この場合、代表ノードは、代表ノード自身のノード情報とコンテンツＩＤとを、アップロード不可通知メッセージに含める。代表ノードから送信されたアップロード不可通知メッセージは、ＤＨＴルーティングによってルートノードに到達するようにする。そして、ルートノードは、アップロード不可通知メッセージに含まれるノード情報及びコンテンツＩＤに対応するインデックス情報に対応付けて、アップロードが不可能であることを示すフラグ情報を設定する。以後、ルートノードは、フラグ情報が設定されたインデックス情報はユーザノードに対して送信しない。そして、代表ノードは、集計期間の終了日時が経過したら、コンテンツ毎に、アップロード可能通知メッセージをユニキャストで送信する。この場合も、代表ノードは、代表ノード自身のノード情報とコンテンツＩＤとを、アップロード可能通知メッセージに含める。代表ノードから送信されたアップロード可通知メッセージも、ＤＨＴルーティングによってルートノードに到達するようにする。そして、ルートノードは、アップロード可通知メッセージに含まれるノード情報及びコンテンツＩＤに対応するインデックス情報に対応付けられていたフラグ情報を削除する。また、この場合も、代表ノードは、アップロード不可通知メッセージに、集計期間の終了日時を含めても良い。
【０１００】
また、上記実施形態において、代表ノードは、コンテンツ要求メッセージを受信したときに、アップロード状態がアップロード可能状態である場合には、アップロード許否メッセージを返信していた。しかしながら、代表ノードは、単にコンテンツ要求メッセージを破棄しても良い。つまり、代表ノードは、アップロード許否メッセージの送信も、コンテンツ要求メッセージの転送もしなくても良い。この場合、ユーザノードは、コンテンツ要求メッセージを送信してから所定の時間が経過してもコンテンツがアップロードされてこないときには、他のノードＮｎにコンテンツ要求メッセージを送信すればよい。
【０１０１】
また、代表ノードは、アップロード許否メッセージを返信するのではなく、受信したコンテンツ要求メッセージをＬＡＮ外のノードＮｎに転送しても良い。この場合、代表ノードは、コンテンツ要求メッセージに含まれるコンテンツＩＤを含む検索メッセージをルートノードに向けて送信して、インデックス情報を取得する。そして、代表ノードは、取得したインデックス情報から、代表ノード自身以外のコンテンツ保持ノードのインデックス情報を選択する。そして、代表ノードは、選択したインデックス情報が示すコンテンツ保持ノードにコンテンツ要求メッセージを転送する。この場合、ユーザノードは、コンテンツ要求メッセージの転送先のコンテンツ保持ノードからコンテンツを取得することができる。
【０１０２】
また、上記実施形態においては、一般ノードもオーバーレイネットワーク６に接続するようになっていた。しかしながら、ＬＡＮｍに接続するノードＮｎのうち代表ノードのみがオーバーレイネットワーク６に接続するようになっていても良い。この場合、一般ノードは、ＤＨＴルーティングに従って転送されるべきメッセージ、例えば、検索メッセージ等を送信する場合には、代表ノードに検索メッセージを送信する。そして、代表ノードが、受信した検索メッセージをルートノードに向けて転送すれば良い。
【０１０３】
また、上記実施形態においては、本発明の所定のネットワークとして、ＬＡＮを適用していた。しかしながら、本発明の所定のネットワークとして、例えば、インターネット等への接続サービスを提供するＩＳＰ（Internet Service Provider）等により構築されるアクセスネットワーク等を適用しても良い。
【０１０４】
また、上記実施形態においては、オーバーレイネットワークに、ＤＨＴを利用したピアツーピアネットワークが適用されていたが、これに限られるものではない。例えば、他のピアツーピアシステム、または、オーバーレイネットワークを用いたシステムが適用されても良い。ＤＨＴを利用しないピアツーピアシステムとしては、例えば、ハイブリッド型のピアツーピアシステムがある。ハイブリッド型のピアツーピアシステムでは、例えば、所定のサーバ装置が、全てのコンテンツの所在を管理する。この場合、代表ノードは、総アップロード量が許容アップロード量を超えたときには、例えば、所定のサーバ装置に対してアップロード不可能通知メッセージを送信すれば良い。
【符号の説明】
【０１０５】
１、２、３  ＬＡＮ
４  ＷＡＮ
５  ネットワーク
６  オーバーレイネットワーク
２１  制御部
２２  記憶部
Ｎｎ  ノード
ＳＡ  センターサーバ
ＲＴ  ルータ
Ｓ  コンテンツ分散保存システム
【図１】
2011198284.tif 000003
【図２】
2011198284.tif 000004
【図３】
2011198284.tif 000005
【図４】
2011198284.tif 000006
【図５】
2011198284.tif 000007
【図６】
2011198284.tif 000008
【図７】
2011198284.tif 000009