(57)【要約】 【課題】システムへの参加当初から、ネットワーク全体の最近の人気度等に即したコンテンツのレプリカをノード装置に自動的に保存させることが可能なコンテンツ分散保存システム、コンテンツ保存方法、ノード装置、及びノード処理プログラムを提供する。【解決手段】ノード装置は、コンテンツ分散保存システムへの参加時において保存手段における前記保存領域に所定の空き容量がある場合に、所定のデータ容量分の複数のコンテンツをコンテンツリストに基づき選定し、選定したコンテンツの複製データを取得して保存するように構成した。【選択図】図９
2010066930.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して互いに通信可能な複数のノード装置を備えたコンテンツ分散保存システムであり、複数のコンテンツの複製データを複数のノード装置に分散して保存させ、各前記ノード装置間で前記コンテンツを利用可能としたコンテンツ分散保存システムにおける前記ノード装置であって、
前記コンテンツ分散保存システムに参加するための参加処理を実行する参加処理手段と、
前記複製データを保存するための保存領域を有する保存手段と、
前記コンテンツ分散保存システムにおいて利用可能な各コンテンツに関する情報が記述されたコンテンツリストを取得するコンテンツリスト取得手段と、
前記保存手段における前記保存領域に所定の空き容量があるか否かを判別する空き容量判別手段と、
前記コンテンツ分散保存システムへの参加時に、前記保存領域に所定の空き容量があると判別された場合に、所定のデータ容量分の複数のコンテンツを前記コンテンツリストに基づき選定するコンテンツ選定手段と、
前記選定されたコンテンツの複製データを、他のノード装置又は全てのコンテンツの複製データを有するサーバ装置から取得し、当該複製データを前記保存手段における前記保存領域に保存させる保存制御手段と、
を備えることを特徴とするノード装置。
【請求項２】
請求項１に記載のノード装置において、  
前記コンテンツ選定手段は、前記保存領域に保存された前記複製データが削除されることにより当該保存領域に所定の空き容量ができた場合に、所定のデータ容量分のコンテンツを前記コンテンツリストに基づき選定することを特徴とするノード装置。
【請求項３】
請求項１又は２に記載のノード装置において、  
前記コンテンツ選定手段は、利用される確率の高いコンテンツを優先して選定することを特徴とするノード装置。
【請求項４】
請求項１乃至３の何れか一項に記載のノード装置において、
前記各コンテンツに関する情報には、前記コンテンツの複数データが何れか複数のノード装置により取得された取得回数、前記コンテンツの複製データが何れか複数のノード装置により再生された再生回数、の少なくとも何れか一つを示す情報が含まれており、
前記取得回数と前記再生回数の少なくとも何れか一つの回数に比例した確率を前記各コンテンツ毎に算出する確率算出手段を更に備え、
前記コンテンツ選定手段は、前記各コンテンツ毎に算出された確率に基づいて前記コンテンツを選定することを特徴とするノード装置。
【請求項５】
請求項４に記載のノード装置において、
前記各コンテンツに関する情報には、さらに、前記コンテンツのジャンル、対象世代、及び地域属性の少なくとも何れか一つを示す情報が含まれており、
前記確率算出手段は、前記各コンテンツに関する情報を参照して、当該ノード装置において予め設定されたジャンル、世代、及び地域属性の少なくとも何れか一つが一致するコンテンツの前記確率を高めることを特徴とするノード装置。
【請求項６】
請求項１乃至５の何れか一項に記載のノード装置において、
ユーザから入力手段を通じて指定されたコンテンツの複製データを他のノード装置から取得するコンテンツ取得手段を更に備え、
前記コンテンツ取得手段による前記複製データの取得処理と、前記保存制御手段による前記複製データの取得処理とが重なった場合、前記コンテンツ取得手段による前記複製データの取得処理を優先させることを特徴とするノード装置。
【請求項７】
コンピュータを、請求項１乃至６の何れか一項に記載のノード装置として機能させることを特徴とするノード処理プログラム。
【請求項８】
ネットワークを介して互いに通信可能な複数のノード装置を備えたコンテンツ分散保存システムであり、複数のコンテンツの複製データを複数のノード装置に分散して保存させ、各前記ノード装置間で前記コンテンツを利用可能としたコンテンツ分散保存システムであって、
前記ノード装置は、
前記コンテンツ分散保存システムに参加するための参加処理を実行する参加処理手段と、
前記複製データを保存するための保存領域を有する保存手段と、
前記コンテンツ分散保存システムにおいて利用可能な各コンテンツに関する情報が記述されたコンテンツリストを取得するコンテンツリスト取得手段と、
前記保存手段における前記保存領域に所定の空き容量があるか否かを判別する空き容量判別手段と、
前記コンテンツ分散保存システムへの参加時に、前記保存領域に所定の空き容量があると判別された場合に、所定のデータ容量分の複数のコンテンツを前記コンテンツリストに基づき選定するコンテンツ選定手段と、
前記選定されたコンテンツの複製データを、他のノード装置又は全てのコンテンツの複製データを有するサーバ装置から取得し、当該複製データを前記保存手段における前記保存領域に保存させる保存制御手段と、
を備えることを特徴とするコンテンツ分散保存システム。
【請求項９】
ネットワークを介して互いに通信可能な複数のノード装置を備えたコンテンツ分散保存システムであり、複数のコンテンツの複製データを複数のノード装置に分散して保存させ、各前記ノード装置間で前記コンテンツを利用可能としたコンテンツ分散保存システムにおけるコンテンツ保存方法であって、
前記ノード装置が、前記コンテンツ分散保存システムに参加するための参加処理を実行する参加処理工程と、
前記ノード装置が、前記コンテンツ分散保存システムにおいて利用可能な各コンテンツに関する情報が記述されたコンテンツリストを取得するコンテンツリスト取得工程と、
前記ノード装置が、前記複製データを保存するための保存領域に所定の空き容量があるか否かを判別する空き容量判別工程と、
前記ノード装置が、前記コンテンツ分散保存システムへの参加時に、前記保存領域に所定の空き容量があると判別された場合に、所定のデータ容量分の複数のコンテンツを前記コンテンツリストに基づき選定するコンテンツ選定工程と、
前記ノード装置が、前記選定されたコンテンツの複製データを、他のノード装置又は全てのコンテンツの複製データを有するサーバ装置から取得し、当該複製データを前記保存手段における前記保存領域に保存させる保存制御工程と、
を含むことを特徴とするコンテンツ保存方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたピアツーピア（Peer to Peer（P2P））型の通信システムの技術分野に関する。
【背景技術】
【０００２】
この種のピアツーピア型の通信システムにおいて、複数のコンテンツ（映画及び音楽データ等のコンテンツ）の複製データ（以下、「レプリカ」という）を複数のノード装置に分散して保存（配置）させ、各ノード装置間でレプリカを利用可能としたコンテンツ分散保存システムが知られており、これにより、対故障性やアクセスの分散性が高められている。このように分散保存されたレプリカの所在は、例えば特許文献１に開示されるような分散ハッシュテーブル（以下、ＤＨＴ（Distributed Hash Table）という）を利用して効率良く検索可能になっている。
【０００３】
そして、コンテンツ分散保存システムに参加しているノード装置は、所望のコンテンツの取得する場合、当該コンテンツのレプリカの所在を検索（発見）するためのメッセージ（クエリ）を他のノード装置に送出する。これにより、当該メッセージは、上記ＤＨＴにしたがって、中継のノード装置により当該コンテンツのレプリカの所在の管理元のノード装置に向かって転送される。そして、上記メッセージを送出したノード装置は、最終的に当該メッセージが辿り着く上記管理元のノード装置から上記レプリカの所在を示す情報を取得することになる。これにより、上記メッセージを送出したノード装置は、上記検索に係るコンテンツのレプリカを保存しているノード装置にアクセスして当該レプリカを取得（ダウンロード）することができる。
【特許文献１】特開２００６−１９７４００号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、コンテンツのレプリカを取得したノード装置は、当該レプリカをキャッシュとしてストレージ（例えば、ハードディスク）に保存していく、という方法がピアツーピア型の通信システムでは一般的である。その場合、当該システムへの参加初期のノード装置のストレージには、十分なキャッシュが無く、殆ど全てのコンテンツのレプリカはその都度、他のノード装置から取得しなければならなくなり、コンテンツ再生の即時性という点では不利になる。
【０００５】
また、例えばセンターからの指示等により、ストレージ内のレプリカが削除されると、ストレージには空きが生じるが、この空きが多いと、上記と同様、不利になりやすい。
【０００６】
また、例えば通信カラオケシステムにピアツーピア型の通信システムを適用することを考えると、ストレージが空（或いはは空きの多い）のノード装置をピアツーピアのネットワークに接続した場合、キャッシュが溜まるまではコンテンツのリクエストは他のノード装置からのダウンロードに頼るしかなく、ネットワークに負荷がかかり、また、直ちにコンテンツを再生させることができない。
【０００７】
更に、コンテンツのレプリカを予めストレージに保存しておくにしても、なるべく人気のあるものをストレージに入れておいた方が、他のノード装置からのダウンロードが少なく有利であるが、それを自動的に行う方法はまだ知られていない。
【０００８】
本発明は、以上の点等に鑑みてなされたものであり、システムへの参加当初から、ネットワーク全体の最近の人気度等に即したコンテンツのレプリカをノード装置に自動的に保存させることが可能なコンテンツ分散保存システム、コンテンツ保存方法、ノード装置、及びノード処理プログラムを提供することを課題とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、請求項１に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたコンテンツ分散保存システムであり、複数のコンテンツの複製データを複数のノード装置に分散して保存させ、各前記ノード装置間で前記コンテンツを利用可能としたコンテンツ分散保存システムにおける前記ノード装置であって、前記コンテンツ分散保存システムに参加するための参加処理を実行する参加処理手段と、前記複製データを保存するための保存領域を有する保存手段と、前記コンテンツ分散保存システムにおいて利用可能な各コンテンツに関する情報が記述されたコンテンツリストを取得するコンテンツリスト取得手段と、前記保存手段における前記保存領域に所定の空き容量があるか否かを判別する空き容量判別手段と、前記コンテンツ分散保存システムへの参加時に、前記保存領域に所定の空き容量があると判別された場合に、所定のデータ容量分の複数のコンテンツを前記コンテンツリストに基づき選定するコンテンツ選定手段と、前記選定されたコンテンツの複製データを、他のノード装置又は全てのコンテンツの複製データを有するサーバ装置から取得し、当該複製データを前記保存手段における前記保存領域に保存させる保存制御手段と、を備えることを特徴とする。
【００１０】
この発明によれば、ノード装置は、コンテンツ分散保存システムへの参加時において保存手段における前記保存領域に所定の空き容量がある場合に、所定のデータ容量分の複数のコンテンツをコンテンツリストに基づき選定し、選定したコンテンツの複製データを取得して保存するように構成したので、コンテンツ分散保存システムへの参加当初から、ネットワーク全体の最近の人気度等に即したコンテンツの複製データをノード装置に自動的に保存させることができ、これにより、コンテンツ再生の即時性を向上させることができる。
【００１１】
請求項２に記載の発明は、請求項１に記載のノード装置において、前記コンテンツ選定手段は、前記保存領域に保存された前記複製データが削除されることにより当該保存領域に所定の空き容量ができた場合に、所定のデータ容量分のコンテンツを前記コンテンツリストに基づき選定することを特徴とする。
【００１２】
この発明によれば、常に、コンテンツ再生の即時性を向上させることができる。
【００１３】
請求項３に記載の発明は、請求項１又は２に記載のノード装置において、前記コンテンツ選定手段は、利用される確率の高いコンテンツを優先して選定することを特徴とする。
【００１４】
この発明によれば、利用される確率の高いコンテンツを優先して取得し保存することができる。
【００１５】
請求項４に記載の発明は、請求項１乃至３の何れか一項に記載のノード装置において、前記各コンテンツに関する情報には、前記コンテンツの複数データが何れか複数のノード装置により取得された取得回数、前記コンテンツの複製データが何れか複数のノード装置により再生された再生回数、の少なくとも何れか一つを示す情報が含まれており、前記取得回数と前記再生回数の少なくとも何れか一つの回数に比例した確率を前記各コンテンツ毎に算出する確率算出手段を更に備え、前記コンテンツ選定手段は、前記各コンテンツ毎に算出された確率に基づいて前記コンテンツを選定することを特徴とする。
【００１６】
この発明によれば、利用される確率の高い人気コンテンツを優先して選定することができると共に、複数のノード装置で取得するコンテンツは確率的にバラけさせることができる。
【００１７】
請求項５に記載の発明は、請求項４に記載のノード装置において、前記各コンテンツに関する情報には、さらに、前記コンテンツのジャンル、対象世代、及び地域属性の少なくとも何れか一つを示す情報が含まれており、前記確率算出手段は、前記各コンテンツに関する情報を参照して、当該ノード装置において予め設定されたジャンル、世代、及び地域属性の少なくとも何れか一つが一致するコンテンツの前記確率を高めることを特徴とする。
【００１８】
この発明によれば、ユーザが好むコンテンツのレプリカをジャンルや地域属性の指定により取得されやすくすることができる。
【００１９】
請求項６に記載の発明は、請求項１乃至５の何れか一項に記載のノード装置において、ユーザから入力手段を通じて指定されたコンテンツの複製データを他のノード装置から取得するコンテンツ取得手段を更に備え、前記コンテンツ取得手段による前記複製データの取得処理と、前記保存制御手段による前記複製データの取得処理とが重なった場合、前記コンテンツ取得手段による前記複製データの取得処理を優先させることを特徴とする。
【００２０】
この発明によれば、前記コンテンツ取得手段による前記複製データの取得処理と、前記保存制御手段による前記複製データの取得処理とが重なった場合であっても、ユーザの満足度が低下することを回避することができる。
【００２１】
請求項７に記載のノード処理プログラムの発明は、コンピュータを、請求項１乃至６の何れか一項に記載のノード装置として機能させることを特徴とする。
【００２２】
請求項８に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたコンテンツ分散保存システムであり、複数のコンテンツの複製データを複数のノード装置に分散して保存させ、各前記ノード装置間で前記コンテンツを利用可能としたコンテンツ分散保存システムであって、前記ノード装置は、前記コンテンツ分散保存システムに参加するための参加処理を実行する参加処理手段と、前記複製データを保存するための保存領域を有する保存手段と、前記コンテンツ分散保存システムにおいて利用可能な各コンテンツに関する情報が記述されたコンテンツリストを取得するコンテンツリスト取得手段と、前記保存手段における前記保存領域に所定の空き容量があるか否かを判別する空き容量判別手段と、前記コンテンツ分散保存システムへの参加時に、前記保存領域に所定の空き容量があると判別された場合に、所定のデータ容量分の複数のコンテンツを前記コンテンツリストに基づき選定するコンテンツ選定手段と、前記選定されたコンテンツの複製データを、他のノード装置又は全てのコンテンツの複製データを有するサーバ装置から取得し、当該複製データを前記保存手段における前記保存領域に保存させる保存制御手段と、を備えることを特徴とする。
【００２３】
請求項９に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたコンテンツ分散保存システムであり、複数のコンテンツの複製データを複数のノード装置に分散して保存させ、各前記ノード装置間で前記コンテンツを利用可能としたコンテンツ分散保存システムにおけるコンテンツ保存方法であって、前記ノード装置が、前記コンテンツ分散保存システムに参加するための参加処理を実行する参加処理工程と、前記ノード装置が、前記コンテンツ分散保存システムにおいて利用可能な各コンテンツに関する情報が記述されたコンテンツリストを取得するコンテンツリスト取得工程と、前記ノード装置が、前記複製データを保存するための保存領域に所定の空き容量があるか否かを判別する空き容量判別工程と、前記ノード装置が、前記コンテンツ分散保存システムへの参加時に、前記保存領域に所定の空き容量があると判別された場合に、所定のデータ容量分の複数のコンテンツを前記コンテンツリストに基づき選定するコンテンツ選定工程と、前記ノード装置が、前記選定されたコンテンツの複製データを、他のノード装置又は全てのコンテンツの複製データを有するサーバ装置から取得し、当該複製データを前記保存手段における前記保存領域に保存させる保存制御工程と、を含むことを特徴とする。
【発明の効果】
【００２４】
本発明によれば、ノード装置は、コンテンツ分散保存システムへの参加時において保存手段における前記保存領域に所定の空き容量がある場合に、所定のデータ容量分の複数のコンテンツをコンテンツリストに基づき選定し、選定したコンテンツの複製データを取得して保存するように構成したので、コンテンツ分散保存システムへの参加当初から、ネットワーク全体の最近の人気度等に即したコンテンツの複製データをノード装置に自動的に保存させることができ、これにより、コンテンツ再生の即時性を向上させることができる。
【発明を実施するための最良の形態】
【００２５】
以下、本発明の最良の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、コンテンツ分散保存システムに本発明を適用した場合の実施形態である。
【００２６】
［１．コンテンツ分散保存システムの構成及び動作概要］
始めに、図１等を参照して、本実施形態に係るコンテンツ分散保存システムの構成及び動作概要について説明する。
【００２７】
図１は、本実施形態に係るコンテンツ分散保存システムにおける各ノード装置の接続態様の一例を示す図である。
【００２８】
図１の下部枠１０１内に示すように、ＩＸ（Internet eＸchange）３、ＩＳＰ（Internet Service Provider）４ａ,４ｂ、ＤＳＬ（Digital Subscriber Line）回線事業者（の装置）５ａ,５ｂ、ＦＴＴＨ（Fiber To The Home）回線事業者（の装置）６、及び通信回線（例えば、電話回線や光ケーブル等）７等によって、インターネット等のネットワーク（現実世界の通信ネットワーク）８が構築されている。なお、図１の例におけるネットワーク８には、データ（パケット）を転送するためのルータが、適宜挿入されているが図示を省略している。
【００２９】
このようなネットワーク８には、複数のノード装置（以下、「ノード」という）Ｎｎ（ｎ＝１，２，３・・・の何れか）が接続されている。また、各ノードＮｎには、固有の製造番号およびＩＰ（Internet Protocol）アドレスが割り当てられている。そして、本実施形態に係るコンテンツ分散保存システムＳは、これらのノードＮｎのうち、図１の上部枠１００内に示すように、何れか複数のノードＮｎの参加により形成されるピアツーピア方式のネットワークシステムとなっている。
【００３０】
なお、図１の上部枠１００内に示すネットワーク９は、既存のネットワーク８を用いて形成された仮想的なリンクを構成するオーバーレイネットワーク９（論理的なネットワーク）である。かかるオーバーレイネットワーク９は、特定のアルゴリズム、例えば、ＤＨＴを利用したアルゴリズムにより実現される。そして、コンテンツ分散保存システムＳ（言い換えれば、オーバーレイネットワーク９）に参加している各ノードＮｎには、所定桁数からなる固有の識別情報であるノードＩＤが割り当てられている。
【００３１】
また、当該ノードＩＤは、例えば、各ノードＮｎに個別に割り当てられたＩＰアドレス或いは製造番号を共通のハッシュ関数（例えば、ＳＨＡ−１等）によりハッシュ化した値（例えば、ｂｉｔ長が１６０ｂｉｔ）であり、一つのＩＤ空間に偏りなく分散して配置されることになる。
【００３２】
なお、コンテンツ分散保存システムＳへの参加は、参加していないノードＮｎ（例えば、ノードＮ８）が、参加している任意のノードＮｎ（例えば、当該システムＳに常時参加しているコンタクトノード）に対して参加要求を示す参加メッセージを送信することによって行われる。
【００３３】
また、各ノードＮｎは、夫々、ＤＨＴを用いたルーティングテーブルを保持している。このルーティングテーブルは、コンテンツ分散保存システムＳ上における各種メッセージの転送先を規定しており、具体的には、ＩＤ空間内で適度に離れたノードＮｎのノードＩＤ、ＩＰアドレス及びポート番号を含むノード情報が複数登録されている。
【００３４】
コンテンツ分散保存システムＳに参加している１台のノードＮｎは、該システムＳに参加している全てのノードＮｎのうち、必要最低限のノードＮｎのノード情報をルーティングテーブルに登録しておき、ノード情報を知らない（記憶していない）ノードＮｎについては、各ノードＮｎ間で互いに各種メッセージを転送し合って届けてもらうようになっている。
【００３５】
このようなＤＨＴを用いたルーティングテーブルについては、特開２００６−１９７４００号公報等で公知であるので、詳しい説明を省略する。
【００３６】
ところで、コンテンツ分散保存システムＳにおいては、内容の異なる様々なコンテンツ（例えば、映画や音楽等）のレプリカが所定のファイル形式で複数のノードＮｎに分散して保存（格納）されており、各ノードＮｎ間で当該レプリカを利用可能になっている。例えば、ノードＮ５には、タイトルがＸＸＸの映画のコンテンツのレプリカが保存されており、一方、ノードＮ３には、タイトルがＹＹＹの映画のコンテンツのレプリカが保存されるというように、複数のノードＮｎ（以下、「コンテンツ保持ノード」という）に分散されて保存されている。
【００３７】
また、これらのコンテンツのレプリカには、夫々、コンテンツ名（タイトル）及びコンテンツＩＤ（コンテンツ毎に固有の識別情報）等の情報が付加されている。このコンテンツＩＤは、例えば、コンテンツ名＋任意の数値（或いは、コンテンツデータの先頭数バイトでも良い）が、上記ノードＩＤを得るときと共通のハッシュ関数によりハッシュ化されて生成される（ノードＩＤと同一のＩＤ空間に配置）。或いは、システム管理者が、コンテンツ毎に一意のＩＤ値（ノードＩＤと同一ビット長）を付与しても良い。この場合は、コンテンツ名とそのコンテンツＩＤの対応が書かれたコンテンツカタログ情報が、全ノードＮｎに配布される。
【００３８】
また、このように分散保存されているコンテンツのレプリカの所在、つまり、当該レプリカを保存したノードＮｎのノード情報と当該コンテンツのコンテンツＩＤ等の組が含まれるインデックス情報が、当該コンテンツのレプリカの所在を管理しているノードＮｎ（以下、「ルートノード」、又は「コンテンツ（コンテンツＩＤ）のルートノード」という）等により記憶（インデックスキャッシュに記憶）、管理されるようになっている。
【００３９】
つまり、コンテンツのレプリカを保存しているコンテンツ保持ノードのノード情報は、他のノードＮｎからの問い合わせに応じて提供可能なようにルートノードにより管理されている。
【００４０】
例えば、タイトルがＸＸＸの映画のコンテンツのレプリカについてのインデックス情報は、そのコンテンツ（コンテンツＩＤ）のルートノードであるノードＮ４により管理され、タイトルがＹＹＹの映画のコンテンツのレプリカについてのインデックス情報は、そのコンテンツ（コンテンツＩＤ）のルートノードであるノードＮ７により管理される。また、このようなルートノードは、例えば、コンテンツＩＤと最も近い（例えば、上位桁がより多く一致する）ノードＩＤを有するノードＮｎであるように定められる。
【００４１】
そして、あるノードＮｎのユーザが、所望するコンテンツのレプリカを取得したい場合、当該レプリカの取得を望むノードＮｎ（以下、「ユーザノード」という）は、当該ユーザにより選択されたコンテンツのコンテンツＩＤ及び自己のＩＰアドレス等を含むコンテンツ所在問合せ（検索）メッセージ（クエリ）を生成し、これを自己のＤＨＴを用いたルーティングテーブルにしたがって他のノードＮｎに対して送出する。つまり、ユーザノードは、コンテンツ所在問合せ（検索）メッセージを、ルートノードに向けて（ルートノード宛に）送出する（ルートノードにコンテンツのレプリカの所在を問い合わせる）。これにより、コンテンツ所在問合せ（検索）メッセージは、コンテンツＩＤをキーとするＤＨＴルーティングによって最終的にルートノードに到着することになる。
【００４２】
なお、各ノードＮｎにおいてユーザにより選択されるべきコンテンツのコンテンツ名及びコンテンツＩＤ等の属性情報は、例えばコンテンツ提供サーバから全てのノードＮｎに配信されるコンテンツカタログ情報に記述されている。
【００４３】
また、上記コンテンツ所在問合せ（検索）メッセージに含まれるコンテンツＩＤは、ユーザノードによって、コンテンツ名が上記共通のハッシュ関数によりハッシュ化されて生成されるようにしても良い。なお、ＤＨＴルーティングについては、特開２００６−１９７４００号公報等で公知であるので、詳しい説明を省略する。
【００４４】
上記コンテンツ所在問合せ（検索）メッセージを受信したルートノードは、これに含まれるコンテンツＩＤに対応するインデックス情報をインデックスキャッシュから取得して、当該インデックス情報を、該コンテンツ所在問合せメッセージの送信元であるユーザノードに対して返信する。こうしてインデックス情報を取得したユーザノードは、当該インデックス情報に含まれるあるコンテンツ保持ノードのＩＰアドレス等に基づいて当該コンテンツ保持ノードにアクセスして、コンテンツ送信要求メッセージを送信し、そこからコンテンツのレプリカをダウンロード（取得）することが可能になる。なお、当該インデックス情報には、例えば複数のコンテンツ保持ノードのノード情報が含まれていることもある（同一のコンテンツのレプリカが複数のコンテンツ保持ノードに保存されている場合）。かかる場合、ユーザノードは、当該複数のコンテンツ保持ノードのうち一つのコンテンツ保持ノードを選択し、選択したコンテンツ保持ノードに接続してコンテンツのレプリカをダウンロードすることができる。
【００４５】
なお、ルートノードは、当該インデックス情報に含まれるＩＰアドレス等に示されたコンテンツ保持ノードに対してコンテンツ送信要求メッセージを送信し、これにより、ユーザノードは、上記コンテンツ保持ノードからそのレプリカをダウンロードすることもできる。また、上記ユーザノードは、コンテンツ所在問合せメッセージがルートノードに辿り着くまでの間に、当該ルートノードと同じインデックス情報をキャッシュしているキャッシュノードから当該インデックス情報を取得することもできる。
【００４６】
以上のようにしてユーザノードは、ユーザにより選択されたコンテンツのレプリカをそのコンテンツ保持ノードからダウンロードし、当該レプリカをキャッシュとして、例えばハードディスク等に設けられた、レプリカを保存するための保存領域（以下、「ストレージ」という）に保存し、その後は、例えば、ユーザから再生指示がなされる度に、ストレージから再生することになる。しかしながら、コンテンツ分散保存システムＳへの参加初期には、上記ストレージに十分なキャッシュが無く、ユーザが望むコンテンツの殆どは、その都度、上述したように、コンテンツ保持ノードからダウンロードしなければならない。そこで、本実施形態では、各ノードＮｎは、コンテンツ分散保存システムＳへの参加時に、ストレージに所定の空き容量がある場合、コンテンツ保持ノード又は全てのコンテンツのレプリカを有するサーバ装置であるコンテンツ提供サーバから、当該システムＳにおいて利用可能な例えば利用される確率の高い人気のあるコンテンツのレプリカをストレージの所定のデータ容量分ダウンロードして保存することで、コンテンツ再生の即時性を向上させている。
【００４７】
なお、コンテンツ保持ノードから取得したコンテンツのレプリカを保存したユーザノードは、当該レプリカを保存したことをそのルートノードに知らせるために（言い換えれば、該システムＳに参加している他のノードＮｎに対して公開するために）、当該レプリカのコンテンツＩＤ及び自己のノード情報が含まれるパブリッシュ（登録通知）メッセージを生成し、該パブリッシュメッセージを、そのルートノードに向けて（ルートノード宛に）送出する。これにより、パブリッシュメッセージは、コンテンツ所在問合せ（検索）メッセージと同じように、コンテンツＩＤをキーとするＤＨＴルーティングによってルートノードに到着することになる。そして、該ルートノードは、受信したパブリッシュメッセージに含まれるノード情報及びコンテンツＩＤの組を含むインデックス情報を登録（インデックスキャッシュ領域に記憶）することになる。こうして、上記ユーザノードは、新たに、上記コンテンツのレプリカを保持するコンテンツ保持ノードとなる。
【００４８】
なお、上記パブリッシュメッセージに含まれるノード情報及びコンテンツＩＤの組を含むインデックス情報は、ルートノードに至るまでの転送経路におけるキャッシュノードにおいても登録（キャッシュ）される。
【００４９】
［２．ノードＮｎの構成及び機能等］
次に、図２を参照して、ノードＮｎの構成及び機能について説明する。
【００５０】
図２は、ノードＮｎの概要構成例を示す図である。
【００５１】
各ノードＮｎは、図２に示すように、演算機能を有するＣＰＵ，作業用ＲＡＭ，各種データおよびプログラムを記憶するＲＯＭ等から構成されたコンピュータとしての制御部１１と、各種データ及び各種プログラム等を記憶保存（格納）するためのＨＤ（ハードディスク）等から構成された記憶部１２（保存手段の一例）と、受信されたコンテンツのレプリカ等を一時蓄積するバッファメモリ１３と、コンテンツのレプリカに含まれるエンコードされたビデオデータ（映像情報）およびオーディオデータ（音声情報）等をデコード（データ伸張や復号化等）するデコーダ部１４と、当該デコードされたビデオデータ等に対して所定の描画処理を施しビデオ信号として出力する映像処理部１５と、当該映像処理部１５から出力されたビデオ信号に基づき映像表示するＣＲＴ，液晶ディスプレイ等の表示部１６と、上記デコードされたオーディオデータをアナログオーディオ信号にＤ （Digital）／Ａ（Analog）変換した後これをアンプにより増幅して出力する音声処理部１７と、当該音声処理部１７から出力されたオーディオ信号を音波として出力するスピーカ１８と、ネットワーク８を通じて他のノードＮｎ等間の情報の通信制御を行うための通信部１９と、ユーザからの指示を受け付け当該指示に応じた指示信号を制御部１１に対して与える入力手段としての入力部（例えば、キーボード、マウス、或いは、リモコンや操作パネル等）２０と、を備えて構成され、制御部１１、記憶部１２、バッファメモリ１３、デコーダ部１４、通信部１９、及び入力部２０はバス２１を介して相互に接続されている。なお、ノードＮｎとしては、パーソナルコンピュータ、ＳＴＢ（Set Top Box）、或いは、ＴＶ受信機等を適用可能であり、例えば、ユーザの自宅、カラオケ店、ホテル等に設置される。
【００５２】
また、記憶部１２には、ＤＨＴを用いたルーティングテーブル、インデックス情報、及びコンテンツカタログ情報、並びに、コンテンツ分散保存システムＳに参加する際のアクセス先となるコンタクトノードのＩＰアドレス及びポート番号等が記憶されている。
【００５３】
また、記憶部１２が有するストレージ（コンテンツのレプリカを保存するための保存領域）の容量（例えば、１００ギガバイト）は、例えばユーザにより任意に設定可能になっている。
【００５４】
また、記憶部１２には、人気コンテンツリスト（コンテンツリストの一例）が記憶されている。この人気コンテンツリストは、コンテンツ分散保存システムＳにおいて利用可能な例えば人気が高い（人気ランキングが上位所定順位（例えば、２０位）以内）各コンテンツに関する情報が記述されたものであり、コンテンツ分散保存システムＳへの参加時にダウンロードするレプリカを選定するために用いられる。
【００５５】
図３は、人気コンテンツリストの内容の一例を示す図である。図３に示す人気コンテンツリストには、コンテンツに関する情報の一例として、各コンテンツＩＤに対応付けられてコンテンツ名、再生回数、再生ポイント、ＤＬ（ダウンロード）回数、ＤＬポイント、対象世代、及び地域属性が含まれている。なお、図３に示す人気コンテンツリストに記述されるコンテンツに関する情報は、再生ポイントの高い（つまり人気が高い）コンテンツ順に記述されているが、ＤＬポイントの高い順に記述されても良い。
【００５６】
ここで、再生回数は、コンテンツ分散保存システムＳにおいてノードＮｎにより一定期間内にコンテンツのレプリカが再生された回数を集計した情報である。再生ポイント（点数）は、再生回数に比例した値（再生回数が多いほど高くなる）であり、規格化ができればどのようなつけ方でもよいが、例えば、そのコンテンツの当該リスト内での再生割合として、下記算出式（１）により算出できる。
【００５７】
再生ポイント＝コンテンツの再生回数÷人気コンテンツリストの内の再生回数の合計×１００・・・（１）
また、ＤＬ回数は、コンテンツ分散保存システムＳにおいてノードＮｎにより一定期間内にコンテンツのレプリカがダウンロード（取得）された回数を集計した情報である。ＤＬポイント（点数）は、ＤＬ回数に比例した値（ＤＬ回数が多いほど高くなる）であり、再生回数と同様、規格化ができればどのようなつけ方でもよいが、例えば、そのコンテンツの当該リスト内でのＤＬ割合として、下記算出式（２）により算出できる。
【００５８】
ＤＬポイント＝コンテンツのＤＬ回数÷人気コンテンツリストの内のＤＬ回数の合計×１００・・・（２）
なお、再生回数とＤＬ回数の夫々どちらかに重きをおきたい場合は、上記算出式で重みをつけることで対応できる。
【００５９】
また、ジャンル（ジャンルタグ）とは、コンテンツの指向に合わせて予めコンテンツに付加される情報である。例えばコンテンツが音楽データであれば、「ロック」、「ポップス」、「ジャズ」、「子供向け」、「若者向け」、「中高年向け」、「高齢者向け」、「外国人向け」など、曲の指向に合わせて設定される。また、例えばコンテンツが映像データであれば、「スポーツ」、「コメディ」、「アクション」、「洋画」、「邦画」、「海外ドラマ」、「国内ドラマ」、「教養」など、映像の指向に合わせて設定される。
【００６０】
このようなジャンルは、例えば、コンテンツ分散保存システムＳにコンテンツが投入（初めて利用可能にノードＮｎに保存）される際に、サービス運用者により当該コンテンツに付加される（当該ジャンルは、後からノードＮｎのユーザにより設定できるようにしてもよい）。なお、図３の例では、ジャンルの例として、対象世代（「若者向け」、「中高年向け」、及び「高齢者向け」）が記述されている。
【００６１】
また、地域属性（地域性）とは、コンテンツが利用される可能性が高い地域を示す情報である。コンテンツには、各地域毎に利用されやすいものがある。例えば、沖縄の曲や大阪の曲などは、全国的に人気があるものもあるが、特にその地域で歌われたり、聴かれる機会が多いと考えられる。
【００６２】
更に、各ノードＮｎにおいては、例えば初期設定時に、ジャンルや地域属性、及びこれらの重み割合を設定することができ、設定されたジャンルや地域属性、及びこれらの重み割合が記憶部１２に記憶される。
【００６３】
ジャンルの重み割合は、例えば、
（若者向け：中高年向け：高齢者向け）＝（１：１：１）
（若者向け：中高年向け：高齢者向け）＝（２：１：１）
（若者向け：中高年向け：高齢者向け）＝（１：０：０）
（若者向け：中高年向け：高齢者向け）＝（１：１０：１０）
などのように設定することができ、これを後述するジャンルポイント（ポイント倍率）に設定すればよい。なお、このようなジャンル及び重み割合は、ユーザが任意に指定することができる。例えば、夜の飲食店向けカラオケ店に設置されたノードＮｎでは、「中高年向け」の重み割合を高くすることで、「中高年向け」が付加されたコンテンツのジャンルポイントを高くしダウンロードしやすくすることできる。また、ユーザが、特に重み割合を設定せずに、所望の１以上のジャンルを設定することで、当該ジャンルが付加されているコンテンツのジャンルポイントを高くするように構成しても良い。例えば、ユーザがジャンルとして「若者向け」のみを設定した場合、当該「若者向け」が付加されたコンテンツのジャンルポイントを例えば「１０」とし、「若者向け」が付加されていないコンテンツのジャンルポイントを例えば「１」とすることにより、「若者向け」が付加されたコンテンツのジャンルポイントを高くしダウンロードしやすくすることできる。
【００６４】
また、地域属性の重み割合は、例えば、
（無（地域属性無し）：沖縄）＝（１：２）
（無：北海道）＝（１：１０）
などのように設定することができ、これを後述する地域属性ポイント（ポイント倍率）に設定すればよい。なお、設定される地域属性としては、例えばノードＮｎに設定された設置場所情報（例えば、郵便番号や住所）を利用してもよいし、またユーザが所望する地域属性を任意に指定してもよい。また、地域属性の重み割合も、ユーザが任意に指定することができる。例えば、地域属性「沖縄」の重み割合を高くすることで、「沖縄」が付加されたコンテンツのジャンルポイントを高くしダウンロードしやすくすることできる。また、ユーザが、特に重み割合を設定せずに、所望の１以上の地域属性を設定することで、当該地域属性が付加されているコンテンツの地域属性ポイントを高くするように構成しても良い。例えば、ユーザが地域属性として「北海道」のみを設定した場合、当該「北海道」が付加されたコンテンツの地域属性ポイントを例えば「１０」とし、「北海道」が付加されていないコンテンツの地域属性ポイントを例えば「１」とすることにより、「北海道」が付加されたコンテンツの地域属性ポイントを高くしダウンロードしやすくすることできる。
【００６５】
以上のような構成において、制御部１１は、ＣＰＵが記憶部１２等に記憶されたプログラム（本発明のノード処理プログラムを含む）を読み出して実行することにより、全体を統括制御し、上述したユーザノード、中継ノード、ルートノード、キャッシュノード、及びコンテンツ保持ノードの少なくとも何れか一つのノードとしての処理を行う。また、制御部１１は、本発明における参加処理手段、空き容量判別手段、コンテンツリスト取得手段、確率算出手段、コンテンツ選定手段、保存制御手段、及びコンテンツ取得手段として機能する。
【００６６】
より具体的には、制御部１１は、例えば自ノードの電源オン時に、コンテンツ分散保存システムＳに参加するための参加処理を実行する。かかる参加処理において、制御部１１は、例えば、コンタクトノードにネットワーク８を介して接続し当該コンタクトノードに対して参加メッセージを送信する。これに応じて、当該コンテンツノード等から返信されてきた情報に基づきＤＨＴを用いたルーティングテーブルを作成してコンテンツ分散保存システムＳに参加することになる。このとき、制御部１１は、ストレージに所定の空き容量（例えば、複数のコンテンツのレプリカを保存できるデータ容量）があるか否かを判別し、空き容量があると判別した場合に、上述した人気コンテンツリストに基づき、所定のデータ容量分（例えば、空き容量分、又は指定容量分）の複数のコンテンツを選定する。
【００６７】
ここで、人気コンテンツリストは、当該ノードＮｎが例えば参加時に管理サーバから取得する方法と、当該ノードＮｎが例えば参加時に自律的に作成することで取得する方法とがある。
【００６８】
図４は、人気コンテンツリストをノードＮｎが管理サーバから取得する方法を示す概念図である。この方法では、図４に示すように、各ノードＮｎは、コンテンツのレプリカを再生した際、及びコンテンツのレプリカをコンテンツ保持ノード等からダウンロードした際には、そのログ情報（コンテンツＩＤを含む）を、コンテンツ分散保存システムＳにおいて利用可能な各コンテンツに関する情報を管理するセンターの管理サーバ（例えば、コンテンツ提供サーバ）に送信する。この管理サーバは、そのログ情報を集計することで、各コンテンツの再生回数及びＤＬ回数を算出することができる。また、例えば、各ノードＮｎに設置場所情報（例えば、郵便番号や住所）を設定し、各ノードＮｎが設置場所情報をログ情報に含めて管理サーバに送信することにより、当該管理サーバは、各コンテンツの利用地域傾向の情報を集計して各コンテンツの地域属性を求めることができる。こうして、管理サーバは、任意の期間に人気が高いコンテンツに関する情報が記述された人気コンテンツリストを作成し、各ノードＮｎに対して提供することになる。このように管理サーバが人気コンテンツリストを作成する方法によれば、人気コンテンツリストの精度を高めることができる。なお、人気コンテンツリストに記述される再生ポイント及びＤＬポイントは管理サーバが算出しても良いし、人気コンテンツリストを取得したノードＮｎの制御部１１が算出しても良い。
【００６９】
一方、図５は、ノードＮｎが自律的に作成することで取得する方法を示す概念図である。この方法では、各ノードＮｎは、コンテンツの再生履歴やダウンロード履歴のデータを一定の期間、或いは一定のデータ量記憶しておき、他のノードＮｎから履歴データ取得要求があれば、その履歴のデータを当該ノードＮｎに提供する。これにより、各ノードＮｎは、例えばランダムに選定した複数の他のノードＮｎから履歴のデータを収集し、これを集計することで、各コンテンツの再生回数及びＤＬ回数を算出することができる。なお、履歴のデータの収集対象となるノードＮｎの数が多ければ多いほど、その集計結果は、管理サーバで集計する場合に近づくことになる。また、図５に示す方法では、図４に示す方法に比べて、利用地域傾向の情報を集計して各コンテンツの地域属性を求めることは容易ではないが、各ノードＮｎが履歴データ取得要求を他のノードＮｎに行う際に、設置場所を指定することで、ある地域内にあるノードＮｎからのみ履歴のデータを取得するように構成すればより効果的である。例えば、自ノードの設置場所に近い場所（例えば、県が同じ、又は郵便番号が近いなど）に設置されたノードＮｎからの履歴のデータの取得を優先することで、相対的に地元で人気のあるコンテンツに関する情報が取得しやすくなる。こうして、各ノードＮｎは、任意の期間に人気が高いコンテンツに関する情報が記述された人気コンテンツリストを作成することになる。このように各ノードＮｎが人気コンテンツリストを作成する方法によれば、管理サーバの負荷を低減することができる。なお、人気コンテンツリストに記述される再生ポイント及びＤＬポイントは各ノードＮｎの制御部１１が算出することになる。
【００７０】
そして、人気コンテンツリストに基づくコンテンツの選定にあたって、制御部１１は、当該人気コンテンツリストと、ジャンルや地域属性の重み割合の設定に基づきダウンロードリストを作成する。
【００７１】
図６〜図８は、図３に示す人気コンテンツリストに基づき作成されたダウンロードリストの内容の一例を示す図である。図示されるように、ダウンロードリストには、人気コンテンツリストに記述される項目に加え、各コンテンツの合計ポイント及びダウンロード確率が記述されている。この合計ポイント及びダウンロード確率は、規格化された値を算出できる方法であれば、どのような方法で算出してもよいが、例えば、上述した再生ポイント、ＤＬポイント、ジャンルポイント、及び地域属性ポイントに基づき、下記（３），（４）式により算出できる。
【００７２】
合計ポイント＝再生ポイント×ＤＬポイント×ジャンルポイント×地域属性ポイント・・・（３）
ダウンロード確率＝合計ポイント÷人気コンテンツリストの内の合計ポイントの合計×１００・・・（４）
上記（３），（４）式によれば、かかるダウンロード確率は、上記再生回数とＤＬ回数の少なくとも何れか一つの回数に比例した確率であると言え、更に、自ノードにおいて予め設定されたジャンル、及び地域属性の少なくとも何れか一つが一致するコンテンツのダウンロード確率は例えば重み割合によって変化する。
【００７３】
図６の例では、ジャンルの重み割合が、（若者向け：中高年向け：高齢者向け）＝（１：０：０）と設定され、地域属性が特に指定されていない場合を示している。この場合、ジャンルが「若者向け」であるコンテンツのジャンルポイントは「１」（中高年向け及び高齢者向けであるコンテンツのジャンルポイントは「０」）に設定され、地域属性は特に指定がないので、地域属性ポイントは人気コンテンツリストにある全てコンテンツにおいて「１」に設定されて、合計ポイント及びダウンロード確率が算出される。
【００７４】
図７の例では、ジャンルの重み割合が、（若者向け：中高年向け：高齢者向け）＝（１：０：０）と設定され、地域属性が、（無：沖縄）＝（１：２）と設定されている場合のダウンロードリストの内容を示している。この場合、ジャンルが「若者向け」であるコンテンツのジャンルポイントは「１」に設定され、地域属性が「沖縄」であるコンテンツの地域属性ポイントは「２」（沖縄以外は「１」）に設定されて、合計ポイント及びダウンロード確率が算出される。
【００７５】
図８の例では、ジャンル及び地域属性が特に指定されていない場合を示している。この場合、ジャンルポイント及び地域属性ポイントは人気コンテンツリストにある全てコンテンツにおいて「１」に設定されて、合計ポイント及びダウンロード確率が算出される。
【００７６】
そして、制御部１１は、各コンテンツ毎に算出されたダウンロード確率に基づいてコンテンツを選定することになる。例えば、制御部１１は、ダウンロード確率が高いほど選定される割合が高くなる演算式を用いて、コンテンツ毎に選定するか否かを決定する。例えば、図８の例において、「コンテンツbbb」のダウンロード確率は約２０％であることから５回で１回の割合で選定されることになるが、「コンテンツccc」のダウンロード確率は約５％であることから２０回で１回の割合で選定されることになる。つまり、利用される確率の高いコンテンツが優先して選定されることになる。
【００７７】
制御部１１は、このようなコンテンツの選定処理を、例えばストレージの空き容量が無くなるまで、又はストレージの容量がユーザにより指定された容量になるまで行い、当該選定したコンテンツのレプリカを、ルートノードにその所在を問い合わせることによりコンテンツ保持ノードからダウンロード（又はコンテンツ提供サーバからダウンロード）し、当該レプリカを上記ストレージに保存させる。なお、レプリカのダウンロードは、コンテンツの選定の都度行うようにしても良いし、全てのコンテンツの選定が終了した後にまとめて行うようにしても良い。
【００７８】
また、一旦ストレージに保存されたレプリカが、例えばセンターからの指示又はユーザからの指示等により削除され空き容量ができる場合もある。このような場合のために、制御部１１は、予め設定された空き容量（例えば、少なくとも一つのコンテンツのレプリカを保存できる容量）がストレージにあるか否かを例えば一定周期で判別し、空き容量ができたと判別した場合に、上記と同様、人気コンテンツリストに基づき、所定のデータ容量分（例えば、空き容量分、又は指定容量分）のコンテンツを選定及びダウンロードし、当該レプリカを上記ストレージに保存させる。
【００７９】
ところで、上述したように、ノードＮｎは、ストレージに空き容量がある場合に自動的にコンテンツのレプリカをダウンロードするが、かかる自動ダウンロード処理と、ユーザがノードＮｎを使用（例えば、カラオケを歌う、映像及び音声を視聴するなど）するために、当該ユーザによりリクエスト（つまり、入力部２０を通じて指定）されたコンテンツのレプリカをコンテンツ保持ノード等からダウンロードするリクエストダウンロード処理とが重なる（バッティングする）場合が想定される。かかる場合、制御部１１の負荷が上昇し、リクエストダウンロード処理によりコンテンツをダウンロードする時間が通常よりもかかりユーザの満足度を低下してしまうおそれがある。そこで、本実施形態において、制御部１１は、自動ダウンロード処理と、リクエストダウンロード処理とが重なった場合、リクエストダウンロード処理を優先させるべく負荷回避処理を実行するようにしている。かかる負荷回避処理の具体例としては、例えば、以下の（ａ）〜（ｃ）の３つの方法が挙げられる。
【００８０】
（ａ）制御部１１は、自動ダウンロード処理を一時停止して、リクエストダウンロード処理によりリクエストされたコンテンツのレプリカを優先的にダウンロードする。そして、制御部１１は、リクエストダウンロード処理によるレプリカのダウンロード完了したときに、停止していた自動ダウンロード処理を再開する。
【００８１】
（ｂ）自動ダウンロード処理によるレプリカのダウンロードのビットレートを下げ、リクエストダウンロード処理によるレプリカのダウンロードのビットレートを上げる。
【００８２】
（ｃ）自動ダウンロード処理によるレプリカのダウンロードに時間間隔を空け、リクエストダウンロード処理によるレプリカのダウンロードと重複しないようにする。
【００８３】
なお、上記ノード処理プログラムは、例えば、ネットワーク８上の所定のサーバからダウンロードされるようにしてもよいし、例えば、ＣＤ−ＲＯＭ等の記録媒体に記録されて当該記録媒体のドライブを介して読み込まれるようにしても良い。
【００８４】
［３．ノードＮｎの動作］
次に、図９を参照して、本実施形態に係るノードＮｎの動作について説明する。
【００８５】
図９は、ノードＮｎにおける制御部１１の処理を示すフローチャートである。
【００８６】
図９に示す処理は、例えばノードＮｎにおいて電源オンがなされると開始され、先ず、制御部１１は、ユーザからの入力部２０を介した指示にしたがって初期設定を行う（ステップＳ１）。この初期設定では、上述したように、ジャンルや地域属性、及びこれらの重み割合を設定することができ、設定されたジャンルや地域属性、及びこれらの重み割合が記憶部１２に記憶される。また、この初期設定は後から変更可能である。
【００８７】
次いで、制御部１１は、参加処理を行う（ステップＳ２）。当該参加処理において、制御部１１は、コンタクトノードに対して参加メッセージ（自ノードのノード情報を含む）を送信することにより返信されてきたメッセージに含まれるノード情報等を用いてＤＨＴを用いたルーティングテーブルを生成する。これにより、当該ノードＮｎは、コンテンツ分散保存システムＳに参加することになる。
【００８８】
次いで、制御部１１は、記憶部１２におけるストレージに所定の空き容量があるか否かを判別し（ステップＳ３）、空き容量があると判別した場合には（ステップＳ３：ＹＥＳ）、ステップＳ４に進み、空き容量がないと判別した場合には（ステップＳ３：ＮＯ）、ステップＳ１４に進む。
【００８９】
ステップＳ４では、制御部１１は、上述したように、人気コンテンツリストを取得する。
【００９０】
次いで、制御部１１は、人気コンテンツリストと、ジャンルや地域属性の重み割合の設定に基づき、上述したように、ダウンロードリストを作成する（ステップＳ５）。
【００９１】
次いで、制御部１１は、ダウンロードリストに記述された例えば最上位の（最も人気が高い）コンテンツを一つ特定する（ステップＳ６）。
【００９２】
次いで、制御部１１は、当該特定したコンテンツのレプリカが既にストレージに保存されているか否かを判別し（ステップＳ７）、既にストレージに保存されている場合には（ステップＳ７：ＹＥＳ）、ステップＳ１２に進み、未だストレージに保存されていない場合には（ステップＳ７：ＮＯ）、ステップＳ８に進む。
【００９３】
ステップＳ８では、制御部１１は、上記特定したコンテンツのダウンロード確率をダウンロードリストから読み込み、当該確率に基づいて、上述したように、コンテンツを選定するか否かを決定する。そして、制御部１１は、当該コンテンツを選定すると決定した場合には（ステップＳ８：ＹＥＳ）、ステップＳ９に進み、当該コンテンツを選定しないと決定した場合には（ステップＳ８：ＹＥＳ）、ステップＳ１２に進む。
【００９４】
ステップＳ９では、制御部１１は、ユーザからコンテンツのリクエストが過去所定時間以内（例えば、数秒前）にあったか否かを判別し、当該リクエストがない場合には（ステップＳ９：ＮＯ）、ステップＳ１０に進み、当該リクエストがあった場合には（ステップＳ９：ＹＥＳ）、ステップＳ１１に進む。
【００９５】
ステップＳ１０では、制御部１１は、上記選定したコンテンツの自動ダウンロード処理を行う。かかる自動ダウンロード処理においては、例えば、制御部１１は、選定したコンテンツのコンテンツＩＤ及び自己のＩＰアドレス等を含むコンテンツ所在問合せメッセージを生成し、これを自己のＤＨＴを用いたルーティングテーブルにしたがって他のノードＮｎに対して送出（つまり、ルートノードに向けて送出）する。これにより、コンテンツ所在問合せメッセージは、コンテンツＩＤをキーとするＤＨＴルーティングによって最終的にルートノードに到着し、当該メッセージを受信したルートノードは、これに含まれるコンテンツＩＤに対応するインデックス情報をインデックスキャッシュから取得して、当該インデックス情報を、該コンテンツ所在問合せメッセージの送信元であるノードＮｎに対して返信する。こうしてインデックス情報を取得したノードＮｎの制御部１１は、当該インデックス情報に含まれるあるコンテンツ保持ノードのＩＰアドレス等に基づいて当該コンテンツ保持ノードにアクセスして、コンテンツ送信要求メッセージを送信し、そこからコンテンツのレプリカをダウンロードしストレージに保存する。なお、ネットワークの負荷状況により、一定時間内にルートノードからインデックス情報を取得できない場合、当該ノードＮｎの制御部１１は、コンテンツ提供サーバにアクセスして、そこから上記コンテンツのレプリカをダウンロードしストレージに保存する。
【００９６】
ステップＳ１１では、制御部１１は、上述した負荷回避処理（例えば、上述した（ａ）〜（ｃ）の３つ方法の何れか）を行う。これにより、上記ステップＳ８で選定されたコンテンツのレプリカと、ユーザによりリクエストされたコンテンツのレプリカとが、コンテンツ保持ノード又はコンテンツ提供サーバからダウンロードされ、ストレージに保存される。
【００９７】
次いで、制御部１１は、上記ステップＳ６で特定したコンテンツに関する情報をダウンロードリストから削除する（ステップＳ１２）。
【００９８】
次いで、制御部１１は、ストレージの空き容量が所定容量になったか否かを判別し（ステップＳ１３）、ストレージの空き容量が所定容量になった場合には（ステップＳ１３：ＹＥＳ）、ステップＳ１４に進み、ストレージの空き容量が所定容量にならない（言い換えれば、未だコンテンツのレプリカを保存できる空き容量がストレージにある）場合には（ステップＳ１３：ＮＯ）、ステップＳ６に戻る。こうして、制御部１１は、再び、ダウンロードリストに記述された最上位（最も人気が高い）コンテンツを一つ特定して上記と同様の処理を繰り返す。ここで、既にステップＳ６で特定されたコンテンツに関する情報はダウンロードリストから削除されているので、重複してステップＳ６で特定されることはない。このような処理により、例えばストレージの空き容量が無くなるまで、又はストレージの容量がユーザにより指定された容量になるまで、選定されたコンテンツのレプリカがダウンロードされてストレージに保存される。
【００９９】
ステップＳ１４では、制御部１１は、各種メッセージの送受信処理やユーザからの指示に応じた処理（例えば、コンテンツのダウンロード処理、コンテンツの再生処理、コンテンツの削除処理など）等のその他の処理を行う。
【０１００】
そして、ステップＳ１５では、制御部１１は、電源オフ指令があったか否かを判別し、電源オフ指令がない場合には（ステップＳ１５：ＮＯ）、ステップＳ３に戻り上記と同様の処理を行い（レプリカが削除された場合は、再び、ステップＳ４以降の処理が行われる）、電源オフ指令があった場合には（ステップＳ１５：ＹＥＳ）、当該処理を終了する。
【０１０１】
以上説明したように、上記実施形態によれば、ノードＮｎは、コンテンツ分散保存システムＳへの参加時においてストレージに所定の空き容量がある場合に、所定のデータ容量分の複数のコンテンツを人気コンテンツリストに基づき選定し、選定したコンテンツのレプリカを、コンテンツ保持ノード等からダウンロードし、当該レプリカをストレージに保存させるように構成したので、コンテンツ分散保存システムＳへの参加当初から、ネットワーク全体の最近の人気度等に即したコンテンツのレプリカをノードＮｎに自動的に保存させることができる。これにより、コンテンツ再生の即時性を向上させることができる。
【０１０２】
また、ストレージに保存されたレプリカが削除されることにより当該ストレージに空きが生じた場合にも、ノードＮｎは、例えば空き容量分のコンテンツを人気コンテンツリストに基づき選定し、選定されたコンテンツのレプリカを、コンテンツ保持ノード等からダウンロードし、当該レプリカをストレージに保存させるように構成したので、常に、コンテンツ再生の即時性を向上させることができる。
【０１０３】
また、ノードＮｎは、人気コンテンツリストにおけるコンテンツのダウンロード回数と再生回数の少なくとも何れか一つの回数に比例したダウンロード確率を各コンテンツ毎に算出し、各コンテンツ毎に算出されたダウンロード確率に基づいてダウンロードするべきコンテンツとして選定するように構成したので、利用される確率の高い人気コンテンツを優先して選定することができると共に、複数のノードＮｎでダウンロードするコンテンツは確率的にバラけさせることができる。
【０１０４】
また、ノードＮｎは、ジャンル、地域属性、これらの重み割合の設定にしたがってダウンロード確率を変化させるように構成したので、ユーザが好むコンテンツのレプリカをジャンルや地域属性の指定によりダウンロードされやすくすることができる。また、人気コンテンツリスト内のコンテンツのうち、あるジャンルが付加されたコンテンツのレプリカしかダウンロードしないということもできる。
【０１０５】
更に、ノードＮｎは、自動ダウンロード処理と、リクエストダウンロード処理とが重なった場合、リクエストダウンロード処理を優先させるべく負荷回避処理を行うことにより、ユーザの満足度が低下することを回避することができる。
【０１０６】
なお、上記実施形態におけるコンテンツ分散保存システムＳは、ＤＨＴを利用したアルゴリズムによって形成されることを前提として説明したが、本発明はこれに限定されるものではない。また、上記実施形態におけるコンテンツ分散保存システムＳは、システム（ネットワーク）に参加する際、或いはストレージに空きが生じた際、自ノードのキャッシュをなるべくネットワーク全体の人気度などに即して保持しているほうが有利になるようなコンテンツ配信システムに対して適用でき、例えばカラオケ店の曲配信システムやホテルなどの映像配信システム等にも適用できる。
【図面の簡単な説明】
【０１０７】
【図１】本実施形態に係るコンテンツ分散保存システムにおける各ノード装置の接続態様の一例を示す図である。
【図２】ノードＮｎの概要構成例を示す図である。
【図３】人気コンテンツリストの内容の一例を示す図である。
【図４】人気コンテンツリストをノードＮｎが管理サーバから取得する方法を示す概念図である。
【図５】ノードＮｎが自律的に作成することで取得する方法を示す概念図である。
【図６】図３に示す人気コンテンツリストに基づき作成されたダウンロードリストの内容の一例を示す図である。
【図７】図３に示す人気コンテンツリストに基づき作成されたダウンロードリストの内容の一例を示す図である。
【図８】図３に示す人気コンテンツリストに基づき作成されたダウンロードリストの内容の一例を示す図である。
【図９】ノードＮｎにおける制御部１１の処理を示すフローチャートである。
【符号の説明】
【０１０８】
８  ネットワーク
９  オーバーレイネットワーク
１１  制御部
１２  記憶部
１３  バッファメモリ
１４  デコーダ部
１５  映像処理部
１６  表示部
１７  音声処理部
１８  スピーカ
１９  通信部
２０  入力部
２１  バス
Ｎｎ  ノード
Ｓ  コンテンツ分散保存システム
【図１】
2010066930.tif 000003
【図２】
2010066930.tif 000004
【図３】
2010066930.tif 000005
【図４】
2010066930.tif 000006
【図５】
2010066930.tif 000007
【図６】
2010066930.tif 000008
【図７】
2010066930.tif 000009
【図８】
2010066930.tif 000010
【図９】
2010066930.tif 000011