(57)【要約】【課題】コンテンツを効率良く管理し、チェックアウト処理の応答速度を高めることができるようにする。【解決手段】  コンテンツ管理情報データベース１１５は、２のＬ乗個のコンテンツ管理情報ファイル１６１を記憶している。コンテンツ管理情報ファイル１６１には、コンテンツ管理情報が格納されている。チェックイン/チェックアウト管理プログラム１３２は、コンテンツ管理情報に含まれる項目「コンテンツＩＤ」の値であるコンテンツＩＤと、（２のＬ乗―１）との論理積に基づいて、コンテンツ管理情報を格納するコンテンツ管理情報ファイル１６１を選択し、その選択したコンテンツ管理情報ファイル１６１に、コンテンツ管理情報を記憶させる。本発明は、例えば、コンテンツを管理する情報処理装置に適用することができる。【選択図】図４
2006031775.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツの管理を行う情報処理装置において、
前記コンテンツの管理情報を記憶する２のＬ乗個（Ｌは０以上の整数）の記憶手段と、
前記管理情報に含まれる所定の項目に関する第１のデータと、（２のＬ乗―１）との論理積に基づいて、前記記憶手段を選択し、その選択した記憶手段に、前記管理情報を記憶させる記憶制御手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記２のＬ乗個の記憶手段を分割して、２の（Ｌ＋Ｐ）乗（Ｐは正の数）個の記憶手段を生成する分割手段
をさらに備える
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記分割手段は、ユーザから指定されたタイミングで、前記２のＬ乗個の記憶手段を分割する
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記分割手段は、前記管理情報のサイズが所定の値以上となる場合に、前記２のＬ乗個の記憶手段を分割する
ことを特徴とする請求項２に記載の情報処理装置。
【請求項５】
前記２の（Ｌ＋Ｐ）乗個の記憶手段を結合して、２の（Ｌ＋Ｐ―Ｑ）（Ｌ＋Ｐ≧Ｑ）乗個の記憶手段を生成する結合手段
をさらに備える
ことを特徴とする請求項２に記載の情報処理装置。
【請求項６】
前記結合手段は、ユーザから指定されたタイミングで、前記２の（Ｌ＋Ｐ）乗個の記憶手段を結合する
ことを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記結合手段は、前記管理情報のサイズが所定の値未満となる場合に、前記２の（Ｌ＋Ｐ）乗個の記憶手段を結合する
ことを特徴とする請求項５に記載の情報処理装置。
【請求項８】
前記第１のデータは、前記項目のデータである
ことを特徴とする請求項１に記載の情報処理装置。
【請求項９】
前記第１のデータは、前記項目のデータのハッシュ値である
ことを特徴とする請求項１に記載の情報処理装置。
【請求項１０】
コンテンツの管理情報を記憶する２のＬ乗個（Ｌは０以上の整数）の記憶手段を備える情報処理装置の情報処理方法において、
前記管理情報に含まれる所定の項目に関する第１のデータと、（２のＬ乗―１）との論理積に基づいて、前記記憶手段を選択し、その選択した記憶手段に、前記管理情報を記憶させる記憶制御ステップ
を含むことを特徴とする情報処理方法。
【請求項１１】
２のＬ乗個（Ｌは０以上の整数）の記憶手段にコンテンツの管理情報を記憶させる記憶制御処理を、コンピュータに行わせるプログラムにおいて、
前記管理情報に含まれる所定の項目に関する第１のデータと、（２のＬ乗―１）との論理積に基づいて、前記記憶手段を選択し、その選択した記憶手段に、前記管理情報を記憶させる記憶制御ステップ
を含むことを特徴とするプログラム。
【請求項１２】
前記２のＬ乗個の記憶手段を分割して、２の（Ｌ＋Ｐ）乗（Ｐは正の数）個の記憶手段を生成する分割ステップ
をさらに含む
ことを特徴とする請求項１１に記載のプログラム。
【請求項１３】
前記分割ステップの処理は、ユーザから指定されたタイミングで、前記２のＬ乗個の記憶手段を分割する
ことを特徴とする請求項１２に記載のプログラム。
【請求項１４】
前記分割ステップの処理は、前記管理情報のサイズが所定の値以上となる場合に、前記２のＬ乗個の記憶手段を分割する
ことを特徴とする請求項１２に記載のプログラム。
【請求項１５】
前記２の（Ｌ＋Ｐ）乗個の記憶手段を結合して、２の（Ｌ＋Ｐ―Ｑ）（Ｌ＋Ｐ≧Ｑ）乗個の記憶手段を生成する結合ステップ
をさらに含む
ことを特徴とする請求項１１に記載のプログラム。
【請求項１６】
前記結合ステップの処理は、ユーザから指定されたタイミングで、前記２の（Ｌ＋Ｐ）乗個の記憶手段を結合する
ことを特徴とする請求項１５に記載のプログラム。
【請求項１７】
前記結合ステップの処理は、前記管理情報のサイズが所定の値未満となる場合に、前記２の（Ｌ＋Ｐ）乗個の記憶手段を結合する
ことを特徴とする請求項１５に記載のプログラム。
【請求項１８】
前記第１のデータは、前記項目のデータである
ことを特徴とする請求項１１に記載のプログラム。
【請求項１９】
前記第１のデータは、前記項目のデータのハッシュ値である
ことを特徴とする請求項１１に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および情報処理方法、並びにプログラムに関し、特に、コンテンツを効率良く管理し、チェックアウト処理の応答速度を高めることができるようにする情報処理装置および情報処理方法、並びにプログラムに関する。
【背景技術】
【０００２】
例えば、コンテンツを蓄積（記憶）し、そのコンテンツのチェックアウトを行う情報処理装置において、コンテンツの使用状態（例えば、チェックアウト回数等）を管理する管理情報(以下、コンテンツ管理情報という)が記憶される情報処理装置がある(例えば、特許文献１参照)。
【０００３】
この情報処理装置は、改竄されたコンテンツ管理情報に基づいて、チェックアウト処理を行うことを防止するため、コンテンツ管理情報のハッシュ値を算出し、コンテンツ管理情報とともに記憶する。そして、情報処理装置は、そのハッシュ値に基づいて、コンテンツ管理情報が改竄されたかどうかを判定し、コンテンツ管理情報が改ざんされていないと判定した場合のみ、チェックアウト処理を行う。
【０００４】
【特許文献１】特開２０００−３０６３２８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
近年、ハードディスクを記録媒体とするポータブルデバイス（Portable Device）（以下、ＰＤという）の出現により、ＰＤへの大量のコンテンツのチェックアウトが可能となっている。大量のコンテンツのチェックアウトを行う場合、そのコンテンツの使用状態を管理するコンテンツ管理情報が膨大となる。また、コンテンツ管理情報がチェックアウト先に関する情報を含んでいる場合、チェックアウト先が複数存在するとき、コンテンツ管理情報は膨大となる。
【０００６】
このように、コンテンツ管理情報が膨大となる場合、コンテンツ管理情報を記憶するデータベースに対するI/0（In/Out）処理や、コンテンツ管理情報のハッシュ値を算出する処理に、多大な時間を必要とする。上述したように、特許文献１に記載の情報処理装置では、コンテンツ管理情報のハッシュ値に基づいて、チェックアウト処理を行うので、コンテンツ管理情報のハッシュ値を算出するために、多大な時間が必要となる場合、チェックアウト処理の応答速度が低下する恐れがある。
【０００７】
本発明は、このような状況に鑑みてなされたものであり、コンテンツを効率良く管理し、チェックアウト処理の応答速度を高めることができるようにするものである。
【課題を解決するための手段】
【０００８】
本発明の情報処理装置は、コンテンツの管理情報を記憶する２のＬ乗個（Ｌは０以上の整数）の記憶手段と、管理情報に含まれる所定の項目に関する第１のデータと、（２のＬ乗―１）との論理積に基づいて、記憶手段を選択し、その選択した記憶手段に、管理情報を記憶させる記憶制御手段とを備えることを特徴とする
【０００９】
この情報処理装置には、２のＬ乗個の記憶手段を分割して、２の（Ｌ＋Ｐ）乗（Ｐは正の数）個の記憶手段を生成する分割手段をさらに設けることができる。
【００１０】
分割手段は、ユーザから指定されたタイミングで、２のＬ乗個の記憶手段を分割することができる。
【００１１】
分割手段は、管理情報のサイズが所定の値以上となる場合に、２のＬ乗個の記憶手段を分割することができる。
【００１２】
情報処理装置には、２の（Ｌ＋Ｐ）乗個の記憶手段を結合して、２の（Ｌ＋Ｐ―Ｑ）（Ｌ＋Ｐ≧Ｑ）乗個の記憶手段を生成する結合手段を設けることができる。
【００１３】
結合手段は、ユーザから指定されたタイミングで、２の（Ｌ＋Ｐ）乗個の記憶手段を結合することができる。
【００１４】
結合手段は、管理情報のサイズが所定の値未満となる場合に、２の（Ｌ＋Ｐ）乗個の記憶手段を結合することができる。
【００１５】
第１のデータは、項目のデータである。
【００１６】
第１のデータは、項目のデータのハッシュ値である。
【００１７】
本発明の情報処理方法は、管理情報に含まれる所定の項目に関する第１のデータと、（２のＬ乗―１）との論理積に基づいて、記憶手段を選択し、その選択した記憶手段に、管理情報を記憶させる記憶制御ステップを含むことを特徴とする。
【００１８】
本発明のプログラムは、管理情報に含まれる所定の項目に関する第１のデータと、（２のＬ乗―１）との論理積に基づいて、記憶手段を選択し、その選択した記憶手段に、管理情報を記憶させる記憶制御ステップを含むことを特徴とする。
【００１９】
このプログラムには、２のＬ乗個の記憶手段を分割して、２の（Ｌ＋Ｐ）乗（Ｐは正の数）個の記憶手段を生成する分割ステップをさらに含むことができる。
【００２０】
分割ステップの処理は、ユーザから指定されたタイミングで、２のＬ乗個の記憶手段を分割することができる。
【００２１】
分割ステップの処理は、管理情報のサイズが所定の値以上となる場合に、２のＬ乗個の記憶手段を分割することができる。
【００２２】
プログラムには、２の（Ｌ＋Ｐ）乗個の記憶手段を結合して、２の（Ｌ＋Ｐ―Ｑ）（Ｌ＋Ｐ≧Ｑ）乗個の記憶手段を生成する結合ステップをさらに含むことができる。
【００２３】
結合ステップの処理は、ユーザから指定されたタイミングで、２の（Ｌ＋Ｐ）乗個の記憶手段を結合することができる。
【００２４】
結合ステップの処理は、管理情報のサイズが所定の値未満となる場合に、２の（Ｌ＋Ｐ）乗個の記憶手段を結合することができる。
【００２５】
第１のデータは、項目のデータである。
【００２６】
第１のデータは、項目のデータのハッシュ値である。
【００２７】
本発明においては、コンテンツの管理情報を記憶する２のＬ乗個（Ｌは０以上の整数）の記憶手段を備え、管理情報に含まれる所定の項目に関する第１のデータと、（２のＬ乗―１）との論理積に基づいて、記憶手段を選択し、その選択した記憶手段に、管理情報を記憶させる。
【発明の効果】
【００２８】
本発明によれば、コンテンツを効率良く管理し、チェックアウト処理の応答速度を高めることができる。
【発明を実施するための最良の形態】
【００２９】
以下に本発明の実施の形態を説明するが、請求項に記載の構成要件と、発明の実施の形態における具体例との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする具体例が、発明の実施の形態に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、構成要件に対応するものとして、ここには記載されていない具体例があったとしても、そのことは、その具体例が、その構成要件に対応するものではないことを意味するものではない。逆に、具体例が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その具体例が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００３０】
さらに、この記載は、発明の実施の形態に記載されている具体例に対応する発明が、請求項に全て記載されていることを意味するものではない。換言すれば、この記載は、発明の実施の形態に記載されている具体例に対応する発明であって、この出願の請求項には記載されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加される発明の存在を否定するものではない。
【００３１】
請求項１に記載の情報処理装置は、
コンテンツの管理を行う情報処理装置（例えば、図１のパーソナルコンピュータ１）において、
前記コンテンツの管理情報を記憶する２のＬ乗個（Ｌは０以上の整数）の記憶手段（例えば、図４のコンテンツ管理情報ファイル１６１−１乃至１６１−２Ｌ）と、
前記管理情報に含まれる所定の項目に関する第１のデータ（例えば、コンテンツＩＤ）と、（２のＬ乗―１）との論理積に基づいて、前記記憶手段を選択し、その選択した記憶手段に、前記管理情報を記憶させる記憶制御手段（例えば、図１４のステップＳ４０の処理を実行する図４のチェックイン/チェックアウト管理プログラム１３２）と
を備えることを特徴とする。
【００３２】
請求項２に記載の情報処理装置は、
前記２のＬ乗個の記憶手段を分割して、２の（Ｌ＋Ｐ）乗（Ｐは正の数）個の記憶手段を生成する分割手段（例えば、図１９のステップＳ１２３の処理を実行する図４のチェックイン/チェックアウト管理プログラム１３２）
をさらに備える
ことを特徴とする。
【００３３】
請求項５に記載の情報処理装置は、
前記２の（Ｌ＋Ｐ）乗個の記憶手段を結合して、２の（Ｌ＋Ｐ―Ｑ）（Ｌ＋Ｐ≧Ｑ）乗個の記憶手段を生成する結合手段（例えば、図１８のステップＳ１０１の処理を実行するチェックイン/チェックアウト管理プログラム１３２）
をさらに備える
ことを特徴とする。
【００３４】
請求項１０に記載の情報処理方法は、
コンテンツの管理情報を記憶する２のＬ乗個（Ｌは０以上の整数）の記憶手段（例えば、図４のコンテンツ管理情報ファイル１６１−１乃至１６１−２Ｌ）を備える情報処理装置（例えば、図１のパーソナルコンピュータ１）の情報処理方法において、
前記管理情報に含まれる所定の項目に関する第１のデータ（例えば、コンテンツＩＤ）と、（２のＬ乗―１）との論理積に基づいて、前記記憶手段を選択し、その選択した記憶手段に、前記管理情報を記憶させる記憶制御ステップ（例えば、図１４のステップＳ４０）
を含むことを特徴とする。
【００３５】
請求項１１に記載のプログラムは、
２のＬ乗個（Ｌは０以上の整数）の記憶手段（例えば、図４のコンテンツ管理情報ファイル１６１−１乃至１６１−２Ｌ）にコンテンツの管理情報を記憶させる記憶制御処理を、コンピュータに行わせるプログラムにおいて、
前記管理情報に含まれる所定の項目に関する第１のデータ（例えば、コンテンツＩＤ）と、（２のＬ乗―１）との論理積に基づいて、前記記憶手段を選択し、その選択した記憶手段に、前記管理情報を記憶させる記憶制御ステップ（例えば、図１４のステップＳ４０）
を含むことを特徴とする。
【００３６】
請求項１２に記載のプログラムは、
前記２のＬ乗個の記憶手段を分割して、２の（Ｌ＋Ｐ）乗（Ｐは正の数）個の記憶手段を生成する分割ステップ（例えば、図１９のステップＳ１２３）
をさらに含む
ことを特徴とする。
【００３７】
請求項１５に記載のプログラムは、
前記２の（Ｌ＋Ｐ）乗個の記憶手段を結合して、２の（Ｌ＋Ｐ―Ｑ）（Ｌ＋Ｐ≧Ｑ）乗個の記憶手段を生成する結合ステップ（例えば、図１８のステップＳ１０１）
をさらに含む
ことを特徴とする。
【００３８】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【００３９】
図１は、本発明を適用したコンテンツ管理システムの一実施の形態を示す図である。
【００４０】
なお、以下では、コンテンツを楽曲の１曲のデータとして説明するが、コンテンツは、楽曲のデータではなく、画像データであってもよい。また、コンテンツは、楽曲の１曲のデータではなく、複数曲のデータであってもよいし、１曲の一部のデータであってもよい。
【００４１】
図１のコンテンツ管理システムでは、パーソナルコンピュータ１がネットワーク２を介して、EMD（Electrical Music Distribution）登録サーバ３、EMDサーバ４−１乃至４−３、並びにWWW（World Wide Web）サーバ５−１および５−２に接続されている。また、パーソナルコンピュータ１は、USB（Universal Serial Bus）ケーブル７−１乃至７−３を介して、それぞれＰＤ６−１乃至６−３に接続されている。
【００４２】
なお、以下では、EMD４−１乃至４−３を区別する必要がない場合、それらをまとめてEMD４といい、WWWサーバ５−１および５−２を区別する必要がない場合、それらをまとめてWWWサーバ５という。また、ＰＤ６−１乃至６−３を区別する必要がない場合、それらをまとめて、ＰＤ６といい、USBケーブル７−１乃至７−３を区別する必要がない場合、それらをまとめてUSBケーブル７という。
【００４３】
パーソナルコンピュータ１は、ネットワーク２を介して、EMDサーバ４から固有のＩＤ（以下、コンテンツＩＤという）が付加されたコンテンツと、コンテンツの曲名(タイトル)、トラック番号、アーティスト名（作曲者名）、ジャンル名、および演奏時間、並びにコンテンツを再生するための再生条件、コンテンツをチェックアウトするためのチェックアウト条件などのコンテンツに関連するデータ(以下、コンテンツ関連データという)とを受信する。なお、「コンテンツをチェックアウトする」とは、パーソナルコンピュータ１が、暗号化したコンテンツ、暗号化したコンテンツを復号するためのコンテンツ鍵、およびコンテンツ関連データなどのデータ(以下、適宜、チェックアウトデータという)をＰＤ６に送信し、記憶させることである。
【００４４】
また、パーソナルコンピュータ１は、パーソナルコンピュータ１に装着された図示せぬＣＤ（Compact Disc）から、コンテンツＩＤが付加されたコンテンツを取得する。さらに、パーソナルコンピュータ１は、EMDサーバ４からのコンテンツまたはＣＤからのコンテンツを、例えば、ATRAC3（Adaptive Transform Acoustic Coding）（商標）などの圧縮方式で変換するとともにDES（Data Encryption Standard）などの暗号化方式で暗号化し記憶する。
【００４５】
また、パーソナルコンピュータ１は、パーソナルコンピュータ１に装着されたＣＤに記憶されているコンテンツのコンテンツＩＤを用いて、WWWサーバ５から、そのコンテンツに対応するコンテンツ関連データを取得する。パーソナルコンピュータ１は、EMDサーバ４またはWWWサーバ５からのコンテンツ関連データ、並びにEMDサーバ４またはＣＤからのコンテンツに付加されたコンテンツＩＤおよびコンテンツをチェックアウトすることが可能なＰＤ６の台数などのコンテンツ管理情報を記憶する。
【００４６】
パーソナルコンピュータ１は、USBケーブル７を介して、コンテンツをチェックアウトする。即ち、パーソナルコンピュータ１は、チェックアウトデータをＰＤ６に送信して記憶させる。また、パーソナルコンピュータ１は、チェックアウトの対象となるコンテンツに対応するコンテンツ管理情報を更新する。具体的には、コンテンツのチェックアウトが行われた場合、パーソナルコンピュータ１は、そのコンテンツに対応するコンテンツ管理情報に含まれるチェックアウトすることが可能なＰＤ６の台数を１台減らす。ここで、チェックアウトが可能なＰＤ６の台数が０台である場合、パーソナルコンピュータ１は、コンテンツをチェックアウトすることができない（しない）。
【００４７】
また、パーソナルコンピュータ１は、USBケーブル７を介して、コンテンツをチェックインする。なお、チェックインとは、パーソナルコンピュータ１がチェックアウトしたチェックアウトデータを、ＰＤ６に消去、または使用不可能にさせることである。パーソナルコンピュータ１は、チェックインの対象となるコンテンツに対応するコンテンツ管理情報を更新する。具体的には、チェックインが行われた場合、そのコンテンツに対応するコンテンツ管理情報に含まれるチェックアウトすることが可能なＰＤの台数を、１台増やす。なお、パーソナルコンピュータ１は、図示せぬ他のパーソナルコンピュータがＰＤ６にチェックアウトしたコンテンツに対してはチェックインを行わない。
【００４８】
EMD登録サーバ３は、例えば、パーソナルコンピュータ１がEMDサーバ４からコンテンツの取得を開始する場合、パーソナルコンピュータ１の要求に応じて、ネットワーク２を介して、パーソナルコンピュータ１とEMDサーバ４との相互認証に必要な認証鍵やEMDサーバ４に接続するためのプログラムなどをパーソナルコンピュータ１に送信する。
【００４９】
EMDサーバ４は、パーソナルコンピュータ１の要求に応じて、ネットワーク２を介して、コンテンツＩＤが付加されたコンテンツと、対応するコンテンツ関連データとを、パーソナルコンピュータ１に供給する。なお、各EMDサーバ４が供給するコンテンツは、同一の圧縮方式で圧縮されていてもよいし、異なる圧縮の方式で圧縮されていてもよい。
【００５０】
WWW（World Wide Web）サーバ５は、パーソナルコンピュータ１の要求に応じて、ネットワーク２を介して、パーソナルコンピュータ１に装着されたＣＤに記憶されているコンテンツに対応するコンテンツ関連データをパーソナルコンピュータ１に供給する。
【００５１】
ＰＤ６は、パーソナルコンピュータ１から供給されるチェックアウトデータの暗号化されたコンテンツを、コンテンツ鍵で復号する。そして、ＰＤ６は、復号後のコンテンツとコンテンツ関連データを記憶する。即ち、パーソナルコンピュータ１に記憶されているコンテンツのチェックアウトが、ＰＤ６に対して行われる。ＰＤ６は、チェックアウトされたコンテンツを、対応するコンテンツ関連データに基づいて再生し、図示せぬヘッドフォンなどに出力する。
【００５２】
ユーザは、コンテンツがチェックアウトされたＰＤ６をパーソナルコンピュータ１から取り外して、持ち歩くことにより、そのＰＤ６に記憶されているコンテンツを様々な場所で再生させ、ヘッドフォンなどで聴くことができる。なお、ＰＤ６には、ＰＤ６に固有のＩＤ(以下、ＰＤＩＤという)が付されている。
【００５３】
以上のように構成されるコンテンツ管理システムでは、パーソナルコンピュータ１が、EMD登録サーバ３からネットワーク２を介して、EMDサーバ４との相互認証に必要な認証鍵を受信し、その認証鍵を用いて、EMDサーバ４からコンテンツと、対応するコンテンツ関連データとを取得する。また、パーソナルコンピュータ１は、装着されたＣＤからコンテンツを読み出すとともに、WWWサーバ５からネットワーク２を介して、そのコンテンツに対応するコンテンツ関連データを取得する。そして、パーソナルコンピュータ１は、取得したコンテンツをＰＤ６にチェックアウトする。
【００５４】
図２は、パーソナルコンピュータ１の構成例を示すブロック図である。
【００５５】
CPU（Central Processing Unit）１１、ROM（Read-only Memory）１２、およびRAM１３（Random-Access Memory）は、CPUバスなどから構成されるホストバス１４を介して接続されている。
【００５６】
CPU１１は、各種のアプリケーションプログラムや、OS（Operating System)を実行する。ROM１２は、例えば、CPU１１が使用するプログラムや演算用のパラメータのうちの固定のデータを格納する。RAM１３は、例えば、CPU１１が使用するプログラムや、プログラムの実行により適宜変化するパラメータを格納する。
【００５７】
ホストバス１４は、ブリッジ１５を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス１６に接続されている。外部バス１６は、インターフェース１７を介して、キーボード１８、マウス１９、ディスプレイ２０、HDD（Hard Disk Drive）２１、ドライブ２２、およびUSB（Universal Serial Bus）ポート２３−１乃至２３−３に接続されている。また、外部バス１６は、音声出力インターフェース２４、通信部２５、およびアダプタ２６に接続されている。
【００５８】
キーボード１８は、CPU１１に各種の指令を入力するとき、ユーザにより操作される。マウス１９は、ディスプレイ２０の画面上のポイントの指令や選択を行うとき、ユーザにより操作される。ディスプレイ２０は、液晶表示装置またはCRT（Cathode Ray Tube）などから構成され、各種の情報をテキストやイメージで表示する。HDD２１は、図示せぬハードディスクを駆動し、CPU１１が実行するプログラムや情報を記録または再生させる。
【００５９】
例えば、HDD２１は、ネットワーク２、通信部２５、外部バス１６、およびインターフェース１７を介してEMDサーバ４から供給されるコンテンツと対応するコンテンツ関連データ、またはドライブ２２とインターフェース１７を介してＣＤなどの光ディスク４２から供給されるコンテンツと、ネットワーク２、通信部２５、外部バス１６、およびインターフェース１７を介してWWWサーバ５から供給されるそのコンテンツに対応するコンテンツ関連データを、ハードディスクに記憶させたり、ハードディスクから再生する。また、ハードディスクには、例えば、コンテンツを暗号化するための暗号鍵が記憶されており、HDD２１は、その暗号鍵をハードディスクから読み出す。
【００６０】
ドライブ２２は、そこに装着される磁気ディスク４１、ＣＤなどの光ディスク４２、光磁気ディスク４３、または半導体メモリ４４に記録されているデータまたはプログラムを読み出して、そのデータまたはプログラムを、インターフェース１７、外部バス１６、ブリッジ１５、およびホストバス１４を介してRAM１３に供給する。
【００６１】
USBポート２３−１乃至２３−３には、USBケーブル７−１乃至７−３を介して、ＰＤ６−１乃至６−３がそれぞれ接続される。なお、以下では、USBポート２３−１乃至２３−３をそれぞれ区別する必要がない場合、それらをまとめてUSBポート２３といい、USBケーブル７−１乃至７−３を区別する必要がない場合、それらをまとめてUSBケーブル７という。USBポート２３は、HDD２１により再生され、インターフェース１７を介してHDD２１から供給されるコンテンツと対応するコンテンツ関連データを、ＰＤ６に出力する。
【００６２】
音声出力インターフェース２４は、コンテンツに対応する音声信号の出力のインターフェース処理を実行する。音声出力インターフェース２４は、例えば、スピーカ４５にコンテンツに対応する音声信号を供給する。スピーカ４５は、音声出力インターフェース２４から供給される音声信号に基づいて、コンテンツに対応する音声を出力する。なお、音声信号は、アナログ信号であってもよいし、デジタル信号であってもよい。
【００６３】
通信部２５には、ネットワーク２が接続され、通信部２５は、CPU１１から供給されるEMDサーバ４との相互認証に必要な認証鍵の送信要求やコンテンツの送信要求などのデータを、所定の方式のパケットに格納して、ネットワーク２を介して、送信する。また、通信部２５は、ネットワーク２を介してパケットを受信し、そのパケットに格納されている認証鍵やコンテンツなどを、外部バス１６、ブリッジ１５、およびホストバス１４を介してCPU１１またはRAM１３に、もしくは外部バス１６とインターフェース１７を介して、HDD２１に出力する。
【００６４】
アダプタ２６は、半導体ＩＣ（Integrated Circuit）として形成され、パーソナルコンピュータ１に装着される。アダプタ２６のCPU３２は、インターフェース３１を介して外部バス１６と接続されている。CPU３２は、インターフェース３１、外部バス１６、ブリッジ１５、およびホストバス１４を介して、パーソナルコンピュータ１のCPU１１と共働し、各種の処理を実行する。
【００６５】
アダプタ２６のRAM３３は、CPU３２が各種の処理を実行する上において必要なデータやプログラムを記憶する。不揮発性メモリ３４は、パーソナルコンピュータ１の電源がオフされた後も保持する必要があるデータを記憶する。RTC（Real Time Clock）３５は、計時動作を実行し、時刻情報を提供する。ROM３６には、例えば、CPU１１から、ホストバス１４、ブリッジ１５、外部バス１６、およびインターフェース３１を介して暗号化されているプログラムが供給されたとき、それを復号するためのプログラムが記憶されている。
【００６６】
図３は、ＰＤ６の構成例を示すブロック図である。
【００６７】
電源５２は、所定の電力を各部に供給する。CPU５３は、内部バス５８を介して、USBコントローラ５７、DSP（Digital Signal Processor）５９、フラッシュメモリコントローラ６０、デジタル／アナログ変換回路(D/A)６３、および増幅回路６４に接続されている。また、CPU５３は、RAM５４、ROM５５、操作キーコントローラ６２、LCDコントローラ６６、およびEEPROM（Electronically Erasable and Programmable Read Only Memory）６８に接続されている。CPU５３は、ROM５５に記憶されているプログラムを、RAM５４にロードし、プログラムを実行する。なお、CPU５３には、水晶からなる発振子５３Ａが外付けされており、CPU５３は、発振子５３Ａからのマスタークロックに同期して、プログラムを実行する。
【００６８】
また、CPU５３は、USBコントローラ５７から、USBケーブル７を介してパーソナルコンピュータ１が接続されたことを表す割り込み信号が供給された場合、CPU５３は、電源５２を制御して、電源５２からの電力の供給を停止させる。このとき、ＰＤ６の各部には、接続されているパーソナルコンピュータ１からUSBケーブル７を介して規定電流値の電力が供給される。
【００６９】
RAM５４には、例えば、ROM５５に記憶されているプログラムがロードされる。また、RAM５４は、CPU５３がプログラムを実行する上において必要なデータやプログラムを記憶する。ROM５５は、例えば、CPU５３が使用するプログラムや演算用のパラメータのうちの固定のデータを記憶する。
【００７０】
USBコネクタ５６は、パーソナルコンピュータ１とUSBケーブル７を介して接続されている。USBコントローラ５７は、USBコネクタ５６に接続され、パーソナルコンピュータ１から送信されてくるチェックアウトデータを、USBケーブル７とUSBコネクタ５６を介して受信する。USBコントローラ５７は、受信したチェックアウトデータを、内部バス５８を介して、CPU５３に供給する。なお、USBコントローラ５７には、水晶からなる発振子５７Ａが外付けされており、USBコントローラ５７は、発振子５７Ａからのマスタークロックに同期して、チェックアウトデータをCPU５３に供給する。
【００７１】
また、USBコントローラ５７は、USBコネクタ５６に、USBケーブル７を介してパーソナルコンピュータ１が接続されたことを検出し、パーソナルコンピュータ１が接続されたことを表す割り込み信号を、内部バス５８を介してCPU５３に供給する。
【００７２】
DSP５９には、フラッシュメモリ６１から、フラッシュメモリコントローラ６０と内部バス５８を介して、所定の圧縮方式で圧縮されているコンテンツと、そのコンテンツを伸張するための再生用コードが供給される。DSP５９は、コンテンツに対して、例えばCRC（Cyclic Redundancy Check）方式で誤り検出を行い、その後、そのコンテンツを再生用コードに基づいて再生する。DSP５９は、再生したコンテンツであるデータＤ１をD/A６３に供給する。
【００７３】
DSP５９は、内部に設けられた図示せぬ発振回路とともに一体的に構成され、外付けされた水晶からなる発振子５９ＡからのマスタークロックMCLKに基づいて、コンテンツを再生するとともに、マスタークロックMCLKに基づいて、内部の発振回路で生成した所定の周波数のビットクロックBCLKと、フレーム単位のＬチャンネルクロックLCLKおよびＲチャンネルクロックRCLKからなる動作クロックLRCLKとをD/A６３に供給する。
【００７４】
DSP５９は、フラッシュメモリ６１からのコンテンツを再生する場合、動作クロックLRCLKをD/A６３に供給する。一方、DSP５９は、コンテンツを再生しない場合、動作クロックLRCLKのD/A６３への供給を停止する。これにより、DSP５９は、D/A６３の動作を停止させ、ＰＤ６全体の消費電力量を低減することができる。
【００７５】
フラッシュメモリコントローラ６０は、CPU５３の制御により、パーソナルコンピュータ１から受信した所定の圧縮方式で圧縮されたコンテンツ、即ちチェックアウト対象のコンテンツを、フラッシュメモリ６１に書き込む。また、フラッシュメモリコントローラ６０は、フラッシュメモリ６１からコンテンツと再生用コードを読み出し、DSP５９に供給する。フラッシュメモリ６１は、パーソナルコンピュータ１から受信したコンテンツを記憶する。また、フラッシュメモリ６１には、例えば、製造元により、製造時に再生用コードが記憶される。なお、フラッシュメモリ６１は、ＰＤ６に対して着脱可能にすることができる。
【００７６】
操作キーコントローラ６２は、図示せぬ操作ボタンのユーザによる押下に対応して、制御信号をCPU５３に供給する。例えば、操作キーコントローラ６２は、ユーザによる図示せぬ再生／停止ボタンの押し下げ操作に対応して、再生を指令する制御信号をCPU５３に供給する。CPU５３は、フラッシュメモリコントローラ６０に、フラッシュメモリ６１から、再生用コードとコンテンツを読み出させ、DSP５９に供給させる。
【００７７】
D/A６３は、再生したコンテンツをアナログの音声信号に変換して、増幅回路６４に供給する。増幅回路６４は、音声信号を増幅して、ヘッドフォンジャック６５を介して、図示せぬヘッドフォンに音声信号を供給する。
【００７８】
LCDコントローラ６６は、CPU５３の制御により、表示部６７に、例えば、イコライザ調整（音声信号の周波数帯域に対応した利得の調整）、コンテンツのトラック番号、演奏時間、再生、停止、早送り、早戻しなどの状態、音量、電源５２の残量などの情報を出力し、表示させる。
【００７９】
EEPROM６８は、フラッシュメモリ６１に記憶されているコンテンツの数、それぞれのコンテンツが記憶されているフラッシュメモリ６１のブロック位置などの、いわゆるFAT（File Allocation Table）を格納する。
【００８０】
例えば、１曲目のコンテンツがCPU５３の制御によりフラッシュメモリ６１に記憶されると、１曲目のコンテンツに対応するブロック位置がFATとしてEEPROM６８に格納される。次に、２曲目のコンテンツがフラッシュメモリ６１に記憶されると、２曲目のコンテンツに対応するブロック位置がFATとしてEEPROM６８に格納される。このように、FATは、フラッシュメモリ６１へコンテンツが記憶されるたびに書き換えられる。
【００８１】
図４は、CPU１１が所定のプログラムを実行することにより実現される、パーソナルコンピュータ１の機能の構成例を示すブロック図である。
【００８２】
パーソナルコンピュータ１は、コンテンツ管理プログラム１１１、表示操作指示プログラム１１２、録音プログラム１１３、コンテンツデータベース１１４、コンテンツ管理情報データベース１１５、購入用アプリケーションプログラム１１６、並びにデバイスドライバ１１７−１と１１７−２から構成される。
【００８３】
コンテンツ管理プログラム１１１は、EMD選択プログラム１３１、チェックイン／チェックアウト管理プログラム１３２、暗号化方式変換プログラム１３３、圧縮方式変換プログラム１３４、暗号化プログラム１３５、圧縮/伸張プログラム１３６、コンテンツ関連データ変換プログラム１３７、コンテンツ管理情報管理プログラム１３８、認証プログラム１３９、復号プログラム１４０、ＰＤ用ドライバ１４１、購入用プログラム１４２、および購入用プログラム１４３から構成される。
【００８４】
コンテンツ管理プログラム１１１は、処理内容を外部から隠蔽し、その処理内容の読解が困難になるように、例えば、シャッフルされているインストラクション、または暗号化されているインストラクションなどで記述されている。従って、ユーザは、コンテンツ管理プログラム１１１を読み出したとしても、インストラクションを特定することは困難である。また、コンテンツ管理プログラム１１１には、例えば、作成元により、作成時にＩＤが記憶される。
【００８５】
EMD選択プログラム１３１は、表示操作指示プログラム１１２がEMD登録サーバ４に要求を行ったとき、EMD登録サーバ４からネットワーク２を介してインストールされる。EMD選択プログラム１３１は、表示操作指示プログラム１１２の指令により、EMDサーバ４−１乃至４−３のいずれかとの接続を選択し、その選択したEMDサーバ４との通信を、購入用アプリケーションプログラム１１６、購入用プログラム１４２、または購入用プログラム１４３に実行させる。例えば、EMD選択プログラム１３１は、EMDサーバ４からのコンテンツのダウンロードなどを、購入用アプリケーションプログラム１１６、購入用プログラム１４２、または購入用プログラム１４３に実行させる。
【００８６】
チェックイン／チェックアウト管理プログラム１３２は、表示操作指示プログラム１１２の指示により、コンテンツ管理情報データベース１１５に記憶されているコンテンツ管理情報ファイル１６１−１乃至１６１−２Ｌのコンテンツ管理情報に基づいて、ＰＤ６−１乃至６−３のいずれかにコンテンツをチェックアウトするチェックアウト処理を行う。具体的には、チェックイン/チェックアウト管理プログラム１３２は、コンテンツデータベース１１４から、チェックアウト対象のコンテンツを読み出し、暗号化方式変換プログラム１３３に供給する。また、チェックイン/チェックアウト管理プログラム１３２は、コンテンツデータベース１１４のコンテンツ関連テーブルと、コンテンツ管理情報ファイル１１５のコンテンツ管理情報とに含まれるチェックアウト対象のコンテンツに対応するコンテンツ関連データを、コンテンツ関連データ変換プログラム１３７に供給する。
【００８７】
そして、チェックイン/チェックアウト管理プログラム１３２は、ＰＤ用ドライバ１４１を介して、暗号化方式変換プログラム１３３から供給される圧縮方式および暗号化方式変換後のコンテンツおよびコンテンツ鍵、並びにコンテンツ関連データ変換プログラム１３７から供給されるフォーマット変換後のコンテンツ関連データなどのチェックアウトデータを、ＰＤ６に送信し、記憶させる。また、チェックイン/チェックアウト管理プログラム１３２は、表示操作指示プログラム１１２の指令により、ＰＤ用ドライバ１４１を介して、ＰＤ６に記憶されているコンテンツをチェックインするチェックイン処理を行う。
【００８８】
なお、以下では、コンテンツ管理情報ファイル１６１−１乃至１６１−２Ｌを区別する必要がない場合、それらをまとめてコンテンツ管理情報ファイル１６１という。また、Ｌとは、コンテンツ管理情報ファイル１６１の分割レベルを表す０以上の整数である。分割レベルＬとは、コンテンツ管理情報ファイル１６１が２Ｌ個あることを表す。例えば、分割レベルＬが０である場合、コンテンツ管理情報ファイル１６１は、コンテンツ管理情報ファイル１６１−１（コンテンツ管理情報ファイル１６１−２０）の２０（＝１）個となる。
【００８９】
さらに、チェックイン/チェックアウト管理プログラム１３２は、コンテンツデータベース１１４に記憶されているコンテンツの管理を行う。具体的には、チェックイン/チェックアウト管理プログラム１３２は、コンテンツ関連データ変換プログラム１３７からのフォーマット変換後のコンテンツ関連データおよび暗号化プログラム１３５からの暗号化された暗号鍵などから、コンテンツ管理情報を作成する。そして、チェックイン/チェックアウト管理プログラム１３２は、コンテンツＩＤに基づいて、コンテンツ管理情報データベース１１５に登録されているコンテンツ管理情報ファイル１６１−１乃至１６１−２Ｌのいずれかを選択し、その選択したコンテンツ管理情報ファイル１６１に、そのコンテンツＩＤのコンテンツに対応するコンテンツ管理情報を供給する。また、チェックイン/チェックアウト管理プログラム１３２は、コンテンツ管理情報ファイル１６１に格納されているコンテンツ管理情報のハッシュ値を演算し、コンテンツ管理情報に付加する。
【００９０】
また、チェックイン／チェックアウト管理プログラム１３２は、コンテンツのチェックインまたはチェックアウトの処理に応じて、コンテンツ管理情報データベース１１５のコンテンツ管理情報ファイル１６１に格納されているコンテンツ管理情報を更新する。
【００９１】
さらに、チェックイン/チェックアウト管理プログラム１３２は、コンテンツ関連データ変換プログラム１３７から供給されるフォーマット変換後のコンテンツ関連データから、コンテンツ関連テーブルを作成し、コンテンツデータベース１１４に供給する。
【００９２】
暗号化方式変換プログラム１３３は、ネットワーク２を介して、購入用アプリケーションプログラム１１６、購入用プログラム１４２または購入用プログラム１４３から供給される暗号化されたコンテンツの暗号化方式を変換する。具体的には、暗号化方式変換プログラム１３３は、暗号化されたコンテンツを復号し、圧縮方式変換プログラム１３４に供給する。また、暗号化方式変換プログラム１３３は、ハードディスクから暗号鍵を読み出し、圧縮方式変換プログラム１３４からの圧縮方式変換後のコンテンツを、その暗号鍵を用いて、所定の暗号化方式で暗号化し、その暗号鍵を暗号化プログラム１３５に供給する。また、暗号化方式変換プログラム１３３は、所定の暗号化方式で暗号化したコンテンツ、即ち、圧縮方式および暗号化方式変換後のコンテンツを、コンテンツデータベース１１４に供給する。
【００９３】
また、暗号化方式変換プログラム１３３は、チェックイン/チェックアウト管理プログラム１３２からのチェックアウト対象のコンテンツの暗号化方式を変換する。具体的には、暗号化方式変換プログラム１３３は、チェックアウト対象のコンテンツを復号し、圧縮方式変換プログラム１３４に供給する。また、暗号化方式変換プログラム１３３は、圧縮方式変換プログラム１３４からの圧縮方式変換後のコンテンツを、チェックアウト先のＰＤ６に対応する暗号化方式で暗号化し、チェックイン/チェックアウト管理プログラム１３２に供給するとともに、その暗号化後のコンテンツを復号するためのコンテンツ鍵を、チェックイン/チェックアウト管理プログラム１３２に供給する。なお、コンテンツ鍵は、例えば、暗号化方式変換プログラム１３３の作成元により、作成時に暗号化方式変換プログラム１３３に記憶されている。
【００９４】
圧縮方式変換プログラム１３４は、暗号化方式変換プログラム１３３からの復号後のコンテンツの圧縮方式を、所定の圧縮方式に変換し、暗号化方式変換プログラム１３３に供給する。また、圧縮方式変換プログラム１３４は、暗号化方式変換プログラム１３３からの復号後のチェックアウト対象のコンテンツの圧縮方式を、ＰＤ６に対応する圧縮方式に変換し、暗号化方式変換プログラム１３３に供給する。
【００９５】
暗号化プログラム１３５は、ハードディスクから暗号鍵を読み出し、圧縮/伸張プログラム１３６から供給される圧縮後のコンテンツを、その暗号鍵を用いて、所定の暗号化の方式で暗号化し、コンテンツデータベース１１４に供給する。また、暗号化プログラム１３５は、不揮発性メモリ３４（図２）に記憶している保存用鍵を読み出し、その暗号化に用いられた暗号鍵または暗号化方式変換プログラム１３３からの暗号鍵を暗号化して、その暗号化した暗号鍵を、チェックイン/チェックアウト管理プログラム１３２に供給する。
【００９６】
圧縮/伸張プログラム１３６は、録音プログラム１１３から供給される圧縮および暗号化されていないコンテンツを、所定の圧縮方式で圧縮し、暗号化プログラム１３５に供給する。また、圧縮/伸張プログラム１３６は、復号プログラム１４０からの復号後のコンテンツを伸張し、ドライバ１１８に供給する。
【００９７】
コンテンツ関連データ変換プログラム１３７は、ネットワーク２を介して、購入用アプリケーションプログラム１１６、購入用プログラム１４２、もしくは購入用プログラム１４３から供給されるコンテンツ関連データ、または録音プログラム１１３からのコンテンツ関連データを、所定のフォーマットに変換し、チェックイン/チェックアウト管理プログラム１３２に供給する。また、コンテンツ関連データ変換プログラム１３７は、チェックイン/チェックアウト管理プログラム１３２からのチェックアウト対象のコンテンツに対応するコンテンツ関連データを、ＰＤ６に対応するフォーマットに変換し、チェックイン/チェックアウト管理プログラム１３２に供給する。
【００９８】
コンテンツ管理情報管理プログラム１３８は、コンテンツ管理情報ファイル１６１のコンテンツ管理情報に付加されているハッシュ値に基づいて、コンテンツ管理情報が改竄されているかどうかを判定する。また、コンテンツ管理情報管理プログラム１３８は、コンテンツ管理情報ファイル１６１のコンテンツ管理情報の更新に応じて、コンテンツ管理情報のハッシュ値を算出し、コンテンツ管理情報に付加されているハッシュ値を更新する。
【００９９】
認証プログラム１３９は、EMDサーバ４−１と購入用アプリケーションプログラム１１６との相互認証の処理、EMDサーバ４−２と購入用プログラム１４２との相互認証の処理、およびEMDサーバ４−３と購入用プログラム１４３との相互認証の処理で利用される認証鍵を記憶する。なお、この認証鍵は、表示操作指示プログラム１１２からの要求に応じて、EMD登録サーバ３から供給され、認証プログラム１３９に記憶される。
【０１００】
認証プログラム１３９は、記憶している認証鍵を用いて、EMDサーバ４−１と購入用アプリケーションプログラム１１６との相互認証の処理、EMDサーバ４−２と購入用プログラム１４２との相互認証の処理、およびEMDサーバ４−３と購入用プログラム１４３との相互認証の処理を実行する。
【０１０１】
復号プログラム１４０は、例えば、表示操作指示プログラム１１２の指令により、コンテンツデータベース１１４に記憶されているコンテンツを復号し、圧縮/伸張プログラム１３６に供給する。
【０１０２】
ＰＤ用ドライバ１４１は、チェックイン/チェックアウト管理プログラム１３２からのチェックアウトデータ、または、チェックイン処理に応じて、チェックイン/チェックアウト管理プログラム１３２から供給されるチェックインに関するデータを、デバイスドライバ１１７−１を介して、ＰＤ６−１に送信する。また、ＰＤ用ドライバ１４１は、チェックイン/チェックアウト管理プログラム１３２からのチェックアウトデータ、またはチェックインに関するデータを、ＰＤ６−２に送信する。さらに、ＰＤ用ドライバ１４１は、チェックイン/チェックアウト管理プログラム１３２からのチェックアウトデータ、またはチェックインに関するデータを、デバイスドライバ１１７−２を介して、ＰＤ６−１に送信する。
【０１０３】
また、ＰＤ用ドライバ１４１は、ＰＤ６−１からデバイスドライバ１１７−１を介して、ＰＤ６−２から、またはＰＤ６−３からデバイスドライバ１１７−２を介して、各種のデータを受信する。
【０１０４】
購入用プログラム１４２は、いわゆる、プラグインプログラムであり、EMD登録サーバ３からネットワーク２を介してインストールされるか、もしくは磁気ディスク４１、光ディスク４２、光磁気ディスク４２、または半導体メモリ４４からインストールされる。購入用プログラム１４２は、コンテンツ管理プログラム１１１が有する所定の形式のインターフェースを介して、コンテンツ管理プログラム１１１とデータを送受信する。
【０１０５】
なお、購入用プログラム１４２は、処理内容を外部から隠蔽し、その処理内容の読解が困難になるように、例えば、シャッフルされているインストラクション、または暗号化されているインストラクションなどで記述されている。
【０１０６】
購入用プログラム１４２は、EMD選択プログラム１３１の指令により、ネットワーク２を介して、EMDサーバ４−２に所定のコンテンツと対応するコンテンツ関連データの送信を要求する。そして、購入用プログラム１４２は、その要求に応じてEMDサーバ４−２から送信されてくるコンテンツと対応するコンテンツ関連データを受信し、コンテンツを暗号化方式変換プログラム１３３に供給するとともに、コンテンツ関連データをコンテンツ関連データ変換プログラム１３７に供給する。また、購入用プログラム１４２は、EMDサーバ４−２からコンテンツと対応するコンテンツ関連データを受信するとき、課金の処理を実行する。
【０１０７】
購入用プログラム１４３は、コンテンツ管理プログラム１１１とともにインストールされるプログラムである。購入用プログラム１４３は、購入用プログラム１４２と同様に、EMD選択プログラム１３１の指令により、ネットワーク２を介して、EMDサーバ４−３に所定のコンテンツと対応するコンテンツ関連データの送信を要求する。そして、購入用プログラム１４３は、その要求に応じてEMDサーバ４−３から送信されてくるコンテンツと対応するコンテンツ関連データを受信し、コンテンツを暗号化方式変換プログラム１３３に供給するとともに、コンテンツ関連データをコンテンツ関連データ変換プログラム１３７に供給する。また、購入用プログラム１４３は、EMDサーバ４−３からコンテンツと対応するコンテンツ関連データを受信するとき、課金の処理を実行する。
【０１０８】
表示操作指示プログラム１１２は、例えば、コンテンツ管理プログラム１１１と録音プログラム１１３の指令により、ディスプレイ２０にコンテンツのチェックアウトまたは録音に関する設定を行うための操作ウィンドウを表示させる。
【０１０９】
表示操作指示プログラム１１２は、ユーザのキーボード１８またはマウス１９の操作に基づいて、録音プログラム１１３に対して録音処理の実行の指令、チェックイン/チェックアウト管理プログラム１３２に対してチェックインまたはチェックアウト処理の実行の指令、EMD選択プログラム１３１に対して、チェックイン/チェックアウト管理プログラム１３１に接続させるEMDサーバ４の選択の指令、または復号プログラム１４０に対してコンテンツの復号の指令を行う。また、表示操作指示プログラム１１２は、ネットワーク２を介して、EMD登録サーバ３に、コンテンツ管理プログラム１１１のＩＤを送信し、EMD選択プログラム１３１のインストールなどの要求を行う。
【０１１０】
録音プログラム１１３は、表示操作指示プログラム１１２の指令により、ドライブ２２に装着された光ディスク４２からコンテンツを読み出し、圧縮/伸張プログラム１３６に供給する。また、録音プログラム１１３は、光ディスク４２に記録されているコンテンツのコンテンツＩＤを、ネットワーク２を介してWWWサーバ５に送信し、そのコンテンツに対応するコンテンツ関連データの送信を要求する。そして、録音プログラム１１３は、その要求に応じてWWWサーバ５から送信されてくるコンテンツ関連データを受信し、コンテンツ関連データ変換プログラム１３７に供給する。
【０１１１】
コンテンツデータベース１１４は、暗号化方式変換プログラム１３３からの暗号化方式および圧縮方式変換後のコンテンツ、または暗号化プログラム１３５からの圧縮および暗号化後のコンテンツを記憶する。また、コンテンツデータベース１１４は、チェックイン/チェックアウト管理プログラム１３２からのコンテンツ関連テーブルを記憶する。
【０１１２】
コンテンツ管理情報データベース１１５は、２のＬ乗個のコンテンツ管理情報ファイル１６１−１乃至１６１−２Ｌを記憶する。コンテンツ管理情報ファイル１６１には、チェックイン/チェックアウト管理プログラム１３２からのコンテンツ管理情報が格納（記憶）される。なお、このコンテンツ管理情報には、コンテンツ管理情報管理プログラム１３８により算出されたハッシュ値が付加される。
【０１１３】
購入用アプリケーションプログラム１１６は、EMD登録サーバ３からネットワーク２を介してインストールされるか、もしくは磁気ディスク４１、光ディスク４２、光磁気ディスク４３、または半導体メモリ４４からインストールされる。購入用アプリケーションプログラム１１６は、EMD選択プログラム１３１の指令により、ネットワーク２を介して、EMDサーバ４−１にコンテンツと対応するコンテンツ関連データの送信を要求する。また、購入用アプリケーションプログラム１１６は、その要求に応じてEMDサーバ４−１から送信されてくるコンテンツと対応するコンテンツ関連データを受信し、コンテンツを暗号化方式変換プログラム１３３に供給するとともに、コンテンツ関連データをコンテンツ関連データ変換プログラム１３７に供給する。また、購入用アプリケーションプログラム１１６は、EMDサーバ４−１からコンテンツと対応するコンテンツ関連データを受信するとき、課金の処理を実行する。
【０１１４】
ドライバ１１８は、音声出力インターフェース２４を駆動して、圧縮/伸張プログラム１３６からの復号および伸張後のコンテンツに対応する音声信号を出力する。
【０１１５】
図５は、コンテンツを録音(記憶)するときに、ディスプレイ２０に表示されている操作ウィンドウの例を示す図である。
【０１１６】
なお、図５では、まだ光ディスク４２（図２）がドライブ２２に装着されていないものとする。また、図５では、ユーザが、光ディスク４２であるＣＤに記憶されているコンテンツを、コンテンツデータベース１１４の「マイライブラリ」というフォルダに録音（記憶）させる。
【０１１７】
図５に示すように、操作ウィンドウ２０１には、コンボボックス２０２と２０５、「音楽を取り込む」ボタン２０３、「マイライブラリ」ボタン２０４、並びに「音楽を転送する」ボタン２０６が表示される。
【０１１８】
コンボボックス２０２は、録音対象となるコンテンツの取得先を選択するときに、操作される。「音楽を取り込む」ボタン２０３は、コンテンツの録音に関する設定を行うときに、操作される。「マイライブラリ」ボタン２０４は、コンテンツの録音先またはチェックアウト先を、コンテンツデータベース１１４のフォルダ「マイライブラリ」に設定するときに、操作される。コンボボックス２０５は、チェックアウト先となるＰＤ６を選択するときに、操作される。「音楽を転送する」ボタン２０６は、コンテンツのチェックアウトに関する設定を行うときに、操作される。
【０１１９】
図５では、ユーザは、光ディスク４２であるＣＤに記憶されているコンテンツを、コンテンツデータベース１１４のフォルダ「マイライブラリ」に録音（記憶）させるので、コンボボックス２０２で「ＣＤを録音する」を選択し、「音楽を取り込む」ボタン２０３を操作して、「マイライブラリ」ボタン２０４を操作する。このとき、操作ウィンドウ２０１には、ＣＤに記憶されているコンテンツに対応する曲名、ＣＤトラック番号、タイトル、アーティスト名、ジャンル名、演奏時間などの情報を表示するためのフィールド２１１、コンテンツの録音を指令するための録音ボタン２１２、コンテンツの録音の停止を指令するための停止ボタン２１３、およびコンテンツデータベース１１４のフォルダ「マイライブラリ」に記憶されているコンテンツに対応する情報を表示するためのフィールド２１４が表示される。
【０１２０】
なお、図５では、ドライブ２２にまだＣＤが装着されていないので、フィールド２１１には、何も表示されていない。また、フォルダ「マイライブラリ」に、まだ何も記憶されていないので、フィールド２１４にも、何も表示されていない。
【０１２１】
ここで、ユーザにより光ディスク４２であるＣＤがドライブ２２に装着されると、録音プログラム１１３は、光ディスク４２からコンテンツとコンテンツＩＤを読み出し、そのコンテンツＩＤをWWWサーバ５に送信して、そのコンテンツＩＤに対応するコンテンツ関連データの送信の要求を行う。そして、録音プログラム１１３は、その要求に応じてWWWサーバ５から送信されてくるコンテンツ関連データを取得する。録音プログラム１１３は、そのコンテンツ関連データのうち、コンテンツのトラック番号、タイトル、アーティスト名、ジャンル名、および演奏時間などのコンテンツに対応する情報を、フィールド２１１に表示させる。
【０１２２】
ユーザは、図５のフィールド２１１に表示されるコンテンツに対応する情報を見ながら、所望のコンテンツを選択し、キーボード１８またはマウス１９を操作して、その選択したコンテンツに対応する情報にカーソルを移動させ、録音対象とするコンテンツを決定する。そして、ユーザは、録音ボタン２１２を操作する。このようにして、ユーザは、選択したコンテンツを録音対象とする録音の指令を行う。
【０１２３】
図６は、コンテンツをチェックアウトするときに、ディスプレイ２０に表示されている操作ウィンドウ２０１の例を示している。なお、図６において、図５と同一のものは、図５と同一の符号を付してあり、繰り返しになるので説明は適宜省略する。
【０１２４】
なお、図６では、ユーザが、コンテンツデータベース１１４のフォルダ「マイライブラリ」に録音（記憶）されているコンテンツを、ＰＤＩＤが「１」のＰＤ６にチェックアウトさせる。なお、以下では、ＰＤＩＤがｉのＰＤ６を、ＰＤ＃ｉと表す。また、図６では、ＰＤ＃１には、何も記憶されていないものとする。
【０１２５】
図６では、ユーザは、コンテンツデータベース１１４のフォルダ「マイライブラリ」に録音（記憶）されているコンテンツを、ＰＤ＃１にチェックアウトさせるので、キーボード１８またはマウス１９を操作して、コンボボックス２０５で「ＰＤ＃１」を選択し、「音楽を転送する」ボタン２０６を操作して、「マイライブラリ」ボタン２０４を操作する。このとき、操作ウィンドウ２０１には、フォルダ「マイライブラリ」に格納されているコンテンツに対応する曲名やアーティスト名などの情報を表示するためのフィールド２４１、チェックアウト先であるＰＤ＃１に記憶されているコンテンツに対応する情報を表示するためのフィールド２４２、およびコンテンツのチェックアウトを指令するためのチェックアウトボタン２４３が表示される。
【０１２６】
図６のフィールド２４１には、フォルダ「マイライブラリ」に格納されているコンテンツに対応する曲名として、「Schu」、「サン=サン」、および「ショクパン」が、アーティスト名として、「Artur」、「サン＝サン」、および「ショクパン」が表示されている。
【０１２７】
具体的には、表示操作プログラム１１２は、コンテンツデータベース１１４のコンテンツ関連テーブルから、コンテンツデータベース１１４に記憶されているコンテンツの曲名とアーティスト名を読み出し、フィールド２４１に表示させる。
【０１２８】
図６では、ＰＤ＃１にまだ何も記憶されていないので、フィールド２４２には、何も表示されていない。
【０１２９】
ここで、ユーザは、図６のフィールド２４１に表示されるコンテンツに対応する情報を見ながら、所望のコンテンツを選択し、キーボード１８またはマウス１９を操作して、そのコンテンツに対応する情報にカーソルを移動させ、チェックアウトボタン２４３を操作する。このようにして、ユーザは、選択したコンテンツをチェックアウト対象とするチェックアウトの指令を行う。
【０１３０】
図７乃至図１０を参照して、コンテンツ管理情報ファイル１６１について説明する。
【０１３１】
なお、コンテンツ管理情報ファイル１６１には、０から順に番号ｉが付してあり、以下では、番号ｉが付されたコンテンツ管理情報ファイル１６１を、コンテンツ管理情報ファイル＃ｉという。また、コンテンツ管理情報ファイル１６１−１、・・・、コンテンツ管理情報ファイル１６１−２Ｌは、それぞれコンテンツ管理情報ファイル＃０、・・・、コンテンツ管理情報ファイル＃（２Ｌ−１）に対応しており、以下では、コンテンツ管理情報ファイル１６１−１、・・・、コンテンツ管理情報ファイル１６１−２Ｌを、それぞれコンテンツ管理情報ファイル＃０、・・・、コンテンツ管理情報ファイル＃（２Ｌ−１）ともいう。また、以下では、コンテンツＩＤがｊであるコンテンツに対応するコンテンツ管理情報をＩＤｊと表す。
【０１３２】
図７乃至図１０では、ＩＤ１，ＩＤ４，ＩＤ６，ＩＤ７，ＩＤ１０、およびＩＤ１１が、コンテンツ管理情報ファイル１６１に格納されている。
【０１３３】
また、図７乃至図１０では、チェックイン/チェックアウト管理プログラム１３２が、分割レベルＬと、格納するコンテンツ管理情報に対応するコンテンツのコンテンツＩＤとに基づいて、以下の式（１）にしたがって、コンテンツ管理情報を格納するコンテンツ管理情報ファイル１６１の番号Ｎを算出する。そして、チェックイン/チェックアウト管理プログラム１３２は、その算出したコンテンツ管理情報ファイル１６１の番号Ｎに基づいて、コンテンツ管理情報ファイル１６１を選択し、その選択したコンテンツ管理情報ファイル１６１にコンテンツ管理情報を記憶させる。なお、式（１）では、コンテンツＩＤの値をＪと表す。
【０１３４】
Ｎ１０＝ｎ２＝Ｊ２  ＡＮＤ  （２Ｌ−１）２・・・（１）
【０１３５】
式（１）では、下付きの数字が進数を表している。即ち、Ｎ１０は、コンテンツ管理情報ファイル１６１の番号の１０進数の値を表し、ｎ２，Ｊ２，（２Ｌ−１）２はそれぞれコンテンツ管理情報ファイル１６１の番号の２進数の値、コンテンツＩＤの２進数の値、（２Ｌ−１）の２進数の値を表している。
【０１３６】
式（１）によれば、コンテンツＩＤの２進数の値と、２の分割レベルＬ乗から１を減算した２進数の値との論理積を１０進数にしたものが、コンテンツ管理情報ファイル１６１の番号Ｎとなる。即ち、コンテンツＩＤの２進数の値に対して、２の分割レベルＬ乗から１を減算した２進数の値のマスクをかけたものが、コンテンツ管理情報ファイル１６１の番号Ｎとなる。
【０１３７】
図７は、コンテンツ管理情報データベース１１５の分割レベルＬが０のときのコンテンツ管理情報ファイル１６１の例を示している。
【０１３８】
図７に示すように、分割レベルＬが０の場合、コンテンツ管理情報データベース１１５には、２０（＝１）個のコンテンツ管理情報ファイル＃０が記憶されている。チェックイン/チェックアウト管理プログラム１３２は、上述した式（１）にしたがって、格納するコンテンツ管理情報に対応するコンテンツのコンテンツＩＤである１，４，６，７，１０、および１１の２進数の値と、（２０−１）の２進数の値との論理積をそれぞれ算出する。コンテンツＩＤである１，４，６，７，１０、および１１の２進数の値と、（２０−１）の２進数の値との論理積は、すべて０となるので、チェックイン/チェックアウト管理プログラム１３２は、番号０が付されたコンテンツ管理情報ファイル＃０に、ＩＤ１，ＩＤ４，ＩＤ６，ＩＤ７，ＩＤ１０、およびＩＤ１１を格納する。
【０１３９】
図８は、コンテンツ管理情報データベース１１５の分割レベルＬが１のときのコンテンツ管理情報ファイル１６１の例を示している。
【０１４０】
図８に示すように、分割レベルＬが１の場合、コンテンツ管理情報データベース１１５には、２１（＝２）個のコンテンツ管理情報ファイル＃０と＃１が記憶されている。チェックイン/チェックアウト管理プログラム１３２は、上述した式（１）にしたがって、格納するコンテンツ管理情報に対応するコンテンツＩＤである１，４，６，７，１０、および１１の２進数の値と、（２１−１）の２進数の値との論理積をそれぞれ算出する。コンテンツＩＤである４，６、および１０の２進数の値と、（２１−１）の２進数の値との論理積は０となるので、チェックイン/チェックアウト管理プログラム１３２は、番号０が付されたコンテンツ管理情報ファイル＃０に、ＩＤ４，ＩＤ６、およびＩＤ１０を格納する。また、コンテンツＩＤである１，７、および１１の２進数の値と、（２１−１）の２進数の値との論理積の値は１となるので、チェックイン/チェックアウト管理プログラム１３２は、番号１が付されたコンテンツ管理情報ファイル＃１に、ＩＤ１，ＩＤ７、およびＩＤ１１を格納する。
【０１４１】
図９は、コンテンツ管理情報データベース１１５の分割レベルＬが２のときのコンテンツ管理情報ファイル１６１の例を示している。
【０１４２】
図９に示すように、分割レベルＬが２の場合、コンテンツ管理情報データベース１１５には、２２（＝４）個のコンテンツ管理情報ファイル＃０乃至＃３が記憶されている。チェックイン/チェックアウト管理プログラム１３２は、上述した式（１）にしたがって、格納するコンテンツ管理情報に対応するコンテンツＩＤである１，４，６，７，１０、および１１の２進数の値と、（２２−１）の２進数の値との論理積をそれぞれ算出する。コンテンツＩＤである４の２進数の値と、（２２−１）の２進数の値との論理積は０となり、コンテンツＩＤである６の２進数の値と、（２２−１）の２進数の値との論理積は１となるので、チェックイン/チェックアウト管理プログラム１３２は、番号０が付されたコンテンツ管理情報ファイル＃０にＩＤ４を、番号１が付されたコンテンツ管理情報ファイル＃１に、ＩＤ１を格納する。
【０１４３】
また、コンテンツＩＤである６および１０の２進数の値と、（２２−１）の２進数の値との論理積は、それぞれ２となるので、チェックイン/チェックアウト管理プログラム１３２は、番号２が付されたコンテンツ管理情報ファイル＃２に、ＩＤ６およびＩＤ１０を格納する。さらに、コンテンツＩＤである７および１１の２進数の値と、（２２−１）の２進数の値との論理積の値は３となるので、チェックイン/チェックアウト管理プログラム１３２は、番号３が付されたコンテンツ管理情報ファイル＃３に、ＩＤ７およびＩＤ１１を格納する。
【０１４４】
図１０は、コンテンツ管理情報データベース１１５の分割レベルＬが３のときのコンテンツ管理情報ファイル１６１の例を示している。
【０１４５】
図１０に示すように、分割レベルＬが３の場合、コンテンツ管理情報データベース１１５には、２３（＝８）個のコンテンツ管理情報ファイル＃０乃至＃７が記憶されている。チェックイン/チェックアウト管理プログラム１３２は、上述した式（１）にしたがって、格納するコンテンツ管理情報に対応するコンテンツＩＤである１，４，６，７，１０、および１１の２進数の値と、（２３−１）の２進数の値との論理積をそれぞれ算出する。コンテンツＩＤである１，４，６，７，１０、および１１の２進数の値と、（２３−１）の２進数の値との論理積は、それぞれ１，４，６，７，２，３となるので、チェックイン/チェックアウト管理プログラム１３２は、番号１が付されたコンテンツ管理情報ファイル＃１にＩＤ１を、番号４が付されたコンテンツ管理情報ファイル＃４にＩＤ４を、番号６が付されたコンテンツ管理情報ファイル＃６にＩＤ６を、番号７が付されたコンテンツ管理情報ファイル＃７にＩＤ７を、番号２が付されたコンテンツ管理情報ファイル＃２にＩＤ１０を、番号３が付されたコンテンツ管理情報ファイル＃３にＩＤ１１をそれぞれ格納する。
【０１４６】
図１１は、図４のコンテンツデータベース１１４に記憶されるコンテンツ関連テーブルの例を示している。
【０１４７】
図１１のコンテンツ関連テーブルには、「コンテンツＩＤ」、「曲名」、および「アーティスト名」という項目がある。チェックイン/チェックアウト管理プログラム１３２は、コンテンツ関連データ変換プログラム１３７からのフォーマット変換後のコンテンツ関連データのうち、コンテンツＩＤ、曲名、およびアーティスト名を抽出し、項目「コンテンツＩＤ」、「曲名」、および「アーティスト名」のそれぞれに対応させることにより、コンテンツ管理テーブルを作成する。
【０１４８】
図１１において、コンテンツＩＤが４のコンテンツは、曲名が「Schu」、アーティスト名が「Artur」である。また、コンテンツＩＤが６のコンテンツは、曲名およびアーティスト名がすべて「サン=サン」、コンテンツＩＤが１０のコンテンツは、曲名およびアーティスト名がすべて「ショクパン」である。
【０１４９】
図１２は、図４のコンテンツ管理情報ファイル１６１に格納されるコンテンツ管理情報の例を示している。
【０１５０】
図１２では、コンテンツ管理情報ファイル１６１に、ＩＤ４、ＩＤ６、およびＩＤ１１が格納されている。なお、図１２では、図中左側がＩＤ４、図中中央がＩＤ６、図中右側がＩＤ１１となっている。
【０１５１】
図１２に示すように、コンテンツ管理情報には、「コンテンツＩＤ」、「ファイル名」、「暗号化された暗号鍵」、「再生条件：開始日時」、「再生条件：終了日時」、「再生条件：終了日時」、「再生条件：回数制限」、「チェックアウト条件：回数制限」、「チェックアウト回数カウンタ」、「チェックアウト先１」、「チェックアウト先２」、および「チェックアウト先３」という項目がある。
【０１５２】
チェックイン/チェックアウト管理プログラム１３２は、コンテンツのコンテンツＩＤを、項目「コンテンツＩＤ」に、対応して格納させる。また、チェックイン/チェックアウト管理プログラム１３２は、コンテンツが記憶されているコンテンツデータベース１１４のファイルの名前を、項目「ファイル名」に対応して格納させる。さらに、チェックイン/チェックアウト管理プログラム１３２は、暗号化プログラム１３５からの暗号化された暗号鍵を、項目「暗号化された暗号鍵」に対応して格納させる。
【０１５３】
また、チェックイン/チェックアウト管理プログラム１３２は、コンテンツ関連データ変換プログラム１３７からのフォーマット変換後のコンテンツ関連データのうち、再生条件、およびチェックアウト条件を抽出する。そして、チェックイン/チェックアウト管理プログラム１３２は、抽出した再生条件のうちの、表された日時以降再生が可能なことを表す再生開始日時を、項目「再生条件：開始日時」に、表された日時以降再生が不可能なことを表す再生終了日時を、項目「再生条件：終了日時」に、再生可能な回数を表す再生回数制限を、項目「再生条件：回数制限」に、それぞれ対応して格納させる。
【０１５４】
また、チェックイン/チェックアウト管理プログラム１３２は、抽出したチェックアウト条件であるチェックアウトすることが可能なＰＤ６の台数を表すチェックアウト回数制限を、項目「チェックアウト条件：回数制限」に格納させる。
【０１５５】
さらに、チェックイン/チェックアウト管理プログラム１３２は、コンテンツを再生した再生回数とコンテンツをチェックアウトしたチェックアウト回数をカウントし、それぞれのカウント値を項目「再生回数カウンタ」と「チェックアウト回数カウンタ」に対応して格納させる。さらに、チェックイン/チェックアウト管理プログラム１３２は、コンテンツをチェックアウトした場合、チェックアウト先のＰＤ６のＰＤＩＤを、項目「チェックアウト先１」、「チェックアウト先２」、または「チェックアウト先３」に対応して格納させる。
【０１５６】
図１２のコンテンツ管理情報のＩＤ４（図中左側）では、項目「コンテンツＩＤ」に対応してコンテンツＩＤである４が格納されている。また、「ファイル名」という項目に対応して、「xd0000110.at2」が格納されている。即ち、コンテンツＩＤが４のコンテンツは、コンテンツデータベース１１４（図４）の「xd0000110.at2」というファイルに記憶されている。
【０１５７】
さらに、項目「暗号化された暗号鍵」に対応して、「0xabababababab」が格納されている。また、項目「再生条件：開始時間」に対応して「−（なし）」が格納されており、項目「再生条件：終了日時」に対応して「1999.07.31.23:59」が格納されている。即ち、コンテンツＩＤが４であるコンテンツは、１９９９年７月３１日２３時５９分まで再生することができる。さらに、項目「再生条件：回数制限」および「再生回数カウンタ」という項目に対応して、それぞれ「−（なし）」が格納されている。即ち、コンテンツＩＤが４であるコンテンツは、何回でも再生可能で、いままでにカウントされた再生回数は０回、即ちコンテンツはまだ１回も再生されていない。
【０１５８】
また、項目「チェックアウト条件：回数制限」に対応して「３」が、項目「チェックアウト回数カウンタ」に対応して「１」が、それぞれ格納されている。即ち、コンテンツＩＤが４であるコンテンツをチェックアウトすることが可能なＰＤ６の台数は３台であり、コンテンツは１台のＰＤ６にチェックアウトされている。さらに、項目「チェックアウト先１」、「チェックアウト先２」、および「チェックアウト先３」という項目に対応して、それぞれ「ＰＤ＃１」、「−（なし）」、「−（なし）」が格納されている。即ち、コンテンツＩＤが４であるコンテンツがチェックアウトされたＰＤ６は、ＰＤＩＤが１である。
【０１５９】
また、図１２に示すように、コンテンツ管理情報には、コンテンツ管理情報のハッシュ値「0fx9951e566321」が付加されている。なお、このハッシュ値は、コンテンツ管理情報が更新された場合に新たに算出され、更新される。また、図１２では、ＩＤ４，ＩＤ６、およびＩＤ１０全体に対して、ハッシュ値が付加されているが、コンテンツごとに、ハッシュ値を付加するようにしてもよい。
【０１６０】
次に、図１３は、図４のチェックイン／チェックアウト管理プログラム１３２が行うファイル分割処理を説明するフローチャートである。このファイル分割処理は、例えば、チェックイン／チェックアウト管理プログラム１３２がパーソナルコンピュータ１にインストールされたとき、開始される。なお、ファイル分割処理が開始されるタイミングは、これに限定されず、任意のタイミングとすることができる。
【０１６１】
ステップＳ１１において、チェックイン／チェックアウト管理プログラム１３２は、コンテンツ管理情報データベース１１５の分割レベルＬを決定する。例えば、チェックイン/チェックアウト管理プログラム１３２には、チェックイン/チェックアウト管理プログラム１３２の作成元により、作成時に、分割レベルＬが設定されており、チェックイン/チェックアウト管理プログラム１３２は、その設定されている分割レベルＬを、コンテンツ管理情報データベース１１５の分割レベルＬに決定する。ステップＳ１１の処理後は、ステップＳ１２に進み、チェックイン／チェックアウト管理プログラム１３２は、２の分割レベルＬ乗個のコンテンツ管理情報ファイル１６１をコンテンツ管理情報データベース１１５（図４）に作成し、処理を終了する。
【０１６２】
図１４は、図４のパーソナルコンピュータ１が、光ディスク４２であるＣＤからコンテンツを録音する録音処理を説明するフローチャートである。この録音処理は、例えば、ユーザによりコンボボックス２０２（図５）、「音楽を取り込む」ボタン２０３、および「マイライブラリ」ボタン２０４が操作され、ディスプレイ２０に図５の操作ウィンドウ２０１が表示されたとき、開始される。
【０１６３】
ステップＳ３１において、録音プログラム１１３は、ユーザにより録音対象となるコンテンツが選択されたかどうかを判定する。具体的には、ユーザは、図５の操作ウィンドウ２０１のフィールド２１１に表示されるコンテンツに対応する情報を見ながら、キーボード１８またはマウス１９を操作して、所望のコンテンツを選択し、そのコンテンツに対応する情報にカーソルを移動させる。表示操作指示プログラム１１２は、ユーザにより選択されたコンテンツに対応する情報を受け付け、その情報に対応するコンテンツを表す入力信号を、録音プログラム１１３に供給する。録音プログラム１１３は、表示操作指示プログラム１１２から、ユーザにより選択されたコンテンツを表す入力信号が供給されたかどうかを判定することにより、録音対象となるコンテンツが選択されたかどうかを判定する。
【０１６４】
ステップＳ３１において、ユーザにより録音対象となるコンテンツが選択されていないと判定された場合、録音プログラム１１３は、コンテンツが選択されるまで待機する。
【０１６５】
一方、ステップＳ３１において、ユーザにより録音対象となるコンテンツが選択されたと判定された場合、ステップＳ３２に進み、録音プログラム１１３は、ユーザにより録音ボタン２１２（図５）が操作されたかどうかを判定し、録音ボタン２１２が操作されていない場合、録音ボタン２１２が操作されるまで待機する。
【０１６６】
また、ステップＳ３２において、ユーザにより録音ボタン２１２が操作されたと判定された場合、ステップＳ３３に進み、録音プログラム１１３（図４）は、光ディスク４２であるＣＤから録音対象として選択されたコンテンツを読み出し、圧縮/伸張プログラム１３６に供給する。なお、このコンテンツには、コンテンツＩＤが付加されている。
【０１６７】
ステップＳ３３の処理後は、ステップＳ３４に進み、圧縮/伸張プログラム１３６は、ステップＳ３３で読み出したコンテンツを、例えば、ATRAC（Adaptive Transform Acoustic Coding）３(商標)などの方式で圧縮（圧縮符号化）し、暗号化プログラム１３５に供給して、ステップＳ３５に進む。
【０１６８】
ステップＳ３５において、暗号化プログラム１３５は、ハードディスクに記憶されている暗号鍵を読み出し、その暗号鍵を用いて、例えば、DES（Data Encryption Standard）方式、FEAL(Fast Encripherment Algorithm)方式などの暗号化方式で、ステップＳ３４で圧縮されたコンテンツを暗号化する。
【０１６９】
ステップＳ３５の処理後は、ステップＳ３６に進み、暗号化プログラム１３５は、ステップＳ３５で暗号化されたコンテンツを、コンテンツデータベース１１４に供給し、１つのファイルとしてファイル名を付けて記憶させる。このとき、暗号化プログラム１３５は、そのファイル名をチェックイン/チェックアウト管理プログラム１３２に供給する。
【０１７０】
ステップＳ３６の処理後は、ステップＳ３７に進み、暗号化プログラム１３５は、不揮発性メモリ３４（図２）に記憶されている保存用鍵を用いて、ステップＳ３５でコンテンツを暗号化した暗号鍵を暗号化し、チェックイン/チェックアウト管理プログラム１３２に供給する。
【０１７１】
ステップＳ３７の処理後は、ステップＳ３８に進み、録音プログラム１１３は、ステップＳ３３で読み出されたコンテンツに付加されているコンテンツＩＤを用いて、ネットワーク２を介して、WWWサーバ５からコンテンツに対応するコンテンツ関連データを取得し、コンテンツ関連データ変換プログラム１３７に供給する。コンテンツ関連データ変換プログラム１３７は、コンテンツ関連データを所定のフォーマットに変換し、チェックイン/チェックアウト管理プログラム１３２に供給する。
【０１７２】
ステップＳ３８の処理後は、ステップＳ３９に進み、チェックイン/チェックアウト管理プログラム１３２は、コンテンツＩＤに基づいて、上述した式（１）にしたがい、コンテンツ管理情報ファイル１６１の番号Ｎを算出し、ステップＳ４０に進む。
【０１７３】
ステップＳ４０において、チェックイン/チェックアウト管理プログラム１３２は、ステップＳ３６で供給されるコンテンツのファイル名、ステップＳ３７で供給される暗号化された暗号鍵、およびステップＳ３８で供給されるコンテンツ関連データに基づいて、コンテンツ管理情報(図１２)を作成する。そして、チェックイン/チェックアウト管理プログラム１３２は、ステップＳ３９で算出された番号Ｎに基づいて、コンテンツ管理情報を格納するコンテンツ管理情報ファイル１６１として、番号Ｎのコンテンツ管理情報ファイル１６１(コンテンツ管理情報ファイル＃Ｎ)を選択し、その選択したコンテンツ管理情報ファイル＃Ｎに、コンテンツ管理情報を格納(記憶)する。
【０１７４】
ステップＳ４０の処理後は、ステップＳ４１に進み、コンテンツ管理情報管理プログラム１３８は、コンテンツ管理情報ファイル＃Ｎに格納されているコンテンツ管理情報のハッシュ値を算出し、そのコンテンツ管理情報に付加して、処理を終了する。
【０１７５】
図１５は、図４のパーソナルコンピュータ１が行うチェックアウト処理を説明するフローチャートである。このチェックアウト処理は、例えば、ユーザにより、例えば、ユーザにより、「マイライブラリ」ボタン２０４(図６)、コンボボックス２０５、および「音楽を転送する」ボタン２０６が操作され、ディスプレイ２０（図２）に図６の操作ウィンドウ２０１が表示されたとき、開始される。
【０１７６】
ステップＳ５１において、チェックイン/チェックアウト管理プログラム１３２は、ユーザによりチェックアウト対象となるコンテンツが選択されたかどうかを判定する。具体的には、ユーザは、図６のフィールド２１１に表示されるコンテンツの曲名やアーティスト名を見ながら、キーボード１８（図２）またはマウス１９を操作して、所望のコンテンツを選択し、そのコンテンツの曲名やアーティスト名にカーソルを移動させる。表示操作指示プログラム１１２は、ユーザにより選択された曲名またはアーティスト名を受け付け、その曲名またはアーティスト名を表す入力信号を、チェックイン/チェックアウト管理プログラム１３２に供給する。
【０１７７】
チェックイン/チェックアウト管理プログラム１３２は、表示操作指示プログラム１１２からユーザにより選択された曲名またはアーティスト名を表す入力信号が供給されたかどうかを判定することにより、チェックアウト対象となるコンテンツが選択されたかどうかを判定する。
【０１７８】
ステップＳ５１において、ユーザによりチェックアウト対象となるコンテンツが選択されていないと判定された場合、チェックイン/チェックアウト管理プログラム１３２は、コンテンツが選択されるまで待機する。
【０１７９】
一方、ステップＳ５１において、ユーザによりチェックアウト対象となるコンテンツが選択されたと判定された場合、ステップＳ５２に進み、チェックイン/チェックアウト管理プログラム１３２は、ユーザによりチェックアウトボタン２４３（図６）が操作されたかどうかを判定し、チェックアウトボタン２４３が操作されていない場合、チェックアウトボタン２４３が操作されるまで待機する。
【０１８０】
一方、ステップＳ５２において、ユーザによりチェックアウトボタン２４３が操作されたと判定した場合、ステップＳ５３に進み、チェックイン/チェックアウト管理プログラム１３２は、チェックアウト対象のコンテンツの曲名やアーティスト名に対応するコンテンツＩＤを、コンテンツデータベース１１４のコンテンツ関連テーブル（図１１）から抽出する。
【０１８１】
例えば、図１１に示したコンテンツ関連テーブルがコンテンツデータベース１１４に記憶されており、チェックアウト対象のコンテンツの曲名が「Schu」である場合、チェックイン/チェックアウト管理プログラム１３２は、図１１のコンテンツ関連テーブルから、曲名「Schu」に対応するコンテンツＩＤ「４」を抽出する。
【０１８２】
ステップＳ５３の処理後は、ステップＳ５４に進み、チェックイン/チェックアウト管理プログラム１３２は、ステップＳ５３で抽出されたコンテンツＩＤを用いて、式（１）にしたがってコンテンツ管理情報ファイル１６１の番号Ｎを算出する。
【０１８３】
このように、式（１）にしたがって、コンテンツ管理情報ファイル１６１の番号Ｎが算出されるので、パーソナルコンピュータ１は、コンテンツＩＤとコンテンツ管理情報ファイル１６１の番号Ｎとの対応関係を表すファイルテーブルを記憶する必要がない。ここで、このファイルテーブルを記憶する必要がある場合、そのファイルテーブルが改竄されているかどうかも判定する必要があるため、チェックアウト処理が複雑になり、チェックアウト処理の応答速度が低下する。これに対して、上述したように、パーソナルコンピュータ１では、ファイルテーブルを記憶する必要がないので、そのファイルテーブルが改竄されているかどうかを判定する処理が不要である。従って、パーソナルコンピュータ１は、ファイルテーブルを記憶する必要がある場合に比べて、コンテンツを効率良く管理し、チェックアウト処理の応答速度を高めることができる。
【０１８４】
ステップＳ５４の処理後は、ステップＳ５５に進み、コンテンツ管理情報管理プログラム１３８は、番号Ｎのコンテンツ管理情報ファイル１６１(コンテンツ管理情報ファイル＃Ｎ)に格納されているコンテンツ管理情報のハッシュ値を算出し、ステップＳ５６に進む。
【０１８５】
ステップＳ５６において、コンテンツ管理情報管理プログラム１３８は、ステップＳ５５で算出されたハッシュ値が、コンテンツ管理情報ファイル＃Ｎのコンテンツ管理情報に付加されているハッシュ値と一致しているかどうか、即ちコンテンツ管理情報が改竄されていないかどうかを判定し、ステップＳ５５で算出されたハッシュ値が、コンテンツ管理情報に付加されているハッシュ値と一致していると判定した場合、即ちコンテンツ管理情報が改竄されていないと判定した場合、ステップＳ５７に進む。
【０１８６】
ステップＳ５７において、チェックイン/チェックアウト管理プログラム１３２は、チェックアウト対象となるコンテンツと、対応するコンテンツ関連データを、ユーザによりチェックアウト先として選択された（コンボボックス２０５（図６）で選択された）ＰＤ６に転送するコンテンツ転送処理を行う。このコンテンツ転送処理の詳細は、図１６のフローチャートを参照して説明する。
【０１８７】
ステップＳ５７の処理後は、ステップＳ５８に進み、チェックイン/チェックアウト管理プログラム１３２は、コンテンツ管理情報ファイル＃Ｎに格納されているチェックアウト対象のコンテンツのコンテンツ管理情報において、チェックアウト回数カウンタを１だけインクリメントして、コンテンツ管理情報を更新する。
【０１８８】
ステップＳ５８の処理後は、ステップＳ５９に進み、コンテンツ管理情報管理プログラム１３８は、ステップＳ５８で更新された後のコンテンツ管理情報ファイル＃Ｎのコンテンツ管理情報のハッシュ値を算出し、コンテンツ管理情報に付加されているハッシュ値を更新して、処理を終了する。
【０１８９】
一方、ステップＳ５６において、ステップＳ５５で算出されたハッシュ値が、コンテンツ管理情報に付加されているハッシュ値と一致していないと判定された場合、即ちコンテンツ管理情報が改竄されたと判定された場合、ステップＳ６０に進み、表示操作指示プログラム１１２は、チェックイン/チェックアウト管理プログラム１３２の指令により、コンテンツ管理情報データベース１１５が改竄された旨を表すメッセージを、ディスプレイ２０に表示させる。
【０１９０】
図１６は、図１５のステップＳ５７のコンテンツ転送処理を説明するフローチャートである。
【０１９１】
ステップＳ７１において、チェックイン/チェックアウト管理プログラム１３２は、コンテンツ管理情報ファイル＃Ｎに格納されているコンテンツ管理情報から、チェックアウト対象であるコンテンツの再生条件およびチェックアウト条件を抽出し、それらを確認する確認処理を行う。この確認処理の詳細は、図１７のフローチャートを参照して説明する。
【０１９２】
ステップＳ７２において、認証プログラム１３９は、チェックアウト先のＰＤ６と相互認証処理を行い、通信を行うための通信用鍵を共有する。
【０１９３】
例えば、ＰＤ６のフラッシュメモリ６１またはEEPROM６８（図３）には、例えば、製造時に、製造元により、マスター鍵ＫＭが記憶されており、パーソナルコンピュータ１のRAM１３には、例えば、製造時に、製造元により、個別鍵ＫＰとパーソナルコンピュータ１のＩＤが記憶されているものとする。CPU５３は、パーソナルコンピュータ１の認証プログラム１３９から、RAM１３に記憶されているパーソナルコンピュータ１のＩＤの供給を受け、そのパーソナルコンピュータ１のＩＤと自分自身が有するマスター鍵ＫＭにハッシュ関数を適用して、RAM１３に記憶されているパーソナルコンピュータ１の個別鍵ＫＰと同一の鍵を生成する。これにより、パーソナルコンピュータ１とＰＤ６は、共通の個別鍵ＫＰを共有することができる。パーソナルコンピュータ１とＰＤ６は、個別鍵ＫＰを用いて、さらに、一時的な通信用鍵を生成する。
【０１９４】
なお、相互認証の方法としては、例えば、IOS(International Organization for Standardization)9798-2を採用することができる。
【０１９５】
ステップＳ７２の処理後は、ステップＳ７３に進み、チェックイン/チェックアウト管理プログラム１３２は、図１５のステップＳ５３で抽出されたチェックアウト対象のコンテンツのコンテンツＩＤに基づいて、コンテンツデータベース１１４からコンテンツを読み出し、暗号化方式変換プログラム１３３に供給する。具体的には、チェックイン/チェックアウト管理プログラム１３２は、図１５のステップＳ５４で算出された番号Ｎのコンテンツ管理情報ファイル＃Ｎに格納されているコンテンツ管理情報から、ステップＳ５３で抽出されたコンテンツＩＤに基づいて、チェックアウト対象のコンテンツが記憶されているファイルのファイル名を抽出する。そして、チェックイン/チェックアウト管理プログラム１３２は、その抽出したファイル名に基づいて、コンテンツデータベース１１４からコンテンツを読み出し、暗号化方式変換プログラム１３３に供給する。
【０１９６】
ステップＳ７３の処理後は、ステップＳ７４に進み、暗号化方式変換プログラム１３３は、ステップＳ７３で読み出されたコンテンツの暗号化方式を、チェックアウト先のＰＤ６に対応するものに変換し、圧縮方式変換プログラム１３４は、そのコンテンツの圧縮方式を、チェックアウト先のＰＤ６に対応するものに変換する。
【０１９７】
ステップＳ７４の処理後は、ステップＳ７５に進み、チェックイン/チェックアウト管理プログラム１３２は、ステップＳ７４で変換されたコンテンツと対応するコンテンツ関連データを、USBケーブル７を介して、チェックアウト先のＰＤ６に転送し、図１５のステップＳ５８に進む。具体的には、チェックイン/チェックアウト管理プログラム１３２は、図１５のステップＳ５３で抽出されたコンテンツＩＤに基づいて、コンテンツデータベース１１４のコンテンツ関連テーブルと、コンテンツ管理情報ファイル１６１のコンテンツ管理情報とに含まれるチェックアウト対象のコンテンツに対応するコンテンツ関連データを、抽出し、コンテンツ関連データ変換プログラム１３７に供給する。コンテンツ関連データ変換プログラム１３７は、そのコンテンツ関連データを、ＰＤ６に対応するフォーマットに変換し、チェックイン/チェックアウト管理プログラム１３２に供給する。チェックイン/チェックアウト管理プログラム１３２は、そのフォーマット変換後のコンテンツ関連データを、ステップＳ７４で圧縮方式および暗号化方式が変換されたコンテンツとともに、チェックアウト先のＰＤ６に転送し、図１５のステップＳ５８に進む。
【０１９８】
図１７は、図１６のステップＳ７１の確認処理を説明するフローチャートである。
【０１９９】
ステップＳ８１において、チェックイン/チェックアウト管理プログラム１３２は、コンテンツ管理情報データベース１１５のコンテンツ管理情報ファイル＃Ｎから、チェックアウト対象のコンテンツのコンテンツ管理情報を読み出し、ステップＳ８２に進む。
【０２００】
ステップＳ８２において、チェックイン/チェックアウト管理プログラム１３２は、ステップＳ８１で読み出されたコンテンツ管理情報のチェックアウト回数カウンタの値であるチェックアウト回数が、チェックアウト条件の回数制限以上であるかどうかを判定する。例えば、図１２に示したコンテンツ管理情報がコンテンツ管理情報ファイル＃Ｎに格納されており、図１５のステップＳ５３で抽出されたコンテンツＩＤが４である場合、ＩＤ４のチェックアウト条件の回数制限が３回であるので、チェックイン/チェックアウト管理プログラム１３２は、コンテンツＩＤの４に対応するチェックアウト回数カウンタの値が３以上であるかどうかを判定する。
【０２０１】
ステップＳ８２において、コンテンツ管理情報のチェックアウト回数カウンタのチェックアウト回数が、チェックアウト条件の回数以上であると判定された場合、チェックアウトを行うことはできないので、ステップＳ８３に進み、表示操作指示プログラム１１２は、ディスプレイ２０（図２）にチェックアウト回数がチェックアウト制限回数に達している旨のメッセージを表示させ、処理を終了する。
【０２０２】
一方、ステップＳ８２において、コンテンツ管理情報のチェックアウト回数カウンタのチェックアウト回数が、チェックアウト条件の回数以上ではないと判定された場合、ステップＳ８４に進み、チェックイン/チェックアウト管理プログラム１３２は、アダプタ２６のRTC３５（図２）が提供する現在日時が、再生条件の終了日時を過ぎているかどうかを判定する。なお、チェックアウト対象のコンテンツのコンテンツ管理情報に、再生条件の終了日時がない場合、ステップＳ８４の処理をスキップし、ステップＳ８７に進む。
【０２０３】
ステップＳ８４において、現在日時が、再生条件の終了日時を過ぎていると判定された場合、ステップＳ８５に進み、チェックイン/チェックアウト管理プログラム１３２は、コンテンツ管理情報のチェックアウト対象のコンテンツに対応するファイル名に基づいて、コンテンツデータベース１１４から、そのファイル名のファイルを消去する、即ちチェックアウト対象のコンテンツを消去する。また、チェックイン/チェックアウト管理プログラム１３２は、コンテンツ管理情報ファイル＃Ｎから、チェックアウト対象のコンテンツのコンテンツ管理情報を消去し、ステップＳ８６に進む。
【０２０４】
ステップＳ８６において、チェックイン/チェックアウト管理プログラム１３２は、コンテンツ管理情報ファイル＃Ｎのコンテンツ管理情報のハッシュ値を算出し、コンテンツ管理情報に付加されているハッシュ値を更新して、処理を終了する。なお、コンテンツ管理情報ファイル＃Ｎにコンテンツ管理情報がない場合、即ち、コンテンツ管理情報ファイル＃Ｎにチェックアウト対象のコンテンツのコンテンツ管理情報だけが格納されており、ステップＳ８５でそのコンテンツ管理情報が消去された場合、ステップＳ８６の処理を行わない。
【０２０５】
一方、ステップＳ８４において、現在日時は再生終了日時を過ぎていないと判定された場合、チェックイン/チェックアウト管理プログラム１３２は、ステップＳ８７に進む。ステップＳ８７において、チェックイン/チェックアウト管理プログラム１３２は、チェックアウト対象のコンテンツのコンテンツ管理情報に再生条件の回数制限があるかどうかを判定し、チェックアウト対象のコンテンツに対応する再生条件の回数制限がないと判定した場合、図１６のステップＳ７２に進む。
【０２０６】
ステップＳ８７において、チェックアウト対象のコンテンツに対応する再生条件の回数制限があると判定された場合、ステップＳ８８に進み、チェックイン/チェックアウト管理プログラム１３２は、チェックアウト先のＰＤ６に、再生条件の回数制限を守る機能があるかどうかを判定する。例えば、ＰＤ６は、フラッシュメモリ６１（図３）に自分の有する機能を記憶させてあり、チェックイン/チェックアウト管理プログラム１３２は、ＰＤ用ドライバ１４１を制御して、チェックアウト先のＰＤ６のフラッシュメモリ６１から、そのＰＤ６の機能を読み出し、その機能に再生条件の回数制限を守る機能があるかどうかを判定する。
【０２０７】
ステップＳ８８において、チェックアウト先のＰＤ６に、再生条件の回数制限を守る機能があると判定された場合、チェックイン/チェックアウト管理プログラム１３２は、図１６のステップＳ７２に進む。
【０２０８】
一方、ステップＳ８８において、チェックアウト先のＰＤ６に、再生条件の回数制限を守る機能がないと判定された場合、ステップＳ８９に進み、表示操作指示プログラム１１２は、ディスプレイ２０（図２）に、チェックアウト先のＰＤ６は再生条件の回数制限を守る機能を有していない旨のメッセージを表示させ、処理を終了する。
【０２０９】
次に、図１８は、図４のチェックイン/チェックアウト管理プログラム１３２が行う結合処理を説明するフローチャートである。この結合処理は、例えば、すべてのコンテンツ管理情報ファイル１６１のファイルサイズが、結合値未満になったとき、開始される。ここで、結合値とは、例えば、運用に最適なファイルサイズの上限値より十分小さく、結合後のファイルサイズが、その上限値を超えないファイルサイズの上限値である。結合値は、例えば、チェックイン/チェックアウト管理プログラム１３２の作成元により、作成時に設定される。
【０２１０】
なお、結合処理が開始されるタイミングは、すべてのコンテンツ管理情報ファイル１６１のファイルサイズが結合値未満になったときに限定されず、任意のタイミングとすることができる。例えば、表示操作指示プログラム１１２は、ディスプレイ２０に、パーソナルコンピュータ１の環境を設定するための環境設定画面を表示させ、その環境設定画面に、コンテンツ管理情報ファイル１６１の結合を指令するための結合ボタンを表示させる。そして、ユーザにより結合ボタンが操作されたとき、チェックイン/チェックアウト管理プログラム１３２は、結合処理を開始することもできる。このように、チェックイン/チェックアウト管理プログラム１３２は、ユーザから指定されたタイミングで結合処理を開始することもできる。
【０２１１】
ステップＳ１０１において、チェックイン/チェックアウト管理プログラム１３２は、結合前のコンテンツ管理情報データベース１１５の分割レベルＬｂ（Ｌｂは１以上の整数）に基づいて、コンテンツ管理情報ファイル１６１を結合し、２（Ｌｂ−１）個のコンテンツ管理情報ファイル１６１を生成する。具体的には、チェックイン/チェックアウト管理プログラム１３２は、コンテンツ管理情報ファイル＃Ｎと、コンテンツ管理情報ファイル＃Ｎ＋２（Ｌｂ−１）を結合し、コンテンツ管理情報ファイル＃Ｎとする。
【０２１２】
例えば、結合前の分割レベルＬｂが３であり、図１０に示したコンテンツ管理情報ファイル＃０乃至＃７がコンテンツ管理情報データベース１１５に記憶されている場合、チェックイン/チェックアウト管理プログラム１３２は、コンテンツ管理情報ファイル＃０とコンテンツ管理情報ファイル＃０＋２（３−１）（＝４）を結合し、結合後のコンテンツ管理情報ファイル＃０とする。即ち、コンテンツ管理情報ファイル＃０には何も格納されていないので、コンテンツ管理情報ファイル＃４に格納されているＩＤ４が、結合後のコンテンツ管理情報ファイル＃０に格納される。
【０２１３】
また、チェックイン/チェックアウト管理プログラム１３２は、コンテンツ管理情報ファイル＃１とコンテンツ管理情報ファイル＃１＋２（３−１）（＝５）を結合して、結合後のコンテンツ管理情報ファイル＃１とし、コンテンツ管理情報ファイル＃２とコンテンツ管理情報ファイル＃２＋２（３−１）（＝６）を結合して、結合後のコンテンツ管理情報ファイル＃２とし、コンテンツ管理情報ファイル＃３とコンテンツ管理情報ファイル＃３＋２（３−１）（＝７）を結合して、結合後のコンテンツ管理情報ファイル＃３とする。従って、結合後のコンテンツ管理情報ファイル＃１には、結合前のコンテンツ管理情報ファイル＃１のＩＤ１が、結合後のコンテンツ管理情報ファイル＃２には、結合前のコンテンツ管理情報ファイル＃２のＩＤ１０と、結合前のコンテンツ管理情報ファイル＃６のＩＤ６が、結合後のコンテンツ管理情報ファイル＃３には、結合前のコンテンツ管理情報ファイル＃３のＩＤ１１と、結合前のコンテンツ管理情報ファイル＃７のＩＤ７が、それぞれ格納される。
【０２１４】
これにより、図１０の分割レベルＬが３のコンテンツ管理情報データベース１１５が結合され、図９に示した分割レベルＬが２のコンテンツ管理情報データベース１１５になる。即ち、図１０の２３（＝８）個のコンテンツ管理情報ファイル＃０乃至＃７が結合されて、図９の２２（＝４）個のコンテンツ管理情報ファイル＃０乃至＃３が生成される。
【０２１５】
なお、ステップＳ１０１では、コンテンツ管理情報ファイル１６１を２個ずつ結合して、２（Ｌｂ−１）個のコンテンツ管理情報ファイル１６１を生成したが、２Ｑ（Ｑは正の数）ずつ結合し、２（Ｌｂ−Ｑ）個のコンテンツ管理情報ファイル１６１を生成することもできる。
【０２１６】
ステップＳ１０１の処理後は、ステップＳ１０２に進み、チェックイン/チェックアウト管理プログラム１３２は、コンテンツ管理情報ファイル１６１をさらに結合するかどうかを判定する。例えば、チェックイン/チェックアウト管理プログラム１３２は、ステップＳ１０１で結合後のすべてのコンテンツ管理情報ファイル１６１のファイルサイズが、結合値未満であるかどうかを判定し、結合値未満である場合、さらに結合すると判定し、結合値以上である場合、さらに結合しないと判定する。
【０２１７】
ステップＳ１０２において、コンテンツ管理情報ファイル１６１をさらに結合すると判定された場合、ステップＳ１０１に戻り、チェックイン/チェックアウト管理プログラム１３２は、いまの分割レベルＬを、結合前の分割レベルＬｂとして、上述した処理を繰り返す。
【０２１８】
一方、ステップＳ１０２において、コンテンツ管理情報ファイル１６１をさらに結合しないと判定された場合、チェックイン/チェックアウト管理プログラム１３２は、処理を終了する。
【０２１９】
次に、図１９は、図４のチェックイン/チェックアウト管理プログラム１３２が行うファイル分割処理を説明する他のフローチャートである。
【０２２０】
ステップＳ１２１において、チェックイン/チェックアウト管理プログラム１３２は、コンテンツ管理情報ファイル１６１を分割するタイミングであるかどうかを判定する。ここで、分割するタイミングであるかどうかの判定の方法としては、例えば、以下の２つの方法がある。なお、分割するタイミングであるかどうかの判定の方法は、以下の３つの方法に限定されるものではない。
【０２２１】
１つ目の方法は、チェックイン/チェックアウト管理プログラム１３２が、１以上のコンテンツ管理情報ファイル１６１が分割値以上であるかどうかを判定する方法である。具体的には、チェックイン/チェックアウト管理プログラム１３２は、１以上のコンテンツ管理情報ファイル１６１が分割値以上である場合、分割するタイミングであると判定し、１以上のコンテンツ管理情報ファイル１６１が分割値以上ではない、即ち、すべてのコンテンツ管理情報ファイル１６１が分割値未満である場合、分割するタイミングではないと判定する。
【０２２２】
ここで、分割値とは、運用に最適なファイルサイズの上限値である。分割値は、例えば、チェックイン/チェックアウト管理プログラム１３２の作成元により、チェックイン/チェックアウト管理プログラム１３２の作成時に設定される。なお、ユーザが、表示操作指示プログラム１１２によりディスプレイ２０に表示されたパーソナルコンピュータ１の環境設定画面で、任意に変更することができるようにすることも可能である。
【０２２３】
２つ目の方法は、チェックイン/チェックアウト管理プログラム１３２が、各コンテンツ管理情報ファイル１６１に格納されるコンテンツ管理情報に対応するコンテンツの数が所定の閾値以上であるかどうかを判定する方法である。具体的には、すべてのコンテンツ管理情報ファイル１６１に格納されるコンテンツ管理情報に対応するコンテンツの数を、コンテンツ管理情報ファイル１６１ごとに認識し、１以上のコンテンツ管理情報ファイル１６１において、コンテンツの数が所定の閾値以上である場合、分割するタイミングであると判定し、すべてのコンテンツ管理情報ファイル１６１において、コンテンツの数が所定の閾値未満である場合、分割するタイミングではないと判定する。なお、この閾値とは、例えば、チェックイン/チェックアウト管理プログラム１３２の作成元により、作成時に設定された運用に最適なコンテンツ管理情報のコンテンツの数の上限値である。
【０２２４】
３つ目の方法は、チェックイン/チェックアウト管理プログラム１３２が、ユーザにより分割ボタンが操作されたかどうかを判定する方法である。具体的には、表示操作指示プログラム１１２は、ディスプレイ２０に、パーソナルコンピュータ１の環境設定画面を表示させ、その環境設定画面に、コンテンツ管理情報ファイル１６１の分割を指令するための分割ボタンを表示させる。例えば、ユーザは、チェックアウト処理が重いと感じた場合（例えば、入力したコマンドに対するレスポンスが遅いことなどにより、ユーザが不快に感じた場合）、分割ボタンを操作する。ユーザにより分割ボタンが操作されたとき、チェックイン/チェックアウト管理プログラム１３２は、分割するタイミングであると判定する。このように、チェックイン/チェックアウト管理プログラム１３２は、ユーザから指定されたタイミングで分割する。換言すれば、ユーザは、分割するタイミング自由に制御することができる。
【０２２５】
ステップＳ１２１において、分割するタイミングではないと判定された場合、チェックイン/チェックアウト管理プログラム１３２は、分割するタイミングであると判定されるまで待機する。
【０２２６】
一方、ステップＳ１２１において、分割するタイミングであると判定された場合、ステップＳ１２２に進み、チェックイン／チェックアウト管理プログラム１３２は、分割後のコンテンツ管理情報データベース１１５の分割レベルＬａを決定する。例えば、チェックイン／チェックアウト管理プログラム１３２は、上述した１つ目の方法により分割するタイミングであるかどうかを判定した場合、すべてのコンテンツ管理情報ファイル１６１のファイルサイズが分割値未満になる分割レベルＬａを決定する。
【０２２７】
ステップＳ１２２の処理後は、ステップＳ１２３に進み、チェックイン／チェックアウト管理プログラム１３２は、上述した式（１）にしたがって分割し、２Ｌａ個のコンテンツ管理情報ファイル１６１を生成して、処理を終了する。例えば、分割前のコンテンツ管理情報データベース１１５が、図７に示した分割レベルＬが０のコンテンツ管理情報データベース１１５である場合、チェックイン／チェックアウト管理プログラム１３２は、上述した式（１）にしたがって、コンテンツ管理情報ファイル＃０を分割して、２１（＝２）個のコンテンツ管理情報ファイル＃０と＃１を生成する。即ち、分割後のコンテンツ管理情報データベース１１５は、図８に示した分割レベルＬが１のコンテンツ管理情報データベース１１５となる。
【０２２８】
ここで、式（１）にしたがって、例えば、図８に示した分割レベルＬが１のコンテンツ管理情報データベース１１５のコンテンツ管理情報ファイル＃０と＃１を、コンテンツ管理情報ファイル＃０乃至＃３の４個に分割して、図９に示した分割レベルＬが２のコンテンツ管理情報データベース１１５にする場合、各コンテンツ管理情報ファイル１６１において、コンテンツＩＤが小さい順に、コンテンツ管理情報を、コンテンツ管理情報ファイル＃０乃至＃４に分割して格納するとき、コンテンツ管理情報ファイル＃０乃至＃４に格納されるコンテンツ管理情報は、対応するコンテンツのコンテンツＩＤが小さい順に格納される。
【０２２９】
即ち、式（１）によれば、分割レベルＬのコンテンツ管理情報データベース１１５を、分割レベルＬ＋１のコンテンツ管理情報データベース１１５にする場合、コンテンツ管理情報ファイル＃Ｎに格納されているコンテンツ管理情報は、コンテンツ管理情報ファイル＃Ｎまたは＃（Ｎ＋２Ｌ）(ただし、Ｌ＝０を除く)に必ず格納されることになるので、分割前に異なるコンテンツ管理情報ファイル１６１に格納されているコンテンツ管理情報は、分割後も必ず異なるコンテンツ管理情報ファイル１６１に格納される。従って、分割前に異なるコンテンツ管理情報ファイル１６１に格納されているコンテンツ管理情報が、同一のコンテンツ管理情報ファイル１６１に交ざって格納されることはないので、コンテンツ管理情報ファイル１６１ごとに、コンテンツＩＤが小さい順に、コンテンツ管理情報を分割して、分割後のコンテンツ管理情報ファイル１６１に格納する場合、分割前のコンテンツ管理情報ファイル１６１の昇順を維持することができる。
【０２３０】
なお、分割レベルＬが０のコンテンツ管理情報データベース１１５のコンテンツ管理情報＃０に格納されているコンテンツ管理情報を、コンテンツＩＤが小さい順に分割して、分割レベルＬが１のコンテンツ管理情報データベース１１５のコンテンツ管理情報ファイル＃０または＃１に格納する場合、１つのコンテンツ管理情報ファイル＃０に格納されているコンテンツ管理情報が、コンテンツＩＤが小さい順にコンテンツ管理情報ファイル＃０または＃１に格納されるので、コンテンツ管理情報ファイル＃０または＃１に格納されるコンテンツ管理情報は、コンテンツＩＤが小さい順に並ぶことになる。
【０２３１】
これにより、例えば、コンテンツ管理情報ファイル１６１に格納されているコンテンツ管理情報を、対応するコンテンツのコンテンツＩＤの昇順に、ソートする必要がなくなる。従って、例えば、ソートの処理を行うプログラムが不要となり、コストを削減することができる。また、例えば、ユーザが、コンテンツ管理情報データベース１１５から、所定のコンテンツＩＤのコンテンツに対応するコンテンツ管理情報を検索する場合、２分検索(バイナリサーチ)を行い、検索コストの向上を図ることができる。
【０２３２】
さらに、ステップＳ１２３では、式（１）のような簡単な式を用いて、コンテンツ管理情報ファイル１６１を分割するので、ファイル分割処理を行うチェックイン/チェックアウト管理プログラム１３２の作成が容易であり、チェックイン/チェックアウト管理プログラム１３２を作成するためのコストを軽減することができる。
【０２３３】
なお、チェックイン／チェックアウト管理プログラム１３２は、コンテンツ管理情報ファイル１６１を２Ｌ個に１度に分割する、即ち、分割レベルＬを一度にステップＳ１２２で決定されたレベルにするのではなく、分割レベルＬを１個ずつまたは数個ずつ上げていくこともできる。例えば、分割前のコンテンツ管理情報データベース１１５が、図１７に示した分割レベルＬが０のコンテンツ管理情報データベース１１５であり、ステップＳ１２２で決定された分割レベルＬが２である場合、図７に示した分割レベルＬが０のコンテンツ管理情報データベース１１５を、コンテンツ管理情報ファイル＃０を４個に分割することにより、図９に示した分割レベルＬが２のコンテンツ管理情報データベース１１５にしてもよいし、コンテンツ管理情報ファイル＃０を２個に分割することにより、図８に示した分割レベルＬが１のコンテンツ管理情報データベース１１５にし、さらに、コンテンツ管理情報ファイル＃０と＃１をそれぞれ２個に分割して、図９に示した分割レベルが２のコンテンツ管理情報データベース１１５にしてもよい。
【０２３４】
また、本実施の形態では、式（１）における値Ｊは、コンテンツＩＤを表すとしたが、これに限定されるものではなく、コンテンツ管理情報に含まれる項目のデータに関するデータであればどのようなものであってもよい。
【０２３５】
例えば、式（１）の値Ｊが、コンテンツ管理情報に含まれる項目「コンテンツＩＤ」に関するデータとして、コンテンツＩＤから、例えば、SHA1（Secure Hash Algorithm 1）やMD5（Message Digest 5）のハッシュ関数を用いて算出されたハッシュ値などの分散度の高い値を表すようにすることもできる。
【０２３６】
また、式（１）の値Ｊが、コンテンツ管理情報に含まれる項目「チェックアウト先１」、「チェックアウト先２」、または「チェックアウト先３」に関するデータとして、ＰＤ６のＰＤＩＤを表すようにすることもできる。この場合、チェックアウト先であるＰＤ６が同一のコンテンツに対応するコンテンツ管理情報は、同一のコンテンツ管理情報ファイル１６１に格納される。即ち、チェックアウト先であるＰＤ６が同一のコンテンツに対応するコンテンツ管理情報を、１つのコンテンツ管理情報ファイル１６１で集中管理することができる。このように、式（１）の値Ｊを、コンテンツ管理情報に含まれる項目に関するデータのいずれかに変化させることにより、コンテンツ管理情報の管理形態を変化させることができる。
【０２３７】
さらに、パーソナルコンピュータ１は、図１３と図１９のファイル分割処理のいずれか１つを行うこともできるし、両方を行うこともできる。パーソナルコンピュータ１が、図１３と図１９のファイル分割処理の両方を行う場合、パーソナルコンピュータ１」は、図１３のファイル分割処理を、チェックイン/チェックアウト管理プログラム１３２のインストール時に行い、その後のコンテンツ管理情報ファイル１６１の状態に応じて、図１９の分割処理を行う。
【０２３８】
次に、上述した一連の処理は、専用のハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【０２３９】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムは、図２に示した磁気ディスク４１（フロッピディスクを含む）、光ディスク４２（CD-ROM(Compact Disc Read Only Memory)，DVD(Digital Versatile Disc)を含む）、光磁気ディスク４３（MD（Mini-Disc）を含む）、もしくは半導体メモリ４４などよりなるパッケージメディアに、一時的あるいは永続的に格納（記録）しておくことができる。
【０２４０】
なお、プログラムは、上述したようなパッケージメディアからコンピュータにインストールする他、ダウンロードサイトから、デジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを、通信部２５で受信し、内蔵するHDD２１にインストールすることができる。
【０２４１】
ここで、本明細書において、コンピュータに各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含むものである。
【０２４２】
また、プログラムは、１のコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【図面の簡単な説明】
【０２４３】
【図１】本発明を適用したコンテンツ管理システムの一実施の形態を示す図である。
【図２】パーソナルコンピュータの構成例を示すブロック図である。
【図３】ＰＤ６の構成例を示すブロック図である。
【図４】CPUが所定のプログラムを実行することにより実現される、パーソナルコンピュータの機能の構成例を示すブロック図である。
【図５】コンテンツを録音(記憶)するときに、ディスプレイに表示されている操作ウィンドウの例を示す図である。
【図６】コンテンツをチェックアウトするときに、ディスプレイに表示されている操作ウィンドウ２０１の例を示している。
【図７】コンテンツ管理情報データベースの分割レベルＬが０のときのコンテンツ管理情報ファイルの例を示す図である。
【図８】コンテンツ管理情報データベースの分割レベルＬが１のときのコンテンツ管理情報ファイル１６１の例を示す図である。
【図９】コンテンツ管理情報データベースの分割レベルＬが２のときのコンテンツ管理情報ファイル１６１の例を示す図である。
【図１０】コンテンツ管理情報データベースの分割レベルＬが３のときのコンテンツ管理情報ファイル１６１の例を示す図である。
【図１１】図４のコンテンツデータベースに記憶されるコンテンツ関連テーブルの例を示す図である。
【図１２】図４のコンテンツ管理情報ファイルに格納されるコンテンツ管理情報の例を示す図である。
【図１３】図４のチェックイン／チェックアウト管理プログラムが行うファイル分割処理を説明するフローチャートである。
【図１４】図４のパーソナルコンピュータが、光ディスクであるＣＤからコンテンツを録音する録音処理を説明するフローチャートである。
【図１５】図４のパーソナルコンピュータが行うチェックアウト処理を説明するフローチャートである。
【図１６】図１５のステップＳ５７のコンテンツ転送処理を説明するフローチャートである。
【図１７】図１６のステップＳ７１の確認処理を説明するフローチャートである。
【図１８】図４のチェックイン/チェックアウト管理プログラムが行う結合処理を説明するフローチャートである。
【図１９】図４のチェックイン/チェックアウト管理プログラムが行うファイル分割処理を説明する他のフローチャートである。
【符号の説明】
【０２４４】
１  パーソナルコンピュータ，  ２  ネットワーク，  ３  EMD登録サーバ，  ４  EMDサーバ，  ５  WWWサーバ，  ６  ＰＤ，  ７  USBケーブル，  １１  CPU，  １２  ROM,  １３  RAM，  ４１  磁気ディスク，  ４２  光ディスク，  ４３  光磁気ディスク，  ４４  半導体メモリ，  １１２  表示操作指示プログラム，  １１３  録音プログラム，  １１４  コンテンツデータベース，  １１５  コンテンツ管理情報データベース，  １３２  チェックイン/チェックアウト管理プログラム，  １３８  コンテンツ管理情報管理プログラム，  １６１  コンテンツ管理情報ファイル
【図１】
2006031775.tif 000003
【図２】
2006031775.tif 000004
【図３】
2006031775.tif 000005
【図４】
2006031775.tif 000006
【図５】
2006031775.tif 000007
【図６】
2006031775.tif 000008
【図７】
2006031775.tif 000009
【図８】
2006031775.tif 000010
【図９】
2006031775.tif 000011
【図１０】
2006031775.tif 000012
【図１１】
2006031775.tif 000013
【図１２】
2006031775.tif 000014
【図１３】
2006031775.tif 000015
【図１４】
2006031775.tif 000016
【図１５】
2006031775.tif 000017
【図１６】
2006031775.tif 000018
【図１７】
2006031775.tif 000019
【図１８】
2006031775.tif 000020
【図１９】
2006031775.tif 000021