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