(57)【要約】【課題】コンテンツ情報を利用するタイミングにおいて当該コンテンツ情報が他の装置に流出した場合にも、コンテンツ情報全体の内容を読み取られることを防止する情報分割保存システム等を提供する。【解決手段】複数のノード装置が参加しているシステムであり、コンテンツ等の一の全体情報を複数に分割した各分割情報が複数のノード装置に保存されており、一のノード装置が他のノード装置からの要求に応じて自己が保存している分割情報を通信手段を介して送信するようにした情報分割保存システムにおいて、リクエストノードは、全体情報における少なくとも利用する部分に該当する分割情報（４）；Ｄを他のノード装置から取得する情報部分取得手段と、少なくとも利用する部分に該当する分割情報（４）を記憶し、当該分割情報（４）を含む全体情報における他の部分の一部の分割情報（（３）；Ｃ及び（５）；Ｅ）を記憶するように制御する記憶制御手段と、を有することにより上記課題を解決する。【選択図】図７
2008084089.tif 000002
【特許請求の範囲】
【請求項１】
複数のノード装置が参加している情報分割保存システムであって、一の全体情報を複数に分割した各分割情報が複数の前記ノード装置に保存されており、一の前記ノード装置が他の前記ノード装置からの要求に応じて自己が保存している前記分割情報を通信手段を介して送信するようにした情報分割保存システムに備えられるノード装置であって、
前記全体情報における少なくとも利用する部分に該当する前記分割情報を他の前記ノード装置から取得する情報部分取得手段と、
少なくとも利用する部分に該当する前記分割情報を記憶し、当該分割情報を含む前記全体情報における他の部分の一部の前記分割情報を記憶するように制御する記憶制御手段と、
を有することを特徴とするノード装置。
【請求項２】
請求項１に記載のノード装置であって、
前記情報分割保存システムにおいては、前記全体情報に対して各分割情報がどの前記ノード装置に保存されているかが示されたガイド情報が一の前記ノード装置に保存されており、
前記ノード装置は、一の全体情報の前記ガイド情報を取得するガイド情報取得手段を有し、
前記情報部分取得手段は、取得した前記ガイド情報に示される前記分割情報を他の前記ノード装置から取得することを特徴とするノード装置。
【請求項３】
請求項１又は２に記載のノード装置であって、
前記分割情報には順序があり、前記情報部分取得手段は、利用する前記分割情報に前側の情報がある場合には一つ前の前記分割情報を取得し、利用する前記分割情報に後側の情報がある場合には一つ後の前記分割情報を取得し、他に任意に決められた順番の前記分割情報を取得し、
前記記憶制御手段は、利用する前記分割情報に前側の情報がある場合には一つ前の前記分割情報を記憶し、利用する前記分割情報に後側の情報がある場合には一つ後の前記分割情報を記憶し、他に任意に決められた順番の前記分割情報を記憶し、その他の前記分割情報を削除するように制御することを特徴とするノード装置。
【請求項４】
請求項１乃至３のいずれか一項に記載のノード装置であって、
利用するために記憶した前記分割情報のうち、一の前記全体情報における前記分割情報の数を示す分割情報数未満の数の前記分割情報を保存する情報部分保存手段を有し、
前記情報部分保存手段が前記分割情報を保存した場合に、自ノード装置が当該分割情報を保存した旨のメッセージを他の前記ノード装置に向けて送信する保存公開手段を有することを特徴とするノード装置。
【請求項５】
請求項４に記載のノード装置であって、
前記情報部分保存手段は、保存する前記分割情報の個数を前記分割情報数未満の所定数に予め決定されており、決定された所定数の前記分割情報を保存することを特徴とするノード装置。
【請求項６】
請求項４又は５に記載のノード装置であって、
前記情報部分保存手段は、順序がある前記分割情報における所定の数おきの前記分割情報、又は、任意の前記分割情報、を保存することを特徴とするノード装置。
【請求項７】
請求項４乃至６のいずれか一項に記載のノード装置であって、
前記情報部分保存手段は、前記記憶制御手段が記憶した前記分割情報を保存し、前記記憶制御手段が削除した前記分割情報に対応する分割情報を削除し、
前記情報部分保存手段が前記分割情報を削除した場合に、自ノード装置が当該分割情報を削除した旨のメッセージを他の前記ノード装置に向けて送信する削除公開手段を有することを特徴とするノード装置。
【請求項８】
請求項１乃至７のいずれか一項に記載のノード装置であって、
取得すべき前記分割情報を保存している前記ノード装置の所在を検索するための検索情報を、前記情報分割保存システムにおける前記分割情報の所在を管理する管理元のノード装置に向けて送信する検索手段と、
前記管理元のノード装置から前記分割情報の所在を示すノード情報を受信した場合に、当該ノード情報に対応する前記ノード装置に前記分割情報の送信を要求する送信要求情報を送信する要求送信手段と、
を有し、
前記情報部分取得手段は、前記送信要求情報の送信先の前記ノード装置から前記分割情報を取得することを特徴とするノード装置。
【請求項９】
請求項２乃至８のいずれか一項に記載のノード装置であって、
前記ガイド情報を保存している前記ノード装置の所在を検索するための検索情報を、前記情報分割保存システムにおける前記ガイド情報の所在を管理する管理元のノード装置に向けて送信する検索手段と、
前記管理元のノード装置から前記ガイド情報の所在を示すノード情報を受信した場合に、当該ノード情報に対応する前記ノード装置に前記ガイド情報の送信を要求する送信要求情報を送信する要求送信手段と、
を有し、
前記ガイド情報取得手段は、前記送信要求情報の送信先の前記ノード装置から前記ガイド情報を取得することを特徴とするノード装置。
【請求項１０】
コンピュータを請求項１乃至９に記載のノード装置として機能させることを特徴とする情報処理プログラム。
【請求項１１】
複数のノード装置が参加している情報分割保存システムであって、一の全体情報を複数に分割した各分割情報が複数の前記ノード装置に保存されており、一の前記ノード装置が他の前記ノード装置からの要求に応じて自己が保存している前記分割情報を通信手段を介して送信するようにした情報分割保存システムにおいて、
前記ノード装置は、
前記全体情報における少なくとも利用する部分に該当する前記分割情報を他の前記ノード装置から取得する情報部分取得手段と、
少なくとも利用する部分に該当する前記分割情報を記憶し、当該分割情報を含む前記全体情報における他の部分の一部の前記分割情報を記憶するように制御する記憶制御手段と、
を有することを特徴とする情報分割保存システム。
【請求項１２】
複数のノード装置が参加している情報分割保存システムであって、一の全体情報を複数に分割した各分割情報が複数の前記ノード装置に保存されており、一の前記ノード装置が他の前記ノード装置からの要求に応じて自己が保存している前記分割情報を通信手段を介して送信するようにした情報分割保存システムに備えられるノード装置における情報利用方法であって、
前記全体情報における少なくとも利用する部分に該当する前記分割情報を他の前記ノード装置から取得する工程と、
少なくとも利用する部分に該当する前記分割情報を記憶し、当該分割情報を含む前記全体情報における他の部分の一部の前記分割情報を記憶するように制御する工程と、
を有することを特徴とする情報利用方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のノード装置が参加しており、一の全体情報を複数に分割した各分割情報が複数のノード装置に保存されている情報分割保存システム及び方法等の技術分野に関する。
【背景技術】
【０００２】
近年、ピアツーピアという技術が注目されてきている。ピアツーピア型の情報通信システムにおいて、例えば、分散ハッシュテーブル（以下、ＤＨＴ（Distributed Hash Table）という）を利用して論理的に構築されたオーバーレイネットワークでは、各ノード装置が、当該オーバーレイネットワークに参加している全てのノード装置へのリンク情報（例えば、ＩＰアドレス）を認識しているわけではなく、参加の際などに得られる一部のノード装置へのリンク情報だけを保持しており、かかるリンク情報に基づき、データの問い合わせ等を行うようになっている。
【０００３】
コンテンツ情報の利用に用いられるピアツーピア型のシステムにおける各ノード装置は、通常、１のコンテンツ情報全体を１のノード装置が保存している。これに対して、コンテンツ情報の流出を困難にするために、コンテンツ情報を分割して、分割された各ファイルを別々のノード装置に保存する技術が提案されている（例えば、特許文献１参照）。コンテンツ情報が分割された各ファイルは、一つずつでは内容を判別できず、一つのファイルのコンテンツ情報が流出した場合にも、コンテンツ情報全体の内容を読み取られることはない。特許文献１に記載の技術においては、分割されたファイルを定期的に複数のノード装置間で移動させることにより、分割ファイルを保持しているノード装置が特定されることを防いでいる。
【特許文献１】特開２００５−２７５９３７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、ノード装置においてコンテンツ情報を利用（視聴）する際には、全ての分割されたファイルが一のノード装置に集まっているため、コンテンツ情報を利用するタイミングで当該コンテンツ情報が流出した場合には、当該ノード装置に不正にアクセスした者に、コンテンツ情報全体の内容を読み取られてしまう可能性がある。
【０００５】
そこで、本発明は、コンテンツ情報を利用するタイミングにおいて当該コンテンツ情報が他の装置に流出した場合にも、コンテンツ情報全体の内容を読み取られることを防止する手法を提案するものであり、これに適したノード装置、情報分割保存システム及び方法等を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、請求項１に記載の発明は、複数のノード装置が参加している情報分割保存システムであって、一の全体情報を複数に分割した各分割情報が複数の前記ノード装置に保存されており、一の前記ノード装置が他の前記ノード装置からの要求に応じて自己が保存している前記分割情報を通信手段を介して送信するようにした情報分割保存システムに備えられるノード装置であって、前記全体情報における少なくとも利用する部分に該当する前記分割情報を他の前記ノード装置から取得する情報部分取得手段と、少なくとも利用する部分に該当する前記分割情報を記憶し、当該分割情報を含む前記全体情報における他の部分の一部の前記分割情報を記憶するように制御する記憶制御手段と、を有することを特徴とする。
【０００７】
これによれば、コンテンツ等の全体情報を利用するタイミングにおいても、一のノード装置に全ての分割情報が集まることがないため、当該ノード装置から分割情報が流出した場合にも、不正アクセス者に全ての分割情報、すなわち全体情報が取得され、復元されることを防止でき、コンテンツ全体の内容を読み取られることが防止される。また、ノード装置が全ての分割情報を記憶しないことから、全体情報の大きさが一つの記録媒体や一つのノード装置の記録領域の記録容量を超えるほどの大きさであった場合にも、ノード装置において当該全体情報の利用が可能となる。
【０００８】
上記課題を解決するために、請求項２に記載の発明は、請求項１に記載のノード装置であって、前記情報分割保存システムにおいては、前記全体情報に対して各分割情報がどの前記ノード装置に保存されているかが示されたガイド情報が一の前記ノード装置に保存されており、前記ノード装置は、一の全体情報の前記ガイド情報を取得するガイド情報取得手段を有し、前記情報部分取得手段は、取得した前記ガイド情報に示される前記分割情報を他の前記ノード装置から取得することを特徴とする。
【０００９】
これによれば、ガイド情報をもとに各分割情報を取得することとなるため、分割情報の管理の負荷を分散できる。例えば、コンテンツをリストにしたカタログを用いる場合には、ガイド情報に相当する情報をカタログに含める必要がないため、カタログサイズを小さくすることができ、また、コンテンツをＷｅｂサーバを用いて提供する場合には、Ｗｅｂサーバの負荷を軽くすることができる。
【００１０】
上記課題を解決するために、請求項３に記載の発明は、請求項１又は２に記載のノード装置であって、前記分割情報には順序があり、前記情報部分取得手段は、利用する前記分割情報に前側の情報がある場合には一つ前の前記分割情報を取得し、利用する前記分割情報に後側の情報がある場合には一つ後の前記分割情報を取得し、他に任意に決められた順番の前記分割情報を取得し、前記記憶制御手段は、利用する前記分割情報に前側の情報がある場合には一つ前の前記分割情報を記憶し、利用する前記分割情報に後側の情報がある場合には一つ後の前記分割情報を記憶し、他に任意に決められた順番の前記分割情報を記憶し、その他の前記分割情報を削除するように制御することを特徴とする。
【００１１】
これによれば、利用する分割情報及びその前後の分割情報に加えて、他に任意に決めた分割情報（例えば三つ前まで、三つ後まで等、又は、後述する保存する分割情報等）がある場合には、これらを取得し、それ以外は削除することにより、一のノード装置に全ての分割情報が集まることがない。そのため、当該ノード装置から分割情報が流出した場合にも、コンテンツ全体の内容を読み取られることが防止される。また、ノード装置が少なくとも利用する分割情報及びその前後の分割情報を記憶しているため、利用する分割情報が後の分割情報に切り替わる際に途切れることがなく、少し前側の情報を再度利用したい場合にも、スムーズに利用することができる。
【００１２】
上記課題を解決するために、請求項４に記載の発明は、請求項１乃至３のいずれか一項に記載のノード装置であって、利用するために記憶した前記分割情報のうち、一の前記全体情報における前記分割情報の数を示す分割情報数未満の数の前記分割情報を保存する情報部分保存手段を有し、前記情報部分保存手段が前記分割情報を保存した場合に、自ノード装置が当該分割情報を保存した旨のメッセージを他の前記ノード装置に向けて送信する保存公開手段を有することを特徴とする。
【００１３】
これによれば、ノード装置において分割情報を保存し、分割情報を保存した旨のメッセージを他のノード装置に向けて送信する（公開する）ことにより、分割情報のレプリカを作成でき、情報分割保存システムに参加する他のノード装置においても分割情報を利用しやすくなる。また、ノード装置において分割情報数未満の分割情報を保存することにより、一のノード装置に全ての分割情報が保存されることがなく、当該ノード装置から分割情報が流出した場合にも、コンテンツ全体の内容を読み取られることが防止される。
【００１４】
上記課題を解決するために、請求項５に記載の発明は、請求項４に記載のノード装置であって、前記情報部分保存手段は、保存する前記分割情報の個数を前記分割情報数未満の所定数に予め決定されており、決定された所定数の前記分割情報を保存することを特徴とする。
【００１５】
これによれば、保存する前記分割情報の個数が前記分割情報数未満の所定数に予め決定されているため、ノード装置はこの個数に応じて保存する分割情報を決めることができる。
【００１６】
上記課題を解決するために、請求項６に記載の発明は、請求項４又は５に記載のノード装置であって、前記情報部分保存手段は、順序がある前記分割情報における所定の数おきの前記分割情報、又は、任意の前記分割情報、を保存することを特徴とする。
【００１７】
これによれば、上記各例により保存する分割情報を決めることができる。
【００１８】
上記課題を解決するために、請求項７に記載の発明は、請求項４乃至６のいずれか一項に記載のノード装置であって、前記情報部分保存手段は、前記記憶制御手段が記憶した前記分割情報を保存し、前記記憶制御手段が削除した前記分割情報に対応する分割情報を削除し、前記情報部分保存手段が前記分割情報を削除した場合に、自ノード装置が当該分割情報を削除した旨のメッセージを他の前記ノード装置に向けて送信する削除公開手段を有することを特徴とする。
【００１９】
これによれば、記憶した分割情報を順次保存し、公開していき、かつ、削除した分割情報は順次削除して、削除メッセージを送信することとし、このような態様で本発明を実施することができる。
【００２０】
上記課題を解決するために、請求項８に記載の発明は、請求項１乃至７のいずれか一項に記載のノード装置であって、取得すべき前記分割情報を保存している前記ノード装置の所在を検索するための検索情報を、前記情報分割保存システムにおける前記分割情報の所在を管理する管理元のノード装置に向けて送信する検索手段と、前記管理元のノード装置から前記分割情報の所在を示すノード情報を受信した場合に、当該ノード情報に対応する前記ノード装置に前記分割情報の送信を要求する送信要求情報を送信する要求送信手段と、を有し、前記情報部分取得手段は、前記送信要求情報の送信先の前記ノード装置から前記分割情報を取得することを特徴とする。
【００２１】
これによれば、ノード装置は検索情報を利用して分割情報を取得する。各分割情報の所在等を各ノード装置が分散して記憶しているので、ノード装置の記憶の負担が低減される。
【００２２】
上記課題を解決するために、請求項９に記載の発明は、請求項２乃至８のいずれか一項に記載のノード装置であって、前記ガイド情報を保存している前記ノード装置の所在を検索するための検索情報を、前記情報分割保存システムにおける前記ガイド情報の所在を管理する管理元のノード装置に向けて送信する検索手段と、前記管理元のノード装置から前記ガイド情報の所在を示すノード情報を受信した場合に、当該ノード情報に対応する前記ノード装置に前記ガイド情報の送信を要求する送信要求情報を送信する要求送信手段と、を有し、前記ガイド情報取得手段は、前記送信要求情報の送信先の前記ノード装置から前記ガイド情報を取得することを特徴とする。
【００２３】
これによれば、ノード装置は検索情報を利用してガイド情報を取得する。ガイド情報の所在等を各ノード装置が分散して記憶しているので、ノード装置の記憶の負担が低減される。
【００２４】
上記課題を解決するために、請求項１０に記載の発明は、コンピュータを請求項１乃至９に記載のノード装置として機能させることを特徴とする情報処理プログラムである。
【００２５】
上記課題を解決するために、請求項１１に記載の発明は、複数のノード装置が参加している情報分割保存システムであって、一の全体情報を複数に分割した各分割情報が複数の前記ノード装置に保存されており、一の前記ノード装置が他の前記ノード装置からの要求に応じて自己が保存している前記分割情報を通信手段を介して送信するようにした情報分割保存システムにおいて、前記ノード装置は、前記全体情報における少なくとも利用する部分に該当する前記分割情報を他の前記ノード装置から取得する情報部分取得手段と、少なくとも利用する部分に該当する前記分割情報を記憶し、当該分割情報を含む前記全体情報における他の部分の一部の前記分割情報を記憶するように制御する記憶制御手段と、を有することを特徴とする。
【００２６】
上記課題を解決するために、請求項１２に記載の発明は、複数のノード装置が参加している情報分割保存システムであって、一の全体情報を複数に分割した各分割情報が複数の前記ノード装置に保存されており、一の前記ノード装置が他の前記ノード装置からの要求に応じて自己が保存している前記分割情報を通信手段を介して送信するようにした情報分割保存システムに備えられるノード装置における情報利用方法であって、前記全体情報における少なくとも利用する部分に該当する前記分割情報を他の前記ノード装置から取得する工程と、少なくとも利用する部分に該当する前記分割情報を記憶し、当該分割情報を含む前記全体情報における他の部分の一部の前記分割情報を記憶するように制御する工程と、を有することを特徴とする。
【発明の効果】
【００２７】
本発明によれば、コンテンツデータ等の情報を利用するタイミングにおいて他の装置等に情報が流出した場合にも、当該装置等に情報全体の内容を読み取られることを防止できる。
【発明を実施するための最良の形態】
【００２８】
以下、本発明の最良の実施形態を図面に基づいて説明する。以下に説明する実施の形態は、ＤＨＴを利用したコンテンツ分割保存システムに本発明の情報分割保存システムを適用した場合の実施形態である。本発明における全体情報をコンテンツデータの全体情報として説明する。なお、本発明の情報分割保存システム等の各発明は、以下に説明する実施形態に限定されず、本発明の技術思想の範囲内で適宜変更して実施される。
【００２９】
［１．コンテンツ分割保存システムの概略等］
始めに、図１を参照して、コンテンツ分割保存システムＳの概要構成等について説明する。
【００３０】
図１は、本実施形態に係るコンテンツ分割保存システムＳにおける各ノード装置の接続態様の一例を示す図である。
【００３１】
図１の下部枠１０１内に示すように、ＩＸ（Internet eＸchange）３、ＩＳＰ（Internet Service Provider）４、ＤＳＬ（Digital Subscriber Line）回線事業者（の装置）５、ＦＴＴＨ（Fiber To The Home）回線事業者（の装置）６、および通信回線（例えば、電話回線や光ケーブル等）７等によって、インターネット等のネットワーク（現実世界のネットワーク）８が構築されている。
【００３２】
コンテンツ分割保存システムＳは、このようなネットワーク８を介して相互に接続された複数のノード装置１ａ，１ｂ，１ｃ・・・１ｘ，１ｙ，１ｚ・・・を備えて構成されることになり、ピアツーピア方式のネットワークシステムとなっている。各ノード装置１ａ，１ｂ，１ｃ・・・１ｘ，１ｙ，１ｚ・・には、ノード装置を示す情報としての固有の製造番号およびＩＰ（Internet Protocol）アドレスが割り当てられている。なお、製造番号およびＩＰアドレスは、複数のノード装置１間で重複しないものである。なお、以下の説明において、ノード装置１ａ，１ｂ，１ｃ・・・１ｘ，１ｙ，１ｚ・・・のうち何れかのノード装置を示す場合には、便宜上、ノード装置１という場合がある。
【００３３】
［１．１．ＤＨＴの概要］
以下に、本実施形態のコンテンツ分割保存システムＳに係る分散ハッシュテーブル（以下、ＤＨＴ（Distributed Hash Table）という）を利用したアルゴリズムについて説明する。
【００３４】
上述したコンテンツ配信システムＳにおいて、当該ノード装置１同士が、互いに情報をやり取りする際には、お互いのノード情報としてのＩＰアドレスを知っていなければならない。
【００３５】
例えば、コンテンツを互いに共有するシステムにおいては、ネットワーク８に参加している各ノード装置１が互いにネットワーク８に参加している全てのノード装置１のＩＰアドレスを知っておくのが単純な手法であるが、端末数が何万何十万と多数になると、その全てのノード装置１のＩＰアドレスを覚えておくのは現実的ではない。また、任意のノード装置の電源がＯＮ或いはＯＦＦとすると、各ノード装置１にて記憶している当該任意のノード装置のＩＰアドレスの更新が頻繁になり、運用上困難となる。
【００３６】
そこで、１台のノード装置１では、ネットワーク８に参加している全てのノード装置１のうち、必要最低限のノード装置１のＩＰアドレスだけを覚えて（記憶して）おいて、ＩＰアドレスを知らない（記憶していない）ノード装置１については、各ノード装置１間で互いに情報を転送し合って届けてもらうというシステムが考案されている。
【００３７】
このようなシステムの一例として、ＤＨＴを利用したアルゴリズムによって、図１の上部枠１００内に示すような、オーバレイネットワーク９が構築されることになる。つまり、このオーバレイネットワーク９は、既存のネットワーク８を用いて形成された仮想的なリンクを構成するネットワークを意味する。
【００３８】
本実施形態においては、ＤＨＴを利用したアルゴリズムによって構築されたオーバレイネットワーク９を前提としており、このオーバレイネットワーク９上に配置されたノード装置１を、コンテンツ分割保存システムＳに参加（言い換えれば、オーバレイネットワーク９に参加）しているノード装置１という。なお、コンテンツ分割保存システムＳへの参加は、未だ参加していないノード装置が、既に参加している任意のノード装置１に対して参加要求を送ることによって行われる。
【００３９】
コンテンツ分割保存システムＳに参加している各ノード装置１のノードＩＤは、それぞれのノード装置毎にユニーク（固有）な番号を付与する。この番号は、ノード装置の最大運用台数を収容できるだけのｂｉｔ数を持たせる必要がある。例えば、１２８ｂｉｔの番号とすれば、2＾128＝340×10＾36台のノード装置を運用できる。
【００４０】
より具体的には、各ノード装置１のノードＩＤは、それぞれのノード装置のＩＰアドレスあるいは製造番号等のノード装置毎に固有の値を、共通のハッシュ関数（ハッシュアルゴリズム）によりハッシュ化して得たハッシュ値であり、一つのＩＤ空間に偏りなく分散して配置されることになる。このように共通のハッシュ関数により求められた（ハッシュ化された）ノードＩＤは、当該ＩＰアドレスあるいは製造番号が異なれば、同じ値になる確率が極めて低いものである。なお、ハッシュ関数については公知であるので詳しい説明を省略する。なお、本実施形態では、ＩＰアドレス（グローバルＩＰアドレス）を共通のハッシュ関数によりハッシュ化した値をノードＩＤとする。
【００４１】
また、コンテンツ分割保存システムＳに参加している複数のノード装置１には、１のノード装置１から他のノード装置1に配信されるコンテンツデータ（例えば、映画や音楽等のデータ）が分散して記憶（保存）されているが、当該コンテンツデータにも、それぞれのコンテンツデータ毎にユニーク（固有）な番号（以下、コンテンツＩＤという。）を付与する。
【００４２】
そして、当該コンテンツＩＤは、ノードＩＤと同様の長さ（例えば、１２８ｂｉｔ等）とし、例えば、コンテンツの名称（コンテンツタイトル）やコンテンツの概要情報（あらすじ）等のキーワードが、上記ノードＩＤを得るときと共通のハッシュ関数によりハッシュ化され（つまり、ノード装置１のＩＰアドレスのハッシュ値と同一のＩＤ空間に配置）、そのハッシュ値と最も近い（例えば、上位桁がより多く一致する）ノードＩＤを有するノード装置１が、当該コンテンツデータが記憶（保存）するか、あるいは、コンテンツデータを保持するノード装置へのリンク情報（コンテンツ保持ノードのＩＰアドレス）を保持する。これにより、コンテンツデータを偏りなくコンテンツ分割保存システムＳ上に分散させることが可能となる。なお、異なるコンテンツデータであっても、同一のキーワード（例えば、コンテンツの名称）になる場合が想定されるが、この場合、同じハッシュ値になってしまうので、これを避けるために、ハッシュ化するキーワードを、例えば、コンテンツの名称と著作権情報（例えば、出演者名、監督名、原作者名、歌手名、作曲者名、または作詞者名等）の組み合わせとすればよい。
【００４３】
このように、各ノード装置１および各コンテンツデータに付与されたノードＩＤおよびコンテンツＩＤは、共通のハッシュ関数によって生成したため、図２に示す如く、同一のリング状のＩＤ空間上にさほど偏ることなく、散らばって存在するものとして考えることができる。同図は３２ｂｉｔでノードＩＤおよびコンテンツＩＤを付与し、図示したものである。図中黒点はノードＩＤを、黒ひし形はコンテンツＩＤを示し、反時計回りでＩＤが増加するものとする。
【００４４】
次に、どのノード装置１に、どのコンテンツデータの所在が記憶されるかを、一定の規則の下に決定する。本実施形態においては、「あるコンテンツＩＤを有するコンテンツデータを管理するノード装置は、そのコンテンツＩＤに近いノードＩＤを有するノード装置１である」という規則とする。ここで、「近い」ことの定義は、当該コンテンツＩＤを超えず、コンテンツＩＤとノードＩＤとの差が一番少ないものとするが、実際には、各コンテンツデータの管理を各ノード装置１に割り振る際に、一貫していればよい。同図に示す例では、この定義に基づいて、コンテンツＩＤａは、ノードＩＤａを有するノード装置１に管理され、コンテンツＩＤｂは、ノードＩＤｂを有するノード装置１に管理され、コンテンツＩＤｃは、ノードＩＤｃを有するノード装置１に管理される。
【００４５】
なお、ここで「管理」というのは、コンテンツデータを保存（保持）していることを意味するのではなく、「コンテンツデータが何れのノード装置１に保存されているかを知っている」ことを言う。すなわち、図２において、ノードＩＤａを有するノード装置１は、コンテンツＩＤａを有するコンテンツデータが何れのノード装置１に保存されているかを知っており、ノードＩＤｂを有するノード装置１およびノードＩＤｃを有するノード装置１も同様にそれぞれコンテンツＩＤｂを有するコンテンツデータおよびコンテンツＩＤｃを有するコンテンツデータが何れのノード装置１に保存されているかを知っている、ということになる。このように、あるコンテンツデータが何れのノード装置１に保存されているかを知っているノード装置を、そのコンテンツデータのルートノードと言う。つまり、ノードＩＤａを有するノード装置１は、コンテンツＩＤａを有するコンテンツデータのルートノードであって、ノードＩＤｂを有するノード装置１は、コンテンツＩＤｂを有するコンテンツデータのルートノードであって、ノードＩＤｃを有するノード装置１は、コンテンツＩＤｃを有するコンテンツデータのルートノードである。また、コンテンツデータを保持（保存）しているノード装置１をコンテンツノードという。
【００４６】
［１．２．ルーティングテーブルの作成］
ここで、図３を参照して、ＤＨＴで用いるルーティングテーブルの作成手法の一例について説明する。
【００４７】
図３は、ＤＨＴによってルーティングテーブルが作成される様子の一例を示す図である。
【００４８】
まず、図３（Ａ）に示す如く、ＩＤ空間を幾つかのエリアに分割する。実際には、１６分割程度が良く用いられるが、説明を簡単にするためここでは４分割とし、ＩＤをビット長１６Ｂｉｔの４進数で表すこととした。そして、ノード装置１ＮのノードＩＤを「10230210」とし、このノード装置１Ｎのルーティングテーブルを作る例について説明する。
【００４９】
（レベル１のルーティング）
まず、ＩＤ空間を４分割とすると、それぞれのエリアは４進数で表すと最大桁が異なる４つのエリア「0XXXXXXX」「1XXXXXXX」、「2XXXXXXX」、「3XXXXXXX」（Ｘは０から３の自然数、以下同様。）で分けられる。ノード装置１Ｎは、当該ノード装置１Ｎ自身のノードＩＤが「10230210」であるため、図中左下「1XXXXXXX」のエリアに存在することになる。そして、ノード装置１Ｎは、自分の存在するエリア（すなわち、「1XXXXXXX」のエリア）以外のエリアに存在するノード装置１を適当に選択し、当該ノードＩＤのＩＰアドレスをレベル１のテーブルに記憶する。図４（Ａ）がレベル１のテーブルの一例である。２列目はノード装置１Ｎ自身を示しているため、ＩＰアドレスを記憶する必要は無い。
【００５０】
（レベル２のルーティング）
次に、図３（Ｂ）に示す如く、上記ルーティングによって４分割したエリアのうち、自分の存在するエリアを更に４分割し、更に４つのエリア「10XXXXXX」「11XXXXXX」、「12XXXXXX」、「13XXXXXX」と分ける。そして、上記と同様に自分の存在するエリア以外のエリアに存在するノード装置１を適当に選択し、当該ノードＩＤのＩＰアドレスをレベル２のテーブルに記憶する。図４（Ｂ）がレベル２のテーブルの一例である。１列目はノード装置１Ｎ自身を示しているため、ＩＰアドレスを記憶する必要は無い。
【００５１】
（レベル３のルーティング）
さらに、図３（Ｃ）に示す如く、上記ルーティングによって４分割したエリアのうち、自分の存在するエリアを更に４分割し、更に４つのエリア「100XXXXX」「101XXXXX」、「102XXXXX」、「103XXXXX」と分ける。そして、上記と同様に自分の存在するエリア以外のエリアに存在するノード装置１を適当に選択し、当該ノードＩＤのＩＰアドレスをレベル１のテーブルに記憶する。図４（Ｃ）がレベル３のテーブルの一例である。３列目はノード装置１Ｎ自身を示しているため、ＩＰアドレスを記憶する必要は無く、２列目、４列目はそのエリアにノード装置が存在しないため空白となる。
【００５２】
このようにして、レベル４以下レベル８まで同様にルーティングテーブル図４（Ｄ）に示す如く作成することにより、１６ｂｉｔのＩＤ全てを網羅することができる。レベルが上がる毎にテーブルの中に空白が目立つようになる。
【００５３】
以上説明した手法に従って作成したルーティングテーブルを、全てのノード装置１が夫々作成して所有することになる。
【００５４】
［１．３．コンテンツデータの検索方法及び取得方法］
次に、図５を参照して、コンテンツデータの保存元であるノード装置１の検索方法及び取得方法の一例について説明する。これは、後述するノード装置１における情報部分取得手段、ガイド情報取得手段、検索手段及び要求送信手段により行われるものである。
【００５５】
図５は、ＤＨＴによりコンテンツデータを保存しているノード装置１が検索される様子及びコンテンツデータが取得される様子の一例を示す図である。
【００５６】
ここでは、ノードＩＤ「12003030」のノード装置１−１（以下、このようにコンテンツデータを探し、コンテンツデータの受信を要求するノード装置を「リクエストノード」と言う。）が、コンテンツＩＤ「31330012」を有するコンテンツデータを探す際の手順について説明する。
【００５７】
リクエストノードは、自己が保持しているルーティングテーブルのレベル１のテーブルを参照して、コンテンツＩＤ「31330012」と同じエリアのノードＩＤを持つノード装置に対してコンテンツの在処を問い合わせる検索情報（以下、本発明の「検索情報」（所望のコンテンツデータを記憶しているノード装置を検索するための検索情報）を「クエリ」と言う。）を送信する。つまり、コンテンツＩＤ「31330012」は「3XXXXXXX」のエリアであるため、当該「3XXXXXXX」のエリアに属すノード装置１のうち、ＩＰアドレスを知っている（すなわち、自己が保持しているルーティングテーブルにＩＰアドレスが記憶されている）ノード装置１−２に対してクエリを送信する。このように、クエリはコンテンツに対応する固有の識別情報であるコンテンツＩＤを含むものである。
【００５８】
図５に示す例に拠れば、ノードＩＤが「30100000」であるノード装置１−２のＩＰアドレスがリクエストノードのルーティングテーブルに記憶されていたので、リクエストノードは、ノードＩＤが「30100000」であるノード装置１−２に対してクエリを送信する。
【００５９】
次に、クエリを受信したノード装置１−２は、当該ノード装置１−２自身が保持しているルーティングテーブルのレベル２のテーブルを参照して、「31XXXXXX」のエリアに属すノード装置１のうち、ＩＰアドレスを知っているノード装置１−３（ノードＩＤ「31012001」）に対してクエリを転送する。
【００６０】
このように、コンテンツＩＤの桁を上から順に適合していく要領でクエリの転送が進み、最終的に当該コンテンツデータを管理するノード装置１−５、すなわちルートノード（本発明におけるコンテンツ分割保存システムにおけるコンテンツデータの所在を管理する管理元のノード装置を示す。）に辿り着くと、当該ルートノードは、クエリに含まれるコンテンツＩＤ「31330012」を、自身が管理しているコンテンツインデックス情報（後述する）の中から検索し、当該コンテンツデータを所有しているノード装置１のＩＰアドレス等のノード情報をリクエストノードに返信するようになっている。
【００６１】
こうして、リクエストノード（ノード装置１−１）は、上記ルートノード（ノード装置１−５）から、コンテンツＩＤ「31330012」のコンテンツデータの所在、即ち、当該データを保存しているコンテンツノード（ノード装置１−６）のＩＰアドレスを受信して知ることになる。このようにして検索されたコンテンツノードに、リクエストノードは、コンテンツデータの送信を要求する送信要求情報を送信し、当該コンテンツノードから、そのコンテンツデータを取得（ダウンロード）することになる。
【００６２】
また、コンテンツノードは、リクエストノードからコンテンツデータの送信を要求する送信要求情報を受信し、リクエストノードから送信要求情報を受信した場合に、当該送信要求情報に応じてコンテンツデータを送信する。
【００６３】
なお、図示しないが、リクエストノードが送信したクエリを受信したルートノードは、該当するコンテンツデータを保存するコンテンツノードに対して、リクエストノードにコンテンツデータを配信するように指示する旨の情報を送信してもよい。この場合には、コンテンツノードは送信要求情報を送信することなく、コンテンツノードから所望のコンテンツデータを取得することができる。
【００６４】
また、コンテンツノードが当該コンテンツデータをリクエストノードに配信できない場合には、ピアツーピア型の情報配信ができないため、図５に破線で示すようにリクエストノードがコンテンツ投入サーバにコンテンツデータを要求し、取得してもよい。
【００６５】
［１．４．コンテンツデータの公開方法］
このような構成のコンテンツ分割保存システムＳの中で、例えば、あるノード装置（上述のノード装置１−６とする）が新しいコンテンツデータを、コンテンツ分割保存システムＳ上の他のノード装置１に所在がわかるように公開する際の手法について、図６を参照して述べる。これは、後述するノード装置１における記憶制御手段、情報部分保存手段及び保存公開手段により行われるものである。このノード装置１−６がコンテンツデータを保存するコンテンツノードとなる。
【００６６】
図６に示すように、まず、コンテンツ分割保存システムＳに投入されるコンテンツデータの種類や数等を管理するコンテンツ投入サーバから、新たなコンテンツデータがノード装置１−６に投入される。
【００６７】
こうしてコンテンツノードとなったノード装置１−６は、コンテンツのタイトル等からコンテンツＩＤ；31330012を求め、当該コンテンツＩＤと同じノードＩＤを持つノード装置に向けて（このノード装置が実在するか否かはこの時点ではわからない。）自ノード装置がコンテンツデータを保存していることを示す公開情報（以下、本発明の公開情報をコンテンツ公開メッセージという。）を送信する。そして、このコンテンツ公開メッセージも、上記クエリと同様にルーティングテーブルに従って、次々と転送されていき、当該コンテンツ公開メッセージに含まれるコンテンツＩＤに最も近いノードＩＤを有するノード装置１まで転送されたところで、そのノード装置１はもはや送信先のノード装置が他にないと判断すると、当該ノード装置１自身がそのコンテンツデータのルートノードとなるべきだと判断し、当該コンテンツＩＤ、補助情報（タイトル、ジャンル等の属性情報や、監督名等の著作権情報等）およびコンテンツノードのＩＰアドレスをコンテンツインデックス情報として記憶する。
【００６８】
なお、コンテンツノードは、一つに限られず、同じコンテンツデータを保存し、公開したノード装置１（以下、レプリカノードともいう。）が他に存在していてもよい。この場合にも、二つ目以降のレプリカノードが同様に公開メッセージを送信すると、一のコンテンツデータに対して同じルートノードがその所在を管理することとなる。
【００６９】
更にまた、ルートノードに至る経路の途中のノード装置が、当該ルートノードが記憶しているコンテンツインデックス情報をキャッシュとして保持しておいてもよい。このコンテンツインデックス情報をキャッシュとして保持するノード装置をキャッシュノードという。これにより、ルートノードがクエリを受信するより前に、より早くキャッシュノードにクエリが転送された時点でキャッシュノードがコンテンツノードのＩＰアドレスを、コンテンツの所在を問い合わせたリクエストノードに返信することが可能になる。なお、キャッシュノードの台数や公開メッセージが転送されるノード装置１の全てをキャッシュノードとするか否か、等はそのコンテンツ分割保存システムＳにおいて自由に決定することができる。
【００７０】
なお、後述するように、コンテンツノードが保存しているコンテンツデータを削除した場合には、コンテンツ削除メッセージを同様に送信し、ルートノードまで次々に転送され、当該コンテンツ削除メッセージを受信したルートノードやキャッシュノードは、コンテンツインデックス情報から当該コンテンツデータのコンテンツノードのうち、当該コンテンツ削除メッセージを送信したノード装置１の各種情報を削除する。これは、後述するノード装置１における記憶制御手段及び削除公開手段により行われるものである。
【００７１】
［２．本実施形態のコンテンツ分割保存システムの概要］
上述のようなコンテンツ分割保存システムＳを前提として、本発明は、図７に示すように、全体情報としてのコンテンツデータが一のノード装置１に保存されているのではなく、当該コンテンツデータが分割されて、複数の分割情報となり、複数のノード装置１に保存されている。各分割情報について、図２に示すように、ルートノードが存在する。また、全体情報に対して各分割情報がどのノード装置１に保存されているかが示されたガイド情報が他のノード装置１に保存されている。ガイド情報についても、図２に示すようにルートノードが存在する。
【００７２】
本実施形態においては、図７に示すように、ＡＢＣＤＥＦＧＨＩからなる全体情報が、Ａからなる分割情報（１）、Ｂからなる分割情報（２）、Ｃからなる分割情報（３）、Ｄからなる分割情報（４）、Ｅからなる分割情報（５）、Ｆからなる分割情報（６）、Ｇからなる分割情報（７）、Ｈからなる分割情報（８）、Ｉからなる分割情報（９）、に分割されて各ノード装置１に保存されており、これらの復元に必要な情報がガイド情報（メタ情報とも呼ばれる。）として他のノード装置１に保存されている。この全体情報と分割情報との関係は、例えば、１３５分間の映像からなる全体情報としてのコンテンツデータを、１５分間の映像からなる９個の分割情報に分割したイメージである。なお、全体情報の分割の仕方は、このように等分に分割することに限定されず、公知の手法で分割することができる。
【００７３】
リクエストノードは、各コンテンツデータのガイド情報のＩＤがリストになったカタログを所有し、又は、参照できるようになっており、ユーザからのリクエストにより、所望のコンテンツのガイド情報のＩＤをカタログから取得する。
【００７４】
リクエストノードは、取得した当該ガイド情報のＩＤを用いて、上述のＤＨＴによるコンテンツを検索、取得する要領でガイド情報を取得し、ガイド情報に基づいて、必要な分割情報を取得する。なお、分割情報を取得、と記載した場合には、ノード装置１が少なくとも当該分割情報を記憶していることとする。このとき、リクエストノードは、一部の分割情報を取得するようにし、言い換えると、全ての分割情報を取得しないようにする。ここでは、再生する分割情報と、順番がその前の分割情報、順番がその後の分割情報を取得するものとする。分割情報を取得する際にも、ガイド情報と同様に、上述のＤＨＴにより取得する。
【００７５】
まず、リクエストノードは、一番初めの分割情報（１）のＡとその次の分割情報（２）のＢを取得する。そして、当該各分割情報を順次再生し、分割情報（１）の再生が終わると、再生中となる分割情報（２）の次の分割情報（３）のＣを取得する。次いで、分割情報（２）の再生が終わると、再生中となる分割情報（３）の次の分割情報（４）のＤを取得し、再生中の分割情報（３）とその前後である分割情報（２）（４）を除いて他の分割情報、ここでは分割情報（１）、を削除する。次いで、分割情報（３）の再生が終わると、再生中となる分割情報（４）の次の分割情報（５）のＥを取得し、再生中の分割情報（４）とその前後である分割情報（３）（５）を除いて他の分割情報（ここでは分割情報（２））を削除する。図７には、この状態が示されており、リクエストノードが一度記憶したコンテンツデータのうち、削除された分割情報（１）のＡと分割情報（２）のＢとにＸ印が付されている。リクエストノードが現在記憶している分割情報は、再生中の分割情報（４）のＤ、その一つ前の分割情報（３）のＣ、その一つ後の分割情報（５）のＥである。
【００７６】
その後もコンテンツデータの再生が進むに従って、同様に処理が行われ、最後から２番目の分割情報（８）のＨの再生が終わると、再生中となる分割情報（９）の次の分割情報がないため、再生中の分割情報（９）とその前の分割情報（８）を除いて他の分割情報（ここでは分割情報（７））を削除する。次いで、最後の分割情報（９）のＩの再生が終わると、当該最後の分割情報（９）を除いて他の分割情報（ここでは分割情報（８））を削除する。そして、所定の時間が経過した後、最後の分割情報（９）を削除する。コンテンツデータの再生終了後、最後の分割情報を削除するタイミングは、所定の時間経過後と上記しているが、再生終了と同時でもよいし、ノード装置１毎に任意に決められていてもよい。
【００７７】
このように、全ての分割情報が一のノード装置１に集まることがないように制御することで、コンテンツデータを再生する際に当該コンテンツデータが他の装置等に流出したとしても、不正にコンテンツデータを取得した装置において、全ての分割情報を取得することができないため、当該分割情報から全体情報を復元することは困難となる。また、ノード装置１をこのような構成とすることにより、一つの記録媒体の記録容量や一つのノード装置１の記録容量を超えるような大きなサイズのコンテンツデータであっても、このように分割されて複数のノード装置に保存されており、かつ、ノード装置１がコンテンツデータを再生する際に一部の分割情報のみを記憶することにより、大きなサイズのコンテンツデータの再生が容易となる。
【００７８】
なお、リクエストノードが分割情報を保存する場合には、一部の分割情報を保存するようにし、言い換えると、全ての分割情報を保存しないようにする。保存することが決められた分割情報について、リクエストノードは再生後も削除せずに保存し、図６を用いて説明したように、当該分割情報を保存したことを他のノード装置１に公開する。フローチャートを用いて後述するように、リクエストノードは、取得した分割情報について全て保存して保存公開メッセージを送信し、その後削除した分割情報についてはその際に保存削除メッセージを送信してもよい。
【００７９】
［３．ノード装置の構成等］
次に、図８を参照して、ノード装置１の構成および機能について説明する。尚、各ノード装置１の構成は同じである。図８は、ノード装置１の概要構成例を示す図である。
【００８０】
各ノード装置１は、図８に示すように、演算機能を有するＣＰＵ，作業用ＲＡＭ，各種データおよびプログラムを記憶するＲＯＭ等から構成されたコンピュータとしての制御部１１と、コンテンツデータ等の分割情報、ガイド情報、インデックス情報、上記ＤＨＴおよびプログラム等を記憶保存（格納）するためのＨＤ等から構成された記憶部１２（上記分割情報やガイド情報は、保存されていないノード装置１もある）と、受信されたコンテンツデータ等の分割情報やガイド情報を一時蓄積するバッファメモリ１３と、コンテンツデータに含まれるエンコードされたビデオデータ（映像情報）およびオーディオデータ（音声情報）等をデコード（データ伸張や復号化等）するデコーダ部１４と、当該デコードされたビデオデータ等に対して所定の描画処理を施しビデオ信号として出力する映像処理部１５と、当該映像処理部１５から出力されたビデオ信号に基づき映像表示するＣＲＴ，液晶ディスプレイ等の表示部１６と、上記デコードされたオーディオデータをアナログオーディオ信号にＤ（Digital）／Ａ（Analog）変換した後これをアンプにより増幅して出力する音声処理部１７と、当該音声処理部１７から出力されたオーディオ信号を音波として出力するスピーカ１８と、ネットワーク８を通じて他のノード装置１との間の情報の通信制御を行うための通信部２０と、ユーザからの指示を受け付け当該指示に応じた指示信号を制御部１１に対して与える入力部（例えば、キーボード、マウス、或いは、操作パネル等）２１と、を備えて構成され、制御部１１、記憶部１２、バッファメモリ１３、デコーダ部１４および通信部２０はバス２２を介して相互に接続されている。
【００８１】
そして、制御部１１におけるＣＰＵが記憶部１２等に記憶された各種プログラムを実行することにより、ノード装置１全体を統括制御するようになっており、また、入力部２１からの指示信号に応じて、コンテンツデータ取得処理等を行うようになっている。ノード装置１は、実行されるプログラムに応じて、分割情報等を取得したり、各情報を受信、送信（転送）する。また、ノード装置１の制御部１１は、本発明の情報部分取得手段、記憶制御手段、ガイド情報取得手段、情報部分保存手段、保存公開手段、削除公開手段、検索手段、要求送信手段として機能する。
【００８２】
情報部分取得手段としての制御部１１は、全体情報における少なくとも利用する部分に該当する分割情報を他のノード装置１から取得する。当該制御部１１は、取得したガイド情報に示される分割情報を他のノード装置１から取得することができる。また、分割情報に順序がある場合には、当該制御部１１は、利用する分割情報に前側の情報がある場合には一つ前の分割情報を取得し、利用する分割情報に後側の情報がある場合には一つ後の分割情報を取得し、他に任意に決められた順番の分割情報を取得することができる。さらに、当該制御部１１は、後述する送信要求情報の送信先のノード装置１から分割情報を取得することもできる。
【００８３】
記憶制御手段としての制御部１１は、少なくとも利用する部分に該当する分割情報をバッファメモリ１３に記憶し、当該分割情報を含む全体情報における他の部分の一部の分割情報をバッファメモリ１３に記憶するように制御する。分割情報に順序がある場合には、当該制御部１１は、利用する分割情報に前側の情報がある場合には一つ前の分割情報を記憶し、利用する分割情報に後側の情報がある場合には一つ後の分割情報を記憶し、他に任意に決められた順番の分割情報を記憶し、その他の分割情報を削除するように制御することができる。
【００８４】
ガイド情報取得手段としての制御部１１は、一の全体情報のガイド情報を取得することができる。また、当該制御部１１は、後述する送信要求情報の送信先のノード装置１からガイド情報を取得することができる。
【００８５】
情報部分保存手段としての制御部１１は、利用するために記憶した分割情報のうち、一の全体情報における分割情報の数を示す分割情報数未満の数の分割情報を記憶部１２に保存する。当該制御部１１は、保存する分割情報の個数を分割情報数未満の所定数に予め決定されており、決定された所定数の分割情報を保存することもできるし、保存する全体情報によってランダムな個数とすることも、任意の一定の確率又はランダムな確率で保存する分割情報の個数を決めることもできる。当該制御部１１は、順序がある分割情報における所定の数おきの分割情報、又は、任意の分割情報、を保存することとしてもよい。当該制御部１１は、記憶制御手段としての制御部１１が記憶した分割情報を保存し、記憶制御手段としての制御部１１が削除した分割情報に対応する分割情報を削除するようにしてもよい。
【００８６】
保存公開手段としての制御部１１は、上記情報部分保存手段としての制御部１１が分割情報を保存した場合に、自ノード装置が当該分割情報を保存した旨のメッセージを他のノード装置１に向けて送信する。削除公開手段としての制御部１１は、上記情報部分保存手段としての制御部１１が分割情報を削除した場合に、自ノード装置が当該分割情報を削除した旨のメッセージを他のノード装置に向けて送信する。
【００８７】
検索手段としての制御部１１は、取得すべき分割情報を保存しているノード装置の所在を検索するための検索情報を、コンテンツ分割保存システムＳにおける分割情報の所在を管理する管理元のノード装置１（ルートノード）に向けて送信する。また、検索手段としての制御部１１は、ガイド情報を保存しているノード装置１の所在を検索するための検索情報を、コンテンツ分割保存システムＳにおけるガイド情報の所在を管理する管理元のノード装置１に向けて送信する。
【００８８】
要求送信手段としての制御部１１は、管理元のノード装置１から分割情報の所在を示すノード情報を受信した場合に、当該ノード情報に対応するノード装置１に分割情報の送信を要求する送信要求情報を送信する。要求送信手段としての制御部１１は、管理元のノード装置１からガイド情報の所在を示すノード情報を受信した場合に、当該ノード情報に対応するノード装置１にガイド情報の送信を要求する送信要求情報を送信する。
【００８９】
［４．本実施形態のコンテンツ分割保存システムの動作］
次に、本実施形態のコンテンツ分割保存システムＳの動作について図９乃至図１１を用いて説明する。
【００９０】
この動作は、図７を用いて上述したように、ノード装置１がガイド情報に基づいて再生する分割情報及びその前後の分割情報を取得し、これらと予め保存することを決定した分割情報を保存する態様についての動作である。
【００９１】
図９に示すように、ノード装置１の電源が入れられたことを制御部１１が認識すると（スタート；電源オン）、制御部１１は、ノード装置１がシャットダウンしたか否かを判断する（ステップＳ１）。通常、電源が入れられた直後はシャットダウンしないため、制御部１１はシャットダウンしていないと判断し（ステップＳ１；ＮＯ）、当該ノード装置１のユーザから、入力部２１を用いてコンテンツデータのリクエストがあったか否かを判断する（ステップＳ２）。コンテンツデータのリクエストがあった場合には（ステップＳ２；ＹＥＳ）、制御部１１は、コンテンツ再生処理を行い（ステップＳ３）、ステップＳ１に戻る。なお、コンテンツ再生処理は、図１０を用いて後述する。
【００９２】
ステップＳ２において、コンテンツのリクエストがなかった場合には（ステップＳ２；ＮＯ）、制御部１１は、分割情報やガイド情報等の情報を検索するクエリを受信したか否かを判断する（ステップＳ４）。情報を検索するクエリを受信した場合には（ステップＳ４；ＹＥＳ）、当該情報を保存しているノード装置１（コンテンツノード）を知っているか、即ち、自ノード装置がルートノード又はキャッシュノードであるか否かを判断する（ステップＳ５）。コンテンツノードを知らない場合には（ステップＳ５；ＮＯ）、受信したクエリをルートノードに向けて、他のノード装置１に転送し（ステップＳ６）、ステップ１に戻る。
【００９３】
ステップＳ５において、コンテンツノードを知っている場合には（ステップＳ５；ＹＥＳ）、制御部１１は、当該情報を保存しているノード装置１（コンテンツノード）のノード情報をクエリ送信元のノード装置に送信し（ステップＳ７）、ステップ１に戻る。
【００９４】
ステップＳ４において、情報を検索するクエリを受信していない場合には（ステップＳ４；ＮＯ）、制御部１１は、分割情報やガイド情報等の情報の送信要求情報を受信したか否かを判断する（ステップＳ８）。当該情報の送信要求情報を受信した場合には（ステップＳ８；ＹＥＳ）、制御部１１は、現在、当該情報の配信が可能か否かを判断する（ステップＳ９）。なお、配信可能であるか否かは、自ノード装置１のＣＰＵ負荷やネットワーク負荷等の状況から判断される。現在、当該情報の配信が可能でない場合には（ステップＳ９；ＮＯ）、制御部１１は、送信要求の送信元のノード装置１に対して情報の送信不可の通知を送信し（ステップＳ１０）、ステップＳ１に戻る。
【００９５】
ステップＳ９において、現在、当該情報の配信が可能である場合には（ステップＳ９；ＹＥＳ）、制御部１１は、送信要求の送信元のノード装置１に対して要求された情報を送信し（ステップＳ１１）、ステップＳ１に戻る。なお、ステップＳ４からＳ１１の動作については、図５における各ノード装置の動作となる。
【００９６】
なお、ステップＳ８において、情報の送信要求情報を受信していない場合には（ステップＳ８；ＮＯ）、ステップＳ１に戻る。
【００９７】
一方、ステップＳ１において、制御部１１は、ノード装置１がシャットダウンしたと判断した場合には（ステップＳ１；ＹＥＳ）、一連の動作を終了する（エンド）。
【００９８】
次いで、ステップＳ３のコンテンツ再生処理について、図１０を参照して説明する。
【００９９】
図１０に示すように、コンテンツ再生処理（ステップＳ３）が始まると（スタート）、ガイド情報取得手段としての制御部１１は、当該コンテンツデータのガイド情報について情報要求・取得処理を行う（ステップＳ２１）。このステップＳ２１の情報要求・取得処理については、図１１を用いて後述する。
【０１００】
次いで、制御部１１は、取得したガイド情報から分割情報を認識し（ステップＳ２２）、全部でＮ個の分割情報のうち、最終的に保存するＭ個（Ｍ＜Ｎ）の分割情報のＩＤをランダムに選択する（ステップＳ２３）。ここでは、例えば、図７における分割情報（３）と（７）を保存することとし、これらのＩＤを選択することとする。次いで、制御部１１は、再生位置をコンテンツの先頭（０）と決定し、状態を「ポーズ」と決定する（ステップＳ２４）。
【０１０１】
次いで、制御部１１は、コンテンツデータの再生が終了か否かを判断する（ステップＳ２５）。コンテンツ再生処理を始めたばかりの段階では、通常、コンテンツデータの再生は終了しないため、制御部１１はコンテンツデータの再生が終了でないと判断し（ステップＳ２５；ＮＯ）、情報部分取得手段としての制御部１１は、ガイド情報から再生位置が含まれる分割情報及びその前後の分割情報のＩＤを取得する（ステップＳ２６）。図７を参照すると、再生し始める段階では、コンテンツの先頭である分割情報（１）と、その直後の分割情報（２）のＩＤを取得する。
【０１０２】
次いで、記憶制御手段としての制御部１１は、再生しているコンテンツのうち記憶している分割情報の中で、最終的に保存する分割情報、再生位置が含まれる分割情報、その前後の分割情報以外の不要な分割情報があるか否かを判断する（ステップＳ２７）。このとき、制御部１１は、まだ再生を開始しておらず、分割情報を記憶・保存していないため、不要な分割情報はないと判断し（ステップＳ２７；ＮＯ）、ステップＳ２８に進む。
【０１０３】
情報部分取得手段としての制御部１１は、再生位置が含まれる分割情報（１）及びその前後の分割情報、ここでは後の分割情報（２）について、情報要求・取得処理を行う（ステップＳ２８）。このステップＳ２８の情報要求・取得処理については、図１１を用いて後述する。また、これから取得すべき分割情報がない場合には、このステップ２８を省略してステップＳ２９に進む。
【０１０４】
次いで、制御部１１は、現在、「ポーズ」状態か否かを判断する（ステップＳ２９）。このとき、上述のステップＳ２４に記載したように、「ポーズ」状態となっているため、制御部１１は、現在「ポーズ」状態であると判断し（ステップＳ２９；ＹＥＳ）、コンテンツの再生を開始して（ステップＳ３０）、ステップＳ２５に戻る。
【０１０５】
次いで、制御部１１は、分割情報（１）を再生している間、ステップＳ２５；ＮＯ、Ｓ２６、Ｓ２７；ＮＯ、Ｓ２８（省略）を経て、ステップＳ２９において、再生を開始して「ポーズ」状態ではなくなっているため（ステップＳ２９；ＮＯ）、ステップＳ２５に戻る。制御部１１は、分割情報（１）を再生している間、これらのステップを繰り返す。
【０１０６】
分割情報（１）の再生が終了して分割情報（２）の再生が始まると、ステップＳ２６において分割情報（１）、（２）、（３）のＩＤを取得する。次いで、ステップＳ２７；ＮＯを経て、取得していない分割情報（３）の情報要求・取得処理を行う（ステップＳ２８）。次いで、同様に、分割情報（２）を再生している間、ステップＳ２５；ＮＯ、Ｓ２６、Ｓ２７；ＮＯ、Ｓ２８（省略）、ステップＳ２９；ＮＯを経て、ステップＳ２５に戻る。制御部１１は、分割情報（２）を再生している間、これらのステップを繰り返す。
【０１０７】
分割情報（２）の再生が終了して分割情報（３）の再生が始まると、ステップＳ２６において分割情報（２）、（３）、（４）のＩＤを取得する。次いで、ステップＳ２７において、保存する分割情報（３）、再生している分割情報（３）及びその前後の分割情報（２）、（４）以外の不要な分割情報（１）があるため、制御部１１はそのように判断し（ステップＳ２７；ＹＥＳ）、記憶制御手段及び情報部分保存手段としての制御部１１は保存していた不要な分割情報（１）を削除し（ステップＳ３１）、削除公開手段としての制御部１１は、分割情報（１）を削除した旨の保存削除メッセージを他のノード装置１に送信する（ステップＳ３２）。次いで、制御部１１は、取得していない分割情報（４）の情報要求・取得処理を行う（ステップＳ２８）。次いで、同様に、分割情報（３）を再生している間、ステップＳ２９；ＮＯ、Ｓ２５；ＮＯ、Ｓ２６、Ｓ２７；ＮＯ、Ｓ２８（省略）、ステップＳ２９；ＮＯを経て、ステップＳ２５に戻る。制御部１１は、分割情報（３）を再生している間、これらのステップを繰り返す。
【０１０８】
分割情報（４）〜（９）の再生中においても、同様の処理が行われる。なお、分割情報（３）と（７）については、ステップＳ２３において保存することを決定しているため、これらの分割情報（３）と（７）は、ステップＳ２７において不要な分割情報と判断されず（ステップＳ２７；ＮＯ）、ノード装置１において削除されない。
【０１０９】
ここで、ステップＳ２５において、分割情報（９）の再生が終了し、又は、ユーザが入力部２１を用いて再生終了を指示した場合には、制御部１１は再生が終了したと判断し（ステップＳ２５；ＹＥＳ）、記憶制御手段及び情報部分保存手段としての制御部１１は、最終的に保存する分割情報（３）、（７）以外の全ての分割情報を削除する（ステップＳ３３）。次いで、削除公開手段としての制御部１１は、当該分割情報を削除した旨の保存削除メッセージを他のノード装置１に送信し（ステップＳ３４）、コンテンツ再生処理を終了する（エンド）。
【０１１０】
次いで、ステップＳ２１、Ｓ２８の情報要求・取得処理について、図１１を参照して説明する。ステップＳ２１においてはガイド情報を対象とし、ステップＳ２８においては分割情報を対象としているが、いずれも共通の処理であり、この説明においては、分割情報（１）の要求・取得処理として説明する。なお、この情報要求・取得処理の対象となる分割情報のＩＤは、上述のステップＳ２６等により取得されたものであり、情報要求・取得処理の対象となるガイド情報のＩＤは、上述したようにコンテンツデータのカタログから得られるものである。
【０１１１】
図１１に示すように、制御部１１は、分割情報（１）の情報要求・取得処理（ステップＳ２１、Ｓ２８）が始まると（スタート）、制御部１１は、当該分割情報（１）を既に保存し、又は記憶しているか否かを判断する（ステップＳ４１）。既に分割情報（１）を保存し、又は記憶している場合には（ステップＳ４１；ＹＥＳ）、この処理を終了する（エンド）。
【０１１２】
一方、ステップＳ４１において、分割情報（１）を保存も記憶もしていない場合には、検索手段としての制御部１１は、ＤＨＴにより、取得すべき分割情報（１）を保存しているノード装置１の所在を検索するための検索情報を、コンテンツ分割保存システムＳにおける分割情報の所在を管理する管理元のノード装置１（ルートノード）に向けて送信し、分割情報（１）を保存しているノード装置１（コンテンツノード）のノード情報を取得する（ステップＳ４２）。次いで、制御部１１は、取得したノード情報に対応するノード装置１が分割情報（１）を配信可能であるかを判断する（ステップＳ４３）。なお、配信可能であるか否かは、分割情報（１）を保存しているノード装置１のＣＰＵ負荷やネットワーク負荷等の状況から判断される。
【０１１３】
当該ノード装置１が、分割情報（１）を配信可能である場合には（ステップＳ４３；ＹＥＳ）、要求送信手段としての制御部１１は、当該ノード装置１に分割情報（１）の送信要求情報を送信し（ステップＳ４４）、当該ノード装置１から分割情報（１）を受信する（ステップＳ４５）。なお、ステップＳ４２、Ｓ４４からＳ４６の動作については、図５におけるリクエストノードの動作となる。
【０１１４】
次いで、情報部分保存手段としての制御部１１は、受信した分割情報（１）を記憶部１２に保存し（ステップＳ４６）、保存公開手段としての制御部１１は、保存したことを公開するための保存公開メッセージを分割情報（１）のルートノードに向けて送信し（ステップＳ４７；図６参照）、処理を終了する（エンド）。
【０１１５】
一方、ステップＳ４３において、当該ノード装置１が、分割情報（１）を配信可能でない場合（ステップＳ４３；ＮＯ）について説明する。ステップＳ４３において、分割情報（１）を保存しているコンテンツノードが複数ある場合もあるが、全てのノード装置１が配信不可の場合に、ステップＳ４３；ＮＯとなる。この場合、制御部１１は、ピアツーピア型の情報配信ができないため、上述のコンテンツ投入サーバに分割情報（１）の送信要求情報を送信し（ステップＳ４８）、当該コンテンツ投入サーバから分割情報（１）を受信する（ステップＳ４９）。次いで、制御部１１は、ステップＳ４６に進み、受信した分割情報（１）を記憶部１２に保存し（ステップＳ４６）、保存したことを公開するための保存公開メッセージを分割情報（１）のルートノードに向けて送信し（ステップＳ４７；図６参照）、処理を終了する（エンド）。
【０１１６】
［５．変形形態］
本発明の一例として上述の実施形態を説明したが、本発明はこれに限定されず、例えば、以下の変形形態とすることもできる。
【０１１７】
本発明の情報分割保存システムは、複数のノード装置が参加している情報分割保存システムであって、一の全体情報を複数に分割した各分割情報が複数のノード装置に保存されており、一のノード装置が他のノード装置からの要求に応じて自己が保存している分割情報を通信手段を介して送信するようにした情報分割保存システムにおいて、ノード装置１は、全体情報における少なくとも利用する部分に該当する分割情報を他のノード装置から取得する情報部分取得手段（制御部１１）と、少なくとも利用する部分に該当する分割情報を記憶し、当該分割情報を含む全体情報における他の部分の一部の分割情報を記憶するように制御する記憶制御手段（制御部１１）と、を有していればよく、他の構成は限定されない。
【０１１８】
本発明の情報分割保存システムは、このような構成を備えていることにより、コンテンツデータ等の情報を利用するタイミングにおいて他の装置等に情報が流出した場合にも、当該装置等に分割情報が全て流出することがないため、情報全体の内容を読み取られることを防止できる。
【０１１９】
上述の実施形態においては、ＤＨＴを用いたコンテンツ分割保存システムＳとして説明したが、これに限定されず、複数のノード装置が参加している情報分割保存システムであって、一の全体情報を複数に分割した各分割情報が複数のノード装置に保存されており、一のノード装置が他のノード装置からの要求に応じて自己が保存している分割情報を通信手段を介して送信するようにした情報分割保存システムであれば、どのような構成であってもよい。そのため、ガイド情報や分割情報を検索せずに、カタログやガイド情報を元に分割情報を直接取得する態様であっても本発明を適用できる。
【０１２０】
また、上述の実施形態においては、情報としてコンテンツデータを例に説明したが、情報は映像情報、音楽情報、画像情報等のコンテンツデータの他に、文書情報やプログラム情報等であってもよく、利用（再生）できる情報であれば特に限定されない。
【０１２１】
また、上述の実施形態においては、取得した分割情報等は全て記憶部１２に保存し、保存公開メッセージを送信する形態としたが、これに限定されず、取得した分割情報等はバッファメモリ１３に記憶して再生・利用し、保存することが決定された分割情報のみ、記憶部１２に保存して保存公開メッセージを送信してもよい。この場合、図１０のステップＳ３２、Ｓ３４、図１１のステップＳ４７がなくなり、Ｓ３４の段階で、保存した分割情報についての保存公開メッセージを送信することとなる。
【０１２２】
上述の実施形態においては、コンテンツデータのカタログからガイド情報のＩＤを知ることによりガイド情報を取得し、当該ガイド情報を用いて各分割情報のＩＤを知ることができる態様としたが、各分割情報を取得するための手法は、これに限定されず、ガイド情報を用いなくてもよい。なお、本発明のガイド情報は、全体情報に対して各分割情報がどのノード装置に保存されているかが示された情報としているが、各分割情報がどのノード装置に保存されているかを検索するための各分割情報のコンテンツＩＤのみが示された情報であってもよい。
【０１２３】
上述の実施形態においては、分割情報に順序がある場合に、記憶している分割情報を、再生している分割情報、その前後の分割情報、他に任意に決められた順番の分割情報としているが、これらは記憶する分割情報の一例であり、他の手法で記憶する分割情報を決めてもよい。任意に決められた順番の分割情報は、例えば、再生中の分割情報の三つ前から三つ後まで等としてもよいし、保存する分割情報を示してもよい。
【０１２４】
図１０を用いたフローチャートの説明においては、一の全体情報における分割情報の数を示す分割情報数Ｎ未満の数Ｍの分割情報を保存する例として、保存する分割情報をランダムに選択することを説明したが（ステップＳ２３参照）、保存する分割情報の選択の仕方は、特に限定されない。例えば、上述の保存する個数Ｍの値を、０＜Ｍ＜Ｎの範囲で、任意に決めておいてもよいし、ランダムに決めてもよい。また、保存する分割情報を予め決めておくのではなく、分割情報を削除する段階（図１０においては、ステップＳ２７）において、任意に決められたＭ／Ｎの確率、又は、ランダムなＭ／Ｎの確率で、分割情報を削除するか否かを決めてもよい。
【０１２５】
また、人気の高い全体情報（コンテンツデータ等）の分割情報については、保存する確率Ｍ／Ｎの値や保存する個数Ｍの値を大きくして、レプリカを多く作成できるようにしてもよい。また、全体情報のコンテンツデータ等が初めに利用できるようになってから間もない場合には、保存する確率Ｍ／Ｎの値や保存する個数Ｍの値を大きくして、レプリカを多く作製できるようにし、初めに利用できるようになってから１年以上等、時間が経っている場合には、保存する確率Ｍ／Ｎの値や保存する個数Ｍの値を小さくして、レプリカを多く作成しないようにしてもよい。
【０１２６】
また、保存する分割情報は、順序がある分割情報における所定の数おき（等間隔）の分割情報、例えば、３ｎ＋１（ｎは０以上の整数）番目等の分割情報としてもよいし、任意の分割情報としてもよい。保存する分割情報を特定する際には、上述の個数Ｍや確率Ｍ／Ｎを基準に決めてもよい。
【０１２７】
このように、保存する分割情報の数Ｍや確率Ｍ／Ｎは、その全体情報の需要（人気）や性質、時期によって変動させてもよい。これらの分割情報の保存に関する管理は、コンテンツ投入サーバが行って、ガイド情報や分割情報等に保存に関する情報を付加してもよいし、当該管理をノード装置１が行って、自己の記録容量等に応じて決めてもよく、特に限定されない。
【０１２８】
上述のノード装置１の各動作に対応するプログラムをフレキシブルディスク又はハードディスク等の情報記録媒体に記録しておき、或いはインターネット等のネットワークを介して取得して記録しておき、これをマイクロコンピュータ等により読み出して実行することにより、当該マイクロコンピュータを各実施形態に係る制御部１１等として機能させることも可能である。
【図面の簡単な説明】
【０１２９】
【図１】本実施形態に係るコンテンツ分割保存システムにおける各ノード装置の接続態様の一例を示す図である。
【図２】ＤＨＴによるＩＤ空間及びコンテンツＩＤとこれに対するルートノードを説明する図である。
【図３】本実施形態に係るコンテンツ分割保存システムにおけるＤＨＴによるＩＤ空間及びルーティングテーブルが作成される様子の一例を示す図である。
【図４】（Ａ）レベル１のテーブルの一例である。（Ｂ）レベル２のテーブルの一例である。（Ｃ）レベル３のテーブルの一例である。（Ｄ）完成したルーティングテーブルの一例である。
【図５】ＤＨＴによるＩＤ空間及びコンテンツの検索方法、取得方法を説明する図である。
【図６】ＤＨＴによるＩＤ空間及び保存された第１コンテンツデータの公開方法を説明する図である。
【図７】本実施形態に係るコンテンツ分割保存システムの概要を説明する図である。
【図８】ノード装置１の概要構成例を示す図である。
【図９】ノード装置１における基本処理を示すフローチャートである。
【図１０】ノード装置１におけるコンテンツ再生処理を示すフローチャートである。
【図１１】ノード装置１における情報要求・取得処理を示すフローチャートである。
【符号の説明】
【０１３０】
１  ノード装置
８  ネットワーク
９  オーバレイネットワーク
１１  制御部
１２  記憶部
１３  バッファメモリ
１４  デコーダ部
１５  映像処理部
１６  表示部
１７  音声処理部
１８  スピーカ
２０  通信部
２１  入力部
２２  バス
Ｓ  コンテンツ分散保存システム
【図１】
2008084089.tif 000003
【図２】
2008084089.tif 000004
【図３】
2008084089.tif 000005
【図４】
2008084089.tif 000006
【図５】
2008084089.tif 000007
【図６】
2008084089.tif 000008
【図７】
2008084089.tif 000009
【図８】
2008084089.tif 000010
【図９】
2008084089.tif 000011
【図１０】
2008084089.tif 000012
【図１１】
2008084089.tif 000013