(57)【特許請求の範囲】
【請求項１】
ネットワークを介して複数のノード装置により構成されるオーバーレイネットワークに、複数のコンテンツが分散して保存されるコンテンツ分散保存システムであって、
前記コンテンツ分散保存システムは、
前記オーバーレイネットワークにより分散して保存されるコンテンツのオリジナルを保存する情報処理装置と、
前記複数のノード装置のいずれかである第１ノード装置と、
を含み、
前記第１ノード装置は、
前記コンテンツが前記ネットワークを介して取得可能となる公開時期を示す公開時期情報であって、前記複数のコンテンツの少なくともいずれかの前記公開時期情報と、前記コンテンツを夫々識別する第１識別情報とを対応付けて記憶する第１記憶手段と、
現在の時刻を示す時刻情報を取得する第１取得手段と、
前記記憶手段に記憶される前記公開時期情報の中で、前記第１取得手段により取得された前記時刻情報が示す現在の時刻から所定の期間経過後に公開される前記公開時期情報があるかを判定する第１判定手段と、
前記第１判定手段により、前記現在時刻情報が示す現在の時刻から所定の期間経過後に公開される前記公開時期情報があると判定されたとき、前記第１判定手段により判定された前記公開時期情報に対応する前記第１識別情報が示す前記コンテンツが、前記ネットワークを介して取得可能であることを示す第１パブリッシュメッセージを送信する第１送信手段と、
前記第１パブリッシュメッセージに基づいて、前記複数のノード装置の中で前記第１ノード装置とは異なる他のノード装置から送信された所定のコンテンツの送信要求を示す送信要求情報を受信する受信手段と、
前記受信手段により前記送信要求情報が受信されたとき、前記送信要求情報により要求されたコンテンツを前記情報処理装置から取得する第２取得手段と、
前記第２取得手段により取得されたコンテンツを、前記要求情報の送信元のノード装置へ送信する第２送信手段と、
を備えることを特徴とする第１ノード装置。
【請求項２】
前記情報処理装置または前記複数のノード装置のいずれかの前記ノード装置から取得した前記コンテンツを記憶する第２記憶手段を備え、
前記第１判定手段により判定された前記公開時期情報に対応する前記識別情報が示す前記コンテンツが、前記第２記憶手段に記憶されていない場合、前記第１送信手段は、前記第１パブリッシュメッセージを送信することを特徴とする請求項１に記載の第１ノード装置。
【請求項３】
前記コンテンツを記憶する第２記憶手段と、
前記要求情報により要求された前記コンテンツが、前記第２記憶手段に記憶されているか否かを判定する第３判定手段と、
を備え、
前記第３判定手段により、前記要求されたコンテンツが前記第２記憶手段に記憶されていないと判定されたとき、前記第２記憶手段は、前記第２取得手段により取得されたコンテンツを記憶することを特徴とする請求項１または請求項２に記載の第１ノード装置。
【請求項４】
前記第２取得手段により前記コンテンツが取得されたとき、所定の期間内に前記受信手段により受信された前記要求情報の数が所定数以上であるかを判定する第４判定手段を備え、
前記第４判定手段により前記要求情報の数が所定数以上であると判定されたとき、前記第２記憶手段は、前記第２取得手段により取得されたコンテンツを記憶することを特徴とする請求項３に記載の第１ノード装置。
【請求項５】
前記第４判定手段により前記要求情報の数が所定数以上であると判定されたとき、前記第２取得手段により取得されたコンテンツを、他のノード装置に保存させるメッセージを示す保存要求メッセージを前記複数のノード装置のいずれかのノード装置に送信する第２送信手段を備えることを特徴とする請求項４に記載の第１ノード装置。
【請求項６】
前記第１記憶手段は、所定の桁数から構成される前記第１識別情報を記憶し、  前記第１ノード装置は、
前記第１識別情報と同じ前記所定の桁数から構成され、前記複数のノード装置を夫々識別する第２識別情報であって、前記第１のノード装置に付与された前記第２識別情報を記憶する第３記憶手段と、
前記第１判定手段により、前記現在時刻情報が示す現在の時刻から所定の期間経過後に公開される前記公開時期情報があると判定されたとき、前記第１判定手段により判定された前記公開時期情報に対応する前記第１識別情報と、前記第３記憶手段に記憶された前記第２識別情報との差が所定範囲内であるかを判定する第５判定手段と、
を備え、
前記第５判定手段により、差が所定範囲内であると判定されたとき、前記第１送信手段は、前記第１パブリッシュメッセージを送信することを特徴とする請求項１から請求項５の何れか一項に記載の第１ノード装置。
【請求項７】
前記第１判定手段により判定された前記公開時期情報に対応する前記第１識別情報が示す前記コンテンツの第１データ容量が、前記第２記憶手段に前記コンテンツを記憶可能な第２データ容量以下であるか否かを判定する第６判定手段を備え、
前記第６判定手段により、前記第１データ容量が、前記第２データ容量以下であると判定されなかったとき、前記第１送信手段は、前記第１パブリッシュメッセージを送信しないことを特徴とする請求項１から請求項６のいずれか一項に記載の第1ノード装置。
【請求項８】
前記第１記憶手段は、前記第１識別情報と、前記第１識別情報が示す前記コンテンツの前記第１データ容量とを対応付けて記憶し、
前記第１送信手段により、前記第１パブリッシュメッセージが送信されるとき、前記第１パブリッシュメッセージが送信されるコンテンツの前記第１データ容量を、前記第２データ容量から減算する減算手段を備え、
前記第６判定手段は、前記第１データ容量が、前記減算手段により減算された前記第２データ容量以下であるか否かを判定することを特徴とする請求項７に記載の第1ノード装置。
【請求項９】
ネットワークを介して複数のノード装置により構成されるオーバーレイネットワークに、複数のコンテンツが分散して保存されるコンテンツ分散保存システムであって、
前記コンテンツ分散保存システムは、
前記オーバーレイネットワークにより分散して保存されるコンテンツのオリジナルを保存する情報処理装置と、
前記複数のノード装置のいずれかである第１ノード装置と、
を含み、
前記第１ノード装置は、
前記コンテンツが前記ネットワークを介して取得可能となる公開時期を示す公開時期情報であって、前記複数のコンテンツの少なくともいずれかの前記公開時期情報と、前記コンテンツデータを夫々識別する第１識別情報とを対応付けて記憶する第１記憶手段と、
現在の時刻を示す時刻情報を取得する第１取得手段と、
前記記憶手段に記憶される前記公開時期情報の中で、前記第１取得手段により取得された前記時刻情報が示す現在の時刻から所定の期間経過後に公開される前記公開時期情報があるかを判定する第１判定手段と、
前記第１判定手段により、前記現在時刻情報が示す現在の時刻から所定の期間経過後に公開される前記公開時期情報があると判定されたとき、前記第１判定手段により判定された前記公開時期情報に対応する前記第１識別情報が示す前記コンテンツが、前記ネットワークを介して取得可能であることを示すパブリッシュメッセージを送信する第１送信手段と、
前記パブリッシュメッセージに基づいて、前記複数のノード装置の中で前記第１ノード装置とは異なる他のノード装置から送信された所定のコンテンツの送信要求を示す送信要求情報を受信する受信手段と、
前記受信手段により前記送信要求情報が受信されたとき、前記情報処理装置から前記送信要求情報により要求されたコンテンツを取得する第２取得手段と、
前記第２取得手段により取得されたコンテンツを、前記要求情報の送信元のノード装置へ送信する第２送信手段と、
を備えることを特徴とするコンテンツ分散保存システム。
【請求項１０】
ネットワークを介して複数のノード装置により構成されるオーバーレイネットワークに、複数のコンテンツが分散して保存されるコンテンツ分散保存システムのコンテンツ分散保存方法であって、
前記コンテンツが前記ネットワークを介して取得可能となる公開時期を示す公開時期情報であって、前記複数のコンテンツの少なくともいずれかの前記公開時期情報と、前記コンテンツデータを夫々識別する第１識別情報とを対応付けて記憶する第１記憶手段に記憶される前記公開時期情報の中で、前記複数のノード装置のいずれかである第１ノード装置の第１取得手段により取得された時刻情報が示す現在の時刻から所定の期間経過後に公開される前記公開時期情報があるかを、前記第１のノード装置が判定する第１判定ステップと、
前記第１判定ステップにより、前記現在時刻情報が示す現在の時刻から所定の期間経過後に公開される前記公開時期情報があると判定されたとき、前記第１判定ステップにより判定された前記公開時期情報に対応する前記第１識別情報が示す前記コンテンツが、前記ネットワークを介して取得可能であることを示すパブリッシュメッセージを、前記第１のノード装置が送信する第１送信ステップと、
前記パブリッシュメッセージに基づいて、前記複数のノード装置の中で前記第１ノード装置とは異なる他のノード装置から送信された所定のコンテンツの送信要求を示す送信要求情報を、前記第１のノード装置が受信する受信ステップと、
前記受信ステップにより前記送信要求情報が受信されたとき、前記オーバーレイネットワークにより分散して保存されるコンテンツのオリジナルを保存する情報処理装置から前記送信要求情報により要求されたコンテンツを、前記第１のノード装置が取得する第２取得ステップと、
前記第２取得ステップにより取得されたコンテンツを、前記要求情報の送信元のノード装置へ、前記第１のノード装置が送信する第２送信ステップと、
を含むコンテンツ分散保存方法。
【請求項１１】
ネットワークを介して複数のノード装置により構成されるオーバーレイネットワークに、複数のコンテンツが分散して保存されるコンテンツ分散保存システムにおいて、前記複数のノード装置のいずれかである第１ノード装置のコンピュータに、
前記コンテンツが前記ネットワークを介して取得可能となる公開時期を示す公開時期情報であって、前記複数のコンテンツの少なくともいずれかの前記公開時期情報と、前記コンテンツデータを夫々識別する第１識別情報とを対応付けて記憶する第１記憶手段に記憶される前記公開時期情報の中で、前記第１ノード装置の第１取得手段により取得された時刻情報が示す現在の時刻から所定の期間経過後に公開される前記公開時期情報があるかを判定する第１判定ステップと、
前記第１判定ステップにより、前記現在時刻情報が示す現在の時刻から所定の期間経過後に公開される前記公開時期情報があると判定されたとき、前記第１判定ステップにより判定された前記公開時期情報に対応する前記第１識別情報が示す前記コンテンツが、前記ネットワークを介して取得可能であることを示すパブリッシュメッセージを送信する第１送信ステップと、
前記パブリッシュメッセージに基づいて、前記複数のノード装置の中で前記第１ノード装置とは異なる他のノード装置から送信された所定のコンテンツの送信要求を示す送信要求情報を受信する受信ステップと、
前記受信ステップにより前記送信要求情報が受信されたとき、前記オーバーレイネットワークにより分散して保存されるコンテンツのオリジナルを保存する情報処理装置から前記送信要求情報により要求されたコンテンツを取得する第２取得ステップと、
前記第２取得ステップにより取得されたコンテンツを、前記要求情報の送信元のノード装置へ送信する第２送信ステップと、
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたピアツーピア（Ｐｅｅｒ  ｔｏ  Ｐｅｅｒ（Ｐ２Ｐ））型の通信システムに関する。具体的には、コンテンツのオリジナルを記憶する情報処理装置の通信負荷を低減させるコンテンツ分散保存方法に関する。
【背景技術】
【０００２】
この種のピアツーピア型の通信システムは、複数のノード装置により構成される。各種コンテンツのコンテンツデータは、複数のコンテンツデータの複製データ（以下、「レプリカ」という）として複数のノード装置に分散して保存される。コンテンツデータは、映画及び音楽などのコンテンツデータである。一般的には、各ノード装置間でレプリカを利用可能とした分散保存システムが知られている。これにより、対故障性やアクセスの分散性が高められている。このように分散保存されたレプリカの所在は、例えば特許文献１に開示されるような分散ハッシュテーブル（以下、ＤＨＴ（Ｄｉｓｔｒｉｂｕｔｅｄ  Ｈａｓｈ  Ｔａｂｌｅ）という）を利用して効率良く検索可能になっている。
【０００３】
このようなコンテンツ分散保存システムを用いて、コンテンツ配信を行なう場合、人気のあるコンテンツのレプリカにはアクセスが集中する。このため、人気に応じた数のレプリカを複数のノード装置に分散保存することが望ましい。特許文献２には、各ノード装置は、新たに投入されるコンテンツのレプリカを、コンテンツ分散保存システムに接続するノード装置に利用可能とする前に、公開前のコンテンツの評価値が大きいときレプリカを事前に保存させる方法が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−１９７４００号公報
【特許文献２】特開２００７−０３４６３０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、コンテンツを公開前に配信するシステムでは、結果として人気がでなかったコンテンツ、または、データサイズの大きいコンテンツが公開前配信されることもある。このようなコンテンツが公開前配信されることで、コンテンツ分散保存システムを構成するノード装置のキャッシュの利用効率が低下することがあった。
【０００６】
本発明は、上述した問題点を解決するためになされたものである。本発明の目的は、コンテンツ分散保存システムのノード装置のキャッシュ利用効率を低下することなく、コンテンツの配信負荷を低減することが可能なコンテンツ分散方法を提供することである。
【課題を解決するための手段】
【０００７】
請求項１に記載の発明によれば、ネットワークを介して複数のノード装置により構成されるオーバーレイネットワークに、複数のコンテンツが分散して保存されるコンテンツ分散保存システムであって、前記コンテンツ分散保存システムは、前記オーバーレイネットワークにより分散して保存されるコンテンツのオリジナルを保存する情報処理装置と、前記複数のノード装置のいずれかである第１ノード装置と、を含み、前記第１ノード装置は、前記コンテンツが前記ネットワークを介して取得可能となる公開時期を示す公開時期情報であって、前記複数のコンテンツの少なくともいずれかの前記公開時期情報と、前記コンテンツを夫々識別する第１識別情報とを対応付けて記憶する第１記憶手段と、現在の時刻を示す時刻情報を取得する第１取得手段と、前記記憶手段に記憶される前記公開時期情報の中で、前記第１取得手段により取得された前記時刻情報が示す現在の時刻から所定の期間経過後に公開される前記公開時期情報があるかを判定する第１判定手段と、前記第１判定手段により、前記現在時刻情報が示す現在の時刻から所定の期間経過後に公開される前記公開時期情報があると判定されたとき、前記第１判定手段により判定された前記公開時期情報に対応する前記第１識別情報が示す前記コンテンツが、前記ネットワークを介して取得可能であることを示す第１パブリッシュメッセージを送信する第１送信手段と、前記第１パブリッシュメッセージに基づいて、前記複数のノード装置の中で前記第１ノード装置とは異なる他のノード装置から送信された所定のコンテンツの送信要求を示す送信要求情報を受信する受信手段と、前記受信手段により前記送信要求情報が受信されたとき、前記情報処理装置から前記送信要求情報により要求されたコンテンツを取得する第２取得手段と、前記第２取得手段により取得されたコンテンツを、前記要求情報の送信元のノード装置へ送信する第２送信手段と、を備えることを特徴とする第１ノード装置である。
【０００８】
請求項２に記載の発明によれば、前記情報処理装置または前記複数のノード装置のいずれかの前記ノード装置から取得した前記コンテンツを記憶する第２記憶手段を備え、前記第１判定手段により判定された前記公開時期情報に対応する前記識別情報が示す前記コンテンツが、前記第２記憶手段に記憶されていない場合、前記第１送信手段は、前記第１パブリッシュメッセージを送信することを特徴とする。
【０００９】
請求項３に記載の発明によれば、前記コンテンツを記憶する第２記憶手段と、前記要求情報により要求された前記コンテンツが、前記第２記憶手段に記憶されているか否かを判定する第３判定手段と、を備え、前記第３判定手段により、前記要求されたコンテンツが前記第２記憶手段に記憶されていないと判定されたとき、前記第２記憶手段は、前記第２取得手段により取得されたコンテンツを記憶することを特徴とする。
【００１０】
請求項４に記載の発明によれば、前記第２取得手段により前記コンテンツが取得されたとき、所定の期間内に前記受信手段により受信された前記要求情報の数が所定数以上であるかを判定する第４判定手段を備え、前記第４判定手段により前記要求情報の数が所定数以上であると判定されたとき、前記第２記憶手段は、前記第２取得手段により取得されたコンテンツを記憶することを特徴とする。
【００１１】
請求項５に記載の発明によれば、前記第４判定手段により前記要求情報の数が所定数以上であると判定されたとき、前記第２取得手段により取得されたコンテンツを、他のノード装置に保存させるメッセージを示す保存要求メッセージを前記複数のノード装置のいずれかのノード装置に送信する第２送信手段を備えることを特徴とする。
【００１２】
請求項６に記載の発明によれば、前記第１記憶手段は、所定の桁数から構成される前記第１識別情報を記憶し、前記第1ノード装置は、前記第１識別情報と同じ前記所定の桁数から構成され、前記複数のノード装置を夫々識別する第２識別情報であって、前記第１のノード装置に付与された前記第２識別情報を記憶する第３記憶手段と、前記第１判定手段により、前記現在時刻情報が示す現在の時刻から所定の期間経過後に公開される前記公開時期情報があると判定されたとき、前記第１判定手段により判定された前記公開時期情報に対応する前記第１識別情報と、前記第３記憶手段に記憶された前記第２識別情報との差が所定範囲内であるかを判定する第５判定手段と、を備え、前記第５判定手段により、差が所定範囲内であると判定されたとき、前記第１送信手段は、前記第１パブリッシュメッセージを送信することを特徴とする。
【００１３】
請求項７に記載の発明によれば、前記第１判定手段により判定された前記公開時期情報に対応する前記第１識別情報が示す前記コンテンツの第１データ容量が、前記第２記憶手段に前記コンテンツを記憶可能な第２データ容量以下であるか否かを判定する第６判定手段を備え、前記第６判定手段により、前記第１データ容量が、前記第２データ容量以下であると判定されなかったとき、前記第１送信手段は、前記第１パブリッシュメッセージを送信しないことを特徴とする。
【００１４】
請求項８に記載の発明によれば、前記第1記憶手段は、前記第１識別情報と、前記第１識別情報が示す前記コンテンツの前記第１データ容量とを対応付けて記憶し、前記第１送信手段により、前記第１パブリッシュメッセージが送信されるとき、前記第１パブリッシュメッセージが送信されるコンテンツの前記第１データ容量を、前記第２データ容量から減算する減算手段を備え、前記第６判定手段は、前記第１データ容量が、前記減算手段により減算された前記第２データ容量以下であるか否かを判定することを特徴とする。
【００１５】
請求項９に記載の発明によれば、ネットワークを介して複数のノード装置により構成されるオーバーレイネットワークに、複数のコンテンツが分散して保存されるコンテンツ分散保存システムであって、前記コンテンツ分散保存システムは、前記オーバーレイネットワークにより分散して保存されるコンテンツのオリジナルを保存する情報処理装置と、前記複数のノード装置のいずれかである第１ノード装置と、を含み、前記第１ノード装置は、前記コンテンツが前記ネットワークを介して取得可能となる公開時期を示す公開時期情報であって、前記複数のコンテンツの少なくともいずれかの前記公開時期情報と、前記コンテンツデータを夫々識別する第１識別情報とを対応付けて記憶する第１記憶手段と、現在の時刻を示す時刻情報を取得する第１取得手段と、前記記憶手段に記憶される前記公開時期情報の中で、前記第１取得手段により取得された前記時刻情報が示す現在の時刻から所定の期間経過後に公開される前記公開時期情報があるかを判定する第１判定手段と、前記第１判定手段により、前記現在時刻情報が示す現在の時刻から所定の期間経過後に公開される前記公開時期情報があると判定されたとき、前記第１判定手段により判定された前記公開時期情報に対応する前記第１識別情報が示す前記コンテンツが、前記ネットワークを介して取得可能であることを示すパブリッシュメッセージを送信する第１送信手段と、前記パブリッシュメッセージに基づいて、前記複数のノード装置の中で前記第１ノード装置とは異なる他のノード装置から送信された所定のコンテンツの送信要求を示す送信要求情報を受信する受信手段と、前記受信手段により前記送信要求情報が受信されたとき、前記情報処理装置から前記送信要求情報により要求されたコンテンツを取得する第２取得手段と、前記第２取得手段により取得されたコンテンツを、前記要求情報の送信元のノード装置へ送信する第２送信手段と、を備えることを特徴とするコンテンツ分散保存システムである。
【００１６】
請求項１０に記載の発明によれば、ネットワークを介して複数のノード装置により構成されるオーバーレイネットワークに、複数のコンテンツが分散して保存されるコンテンツ分散保存システムのコンテンツ分散保存方法であって、前記コンテンツが前記ネットワークを介して取得可能となる公開時期を示す公開時期情報であって、前記複数のコンテンツの少なくともいずれかの前記公開時期情報と、前記コンテンツデータを夫々識別する第１識別情報とを対応付けて記憶する第１記憶手段に記憶される前記公開時期情報の中で、前記複数のノード装置のいずれかである第１ノード装置の第１取得手段により取得された時刻情報が示す現在の時刻から所定の期間経過後に公開される前記公開時期情報があるかを、前記第１のノード装置が判定する第１判定ステップと、前記第１判定ステップにより、前記現在時刻情報が示す現在の時刻から所定の期間経過後に公開される前記公開時期情報があると判定されたとき、前記第１判定ステップにより判定された前記公開時期情報に対応する前記第１識別情報が示す前記コンテンツが、前記ネットワークを介して取得可能であることを示すパブリッシュメッセージを、前記第１のノード装置が送信する第１送信ステップと、前記パブリッシュメッセージに基づいて、前記複数のノード装置の中で前記第１ノード装置とは異なる他のノード装置から送信された所定のコンテンツの送信要求を示す送信要求情報を、前記第１のノード装置が受信する受信ステップと、前記受信ステップにより前記送信要求情報が受信されたとき、前記オーバーレイネットワークにより分散して保存されるコンテンツのオリジナルを保存する情報処理装置から前記送信要求情報により要求されたコンテンツを、前記第１のノード装置が取得する第２取得ステップと、前記第２取得ステップにより取得されたコンテンツを、前記要求情報の送信元のノード装置へ、前記第１のノード装置が送信する第２送信ステップと、を含むコンテンツ分散保存方法である。
【００１７】
請求項１１に記載の発明によれば、ネットワークを介して複数のノード装置により構成されるオーバーレイネットワークに、複数のコンテンツが分散して保存されるコンテンツ分散保存システムにおいて、前記複数のノード装置のいずれかである第１ノード装置のコンピュータに、前記コンテンツが前記ネットワークを介して取得可能となる公開時期を示す公開時期情報であって、前記複数のコンテンツの少なくともいずれかの前記公開時期情報と、前記コンテンツデータを夫々識別する第１識別情報とを対応付けて記憶する第１記憶手段に記憶される前記公開時期情報の中で、前記第１ノード装置の第１取得手段により取得された時刻情報が示す現在の時刻から所定の期間経過後に公開される前記公開時期情報があるかを判定する第１判定ステップと、前記第１判定ステップにより、前記現在時刻情報が示す現在の時刻から所定の期間経過後に公開される前記公開時期情報があると判定されたとき、前記第１判定ステップにより判定された前記公開時期情報に対応する前記第１識別情報が示す前記コンテンツが、前記ネットワークを介して取得可能であることを示すパブリッシュメッセージを送信する第１送信ステップと、前記パブリッシュメッセージに基づいて、前記複数のノード装置の中で前記第１ノード装置とは異なる他のノード装置から送信された所定のコンテンツの送信要求を示す送信要求情報を受信する受信ステップと、前記受信ステップにより前記送信要求情報が受信されたとき、前記オーバーレイネットワークにより分散して保存されるコンテンツのオリジナルを保存する情報処理装置から前記送信要求情報により要求されたコンテンツを取得する第２取得ステップと、前記第２取得ステップにより取得されたコンテンツを、前記要求情報の送信元のノード装置へ送信する第２送信ステップと、を実行させることを特徴とするプログラムである。
【発明の効果】
【００１８】
請求項１に記載の発明によれば、第１送信手段は、第１判定手段により、現在時刻情報が示す現在の時刻から所定の期間経過後に公開される公開時期情報があると判定されたとき、第１判定手段により判定された公開時期情報に対応する第１識別情報が示すコンテンツが、ネットワークを介して取得可能であることを示す第１パブリッシュメッセージを送信する。第２取得手段は、受信手段により送信要求情報が受信されたとき、情報処理装置から送信要求情報により要求されたコンテンツを取得する。第２送信手段は、第２取得手段により取得されたコンテンツを、要求情報の送信元のノード装置へ送信する。従って、第１ノード装置が第１パブリッシュメッセージを送信した後に、コンテンツの要求を受け付けたとき、第１のノード装置が情報処理装置からコンテンツを取得する。そして、第1ノード装置は、取得したコンテンツを記憶手段に記憶し、要求元の装置へ送信する。一般的に、コンテンツが事前配信されないと、コンテンツのオリジナルを記憶する情報処理装置にアクセスが集中することが考えられる。第１のノード装置が最初にコンテンツの要求を受け付けることで情報処理装置の負荷集中を避けるとともに、要求を受け付けてからコンテンツを保存することで、不要なコンテンツの保存を避けることができる。この結果、コンテンツ分散保存システムのノード装置のキャッシュ利用効率が低下することを防ぐことができる。
【００１９】
請求項２に記載の発明によれば、第１判定手段により判定された公開時期情報に対応する識別情報が示すコンテンツが、第２記憶手段に記憶されていない場合、第１送信手段は、第１パブリッシュメッセージを送信する。従って、第２記憶手段にコンテンツが記憶されていない場合に、第１ノード装置が、コンテンツの公開時期が近いコンテンツの第１パブリッシュメッセージを送信することができる。この結果、第１ノード装置に不要なコンテンツを保存させることを避け、コンテンツ分散保存システムのノード装置のキャッシュ利用効率が低下することを防ぐことができる。
【００２０】
請求項３に記載の発明によれば、第３判定手段により、要求されたコンテンツが第２記憶手段に記憶されていないと判定されたとき、第２記憶手段は、第２取得手段により取得されたコンテンツを記憶する。従って、他のノード装置からコンテンツの要求があるまでは、第1ノード装置はコンテンツを情報処理装置から取得して記憶しない。この結果、不要なコンテンツが記憶されないことで、キャッシュの利用効率の低下を防ぐことができる。さらに、第１ノード装置が、以前要求のあったコンテンツを記憶し、そのコンテンツを他のノード装置に送信できることで、情報処理装置からコンテンツを取得する回数を減らすことができ、情報処理装置の負荷集中を避けることができる。
【００２１】
請求項４に記載の発明によれば、第４判定手段により要求情報の数が所定数以上であると判定されたとき、第２記憶手段は、第２取得手段により取得されたコンテンツを記憶する。この結果、要求情報の数が所定数位以上の場合に第１ノード装置がコンテンツを記憶するため、要求が少ないコンテンツが、第１ノード装置に記憶されないことで、キャッシュの利用効率の低下を防ぐことができる。
【００２２】
請求項５に記載の発明によれば、第２送信手段は、第４判定手段により要求情報の数が所定数以上であると判定されたとき、第２取得手段により取得されたコンテンツを、他のノード装置に保存させるメッセージを示す保存要求メッセージを複数のノード装置のいずれかのノード装置に送信する。この結果、要求情報の数が所定数位以上の場合に他のノード装置へコンテンツを記憶させるため、第１ノード装置への負荷集中を避けるとともに、情報処理装置からコンテンツを取得する回数を減らすことができる。
【００２３】
請求項６に記載の発明によれば、第５判定手段により、第1識別情報と第２識別情報との差が所定範囲内であると判定されたとき、第１送信手段は、第１パブリッシュメッセージを送信する。この結果、第１ノード装置の第２識別情報に基づいて、第１パブリッシュメッセージを送信するコンテンツが決定されるため、特定の第１ノード装置に負荷が集中することを防ぐことができる。
【００２４】
請求項７に記載の発明によれば、第６判定手段により、第１データ容量が、第２データ容量以下であると判定されなかったとき、第１送信手段は、第１パブリッシュメッセージを送信しない。従って、第１ノード装置が記憶可能なデータ容量に応じた数のパブリッシュメッセージを送信することができる。この結果、第１ノード装置が記憶できないデータ容量のコンテンツを中継することがなく、第１ノード装置の負荷を低減することができる。
【００２５】
請求項８に記載の発明によれば、減算手段は、第１送信手段により、第１パブリッシュメッセージが送信されるとき、第１パブリッシュメッセージが送信されるコンテンツの第１データ容量を、第２データ容量から減算する。第６判定手段は、第１データ容量が、減算手段により減算された第２データ容量以下であるか否かを判定する。この結果、既に第１パブリッシュメッセージを送信したコンテンツが第１ノード装置に記憶されることを予想して、第１ノード装置が記憶可能なデータ容量に応じた数の第１パブリッシュメッセージを送信することができる。
【００２６】
請求項９に記載の発明によれば、第１送信手段は、第１判定手段により、現在時刻情報が示す現在の時刻から所定の期間経過後に公開される公開時期情報があると判定されたとき、第１判定手段により判定された公開時期情報に対応する第１識別情報が示すコンテンツが、ネットワークを介して取得可能であることを示す第１パブリッシュメッセージを送信する。第２取得手段は、受信手段により送信要求情報が受信されたとき、情報処理装置から送信要求情報により要求されたコンテンツを取得する。第２送信手段は、第２取得手段により取得されたコンテンツを、要求情報の送信元のノード装置へ送信する。従って、第１ノード装置が第１パブリッシュメッセージを送信した後に、コンテンツの要求を受け付けたとき、第１のノード装置が情報処理装置からコンテンツを取得する。そして、第1ノード装置は、取得したコンテンツを記憶手段に記憶し、要求元の装置へ送信する。一般的に、コンテンツが事前配信されないと、コンテンツのオリジナルを記憶する情報処理装置にアクセスが集中することが考えられる。第１のノード装置が最初にコンテンツの要求を受け付けることで情報処理装置の負荷集中を避けるとともに、要求を受け付けてからコンテンツを保存することで、不要なコンテンツの保存を避けることができる。この結果、コンテンツ分散保存システムのノード装置のキャッシュ利用効率が低下することを防ぐことができる。
【００２７】
請求項１０または請求項１１に記載の発明によれば、第１送信ステップは、第１判定ステップにより、現在時刻情報が示す現在の時刻から所定の期間経過後に公開される公開時期情報があると判定されたとき、第１判定ステップにより判定された公開時期情報に対応する第１識別情報が示すコンテンツが、ネットワークを介して取得可能であることを示す第１パブリッシュメッセージを送信する。第２取得ステップは、受信ステップにより送信要求情報が受信されたとき、情報処理装置から送信要求情報により要求されたコンテンツを取得する。第２送信ステップは、第２取得ステップにより取得されたコンテンツを、要求情報の送信元のノード装置へ送信する。従って、第１ノード装置が第１パブリッシュメッセージを送信した後に、コンテンツの要求を受け付けたとき、第１のノード装置が情報処理装置からコンテンツを取得する。そして、第１ノード装置は、取得したコンテンツを記憶手段に記憶し、要求元の装置へ送信する。一般的に、コンテンツが事前配信されないと、コンテンツのオリジナルを記憶する情報処理装置にアクセスが集中することが考えられる。第１のノード装置が最初にコンテンツの要求を受け付けることで情報処理装置の負荷集中を避けるとともに、要求を受け付けてからコンテンツを保存することで、不要なコンテンツの保存を避けることができる。この結果、コンテンツ分散保存システムのノード装置のキャッシュ利用効率が低下することを防ぐことができる。
【図面の簡単な説明】
【００２８】
【図１】本実施形態における情報通信システムＳにおける各ノード装置Ｔｍ−ｎの接続態様の一例を示す図である。
【図２】本実施形態のノード装置の電気的構成を示すブロック図である。
【図３】ノード装置におけるメイン動作の処理手順を示すフローチャートである。
【図４】ノード装置におけるダウンロード処理の処理手順を示すフローチャートである。
【図５】ノード装置における偽パブリッシュ処理の処理手順を示すフローチャートである。
【発明を実施するための最良の形態】
【００２９】
［最良の実施形態］
以下、本発明の最良の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、ピアツーピア型の情報通信システムに本発明を適用した場合の実施形態である。
【００３０】
［情報通信システムＳの概要構成］
始めに、図１を参照して、本実施形態における情報通信システムＳの概要構成について説明する。図１は、本実施形態における情報通信システムＳにおける各ノード装置の接続態様の一例を示す図である。
【００３１】
図１に示すように、情報通信システムＳは、複数のノード装置Ｔｍ−ｎ（ｎ＝１，２，３・・・の何れか）から構成されている。複数のノード装置Ｔｍ−ｎは、ネットワークＮＷを介して互いに通信可能である。このネットワークＮＷは、現実世界の通信ネットワークである。例えば、インターネットである。
【００３２】
ネットワークＮＷは、各拠点ネットワークＮＬｍ（ｍ＝１，２，３・・・の何れか）を相互接続するためのネットワークである。このネットワークＮＷは、例えば、インターネットやＷＡＮ（Wide Area Network）等である。そして、ネットワークＮＷは、例えば、
ＩＸ（Internet Exchange）、ＩＳＰ（Internet Service Provider）、ＤＳＬ（Digital Subscriber Line）回線事業者の装置、ＦＴＴＨ（Fiber To The Home）回線事業者の装置、及び通信回線等によって構築されている。なお、ネットワークＮＷは、情報通信システムＳ専用のネットワークであっても良い。
【００３３】
本実施形態では、ネットワークＮＷ内に、１つ以上の各拠点ネットワークＮＬｍが形成される。また、各拠点ネットワークＮＬｍには、複数のノード装置Ｔｍ−ｎ（ｎ＝１，２，３・・・の何れか）が接続されている。各拠点ネットワークＮＬｍは、夫々拠点ｍの敷地内に構築されたネットワークである。拠点としては、例えば、会社、学校、病院、カラオケボックス、塾等がある。この拠点ネットワークＮＬｍは、例えば、ＬＡＮ等により構築されている。或いは、拠点ネットワークＮＬｍは、複数のＬＡＮが相互接続して構築されたネットワークであっても良い。この場合、複数のＬＡＮは、ルータ等のネットワーク機器を介して接続される。複数のＬＡＮが相互接続されたネットワークとしては、例えば、ＣＡＮ（Campus Area Network）等がある。各拠点ネットワークＮＬｍには、ファイアウォールＦＷ又はブロードバンドルータＢＲが接続されている。ファイアウォールＦＷ又はブロードバンドルータＢＲは、拠点内に接続されるノード装置Ｔｍ−ｎと、その拠点に接続されるノード装置Ｔｍ−ｎ以外のノード装置Ｔｍ−ｎとを通信可能にする通信機器である。ファイアウォールＦＷ又はブロードバンドルータＢＲは、公知であるので詳細な説明は省略する。ファイアウォールＦＷ又はブロードバンドルータＢＲの何れが拠点に設置されるかは、拠点毎に任意に決定される。本実施形態の拠点ネットワークＮＬｍは、例えば、ＬＡＮ（Local Area Network）である。
【００３４】
また、ネットワークＮＷには、センターサーバと投入サーバとが接続されている。センターサーバと投入サーバとは特に図示していない。センターサーバは、後述するオーバーレイネットワークＯＬで送受信されるコンテンツデータのオリジナルを記憶する。また、センターサーバは、コンテンツカタログ情報をノード装置Ｔｍ−ｎに送信する。コンテンツカタログ情報の詳細については後述する。投入サーバは、後述するオーバーレイネットワークＯＬにコンテンツデータを投入するサーバ装置である。ここで、コンテンツデータの投入とは、コンテンツデータをノード装置Ｔｍ−ｎから取得可能な状態におくことをいう。なお、コンテンツデータを、「コンテンツ」という。
【００３５】
各ノード装置Ｔｍ−ｎには、固有の製造番号及びＩＰ（Internet Protocol）アドレス
が割り当てられている。また、情報通信システムＳに接続されている各ノード装置Ｔｍ−ｎには、所定桁数からなる固有の識別情報であるノードＩＤが割り当てられている。本実施形態の情報通信システムＳでは、コンテンツ配信のためのオーバーレイネットワークＯＬが構築されている。オーバーレイネットワークＯＬは、ネットワークＮＷ上に構築されたオーバーレイネットワークである。言い換えれば、オーバーレイネットワークＯＬは、物理的なネットワーク上に生成される論理的なネットワークである。また、オーバーレイネットワークＯＬは、特定のアルゴリズム、例えば、分散ハッシュテーブルを利用したアルゴリズムにより実現される。分散ハッシュテーブルを、以下、「ＤＨＴ（Distributed Hash Table）」という。なお、ＤＨＴを用いたルーティングテーブルについては、特開２００６−１９７４００号公報等で公知である。本実施形態のノードＩＤは、本発明の第２識別情報の一例である。
【００３６】
本実施形態では、各ノード装置Ｔｍ−ｎがピアツーピア方式で通信を行えるよう、ブロードバンドルータＢＲやファイアウォールＦＷにおいてポートフォワーディングの設定が行われる場合がある。例えば、ブロードバンドルータＢＲであれば、ＵＰｎＰ（Universal Plug and Play）機能等を利用して自動的にポートフォワーディングの設定が行われる
ようにしておくと良い。以下ノード装置Ｔｍ−ｎを、単にノード装置と呼ぶ。
【００３７】
［オーバーレイネットワークＯＬへの参加方法について］
各ノード装置は、夫々、ＤＨＴ（Distributed Hash Table）を用いたルーティングテーブルを保持している。このルーティングテーブルは、情報通信システムＳ上における各種制御メッセージの転送先を規定している。制御メッセージは、Ｐ２Ｐの情報通信システムの運用を制御するメッセージである。言い換えれば、制御メッセージは、Ｐ２Ｐの情報通信システムで、コンテンツの検索又はコンテンツの取得に用いるためのメッセージである。また、制御メッセージは、ＤＨＴのルーティングテーブルに従って送受信されるメッセージである。具体的に、このルーティングテーブルには、ＩＤ空間内で適度に離れたノード装置のノードＩＤ、ＩＰアドレス及びポート番号を含むノード情報が複数登録されている。情報通信システムＳに接続している１台のノード装置は、必要最低限のノード装置のノード情報をルーティングテーブルとして記憶している。各ノード装置間で互いに制御メッセージが転送されることで、ノード情報を記憶していないノード装置についてのノード情報が取得される。また、制御メッセージが、各ノード装置により送受信されることで、情報通信システムＳは、ピアツーピア型の情報通信システムとして動作可能である。なお、本実施形態の情報通信システムＳは、本発明のコンテンツ分散保存システムの一例である。
【００３８】
なお情報通信システムＳへの接続は、情報通信システムＳへ接続していないノード装置が、接続している任意のノード装置に対して情報通信システムＳへの参加要求を示す参加メッセージを送信することによって行われる。情報通信システムＳへの参加とは、ノード装置が情報通信システムＳに接続され、情報通信システムＳからコンテンツデータを取得可能になることである。任意のノード装置は、例えば、情報通信システムＳに常時接続しているコンタクトノードである。情報通信システムＳへ参加するノード装置が、コンタクトノードへ参加メッセージを送信することで、ノード装置は、ＤＨＴのルーティングテーブルをコンタクトノードから取得することができる。
【００３９】
［コンテンツ取得動作の概要について］
情報通信システムＳにおいては、内容の異なる様々なコンテンツデータが複数のノード装置に分散して保存される。各コンテンツデータには、それぞれコンテンツ名及びコンテンツデータ毎に固有の識別情報であるコンテンツＩＤが付与されている。本実施形態では、コンテンツＩＤとノードＩＤとは、同じ桁数のＩＤが付与される。各コンテンツのコンテンツ名及びコンテンツＩＤ等の属性情報は、コンテンツカタログ情報に記述されている。コンテンツカタログ情報は、センターサーバにより作成されて、全てのノード装置に配信される。各コンテンツのコンテンツ名及びコンテンツＩＤ等の属性情報は、コンテンツカタログ情報に記述されている。コンテンツカタログ情報は、センターサーバにより作成されて、全てまたは一部のノード装置に配信される。また、コンテンツカタログ情報は、各ノード装置に分散して保存されても良い。また、本実施形態では、各コンテンツは、複数のデータに分割されている。この分割されたデータを、「チャンク」という。各チャンクは、例えば、センターサーバにより、コンテンツを所定のデータサイズで分割することにより生成される。本実施形態では、チャンクの最小データサイズは、２ＭＢ（Ｍｅｇａ  Ｂｙｔｅ）である。また、チャンクの最大データサイズは、１２８ＭＢである。ただし、チャンクに分割した結果、一部のチャンクが、２ＭＢよりも小さくなってしまう場合もある。また、チャンクに分割する前のデータサイズがもともと２ＭＢより小さい場合、２ＭＢ未満のデータサイズのチャンクとなる場合がある。本実施形態では、コンテンツデータが複数のチャンクに分割されている。本実施形態に記載のように、コンテンツデータが複数のチャンクに分割されなくても良い。分割されていないコンテンツデータが本実施形態に適用されても良い。
【００４０】
各チャンクは、複数のノード装置に分散されて保存される。これにより、オリジナルとなるコンテンツが複数のノード装置に分散して保存されることになる。各チャンクのオリジナルは、センターサーバに保存されている。各チャンクには、それぞれシーケンス番号及びチャンクＩＤが付与されている。シーケンス番号は、例えば、分割された複数のチャンクを、オリジナルとなるコンテンツを構成するように並べたときの並び順に相当する。チャンクＩＤは、チャンク毎に固有の識別情報である。本実施形態では、チャンクＩＤとノードＩＤとは、同じ桁数のＩＤが付与される。
【００４１】
各ノード装置は、あるコンテンツのコンテンツＩＤを取得すると、そのコンテンツを構成する各チャンクのチャンクＩＤを、そのシーケンス番号と対応付けて取得することができる。コンテンツを構成する各チャンクのチャンクＩＤは、例えば、コンテンツカタログ情報において、オリジナルとなるコンテンツの属性情報中に、シーケンス番号と対応付けて記述されていても良い。
【００４２】
チャンクを保存しているノード装置を、「コンテンツ保持ノード」という。また、チャンクの所在は、インデックス情報として、チャンクの所在を管理（記憶）しているノノード装置により記憶される。以下、チャンクの所在を管理しているノード装置を、「ルートノード」という。インデックス情報は、チャンクを保存したノード装置のノード情報と、チャンクのチャンクＩＤと等の組を含む。このようなルートノードは、例えば、チャンクＩＤと最も近いノードＩＤを有するノードＮｎであるように定められる。チャンクＩＤと最も近いノードＩＤとは、例えば、ＩＤの上位桁が最も多く一致するノードＩＤである。
【００４３】
あるノード装置のユーザが、所望のコンテンツを取得したい場合、ノード装置は、所望されたコンテンツを構成する各チャンクを保存するコンテンツ保持ノードをそれぞれ検索する。以下、ユーザによりチャンクの取得を望むノード装置を、「ユーザノード」という。具体的に、ユーザノードは、検索メッセージを送信する。この検索メッセージは、取得を望むチャンクのチャンクＩＤ及びユーザノードのノードＩＤを含む。この検索メッセージが、ユーザノードが記憶するＤＨＴのルーティングテーブルに従って、他のノード装置に対して送信される。つまり、ユーザノードは、検索メッセージを、ルートノードに向けて送信する。これにより、検索メッセージは、チャンクＩＤをキーとするＤＨＴルーティングによって最終的にルートノードに到着することになる。なお、ＤＨＴルーティングについては、特開２００６−１９７４００号公報等で公知であるので、詳しい説明を省略する。
【００４４】
検索メッセージを受信したルートノードは、これに含まれるチャンクＩＤに対応するインデックス情報をインデックス情報キャッシュから１または複数取得する。取得されたインデックス情報は、検索メッセージの送信元であるユーザノードに対して返信される。こうしてインデックス情報を取得したユーザノードは、インデックス情報に基づいてチャンクを取得（ダウンロード）する。具体的に、ユーザノードは、インデックス情報に含まれるコンテンツ保持ノードのＩＰアドレス及びポート番号等に基づいて、チャンク要求メッセージをコンテンツ保持ノードに送信する。チャンク要求メッセージには、ユーザノードのノード情報、所望するコンテンツのコンテンツＩＤ及び取得を望むチャンクのチャンクＩＤが含まれている。チャンク要求メッセージを受信したコンテンツ保持ノードは、チャンク要求メッセージに含まれるチャンクＩＤに対応するチャンクをユーザノードに送信（アップロード）する。一方、所望するチャンクを保存するコンテンツ保持ノードが存在しないとき、ユーザノードは、コンテンツ保持ノードのインデックス情報を取得することができない。この場合、ユーザノードは、センターサーバからチャンクを取得する。
【００４５】
あるいは、ルートノードは、インデックス情報に含まれるＩＰアドレス等に示されたコンテンツ保持ノードに対してチャンク送信要求メッセージを送信する。チャンク送信要求メッセージは、チャンク送信要求メッセージの送信元のノード情報を含む。チャンク送信要求メッセージを受信したコンテンツ保持ノードは、受信したメッセージが含むノード情報が示すユーザノードへコンテンツデータまたはチャンクの送信（アップロード）を開始する。これにより、ユーザノードは、コンテンツ保持ノードからコンテンツデータまたはチャンクを取得することが可能になる。
【００４６】
そして、ユーザノードは、コンテンツ保持ノードからチャンクを取得して保存したとき、チャンクを公開する。チャンクの公開とは、ユーザノードがコンテンツ保持ノードとしてチャンクを保存したことをルートノードへ知らせることをいう。チャンクの公開により、公開したコンテンツ保持ノードから、公開されたチャンクを他のノード装置が取得可能になる。具体的に、チャンクを保存したユーザノードは、パブリッシュメッセージを送信する。パブリッシュメッセージは、チャンクのチャンクＩＤ及びチャンクを保存したユーザノードのノード情報を含む。パブリッシュメッセージは、ルートノードに向けて送出される。これにより、パブリッシュメッセージは、検索メッセージと同じように、チャンクＩＤをキーとするＤＨＴルーティングによってルートノードに到着することになる。ルートノードは、受信したパブリッシュメッセージに含まれるノード情報及びチャンクＩＤの組を含むインデックス情報をインデックス情報キャッシュに記憶する。こうして、上記ユーザノードは、新たに、上記チャンクを保存するコンテンツ保持ノードとなる。
【００４７】
［偽パブリッシュ処理］
本実施形態の情報通信システムＳでは、各ノード装置がコンテンツカタログ情報を全て、または、一部を保存している。本実施形態のコンテンツカタログ情報には、各コンテンツの属性情報と、コンテンツＩＤと、コンテンツの公開情報とが含まれる。コンテンツの公開情報は、コンテンツがネットワークＮＷに公開される期間を示す情報である。例えば、コンテンツの公開情報は、公開開始日時情報である。公開開始日時情報は、コンテンツがネットワークＮＷに公開される開始日時を示す。コンテンツの公開とは、ネットワークＮＷを介してコンテンツを取得可能なことを示す。また、コンテンツの公開は、ネットワークＮＷを介してコンテンツが閲覧または視聴できることを示す。ピアツーピア型のコンテンツ配信システムでは、コンテンツがネットワークに公開されるときに、公開されるコンテンツへのアクセスが集中する場合がある。これは、オーバーレイネットワークＯＬに参加するノード装置の中で、公開されるコンテンツのコンテンツ保持ノードが存在しない、または、少ないためである。本実施形態のコンテンツＩＤは、本発明の第１識別情報の一例である。本実施形態の公開情報は、本発明の公開時期情報の一例である。
【００４８】
アクセスの集中は、コンテンツ保持ノード、または、センターサーバへのコンテンツの取得要求の集中である。コンテンツが公開された直後は、コンテンツ保持ノードが存在しない、または、コンテンツ保持ノードの数が少ないため、特定のノード装置、または、センターサーバにアクセスが集中する場合がある。この問題を解決するために、公開前のコンテンツを事前に複数のノード装置に保存させる方法がある。しかしながら、この方法では、人気の出ないコンテンツであっても、複数のノード装置に事前に保存されてしまうため、キャッシュの利用効率が悪い。
【００４９】
本実施形態では、複数のノード装置にコンテンツを公開前に保存させず、且つ、センターサーバへのアクセスの集中を避けるために、オーバーレイネットワークに接続されるノード装置のいずれかが偽パブリッシュメッセージを送信する。以下、偽パブリッシュメッセージの送信方法の詳細について説明する。なお、本実施形態の偽パブリッシュメッセージは、本発明の第１パブリッシュメッセージの一例である。
【００５０】
本実施形態では、各ノード装置がコンテンツカタログ情報を全て、または、一部を保存している。各ノード装置が保存しているコンテンツカタログ情報の中で、現在の日時から所定の期間以内に公開されるコンテンツカタログ情報が決定される。そして、決定されたコンテンツカタログ情報が含むコンテンツＩＤまたはチャンクＩＤについての偽パブリッシュメッセージが、オーバーレイネットワークに接続される複数のノード装置のいずれかに送信される。偽パブリッシュメッセージは、ノード装置がコンテンツを記憶していないにも関わらず、コンテンツを記憶していると偽るメッセージである。偽パブリッシュメッセージは、現在の日時から公開時期が近いコンテンツのコンテンツＩＤまたはチャンクＩＤと、偽パブリッシュメッセージを送信したノード装置のノード情報が含まれる。
【００５１】
偽パブリッシュメッセージは、偽パブリッシュメッセージが含むコンテンツＩＤのルートノードに向けて送出される。これにより、偽パブリッシュメッセージは、パブリッシュメッセージと同じように、コンテンツＩＤまたはチャンクＩＤをキーとするＤＨＴルーティングによってルートノードに到着することになる。ルートノードは、受信した偽パブリッシュメッセージに含まれるノード情報及びコンテンツＩＤまたはチャンクＩＤの組を含むインデックス情報をインデックス情報キャッシュに記憶する。
【００５２】
こうして、コンテンツを検索する際、ユーザノードは、コンテンツまたはチャンクを保存したと偽ったノード装置へ、一旦チャンク要求メッセージを送信する。本実施形態では、チャンクを保存したと偽ったノード装置を第１ノード装置と呼ぶ。ユーザノードが第１ノード装置へチャンク要求メッセージを送信する。そして、ユーザノードからチャンク取得要求メッセージを受信した第１ノード装置は、チャンク要求メッセージをセンターサーバへ送信する。従って、第１ノード装置を介してセンターサーバにチャンク要求メッセージが送信されることで、コンテンツまたはチャンクの取得要求が直接センターサーバに送信されて負荷が集中することを回避することができる。なお、本実施形態に記載のセンターサーバは、本発明の情報処理装置の一例である。
【００５３】
また、本実施形態では、第１ノードが一旦チャンク要求メッセージを受信する。そして、チャンク要求メッセージを受信した第１ノード装置が、センターサーバへチャンク要求メッセージを転送する。このとき、第１ノード装置がセンターサーバからチャンクまたはコンテンツを取得して、第１ノード装置の記憶手段に記憶しても良い。このように、第１ノードがチャンクまたはコンテンツを記憶することで、センターサーバに代わり、ユーザノードへチャンクまたはコンテンツを送信することができる。
【００５４】
また、第１ノード装置が、所定期間以内にチャンク要求メッセージを所定回数以上受信したとき、第１ノード装置がチャンクまたはコンテンツをセンターサーバから取得して、第１ノード装置の記憶手段に記憶しても良い。チャンク要求メッセージが所定回数以上あったことは、要求されたコンテンツが、人気のあるコンテンツであることを示す。所定回数以上チャンク要求メッセージを受信したチャンクまたはコンテンツのみを、第１ノード装置は記憶手段に記憶しても良い。この場合、第１ノード装置は、チャンク要求メッセージが所定回数より小さいチャンクまたはコンテンツを記憶しない。従って、人気のあるチャンクまたはコンテンツは第１ノード装置の記憶手段に記憶されてセンターサーバの負荷を低減する。さらに、センターサーバの負荷を低減することに加え、人気のないチャンクまたはコンテンツは第１ノード装置に記憶されないため、キャッシュの利用効率を上げることができる。
【００５５】
また、第１ノード装置のキャッシュ利用状況に基づいて、チャンク要求メセージを受信した第１ノード装置がチャンクまたはコンテンツを記憶するか否かが決定されても良い。この場合、第１ノード装置の記憶手段には、コンテンツを記憶する記憶領域が備えられる。本実施形態では、例えば後述するコンテンツ記憶領域である。コンテンツ記憶領域にコンテンツを記憶する記憶容量がある場合、第１ノード装置が取得したチャンクまたはコンテンツを記憶しても良い。チャンクまたはコンテンツを記憶する記憶領域の記憶容量は、例えば、予め設定された値である。また、コンテンツを記憶する記憶領域の記憶容量は、例えば、ＨＤＤまたはＲＡＭの空き容量である。
【００５６】
［ノード装置の電気的構成］
次に、図２を参照して、ノード装置の電気的構成ついて説明する。図２は、本実施形態のノード装置の電気的構成を示すブロック図である。図２に示すように、本実施形態のノード装置には、ノード装置を制御するＣＰＵ１が備えられている。ＣＰＵ１には、ＨＤＤ２とＲＡＭ３とデコーダ部４と通信部９とがそれぞれ電気的に接続されている。ＨＤＤ２、ＲＡＭ３、などの記憶手段とＣＰＵ１とは、ノード装置のコンピュータを構成している。ＣＰＵ１、ＨＤＤ２、ＲＡＭ３、デコーダ部４、及び通信部９はバスを介して相互に接続されている。なお、ノード装置としては、パーソナルコンピュータ、又はＳＴＢ（Set Top Box）等を適用可能である。
【００５７】
ＨＤＤ２は、プログラム記憶領域２１と、コンテンツカタログ情報記憶領域２５と、コンテンツ記憶領域２６と、インデックスキャッシュ情報記憶領域２７と、リクエスト履歴リスト記憶領域２８とを含む。プログラム記憶領域２１は、メイン動作プログラム記憶領域２２とダウンロード処理プログラム記憶領域２３と偽パブリッシュ処理プログラム２４とを含む。メイン動作プログラム記憶領域２２は、メイン動作プログラムを記憶する。メイン動作プログラムは、ノード装置にメイン動作を実行させる。ダウンロード処理プログラム記憶領域２３は、ダウンロード処理プログラムを記憶する。ダウンロード処理プログラムは、ノード装置にダウンロード処理動作を実行させるプログラムである。偽パブリッシュ処理プログラム記憶領域２４は、偽パブリッシュ処理プログラムを記憶する。偽パブリッシュ処理プログラムは、ノード装置に偽パブリッシュメッセージを送信させるプログラムである。なお、上記メイン動作プログラムとダウンロード処理プログラムと偽パブリッシュ処理プログラムとは、例えば、ネットワークＮＷ上の所定のサーバからダウンロードされるようにしてもよいし、例えば、ＣＤ−ＲＯＭ等の記録媒体に記録されて当該記録媒体のドライブを介して読み込まれるようにしても良い。
【００５８】
コンテンツカタログ情報記憶領域２５は、コンテンツカタログ情報を記憶する。本実施形態の情報通信システムＳでは、各ノード装置がコンテンツカタログ情報を全て、または、一部を保存している。このコンテンツカタログ情報が、コンテンツカタログ情報記憶領域２５に記憶される。本実施形態のコンテンツカタログ情報記憶領域２５は、本発明の第１記憶手段の一例である。
【００５９】
コンテンツ記憶領域２６は、情報通信システムＳで送受信されるコンテンツを記憶する。コンテンツ記憶領域２６の記憶容量は予め設定される。本実施形態のコンテンツ記憶領域２６は、本発明の第２記憶手段の一例である。インデックスキャッシュ情報記憶領域２７は、インデックスキャッシュ情報を記憶する。リクエスト履歴リスト記憶領域２８は、リクエスト履歴リストを記憶する。具体的には、チャンク要求メッセージが含むチャンクＩＤまたはコンテンツＩＤと、チャンク要求メッセージが受信された受信時刻とが対応付けられて、リクエスト履歴リスト記憶領域２８に記憶される。なお、チャンク要求メッセージが含むチャンクＩＤまたはコンテンツＩＤと、チャンク要求メッセージがユーザノードにより送信された送信時刻とが対応付けられて、リクエスト履歴リスト記憶領域２８に記憶されても良い。
【００６０】
なお、コンテンツカタログ情報記憶領域２５はＲＡＭ３に備えられても良い。また、コンテンツ記憶領域２６はＲＡＭ３に備えられても良い。インデックスキャッシュ情報記憶領域２７はＲＡＭ３に備えられても良い。
【００６１】
通信部９は、ネットワークＮＷを通じてノード装置または外部装置と情報の通信制御を行う。
【００６２】
ノード装置は、通信部９を介して要求に応じて送信されてきたチャンクまたはコンテンツを受信する受信処理を行う。本実施形態のチャンクまたはコンテンツはパケット化されて送信されるようになっている。各パケットは、通信部９を通じて受信され、ＲＡＭ３に一時記憶される。このように一時記憶されたチャンクまたはコンテンツは、ＲＡＭ３から読み出されてデコーダ部４と、映像処理部５と、音声処理部７と、ディスプレイ６と、スピーカ８とを通じて再生出力される。或いは、ＲＡＭ３に記憶されたチャンクまたはコンテンツは、ＲＡＭ３から読み出されてＨＤＤ２に記憶されても良い。または、コンテンツまたはチャンクがＲＡＭ３を介さず、直接ＨＤＤ２に記憶されても良い。その後、ユーザからの操作指示にしたがって、ＨＤＤ２からチャンクまたはコンテンツが読み出される。読み出されたチャンクまたはコンテンツは、デコーダ部４と、映像処理部５と、音声処理部７と、ディスプレイ６と、スピーカ８とを通じて再生出力される。これにより、ユーザはチャンクまたはコンテンツの視聴を行うことができる。
【００６３】
[ノード装置のメイン動作の説明]
以上説明した構成からなる本実施形態のノード装置の動作及び作用について、添付図面を参照して説明する。まず、ノード装置の動作及び作用について、添付図面を参照して説明する。図３は、ノード装置におけるメイン動作の処理手順を示すフローチャートである。メイン動作は、電源またはコンセントを介して商用電源などの外部電源とノード装置とが接続され、インストールされたＰ２ＰソフトウェアプログラムがＣＰＵ１により実行される。
【００６４】
ステップＳ１０１では、ノード装置がオーバーレイネットワークＯＬから脱退したか否かが判定される。オーバーレイネットワークから脱退したか否かは、ノード装置にインストールされたＰ２Ｐソフトウェアプログラムの起動が停止されたか否かにより判定される。Ｐ２Ｐソフトウェアプログラムの起動が停止されたとき、オーバーレイネットワークＯＬから脱退したと判定される。また、ノード装置の電源がオフにされた場合、オーバーレイネットワークＯＬから脱退したと判定される。ノード装置がオーバーレイネットワークから脱退したと判定されたとき（ステップＳ１０１：ＹＥＳ）、メイン動作処理は終了される。ノード装置がオーバーレイネットワークＯＬから脱退したと判定されなかったとき（ステップＳ１０１：ＮＯ）、ステップＳ１０２が実行される。
【００６５】
ステップＳ１０２では、チャンク要求メッセージが受信されたか否かが判定される。チャンク要求メッセージが受信されたと判定されたとき（ステップＳ１０２：ＹＥＳ）、ステップＳ１０３が実行される。チャンク要求メッセージが受信されたと判定されなかったとき（ステップＳ１０２：ＮＯ）、ステップＳ１０４が実行される。なお、受信されたチャンク要求メッセージは、ＲＡＭ３の所定の記憶領域に一時記憶される。本実施形態のコンピュータとステップＳ１０２とは、本発明の受信手段の一例である。本実施形態のステップＳ１０２は、本発明の受信ステップの一例である。
【００６６】
ステップＳ１０３では、ダウンロード処理が実行される。ダウンロード処理の詳細は後述する。
【００６７】
ステップＳ１０４では、実行時刻が到来したか否かが判定される。本実施形態の実行時刻は、予め決められた所定の時刻である。例えば、実行時刻は１０分ごとである。なお、本実施形態では、各ノード装置はタイマーを備えている。各ノード装置に備えられたタイマーにより計時動作が行われる。実行時刻が到来したと判定されたとき（ステップＳ１０４：ＹＥＳ）、ステップＳ１０５が実行される。実行時刻が到来したと判定されなかったとき（ステップＳ１０４：ＮＯ）、ステップＳ１０６が実行される。
【００６８】
ステップＳ１０５では、偽パブリッシュ処理が実行される。偽パブリッシュ処理の詳細は後述する。
【００６９】
ステップＳ１０６では、検索メッセージが送信されたか否かが判定される。検索メッセージが送信されたと判定されたとき（ステップＳ１０６：ＹＥＳ）、ステップＳ１０７が実行される。検索メッセージが送信されたと判定されなかったとき（ステップＳ１０６：ＮＯ）、ステップＳ１１１が実行される。
【００７０】
ステップＳ１０７では、インデックスキャッシュ情報が受信されたか否かが判定される。インデックスキャッシュ情報が受信されたと判定されたとき（ステップＳ１０７：ＹＥＳ）、ステップＳ１０８が実行される。インデックスキャッシュ情報が受信されたと判定されなかったとき（ステップＳ１０７：ＮＯ）、ステップＳ１０７が繰り返し実行される。なお、受信されたインデックスキャッシュ情報は、ＲＡＭ３の所定の記憶領域に一時記憶される。
【００７１】
ステップＳ１０８では、チャンク要求メッセージが送信される。チャンク要求メッセージは、ステップＳ１０７で受信されたインデックスキャッシュ情報に登録されたコンテンツ保持ノードへ送信される。
【００７２】
ステップＳ１０９では、チャンクまたはコンテンツが受信されたか否かが判定される。具体的には、ステップＳ１０８で送信されたチャンク要求メッセージにより要求されたコンテンツが受信されたか否かが判定される。コンテンツが受信されたと判定されなかったとき（ステップＳ１０９：ＮＯ）、ステップＳ１０９が繰り返し実行される。コンテンツが受信されたと判定されたとき（ステップＳ１０９：ＹＥＳ）、ステップＳ１１０が実行される。
【００７３】
ステップＳ１１０では、ステップＳ１０９がコンテンツ記憶領域２６に記憶される。そして、ステップＳ１１０で記憶したコンテンツのパブリッシュメッセージが送信される。
【００７４】
ステップＳ１１１では、その他の処理が実行される。その他の処理とは、例えば、情報通信システムＳを制御する制御処理動作である。
【００７５】
[ノード装置のダウンロード処理動作の説明]
図４は、ノード装置におけるダウンロード処理動作の処理手順を示すフローチャートである。まず、ステップＳ２０１では、ステップＳ１０２で受信したチャンク要求メッセージが、リクエスト履歴リストに追加される。リクエスト履歴リストは、リクエスト履歴リスト記憶領域２８に記憶される。具体的には、チャンク要求メッセージが含むチャンクＩＤまたはコンテンツＩＤと、チャンク要求メッセージが受信された受信時刻とが対応付けられて、リクエスト履歴リスト記憶領域２８に記憶される。なお、チャンク要求メッセージが含むチャンクＩＤまたはコンテンツＩＤと、チャンク要求メッセージがユーザノードにより送信された送信時刻とが対応付けられて、リクエスト履歴リスト記憶領域２８に記憶されても良い。
【００７６】
ステップＳ２０２では、リクエスト履歴リストの中で、リクエスト履歴リストに登録された受信時刻と現在の時刻との差が、所定時間以上であるリクエストが削除される。具体的には、リクエスト履歴リストに登録された受信時刻と現在の時刻との差が、所定時間以上であるチャンクＩＤまたはコンテンツＩＤが削除される。
【００７７】
ステップＳ２０３では、チャンク要求メッセージに対応するチャンクまたはコンテンツが記憶されているかが判定される。具体的には、ステップＳ１０２で受信されたチャンク要求メッセージが含むチャンクＩＤまたはコンテンツＩＤに対応するコンテンツが、コンテンツ記憶領域２６に記憶されているかが判定される。コンテンツが記憶されていると判定された場合（ステップＳ２０３：ＹＥＳ）、ステップＳ２０４が実行される。コンテンツが記憶されていると判定されなかった場合（ステップＳ２０３：ＮＯ）、ステップＳ２０５が実行される。本実施形態のコンピュータとステップＳ２０３とは、本発明の第３判定手段の一例である。
【００７８】
ステップＳ２０４では、ステップＳ２０３で記憶していると判定されたチャンクまたはコンテンツがコンテンツ記憶領域２６からＲＡＭ３へ読み出される。
【００７９】
ステップＳ２０５では、チャンク要求メッセージに含まれるチャンクＩＤまたはコンテンツＩＤのリクエスト数が追加される。具体的には、ステップＳ１０２で受信したチャンク要求メッセージが含むチャンクＩＤまたはコンテンツＩＤが、リクエスト履歴リストに既に登録されている場合、リクエスト数が追加される。つまり、既にリクエスト履歴リストに登録されているチャンクＩＤまたはコンテンツＩＤのリクエスト数が追加される。一方、ステップＳ１０２で受信したチャンク要求メッセージが含むチャンクＩＤまたはコンテンツＩＤが、リクエスト履歴リストに登録されていない場合、リクエスト履歴リストに追加登録される。そして、追加登録されたチャンクＩＤまたはコンテンツＩＤのリクエスト数が１と決定される。なお、リクエスト数は、本実施形態のルートノードによりカウントされても良い。本実施形態のリクエスト数は、本発明の要求情報の数の一例である。
【００８０】
ステップＳ２０６では、ステップＳ２０５で追加されたリクエスト数が、所定数以上であるか否かが判定される。リクエスト数が所定以上であると判定された場合（ステップＳ２０６：ＹＥＳ）、ステップＳ２０７が実行される。リクエスト数が所定以上であると判定されなかった場合（ステップＳ２０６：ＮＯ）、ステップＳ２１０が実行される。本実施形態のコンピュータとステップＳ２０６とは、本発明の第４判定手段の一例である。
【００８１】
ステップＳ２０７では、チャンク要求メッセージの送信元が変更される。そして、送信元が変更されたチャンク要求メッセージがセンターサーバへ送信される。本実施形態のチャンク要求メッセージには、チャンク要求メッセージを送信したノード装置のノードＩＤと、ＩＰアドレスとが含まれる。本実施形態のステップＳ２０７では、チャンク要求メッセージが含むノードＩＤは変更されず、チャンク要求メッセージが含むＩＰアドレスは、ステップＳ２０７を実行しているノード装置のＩＰアドレスへ変更される。なお、チャンク要求メッセージの送信元のノード装置のＩＰアドレスは、送信元のノード装置のノードＩＤと対応付けられてＲＡＭ３の所定の記憶領域に一時記憶される。
【００８２】
ステップＳ２０８では、センターサーバからコンテンツが受信されたか否かが判定される。ステップＳ２０７で送信されたチャンク要求メッセージは、センターサーバへ送信される。センターサーバは、オーバーレイネットワークＯＬに分散して保存されるコンテンツのオリジナルを記憶している。チャンク要求メッセージを受信したセンターサーバは、チャンク要求メッセージが含むＩＰアドレスのノード装置へチャンクまたはコンテンツを送信する。送信されるチャンクまたはコンテンツは、センターサーバが受信したチャンク要求メッセージが含むチャンクＩＤまたはコンテンツＩＤに対応する。センターサーバからコンテンツが受信されたと判定された場合（ステップＳ２０８：ＹＥＳ）、ステップＳ２０９が実行される。センターサーバからコンテンツが受信されたと判定されなかった場合（ステップＳ２０８：ＮＯ）、ステップＳ２０８が繰り返し実行される。
【００８３】
ステップＳ２０９では、ステップＳ２０８で受信されたチャンクまたはコンテンツが、コンテンツ記憶領域２６へ記憶される。本実施形態のコンピュータとステップＳ２０９とは、本発明の第２取得手段の一例である。本実施形態のステップＳ２０９は、本発明の第２取得ステップの一例である。
【００８４】
ステップＳ２１０では、チャンク要求メッセージがセンターサーバへ転送される。センターサーバへ転送されるチャンク要求メッセージの送信元は変換されない。ステップＳ２１０では、チャンク要求メッセージを送信したノード装置が送信元のまま、チャンク要求メッセージがセンターサーバへ転送される、このため、受信したチャンク要求メッセージが含むＩＰアドレスが示すノード装置へ、センターサーバはチャンクまたはコンテンツを送信することになる。なお、センターサーバから送信されるチャンクまたはコンテンツは、チャンク要求メッセージが含むチャンクＩＤまたはコンテンツＩＤに対応するコンテンツである。
【００８５】
ステップＳ２１１では、ステップＳ２０４で読み出されたチャンクまたはコンテンツが、ユーザノードに送信される。また、ステップＳ２０９で記憶したチャンクまたはコンテンツがユーザノードに送信される。本実施形態のコンピュータとステップＳ２１１とは、本発明の第２送信手段の一例である。本実施形態のステップＳ２１１は、本発明の第２送信ステップの一例である。
【００８６】
[ノード装置の偽パブリッシュ処理動作の説明]
図５は、ノード装置における偽パブリッシュ処理動作の処理手順を示すフローチャートである。まず、ステップＳ３０１では、公開開始日時から所定期間経過したコンテンツカタログ情報が、リクエスト履歴リストから削除される。具体的には、リクエスト履歴リストに登録されたコンテンツカタログ情報の中から、公開開始日時から所定期間経過したコンテンツカタログ情報が削除される。
【００８７】
ステップＳ３０２では、コンテンツ記憶領域２６の空き容量が決定される。コンテンツ記憶領域２６の空き容量は、新たにコンテンツが記憶可能な容量を示す。また、空き容量は、ＨＤＤ２またはＲＡＭ３に新たにコンテンツが記憶可能な空き容量であっても良い。
【００８８】
ステップＳ３０３では、コンテンツカタログ情報記憶領域２５に記憶されたコンテンツカタログ情報の中から、公開開始日時が近いカタログ情報が決定される。具体的には、現在時刻情報と、コンテンツカタログ情報が含む公開開始日時情報との日時差が所定期間以内であるか否かが判定される。現在時刻情報は、ノード装置のタイマーにより計時される現在の時刻を示す。本実施形態のノード装置のタイマーにより計時される現在の時刻は、ＲＡＭ３の所定の記憶領域に記憶される。本実施形態のタイマーとＲＡＭ３とは、本発明の第１取得手段の一例である。現在の時刻は、ネットワークＮＷを介して他の装置から取得されても良い。なお、日時差は、単に時間の差であっても良い。また、日時差は、日数の差であっても良い。日時差が所定期間以内であるコンテンツカタログ情報は、公開開始が近いことを示す。決定されたコンテンツカタログ情報は、ＲＡＭ３の所定の記憶領域に一時記憶される。なお、本実施形態のステップＳ３０３では、公開開始日時が近いコンテンツカタログ情報が決定されているが、これに限定されるものではない。例えば、公開開始日時が近いコンテンツカタログ情報の中から、ステップＳ３０３を実行するノード装置が記憶していないコンテンツのコンテンツカタログ情報が決定されても良い。ステップＳ３０３を実行するノード装置がコンテンツを記憶している場合、ステップＳ３０３が実行される前後で、ノード装置が記憶しているコンテンツのパブリッシュメッセージが送信されるためである。そのため、偽パブリッシュメッセージの送信が不要になるためである。本実施形態のコンピュータとステップＳ３０３とは、本発明の第１判定手段の一例である。また、本実施形態のステップＳ３０３は、本発明の第１判定ステップの一例である。
【００８９】
ステップＳ３０４では、ステップＳ３０３で決定されたコンテンツカタログ情報全てについて、処理が完了したか否かが判定される。この処理は、以下に記載するステップＳ３０５からステップＳ３０９に示す処理である。処理が完了したコンテンツカタログ情報については、フラグが付与される。付与されたフラグは、コンテンツカタログ情報と対応付けられてＲＡＭ３の所定の記憶領域に一時記憶される。コンテンツカタログ情報全てについて、処理が完了したと判定されたとき（ステップＳ３０４：ＹＥＳ）、偽パブリッシュ処理は終了される。コンテンツカタログ情報全てについて、処理が完了したと判定されなかったとき（ステップＳ３０４：NO）、ステップＳ３０５が実行される。
【００９０】
ステップＳ３０５では、未処理のコンテンツカタログ情報が１つ決定される。未処理のコンテンツカタログ情報は、ステップＳ３０３で決定されたコンテンツカタログ情報の中から決定される。例えば、ステップＳ３０３でＲＡＭ３の所定の記憶領域に記憶されたコンテンツカタログ情報の中から、フラグが付与されていないコンテンツカタログ情報が決定される。
【００９１】
ステップＳ３０６では、ステップＳ３０５で決定されたコンテンツカタログ情報が含むチャンクＩＤまたはコンテンツＩＤと、ノードＩＤの１桁目が等しいか否かが判定される。ステップＳ３０６で用いられるノードＩＤは、ステップＳ３０６を実行するノード装置に付与されたノードＩＤである。ステップＳ３０６を実行するノード装置に付与されたノードＩＤは、ＲＡＭ３の所定の記憶領域に一時記憶される。本実施形態におけるノードＩＤを記憶するＲＡＭ３は、本発明の第３記憶手段の一例である。本実施形態では、チャンクＩＤまたはコンテンツＩＤは、ノードＩＤと同じ桁数である。このため、本実施形態では、チャンクＩＤまたはコンテンツＩＤと、ノードＩＤの１桁目が等しいチャンクまたはコンテンツについて、偽パブリッシュメッセージが送信される。これは、ノード装置が記憶するコンテンツカタログ情報全てについて、偽パブリッシュメッセージを送信してしまうことを防ぐためである。これにより、偽パブリッシュメッセージを送信したことによって、受信されるチャンク要求メッセージに対応する処理負荷を分散することができる。また、多量の偽パブリッシュメッセージでネットワーク帯域が使用されてしまうことを防ぐことができる。チャンクＩＤまたはコンテンツＩＤと、ノードＩＤの１桁目とが等しいと判定された場合（ステップＳ３０６：ＹＥＳ）、ステップＳ３０７が実行される。チャンクＩＤまたはコンテンツＩＤと、ノードＩＤの１桁目とが等しいと判定されなかった場合（ステップＳ３０６：ＮＯ）、ステップＳ３１０が実行される。なお、ステップＳ３０６では、上位１桁目が等しいか否かが判定されているが、これに限定されるものではない。上位から所定桁数が等しいか否かが判定されても良い。また、チャンクＩＤまたはコンテンツＩＤと、ノードＩＤとが等しい桁数の数が所定数以上であるか否かが判定されても良い。本実施形態のコンピュータとステップＳ３０６とは、本発明の第５判定手段の一例である。
【００９２】
ステップＳ３０７では、ステップＳ３０６で等しいと判定されたチャンクIDまたはコンテンツIDが、偽パブリッシュメッセージを送信するノード装置の候補として決定される。
【００９３】
ステップＳ３０８では、ステップＳ３０７で決定されたコンテンツの容量が、ステップＳ３０２で決定された空き容量より小さいか否かが判定される。ステップＳ３０７で決定されたコンテンツの容量を示す情報は、コンテンツカタログ情報に含まれる。ステップＳ３０７で決定されたコンテンツの容量が、ステップＳ３０２で決定された空き容量より小さいと判定された場合（ステップＳ３０８：ＹＥＳ）、ステップＳ３０９が実行される。ステップＳ３０７で決定されたコンテンツの容量が、ステップＳ３０２で決定された空き容量より小さいと判定されなかった場合（ステップＳ３０８：ＮＯ）、ステップＳ３１１が実行される。本実施形態のコンピュータとステップＳ３０８とは、本発明の第６判定手段の一例である。また、本実施形態のステップＳ３０７で決定されたコンテンツの容量は、本発明の第１データ容量の一例である。また、本実施形態のステップＳ３０２で決定された空き容量が、本発明の第２データ容量の一例である。
【００９４】
ステップＳ３０９では、ステップＳ３０８で空き容量より小さいと判定されたコンテンツカタログ情報が、偽パブリッシュメッセージを送信するコンテンツとして決定される。そして、空き容量から、決定されたコンテンツの容量が減らされる。これは、偽パブリッシュメッセージを送信することで、偽パブリッシュメッセージに対応するコンテンツをノード装置が記憶する可能性があるためである。このように、ノード装置の空き容量に応じて、偽パブリッシュメッセージが送信されるため、記憶不可能な容量のコンテンツがノード装置に記憶されることを防ぐことができる。本実施形態のコンピュータとステップＳ３０９とは、本発明の減算手段の一例である。
【００９５】
ステップＳ３１０では、ステップＳ３０９で決定されたコンテンツカタログ情報についての偽パブリッシュメッセージが送信される。偽パブリッシュメッセージには、ステップＳ３０９で決定されたコンテンツカタログ情報が含むコンテンツＩＤと、ステップＳ３１０を実行するノード装置のノード情報が含まれる。本実施形態のコンピュータとステップＳ３１０とは、本発明の第１送信手段の一例である。本実施形態のステップＳ３１０は、本発明の第１送信ステップの一例である。
【００９６】
ステップＳ３１１では、ステップＳＳ３０５で決定されたコンテンツカタログ情報が、処理済みと決定される。処理済みを示すフラグと、ステップＳ３０５で決定されたカタログ情報とが対応付けられてＲＡＭ３の所定の記憶領域に一時記憶される。
【００９７】
（変形例１）
本実施形態では、ステップＳ３０８に示すように、コンテンツ記憶領域２６の空き容量に基づいて、偽パブリッシュメッセージを送信するか否かが判定されていた。変形例１では、コンテンツ記憶領域２６の空き容量に基づいて、偽パブリッシュメッセージを送信するか否かが判定されなくても良い。この場合、図５に示すステップＳ３０２と、ステップＳ３０８と、ステップＳ３０９とは実行されなくても良い。
【００９８】
（変形例２）
本実施形態では、ステップＳ３０６に示すように、ステップＳ３０５で決定されたコンテンツカタログ情報が含むチャンクＩＤまたはコンテンツＩＤと、ノードＩＤの１桁目が等しいか否かが判定されていた。変形例２では、ステップＳ３０５で決定されたコンテンツカタログ情報が含むチャンクＩＤまたはコンテンツＩＤと、ノードＩＤの１桁目が等しいか否かが判定されなくても良い。この場合、ステップＳ３０６は実行されない。また、ステップＳ３０６で、チャンクＩＤまたはコンテンツＩＤと、ノードＩＤの桁数が等しいか否かが判定される代わりに、コンテンツカタログ情報記憶領域の中からランダムにコンテンツカタログ情報が決定されて、ステップＳ３１０の処理が実行されても良い。また、コンテンツカタログ情報記憶領域の中から所定の規則により、コンテンツカタログ情報が決定されて、ステップＳ３１０の処理が実行されても良い。
【００９９】
（変形例３）
本実施形態では、ステップＳ２０６でチャンク要求メッセージが所定数以上になった場合、ステップＳ２０７が実行されている。変形例３では、ステップＳ２０６が実行されずに、ステップＳ２０７が実行されても良い。この場合、チャンク要求メッセージを受信した場合、全てのチャンク要求メッセージの送信元が変更されて、センターサーバへ送信される。そして、ステップＳ２０９で全てのチャンク要求メッセージに対応するチャンクまたはコンテンツが記憶されても良い。
【０１００】
本実施形態においては、オーバーレイネットワークＯＬに、ＤＨＴのルーティングテーブルを利用したピアツーピアの通信システムが適用されていたが、これに限られるものではない。他のピアツーピアの通信システム、または、オーバーレイネットワークを用いたシステムに、本発明が適用されても良い。例えば、ＤＨＴ以外のルーティングテーブルが用いられる通信システムまたはピアツーピアの通信システムに本発明が適用されても良い。ＤＨＴを利用しないピアツーピアの通信システムとしては、例えば、ハイブリッド型のピアツーピアの通信システムがある。ハイブリッド型のピアツーピアの通信システム、または、ピュア型のピアツーピアの通信システムに本発明が適用されても良い。
【符号の説明】
【０１０１】
１  ＣＰＵ
２  ＨＤＤ
３  ＲＡＭ
４  デコーダ部
５  映像処理部
６  ディスプレイ
７  音声処理部
８  スピーカ
９  通信部
２１  プログラム記憶領域
２２  メイン動作処理プログラム記憶領域
２３  ダウンロード処理プログラム記憶領域
２４  偽パブリッシュ処理プログラム記憶領域
２５  コンテンツカタログ情報記憶領域
２６  コンテンツ記憶領域
２７  インデックスキャッシュ情報記憶領域
２８  リクエスト履歴リスト記憶領域
Ｔｍ−ｎ  ノード装置
ＮＬｍ  拠点
ＮＷ  ネットワーク
ＦＷ  ファイアウォール
ＢＲ  ブロードバンドルータ
Ｓ  情報通信システム
ＯＬ  オーバーレイネットワーク
【図１】
0005370324.tif 000002
【図２】
0005370324.tif 000003
【図３】
0005370324.tif 000004
【図４】
0005370324.tif 000005
【図５】
0005370324.tif 000006