JP2009211158A - コンテンツ再生装置及びそのプログラム、コンテンツ配信システム、コンテンツ配信方法 - Google Patents

コンテンツ再生装置及びそのプログラム、コンテンツ配信システム、コンテンツ配信方法 Download PDF

Info

Publication number
JP2009211158A
JP2009211158A JP2008050858A JP2008050858A JP2009211158A JP 2009211158 A JP2009211158 A JP 2009211158A JP 2008050858 A JP2008050858 A JP 2008050858A JP 2008050858 A JP2008050858 A JP 2008050858A JP 2009211158 A JP2009211158 A JP 2009211158A
Authority
JP
Japan
Prior art keywords
data
content
divided data
terminal device
divided
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2008050858A
Other languages
English (en)
Inventor
Hisashi Takeshima
尚志 竹島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2008050858A priority Critical patent/JP2009211158A/ja
Publication of JP2009211158A publication Critical patent/JP2009211158A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

【課題】P2P型のコンテンツ配信システムを構成する装置で保持しているコンテンツデータを再生可能に読み取られる危険性を低減させることにある。
【解決手段】1つのコンテンツデータをスクランブル処理及び分割処理して生成された複数の分割データを分散して複数の装置に保持させる。コンテンツデータを再生するとき、複数の装置から通信路を介して複数の分割データを取得して、複数の分割データの結合処理及びデスクランブル処理を行ってコンテンツデータを生成して再生する。取得した分割データは全てを保存するのではなく、一部を保存する。
【選択図】図11

Description

本発明は、コンテンツ再生装置及びそのプログラム、コンテンツ配信システム、コンテンツ配信方法に関する。
近年、ブロードバンドの普及に伴って、音楽データや映画データなどのコンテンツデータを配信するサービスが人気となっている。例えば、VOD(ビデオオンデマンド)のように利用者の要求に応じてコンテンツデータを配信するサービスが知られている。
この種のコンテンツ配信サービスは、サーバクライアント方式による配信形態が主流であったが、最近では、この方式に代わる新しい配信形態として端末装置間でコンテンツデータを送受信するP2P(ピアツーピア)型の配信形態が注目されている。
このP2P型のコンテンツ配信システムは、ネットワークを介して互いに接続された複数の端末装置(ノード装置)の参加により形成され、ある端末装置の利用者が取得しようとするコンテンツデータを、そのコンテンツデータの一部又は全部を保持する他の端末装置から取得して再生するものであり、各端末装置は、コンテンツデータを取得するときにはコンテンツ再生装置として機能し、保持しているコンテンツデータの一部又は全部を送信するときにはコンテンツ配信装置として機能することになる。
例えば、特許文献1に記載のコンテンツ配信システムでは、各端末装置が当該コンテンツ配信システムに参加している全ての端末装置の所在情報(IPアドレスなど)を認識しているわけではなく、参加の際などに得られる一部の端末装置の所在情報だけを保持しており、かかる所在情報に基づき、コンテンツデータの検索を行って端末装置間でコンテンツデータの送受信を行うようにしている。
特開2006−197400号公報
ところで、P2P型のコンテンツ配信システムにおいては、新たなコンテンツデータを投入する場合に、任意の端末装置をコンテンツ配信装置として機能させるために、新たなコンテンツデータを保持させるなど、端末装置の利用者が自らの意志で取得したものではないコンテンツデータが端末装置に記憶されることがある。
また、コンテンツ配信システム内でコンテンツデータを端末装置間で容易に送受信することができるように、同じコンテンツデータをできるだけ多くの端末装置に保持させておくことが望ましく、そのため、例えば、端末装置の利用者の意志で取得したコンテンツデータを保持させておき、コンテンツ配信装置として機能させることがある。
しかしながら、コンテンツ再生装置としては機能させないがコンテンツ配信装置としては機能させようとして、端末装置にコンテンツデータを保持させておくと、そのコンテンツデータが悪意のある者に読み出されてしまう虞がある。このとき、コンテンツデータに暗号化処理を行って保持させるという方法も考えられるが、復号化処理されてコンテンツデータを読み取られてしまうという可能性が常に存在する。
そこで、本発明は上記課題を解決するためになされたものであり、その目的は、端末装置間でコンテンツデータの送受信を可能としつつも、他の端末装置へ送信させるために端末装置に保持させた情報からコンテンツデータを再生可能に読み取られる危険性を低減させることにある。
請求項1に記載の発明は、1つのコンテンツデータをスクランブル処理及び分割処理して生成された複数の分割データが分散して複数の装置に保持され、当該複数の装置から通信路を介して前記複数の分割データを取得して前記コンテンツデータを再生するコンテンツ再生装置であって、前記複数の分割データを前記通信路を介して前記複数の装置から取得する取得処理手段と、前記取得した複数の分割データの結合処理及びデスクランブル処理を行って前記コンテンツデータを生成して再生する再生処理手段と、前記再生されるコンテンツデータにおける前記複数の分割データのうち一部の分割データを記憶手段に保持する記憶処理手段と、を備えたことを特徴とする。
また、請求項2に記載の発明は、請求項1に記載の発明において、前記分割データは、前記コンテンツデータを、前記分割データよりもデータサイズが小さい第1単位で分割して並び替えることによってスクランブル処理され、当該スクランブル処理されたデータを前記第1単位よりもデータサイズが大きな第2単位で分割して生成されたものであり、 前記再生処理手段は、前記複数の分割データを所定の順番で配列して結合し、前記第1単位で分割して再生順に並び替えることによって結合処理及びデスクランブル処理して前記コンテンツデータを生成することを特徴とする。
また、請求項3に記載の発明は、請求項1に記載の発明において、前記分割データは、前記コンテンツデータを、当該分割データのデータサイズに分割し、さらに分割後のデータをそれぞれ当該データよりもデータサイズが小さい第1単位で分割して並び替えることによってスクランブル処理して生成されたものであり、前記再生処理手段は、各前記分割データ内のデータを前記第1単位で並び替えた後、これら複数の分割データを再生順で配列して結合することによって結合処理及びデスクランブル処理して前記コンテンツデータを生成することを特徴とする。
また、請求項4に記載の発明は、請求項2又は請求項3に記載の発明において、前記記憶処理手段は、前記取得した複数の分割データのうち前記結合時の配列が互いに連続しない複数の分割データを前記一部の分割データとして前記記憶手段に記憶することを特徴とする。
また、請求項5に記載の発明は、請求項1〜4のいずれか1項に記載の発明において、前記記憶手段は、不揮発性メモリであることを特徴とする。
また、請求項6に記載の発明は、コンピュータを、請求項1〜5のいずれか1項に記載のコンテンツ再生装置の前記各手段として機能させるプログラムであることを特徴とする。
また、請求項7に記載の発明は、1つのコンテンツデータをスクランブル処理及び分割処理することによって複数の分割データを生成する生成手段と、前記複数の分割データを複数の端末装置へ通信路を介して配信する配信手段とを有するコンテンツ投入装置と、前記複数の端末装置とを備えたコンテンツ配信システムであって、前記端末装置は、前記コンテンツ投入装置から前記通信路を介して前記分割データを受信する受信処理手段と、前記受信した分割データを記憶する記憶手段と、他の前記端末装置からの要求に応じて前記記憶手段に記憶した分割データを前記通信路を介して送信する送信処理手段と、再生するコンテンツデータを選択するためのコンテンツ選択手段と、前記選択されたコンテンツデータの分割データを保持する他の前記端末装置から前記通信路を介して前記複数の分割データを取得する取得処理手段と、前記取得した複数の分割データの結合処理及びデスクランブル処理を行って前記コンテンツデータを生成して再生する再生処理手段と、前記再生されるコンテンツデータにおける前記複数の分割データのうち一部の分割データを記憶手段に保持する記憶処理手段と、を有することを特徴とする。
また、請求項8に記載の発明は、請求項7に記載の発明において、前記複数の端末装置にはそれぞれ固有の装置識別情報が割り当てられ、前記複数の分割データにはそれぞれ固有のデータ識別情報が割り当てられており、前記端末装置は、前記記憶手段に記憶した分割データに割り当てられたデータ識別情報に対応する装置識別情報を有する他の前記端末装置へ自装置の所在情報を送信する所在情報送信処理手段と、自装置の端末識別情報に対応するデータ識別情報を有する分割データを保持する他の前記端末装置の所在情報を記憶する所在情報記憶手段と、を備え、前記取得処理手段は、前記コンテンツ選択手段により選択したコンテンツデータの各分割データのデータ識別情報に基づいて、前記複数の分割データを取得することを特徴とする。
また、請求項9に記載の発明は、コンテンツデータの配信方法であって、コンテンツ投入装置が、1つのコンテンツデータをスクランブル処理及び分割処理して複数の分割データを生成するステップと、前記コンテンツ投入装置が、前記複数の分割データを分散して複数の端末装置へ通信路を介して配信するステップと、前記端末装置が、前記コンテンツ投入装置から前記通信路を介して前記分割データを受信するステップと、前記端末装置が、他の前記端末装置の要求に応じて前記受信した分割データを送信するステップと、前記端末装置が、コンテンツ選択手段によって選択されたコンテンツデータの分割データを保有する他の前記端末装置から前記通信路を介して前記複数の分割データを取得するステップと、前記端末装置が、前記取得した複数の分割データの結合処理及びデスクランブル処理を行って前記コンテンツデータを生成して再生するステップと、前記端末装置が、前記再生されるコンテンツデータについての前記複数の分割データのうち一部の分割データを記憶手段に保持するステップと、を有することを特徴とする。
本願発明によれば、1つのコンテンツデータをスクランブル処理及び分割処理して生成された複数の分割データが分散して複数の装置に保持されることになるから、各装置に保持したデータから1つのコンテンツデータが読み取られる可能性を低減できる。
以下、本発明の一実施形態について具体的に説明する。なお、本実施形態では分散ハッシュテーブルを用いたP2P型のコンテンツ配信システムを例にとり説明するが、P2P型のコンテンツ配信システムであればよく、これに限られない。
[1.コンテンツ配信システムSの構成等]
まず始めに、図1及び図2を参照して、本発明の一実施形態に係るコンテンツ配信システムSの概要について説明する。図1は、本実施形態に係るコンテンツ配信システムSにおける各端末装置及びコンテンツ投入装置の接続態様の一例を示す図、図2はID空間の説明図である。
図1の下部枠51内に示すように、IX(Internet eXchange)3、ISP(Internet Service Provider)4、DSL(Digital Subscriber Line)回線事業者(の装置)5、FTTH(Fiber To The Home)回線事業者(の装置)6、及び通信回線(例えば、電話回線や光ケーブル等)7等によって、インターネット等のネットワーク(現実世界のネットワーク)8が構築されている。
コンテンツ配信システムSは、図1の上部枠50内に示すように、ネットワーク8を介して相互に接続された複数の端末装置1a,1b,1c・・・1x,1y,1z・・・を備えて構成され、ピアツーピア(P2P)方式のネットワークシステムとなっている。各端末装置1a,1b,1c・・・1x,1y,1z・・には、端末装置を示す情報としての固有の製造番号(例えば、MACアドレス)及びIP(Internet Protocol)アドレスが割り当てられている。なお、製造番号及びIPアドレスは、複数の端末装置間で重複しないものである。また、以下の説明において、端末装置1a,1b,1c・・・1x,1y,1z・・・のうち何れかの端末装置又は全ての端末装置を示す場合には、便宜上、端末装置1という場合がある。
本実施形態のコンテンツ配信システムSにおいては、分散ハッシュテーブル(以下、「DHT」と呼ぶ。)を利用したアルゴリズムによって、図1の上部枠50内に示すような、オーバーレイネットワーク9が構築される。つまり、このオーバーレイネットワーク9は、既存のネットワーク8を用いて形成された仮想的なリンクを構成するネットワークを意味しており、オーバーレイネットワーク9上に配置された端末装置1を、コンテンツ配信システムSに参加(言い換えれば、オーバーレイネットワーク9に参加)している端末装置という。
コンテンツ配信システムSに参加している各端末装置1の識別番号である装置識別情報(以下、「端末ID」と呼ぶ。)として、それぞれの端末装置1毎にユニークな番号(固有番号)を付与する。本実施形態においては、各端末装置1のIPアドレス或いは製造番号等の端末装置1毎に固有の値を、共通のハッシュ関数(ハッシュアルゴリズム)によりハッシュ化して得たハッシュ値を各端末装置1の端末IDとする。このように共通のハッシュ関数によりハッシュ化されて求められた端末IDは、当該IPアドレス或いは製造番号が異なれば、同じ値になる確率が極めて低いものである。なお、ハッシュ関数については公知であるので詳しい説明を省略する。また、本実施形態では、IPアドレス(グローバルIPアドレス)を共通のハッシュ関数によりハッシュ化した値を端末IDとする。
また、コンテンツ配信システムSに参加している複数の端末装置1には、一の端末装置1から他の端末装置1に配信される共用情報としてのコンテンツデータ(例えば、音楽データ、映画データ、文書データ等のデータ)を分割した複数の分割データが、分散して記憶されているが、当該分割データにも、それぞれの分割データ毎の固有の識別番号であるデータ識別情報(以下、「分割データID」と呼ぶ。)を付与する。そして、当該分割データIDは、端末IDと同様の長さ(例えば、32bit等)とし、コンテンツデータの名称(例えば、データファイル名)及び分割データ番号などが、上記端末IDを得るときと共通のハッシュ関数によりハッシュ化される(つまり、端末装置1のIPアドレスのハッシュ値と同一のID空間に配置される)。
このように、各端末装置1に付与された端末ID及び各分割データに付与された分割データIDは、共通のハッシュ関数によって生成するため、図2に示すように、同一のリング状のID空間上にさほど偏ることなく、散らばって存在するものとして考えることができる。同図は32bitで端末ID及び分割データIDを付与し、図示したものである。図中丸点は端末IDを、四角形は分割データIDを示し、反時計回りでIDが増加するものとする。
本実施形態においては、上述のように「ある分割データIDを有する分割データを管理する端末装置は、その分割データIDに近い端末IDを有する端末装置である」という規則を適用しており、「近い」ことの定義は、当該分割データIDを超えず、分割データIDと端末IDとの差が一番少ないものとするが、実際には、各分割データの管理を各端末装置1に割り振る際に、一貫していれば他の定義でもよい。図2に示す例では、この定義に基づいて、分割データIDaを有する分割データは、当該分割データIDaに近い端末ID(以下、「端末IDa」と呼ぶ。)を有する端末装置1に管理され、分割データIDbを有する分割データは、当該分割データIDbに近い端末ID(以下、「端末IDb」と呼ぶ。)を有する端末装置1に管理され、分割データIDcを有する分割データは、当該分割データIDcに近い端末ID(以下、「端末IDc」と呼ぶ。)を有する端末装置1に管理される。
ここで、「管理」とは、分割データを保持していることを意味するのではなく、「コンテンツデータの分割データが何れの端末装置1に保持されているかを知っている」ことを意味する。すなわち、コンテンツ配信システムS内で送受信するコンテンツデータの各分割データを保持する端末装置1(以下、「データ保持端末装置」と呼ぶ。)の所在情報(例えば、IPアドレス)を保持することを意味する。例えば、図2においては、端末IDaを有する端末装置1は、分割データIDaを有する分割データが何れの端末装置1に保持されているかを知っており、端末IDbを有する端末装置1及び端末IDcを有する端末装置1も同様にそれぞれ分割データIDbを有する分割データ及び分割データIDcを有する分割データが何れの端末装置1に保持されているかを知っている、ということになる。
このように、ある分割データが何れの端末装置1に保持されているかを知っている端末装置1を、その分割データのルート端末装置と呼ぶ。つまり、端末IDaを有する端末装置1は、分割データIDaを有する分割データのルート端末装置であって、端末IDbを有する端末装置1は、分割データIDbを有する分割データのルート端末装置であって、端末IDcを有する端末装置1は、分割データIDcを有する分割データのルート端末装置である。
また、コンテンツ配信システムSには、図1に示すように、コンテンツ配信システムS内に分割データを投入する機能、すなわちコンテンツ配信システムS内の端末装置1をデータ保持端末装置とするために分割データを端末装置1へ配布する機能や、コンテンツ配信システムSにおいて端末装置1間で分割データを送受信可能なコンテンツデータのリストである情報リスト(以下、「コンテンツカタログ」とする。)を生成して端末装置1へ提供する機能などを有するコンテンツ投入装置10を備えている。このコンテンツカタログには、各コンテンツデータの生成に必要な複数の分割データに付与された分割データIDの情報が含まれる。
[2.ルーティングテーブル]
ここで、図3及び図4を参照して、DHTで用いるルーティングテーブルについて説明する。図3はルーティングテーブルを説明するための図であり、図4はルーティングテーブルの一例である。このルーティングテーブルは、端末装置1から他の端末装置1へアクセスするために、各端末装置1に保持されているものであり、各端末装置1がコンテンツ配信システムSに参加するとき等に形成されるものである。
このルーティングテーブルは、所定の規則に従い、コンテンツ配信システムSに含まれる端末装置1を複数のグループに分けて当該各グループをレベル1のグループとし、このレベル1のグループのうち自装置が属するグループをさらに複数のグループに分けて当該各グループをレベル2のグループとし、このレベル2のグループ分けと同様のグループ分けによりレベルn(nは3以上の自然数)までの各グループとして、各段階の各グループ(自端末装置の属するグループは除く)に属する一の端末装置1の所在情報をそれぞれ記憶するものである。
ここでは、端末IDをビット長8bitの4進数(「0000」〜「3333」)で表すこととした場合の端末IDが「1133」の端末装置1nが保持するルーティングテーブルについて説明する。
図3(a)に示すように、ID空間を4分割することによって、最大桁が異なる4つのエリア「0XXX」,「1XXX」,「2XXX」,「3XXX」(Xは0から3の自然数、以下同様。)のグループに分ける。これらがレベル1のグループである。端末装置1nの端末IDは「1133」であるため、端末装置1nは、図3(a)中左下のエリア「1XXX」であるレベル1のグループに属する。従って、端末装置1nのルーティングテーブルのレベル1のテーブルには、図4に示すように、端末装置1nの存在するレベル1のグループ以外のグループ(すなわち、「0XXX」のエリア、「2XXX」のエリア、「3XXX」のエリアの各グループ)に存在する端末装置1の端末ID及び所在情報(IPアドレス)が記憶される。このテーブルでは、「0XXX」のエリアの端末IDとして「0100」、「2XXX」のエリアの端末IDとして「2133」、「3XXX」のエリアの端末IDとして「3213」のそれぞれの端末ID及び所在情報(IPアドレス)が記憶されている。
次に、図3(b)に示すように、レベル1のグループのうち端末装置1nが属するグループをさらに4分割して、エリア「10XX」,「11XX」,「12XX」,「13XX」のグループに分ける。これらがレベル2のグループである。端末装置1nは、自装置1nの端末IDが「1133」であるため、端末装置1nのルーティングテーブルのレベル2のテーブルには、図4に示すように、端末装置1nが属するレベル2のグループ(「11XX」のエリアのグループ)以外のレベル2の各グループ(すなわち、「10XX」のエリア、「12XX」のエリア、「13XX」のエリアの各グループ)にそれぞれ属する端末装置1の端末ID及び所在情報(IPアドレス)が記憶される。このテーブルでは、「10XX」のエリアの端末IDとして「1003」、「12XX」のエリアの端末IDとして「1221」、「13XX」のエリアの端末IDとして「1313」のそれぞれの端末ID及び所在情報が記憶されている。
以下同様に、レベル2のグループのうち端末装置1nが属するグループをさらに4分割して、エリア「110X」,「111X」,「112X」,「113X」のグループ(レベル3のグループ)に分け、端末装置1nが属するレベル3のグループ以外のレベル3の各グループ(すなわち、「110X」のエリア、「111X」のエリア、「112X」のエリアの各グループ)にそれぞれ属する端末装置1の端末ID及び所在情報(IPアドレス)が記憶される。また、レベル3のグループのうち端末装置1nが属するグループをさらに4分割して、「1130」,「1131」,「1132」,「1133」のグループ(レベル4のグループ)に分け、端末装置1nが属するレベル4のグループ以外のレベル4の各グループ(すなわち、「1130」,「1131」,「1132」の各グループ)にそれぞれ属する端末装置1の端末ID及び所在情報(IPアドレス)が記憶される。なお、上記グループに端末装置1が存在しない場合には、端末ID及び所在情報(IPアドレス)の欄は空白となる。
このようにコンテンツ配信システムSにおいては、このコンテンツ配信システムSに参加している複数の端末装置1のうち一部の端末装置1の識別情報である端末ID及びIPアドレスを関連付けたルーティングテーブルを各端末装置1が有している。
[3.分割データの公開方法]
このような構成のコンテンツ配信システムSの中で、例えば、ある端末装置1が新しい分割データを、コンテンツ配信システムS上の他の端末装置1から検索可能となるように公開する際の手法について述べる。図5は本実施形態に係る分割データの生成手順を示す図、図6は本実施形態に係る分割データの別の生成手順を示す図、図7は本実施形態に係るコンテンツ投入装置から分割データが投入される様子を示す図、図8はデータ保持端末装置の登録メッセージがDHTルーティングにより転送される様子を示す図である。
まず、コンテンツ投入装置10は、新たなコンテンツデータをコンテンツ配信システムSに参加している端末装置1に投入(配布)しようとするとき、この新たなコンテンツデータをスクランブル処理及び分割処理して複数の分割データを生成する。
この分割データの生成は、コンテンツ投入装置10の制御部によって行われ、コンテンツデータを、分割データよりもデータサイズが小さい第1単位で分割して並び替えることによってスクランブル処理し、このようにスクランブル処理したデータを第1単位よりもデータサイズが大きな第2単位で分割することによって行われる。
例えば、図5(a)に示すように、コンテンツデータを第1のデータサイズ単位αで区切ってデータ1〜データ12とする。次に、図5(b)に示すように、第1のデータサイズ単位αで区切ったデータ(データ1〜データ12)をスクランブル処理により並び替えた並び替えデータを生成する。そして最後に、この並び替えデータを、図5(c)に示すように、第1のデータサイズ単位αよりも大きい第2のデータサイズ単位β(ここでは、β=n×α:nは2以上の自然数とする)で分割する。
ここで、第1のデータサイズ単位αは、コンテンツデータの一部としての再生もできないデータサイズ単位とすることが好適である。このようにすることで、端末装置1に保存した分割データが読み取られたとしても、コンテンツデータの一部も再生することができず、コンテンツデータを読み取られる可能性を低減できる。
なお、第2のデータサイズ単位βもできるだけ小さいデータサイズ単位とすることがよいが、端末装置1がコンテンツデータを生成するときに、あまり多くの他の端末装置1から分割データを取得することになるとその処理が煩雑となることから、コンテンツデータの生成の際に処理が煩雑にならない程度のデータサイズ単位であることが望ましい。
ここで、図5に示したようなスクランブル処理ではなく、ダミーデータを挿入してスクランブル処理を行うようにすることもできる。このようにすることで、端末装置1に保存した分割データが読み取られたとしても、デスクランブル処理を困難にすることができる。
例えば、図6(a)に示すように、コンテンツデータを第1のデータサイズ単位αで区切った後、図6(b)に示すように、第1のデータサイズ単位αで区切ったデータ(データ1〜データ12)にダミーデータ(D1〜D3)を加えてスクランブル処理により並び替えた並び替えデータを生成する。そして最後に、この並び替えデータを、図6(c)に示すように、第1のデータサイズ単位αよりも大きい第2のデータサイズ単位βで分割する。ここで、ダミーデータ(D1〜D3)は、それ自体何ら意味のないビットデータの配列である。
このように、本実施形態における分割データは、コンテンツデータを、分割データよりもデータサイズが小さい第1単位(第1のデータサイズ単位α)で分割して並び替えることによってスクランブル処理し、当該スクランブル処理されたデータを第1単位よりもデータサイズが大きな第2単位(第2のデータサイズ単位β)で分割して生成されたものである。
コンテンツ投入装置10は、このように生成した分割データを、コンテンツ配信システムSに参加している複数の端末装置1から任意の端末装置1を選択して投入する。なお、データ分散の観点から各分割データはそれぞれ異なる端末装置1へ投入することが望ましく、また端末装置1の脱退を考慮して、各分割データはそれぞれ複数の端末装置1へ投入することが望ましい。
ここで、例えば、コンテンツデータをスクランブル処理及び分割処理して、分割データIDが「0332」,「2021」,「3020」の分割データを生成したとき、図7に示すように、コンテンツ投入装置10は、各分割データを任意の端末装置1を選択して保持させる。ここでは、分割データID「0332」の分割データを端末ID「2112」の端末装置1pに保持させ、分割データID「2021」の分割データを端末ID「1001」の端末装置1rに保持させ、分割データID「3020」の分割データを端末ID「1301」の端末装置1mに保持させている。
コンテンツ投入装置10から投入された分割データを内部の記憶手段に記憶してデータ保持端末装置となった端末装置1は、記憶手段に記憶した分割データの分割データIDと同じ端末IDを持つ端末装置1に向けて(この端末装置1が実在するか否かはこの時点ではわからない。)、自端末装置(分割データを保持するデータ保持端末装置として)の所在情報であるIPアドレス等の登録を要求するメッセージ(以下、「登録メッセージ」とする。)を送信する。
具体的には、図7に示すように、例えば、端末装置1mが分割データID「3020」のデータ保持端末装置となったとき、端末装置1mは、図8に示すように、分割データID「3020」を宛先識別情報とした登録メッセージを生成し、この登録メッセージを自己が保持しているルーティングテーブルを参照して送信する。端末装置1mが、図4の例と同様のルーティングテーブルを持っていたとすると、分割データID「3020」は「3XXX」のエリアであるため、当該「3XXX」のエリアに属す端末装置1のうち、IPアドレスを知っている(すなわち、自己が保持しているルーティングテーブルにIPアドレスが記憶されている)端末装置1a(端末ID「3213」)に対して登録メッセージを送信する。このように、登録メッセージはデータ保持端末装置として保持した分割データの分割データIDを含むものであり、この分割データIDは登録メッセージにおいて宛先識別情報として用いられる。
次に、登録メッセージを受信した端末装置1aは、この登録メッセージが自端末装置1a宛のメッセージであるか否かを判定する。自端末装置1a宛のメッセージであるか否かは、宛先識別情報とルーティングテーブルとに基づいて行われる。具体的には、宛先識別情報が自端末装置1aの識別情報である端末IDと近いか否かが判定される。即ち、宛先識別情報に対して、端末装置1a自身が保持しているルーティングテーブル(テーブルの値は図示しない)に記憶されている端末装置1の端末IDから、一番近い端末装置1の端末IDが、自身であるか他の端末装置1であるかを判定する。
そして、自端末装置1aの端末IDよりも他の端末装置1の端末IDの方が、宛先識別情報に近いため、端末装置1aは、当該端末装置1a自身が保持しているルーティングテーブルのレベル2のテーブルを参照して、「30XX」のエリアに属す端末装置1のうち、IPアドレスを知っている端末装置1b(端末ID「3031」)に対して登録メッセージを転送する。
このように、分割データIDの桁を上から順に適合していく要領で登録メッセージの転送が進み、最終的に当該分割データを管理する端末装置1c、すなわちルート端末装置に辿り着くと、当該端末装置1c自身がその分割データのルート端末装置となるべきだと判断し、当該登録メッセージに含まれる当該分割データID及びデータ保持端末装置の端末IDやIPアドレス等(以下、これらを「インデックス情報」と呼ぶ。)を記憶する。そして、後述するように、他の端末装置1から検索メッセージを受信すると、検索メッセージを送信した端末装置1へデータ保持端末装置の所在情報であるIPアドレスをインデックステーブル(所在情報記憶手段の一例に相当)から選択して通知する。
ところで、ルート端末装置におけるインデックス情報の保持は、図9に示すようなインデックステーブルにより行われる。図9はルート端末装置1cにおけるインデックステーブルの例を示したものであり、自端末装置1cが管理対象である分割データID「3020」の分割データに関するデータ保持端末装置の端末ID、IPアドレスなどを記憶している。
[4.分割データの取得方法]
次に、図10を参照して、分割データを保持している端末装置1の検索方法の一例について説明する。図10は、DHTにより分割データを保持している端末装置1が検索される様子の一例を示す図である。
ここでは、端末ID「1133」の端末装置1nがリクエスタとして、あるコンテンツデータを生成するために、このコンテンツデータの複数の分割データのうち、分割データID「3020」を有する分割データを探す際の手順について説明する。なお、他の分割データも同様の手順で分割データIDに基づいて探されることになる。
リクエスタ1nは、図10に示すように、分割データID「3020」と同じエリアの端末IDを持つ端末装置1の端末IDを宛先とし、分割データID「3020」を宛先識別情報として、データ保持端末装置情報(データ保持端末装置の所在情報であるIPアドレスを含む情報)の送信要求(以下、「検索メッセージ」と呼ぶ。)を送信する(図10(1)参照。)。そして、この検索メッセージも、上記登録メッセージと同様にルーティングテーブルに従って、次々と転送されていき(図10(2)参照。)、最終的に当該検索対象の分割データを管理する端末装置1c(端末ID「3011」)、すなわちルート端末装置に辿り着くと、当該ルート端末装置は、検索メッセージに含まれる分割データID「3020」を、自身が管理している後述のインデックス情報の中から検索し、当該分割データを所有しているデータ保持端末装置(ここでは、端末装置1mとする。)のIPアドレス等をリクエスタ1nに返信する(図10(3)参照。)。
リクエスタ1nは、上記ルート端末装置1cから、分割データID「3020」の分割データの所在情報、即ち、分割データID「3020」の分割データを保持するデータ保持端末装置1mのIPアドレスを受信して知ることになり、分割データID「3020」のデータ保持端末装置1mに、分割データの送信要求(以下、「分割データ送信要求メッセージ」と呼ぶ。)を送信することにより(図10(4)参照。)、当該データ保持端末装置1mから、その分割データを取得することになる(図10(5)参照。)。
なお、分割データを取得する際には、分割データの分割データIDが必要となるが、各端末装置1は、コンテンツ配信システムSに参加の際及び参加後は定期的に、コンテンツ投入装置10からコンテンツカタログを取得するようにしており、端末装置1がリクエスタとして機能するとき、このコンテンツカタログから取得対象のコンテンツデータを選択し、当該選択したコンテンツデータを再生するために必要な分割データの分割データIDをコンテンツカタログから取得するようにしている。
[5.コンテンツデータの再生方法]
次に、各端末装置1においてコンテンツデータを再生する方法について説明する。図11及び図12は端末装置1におけるコンテンツデータ再生方法の概要を説明するための図、図13は端末装置1における分割データの保存処理を説明するための図である。
図11に示すように、端末装置1は、コンテンツデータを再生するとき、リクエスタとして、コンテンツデータをスクランブル処理及び分割処理して生成された複数の分割データを各データ保持端末装置から取得する。
複数の分割データを取得した端末装置1は、複数の分割データの結合処理及びデスクランブル処理を行ってコンテンツデータを生成する処理を行った後、当該コンテンツデータを再生する処理を行う。
端末装置1は、結合処理及びデスクランブル処理を行って生成したコンテンツデータの再生を行った後、このコンテンツデータを記憶手段に保存せずに消去する。一方、複数の分割データのうちの一部の分割データは、不揮発性メモリに記憶して保存するようにしている。このように、本実施形態における端末装置1では、コンテンツデータ自体を保存せずに、複数の分割データの一部を保存するようにして、コンテンツデータを生成するための分割データ全てを読み取られる可能性を低減している。
ここで、複数の分割データの結合処理及びデスクランブル処理の一例について図12を参照して説明する。
図12(a)に示す複数の分割データを取得すると、端末装置1は、図12(b)に示すように、複数の分割データを所定の順番で配列(ここでは、分割データ1から順に分割データ3までを番号順に配列)して結合する結合処理を行う。なお、分割データの配列は、コンテンツカタログにその情報が含まれており、端末装置1はコンテンツカタログの情報に基づいた順番で配列を行う。
その後、端末装置1は、図12(c)に示すように、第1のデータサイズ単位αで分割して再生順に並び替えることによってデスクランブル処理してコンテンツデータを生成する。
このようにコンテンツデータを生成した端末装置1は、このコンテンツデータを再生する。例えば、コンテンツデータが音楽情報の場合には、スピーカ等から音楽情報に応じた音波を出力し、コンテンツデータが映像情報である場合には、表示部に映像情報に応じた映像を表示する。そして、コンテンツデータの再生が終了すると、端末装置1は、このコンテンツデータを記憶手段から消去する。
また、上述したように、端末装置1は、取得した複数の分割データのうちの一部の分割データを、不揮発性メモリに記憶して保存するようにしているが、保存する分割データは、所定の順番での配列、すなわち結合処理時の配列が互いに連続しない1以上の分割データとしている。
例えば、取得した複数の分割データが図13(a)に示すように分割データ1〜分割データ3であり、結合処理時の配列順番が図12(b)に示すように、分割データ1〜分割データ3であるとき、端末装置1は図13(b)に示すように、1つの分割データのみを保持するようにし、或いは図13(c)に示すように、結合処理時の配列順番が連続しない分割データ1,分割データ3を保持するようにする。
このように、端末装置1は、結合処理時の配列が互いに連続しない分割データを保持するようにしているので、複数の分割データが読み取られ、デスクランブルされた場合であっても、連続するデータとはならず、コンテンツデータの一部として読み取られる可能性を低減できる。
ここで、コンテンツ配信システムSにおける端末装置1及びコンテンツ投入装置10の具体的構成及び動作の一例について図面を参照して説明する。
[6.端末装置の具体的構成及び動作の説明]
以下、図面を参照して、端末装置1の具体的構成及び動作の一例について説明する。
(端末装置の構成について)
まず、端末装置1の構成について説明する。図14は、本実施形態に係るコンテンツ配信システムSにおける端末装置1の具体的構成を示す図である。
端末装置1は、専用のコンピュータの他、一般のパーソナルコンピュータを適用可能であり、図14に示すように、制御部101と、ルーティングテーブルやインデックステーブル等を記憶する書き換え可能な第1記憶部102と、コンテンツ投入装置10や他の端末装置1から取得した分割データを記憶する不揮発性メモリである第2記憶部103と、分割データから生成したコンテンツデータを一時的に記憶するバッファメモリ104と、このバッファメモリ104に記憶したコンテンツデータを順次取り出してデコードするデコーダ部105と、このデコーダ部105によってデコードされたコンテンツデータのうち映像情報を後述の表示部107で表示可能な情報に変換処理する映像処理部106と、この映像処理部106からの出力に基づいてコンテンツデータの映像を表示する液晶表示装置(LCD)などの表示部107と、デコーダ部105によってデコードされたコンテンツデータのうち音声情報を後述のスピーカ109で音波として出力可能な情報に変換処理する音声処理部108と、この音声処理部108からの出力に基づいてコンテンツデータの音声を音波として出力するスピーカ109と、マウス及びキーボードなどからなる入力部110と、ネットワーク8を介して、コンテンツ投入装置10や他の端末装置1と通信するための通信部111とを備えている。なお、制御部101、第1記憶部102、第2記憶部103、バッファメモリ104、デコーダ部105、通信部111は、システムバス120を介して相互に接続されている。
制御部101は、CPU(Central Processing Unit)、フラッシュメモリ及びRAM(Random Access Memory)から構成される。このフラッシュメモリには、コンテンツ配信システムSに参加して、分割データを送受信し、コンテンツデータを再生するための情報処理プログラムが格納されており、CPUはこのフラッシュメモリに記憶されている情報処理プログラムを読み出して実行することによって、取得処理手段、再生処理手段、記憶処理手段、受信処理手段、送信処理手段、所在情報送信処理手段等として機能する。
なお、この情報処理プログラムは、例えば、ネットワーク8に接続されたサーバ(例えば、コンテンツ投入装置10)から、通信部111を介して、制御部101のフラッシュメモリにダウンロードされるようにしてもよく、又CD−ROM等の記録媒体(記録媒体)に記録されてから図示しない記録媒体ドライブを介して、制御部101のフラッシュメモリに読み込まれるようにしてもよい。
(端末装置の動作について)
以上のように構成された端末装置1の動作を図面を参照して具体的に説明する。図15は本実施形態における端末装置1のメイン処理フローチャートである。なお、以下の各処理は、端末装置1の制御部101が上述した各手段等として機能することによって実行されるものである。ここでは、本実施形態に係る特徴的な部分である分割データの結合処理及びデスクランブル処理の動作を主として説明しており、一部の動作内容は省略している。
図15に示すように、端末装置1においてメイン電源スイッチ(図示せず)がONされたときやリセットスイッチ(図示せず)が操作されたとき、制御部101のCPUは、第1記憶部102や第2記憶部103のアクセス許可、内部RAMの作業領域確保等の初期設定動作を実行し、フラッシュメモリに記憶した情報処理プログラムを実行状態として、制御部101としての機能を動作状態とした後(ステップS1)、コンテンツ配信システムSへ参加してステップS2に処理を移行する。
ここで、コンテンツ配信システムSへの参加は、制御部101による処理によって次のように行われる。まず、制御部101は、自装置のIPアドレスを所定のハッシュ関数で演算することによって自端末装置の端末IDを得る。制御部101は、この端末IDを宛先識別情報とし自装置の所在情報(IPアドレスなど)を含む参加メッセージを通信部111を介して所定の端末装置1へ送信する。この参加メッセージはDHTルーティングにより転送される。そして、この参加メッセージを受信した他の端末装置1は、自装置のルーティングテーブルから参加メッセージの転送回数に応じたレベルのテーブルの情報を取り出して、参加メッセージを送信した端末装置1へその情報を送信する。制御部101は、このように参加メッセージを受信した端末装置1からルーティングテーブルの情報を通信部111を介して取得し、これらの情報に基づいてルーティングテーブルを生成し、コンテンツ配信システムSに参加する。
また、制御部101は、コンテンツ配信システムSへの参加時にコンテンツ投入装置10からコンテンツカタログを取得し、表示部107にこのコンテンツカタログの内容を表示する。これにより、端末装置1の利用者は、コンテンツ配信システムSにおいて再生可能なコンテンツデータを把握し、所定の操作を行ってコンテンツデータの複数の分割データを取得する。
ステップS2において、制御部101は、コンテンツ再生指示があるか否かを判定する。例えば、利用者による入力部110(コンテンツ選択手段の一例)の操作によって、表示部107に表示されているコンテンツカタログの中からコンテンツデータが選択されたときに、制御部101は、コンテンツ再生指示があったと判定する。
この処理において、コンテンツ再生指示があったと判定すると(ステップS2:Yes)、制御部101は、コンテンツ再生処理を行う(ステップS3)。このコンテンツ再生処理は、図16におけるステップS20〜S25の処理であり、後で詳述する。
一方、コンテンツ再生指示がないと判定すると(ステップS2:No)、制御部101は、通信部111を介して検索メッセージを受信したか否かを判定する(ステップS4)。この処理において、検索メッセージを受信したと判定すると(ステップS4:Yes)、制御部101は、検索メッセージ処理を行う(ステップS5)。検索メッセージ処理を開始すると、制御部101は、検索メッセージが自装置宛であるか否かを判定する。検索メッセージが自装置宛のメッセージであると判定すると、制御部101は、検索メッセージにおける検索対象の分割データIDの分割データを保持するデータ保持端末装置の所在情報を第1記憶部102に記憶したインデックステーブルから取り出して、検索メッセージの送信元端末装置1へ送信する。一方、検索メッセージが自装置宛のメッセージではないと判定すると、制御部101は、この検索メッセージを第1記憶部102に記憶したルーティングテーブルに基づいて他の端末装置1へ通信部111を介して転送する。
ステップS4において、検索メッセージを受信していないと判定すると(ステップS4:No)、制御部101は、通信部111を介して登録メッセージを受信したか否かを判定する(ステップS6)。この処理において、登録メッセージを受信したと判定すると(ステップS6:Yes)、制御部101は、登録メッセージ処理を行う(ステップS7)。登録メッセージ処理を開始すると、制御部101は、登録メッセージが自装置宛であるか否かを判定する。登録メッセージが自装置宛のメッセージであると判定すると、制御部101は、登録メッセージに含まれるインデックス情報を第1記憶部102に記憶したインデックステーブルに登録する。一方、登録メッセージが自装置宛のメッセージではないと判定すると、制御部101は、この登録メッセージを第1記憶部102に記憶したルーティングテーブルに基づいて他の端末装置1へ通信部111を介して転送する。このように、第1記憶部102は、自装置の端末IDに対応する分割データIDを有する分割データを保持する他の端末装置1の所在情報等を記憶する所在情報記憶手段として機能する。
ステップS6において、登録メッセージを受信していないと判定すると(ステップS6:No)、制御部101は、他の端末装置1から分割データの送信要求を受信したか否かを判定する(ステップS8)。例えば、通信部111を介して分割データ送信要求メッセージを受信したときに、制御部101は分割データの送信要求を受信したと判定する。
この処理において、分割データの送信要求を受信したと判定すると(ステップS8:Yes)、制御部101は、分割データ送信処理を行う(ステップS9)。このコンテンツデータ送信処理は、送信要求に応じた分割データを第2記憶部103から取り出し、この分割データを通信部111及びネットワーク8を介して、送信要求を行った端末装置1へ送信する。このように、制御部101は、他の端末装置1からの要求に応じて記憶手段に記憶した分割データを通信路を介して送信する送信処理手段として機能する。
ステップS8において分割データの送信要求を受信していないと判定したとき(ステップS8:No)、制御部101は、コンテンツ投入装置10から分割データを受信したか否かを判定する(ステップS10)。この処理において、コンテンツ投入装置10から分割データを受信したと判定すると(ステップS10:Yes)、制御部101は、分割データ受信処理を行う(ステップS11)。この処理において、制御部101は、コンテンツ投入装置10から分割データを受信して、第2記憶部103に記憶する。そして、制御部101は、第2記憶部103に記憶した分割データの分割データIDを宛先識別情報として登録メッセージを通信部111及びネットワーク8を介して送信する。このように、制御部101は、コンテンツ投入装置10から通信路を介して分割データを受信する受信処理手段として機能する。
ステップS10において分割データの送信要求を受信していないと判定したとき(ステップS10:No)、又はステップS3,S5,S7,S9,S11の処理が終了したとき、制御部101は、終了指示を検知したか否かを判定する(ステップS12)。例えば、自端末装置の電源がOFF状態へ移行したとき、制御部101は、終了指示を検知する。
ステップS12において、終了指示を検知したと判定すると(ステップS12:Yes)、制御部11は、メイン処理を終了し、一方、終了指示を検知していないと判定すると(ステップS12:No)、制御部101は、ステップS2からの処理を繰り返す。
次に、ステップS3におけるコンテンツ再生処理について図16のフローチャートを参照して具体的に説明する。図16は端末装置1におけるコンテンツ再生処理のフローチャートである。
図16に示すように、コンテンツ再生処理を開始すると、制御部101は、第1記憶部102に記憶したルーティングテーブルに基づいて、通信部111及びネットワーク8を介して、検索メッセージを送信する(ステップS20)。
この検索メッセージは、再生指示のあったコンテンツデータを再生するために必要な分割データ毎に送信されるものであり、制御部101は、コンテンツカタログを参照し、再生指示のあったコンテンツデータの分割データ全ての分割データIDをコンテンツカタログから取り出し、この分割データID毎に検索メッセージを生成して送信する。
次に、制御部101は、各検索メッセージに対する応答、すなわち各分割データIDの分割データのデータ保持端末装置の所在情報をそれぞれのルート端末装置からネットワーク8及び通信部111を介して取得して第1記憶部102に記憶する。そして、制御部101は、このように所在情報を取得したデータ保持端末装置に対してそれぞれ分割データ送信要求メッセージをネットワーク8及び通信部111を介して送信して各分割データの送信要求を行う(ステップS21)。
その後、制御部101は、このように分割データの送信要求を行ったデータ保持端末装置から全ての分割データをネットワーク8から通信部111を介して受信したか否かを判定する(ステップS22)。そして、制御部101は、全ての分割データを受信できるまで待ち(ステップS22:No)、全ての分割データを受信できたとき(ステップS22:Yes),処理をステップS23に移行する。このように、制御部101は、コンテンツ選択手段により選択したコンテンツデータの各分割データのデータ識別情報に基づいて、複数の分割データを通信路を介して複数の端末装置1から取得する取得処理手段として機能する。
ステップS23において、制御部101は、受信した複数の分割データを第1記憶部102に記憶すると共に、図13を参照して説明したように、取得した複数の分割データのうち一部の分割データを第2記憶部103に記憶する。このとき、制御部101は、取得した複数の分割データのうち結合時の配列が互いに連続しない複数の分割データを一部の分割データとして記憶手段である第2記憶部103に記憶する記憶処理手段として機能する。
次に、制御部101は、分割データの結合処理及びデスクランブル処理を行って、コンテンツデータを生成して、バッファメモリ104へ記憶していく(ステップS24)。この処理は、図17におけるステップS30,S31の処理であり、後で詳述する。なお、コンテンツデータの生成が終了すると、第1記憶部102に記憶した分割データを削除する。
コンテンツデータの生成が終了すると、制御部101は、バッファメモリ104に記憶したコンテンツデータを順次取り出して再生する処理を行う(ステップS25)。このとき、制御部101は、第2記憶部103に記憶した分割データの分割データIDを宛先識別情報とした登録メッセージを通信部111及びネットワーク8を介して送信する。このように、制御部101は、記憶手段に記憶した分割データに割り当てられた分割データIDに対応する端末IDを有する他の端末装置1へ自装置の所在情報(IPアドレスなど)を送信する所在情報送信処理手段として機能する。
次に、S24における分割データの結合処理及びデスクランブル処理について図17のフローチャートを参照して具体的に説明する。図17は端末装置1における分割データの結合処理及びデスクランブル処理のフローチャートである。
分割データの結合処理及びデスクランブル処理を開始すると、制御部は、図17に示すように、まず、分割データの結合処理を行う(ステップS30)。この結合処理は、図12を参照して説明したように、複数の分割データを所定の順番で配列して結合する処理である。制御部101は、取得した複数の分割データを第1記憶部102に記憶し、コンテンツカタログに記述された分割データの結合配列に従い、第1記憶部102に記憶した分割データの並べ替えを行う。例えば、コンテンツデータ毎に分割データの結合配列がコンテンツカタログにおいて分割データIDで規定されているときに、複数の分割データを第1記憶部102に記憶したとき、これらの分割データに割り当てられた分割データIDに基づいて、これらの分割データの配列順番を判定して、分割データの並び替えを行う。このように、制御部101は、複数の分割データを所定の順番で配列して結合する再生処理手段として機能する。なお、分割データの結合は、第1記憶部102に記憶した分割データが所定の順番で読み出せるようにする処理であればよく、従って、第1記憶部102の記憶領域に連続的に記憶された一つのデータとすることは必ずしも必要はない。
結合処理を終了すると、制御部101は、デスクランブル処理を行う(ステップS31)。このデスクランブル処理は、図12を参照して説明したように、結合した分割データを所定のデータサイズで区切って並べ替えを行う処理である。すなわち、制御部101は、並べ替えを行って結合した分割データを第1記憶部102から取り出して、予め定められた規則に従って、第1のデータサイズ単位αで分割して再生順に並び替えることによりデスクランブル処理を行って、コンテンツデータを順次先頭のデータから生成していき、バッファメモリ104へ順次記憶する。この処理が終了すると、制御部101は、分割データの結合処理及びデスクランブル処理を終了する。このように、制御部101は、結合処理を行ったデータを第1のデータサイズ単位αで分割して再生順に並び替える再生処理手段として機能する。
以上のように、本実施形態におけるコンテンツ配信システムSでは、1つのコンテンツデータをスクランブル処理及び分割処理して生成された複数の分割データが分散して複数の端末装置1に保持されることになるから、各端末装置1に保持したデータから1つのコンテンツデータが読み取られる可能性を低減できる。
[7.コンテンツ投入装置の具体的構成及び動作の説明]
次に、図面を参照して、コンテンツ投入装置10の具体的構成及び動作の一例について説明する。
(コンテンツ投入装置の構成について)
まず、コンテンツ投入装置10の構成について説明する。図18は、本実施形態に係るコンテンツ配信システムSにおけるコンテンツ投入装置10の具体的構成を示す図である。
コンテンツ投入装置10は、専用のコンピュータの他、一般のサーバコンピュータを適用可能であり、図18に示すように、制御部201と、端末装置1の所在情報やカタログ等を記憶する書き換え可能な記憶部202と、コンテンツデータ及び分割データを記憶するハードディスク(HDD)203と、コンテンツデータの分割データの投入を指示するための入力部204と、入力部204への入力によって投入を指示された分割データを端末装置1へ送信するために一時的に記憶するバッファメモリ205と、ネットワーク8を介して、端末装置1と通信するための通信部206とを備えている。なお、制御部201、記憶部202、ハードディスク203、バッファメモリ205、通信部206は、システムバス210を介して相互に接続されている。
制御部201は、CPU(Central Processing Unit)、不揮発性メモリ及びRAM(Random Access Memory)から構成される。この不揮発性メモリには、コンテンツデータから分割データを生成し、コンテンツ配信システムSに参加している端末装置1に分割データを投入するための情報処理プログラムが格納されており、CPUは不揮発性メモリに記憶されている情報処理プログラムを読み出して実行することによって、生成手段、配信手段等として機能する。
なお、この情報処理プログラムは、例えば、ネットワーク8に接続されたサーバ(図示せず)から、通信部206を介して、制御部201の不揮発性メモリにダウンロードされるようにしてもよく、又CD−ROM等の記録媒体に記録されてから図示しない記録媒体ドライブを介して、制御部201の不揮発性メモリに読み込まれるようにしてもよい。
(コンテンツ投入装置の動作について)
以上のように構成されたコンテンツ投入装置10の動作を具体的に説明する。図19はコンテンツ投入装置10のコンテンツ投入処理フローチャートである。なお、以下の各処理は、コンテンツ投入装置10の制御部201が上述した各手段等として機能することによって実行されるものである。ここでは、本実施形態に係る特徴的な部分であるコンテンツデータの投入の動作を主として説明しており、一部の動作内容は省略している。
図19に示すように、コンテンツ投入処理を開始すると、コンテンツ投入装置10の制御部201は、投入するコンテンツデータを選択する(ステップS50)。この選択処理は、予め記憶部202に記憶したスケジュール(例えば、コンテンツデータ毎の公開日時が定められている)に応じて行われるものである。
次に制御部201は、選択したコンテンツデータのスクランブル処理を行ってスクランブルデータを生成する(ステップS51)。この処理は、図5を参照して説明した処理である。すなわち、制御部201は、コンテンツデータを第1のデータサイズ単位αで区切った後、第1のデータサイズ単位αで区切ったデータを所定の規則に従って並び替えることによってスクランブルデータを生成するスクランブル処理を行う(図5(b)参照)。なお、図6を参照して説明したように、ダミーデータを加えて並び替えを行うようにしてもよい。
次に制御部201は、スクランブルデータを分割して複数の分割データを生成する(ステップS52)。すなわち、制御部201は、ステップS51でスクランブル処理を行って生成したスクランブルデータを第1のデータサイズ単位αよりも大きい第2のデータサイズ単位β(ここでは、β=n×α:nは2以上の自然数)で分割することによって、複数の分割データを生成する(図5(c)参照)。
このように分割データを生成した後、制御部201は、コンテンツ配信システムSに参加している端末装置1の中から複数の端末装置1をランダムに選択する(ステップS53)。ここで、端末装置1がコンテンツ配信システムSに参加したとき、端末装置1はコンテンツ投入装置10へ所在情報を通知するようにしており、制御部201は通信部206を介してコンテンツ配信システムSに参加している端末装置1の所在情報を受信し、記憶部202に記憶している。
制御部201は、ステップS53においてランダムに選択した端末装置1の所在情報を記憶部202から取り出して、この所在情報に基づいて前記選択した端末装置1へ分割データを通信部206を介して送信して(ステップS54)、コンテンツ投入処理を終了する。
このように、コンテンツ投入装置10では、コンテンツデータの投入時期になると、投入すべきコンテンツデータのスクランブル処理及び分割処理を行って分割データを生成し、コンテンツ配信システムSに参加している端末装置1に投入するようにしており、これにより、1つのコンテンツデータをスクランブル処理及び分割処理して生成された複数の分割データを分散して複数の端末装置1に保持させることができる。
[8.変形例]
上述においては、コンテンツ投入装置10におけるスクランブル処理及び分割処理を、スクランブル処理後に分割処理を行うようにしたが、分割処理を行った後に、スクランブル処理を行うようにしてもよい。図20はコンテンツ投入装置10の他のコンテンツ投入処理フローチャート、図21はコンテンツ投入装置10における他の分割データの生成手順を説明するための図である。なお、図20におけるステップS60,ステップS63,ステップS64の処理は、図19におけるステップS50,ステップS53,ステップS54の処理と同様である。
コンテンツ投入装置10の制御部201は、コンテンツ投入処理を開始して、投入するコンテンツデータを選択すると(ステップS60)、このコンテンツデータを、第2単位(分割データのデータサイズ)で分割する(ステップS61)。例えば、図21(a)に示すように、コンテンツデータを第2のデータサイズ単位βで3個に区切って分割データ1’〜分割データ3’とする。
その後、制御部201は、分割データ(第2単位)よりもデータサイズが小さい第1単位で分割して並び替えることによってスクランブル処理を行って分割データを生成する(ステップS62)。例えば、図21(b)に示すように、各分割データ1’〜3’をそれぞれ第1のデータサイズ単位αで区切り、この第1のデータサイズ単位α(ここでは、α=β/n:nは2以上の自然数)のデータを並び替えることによってスクランブル処理し、分割データ1〜分割データ3を生成する(図21(c)参照)。なお、上述の実施形態と同様に第1のデータサイズ単位αは、コンテンツデータの一部としての再生もできないデータサイズ単位とすることが好適である。
また、図21(c)に示したようなスクランブル処理ではなく、ダミーデータを挿入してスクランブル処理を行うようにすることもできる。このようにすることで、端末装置1に保存した分割データが読み取られたとしても、デスクランブル処理を困難にすることができる。例えば、制御部201は、分割データ1’〜分割データ3’を生成した後、各分割データ1’〜3’をそれぞれ第1のデータサイズ単位αで区切ったデータにダミーデータを加えてスクランブル処理により並び替えた分割データ1〜分割データ3を生成する(図21(d)参照)。
このように、分割データは、コンテンツデータを、当該分割データのデータサイズに分割し、さらに分割後のデータをそれぞれ当該データよりもデータサイズが小さい第1単位で分割して並び替えることによってスクランブル処理して生成される。
コンテンツ投入装置10は、このように生成した分割データを、コンテンツ配信システムSに参加している複数の端末装置1から任意の端末装置1を選択して投入する(ステップS63,S64)。
このように生成された複数の分割データに基づくコンテンツデータの生成は、端末装置1によって次のように行われる。なお、分割データの結合処理及びデスクランブル処理以外の処理は上記実施形態と同様にあることから説明を省略し、分割データの結合処理及びデスクランブル処理のみ説明する。図22は1の他の分割データの結合処理及びデスクランブル処理フローチャート、図23は端末装置1における他のコンテンツデータ再生方法の概要を説明するための図である。
図22に示すように、制御部101は、分割データの結合処理及びデスクランブル処理を開始すると、まず、各分割データのそれぞれについてデスクランブル処理を行う(ステップS40)。すなわち、制御部101は、各分割データをそれぞれ第1のデータサイズ単位αで分割し、コンテンツカタログに記述された予め定められた規則に従って、再生順に並び替えることによってデスクランブル処理して各分割データを再生可能な分割データ1’〜分割データ3’として、第1記憶部102に記憶する(図23(b)参照)。このように制御部101は、各分割データ内のデータを第1単位で並び替えることによってデスクランブル処理を行う再生処理手段として機能する。
その後、制御部101は、再生可能にした分割データを結合する結合処理を行ってコンテンツデータを生成する(ステップS41)。すなわち、制御部101は、再生可能とした複数の分割データを、コンテンツカタログに記述された分割データの配列に従って、第1記憶部102から順次取り出して、バッファメモリ104へ順次記憶していくことによって、再生可能な分割データを所定の配列順番で結合する(図23(c)参照)。このように、制御部101は、複数の分割データを再生順で配列して結合することによって結合処理を行ってコンテンツデータを生成する再生処理手段として機能する。なお、分割データの結合は、第1記憶部102に記憶した分割データが所定の順番で読み出せるようにする処理であればよく、従って、ここでの結合処理を行った分割データは、第1記憶部102の記憶領域に連続的に記憶された一つのデータである必要はない。
以上、本発明の実施の形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
例えば、上記実施形態では、分割データをスクランブル処理及び分割処理を行うことによって生成したが、さらに所定の暗号化処理を施すようにしてもよい。例えば、コンテンツ投入装置10の制御部201は、コンテンツデータに暗号化処理を施し、或いは分割データとした後に暗号化処理を施すようにする。これにより、コンテンツデータを読み取られる危険性をより低減することが可能となる。この場合、端末装置1の制御部101は、分割データに復号化処理を施したり、生成したコンテンツデータに復号化処理を施したりすることでコンテンツデータを再生する。
また、上述においては、分割データの配列等は、コンテンツカタログにその情報が含まれていることとして説明したが、端末装置1において予め決められた配列規則を記憶しておき、それに基づき分割データの配列を判断してもよい。
また、上述においては、分割データに分割データIDを割り当てることとしたが、コンテンツデータにコンテンツIDを割り当てるようにしてもよい。この場合、分割データを保持するデータ保持端末装置は、分割データの基となるコンテンツデータのコンテンツIDを宛先として登録メッセージを送信するようにする。これにより、コンテンツIDのルート端末装置に分割データを保持する端末装置1の所在情報がインデックス情報として保持されることになる。そして、リクエスタからの検索メッセージに対して、ルート端末装置は自装置が管理するコンテンツIDが割り当てられたコンテンツデータを分割した分割データを保持するデータ保持端末装置の所在情報を、全ての分割データについて取り出して、リクエスタに送信して通知することで、リクエスタは要求したコンテンツIDに対応する全ての分割データをデータ保持端末装置から取得することができるようになる。
本発明の一実施形態に係るコンテンツ配信システムにおける各端末装置及びコンテンツ投入装置の接続態様の一例を示す図である。 ID空間の説明図である。 ルーティングテーブルを説明するための図である。 ルーティングテーブルの一例である。 分割データの生成手順を示す図である。 分割データの別の生成手順を示す図である。 コンテンツ投入装置から分割データが投入される様子を示す図である。 データ保持端末装置の登録メッセージがDHTルーティングにより転送される様子を示す図である。 インデックステーブルの一例である。 分割データを保持している端末装置が検索される様子の一例を示す図である。 端末装置におけるコンテンツデータ再生方法の概要を説明するための図である。 端末装置におけるコンテンツデータ再生方法の概要を説明するための図である。 端末装置における分割データの保存処理を説明するための図である。 端末装置の具体的構成を示す図である。 端末装置のメイン処理フローチャートである。 端末装置のコンテンツ再生処理フローチャートである。 端末装置の分割データの結合処理及びデスクランブル処理フローチャートである。 コンテンツ投入装置の具体的構成を示す図である。 コンテンツ投入装置のコンテンツ投入処理フローチャートである。 コンテンツ投入装置の他のコンテンツ投入フローチャートである。 分割データの他の生成手順を示す図である。 端末装置の他の分割データの結合処理及びデスクランブル処理フローチャートである。 端末装置における他のコンテンツデータ再生方法の概要を説明するための図である。
符号の説明
S コンテンツ配信システム
1 端末装置
10 コンテンツ投入装置
8 ネットワーク
101 端末装置の制御部
102 端末装置の第1記憶部
103 端末装置の第2記憶部
111 端末装置の通信部
201 コンテンツ投入装置の制御部
202 コンテンツ投入装置の記憶部
203 コンテンツ投入装置のハードディスク
206 コンテンツ投入装置の通信部

Claims (9)

  1. 1つのコンテンツデータをスクランブル処理及び分割処理して生成された複数の分割データが分散して複数の装置に保持され、当該複数の装置から通信路を介して前記複数の分割データを取得して前記コンテンツデータを再生するコンテンツ再生装置であって、
    前記複数の分割データを前記通信路を介して前記複数の装置から取得する取得処理手段と、
    前記取得した複数の分割データの結合処理及びデスクランブル処理を行って前記コンテンツデータを生成して再生する再生処理手段と、
    前記再生されるコンテンツデータにおける前記複数の分割データのうち一部の分割データを記憶手段に保持する記憶処理手段と、を備えた
    ことを特徴とするコンテンツ再生装置。
  2. 前記分割データは、前記コンテンツデータを、前記分割データよりもデータサイズが小さい第1単位で分割して並び替えることによってスクランブル処理され、当該スクランブル処理されたデータを前記第1単位よりもデータサイズが大きな第2単位で分割して生成されたものであり、
    前記再生処理手段は、前記複数の分割データを所定の順番で配列して結合し、前記第1単位で分割して再生順に並び替えることによって結合処理及びデスクランブル処理して前記コンテンツデータを生成する
    ことを特徴とする請求項1に記載のコンテンツ再生装置。
  3. 前記分割データは、前記コンテンツデータを、当該分割データのデータサイズに分割し、さらに分割後のデータをそれぞれ当該データよりもデータサイズが小さい第1単位で分割して並び替えることによってスクランブル処理して生成されたものであり、
    前記再生処理手段は、各前記分割データ内のデータを前記第1単位で並び替えた後、これら複数の分割データを再生順で配列して結合することによって結合処理及びデスクランブル処理して前記コンテンツデータを生成する
    ことを特徴とする請求項1に記載のコンテンツ再生装置。
  4. 前記記憶処理手段は、前記取得した複数の分割データのうち前記結合時の配列が互いに連続しない複数の分割データを前記一部の分割データとして前記記憶手段に記憶する
    ことを特徴とする請求項2又は請求項3に記載のコンテンツ再生装置。
  5. 前記記憶手段は、不揮発性メモリであることを特徴とする請求項1〜4のいずれか1項に記載のコンテンツ再生装置。
  6. コンピュータを、請求項1〜5のいずれか1項に記載のコンテンツ再生装置の前記各手段として機能させるプログラム。
  7. 1つのコンテンツデータをスクランブル処理及び分割処理することによって複数の分割データを生成する生成手段と、前記複数の分割データを複数の端末装置へ通信路を介して配信する配信手段とを有するコンテンツ投入装置と、前記複数の端末装置とを備えたコンテンツ配信システムであって、
    前記端末装置は、
    前記コンテンツ投入装置から前記通信路を介して前記分割データを受信する受信処理手段と、
    前記受信した分割データを記憶する記憶手段と、
    他の前記端末装置からの要求に応じて前記記憶手段に記憶した分割データを前記通信路を介して送信する送信処理手段と、
    再生するコンテンツデータを選択するためのコンテンツ選択手段と、
    前記選択されたコンテンツデータの分割データを保持する他の前記端末装置から前記通信路を介して前記複数の分割データを取得する取得処理手段と、
    前記取得した複数の分割データの結合処理及びデスクランブル処理を行って前記コンテンツデータを生成して再生する再生処理手段と、
    前記再生されるコンテンツデータにおける前記複数の分割データのうち一部の分割データを記憶手段に保持する記憶処理手段と、を有する
    ことを特徴とするコンテンツ配信システム。
  8. 前記複数の端末装置にはそれぞれ固有の装置識別情報が割り当てられ、前記複数の分割データにはそれぞれ固有のデータ識別情報が割り当てられており、
    前記端末装置は、
    前記記憶手段に記憶した分割データに割り当てられたデータ識別情報に対応する装置識別情報を有する他の前記端末装置へ自装置の所在情報を送信する所在情報送信処理手段と、
    自装置の端末識別情報に対応するデータ識別情報を有する分割データを保持する他の前記端末装置の所在情報を記憶する所在情報記憶手段と、を備え、
    前記取得処理手段は、前記コンテンツ選択手段により選択したコンテンツデータの各分割データのデータ識別情報に基づいて、前記複数の分割データを取得する
    ことを特徴とする請求項7に記載のコンテンツ配信システム。
  9. コンテンツデータの配信方法であって、
    コンテンツ投入装置が、1つのコンテンツデータをスクランブル処理及び分割処理して複数の分割データを生成するステップと、
    前記コンテンツ投入装置が、前記複数の分割データを分散して複数の端末装置へ通信路を介して配信するステップと、
    前記端末装置が、前記コンテンツ投入装置から前記通信路を介して前記分割データを受信するステップと、
    前記端末装置が、他の前記端末装置の要求に応じて前記受信した分割データを送信するステップと、
    前記端末装置が、コンテンツ選択手段によって選択されたコンテンツデータの分割データを保有する他の前記端末装置から前記通信路を介して前記複数の分割データを取得するステップと、
    前記端末装置が、前記取得した複数の分割データの結合処理及びデスクランブル処理を行って前記コンテンツデータを生成して再生するステップと、
    前記端末装置が、前記再生されるコンテンツデータについての前記複数の分割データのうち一部の分割データを記憶手段に保持するステップと、を有する
    ことを特徴とするコンテンツ配信方法。
JP2008050858A 2008-02-29 2008-02-29 コンテンツ再生装置及びそのプログラム、コンテンツ配信システム、コンテンツ配信方法 Pending JP2009211158A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008050858A JP2009211158A (ja) 2008-02-29 2008-02-29 コンテンツ再生装置及びそのプログラム、コンテンツ配信システム、コンテンツ配信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008050858A JP2009211158A (ja) 2008-02-29 2008-02-29 コンテンツ再生装置及びそのプログラム、コンテンツ配信システム、コンテンツ配信方法

Publications (1)

Publication Number Publication Date
JP2009211158A true JP2009211158A (ja) 2009-09-17

Family

ID=41184287

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008050858A Pending JP2009211158A (ja) 2008-02-29 2008-02-29 コンテンツ再生装置及びそのプログラム、コンテンツ配信システム、コンテンツ配信方法

Country Status (1)

Country Link
JP (1) JP2009211158A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011182061A (ja) * 2010-02-26 2011-09-15 Nippon Hoso Kyokai <Nhk> 通信端末およびデータ配信方式切り替えプログラム
WO2012169037A1 (ja) * 2011-06-09 2012-12-13 三菱電機株式会社 プログラマブルコントローラシステム
JP2013097804A (ja) * 2011-10-28 2013-05-20 Samsung Sds Co Ltd データ送信装置及び方法
WO2021045277A1 (ko) * 2019-09-06 2021-03-11 엘지전자 주식회사 디스플레이 장치 및 그의 동작 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000216807A (ja) * 1999-01-22 2000-08-04 Toyo Commun Equip Co Ltd 電子メ―ル配送システム
JP2004295439A (ja) * 2003-03-26 2004-10-21 Stark Co Ltd 負荷軽減型コンテンツ配信システム
JP2006285533A (ja) * 2005-03-31 2006-10-19 Research Organization Of Information & Systems シーケンシャル・コンテンツ配信装置、シーケンシャル・コンテンツ受信装置及びその方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000216807A (ja) * 1999-01-22 2000-08-04 Toyo Commun Equip Co Ltd 電子メ―ル配送システム
JP2004295439A (ja) * 2003-03-26 2004-10-21 Stark Co Ltd 負荷軽減型コンテンツ配信システム
JP2006285533A (ja) * 2005-03-31 2006-10-19 Research Organization Of Information & Systems シーケンシャル・コンテンツ配信装置、シーケンシャル・コンテンツ受信装置及びその方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011182061A (ja) * 2010-02-26 2011-09-15 Nippon Hoso Kyokai <Nhk> 通信端末およびデータ配信方式切り替えプログラム
WO2012169037A1 (ja) * 2011-06-09 2012-12-13 三菱電機株式会社 プログラマブルコントローラシステム
CN103597416A (zh) * 2011-06-09 2014-02-19 三菱电机株式会社 可编程控制器系统
JP5523630B2 (ja) * 2011-06-09 2014-06-18 三菱電機株式会社 プログラマブルコントローラシステム
JP2013097804A (ja) * 2011-10-28 2013-05-20 Samsung Sds Co Ltd データ送信装置及び方法
WO2021045277A1 (ko) * 2019-09-06 2021-03-11 엘지전자 주식회사 디스플레이 장치 및 그의 동작 방법

Similar Documents

Publication Publication Date Title
US7894471B2 (en) Content distribution system, content distribution method, terminal apparatus in content distribution system, and recording medium on which program is recorded
US7882168B2 (en) Contents distribution system, node apparatus and information processing method thereof, as well as recording medium on which program thereof is recorded
US20090169021A1 (en) Content distribution system, information processing method and terminal apparatus in content distribution system, and recording medium on which is recorded program thereof
JP2008250569A (ja) コンテンツ配信システム及びその情報処理方法並びにコンテンツ管理装置及びそのプログラム
US20090138714A1 (en) Communication apparatus, key server, management server, communication server, content distribution system, communication method, and recording medium
JP2007150846A (ja) コンテンツ再生システム
CN109151507B (zh) 视频播放系统及方法
JP2005057701A (ja) 情報処理装置、およびコンテンツ情報管理方法、並びにコンピュータ・プログラム
JP4344783B2 (ja) シード配信型ワンタイムid認証
JP2009211158A (ja) コンテンツ再生装置及びそのプログラム、コンテンツ配信システム、コンテンツ配信方法
JP2009272927A (ja) 通信装置、サーバ、及びプログラム
JP5992295B2 (ja) 通信制御装置、通信装置およびプログラム
JP6029936B2 (ja) 通信制御装置、通信装置およびプログラム
JP4877107B2 (ja) 情報配信システムにおける端末装置及び情報処理プログラム、並びに端末装置の情報処理方法
JP2010141567A (ja) 通信装置、通信方法及びプログラム
WO2008041422A1 (fr) Terminal de système de distribution de contenu, son procédé de traitement d&#39;information et programme contenant un support d&#39;enregistrement
JP2008294648A (ja) 情報配信システム、同システムに用いる端末装置及びプログラム、並びに情報処理方法
JP5168055B2 (ja) 通信システム、端末装置及びコンテンツ情報取得方法
JP4797679B2 (ja) コンテンツ配信システム、コンテンツデータ管理装置及びその情報処理方法並びにそのプログラム
JP4452105B2 (ja) 復号情報生成装置及びそのプログラム、配信用コンテンツ生成装置及びそのプログラム、並びに、コンテンツ復号装置及びそのプログラム
JP2005218023A (ja) 鍵配信システム
JP4598437B2 (ja) 復号情報生成装置及びそのプログラム、配信用コンテンツ生成装置及びそのプログラム、並びに、コンテンツ復号装置及びそのプログラム
JP2008210295A (ja) コンテンツ配信システム及びその情報処理方法並びにコンテンツ管理装置及びそのプログラム
JP5071262B2 (ja) 情報配信システム、同情報配信システムにおける端末装置、配信サーバ及び投入サーバ並びにそのプログラム
JP2006148373A (ja) 分割コンテンツ情報生成装置、コンテンツ配信システム及び分割コンテンツ情報生成装置の動作方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111026

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111108

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120228