(57)【要約】【課題】ユーザに提供されたユーザデータを予め決めた範囲内にのみ利用でき、ユーザデータへのアクセスを追跡し、監視するためのメモリ装置、及び電子データ管理方法を提供することにある。【解決手段】電子計算機２に接続されているメモリ手段１に格納されている電子ファイルを利用するとき、電子ファイルを利用することができる利用範囲を示す属性情報を参照して、電子ファイルの利用の許可又は不許可を判断する。外部装置３から、位置情報、及び／又は、時刻情報を取得し、これを属性情報と比較して、属性情報が予め決めていた利用範囲内に、位置情報及び／又は時刻情報が存在するとき許可をし、電子ファイルの利用の許可する。利用範囲内ないときは、電子ファイルの利用を不許可する。外部装置には、ＧＰＳ装置、又は電子時計を用いる。【選択図】図１
2009237625.tif 000002
【特許請求の範囲】
【請求項１】
電子計算機（２）に接続されているメモリ装置（１）に格納されている電子ファイルを利用するとき、前記電子ファイルを利用することができる利用範囲を示す属性情報を参照して、前記電子ファイルの利用の許可又は不許可を判断する電子データ管理方法において、
前記メモリ装置（１）は、（ａ）外部情報を提供する外部装置（３）と、前記電子計算機（２）とのデータ通信を行う回線との接続又は、切断の制御を行う制御手段（１４，１５）、及び、（ｂ）前記電子ファイルを格納した前記記憶手段（１６）からなり、
前記外部情報は、前記電子ファイルの地球上の位置である位置情報、及び／又は、現在の時刻及びカレンダーを示す時刻情報からなり、
前記外部装置（３）が、前記制御手段（１４，１５）を介して、前記電子計算機（２）に接続されたとき、
前記電子計算機（２）は、前記外部情報を取得して、前記属性情報と、前記外部情報を比較し、
前記属性情報が予め決めていた前記利用範囲内に、前記位置情報及び／又は前記時刻情報が存在するとき、前記許可をし、
前記属性情報が予め決めていた前記利用範囲内に、前記位置情報及び／又は前記時刻情報がないとき、前記不許可をする
ことを特徴とする電子データ管理方法。
【請求項２】
請求項１において、
前記電子計算機（２）は、
前記電子計算機（２）を動作させているオペレーティングシステムの全ての命令が実行できるカーネルモードで動作し、前記電子計算機（２）に接続されているデバイス（Ｅ１〜Ｅ６）を直接制御するためのデバイスドライバ（Ｄ１〜Ｄ５）同士の通信、又は前記デバイスドライバ（Ｄ１〜Ｄ５）と前記電子計算機（２）上で動作するアプリケーションプログラム（４１）との通信に共通のインターフェースを提供するための手段で、かつ、
前記アプリケーションプログラム（４１）から出力される命令及び／又はデータを含む第１データを受信し、前記命令の実行結果及び／又は前記デバイスドライバ（Ｄ１〜Ｄ５）から受信した受信データを含む第２データを、前記アプリケーションプログラム（４１）に送信するためのアプリケーションプログラムインターフェース部（５１）と、
前記デバイスドライバ（Ｄ１〜Ｄ５）へ、前記命令及び／又は前記データを含む第３データを送信し、前記デバイスドライバ（Ｄ１〜Ｄ５）から前記命令の実行結果及び／又は前記受信データを含む第４データを受信するためのデバイスドライバ制御部（Ｃ１〜Ｃ４）と、
前記第１データ又は前記第４データを処理し、前記第２データ又は前記第３データを生成して、前記第１ないし４データの制御を行うための制御部（５２）と
からなる
ドライバウェア手段（５０）を有し、
前記アプリケーションプログラムインターフェース部（５１）は、前記アプリケーションプログラム（４１）から前記電子ファイルへアクセスときの前記アクセスを取得して、
前記デバイスドライバ制御部（Ｃ１〜Ｃ４）は、前記ファイルの前記属性情報を前記メモリ手段（１）から取得して、更に、前記外部装置（３）から、前記位置情報、及び／又は、前記時刻情報を取得し、
前記制御部は、前記位置情報、及び／又は、前記時刻情報と、前記属性情報を比較して、前記許可又は前記不許可を出力し、
前記許可の場合、前記アクセスを前記デバイスドライバ（Ｄ１〜Ｄ５）へ送信し、
前記不許可の場合、前記アクセスを破棄する
ことを特徴とする電子計算機のデータ管理方法。
【請求項３】
請求項１又は２において、
前記メモリ手段（１）に格納されている前記ユーザの個人情報を利用して、前記ユーザの個人認証を行い、
前記個人認証が成功したとき、前記回線を接続して、前記外部装置（３）に前記電子計算機（２）からアクセス可能にし、
前記外部装置に前記電子計算機から供給される電源が遮断されたとき、前記回線を切断して、前記外部装置が別の電源で動作しても、前記電子計算機へアクセスできないようにする
ことを特徴とする電子計算機のデータ管理方法。
【請求項４】
請求項１又は２において、
前記外部装置（３）は、電波時計であり、
前記時刻情報は、前記電波時計で標準電波を取得し、前記時刻及び前記カレンダーを求めたデータである
ことを特徴とする電子データ管理方法。
【請求項５】
請求項１又は２において、
前記外部装置（３）は、ＧＰＳ受信機であり、
前記位置情報は、前記ＧＰＳ受信機が取得したＧＰＳデータから取得した座標データであり、
前記時刻情報は、Ａ）前記ＧＰＳデータから取得した前記時刻及び／又は前記カレンダー、又は、Ｂ）電波時計で標準電波を取得し、前記時刻及び前記カレンダーを求めたデータである
ことを特徴とする電子データ管理方法。
【請求項６】
電子ファイルが格納されるメモリ手段（１６）と、電子計算機（２）に接続するための第１端子（１１）とを有するメモリ装置において、
外部装置（３）が接続されるための第２端子（１７）と、
前記電子計算機（２）と前記メモリ手段（１６）との間の通信、及び、前記電子計算機（２）と前記第２端子（１７）との間の通信を制御するための制御手段（１２、１３、１４）とからなり、
前記制御手段（１２、１３，１４）は、前記電子計算機（２）が前記外部装置（３）と通信するとき、前記第１端子（１１）と前記第２端子（１７）の間のデータ通信線を接続し、
前記制御手段（１２、１３，１４）は、前記電子計算機（２）が前記外部装置（３）と通信しないとき、又は、前記第２端子（１７）から前記外部装置（３）が切断されたとき、前記第１端子（１１）と前記第２端子（１７）の間の前記データ通信線を切断する
ことを特徴とするメモリ装置。
【請求項７】
請求項６において、
前記外部装置（３）は、前記外部装置（３）の前記電子ファイルの地球上の位置である位置情報、及び／又は、現在の時刻及びカレンダーを示す時刻情報を含む外部情報を提供する装置であり、
前記外部情報を、前記電子ファイルの属性情報と比較して、前記電子計算機を利用するか否かの判定を行う
ことを特徴とするメモリ装置。
【請求項８】
請求項７において、
前記制御手段は、前記メモリ手段に格納されている個人情報を利用して、個人認証を行い、
前記個人認証が成功した場合、前記外部情報を取得して、前記判定を行う
ことを特徴とするメモリ装置。
【請求項９】
請求項７において、
前記電子計算機は、前記メモリ手段に格納されているファイルにアクセスするとき、
前記ファイルを利用できる前記時刻及び／又は前記位置情報に関する情報を示す属性情報を取得して、
前記外部装置から前記外部情報を取得し、
前記属性情報と前記提供情報を比較して、前記ファイルへの前記アクセスを判断する判断手段を有し、
前記判断手段からでる判断結果に従って前記アクセスを許可、または不許可する実行手段を有する
ことを特徴とするメモリ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ装置に関し、特に、電子データを格納したメモリ装置に関する。更に、電子データの管理を行うためのデータ管理システムに関し、電子データが格納されているファイルへのアクセスを追跡して、監視するデータトレーサビリティのためのデータ管理方法に関する。
【背景技術】
【０００２】
個人情報、ビジネスのノウハウは、電子データの形式でファイルとしてコンピュータの記憶装置、記録媒体に保存されていることが多い。このファイルにアクセスした履歴、特にファイルの閲覧、編集、複写、印刷、送信等の履歴を取得して緊密に管理することが大事である。例えば、保険会社は、災害時に復旧マニュアルを担当者に配布している。この復旧マニュアルはノウハウの集積であり、非常に高価な情報価値がある。オフラインで配布された復旧マニュアルを外部への流出やコピーをさせたくないことがある。
【０００３】
また、学校の教師は、授業資料、生徒の個人情報を含む書類を、自宅で閲覧、編集、チェック、採点することが良くある。このとき、これらのデータを適切に扱っているかを監視し、データのトレーサビリティを確保することが重要である。更に、メーカーは、製品の仕様書や設計書を関係者に配布している。機密情報であるこの仕様書や設計書を関係者以外には参照されないようにし、外部へ流出するのを避けたいことがある。出版物等の校正時には、原本の電子データを変更するが、原本や校正された電子データが外部へ流出することを避けたい。写真等の画像データも、同様に、原本や編集された電子データが外部へ流出することを避けたい。
【０００４】
上述のように、電子データが外部に持ち出されても、どこで、だれが、いつ扱ったかを明確にし、電子データのトレーサビリティを確保することが重要である。このような要望に対応するためには、多数の製品が販売されている。例えば、特許文献１には、データ管理用のシステムが開示されている。具体的には、不揮発性メモリに格納されたクライアントのユーザデータを、それを処理している電子計算機から、その処理目的以外に利用できないようにし、外部へ持ち出せないようにしている。
【０００５】
データの使用範囲を監視するには、ＧＰＳを利用することができる。ＧＰＳは、グローバル・ポジショニング・システム (Global Positioning System )の略称であり、全地球測位システム、汎地球測位システム等と呼ばれている。ＧＰＳを利用すると、地球上における現在位置を知りことができる。ここで、ＧＰＳを概略のみを記述する。米国が約３０個のＧＰＳ衛星を打ち上げ、このＧＰＳ衛星は、ＧＰＳ信号を発信している。ＧＰＳ衛星は約20000kmの高度を一周約12時間で動く衛星である。
【０００６】
ＧＰＳ受信機は、ＧＰＳ衛星から発信されるＧＰＳ信号を受信して、測定地点の座標を出力する。ＧＰＳ受信機は、通常、測定地の上空にある数個の衛星からの信号を受信して、処理して、測定地点の座標、現在時刻を計算している。現在、ＧＰＳを利用した位置確認方法は、カーナビゲーションシステム、航海をはじめとして普及している。ＧＰＳを利用すれば、より位置確認が確実にかつ精密にでき、電子ファイルの取り扱う場所の特定、及び時刻管理にも応用できるものである。
【０００７】
例えば、特許文献２には、携帯情報端末にＧＰＳ制御モジュールを搭載しているデータ処理装置を開示している。携帯情報端末の内部の記録媒体に、その携帯情報端末を使用できる使用行動範囲が保存されている。ＧＰＳ制御モジュールから読み取った現在位置と使用行動範囲を比較して、携帯情報端末が使用行動範囲内にいない場合、携帯情報端末内のファイルを削除する処理をしている。
【０００８】
特許文献３〜５には、屋内でも正確な位置情報を提供できるシステムを開示している。このシステムは、ビル内、地下等、障害物によって、ＧＰＳ衛星から正確な信号が受信できない場所でも、擬似ＧＰＳ信号を送信している。これにより、ユーザは、通常のＧＰＳと同様に正確なＧＰＳ信号を受け取ることができる。特に、特許文献５には、電波が届かない場所において位置情報を提供するための位置情報提供システム、位置情報提供装置および屋内送信機を開示している。
【０００９】
位置情報提供装置は、受信された測位信号を取得し、測位信号の発信源を特定し、測位信号の発信源が屋内である場合に、測位信号からメッセージデータを取得し（Ｓ６３０）、そのデータから座標値を取得し（Ｓ６３２）と、その座標値に基づいて位置情報を表示している（特許文献３、４も参照。）。
【００１０】
【特許文献１】ＷＯ２００７／０４９６２５  「電子計算機のデータ管理方法、プログラム、及び記録媒体」
【特許文献２】公開特許2003-18652号公報
【特許文献３】公開特許2007-271499号公報「測位装置」
【特許文献４】公開特許2007-271500号公報「位置姿勢推定装置」
【特許文献５】公開特許2007-278756号公報「位置情報提供システム、位置情報提供装置および屋内送信機」
【発明の開示】
【発明が解決しようとする課題】
【００１１】
本発明は上述のような技術背景のもとになされたものであり、下記の目的を達成する。
本発明の目的は、クライアントに提供されたユーザデータへのアクセスを追跡し、監視するためのメモリ装置、及び電子データ管理方法を提供することにある。
【００１２】
本発明の他の目的は、クライアントに提供されたユーザデータを目的以外に利用することができないように、ユーザデータを管理するためのメモリ装置、及び電子データ管理方法を提供することにある。
【００１３】
本発明の更に他の目的は、クライアントに提供されたユーザデータを予め許可されていない場所及び／又は時刻・カレンダーに利用できないように、ユーザデータを管理するためのメモリ装置、及び電子データ管理方法を提供することにある。
【課題を解決するための手段】
【００１４】
本発明は、前記目的を達成するため、次の手段を採る。
〔データ管理方法〕
本発明は、電子データ管理方法に関するものである。本発明は、電子計算機の電子データ管理方法に関するものである。具体的には、電子計算機（２）に接続されているメモリ手段（１）に格納されている電子ファイルを利用するとき、前記電子ファイルを利用することができる利用範囲を示す属性情報を参照して、前記電子ファイルの利用の許可又は不許可を判断する。
【００１５】
本発明の電子計算機の電子データ管理方法は、前記メモリ装置（１）は、（ａ）外部情報を提供する外部装置（３）と、前記電子計算機（２）とのデータ通信を行う回線との接続又は、切断の制御を行う制御手段（１４，１５）、及び、（ｂ）前記電子ファイルを格納した前記記憶手段（１６）からなり、前記外部情報は、前記電子ファイルの地球上の位置である位置情報、及び／又は、現在の時刻及びカレンダーを示す時刻情報からなり、前記外部装置（３）が、前記制御手段（１４，１５）を介して、前記電子計算機（２）に接続されたとき、前記電子計算機（２）は、前記外部情報を取得して、前記属性情報と、前記外部情報を比較し、前記属性情報が予め決めていた前記利用範囲内に、前記位置情報及び／又は前記時刻情報が存在するとき、前記許可をし、前記属性情報が予め決めていた前記利用範囲内に、前記位置情報及び／又は前記時刻情報がないとき、前記不許可をすることを特徴とする。
【００１６】
〔ドライバウェア〕
前記電子計算機（２）は、ドライバウェア手段（５０）を有する。ドライバウェア手段（５０）は、前記電子計算機（２）を動作させているオペレーティングシステムの全ての命令が実行できるカーネルモードで動作する。ドライバウェア手段（５０）は、前記電子計算機（２）に接続されているデバイス（Ｅ１〜Ｅ６）を直接制御するためのデバイスドライバ（Ｄ１〜Ｄ５）同士の通信、又は前記デバイスドライバ（Ｄ１〜Ｄ５）と前記電子計算機（２）上で動作するアプリケーションプログラム（４１）との通信に共通のインターフェースを提供するための手段である。
【００１７】
ドライバウェア手段（５０）は、アプリケーションプログラムインターフェース部（５１）、デバイスドライバ制御部（Ｃ１〜Ｃ４）、及び制御部（５２）からなる。アプリケーションプログラムインターフェース部は、アプリケーションプログラム（４１）から出力される命令及び／又はデータを含む第１データを受信し、前記命令の実行結果及び／又は前記デバイスドライバ（Ｄ１〜Ｄ５）から受信した受信データを含む第２データを、前記アプリケーションプログラム（４１）に送信するためのものである。
【００１８】
デバイスドライバ制御部（Ｃ１〜Ｃ４）は、前記デバイスドライバ（Ｄ１〜Ｄ５）へ、前記命令及び／又は前記データを含む第３データを送信し、前記デバイスドライバ（Ｄ１〜Ｄ５）から前記命令の実行結果及び／又は前記受信データを含む第４データを受信するためのものである。制御部（５２）は、前記第１データ又は前記第４データを処理し、前記第２データ又は前記第３データを生成して、前記第１ないし４データの制御を行うためのものである。
【００１９】
更に、アプリケーションプログラムインターフェース部（５１）は、前記アプリケーションプログラム（４１）から前記電子ファイルへアクセスときの前記アクセスを取得して、前記デバイスドライバ制御部（Ｃ１〜Ｃ４）は、前記ファイルの前記属性情報を前記メモリ手段（１）から取得して、更に、前記外部装置（３）から、前記位置情報、及び／又は、前記時刻情報を取得し、前記制御部は、前記位置情報、及び／又は、前記時刻情報と、前記属性情報を比較して、前記許可又は前記不許可を出力し、前記許可の場合、前記アクセスを前記デバイスドライバ（Ｄ１〜Ｄ５）へ送信し、前記不許可の場合、前記アクセスを破棄する。
【００２０】
前記メモリ手段（１）に格納されている前記ユーザの個人情報を利用して、前記ユーザの個人認証を行うと良い。前記個人認証が成功したとき、前記回線を接続して、前記外部装置（３）に前記電子計算機（２）からアクセス可能にし、前記外部装置に前記電子計算機から供給される電源が遮断されたとき、前記回線を切断して、前記外部装置が別の電源で動作しても、前記電子計算機へアクセスできないようにすると良い。前記外部装置（３）は、電波時計であると良い。この場合は、前記時刻情報は、前記電波時計で標準電波を取得し、前記時刻及び前記カレンダーを求めたデータである。
【００２１】
前記外部装置（３）は、ＧＰＳ受信機であると良い。この場合は、前記位置情報は、前記ＧＰＳ受信機が取得したＧＰＳデータから取得した座標データであり、前記時刻情報は、Ａ）前記ＧＰＳデータから取得した前記時刻及び／又は前記カレンダー、又は、Ｂ）電波時計で標準電波を取得し、前記時刻及び前記カレンダーを求めたデータであると良い。
【００２２】
本発明の電子データ管理方法は、ユーザデータを格納した記憶手段が電子計算機に接続され、ユーザデータが電子計算機上に読み出されてアプリケーションプログラムによって閲覧又は編集され、かつ、電子計算機の入力装置から入力された入力データによってアプリケーションプログラムが操作されて閲覧又は編集が行われているとき、ユーザデータが電子計算機から外部へ漏えいされないように制御し、且つ、正当な場所、指定時刻にアクセスできる、ユーザデータのトレーサビリティを確保する。
【００２３】
〔メモリ装置〕
本発明のメモリ装置は、電子ファイルが格納されるメモリ手段（１６）と、電子計算機（２）に接続するための第１端子（１１）とを有する。また、本発明のメモリ装置は、外部装置（３）が接続されるための第２端子（１７）と、前記電子計算機（２）と前記メモリ手段（１６）との間の通信、及び、前記電子計算機（２）と前記第２端子（１７）との間の通信を制御するための制御手段（１２、１３、１４）とからなる。
【００２４】
制御手段（１２、１３、１４）は、前記電子計算機（２）が前記外部装置（３）と通信するとき、前記第１端子（１１）と前記第２端子（１７）の間のデータ通信線を接続する。前記制御手段（１２、１３、１４）は、前記電子計算機（２）が前記外部装置（３）と通信しないとき、又は、前記第２端子（１７）から前記外部装置（３）が切断されたとき、前記第１端子（１１）と前記第２端子（１７）の間の前記データ通信線を切断する。
【００２５】
前記外部装置（３）は、前記外部装置（３）の前記電子ファイルの地球上の位置である位置情報、及び／又は、現在の時刻及びカレンダーを示す時刻情報を含む外部情報を提供する装置であると良い。メモリ装置は、外部情報を、前記電子ファイルの属性情報と比較して、前記電子計算機を利用するか否かの判定を行うと良い。制御手段は、前記メモリ手段に格納されている個人情報を利用して、個人認証を行うと良い。個人認証が成功した場合、制御手段は、前記外部情報を取得して、前記判定を行う。
【００２６】
前記電子計算機は、前記メモリ手段に格納されているファイルにアクセスするとき、前記ファイルを利用できる前記時刻及び／又は前記位置情報に関する情報を示す属性情報を取得して、前記外部装置から前記外部情報を取得し、前記属性情報と前記提供情報を比較して、前記ファイルへの前記アクセスを判断する判断手段を有し、前記判断手段からでる判断結果に従って前記アクセスを許可、または不許可する実行手段を有すると良い。
【００２７】
〔電子データ管理プログラム〕
本発明の電子計算機のデータ管理方法に従って、電子計算機のデータ管理を電子計算機に実現させるための電子計算機の電子データ管理プログラムである良い。具体的には、ユーザデータを格納した記憶装置が電子計算機に接続され、ユーザデータが電子計算機上に読み出されてアプリケーションプログラムによって閲覧又は編集され、かつ、電子計算機の入力装置から入力された入力データによってアプリケーションプログラムが操作されて閲覧又は編集が行われているとき、電子データ管理プログラムは、ユーザデータが電子計算機から外部へ漏洩されないように制御する。
【００２８】
本発明のメモリ装置は、この電子データ管理プログラムを格納しているとよい。メモリ装置が電子計算機に接続されたときに、この電子データ管理プログラムは、電子計算機に自動的にインストールされて、動作すると良い。メモリ装置は、ユーザデータを格納するための領域で、かつ、読み込みと書き込みすることができるユーザ領域と、プログラムを格納するための領域で、かつ、読み込み専用のプログラム領域とを有すると良い。
【００２９】
メモリ装置が電子計算機に接続されたとき、プログラム領域に格納されている認証プログラムが自動起動し、電子データ管理プログラムを確認した後、電子データ管理プログラムの制御モードをオンにする命令を電子データ管理プログラムに送信すると良い。制御モードがオンになったとき、認証プログラムがユーザ領域をオペレーティングシステムに認識させて、電子計算機からユーザデータにアクセス可能にすると良い。
【００３０】
メモリ装置は、メモリ装置を利用するユーザを個人認証するために利用する認証データを格納した認証部を有すると良い。
この電子データ管理プログラムは、ネットワーク上のネットワークストレージに格納されていると良い。このネットワークは、ＬＡＮ、ＷＡＮ、又は、インターネットであると良い。このネットワークは、有線又は無線の公衆通信網によってアクセス可能なものであると良い。
【００３１】
この電子データ管理プログラムは、読み出しのみ、読み出し書き換え可能な各種ＣＤ、各種ＤＶＤ、そして、不揮発性メモリ等等の記録媒体に記録されていると良い。このデータ管理プログラムは、この電子計算機にリモートでアクセスできる第２電子計算機上に格納され、この電子計算機にリモートで動作すると良い。アプリケーションプログラムが制御対象リストの値と一致し、かつ、ユーザデータの複製又は移動を制限する必要がある場合、制御機能は、入力装置の入力データを制御し制限をする旨の命令を発する機能をからなると良い。
【００３２】
電子データ管理プログラムは、入力装置のマウスのマウスポインタを、所定のアクティブウインドウから出ないように制御して、ユーザデータの複製を制限すると良い。クリップボードを介したデータ複製を禁止又は制限して、ユーザデータの複製を制限すると良い。電子データ管理プログラムは、ログ取得機能を有すると良い。電子データ管理プログラムは、ログ取得機能は、電子計算機の動作のログを取得し、このログに、外部装置から取得した時刻情報、位置情報を含むと良い。電子データ管理プログラムは、ユーザデータを暗号化するための暗号化部、及び暗号化されたユーザデータを復号化するための復号化部を有すると良い。
【発明の効果】
【００３３】
本発明によると、次の効果が奏される。
本発明は、ユーザデータを格納したメモリ装置を電子計算機に接続して、ユーザデータを電子計算機上で利用するとき、電子計算機に接続された外部装置から、位置情報及び／時刻情報を取得して、ユーザデータを利用している場所、時間の確認を行うことが可能になった。これにより、ユーザは、予め設定された場所及び／又は時刻・カレンダーの範囲から出て、ユーザデータを利用できなくなった。
【００３４】
また、電子計算機上に動作している管理手段によって、電子計算機に内蔵又は接続されている全ての外部記憶装置を書き込み禁止に設定し、また、ネットワークの使用も禁止するように設定することによって、ユーザデータを複製して目的以外のことに利用することを防止し、ユーザデータを適切に管理することが可能になった。
本発明のメモリ装置によると、メモリ装置に接続された外部装置に供給される電源を切断したとき、データ通信線も切断して、メモリ装置としての安全性を高めることができた。
【発明を実施するための最良の形態】
【００３５】
以下、本発明の実施の形態を図に基づいて説明する。
〔本発明の実施の形態〕
図１には、本発明の電子データ管理システムの概要を図示している。本発明の電子データ管理システムは、メモリ装置１、電子計算機２、及び外部装置３からなる。電子計算機２は、ユーザが利用している電子計算機である。電子計算機２は、入力装置、出力装置、ＣＰＵ、メモリを備えた通常の電子計算機である。
【００３６】
メモリ装置１は、不揮発性メモリ等の記憶手段を備えたデバイスである。メモリ装置１には、個人認証のための認証データが格納することができる。更に、メモリ装置１には、ユーザデータが格納することができる。ユーザデータは、ユーザの個人情報、業務ファイル等をはじめとする電子データである。例えば、ユーザデータは、業務のノウハウが蓄積されたデータである。ユーザデータは、災害時に使用するための保険会社の復旧マニュアルであることができる。
【００３７】
また、ユーザデータは、メーカーが利用するための製品の仕様書や設計書であるころができる。更に、出版物や写真等の画像データの校正時に使うための原本の電子データであることができる。ユーザデータは、教師等が利用する授業用の教材、試験用のデータなどであることができる。ユーザデータは、プログラム等のソースコード、バイナリファイルであることができる。また更には、個人情報や顧客情報等が格納されたデータファイルであることができる。個人情報としては、例えば、氏名、住所、連絡先等の情報を意味する。顧客情報としては、例えば、顧客の氏名、名称、住所、連絡先、取引の内容等の情報である。以後は、このような個人情報や顧客情報等のデータは、単にユーザデータと記載する。
【００３８】
外部装置３は、ユーザデータの電子データを格納したメモリ装置、又は、電子計算機２に特定のデータを提供する装置である。外部装置３は、メモリ装置１に接続されている。この接続用の規格は、基本的に、任意の規格であることができる。この接続には、パラレル転送方式、シリアル転送方式の任意の規格のインターフェースが利用できる。本実施の形態では、外部装置３は、ＵＳＢ規格のインターフェースを有するものとする。
【００３９】
ＵＳＢ規格は、電子計算機と周辺機器との間にデータ伝送を行うための規格であり、「USB Mass Storage Class」という、外部記憶装置をリムーバブルドライブとして認識するための仕様が入っている。メモリ装置１、外部装置３は、このUSB Mass Storage Classに準拠し、オペレーティングシステム側が持っているMass Storage Class用のドライバを使って、メモリ装置１と電子計算機との間に電子データの送受信を行う。メモリ装置１、外部装置３は、電子計算機２のＵＳＢポートに差し込みされ、電源供給されると、オペレーティングシステムにリムーバブルドライブとして認識される。
【００４０】
本実施の形態では、外部装置３は、ＵＳＢ規格のコネクタを有しているものとして説明をする。例えば、外部装置３は、ＧＰＳに対応のＧＰＳ装置である。同様に、メモリ装置１と電子計算機２との接続には、基本的に、任意の規格であることができる。本実施の形態では、メモリ装置１は、ＵＳＢ規格のインターフェースを有するものとする。本実施の形態では、メモリ装置１は、外部装置３との接続用に、ＵＳＢ規格のインターフェースを有するものとする。
【００４１】
図２には、メモリ装置１を利用するときのフローチャートを示している。メモリ装置１に外部装置３を接続する（ステップ１）。そして、メモリ装置１を電子計算機２に接続する（ステップ３）。電子計算機２は、メモリ装置１を認識する。そして、メモリ装置１内のプログラム領域に格納されている認証モジュールが自動起動して、動作する（ステップ５）。認証モジュールは、個人認証を開始する（ステップ７）。メモリ装置１の隠し領域には、個人認証のための認証データが格納されている。
【００４２】
認証モジュールは、この個人認証を用いて、ユーザの個人認証を行う（ステップ９）。この個人認証は、パスワード認証、生態認証で等の安全性の高い認証方法を使用することができる。パスワード式の個人認証の場合は、ユーザは、電子計算機２のキーボードからパスワードを入力して、個人認証が行われる。生態認証の場合は、ユーザは、生態認証用の装置に自身の生体情報を入力して行なわれる。個人認証が成功しないとき、メモリ装置１内のユーザデータを電子計算機２に読み込んで利用することができない。
【００４３】
言い換えると、電子計算機２からメモリ装置１にアクセスし、メモリ装置１内のユーザデータを利用できない。更に、個人認証が成功しないとき、メモリ装置１に接続されている外部装置３が利用できない（ステップ１１）。個人認証が成功すると、メモリ装置１内のユーザデータが利用できる。個人認証が成功すると、外部装置３と電子計算機２が接続され、利用が可能になる（ステップ１３）。
【００４４】
そして、電子計算機１は、外部装置３からデータを取得でき（ステップ１５）、このデータの加工、編集も可能になる（ステップ１７）。更に、電子計算機１は、外部装置３から取得したデータに基づいて、メモリ装置１の制御、電子計算機１内又はメモリ装置１内の電子データの制御ができる（ステップ１７）。外部装置３が、メモリ装置の場合は、電子計算機２からデータを書き込み、メモリ装置内のデータの読み込みもできるようになる。外部装置３が、特定のデータ、例えば、位置データ又は時刻データを出力する装置場合は、電子計算機２は、これらのデータを取得して、これらのデータに基づいた処理を行う。
【００４５】
例えば、位置データ又は時刻データに基づいて、メモリ装置１内のデータの読み込み、書き込みの制御処理を行うことができる。ここで、外部装置１がＧＰＳ装置である場合を例に説明する。ＧＰＳの信号を受信し、位置情報及び／又は時刻情報を出力するものであれば、ＧＰＳ装置は、任意の種類、任意の規格準拠のものでも良い。個人認証が成功すると、電子計算機２は、ＧＰＳ装置と接続される。ＧＰＳ装置は、電子計算機２に認識され、その利用可能になる。電子計算機２からＧＰＳ装置に要求して、電子計算機２は、ＧＰＳ装置から位置情報及び／又は時刻情報を取得する。
【００４６】
位置情報及び／又は時刻情報を用いて様々な処理をすることができる。例えば、個人情報の保護の場合は、ユーザデータの利用の正当性を保証するために利用できる。言い換える、ユーザデータを利用できる場所及び／又は時刻が決められている場合、電子計算機２では、ＧＰＳ装置から取得した位置情報及び／又は時刻情報を用いて、ユーザ、又はその外部記憶装置が置かれている場所及び／又は時刻を確認し、ユーザデータの利用の許可をすることができる。無論、指定された場所、時間の範囲から出ている場合、その範囲内に入らない場合は、ユーザデータの利用が不許可になる。
【００４７】
この場合、ユーザデータは、電子計算機２、メモリ装置１、電子計算機２に接続された他のメモリ装置、及び、ネットワーク上のサーバ、ストレージデバイスに格納されている電子データであることができる。このような制御は、電子計算機２上で動作している電子データ管理プログラムによって行うことができる。このような制御は、電子データのトレーサビリティを実現するための、電子データ管理プログラムによって行うことができる。後述する実施の形態に詳しく説明するが、ここで概要のみを記述する。
【００４８】
電子データ管理プログラムは、ユーザデータを電子計算機２上で利用する環境を提供するプログラムである。言い換えると、電子データ管理プログラムは、ユーザデータが外部に漏えいしないような環境を提供している。電子データ管理プログラムは、ＧＰＳ装置から取得した位置情報及び／又は時刻情報を含むＧＰＳデータを利用して、電子計算機２が正当な環境で動作しているかを特定する。つまり、当該電子計算機２をどこで、いつ利用しようとしているかを特定する。ここでは、ユーザは、電子計算機２を直接操作して作業を行なうものとしている。
【００４９】
電子計算機２とメモリ装置１、外部装置３は、常識範囲の有線又は、無線のインターフェースで接続されているものとする。また、電子計算機２からユーザデータを読み込む等の方法でアクセスするときに、このアクセスをキャッチして、このアクセスの許可又は不許可をする。例えば、電子データ管理プログラムは、ユーザデータを読み込むときに、この読み込みのアクセスをキャッチして、特定条件に合致したときにだけ、読み込みアクセスを許可する。電子データ管理プログラムが要求して、ＧＰＳ装置からデータを取得することもできる。
【００５０】
ユーザデータは、その利用できる特定条件としては、ユーザ認証、アクセス場所、アクセス時刻等を有することができる。この特定条件は、ユーザデータの属性情報として、保存されていることが好ましい。保存先は、ユーザデータの先頭に書き込まれていることが好ましい。この属性情報は、ユーザデータを利用できる利用者、利用できる期間、利用できる場所等を指定できるデータである。電子データ管理プログラムは、ＧＰＳデータを、属性情報と照合して、利用できる期間及び／又は時刻と、利用できる場所にあるかを確認して、ユーザデータの利用を許可、又は不許可する。
【００５１】
例えば、次のように処理する。ユーザが、メモリ装置１内のユーザデータにアクセスする。電子データ管理プログラムは、ユーザのこのアクセスを検知し、取得する。電子データ管理プログラムは、ＧＰＳ装置からＧＰＳデータ取得し、これをユーザデータの属性情報とを比較する。ＧＰＳデータの位置情報が、ユーザデータの属性情報に示されているアクセスできる場所の範囲内にあるときは、ユーザデータへのアクセスを許可する。
【００５２】
ＧＰＳ情報からは、電子計算機２を利用している場所の情報をリアルタイムで取得できる。これを比較して、ユーザデータに正当な場所でアクセスしているかを常時判断できる。また、ＧＰＳ装置の時刻データを利用して、ユーザデータを正当な時間範囲内にアクセスしているかを判断する。ユーザデータへのアクセスが、許可された場所、時刻ではないときは、ユーザデータの利用を止めることができる。また、削除もできる。
【００５３】
図３は、ユーザデータのファイルの制御を示すフローチャートである。ここでいう「ファイル」は、電子データのユーザデータが特定の名前が付けられて、記録装置に保存されているものをいう。すなわち、「ファイル」は、通常のファイルをいう。電子計算機２からメモリ装置１に格納されたファイルへアクセスする（ステップ３０）。このアクセスは、まず、ファイルを読み出すことである。また、メモリ装置１に新規のファイルを書き込むことでも良い。
【００５４】
ファイルを読み出すときに、まず、ファイルの属性情報を取得する（ステップ３２）。外部装置３からデータを取得する（ステップ３４）。属性情報は、ファイルの先頭の書き込まれていることが望ましい。ファイルは、暗号化することもできる。属性情報には、このファイルにアクセスできるユーザ、アクセスできる場所の範囲、アクセスできる期間、アクセスできる時間帯等の内１以上のデータが指定されている。また、アクセスできるアプリケーションプログラムも指定することができる。
【００５５】
また、この属性情報は、ファイルとは別に、独立したファイルとして格納されることもできる。また、この属性情報は、データベースを構成し、データベースは、メモリ装置１、電子計算機２、ネットワーク上のストレージ、及び電子計算機２に接続された他の記録媒体の何れかに格納されることもできる。更に、複数のファイルの属性情報が、一覧になって別ファイルにすることもできる。そして、外部装置から取得した位置及び／又は時間に関するデータと、ファイルの属性情報を比較して、位置及び／又は時間に関するデータが属性情報の範囲内あるか否かを判断する（ステップ３６）。
【００５６】
範囲内に入らない場合は、このファイルに対して操作できない旨を表示する。よって、ユーザは、このファイルにアクセスすることができない（ステップ３８）。この不許可は、ユーザにその旨をディスプレイに表示して、警告することが望ましい。また、ユーザデータの漏洩を防ぐために、ユーザデータを削除することもできる（ステップ４０）。ユーザは、操作できない旨が表示されているにもかかわらず、同一ファイルに対して、不適切に多数のアクセスをした場合は、ユーザデータの漏洩を防ぐために、ユーザデータを削除することもできる（ステップ４０）。
【００５７】
位置及び／又は時間に関するデータが属性情報の範囲内に入る場合は、ファイルへのアクセスを許可する（ステップ４２）。具体的には、ファイルを読み出すことを許可する。また、この許可は、ファイルに追加して書き込む許可でも良い。また、ファイルを削除する許可でも良い、ファイルを複製する許可でも良い。更に、ファイルを同一メモリ領域内の別フォルダに移転しても良い。更に、ファイルを、別の記憶装置に移転、複製しても良い。
ファイルを読み出すときは、ファイルの復号化を行う（ステップ４４）。この復号化されたファイルは、適当なアプリケーションプログラムに渡されて編集等が行なわれる（ステップ４６）。
【００５８】
〔メモリ装置の構成〕
本発明のメモリ装置１の構成例を、図４の（ａ）、（ｂ）に図示している。図４（ａ）は、正面図であり、図４（ｂ）は裏面図である。メモリ装置１は、第１端子１１、ハブコントローラ１２、ポートコントローラ１３、切り替え器１４、メモリコントローラ１５、メモリ１６、第２端子１７からなる。第１端子１１は、メモリ装置１を電子計算機２に接続するためのコネクタである。メモリ１６は、ユーザデータを記憶するためのメモリである。第２端子１７は、メモリ装置１に外部装置３を接続するためのコネクタである。
【００５９】
外部装置３は、通常は不揮発性メモリであることができる。外部装置３は、ＧＰＳ装置、電波時計、携帯電話機等であることができる。本実施の形態では、ＧＰＳ装置として説明する。切り替え器１４は、外部装置３と、電子計算機１とのデータ通信を制御するものである。具体的には、外部装置３と、電子計算機１との通信回線を接続、切断する素子である。ポートコントローラ１３は、切り替え器１４の動作を制御するものである。ハブコントローラ１２は、電子計算機１とメモリ１６との通信と、及び、電子計算機１と外部装置３との通信を制御するものである。
【００６０】
ハブコントローラ１２は、ＵＳＢ規格のハブとして機能するものである。メモリ装置１は、その動作状況を示す表示器１８を有する。図５には、メモリ装置１の主要な構成部分をブロック図で示している。図４には、メモリ装置１の主要な構成部分をブロック図で示している。表示器１８は、メモリ装置１の動作を示すものである。ここでは、第１端子１１は、ハブコントローラ１２と接続されている。ハブコントローラ１２には、メモリコントローラ１５、切り替え器１４、及びポートコントローラ１３が接続されている。
【００６１】
メモリコントローラ１５は、メモリ１６と接続されている。ポートコントローラ１３は、切り替え器１４とも接続されている。切り替え器１４は、第２端子１７とも接続されている。図６には、図５と同様なブロック図を示し、この図５に加えて電源関係の要素も図示している。電源関係の要素としては、電源変換器１９、電源スイッチ２０がある。電源変換器１９は、各デバイスに接続されるが、この接続の様子は、本発明の要旨でもないのでこれを省略しており、その詳細は細かく図示していない。
【００６２】
電源変換器１９は、第１端子１１に接続され、電子計算機２の電源回線（図示せず。）に接続されている。電源変換器１９は、電源回線から印加された電圧を変換して、各デバイスに対応する電源として各デバイスに印加している。また、電源スイッチ２０は、第１端子１１、第２端子１７に接続されている。電源スイッチ２０は、第２端子１７に接続された外部装置３に電源を供給するためのものである。表示器１８は、メモリ装置１の動作状態を示す素子である。表示器１８は、メモリ装置１が動作する様子を、ユーザに視覚的に、又は、聴覚的に提供するものであれば、公知の原理、手段のものを利用できる。
【００６３】
表示器１８は、例えば、ＬＥＤ、スピーカ、ランプ等である。本実施の形態では、表示器１８にＬＥＤを採用している。メモリ装置１は、ＵＳＢ規格に準拠している。第２端子１７に接続された外部装置３は、メモリ装置１を介して、電子計算機２から電源供給されている。具体的には、第２端子１７に接続された外部装置３は、電源スイッチ１７から電源供給される。
【００６４】
ＵＳＢ規格では、外部装置３に電源供給されている場合は、外部装置３はそれに接続されている他の装置、コンピュータとデータ通信ができる。外部装置３は、メモリ装置１ではなく、外部から電源供給されている場合を想定する。この場合は、外部装置３は、メモリ装置１に接続されている場合は、そのデータ通信用の回線がハブコントローラ１２に接続されている。メモリ装置１内の切り替え器１４は、このデータ通信回線を切断、接続する目的で利用される。
【００６５】
電源スイッチ２０から外部装置３に電源供給されていない状態で、外部装置３が電子計算機２とデータ通信できないようにするために、切り替え器１４は、回線を切断する。すなわち、この状態で、切り替え器１４は、外部装置３と、ハブコントローラ１２との接続回線を切断する。
【００６６】
図７には、メモリ装置１のメモリ１６の構成の例を示したブロックである。メモリ装置１は、電子データやコンピュータプログラム等を格納するためのユーザ領域３２と、プログラム領域３１を備えている。ユーザデータは、メモリ装置１のユーザ領域３２に格納され、メモリ装置１の初期設定では外部からアクセスすることができない。メモリ装置１には、プログラム領域３１に認証プログラムが格納されている。更に、メモリ装置１には、プログラム領域３１に電子データ管理プログラムが格納されている。
【００６７】
プログラム領域３１は、メモリ装置１が電子計算機２に接続され、正当な使用であることが認識されたら、電子計算機２から直接アクセスすることができる。メモリ装置１が電子計算機１に接続され、電子計算機１に自動認識されたら、プログラム領域３１が使用可能になる。これにより、プログラム領域３１に電子計算機２からアクセスして、プログラム領域３１に格納されているプログラムと読み出して実行できる。また、プログラム領域３１に格納されているプログラムは、自動起動して、電子計算機２で動作することができる。
【００６８】
プログラム領域３１には、認証プログラムが格納されている。この認証プログラムは、ユーザの個人認証を行う。また、この認証プログラムは、電子計算機２の動作環境をチェックして、電子計算機２上にインストール、又は、動作しているプログラムを確認することができる。電子計算機２上に電子データ管理プログラムがインストールされていない場合は、この認証プログラムは、電子データ管理プログラムをメモリ装置１から読み出して、電子計算機２にインストールすることができる。
【００６９】
電子計算機２上に電子データ管理プログラムがインストールされていない場合は、この認証プログラムは、メモリ装置１に格納されている電子データ管理プログラムを起動させて、電子計算機２上に起動させることができる。更に、メモリ装置１のメモリ１６は、ユーザの利用によって任意の部分に分けることができる。例えば、メモリ１６は、ＣＤ領域、リムーバブルディスク領域、隠し領域からなることができる。メモリ１６は、ユーザデータ領域、隠し領域からなることができる。
【００７０】
メモリ１６は、複数のユーザデータ領域からなることできる。また、メモリ１６は、複数の隠し領域からなることもできる。また、メモリは、ＤＶＤ、ＣＤ、フレキシブルディスク（登録商標）、ハードディスク等の任意の記録媒体、又は記録媒体の領域を有することができる。これらの多数の領域は、上述の認証プログラム、電子データ管理プログラムを適当に格納することができる。
【００７１】
図８には、電子計算機２上で動作するソフトウェアの概要を図示している。メモリ装置１は、電子計算機のＵＳＢポートＥ３に接続に接続されている。外部装置３は、メモリ装置１に接続されている。ここで、電子計算機２上で動作するオペレーティングシステム４０、及び、電子データ管理プログラムの概要を説明する。本実施の形態においては、オペレーティングシステム４０は、Microsoft社のWindows XP（登録商標）である。しかし、これは、オペレーティングシステム４０を制限するものではなく、同様な機能を実現できれば、オペレーティングシステムの種類は問わない。
【００７２】
アプリケーションプログラム４１がオペレーティングシステム４０の上で動作する。また、電子計算機２は、ハードディスクＥ４等の外部記憶装置を備える。電子計算機２は、周辺機器と接続するためのコネクタＥ１を有する。コネクタＥ１は、ＲＳ―２３２Ｃ、ＩｒＤＡ、ＵＳＢ、ＩＥＥＥ１３９４等のシリアルポート、ＩＥＥＥ１２８４、ＳＣＳＩ、ＩＤＥ等のパラレルポートであることが好ましい。電子データ管理プログラムは、図８に図示したアプリケーションプラットフォームプログラム４２と、ドライバウェア５０とから構成される。
【００７３】
アプリケーションプラットフォームプログラム４２は、オペレーティングシステム４０のユーザモード４３で動作するアプリケーションソフトウェアである。ドライバウェア５０は、オペレーティングシステム４０のカーネルモード４４で動作するプログラムである。アプリケーションプラットフォームプログラム４２とドライバウェア５０の動作と機能については、後述する。電子計算機２は、キーボード８２、マウス８３等の入力装置、ディスプレイ（図示せず。）等の出力装置、ハードディスクＥ４等の外部記憶装置、メインメモリ（図示せず。）等のメモリを備えている。
【００７４】
電子計算機２は、外付けハードディスク、スキャナ、プリンタ等の周辺機器を有することができる。これらの周辺機器は、コネクタＥ１に接続される。ハードディスクＥ４は、電子計算機２に内蔵されている。電子計算機２は、オペレーティングシステム４０によって制御されて動作する。電子計算機２上で動作するアプリケーションプログラム４１は、オペレーティングシステム４０が提供する機能を利用して、入出力装置からの入出力を行い、必要な処理をする。
【００７５】
アプリケーションプログラム４１は、オペレーティングシステム４０のカーネルモード４４又はユーザモード４３に動作する実行可能なファイル又はソフトウェアである。例えば、アプリケーションプログラム４１は、ワードプロセッシングソフトウェア、テキストエディタ等の文書を作成、編集するためのソフトウェアであると良い。更には、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)。
ここで、オペレーティングシステム４０の構成要素の内の代表的なものから記述する。オペレーティングシステム４０は、サブシステム４５、エグゼキュティブ４６、カーネル４７、デバイスドライバＤ１〜Ｄ５、ハードウェア抽象化層（ＨＡＬ）４８から構成される。
【００７９】
サブシステム４５は、オペレーティングシステム４０のユーザモード４３で提供されるサービスである。エグゼキュティブ４６は、メモリの管理、プロセスとスレッドの管理、セキュリティ、Ｉ／Ｏ、ネットワーク、及びプロセス間通信等のオペレーティングシステム４０の基本的なサービスを提供するものである。カーネル４７は、スレッドスケジューリング、割り込み、例外通知、マルチプロセッサの同期等の低レベルの関数を提供する。また、カーネル４７は、エグゼキュティブ４６の内部で使用するルーチンセットと基本オブジェクトを提供する。
【００８０】
デバイスドライバＤ１〜Ｄ５は、通常は、電子計算機２に接続されたハードウェアごとに作られ、ハードウェア抽象化層４８を介して、そのハードウェアＥ１〜Ｅ６を直接制御するものである。デバイスドライバＤ１〜Ｄ５は、アプリケーションプログラム４１やオペレーティングシステム４０からの入出力機能の要求（Ｉ／Ｏ呼び出し要求）を特定のハードウェアデバイスＥ１〜Ｅ６に対する入出力機能の要求（Ｉ／Ｏ要求）に変換するサービスと、ファイルシステムやネットワークドライバ等のシステムサービスを提供する。
【００８１】
ハードウェア抽象化層４８は、カーネル４７、デバイスドライバＤ１〜Ｄ５、及びエグゼキュティブ４６をプラットフォーム固有のハードウェア機能から分離し抽象化するためのコード層である。ハードウェア抽象化層４８は、電子計算機２の内蔵デバイスや、電子計算機２に接続されている外部デバイス等のハードウェアの機種、種類による違いを吸収し、オペレーティングシステム４０の各サービスに対して抽象化したサービスを提供する。オペレーティングシステム４０を構成する各種のサービスは、ハードウェアの機種、種類による違いを意識することなくハードウェアにアクセスすることが可能になる。
【００８２】
〔ドライバウェア５０〕
ドライバウェア５０は、デバイスドライバ間のデータの送受信をカーネルモードで実現するためのものである。ドライバウェア５０は、アプリケーションプログラム４１からデバイスドライバＤ１〜Ｄ５へアクセスするとき、また、デバイスドライバＤ１〜Ｄ５からアプリケーションプログラム４１へデータを送信するときに、共通のインターフェースを提供する。ドライバウェア５０は、オペレーティングシステム４０のカーネルモード４４で動作する。
【００８３】
ドライバウェア５０は、デバイスドライバＤ１〜Ｄ５間だけではなく、オペレーティングシステム４０と複数のデバイスドライバＤ１〜Ｄ５とのデータの送受信を提供する機能を有する。ドライバウェア５０の例としては、電子計算機のインターフェースドライバプログラムとしてＷＯ０２／０９１１９５号公報等に開示されている周知の技術である。ドライバウェア５０は、アプリケーションプログラム４１からの命令やデータ等を受信し、アプリケーションプログラム４１へのデータを送信するためのアプリケーションプログラムインターフェース部５１を有する。
【００８４】
ドライバウェア５０は、ドライバウェア５０の全体の動作を制御するための制御部５２を有する。また、ドライバウェア５０の動作の履歴を取得するためのログ取得部５３も有する。更に、ドライバウェア５０は、デバイスドライバＤ１〜Ｄ５を制御するためのデバイスドライバ制御部４２〜４４を有する。ドライバウェア５０は、通信するデータを暗号化するための暗号化部５４、暗号化されたデータを復号化するための復号化部５５を有する。制御部５２は、デバイスドライバ制御部Ｃ１〜Ｃ４、アプリケーションプログラムインターフェース部５１、ログ取得部５３、暗号化部５４、復号化部５５等のドライバウェア５０の他の部を制御し、監視するためのもので、ドライバウェア５０の中核部である。
【００８５】
〔アプリケーションプラットフォームプログラム４２〕
アプリケーションプラットフォームプログラム４２は、アプリケーションプログラム４１と、オペレーティングシステム４０との間に位置し、これらの間に命令やデータの送受信を仲介し制御するためのアプリケーションプログラムである。アプリケーションプラットフォームプログラム４２は、オペレーティングシステム４０のユーザモード４３で動作する。
【００８６】
アプリケーションプラットフォームプログラム４２は、オペレーティングシステム４０のファイルシステムにアクセスするためのユーザインターフェースを提供するためのアプリケーションプログラムである。アプリケーションプラットフォームプログラム４２は、アプリケーションプログラム４１の起動、これに伴うプロセスの起動を監視し、これらの属性情報を取得する機能を有する。アプリケーションプラットフォームプログラム４２は、Windowsエクスプローラと互換性があるアプリケーションプログラムであることが特に好ましい。
【００８７】
このシリアル転送方式は、１本の信号線で１ビットずつデータを伝送するデータ伝送の方式である。パラレル転送方式は、複数の信号線で同時に複数のビットを転送するデータ伝送の方式である。電子計算機２に内蔵されたデバイス、電子計算機２とその周辺機器間のデータ伝送に用途ごとに最適なインターフェースを使用している。ここで、その代表的なものから例示する。記憶装置の場合は、パラレル転送方式が高速で、この伝送方式を採用することが多いが、ＵＳＢ規格の普及により、ＵＳＢポートを利用することが多くなっている。
【００８８】
電子計算機２とプリンタとの通信には、ＩＥＥＥ１２８４ポート、ＵＳＢポートを利用することが多く、またネットワークを介することもある。電子計算機２は、ネットワーク８１に接続するためのネットワークカードＥ２を備えている。更に、メモリ装置１等のＵＳＢ規格準拠の機器を接続するためのＵＳＢポートＥ３を備えている。これらのコネクタＥ１、ネットワークカードＥ２を直接制御し、通信を行うためのプログラムは、それぞれのデバイスドライバであるインターフェースドライバＤ１、ネットワークドライバＤ２である。
【００８９】
本実施の形態においては、デバイスドライバＤ１〜Ｄ５は、オペレーティングシステム４０に付属するものと記述する。インターフェースドライバＤ１は、コネクタＥ１を制御するためのデバイスドライバである。ネットワークドライバＤ２は、ネットワークカードＥ２を制御するためのデバイスドライバである。ファイルシステムドライバＤ３は、ハードディスクＥ４等の外部記憶装置に保存されているファイル、フォルダに関する情報を管理するもので、ハードディスクＥ４に保存されているファイルやフォルダへのアクセスを提供するものである。
【００９０】
ファイルシステムドライバＤ３は、電子計算機２に接続されたＵＳＢ規格準拠の記憶装置へのアクセスも提供する。このアクセスは、オペレーティングシステム４０のMass Storage Class用のドライバ（図示せず）を介して行われる。アプリケーションプログラム４１は、電子計算機２にインストールされた又は、動作しているソフトウェアである。アプリケーションプログラム４１は、オペレーティングシステム４０のユーザモード４３上で動作する。アプリケーションプログラム４１は、ハードディスクＥ４にアクセスして、必要なファイルを読み込んだり、書き込んだりする。
【００９１】
また、アプリケーションプログラム４１は、Windows（登録商標）のカーネルモード４４で動作する一部のプログラムをも意味する。ドライバウェア５０は、アプリケーションプログラム４１からデバイスドライバＤ１〜Ｄ５へアクセスするとき、また、デバイスドライバＤ１〜Ｄ５からアプリケーションプログラム４１へデータを送信するときに、共通のインターフェースを提供する。ドライバウェア５０は、アプリケーションプログラムインターフェース部５１、制御部５２、ログ取得部５３等を有する。
【００９２】
ドライバウェア５０は、通信するデータを暗号化するための暗号化部５４、暗号化されたデータを復号化するための復号化部５５を有する。また、ドライバウェア５０は、インターフェースドライバＤ１を制御するためのインターフェース制御部Ｃ１を有する。ドライバウェア５０は、ネットワークドライバＤ２を制御するためのネットワーク制御部Ｃ２を有する。ドライバウェア５０は、ファイルシステムドライバＤ３を制御するためのファイルシステム制御部Ｃ３を有する。
【００９３】
制御部５２は、インターフェース制御部Ｃ１、ネットワーク制御部Ｃ２、ファイルシステム制御部Ｃ３等のドライバウェア５０の他の部を制御し、監視するためのもので、ドライバウェア５０の中核部である。メモリ装置１等の記憶装置は、電子計算機２に接続されると、その装置のデバイスドライバによって認識された後、ファイルシステムドライバＤ３から制御される。ドライバウェア５０のインターフェース制御部Ｃ１、ネットワーク制御部Ｃ２、ファイルシステム制御部Ｃ３等は、電子計算機２のデバイスドライバＤ１〜Ｄ５を制御することで、最終的には、電子計算機２に接続又は内蔵されているデバイスを制御するものと理解することができる。
【００９４】
つまり、電子計算機２に接続又は内蔵されているデバイスを制御するためには、既存のデバイスドライバＤ１〜Ｄ５を利用している。ドライバウェア５０は、デバイスドライバＤ１〜Ｄ５がオペレーティングシステム４０の他の構成部分との通信しているインターフェースをカーネルモードで制御している。
【００９５】
〔ユーザデータの閲覧動作〕
図９は、電子計算機２において、ユーザデータをメモリ装置１から読み出して閲覧するときの流れを示すフローチャートである。メモリ装置１は、電子計算機２に接続される（ステップ７０）。電子計算機２は、メモリ装置１を認識する（ステップ７２）。このとき、オペレーティングシステム４０は、ＰｎＰ機能を利用してメモリ装置１の接続を検知して認識する。メモリ装置１の複数のメモリ領域の内のプログラム領域３１は、電子計算機２に認識される。
【００９６】
メモリ装置１が認識されると、メモリ装置１のプログラム領域３１に格納されている認証プログラムが自動起動する（ステップ７４）。認証プログラムは、電子計算機２に電子データ管理プログラムがインストールされているか否かの認証を開始する（ステップ７４）。認証プログラムは、電子計算機２に電子データ管理プログラムがインストールされているかを確認する（ステップ７６）。
【００９７】
電子データ管理プログラムがインストールされていない場合は、プログラム領域３１に格納されている電子データ管理プログラムを電子計算機２に自動的にインストールする（ステップ７６→９９）。このとき、ユーザが電子データ管理プログラムをインストールする必要がある旨のメッセージを表示する。更に、電子データ管理プログラムのインストールの承認をユーザに求めるメッセージを表示、ユーザがそれに対して、指定されたボタン等を押して意思表示することができる。
【００９８】
更に、ユーザは、このメッセージを受け取り、ユーザ自身が手動で電子データ管理プログラムをインストールすることもできる。電子データ管理プログラムが電子計算機２にインストールされている場合は、パスワードによる個人認証を行う（ステップ７７）。個人認証が成功すると電子データ管理プログラムを制御モードにさせる（ステップ７８）。制御モードの詳細については、図１１のフローチャート、及びその説明に示している。
【００９９】
電子データ管理プログラムの制御モードの設定が終わると、認証プログラムは、メモリ装置１のユーザ領域３２を電子計算機２に認識させる。よって、ユーザ領域３２は電子計算機２からアクセスできるようになり、利用可能になる（ステップ８０）。ユーザデータの読み出しが許可され、暗号化されたユーザデータの自動復号化も許可される（ステップ８２）。
【０１００】
ユーザは、メモリ装置１に格納されているユーザデータを読み出すように指示をする。電子計算機２上のアプリケーションプログラムから、メモリ装置１に対してユーザデータを読み込む要求が送信される（ステップ８４）。この要求を、電子データ管理プログラムが取得する。そして、電子データ管理プログラムは、ユーザデータの当該ファイルの属性情報を取得する。電子データ管理プログラムは、この属性情報を分析する（ステップ８６）。
【０１０１】
この分析では、当該ファイルにアクセスできる場所、時間、ユーザ等が指定されているかを確認する。ユーザが指定されている場合は、個人認証されて現在ログインしているユーザにあてはまるかを確認する。この確認が済むと次の条件を確認する。電子データ管理プログラムは、場所及び／又は時間に関する条件を確認する。この条件がある場合は、電子データ管理プログラムは、外部装置２から位置情報及び／又は時刻情報を取得する（ステップ８８）。そして、外部装置２から取得した位置情報及び／又は時刻情報が、属性情報の条件に合うときに、ユーザデータを読み出す（ステップ９０）。
【０１０２】
条件に合わない場合は、ユーザがこのユーザデータを利用できない旨のメッセージを表示する（ステップ９２）。メモリ装置１から読み出されたユーザデータは、復号化される（ステップ９４）。復号化されたユーザデータは、電子計算機２のディスプレイ等の出力装置に表示される（ステップ９６）。電子データ管理プログラムは、制御モード（図１１の説明を参照。）に入ると、ハードディスクＥ４、電子計算機２に接続されている他の周辺機器にユーザデータを保存できないように各装置へのアクセスを制限している。
【０１０３】
このために、クライアント１１は、ユーザデータをハードディスクＥ４や、電子計算機２に接続されている周辺機器に保存することができない。更には、電子データ管理プログラムは、制御モードに入ると、ネットワーク機能、各種の通信ポート、クリップボードの利用、スクリーンキャプチャ、コピー＆ペースト機能等も使用禁止の設定にしている。よって、ユーザデータは、閲覧し、これを編集して、メモリ装置１に書き込みすることがでいる。言い換えると、ユーザデータ、又は、その一部を、又は、ユーザデータから派生したデータを、メモリ装置１以外のメモリ装置に、保存、移動、複製する操作ができなくなる。
【０１０４】
図１０は、電子データ管理プログラムの動作を示すフローチャートである。電子データ管理プログラムは、メモリ装置１に格納されて、ユーザに提供される。電子データ管理プログラムは、電子計算機２にインストールされる（ステップ１００）。このインストールは、メモリ装置１を電子計算機２に接続し、認識された後で、電子データ管理プログラムは、自動的に起動して、電子計算機２にインストールされることができる。また、認証プログラム等の他のプログラムの指示によって、電子計算機２にインストールされることができる。そして、電子データ管理プログラムは、起動されて、動作を開始する（ステップ１０２）。
【０１０５】
電子データ管理プログラムは、制御モードをオンにする（ステップ１０６）。または、
認証プログラム等の他のプログラムから指示によって、制御モードをオンにすることもできる。電子データ管理プログラムが制御モードに設定されると、認証プログラムは、メモリ装置１内のユーザ領域３２をオペレーティングシステム４０に認識させて、利用可能な状態にする（図９のステップ８０を参照。）。
【０１０６】
電子データ管理プログラムは、アプリケーションプログラムからメモリ装置１へのアクセスを監視する。メモリ装置１へのアクセスがあると、それを電子データ管理プログラムが受信する（ステップ１０８）。電子データ管理プログラムは、アクセスの種類を確認する（ステップ１０８）。許可されているアクセスか否かを確認する（ステップ１１０）。許可されているアクセスのときは、ユーザデータをメモリ装置１から読み出す（ステップ１１２）。電子データ管理プログラムは、メモリ装置１から読み出したユーザデータを復号化する（ステップ１１４）。
【０１０７】
電子データ管理プログラムは、ユーザデータへのアクセスが許可されているアクセスか否かを確認する。この確認作業は、ユーザデータの属性情報を参照して行なわれる。属性情報に、アクセスできる場所の指定がある場合は、次のように処理する。電子データ管理プログラムは、メモリ装置１に接続されている外部装置３から位置情報を取得する。この取得した位置情報が、指定された場所に合致しているか否かを確認する。合致するとき、アクセスを許可する。合致しないときは、アクセスを不許可する。属性情報に、アクセスできる時間の指定がある場合は、同様に、外部装置３から時刻情報を取得して、同様に処理する。
【０１０８】
復号化されたユーザデータは、電子計算機２の出力装置に表示される（ステップ１１６）。許可されていないアクセスのときは、電子データ管理プログラムはそのアクセスを破棄する（ステップ１１０、１２０）。このとき、不許可にされたアクセスである旨のメッセージをディスプレイに表示する等ことも可能である（ステップ１２２）。電子データ管理プログラムは、継続して監視する（ステップ１１８）。ユーザデータは、データの種類によるが、適当なアプリケーションプログラム４１を起動させて表示される。
【０１０９】
例えば、ユーザデータは、読み込み専用場合、ユーザデータは、適当なアプリケーションプログラム４１に渡されて表示される。ユーザは、キーボードやマウス等の入力装置を操作しながらこのアプリケーションプログラム４１を操作してユーザデータを閲覧する。しかし、このアプリケーションプログラム４１からユーザデータを保存することはできない。また、ユーザデータを利用して新しく作成したファイルも保存することができない。また、ユーザデータの一部を他のアプリケーションプログラムに渡したり、送信したりすることもできない。ユーザは、ユーザデータを閲覧することだけができる。
【０１１０】
制御モードの設定によるが、ユーザデータを編集するとき、このアクセスが中断される。また、ユーザデータをハードディスクＥ４等の記憶装置、記録媒体に記録するときもそれを中断する。ここで、電子データ管理プログラムの制御モードのときの動作について説明する。制御モードは、電子データ管理プログラムが電子計算機のどの機能を監視し、どのようなデータの流れを制御するかを定めたものである。制御モードがオンとは、電子データ管理プログラムが電子計算機を監視し、電子計算機の機能の一部を制限している状態をいう。制御モードがオフとは、電子データ管理プログラムが電子計算機上に動作しているが、電子計算機の機能を特に制限していない状態をいう。
【０１１１】
図１１は、電子データ管理プログラムが制御モードをオンにするときの動作を示すフローチャートである。図９のステップ７８、図１０のステップ１０６に示すように、電子データ管理プログラムが制御モードをオンにする（ステップ１３０）。このとき、電子データ管理プログラムは、電子計算機２に内蔵されたハードディスクＥ４への書き込みを禁止にする（ステップ１３１）。また、電子データ管理プログラムは、リムーバブルドライブへの書き込みを禁止にする（ステップ１３２）。
【０１１２】
一般的に、リムーバブルドライブにはメモリ装置１も含まれるが、この場合は、メモリ装置１のみが例外で、この設定から排除される。他の、ＵＳＢメモリ等のメモリ装置は、書き込みを禁止にする設定に設定される。よって、アプリケーションプログラム４１又はオペレーティングシステム４０からは、メモリ装置にデータを書き込みしようとするとき、ドライバウェア５０がこれを検知して書き込みの動作を中止させる。メモリ装置１、内蔵のハードディスクの他に記録装置が電子計算機２に接続されているときは、それらへの書き込みを禁止にする（ステップ１３４）。
【０１１３】
例えば、リムーバブルドライブ、フレキシブルディスクドライブ、外付けハードディスク等である。更に、電子データ管理プログラムは、ネットワーク通信の使用を禁止する（ステップ１３６）。例えば、ネットワーク通信の使用としては、ネットワークカードＥ２を介してインターネット、ＬＡＮ等のネットワーク８１へのアクセス、コンピュータ同士の通信が含まれる。このメモリ装置１の他のインターフェースの使用を禁止する。例えば、ＵＳＢ、ＳＣＳＩ、ＩＤＥ、ＲＳ−２３２Ｃ規格のインターフェースの使用を禁止にする（ステップ１３８）。
【０１１４】
更に、電子データ管理プログラムは、コピー＆ペースト、クリープボードの使用、ネットワーク機能を禁止にする（ステップ１３９）。また、電子データ管理プログラムは、スクリーンキャプチャの使用も禁止にする（ステップ１３９）。電子データ管理プログラムは、オペレーティングシステム４０の正常な動作に必要なプロセスを指定し、例外設定をする（ステップ１４０）。例えば、オペレーティングシステム４０の動作に必要な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）の形式で行われる。ファイルアクセスに関しては、次の表１に示すＩＲＰが利用される。このＩＲＰを対象にコールバック関数を設定することで、イベント検出を行う。コールバック関数は、エグゼキュティブ４６（図２参照）のプロセスマネージャに登録され、コールバック関数が実行されると参照先のドライバウェア５０に制御が移動される。
【表１】
2009237625.tif 000003
【０１３７】
本発明の電子データ管理プログラムによっては、ユーザデータを格納しているメモリ装置１にアクセスしようとするアプリケーションプログラム４１、プロセスだけにターゲットを絞って制御を行うことができる。このように電子計算機２上に動作する他のアプリケーションプログラム４１、オペレーティングシステム４０のサービスを無理に制限しなく、ユーザデータ３のみにアクセスする試みを監視し、そのアクセスを許可又は不許可して制御を行う。
【０１３８】
更に、ユーザデータ３にアクセスしてアプリケーションプログラム４１、そのプロセスのネットワーク機能、他の記録装置へのアクセスを遮断し、更にクリップボード等のユーザデータ３を複製しそうな機能の使用を禁止する。これによって、ユーザデータ３が外部へ流出されることなく使用することができる。
【０１３９】
〔ファイルの属性情報の例〕
図１７には、ファイルの属性情報の例を示している。図１７には、ファイルの属性情報の例として、「番号」欄、「ファイル名」欄、「期間」欄、「時間」欄、及び「場所」欄がある。「番号」欄は、属性情報が登録されたファイルの登録の順番を示すものである。「ファイル名」欄は、登録されたファイルの名前を示すものである。「期間」欄は、ファイルをアクセスできる期間を示すものである。
【０１４０】
ここでは、期間の例として、年月日で指定している。この期間は、日で指定できる。また、月でも、年でも指定できる。更に、曜日、特定の祝日、又は、特定の祝日、日を排除して指定できる。「時間」欄、ファイルをアクセスできる時間、時間帯を示すものである。ここでは、時間の例として、時間と分の単位で指定しているが、時間だけでも指定できる。更に、昼、夜などと指定できる。「場所」欄は、ファイルをアクセスできる場所を示すものである。
【０１４１】
「場所」欄は、ファイルをアクセスできる場所の範囲を示すものである。ここでは、場所の例として、地球上の座標で、「東経１３７度」、「北緯３０度」等のように指定している。更に、「Tokyo、Japan」等と行政区分でも指定できる。更に、「会社の敷地内」等と指定できる。このように、指定すると、これらに連動し、座標を表す別のデータが必要になり、それを参照して、座標を取得する。また、「場所」欄は、ユーザの行動範囲としても利用することもできる。
【０１４２】
ここでは、少数の例を掲げたが、「場所」欄、「時間」欄、「場所」欄に例示したものを任意に組み合わせて利用できる。
【０１４３】
〔ログ取得について〕
ログ取得部５３は、ユーザがメモリ装置１のファイルにアクセスするアクセスの履歴を取得して、メモリ装置１内に保存する。この履歴は、ユーザ領域３２に保存されることができる。この履歴は、ユーザ領域３２に暗合されて保存されることが好ましい。履歴には、外部装置３から取得した時間情報、位置情報が含まれる。後で、この履歴を分析することで、ユーザは、どこで、いつ、どのファイルを、どのようにアクセスしたかを把握できる。無論、ユーザは、使用範囲から出て、ファイルにアクセスしようとしたデータも履歴として残る。
【０１４４】
〔ＧＰＳについて〕
本実施の形態において、外部装置３の実施の携帯として、ＧＰＳ装置を主に例に説明した。ＧＰＳ装置は、ＧＰＳ受信機を内部搭載したものである。ＧＰＳ受信機は、ＧＰＳ衛星からの信号を受信して、処理し、結果的に、ＧＰＳ装置は、時刻情報、位置情報を出力するものである。ここで、もう少し詳しく説明する。ＧＰＳ衛星からの信号には、ＧＰＳ衛星に搭載された原子時計からの時刻のデータ、衛星の軌道等が含まれている。ＧＰＳ受信機にも正確な時刻を知ることができる時計が搭載されているならば、ＧＰＳ衛星からの電波を受信し、発信-受信の時刻差に電波の伝播速度(光の速度と同じ30万km/秒)を掛けることによって、その衛星からの距離がわかる。
【０１４５】
３個のＧＰＳ衛星からの距離がわかれば、空間上の一点は決定できるが、ＧＰＳ衛星からの信号干渉、ＧＰＳ装置の内部時計の誤差もあり、高い精度がでない。そのため、通常は、４つのＧＰＳ衛星からの電波を受信し、ＧＰＳ受信機の内部時計の校正を行ないつつ測位を行なう。現在、民生用のＧＰＳ受信機は、航空機、船舶、測量機器、登山用の携帯機器等に幅広く利用される。更に、カー・ナビゲーション・システム、携帯端末、携帯電話機、ノートパソコン等に搭載されている。
【０１４６】
更に、鉱山機械、高級自動車の管理、産業廃棄物の不法投棄の監視追跡管理等のシステムにも応用されている。特に、セキュリティ分野の用途が広がっている。ＧＰＳは、基本的にＧＰＳ衛星からの電波が直接届くところでしか利用できない。そのため、ＧＰＳの信号が届きにくく、測位の利用効率が悪い都市部のビル街や山間地における測位利用率を大幅に改善することが求められている。その改善として、室内でＧＰＳ信号を利用できるシステムが多数考案されている。
【０１４７】
その一つは、宇宙航空研究開発機構（JAXA） が開発を進めている準天頂衛星システムであるこのシステムによれば、衛星からの測位信号が届かない屋内や地下街などにおいても、屋外と同じように測位できる。詳しくは、地上補完装置（IMES：Indoor Messaging System）として、JAXAで標準仕様を公開している。このシステムでは、屋内ＧＰＳとは、ＧＰＳ衛星と同等の信号を送信する擬似的な衛星のことである。電波の届きにくい屋内においても、正確な測位ができるように考案されたシステムである。
【０１４８】
IMESは、日本の測位衛星システムである「準天頂衛星」の枠組みから発案され、米国ＧＰＳから正式に衛星番号を取得している。そのため、IMES対応のＧＰＳ受信機を搭載した端末であれば、特別な測位機能を搭載することなく利用できるため、携帯電話、PDAでもできる。ＧＰＳやその他の多くの測位手法ではマルチパスが原因で大きな精度劣化となり、場所特定が難しい。IMESは、メッセージとして位置情報を読み取るので、確実な場所特定ができる。IMESは、衛星軌道データの替わりに、送信機の設置場所の位置データを送る方式である。
【０１４９】
よって、ＧＰＳ受信機の対応が簡単である。送信されたメッセージには、位置の他にフロア階も含まれ、ビルの特定や部屋の特定も可能である。ＩＭＥＳは、ＧＰＳ衛星と同じ信号方式であるので、ＧＰＳとあわせて屋外と屋内のシームレスな測位が可能である。ＧＰＳ機能が搭載された端末であれば、軽微な改修で、ＩＭＥＳに対応ができ、特別なインターフェースを用意する必要がない。
【０１５０】
本願発明は、このように、外部装置のＧＰＳ装置が、ＩＭＥＳ対応のＧＰＳそうちであることが好ましい。よって、ユーザデータのトレーサビリティを屋外、屋内でも実現できる。特に、セキュリティ要求が強く求められる情報に関しては、建物毎に、そして、建物フロア毎に、管理することができる。具体的には、電子データ管理装置は、ＩＭＥＳ対応のＧＰＳ装置から、位置情報を取得した、測位地点がセキュリティが実施されている場所であるかを明確に確認できる。例えば、建物の何階からアクセスしているも把握できる。
【０１５１】
〔電子データ管理システムの第２の実施の形態〕
図１８には、本発明の電子データ管理システムの第２の実施の形態の概要を図示している。本発明の電子データ管理システムは、ホスト装置１０２、メモリ装置１０１、及び電波時計１０３からなる。ホスト装置１０２は、上述の実施の形態で説明した電子計算機２であっても良い。ホスト装置１０２は、ＰＤＡ等の携帯可能な計算機でも良い。ホスト装置１０２の基本的な動作は、上述の電子計算機２と同様であり、ここでは、電子計算機２とホスト装置１０２の異なる部分のみについて説明する。
【０１５２】
メモリ装置１０１は、上述のメモリ装置１である。電波時計１０３は、電波によって時刻情報を受信する電波時計である。電波時計１０３は、正確な時計情報をメモリ装置１０１、ホスト装置１０２に提供している。電波時計１０３は、広義に、電波を利用して時刻情報を取得するものを意味する。例えば、ＧＰＳ受信機、携帯電話機、テレビやラジオ放送の時報等は、広義の電波時計として利用できる。ＢＳデジタルや地上デジタルなどのデジタル放送の時計情報は、電波時計１０３として利用できる。
【０１５３】
すなわち、デジタル放送では、放送波の中にTOT(Time Offset Table)として現在時刻が織り込まれている。更に、テレビやラジオ放送の時報も電波時計１０３として利用できる。このように、メモリ装置に時刻情報を送信するものであれば、その種類は問わない。実時間の正確性を求める場合は、標準電波がもっとも好ましい。狭義の電波時計１０３は、この標準電波（日本ではJJY）を受信して誤差を自動修正する機能を持つものである。各国は、標準電波を発する送信局を設置している。
【０１５４】
送信局には、「セシウム原子時計」と呼ばれる時計が設置されている。この原子時計は、誤差が１０万年に１秒というほとんど誤差がない正確な時計である。送信局は、このセシウム時計の日付情報、及び時刻情報のデジタル信号を電波の信号に変換して送信している。日本では、ＪＪＹと呼ばれる送信局を２ヶ所に設置し、ほぼ日本全国をカバーしている。福島県大鷹鳥谷山に設置された北の送信局は、送信周波数40kHzで標準電波を発信している。
【０１５５】
南の送信局は、福岡県と佐賀県との県境に位置する羽金山に設置されており、送信周波数60kHzの標準電波を発信している。この送信局から送られてくる信号を電波時計１０３に内蔵された受信機が一定時間ごとに読み取り、自動的に時刻合わせを行なっている。このため電波時計１０３では、電波が正常に受信できる環境に限り、時刻合わせなどの手間を省きつつ、秒単位で正確な時刻を知ることができる。よって、ユーザデータのトレーサビリティを実現する上で、正確なアクセス時間を把握できる。
【０１５６】
標準電波は、現在日本では実施されていないが夏時間にも対応することができ、この場合も年に２度の時刻合わせを行う必要がない。このように、本第２の実施の形態は、電波時計１０３を外部装置３として用いている。上述したように外部装置３の利用と同様に利用できる。ユーザがメモリ装置１０１に格納されているファイルにアクセスしたとき、電子データ管理プログラムは、電波時計１０３から時刻情報、カレンダー情報を取得して、ファイルの属性情報と比較する。よって、比較の結果によって、ファイルへのアクセスを許可又は不許可する。
【０１５７】
〔電子データ管理システムの第３の実施の形態〕
図１９には、本発明の電子データ管理システムの第３の実施の形態の概要を図示している。本発明の電子データ管理システムは、ホスト装置２０２、メモリ装置２０１、及び携帯電話機２０３又は２０４からなる。ホスト装置２０２は、上述の実施の形態で説明した電子計算機２であっても良い。ホスト装置２０２は、ＰＤＡ等の携帯可能な計算機でも良い。
【０１５８】
ホスト装置２０２の基本的な動作は、上述の電子計算機２と同様であり、ここでは、電子計算機２とホスト装置２０２の異なる部分のみについて説明する。メモリ装置２０１は、上述のメモリ装置１である。携帯電話機２０３又は２０４は、通常の携帯電話機であり、時刻情報が出力できる。携帯電話機２０４は、ＧＰＳ受信機を内蔵し、ＧＰＳから受信した位置情報、時間情報を出力する。携帯通信網の基地局から送信される制御信号に時刻情報が重畳されている。この時刻情報を携帯電話機２０３は、受信して、内部時計の修正、データ通信の時刻情報に利用できる。
【０１５９】
また、携帯通信網の基地局から発する呼び出し用電波に時刻情報が重畳されている。携帯電話機２０３は、この時刻情報を受信して、内部時計の修正し、時刻情報をホスト装置２０２に送信する。また、携帯電話機２０３、２０４は、メモリカード等のメモリ手段を有し、このメモリ手段がホスト装置に、認識され、ユーザデータの保存先として利用されることもできる。つまり、第１の実施の形態に説明したように、ユーザ領域３２、又は認証領域３０として利用できる。
【０１６０】
この場合は、携帯電話機２０３、２０４は、メモリ装置２０１を介して、ホスト装置２０２に接続されると、認識されて独立したドライブとして認証される。電子データ管理プログラムは、これに、ホスト装置２０２からアクセス可能な設定を行う。よって、第１の実施の形態に説明したユーザ領域３２として利用できる（図７を参照。）。
【０１６１】
〔電子データ管理システムの第４の実施の形態〕
図２０には、本発明の電子データ管理システムの第４の実施の形態の概要を図示している。本発明の電子データ管理システムは、電子計算機３０２、メモリ装置３０１、外部装置３０３、及びサーバ３０４からなる。電子計算機３０２は、上述の実施の形態で説明した電子計算機２である。電子計算機３０２の基本的な動作は、上述の電子計算機２と同様であり、ここでは、異なる部分のみについて説明する。メモリ装置３０１は、上述のメモリ装置１である。外部装置３０３、第１の実施の形態で説明した外部装置１である。
【０１６２】
サーバ３０４と電子計算機３０２は、ネットワーク３０５を介して接続されている。ネットワーク３０５は、ＬＡＮ，ＷＡＮなどであることできる。ネットワーク３０５は、インターネットであることが好ましい。本発明は、ユーザデータ３の利用状況を監視して追跡するための電子データ管理システムを提供するものである。この電子データ管理システムは、電子計算機３０２上で動作する電子データ管理プログラムを備えている。電子データ管理プログラムは、ユーザデータを電子計算機３０２上に利用する環境を提供するためのプログラムである。
【０１６３】
また、本発明は、ユーザデータを格納して持ち運びするためのメモリ装置３０３を提供する。ユーザデータと電子データ管理プログラムは、同一の記録媒体又は記憶装置に記録されてユーザに提供されることが可能である。また、ユーザデータ及び／又は電子データ管理プログラムは、ネットワーク３０５を介して電子計算機３０２、外部装置３０１に提供されることもできる。ユーザデータは、ネットワーク共有フォルダやＮＡＳ等のネットワーク型記憶装置に格納され、必要なときに、電子計算機３０２にダウンロードされて利用されることができる。
【０１６４】
サーバ３０４は、中央処理ユニット、入出力装置、ＲＯＭ、ＲＡＭ等の内蔵メモリ、ハードディスク等を備えた電子計算機である。メモリ装置２０１に格納されている認証プログラム（図７を参照。）は、サーバ３０４と接続して、電子計算機２０２の認証を行う。また、電子データ管理プログラムのインストールは、この電子データ管理プログラムをサーバ３０４からダウンロードしてインストールすることができる（図９のステップ９９を参照。）。
【０１６５】
認証プログラムは、電子データ管理プログラムに指示して、電子データ管理プログラムの制御モード（詳しくは、後述する。）をオンにする（図７のステップ７８を参照。）。電子データ管理プログラムの制御モードがオンになったとき、電子計算機３０２とサーバ３０４との接続が維持されることが好ましい。このとき、電子データ管理プログラムは、ログ情報をサーバ３０４に常時送信する。
【０１６６】
ログ情報には、外部装置３０３から取得した時刻データ、及び／又は、位置情報が含まれる。サーバ３０４は、この時刻データ、及び／又は、位置情報を取得して、ユーザがどこからアクセスしているかをオンライン監視できる。必要に応じて、電子計算機３０２に指示して、ユーザデータの利用を停止、又は一時停止できる。
【産業上の利用可能性】
【０１６７】
本発明は、ユーザのファイル、データやプログラム等を電子記録媒体に記録して、外部へ提供し、提供先でどのように利用されているかを把握すること可能であり、電子データの緊密な管理が必要な分野に利用すると良い。特に、位置情報、時刻情報によってユーザがデータを利用できる範囲を予め定めて、それの範囲内で利用しているかを監視することができる。このように、営業または経理データ等でユーザのデータやファイル等の秘密情報、従業員のデータ管理が必要とされる印刷業界、保険会社、販売店で利用されることが望ましい。更に、電子データの緊密な管理が必要な金融機関、原子力関連の施設、や個人データを扱う端末等の分野に利用されても良い。
【図面の簡単な説明】
【０１６８】
【図１】図１は、本発明の電子データ管理システムの概要を図示している図である。
【図２】図２は、本発明のメモリ装置１を利用する手順を示したフローチャートである。
【図３】図３は、ユーザデータを制御する概要を示したフローチャートである。
【図４】図４の（ａ）、（ｂ）は、本発明のメモリ装置１の内部構造を示すブロック図である。
【図５】図５は、本発明のメモリ装置１の主要な構成部分を示すブロック図である。
【図６】図６は、本発明のメモリ装置１の主要な構成部分を示すブロック図である（電源変換器１９を含む。）。
【図７】図７は、メモリ装置１のメモリ１６の構成例を示したブロックである。
【図８】図８は、電子計算機２上で動作するソフトウェアの概要を図示している図である。
【図９】図９は、電子計算機２において、ユーザデータをメモリ装置１から読み出して閲覧するときの流れを示すフローチャートである。
【図１０】図１０は、電子データ管理プログラムの動作の概要を示すフローチャートである。
【図１１】図１１は、電子データ管理プログラムが制御モードをオンにするときの動作を示すフローチャートである。
【図１２】図１２には、制御部５２の動作例を示すフローチャートである。
【図１３】図１３は、アプリケーションプログラム４１が終了するとき、制御部５２の動作例を示すフローチャートである。
【図１４】図１４は、制御部５２が使用禁止の除外を設定するときのフローチャートである。
【図１５】図１５は、ファイルシステム制御部３４の動作を示す処理フローチャートである。
【図１６】図１６は、プロセス制御リスト１５０の例を示す図である。
【図１７】図１７は、ファイルの属性情報の例を示す図である。
【図１８】図１８は、本発明の電子データ管理システムの第２の実施の形態の概要を図示しているブロック図である（外部装置が電子時計の場合）。
【図１９】図１９は、本発明の電子データ管理システムの第３の実施の形態の概要を図示しているブロック図である（外部装置が携帯電話機の場合）。
【図２０】図２０は、本発明の電子データ管理システムの第４の実施の形態の概要を図示しているブロック図である（ネットワークの場合）。
【符号の説明】
【０１６９】
１…メモリ装置
２…電子計算機
３…外部装置
４…サーバ
５…ネットワーク
１１…第１端子
１２…ハブコントローラ
１３…ポートコントローラ
１４…切り替え器
１５…メモリコントローラ
１６…メモリ
１７…第２端子
１８…表示器
１９…電源変換器
２０…電源スイッチ
３０…認証領域
３１…プログラム領域
３２…ユーザ領域
４１…アプリケーションプログラム
４３…ユーザモード
４４…カーネルモード
４６…エグゼキュティブ
４７…カーネル
５０…ドライバウェア
５１…アプリケーションプログラムインターフェース部
５２…制御部
５３…ログ取得部
５４…暗号化部
５５…復号化部
８２…キーボード
８３…マウス
Ｃ１…インターフェース制御部
Ｃ２…ネットワーク制御部
Ｃ３…ファイルシステム制御部
Ｃ４…入力装置制御部
Ｄ１…インターフェースドライバ
Ｄ２…ネットワークドライバ
Ｄ３…ファイルシステムドライバ
Ｄ４…キーボードドライバ
Ｄ５…マウスドライバ
Ｅ１…コネクタ
Ｅ２…ネットワークカード
Ｅ３…ＵＳＢポート
Ｅ４…ハードディスク
【図１】
2009237625.tif 000004
【図２】
2009237625.tif 000005
【図３】
2009237625.tif 000006
【図４】
2009237625.tif 000007
【図５】
2009237625.tif 000008
【図６】
2009237625.tif 000009
【図７】
2009237625.tif 000010
【図８】
2009237625.tif 000011
【図９】
2009237625.tif 000012
【図１０】
2009237625.tif 000013
【図１１】
2009237625.tif 000014
【図１２】
2009237625.tif 000015
【図１３】
2009237625.tif 000016
【図１４】
2009237625.tif 000017
【図１５】
2009237625.tif 000018
【図１６】
2009237625.tif 000019
【図１７】
2009237625.tif 000020
【図１８】
2009237625.tif 000021
【図１９】
2009237625.tif 000022
【図２０】
2009237625.tif 000023