(57)【要約】【課題】Ｐ２Ｐ型のコンテンツ配信システムを構成する装置で保持しているコンテンツデータを再生可能に読み取られる危険性を低減させることにある。【解決手段】１つのコンテンツデータをスクランブル処理及び分割処理して生成された複数の分割データを分散して複数の装置に保持させる。コンテンツデータを再生するとき、複数の装置から通信路を介して複数の分割データを取得して、複数の分割データの結合処理及びデスクランブル処理を行ってコンテンツデータを生成して再生する。取得した分割データは全てを保存するのではなく、一部を保存する。【選択図】図１１
2009211158.tif 000002
【特許請求の範囲】
【請求項１】
１つのコンテンツデータをスクランブル処理及び分割処理して生成された複数の分割データが分散して複数の装置に保持され、当該複数の装置から通信路を介して前記複数の分割データを取得して前記コンテンツデータを再生するコンテンツ再生装置であって、
前記複数の分割データを前記通信路を介して前記複数の装置から取得する取得処理手段と、
前記取得した複数の分割データの結合処理及びデスクランブル処理を行って前記コンテンツデータを生成して再生する再生処理手段と、
前記再生されるコンテンツデータにおける前記複数の分割データのうち一部の分割データを記憶手段に保持する記憶処理手段と、を備えた
ことを特徴とするコンテンツ再生装置。
【請求項２】
前記分割データは、前記コンテンツデータを、前記分割データよりもデータサイズが小さい第１単位で分割して並び替えることによってスクランブル処理され、当該スクランブル処理されたデータを前記第１単位よりもデータサイズが大きな第２単位で分割して生成されたものであり、
前記再生処理手段は、前記複数の分割データを所定の順番で配列して結合し、前記第１単位で分割して再生順に並び替えることによって結合処理及びデスクランブル処理して前記コンテンツデータを生成する
ことを特徴とする請求項１に記載のコンテンツ再生装置。
【請求項３】
前記分割データは、前記コンテンツデータを、当該分割データのデータサイズに分割し、さらに分割後のデータをそれぞれ当該データよりもデータサイズが小さい第１単位で分割して並び替えることによってスクランブル処理して生成されたものであり、
前記再生処理手段は、各前記分割データ内のデータを前記第１単位で並び替えた後、これら複数の分割データを再生順で配列して結合することによって結合処理及びデスクランブル処理して前記コンテンツデータを生成する
ことを特徴とする請求項１に記載のコンテンツ再生装置。
【請求項４】
前記記憶処理手段は、前記取得した複数の分割データのうち前記結合時の配列が互いに連続しない複数の分割データを前記一部の分割データとして前記記憶手段に記憶する
ことを特徴とする請求項２又は請求項３に記載のコンテンツ再生装置。
【請求項５】
前記記憶手段は、不揮発性メモリであることを特徴とする請求項１〜４のいずれか１項に記載のコンテンツ再生装置。
【請求項６】
コンピュータを、請求項１〜５のいずれか１項に記載のコンテンツ再生装置の前記各手段として機能させるプログラム。
【請求項７】
１つのコンテンツデータをスクランブル処理及び分割処理することによって複数の分割データを生成する生成手段と、前記複数の分割データを複数の端末装置へ通信路を介して配信する配信手段とを有するコンテンツ投入装置と、前記複数の端末装置とを備えたコンテンツ配信システムであって、
前記端末装置は、
前記コンテンツ投入装置から前記通信路を介して前記分割データを受信する受信処理手段と、
前記受信した分割データを記憶する記憶手段と、
他の前記端末装置からの要求に応じて前記記憶手段に記憶した分割データを前記通信路を介して送信する送信処理手段と、
再生するコンテンツデータを選択するためのコンテンツ選択手段と、
前記選択されたコンテンツデータの分割データを保持する他の前記端末装置から前記通信路を介して前記複数の分割データを取得する取得処理手段と、
前記取得した複数の分割データの結合処理及びデスクランブル処理を行って前記コンテンツデータを生成して再生する再生処理手段と、
前記再生されるコンテンツデータにおける前記複数の分割データのうち一部の分割データを記憶手段に保持する記憶処理手段と、を有する
ことを特徴とするコンテンツ配信システム。
【請求項８】
前記複数の端末装置にはそれぞれ固有の装置識別情報が割り当てられ、前記複数の分割データにはそれぞれ固有のデータ識別情報が割り当てられており、
前記端末装置は、
前記記憶手段に記憶した分割データに割り当てられたデータ識別情報に対応する装置識別情報を有する他の前記端末装置へ自装置の所在情報を送信する所在情報送信処理手段と、
自装置の端末識別情報に対応するデータ識別情報を有する分割データを保持する他の前記端末装置の所在情報を記憶する所在情報記憶手段と、を備え、
前記取得処理手段は、前記コンテンツ選択手段により選択したコンテンツデータの各分割データのデータ識別情報に基づいて、前記複数の分割データを取得する
ことを特徴とする請求項７に記載のコンテンツ配信システム。
【請求項９】
コンテンツデータの配信方法であって、
コンテンツ投入装置が、１つのコンテンツデータをスクランブル処理及び分割処理して複数の分割データを生成するステップと、
前記コンテンツ投入装置が、前記複数の分割データを分散して複数の端末装置へ通信路を介して配信するステップと、
前記端末装置が、前記コンテンツ投入装置から前記通信路を介して前記分割データを受信するステップと、
前記端末装置が、他の前記端末装置の要求に応じて前記受信した分割データを送信するステップと、
前記端末装置が、コンテンツ選択手段によって選択されたコンテンツデータの分割データを保有する他の前記端末装置から前記通信路を介して前記複数の分割データを取得するステップと、
前記端末装置が、前記取得した複数の分割データの結合処理及びデスクランブル処理を行って前記コンテンツデータを生成して再生するステップと、
前記端末装置が、前記再生されるコンテンツデータについての前記複数の分割データのうち一部の分割データを記憶手段に保持するステップと、を有する
ことを特徴とするコンテンツ配信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツ再生装置及びそのプログラム、コンテンツ配信システム、コンテンツ配信方法に関する。
【背景技術】
【０００２】
近年、ブロードバンドの普及に伴って、音楽データや映画データなどのコンテンツデータを配信するサービスが人気となっている。例えば、ＶＯＤ（ビデオオンデマンド）のように利用者の要求に応じてコンテンツデータを配信するサービスが知られている。
【０００３】
この種のコンテンツ配信サービスは、サーバクライアント方式による配信形態が主流であったが、最近では、この方式に代わる新しい配信形態として端末装置間でコンテンツデータを送受信するＰ２Ｐ（ピアツーピア）型の配信形態が注目されている。
【０００４】
このＰ２Ｐ型のコンテンツ配信システムは、ネットワークを介して互いに接続された複数の端末装置（ノード装置）の参加により形成され、ある端末装置の利用者が取得しようとするコンテンツデータを、そのコンテンツデータの一部又は全部を保持する他の端末装置から取得して再生するものであり、各端末装置は、コンテンツデータを取得するときにはコンテンツ再生装置として機能し、保持しているコンテンツデータの一部又は全部を送信するときにはコンテンツ配信装置として機能することになる。
【０００５】
例えば、特許文献１に記載のコンテンツ配信システムでは、各端末装置が当該コンテンツ配信システムに参加している全ての端末装置の所在情報（ＩＰアドレスなど）を認識しているわけではなく、参加の際などに得られる一部の端末装置の所在情報だけを保持しており、かかる所在情報に基づき、コンテンツデータの検索を行って端末装置間でコンテンツデータの送受信を行うようにしている。
【特許文献１】特開２００６−１９７４００号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、Ｐ２Ｐ型のコンテンツ配信システムにおいては、新たなコンテンツデータを投入する場合に、任意の端末装置をコンテンツ配信装置として機能させるために、新たなコンテンツデータを保持させるなど、端末装置の利用者が自らの意志で取得したものではないコンテンツデータが端末装置に記憶されることがある。
【０００７】
また、コンテンツ配信システム内でコンテンツデータを端末装置間で容易に送受信することができるように、同じコンテンツデータをできるだけ多くの端末装置に保持させておくことが望ましく、そのため、例えば、端末装置の利用者の意志で取得したコンテンツデータを保持させておき、コンテンツ配信装置として機能させることがある。
【０００８】
しかしながら、コンテンツ再生装置としては機能させないがコンテンツ配信装置としては機能させようとして、端末装置にコンテンツデータを保持させておくと、そのコンテンツデータが悪意のある者に読み出されてしまう虞がある。このとき、コンテンツデータに暗号化処理を行って保持させるという方法も考えられるが、復号化処理されてコンテンツデータを読み取られてしまうという可能性が常に存在する。
【０００９】
そこで、本発明は上記課題を解決するためになされたものであり、その目的は、端末装置間でコンテンツデータの送受信を可能としつつも、他の端末装置へ送信させるために端末装置に保持させた情報からコンテンツデータを再生可能に読み取られる危険性を低減させることにある。
【課題を解決するための手段】
【００１０】
請求項１に記載の発明は、１つのコンテンツデータをスクランブル処理及び分割処理して生成された複数の分割データが分散して複数の装置に保持され、当該複数の装置から通信路を介して前記複数の分割データを取得して前記コンテンツデータを再生するコンテンツ再生装置であって、前記複数の分割データを前記通信路を介して前記複数の装置から取得する取得処理手段と、前記取得した複数の分割データの結合処理及びデスクランブル処理を行って前記コンテンツデータを生成して再生する再生処理手段と、前記再生されるコンテンツデータにおける前記複数の分割データのうち一部の分割データを記憶手段に保持する記憶処理手段と、を備えたことを特徴とする。
【００１１】
また、請求項２に記載の発明は、請求項１に記載の発明において、前記分割データは、前記コンテンツデータを、前記分割データよりもデータサイズが小さい第１単位で分割して並び替えることによってスクランブル処理され、当該スクランブル処理されたデータを前記第１単位よりもデータサイズが大きな第２単位で分割して生成されたものであり、  前記再生処理手段は、前記複数の分割データを所定の順番で配列して結合し、前記第１単位で分割して再生順に並び替えることによって結合処理及びデスクランブル処理して前記コンテンツデータを生成することを特徴とする。
【００１２】
また、請求項３に記載の発明は、請求項１に記載の発明において、前記分割データは、前記コンテンツデータを、当該分割データのデータサイズに分割し、さらに分割後のデータをそれぞれ当該データよりもデータサイズが小さい第１単位で分割して並び替えることによってスクランブル処理して生成されたものであり、前記再生処理手段は、各前記分割データ内のデータを前記第１単位で並び替えた後、これら複数の分割データを再生順で配列して結合することによって結合処理及びデスクランブル処理して前記コンテンツデータを生成することを特徴とする。
【００１３】
また、請求項４に記載の発明は、請求項２又は請求項３に記載の発明において、前記記憶処理手段は、前記取得した複数の分割データのうち前記結合時の配列が互いに連続しない複数の分割データを前記一部の分割データとして前記記憶手段に記憶することを特徴とする。
【００１４】
また、請求項５に記載の発明は、請求項１〜４のいずれか１項に記載の発明において、前記記憶手段は、不揮発性メモリであることを特徴とする。
【００１５】
また、請求項６に記載の発明は、コンピュータを、請求項１〜５のいずれか１項に記載のコンテンツ再生装置の前記各手段として機能させるプログラムであることを特徴とする。
【００１６】
また、請求項７に記載の発明は、１つのコンテンツデータをスクランブル処理及び分割処理することによって複数の分割データを生成する生成手段と、前記複数の分割データを複数の端末装置へ通信路を介して配信する配信手段とを有するコンテンツ投入装置と、前記複数の端末装置とを備えたコンテンツ配信システムであって、前記端末装置は、前記コンテンツ投入装置から前記通信路を介して前記分割データを受信する受信処理手段と、前記受信した分割データを記憶する記憶手段と、他の前記端末装置からの要求に応じて前記記憶手段に記憶した分割データを前記通信路を介して送信する送信処理手段と、再生するコンテンツデータを選択するためのコンテンツ選択手段と、前記選択されたコンテンツデータの分割データを保持する他の前記端末装置から前記通信路を介して前記複数の分割データを取得する取得処理手段と、前記取得した複数の分割データの結合処理及びデスクランブル処理を行って前記コンテンツデータを生成して再生する再生処理手段と、前記再生されるコンテンツデータにおける前記複数の分割データのうち一部の分割データを記憶手段に保持する記憶処理手段と、を有することを特徴とする。
【００１７】
また、請求項８に記載の発明は、請求項７に記載の発明において、前記複数の端末装置にはそれぞれ固有の装置識別情報が割り当てられ、前記複数の分割データにはそれぞれ固有のデータ識別情報が割り当てられており、前記端末装置は、前記記憶手段に記憶した分割データに割り当てられたデータ識別情報に対応する装置識別情報を有する他の前記端末装置へ自装置の所在情報を送信する所在情報送信処理手段と、自装置の端末識別情報に対応するデータ識別情報を有する分割データを保持する他の前記端末装置の所在情報を記憶する所在情報記憶手段と、を備え、前記取得処理手段は、前記コンテンツ選択手段により選択したコンテンツデータの各分割データのデータ識別情報に基づいて、前記複数の分割データを取得することを特徴とする。
【００１８】
また、請求項９に記載の発明は、コンテンツデータの配信方法であって、コンテンツ投入装置が、１つのコンテンツデータをスクランブル処理及び分割処理して複数の分割データを生成するステップと、前記コンテンツ投入装置が、前記複数の分割データを分散して複数の端末装置へ通信路を介して配信するステップと、前記端末装置が、前記コンテンツ投入装置から前記通信路を介して前記分割データを受信するステップと、前記端末装置が、他の前記端末装置の要求に応じて前記受信した分割データを送信するステップと、前記端末装置が、コンテンツ選択手段によって選択されたコンテンツデータの分割データを保有する他の前記端末装置から前記通信路を介して前記複数の分割データを取得するステップと、前記端末装置が、前記取得した複数の分割データの結合処理及びデスクランブル処理を行って前記コンテンツデータを生成して再生するステップと、前記端末装置が、前記再生されるコンテンツデータについての前記複数の分割データのうち一部の分割データを記憶手段に保持するステップと、を有することを特徴とする。
【発明の効果】
【００１９】
本願発明によれば、１つのコンテンツデータをスクランブル処理及び分割処理して生成された複数の分割データが分散して複数の装置に保持されることになるから、各装置に保持したデータから１つのコンテンツデータが読み取られる可能性を低減できる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の一実施形態について具体的に説明する。なお、本実施形態では分散ハッシュテーブルを用いたＰ２Ｐ型のコンテンツ配信システムを例にとり説明するが、Ｐ２Ｐ型のコンテンツ配信システムであればよく、これに限られない。
【００２１】
［１．コンテンツ配信システムＳの構成等］
まず始めに、図１及び図２を参照して、本発明の一実施形態に係るコンテンツ配信システムＳの概要について説明する。図１は、本実施形態に係るコンテンツ配信システムＳにおける各端末装置及びコンテンツ投入装置の接続態様の一例を示す図、図２はＩＤ空間の説明図である。
【００２２】
図１の下部枠５１内に示すように、ＩＸ（Internet eＸchange）３、ＩＳＰ（Internet Ｓervice Provider）４、ＤＳＬ（Digital Subscriber Line）回線事業者（の装置）５、ＦＴＴＨ（Fiber To The Home）回線事業者（の装置）６、及び通信回線（例えば、電話回線や光ケーブル等）７等によって、インターネット等のネットワーク（現実世界のネットワーク）８が構築されている。
【００２３】
コンテンツ配信システムＳは、図１の上部枠５０内に示すように、ネットワーク８を介して相互に接続された複数の端末装置１ａ，１ｂ，１ｃ・・・１ｘ，１ｙ，１ｚ・・・を備えて構成され、ピアツーピア（Ｐ２Ｐ）方式のネットワークシステムとなっている。各端末装置１ａ，１ｂ，１ｃ・・・１ｘ，１ｙ，１ｚ・・には、端末装置を示す情報としての固有の製造番号（例えば、ＭＡＣアドレス）及びＩＰ（Internet Protocol）アドレスが割り当てられている。なお、製造番号及びＩＰアドレスは、複数の端末装置間で重複しないものである。また、以下の説明において、端末装置１ａ，１ｂ，１ｃ・・・１ｘ，１ｙ，１ｚ・・・のうち何れかの端末装置又は全ての端末装置を示す場合には、便宜上、端末装置１という場合がある。
【００２４】
本実施形態のコンテンツ配信システムＳにおいては、分散ハッシュテーブル（以下、「ＤＨＴ」と呼ぶ。）を利用したアルゴリズムによって、図１の上部枠５０内に示すような、オーバーレイネットワーク９が構築される。つまり、このオーバーレイネットワーク９は、既存のネットワーク８を用いて形成された仮想的なリンクを構成するネットワークを意味しており、オーバーレイネットワーク９上に配置された端末装置１を、コンテンツ配信システムＳに参加（言い換えれば、オーバーレイネットワーク９に参加）している端末装置という。
【００２５】
コンテンツ配信システムＳに参加している各端末装置１の識別番号である装置識別情報（以下、「端末ＩＤ」と呼ぶ。）として、それぞれの端末装置１毎にユニークな番号（固有番号）を付与する。本実施形態においては、各端末装置１のＩＰアドレス或いは製造番号等の端末装置１毎に固有の値を、共通のハッシュ関数（ハッシュアルゴリズム）によりハッシュ化して得たハッシュ値を各端末装置１の端末ＩＤとする。このように共通のハッシュ関数によりハッシュ化されて求められた端末ＩＤは、当該ＩＰアドレス或いは製造番号が異なれば、同じ値になる確率が極めて低いものである。なお、ハッシュ関数については公知であるので詳しい説明を省略する。また、本実施形態では、ＩＰアドレス（グローバルＩＰアドレス）を共通のハッシュ関数によりハッシュ化した値を端末ＩＤとする。
【００２６】
また、コンテンツ配信システムＳに参加している複数の端末装置１には、一の端末装置１から他の端末装置１に配信される共用情報としてのコンテンツデータ（例えば、音楽データ、映画データ、文書データ等のデータ）を分割した複数の分割データが、分散して記憶されているが、当該分割データにも、それぞれの分割データ毎の固有の識別番号であるデータ識別情報（以下、「分割データＩＤ」と呼ぶ。）を付与する。そして、当該分割データＩＤは、端末ＩＤと同様の長さ（例えば、32bit等）とし、コンテンツデータの名称（例えば、データファイル名）及び分割データ番号などが、上記端末ＩＤを得るときと共通のハッシュ関数によりハッシュ化される（つまり、端末装置１のＩＰアドレスのハッシュ値と同一のＩＤ空間に配置される）。
【００２７】
このように、各端末装置１に付与された端末ＩＤ及び各分割データに付与された分割データＩＤは、共通のハッシュ関数によって生成するため、図２に示すように、同一のリング状のＩＤ空間上にさほど偏ることなく、散らばって存在するものとして考えることができる。同図は32bitで端末ＩＤ及び分割データＩＤを付与し、図示したものである。図中丸点は端末ＩＤを、四角形は分割データＩＤを示し、反時計回りでＩＤが増加するものとする。
【００２８】
本実施形態においては、上述のように「ある分割データＩＤを有する分割データを管理する端末装置は、その分割データＩＤに近い端末ＩＤを有する端末装置である」という規則を適用しており、「近い」ことの定義は、当該分割データＩＤを超えず、分割データＩＤと端末ＩＤとの差が一番少ないものとするが、実際には、各分割データの管理を各端末装置１に割り振る際に、一貫していれば他の定義でもよい。図２に示す例では、この定義に基づいて、分割データＩＤａを有する分割データは、当該分割データＩＤａに近い端末ＩＤ（以下、「端末ＩＤａ」と呼ぶ。）を有する端末装置１に管理され、分割データＩＤｂを有する分割データは、当該分割データＩＤｂに近い端末ＩＤ（以下、「端末ＩＤｂ」と呼ぶ。）を有する端末装置１に管理され、分割データＩＤｃを有する分割データは、当該分割データＩＤｃに近い端末ＩＤ（以下、「端末ＩＤｃ」と呼ぶ。）を有する端末装置１に管理される。
【００２９】
ここで、「管理」とは、分割データを保持していることを意味するのではなく、「コンテンツデータの分割データが何れの端末装置１に保持されているかを知っている」ことを意味する。すなわち、コンテンツ配信システムＳ内で送受信するコンテンツデータの各分割データを保持する端末装置１（以下、「データ保持端末装置」と呼ぶ。）の所在情報（例えば、ＩＰアドレス）を保持することを意味する。例えば、図２においては、端末ＩＤａを有する端末装置１は、分割データＩＤａを有する分割データが何れの端末装置１に保持されているかを知っており、端末ＩＤｂを有する端末装置１及び端末ＩＤｃを有する端末装置１も同様にそれぞれ分割データＩＤｂを有する分割データ及び分割データＩＤｃを有する分割データが何れの端末装置１に保持されているかを知っている、ということになる。
【００３０】
このように、ある分割データが何れの端末装置１に保持されているかを知っている端末装置１を、その分割データのルート端末装置と呼ぶ。つまり、端末ＩＤａを有する端末装置１は、分割データＩＤａを有する分割データのルート端末装置であって、端末ＩＤｂを有する端末装置１は、分割データＩＤｂを有する分割データのルート端末装置であって、端末ＩＤｃを有する端末装置１は、分割データＩＤｃを有する分割データのルート端末装置である。
【００３１】
また、コンテンツ配信システムＳには、図１に示すように、コンテンツ配信システムＳ内に分割データを投入する機能、すなわちコンテンツ配信システムＳ内の端末装置１をデータ保持端末装置とするために分割データを端末装置１へ配布する機能や、コンテンツ配信システムＳにおいて端末装置１間で分割データを送受信可能なコンテンツデータのリストである情報リスト（以下、「コンテンツカタログ」とする。）を生成して端末装置１へ提供する機能などを有するコンテンツ投入装置１０を備えている。このコンテンツカタログには、各コンテンツデータの生成に必要な複数の分割データに付与された分割データＩＤの情報が含まれる。
【００３２】
［２.ルーティングテーブル］
ここで、図３及び図４を参照して、ＤＨＴで用いるルーティングテーブルについて説明する。図３はルーティングテーブルを説明するための図であり、図４はルーティングテーブルの一例である。このルーティングテーブルは、端末装置１から他の端末装置１へアクセスするために、各端末装置１に保持されているものであり、各端末装置１がコンテンツ配信システムＳに参加するとき等に形成されるものである。
【００３３】
このルーティングテーブルは、所定の規則に従い、コンテンツ配信システムＳに含まれる端末装置１を複数のグループに分けて当該各グループをレベル１のグループとし、このレベル１のグループのうち自装置が属するグループをさらに複数のグループに分けて当該各グループをレベル２のグループとし、このレベル２のグループ分けと同様のグループ分けによりレベルｎ（ｎは３以上の自然数）までの各グループとして、各段階の各グループ（自端末装置の属するグループは除く）に属する一の端末装置１の所在情報をそれぞれ記憶するものである。
【００３４】
ここでは、端末ＩＤをビット長８bitの４進数（「0000」〜「3333」）で表すこととした場合の端末ＩＤが「1133」の端末装置１ｎが保持するルーティングテーブルについて説明する。
【００３５】
図３（ａ）に示すように、ＩＤ空間を４分割することによって、最大桁が異なる４つのエリア「0XXX」，「1XXX」，「2XXX」，「3XXX」（Ｘは０から３の自然数、以下同様。）のグループに分ける。これらがレベル１のグループである。端末装置１ｎの端末ＩＤは「1133」であるため、端末装置１ｎは、図３（ａ）中左下のエリア「1XXX」であるレベル１のグループに属する。従って、端末装置１ｎのルーティングテーブルのレベル１のテーブルには、図４に示すように、端末装置１ｎの存在するレベル１のグループ以外のグループ（すなわち、「0XXX」のエリア、「2XXX」のエリア、「3XXX」のエリアの各グループ）に存在する端末装置１の端末ＩＤ及び所在情報（ＩＰアドレス）が記憶される。このテーブルでは、「0XXX」のエリアの端末ＩＤとして「0100」、「2XXX」のエリアの端末ＩＤとして「2133」、「3XXX」のエリアの端末ＩＤとして「3213」のそれぞれの端末ＩＤ及び所在情報（ＩＰアドレス）が記憶されている。
【００３６】
次に、図３（ｂ）に示すように、レベル１のグループのうち端末装置１ｎが属するグループをさらに４分割して、エリア「10XX」，「11XX」，「12XX」，「13XX」のグループに分ける。これらがレベル２のグループである。端末装置１ｎは、自装置１ｎの端末ＩＤが「1133」であるため、端末装置１ｎのルーティングテーブルのレベル２のテーブルには、図４に示すように、端末装置１ｎが属するレベル２のグループ（「11XX」のエリアのグループ）以外のレベル２の各グループ（すなわち、「10XX」のエリア、「12XX」のエリア、「13XX」のエリアの各グループ）にそれぞれ属する端末装置１の端末ＩＤ及び所在情報（ＩＰアドレス）が記憶される。このテーブルでは、「10XX」のエリアの端末ＩＤとして「1003」、「12XX」のエリアの端末ＩＤとして「1221」、「13XX」のエリアの端末ＩＤとして「1313」のそれぞれの端末ＩＤ及び所在情報が記憶されている。
【００３７】
以下同様に、レベル２のグループのうち端末装置１ｎが属するグループをさらに４分割して、エリア「110X」，「111X」，「112X」，「113X」のグループ（レベル３のグループ）に分け、端末装置１ｎが属するレベル３のグループ以外のレベル３の各グループ（すなわち、「110X」のエリア、「111X」のエリア、「112X」のエリアの各グループ）にそれぞれ属する端末装置１の端末ＩＤ及び所在情報（ＩＰアドレス）が記憶される。また、レベル３のグループのうち端末装置１ｎが属するグループをさらに４分割して、「1130」，「1131」，「1132」，「1133」のグループ（レベル４のグループ）に分け、端末装置１ｎが属するレベル４のグループ以外のレベル４の各グループ（すなわち、「1130」，「1131」，「1132」の各グループ）にそれぞれ属する端末装置１の端末ＩＤ及び所在情報（ＩＰアドレス）が記憶される。なお、上記グループに端末装置１が存在しない場合には、端末ＩＤ及び所在情報（ＩＰアドレス）の欄は空白となる。
【００３８】
このようにコンテンツ配信システムＳにおいては、このコンテンツ配信システムＳに参加している複数の端末装置１のうち一部の端末装置１の識別情報である端末ＩＤ及びＩＰアドレスを関連付けたルーティングテーブルを各端末装置１が有している。
【００３９】
［３．分割データの公開方法］
このような構成のコンテンツ配信システムＳの中で、例えば、ある端末装置１が新しい分割データを、コンテンツ配信システムＳ上の他の端末装置１から検索可能となるように公開する際の手法について述べる。図５は本実施形態に係る分割データの生成手順を示す図、図６は本実施形態に係る分割データの別の生成手順を示す図、図７は本実施形態に係るコンテンツ投入装置から分割データが投入される様子を示す図、図８はデータ保持端末装置の登録メッセージがＤＨＴルーティングにより転送される様子を示す図である。
【００４０】
まず、コンテンツ投入装置１０は、新たなコンテンツデータをコンテンツ配信システムＳに参加している端末装置１に投入（配布）しようとするとき、この新たなコンテンツデータをスクランブル処理及び分割処理して複数の分割データを生成する。
【００４１】
この分割データの生成は、コンテンツ投入装置１０の制御部によって行われ、コンテンツデータを、分割データよりもデータサイズが小さい第１単位で分割して並び替えることによってスクランブル処理し、このようにスクランブル処理したデータを第１単位よりもデータサイズが大きな第２単位で分割することによって行われる。
【００４２】
例えば、図５（ａ）に示すように、コンテンツデータを第１のデータサイズ単位αで区切ってデータ１〜データ１２とする。次に、図５（ｂ）に示すように、第１のデータサイズ単位αで区切ったデータ（データ１〜データ１２）をスクランブル処理により並び替えた並び替えデータを生成する。そして最後に、この並び替えデータを、図５（ｃ）に示すように、第１のデータサイズ単位αよりも大きい第２のデータサイズ単位β（ここでは、β＝ｎ×α：ｎは２以上の自然数とする）で分割する。
【００４３】
ここで、第１のデータサイズ単位αは、コンテンツデータの一部としての再生もできないデータサイズ単位とすることが好適である。このようにすることで、端末装置１に保存した分割データが読み取られたとしても、コンテンツデータの一部も再生することができず、コンテンツデータを読み取られる可能性を低減できる。
【００４４】
なお、第２のデータサイズ単位βもできるだけ小さいデータサイズ単位とすることがよいが、端末装置１がコンテンツデータを生成するときに、あまり多くの他の端末装置１から分割データを取得することになるとその処理が煩雑となることから、コンテンツデータの生成の際に処理が煩雑にならない程度のデータサイズ単位であることが望ましい。
【００４５】
ここで、図５に示したようなスクランブル処理ではなく、ダミーデータを挿入してスクランブル処理を行うようにすることもできる。このようにすることで、端末装置１に保存した分割データが読み取られたとしても、デスクランブル処理を困難にすることができる。
【００４６】
例えば、図６（ａ）に示すように、コンテンツデータを第１のデータサイズ単位αで区切った後、図６（ｂ）に示すように、第１のデータサイズ単位αで区切ったデータ（データ１〜データ１２）にダミーデータ（Ｄ１〜Ｄ３）を加えてスクランブル処理により並び替えた並び替えデータを生成する。そして最後に、この並び替えデータを、図６（ｃ）に示すように、第１のデータサイズ単位αよりも大きい第２のデータサイズ単位βで分割する。ここで、ダミーデータ（Ｄ１〜Ｄ３）は、それ自体何ら意味のないビットデータの配列である。
【００４７】
このように、本実施形態における分割データは、コンテンツデータを、分割データよりもデータサイズが小さい第１単位（第１のデータサイズ単位α）で分割して並び替えることによってスクランブル処理し、当該スクランブル処理されたデータを第１単位よりもデータサイズが大きな第２単位（第２のデータサイズ単位β）で分割して生成されたものである。
【００４８】
コンテンツ投入装置１０は、このように生成した分割データを、コンテンツ配信システムＳに参加している複数の端末装置１から任意の端末装置１を選択して投入する。なお、データ分散の観点から各分割データはそれぞれ異なる端末装置１へ投入することが望ましく、また端末装置１の脱退を考慮して、各分割データはそれぞれ複数の端末装置１へ投入することが望ましい。
【００４９】
ここで、例えば、コンテンツデータをスクランブル処理及び分割処理して、分割データＩＤが「0332」，「2021」，「3020」の分割データを生成したとき、図７に示すように、コンテンツ投入装置１０は、各分割データを任意の端末装置１を選択して保持させる。ここでは、分割データＩＤ「0332」の分割データを端末ＩＤ「2112」の端末装置１ｐに保持させ、分割データＩＤ「2021」の分割データを端末ＩＤ「1001」の端末装置１ｒに保持させ、分割データＩＤ「3020」の分割データを端末ＩＤ「1301」の端末装置１ｍに保持させている。
【００５０】
コンテンツ投入装置１０から投入された分割データを内部の記憶手段に記憶してデータ保持端末装置となった端末装置１は、記憶手段に記憶した分割データの分割データＩＤと同じ端末ＩＤを持つ端末装置１に向けて（この端末装置１が実在するか否かはこの時点ではわからない。）、自端末装置（分割データを保持するデータ保持端末装置として）の所在情報であるＩＰアドレス等の登録を要求するメッセージ（以下、「登録メッセージ」とする。）を送信する。
【００５１】
具体的には、図７に示すように、例えば、端末装置１ｍが分割データＩＤ「3020」のデータ保持端末装置となったとき、端末装置１ｍは、図８に示すように、分割データＩＤ「3020」を宛先識別情報とした登録メッセージを生成し、この登録メッセージを自己が保持しているルーティングテーブルを参照して送信する。端末装置１ｍが、図４の例と同様のルーティングテーブルを持っていたとすると、分割データＩＤ「3020」は「3XXX」のエリアであるため、当該「3XXX」のエリアに属す端末装置１のうち、ＩＰアドレスを知っている（すなわち、自己が保持しているルーティングテーブルにＩＰアドレスが記憶されている）端末装置１ａ（端末ＩＤ「3213」）に対して登録メッセージを送信する。このように、登録メッセージはデータ保持端末装置として保持した分割データの分割データＩＤを含むものであり、この分割データＩＤは登録メッセージにおいて宛先識別情報として用いられる。
【００５２】
次に、登録メッセージを受信した端末装置１ａは、この登録メッセージが自端末装置１ａ宛のメッセージであるか否かを判定する。自端末装置１ａ宛のメッセージであるか否かは、宛先識別情報とルーティングテーブルとに基づいて行われる。具体的には、宛先識別情報が自端末装置１ａの識別情報である端末ＩＤと近いか否かが判定される。即ち、宛先識別情報に対して、端末装置１ａ自身が保持しているルーティングテーブル（テーブルの値は図示しない）に記憶されている端末装置１の端末ＩＤから、一番近い端末装置１の端末ＩＤが、自身であるか他の端末装置１であるかを判定する。
【００５３】
そして、自端末装置１ａの端末ＩＤよりも他の端末装置１の端末ＩＤの方が、宛先識別情報に近いため、端末装置１ａは、当該端末装置１ａ自身が保持しているルーティングテーブルのレベル２のテーブルを参照して、「30XX」のエリアに属す端末装置１のうち、ＩＰアドレスを知っている端末装置１ｂ（端末ＩＤ「3031」）に対して登録メッセージを転送する。
【００５４】
このように、分割データＩＤの桁を上から順に適合していく要領で登録メッセージの転送が進み、最終的に当該分割データを管理する端末装置１ｃ、すなわちルート端末装置に辿り着くと、当該端末装置１ｃ自身がその分割データのルート端末装置となるべきだと判断し、当該登録メッセージに含まれる当該分割データＩＤ及びデータ保持端末装置の端末ＩＤやＩＰアドレス等（以下、これらを「インデックス情報」と呼ぶ。）を記憶する。そして、後述するように、他の端末装置１から検索メッセージを受信すると、検索メッセージを送信した端末装置１へデータ保持端末装置の所在情報であるＩＰアドレスをインデックステーブル（所在情報記憶手段の一例に相当）から選択して通知する。
【００５５】
ところで、ルート端末装置におけるインデックス情報の保持は、図９に示すようなインデックステーブルにより行われる。図９はルート端末装置１ｃにおけるインデックステーブルの例を示したものであり、自端末装置１ｃが管理対象である分割データＩＤ「3020」の分割データに関するデータ保持端末装置の端末ＩＤ、ＩＰアドレスなどを記憶している。
【００５６】
［４．分割データの取得方法］
次に、図１０を参照して、分割データを保持している端末装置１の検索方法の一例について説明する。図１０は、ＤＨＴにより分割データを保持している端末装置１が検索される様子の一例を示す図である。
【００５７】
ここでは、端末ＩＤ「1133」の端末装置１ｎがリクエスタとして、あるコンテンツデータを生成するために、このコンテンツデータの複数の分割データのうち、分割データＩＤ「3020」を有する分割データを探す際の手順について説明する。なお、他の分割データも同様の手順で分割データＩＤに基づいて探されることになる。
【００５８】
リクエスタ１ｎは、図１０に示すように、分割データＩＤ「3020」と同じエリアの端末ＩＤを持つ端末装置１の端末ＩＤを宛先とし、分割データＩＤ「3020」を宛先識別情報として、データ保持端末装置情報（データ保持端末装置の所在情報であるＩＰアドレスを含む情報）の送信要求（以下、「検索メッセージ」と呼ぶ。）を送信する（図１０（１）参照。）。そして、この検索メッセージも、上記登録メッセージと同様にルーティングテーブルに従って、次々と転送されていき（図１０（２）参照。）、最終的に当該検索対象の分割データを管理する端末装置１ｃ（端末ＩＤ「3011」）、すなわちルート端末装置に辿り着くと、当該ルート端末装置は、検索メッセージに含まれる分割データＩＤ「3020」を、自身が管理している後述のインデックス情報の中から検索し、当該分割データを所有しているデータ保持端末装置（ここでは、端末装置１ｍとする。）のＩＰアドレス等をリクエスタ１ｎに返信する（図１０（３）参照。）。
【００５９】
リクエスタ１ｎは、上記ルート端末装置１ｃから、分割データＩＤ「3020」の分割データの所在情報、即ち、分割データＩＤ「3020」の分割データを保持するデータ保持端末装置１ｍのＩＰアドレスを受信して知ることになり、分割データＩＤ「3020」のデータ保持端末装置１ｍに、分割データの送信要求（以下、「分割データ送信要求メッセージ」と呼ぶ。）を送信することにより（図１０（４）参照。）、当該データ保持端末装置１ｍから、その分割データを取得することになる（図１０（５）参照。）。
【００６０】
なお、分割データを取得する際には、分割データの分割データＩＤが必要となるが、各端末装置１は、コンテンツ配信システムＳに参加の際及び参加後は定期的に、コンテンツ投入装置１０からコンテンツカタログを取得するようにしており、端末装置１がリクエスタとして機能するとき、このコンテンツカタログから取得対象のコンテンツデータを選択し、当該選択したコンテンツデータを再生するために必要な分割データの分割データＩＤをコンテンツカタログから取得するようにしている。
【００６１】
［５．コンテンツデータの再生方法］
次に、各端末装置１においてコンテンツデータを再生する方法について説明する。図１１及び図１２は端末装置１におけるコンテンツデータ再生方法の概要を説明するための図、図１３は端末装置１における分割データの保存処理を説明するための図である。
【００６２】
図１１に示すように、端末装置１は、コンテンツデータを再生するとき、リクエスタとして、コンテンツデータをスクランブル処理及び分割処理して生成された複数の分割データを各データ保持端末装置から取得する。
【００６３】
複数の分割データを取得した端末装置１は、複数の分割データの結合処理及びデスクランブル処理を行ってコンテンツデータを生成する処理を行った後、当該コンテンツデータを再生する処理を行う。
【００６４】
端末装置１は、結合処理及びデスクランブル処理を行って生成したコンテンツデータの再生を行った後、このコンテンツデータを記憶手段に保存せずに消去する。一方、複数の分割データのうちの一部の分割データは、不揮発性メモリに記憶して保存するようにしている。このように、本実施形態における端末装置１では、コンテンツデータ自体を保存せずに、複数の分割データの一部を保存するようにして、コンテンツデータを生成するための分割データ全てを読み取られる可能性を低減している。
【００６５】
ここで、複数の分割データの結合処理及びデスクランブル処理の一例について図１２を参照して説明する。
【００６６】
図１２（ａ）に示す複数の分割データを取得すると、端末装置１は、図１２（ｂ）に示すように、複数の分割データを所定の順番で配列（ここでは、分割データ１から順に分割データ３までを番号順に配列）して結合する結合処理を行う。なお、分割データの配列は、コンテンツカタログにその情報が含まれており、端末装置１はコンテンツカタログの情報に基づいた順番で配列を行う。
【００６７】
その後、端末装置１は、図１２（ｃ）に示すように、第１のデータサイズ単位αで分割して再生順に並び替えることによってデスクランブル処理してコンテンツデータを生成する。
【００６８】
このようにコンテンツデータを生成した端末装置１は、このコンテンツデータを再生する。例えば、コンテンツデータが音楽情報の場合には、スピーカ等から音楽情報に応じた音波を出力し、コンテンツデータが映像情報である場合には、表示部に映像情報に応じた映像を表示する。そして、コンテンツデータの再生が終了すると、端末装置１は、このコンテンツデータを記憶手段から消去する。
【００６９】
また、上述したように、端末装置１は、取得した複数の分割データのうちの一部の分割データを、不揮発性メモリに記憶して保存するようにしているが、保存する分割データは、所定の順番での配列、すなわち結合処理時の配列が互いに連続しない１以上の分割データとしている。
【００７０】
例えば、取得した複数の分割データが図１３（ａ）に示すように分割データ１〜分割データ３であり、結合処理時の配列順番が図１２（ｂ）に示すように、分割データ１〜分割データ３であるとき、端末装置１は図１３（ｂ）に示すように、１つの分割データのみを保持するようにし、或いは図１３（ｃ）に示すように、結合処理時の配列順番が連続しない分割データ１，分割データ３を保持するようにする。
【００７１】
このように、端末装置１は、結合処理時の配列が互いに連続しない分割データを保持するようにしているので、複数の分割データが読み取られ、デスクランブルされた場合であっても、連続するデータとはならず、コンテンツデータの一部として読み取られる可能性を低減できる。
【００７２】
ここで、コンテンツ配信システムＳにおける端末装置１及びコンテンツ投入装置１０の具体的構成及び動作の一例について図面を参照して説明する。
【００７３】
［６．端末装置の具体的構成及び動作の説明］
以下、図面を参照して、端末装置１の具体的構成及び動作の一例について説明する。
【００７４】
（端末装置の構成について）
まず、端末装置１の構成について説明する。図１４は、本実施形態に係るコンテンツ配信システムＳにおける端末装置１の具体的構成を示す図である。
【００７５】
端末装置１は、専用のコンピュータの他、一般のパーソナルコンピュータを適用可能であり、図１４に示すように、制御部１０１と、ルーティングテーブルやインデックステーブル等を記憶する書き換え可能な第１記憶部１０２と、コンテンツ投入装置１０や他の端末装置１から取得した分割データを記憶する不揮発性メモリである第２記憶部１０３と、分割データから生成したコンテンツデータを一時的に記憶するバッファメモリ１０４と、このバッファメモリ１０４に記憶したコンテンツデータを順次取り出してデコードするデコーダ部１０５と、このデコーダ部１０５によってデコードされたコンテンツデータのうち映像情報を後述の表示部１０７で表示可能な情報に変換処理する映像処理部１０６と、この映像処理部１０６からの出力に基づいてコンテンツデータの映像を表示する液晶表示装置（ＬＣＤ）などの表示部１０７と、デコーダ部１０５によってデコードされたコンテンツデータのうち音声情報を後述のスピーカ１０９で音波として出力可能な情報に変換処理する音声処理部１０８と、この音声処理部１０８からの出力に基づいてコンテンツデータの音声を音波として出力するスピーカ１０９と、マウス及びキーボードなどからなる入力部１１０と、ネットワーク８を介して、コンテンツ投入装置１０や他の端末装置１と通信するための通信部１１１とを備えている。なお、制御部１０１、第１記憶部１０２、第２記憶部１０３、バッファメモリ１０４、デコーダ部１０５、通信部１１１は、システムバス１２０を介して相互に接続されている。
【００７６】
制御部１０１は、ＣＰＵ（Central Processing Unit）、フラッシュメモリ及びＲＡＭ（Random Access Memory）から構成される。このフラッシュメモリには、コンテンツ配信システムＳに参加して、分割データを送受信し、コンテンツデータを再生するための情報処理プログラムが格納されており、ＣＰＵはこのフラッシュメモリに記憶されている情報処理プログラムを読み出して実行することによって、取得処理手段、再生処理手段、記憶処理手段、受信処理手段、送信処理手段、所在情報送信処理手段等として機能する。
【００７７】
なお、この情報処理プログラムは、例えば、ネットワーク８に接続されたサーバ（例えば、コンテンツ投入装置１０）から、通信部１１１を介して、制御部１０１のフラッシュメモリにダウンロードされるようにしてもよく、又ＣＤ−ＲＯＭ等の記録媒体（記録媒体）に記録されてから図示しない記録媒体ドライブを介して、制御部１０１のフラッシュメモリに読み込まれるようにしてもよい。
【００７８】
（端末装置の動作について）
以上のように構成された端末装置１の動作を図面を参照して具体的に説明する。図１５は本実施形態における端末装置１のメイン処理フローチャートである。なお、以下の各処理は、端末装置１の制御部１０１が上述した各手段等として機能することによって実行されるものである。ここでは、本実施形態に係る特徴的な部分である分割データの結合処理及びデスクランブル処理の動作を主として説明しており、一部の動作内容は省略している。
【００７９】
図１５に示すように、端末装置１においてメイン電源スイッチ（図示せず）がＯＮされたときやリセットスイッチ（図示せず）が操作されたとき、制御部１０１のＣＰＵは、第１記憶部１０２や第２記憶部１０３のアクセス許可、内部ＲＡＭの作業領域確保等の初期設定動作を実行し、フラッシュメモリに記憶した情報処理プログラムを実行状態として、制御部１０１としての機能を動作状態とした後（ステップＳ１）、コンテンツ配信システムＳへ参加してステップＳ２に処理を移行する。
【００８０】
ここで、コンテンツ配信システムＳへの参加は、制御部１０１による処理によって次のように行われる。まず、制御部１０１は、自装置のＩＰアドレスを所定のハッシュ関数で演算することによって自端末装置の端末ＩＤを得る。制御部１０１は、この端末ＩＤを宛先識別情報とし自装置の所在情報（ＩＰアドレスなど）を含む参加メッセージを通信部１１１を介して所定の端末装置１へ送信する。この参加メッセージはＤＨＴルーティングにより転送される。そして、この参加メッセージを受信した他の端末装置１は、自装置のルーティングテーブルから参加メッセージの転送回数に応じたレベルのテーブルの情報を取り出して、参加メッセージを送信した端末装置１へその情報を送信する。制御部１０１は、このように参加メッセージを受信した端末装置１からルーティングテーブルの情報を通信部１１１を介して取得し、これらの情報に基づいてルーティングテーブルを生成し、コンテンツ配信システムＳに参加する。
【００８１】
また、制御部１０１は、コンテンツ配信システムＳへの参加時にコンテンツ投入装置１０からコンテンツカタログを取得し、表示部１０７にこのコンテンツカタログの内容を表示する。これにより、端末装置１の利用者は、コンテンツ配信システムＳにおいて再生可能なコンテンツデータを把握し、所定の操作を行ってコンテンツデータの複数の分割データを取得する。
【００８２】
ステップＳ２において、制御部１０１は、コンテンツ再生指示があるか否かを判定する。例えば、利用者による入力部１１０（コンテンツ選択手段の一例）の操作によって、表示部１０７に表示されているコンテンツカタログの中からコンテンツデータが選択されたときに、制御部１０１は、コンテンツ再生指示があったと判定する。
【００８３】
この処理において、コンテンツ再生指示があったと判定すると（ステップＳ２：Ｙｅｓ）、制御部１０１は、コンテンツ再生処理を行う（ステップＳ３）。このコンテンツ再生処理は、図１６におけるステップＳ２０〜Ｓ２５の処理であり、後で詳述する。
【００８４】
一方、コンテンツ再生指示がないと判定すると（ステップＳ２：Ｎｏ）、制御部１０１は、通信部１１１を介して検索メッセージを受信したか否かを判定する（ステップＳ４）。この処理において、検索メッセージを受信したと判定すると（ステップＳ４：Ｙｅｓ）、制御部１０１は、検索メッセージ処理を行う（ステップＳ５）。検索メッセージ処理を開始すると、制御部１０１は、検索メッセージが自装置宛であるか否かを判定する。検索メッセージが自装置宛のメッセージであると判定すると、制御部１０１は、検索メッセージにおける検索対象の分割データＩＤの分割データを保持するデータ保持端末装置の所在情報を第１記憶部１０２に記憶したインデックステーブルから取り出して、検索メッセージの送信元端末装置１へ送信する。一方、検索メッセージが自装置宛のメッセージではないと判定すると、制御部１０１は、この検索メッセージを第１記憶部１０２に記憶したルーティングテーブルに基づいて他の端末装置１へ通信部１１１を介して転送する。
【００８５】
ステップＳ４において、検索メッセージを受信していないと判定すると（ステップＳ４：Ｎｏ）、制御部１０１は、通信部１１１を介して登録メッセージを受信したか否かを判定する（ステップＳ６）。この処理において、登録メッセージを受信したと判定すると（ステップＳ６：Ｙｅｓ）、制御部１０１は、登録メッセージ処理を行う（ステップＳ７）。登録メッセージ処理を開始すると、制御部１０１は、登録メッセージが自装置宛であるか否かを判定する。登録メッセージが自装置宛のメッセージであると判定すると、制御部１０１は、登録メッセージに含まれるインデックス情報を第１記憶部１０２に記憶したインデックステーブルに登録する。一方、登録メッセージが自装置宛のメッセージではないと判定すると、制御部１０１は、この登録メッセージを第１記憶部１０２に記憶したルーティングテーブルに基づいて他の端末装置１へ通信部１１１を介して転送する。このように、第１記憶部１０２は、自装置の端末ＩＤに対応する分割データＩＤを有する分割データを保持する他の端末装置１の所在情報等を記憶する所在情報記憶手段として機能する。
【００８６】
ステップＳ６において、登録メッセージを受信していないと判定すると（ステップＳ６：Ｎｏ）、制御部１０１は、他の端末装置１から分割データの送信要求を受信したか否かを判定する（ステップＳ８）。例えば、通信部１１１を介して分割データ送信要求メッセージを受信したときに、制御部１０１は分割データの送信要求を受信したと判定する。
【００８７】
この処理において、分割データの送信要求を受信したと判定すると（ステップＳ８：Ｙｅｓ）、制御部１０１は、分割データ送信処理を行う（ステップＳ９）。このコンテンツデータ送信処理は、送信要求に応じた分割データを第２記憶部１０３から取り出し、この分割データを通信部１１１及びネットワーク８を介して、送信要求を行った端末装置１へ送信する。このように、制御部１０１は、他の端末装置１からの要求に応じて記憶手段に記憶した分割データを通信路を介して送信する送信処理手段として機能する。
【００８８】
ステップＳ８において分割データの送信要求を受信していないと判定したとき（ステップＳ８：Ｎｏ）、制御部１０１は、コンテンツ投入装置１０から分割データを受信したか否かを判定する（ステップＳ１０）。この処理において、コンテンツ投入装置１０から分割データを受信したと判定すると（ステップＳ１０：Ｙｅｓ）、制御部１０１は、分割データ受信処理を行う（ステップＳ１１）。この処理において、制御部１０１は、コンテンツ投入装置１０から分割データを受信して、第２記憶部１０３に記憶する。そして、制御部１０１は、第２記憶部１０３に記憶した分割データの分割データＩＤを宛先識別情報として登録メッセージを通信部１１１及びネットワーク８を介して送信する。このように、制御部１０１は、コンテンツ投入装置１０から通信路を介して分割データを受信する受信処理手段として機能する。
【００８９】
ステップＳ１０において分割データの送信要求を受信していないと判定したとき（ステップＳ１０：Ｎｏ）、又はステップＳ３，Ｓ５，Ｓ７，Ｓ９,Ｓ１１の処理が終了したとき、制御部１０１は、終了指示を検知したか否かを判定する（ステップＳ１２）。例えば、自端末装置の電源がＯＦＦ状態へ移行したとき、制御部１０１は、終了指示を検知する。
【００９０】
ステップＳ１２において、終了指示を検知したと判定すると（ステップＳ１２：Ｙｅｓ）、制御部１１は、メイン処理を終了し、一方、終了指示を検知していないと判定すると（ステップＳ１２：Ｎｏ）、制御部１０１は、ステップＳ２からの処理を繰り返す。
【００９１】
次に、ステップＳ３におけるコンテンツ再生処理について図１６のフローチャートを参照して具体的に説明する。図１６は端末装置１におけるコンテンツ再生処理のフローチャートである。
【００９２】
図１６に示すように、コンテンツ再生処理を開始すると、制御部１０１は、第１記憶部１０２に記憶したルーティングテーブルに基づいて、通信部１１１及びネットワーク８を介して、検索メッセージを送信する（ステップＳ２０）。
【００９３】
この検索メッセージは、再生指示のあったコンテンツデータを再生するために必要な分割データ毎に送信されるものであり、制御部１０１は、コンテンツカタログを参照し、再生指示のあったコンテンツデータの分割データ全ての分割データＩＤをコンテンツカタログから取り出し、この分割データＩＤ毎に検索メッセージを生成して送信する。
【００９４】
次に、制御部１０１は、各検索メッセージに対する応答、すなわち各分割データＩＤの分割データのデータ保持端末装置の所在情報をそれぞれのルート端末装置からネットワーク８及び通信部１１１を介して取得して第１記憶部１０２に記憶する。そして、制御部１０１は、このように所在情報を取得したデータ保持端末装置に対してそれぞれ分割データ送信要求メッセージをネットワーク８及び通信部１１１を介して送信して各分割データの送信要求を行う（ステップＳ２１）。
【００９５】
その後、制御部１０１は、このように分割データの送信要求を行ったデータ保持端末装置から全ての分割データをネットワーク８から通信部１１１を介して受信したか否かを判定する（ステップＳ２２）。そして、制御部１０１は、全ての分割データを受信できるまで待ち（ステップＳ２２：Ｎｏ）、全ての分割データを受信できたとき（ステップＳ２２：Ｙｅｓ），処理をステップＳ２３に移行する。このように、制御部１０１は、コンテンツ選択手段により選択したコンテンツデータの各分割データのデータ識別情報に基づいて、複数の分割データを通信路を介して複数の端末装置１から取得する取得処理手段として機能する。
【００９６】
ステップＳ２３において、制御部１０１は、受信した複数の分割データを第１記憶部１０２に記憶すると共に、図１３を参照して説明したように、取得した複数の分割データのうち一部の分割データを第２記憶部１０３に記憶する。このとき、制御部１０１は、取得した複数の分割データのうち結合時の配列が互いに連続しない複数の分割データを一部の分割データとして記憶手段である第２記憶部１０３に記憶する記憶処理手段として機能する。
【００９７】
次に、制御部１０１は、分割データの結合処理及びデスクランブル処理を行って、コンテンツデータを生成して、バッファメモリ１０４へ記憶していく（ステップＳ２４）。この処理は、図１７におけるステップＳ３０,Ｓ３１の処理であり、後で詳述する。なお、コンテンツデータの生成が終了すると、第１記憶部１０２に記憶した分割データを削除する。
【００９８】
コンテンツデータの生成が終了すると、制御部１０１は、バッファメモリ１０４に記憶したコンテンツデータを順次取り出して再生する処理を行う（ステップＳ２５）。このとき、制御部１０１は、第２記憶部１０３に記憶した分割データの分割データＩＤを宛先識別情報とした登録メッセージを通信部１１１及びネットワーク８を介して送信する。このように、制御部１０１は、記憶手段に記憶した分割データに割り当てられた分割データＩＤに対応する端末ＩＤを有する他の端末装置１へ自装置の所在情報（ＩＰアドレスなど）を送信する所在情報送信処理手段として機能する。
【００９９】
次に、Ｓ２４における分割データの結合処理及びデスクランブル処理について図１７のフローチャートを参照して具体的に説明する。図１７は端末装置１における分割データの結合処理及びデスクランブル処理のフローチャートである。
【０１００】
分割データの結合処理及びデスクランブル処理を開始すると、制御部は、図１７に示すように、まず、分割データの結合処理を行う（ステップＳ３０）。この結合処理は、図１２を参照して説明したように、複数の分割データを所定の順番で配列して結合する処理である。制御部１０１は、取得した複数の分割データを第１記憶部１０２に記憶し、コンテンツカタログに記述された分割データの結合配列に従い、第１記憶部１０２に記憶した分割データの並べ替えを行う。例えば、コンテンツデータ毎に分割データの結合配列がコンテンツカタログにおいて分割データＩＤで規定されているときに、複数の分割データを第１記憶部１０２に記憶したとき、これらの分割データに割り当てられた分割データＩＤに基づいて、これらの分割データの配列順番を判定して、分割データの並び替えを行う。このように、制御部１０１は、複数の分割データを所定の順番で配列して結合する再生処理手段として機能する。なお、分割データの結合は、第１記憶部１０２に記憶した分割データが所定の順番で読み出せるようにする処理であればよく、従って、第１記憶部１０２の記憶領域に連続的に記憶された一つのデータとすることは必ずしも必要はない。
【０１０１】
結合処理を終了すると、制御部１０１は、デスクランブル処理を行う（ステップＳ３１）。このデスクランブル処理は、図１２を参照して説明したように、結合した分割データを所定のデータサイズで区切って並べ替えを行う処理である。すなわち、制御部１０１は、並べ替えを行って結合した分割データを第１記憶部１０２から取り出して、予め定められた規則に従って、第１のデータサイズ単位αで分割して再生順に並び替えることによりデスクランブル処理を行って、コンテンツデータを順次先頭のデータから生成していき、バッファメモリ１０４へ順次記憶する。この処理が終了すると、制御部１０１は、分割データの結合処理及びデスクランブル処理を終了する。このように、制御部１０１は、結合処理を行ったデータを第１のデータサイズ単位αで分割して再生順に並び替える再生処理手段として機能する。
【０１０２】
以上のように、本実施形態におけるコンテンツ配信システムＳでは、１つのコンテンツデータをスクランブル処理及び分割処理して生成された複数の分割データが分散して複数の端末装置１に保持されることになるから、各端末装置１に保持したデータから１つのコンテンツデータが読み取られる可能性を低減できる。
【０１０３】
［７．コンテンツ投入装置の具体的構成及び動作の説明］
次に、図面を参照して、コンテンツ投入装置１０の具体的構成及び動作の一例について説明する。
【０１０４】
（コンテンツ投入装置の構成について）
まず、コンテンツ投入装置１０の構成について説明する。図１８は、本実施形態に係るコンテンツ配信システムＳにおけるコンテンツ投入装置１０の具体的構成を示す図である。
【０１０５】
コンテンツ投入装置１０は、専用のコンピュータの他、一般のサーバコンピュータを適用可能であり、図１８に示すように、制御部２０１と、端末装置１の所在情報やカタログ等を記憶する書き換え可能な記憶部２０２と、コンテンツデータ及び分割データを記憶するハードディスク（ＨＤＤ）２０３と、コンテンツデータの分割データの投入を指示するための入力部２０４と、入力部２０４への入力によって投入を指示された分割データを端末装置１へ送信するために一時的に記憶するバッファメモリ２０５と、ネットワーク８を介して、端末装置１と通信するための通信部２０６とを備えている。なお、制御部２０１、記憶部２０２、ハードディスク２０３、バッファメモリ２０５、通信部２０６は、システムバス２１０を介して相互に接続されている。
【０１０６】
制御部２０１は、ＣＰＵ（Central Processing Unit）、不揮発性メモリ及びＲＡＭ（Random Access Memory）から構成される。この不揮発性メモリには、コンテンツデータから分割データを生成し、コンテンツ配信システムＳに参加している端末装置１に分割データを投入するための情報処理プログラムが格納されており、ＣＰＵは不揮発性メモリに記憶されている情報処理プログラムを読み出して実行することによって、生成手段、配信手段等として機能する。
【０１０７】
なお、この情報処理プログラムは、例えば、ネットワーク８に接続されたサーバ（図示せず）から、通信部２０６を介して、制御部２０１の不揮発性メモリにダウンロードされるようにしてもよく、又ＣＤ−ＲＯＭ等の記録媒体に記録されてから図示しない記録媒体ドライブを介して、制御部２０１の不揮発性メモリに読み込まれるようにしてもよい。
【０１０８】
（コンテンツ投入装置の動作について）
以上のように構成されたコンテンツ投入装置１０の動作を具体的に説明する。図１９はコンテンツ投入装置１０のコンテンツ投入処理フローチャートである。なお、以下の各処理は、コンテンツ投入装置１０の制御部２０１が上述した各手段等として機能することによって実行されるものである。ここでは、本実施形態に係る特徴的な部分であるコンテンツデータの投入の動作を主として説明しており、一部の動作内容は省略している。
【０１０９】
図１９に示すように、コンテンツ投入処理を開始すると、コンテンツ投入装置１０の制御部２０１は、投入するコンテンツデータを選択する（ステップＳ５０）。この選択処理は、予め記憶部２０２に記憶したスケジュール（例えば、コンテンツデータ毎の公開日時が定められている）に応じて行われるものである。
【０１１０】
次に制御部２０１は、選択したコンテンツデータのスクランブル処理を行ってスクランブルデータを生成する（ステップＳ５１）。この処理は、図５を参照して説明した処理である。すなわち、制御部２０１は、コンテンツデータを第１のデータサイズ単位αで区切った後、第１のデータサイズ単位αで区切ったデータを所定の規則に従って並び替えることによってスクランブルデータを生成するスクランブル処理を行う（図５（ｂ）参照）。なお、図６を参照して説明したように、ダミーデータを加えて並び替えを行うようにしてもよい。
【０１１１】
次に制御部２０１は、スクランブルデータを分割して複数の分割データを生成する（ステップＳ５２）。すなわち、制御部２０１は、ステップＳ５１でスクランブル処理を行って生成したスクランブルデータを第１のデータサイズ単位αよりも大きい第２のデータサイズ単位β（ここでは、β＝ｎ×α：ｎは２以上の自然数）で分割することによって、複数の分割データを生成する（図５（ｃ）参照）。
【０１１２】
このように分割データを生成した後、制御部２０１は、コンテンツ配信システムＳに参加している端末装置１の中から複数の端末装置１をランダムに選択する（ステップＳ５３）。ここで、端末装置１がコンテンツ配信システムＳに参加したとき、端末装置１はコンテンツ投入装置１０へ所在情報を通知するようにしており、制御部２０１は通信部２０６を介してコンテンツ配信システムＳに参加している端末装置１の所在情報を受信し、記憶部２０２に記憶している。
【０１１３】
制御部２０１は、ステップＳ５３においてランダムに選択した端末装置１の所在情報を記憶部２０２から取り出して、この所在情報に基づいて前記選択した端末装置１へ分割データを通信部２０６を介して送信して（ステップＳ５４）、コンテンツ投入処理を終了する。
【０１１４】
このように、コンテンツ投入装置１０では、コンテンツデータの投入時期になると、投入すべきコンテンツデータのスクランブル処理及び分割処理を行って分割データを生成し、コンテンツ配信システムＳに参加している端末装置１に投入するようにしており、これにより、１つのコンテンツデータをスクランブル処理及び分割処理して生成された複数の分割データを分散して複数の端末装置１に保持させることができる。
【０１１５】
［８．変形例］
上述においては、コンテンツ投入装置１０におけるスクランブル処理及び分割処理を、スクランブル処理後に分割処理を行うようにしたが、分割処理を行った後に、スクランブル処理を行うようにしてもよい。図２０はコンテンツ投入装置１０の他のコンテンツ投入処理フローチャート、図２１はコンテンツ投入装置１０における他の分割データの生成手順を説明するための図である。なお、図２０におけるステップＳ６０，ステップＳ６３，ステップＳ６４の処理は、図１９におけるステップＳ５０，ステップＳ５３，ステップＳ５４の処理と同様である。
【０１１６】
コンテンツ投入装置１０の制御部２０１は、コンテンツ投入処理を開始して、投入するコンテンツデータを選択すると（ステップＳ６０）、このコンテンツデータを、第２単位（分割データのデータサイズ）で分割する（ステップＳ６１）。例えば、図２１（ａ）に示すように、コンテンツデータを第２のデータサイズ単位βで３個に区切って分割データ１’〜分割データ３’とする。
【０１１７】
その後、制御部２０１は、分割データ（第２単位）よりもデータサイズが小さい第１単位で分割して並び替えることによってスクランブル処理を行って分割データを生成する（ステップＳ６２）。例えば、図２１（ｂ）に示すように、各分割データ１’〜３’をそれぞれ第１のデータサイズ単位αで区切り、この第１のデータサイズ単位α（ここでは、α＝β／ｎ：ｎは２以上の自然数）のデータを並び替えることによってスクランブル処理し、分割データ１〜分割データ３を生成する（図２１（ｃ）参照）。なお、上述の実施形態と同様に第１のデータサイズ単位αは、コンテンツデータの一部としての再生もできないデータサイズ単位とすることが好適である。
【０１１８】
また、図２１（ｃ）に示したようなスクランブル処理ではなく、ダミーデータを挿入してスクランブル処理を行うようにすることもできる。このようにすることで、端末装置１に保存した分割データが読み取られたとしても、デスクランブル処理を困難にすることができる。例えば、制御部２０１は、分割データ１’〜分割データ３’を生成した後、各分割データ１’〜３’をそれぞれ第１のデータサイズ単位αで区切ったデータにダミーデータを加えてスクランブル処理により並び替えた分割データ１〜分割データ３を生成する（図２１（ｄ）参照）。
【０１１９】
このように、分割データは、コンテンツデータを、当該分割データのデータサイズに分割し、さらに分割後のデータをそれぞれ当該データよりもデータサイズが小さい第１単位で分割して並び替えることによってスクランブル処理して生成される。
【０１２０】
コンテンツ投入装置１０は、このように生成した分割データを、コンテンツ配信システムＳに参加している複数の端末装置１から任意の端末装置１を選択して投入する（ステップＳ６３，Ｓ６４）。
【０１２１】
このように生成された複数の分割データに基づくコンテンツデータの生成は、端末装置１によって次のように行われる。なお、分割データの結合処理及びデスクランブル処理以外の処理は上記実施形態と同様にあることから説明を省略し、分割データの結合処理及びデスクランブル処理のみ説明する。図２２は１の他の分割データの結合処理及びデスクランブル処理フローチャート、図２３は端末装置１における他のコンテンツデータ再生方法の概要を説明するための図である。
【０１２２】
図２２に示すように、制御部１０１は、分割データの結合処理及びデスクランブル処理を開始すると、まず、各分割データのそれぞれについてデスクランブル処理を行う（ステップＳ４０）。すなわち、制御部１０１は、各分割データをそれぞれ第１のデータサイズ単位αで分割し、コンテンツカタログに記述された予め定められた規則に従って、再生順に並び替えることによってデスクランブル処理して各分割データを再生可能な分割データ１’〜分割データ３’として、第１記憶部１０２に記憶する（図２３（ｂ）参照）。このように制御部１０１は、各分割データ内のデータを第１単位で並び替えることによってデスクランブル処理を行う再生処理手段として機能する。
【０１２３】
その後、制御部１０１は、再生可能にした分割データを結合する結合処理を行ってコンテンツデータを生成する（ステップＳ４１）。すなわち、制御部１０１は、再生可能とした複数の分割データを、コンテンツカタログに記述された分割データの配列に従って、第１記憶部１０２から順次取り出して、バッファメモリ１０４へ順次記憶していくことによって、再生可能な分割データを所定の配列順番で結合する（図２３（ｃ）参照）。このように、制御部１０１は、複数の分割データを再生順で配列して結合することによって結合処理を行ってコンテンツデータを生成する再生処理手段として機能する。なお、分割データの結合は、第１記憶部１０２に記憶した分割データが所定の順番で読み出せるようにする処理であればよく、従って、ここでの結合処理を行った分割データは、第１記憶部１０２の記憶領域に連続的に記憶された一つのデータである必要はない。
【０１２４】
以上、本発明の実施の形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【０１２５】
例えば、上記実施形態では、分割データをスクランブル処理及び分割処理を行うことによって生成したが、さらに所定の暗号化処理を施すようにしてもよい。例えば、コンテンツ投入装置１０の制御部２０１は、コンテンツデータに暗号化処理を施し、或いは分割データとした後に暗号化処理を施すようにする。これにより、コンテンツデータを読み取られる危険性をより低減することが可能となる。この場合、端末装置１の制御部１０１は、分割データに復号化処理を施したり、生成したコンテンツデータに復号化処理を施したりすることでコンテンツデータを再生する。
【０１２６】
また、上述においては、分割データの配列等は、コンテンツカタログにその情報が含まれていることとして説明したが、端末装置１において予め決められた配列規則を記憶しておき、それに基づき分割データの配列を判断してもよい。
【０１２７】
また、上述においては、分割データに分割データＩＤを割り当てることとしたが、コンテンツデータにコンテンツＩＤを割り当てるようにしてもよい。この場合、分割データを保持するデータ保持端末装置は、分割データの基となるコンテンツデータのコンテンツＩＤを宛先として登録メッセージを送信するようにする。これにより、コンテンツＩＤのルート端末装置に分割データを保持する端末装置１の所在情報がインデックス情報として保持されることになる。そして、リクエスタからの検索メッセージに対して、ルート端末装置は自装置が管理するコンテンツＩＤが割り当てられたコンテンツデータを分割した分割データを保持するデータ保持端末装置の所在情報を、全ての分割データについて取り出して、リクエスタに送信して通知することで、リクエスタは要求したコンテンツＩＤに対応する全ての分割データをデータ保持端末装置から取得することができるようになる。
【図面の簡単な説明】
【０１２８】
【図１】本発明の一実施形態に係るコンテンツ配信システムにおける各端末装置及びコンテンツ投入装置の接続態様の一例を示す図である。
【図２】ＩＤ空間の説明図である。
【図３】ルーティングテーブルを説明するための図である。
【図４】ルーティングテーブルの一例である。
【図５】分割データの生成手順を示す図である。
【図６】分割データの別の生成手順を示す図である。
【図７】コンテンツ投入装置から分割データが投入される様子を示す図である。
【図８】データ保持端末装置の登録メッセージがＤＨＴルーティングにより転送される様子を示す図である。
【図９】インデックステーブルの一例である。
【図１０】分割データを保持している端末装置が検索される様子の一例を示す図である。
【図１１】端末装置におけるコンテンツデータ再生方法の概要を説明するための図である。
【図１２】端末装置におけるコンテンツデータ再生方法の概要を説明するための図である。
【図１３】端末装置における分割データの保存処理を説明するための図である。
【図１４】端末装置の具体的構成を示す図である。
【図１５】端末装置のメイン処理フローチャートである。
【図１６】端末装置のコンテンツ再生処理フローチャートである。
【図１７】端末装置の分割データの結合処理及びデスクランブル処理フローチャートである。
【図１８】コンテンツ投入装置の具体的構成を示す図である。
【図１９】コンテンツ投入装置のコンテンツ投入処理フローチャートである。
【図２０】コンテンツ投入装置の他のコンテンツ投入フローチャートである。
【図２１】分割データの他の生成手順を示す図である。
【図２２】端末装置の他の分割データの結合処理及びデスクランブル処理フローチャートである。
【図２３】端末装置における他のコンテンツデータ再生方法の概要を説明するための図である。
【符号の説明】
【０１２９】
Ｓ  コンテンツ配信システム
１  端末装置
１０  コンテンツ投入装置
８  ネットワーク
１０１  端末装置の制御部
１０２  端末装置の第１記憶部
１０３  端末装置の第２記憶部
１１１  端末装置の通信部
２０１  コンテンツ投入装置の制御部
２０２  コンテンツ投入装置の記憶部
２０３  コンテンツ投入装置のハードディスク
２０６  コンテンツ投入装置の通信部
【図１】
2009211158.tif 000003
【図２】
2009211158.tif 000004
【図３】
2009211158.tif 000005
【図４】
2009211158.tif 000006
【図５】
2009211158.tif 000007
【図６】
2009211158.tif 000008
【図７】
2009211158.tif 000009
【図８】
2009211158.tif 000010
【図９】
2009211158.tif 000011
【図１０】
2009211158.tif 000012
【図１１】
2009211158.tif 000013
【図１２】
2009211158.tif 000014
【図１３】
2009211158.tif 000015
【図１４】
2009211158.tif 000016
【図１５】
2009211158.tif 000017
【図１６】
2009211158.tif 000018
【図１７】
2009211158.tif 000019
【図１８】
2009211158.tif 000020
【図１９】
2009211158.tif 000021
【図２０】
2009211158.tif 000022
【図２１】
2009211158.tif 000023
【図２２】
2009211158.tif 000024
【図２３】
2009211158.tif 000025