JP2006031775A - 情報処理装置および情報処理方法、並びにプログラム - Google Patents
情報処理装置および情報処理方法、並びにプログラム Download PDFInfo
- Publication number
- JP2006031775A JP2006031775A JP2004206386A JP2004206386A JP2006031775A JP 2006031775 A JP2006031775 A JP 2006031775A JP 2004206386 A JP2004206386 A JP 2004206386A JP 2004206386 A JP2004206386 A JP 2004206386A JP 2006031775 A JP2006031775 A JP 2006031775A
- Authority
- JP
- Japan
- Prior art keywords
- content
- management information
- program
- check
- content management
- 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.)
- Withdrawn
Links
Images
Abstract
【課題】コンテンツを効率良く管理し、チェックアウト処理の応答速度を高めることができるようにする。
【解決手段】 コンテンツ管理情報データベース115は、2のL乗個のコンテンツ管理情報ファイル161を記憶している。コンテンツ管理情報ファイル161には、コンテンツ管理情報が格納されている。チェックイン/チェックアウト管理プログラム132は、コンテンツ管理情報に含まれる項目「コンテンツID」の値であるコンテンツIDと、(2のL乗―1)との論理積に基づいて、コンテンツ管理情報を格納するコンテンツ管理情報ファイル161を選択し、その選択したコンテンツ管理情報ファイル161に、コンテンツ管理情報を記憶させる。本発明は、例えば、コンテンツを管理する情報処理装置に適用することができる。
【選択図】図4
【解決手段】 コンテンツ管理情報データベース115は、2のL乗個のコンテンツ管理情報ファイル161を記憶している。コンテンツ管理情報ファイル161には、コンテンツ管理情報が格納されている。チェックイン/チェックアウト管理プログラム132は、コンテンツ管理情報に含まれる項目「コンテンツID」の値であるコンテンツIDと、(2のL乗―1)との論理積に基づいて、コンテンツ管理情報を格納するコンテンツ管理情報ファイル161を選択し、その選択したコンテンツ管理情報ファイル161に、コンテンツ管理情報を記憶させる。本発明は、例えば、コンテンツを管理する情報処理装置に適用することができる。
【選択図】図4
Description
本発明は、情報処理装置および情報処理方法、並びにプログラムに関し、特に、コンテンツを効率良く管理し、チェックアウト処理の応答速度を高めることができるようにする情報処理装置および情報処理方法、並びにプログラムに関する。
例えば、コンテンツを蓄積(記憶)し、そのコンテンツのチェックアウトを行う情報処理装置において、コンテンツの使用状態(例えば、チェックアウト回数等)を管理する管理情報(以下、コンテンツ管理情報という)が記憶される情報処理装置がある(例えば、特許文献1参照)。
この情報処理装置は、改竄されたコンテンツ管理情報に基づいて、チェックアウト処理を行うことを防止するため、コンテンツ管理情報のハッシュ値を算出し、コンテンツ管理情報とともに記憶する。そして、情報処理装置は、そのハッシュ値に基づいて、コンテンツ管理情報が改竄されたかどうかを判定し、コンテンツ管理情報が改ざんされていないと判定した場合のみ、チェックアウト処理を行う。
近年、ハードディスクを記録媒体とするポータブルデバイス(Portable Device)(以下、PDという)の出現により、PDへの大量のコンテンツのチェックアウトが可能となっている。大量のコンテンツのチェックアウトを行う場合、そのコンテンツの使用状態を管理するコンテンツ管理情報が膨大となる。また、コンテンツ管理情報がチェックアウト先に関する情報を含んでいる場合、チェックアウト先が複数存在するとき、コンテンツ管理情報は膨大となる。
このように、コンテンツ管理情報が膨大となる場合、コンテンツ管理情報を記憶するデータベースに対するI/0(In/Out)処理や、コンテンツ管理情報のハッシュ値を算出する処理に、多大な時間を必要とする。上述したように、特許文献1に記載の情報処理装置では、コンテンツ管理情報のハッシュ値に基づいて、チェックアウト処理を行うので、コンテンツ管理情報のハッシュ値を算出するために、多大な時間が必要となる場合、チェックアウト処理の応答速度が低下する恐れがある。
本発明は、このような状況に鑑みてなされたものであり、コンテンツを効率良く管理し、チェックアウト処理の応答速度を高めることができるようにするものである。
本発明の情報処理装置は、コンテンツの管理情報を記憶する2のL乗個(Lは0以上の整数)の記憶手段と、管理情報に含まれる所定の項目に関する第1のデータと、(2のL乗―1)との論理積に基づいて、記憶手段を選択し、その選択した記憶手段に、管理情報を記憶させる記憶制御手段とを備えることを特徴とする
この情報処理装置には、2のL乗個の記憶手段を分割して、2の(L+P)乗(Pは正の数)個の記憶手段を生成する分割手段をさらに設けることができる。
分割手段は、ユーザから指定されたタイミングで、2のL乗個の記憶手段を分割することができる。
分割手段は、管理情報のサイズが所定の値以上となる場合に、2のL乗個の記憶手段を分割することができる。
情報処理装置には、2の(L+P)乗個の記憶手段を結合して、2の(L+P―Q)(L+P≧Q)乗個の記憶手段を生成する結合手段を設けることができる。
結合手段は、ユーザから指定されたタイミングで、2の(L+P)乗個の記憶手段を結合することができる。
結合手段は、管理情報のサイズが所定の値未満となる場合に、2の(L+P)乗個の記憶手段を結合することができる。
第1のデータは、項目のデータである。
第1のデータは、項目のデータのハッシュ値である。
本発明の情報処理方法は、管理情報に含まれる所定の項目に関する第1のデータと、(2のL乗―1)との論理積に基づいて、記憶手段を選択し、その選択した記憶手段に、管理情報を記憶させる記憶制御ステップを含むことを特徴とする。
本発明のプログラムは、管理情報に含まれる所定の項目に関する第1のデータと、(2のL乗―1)との論理積に基づいて、記憶手段を選択し、その選択した記憶手段に、管理情報を記憶させる記憶制御ステップを含むことを特徴とする。
このプログラムには、2のL乗個の記憶手段を分割して、2の(L+P)乗(Pは正の数)個の記憶手段を生成する分割ステップをさらに含むことができる。
分割ステップの処理は、ユーザから指定されたタイミングで、2のL乗個の記憶手段を分割することができる。
分割ステップの処理は、管理情報のサイズが所定の値以上となる場合に、2のL乗個の記憶手段を分割することができる。
プログラムには、2の(L+P)乗個の記憶手段を結合して、2の(L+P―Q)(L+P≧Q)乗個の記憶手段を生成する結合ステップをさらに含むことができる。
結合ステップの処理は、ユーザから指定されたタイミングで、2の(L+P)乗個の記憶手段を結合することができる。
結合ステップの処理は、管理情報のサイズが所定の値未満となる場合に、2の(L+P)乗個の記憶手段を結合することができる。
第1のデータは、項目のデータである。
第1のデータは、項目のデータのハッシュ値である。
本発明においては、コンテンツの管理情報を記憶する2のL乗個(Lは0以上の整数)の記憶手段を備え、管理情報に含まれる所定の項目に関する第1のデータと、(2のL乗―1)との論理積に基づいて、記憶手段を選択し、その選択した記憶手段に、管理情報を記憶させる。
本発明によれば、コンテンツを効率良く管理し、チェックアウト処理の応答速度を高めることができる。
以下に本発明の実施の形態を説明するが、請求項に記載の構成要件と、発明の実施の形態における具体例との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする具体例が、発明の実施の形態に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、構成要件に対応するものとして、ここには記載されていない具体例があったとしても、そのことは、その具体例が、その構成要件に対応するものではないことを意味するものではない。逆に、具体例が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その具体例が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
さらに、この記載は、発明の実施の形態に記載されている具体例に対応する発明が、請求項に全て記載されていることを意味するものではない。換言すれば、この記載は、発明の実施の形態に記載されている具体例に対応する発明であって、この出願の請求項には記載されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加される発明の存在を否定するものではない。
請求項1に記載の情報処理装置は、
コンテンツの管理を行う情報処理装置(例えば、図1のパーソナルコンピュータ1)において、
前記コンテンツの管理情報を記憶する2のL乗個(Lは0以上の整数)の記憶手段(例えば、図4のコンテンツ管理情報ファイル161−1乃至161−2L)と、
前記管理情報に含まれる所定の項目に関する第1のデータ(例えば、コンテンツID)と、(2のL乗―1)との論理積に基づいて、前記記憶手段を選択し、その選択した記憶手段に、前記管理情報を記憶させる記憶制御手段(例えば、図14のステップS40の処理を実行する図4のチェックイン/チェックアウト管理プログラム132)と
を備えることを特徴とする。
コンテンツの管理を行う情報処理装置(例えば、図1のパーソナルコンピュータ1)において、
前記コンテンツの管理情報を記憶する2のL乗個(Lは0以上の整数)の記憶手段(例えば、図4のコンテンツ管理情報ファイル161−1乃至161−2L)と、
前記管理情報に含まれる所定の項目に関する第1のデータ(例えば、コンテンツID)と、(2のL乗―1)との論理積に基づいて、前記記憶手段を選択し、その選択した記憶手段に、前記管理情報を記憶させる記憶制御手段(例えば、図14のステップS40の処理を実行する図4のチェックイン/チェックアウト管理プログラム132)と
を備えることを特徴とする。
請求項2に記載の情報処理装置は、
前記2のL乗個の記憶手段を分割して、2の(L+P)乗(Pは正の数)個の記憶手段を生成する分割手段(例えば、図19のステップS123の処理を実行する図4のチェックイン/チェックアウト管理プログラム132)
をさらに備える
ことを特徴とする。
前記2のL乗個の記憶手段を分割して、2の(L+P)乗(Pは正の数)個の記憶手段を生成する分割手段(例えば、図19のステップS123の処理を実行する図4のチェックイン/チェックアウト管理プログラム132)
をさらに備える
ことを特徴とする。
請求項5に記載の情報処理装置は、
前記2の(L+P)乗個の記憶手段を結合して、2の(L+P―Q)(L+P≧Q)乗個の記憶手段を生成する結合手段(例えば、図18のステップS101の処理を実行するチェックイン/チェックアウト管理プログラム132)
をさらに備える
ことを特徴とする。
前記2の(L+P)乗個の記憶手段を結合して、2の(L+P―Q)(L+P≧Q)乗個の記憶手段を生成する結合手段(例えば、図18のステップS101の処理を実行するチェックイン/チェックアウト管理プログラム132)
をさらに備える
ことを特徴とする。
請求項10に記載の情報処理方法は、
コンテンツの管理情報を記憶する2のL乗個(Lは0以上の整数)の記憶手段(例えば、図4のコンテンツ管理情報ファイル161−1乃至161−2L)を備える情報処理装置(例えば、図1のパーソナルコンピュータ1)の情報処理方法において、
前記管理情報に含まれる所定の項目に関する第1のデータ(例えば、コンテンツID)と、(2のL乗―1)との論理積に基づいて、前記記憶手段を選択し、その選択した記憶手段に、前記管理情報を記憶させる記憶制御ステップ(例えば、図14のステップS40)
を含むことを特徴とする。
コンテンツの管理情報を記憶する2のL乗個(Lは0以上の整数)の記憶手段(例えば、図4のコンテンツ管理情報ファイル161−1乃至161−2L)を備える情報処理装置(例えば、図1のパーソナルコンピュータ1)の情報処理方法において、
前記管理情報に含まれる所定の項目に関する第1のデータ(例えば、コンテンツID)と、(2のL乗―1)との論理積に基づいて、前記記憶手段を選択し、その選択した記憶手段に、前記管理情報を記憶させる記憶制御ステップ(例えば、図14のステップS40)
を含むことを特徴とする。
請求項11に記載のプログラムは、
2のL乗個(Lは0以上の整数)の記憶手段(例えば、図4のコンテンツ管理情報ファイル161−1乃至161−2L)にコンテンツの管理情報を記憶させる記憶制御処理を、コンピュータに行わせるプログラムにおいて、
前記管理情報に含まれる所定の項目に関する第1のデータ(例えば、コンテンツID)と、(2のL乗―1)との論理積に基づいて、前記記憶手段を選択し、その選択した記憶手段に、前記管理情報を記憶させる記憶制御ステップ(例えば、図14のステップS40)
を含むことを特徴とする。
2のL乗個(Lは0以上の整数)の記憶手段(例えば、図4のコンテンツ管理情報ファイル161−1乃至161−2L)にコンテンツの管理情報を記憶させる記憶制御処理を、コンピュータに行わせるプログラムにおいて、
前記管理情報に含まれる所定の項目に関する第1のデータ(例えば、コンテンツID)と、(2のL乗―1)との論理積に基づいて、前記記憶手段を選択し、その選択した記憶手段に、前記管理情報を記憶させる記憶制御ステップ(例えば、図14のステップS40)
を含むことを特徴とする。
請求項12に記載のプログラムは、
前記2のL乗個の記憶手段を分割して、2の(L+P)乗(Pは正の数)個の記憶手段を生成する分割ステップ(例えば、図19のステップS123)
をさらに含む
ことを特徴とする。
前記2のL乗個の記憶手段を分割して、2の(L+P)乗(Pは正の数)個の記憶手段を生成する分割ステップ(例えば、図19のステップS123)
をさらに含む
ことを特徴とする。
請求項15に記載のプログラムは、
前記2の(L+P)乗個の記憶手段を結合して、2の(L+P―Q)(L+P≧Q)乗個の記憶手段を生成する結合ステップ(例えば、図18のステップS101)
をさらに含む
ことを特徴とする。
前記2の(L+P)乗個の記憶手段を結合して、2の(L+P―Q)(L+P≧Q)乗個の記憶手段を生成する結合ステップ(例えば、図18のステップS101)
をさらに含む
ことを特徴とする。
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
図1は、本発明を適用したコンテンツ管理システムの一実施の形態を示す図である。
なお、以下では、コンテンツを楽曲の1曲のデータとして説明するが、コンテンツは、楽曲のデータではなく、画像データであってもよい。また、コンテンツは、楽曲の1曲のデータではなく、複数曲のデータであってもよいし、1曲の一部のデータであってもよい。
図1のコンテンツ管理システムでは、パーソナルコンピュータ1がネットワーク2を介して、EMD(Electrical Music Distribution)登録サーバ3、EMDサーバ4−1乃至4−3、並びにWWW(World Wide Web)サーバ5−1および5−2に接続されている。また、パーソナルコンピュータ1は、USB(Universal Serial Bus)ケーブル7−1乃至7−3を介して、それぞれPD6−1乃至6−3に接続されている。
なお、以下では、EMD4−1乃至4−3を区別する必要がない場合、それらをまとめてEMD4といい、WWWサーバ5−1および5−2を区別する必要がない場合、それらをまとめてWWWサーバ5という。また、PD6−1乃至6−3を区別する必要がない場合、それらをまとめて、PD6といい、USBケーブル7−1乃至7−3を区別する必要がない場合、それらをまとめてUSBケーブル7という。
パーソナルコンピュータ1は、ネットワーク2を介して、EMDサーバ4から固有のID(以下、コンテンツIDという)が付加されたコンテンツと、コンテンツの曲名(タイトル)、トラック番号、アーティスト名(作曲者名)、ジャンル名、および演奏時間、並びにコンテンツを再生するための再生条件、コンテンツをチェックアウトするためのチェックアウト条件などのコンテンツに関連するデータ(以下、コンテンツ関連データという)とを受信する。なお、「コンテンツをチェックアウトする」とは、パーソナルコンピュータ1が、暗号化したコンテンツ、暗号化したコンテンツを復号するためのコンテンツ鍵、およびコンテンツ関連データなどのデータ(以下、適宜、チェックアウトデータという)をPD6に送信し、記憶させることである。
また、パーソナルコンピュータ1は、パーソナルコンピュータ1に装着された図示せぬCD(Compact Disc)から、コンテンツIDが付加されたコンテンツを取得する。さらに、パーソナルコンピュータ1は、EMDサーバ4からのコンテンツまたはCDからのコンテンツを、例えば、ATRAC3(Adaptive Transform Acoustic Coding)(商標)などの圧縮方式で変換するとともにDES(Data Encryption Standard)などの暗号化方式で暗号化し記憶する。
また、パーソナルコンピュータ1は、パーソナルコンピュータ1に装着されたCDに記憶されているコンテンツのコンテンツIDを用いて、WWWサーバ5から、そのコンテンツに対応するコンテンツ関連データを取得する。パーソナルコンピュータ1は、EMDサーバ4またはWWWサーバ5からのコンテンツ関連データ、並びにEMDサーバ4またはCDからのコンテンツに付加されたコンテンツIDおよびコンテンツをチェックアウトすることが可能なPD6の台数などのコンテンツ管理情報を記憶する。
パーソナルコンピュータ1は、USBケーブル7を介して、コンテンツをチェックアウトする。即ち、パーソナルコンピュータ1は、チェックアウトデータをPD6に送信して記憶させる。また、パーソナルコンピュータ1は、チェックアウトの対象となるコンテンツに対応するコンテンツ管理情報を更新する。具体的には、コンテンツのチェックアウトが行われた場合、パーソナルコンピュータ1は、そのコンテンツに対応するコンテンツ管理情報に含まれるチェックアウトすることが可能なPD6の台数を1台減らす。ここで、チェックアウトが可能なPD6の台数が0台である場合、パーソナルコンピュータ1は、コンテンツをチェックアウトすることができない(しない)。
また、パーソナルコンピュータ1は、USBケーブル7を介して、コンテンツをチェックインする。なお、チェックインとは、パーソナルコンピュータ1がチェックアウトしたチェックアウトデータを、PD6に消去、または使用不可能にさせることである。パーソナルコンピュータ1は、チェックインの対象となるコンテンツに対応するコンテンツ管理情報を更新する。具体的には、チェックインが行われた場合、そのコンテンツに対応するコンテンツ管理情報に含まれるチェックアウトすることが可能なPDの台数を、1台増やす。なお、パーソナルコンピュータ1は、図示せぬ他のパーソナルコンピュータがPD6にチェックアウトしたコンテンツに対してはチェックインを行わない。
EMD登録サーバ3は、例えば、パーソナルコンピュータ1がEMDサーバ4からコンテンツの取得を開始する場合、パーソナルコンピュータ1の要求に応じて、ネットワーク2を介して、パーソナルコンピュータ1とEMDサーバ4との相互認証に必要な認証鍵やEMDサーバ4に接続するためのプログラムなどをパーソナルコンピュータ1に送信する。
EMDサーバ4は、パーソナルコンピュータ1の要求に応じて、ネットワーク2を介して、コンテンツIDが付加されたコンテンツと、対応するコンテンツ関連データとを、パーソナルコンピュータ1に供給する。なお、各EMDサーバ4が供給するコンテンツは、同一の圧縮方式で圧縮されていてもよいし、異なる圧縮の方式で圧縮されていてもよい。
WWW(World Wide Web)サーバ5は、パーソナルコンピュータ1の要求に応じて、ネットワーク2を介して、パーソナルコンピュータ1に装着されたCDに記憶されているコンテンツに対応するコンテンツ関連データをパーソナルコンピュータ1に供給する。
PD6は、パーソナルコンピュータ1から供給されるチェックアウトデータの暗号化されたコンテンツを、コンテンツ鍵で復号する。そして、PD6は、復号後のコンテンツとコンテンツ関連データを記憶する。即ち、パーソナルコンピュータ1に記憶されているコンテンツのチェックアウトが、PD6に対して行われる。PD6は、チェックアウトされたコンテンツを、対応するコンテンツ関連データに基づいて再生し、図示せぬヘッドフォンなどに出力する。
ユーザは、コンテンツがチェックアウトされたPD6をパーソナルコンピュータ1から取り外して、持ち歩くことにより、そのPD6に記憶されているコンテンツを様々な場所で再生させ、ヘッドフォンなどで聴くことができる。なお、PD6には、PD6に固有のID(以下、PDIDという)が付されている。
以上のように構成されるコンテンツ管理システムでは、パーソナルコンピュータ1が、EMD登録サーバ3からネットワーク2を介して、EMDサーバ4との相互認証に必要な認証鍵を受信し、その認証鍵を用いて、EMDサーバ4からコンテンツと、対応するコンテンツ関連データとを取得する。また、パーソナルコンピュータ1は、装着されたCDからコンテンツを読み出すとともに、WWWサーバ5からネットワーク2を介して、そのコンテンツに対応するコンテンツ関連データを取得する。そして、パーソナルコンピュータ1は、取得したコンテンツをPD6にチェックアウトする。
図2は、パーソナルコンピュータ1の構成例を示すブロック図である。
CPU(Central Processing Unit)11、ROM(Read-only Memory)12、およびRAM13(Random-Access Memory)は、CPUバスなどから構成されるホストバス14を介して接続されている。
CPU11は、各種のアプリケーションプログラムや、OS(Operating System)を実行する。ROM12は、例えば、CPU11が使用するプログラムや演算用のパラメータのうちの固定のデータを格納する。RAM13は、例えば、CPU11が使用するプログラムや、プログラムの実行により適宜変化するパラメータを格納する。
ホストバス14は、ブリッジ15を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス16に接続されている。外部バス16は、インターフェース17を介して、キーボード18、マウス19、ディスプレイ20、HDD(Hard Disk Drive)21、ドライブ22、およびUSB(Universal Serial Bus)ポート23−1乃至23−3に接続されている。また、外部バス16は、音声出力インターフェース24、通信部25、およびアダプタ26に接続されている。
キーボード18は、CPU11に各種の指令を入力するとき、ユーザにより操作される。マウス19は、ディスプレイ20の画面上のポイントの指令や選択を行うとき、ユーザにより操作される。ディスプレイ20は、液晶表示装置またはCRT(Cathode Ray Tube)などから構成され、各種の情報をテキストやイメージで表示する。HDD21は、図示せぬハードディスクを駆動し、CPU11が実行するプログラムや情報を記録または再生させる。
例えば、HDD21は、ネットワーク2、通信部25、外部バス16、およびインターフェース17を介してEMDサーバ4から供給されるコンテンツと対応するコンテンツ関連データ、またはドライブ22とインターフェース17を介してCDなどの光ディスク42から供給されるコンテンツと、ネットワーク2、通信部25、外部バス16、およびインターフェース17を介してWWWサーバ5から供給されるそのコンテンツに対応するコンテンツ関連データを、ハードディスクに記憶させたり、ハードディスクから再生する。また、ハードディスクには、例えば、コンテンツを暗号化するための暗号鍵が記憶されており、HDD21は、その暗号鍵をハードディスクから読み出す。
ドライブ22は、そこに装着される磁気ディスク41、CDなどの光ディスク42、光磁気ディスク43、または半導体メモリ44に記録されているデータまたはプログラムを読み出して、そのデータまたはプログラムを、インターフェース17、外部バス16、ブリッジ15、およびホストバス14を介してRAM13に供給する。
USBポート23−1乃至23−3には、USBケーブル7−1乃至7−3を介して、PD6−1乃至6−3がそれぞれ接続される。なお、以下では、USBポート23−1乃至23−3をそれぞれ区別する必要がない場合、それらをまとめてUSBポート23といい、USBケーブル7−1乃至7−3を区別する必要がない場合、それらをまとめてUSBケーブル7という。USBポート23は、HDD21により再生され、インターフェース17を介してHDD21から供給されるコンテンツと対応するコンテンツ関連データを、PD6に出力する。
音声出力インターフェース24は、コンテンツに対応する音声信号の出力のインターフェース処理を実行する。音声出力インターフェース24は、例えば、スピーカ45にコンテンツに対応する音声信号を供給する。スピーカ45は、音声出力インターフェース24から供給される音声信号に基づいて、コンテンツに対応する音声を出力する。なお、音声信号は、アナログ信号であってもよいし、デジタル信号であってもよい。
通信部25には、ネットワーク2が接続され、通信部25は、CPU11から供給されるEMDサーバ4との相互認証に必要な認証鍵の送信要求やコンテンツの送信要求などのデータを、所定の方式のパケットに格納して、ネットワーク2を介して、送信する。また、通信部25は、ネットワーク2を介してパケットを受信し、そのパケットに格納されている認証鍵やコンテンツなどを、外部バス16、ブリッジ15、およびホストバス14を介してCPU11またはRAM13に、もしくは外部バス16とインターフェース17を介して、HDD21に出力する。
アダプタ26は、半導体IC(Integrated Circuit)として形成され、パーソナルコンピュータ1に装着される。アダプタ26のCPU32は、インターフェース31を介して外部バス16と接続されている。CPU32は、インターフェース31、外部バス16、ブリッジ15、およびホストバス14を介して、パーソナルコンピュータ1のCPU11と共働し、各種の処理を実行する。
アダプタ26のRAM33は、CPU32が各種の処理を実行する上において必要なデータやプログラムを記憶する。不揮発性メモリ34は、パーソナルコンピュータ1の電源がオフされた後も保持する必要があるデータを記憶する。RTC(Real Time Clock)35は、計時動作を実行し、時刻情報を提供する。ROM36には、例えば、CPU11から、ホストバス14、ブリッジ15、外部バス16、およびインターフェース31を介して暗号化されているプログラムが供給されたとき、それを復号するためのプログラムが記憶されている。
図3は、PD6の構成例を示すブロック図である。
電源52は、所定の電力を各部に供給する。CPU53は、内部バス58を介して、USBコントローラ57、DSP(Digital Signal Processor)59、フラッシュメモリコントローラ60、デジタル/アナログ変換回路(D/A)63、および増幅回路64に接続されている。また、CPU53は、RAM54、ROM55、操作キーコントローラ62、LCDコントローラ66、およびEEPROM(Electronically Erasable and Programmable Read Only Memory)68に接続されている。CPU53は、ROM55に記憶されているプログラムを、RAM54にロードし、プログラムを実行する。なお、CPU53には、水晶からなる発振子53Aが外付けされており、CPU53は、発振子53Aからのマスタークロックに同期して、プログラムを実行する。
また、CPU53は、USBコントローラ57から、USBケーブル7を介してパーソナルコンピュータ1が接続されたことを表す割り込み信号が供給された場合、CPU53は、電源52を制御して、電源52からの電力の供給を停止させる。このとき、PD6の各部には、接続されているパーソナルコンピュータ1からUSBケーブル7を介して規定電流値の電力が供給される。
RAM54には、例えば、ROM55に記憶されているプログラムがロードされる。また、RAM54は、CPU53がプログラムを実行する上において必要なデータやプログラムを記憶する。ROM55は、例えば、CPU53が使用するプログラムや演算用のパラメータのうちの固定のデータを記憶する。
USBコネクタ56は、パーソナルコンピュータ1とUSBケーブル7を介して接続されている。USBコントローラ57は、USBコネクタ56に接続され、パーソナルコンピュータ1から送信されてくるチェックアウトデータを、USBケーブル7とUSBコネクタ56を介して受信する。USBコントローラ57は、受信したチェックアウトデータを、内部バス58を介して、CPU53に供給する。なお、USBコントローラ57には、水晶からなる発振子57Aが外付けされており、USBコントローラ57は、発振子57Aからのマスタークロックに同期して、チェックアウトデータをCPU53に供給する。
また、USBコントローラ57は、USBコネクタ56に、USBケーブル7を介してパーソナルコンピュータ1が接続されたことを検出し、パーソナルコンピュータ1が接続されたことを表す割り込み信号を、内部バス58を介してCPU53に供給する。
DSP59には、フラッシュメモリ61から、フラッシュメモリコントローラ60と内部バス58を介して、所定の圧縮方式で圧縮されているコンテンツと、そのコンテンツを伸張するための再生用コードが供給される。DSP59は、コンテンツに対して、例えばCRC(Cyclic Redundancy Check)方式で誤り検出を行い、その後、そのコンテンツを再生用コードに基づいて再生する。DSP59は、再生したコンテンツであるデータD1をD/A63に供給する。
DSP59は、内部に設けられた図示せぬ発振回路とともに一体的に構成され、外付けされた水晶からなる発振子59AからのマスタークロックMCLKに基づいて、コンテンツを再生するとともに、マスタークロックMCLKに基づいて、内部の発振回路で生成した所定の周波数のビットクロックBCLKと、フレーム単位のLチャンネルクロックLCLKおよびRチャンネルクロックRCLKからなる動作クロックLRCLKとをD/A63に供給する。
DSP59は、フラッシュメモリ61からのコンテンツを再生する場合、動作クロックLRCLKをD/A63に供給する。一方、DSP59は、コンテンツを再生しない場合、動作クロックLRCLKのD/A63への供給を停止する。これにより、DSP59は、D/A63の動作を停止させ、PD6全体の消費電力量を低減することができる。
フラッシュメモリコントローラ60は、CPU53の制御により、パーソナルコンピュータ1から受信した所定の圧縮方式で圧縮されたコンテンツ、即ちチェックアウト対象のコンテンツを、フラッシュメモリ61に書き込む。また、フラッシュメモリコントローラ60は、フラッシュメモリ61からコンテンツと再生用コードを読み出し、DSP59に供給する。フラッシュメモリ61は、パーソナルコンピュータ1から受信したコンテンツを記憶する。また、フラッシュメモリ61には、例えば、製造元により、製造時に再生用コードが記憶される。なお、フラッシュメモリ61は、PD6に対して着脱可能にすることができる。
操作キーコントローラ62は、図示せぬ操作ボタンのユーザによる押下に対応して、制御信号をCPU53に供給する。例えば、操作キーコントローラ62は、ユーザによる図示せぬ再生/停止ボタンの押し下げ操作に対応して、再生を指令する制御信号をCPU53に供給する。CPU53は、フラッシュメモリコントローラ60に、フラッシュメモリ61から、再生用コードとコンテンツを読み出させ、DSP59に供給させる。
D/A63は、再生したコンテンツをアナログの音声信号に変換して、増幅回路64に供給する。増幅回路64は、音声信号を増幅して、ヘッドフォンジャック65を介して、図示せぬヘッドフォンに音声信号を供給する。
LCDコントローラ66は、CPU53の制御により、表示部67に、例えば、イコライザ調整(音声信号の周波数帯域に対応した利得の調整)、コンテンツのトラック番号、演奏時間、再生、停止、早送り、早戻しなどの状態、音量、電源52の残量などの情報を出力し、表示させる。
EEPROM68は、フラッシュメモリ61に記憶されているコンテンツの数、それぞれのコンテンツが記憶されているフラッシュメモリ61のブロック位置などの、いわゆるFAT(File Allocation Table)を格納する。
例えば、1曲目のコンテンツがCPU53の制御によりフラッシュメモリ61に記憶されると、1曲目のコンテンツに対応するブロック位置がFATとしてEEPROM68に格納される。次に、2曲目のコンテンツがフラッシュメモリ61に記憶されると、2曲目のコンテンツに対応するブロック位置がFATとしてEEPROM68に格納される。このように、FATは、フラッシュメモリ61へコンテンツが記憶されるたびに書き換えられる。
図4は、CPU11が所定のプログラムを実行することにより実現される、パーソナルコンピュータ1の機能の構成例を示すブロック図である。
パーソナルコンピュータ1は、コンテンツ管理プログラム111、表示操作指示プログラム112、録音プログラム113、コンテンツデータベース114、コンテンツ管理情報データベース115、購入用アプリケーションプログラム116、並びにデバイスドライバ117−1と117−2から構成される。
コンテンツ管理プログラム111は、EMD選択プログラム131、チェックイン/チェックアウト管理プログラム132、暗号化方式変換プログラム133、圧縮方式変換プログラム134、暗号化プログラム135、圧縮/伸張プログラム136、コンテンツ関連データ変換プログラム137、コンテンツ管理情報管理プログラム138、認証プログラム139、復号プログラム140、PD用ドライバ141、購入用プログラム142、および購入用プログラム143から構成される。
コンテンツ管理プログラム111は、処理内容を外部から隠蔽し、その処理内容の読解が困難になるように、例えば、シャッフルされているインストラクション、または暗号化されているインストラクションなどで記述されている。従って、ユーザは、コンテンツ管理プログラム111を読み出したとしても、インストラクションを特定することは困難である。また、コンテンツ管理プログラム111には、例えば、作成元により、作成時にIDが記憶される。
EMD選択プログラム131は、表示操作指示プログラム112がEMD登録サーバ4に要求を行ったとき、EMD登録サーバ4からネットワーク2を介してインストールされる。EMD選択プログラム131は、表示操作指示プログラム112の指令により、EMDサーバ4−1乃至4−3のいずれかとの接続を選択し、その選択したEMDサーバ4との通信を、購入用アプリケーションプログラム116、購入用プログラム142、または購入用プログラム143に実行させる。例えば、EMD選択プログラム131は、EMDサーバ4からのコンテンツのダウンロードなどを、購入用アプリケーションプログラム116、購入用プログラム142、または購入用プログラム143に実行させる。
チェックイン/チェックアウト管理プログラム132は、表示操作指示プログラム112の指示により、コンテンツ管理情報データベース115に記憶されているコンテンツ管理情報ファイル161−1乃至161−2Lのコンテンツ管理情報に基づいて、PD6−1乃至6−3のいずれかにコンテンツをチェックアウトするチェックアウト処理を行う。具体的には、チェックイン/チェックアウト管理プログラム132は、コンテンツデータベース114から、チェックアウト対象のコンテンツを読み出し、暗号化方式変換プログラム133に供給する。また、チェックイン/チェックアウト管理プログラム132は、コンテンツデータベース114のコンテンツ関連テーブルと、コンテンツ管理情報ファイル115のコンテンツ管理情報とに含まれるチェックアウト対象のコンテンツに対応するコンテンツ関連データを、コンテンツ関連データ変換プログラム137に供給する。
そして、チェックイン/チェックアウト管理プログラム132は、PD用ドライバ141を介して、暗号化方式変換プログラム133から供給される圧縮方式および暗号化方式変換後のコンテンツおよびコンテンツ鍵、並びにコンテンツ関連データ変換プログラム137から供給されるフォーマット変換後のコンテンツ関連データなどのチェックアウトデータを、PD6に送信し、記憶させる。また、チェックイン/チェックアウト管理プログラム132は、表示操作指示プログラム112の指令により、PD用ドライバ141を介して、PD6に記憶されているコンテンツをチェックインするチェックイン処理を行う。
なお、以下では、コンテンツ管理情報ファイル161−1乃至161−2Lを区別する必要がない場合、それらをまとめてコンテンツ管理情報ファイル161という。また、Lとは、コンテンツ管理情報ファイル161の分割レベルを表す0以上の整数である。分割レベルLとは、コンテンツ管理情報ファイル161が2L個あることを表す。例えば、分割レベルLが0である場合、コンテンツ管理情報ファイル161は、コンテンツ管理情報ファイル161−1(コンテンツ管理情報ファイル161−20)の20(=1)個となる。
さらに、チェックイン/チェックアウト管理プログラム132は、コンテンツデータベース114に記憶されているコンテンツの管理を行う。具体的には、チェックイン/チェックアウト管理プログラム132は、コンテンツ関連データ変換プログラム137からのフォーマット変換後のコンテンツ関連データおよび暗号化プログラム135からの暗号化された暗号鍵などから、コンテンツ管理情報を作成する。そして、チェックイン/チェックアウト管理プログラム132は、コンテンツIDに基づいて、コンテンツ管理情報データベース115に登録されているコンテンツ管理情報ファイル161−1乃至161−2Lのいずれかを選択し、その選択したコンテンツ管理情報ファイル161に、そのコンテンツIDのコンテンツに対応するコンテンツ管理情報を供給する。また、チェックイン/チェックアウト管理プログラム132は、コンテンツ管理情報ファイル161に格納されているコンテンツ管理情報のハッシュ値を演算し、コンテンツ管理情報に付加する。
また、チェックイン/チェックアウト管理プログラム132は、コンテンツのチェックインまたはチェックアウトの処理に応じて、コンテンツ管理情報データベース115のコンテンツ管理情報ファイル161に格納されているコンテンツ管理情報を更新する。
さらに、チェックイン/チェックアウト管理プログラム132は、コンテンツ関連データ変換プログラム137から供給されるフォーマット変換後のコンテンツ関連データから、コンテンツ関連テーブルを作成し、コンテンツデータベース114に供給する。
暗号化方式変換プログラム133は、ネットワーク2を介して、購入用アプリケーションプログラム116、購入用プログラム142または購入用プログラム143から供給される暗号化されたコンテンツの暗号化方式を変換する。具体的には、暗号化方式変換プログラム133は、暗号化されたコンテンツを復号し、圧縮方式変換プログラム134に供給する。また、暗号化方式変換プログラム133は、ハードディスクから暗号鍵を読み出し、圧縮方式変換プログラム134からの圧縮方式変換後のコンテンツを、その暗号鍵を用いて、所定の暗号化方式で暗号化し、その暗号鍵を暗号化プログラム135に供給する。また、暗号化方式変換プログラム133は、所定の暗号化方式で暗号化したコンテンツ、即ち、圧縮方式および暗号化方式変換後のコンテンツを、コンテンツデータベース114に供給する。
また、暗号化方式変換プログラム133は、チェックイン/チェックアウト管理プログラム132からのチェックアウト対象のコンテンツの暗号化方式を変換する。具体的には、暗号化方式変換プログラム133は、チェックアウト対象のコンテンツを復号し、圧縮方式変換プログラム134に供給する。また、暗号化方式変換プログラム133は、圧縮方式変換プログラム134からの圧縮方式変換後のコンテンツを、チェックアウト先のPD6に対応する暗号化方式で暗号化し、チェックイン/チェックアウト管理プログラム132に供給するとともに、その暗号化後のコンテンツを復号するためのコンテンツ鍵を、チェックイン/チェックアウト管理プログラム132に供給する。なお、コンテンツ鍵は、例えば、暗号化方式変換プログラム133の作成元により、作成時に暗号化方式変換プログラム133に記憶されている。
圧縮方式変換プログラム134は、暗号化方式変換プログラム133からの復号後のコンテンツの圧縮方式を、所定の圧縮方式に変換し、暗号化方式変換プログラム133に供給する。また、圧縮方式変換プログラム134は、暗号化方式変換プログラム133からの復号後のチェックアウト対象のコンテンツの圧縮方式を、PD6に対応する圧縮方式に変換し、暗号化方式変換プログラム133に供給する。
暗号化プログラム135は、ハードディスクから暗号鍵を読み出し、圧縮/伸張プログラム136から供給される圧縮後のコンテンツを、その暗号鍵を用いて、所定の暗号化の方式で暗号化し、コンテンツデータベース114に供給する。また、暗号化プログラム135は、不揮発性メモリ34(図2)に記憶している保存用鍵を読み出し、その暗号化に用いられた暗号鍵または暗号化方式変換プログラム133からの暗号鍵を暗号化して、その暗号化した暗号鍵を、チェックイン/チェックアウト管理プログラム132に供給する。
圧縮/伸張プログラム136は、録音プログラム113から供給される圧縮および暗号化されていないコンテンツを、所定の圧縮方式で圧縮し、暗号化プログラム135に供給する。また、圧縮/伸張プログラム136は、復号プログラム140からの復号後のコンテンツを伸張し、ドライバ118に供給する。
コンテンツ関連データ変換プログラム137は、ネットワーク2を介して、購入用アプリケーションプログラム116、購入用プログラム142、もしくは購入用プログラム143から供給されるコンテンツ関連データ、または録音プログラム113からのコンテンツ関連データを、所定のフォーマットに変換し、チェックイン/チェックアウト管理プログラム132に供給する。また、コンテンツ関連データ変換プログラム137は、チェックイン/チェックアウト管理プログラム132からのチェックアウト対象のコンテンツに対応するコンテンツ関連データを、PD6に対応するフォーマットに変換し、チェックイン/チェックアウト管理プログラム132に供給する。
コンテンツ管理情報管理プログラム138は、コンテンツ管理情報ファイル161のコンテンツ管理情報に付加されているハッシュ値に基づいて、コンテンツ管理情報が改竄されているかどうかを判定する。また、コンテンツ管理情報管理プログラム138は、コンテンツ管理情報ファイル161のコンテンツ管理情報の更新に応じて、コンテンツ管理情報のハッシュ値を算出し、コンテンツ管理情報に付加されているハッシュ値を更新する。
認証プログラム139は、EMDサーバ4−1と購入用アプリケーションプログラム116との相互認証の処理、EMDサーバ4−2と購入用プログラム142との相互認証の処理、およびEMDサーバ4−3と購入用プログラム143との相互認証の処理で利用される認証鍵を記憶する。なお、この認証鍵は、表示操作指示プログラム112からの要求に応じて、EMD登録サーバ3から供給され、認証プログラム139に記憶される。
認証プログラム139は、記憶している認証鍵を用いて、EMDサーバ4−1と購入用アプリケーションプログラム116との相互認証の処理、EMDサーバ4−2と購入用プログラム142との相互認証の処理、およびEMDサーバ4−3と購入用プログラム143との相互認証の処理を実行する。
復号プログラム140は、例えば、表示操作指示プログラム112の指令により、コンテンツデータベース114に記憶されているコンテンツを復号し、圧縮/伸張プログラム136に供給する。
PD用ドライバ141は、チェックイン/チェックアウト管理プログラム132からのチェックアウトデータ、または、チェックイン処理に応じて、チェックイン/チェックアウト管理プログラム132から供給されるチェックインに関するデータを、デバイスドライバ117−1を介して、PD6−1に送信する。また、PD用ドライバ141は、チェックイン/チェックアウト管理プログラム132からのチェックアウトデータ、またはチェックインに関するデータを、PD6−2に送信する。さらに、PD用ドライバ141は、チェックイン/チェックアウト管理プログラム132からのチェックアウトデータ、またはチェックインに関するデータを、デバイスドライバ117−2を介して、PD6−1に送信する。
また、PD用ドライバ141は、PD6−1からデバイスドライバ117−1を介して、PD6−2から、またはPD6−3からデバイスドライバ117−2を介して、各種のデータを受信する。
購入用プログラム142は、いわゆる、プラグインプログラムであり、EMD登録サーバ3からネットワーク2を介してインストールされるか、もしくは磁気ディスク41、光ディスク42、光磁気ディスク42、または半導体メモリ44からインストールされる。購入用プログラム142は、コンテンツ管理プログラム111が有する所定の形式のインターフェースを介して、コンテンツ管理プログラム111とデータを送受信する。
なお、購入用プログラム142は、処理内容を外部から隠蔽し、その処理内容の読解が困難になるように、例えば、シャッフルされているインストラクション、または暗号化されているインストラクションなどで記述されている。
購入用プログラム142は、EMD選択プログラム131の指令により、ネットワーク2を介して、EMDサーバ4−2に所定のコンテンツと対応するコンテンツ関連データの送信を要求する。そして、購入用プログラム142は、その要求に応じてEMDサーバ4−2から送信されてくるコンテンツと対応するコンテンツ関連データを受信し、コンテンツを暗号化方式変換プログラム133に供給するとともに、コンテンツ関連データをコンテンツ関連データ変換プログラム137に供給する。また、購入用プログラム142は、EMDサーバ4−2からコンテンツと対応するコンテンツ関連データを受信するとき、課金の処理を実行する。
購入用プログラム143は、コンテンツ管理プログラム111とともにインストールされるプログラムである。購入用プログラム143は、購入用プログラム142と同様に、EMD選択プログラム131の指令により、ネットワーク2を介して、EMDサーバ4−3に所定のコンテンツと対応するコンテンツ関連データの送信を要求する。そして、購入用プログラム143は、その要求に応じてEMDサーバ4−3から送信されてくるコンテンツと対応するコンテンツ関連データを受信し、コンテンツを暗号化方式変換プログラム133に供給するとともに、コンテンツ関連データをコンテンツ関連データ変換プログラム137に供給する。また、購入用プログラム143は、EMDサーバ4−3からコンテンツと対応するコンテンツ関連データを受信するとき、課金の処理を実行する。
表示操作指示プログラム112は、例えば、コンテンツ管理プログラム111と録音プログラム113の指令により、ディスプレイ20にコンテンツのチェックアウトまたは録音に関する設定を行うための操作ウィンドウを表示させる。
表示操作指示プログラム112は、ユーザのキーボード18またはマウス19の操作に基づいて、録音プログラム113に対して録音処理の実行の指令、チェックイン/チェックアウト管理プログラム132に対してチェックインまたはチェックアウト処理の実行の指令、EMD選択プログラム131に対して、チェックイン/チェックアウト管理プログラム131に接続させるEMDサーバ4の選択の指令、または復号プログラム140に対してコンテンツの復号の指令を行う。また、表示操作指示プログラム112は、ネットワーク2を介して、EMD登録サーバ3に、コンテンツ管理プログラム111のIDを送信し、EMD選択プログラム131のインストールなどの要求を行う。
録音プログラム113は、表示操作指示プログラム112の指令により、ドライブ22に装着された光ディスク42からコンテンツを読み出し、圧縮/伸張プログラム136に供給する。また、録音プログラム113は、光ディスク42に記録されているコンテンツのコンテンツIDを、ネットワーク2を介してWWWサーバ5に送信し、そのコンテンツに対応するコンテンツ関連データの送信を要求する。そして、録音プログラム113は、その要求に応じてWWWサーバ5から送信されてくるコンテンツ関連データを受信し、コンテンツ関連データ変換プログラム137に供給する。
コンテンツデータベース114は、暗号化方式変換プログラム133からの暗号化方式および圧縮方式変換後のコンテンツ、または暗号化プログラム135からの圧縮および暗号化後のコンテンツを記憶する。また、コンテンツデータベース114は、チェックイン/チェックアウト管理プログラム132からのコンテンツ関連テーブルを記憶する。
コンテンツ管理情報データベース115は、2のL乗個のコンテンツ管理情報ファイル161−1乃至161−2Lを記憶する。コンテンツ管理情報ファイル161には、チェックイン/チェックアウト管理プログラム132からのコンテンツ管理情報が格納(記憶)される。なお、このコンテンツ管理情報には、コンテンツ管理情報管理プログラム138により算出されたハッシュ値が付加される。
購入用アプリケーションプログラム116は、EMD登録サーバ3からネットワーク2を介してインストールされるか、もしくは磁気ディスク41、光ディスク42、光磁気ディスク43、または半導体メモリ44からインストールされる。購入用アプリケーションプログラム116は、EMD選択プログラム131の指令により、ネットワーク2を介して、EMDサーバ4−1にコンテンツと対応するコンテンツ関連データの送信を要求する。また、購入用アプリケーションプログラム116は、その要求に応じてEMDサーバ4−1から送信されてくるコンテンツと対応するコンテンツ関連データを受信し、コンテンツを暗号化方式変換プログラム133に供給するとともに、コンテンツ関連データをコンテンツ関連データ変換プログラム137に供給する。また、購入用アプリケーションプログラム116は、EMDサーバ4−1からコンテンツと対応するコンテンツ関連データを受信するとき、課金の処理を実行する。
ドライバ118は、音声出力インターフェース24を駆動して、圧縮/伸張プログラム136からの復号および伸張後のコンテンツに対応する音声信号を出力する。
図5は、コンテンツを録音(記憶)するときに、ディスプレイ20に表示されている操作ウィンドウの例を示す図である。
なお、図5では、まだ光ディスク42(図2)がドライブ22に装着されていないものとする。また、図5では、ユーザが、光ディスク42であるCDに記憶されているコンテンツを、コンテンツデータベース114の「マイライブラリ」というフォルダに録音(記憶)させる。
図5に示すように、操作ウィンドウ201には、コンボボックス202と205、「音楽を取り込む」ボタン203、「マイライブラリ」ボタン204、並びに「音楽を転送する」ボタン206が表示される。
コンボボックス202は、録音対象となるコンテンツの取得先を選択するときに、操作される。「音楽を取り込む」ボタン203は、コンテンツの録音に関する設定を行うときに、操作される。「マイライブラリ」ボタン204は、コンテンツの録音先またはチェックアウト先を、コンテンツデータベース114のフォルダ「マイライブラリ」に設定するときに、操作される。コンボボックス205は、チェックアウト先となるPD6を選択するときに、操作される。「音楽を転送する」ボタン206は、コンテンツのチェックアウトに関する設定を行うときに、操作される。
図5では、ユーザは、光ディスク42であるCDに記憶されているコンテンツを、コンテンツデータベース114のフォルダ「マイライブラリ」に録音(記憶)させるので、コンボボックス202で「CDを録音する」を選択し、「音楽を取り込む」ボタン203を操作して、「マイライブラリ」ボタン204を操作する。このとき、操作ウィンドウ201には、CDに記憶されているコンテンツに対応する曲名、CDトラック番号、タイトル、アーティスト名、ジャンル名、演奏時間などの情報を表示するためのフィールド211、コンテンツの録音を指令するための録音ボタン212、コンテンツの録音の停止を指令するための停止ボタン213、およびコンテンツデータベース114のフォルダ「マイライブラリ」に記憶されているコンテンツに対応する情報を表示するためのフィールド214が表示される。
なお、図5では、ドライブ22にまだCDが装着されていないので、フィールド211には、何も表示されていない。また、フォルダ「マイライブラリ」に、まだ何も記憶されていないので、フィールド214にも、何も表示されていない。
ここで、ユーザにより光ディスク42であるCDがドライブ22に装着されると、録音プログラム113は、光ディスク42からコンテンツとコンテンツIDを読み出し、そのコンテンツIDをWWWサーバ5に送信して、そのコンテンツIDに対応するコンテンツ関連データの送信の要求を行う。そして、録音プログラム113は、その要求に応じてWWWサーバ5から送信されてくるコンテンツ関連データを取得する。録音プログラム113は、そのコンテンツ関連データのうち、コンテンツのトラック番号、タイトル、アーティスト名、ジャンル名、および演奏時間などのコンテンツに対応する情報を、フィールド211に表示させる。
ユーザは、図5のフィールド211に表示されるコンテンツに対応する情報を見ながら、所望のコンテンツを選択し、キーボード18またはマウス19を操作して、その選択したコンテンツに対応する情報にカーソルを移動させ、録音対象とするコンテンツを決定する。そして、ユーザは、録音ボタン212を操作する。このようにして、ユーザは、選択したコンテンツを録音対象とする録音の指令を行う。
図6は、コンテンツをチェックアウトするときに、ディスプレイ20に表示されている操作ウィンドウ201の例を示している。なお、図6において、図5と同一のものは、図5と同一の符号を付してあり、繰り返しになるので説明は適宜省略する。
なお、図6では、ユーザが、コンテンツデータベース114のフォルダ「マイライブラリ」に録音(記憶)されているコンテンツを、PDIDが「1」のPD6にチェックアウトさせる。なお、以下では、PDIDがiのPD6を、PD#iと表す。また、図6では、PD#1には、何も記憶されていないものとする。
図6では、ユーザは、コンテンツデータベース114のフォルダ「マイライブラリ」に録音(記憶)されているコンテンツを、PD#1にチェックアウトさせるので、キーボード18またはマウス19を操作して、コンボボックス205で「PD#1」を選択し、「音楽を転送する」ボタン206を操作して、「マイライブラリ」ボタン204を操作する。このとき、操作ウィンドウ201には、フォルダ「マイライブラリ」に格納されているコンテンツに対応する曲名やアーティスト名などの情報を表示するためのフィールド241、チェックアウト先であるPD#1に記憶されているコンテンツに対応する情報を表示するためのフィールド242、およびコンテンツのチェックアウトを指令するためのチェックアウトボタン243が表示される。
図6のフィールド241には、フォルダ「マイライブラリ」に格納されているコンテンツに対応する曲名として、「Schu」、「サン=サン」、および「ショクパン」が、アーティスト名として、「Artur」、「サン=サン」、および「ショクパン」が表示されている。
具体的には、表示操作プログラム112は、コンテンツデータベース114のコンテンツ関連テーブルから、コンテンツデータベース114に記憶されているコンテンツの曲名とアーティスト名を読み出し、フィールド241に表示させる。
図6では、PD#1にまだ何も記憶されていないので、フィールド242には、何も表示されていない。
ここで、ユーザは、図6のフィールド241に表示されるコンテンツに対応する情報を見ながら、所望のコンテンツを選択し、キーボード18またはマウス19を操作して、そのコンテンツに対応する情報にカーソルを移動させ、チェックアウトボタン243を操作する。このようにして、ユーザは、選択したコンテンツをチェックアウト対象とするチェックアウトの指令を行う。
図7乃至図10を参照して、コンテンツ管理情報ファイル161について説明する。
なお、コンテンツ管理情報ファイル161には、0から順に番号iが付してあり、以下では、番号iが付されたコンテンツ管理情報ファイル161を、コンテンツ管理情報ファイル#iという。また、コンテンツ管理情報ファイル161−1、・・・、コンテンツ管理情報ファイル161−2Lは、それぞれコンテンツ管理情報ファイル#0、・・・、コンテンツ管理情報ファイル#(2L−1)に対応しており、以下では、コンテンツ管理情報ファイル161−1、・・・、コンテンツ管理情報ファイル161−2Lを、それぞれコンテンツ管理情報ファイル#0、・・・、コンテンツ管理情報ファイル#(2L−1)ともいう。また、以下では、コンテンツIDがjであるコンテンツに対応するコンテンツ管理情報をIDjと表す。
図7乃至図10では、ID1,ID4,ID6,ID7,ID10、およびID11が、コンテンツ管理情報ファイル161に格納されている。
また、図7乃至図10では、チェックイン/チェックアウト管理プログラム132が、分割レベルLと、格納するコンテンツ管理情報に対応するコンテンツのコンテンツIDとに基づいて、以下の式(1)にしたがって、コンテンツ管理情報を格納するコンテンツ管理情報ファイル161の番号Nを算出する。そして、チェックイン/チェックアウト管理プログラム132は、その算出したコンテンツ管理情報ファイル161の番号Nに基づいて、コンテンツ管理情報ファイル161を選択し、その選択したコンテンツ管理情報ファイル161にコンテンツ管理情報を記憶させる。なお、式(1)では、コンテンツIDの値をJと表す。
N10=n2=J2 AND (2L−1)2・・・(1)
式(1)では、下付きの数字が進数を表している。即ち、N10は、コンテンツ管理情報ファイル161の番号の10進数の値を表し、n2,J2,(2L−1)2はそれぞれコンテンツ管理情報ファイル161の番号の2進数の値、コンテンツIDの2進数の値、(2L−1)の2進数の値を表している。
式(1)によれば、コンテンツIDの2進数の値と、2の分割レベルL乗から1を減算した2進数の値との論理積を10進数にしたものが、コンテンツ管理情報ファイル161の番号Nとなる。即ち、コンテンツIDの2進数の値に対して、2の分割レベルL乗から1を減算した2進数の値のマスクをかけたものが、コンテンツ管理情報ファイル161の番号Nとなる。
図7は、コンテンツ管理情報データベース115の分割レベルLが0のときのコンテンツ管理情報ファイル161の例を示している。
図7に示すように、分割レベルLが0の場合、コンテンツ管理情報データベース115には、20(=1)個のコンテンツ管理情報ファイル#0が記憶されている。チェックイン/チェックアウト管理プログラム132は、上述した式(1)にしたがって、格納するコンテンツ管理情報に対応するコンテンツのコンテンツIDである1,4,6,7,10、および11の2進数の値と、(20−1)の2進数の値との論理積をそれぞれ算出する。コンテンツIDである1,4,6,7,10、および11の2進数の値と、(20−1)の2進数の値との論理積は、すべて0となるので、チェックイン/チェックアウト管理プログラム132は、番号0が付されたコンテンツ管理情報ファイル#0に、ID1,ID4,ID6,ID7,ID10、およびID11を格納する。
図8は、コンテンツ管理情報データベース115の分割レベルLが1のときのコンテンツ管理情報ファイル161の例を示している。
図8に示すように、分割レベルLが1の場合、コンテンツ管理情報データベース115には、21(=2)個のコンテンツ管理情報ファイル#0と#1が記憶されている。チェックイン/チェックアウト管理プログラム132は、上述した式(1)にしたがって、格納するコンテンツ管理情報に対応するコンテンツIDである1,4,6,7,10、および11の2進数の値と、(21−1)の2進数の値との論理積をそれぞれ算出する。コンテンツIDである4,6、および10の2進数の値と、(21−1)の2進数の値との論理積は0となるので、チェックイン/チェックアウト管理プログラム132は、番号0が付されたコンテンツ管理情報ファイル#0に、ID4,ID6、およびID10を格納する。また、コンテンツIDである1,7、および11の2進数の値と、(21−1)の2進数の値との論理積の値は1となるので、チェックイン/チェックアウト管理プログラム132は、番号1が付されたコンテンツ管理情報ファイル#1に、ID1,ID7、およびID11を格納する。
図9は、コンテンツ管理情報データベース115の分割レベルLが2のときのコンテンツ管理情報ファイル161の例を示している。
図9に示すように、分割レベルLが2の場合、コンテンツ管理情報データベース115には、22(=4)個のコンテンツ管理情報ファイル#0乃至#3が記憶されている。チェックイン/チェックアウト管理プログラム132は、上述した式(1)にしたがって、格納するコンテンツ管理情報に対応するコンテンツIDである1,4,6,7,10、および11の2進数の値と、(22−1)の2進数の値との論理積をそれぞれ算出する。コンテンツIDである4の2進数の値と、(22−1)の2進数の値との論理積は0となり、コンテンツIDである6の2進数の値と、(22−1)の2進数の値との論理積は1となるので、チェックイン/チェックアウト管理プログラム132は、番号0が付されたコンテンツ管理情報ファイル#0にID4を、番号1が付されたコンテンツ管理情報ファイル#1に、ID1を格納する。
また、コンテンツIDである6および10の2進数の値と、(22−1)の2進数の値との論理積は、それぞれ2となるので、チェックイン/チェックアウト管理プログラム132は、番号2が付されたコンテンツ管理情報ファイル#2に、ID6およびID10を格納する。さらに、コンテンツIDである7および11の2進数の値と、(22−1)の2進数の値との論理積の値は3となるので、チェックイン/チェックアウト管理プログラム132は、番号3が付されたコンテンツ管理情報ファイル#3に、ID7およびID11を格納する。
図10は、コンテンツ管理情報データベース115の分割レベルLが3のときのコンテンツ管理情報ファイル161の例を示している。
図10に示すように、分割レベルLが3の場合、コンテンツ管理情報データベース115には、23(=8)個のコンテンツ管理情報ファイル#0乃至#7が記憶されている。チェックイン/チェックアウト管理プログラム132は、上述した式(1)にしたがって、格納するコンテンツ管理情報に対応するコンテンツIDである1,4,6,7,10、および11の2進数の値と、(23−1)の2進数の値との論理積をそれぞれ算出する。コンテンツIDである1,4,6,7,10、および11の2進数の値と、(23−1)の2進数の値との論理積は、それぞれ1,4,6,7,2,3となるので、チェックイン/チェックアウト管理プログラム132は、番号1が付されたコンテンツ管理情報ファイル#1にID1を、番号4が付されたコンテンツ管理情報ファイル#4にID4を、番号6が付されたコンテンツ管理情報ファイル#6にID6を、番号7が付されたコンテンツ管理情報ファイル#7にID7を、番号2が付されたコンテンツ管理情報ファイル#2にID10を、番号3が付されたコンテンツ管理情報ファイル#3にID11をそれぞれ格納する。
図11は、図4のコンテンツデータベース114に記憶されるコンテンツ関連テーブルの例を示している。
図11のコンテンツ関連テーブルには、「コンテンツID」、「曲名」、および「アーティスト名」という項目がある。チェックイン/チェックアウト管理プログラム132は、コンテンツ関連データ変換プログラム137からのフォーマット変換後のコンテンツ関連データのうち、コンテンツID、曲名、およびアーティスト名を抽出し、項目「コンテンツID」、「曲名」、および「アーティスト名」のそれぞれに対応させることにより、コンテンツ管理テーブルを作成する。
図11において、コンテンツIDが4のコンテンツは、曲名が「Schu」、アーティスト名が「Artur」である。また、コンテンツIDが6のコンテンツは、曲名およびアーティスト名がすべて「サン=サン」、コンテンツIDが10のコンテンツは、曲名およびアーティスト名がすべて「ショクパン」である。
図12は、図4のコンテンツ管理情報ファイル161に格納されるコンテンツ管理情報の例を示している。
図12では、コンテンツ管理情報ファイル161に、ID4、ID6、およびID11が格納されている。なお、図12では、図中左側がID4、図中中央がID6、図中右側がID11となっている。
図12に示すように、コンテンツ管理情報には、「コンテンツID」、「ファイル名」、「暗号化された暗号鍵」、「再生条件:開始日時」、「再生条件:終了日時」、「再生条件:終了日時」、「再生条件:回数制限」、「チェックアウト条件:回数制限」、「チェックアウト回数カウンタ」、「チェックアウト先1」、「チェックアウト先2」、および「チェックアウト先3」という項目がある。
チェックイン/チェックアウト管理プログラム132は、コンテンツのコンテンツIDを、項目「コンテンツID」に、対応して格納させる。また、チェックイン/チェックアウト管理プログラム132は、コンテンツが記憶されているコンテンツデータベース114のファイルの名前を、項目「ファイル名」に対応して格納させる。さらに、チェックイン/チェックアウト管理プログラム132は、暗号化プログラム135からの暗号化された暗号鍵を、項目「暗号化された暗号鍵」に対応して格納させる。
また、チェックイン/チェックアウト管理プログラム132は、コンテンツ関連データ変換プログラム137からのフォーマット変換後のコンテンツ関連データのうち、再生条件、およびチェックアウト条件を抽出する。そして、チェックイン/チェックアウト管理プログラム132は、抽出した再生条件のうちの、表された日時以降再生が可能なことを表す再生開始日時を、項目「再生条件:開始日時」に、表された日時以降再生が不可能なことを表す再生終了日時を、項目「再生条件:終了日時」に、再生可能な回数を表す再生回数制限を、項目「再生条件:回数制限」に、それぞれ対応して格納させる。
また、チェックイン/チェックアウト管理プログラム132は、抽出したチェックアウト条件であるチェックアウトすることが可能なPD6の台数を表すチェックアウト回数制限を、項目「チェックアウト条件:回数制限」に格納させる。
さらに、チェックイン/チェックアウト管理プログラム132は、コンテンツを再生した再生回数とコンテンツをチェックアウトしたチェックアウト回数をカウントし、それぞれのカウント値を項目「再生回数カウンタ」と「チェックアウト回数カウンタ」に対応して格納させる。さらに、チェックイン/チェックアウト管理プログラム132は、コンテンツをチェックアウトした場合、チェックアウト先のPD6のPDIDを、項目「チェックアウト先1」、「チェックアウト先2」、または「チェックアウト先3」に対応して格納させる。
図12のコンテンツ管理情報のID4(図中左側)では、項目「コンテンツID」に対応してコンテンツIDである4が格納されている。また、「ファイル名」という項目に対応して、「xd0000110.at2」が格納されている。即ち、コンテンツIDが4のコンテンツは、コンテンツデータベース114(図4)の「xd0000110.at2」というファイルに記憶されている。
さらに、項目「暗号化された暗号鍵」に対応して、「0xabababababab」が格納されている。また、項目「再生条件:開始時間」に対応して「−(なし)」が格納されており、項目「再生条件:終了日時」に対応して「1999.07.31.23:59」が格納されている。即ち、コンテンツIDが4であるコンテンツは、1999年7月31日23時59分まで再生することができる。さらに、項目「再生条件:回数制限」および「再生回数カウンタ」という項目に対応して、それぞれ「−(なし)」が格納されている。即ち、コンテンツIDが4であるコンテンツは、何回でも再生可能で、いままでにカウントされた再生回数は0回、即ちコンテンツはまだ1回も再生されていない。
また、項目「チェックアウト条件:回数制限」に対応して「3」が、項目「チェックアウト回数カウンタ」に対応して「1」が、それぞれ格納されている。即ち、コンテンツIDが4であるコンテンツをチェックアウトすることが可能なPD6の台数は3台であり、コンテンツは1台のPD6にチェックアウトされている。さらに、項目「チェックアウト先1」、「チェックアウト先2」、および「チェックアウト先3」という項目に対応して、それぞれ「PD#1」、「−(なし)」、「−(なし)」が格納されている。即ち、コンテンツIDが4であるコンテンツがチェックアウトされたPD6は、PDIDが1である。
また、図12に示すように、コンテンツ管理情報には、コンテンツ管理情報のハッシュ値「0fx9951e566321」が付加されている。なお、このハッシュ値は、コンテンツ管理情報が更新された場合に新たに算出され、更新される。また、図12では、ID4,ID6、およびID10全体に対して、ハッシュ値が付加されているが、コンテンツごとに、ハッシュ値を付加するようにしてもよい。
次に、図13は、図4のチェックイン/チェックアウト管理プログラム132が行うファイル分割処理を説明するフローチャートである。このファイル分割処理は、例えば、チェックイン/チェックアウト管理プログラム132がパーソナルコンピュータ1にインストールされたとき、開始される。なお、ファイル分割処理が開始されるタイミングは、これに限定されず、任意のタイミングとすることができる。
ステップS11において、チェックイン/チェックアウト管理プログラム132は、コンテンツ管理情報データベース115の分割レベルLを決定する。例えば、チェックイン/チェックアウト管理プログラム132には、チェックイン/チェックアウト管理プログラム132の作成元により、作成時に、分割レベルLが設定されており、チェックイン/チェックアウト管理プログラム132は、その設定されている分割レベルLを、コンテンツ管理情報データベース115の分割レベルLに決定する。ステップS11の処理後は、ステップS12に進み、チェックイン/チェックアウト管理プログラム132は、2の分割レベルL乗個のコンテンツ管理情報ファイル161をコンテンツ管理情報データベース115(図4)に作成し、処理を終了する。
図14は、図4のパーソナルコンピュータ1が、光ディスク42であるCDからコンテンツを録音する録音処理を説明するフローチャートである。この録音処理は、例えば、ユーザによりコンボボックス202(図5)、「音楽を取り込む」ボタン203、および「マイライブラリ」ボタン204が操作され、ディスプレイ20に図5の操作ウィンドウ201が表示されたとき、開始される。
ステップS31において、録音プログラム113は、ユーザにより録音対象となるコンテンツが選択されたかどうかを判定する。具体的には、ユーザは、図5の操作ウィンドウ201のフィールド211に表示されるコンテンツに対応する情報を見ながら、キーボード18またはマウス19を操作して、所望のコンテンツを選択し、そのコンテンツに対応する情報にカーソルを移動させる。表示操作指示プログラム112は、ユーザにより選択されたコンテンツに対応する情報を受け付け、その情報に対応するコンテンツを表す入力信号を、録音プログラム113に供給する。録音プログラム113は、表示操作指示プログラム112から、ユーザにより選択されたコンテンツを表す入力信号が供給されたかどうかを判定することにより、録音対象となるコンテンツが選択されたかどうかを判定する。
ステップS31において、ユーザにより録音対象となるコンテンツが選択されていないと判定された場合、録音プログラム113は、コンテンツが選択されるまで待機する。
一方、ステップS31において、ユーザにより録音対象となるコンテンツが選択されたと判定された場合、ステップS32に進み、録音プログラム113は、ユーザにより録音ボタン212(図5)が操作されたかどうかを判定し、録音ボタン212が操作されていない場合、録音ボタン212が操作されるまで待機する。
また、ステップS32において、ユーザにより録音ボタン212が操作されたと判定された場合、ステップS33に進み、録音プログラム113(図4)は、光ディスク42であるCDから録音対象として選択されたコンテンツを読み出し、圧縮/伸張プログラム136に供給する。なお、このコンテンツには、コンテンツIDが付加されている。
ステップS33の処理後は、ステップS34に進み、圧縮/伸張プログラム136は、ステップS33で読み出したコンテンツを、例えば、ATRAC(Adaptive Transform Acoustic Coding)3(商標)などの方式で圧縮(圧縮符号化)し、暗号化プログラム135に供給して、ステップS35に進む。
ステップS35において、暗号化プログラム135は、ハードディスクに記憶されている暗号鍵を読み出し、その暗号鍵を用いて、例えば、DES(Data Encryption Standard)方式、FEAL(Fast Encripherment Algorithm)方式などの暗号化方式で、ステップS34で圧縮されたコンテンツを暗号化する。
ステップS35の処理後は、ステップS36に進み、暗号化プログラム135は、ステップS35で暗号化されたコンテンツを、コンテンツデータベース114に供給し、1つのファイルとしてファイル名を付けて記憶させる。このとき、暗号化プログラム135は、そのファイル名をチェックイン/チェックアウト管理プログラム132に供給する。
ステップS36の処理後は、ステップS37に進み、暗号化プログラム135は、不揮発性メモリ34(図2)に記憶されている保存用鍵を用いて、ステップS35でコンテンツを暗号化した暗号鍵を暗号化し、チェックイン/チェックアウト管理プログラム132に供給する。
ステップS37の処理後は、ステップS38に進み、録音プログラム113は、ステップS33で読み出されたコンテンツに付加されているコンテンツIDを用いて、ネットワーク2を介して、WWWサーバ5からコンテンツに対応するコンテンツ関連データを取得し、コンテンツ関連データ変換プログラム137に供給する。コンテンツ関連データ変換プログラム137は、コンテンツ関連データを所定のフォーマットに変換し、チェックイン/チェックアウト管理プログラム132に供給する。
ステップS38の処理後は、ステップS39に進み、チェックイン/チェックアウト管理プログラム132は、コンテンツIDに基づいて、上述した式(1)にしたがい、コンテンツ管理情報ファイル161の番号Nを算出し、ステップS40に進む。
ステップS40において、チェックイン/チェックアウト管理プログラム132は、ステップS36で供給されるコンテンツのファイル名、ステップS37で供給される暗号化された暗号鍵、およびステップS38で供給されるコンテンツ関連データに基づいて、コンテンツ管理情報(図12)を作成する。そして、チェックイン/チェックアウト管理プログラム132は、ステップS39で算出された番号Nに基づいて、コンテンツ管理情報を格納するコンテンツ管理情報ファイル161として、番号Nのコンテンツ管理情報ファイル161(コンテンツ管理情報ファイル#N)を選択し、その選択したコンテンツ管理情報ファイル#Nに、コンテンツ管理情報を格納(記憶)する。
ステップS40の処理後は、ステップS41に進み、コンテンツ管理情報管理プログラム138は、コンテンツ管理情報ファイル#Nに格納されているコンテンツ管理情報のハッシュ値を算出し、そのコンテンツ管理情報に付加して、処理を終了する。
図15は、図4のパーソナルコンピュータ1が行うチェックアウト処理を説明するフローチャートである。このチェックアウト処理は、例えば、ユーザにより、例えば、ユーザにより、「マイライブラリ」ボタン204(図6)、コンボボックス205、および「音楽を転送する」ボタン206が操作され、ディスプレイ20(図2)に図6の操作ウィンドウ201が表示されたとき、開始される。
ステップS51において、チェックイン/チェックアウト管理プログラム132は、ユーザによりチェックアウト対象となるコンテンツが選択されたかどうかを判定する。具体的には、ユーザは、図6のフィールド211に表示されるコンテンツの曲名やアーティスト名を見ながら、キーボード18(図2)またはマウス19を操作して、所望のコンテンツを選択し、そのコンテンツの曲名やアーティスト名にカーソルを移動させる。表示操作指示プログラム112は、ユーザにより選択された曲名またはアーティスト名を受け付け、その曲名またはアーティスト名を表す入力信号を、チェックイン/チェックアウト管理プログラム132に供給する。
チェックイン/チェックアウト管理プログラム132は、表示操作指示プログラム112からユーザにより選択された曲名またはアーティスト名を表す入力信号が供給されたかどうかを判定することにより、チェックアウト対象となるコンテンツが選択されたかどうかを判定する。
ステップS51において、ユーザによりチェックアウト対象となるコンテンツが選択されていないと判定された場合、チェックイン/チェックアウト管理プログラム132は、コンテンツが選択されるまで待機する。
一方、ステップS51において、ユーザによりチェックアウト対象となるコンテンツが選択されたと判定された場合、ステップS52に進み、チェックイン/チェックアウト管理プログラム132は、ユーザによりチェックアウトボタン243(図6)が操作されたかどうかを判定し、チェックアウトボタン243が操作されていない場合、チェックアウトボタン243が操作されるまで待機する。
一方、ステップS52において、ユーザによりチェックアウトボタン243が操作されたと判定した場合、ステップS53に進み、チェックイン/チェックアウト管理プログラム132は、チェックアウト対象のコンテンツの曲名やアーティスト名に対応するコンテンツIDを、コンテンツデータベース114のコンテンツ関連テーブル(図11)から抽出する。
例えば、図11に示したコンテンツ関連テーブルがコンテンツデータベース114に記憶されており、チェックアウト対象のコンテンツの曲名が「Schu」である場合、チェックイン/チェックアウト管理プログラム132は、図11のコンテンツ関連テーブルから、曲名「Schu」に対応するコンテンツID「4」を抽出する。
ステップS53の処理後は、ステップS54に進み、チェックイン/チェックアウト管理プログラム132は、ステップS53で抽出されたコンテンツIDを用いて、式(1)にしたがってコンテンツ管理情報ファイル161の番号Nを算出する。
このように、式(1)にしたがって、コンテンツ管理情報ファイル161の番号Nが算出されるので、パーソナルコンピュータ1は、コンテンツIDとコンテンツ管理情報ファイル161の番号Nとの対応関係を表すファイルテーブルを記憶する必要がない。ここで、このファイルテーブルを記憶する必要がある場合、そのファイルテーブルが改竄されているかどうかも判定する必要があるため、チェックアウト処理が複雑になり、チェックアウト処理の応答速度が低下する。これに対して、上述したように、パーソナルコンピュータ1では、ファイルテーブルを記憶する必要がないので、そのファイルテーブルが改竄されているかどうかを判定する処理が不要である。従って、パーソナルコンピュータ1は、ファイルテーブルを記憶する必要がある場合に比べて、コンテンツを効率良く管理し、チェックアウト処理の応答速度を高めることができる。
ステップS54の処理後は、ステップS55に進み、コンテンツ管理情報管理プログラム138は、番号Nのコンテンツ管理情報ファイル161(コンテンツ管理情報ファイル#N)に格納されているコンテンツ管理情報のハッシュ値を算出し、ステップS56に進む。
ステップS56において、コンテンツ管理情報管理プログラム138は、ステップS55で算出されたハッシュ値が、コンテンツ管理情報ファイル#Nのコンテンツ管理情報に付加されているハッシュ値と一致しているかどうか、即ちコンテンツ管理情報が改竄されていないかどうかを判定し、ステップS55で算出されたハッシュ値が、コンテンツ管理情報に付加されているハッシュ値と一致していると判定した場合、即ちコンテンツ管理情報が改竄されていないと判定した場合、ステップS57に進む。
ステップS57において、チェックイン/チェックアウト管理プログラム132は、チェックアウト対象となるコンテンツと、対応するコンテンツ関連データを、ユーザによりチェックアウト先として選択された(コンボボックス205(図6)で選択された)PD6に転送するコンテンツ転送処理を行う。このコンテンツ転送処理の詳細は、図16のフローチャートを参照して説明する。
ステップS57の処理後は、ステップS58に進み、チェックイン/チェックアウト管理プログラム132は、コンテンツ管理情報ファイル#Nに格納されているチェックアウト対象のコンテンツのコンテンツ管理情報において、チェックアウト回数カウンタを1だけインクリメントして、コンテンツ管理情報を更新する。
ステップS58の処理後は、ステップS59に進み、コンテンツ管理情報管理プログラム138は、ステップS58で更新された後のコンテンツ管理情報ファイル#Nのコンテンツ管理情報のハッシュ値を算出し、コンテンツ管理情報に付加されているハッシュ値を更新して、処理を終了する。
一方、ステップS56において、ステップS55で算出されたハッシュ値が、コンテンツ管理情報に付加されているハッシュ値と一致していないと判定された場合、即ちコンテンツ管理情報が改竄されたと判定された場合、ステップS60に進み、表示操作指示プログラム112は、チェックイン/チェックアウト管理プログラム132の指令により、コンテンツ管理情報データベース115が改竄された旨を表すメッセージを、ディスプレイ20に表示させる。
図16は、図15のステップS57のコンテンツ転送処理を説明するフローチャートである。
ステップS71において、チェックイン/チェックアウト管理プログラム132は、コンテンツ管理情報ファイル#Nに格納されているコンテンツ管理情報から、チェックアウト対象であるコンテンツの再生条件およびチェックアウト条件を抽出し、それらを確認する確認処理を行う。この確認処理の詳細は、図17のフローチャートを参照して説明する。
ステップS72において、認証プログラム139は、チェックアウト先のPD6と相互認証処理を行い、通信を行うための通信用鍵を共有する。
例えば、PD6のフラッシュメモリ61またはEEPROM68(図3)には、例えば、製造時に、製造元により、マスター鍵KMが記憶されており、パーソナルコンピュータ1のRAM13には、例えば、製造時に、製造元により、個別鍵KPとパーソナルコンピュータ1のIDが記憶されているものとする。CPU53は、パーソナルコンピュータ1の認証プログラム139から、RAM13に記憶されているパーソナルコンピュータ1のIDの供給を受け、そのパーソナルコンピュータ1のIDと自分自身が有するマスター鍵KMにハッシュ関数を適用して、RAM13に記憶されているパーソナルコンピュータ1の個別鍵KPと同一の鍵を生成する。これにより、パーソナルコンピュータ1とPD6は、共通の個別鍵KPを共有することができる。パーソナルコンピュータ1とPD6は、個別鍵KPを用いて、さらに、一時的な通信用鍵を生成する。
なお、相互認証の方法としては、例えば、IOS(International Organization for Standardization)9798-2を採用することができる。
ステップS72の処理後は、ステップS73に進み、チェックイン/チェックアウト管理プログラム132は、図15のステップS53で抽出されたチェックアウト対象のコンテンツのコンテンツIDに基づいて、コンテンツデータベース114からコンテンツを読み出し、暗号化方式変換プログラム133に供給する。具体的には、チェックイン/チェックアウト管理プログラム132は、図15のステップS54で算出された番号Nのコンテンツ管理情報ファイル#Nに格納されているコンテンツ管理情報から、ステップS53で抽出されたコンテンツIDに基づいて、チェックアウト対象のコンテンツが記憶されているファイルのファイル名を抽出する。そして、チェックイン/チェックアウト管理プログラム132は、その抽出したファイル名に基づいて、コンテンツデータベース114からコンテンツを読み出し、暗号化方式変換プログラム133に供給する。
ステップS73の処理後は、ステップS74に進み、暗号化方式変換プログラム133は、ステップS73で読み出されたコンテンツの暗号化方式を、チェックアウト先のPD6に対応するものに変換し、圧縮方式変換プログラム134は、そのコンテンツの圧縮方式を、チェックアウト先のPD6に対応するものに変換する。
ステップS74の処理後は、ステップS75に進み、チェックイン/チェックアウト管理プログラム132は、ステップS74で変換されたコンテンツと対応するコンテンツ関連データを、USBケーブル7を介して、チェックアウト先のPD6に転送し、図15のステップS58に進む。具体的には、チェックイン/チェックアウト管理プログラム132は、図15のステップS53で抽出されたコンテンツIDに基づいて、コンテンツデータベース114のコンテンツ関連テーブルと、コンテンツ管理情報ファイル161のコンテンツ管理情報とに含まれるチェックアウト対象のコンテンツに対応するコンテンツ関連データを、抽出し、コンテンツ関連データ変換プログラム137に供給する。コンテンツ関連データ変換プログラム137は、そのコンテンツ関連データを、PD6に対応するフォーマットに変換し、チェックイン/チェックアウト管理プログラム132に供給する。チェックイン/チェックアウト管理プログラム132は、そのフォーマット変換後のコンテンツ関連データを、ステップS74で圧縮方式および暗号化方式が変換されたコンテンツとともに、チェックアウト先のPD6に転送し、図15のステップS58に進む。
図17は、図16のステップS71の確認処理を説明するフローチャートである。
ステップS81において、チェックイン/チェックアウト管理プログラム132は、コンテンツ管理情報データベース115のコンテンツ管理情報ファイル#Nから、チェックアウト対象のコンテンツのコンテンツ管理情報を読み出し、ステップS82に進む。
ステップS82において、チェックイン/チェックアウト管理プログラム132は、ステップS81で読み出されたコンテンツ管理情報のチェックアウト回数カウンタの値であるチェックアウト回数が、チェックアウト条件の回数制限以上であるかどうかを判定する。例えば、図12に示したコンテンツ管理情報がコンテンツ管理情報ファイル#Nに格納されており、図15のステップS53で抽出されたコンテンツIDが4である場合、ID4のチェックアウト条件の回数制限が3回であるので、チェックイン/チェックアウト管理プログラム132は、コンテンツIDの4に対応するチェックアウト回数カウンタの値が3以上であるかどうかを判定する。
ステップS82において、コンテンツ管理情報のチェックアウト回数カウンタのチェックアウト回数が、チェックアウト条件の回数以上であると判定された場合、チェックアウトを行うことはできないので、ステップS83に進み、表示操作指示プログラム112は、ディスプレイ20(図2)にチェックアウト回数がチェックアウト制限回数に達している旨のメッセージを表示させ、処理を終了する。
一方、ステップS82において、コンテンツ管理情報のチェックアウト回数カウンタのチェックアウト回数が、チェックアウト条件の回数以上ではないと判定された場合、ステップS84に進み、チェックイン/チェックアウト管理プログラム132は、アダプタ26のRTC35(図2)が提供する現在日時が、再生条件の終了日時を過ぎているかどうかを判定する。なお、チェックアウト対象のコンテンツのコンテンツ管理情報に、再生条件の終了日時がない場合、ステップS84の処理をスキップし、ステップS87に進む。
ステップS84において、現在日時が、再生条件の終了日時を過ぎていると判定された場合、ステップS85に進み、チェックイン/チェックアウト管理プログラム132は、コンテンツ管理情報のチェックアウト対象のコンテンツに対応するファイル名に基づいて、コンテンツデータベース114から、そのファイル名のファイルを消去する、即ちチェックアウト対象のコンテンツを消去する。また、チェックイン/チェックアウト管理プログラム132は、コンテンツ管理情報ファイル#Nから、チェックアウト対象のコンテンツのコンテンツ管理情報を消去し、ステップS86に進む。
ステップS86において、チェックイン/チェックアウト管理プログラム132は、コンテンツ管理情報ファイル#Nのコンテンツ管理情報のハッシュ値を算出し、コンテンツ管理情報に付加されているハッシュ値を更新して、処理を終了する。なお、コンテンツ管理情報ファイル#Nにコンテンツ管理情報がない場合、即ち、コンテンツ管理情報ファイル#Nにチェックアウト対象のコンテンツのコンテンツ管理情報だけが格納されており、ステップS85でそのコンテンツ管理情報が消去された場合、ステップS86の処理を行わない。
一方、ステップS84において、現在日時は再生終了日時を過ぎていないと判定された場合、チェックイン/チェックアウト管理プログラム132は、ステップS87に進む。ステップS87において、チェックイン/チェックアウト管理プログラム132は、チェックアウト対象のコンテンツのコンテンツ管理情報に再生条件の回数制限があるかどうかを判定し、チェックアウト対象のコンテンツに対応する再生条件の回数制限がないと判定した場合、図16のステップS72に進む。
ステップS87において、チェックアウト対象のコンテンツに対応する再生条件の回数制限があると判定された場合、ステップS88に進み、チェックイン/チェックアウト管理プログラム132は、チェックアウト先のPD6に、再生条件の回数制限を守る機能があるかどうかを判定する。例えば、PD6は、フラッシュメモリ61(図3)に自分の有する機能を記憶させてあり、チェックイン/チェックアウト管理プログラム132は、PD用ドライバ141を制御して、チェックアウト先のPD6のフラッシュメモリ61から、そのPD6の機能を読み出し、その機能に再生条件の回数制限を守る機能があるかどうかを判定する。
ステップS88において、チェックアウト先のPD6に、再生条件の回数制限を守る機能があると判定された場合、チェックイン/チェックアウト管理プログラム132は、図16のステップS72に進む。
一方、ステップS88において、チェックアウト先のPD6に、再生条件の回数制限を守る機能がないと判定された場合、ステップS89に進み、表示操作指示プログラム112は、ディスプレイ20(図2)に、チェックアウト先のPD6は再生条件の回数制限を守る機能を有していない旨のメッセージを表示させ、処理を終了する。
次に、図18は、図4のチェックイン/チェックアウト管理プログラム132が行う結合処理を説明するフローチャートである。この結合処理は、例えば、すべてのコンテンツ管理情報ファイル161のファイルサイズが、結合値未満になったとき、開始される。ここで、結合値とは、例えば、運用に最適なファイルサイズの上限値より十分小さく、結合後のファイルサイズが、その上限値を超えないファイルサイズの上限値である。結合値は、例えば、チェックイン/チェックアウト管理プログラム132の作成元により、作成時に設定される。
なお、結合処理が開始されるタイミングは、すべてのコンテンツ管理情報ファイル161のファイルサイズが結合値未満になったときに限定されず、任意のタイミングとすることができる。例えば、表示操作指示プログラム112は、ディスプレイ20に、パーソナルコンピュータ1の環境を設定するための環境設定画面を表示させ、その環境設定画面に、コンテンツ管理情報ファイル161の結合を指令するための結合ボタンを表示させる。そして、ユーザにより結合ボタンが操作されたとき、チェックイン/チェックアウト管理プログラム132は、結合処理を開始することもできる。このように、チェックイン/チェックアウト管理プログラム132は、ユーザから指定されたタイミングで結合処理を開始することもできる。
ステップS101において、チェックイン/チェックアウト管理プログラム132は、結合前のコンテンツ管理情報データベース115の分割レベルLb(Lbは1以上の整数)に基づいて、コンテンツ管理情報ファイル161を結合し、2(Lb−1)個のコンテンツ管理情報ファイル161を生成する。具体的には、チェックイン/チェックアウト管理プログラム132は、コンテンツ管理情報ファイル#Nと、コンテンツ管理情報ファイル#N+2(Lb−1)を結合し、コンテンツ管理情報ファイル#Nとする。
例えば、結合前の分割レベルLbが3であり、図10に示したコンテンツ管理情報ファイル#0乃至#7がコンテンツ管理情報データベース115に記憶されている場合、チェックイン/チェックアウト管理プログラム132は、コンテンツ管理情報ファイル#0とコンテンツ管理情報ファイル#0+2(3−1)(=4)を結合し、結合後のコンテンツ管理情報ファイル#0とする。即ち、コンテンツ管理情報ファイル#0には何も格納されていないので、コンテンツ管理情報ファイル#4に格納されているID4が、結合後のコンテンツ管理情報ファイル#0に格納される。
また、チェックイン/チェックアウト管理プログラム132は、コンテンツ管理情報ファイル#1とコンテンツ管理情報ファイル#1+2(3−1)(=5)を結合して、結合後のコンテンツ管理情報ファイル#1とし、コンテンツ管理情報ファイル#2とコンテンツ管理情報ファイル#2+2(3−1)(=6)を結合して、結合後のコンテンツ管理情報ファイル#2とし、コンテンツ管理情報ファイル#3とコンテンツ管理情報ファイル#3+2(3−1)(=7)を結合して、結合後のコンテンツ管理情報ファイル#3とする。従って、結合後のコンテンツ管理情報ファイル#1には、結合前のコンテンツ管理情報ファイル#1のID1が、結合後のコンテンツ管理情報ファイル#2には、結合前のコンテンツ管理情報ファイル#2のID10と、結合前のコンテンツ管理情報ファイル#6のID6が、結合後のコンテンツ管理情報ファイル#3には、結合前のコンテンツ管理情報ファイル#3のID11と、結合前のコンテンツ管理情報ファイル#7のID7が、それぞれ格納される。
これにより、図10の分割レベルLが3のコンテンツ管理情報データベース115が結合され、図9に示した分割レベルLが2のコンテンツ管理情報データベース115になる。即ち、図10の23(=8)個のコンテンツ管理情報ファイル#0乃至#7が結合されて、図9の22(=4)個のコンテンツ管理情報ファイル#0乃至#3が生成される。
なお、ステップS101では、コンテンツ管理情報ファイル161を2個ずつ結合して、2(Lb−1)個のコンテンツ管理情報ファイル161を生成したが、2Q(Qは正の数)ずつ結合し、2(Lb−Q)個のコンテンツ管理情報ファイル161を生成することもできる。
ステップS101の処理後は、ステップS102に進み、チェックイン/チェックアウト管理プログラム132は、コンテンツ管理情報ファイル161をさらに結合するかどうかを判定する。例えば、チェックイン/チェックアウト管理プログラム132は、ステップS101で結合後のすべてのコンテンツ管理情報ファイル161のファイルサイズが、結合値未満であるかどうかを判定し、結合値未満である場合、さらに結合すると判定し、結合値以上である場合、さらに結合しないと判定する。
ステップS102において、コンテンツ管理情報ファイル161をさらに結合すると判定された場合、ステップS101に戻り、チェックイン/チェックアウト管理プログラム132は、いまの分割レベルLを、結合前の分割レベルLbとして、上述した処理を繰り返す。
一方、ステップS102において、コンテンツ管理情報ファイル161をさらに結合しないと判定された場合、チェックイン/チェックアウト管理プログラム132は、処理を終了する。
次に、図19は、図4のチェックイン/チェックアウト管理プログラム132が行うファイル分割処理を説明する他のフローチャートである。
ステップS121において、チェックイン/チェックアウト管理プログラム132は、コンテンツ管理情報ファイル161を分割するタイミングであるかどうかを判定する。ここで、分割するタイミングであるかどうかの判定の方法としては、例えば、以下の2つの方法がある。なお、分割するタイミングであるかどうかの判定の方法は、以下の3つの方法に限定されるものではない。
1つ目の方法は、チェックイン/チェックアウト管理プログラム132が、1以上のコンテンツ管理情報ファイル161が分割値以上であるかどうかを判定する方法である。具体的には、チェックイン/チェックアウト管理プログラム132は、1以上のコンテンツ管理情報ファイル161が分割値以上である場合、分割するタイミングであると判定し、1以上のコンテンツ管理情報ファイル161が分割値以上ではない、即ち、すべてのコンテンツ管理情報ファイル161が分割値未満である場合、分割するタイミングではないと判定する。
ここで、分割値とは、運用に最適なファイルサイズの上限値である。分割値は、例えば、チェックイン/チェックアウト管理プログラム132の作成元により、チェックイン/チェックアウト管理プログラム132の作成時に設定される。なお、ユーザが、表示操作指示プログラム112によりディスプレイ20に表示されたパーソナルコンピュータ1の環境設定画面で、任意に変更することができるようにすることも可能である。
2つ目の方法は、チェックイン/チェックアウト管理プログラム132が、各コンテンツ管理情報ファイル161に格納されるコンテンツ管理情報に対応するコンテンツの数が所定の閾値以上であるかどうかを判定する方法である。具体的には、すべてのコンテンツ管理情報ファイル161に格納されるコンテンツ管理情報に対応するコンテンツの数を、コンテンツ管理情報ファイル161ごとに認識し、1以上のコンテンツ管理情報ファイル161において、コンテンツの数が所定の閾値以上である場合、分割するタイミングであると判定し、すべてのコンテンツ管理情報ファイル161において、コンテンツの数が所定の閾値未満である場合、分割するタイミングではないと判定する。なお、この閾値とは、例えば、チェックイン/チェックアウト管理プログラム132の作成元により、作成時に設定された運用に最適なコンテンツ管理情報のコンテンツの数の上限値である。
3つ目の方法は、チェックイン/チェックアウト管理プログラム132が、ユーザにより分割ボタンが操作されたかどうかを判定する方法である。具体的には、表示操作指示プログラム112は、ディスプレイ20に、パーソナルコンピュータ1の環境設定画面を表示させ、その環境設定画面に、コンテンツ管理情報ファイル161の分割を指令するための分割ボタンを表示させる。例えば、ユーザは、チェックアウト処理が重いと感じた場合(例えば、入力したコマンドに対するレスポンスが遅いことなどにより、ユーザが不快に感じた場合)、分割ボタンを操作する。ユーザにより分割ボタンが操作されたとき、チェックイン/チェックアウト管理プログラム132は、分割するタイミングであると判定する。このように、チェックイン/チェックアウト管理プログラム132は、ユーザから指定されたタイミングで分割する。換言すれば、ユーザは、分割するタイミング自由に制御することができる。
ステップS121において、分割するタイミングではないと判定された場合、チェックイン/チェックアウト管理プログラム132は、分割するタイミングであると判定されるまで待機する。
一方、ステップS121において、分割するタイミングであると判定された場合、ステップS122に進み、チェックイン/チェックアウト管理プログラム132は、分割後のコンテンツ管理情報データベース115の分割レベルLaを決定する。例えば、チェックイン/チェックアウト管理プログラム132は、上述した1つ目の方法により分割するタイミングであるかどうかを判定した場合、すべてのコンテンツ管理情報ファイル161のファイルサイズが分割値未満になる分割レベルLaを決定する。
ステップS122の処理後は、ステップS123に進み、チェックイン/チェックアウト管理プログラム132は、上述した式(1)にしたがって分割し、2La個のコンテンツ管理情報ファイル161を生成して、処理を終了する。例えば、分割前のコンテンツ管理情報データベース115が、図7に示した分割レベルLが0のコンテンツ管理情報データベース115である場合、チェックイン/チェックアウト管理プログラム132は、上述した式(1)にしたがって、コンテンツ管理情報ファイル#0を分割して、21(=2)個のコンテンツ管理情報ファイル#0と#1を生成する。即ち、分割後のコンテンツ管理情報データベース115は、図8に示した分割レベルLが1のコンテンツ管理情報データベース115となる。
ここで、式(1)にしたがって、例えば、図8に示した分割レベルLが1のコンテンツ管理情報データベース115のコンテンツ管理情報ファイル#0と#1を、コンテンツ管理情報ファイル#0乃至#3の4個に分割して、図9に示した分割レベルLが2のコンテンツ管理情報データベース115にする場合、各コンテンツ管理情報ファイル161において、コンテンツIDが小さい順に、コンテンツ管理情報を、コンテンツ管理情報ファイル#0乃至#4に分割して格納するとき、コンテンツ管理情報ファイル#0乃至#4に格納されるコンテンツ管理情報は、対応するコンテンツのコンテンツIDが小さい順に格納される。
即ち、式(1)によれば、分割レベルLのコンテンツ管理情報データベース115を、分割レベルL+1のコンテンツ管理情報データベース115にする場合、コンテンツ管理情報ファイル#Nに格納されているコンテンツ管理情報は、コンテンツ管理情報ファイル#Nまたは#(N+2L)(ただし、L=0を除く)に必ず格納されることになるので、分割前に異なるコンテンツ管理情報ファイル161に格納されているコンテンツ管理情報は、分割後も必ず異なるコンテンツ管理情報ファイル161に格納される。従って、分割前に異なるコンテンツ管理情報ファイル161に格納されているコンテンツ管理情報が、同一のコンテンツ管理情報ファイル161に交ざって格納されることはないので、コンテンツ管理情報ファイル161ごとに、コンテンツIDが小さい順に、コンテンツ管理情報を分割して、分割後のコンテンツ管理情報ファイル161に格納する場合、分割前のコンテンツ管理情報ファイル161の昇順を維持することができる。
なお、分割レベルLが0のコンテンツ管理情報データベース115のコンテンツ管理情報#0に格納されているコンテンツ管理情報を、コンテンツIDが小さい順に分割して、分割レベルLが1のコンテンツ管理情報データベース115のコンテンツ管理情報ファイル#0または#1に格納する場合、1つのコンテンツ管理情報ファイル#0に格納されているコンテンツ管理情報が、コンテンツIDが小さい順にコンテンツ管理情報ファイル#0または#1に格納されるので、コンテンツ管理情報ファイル#0または#1に格納されるコンテンツ管理情報は、コンテンツIDが小さい順に並ぶことになる。
これにより、例えば、コンテンツ管理情報ファイル161に格納されているコンテンツ管理情報を、対応するコンテンツのコンテンツIDの昇順に、ソートする必要がなくなる。従って、例えば、ソートの処理を行うプログラムが不要となり、コストを削減することができる。また、例えば、ユーザが、コンテンツ管理情報データベース115から、所定のコンテンツIDのコンテンツに対応するコンテンツ管理情報を検索する場合、2分検索(バイナリサーチ)を行い、検索コストの向上を図ることができる。
さらに、ステップS123では、式(1)のような簡単な式を用いて、コンテンツ管理情報ファイル161を分割するので、ファイル分割処理を行うチェックイン/チェックアウト管理プログラム132の作成が容易であり、チェックイン/チェックアウト管理プログラム132を作成するためのコストを軽減することができる。
なお、チェックイン/チェックアウト管理プログラム132は、コンテンツ管理情報ファイル161を2L個に1度に分割する、即ち、分割レベルLを一度にステップS122で決定されたレベルにするのではなく、分割レベルLを1個ずつまたは数個ずつ上げていくこともできる。例えば、分割前のコンテンツ管理情報データベース115が、図17に示した分割レベルLが0のコンテンツ管理情報データベース115であり、ステップS122で決定された分割レベルLが2である場合、図7に示した分割レベルLが0のコンテンツ管理情報データベース115を、コンテンツ管理情報ファイル#0を4個に分割することにより、図9に示した分割レベルLが2のコンテンツ管理情報データベース115にしてもよいし、コンテンツ管理情報ファイル#0を2個に分割することにより、図8に示した分割レベルLが1のコンテンツ管理情報データベース115にし、さらに、コンテンツ管理情報ファイル#0と#1をそれぞれ2個に分割して、図9に示した分割レベルが2のコンテンツ管理情報データベース115にしてもよい。
また、本実施の形態では、式(1)における値Jは、コンテンツIDを表すとしたが、これに限定されるものではなく、コンテンツ管理情報に含まれる項目のデータに関するデータであればどのようなものであってもよい。
例えば、式(1)の値Jが、コンテンツ管理情報に含まれる項目「コンテンツID」に関するデータとして、コンテンツIDから、例えば、SHA1(Secure Hash Algorithm 1)やMD5(Message Digest 5)のハッシュ関数を用いて算出されたハッシュ値などの分散度の高い値を表すようにすることもできる。
また、式(1)の値Jが、コンテンツ管理情報に含まれる項目「チェックアウト先1」、「チェックアウト先2」、または「チェックアウト先3」に関するデータとして、PD6のPDIDを表すようにすることもできる。この場合、チェックアウト先であるPD6が同一のコンテンツに対応するコンテンツ管理情報は、同一のコンテンツ管理情報ファイル161に格納される。即ち、チェックアウト先であるPD6が同一のコンテンツに対応するコンテンツ管理情報を、1つのコンテンツ管理情報ファイル161で集中管理することができる。このように、式(1)の値Jを、コンテンツ管理情報に含まれる項目に関するデータのいずれかに変化させることにより、コンテンツ管理情報の管理形態を変化させることができる。
さらに、パーソナルコンピュータ1は、図13と図19のファイル分割処理のいずれか1つを行うこともできるし、両方を行うこともできる。パーソナルコンピュータ1が、図13と図19のファイル分割処理の両方を行う場合、パーソナルコンピュータ1」は、図13のファイル分割処理を、チェックイン/チェックアウト管理プログラム132のインストール時に行い、その後のコンテンツ管理情報ファイル161の状態に応じて、図19の分割処理を行う。
次に、上述した一連の処理は、専用のハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムは、図2に示した磁気ディスク41(フロッピディスクを含む)、光ディスク42(CD-ROM(Compact Disc Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク43(MD(Mini-Disc)を含む)、もしくは半導体メモリ44などよりなるパッケージメディアに、一時的あるいは永続的に格納(記録)しておくことができる。
なお、プログラムは、上述したようなパッケージメディアからコンピュータにインストールする他、ダウンロードサイトから、デジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを、通信部25で受信し、内蔵するHDD21にインストールすることができる。
ここで、本明細書において、コンピュータに各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含むものである。
また、プログラムは、1のコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
1 パーソナルコンピュータ, 2 ネットワーク, 3 EMD登録サーバ, 4 EMDサーバ, 5 WWWサーバ, 6 PD, 7 USBケーブル, 11 CPU, 12 ROM, 13 RAM, 41 磁気ディスク, 42 光ディスク, 43 光磁気ディスク, 44 半導体メモリ, 112 表示操作指示プログラム, 113 録音プログラム, 114 コンテンツデータベース, 115 コンテンツ管理情報データベース, 132 チェックイン/チェックアウト管理プログラム, 138 コンテンツ管理情報管理プログラム, 161 コンテンツ管理情報ファイル
Claims (19)
- コンテンツの管理を行う情報処理装置において、
前記コンテンツの管理情報を記憶する2のL乗個(Lは0以上の整数)の記憶手段と、
前記管理情報に含まれる所定の項目に関する第1のデータと、(2のL乗―1)との論理積に基づいて、前記記憶手段を選択し、その選択した記憶手段に、前記管理情報を記憶させる記憶制御手段と
を備えることを特徴とする情報処理装置。 - 前記2のL乗個の記憶手段を分割して、2の(L+P)乗(Pは正の数)個の記憶手段を生成する分割手段
をさらに備える
ことを特徴とする請求項1に記載の情報処理装置。 - 前記分割手段は、ユーザから指定されたタイミングで、前記2のL乗個の記憶手段を分割する
ことを特徴とする請求項2に記載の情報処理装置。 - 前記分割手段は、前記管理情報のサイズが所定の値以上となる場合に、前記2のL乗個の記憶手段を分割する
ことを特徴とする請求項2に記載の情報処理装置。 - 前記2の(L+P)乗個の記憶手段を結合して、2の(L+P―Q)(L+P≧Q)乗個の記憶手段を生成する結合手段
をさらに備える
ことを特徴とする請求項2に記載の情報処理装置。 - 前記結合手段は、ユーザから指定されたタイミングで、前記2の(L+P)乗個の記憶手段を結合する
ことを特徴とする請求項5に記載の情報処理装置。 - 前記結合手段は、前記管理情報のサイズが所定の値未満となる場合に、前記2の(L+P)乗個の記憶手段を結合する
ことを特徴とする請求項5に記載の情報処理装置。 - 前記第1のデータは、前記項目のデータである
ことを特徴とする請求項1に記載の情報処理装置。 - 前記第1のデータは、前記項目のデータのハッシュ値である
ことを特徴とする請求項1に記載の情報処理装置。 - コンテンツの管理情報を記憶する2のL乗個(Lは0以上の整数)の記憶手段を備える情報処理装置の情報処理方法において、
前記管理情報に含まれる所定の項目に関する第1のデータと、(2のL乗―1)との論理積に基づいて、前記記憶手段を選択し、その選択した記憶手段に、前記管理情報を記憶させる記憶制御ステップ
を含むことを特徴とする情報処理方法。 - 2のL乗個(Lは0以上の整数)の記憶手段にコンテンツの管理情報を記憶させる記憶制御処理を、コンピュータに行わせるプログラムにおいて、
前記管理情報に含まれる所定の項目に関する第1のデータと、(2のL乗―1)との論理積に基づいて、前記記憶手段を選択し、その選択した記憶手段に、前記管理情報を記憶させる記憶制御ステップ
を含むことを特徴とするプログラム。 - 前記2のL乗個の記憶手段を分割して、2の(L+P)乗(Pは正の数)個の記憶手段を生成する分割ステップ
をさらに含む
ことを特徴とする請求項11に記載のプログラム。 - 前記分割ステップの処理は、ユーザから指定されたタイミングで、前記2のL乗個の記憶手段を分割する
ことを特徴とする請求項12に記載のプログラム。 - 前記分割ステップの処理は、前記管理情報のサイズが所定の値以上となる場合に、前記2のL乗個の記憶手段を分割する
ことを特徴とする請求項12に記載のプログラム。 - 前記2の(L+P)乗個の記憶手段を結合して、2の(L+P―Q)(L+P≧Q)乗個の記憶手段を生成する結合ステップ
をさらに含む
ことを特徴とする請求項11に記載のプログラム。 - 前記結合ステップの処理は、ユーザから指定されたタイミングで、前記2の(L+P)乗個の記憶手段を結合する
ことを特徴とする請求項15に記載のプログラム。 - 前記結合ステップの処理は、前記管理情報のサイズが所定の値未満となる場合に、前記2の(L+P)乗個の記憶手段を結合する
ことを特徴とする請求項15に記載のプログラム。 - 前記第1のデータは、前記項目のデータである
ことを特徴とする請求項11に記載のプログラム。 - 前記第1のデータは、前記項目のデータのハッシュ値である
ことを特徴とする請求項11に記載のプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004206386A JP2006031775A (ja) | 2004-07-13 | 2004-07-13 | 情報処理装置および情報処理方法、並びにプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004206386A JP2006031775A (ja) | 2004-07-13 | 2004-07-13 | 情報処理装置および情報処理方法、並びにプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006031775A true JP2006031775A (ja) | 2006-02-02 |
Family
ID=35897943
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004206386A Withdrawn JP2006031775A (ja) | 2004-07-13 | 2004-07-13 | 情報処理装置および情報処理方法、並びにプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006031775A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008097063A (ja) * | 2006-10-06 | 2008-04-24 | Onkyo Corp | コンテンツ転送システム、コンテンツ記録装置及び携帯型コンテンツ記録システム |
JP2009059232A (ja) * | 2007-08-31 | 2009-03-19 | I-O Data Device Inc | コンテンツ管理方法、そのプログラム、および記録媒体 |
-
2004
- 2004-07-13 JP JP2004206386A patent/JP2006031775A/ja not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008097063A (ja) * | 2006-10-06 | 2008-04-24 | Onkyo Corp | コンテンツ転送システム、コンテンツ記録装置及び携帯型コンテンツ記録システム |
JP2009059232A (ja) * | 2007-08-31 | 2009-03-19 | I-O Data Device Inc | コンテンツ管理方法、そのプログラム、および記録媒体 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4325102B2 (ja) | 情報処理装置および方法、並びにプログラム格納媒体 | |
KR20010086142A (ko) | 콘텐츠 제공시스템 | |
JP4465577B2 (ja) | 情報処理装置および方法、情報処理システム、記録媒体、並びにプログラム | |
WO2006009210A1 (ja) | コンテンツ処理装置,コンテンツ処理方法およびコンピュータプログラム | |
KR20010014982A (ko) | 정보 처리 장치, 정보 처리 방법, 및 프로그램 저장 매체 | |
KR100941199B1 (ko) | 정보 처리 장치 및 방법, 및 프로그램 저장 매체 | |
WO2001031461A1 (fr) | Systeme fournisseur de contenu | |
JP2003058430A (ja) | 情報記録処理装置、コンテンツ入出力管理装置、コンテンツ管理システム、および情報記録処理方法、コンテンツ入出力管理方法、コンテンツ管理方法、並びにコンピュータ・プログラム | |
TWI227423B (en) | Device and method for processing information, and computer readable storage medium | |
WO2000049511A1 (fr) | Circuit integre a semi-conducteur, procede de traitement de l'information, dispositif de traitement de l'information et dispositif de memorisation de programme | |
JP4329258B2 (ja) | コンテンツデータの制御装置及び方法、並びに、記憶媒体 | |
JP4655470B2 (ja) | コンテンツデータ処理装置及びコンテンツデータ処理方法、並びにコンテンツデータ管理システム及びコンテンツデータ管理方法 | |
JP4360026B2 (ja) | データ処理装置、コンテンツ管理方法及び記憶媒体 | |
JP2000305854A (ja) | 情報処理装置および方法、並びにプログラム格納媒体 | |
WO2001035236A1 (fr) | Procede de gestion de donnees de contenu | |
JP2001051906A (ja) | 情報処理装置および方法、並びにプログラム格納媒体 | |
JP2000305846A (ja) | 情報処理装置および方法、並びにプログラム格納媒体 | |
JP3820581B2 (ja) | 情報処理装置および方法、記録媒体、プログラム、並びに記録装置 | |
JP2006031775A (ja) | 情報処理装置および情報処理方法、並びにプログラム | |
JP4449892B2 (ja) | 情報処理装置、情報処理方法、記録装置、記録方法、記録媒体、並びにプログラム | |
JP2003099329A (ja) | 情報処理装置及び情報処理方法 | |
JP4581219B2 (ja) | コンテンツ提供システム、コンテンツ配信方法、記憶媒体及びデータ処理装置 | |
JP4701644B2 (ja) | コンテンツ再生装置,コンテンツ再生制御方法およびコンピュータプログラム | |
JP2000306328A (ja) | 情報処理装置および方法、並びにプログラム格納媒体 | |
JP2000306006A (ja) | 情報処理装置および方法、並びにプログラム格納媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20071002 |