(57)【要約】      （修正有）【課題】予め蓄積指示された蓄積コンテンツデータを所定のタイミングで削除することで、ハードディスク等の記憶手段にかかる負荷を抑制するコンテンツデータ削除方法を提供する。【解決手段】複数のコンテンツデータを複数のノード装置に分散して保存させたコンテンツ分散保存システムであって、他のノード装置から当該コンテンツデータを取得するコンテンツデータ要求取得手段と、コンテンツデータを配信するサーバ装置または他のノード装置から予め蓄積指示された蓄積コンテンツデータと、を含む前記コンテンツ分散保存システムにて利用可能なコンテンツデータを記憶する記憶手段と、前記第１記憶領域に記憶されたコンテンツデータのうち、前記蓄積コンテンツデータが公開される公開日時が情報が示す公開日時に基づいて、前記第１記憶領域に記憶された前記蓄積コンテンツデータを削除すべきタイミングか否かを判断する判断手段を有する。【選択図】図６
2010238144.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して互いに通信可能な複数のノード装置を備えたコンテンツ分散保存システムであり、複数のコンテンツデータを前記複数のノード装置に分散して保存させ、各前記ノード装置間で前記コンテンツデータを利用可能としたコンテンツ分散保存システムにおける前記ノード装置であって、
前記コンテンツ分散保存システムに参加する他のノード装置に対して、前記コンテンツデータの送信を要求し、当該コンテンツデータを取得するコンテンツデータ要求取得手段と、
前記コンテンツデータ要求取得手段により取得された要求コンテンツデータと、コンテンツデータを配信するサーバ装置または他のノード装置から予め蓄積指示された蓄積コンテンツデータと、を含む前記コンテンツ分散保存システムにて利用可能なコンテンツデータを記憶する第１記憶領域と、前記蓄積コンテンツデータを記憶する第２記憶領域と、を含む記憶手段と、
前記第１記憶領域に記憶されたコンテンツデータが、前記サーバ装置または前記他のノード装置によって予め蓄積指示されたコンテンツデータであるか否かを判別するコンテンツ判別手段と、
前記第１記憶領域に記憶されたコンテンツデータのうち、前記コンテンツ判別手段により判別された前記蓄積コンテンツデータが公開される公開日時が記述された公開日時情報を取得する公開日時情報取得手段と、
取得された公開日時情報が示す公開日時に基づいて、前記第１記憶領域に記憶された前記蓄積コンテンツデータを削除すべきタイミングか否かを判断する判断手段と、
前記判断手段により削除すべきタイミングであると判断された場合に、前記第１記憶領域に記憶されたコンテンツデータのうち、前記蓄積コンテンツデータを削除する削除手段と、
を有することを特徴とするノード装置。
【請求項２】
請求項１に記載のノード装置において、
前記判断手段は、前記公開日時から、所定時間が経過したとき、前記サーバ装置又は前記他のノード装置によって予め蓄積指示されたコンテンツデータを削除すべきタイミングであると判断することを特徴とするノード装置。
【請求項３】
請求項１または請求項２に記載のノード装置において、
前記第１記憶領域に記憶されたコンテンツデータを削除する日時であるか否かを判定する日時判定手段を有し、
前記日時判定手段により、前記コンテンツデータを削除する日時であると判定された場合に、前記判断手段は前記サーバ装置又は前記他のノード装置によって予め蓄積指示されたコンテンツデータを削除すべきタイミングであるか否かを判断することを特徴とするノード装置。
【請求項４】
請求項１から請求項３のいずれか一項に記載のノード装置において、
前記コンテンツデータ要求取得手段が、前記コンテンツデータの送信を要求したときに、前記判断手段は、前記サーバ装置又は前記他のノード装置によって予め蓄積指示されたコンテンツデータを削除すべきタイミングであるか否かを判断することを特徴とするノード装置。
【請求項５】
請求項１から請求項４のいずれか一項に記載のノード装置であって、
前記判断手段は、乱数を生成する乱数生成手段を有し、生成された乱数が、所定範囲内である場合にのみ、前記サーバ装置又は前記他のノード装置によって予め蓄積指示されたコンテンツデータを削除すべきタイミングであると判断することを特徴とするノード装置。
【請求項６】
コンピュータを、請求項１乃至５の何れか一項に記載のノード装置として機能させることを特徴とするノード処理プログラム。
【請求項７】
ネットワークを介して互いに通信可能な複数のノード装置を備えたコンテンツ分散保存システムであり、複数のコンテンツデータを複数のノード装置に分散して保存させ、各前記ノード装置間で前記コンテンツデータを利用可能としたコンテンツ分散保存システムの前記ノード装置におけるコンテンツデータ削除方法であって、
前記コンテンツ分散保存システムに参加する他のノード装置に対して、前記コンテンツデータの送信を要求し、当該コンテンツデータを取得するコンテンツデータ要求取得工程と、
前記コンテンツデータ要求取得工程により取得された要求コンテンツデータと、コンテンツデータを配信するサーバ装置または他のノード装置から予め蓄積指示された蓄積コンテンツデータと、を含む前記コンテンツ分散保存システムにて利用可能なコンテンツデータを記憶手段の第１記憶領域に記憶させる工程と、
前記蓄積コンテンツデータを前記記憶手段の第２記憶領域に記憶させる工程と、
前記第１記憶領域に記憶されたコンテンツデータが、前記サーバ装置または前記他のノード装置によって予め蓄積指示されたコンテンツデータであるか否かを判別するコンテンツ判別工程と、
前記第１記憶領域に記憶されたコンテンツデータのうち、前記コンテンツ判別工程により判別された前記蓄積コンテンツデータが公開される公開日時が記述された公開日時情報を取得する公開日時情報取得工程と、
取得された公開日時情報が示す公開日時に基づいて、前記第１記憶領域に記憶された前記蓄積コンテンツデータを削除すべきタイミングか否かを判断する判断工程と、
前記判断工程により削除すべきタイミングであると判断された場合に、前記第１記憶領域に記憶されたコンテンツデータのうち、前記蓄積コンテンツデータを削除する工程と、
を有することを特徴とするコンテンツデータ削除方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたピアツーピア（Peer to Peer（P2P））型の通信システムの技術分野に関する。
【背景技術】
【０００２】
この種のピアツーピア型の通信システム（Ｐ２Ｐネットワーク）は、複数のノード装置により構成される。各種コンテンツのデータファイルは、複数のデータファイルの複製データ（以下、「レプリカ」という）として複数のノード装置に分散して保存（配置）させる。データファイルは、映画及び音楽などの各種コンテンツのデータファイルである。一般的には、各ノード装置間でレプリカを利用可能とした分散保存システムが知られている。これにより、対故障性やアクセスの分散性が高められている。このように分散保存されたレプリカの所在は、例えば特許文献１に開示されるような分散ハッシュテーブル（以下、ＤＨＴ（Distributed Hash Table）という）を利用して効率良く検索可能になっている。
【０００３】
そして、上述のノード装置は、所望のコンテンツを取得するとき、当該コンテンツのレプリカの所在を検索（発見）するためのメッセージ（クエリ）が他のノード装置へ送出される。これにより、当該メッセージは、上記ＤＨＴにしたがって、当該コンテンツのレプリカの所在の管理元のノード装置に向かって転送される。そして、上記メッセージを送出したノード装置は、上記管理元のノード装置から上記レプリカの所在を示す情報を取得することになる。これにより、上記メッセージを送出したノード装置は、上記検索に係るコンテンツのレプリカを保存しているノード装置にアクセスすることができる。そして、当該レプリカを取得（ダウンロード）することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−１９７４００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
一般的なピアツーピア型の通信システムでは、コンテンツのレプリカを取得したノード装置は、取得したレプリカをキャッシュとして各種記憶手段に保存する。
【０００６】
例えば通信カラオケシステムにピアツーピア型の通信システムを適用することを考えると、月ごとに定期的に配信されノード装置がコンテンツの使用にかかわらず記憶されるコンテンツなどがある。また、定期的に配信される定期配信コンテンツの他、ユーザーからのリクエストに応じて使用するたびに取得して記憶手段に記憶されるコンテンツがある。
【０００７】
ところで、上記の定期配信コンテンツは、配信された直後からノード装置に記憶されるまで頻繁に利用される。しかし、時間の経過に伴い、各ノード装置の定期配信コンテンツのコンテンツデータは、緩やかに利用率が低下していくことが考えられる。そのため、利用率が低くなったコンテンツをいつまでも記憶手段にキャッシュしておくことは、ノード装置の記憶資源を有効に利用するといった観点から得策でない。
【０００８】
本発明は、以上の点等に鑑みてなされたものであり、記憶したコンテンツデータのうち、定期配信コンテンツなど、予め蓄積指示された蓄積コンテンツデータを所定のタイミングで削除することで、ハードディスク等の記憶手段にかかる負荷を抑制することが可能なノード装置、ノード処理プログラム、及びコンテンツデータ削除方法を提供することを課題とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、請求項１に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたコンテンツ分散保存システムであり、複数のコンテンツデータを複数のノード装置に分散して保存させ、各前記ノード装置間で前記コンテンツデータを利用可能としたコンテンツ分散保存システムにおける前記ノード装置であって、前記コンテンツ分散保存システムに参加する他のノード装置に対して、前記コンテンツデータの送信を要求し、当該コンテンツデータを取得するコンテンツデータ要求取得手段と、前記コンテンツデータ要求取得手段により取得された要求コンテンツデータと、コンテンツデータを配信するサーバ装置または他のノード装置から予め蓄積指示された蓄積コンテンツデータと、を含む前記コンテンツ分散保存システムにて利用可能なコンテンツデータを記憶する第１記憶領域と、前記蓄積コンテンツデータを記憶する第２記憶領域と、を含む記憶手段と、前記第１記憶領域に記憶されたコンテンツデータが、前記サーバ装置または前記他のノード装置によって予め蓄積指示されたコンテンツデータであるか否かを判別するコンテンツ判別手段と、前記第１記憶領域に記憶されたコンテンツデータのうち、前記コンテンツ判別手段により判別された前記蓄積コンテンツデータが公開される公開日時が記述された公開日時情報を取得する公開日時情報取得手段と、取得された公開日時情報が示す公開日時に基づいて、前記第１記憶領域に記憶された前記蓄積コンテンツデータを削除すべきタイミングか否かを判断する判断手段と、前記判断手段により削除すべきタイミングであると判断された場合に、前記第１記憶領域に記憶されたコンテンツデータのうち、前記蓄積コンテンツデータを削除する削除手段と、を有することを特徴とするノード装置である。
【００１０】
この発明によれば、記憶手段の第１記憶領域に記憶された蓄積コンテンツデータについて、公開日時に基づいて削除すべきタイミングか否かを判断し、削除すべきタイミングであれば、当該蓄積コンテンツデータを削除するので、記憶手段に記憶されるコンテンツデータの量を抑制することができ、記憶手段の負荷増大を防止して、記憶手段へのアクセス処理速度（応答性）を向上させることができる。
【００１１】
上記課題を解決するために、請求項２に記載の発明は、請求項１に記載のノード装置において、前記判断手段は、前記公開日時から、所定時間が経過したとき、前記サーバ装置又は前記他のノード装置によって予め蓄積指示されたコンテンツデータを削除すべきタイミングであると判断することを特徴とするノード装置である。
【００１２】
この発明によれば、蓄積コンテンツデータがコンテンツ分散保存システム内の各ノード装置に満遍なく行き渡ったタイミングで、当該蓄積コンテンツデータを第１記憶領域から削除することができる。
【００１３】
上記課題を解決するために、請求項３に記載の発明は、請求項１またはから請求項２に記載のノード装置において、前記第１記憶領域に記憶されたコンテンツデータを削除する日時であるか否かを判定する日時判定手段を有し、前記日時判定手段により、前記コンテンツデータを削除する日時であると判定された場合に、前記判断手段は前記サーバ装置又は前記他のノード装置によって予め蓄積指示されたコンテンツデータを削除すべきタイミングであるか否かを判断することを特徴とするノード装置である。
【００１４】
この発明によれば、ユーザーによる指示等を受けなくても、予め定められた削除日時に自動的に蓄積コンテンツデータの削除処理を実行することができる。
【００１５】
上記課題を解決するために、請求項４に記載の発明は、請求項１から請求項３のいずれか一項に記載のノード装置において、前記コンテンツデータ要求取得手段が、前記コンテンツデータの送信を要求したときに、前記判断手段は、前記サーバ装置又は前記他のノード装置によって予め蓄積指示されたコンテンツデータを削除すべきタイミングであるか否かを判断することを特徴とするノード装置である。
【００１６】
この発明によれば、新たなコンテンツデータを取得する際に、記憶手段の負荷が増大することを防止することができる。
【００１７】
上記課題を解決するために、請求項５に記載の発明は、請求項１から請求項４のいずれか一項に記載のノード装置であって、前記判断手段は、乱数を生成する乱数生成手段を有し、生成された乱数が、所定範囲内である場合にのみ、前記サーバ装置又は前記他のノード装置によって予め蓄積指示されたコンテンツデータを削除すべきタイミングであると判断することを特徴とするノード装置である。
【００１８】
この発明によれば、生成した乱数が所定範囲内の場合にのみ蓄積コンテンツデータを削除するので、各ノード装置にて行なわれる削除処理において、一斉に当該蓄積コンテンツデータが削除されることを防止してコンテンツ分散保存システムを安定的に保つことができる。
【００１９】
上記課題を解決するために、請求項６に記載の発明は、コンピュータを、請求項１乃至５の何れか一項に記載のノード装置として機能させることを特徴とするノード処理プログラムである。
【００２０】
上記課題を解決するために、請求項７に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたコンテンツ分散保存システムであり、複数のコンテンツデータを複数のノード装置に分散して保存させ、各前記ノード装置間で前記コンテンツデータを利用可能としたコンテンツ分散保存システムの前記ノード装置におけるコンテンツデータ削除方法であって、前記コンテンツ分散保存システムに参加する他のノード装置に対して、前記コンテンツデータの送信を要求し、当該コンテンツデータを取得するコンテンツデータ要求取得工程と、前記コンテンツデータ要求取得工程により取得された要求コンテンツデータと、コンテンツデータを配信するサーバ装置または他のノード装置から予め蓄積指示された蓄積コンテンツデータと、を含む前記コンテンツ分散保存システムにて利用可能なコンテンツデータを記憶手段の第１記憶領域に記憶させる工程と、前記蓄積コンテンツデータを前記記憶手段の第２記憶領域に記憶させる工程と、前記第１記憶領域に記憶されたコンテンツデータが、前記サーバ装置または前記他のノード装置によって予め蓄積指示されたコンテンツデータであるか否かを判別するコンテンツ判別工程と、前記第１記憶領域に記憶されたコンテンツデータのうち、前記コンテンツ判別工程により判別された前記蓄積コンテンツデータが公開される公開日時が記述された公開日時情報を取得する公開日時情報取得工程と、取得された公開日時情報が示す公開日時に基づいて、前記第１記憶領域に記憶された前記蓄積コンテンツデータを削除すべきタイミングか否かを判断する判断工程と、前記判断工程により削除すべきタイミングであると判断された場合に、前記第１記憶領域に記憶されたコンテンツデータのうち、前記蓄積コンテンツデータを削除する工程と、を有することを特徴とするコンテンツデータ削除方法である。
【発明の効果】
【００２１】
本発明によれば、記憶手段の第１記憶領域に記憶された蓄積コンテンツデータについて、公開日時に基づいて削除すべきタイミングか否かを判断し、削除すべきタイミングであれば、当該蓄積コンテンツデータを削除するので、記憶手段に記憶されるコンテンツデータの量を抑制することができ、記憶手段の負荷増大を防止して、記憶手段へのアクセス処理速度（応答性）を向上させることができる。
【図面の簡単な説明】
【００２２】
【図１】本実施形態に係るデータファイル分散保存システムＳにおける各ノード装置の接続態様の一例を示す図である。
【図２】カタログ情報の一例である。
【図３】ノードＮｎの概要構成例を示すブロック図である。
【図４】キャッシュリストの一例である。
【図５】ノードＮｎにおける制御部１１のキャッシュリスト更新処理を示すフローチャートである。
【図６】ノードＮｎにおける制御部１１のキャッシュ削除処理を示すフローチャートである。
【発明を実施するための形態】
【００２３】
以下、本発明の実施形態を図面に基づいて説明する。
【００２４】
１．コンテンツ分散保存システムの構成及び動作概要
始めに、図１等を参照して、本実施形態に係るコンテンツ分散保存システムＳの構成及び動作概要について説明する。
【００２５】
図１は、本実施形態に係るコンテンツ分散保存システムＳにおける各ノード装置の接続態様の一例を示す図である。
【００２６】
図１の下部枠１０１内に示すように、ＩＸ（Internet eＸchange）３、ＩＳＰ（Internet Service Provider）４ａ、４ｂ、ＤＳＬ（Digital Subscriber Line）回線事業者（の装置）５ａ、５ｂ、ＦＴＴＨ（Fiber To The Home）回線事業者（の装置）６、及び通信回線（例えば、電話回線や光ケーブル等）７等によって、インターネット等のネットワーク（現実世界の通信ネットワーク）８が構築されている。なお、図１の例におけるネットワーク８には、データ（パケット）を転送するためのルータが、適宜挿入されているが図示を省略している。
【００２７】
このようなネットワーク８には、複数のノード装置（以下、「ノード」という）Ｎｎ（ｎ＝１，２，３・・・の何れか）が接続されている。また、各ノードＮｎには、固有の製造番号およびＩＰ（Internet Protocol）アドレスが割り当てられている。そして、本実施形態に係るコンテンツ分散保存システムＳは、これらのノードＮｎのうち、図１の上部枠１００内に示すように、何れか複数のノードＮｎの参加により形成されるピアツーピア方式のネットワークシステムとなっている。
【００２８】
なお、図１の上部枠１００内に示すネットワーク９は、既存のネットワーク８を用いて形成された仮想的なリンクを構成するオーバーレイネットワーク９（論理的なネットワーク）である。かかるオーバーレイネットワーク９は、特定のアルゴリズム、例えば、ＤＨＴを利用したアルゴリズムにより実現される。そして、コンテンツ分散保存システムＳ（言い換えれば、オーバーレイネットワーク９）に参加している各ノードＮｎには、所定桁数からなる固有の識別情報であるノードＩＤ（ノード装置識別情報の一例）が割り当てられている。
【００２９】
また、当該ノードＩＤは、例えば、各ノードＮｎに個別に割り当てられたＩＰアドレス或いは製造番号を共通のハッシュ関数（例えば、ＳＨＡ−１等）によりハッシュ化した値（例えば、ｂｉｔ長が１６０ｂｉｔ）であり、一つのＩＤ空間に偏りなく分散して配置されることになる。
【００３０】
また、各ノードＮｎは、夫々、ＤＨＴを用いたルーティングテーブルを保持している。このルーティングテーブルは、コンテンツ分散保存システムＳ上における各種メッセージの転送先を規定しており、具体的には、ＩＤ空間内で適度に離れたノードＮｎのノード情報（ノードＩＤ、アドレス情報（ＩＰアドレス及びポート番号等））が複数登録されている。
【００３１】
ところで、コンテンツ分散保存システムＳにおいては、内容の異なる様々な映画、アニメ、音楽等のコンテンツの複製データ（以下、「レプリカ」又は「コンテンツデータ」と言う。）が所定のファイル形式で複数のノードＮｎに分散して保存（格納）されており、各ノードＮｎ間で当該レプリカを利用可能になっている。例えば、ノードＮ５には、タイトルがＸＸＸの映画のコンテンツのレプリカが保存されており、一方、ノードＮ３には、タイトルがＹＹＹの映画のコンテンツのレプリカが保存されるというように、複数のノードＮｎ（以下、「コンテンツ保持ノード」という）に分散されて保存されている。
【００３２】
また、これらのコンテンツのレプリカには、夫々、コンテンツ名（タイトル）及びコンテンツＩＤ等の情報が付加されている。当該コンテンツＩＤは、コンテンツ毎に固有の識別情報（コンテンツ識別情報の一例）である。このコンテンツＩＤは、例えば、コンテンツ名＋任意の数値が、上記ノードＩＤを得るときと共通のハッシュ関数によりハッシュ化されて生成される。コンテンツの先頭数バイトであり、でも良い。そして、コンテンツＩＤは、ノードＩＤと同一のＩＤ空間に配置される。また、システム管理者が、ノードＩＤと同一ビット長であるコンテンツＩＤを、コンテンツ毎に一意に付与しても良い。ノードＩＤとコンテンツＩＤは、同一のＩＤ空間に存在するよう構成される。なお、ＩＤ空間については、特開２００６−１９７４００号公報等で公知であるので、詳しい説明を省略する。
【００３３】
このように分散保存されているコンテンツのレプリカの所在、つまり、当該レプリカを保存（記憶、キャッシュとも言う。）したノードＮｎのノード情報（ノードＩＤ、アドレス情報）と当該コンテンツのコンテンツＩＤ等の組が含まれるインデックス情報が、当該コンテンツのレプリカの所在を管理しているノードＮｎ（以下、「ルートノード」、又は「コンテンツ（コンテンツＩＤ）のルートノード」という）等により記憶（インデックスキャッシュに記憶）、管理されるようになっている。
【００３４】
このようなコンテンツ分散保存システムＳにおいて、コンテンツデータをダウンロードする際には、コンテンツをリクエストするユーザーノードが、先ず、コンテンツ分散保存システムＳを運営する管理者の管理サーバ（サーバ装置の一例）等から各ノードＮｎに配布されたカタログ情報を参照して、取得したいコンテンツのコンテンツＩＤを取得する。
【００３５】
なお、カタログ情報には、コンテンツの属性情報が記述（記憶）されており、この属性情報としては、例えば、コンテンツＩＤ、コンテンツの公開日時を示す公開日時情報、コンテンツ種別を示すコンテンツ種別情報（後述する）、コンテンツの検索用キーワード、コンテンツの評価値、コンテンツタイトル（コンテンツが映画の場合、映画タイトル、コンテンツが楽曲の場合、楽曲タイトル、コンテンツが放送番組の場合、番組タイトル）、ジャンル（コンテンツが映画の場合、アクション、ホラー、コメディ、ラブストーリー等、コンテンツが音楽の場合、ロック、ジャズ、ポップス、クラシック等、コンテンツが放送番組の場合、ドラマ、スポーツ、ニュース、映画、音楽、アニメ、バラエティ等）、アーティスト名（コンテンツが音楽の場合の歌手、グループ等）、出演者（コンテンツが映画や放送番組の場合のキャスト）、監督名（コンテンツが映画の場合）等が挙げられる。
【００３６】
図２は、カタログ情報の一例である。
【００３７】
図２に示すカタログ情報の場合、コンテンツの公開日時情報、コンテンツ種別情報、コンテンツタイトル、コンテンツの検索用キーワードが、それぞれコンテンツＩＤに対応付けて記述されている。なお、同図に示す公開日時情報では、説明を簡単にするため、公開日時情報は公開日までの情報とし、日時の単位までは限定していない。また、説明を簡単にするため、コンテンツＩＤは８桁としている。
【００３８】
そして、ユーザーノードは、コンテンツ保存ノードの所在を検索すべく、取得したコンテンツＩＤを含む検索メッセージ（クエリ）を生成する。そして、生成したクエリをルーティングテーブルに従ってルートノードに向けて送出し、ルートノードからコンテンツのコンテンツデータを保存するコンテンツ保存ノードのアドレス情報を送信してもらう。そして、アドレス情報に従ってコンテンツ保存ノードにアクセスして、コンテンツ送信要求メッセージを送信し、そこからそのコンテンツのコンテンツデータをダウンロードする。或いは、ユーザーノードからクエリを受信したルートノードが、コンテンツ保存ノードに対してユーザーノードのアドレス情報を含むコンテンツ送信要求メッセージを送信し、これにより、ユーザーノードが、上記コンテンツ保存ノードからそのコンテンツのコンテンツデータをダウンロードすることもできる。
【００３９】
なお、このようなＤＨＴを用いたルーティングテーブルや、当該ルーティングテーブルを利用した各ノードＮｎ間におけるメッセージの転送（ルーティング）については、特開２００６−１９７４００号公報等で公知であるので、詳しい説明を省略する。
【００４０】
２．コンテンツ種別
コンテンツ種別は、当該コンテンツが各ノードＮｎからの送信（ダウンロード）要求に応じてダウンロードされるコンテンツと、管理者の管理サーバから定期的に投入される定期配信コンテンツとを区別するものである。
【００４１】
要求に応じてダウンロードされるコンテンツは、当該ノードＮｎがリクエストノードとなって、例えば、上記ＤＨＴを用いたルーティングに従い、コンテンツ保持ノードから取得されるコンテンツである。当該コンテンツは、本発明の要求コンテンツデータの一例であって、以下の説明において、“Ｏｎ  Ｄｅｍａｎｄ型のコンテンツ”と称する。図２に示す例では、コンテンツＩＤが“959b9c99”や“158432c3”のコンテンツなどがＯｎ  Ｄｅｍａｎｄ型のコンテンツである。
【００４２】
一方、定期配信コンテンツは、本発明の蓄積コンテンツデータの一例であって、１月の新曲のコンテンツ、２月の新曲のコンテンツ・・等、定期的に管理サーバから予め蓄積指示されて配信されるコンテンツである。管理サーバは定期配信コンテンツの配信時期がくると、定期配信コンテンツのコンテンツデータをコンテンツ分散保存システムＳ内のノードＮｎに送信（アップロード）する。定期配信コンテンツを、以下の説明において、“Ｐｕｓｈ型のコンテンツ”と称する。図２に示す例では、コンテンツＩＤが“2e02f64c”や“15436bce”のコンテンツなどがＰｕｓｈ型のコンテンツである。
【００４３】
なお、コンテンツ分散保存システムＳに含まれるノードＮｎが上記管理サーバとして機能する場合もあり、この場合には、Ｐｕｓｈ型のコンテンツは、管理サーバとして機能するノードＮｎから予め蓄積指示されて配信されることとなる。
【００４４】
ところで、ノードＮｎは、コンテンツを使用（再生）する際、Ｏｎ  Ｄｅｍａｎｄ型のコンテンツのコンテンツデータを、ネットワークを介して要求し取得する場合がある。再生するときに取得されたＯｎ  Ｄｅｍａｎｄ型のコンテンツは、コンテンツ分散保存システムＳにおける各ノードＮｎ間で共用可能となるよう、第１記憶領域の一例である要求記憶領域に保存される。
【００４５】
一方でＰｕｓｈ型のコンテンツは、コンテンツの使用に関係ない、つまり、ノードＮｎが当該コンテンツを再生（使用）するか否かに関係なく、管理サーバから定期的に配信されたＰｕｓｈ型のコンテンツである。この場合、Ｐｕｓｈ型のコンテンツは、要求記憶領域に記憶される。そして、Ｐｕｓｈ型のコンテンツは、予め蓄積指示されているため、さらに要求記憶領域とは異なる保存記憶領域に記憶される。保存記憶領域は、本発明の第２記憶領域の一例である。保存記憶領域は、ノードＮｎ内の記憶部内に具備される場合もあれば、外部のビデオサーバ内に具備される場合もある。コンテンツの使用に関わらず記憶されるコンテンツは、例えば、定期配信されるコンテンツである。いわば、要求記憶領域は、Ｐ２Ｐネットワークを動作させるために必要なコンテンツデータを記憶するための記憶領域であり、当該要求記憶領域からコンテンツデータが要求に応じて取得される。
【００４６】
上述した要求記憶領域に記憶されたコンテンツデータのうち、Ｐｕｓｈ型のコンテンツデータは、管理サーバから配信された直後は、コンテンツ分散保存システムＳに参加する各ノードＮｎ間で頻繁にダウンロードされる。
【００４７】
従って、各ノードＮｎでＰｕｓｈ型のコンテンツデータが再生処理され、保存記憶領域に記憶されるにつれ、各ノードＮｎの要求記憶領域に記憶されたＰｕｓｈ型のコンテンツデータは、時間の経過に伴い緩やかに利用率が低下していくことが考えられる。
【００４８】
そのため、利用率が低くなったコンテンツのコンテンツデータをいつまでも要求記憶領域にキャッシュしておくことは、ノードＮｎの要求記憶領域の記憶資源を有効に利用するといった観点から得策でない。
【００４９】
そこで、ノードＮｎが要求記憶領域にキャシュしているコンテンツデータのうち、Ｐｕｓｈ型のコンテンツのコンテンツデータを、所定のタイミングで削除するよう構成した。
【００５０】
３.ノードＮｎの構成及び機能
次に、図３を参照して、ノードＮｎの構成及び機能について説明する。
【００５１】
図３は、ノードＮｎの概要構成例を示すブロック図である。
【００５２】
各ノードＮｎは、制御部１１と、記憶部１２と、バッファメモリ１３と、デコーダ部１４と、映像処理部１５と、表示部１６と、音声処理部１７と、スピーカ１８と、通信部２０と、入力部２１とから構成される。制御部１１、記憶部１２、バッファメモリ１３、デコーダ部１４、通信部２０、及び入力部２１はバス２２を介して相互に接続されている。
【００５３】
制御部１１は、演算機能を有するＣＰＵ，作業用ＲＡＭ，各種データおよびプログラムを記憶するＲＯＭ等から構成される。制御部１１は、本実施形態のコンピュータとして機能する。記憶部１２は、各種データ及び各種プログラム等を記憶保存（格納）するためを記憶するハードディスク等から構成される。例えば、記憶部１２は、コンテンツデータ、ルーティングテーブルを記憶する。バッファメモリ１３は、受信されたコンテンツデータ等を一時蓄積する。デコーダ部１４は、エンコードされたビデオデータ（映像情報）およびオーディオデータ（音声情報）等をデコード（データ伸張や復号化等）する。コンテンツが映像や音声を含む場合に、デコーダ部１４は、コンテンツのレプリカに含まれるエンコードされたビデオデータおよびオーディオデータ等をデコードする。映像処理部１５は、デコードされたビデオデータ等に対して所定の描画処理を施しビデオ信号として出力する。表示部１６は、映像処理部１５から出力されたビデオ信号に基づき映像表示するＣＲＴ，液晶ディスプレイ等である。音声処理部１７は、上記デコードされたオーディオデータをアナログオーディオ信号にＤ（Digital）／Ａ（Analog）変換した後これをアンプにより増幅して出力する。スピーカ１８は、音声処理部１７から出力されたオーディオ信号を音波として出力する通信部２０は、ネットワーク８を通じて他のノードＮｎ等間の情報の通信制御を行なう。入力部２１は、ユーザーからの指示を受け付け、指示に応じた指示信号を制御部１１へ通信する。入力部２１は、例えば、キーボード、マウス、或いは、操作パネル等である。
【００５４】
制御部１１、記憶部１２、バッファメモリ１３、デコーダ部１４、通信部２０、及び入力部２１はバス２２を介して相互に接続されている。
【００５５】
なお、ノードＮｎとしては、パーソナルコンピュータ、ＳＴＢ（Set Top Box）、通信カラオケ装置、或いは、ＴＶ受信機等を適用可能である。
【００５６】
記憶部１２には、当該ノードＮｎ自身のアドレス情報が記憶されている。
【００５７】
また、コンテンツ分散保存システムＳへ参加後は、記憶部１２には、当該ノードＮｎ自身のノードＩＤ、ルーティングテーブル、カタログ情報（図２参照）が記憶され、更に、自己が所在を管理する、言い換えれば、自己がルートノードとなるコンテンツの保持ノードであるノードＮｎのノード情報と当該コンテンツのコンテンツＩＤの組が含まれるインデックス情報がインデックスキャッシュとして記憶される。
【００５８】
更に、記憶部１２は、要求記憶領域と保存記憶領域とを備える。
【００５９】
要求記憶領域には、Ｏｎ  Ｄｅｍａｎｄ型、およびＰｕｓｈ型のコンテンツのコンテンツデータが記憶され、保存記憶領域には、Ｐｕｓｈ型のコンテンツのコンテンツデータが記憶される。
【００６０】
更にまた、記憶部１２には、当該記憶部１２の要求記憶領域に記憶（キャッシュ）されているコンテンツデータに関する情報がキャッシュリストとして記憶されている。
【００６１】
図４は、キャッシュリストの一例である。
【００６２】
要求記憶領域に、コンテンツＩＤが“2e02f64c”、“959b9c99”及び“e28672c3”の３つのコンテンツデータが記憶されている場合、これらコンテンツデータに関する情報として、コンテンツＩＤ、公開日時情報、コンテンツ種別情報が登録されている。
【００６３】
制御部１１が他のノードＮｎ又は管理サーバからコンテンツデータを取得したときに、制御部１１の制御に基づいて後述する「キャッシュリスト更新処理」が実行され、キャッシュリストに新たなコンテンツデータに係るコンテンツＩＤ、公開日時情報及びコンテンツ種別情報が追加される。そして、後述する「キャッシュ削除処理」の際、当該キャッシュリストが参照され、コンテンツ種別がＰｕｓｈ型のコンテンツである場合に当該コンテンツデータが要求記憶領域から削除されるようになっている。
【００６４】
このような構成において、制御部１１は、ＣＰＵが記憶部１２等に記憶されたプログラムを読み出して実行することにより、全体を統括制御し、コンテンツ分散保存システムＳへの参加により上述したユーザーノード、中継ノード、ルートノード、コンテンツ保持ノードの少なくとも何れか一つのノードとしての処理を行なうようになっている。
【００６５】
また、制御部１１は、本発明のノード処理プログラムを実行することにより、本発明における記憶手段、コンテンツデータ要求取得手段、記憶手段、コンテンツ判別手段、公開日時情報取得手段、判断手段、削除手段、日時判定手段、乱数生成手段等として機能する。なお、上記ノード処理プログラムは、例えば、ネットワーク８上の所定のサーバからダウンロードされるようにしてもよいし、例えば、ＣＤ−ＲＯＭ等の記録媒体に記録されて当該記録媒体のドライブを介して読み込まれるようにしても良い。
【００６６】
４．ノードＮｎの処理
ノードＮｎにおける処理を、図を参照して詳しく説明する。
【００６７】
４−１．キャッシュリスト更新処理
図５は、ノードＮｎにおける制御部１１のキャッシュリスト更新処理を示すフローチャートであり、管理サーバから（或いは他のノードＮｎを介して）管理サーバから新たに配信されたＰｕｓｈ型コンテンツのコンテンツデータを取得したとき、或いは、当該ノードＮｎがユーザーノードとなってコンテンツ保持ノードから新たにＯｎ  Ｄｅｍａｎｄ型コンテンツのコンテンツデータを取得したときに、制御部１１による制御に基づいて開始される処理である。なお、当該キャッシュリスト更新処理は、本発明のノード処理プログラムの一部である。
【００６８】
先ず、制御部１１は、取得したコンテンツデータを記憶部１２の要求記憶領域に記憶（キャッシュ）する（ステップＳ１０）。
【００６９】
次いで、制御部１１は、記憶部１２のカタログ情報から、ステップＳ１０にて記憶したコンテンツデータのコンテンツＩＤに対応する公開日情報及びコンテンツ種別情報を抽出し（ステップＳ１１）、記憶部１２のキャッシュリストに登録（追加）して（ステップＳ１２）処理を終了する。
【００７０】
なお、ステップＳ１１及びＳ１２の処理を先に行なった後に、ステップＳ１０の処理を行ってもよい。すなわち、取得したコンテンツデータについて、カタログ情報から当該コンテンツデータのコンテンツＩＤに対応する公開日情報及びコンテンツ種別情報を抽出しキャッシュリストに登録した後に、取得したコンテンツデータを記憶部１２の要求記憶領域に記憶するよう構成してもよい。
【００７１】
４−２．キャッシュ削除処理
図６は、ノードＮｎにおける制御部１１のキャッシュ削除処理を示すフローチャートであり、コンテンツ分散保存システムＳへの参加後に開始する処理である。なお、当該キャッシュ削除処理は、本発明のノード処理プログラムの一部である。
【００７２】
先ず、制御部１１は、当該ノードＮｎ自身の電源がオフとされたか否かを判定し（ステップＳ２０）、電源がオフとされた場合（ステップＳ２０：Ｙｅｓ）には処理を終了し、電源がオフとされていない場合（ステップＳ２０：Ｎｏ）には、予め定められた削除日時であるか否かを判定する（ステップＳ２１）。
【００７３】
判定の結果、削除日時である場合（ステップＳ２１：Ｙｅｓ）には、記憶部１２の要求記憶領域に記憶されている全てのコンテンツデータに対して削除処理を行なう（ステップＳ２２〜ステップＳ２９）。この処理は、要求記憶領域に記憶されている全てのコンテンツデータが登録されたキャッシュリストに基づいて行なわれる処理であり、キャッシュリストに登録された全てのコンテンツに対して順に行なわれる処理である。
【００７４】
先ず、制御部１１は、当該ノードＮｎ自身の電源がオフとされたか否かを判定し（ステップＳ２３）、電源がオフとされた場合（ステップＳ２３：Ｙｅｓ）には処理を終了し、電源がオフとされていない場合（ステップＳ２３：Ｎｏ）には、キャッシュリストの最初のコンテンツのコンテンツ種別情報（例えば、図４に示すキャッシュリストの最初に登録されたコンテンツ種別）を取得し、当該コンテンツ種別情報が示すコンテンツ種別がＰｕｓｈ型であるか否かを判定する（ステップＳ２４）。
【００７５】
判定の結果、Ｐｕｓｈ型で無い場合（ステップＳ２４：Ｎｏ）には、ステップＳ２９へ移行し、Ｐｕｓｈ型である場合（ステップＳ２４：Ｙｅｓ）には、当該コンテンツの公開日時情報をキャッシュリストから取得し、当該公開日時情報が示す公開日時に基づいて、当該コンテンツを削除すべきタイミングか否かを判断する。ここでは、当該公開日時から所定時間（例えば、１ヶ月等）が経過したか否かを判断し（ステップＳ２５）、所定時間が経過していない場合（ステップＳ２５：Ｎｏ）には、削除すべきタイミングではないと判断して、ステップＳ２９へ移行する。
【００７６】
一方、所定時間が経過した場合（ステップＳ２５：Ｙｅｓ）には、削除すべきタイミングであると判断して、乱数を生成し（ステップＳ２６）、生成した乱数が所定範囲内であるか否かを判定する（ステップＳ２７）。ステップＳ２６の所定範囲とは、例えば、“乱数が偶数”“乱数が３の倍数”“乱数の下１桁が削除対象となるコンテンツのコンテンツＩＤの下一桁と同じ”等とするものである。
【００７７】
判断の結果、生成した乱数が所定範囲内でない場合（ステップＳ２７：Ｎｏ）には、ステップＳ２９へ移行し、所定範囲内である場合（ステップＳ２７：Ｙｅｓ）には、当該コンテンツのコンテンツデータを要求記憶領域から削除する（ステップＳ２８）。
【００７８】
そして、キャッシュリストに登録された全てのコンテンツに対してステップＳ２３〜ステップＳ２８の処理を行なった後に（ステップＳ２９）、ステップＳ２０の処理に移行し、電源がオフとされる（ステップＳ２０：Ｙｅｓ）まで上記処理が繰り返し行なわれる。
【００７９】
一方、ステップＳ２１の判定の結果、予め定められた削除日時でない場合（ステップＳ２１：Ｎｏ）には、ステップＳ３０へ移行して、コンテンツ分散保存システムＳに参加するノードＮｎとしてのその他の処理（上述した「キャッシュリスト更新処理」、その他ユーザーノード、中継ノード、ルートノード、コンテンツ保持ノードとしての処理）を行ない（ステップＳ３０）、ステップＳ２０へ移行する。
【００８０】
以上説明したように、ノードＮｎが、要求記憶領域に記憶したコンテンツデータのうち、Ｐｕｓｈ型のコンテンツデータについて公開日に基づいて当該コンテンツデータを削除すべきタイミングか否かを判断し、削除すべきタイミングである場合には、当該コンテンツデータを要求記憶領域から削除するよう構成したので、Ｐｕｓｈ型のコンテンツデータのみを削除して要求記憶領域に記憶されるコンテンツデータの量を抑制することにより、要求記憶領域の負荷増大を防止して、要求記憶領域へのアクセス処理速度（応答性）を向上させることができる。
【００８１】
更に、本実施形態では、コンテンツの公開日時から所定時間経過したか否かに基づいて、当該コンテンツデータを削除すべきタイミングか否かを判断するよう構成したので、当該コンテンツデータがコンテンツ分散保存システムＳ内にて利用されるようになってから、適当な期間を経過したとき（例えば１ヶ月等）、つまり、当該コンテンツが各ノードＮｎにて適度に満遍なく行き渡ったタイミングで、当該コンテンツデータを要求記憶領域から削除することができる。
【００８２】
なお、コンテンツデータのデータ量が多いほど、各ノードＮｎ間での送受信に時間がかかることから、各ノードＮｎにて満遍なく行き渡るまでの時間も長くなると予測することができるため、上記公開日からの所定時間は、コンテンツデータのデータ量に応じて適宜定めてもよい。この場合、カタログ情報にコンテンツデータのデータ量から事前に算出された公開日からの所定時間の情報もコンテンツＩＤに対応付けて記述しておき、上述した「キャッシュリスト更新処理」にて、キャッシュリストに当該公開日からの所定時間の情報も登録するよう構成し、当該コンテンツの公開日と当該所定時間の情報に基づいて当該コンテンツデータを削除すべきタイミングか否かを判断するよう構成すればよい。
【００８３】
また、コンテンツデータのデータ量をカタログ情報に記述しておき、各ノードＮｎが当該データ量に応じて公開日からの所定時間を算出するよう構成してもよい。この場合、算出方法は記憶部１２に記憶しておくか、カタログ情報に記述しておくよう構成すればよい。
【００８４】
更に、ステップＳ２１にて削除日時であると判定された場合に、削除処理（ステップＳ２２〜ステップＳ２９）を行なうよう構成したので、例えば、毎日午前５時、毎週月曜午前０時等を削除日時として予め定めておくことにより、ユーザーによる指示等を受けなくても、自動的にコンテンツデータの削除処理を実行することができる。
【００８５】
なお、ノードＮｎが、新たなコンテンツの取得を要求したときに、削除処理（ステップＳ２２〜ステップＳ２９）を行なうよう構成してもよい。ノードＮｎが所望のコンテンツを取得（ダウンロード）する場合には、当該ノードＮｎが、ユーザーノードとなって、取得を所望するコンテンツのコンテンツＩＤを含むクエリをルートノードに向けて送出し、ルートノードからコンテンツのレプリカを保持するコンテンツ保持ノードのアドレス情報を教えてもらい、ユーザーノードからコンテンツ保持ノードにコンテンツ送信要求メッセージを送信して取得する場合と、ルートノードがコンテンツ保持ノードにユーザーノードのアドレス情報を含むコンテンツ送信要求メッセージを送信し、コンテンツ保持ノードがユーザーノードにコンテンツデータを送信する場合とがあるが、前者の場合にはコンテンツ保持ノードにコンテンツ送信要求メッセージを送信したとき、後者の場合にはクエリをルートノードに向けて送出したときに、削除処理を行なうようにすればよい。
【００８６】
また、ステップＳ２６にて乱数を生成し、ステップＳ２７にて生成した乱数が所定範囲内である場合にのみ、コンテンツデータを削除するよう構成したので、当該コンテンツデータが公開日時から所定時間経過したときに、各ノードＮｎにて行なわれるキャッシュ削除処理において、一斉に削除されることを防止し、コンテンツ分散保存システムＳを安定的に保つことができる。なお、生成した乱数が所定範囲外となったノードＮｎは、次の削除日時の際に再度当該コンテンツデータに対する削除処理を試みることができる。本実施形態のステップＳ２６及びステップＳ２７では、生成した乱数に基づいてコンテンツデータを削除の可否を判定した。ステップＳ２６及びステップＳ２７の削除可否の判定処理は実行されても良いし、実行されなくてもよい。
【００８７】
なお、上記コンテンツ分散保存システムＳは、ＤＨＴを利用したアルゴリズムによって形成されることを前提として説明したが、本発明はこれに限定されるものではない。
【００８８】
本実施形態では、Ｐｕｓｈ型のコンテンツとして、管理サーバから定期的に配信されたコンテンツの例を記載した。本実施形態では、Ｐｕｓｈ型のコンテンツのコンテンツデータが全ノードＮｎに配信完了されていない場合、使用（再生）する際に要求し取得されるコンテンツデータとして、Ｏｎ  Ｄｅｍａｎｄ型のコンテンツだけでなく、Ｐｕｓｈ型のコンテンツが用いられる場合がある。この場合、使用（再生）する際に要求し取得されたＰｕｓｈ型のコンテンツデータは、一旦要求記憶領域に記憶され、次に要求記憶領域とは異なる保存記憶領域に記憶される。上述の使用（再生）する際に要求し取得されて要求記憶領域に記憶されたＰｕｓｈ型のコンテンツに対しても本発明は適用可能である。
【符号の説明】
【００８９】
３  ＩＸ
４ａ、４ｂ  ＩＳＰ
５ａ、５ｂ  ＤＳＬ回線業者
６  ＦＴＴＨ回線業者
７  通信回線
８  ネットワーク
９  オーバーレイネットワーク（Ｐ２Ｐネットワーク）
１１  制御部
１２  記憶部
１３  バッファメモリ
１４  デコーダ部
１５  映像処理部
１６  表示部
１７  音声処理部
１８  スピーカ
２０  通信部
２１  入力部
２２  バス
Ｎｎ  ノード
【図１】
2010238144.tif 000003
【図２】
2010238144.tif 000004
【図３】
2010238144.tif 000005
【図４】
2010238144.tif 000006
【図５】
2010238144.tif 000007
【図６】
2010238144.tif 000008