(57)【要約】      （修正有）【課題】コンテンツ作成者から渡されたディジタルコンテンツを、利用者が外部に漏洩しないように利用できるシステムを提供する。【解決手段】カーネルモードで動作する制御プログラムは、ディジタルコンテンツライブラリ（ＤＣＬ）６を、仮想ドライブとして、オペレーティングシステムに認識させる。仮想ドライブの中のファイル５にアクセスするとき、ファイル名、及び、アクセスの種類を示すアクセス方法を取得し、ＤＣＬの管理データを参照して確認する。許可されたとき、仮想ドライブへのアクセスを実行し、許可されていないとき、アクセスの実行を破棄する。制御プログラムは、仮想ドライブの中から読み出された電子ファイル、又は、その派生ファイルは、仮想ドライブのみに格納し、他の記憶装置に格納しない。【選択図】図１
2010204750.tif 000002
【特許請求の範囲】
【請求項１】
記憶装置（１４、２５）を含む複数のデバイス（２２−２７）が接続され、オペレーティングシステム（１１）によって制御されて動作する電子計算機（１、２）で電子データ（５）を利用する際、前記電子データ（５）の全部又は一部が前記電子計算機（１、２）から外部へ漏洩することを防止する手段として前記電子計算機（１、２）を機能させる制御プログラム（５０）であって、
前記制御プログラム（５０）は、前記複数のデバイス（２２−２７）それぞれを制御するためのデバイスドライバ（３２−３６）からなるデバイスドライバ層（３０）と、前記オペレーティングシステム（１１）がカーネルモードで提供する基本プログラム（６３）との間に位置し、前記オペレーティングシステム（１１）の全ての命令が実行できる動作モードであるカーネルモードで動作し、
前記制御プログラム（５０）は、
１以上の前記電子データ（５）からなるファイルデータ（６０２）、及び、前記電子データ（５）の利用形態を示すデータからなる管理データ（６０１）からなるディジタルコンテンツライブラリ（６）を、前記電子計算機（１，２）の仮想ドライブ（８）として、前記オペレーティングシステム（１１）に認識させるステップと、
前記電子計算機（１、２）上に動作しているアプリケーションプログラム（１０）又は前記基本プログラム（６３）から、前記仮想ドライブ（８）の中の前記ファイル（５）にアクセスするとき、前記ファイル（５）のファイル名、及び、前記アクセスの種類を示すアクセス方法を取得するステップと、
前記管理データ（６０１）を参照して前記ファイル名及び前記アクセス方法を確認するステップと、
前記確認の結果は、前記アクセスの実行が許可されたものであるとき、前記仮想ドライブ（８）への前記アクセスとして実行するステップと、
前記確認の結果は、前記アクセスの実行が許可されていないものであるとき、前記アクセスの実行を破棄するステップと、
からなり、
前記制御プログラム（５０）は、前記仮想ドライブ（８）の中から読み出された前記電子ファイル（５）、又は、前記電子ファイル（５）から派生して作成されたファイルは、前記仮想ドライブ（８）のみに格納し、他の記憶装置（１４、２５）に格納しない
ことを特徴とするディジタルコンテンツ管理用制御プログラム。
【請求項２】
請求項１に記載のディジタルコンテンツ管理用制御プログラムにおいて、
前記オペレーティングシステム（１１）は、前記記憶装置（１４，２５）のファイルシステムを制御するためのファイルシステムドライバ（３４、３４ａ）を備え、
前記オペレーティングシステム（１１）は、前記仮想ドライブ（８）のファイルシステムを制御するための仮想ファイルシステムドライバ（３４ｂ）を備え、
前記制御プログラムは、（I）前記デバイスドライバ（３２−３６）の共通の窓口となるとともに、前記基本プログラム（６３）を通して行われる、前記デバイスドライバ（３２−３６）と前記アプリケーションプログラム（１０）とのやり取りをまとめて行ない、（II）前記アプリケーションプログラム（１０）から要求されたときに、前記複数のデバイス（２２−２７）の間、又は、前記アプリケーションプログラム（１０）と前記デバイス（２２−２７）の間のデータの送受信を行ない、（III）前記アプリケーションプログラム（１０）から前記電子計算機（１，２）の前記記憶装置（１４、２５）に記憶されている前記特定ファイルへアクセスしようとするとき、前記オペレーティングシステム（１１）が標準で備えているインターフェースを通して、前記アプリケーションプログラム（１０）から出された前記特定ファイルへのアクセス要求を受信して、前記記憶装置（１４、２５）とのデータのやりとりを経由する共通インターフェース手段（５０）として前記電子計算機（１，２）を機能させるプログラムであり、
前記共通インターフェース手段（５０）は、
前記アプリケーションプログラム（１０）又は前記基本プログラム（６３）から、前記ファイルシステムドライバ（３４）へのアクセス要求を受信するインターフェース手段（５１）と、
前記アクセス要求を前記インターフェース手段（５１）から受信し、前記アクセス要求を分析して、アクセスしようとするファイル名及びアクセス方法を取得し、データの流れを制御する制御手段（５２）と、
前記管理データ（６０１）を参照して前記ファイル名及び前記アクセス方法を参照し、参照結果を出力するファイルシステム制御手段（４４）と、
（１）前記ファイルシステム制御手段（４４）から前記参照結果を受信し、（２）前記参照結果が正常か異常かの判定を行い、（３）前記判定の結果が異常となるとき、前記アクセスを破棄し、（６）前記判定の結果が正常となるとき、前記アクセスを前記仮想ディスクドライブ（３７ｂ）に渡す前記制御手段と
からなり、
前記仮想ディスクドライブ（３７ｂ）は、前記アクセスを取得して、前記アクセスを前記記憶装置（１４、２５）の前記ファイル（５）へのアクセスに変換して、前記共通インターフェース手段（５０）にわたし、
前記共通インターフェース手段（５０）は、前記ファイルシステム制御手段（４４）を経由して、前記アクセスを実行して、前記アクセスの実行結果を受信し、
前記実行結果は、前記仮想ディスクドライブ（３７ｂ）を経由して、前記入力装置又は前記アプリケーションプログラムへ渡す
ことを特徴とするディジタルコンテンツ管理用制御プログラム。
【請求項３】
請求項１又は２に記載のディジタルコンテンツ管理用制御プログラムにおいて、
前記共通インターフェース手段（５０）は、
前記ファイルシステムドライバ（３４ａ）から取得した、暗号化されたデータを復号化する復号化手段（５５）と、
前記ファイルシステムドライバ（３４ａ）に渡すデータを暗号化して暗号化データを作成する暗号化手段（５４）と、
からなる
ことを特徴とするディジタルコンテンツ管理用制御プログラム。
【請求項４】
請求項３に記載のディジタルコンテンツ管理用制御プログラムにおいて、
前記電子ファイル（５）は、個別に暗号化されて、前記ディジタルコンテンツライブラリ（６に格納される
ことを特徴とするディジタルコンテンツ管理用の制御プログラム。
【請求項５】
請求項３に記載のディジタルコンテンツ管理用制御プログラムにおいて、
前記ディジタルコンテンツライブラリ（３）は、暗号化されている
ことを特徴とするディジタルコンテンツ管理用の制御プログラム。
【請求項６】
請求項１又は２に記載のディジタルコンテンツ管理用制御プログラムにおいて、
前記共通インターフェース手段（５０）は、前記デバイスドライバ（３２−３６）を制御することで、ネットワーク（１３）への通信機能、前記記録媒体（１４，２５）への書き込む機能、及び、前記入力装置（１６，１７）を操作して複製する前記複製機能の中から選択される１以上の機能を制限する
ことを特徴とするディジタルコンテンツ管理用制御プログラム。
【請求項７】
請求項１又は２に記載のディジタルコンテンツ管理用制御プログラムにおいて、
前記確認の結果は、前記アクセスの実行が許可されたものであるとき、
前記アクセスが前記電子ファイルを読み込む動作の場合は、前記共通インターフェースは、前記電子ファイルを取得して、復号化して、前記アプリケーションプログラム又は前記基本プログラムに渡し、
前記アクセスが前記ディジタルコンテンツファイルに新規電子ファイルを書き込む動作の場合は、前記共通インターフェースは、前記新規電子ファイルを暗号化して、前記ディジタルコンテンツファイルに書き込み、
前記アクセスが前記電子ファイルを更新して書き込む動作の場合は、前記共通インターフェースは、前記電子ファイルを、暗号化して、更新し、
前記アクセスが前記電子ファイルを複製する動作の場合は、前記共通インターフェースは、前記電子ファイルを、指定された場所で、複製し、
前記アクセスが前記電子ファイルを削除する動作の場合は、前記共通インターフェースは、前記電子ファイルを削除し、
前記アクセスが前記電子ファイルの前記属性情報を変更する動作の場合は、前記共通インターフェースは、前記属性情報を変更し、
前記照合の結果は、前記アクセスが許可されていないものであるとき、前記共通インターフェースは、前記アクセスを許可しないで破棄する
ことを特徴とするディジタルコンテンツ管理用制御プログラム。
【請求項８】
請求項１又は２に記載のディジタルコンテンツ管理用制御プログラムにおいて、
前記属性情報は、前記ディジタルコンテンツライブラリ（６）又は前記電子ファイル（５）を利用することができる回数、期間、時間帯、場所及び利用者の内１以上のデータからなり、
前記電子ファイル（５）にアクセスするごとに、前記回数の値が１つずつ変化され、前記回数が０になったとき、前記電子ファイル（５）にアクセスすることができなくなる
ことを特徴とするディジタルコンテンツ管理用の制御プログラム。
【請求項９】
請求項１又は２に記載のディジタルコンテンツ管理用制御プログラムにおいて、
前記ディジタルコンテンツライブラリ（６）の容量、保存先、期限設定、ログ出力、属性情報の変更の内１以上が指定され、前記管理データ（６０１）に格納されている
ことを特徴とするディジタルコンテンツ管理用の制御プログラム。
【請求項１０】
請求項９に記載のディジタルコンテンツ管理用制御プログラムにおいて、
前記ディジタルコンテンツライブラリ（６）は、記録媒体（１４，２５）に保存又は、電子メールに添付、又はネットワークストレージに格納される
ことを特徴とするディジタルコンテンツ管理用の制御プログラム。
【請求項１１】
請求項１又は２に記載のディジタルコンテンツ管理用制御プログラムにおいて、
前記共通インターフェース手段（５０）は、前記仮想ドライブ（８）を利用したログを取得するログ取得手段（５３）からなる
ことを特徴とするディジタルコンテンツ管理用の制御プログラム。
【請求項１２】
請求項１〜１１の前記制御プログラム（７）を提供するソフトウェア提供手段（１０１）と、前記制御プログラム（７）を導入した利用者（３，４）の管理、及び、前記ディジタルコンテンツの管理を行うユーザ管理手段（１０２）とからなるサーバ（１００）と、
前記制御プログラム（７）を導入し、前記制御プログラム（７）を利用して前記ディジタルコンテンツを作成する第１電子計算機（１）と、及び、
前記制御プログラム（７）を導入し、前記ディジタルコンテンツを利用する第２電子計算機（２）と
からなる
ことを特徴とするディジタルコンテンツ管理システム。
【請求項１３】
請求項１２に記載のディジタルコンテンツ管理システムにおいて、
前記サーバ（１００）は、前記ディジタルコンテンツ（６）の利用履歴を前記第２電子計算機（２）から受信し、管理する履歴管理手段を有し、
前記サーバ（１００）は、前記第１電子計算機（１）に、自発的に又は、前記第１電子計算機（１）から要求があるとき、前記利用履歴を送信し、
前記第１電子計算機（１）は、前記利用履歴を分析して、前記ディジタルコンテンツ（６）の利用状況を把握する履歴分析手段を有する
ことを特徴とするディジタルコンテンツ管理システム。
【請求項１４】
記憶装置（１４、２５）を含む複数のデバイス（２２−２７）が接続され、オペレーティングシステム（１１）によって制御されて動作する電子計算機（１、２）で電子データ（５）を利用する際、前記電子データ（５）の全部又は一部が前記電子計算機（１、２）から外部へ漏洩することを防止するディジタルコンテンツ管理用電子計算機であって、
前記電子計算機（１，２）は、
前記複数のデバイス（２２−２７）それぞれを制御するためのデバイスドライバ（３２−３６）からなるデバイスドライバ層（３０）と、前記オペレーティングシステム（１１）がカーネルモードで提供する基本プログラム（６３）との間に位置し、前記オペレーティングシステム（１１）の全ての命令が実行できる動作モードであるカーネルモードで動作し、かつ
１以上の前記電子データ（５）からなるファイルデータ（６０２）、及び、前記電子データ（５）の利用形態を示すデータからなる管理データ（６０１）からなるディジタルコンテンツライブラリ（６）を、前記電子計算機（１，２）の仮想ドライブ（８）として、前記オペレーティングシステム（１１）に認識させる手段と、
前記電子計算機（１、２）上に動作しているアプリケーションプログラム（１０）又は前記基本プログラム（６３）から、前記仮想ドライブ（８）の中の前記ファイル（５）にアクセスするとき、前記ファイル（５）のファイル名、及び、前記アクセスの種類を示すアクセス方法を取得する手段と、
前記管理データ（６０１）を参照して前記ファイル名及び前記アクセス方法を確認する手段と、
前記確認の結果は、前記アクセスの実行が許可されたものであるとき、前記仮想ドライブ（８）への前記アクセスとして実行する手段と、
前記確認の結果は、前記アクセスの実行が許可されていないものであるとき、前記アクセスの実行を破棄する手段と、
からなり、
前記仮想ドライブ（８）の中から読み出された前記電子ファイル（５）、又は、前記電子ファイル（５）から派生して作成されたファイルは、前記仮想ドライブ（８）のみに格納し、他の記憶装置（１４、２５）に格納されない
ことを特徴とするディジタルコンテンツ管理用電子計算機。
【請求項１５】
請求項１４に記載のディジタルコンテンツ管理用電子計算機において、
前記オペレーティングシステム（１１）は、前記記憶装置（１４，２５）のファイルシステムを制御するためのファイルシステムドライバ（３４、３４ａ）を備え、
前記オペレーティングシステム（１１）は、前記仮想ドライブ（８）のファイルシステムを制御するための仮想ファイルシステムドライバ（３４ｂ）を備え、
前記電子計算機は、（I）前記デバイスドライバ（３２−３６）の共通の窓口となるとともに、前記基本プログラム（６３）を通して行われる、前記デバイスドライバ（３２−３６）と前記アプリケーションプログラム（１０）とのやり取りをまとめて行ない、（II）前記アプリケーションプログラム（１０）から要求されたときに、前記複数のデバイス（２２−２７）の間、又は、前記アプリケーションプログラム（１０）と前記デバイス（２２−２７）の間のデータの送受信を行ない、（III）前記アプリケーションプログラム（１０）から前記電子計算機（１，２）の前記記憶装置（１４、２５）に記憶されている前記特定ファイルへアクセスしようとするとき、前記オペレーティングシステム（１１）が標準で備えているインターフェースを通して、前記アプリケーションプログラム（１０）から出された前記特定ファイルへのアクセス要求を受信して、前記記憶装置（１４、２５）とのデータのやりとりを経由する共通インターフェースとしての共通インターフェース手段（５０）を有し、
前記共通インターフェース手段（５０）は、
前記アプリケーションプログラム（１０）又は前記基本プログラム（６３）から、前記ファイルシステムドライバ（３４）へのアクセス要求を受信するインターフェース手段（５１）と、
前記アクセス要求を前記インターフェース手段（５１）から受信し、前記アクセス要求を分析して、アクセスしようとするファイル名及びアクセス方法を取得し、データの流れを制御する制御手段（５２）と、
前記管理データ（６０１）を参照して前記ファイル名及び前記アクセス方法を参照し、参照結果を出力するファイルシステム制御手段（４４）と、
（１）前記ファイルシステム制御手段（４４）から前記参照結果を受信し、（２）前記参照結果が正常か異常かの判定を行い、（３）前記判定の結果が異常となるとき、前記アクセスを破棄し、（６）前記判定の結果が正常となるとき、前記アクセスを前記仮想ディスクドライブ（３７ｂ）に渡す前記制御手段と
からなり、
前記仮想ディスクドライブ（３７ｂ）は、前記アクセスを取得して、前記アクセスを前記記憶装置（１４、２５）の前記ファイル（５）へのアクセスに変換して、前記共通インターフェース手段（５０）にわたし、
前記共通インターフェース手段（５０）は、前記ファイルシステム制御手段（４４）を経由して、前記アクセスを実行して、前記アクセスの実行結果を受信し、
前記実行結果は、前記仮想ディスクドライブ（３７ｂ）を経由して、前記入力装置又は前記アプリケーションプログラムへ渡す
ことを特徴とするディジタルコンテンツ管理用電子計算機。
【請求項１６】
請求項１４又は１５に記載のディジタルコンテンツ管理用電子計算機において、
前記共通インターフェース手段（５０）は、
前記ファイルシステムドライバ（３４ａ）から取得した、暗号化されたデータを復号化する復号化手段（５５）と、
前記ファイルシステムドライバ（３４ａ）に渡すデータを暗号化して暗号化データを作成する暗号化手段（５４）と、
からなる
ことを特徴とするディジタルコンテンツ管理用電子計算機。
【請求項１７】
請求項１６に記載のディジタルコンテンツ管理用電子計算機において、
前記電子ファイル（５）は、個別に暗号化されて、前記ディジタルコンテンツライブラリ（６に格納される
ことを特徴とするディジタルコンテンツ管理用電子計算機。
【請求項１８】
請求項１６に記載のディジタルコンテンツ管理用電子計算機において、
前記ディジタルコンテンツライブラリ（３）は、暗号化されている
ことを特徴とするディジタルコンテンツ管理用電子計算機。
【請求項１９】
請求項１４又は１５に記載のディジタルコンテンツ管理用電子計算機において、
前記共通インターフェース手段（５０）は、前記デバイスドライバ（３２−３６）を制御することで、ネットワーク（１３）への通信機能、前記記録媒体（１４，２５）への書き込む機能、及び、前記入力装置（１６，１７）を操作して複製する前記複製機能の中から選択される１以上の機能を制限する
ことを特徴とするディジタルコンテンツ管理用電子計算機。
【請求項２０】
請求項１４又は１５に記載のディジタルコンテンツ管理用電子計算機において、
前記確認の結果は、前記アクセスの実行が許可されたものであるとき、
前記アクセスが前記電子ファイルを読み込む動作の場合は、前記共通インターフェースは、前記電子ファイルを取得して、復号化して、前記アプリケーションプログラム又は前記基本プログラムに渡し、
前記アクセスが前記ディジタルコンテンツファイルに新規電子ファイルを書き込む動作の場合は、前記共通インターフェースは、前記新規電子ファイルを暗号化して、前記ディジタルコンテンツファイルに書き込み、
前記アクセスが前記電子ファイルを更新して書き込む動作の場合は、前記共通インターフェースは、前記電子ファイルを、暗号化して、更新し、
前記アクセスが前記電子ファイルを複製する動作の場合は、前記共通インターフェースは、前記電子ファイルを、指定された場所で、複製し、
前記アクセスが前記電子ファイルを削除する動作の場合は、前記共通インターフェースは、前記電子ファイルを削除し、
前記アクセスが前記電子ファイルの前記属性情報を変更する動作の場合は、前記共通インターフェースは、前記属性情報を変更し、
前記照合の結果は、前記アクセスが許可されていないものであるとき、前記共通インターフェースは、前記アクセスを許可しないで破棄する
ことを特徴とするディジタルコンテンツ管理用電子計算機。
【請求項２１】
請求項１４又は１５に記載のディジタルコンテンツ管理用電子計算機において、
前記属性情報は、前記ディジタルコンテンツライブラリ（６）又は前記電子ファイル（５）を利用することができる回数、期間、時間帯、場所及び利用者の内１以上のデータからなり、
前記電子ファイル（５）にアクセスするごとに、前記回数の値が１つずつ変化され、前記回数が０になったとき、前記電子ファイル（５）にアクセスすることができなくなる
ことを特徴とするディジタルコンテンツ管理用電子計算機。
【請求項２２】
請求項１４又は１５に記載のディジタルコンテンツ管理用電子計算機において、
前記ディジタルコンテンツライブラリ（６）の容量、保存先、期限設定、ログ出力、属性情報の変更の内１以上が指定され、前記管理データ（６０１）に格納されている
ことを特徴とするディジタルコンテンツ管理用電子計算機。
【請求項２３】
請求項２２に記載のディジタルコンテンツ管理用電子計算機において、
前記ディジタルコンテンツライブラリ（６）は、記録媒体（１４，２５）に保存又は、電子メールに添付、又はネットワークストレージに格納される
ことを特徴とするディジタルコンテンツ管理用電子計算機。
【請求項２４】
請求項１４又は１５に記載のディジタルコンテンツ管理用電子計算機において、
前記共通インターフェース手段（５０）は、前記仮想ドライブ（８）を利用したログを取得するログ取得手段（５３）からなる
ことを特徴とするディジタルコンテンツ管理用電子計算機。
【請求項２５】
請求項１乃至１１の中から選択される１項に記載のディジタルコンテンツ管理用制御プログラムを格納したディジタルコンテンツ管理用制御プログラムの記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディジタルコンテンツを作成、配布、閲覧、及び利用する環境を提供するディジタルコンテンツ管理用電子計算機、そのためのプログラム、プログラムの記録媒体、及び、ディジタルコンテンツ管理システムに関する。特に、ディジタルコンテンツの利用のトレーサビリティを確保し、ディジタルコンテンツの情報漏洩を防止するディジタルコンテンツ管理用電子計算機、そのためのプログラム、プログラムの記録媒体、及び、ディジタルコンテンツ管理システムに関する。
【背景技術】
【０００２】
利用者は、電子計算機を利用して、電子データファイルを閲覧し、編集することが一般的に行なわれている。特に、インターネット等のネットワークシステムを利用して、利用者同士は、電子データファイルを交換し、共有することが一般的になった。例えば、電子メールのシステムを利用した次の使い方がある。第１利用者は、電子メール用のアプリケーションプログラムで、第２利用者４に電子メールを送るとき、電子データファイルをその電子メールに添付する。この電子データファイルを受け取った第２利用者４は、電子データファイルを閲覧し、編集する。
【０００３】
また、この添付の電子データファイルを受け取った第２利用者４は、電子データファイルを補助記憶装置に保管して利用することもできる。更に、この添付の電子データファイルを受け取った第２利用者４は、電子データファイルを第３利用者に転送することができる。また、更に、この添付の電子データファイルを受け取った第２利用者４は、この電子データファイルを利用して作成したファイルを第３利用者に渡したりすることもできる。
【０００４】
電子データファイルの利用方法としては、専用のファイル交換ソフトウェアを利用した使い方もある。更に、ネットワーク上のデータストレージを利用して、データを共有する使い方もある。
【０００５】
このように、複数の利用者が、電子データファイル、この電子データファイルから派生して作成されたファイルを交換、又は共有している。こうした電子データファイルの様々な使い方の中で、電子データファイルの内容が、第三者に渡らないように、情報漏洩対策が求められている。電子データファイルは、テキスト文書、画像データを始め様々な形態のデータである。電子データファイルの内容としては、個人情報、ビジネスのノウハウ、製品の仕様書、設計書をはじめ様々である。
【０００６】
これらの情報は、大衆公開されているものもあれば、核施設に関する情報、軍事情報等の機密情報もある。民間会社にとっても、クライアントに関するデータ、製品の設計書、商品の仕様書、顧客対応マニュアル等の長年のノウハウの集積を収めた内容の電子データファイルもある。これらの電子データファイルは、電子データの形式でファイルとしてコンピュータの記憶装置、記録媒体に保存されていることが多い。このファイルにアクセスした履歴、特にファイルの閲覧、編集、複写、印刷、送信等の履歴を取得して緊密に管理することが、セキュリティ上大事である。
【０００７】
そして、セキュリティの観点からは、これらの電子データファイルを関係者以外には参照されないようにし、外部へ流出するのを避けたいという要望がある。このような要望に対応するためには、本発明の発明者等は、特許文献１に開示した内容のデータ管理用のシステム及びそのためのプログラムを開発して、クライアントに提供している。具体的には、不揮発性メモリに格納されたクライアントのユーザデータを、それを処理している電子計算機から、目的以外ことに利用できないようにし、外部へ持ち出さないようにしている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】ＷＯ２００７／０４９６２５  「電子計算機のデータ管理方法、プログラム、及び記録媒体」
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、引用文献１に記載のシステムでは、不揮発性メモリという物理媒体と、情報漏洩防止用のアプリケーションプログラムを組み合わせて情報漏洩を防止している。これは、利用者にとっては、常に物理媒体を携帯しなければならず、この物理媒体を損失すると、データの復元もできないという欠点がある。更に、利用者としては、電子データの交換には、使い慣れた手段を利用する方が便利である。例えば、このような手段としては、電子メール、電子計算機の補助記憶装置等がある。機密情報等のコンテンツを提供する側としては、電子メールで電子データを送ることは、距離に依存しない、物理媒体の提供がないという利点がある。
【００１０】
図２７は、電子データファイルを利用する従来技術を概念的に図示した図である。まず、第１コンピュータ１と第２コンピュータ２は、ネットワーク１３に接続されて、互いにデータの送受信を行なっている。コンテンツ提供者は、第１コンピュータ１を利用する。コンテンツ提供者は、第１コンピュータ１を利用して、ファイル５を利用者へ送信する。利用者は、第２コンピュータ２を利用する。第２コンピュータ２は、ネットワーク１３を経由して、第１コンピュータ１から送信されたファイル５を受信する。
【００１１】
利用者は、第２コンピュータ２の表示デバイス上にファイル５を表示させて、閲覧し、その編集ができる。ファイル５は、ネットワーク１３を経由するため、第３者に閲覧される可能性がある。また、ファイル５は、ネットワーク１３を経由するため、第３者によって、その内容が変更される可能性がある。これを回避するためには、第１コンピュータ１で、ファイル５を暗号化して、ネットワーク１３に送受信する。具体的には、第１コンピュータ１は、ファイル５を暗号化して暗号化ファイル５ａを作成し、この暗号化ファイル５ａを電子メールに添付して、電子メールをネットワーク１３へ送信する。
【００１２】
第２コンピュータ２は、ネットワーク１３を経由して、暗号化ファイル５ａを受信する。第２コンピュータ２は、この暗号化ファイル５ａを復号化して、元のファイル５に復元する。そして、この復元されたファイル５を利用する。このようにファイル５を暗号化し、ネットワーク１３に送り、再び復号化して利用している。ここでは、コンテンツ提供者は、ファイル５を暗号化する作業を行なう。利用者は、それを復号化する作業が必要である。ファイル５は、ネットワーク１３上に伝送されるとき、暗号化されているため、第３者に見られても、第３者に渡っても、情報が漏洩する心配はない。
【００１３】
暗号化技術は、技術の進歩と共に、その解読技術が進んでおり、時間、労力、技術投資をすれば、いずれか解読されるものである。そのため、最新の暗号化技術を利用することが好ましい。この暗号技術を利用した暗号化ファイルは、その技術によるが、少なくとも、通常の電子計算機を利用する限り、経済的利益がある期間内、又は、一般常識からみて有限時間内に解読できない。しかし、次の不便な点がある。まず、利用者が暗号化ファイルを復号化すると、ファイル５が自由に編集でき、その複製もできる。このファイル５は、利用者又は第２コンピュータ２から第３者に渡り、情報が漏洩される可能性がある。更に、通常のコンピュータの利用だと、ファイル５の履歴は、ごくわずかなものしか残らない。
【００１４】
例えば、ファイル５をオープンしたアプリケーションプログラムの利用履歴、ファイル５の一時ファイル、オペレーティングシステムの利用履歴にファイル５をオープンした等の履歴しか残らない。要するには、コンテンツ提供者側からみると、利用者が、ファイル５をどのように利用したかを監視することが困難であり、情報漏洩対策を講じる分野にとっては、利用履歴はわずかであり、このような利用方法は、通用しない。
【００１５】
本発明は上述のような技術背景のもとになされたものであり、下記の目的を達成する。
本発明の目的は、利用者の電子計算機から、ディジタルコンテンツが情報漏洩されることなく利用できる、ディジタルコンテンツ管理用電子計算機、そのためのプログラム、プログラムの記録媒体、及び、ディジタルコンテンツ管理システムを提供することである。
【００１６】
本発明の他の目的は、ディジタルコンテンツの利用トレーサビリティを確保した、ディジタルコンテンツ管理用電子計算機、そのためのプログラム、プログラムの記録媒体、及び、ディジタルコンテンツ管理システムを提供することである。
【発明の開示】
【課題を解決するための手段】
【００１７】
本発明は、前記目的を達成するため、次の手段を採る。
本発明のディジタルコンテンツ管理用制御プログラムは、記憶装置（１４、２５）を含む複数のデバイス（２２−２７）が接続され、オペレーティングシステム（１１）によって制御されて動作する電子計算機（１、２）で電子データ（５）を利用する際、前記電子データ（５）の全部又は一部が前記電子計算機（１、２）から外部へ漏洩することを防止する手段として前記電子計算機（１、２）を機能させる制御プログラム（５０）であって、
前記制御プログラム（５０）は、前記複数のデバイス（２２−２７）それぞれを制御するためのデバイスドライバ（３２−３６）からなるデバイスドライバ層（３０）と、前記オペレーティングシステム（１１）がカーネルモードで提供する基本プログラム（６３）との間に位置し、前記オペレーティングシステム（１１）の全ての命令が実行できる動作モードであるカーネルモードで動作し、
前記制御プログラム（５０）は、
１以上の前記電子データ（５）からなるファイルデータ（６０２）、及び、前記電子データ（５）の利用形態を示すデータからなる管理データ（６０１）からなるディジタルコンテンツライブラリ（６）を、前記電子計算機（１，２）の仮想ドライブ（８）として、前記オペレーティングシステム（１１）に認識させるステップと、
前記電子計算機（１、２）上に動作しているアプリケーションプログラム（１０）又は前記基本プログラム（６３）から、前記仮想ドライブ（８）の中の前記ファイル（５）にアクセスするとき、前記ファイル（５）のファイル名、及び、前記アクセスの種類を示すアクセス方法を取得するステップと、
前記管理データ（６０１）を参照して前記ファイル名及び前記アクセス方法を確認するステップと、
前記確認の結果は、前記アクセスの実行が許可されたものであるとき、前記仮想ドライブ（８）への前記アクセスとして実行するステップと、
前記確認の結果は、前記アクセスの実行が許可されていないものであるとき、前記アクセスの実行を破棄するステップと、
からなり、
前記制御プログラム（５０）は、前記仮想ドライブ（８）の中から読み出された前記電子ファイル（５）、又は、前記電子ファイル（５）から派生して作成されたファイルは、前記仮想ドライブ（８）のみに格納し、他の記憶装置（１４、２５）に格納しない
ことを特徴とする。
【００１８】
前記オペレーティングシステム（１１）は、前記記憶装置（１４，２５）のファイルシステムを制御するためのファイルシステムドライバ（３４、３４ａ）を備え、前記オペレーティングシステム（１１）は、前記仮想ドライブ（８）のファイルシステムを制御するための仮想ファイルシステムドライバ（３４ｂ）を備える。
【００１９】
前記制御プログラムは、（I）前記デバイスドライバ（３２−３６）の共通の窓口となるとともに、前記基本プログラム（６３）を通して行われる、前記デバイスドライバ（３２−３６）と前記アプリケーションプログラム（１０）とのやり取りをまとめて行ない、（II）前記アプリケーションプログラム（１０）から要求されたときに、前記複数のデバイス（２２−２７）の間、又は、前記アプリケーションプログラム（１０）と前記デバイス（２２−２７）の間のデータの送受信を行ない、（III）前記アプリケーションプログラム（１０）から前記電子計算機（１，２）の前記記憶装置（１４、２５）に記憶されている前記特定ファイルへアクセスしようとするとき、前記オペレーティングシステム（１１）が標準で備えているインターフェースを通して、前記アプリケーションプログラム（１０）から出された前記特定ファイルへのアクセス要求を受信して、前記記憶装置（１４、２５）とのデータのやりとりを経由する共通インターフェース手段（５０）として前記電子計算機（１，２）を機能させるプログラムであり、
前記共通インターフェース手段（５０）は、
前記アプリケーションプログラム（１０）又は前記基本プログラム（６３）から、前記ファイルシステムドライバ（３４）へのアクセス要求を受信するインターフェース手段（５１）と、
前記アクセス要求を前記インターフェース手段（５１）から受信し、前記アクセス要求を分析して、アクセスしようとするファイル名及びアクセス方法を取得し、データの流れを制御する制御手段（５２）と、
前記管理データ（６０１）を参照して前記ファイル名及び前記アクセス方法を参照し、参照結果を出力するファイルシステム制御手段（４４）と、
（１）前記ファイルシステム制御手段（４４）から前記参照結果を受信し、（２）前記参照結果が正常か異常かの判定を行い、（３）前記判定の結果が異常となるとき、前記アクセスを破棄し、（６）前記判定の結果が正常となるとき、前記アクセスを前記仮想ディスクドライブ（３７ｂ）に渡す前記制御手段と
からなり、
前記仮想ディスクドライブ（３７ｂ）は、前記アクセスを取得して、前記アクセスを前記記憶装置（１４、２５）の前記ファイル（５）へのアクセスに変換して、前記共通インターフェース手段（５０）にわたし、
前記共通インターフェース手段（５０）は、前記ファイルシステム制御手段（４４）を経由して、前記アクセスを実行して、前記アクセスの実行結果を受信し、
前記実行結果は、前記仮想ディスクドライブ（３７ｂ）を経由して、前記入力装置又は前記アプリケーションプログラムへ渡す
ことを特徴とする。
【００２０】
前記共通インターフェース手段（５０）は、前記ファイルシステムドライバ（３４ａ）から取得した、暗号化されたデータを復号化する復号化手段（５５）と、前記ファイルシステムドライバ（３４ａ）に渡すデータを暗号化して暗号化データを作成する暗号化手段（５４）と、からなると良い。
前記電子ファイル（５）は、個別に暗号化されて、前記ディジタルコンテンツライブラリ（６に格納されると良い。
【００２１】
前記ディジタルコンテンツライブラリ（３）は、暗号化されていると良い。
前記共通インターフェース手段（５０）は、前記デバイスドライバ（３２−３６）を制御することで、ネットワーク（１３）への通信機能、前記記録媒体（１４，２５）への書き込む機能、及び、前記入力装置（１６，１７）を操作して複製する前記複製機能の中から選択される１以上の機能を制限すると良い。
【００２２】
前記確認の結果は、前記アクセスの実行が許可されたものであるとき、
前記アクセスが前記電子ファイルを読み込む動作の場合は、前記共通インターフェースは、前記電子ファイルを取得して、復号化して、前記アプリケーションプログラム又は前記基本プログラムに渡し、
前記アクセスが前記ディジタルコンテンツファイルに新規電子ファイルを書き込む動作の場合は、前記共通インターフェースは、前記新規電子ファイルを暗号化して、前記ディジタルコンテンツファイルに書き込み、
前記アクセスが前記電子ファイルを更新して書き込む動作の場合は、前記共通インターフェースは、前記電子ファイルを、暗号化して、更新し、
前記アクセスが前記電子ファイルを複製する動作の場合は、前記共通インターフェースは、前記電子ファイルを、指定された場所で、複製し、
前記アクセスが前記電子ファイルを削除する動作の場合は、前記共通インターフェースは、前記電子ファイルを削除し、
前記アクセスが前記電子ファイルの前記属性情報を変更する動作の場合は、前記共通インターフェースは、前記属性情報を変更し、
前記照合の結果は、前記アクセスが許可されていないものであるとき、前記共通インターフェースは、前記アクセスを許可しないで破棄すると良い。
【００２３】
前記属性情報は、前記ディジタルコンテンツライブラリ（６）又は前記電子ファイル（５）を利用することができる回数、期間、時間帯、場所及び利用者の内１以上のデータからなり、前記電子ファイル（５）にアクセスするごとに、前記回数の値が１つずつ変化され、前記回数が０になったとき、前記電子ファイル（５）にアクセスすることができなくなると良い。
【００２４】
前記ディジタルコンテンツライブラリ（６）の容量、保存先、期限設定、ログ出力、属性情報の変更の内１以上が指定され、前記管理データ（６０１）に格納されていると良い。
前記ディジタルコンテンツライブラリ（６）は、記録媒体（１４，２５）に保存又は、電子メールに添付、又はネットワークストレージに格納されると良い。
前記共通インターフェース手段（５０）は、前記仮想ドライブ（８）を利用したログを取得するログ取得手段（５３）からなると良い。
【００２５】
本発明のディジタルコンテンツ管理システムは、前記制御プログラム（７）を提供するソフトウェア提供手段（１０１）と、前記制御プログラム（７）を導入した利用者（３，４）の管理、及び、前記ディジタルコンテンツの管理を行うユーザ管理手段（１０２）とからなるサーバ（１００）と、前記制御プログラム（７）を導入し、前記制御プログラム（７）を利用して前記ディジタルコンテンツを作成する第１電子計算機（１）と、及び、
前記制御プログラム（７）を導入し、前記ディジタルコンテンツを利用する第２電子計算機（２）とからなることを特徴とする。
【００２６】
本発明のディジタルコンテンツ管理システムは、前記サーバ（１００）は、前記ディジタルコンテンツ（６）の利用履歴を前記第２電子計算機（２）から受信し、管理する履歴管理手段を有し、前記サーバ（１００）は、前記第１電子計算機（１）に、自発的に又は、前記第１電子計算機（１）から要求があるとき、前記利用履歴を送信し、前記第１電子計算機（１）は、前記利用履歴を分析して、前記ディジタルコンテンツ（６）の利用状況を把握する履歴分析手段を有することを特徴とする。
【００２７】
本発明のディジタルコンテンツ管理用電子計算機は、記憶装置（１４、２５）を含む複数のデバイス（２２−２７）が接続され、オペレーティングシステム（１１）によって制御されて動作する電子計算機（１、２）で電子データ（５）を利用する際、前記電子データ（５）の全部又は一部が前記電子計算機（１、２）から外部へ漏洩することを防止するディジタルコンテンツ管理用電子計算機であって、
前記電子計算機（１，２）は、
前記複数のデバイス（２２−２７）それぞれを制御するためのデバイスドライバ（３２−３６）からなるデバイスドライバ層（３０）と、前記オペレーティングシステム（１１）がカーネルモードで提供する基本プログラム（６３）との間に位置し、前記オペレーティングシステム（１１）の全ての命令が実行できる動作モードであるカーネルモードで動作し、かつ
１以上の前記電子データ（５）からなるファイルデータ（６０２）、及び、前記電子データ（５）の利用形態を示すデータからなる管理データ（６０１）からなるディジタルコンテンツライブラリ（６）を、前記電子計算機（１，２）の仮想ドライブ（８）として、前記オペレーティングシステム（１１）に認識させる手段と、
前記電子計算機（１、２）上に動作しているアプリケーションプログラム（１０）又は前記基本プログラム（６３）から、前記仮想ドライブ（８）の中の前記ファイル（５）にアクセスするとき、前記ファイル（５）のファイル名、及び、前記アクセスの種類を示すアクセス方法を取得する手段と、
前記管理データ（６０１）を参照して前記ファイル名及び前記アクセス方法を確認する手段と、
前記確認の結果は、前記アクセスの実行が許可されたものであるとき、前記仮想ドライブ（８）への前記アクセスとして実行する手段と、
前記確認の結果は、前記アクセスの実行が許可されていないものであるとき、前記アクセスの実行を破棄する手段と、
からなり、
前記仮想ドライブ（８）の中から読み出された前記電子ファイル（５）、又は、前記電子ファイル（５）から派生して作成されたファイルは、前記仮想ドライブ（８）のみに格納し、他の記憶装置（１４、２５）に格納されない
ことを特徴とする。
【００２８】
前記オペレーティングシステム（１１）は、前記記憶装置（１４，２５）のファイルシステムを制御するためのファイルシステムドライバ（３４、３４ａ）を備え、前記オペレーティングシステム（１１）は、前記仮想ドライブ（８）のファイルシステムを制御するための仮想ファイルシステムドライバ（３４ｂ）を備える。
【００２９】
前記電子計算機は、（I）前記デバイスドライバ（３２−３６）の共通の窓口となるとともに、前記基本プログラム（６３）を通して行われる、前記デバイスドライバ（３２−３６）と前記アプリケーションプログラム（１０）とのやり取りをまとめて行ない、（II）前記アプリケーションプログラム（１０）から要求されたときに、前記複数のデバイス（２２−２７）の間、又は、前記アプリケーションプログラム（１０）と前記デバイス（２２−２７）の間のデータの送受信を行ない、（III）前記アプリケーションプログラム（１０）から前記電子計算機（１，２）の前記記憶装置（１４、２５）に記憶されている前記特定ファイルへアクセスしようとするとき、前記オペレーティングシステム（１１）が標準で備えているインターフェースを通して、前記アプリケーションプログラム（１０）から出された前記特定ファイルへのアクセス要求を受信して、前記記憶装置（１４、２５）とのデータのやりとりを経由する共通インターフェースとしての共通インターフェース手段（５０）を有し、
前記共通インターフェース手段（５０）は、
前記アプリケーションプログラム（１０）又は前記基本プログラム（６３）から、前記ファイルシステムドライバ（３４）へのアクセス要求を受信するインターフェース手段（５１）と、
前記アクセス要求を前記インターフェース手段（５１）から受信し、前記アクセス要求を分析して、アクセスしようとするファイル名及びアクセス方法を取得し、データの流れを制御する制御手段（５２）と、
前記管理データ（６０１）を参照して前記ファイル名及び前記アクセス方法を参照し、参照結果を出力するファイルシステム制御手段（４４）と、
（１）前記ファイルシステム制御手段（４４）から前記参照結果を受信し、（２）前記参照結果が正常か異常かの判定を行い、（３）前記判定の結果が異常となるとき、前記アクセスを破棄し、（６）前記判定の結果が正常となるとき、前記アクセスを前記仮想ディスクドライブ（３７ｂ）に渡す前記制御手段と
からなり、
前記仮想ディスクドライブ（３７ｂ）は、前記アクセスを取得して、前記アクセスを前記記憶装置（１４、２５）の前記ファイル（５）へのアクセスに変換して、前記共通インターフェース手段（５０）にわたし、
前記共通インターフェース手段（５０）は、前記ファイルシステム制御手段（４４）を経由して、前記アクセスを実行して、前記アクセスの実行結果を受信し、
前記実行結果は、前記仮想ディスクドライブ（３７ｂ）を経由して、前記入力装置又は前記アプリケーションプログラムへ渡す
ことを特徴とする。
【００３０】
前記共通インターフェース手段（５０）は、
前記ファイルシステムドライバ（３４ａ）から取得した、暗号化されたデータを復号化する復号化手段（５５）と、
前記ファイルシステムドライバ（３４ａ）に渡すデータを暗号化して暗号化データを作成する暗号化手段（５４）と、
からなると良い。
【００３１】
前記電子ファイル（５）は、個別に暗号化されて、前記ディジタルコンテンツライブラリ（６に格納されると良い。
前記ディジタルコンテンツライブラリ（３）は、暗号化されていると良い。
前記共通インターフェース手段（５０）は、前記デバイスドライバ（３２−３６）を制御することで、ネットワーク（１３）への通信機能、前記記録媒体（１４，２５）への書き込む機能、及び、前記入力装置（１６，１７）を操作して複製する前記複製機能の中から選択される１以上の機能を制限すると良い。
【００３２】
前記確認の結果は、前記アクセスの実行が許可されたものであるとき、
前記アクセスが前記電子ファイルを読み込む動作の場合は、前記共通インターフェースは、前記電子ファイルを取得して、復号化して、前記アプリケーションプログラム又は前記基本プログラムに渡し、
前記アクセスが前記ディジタルコンテンツファイルに新規電子ファイルを書き込む動作の場合は、前記共通インターフェースは、前記新規電子ファイルを暗号化して、前記ディジタルコンテンツファイルに書き込み、
前記アクセスが前記電子ファイルを更新して書き込む動作の場合は、前記共通インターフェースは、前記電子ファイルを、暗号化して、更新し、
前記アクセスが前記電子ファイルを複製する動作の場合は、前記共通インターフェースは、前記電子ファイルを、指定された場所で、複製し、
前記アクセスが前記電子ファイルを削除する動作の場合は、前記共通インターフェースは、前記電子ファイルを削除し、
前記アクセスが前記電子ファイルの前記属性情報を変更する動作の場合は、前記共通インターフェースは、前記属性情報を変更し、
前記照合の結果は、前記アクセスが許可されていないものであるとき、前記共通インターフェースは、前記アクセスを許可しないで破棄すると良い。
【００３３】
前記属性情報は、前記ディジタルコンテンツライブラリ（６）又は前記電子ファイル（５）を利用することができる回数、期間、時間帯、場所及び利用者の内１以上のデータからなり、前記電子ファイル（５）にアクセスするごとに、前記回数の値が１つずつ変化され、前記回数が０になったとき、前記電子ファイル（５）にアクセスすることができなくなると良い。
【００３４】
前記ディジタルコンテンツライブラリ（６）の容量、保存先、期限設定、ログ出力、属性情報の変更の内１以上が指定され、前記管理データ（６０１）に格納されていると良い。
前記ディジタルコンテンツライブラリ（６）は、記録媒体（１４，２５）に保存又は、電子メールに添付、又はネットワークストレージに格納されると良い。
前記共通インターフェース手段（５０）は、前記仮想ドライブ（８）を利用したログを取得するログ取得手段（５３）からなると良い。
【００３５】
本発明のディジタルコンテンツ管理用制御プログラムの記録媒体は、上述のディジタルコンテンツ管理用制御プログラムを格納した記録媒体である。
【発明の効果】
【００３６】
本発明によると、次の効果が奏される。
本発明は、利用者の電子計算機から、ディジタルコンテンツが情報漏洩されることなく利用できるようになった。
本発明は、ディジタルコンテンツの利用トレーサビリティを確保した、ディジタルコンテンツ管理用電子計算機、そのためのプログラム、プログラムの記録媒体、及び、ディジタルコンテンツ管理システムを提供することが可能になった。
【図面の簡単な説明】
【００３７】
【図１】図１は、実施の形態の全体概要を示す概略図である。
【図２】図２は、ハードディスク２５にＤＣＬ６が表示される例を図示している図である（ユーザインターフェースプログラムを開いた状態で、ＤＣＤ８を表示。）。
【図３】図３は、本発明の実施の形態のディジタルコンテンツ管理システムの概要を図示している図である。
【図４】図４は、本発明の実施の形態のディジタルコンテンツ管理システムの全体の流れの概略を示すフローチャートである。
【図５】図５は、ディジタルコンテンツライブラリ５の具体的な例を示す概念図である。
【図６】図６は、本発明の実施の形態のディジタルコンテンツ管理システムの第１コンピュータ１、サーバ１００、及び第２コンピュータ２の間のやりとりの流れを示すフローチャートであり、図７に続く。
【図７】図７は、本発明の実施の形態のディジタルコンテンツ管理システムの第１コンピュータ１、サーバ１００、及び第２コンピュータ２の間のやりとりの流れを示すフローチャートであり、図６の続きである。
【図８】図８は、第２コンピュータ２上で動作するソフトウェアの概要を図示している図である。
【図９】図９、オペレーティングシステム１１の構成要素の内の代表的なものを図示し、オペレーティングシステム１１と、本発明の制御プログラム７との関係を図示している図である。
【図１０】図１０は、制御プログラム７の動作を示すフローチャートである。
【図１１】図１１は、制御プログラム７が制御モードをオンにするときの動作を示すフローチャートである。
【図１２】図１２には、制御部５２の動作のフローチャートを示している。
【図１３】図１３は、アプリケーションプログラム１０が終了するとき、制御部５２の動作を示すフローチャートである。
【図１４】図１４は、制御部５２が使用禁止の除外を設定するときの流れを示すフローチャートである。
【図１５】図１５は、ファイルシステム制御部３４の動作を示す処理フローチャートである。
【図１６】図１６には、プロセス制御リスト１５０の例を図示している。
【図１７】図１７は、第１利用者側でＤＣＬ６を作成する画面の例である。
【図１８】図１８は、デスクトップのタスクトレイ２２０に表示されるアイコンの例を図示して図である。
【図１９】図１９には、新規のディジタルコンテンツドライブ６を作成するウィザードの流れを図示している図である。
【図２０】図２０は、ディジタルコンテンツライブラリ新規作成ウィザードの流れを図示している図である。
【図２１】図２１は、サーバ１００側の動作を示すフローチャートである。
【図２２】図２２は、第１利用者側の動作を示すフローチャートである。
【図２３】図２３は、ＲＡＭディスクの実体を説明するための概念図である。
【図２４】図２４は、ＲＡＭディスクを利用してＤＣＬ６にアクセスするときのデータの流れの第１例を示すフローチャートである（ファイル毎に暗号化した例）。
【図２５】図２５は、ＲＡＭディスクを利用してＤＣＬ６にアクセスするときのデータの流れの第２例を示すフローチャートである（仮想ディスク全体を暗号化した例）。
【図２６】図２６は、プロシー情報の例を示す図である。
【図２７】図２７は、電子データファイルを利用する従来技術を概念的に図示した図である。
【発明を実施するための形態】
【００３８】
発明を実施するための最良の形態である第１の実施の形態を説明する。
図１は、本発明の第１の実施の形態を概念的に図示した図である。図示したように、第１コンピュータ１と第２コンピュータ２は、ネットワーク１３に接続されて、互いに電子データの送受信を行なっている。第１利用者３は、第１コンピュータ１を利用する。第２利用者４は、第２コンピュータ２を利用する。第１利用者３は、第１コンピュータ１を利用して、ファイル５を第２利用者４へ送信する。このファイル５は、暗号化された仮想フォルダに入っている。
【００３９】
この仮想フォルダを、本実施の形態には、「ディジタルコンテンツライブラリ」６という。言換えると、ファイル５を有するこのディジタルコンテンツライブラリ６は、暗号化された仮想フォルダである。以下、ディジタルコンテンツライブラリ６は、略してＤＣＬ６という。ＤＣＬ６は、ファイル５等の各種ファイルを格納し、ＤＣＬ６の中の各ファイルは全て暗号化される。具体的には、ファイル５が暗号化される。または、ＤＣＬ６の利用形態によるが、ＤＣＬ６全体が暗号化できる。
【００４０】
ＤＣＬ６は、第１コンピュータ１から第２コンピュータ２へ送信される。第２コンピュータ２は、ネットワーク１３を経由して、第１コンピュータ１から送信されたＤＣＬ６を受信する。第２利用者４２は、ＤＣＬ６を開き、ＤＣＬ６の中のファイル５を閲覧する。ＤＣＬ６は、第２コンピュータ２の既存の補助記憶装置、例えばＣドライブ、に保存される。制御プログラム７は、第２コンピュータ２にインストールされて動作している。この制御プログラム７は、第２コンピュータ２上に、ＤＣＬ６を利用するための環境を整えるためのアプリケーションプログラムである。
【００４１】
制御プログラム７は、第２コンピュータ２の補助記憶装置に保存されているＤＣＬ６を、仮想補助記憶装置として表示させる。つまり、制御プログラム７は、ＤＣＬ６を、仮想ドライブとして表示させる。例えば、制御プログラム７は、ＤＣＬ６をＩドライブとして表示する。以下、仮想補助記憶装置として表示されているＤＣＬ６を、「ディジタルコンテンツドライブ」８という。以下、ディジタルコンテンツドライブ８は、略してＤＣＤ８という。
【００４２】
このＤＣＤ８の様子を、図２に図示している。図２には、オペレーティングシステムのファイルシステムを扱うユーザインターフェースプログラムの画面を表示している。この画面の左側領域には、ＤＣＤ８は、第２コンピュータ２の補助記憶装置の一つのドライブであるIドライブ「Drive(I:)」として表示されている。図中には、ＤＣＤ８の他に、第２コンピュータ２の補助記憶装置であるＣドライブ（通常のハードディスクである。）である「USER_HDD（C:）」、ＣＤ、ＤＶＤ等の記録媒体用のＤドライブである「CD-DVD（D:）」が表示されている。
【００４３】
画面の右側領域には、Iドライブの中の内容を表示している。例えば、「File1.txt」、「Data.dat」等のファイル５や、「Folder1」等のフォルダを図示している。このＤＣＤ８は、第２利用者４から見ると、Ｃドライブ、Ｄドライブ等のドライブと同じに見える。そして、第２利用者４は、このＤＣＤ８の中のファイル５等は、通常の補助記憶装置であるハードディスクドライブにアクセスする感覚で利用できる。このＤＣＤ８を利用するに当たり、第２利用者４にとっては、幾つかの制限が課せられる。
【００４４】
第２利用者４は、ＤＣＬ６を利用するための環境を整えるための制御プログラム７を導入しなければならない。この制御プログラム７は、第２利用者４の操作に次の制限を課す。このＤＣＤ８の中から取り出したファイル５、このファイルから派生して作成されたファイルは、他のドライブに保存することはできない。無論、この他のドライブには、第２コンピュータ２に内蔵された補助記憶装置、第２コンピュータ４に接続された外部記憶装置、及び、ＤＣＤ８以外の仮想ドライブが含まれる。
【００４５】
更に、このＤＣＤ８の中から取り出したファイル５は、他の記録媒体に記録することはできない。そして、第２利用者４は、ＤＣＤ８の中のファイル５を開き、閲覧し、編集し、再度、ＤＣＤ８の中に保存することができる。また、第２利用者４は、新規のファイルを作成して、ＤＣＤ８の中に保存することもできる。更に、ファイル５の全部又は一部を複製して作成されたファイルも、ＤＣＤ８の中に保存できる。このように、ファイル５を利用するときの暗号化、復号化等の面倒な手順がなくなる。
【００４６】
これにより、第２利用者４にとっては、ユーザフレンドリーの環境ができる。第１利用者３から見ると、第２利用者４に渡したファイル５は、意識的に又は無意識的に、第３者に渡り、情報漏洩することがなくなる。第１利用者３は、情報漏洩を心配する必要がなくなり、ストレス軽減にもつながり、安心感をもたらす。更に、制御プログラム７は、ファイル５を利用した履歴もちゃんと記録して履歴データとして残す機能を有する。この履歴データを、第２利用者４から第１利用者３に渡すことができる。
【００４７】
第１利用者３は、履歴データを受け取って分析し、第２利用者４の振る舞いが把握できる。また、同様に、第１利用者３は、ファイル５がどのように利用されているかを把握できる。このような利点を有する。これにより、第１利用者３は、機密情報、個人情報等の情報を安心して、第２利用者４に渡すことが可能になる。更に、制御プログラム７は、ＤＣＬ６を利用できる期限、期間が設定できる機能を有する。これにより、第１利用者３は、第２利用者４がＤＣＬ６を利用する期限、期間を、設定することができる。
【００４８】
この期限がすぎると、制御プログラム７は、ＤＣＤ８の内容を自動的に消去する機能を有する。又は、制御プログラム７は、この期限がすぎたＤＣＤ８を開かない、その中身を表示しない機能を有する。よって、第２利用者４は、期限がすぎたＤＣＤ８の中のファイル５等を開いて利用することができない。また、ＤＣＬ６を利用できる期間には、曜日、又は、一日の何時何分から何時何分までという時間帯が指定できる。これにより、第２利用者４は、特定の日時、曜日、時間帯にしかファイルを扱うことができなくなる。
【００４９】
また、制御プログラム７は、ＤＣＬ６を利用できる地理上の地点、範囲の指定もできる機能を有することが好ましい。これにより、特定に地域、地点でのみ利用できるようになる。例えば、第２利用者４の自宅、勤務先、出張先等が指定されていれば、その場所でしか、ＤＣＬ６を利用することができない。ＤＣＬ６は、仮想ディスク装置であるが、実体はファイルである。ＤＣＬ６の実体ファイルを、ドライバウェアのアクセス制御にて保護することで、セキュアなコンテンツ保護を実現した。
【００５０】
暗号鍵、認証、利用回数・期限等のアクセス制御に必要な情報を、ＤＣＬ６に持たせることで、ＤＣＬ６を電子計算機間で交換できる。認証、暗号化等の物理媒体のセキュリティ機能と同機能を持ち、オンライン上でデータ交換できるという手軽さが特長である。図２に図示したように、第１コンピュータ１には、ＤＣＬ６が、例えば、第２コンピュータ２と同様に表示される。図２のファイル５のアイコンをクリックすると、そのファイル５が開く。これらのフォルダのアイコンをクリックすると、そのフォルダは開き、その内容が表示される。
【００５１】
このようなスムーズな操作は、制御プログラム７によって実現される。このように、第２利用者４１又は第２利用者４２は、特別の操作をすることはなく、通常のハードディスク、補助記憶装置を操作する間隔で、ＤＣＤ８を操作する。つまり、第２利用者４１又は第２利用者４２は、従来から使い慣れた方法で、ファイル５にアクセスでき、暗号化、復号化等の面倒な操作をしなくとも済む。
【００５２】
図３には、本発明の実施の形態のディジタルコンテンツ提供システムの概要を図示している。このディジタルコンテンツ提供システムは、ＤＣＬ６を利用して電子データファイルをユーザに提供し、セキュリティが充実し、情報漏洩が抑制できるシステムである。このディジタルコンテンツ提供システムは、システム提供者側のサーバ１００、第１利用者側１ａの第１コンピュータ１、第２利用者４側２ｂの第２コンピュータ２から構成される。サーバ１００は、ソフトウェア配布、利用者管理、ＤＣＬ管理、有価価値情報管理等のサービスを提供する。
【００５３】
ソフトウェア配布は、制御プログラム７を配布するサービスである。利用者管理は、制御プログラム７を導入した利用者を登録し、管理するサービスである。ＤＣＬ管理は、作成されたＤＣＬ６を登録し、ＤＣＬ６の利用状況を管理するためのサービスである。有価価値情報管理は、ＤＣＬ６を利用する際、その利用に合わせて、課金し、決裁した情報、ＤＣＬ６の有価価値情報を管理するサービスである。
【００５４】
これらの提供サービスを実現するためには、サーバ１００は、ダウンロード手段１０１、ユーザ管理手段１０２、課金手段及び決済手段１０３、有価価値情報販売手段１０４、ログ管理手段１０５等のハードウェア資源を有する。これらの、ダウンロード手段１０１、管理手段１０２、及び、課金手段及び決済手段１０３、有価価値情報販売手段１０４は、本実施の形態において、サーバ１００の手段となっているが、全部又はその一部は、それぞれ独立したサーバで構成されることができる。
【００５５】
まず、ダウンロード手段１０１は、制御プログラム７を第１利用者側１ａ、第２利用者４側２ａに提供する。第１利用者側１ａは、電子データファイル等のディジタルコンテンツを第２利用者４２ａに提供する。第１利用者側１ａは、第１利用者３が操作するためのシステムである。第１利用者側１ａは、第１利用者１ａが使用する第１コンピュータ１からなる。第１利用者側１ａは、ソフトウェアの導入、ＤＣＬ６の作成、ファイルの取り出し、ＤＣＬ６の変更、期限管理、利用者管理、ＤＣＬ６の配布、ファイルの追加、削除、編集、ＤＣＬ６の閲覧等の行為を行う。
【００５６】
第１利用者側１ａは、制御プログラム７を導入し、この制御プログラム７を利用して、ＤＣＬ６を作成する。そして、このＤＣＬ６にファイル５を入れて、第２利用者４側２ａに送信する。第２利用者４側２ａは、第２利用者４が使用する第２コンピュータ２からなる。第２利用者４側２ａは、ソフトウェアの導入、ユーザ登録、有価価値情報の購入、ＤＣＬ６の閲覧、ＤＣＬ６の利用等の行為を行う。第２利用者４側２ａは、まず、制御プログラム７を導入する。
【００５７】
第２利用者４は、この制御プログラム７を利用して、第１利用者側１ａから送信されてきたＤＣＬ６の内容を閲覧し、その中のファイル５を利用する。制御プログラム７は、ＤＣＬ６の利用履歴等の第２コンピュータ２の動作履歴を記録する。第２コンピュータ２の動作履歴は、第２コンピュータ２からサーバ１００及び／又は第１利用者側１ａに送信される。又は、第２コンピュータ２の動作履歴は、ＤＣＬ６内に保存されて、ＤＣＬ６と一緒に、第２コンピュータ２から第１コンピュータ１へ送信される。
【００５８】
第１利用者側１ａは、第２コンピュータ動作履歴をサーバ１００から受け取ることができる。又は、第１利用者側１ａから送信されてきたＤＣＬ６から第２コンピュータ２の動作履歴を取り出すことができる。上述したように、ＤＣＤ８を利用して、第１利用者１ａは、ディジタルコンテンツを第２利用者４に提供し、第２利用者４は、使い慣れたやり方でこれを利用している。第１利用者３は、第２コンピュータ２の動作履歴を受け取り、第２利用者４の振る舞いを把握できている。
【００５９】
図４のフローチャートは、本発明のディジタルコンテンツ提供システムの全体の流れを示すフローチャートの例である。まず、サーバ１００は、制御プログラム７等のソフトウェアを提供する（ステップ１０）。第１利用者側１ａと、第２利用者４側２ａは、この制御プログラム７をダウンロードして、第１コンピュータ１と第２コンピュータ２にインストールして、導入する。サーバ１００は、ソフトウェアを次の方法で提供することができる。
【００６０】
まず、サーバ１００は、ソフトウェア７をネットワーク１３上、ダウンロード手段１０１等のネットワークストレージ装置に格納し、第１利用者側１ａと第２利用者４側２ａは、このスネットワークトレージ装置からソフトウェア７をダウンロードする（ステップ１１）。また、ソフトウェア７を記録媒体に記録して、第１利用者側１ａと第２利用者４側２ａに、物理的に提供することができる。サーバ１００は、第１利用者側１ａと第２利用者４側２ａに電子メール又は紙媒体等で、ソフトウェアのネットワーク１３上のアドレス、そのダウンロード方法を通知することもできる。
【００６１】
この場合、第１利用者側１ａと第２利用者４側２ａは、サーバ１００から受け取った通知に従って、ソフトウェア７を導入する。サーバ１００は、第１利用者側１ａと第２利用者４側２ａに、電子メールで、制御プログラム７の実行ファイル、又はそのソースコードを送信することもできる。この場合は、第１利用者側１ａと第２利用者４側２ａは、これを受け取って、制御プログラム７を導入することもできる。このように、制御プログラム７を提供する形態は、制限しない。第２利用者４２ａは、サーバ１００にユーザ登録をする（ステップ１２）。
【００６２】
第２コンピュータ２に導入された制御プログラム７は、自動的にサーバ１００の管理サーバ１０２に接続されて、ユーザ登録を行うことができる。また、第２利用者４は、手動で第２コンピュータ２を操作して、サーバ１００のユーザ登録サイトから、ユーザ登録を行うことができる。ここで、管理サーバ１０２に登録するデータとしては、第２利用者４が導入したソフトウェア７の識別データ、第２コンピュータ２の識別データ、第２コンピュータ２のネットワーク１３上のアドレス、第２利用者４の個人情報（個人識別番号、氏名、住所、連絡先等。）等のデータである。
【００６３】
サーバ１００は、登録されたデータが正当なものであるか否か等の審査をし、審査結果を第２利用者４に送信することが好ましい。例えば、登録が完了した通知を、電子メール等で第２利用者４に送信する。第１利用者３は、制御プログラム７を利用して、ＤＣＬ６を作成する（ステップ１３）。そして、第１利用者は、このＤＣＬ６にファイル５を入れ、ＤＣＬ６を第２利用者４に送信する（ステップ１３）。この送信の仕方の一つは、第１利用者３は、電子メールにＤＣＬ６を添付して、第２利用者４に送信する。
【００６４】
又は、第１利用者３は、ＤＣＬ６を記録媒体又は記憶デバイスに保存して、記録媒体又は記憶デバイスを第２利用者４に配達することができる。また、第１利用者３は、ＤＣＬ６をネットワーク１３のネットワークストレージに、ＤＣＬ６をアップロードし、このＤＣＬ６のダウンロード方法を、第２利用者４に通知することができる。第２利用者４は、第１利用者３からＤＣＬ６を受け取り、これを第２コンピュータ２のハードディスクドライブ２５上に保存する（ステップ１４）。
【００６５】
又は、第２利用者４は、第１利用者３から受けた取った通知に従って、ＤＣＬ６をダウンロードする。ＤＣＬ６が第２コンピュータ２のハードディスクドライブ２５上に保存されると、制御プログラム７は、これを検知し、自動的に、ＤＣＤ８を作る。又は、ＤＣＬ６が第２コンピュータ２のハードディスクドライブ２５上に保存され、これを制御プログラム７を利用して開くと、自動的に、ＤＣＤ８が作成される。これにより、第２利用者４は、ＤＣＤ８の中のファイル５を閲覧することができる（ステップ１５）。
【００６６】
この時点では、第２利用者４は、ＤＣＤ８の中のファイル５を編集することができない。編集するためには、サーバ１００からの許可が要る。この許可としては、本実施の形態では、有価価値情報によるシステムを利用する。第２利用者４は、サーバ１００に申請して、有価価値情報を購入する（ステップ１６）。この有価価値情報には、第２利用者４が、制御プログラム７を利用して、ＤＣＬ６の内容を編集、保存できる許可等のデータが入っている。
【００６７】
この有価価値情報は、制御プログラム７と連携して使用されるものである。制御プログラム７は、この有価価値情報を受け取り、有価価値情報のデータを設定する。そして、この設定が終わると、ＤＣＬ６の中のファイル５の編集及び保存、このファイル５から派生したファイルの編集、保存することができるようになる（ステップ１７）。図５は、ＤＣＬ６の具体的な例を示す概念図である。ＤＣＬ６は、電子データからなるファイルである。図５（ａ）に図示したように、ＤＣＬ６は、管理データ６０１、ファイルデータ６０２から構成される。
【００６８】
管理データ６０１は、ＤＣＬ６を作成するときに作成された作成時データ６０３、ＤＣＬ６を利用するときに作成された利用時データ６０４からなる。作成時データ６０３は、ＤＣＬ６の全体のサイズを示すサイズ、ＤＣＬ６を利用できる期限を示す有効期限、ＤＣＬ６を利用できるユーザを示す利用者指定等のデータからなる。更に、作成時データ６０３は、ファイルデータ６０２の暗号鍵、ファイルデータ６０２の仮想ドライブ情報（Disk Geometry）を含む。
【００６９】
ファイルデータ６０２の仮想ドライブ情報は、ファイルデータ６０２が仮想ディスクドライブ上に位置する、セクタ、トラック、シリンダの数等を含む。利用時データ６０４は、ＤＣＬ６を利用した時間を示す利用時間、ＤＣＬ６を利用した時間の累積値を示す利用時間の累積カウント、ＤＣＬ６を利用した端末を示す利用端末特定情報、ＤＣＬ６内のファイル５を利用したアプリケーションプログラムや編集等の履歴を示す利用履歴等のデータからなる。
【００７０】
ファイルデータ６０２は、ＤＣＬ６の中に入れられた電子データファイルである。このファイルデータ６０２は、独立した電子データファイルであることができる。また、このファイルデータ６０２は、電子データファイルが中に入ったフォルダであることができる。利用時データ６０４は、ファイルデータ６０２にアクセスした日時、操作種別、ファイル名、端末情報等の情報を含む。管理データ６０１は、ファイルデータ６０２とは、別に暗号化される。
【００７１】
ＤＣＬ６の中のファイル５は、ファイル毎に暗号化される。また、ファイル５から構成されるファイルデータ６０２が暗号化されることもできる。ＤＣＬ６は、常に暗号化されたデータである。暗号技術に関しては、ＤＣＬ６を暗号化し、復号化できるものであれば、任意の暗号技術を利用できる。例えば、暗号技術には、共通鍵暗号方式、公開鍵暗号方式、秘密鍵暗号方式等を利用できる。本実施の形態では、秘密鍵暗号方式を使用する。ＤＣＬ６は、全体で１つの電子ファイルであることが好ましい。
【００７２】
この様子を、図５（ｂ）に概念的に図示している。図５（ｂ）の例では、ＤＣＬ６は、先頭から識別データ６０５、作成時データ６０３、利用時データ６０４、ファイルデータ６０２の順番で並んだ電子データなっている。識別データ６０５は、ＤＣＬ６を識別するためのつけられた固有の文字と番号からなるデータである。識別データ６０５と管理データ６０１は、固定長長さのデータであることができる。利用時データ６０４は、ファイル５ごとに作成されることもできる。
【００７３】
図５（ｂ）には、ＤＣＬ６は、識別データ６０５、作成時データ６０３、利用時データ６０４、ファイルデータ６０２からなる例を図示したが、これは、ＤＣＬ６の構成を限定するものではない。ＤＣＬ６は、本発明の趣旨、その権利範囲から出ない限り、任意の構造のデータであることができる。無論、識別データ６０５、作成時データ６０３、利用時データ６０４、ファイルデータ６０２等のデータの配置順番を入れ替えることもできる。利用時データ６０４は、利用履歴の量に伴い可変サイズであることが好ましい。
【００７４】
この場合は、管理データ６０１は、ＤＣＬ６の最後に配置されることが好ましい。言い換えると、ＤＣＬ６は、先頭から順番に、識別データ６０５、ファイルデータ６０２、及び、管理データ６０１から構成される。図６と図７は、本発明のディジタルコンテンツ提供システムの全体の流れの例を詳細に図示したフロー図である。サーバ１００は、制御プログラム７を、サーバ１００のネットワークストレージに格納し、ダウンロード可能な状態に置かれている。まず、第１コンピュータ１は、サーバ１００にアクセスして、ソフトウェアの導入要求をする（ステップ２０）。
【００７５】
サーバ１００は、この導入要求を受信して、許可すれば（ステップ２１）、第１コンピュータ１は、ソフトウェアのダウンロードを開始する（ステップ２２）。ソフトウェアは、制御プログラム７である。ソフトウェアのダウンロードが終わると、ソフトウェアが第１コンピュータ１にインストールされる（ステップ２３）。第２コンピュータ２については、サーバ１００にアクセスして、ソフトウェアの導入要求をする（ステップ２４）。サーバ１００は、この導入要求を受信して、許可すれば（ステップ２５）、第２コンピュータ２は、ソフトウェアのダウンロードを開始する（ステップ２６）。
【００７６】
ソフトウェアのダウンロードが終わると、ソフトウェアが第２コンピュータ２にインストールされる（ステップ２７）。このインストールが終わると、第１コンピュータ１及び／又は第２コンピュータ２で、制御ソフトウェア７を利用する準備ができる。第１コンピュータ１上で動作している制御プログラム７を利用して、ＤＣＬ６が作成される（ステップ３０）。このＤＣＬ６を作成する例の詳細なステップについては、後述の図１７、図１８、及び図２０のフローチャートに示している。
【００７７】
ＤＣＬ６が作成されると、このＤＣＬ６にファイル５を追加する（ステップ３１）。その後、ＤＣＬ６が配布される（ステップ３２）。この配布は、物理媒体に、ＤＣＬ６を格納して、第２利用者４へ配達することができる。また、ＤＣＬ６は、電子メールに添付されて、第２利用者４へ送信されることが好ましい。更に、ＤＣＬ６は、ネットワーク１３上のネットワークストレージデバイスにアップロードされて格納され、第２利用者４がこれをダウンロードして利用することもできる。
【００７８】
このとき、アップロードされたアドレス、それをダウンロードする手順の案内は、第１利用者３から第２利用者４に電話、ファックス、メール、郵便、配達等の１以上の方法で通知される。第２コンピュータ２からＤＣＬ６の配布についてのデータが、サーバ１００に送信される（ステップ３３）。サーバ１００は、このデータを受信して、ＤＣＬ６のユーザ管理手段１０２のデータベースに登録する（図３を参照。）。第２利用者４は、第１利用者３から送信又は配達されてきた、ＤＣＬ６を第２コンピュータ２に保存する。
【００７９】
又は、第２利用者４は、第１利用者３から送られてきた通知に従って、ＤＣＬ６をネットワークストレージからダウンロードして、第２コンピュータ２に保存する。第２利用者４は、第２コンピュータ２に保存されているＤＣＬ６を開くと、制御プログラム７は、このアクセスを受信して、ＤＣＬ６をＤＣＤ８として表示する（図２を参照。）。よって、ＤＣＬ６の内容を閲覧する（ステップ３４）。ＤＣＬ６が、第２コンピュータ２に格納される動作を、制御プログラム７が自動的に検知して、ＤＣＬ６をＤＣＤ８として表示することができる（図２を参照。）。
【００８０】
第２利用者４は、通常のユーザインターフェースプログラム、たとえば、エクスプローラ等、を利用して、ＤＣＤ８にアクセスして、ＤＣＤ８の中のファイル５を閲覧する。第２コンピュータ２で、ＤＣＤ８にアクセスした履歴は、全てが制御プログラム７によって、取得される。この履歴は、第１コンピュータ１又はサーバ１００に送信される（ステップ３５、３６）。この送信は、第１コンピュータ１又はサーバ１００から要求があったとき、行われる。また、この送信は、定期的に、行われることができる。
【００８１】
更に、この送信は、所定のデータ量になったとき、行われることができる。また、さらに、この送信は、ＤＣＤ８の中の所定のファイル５にアクセスしたときに、行われることができる。第２利用者４は、ＤＣＤ８中のファイル５は、閲覧できるが、その編集、複製などの作業はできない。このような作業を行うとき、第２利用者４は、サーバ１００にユーザ登録をし、ＤＣＬ６にアクセスする権限を取得しなければならない。ＤＣＬ６にアクセスできる権限に関する情報は、サーバ１００が有価価値情報として発行する。
【００８２】
まず、第２利用者４は、サーバ１００に対して、ユーザ登録要求を送信する（ステップ４０）。サーバ１００は、この要求を受信して、許可すれば（ステップ４１）、第２利用者４は、ユーザ登録の手続きを行う（ステップ４２）。サーバ１００では、ユーザ登録に関する申請内容を審査し、ユーザ登録が完了する旨の通知を第２コンピュータ２に送信する（ステップ４３）。そして、第２利用者４に対して、利用許可データを送信する（ステップ４４）。
【００８３】
この利用許可データは、第２利用者４がサーバ１００に登録した内容で、ＤＣＬ６に対して行うアクセスの種類、ＤＣＤ８の中のファール５等に対して行うアクセスの種類等を定めたデータである。第２利用者４は、この利用許可データに定めたアクセスしかできない。この利用許可データに定めていないアクセスの場合は、そのアクセスに対して、サーバ１００から許可を受けなければならない。このとき、第２コンピュータは２、サーバ１００に対して、有価価値情報の購入を要求する（ステップ４５）。この要求は、第２利用者４が希望するアクセス権限、つまり希望する利用許可データに関するデータを含む。
【００８４】
サーバ１００は、この要求を受信して、アクセス権限に関するデータを審査し、問題なければ、有価価値情報の購入を許可する（ステップ４６）。そして、サーバ１００は、アクセス権限に関するデータの内容に合わせて、課金情報を第２コンピュータ２に送信する（ステップ４７）。第２コンピュータ２は、所定の手順に従って、課金の内容を確認し、問題なければ、課金を承認し、指定された手順に従って、課金決済を行う（ステップ４８）。そして、サーバ１００は、課金決済が終わると、有価価値情報に応じた利用許可データを第２コンピュータ２に送信する。
【００８５】
第２コンピュータ２は、この利用許可データを受信して、利用許可データの内容を制御プログラム７に登録される（ステップ４９）。制御プログラム７は、この利用許可データの内容に合わせて、ＤＣＬ６にアクセスする権限を設定する。この権限は、ＤＣＬ６の作成時データ６０３の更新を含む。たとえば、ファイル５を読み出す回数の設定、ファイル５の一部又は全体を複製する権限の設定、ファイル５の一部又は全体を複製する回数の設定、ＤＣＬ６にファイル５を新規に作成する権限、ファイル５の有効期限の指定、延長、更新、ファイル５にアクセスする利用者の追加等の情報の内１以上の情報である。
【００８６】
この設定が終わると、第２利用者４は、設定された権限に従って、ＤＣＤ８を利用できる。第２コンピュータ２で、ＤＣＤ８の中のファイル５を利用した履歴は、すべてが制御プログラム７によって、取得される（ステップ６０）。この履歴は、第１コンピュータ１又はサーバ１００に送信される（ステップ６１、６２）。この送信は、第１コンピュータ１又はサーバ１００から要求があったとき、行われる。また、この送信は、定期的に、行われることができる。更に、この送信は、所定のデータ量になったとき、行われることができる。
【００８７】
また、第１コンピュータ１は、サーバ１００に、履歴を要求して、ＤＣＬ６の利用履歴を取得することができる（ステップ７０、７１）。第１コンピュータ１は、第２コンピュータ２に、履歴を要求して、ＤＣＬ６の利用履歴を取得することができる（ステップ７２、７３）。第１コンピュータ１は、ＤＣＬ６の利用履歴を分析して、ＤＣＬ６の利用状況を把握することができる（ステップ８０）。たとえば、この分析によって、ＤＣＬ６にいつ誰がどのコンピュータからアクセスしたか、アクセス時間がどのぐらいか、どのファイルにどんなアクセスしたかがわかる。
【００８８】
さらに、許可されていないアクセスをしようとする試みがないかがわかる。第２コンピュータ２は、ＤＣＬ６の利用が終わると、このＤＣＬ６を第１利用者３に返却する（ステップ９０、９１）。返却は、これが配布されたときと同様な手順が好ましい。たとえば、物理媒体にＤＣＬ６を格納して、第１利用者３へ配達することができる。また、ＤＣＬ６は、電子メールに添付されて、第１利用者３へ送信されることができる。更に、ＤＣＬ６は、ネットワーク１３上のネットワークストレージデバイスにアップロードされて格納され、アップロードされたアドレスを、第２利用者４から第１利用者に電話、ファックス、メール、郵便、配達等の１以上の方法で通知されることができる。
【００８９】
ＤＣＬ６が返却されたとき、第１利用者は、ＤＣＬ６に格納されている、履歴をみることができる。さらに、この履歴を分析して、ＤＣＬ６の利用状況を把握できる（ステップ９２）。第１利用者は、ＤＣＬ６の属性情報を更新でき、ＤＣＬ６の設定を再び行うことができる。そして、ＤＣＬ６の中のファイル５の追加、不要なファイル５又は期限切りのファイル５の削除、ファイル５の編集などを行うことができる（ステップ９３）。
【００９０】
〔NONCOPYの説明〕
図８には、第２コンピュータ２上で動作するソフトウェアの概要を図示している。本実施の形態においては、オペレーティングシステム１１は、マイクロソフト社のWindows XP（登録商標）である。しかし、これは、オペレーティングシステム１１を制限するものではなく、同様な機能が実現できれば、オペレーティングシステムの種類は問わない。本発明の出願時点では、Windows Vista（登録商標）が最新のオペレーティングシステムである。
【００９１】
アプリケーションプログラム１０は、オペレーティングシステム１１の上に動作する。制御プログラム７は、図８に図示したアプリケーションプラットフォームプログラム５８と、ドライバウェア（登録商標）５０から構成される。アプリケーションプラットフォームプログラム５８は、オペレーティングシステム１１のユーザモードで動作するアプリケーションソフトウェアである。ドライバウェア５０は、オペレーティングシステム１１のカーネルモードで動作するプログラムである。
【００９２】
アプリケーションプラットフォームプログラム５８とドライバウェア５０の動作と機能については、後述する。第２コンピュータ２は、中央処理装置（ＣＰＵ）、ＲＡＭ、ＲＯＭ、入出力装置（例えば、ディスプレイ、キーボード１６、マウス１７等。）、補助記憶装置（例えば、ハードディスク２５。）、通信用の各種ポート（例えば、ＵＳＢポート２４。）等を備えた汎用の電子計算機である。第２コンピュータ２は、キーボード１６やマウス１７等の入力装置を備えている。
【００９３】
第２コンピュータ２は、図示していないが、ディスプレイ等の出力装置、メインメモリ等のメモリを備えている。第２コンピュータ２は、外付けハードディスク、スキャナ、プリンタ等の周辺機器を有することができる。これらの周辺機器は、図示していないが、以下、外部デバイスという。外部デバイスは、コネクタ２２に接続される。第２コンピュータ２は、オペレーティングシステム１１によって制御されて動作する。第２コンピュータ２上で動作するアプリケーションプログラム１０は、オペレーティングシステム１１が提供する機能を利用して動作する。
【００９４】
アプリケーションプログラム１０は、オペレーティングシステム１１のカーネルモード又はユーザモードで動作する実行可能なファイル又はソフトウェアである。例えば、アプリケーションプログラム１０は、ワードプロセッシングソフトウェア、テキストエディタ等の文書を作成、編集するためのソフトウェアであると良い。図８に図示した例では、アプリケーションプログラム１０は、オペレーティングシステム１１のユーザモードに動作するアプリケーションソフトウェアである。
【００９５】
このアプリケーションプログラム１０は、カーネルモードのモジュールを含むことができる。更に、アプリケーションプログラム１０は、pdf形式のファイル等のような特定の形式のファイルを閲覧、作成、編集するためのソフトウェアであると良い。オペレーティングシステム１１は、キーボード１６からの入力、マウス１７を操作した入力等の入力装置からの入力機能、画面出力等のような出力装置からの出力機能、外部記憶装置やメモリの管理等の基本的な機能を提供し、第２コンピュータ２の全体を動作させ、管理するためのソフトウェアである。
【００９６】
オペレーティングシステム１１は、その提供する機能を実現するために多数の実行可能なプログラムから構成されるものである。また、本発明を理解する上で、再現する上では、オペレーティングシステム１１、デバイスドライバについて開示している技術情報が必要である。この技術情報は、オペレーティングシステム１１を開発し、提供しているベンダーが情報開示しているインターネット上のデータ、これらのベンダーから開発者向けに提供された情報が含まれる。
【００９７】
例えば、オペレーティングシステム１１、特に本実施の形態に用いているWindows系のオペレーティングシステムについては、多数の書籍があり、その一部から紹介する。本発明を再現するためには、これらの書籍に記述されている技術知識、特に、デバイスドライバ開発に関する知識が必要である。
Windows系のオペレーティングシステムの内部構成、その動作についての書籍一覧：
−  Inside Windows NT by Helen Custer (Microsoft Press, 1992)
−  Inside the Windows NT File System by Helen Custer (Microsoft Press, 1994)
−  Inside Microsoft Windows 2000, Third Edition by David A. Solomon, Mark E. Russinovich (Microsoft Press, 2000)。
デバイスドライバの基礎知識からその開発に関する知識ついての書籍一覧：
−  Programming the Microsoft Windows Driver Model by Walter Oney (Microsoft Press, 1999)
−  Programming the Microsoft Windows Driver Model, Second Edition by Walter Oney (Microsoft Press, 2002)。
−  Microsoft Windows Internals, Fourth Edition: Microsoft Windows Server 2003, Windows XP, and Windows 2000 by Mark E. Russinovich, David A. Solomon (Microsoft Press, 2005, ISBN 0-7356-1917-4)
−  Developing Drivers With the Windows Driver Foundation (Pro Developer)
by Penny Orwick, Guy Smith (Microsoft Press, 2007, ISBN-13 978-0-7356-2374-3)
【００９８】
図９には、オペレーティングシステム１１の構成要素の内の代表的なものを図示し、オペレーティングシステム１１と、本発明の制御プログラム７との関係を図示している。オペレーティングシステム１１は、サブシステム６１、エグゼキュティブ６３、マイクロカーネル６２、デバイスドライバ３０、ハードウェア抽象化層（ＨＡＬ）６４から構成される。サブシステム６１は、オペレーティングシステム１１のユーザモードで提供されるサービスである。エグゼキュティブ６３は、メモリの管理、プロセスとスレッドの管理、セキュリティ、Ｉ／Ｏ、ネットワーク、及びプロセス間通信等のオペレーティングシステム１１の基本的なサービスを提供するものである。
【００９９】
エグゼキュティブ６３は、マイクロカーネル６２と連動して動作し、オペレーティングシステム１１の基本機能を提供する基本プログラムとして、位置づけることができる。図１１には、代表的なエグゼキュティブ６３を図示している。例えば、オブジェクトマネージャ６５、プロセスマネージャ６６、キャッシュマネージャ６７、メモリマネージャ６８、Ｉ／Ｏマネージャ６９等がある。マイクロカーネル６２は、スレッドスケジューリング、割り込み、例外通知、マルチプロセッサの同期等の低レベルの関数を提供する。
【０１００】
また、マイクロカーネル６２は、エグゼキュティブ６３の内部で使用するルーチンセットと基本オブジェクトを提供する。デバイスドライバ３０は、図８において、インターフェースドライバ３２、ネットワークドライバ３３、ファイルシステムドライバ３４、キーボードドライバ３５、マウスドライバ３６として図示されている。デバイスドライバ３０は、通常は、第２コンピュータ２に接続されたハードウェアごとにプログラムされ、ＨＡＬ６４を介して、そのハードウェア６０を直接制御するものである。
【０１０１】
デバイスドライバ３０は、アプリケーションプログラム１０やオペレーティングシステム１１からの入出力機能の要求（Ｉ／Ｏ呼び出し要求）を、特定のハードウェアデバイスに対する入出力機能の要求（Ｉ／Ｏ要求）に変換するサービスと、ファイルシステムやネットワークドライバ等のシステムサービスを提供する。ＨＡＬ６４は、マイクロカーネル６２、デバイスドライバ３０、及びエグゼキュティブ６３をプラットフォーム固有のハードウェア機能から分離し抽象化するためのコード層である。
【０１０２】
即ち、ＨＡＬ６０は、第２コンピュータ２の内蔵デバイス２２〜２７や、第２コンピュータ２に接続されている外部デバイス等のハードウェアの種類による違いを吸収し、オペレーティングシステム１１の各サービスに対して抽象化したサービスを提供する。ＨＡＬ６０によって、オペレーティングシステム１１を構成する各種のサービスは、ハードウェアの種類による違いを意識することなくハードウェアにアクセスすることが可能になる。
【０１０３】
〔ドライバウェア５０〕
ドライバウェア５０は、デバイスドライバ３０間のデータの送受信をカーネルモードで実現するためのものである。ドライバウェア５０は、アプリケーションプログラム１０からデバイスドライバ３０へアクセスするとき、また、デバイスドライバ３０からアプリケーションプログラム１０へデータを送信するときに、共通のインターフェースを提供する。ドライバウェア５０は、オペレーティングシステム１１のカーネルモードで動作する。
【０１０４】
ドライバウェア５０は、デバイスドライバ３０間の共通のデータの送受信を提供し、仲介する機能を有する。また、ドライバウェア５０は、オペレーティングシステム１１と複数のデバイスドライバ３０との共通のデータの送受信を提供し、仲介する機能を有する。ドライバウェア５０の例としては、「電子計算機のインターフェースドライバプログラム」としてＷＯ０２／０９１１９５号公報等に開示されている。ドライバウェア５０は、アプリケーションプログラム１０からの命令やデータ等を受信し、アプリケーションプログラム１０へのデータを送信するためのアプリケーションプログラムインターフェース部５１を有する。
【０１０５】
ドライバウェア５０は、ドライバウェア５０の全体の動作を制御するための制御部５２を有する。また、ドライバウェア５０の動作の履歴を取得するためのログ取得部５３も有する。更に、ドライバウェア５０は、デバイスドライバ３０を制御するために、デバイスドライバ制御部４０を有する。ドライバウェア５０は、送受信するデータを暗号化するための暗号化部５４、暗号化されたデータを復号化するための復号化部５５を有する。制御部５２は、デバイスドライバ制御部４０、アプリケーションプログラムインターフェース部５１、ログ取得部５３、暗号化部５４、復号化部５５等のドライバウェア５０を構成している各部を制御し、監視するためのもので、ドライバウェア５０の中核部である。
【０１０６】
〔アプリケーションプラットフォームプログラム５８〕
アプリケーションプラットフォームプログラム５８は、アプリケーションプログラム１０と、オペレーティングシステム１１との間に位置し、これらの間に命令やデータの送受信を仲介し制御するためのアプリケーションプログラムである。アプリケーションプラットフォームプログラム５８は、オペレーティングシステム１１のユーザモードで動作する。アプリケーションプラットフォームプログラム５８は、オペレーティングシステム１１のファイルシステムにアクセスするためのユーザインターフェースを提供するためのアプリケーションプログラムである。
【０１０７】
アプリケーションプラットフォームプログラム５８は、アプリケーションプログラム１０の起動、これに伴うプロセスの起動を監視し、これらの属性情報を取得する機能を有する。アプリケーションプラットフォームプログラム５８は、Windowsエクスプローラと互換性があるアプリケーションプログラムであるものが特に好ましい。第２コンピュータ２は、ハードディスクドライブ２５等の補助記憶装置を備えている。第２コンピュータ２は、周辺機器と接続するためのコネクタ２２を有する。
【０１０８】
コネクタ２２は、ＲＳ―２３２Ｃ、ＩｒＤＡ、ＵＳＢ、ＩＥＥＥ１３９４等のシリアルポート、ＩＥＥＥ１２８４、ＳＣＳＩ、ＩＤＥ等のパラレルポートであることが好ましい。このシリアル転送方式は、１本の信号線で１ビットずつデータを伝送するデータ伝送の方式である。パラレル転送方式は、複数の信号線で同時に複数のビットを転送するデータ伝送の方式である。このデータ伝送は、第２コンピュータ２に内蔵されたデバイス、第２コンピュータ２とその周辺機器間のデータ伝送に用途ごとに最適なインターフェースを使用している。
【０１０９】
ここで、その代表的なものから例示する。記憶装置の場合は、パラレル転送方式が高速で、この伝送方式を採用することが多いが、ＵＳＢ規格の普及により、ＵＳＢポートを利用することが多くなっている。第２コンピュータ２とプリンタとの通信には、ＩＥＥＥ１２８４ポート、ＵＳＢポートを利用することが多く、またネットワーク１３を介することもある。第２コンピュータ２は、ネットワーク７に接続するためのネットワークカード２３を備えている。
【０１１０】
更に、ＵＳＢメモリ１４等のＵＳＢ規格準拠の機器を接続するためのＵＳＢポート２４を備えている。これらのコネクタ２２、ネットワークカード２３を直接制御し、通信を行うためのプログラムは、それぞれのデバイスドライバであるインターフェースドライバ３２、ネットワークドライバ３３である。デバイスドライバ３０は、オペレーティングシステム１１が提供する標準的なデバイスドライバ、周辺機器、内蔵機器を製造するメーカーが作成するデバイスドライバがある。
【０１１１】
更に、デバイスドライバ３０は、デバイスドライバを専門にする会社が開発したデバイスドライバもある。このように数多くの種類のデバイスドライバがある中で、本実施の形態においては、全てのデバイスドライバ３０は、オペレーティングシステム１１に付属するものであると説明する。インターフェースドライバ３２は、コネクタ２２を制御するためのデバイスドライバである。ネットワークドライバ３３は、ネットワークカード２３を制御するためのデバイスドライバである。
【０１１２】
ファイルシステムドライバ３４は、ハードディスクドライブ２５等の外部記憶装置に保存されているファイル、フォルダに関する情報を管理するもので、ハードディスクドライブ２５に保存されているファイルやフォルダへのアクセスをするためのプログラムである。ファイルシステムドライバ３４は、第２コンピュータ２に接続されたＵＳＢ規格準拠の記憶装置へアクセスするためのプログラムである。このアクセスは、オペレーティングシステム１１のMass Storage Class用のドライバ（図示せず）を介して行われる。
【０１１３】
アプリケーションプログラム１０は、第２コンピュータにインストールされた又は、動作しているソフトウェアである。アプリケーションプログラム１０は、基本的に、オペレーティングシステム１１のユーザモード上で動作する。アプリケーションプログラム１０は、ハードディスクドライブ２５にアクセスして、必要なファイルを読み込んだり、書き込んだりする。また、本実施の形態では、アプリケーションプログラム１０は、Windows（登録商標）のカーネルモードで動作する一部のプログラムをも意味する。
【０１１４】
ドライバウェア５０は、アプリケーションプログラム１０からデバイスドライバ３０へアクセスするとき、また、デバイスドライバ３０からアプリケーションプログラム１０へデータを送信するときに、共通のインターフェースの機能、役割を果たす。ドライバウェア５０は、前述したようにアプリケーションプログラムインターフェース部５１、制御部５２、ログ取得部５３等を有する。ドライバウェア５０は、通信するデータを暗号化するための暗号化部５４、暗号化されたデータを復号化するための復号化部５５を有する。
【０１１５】
また、ドライバウェア５０は、インターフェースドライバ３２を制御するためのインターフェース制御部４２を有する。ドライバウェア５０は、ネットワークドライバ３３を制御するためのネットワーク制御部４３を有する。ドライバウェア５０は、ファイルシステムドライバ３４を制御するためのファイルシステム制御部４４を有する。制御部５２は、インターフェース制御部４２、ネットワーク制御部４３、ファイルシステム制御部４４等のドライバウェア５０の他の部を制御し、監視するためのものである。
【０１１６】
制御部５２は、ドライバウェア５０の中核部である。ＵＳＢメモリ１４等の記憶装置は、第２コンピュータ２に接続されると、その装置のデバイスドライバ３０によって認識された後、ファイルシステムドライバ３４によって制御される。ドライバウェア５０のインターフェース制御部４２、ネットワーク制御部４３、ファイルシステム制御部４４等は、デバイスドライバ３０を制御することで、最終的には、第２コンピュータ２に、接続又は内蔵されているデバイスを制御するものと理解することができる。
【０１１７】
つまり、第２コンピュータ２に、接続又は内蔵されているデバイスを制御するためには、既存のデバイスドライバ３０を利用している。ドライバウェア５０は、デバイスドライバ３０がオペレーティングシステム１１の他の構成部分と通信しているインターフェースをカーネルモードで制御している。記録媒体は、例えばフラッシュメモリ、フレキシブルディスク、コンパクトディスク、ＭＯ（Magneto-Optical Disk）、ＤＶＤ（Digital Versatile Disks）等の記録媒体である。
【０１１８】
記憶装置は、ＵＳＢ（Universal Serial Bus）メモリ、メモリカード、ハードディスク等の電子データを記憶して持ち運びできる装置であることが好ましい。
図１０は、制御プログラム７の動作を示すフローチャートである。制御プログラム７は、第２利用者４によって、第２コンピュータ２にインストールされる（ステップ１００）。制御プログラム７は、起動されて、動作を開始する（ステップ１０２）。制御プログラム７は、制御モードに入る（ステップ１０６）。
【０１１９】
制御プログラム７は、アプリケーションプログラム１０からＤＣＤ８へのアクセスを監視する。ＤＣＤ８へのアクセスがあると、それを制御プログラム７が受信する（ステップ１０８）。制御プログラム７は、アクセスの種類を確認する（ステップ１０８）。許可されているアクセスか否かを確認する（ステップ１１０）。許可されているアクセスのときは、このアクセスを実行する（ステップ１１２）。制御プログラム７は、ＤＣＤ８から読み出した電子データファイルを復号化する（ステップ１１４）。
【０１２０】
復号化された電子データファイルは、第２コンピュータ２の出力装置に表示される（ステップ１１６）。許可されていないアクセスのときは、制御プログラム７はそのアクセスを破棄する（ステップ１１０、１２０）。このとき、不許可にされたアクセスである旨のメッセージをディスプレイに表示する際、第２利用者４が閲覧できるように表示することも可能である（ステップ１２２）。制御プログラム７は、表示されている電子データファイルを継続して監視する（ステップ１１８）。
【０１２１】
電子データファイルは、データの種類によるが、適当なアプリケーションプログラム１０を起動させて表示される。例えば、電子データファイルは、テキストデータの場合は、テキスト編集用のアプリケーションプログラム１０に渡されて表示される。第２利用者４は、キーボード１６やマウス１７等の入力装置を操作しながら、このアプリケーションプログラム１０を操作して、電子データファイルを閲覧する。しかし、このアプリケーションプログラム１０から電子データファイルを保存することはできない。
【０１２２】
また、電子データファイルを利用して新しく作成したファイルも保存することができない。第２利用者４は、電子データファイルを閲覧することだけができる。制御モードの設定によるが、仮に電子データファイルを編集すると、このアクセスが中断される。また、電子データファイルをハードディスクドライブ２５等の記憶装置、記録媒体に記録するときもそれを中断する。ここで、制御プログラム７の制御モードのときの動作について説明する。制御モードは、制御プログラム７が第２コンピュータのどの機能を監視し、どのようなデータの流れを制御するかを定めたものである。
【０１２３】
制御モードがオンとは、制御プログラム７が第２コンピュータ２を監視し、第２コンピュータ２の機能の一部を制限している状態をいう。制御モードがオフとは、制御プログラム７が第２コンピュータ２上に動作しているが、第２コンピュータ２の機能を特に制限していない状態をいう。図１１は、制御プログラム７が制御モードをオンにするときの動作を示すフローチャートである。図１０のステップ１０６に示すように、制御プログラム７が制御モードをオンにする（ステップ１３０）。
【０１２４】
このとき、制御プログラム７は、第２コンピュータ２に内蔵されたハードディスクドライブ２５への書き込みを禁止にする（ステップ１３１）。また、制御プログラム７は、リムーバブルドライブへの書き込みを禁止にする（ステップ１３２）。このリムーバブルドライブには、ＵＳＢメモリ１４も含まれる。よって、アプリケーションプログラム１０又はオペレーティングシステム１１からは、ＵＳＢメモリ１４にデータを書き込みしようとするとき、ドライバウェア５０がこれを検知して書き込みの動作を中止させる。
【０１２５】
ＵＳＢメモリ１４、内蔵のハードディスクドライブ２５の他に記録装置があるときは、制御プログラム７は、それらへの書き込みを禁止にする（ステップ１３４）。例えば、リムーバブルドライブ、フレキシブルディスクドライブ、外付けハードディスク等への書き込みを制御プログラム７が禁止する。更に、制御プログラム７は、ネットワーク１３へ接続するネットワーク通信を禁止する（ステップ１３６）。例えば、ネットワーク通信としては、ネットワークカード２３を介してインターネット、ＬＡＮ等へのアクセス、コンピュータ同士の通信が含まれる。
【０１２６】
このＵＳＢメモリ１４の他のインターフェースの使用を禁止する。例えば、ＵＳＢ、ＳＣＳＩ、ＩＤＥ、ＲＳ−２３２Ｃ規格のインターフェースの使用を禁止にする（ステップ１３８）。更に、制御プログラム７は、コピー＆ペースト、クリープボードの使用、ネットワーク機能を禁止にする（ステップ１３９）。また、制御プログラム７は、スクリーンキャプチャの使用も禁止にする（ステップ１３９）。制御プログラム７は、オペレーティングシステム１１の正常な動作に必要なプロセスを指定し、例外設定をする（ステップ１４０）。
【０１２７】
例えば、オペレーティングシステム１１の動作に必要な「System」等を動作可能にする。制御プログラム７は、起動しているプロセスのプロセス名、プロセスＩＤを取得する（ステップ１４２）。制御プログラム７は、取得したプロセス名とプロセスＩＤを、図１６のプロセス制御リスト１５０に保存する（ステップ１４４）。制御プログラム７が制御モードをオンにした後の、ステップ１３１〜１４０の各種の設定は、必ずしもこの順番で行う必要はなく、状況に応じて自由自在に組み合わせることができる。
【０１２８】
図１２には、制御部５２の動作のフローチャートを示している。ドライバウェア５０が制御モードをオンにするように指示されると、制御部５２は、この指示を受信し、ファイルアクセスを全て禁止する命令を送信する（ステップ２００）。この命令は、インターフェース制御部４２、ネットワーク制御部４３、ファイルシステム制御部４４に送信される。インターフェース制御部４２、ネットワーク制御部４３、ファイルシステム制御部４４は、この命令を受信して、ファイルアクセスを禁止にする。
【０１２９】
また、制御プロセスの設定、ネットワーク利用の禁止、クリップボードの利用禁止、スクリーンキャプチャの使用禁止、コピーアンドペースト機能の禁止等を行います。エグゼクティブ６３のプロセスマネージャ６６（図９を参照。）は、第２コンピュータ２上で実行されている全てのプロセスを管理している。ここに、コールバック関数を登録（カーネルのＡＰＩを利用）することで、プロセスの起動・終了のイベントを取得する。実行するプロセスの起動・終了イベントに対して、コールバック関数を設定し、アプリケーションプログラム１０の起動と終了を検出できるように設定する。
【０１３０】
アプリケーションプラットフォームプログラム５８が動作しているときに、アプリケーションプログラム１０が起動する（ステップ２０２）。アプリケーションプラットフォームプログラム５８は、アプリケーションプログラム１０の起動を検出する（ステップ２０４）。“CreateProcess”の“SUSPEND”（サスペンド）モードでアプリケーションプログラム１０のプロセスが起動され、アプリケーションプラットフォームプログラム５８は、このプロセスのハンドルとプロセスＩＤを取得する。
【０１３１】
プロセスが“CreateProcess”のサスペンドモードで起動されると、プロセスが一時休止した状態になり、再開されるまでに実行されない。ハンドルは、“CreateProcess”から戻されるプロセスハンドルである。アプリケーションプラットフォームプログラム５８は、取得したハンドルとプロセスＩＤを制御部５２に送信する。プロセスが起動されると、ファイルシステム制御部４４内のコールバック関数を実行し、制御部５２へ制御開始を通知する。制御部５２は、ハンドルとプロセスＩＤを取得する（ステップ２０６）。
【０１３２】
この取得の詳細な動作について後述する。制御部５２は、ファイルシステム制御部４４へハンドルとプロセスＩＤを送信し、プロセスＩＤから出されるファイルアクセスを許可する設定を行う。ファイルアクセスを許可するように設定する項目はプロセスＩＤ、プロセス名、ファイル名、フォルダ名、ファイル操作である。ファイル操作に指定される設定は、読み込み専用（Read Only）と、読み込み書き込み（Read/Write）とのいずれかを許可する設定である（ステップ２０８）。
【０１３３】
インターフェース制御部４２は、各種のインターフェースを使用禁止に設定する（ステップ２１０）。また、ネットワーク制御部４３は、ネットワーク通信を禁止するように設定する（ステップ２１０）。これらの一連の設定が終わると、取得したハンドルを使って、サスペンドプロセスを再開する（ステップ２１２）。アプリケーションプログラム１０が動作される。そして、制御部５２は、アプリケーションプログラム１０が終了するときにオペレーティングシステム１１から発される通知である終了イベントを待機する（ステップ２１４）。
【０１３４】
アプリケーションプログラム１０が終了すると、ファイルシステム制御部４４内のコールバック関数を実行し、制御部５２へ制御解除を通知する。ファイルシステム制御部４４は、プロセス制御リスト１５０（図１６を参照。）によって行われていた制御解除をし、それ以後は、このアプリケーションプログラム１０の制御を行わない。無論、このアプリケーションプログラム１０がＤＣＤ８にアクセスしたときは、制御が再開される。
【０１３５】
図１３は、アプリケーションプログラム１０が終了するとき、制御部５２の動作を示すフローチャートである。アプリケーションプログラム１０は動作し、終了するとき、終了イベントが発生される（ステップ２３０）。アプリケーションプラットフォームプログラム５８は、終了イベントのプロセスＩＤを取得する。アプリケーションプラットフォームプログラム５８は、終了イベントのプロセスＩＤを制御部５２に送信する。制御部５２は、終了イベントのプロセスＩＤを取得する（ステップ２３２）。
【０１３６】
制御部５２は、ファイルシステム制御部４４へ、取得したプロセスＩＤからファイルアクセスを禁止するように設定する（ステップ２３４）。そして、インターフェース制御部４２へ禁止設定の解除を指示し、インターフェース制御部４２は使用禁止に設定したものを解除する（ステップ２３６）。ネットワーク制御部４３に禁止設定の解除を指示し、ネットワーク制御部４３は使用禁止に設定したものを解除する（ステップ２３８）。
【０１３７】
図１４は、制御部５２が使用禁止の除外を設定するときの流れを示すフローチャートである。オペレーティングシステム１１の動作に不可欠なプロセスを指定、これらのプロセスに何らかの制限をしないようにする必要がある。例えば、オペレーティングシステム１１のシステムサービス関連の実行ファイル、その実行ファイルが動作するときのプロセスが使用禁止にされたり、起動できなくなったりするとき、オペレーティングシステム１１が提供するサービスに支障ができたり、オペレーティングシステム１１自体の動作が不安定になる。
【０１３８】
そのためには、オペレーティングシステム１１の動作に必要な最低限の実行ファイルとプロセスを制限なしに動作させる必要がある。例えば、プロセスとしては、“System”、“Kernel.exe”、“explorer.exe”が例示できる。制御プロセス名、制御ディレクトリは、プロセス制御リスト１５０に登録される。プロセス制御リスト１５０は、図１６に例示している。制御部５２は、プロセス制御リスト１５０から制御プロセス名、制御ディレクトリを読み込む（ステップ２６２）。
【０１３９】
また、一時ファイルを、システムファイルが保存された、又はアプリケーションプログラムが１０がインストールされたローカルディスクドライブに保存もしないと、動作しないアプリケーションプログラム１０がある。このためには、アプリケーションプログラム１０がローカルディスクドライブに一時ファイルを作成するときに、ドライバウェア５０は、この一時ファイルを暗号化して、ローカルディスクドライブに保存する。これにより、一時ファイルが他のアプリケーションプログラム１０からアクセスできないようになり、プロセス保護が行なわれる。
【０１４０】
このプロセス保護は、ドライバウェア５０によって、制御中のこのアプリケーションプログラム１０以外のアプリケーションプログラムによるプロセスが、この一時ファイルにファイルアクセスすることを禁止して行なわれる。アプリケーションプログラム１０の動作が終了したとき、この一時ファイルは、ドライバウェア５０によって削除される。一時ファイルは、アプリケーションプログラム、アプリケーションプログラムの設定によるが、アプリケーションプログラムの終了時に削除される。
【０１４１】
しかし、消さないケース、又は、削除するように設定されていない場合、オペレーティングシステムのシャットダウン及び起動時に、ドライバウェアが一時ファイルを確認して、一時ファイルの削除を行う。制御部５２は、制御プロセス名からプロセスＩＤを取得する（ステップ２６４）。プロセスＩＤから実際のプログラム（.exeなどのモジュール）名を判断する。そして、制御部５２は、ファイルシステム制御部４４へ全て禁止の設定を指示し、ファイルシステム制御部４４は全てのプロセスの禁止を設定する（ステップ２６６）。
【０１４２】
次には、制御部５２は、ファイルシステム制御部４４へ制御プロセス名のプロセスＩＤと、制御ディレクトリの読み込み書き込み（Read／Write）の許可設定を指示する（ステップ２６８）。ファイルシステム制御部４４は、制御部５２から送信されてきたプロセスＩＤとファイルパスと制御モードを受信する（ステップ２７０）。ファイルシステム制御部４４は、プロセスＩＤとファイルパスと制御モードをプロセス制御リスト１５０に追加する（ステップ２７２）。
【０１４３】
図１５は、ファイルシステム制御部３４の動作を示す処理フローチャートである。アプリケーションプログラム１０又は、オペレーティングシステム１１からファイルへアクセスするときにファイルアクセスイベントが発生する（ステップ３００）。ファイルシステム制御部４４は、制御部５２からプロセスＩＤとファイルパスとファイル操作（Read/Write）を取得する（ステップ３０２）。このプロセスＩＤとファイルパスが、プロセス制御リスト１５０に登録されたものと合致するか否かを確認する（ステップ３０４〜３１０）。
【０１４４】
このプロセスＩＤとファイルパスが、プロセス制御リスト１５０に登録されたものと合致するとき、制御欄の値よりファイルの操作を許可又は禁止に設定する（ステップ３０８）。このプロセスＩＤとファイルパスがプロセス制御リスト１５０に登録されたものと合致しないとき、制御の値よりファイルの操作を禁止に設定する（ステップ３１２）。図１６には、プロセス制御リスト１５０の例を図示している。プロセス制御リスト１５０は、制御プログラム７がインストールされたときに、初期値としてファイルに格納され、ハードディスクドライブ２５に保存されるものである。
【０１４５】
プロセス制御リスト１５０は、ドライバウェア５０から随時更新される。プロセス制御リスト１５０は、必要なとき、編集して変更することも可能である。プロセス制御リスト１５０には、登録されたものの順番を示す連番欄１５１、制御対象のプロセス名を示すプロセス名１５２、制御対象のプロセスＩＤを示すプロセスＩＤ１５３、ファイルパスを示すファイルパス１５４、制御の方法を示す制御１５５のデータ欄等がある。制御対象のプロセス名は、上述の説明の一部では制御プロセスとして記述されている。
【０１４６】
〔プロセス名、プロセスＩＤ、及びファイル名の取得について〕
プロセスを検出するためには、次の前処理が実施される。ファイルシステム制御部４４において、ファイルアクセスに関する入出力機能の要求（以下、Ｉ／Ｏ要求とする。）のコールバックを制御部５２に来るように設定する。これは、ファイルアクセスに関するＩ／Ｏ要求が全てファイルシステム制御部４４を通るため、このＩ／Ｏ要求を制御部５２に転送して、制御部５２がこれを解析するためである。
【０１４７】
そして、プロセス制御リスト１５０をファイルシステム制御部４４へ転送し、ファイルシステム制御部４４がプロセス制御リスト１５０に登録されているアクセスが行われているか否かを監視する。プロセスを検出するためには、次の実行処理が行われる。アプリケーションプログラム１０が、ＵＳＢメモリ１４に格納されているファイルをアクセスしようとする。このとき、アプリケーションプログラム１０が、ファイルアクセスに関するＩ／Ｏ要求を発する。
【０１４８】
このＩ／Ｏ要求は、上述の前処理時に設定された通り、コールバックされて制御部５２へ送信される。制御部５２では、このＩ／Ｏ要求のコールバックを受信したら、プロセスＩＤ、プロセス名、及びファイル名を取得する。プロセスに関連するプロセス名、プロセスＩＤ、及びファイル名は次のように取得される。プロセス名を取得するには、“ZwQueryInformationProcess”関数を使い、実行プロセスのイメージパスを取得し、これの実行ファイルexeのファイル名からプロセス名を取得する。
【０１４９】
プロセスＩＤを取得するには、PsGetCurrentProcessId()関数を使って現在のプロセスのＩＤを取得する。ファイル名を取得するには、ファイルのＩ／Ｏ要求に関する入出力（Ｉ／Ｏ）要求（ＩＲＰ）から、参照されるファイルオブジェクトよりファイル名を取得する。そして、ファイルシステム制御部４４は、Ｉ／Ｏ要求に関するプロセス名、プロセスＩＤ、及びファイル名を、制御部５２から受信して、プロセス制御リスト１５０と比較してファイルアクセスの制御を行う。
【０１５０】
ファイルシステム制御部４４は、プロセス制御リスト１５０に従ってＩ／Ｏ要求に対するファイルへのアクセスの許可、又は拒否をアプリケーションプログラム１０に戻す。
〔イベントの検出〕
イベントの検出は、次のように行われる。オペレーティングシステム１１のカーネル内のＩ／Ｏ要求は、ＩＲＰ（IO Request Packet）の形式で行われる。ファイルアクセスに関しては、次の表１に示すＩＲＰが利用される。このＩＲＰを対象にコールバック関数を設定することで、イベント検出を行う。
【０１５１】
コールバック関数は、エグゼクティブ６３（図９を参照。）のプロセスマネージャ６６に登録され、コールバック関数が実行されると参照先のドライバウェア５０に制御が移動される。
【０１５２】
【表１】
2010204750.tif 000003
【０１５３】
制御プログラム７は、電子データファイルを格納しているＤＣＤ８にアクセスしようとするアプリケーションプログラム１０、プロセスだけに、ターゲットを絞って制御を行うことができる。このように、第２コンピュータ２上で動作する他のアプリケーションプログラム１０、オペレーティングシステム１１のサービスを無理に制限せずに、電子データファイルのみにアクセスする試みのみを監視し、そのアクセスを許可又は不許可して制御を行うことができる。
【０１５４】
更に、ＤＣＤ８の中に保存されている電子データにアクセスしているアプリケーションプログラム１０、そのプロセスのネットワーク機能、他の記録装置へのアクセスを遮断し、更にクリップボード等の複製機能の使用を禁止する。これによって、ＤＣＬ６の内容が外部へ流出されることなく、使用することができる。ＤＣＬインのとき、ZwCreateFile()関数を用いて、ＤＣＬ６をオープンする。ＤＣＬ６がオープンされたら、ＤＣＬへの書き込みはZwWriteFile()関数を使う。ＤＣＬからの読み込みは、ZwReadFile()関数を使う。
【０１５５】
ＤＣＬアウト時は、ZwCloseFile()にて、ＤＣＬ６をクローズする。ＤＣＬ６からデータを読み込むとき、ファイルシステム３４ｂから、IRP_MJ_READを用いて、仮想ディスクドライブ３７ｂへ読み込み要求を出力する。仮想ディスクドライブ３７ｂは、この読み込み要求を受け取ったら、ドライバウェア５０に対して、ZwReadFile()を用いてデータと読み込む。ドライバウェア５０は、ＤＣＬ６から要求されたデータ取得して、仮想ディスクドライブ３７ｂへ渡し、仮想ディスクドライブ３７ｂは、このデータをファイルシステム３４ｂへ渡す。
【０１５６】
ＤＣＬ６へデータを書き込むとき、ファイルシステム３４ｂから、IRP_MJ_WRITEを用いて、仮想ディスクドライブ３７ｂへ書き込み要求を出力する。仮想ディスクドライブ３７ｂは、この書き込み要求を受け取ったら、ドライバウェア５０に対して、ZwWriteFile()を用いてデータを書き込む。ドライバウェア５０は、ＤＣＬ６に要求されたデータを書き込みし、仮想ディスクドライブ３７ｂへその結果を通知する。仮想ディスクドライブ３７ｂは、この通知を受け取り、ファイルシステム３４ｂへ渡す。
【０１５７】
〔第１利用者側１ａでＤＣＬ６を作成する画面〕
図１７は、第１利用者側１ａでＤＣＬ６を作成する画面２００の例である。画面２００の左側には、作成されたＤＣＬ６の一覧を表示するための領域２０１がある。領域２０１には、ＤＣＬ６がドライブとして表示されるドライブ名を示すドライブ名欄２０３、ＤＣＬ６が保存されている場所を示す保存先欄２０４がある。この画面の例では、破線２０５で囲んだ部分は、Ｉドライブとして表示されるＤＣＤ８の例を示している。
【０１５８】
このとき、ＤＣＬ６は、Ｄドライブに、「Container」という名称で保存されている。画面２００の右側には、操作ボタンを示す領域２０２が表示されている。領域２０２には、「新規作成」２０６、「開く」２０７、「ＤＣＬアウト」２０８、「ＤＣＬイン」２０９、「プロパティ」２１０のボタンが表示されている。これらのボタンの機能については、後述する。図１８には、ディスプレイ上に表示される画面の一部を例示している。ここでは、デスクトップのタスクトレイ２２０には、制御プログラム７が動作している状態を示すアイコン２２１が表示されている。
【０１５９】
アイコン２２１にマウスのカーソル（図中の矢印。）を合わせると、画面２２２が表示される。この画面２２２には、「ＤＣＬ作成」２２３、「ＤＣＬを開く」２２４、「ＤＣＬアウト」２２５、「ＤＣＬイン」２２６、「制御モード開始」２２７、「制御モード終了」２２８、「ポリシー表示」２２９、「プロセス一覧表示」２３０、「バージョン情報」２３１等の項目がある。これらの項目２２３〜２３１については、上述のボタン２０６〜２１０と合わせて説明する。
【０１６０】
〔各ボタンと各項目の機能の説明〕
ボタン「新規作成」２０６、項目「ＤＣＬ作成」２２３をクリックすると、新規のＤＣＬ６を作成するウィザードが開始する。図２０には、新規のＤＣＬ６を作成するウィザードの流れを図示している。このウィザードの説明は、後述する。そして、ボタン「ＤＣＬイン」２０９、項目「ＤＣＬイン」２２６は、選択されたＤＣＤ８を持ち出すためのウィザードを開く。図１９には、ＤＣＤ８の持ち出しを示すウィザードの流れを図示している。このウィザードの説明は、後述する。
【０１６１】
ボタン「開く」２０７、項目「ＤＣＬを開く」２２４は、選択されたＤＣＤ８を開き、その内容を閲覧できる。ＤＣＤ８は、エクスプローラ等にドライブとして表示され、その内容を確認できる。ＤＣＤ８の中のファイル５等は、通常のドライブと同様な感覚で閲覧、編集できる。無論、新規に作成して、ＤＣＤ８の中に保存できる。ＤＣＤ８の中のファイル５等を開くとき、「ＤＣＤ」のファイルである旨のメッセージを表示することが好ましい。
【０１６２】
そして、ＤＣＤ８の中のファイルを開いている間は、次の制限がある。この制限は、１）ネットワーク通信は利用できない、２）ＤＣＤ８の中の電子データを他のメディアへ保存できない（例えば、内蔵ハードディスク、外付けハードディスク、ＵＳＢメモリ、ＣＤ、ＤＶＤ等に保存できない。）３）ＤＣＤ８の中の電子データを印刷ができない、４）ＤＣＤ８の中の電子データを編集するとき、その内容をコピー＆ペースト、マウスでドラッグ＆ドロップを使用して、他のアプリケーションプログラムへ複製してデータ貼り付けすることができない等である。
【０１６３】
ボタン「ＤＣＬアウト」２０８、項目「ＤＣＬアウト」２２５は、受け取ったＤＣＬ６の保存先を指定して、ＤＣＤ８を取り出すためのウィザードを開く。ＤＣＬ６の保存先を指定すると、そのＤＣＬ６にアクセスし、ＤＣＬ６を開く。このとき、ＤＣＬ６へのアクセスを許可するパスワードを要求する。指定されたパスワードを入力すると、ＤＣＬ６は読み込まれ、ＤＣＬ６はＤＣＤ８として認識され、ディジタルコンテンツライブラリ一覧に追加される。つまり、エクスプローラでも、このＤＣＤ８を閲覧できるようになる。
【０１６４】
ボタン「プロパティ」２１０は、選択されたＤＣＤ８のプロパティを表示し、確認するためのものである。ボタン「プロパティ」２１０をクリックすると、ＤＣＬ６の保存先、サイズ、期限、ログ出力、属性等の項目が表示され、その値を確認できる。これらの値を変更したい場合は、画面上に表示されるボタン「設定変更」を押して、それぞれの値を変更できる。ボタン「プロパティ」２１０の表示画面は、図１９の画面２４０、図２０の画面３４０と同じであり、その詳細な説明は省略する。
【０１６５】
変更時は、パスワード確認の画面が出てきて、ＤＣＤ８用のパスワードを入れると、プロパティ変更の画面が表示される。この画面の中で、それぞれの値を変更する。
「制御モード開始」２２７（図１８を参照。）は、制御プログラム７の制御モードの開始を指示するものである。同じく、項目「制御モード終了」２２８は、制御プログラム７の制御モードの終了を指示するものである。項目「プロセス一覧表示」２３０は、制御しているプロセスの一覧を確認するためのものである。
【０１６６】
項目「バージョン情報」２３１は、制御プログラム７のバージョンを確認するためのものである。項目「ポリシー表示」２２９は、図２６に示している情報を表示する。図中の領域２７０には、制御プログラム７の製品名、設定バージョン等からなる基本情報を表示する。図中の領域２７１には、ＩＰアドレス、サーバ名、パス名かならなるアクセス情報を表示する。図中の領域２７２には、キー、モバイル、ネットワーク、リムーバル、印刷、ＣＤに書き込み、暗号化、データ貼り付けが有効・無効を表示するオプション情報を表示する。
【０１６７】
〔ＤＣＬ６の持ち出しについて〕
図１９は、ＤＣＤ８の持ち出しを示すウィザードの流れを図示した図である。ボタン「ＤＣＬイン」２０９、項目「ＤＣＬイン」２２６を選びクリックすると、ＤＣＬ６の設定を確認する画面２４０が表示される。画面２４０には、ＤＣＬ６の保存先２４１、サイズ２４２、期限２４３、ログ出力２４４、属性２４５等の項目が表示され、その値を確認できる。これらの値を変更したい場合は、ボタン「設定変更」２４６を押して、それぞれの値を変更できる。
【０１６８】
画面２４０の内容を確認した後、ボタン「次へ」２４７を押して、持ち出し先の設定を行う画面２５０に遷移する。持ち出しは、電子メールに添付、又は、外部メディアに格納して持ち出すことができる。電子メール添付を選ぶ場合は、画面２５０に表示される
ラジオボタン２５１を選ぶ。このとき、制御プログラム７は、電子メール用のアプリケーションプログラムを起動させて、新規作成の電子メールにＤＣＬ６を自動的に添付する。画面２６０は、ＤＣＬ６が添付された新規作成の電子メールの画面例である。
【０１６９】
電子メールのあて先を示す項目２６１、２６２、及び２６３、電子メールの件名を示す項目２６４、電子メールの本文等を記入する項目２６６を、適当に記入できる。ボタン２６７を押すと、電子メールを送信できる。ボタン２６８を押すと、電子メールを送信しないで、保存できる。ボタン２６９を押すと、電子メールを送信しないで、電子メール作成をキャンセルできる。
【０１７０】
ＤＣＬ６の持ち出し先の設定を行う画面２５０、２５０ｂで、外部メディアを選んだ場合は、外部メディアが格納されているドライブを項目２５３に記入する。又は、ボタン２５４をクリックして、ＤＣＬ６を保存する場所を選択することができる。そして、指定された外部メディアに、ＤＣＬ６が格納される（ステップ２７０）。ＤＣＬ６を格納した外部メディアは、エクスプローラ等で確認できる。この外部メディアをそのドライブから取り出して、利用者に渡す。最後は、ウィザードの終了を確認する画面２８０が表示される。
【０１７１】
〔ＤＣＬ６の新規作成ウィザード〕
図２０は、新規のＤＣＬ６を作成するウィザードの流れを図示した図である。ボタン「新規作成」２０６、項目「ディジタルコンテンツライブラリ作成」２２３をクリックすると、新規のＤＣＬ６を作成するウィザードが開始する。ＤＣＬ６の保存先を指定する画面３００が表示される。ここで、項目３０１に示すように、「D:\Container」等のようにＤＣＬ６を保存する場所を指定する。
【０１７２】
無論、ボタン３０２をクリックして、ＤＣＬ６を保存する場所を選択することもできる。そして、ボタン３０３をクリックすると、次の画面３１０に遷移する。画面３１０は、ＤＣＬ６のサイズを設定するための画面である。ＤＣＬ６のサイズは、基本的に任意のサイズを指定できる。しかし、ＤＣＬ６のサイズは、項目３１１から選択できるように、３２ＭＢ、６４ＭＢ、１２８ＭＢ、２５６ＭＢ、５１２ＭＢ、１ＧＢ、２ＧＢ等の値が好ましい。ここで、領域３１２に示すように、ＤＣＬ６の保存先のドライブの空き容量を表示すると良い。
【０１７３】
その次に、パスワードを設定する画面３２０が表示される。ここで、項目３２１、３２２にパスワードを入力する。その後、ＤＣＬ６の期限、ログ、属性の設定を行う画面３３０が表示される。期限設定は、ＤＣＬ６にアクセスできる期限を示すものである。領域３３１に示すように、期限設定は、設定する、又は設定しないを選択できる。例えば、領域３３１に示すように、「２００９年４月１日１７時５９分５９秒」のように設定できる。
ログ設定は、ＤＣＬ６を利用した履歴を取得し、保存するか否かを設定するものである。
【０１７４】
領域３３２に示すように、ログ設定は、設定する、又は設定しないを選択できる。属性設定は、ＤＣＬ６の内容を編集できる否かの設定をするものである。領域３３３に示すように、属性設定は、許可する、又は許可しないを選択できる。画面３３０の後は、これらの設定を確認するための画面３４０が表示される。そして、この画面３４０上に表示される「作成」ボタン３４６をクリックすると、ＤＣＬ６が作成され、ウィザードの完了を示す画面３５０が表示される。これにより、新規に作成されたＤＣＬ６は、画面３６０に示すようにドライブ一覧に追加されて表示される。これをエクスプローラ等で確認できる。
【０１７５】
〔システム提供者側の動作〕
図２１は、サーバ１００の動作を示すフローチャートである。サーバ１００のダウンロードサーバ１０１では、ソフトウェアのダウンロードサービスを開始する（ステップ４００）。ダウンロード手段１０１は、第１利用者３又は第２利用者４からソフトウェアのダウンロード要求を受け付ける（ステップ４０２）。ダウンロードサーバ１０１は、ダウンロードを許可する（ステップ４０４）。第１利用者３又は第２利用者４は、ソフトウェアをダウンロードし、第１コンピュータ１又は第２コンピュータ２にインストールする。
【０１７６】
そして、インストールされたソフトウェアは、最初に動作するとき、サーバ１００に接続して、利用者登録が済みか否かを確認する。利用者登録の要求があると、管理サーバ１０２は、利用者ＩＤを発行して、第１利用者３又は第２利用者４に送信する（ステップ４０６、４０８）。そして、この利用者ＩＤをユーザ管理手段１０２のデータベースに登録する（ステップ４０８）。第２利用者４は、ＤＣＬ６の内容を閲覧できるが、それを編集したり、ファイル又はフォルダを追加したりするとき、システム提供者１００の許可が要る。
【０１７７】
そのために、システム提供者は、有価価値情報という考え方を導入している。この有価価値情報は、特定のＤＣＬ６に対して、その内容をどの程度編集できるかを定めたものである。この有価価値情報は、期限を有することが好ましい。また、有価価値情報は、特定の代金によって、購入できるものであることが好ましい。有価価値情報は、利用料金が無料の無料有価価値情報、料金が割引の割引有価価値情報等のように様々の有価価値情報であることができる。
【０１７８】
第２利用者４から、有価価値情報を取得する有価価値情報要求があると、それを有価価値情報販売手段１０４が受信する（ステップ４１０）。課金手段及び決済手段１０３と有価価値情報販売手段１０４は、連携して有価価値情報の料金を課金し、その決済を行なう（ステップ４１２、４１４）。決済が済むと、有価価値情報販売手段１０４は、有価価値情報を発行する。発行された有価価値情報は、サーバ１００から、第２利用者４側２ａへ送信される（ステップ４１６）。
【０１７９】
そして、サーバ１００は、第２利用者４に対して、ＤＣＬ６の利用履歴を要求できる（ステップ４１８）。第２利用者４は、ＤＣＬ６の利用履歴を送信すると、それを受信し、ログ管理手段１０５等に追加して、保存する（ステップ４２０、４２２）。第１利用者３がＤＣＬ６の利用履歴を要求すると、該当する利用履歴を第１利用者側１ａに送信する（ステップ４２４）。
【０１８０】
〔第１利用者側の動作〕
図２２は、第１利用者側１ａの動作を示すフローチャートである。第１利用者３は、ソフトウェアをダウンロードして、第１コンピュータ１にインストールする（ステップ４５０）。第１利用者３は、新規のＤＣＬ６を作成する（ステップ４５２）。この作成ついては、詳しくは、図２０に示している。第１利用者３は、管理情報をＤＣＬ６に登録し、ＤＣＬ６の利用者を追加する等の設定を行う（ステップ４５４）。そして、第１利用者３は、第２利用者４に利用者ＩＤを通知する（ステップ４５６）。
【０１８１】
第１利用者３は、第２利用者４からＤＣＬ６を取得する要求を受信する（ステップ４５８）。第１利用者３は、ＤＣＬ６の内容を編集し、ファイルの追加、削除などを行なう（ステップ４６０）。第１利用者３は、ＤＣＬ６を配布する（ステップ４６２）。この配布時の動作を、詳しくは、図１９のウィザードに示している。よって、第２利用者４は、ＤＣＬ６の利用が可能になる（ステップ４６４）。第１利用者３は、第２利用者４からＤＣＬ６の返送を受信する（ステップ４６６）。
【０１８２】
そして、第１利用者３は、ＤＣＬ６の管理情報を分析することができる（ステップ４６８）。また、第１利用者３は、ＤＣＬ６の履歴を分析することができる（ステップ４７０）。又は、第１利用者３は、サーバ１００にＤＣＬ６の履歴を要求し、ＤＣＬ６の履歴をサーバ１００から受信することができる（ステップ４７２）。第１利用者３は、ＤＣＬ６の履歴を分析することができる（ステップ４７４）。
【０１８３】
そして、第１利用者３は、ＤＣＬ６の利用期限を延長することができる（ステップ４７６）。第１利用者３は、ＤＣＬ６に利用者を追加できる（ステップ４７８）。第１利用者３は、ＤＣＬ６の内容を所定の手順で取り出すことができる（ステップ４８０）。第１利用者３は、ＤＣＬ６を削除することができる（ステップ４８２）。
【０１８４】
〔仮想ディスクドライブの実現〕
図２３には、ＲＡＭディスクの実体（メモリ）の概念図である。図中には、物理ディスクのハードディスクドライブ２５を図示している。このハードディスクドライブ２５は、第１コンピュータ１又は第２コンピュータ２に内臓されているハードディスクである。ＤＣＬ６は、第１コンピュータ１又は第２コンピュータ２から見れば、仮想ディスクドライブ２５ｂとして見える。これは、図中には、破線で図示している。仮想ディスクドライブ２５ｂを実現する技術としては、いくつかの方法がある。
【０１８５】
本実施の形態においては、ＲＡＭディスクとして、仮想ディスクドライブ２５ｂを実現する。ＲＡＭディスクとは、電子計算機に実装されているメインメモリ(ＲＡＭ)の一部、又は外付けＲＡＭを記憶装置として用いる技術である。言い換えると、ＲＡＭディスクとは、電子計算機に実装されているメインメモリ(ＲＡＭ)の一部、又は外付けＲＡＭを、ディスクドライブであるかのように見せかける技術である。このＲＡＭディスクの技術は、ＲＡＭドライブ等とも呼ばれることがあり、ここでは、ＲＡＭディスクとして呼ぶ。
【０１８６】
Windowsは、ディスク操作に共通する機能を実装したDisk（\Windows\System32\Drivers\Disk.sys）というクラスドライバを提供している。電子計算機に内蔵又は接続されている記憶装置、この例ではハードディスクドライブ２５へのアクセスは、ディスクドライバ３７ａを利用する。ＲＡＭディスクは、ハードディスクドライブ２５のような物理的な可動部がないため、高速なアクセスが可能である。しかし、ＲＡＭディスクには、メインメモリの一部を割り当てるため、あまり大容量の容量のＲＡＭディスクは利用できない。
【０１８７】
ＲＡＭディスクは、ハードディスクドライブに比べるとファイルの読み書きが高速である。電子計算機の電源を切ると、ＲＡＭディスクのデータは消去されるので、ＲＡＭディスクの内容を補助記憶装置等に保存しておく必要がある。本実施の形態では、ＲＡＭディスクの内容は、第１コンピュータ１又は第２コンピュータ２に内蔵のハードディスクドライブ２５（通常は、Ｃドライブ。）に保存される。Ｃドライブは、通常は、ファイルシステム（例えば、ＮＴＦＳ、ＦＡＴ等）を利用してアクセスされる。
【０１８８】
ＲＡＭディスクは、ＲＡＭ上に展開される。本実施の形態においては、ハードディスク２５には、暗号化された情報を保存している。このＲＡＭ上に展開とは、ドライバ内のNonPagedPool領域等のテンポラリーバッファに格納されることである。アプリケーションプログラム１０、オペレーティングシステム１１のエグゼキュティブ６３等から（図９を参照。）、Ｃドライブへの接続要求があると、ファイルシステム３４ａを経由し、ディスクドライブ３７ａへ接続される。
【０１８９】
ディスクドライブ３７ａは、ハードディスクドライブ２５から直接データを取得し、戻す。第２コンピュータ２からは、見ると、仮想ディスクドライブ３７ｂは、Ｚドライブの仮想ディスクドライブ２５ｂとして見える。第２コンピュータ２は、このＺドライブには、通常のディスクドライブ２５とアクセスするのと同じ方法でアクセスする。具体的には、ファイルシステム３４ｂを利用し、仮想ディスクドライブ２５ｂにアクセスする。仮想ディスクドライブ２５ｂは、ＲＡＭディスクで実現されており、実際は、Ｃドライブの中のＤＣＬ６にアクセスする。
【０１９０】
図２４は、ＤＣＬ６にアクセスするときのデータの流れの第１例を示すフローチャートである。まず、アプリケーションプログラム１０からＤＣＬ６へアクセスしようとするとき、アクセス要求をファイルシステム２４ｂ（例えば、ＮＴＦＳ／ＦＡＴ）に要求する。ファイルシステム２４ｂは、仮想ディスクドライブ３７ｂにアクセス要求を渡す。仮想ディスクドライブ２５ｂからＤＣＬ６へアクセスするとき、これをドライバウェア５０が取得し、処理する。
【０１９１】
そして、アクセス要求が、Ｃドライブへのアクセスになり、ファイルシステム３４ａへ渡される。このファイルシステム３４ａは、ディスクドライバ３７ａを経由し、ハードディスクドライブ２５の中のＤＣＬ６にアクセスする。ＤＣＬ６へアクセスした結果は、同じフローを逆にたどって、アプリケーションプログラム１０へ渡される。ドライバウェア５０では、アプリケーションプログラム１０からＤＣＬ６へのアクセス、又は、ＤＣＬ６にアクセスした結果を、処理する。
【０１９２】
例えば、アプリケーションプログラム１０からＤＣＬ６へのデータを書き込みするとき、ドライバウェア５０は、その暗号化機能を利用して、このデータを暗号化する。アプリケーションプログラム１０は、ＤＣＬ６からデータを読み込むとき、ドライバウェア５０は、ＤＣＬ６から読み込みしたデータを、その復号化機能を利用して、復号化する。この例では、ＤＣＬ６に含まれるファイル５毎にアクセスし、ファイル単位で、暗号化、復号化を行っている。
【０１９３】
図２５は、ＤＣＬ６にアクセスするときのデータの流れの第２例を示すフローチャートである。この例では、図２４に示すフローチャートと基本的に同じである。ただし、仮想化ドライブ３７ｂと、ドラバウェア５０は、一体となっている。上述した通り、通常は、ファイルシステム３４ｂは、仮想ディスクドライブ３７ｂを呼び出し、ＤＣＬ６へのアクセスを渡す。又は、仮想ディスクドライブ３７ｂをＤＣＬ６へのアクセス結果を、ファイルシステム３４ｂに戻す。
【０１９４】
この例では、ＤＣＬ６の全体を、暗号化、復号化している。上述のように仮想ディスクドライブ３７ｂは、ＤＣＬ６を仮想のハードディスクドライブとして、実現した。しかし、ＤＣＬ６を仮想のＣＤドライブ、ＤＶＤドライブ、ＣＤ／ＤＶＤドライブ等のブロックデバイスドライブとして実現できる。このように、ＤＣＬ６をブロックディスクドライブと実現すると、ＤＣＬ６の内容を読み出すことができるが、書き込むことに制限をかけられる。これは、第２コンピュータ２で、ＤＣＬ６を改ざんできない、データを読み込むだけなり、ユーザデータの保護には、役立つ。
【０１９５】
第１コンピュータ１、第２コンピュータ２にインストールされた制御プログラム７は、基本的に同じである。第２コンピュータ２の制御プログラム７は、ＤＣＬ６をＣＤＲＯＭとして構成することが、ＤＣＬ６の内容によるが、ディジタルコンテンツライブラリファイルの改変ができなくなり観点から、好ましい。
【産業上の利用可能性】
【０１９６】
本発明は、ユーザのファイル、データやプログラム等を電子記録媒体に記録して、外部へ提供し、提供先でどのように利用されているかを把握すること可能であり、電子データの緊密な管理が必要な分野に利用すると良い。特に、営業または経理データ等でユーザのデータやファイル等の秘密情報、従業員のデータ管理が必要とされる印刷業界、保険会社、販売店で利用されることが望ましい。更に、電子データの緊密な管理が必要な金融機関、原子力関連の施設、や個人データを扱う端末等の分野に利用されても良い。
【符号の説明】
【０１９７】
１…第１コンピュータ
１ａ第１利用者側
２…第２コンピュータ
２ａ…第２利用者４側
３…第１利用者
４…第２利用者４
５…ファイル
６…ディジタルコンテンツライブラリ（ＤＣＬ）
７…制御プログラム
８…ディジタルコンテンツドライブ（ＤＣＤ）
１０…アプリケーションプログラム
１１…オペレーティングシステム
１３…ネットワーク
１６…キーボード
１７…マウス
２３…ネットワークカード
２５…ハードディスクドライブ
３０…デバイスドライバ
４０…デバイスドライバ制御部
５０…ドライバウェア
５１…アプリケーションプログラムインターフェース部
５２…制御部
５３…ログ取得部
５４…暗号化部
５５…復号化部
５８…アプリケーションプラットフォームプログラム
６３…エグゼクティブ
６９…Ｉ／Ｏマネージャ
１００…システム提供者側
１０１…ダウンロードサーバ
１０２…管理サーバ
１０３…課金サーバ
１５０…プロセス制御リスト
６０１…管理データ
６０２…ファイルデータ
６０３…作成時データ
６０４…利用時データ
６０５…識別データ
【図１】
2010204750.tif 000004
【図２】
2010204750.tif 000005
【図３】
2010204750.tif 000006
【図４】
2010204750.tif 000007
【図５】
2010204750.tif 000008
【図６】
2010204750.tif 000009
【図７】
2010204750.tif 000010
【図８】
2010204750.tif 000011
【図９】
2010204750.tif 000012
【図１０】
2010204750.tif 000013
【図１１】
2010204750.tif 000014
【図１２】
2010204750.tif 000015
【図１３】
2010204750.tif 000016
【図１４】
2010204750.tif 000017
【図１５】
2010204750.tif 000018
【図１６】
2010204750.tif 000019
【図１７】
2010204750.tif 000020
【図１８】
2010204750.tif 000021
【図１９】
2010204750.tif 000022
【図２０】
2010204750.tif 000023
【図２１】
2010204750.tif 000024
【図２２】
2010204750.tif 000025
【図２３】
2010204750.tif 000026
【図２４】
2010204750.tif 000027
【図２５】
2010204750.tif 000028
【図２６】
2010204750.tif 000029
【図２７】
2010204750.tif 000030