(57)【要約】【課題】二次記憶装置への書込み許可プロセスと、書込み禁止プロセスのデータ使用において、パッチ等のシステム構成データは両プロセスが最新のものをリアルタイムに使用できるが、両プロセス間で共有するべきでないデータは隔離して使用することを可能にする。【解決手段】Ａボリューム（二次記憶装置上の実際のボリューム）のミラーボリュームＢをＰＣ起動時に作成し、書込み禁止プロセスはボリュームＡのみに読書きさせ、かつ、書込み許可プロセスはミラーボリュームＢのみに読書させる。ＯＳパッチ等のシステム構成データはボリュームＡとミラーボリュームＢの両方に書込み、書込み禁止プロセスからも書込み許可プロセスからも最新のシステム構成データを扱えるようにする。この時、ボリュームＡとミラーボリュームＢへの全ての書込み処理をメモリ上にリダイレクトする手段を用いてメモリ上にキャッシュしておき、シャットダウン時にミラーボリュームＢのキャッシュのみを二次記憶装置に書込む。【選択図】図２
2010237921.tif 000002
【特許請求の範囲】
【請求項１】
データをファイルサーバに転送して格納するシンクライアントシステムの一部を構成する利用者端末装置であって、
二次記憶装置と、
キャッシュメモリと、
アプリケーションからの前記二次記憶装置に対するＩ／Ｏ要求の種別を判断するファイルアクセス制御部と、
前記Ｉ／Ｏ要求をリダイレクトする、第１及び第２のリダイレクト処理部と、を備え、
前記ファイルアクセス制御部は、前記アプリケーションからの前記Ｉ／Ｏ要求が２重書き込み許可プロセスであり、かつ書き込み要求であると判断した場合、当該Ｉ／Ｏ要求を前記第１及び第２のリダイレクト処理部に転送し、
前記第１及び第２のリダイレクト処理部はそれぞれ、前記Ｉ／Ｏ要求に対応するデータを前記キャッシュメモリに書き込むことを特徴とする利用者端末装置。
【請求項２】
前記ファイルアクセス制御部は、前記アプリケーションからの前記Ｉ／Ｏ要求が２重書き込み許可プロセスではないが書き込み許可プロセスであり、かつ書き込み要求であると判断した場合、当該Ｉ／Ｏ要求を前記第２のリダイレクト処理部に転送し、
前記第２のリダイレクト処理部のみが、前記書き込み許可プロセス、かつ書き込み要求のＩ／Ｏ要求に対応するデータを前記キャッシュメモリに書き込むことを特徴とする請求項１に記載の利用者端末装置。
【請求項３】
前記ファイルアクセス制御部は、前記アプリケーションからの前記Ｉ／Ｏ要求が書き込み禁止プロセスであり、かつ書き込み要求であると判断した場合、当該Ｉ／Ｏ要求を前記第１のリダイレクト処理部に転送し、
前記第１のリダイレクト処理部のみが、前記書き込み禁止プロセス、かつ書き込み要求のＩ／Ｏ要求に対応するデータを前記キャッシュメモリに書き込むことを特徴とする請求項１に記載の利用者端末装置。
【請求項４】
前記ファイルアクセス制御部は、前記アプリケーションからの前記Ｉ／Ｏ要求が２重書き込み許可プロセスであり、かつ書き込み要求以外の要求であると判断した場合、当該Ｉ／Ｏ要求を前記第２のリダイレクト処理部に転送し、
前記第２のリダイレクト処理部は、前記Ｉ／Ｏ要求に対応するデータを前記キャッシュメモリから読み込むことを特徴とする請求項１に記載の利用者端末装置。
【請求項５】
前記第２のリダイレクト処理部は、前記利用者端末装置のシャットダウン時に、前記第２のリダイレクト処理部によって前記キャッシュメモリに書き込まれたデータを、前記二次記憶装置に書き込むことを特徴とする請求項１に記載の利用者端末装置。
【請求項６】
前記ファイルアクセス制御部は、前記アプリケーションからの前記Ｉ／Ｏ要求が２重書き込み許可プロセスではないが書き込み許可プロセスであり、かつ書き込み要求以外の要求であると判断した場合、当該Ｉ／Ｏ要求を前記第２のリダイレクト処理部に転送し、
前記第２のリダイレクト処理部が、前記書き込み許可プロセス、かつ書き込み要求以外の要求のＩ／Ｏ要求に対応するデータを前記キャッシュメモリから読み込むことを特徴とする請求項２に記載の利用者端末装置。
【請求項７】
前記ファイルアクセス制御部は、前記アプリケーションからの前記Ｉ／Ｏ要求が書き込み禁止プロセスであり、かつ書き込み要求以外の要求であると判断した場合、当該Ｉ／Ｏ要求を前記第１のリダイレクト処理部に転送し、
前記第１のリダイレクト処理部が、前記書き込み禁止プロセス、かつ書き込み要求以外の要求のＩ／Ｏ要求に対応するデータを前記キャッシュメモリから読み込むことを特徴とする請求項３に記載の利用者端末装置。
【請求項８】
前記２重書き込み許可プロセスのＩ／Ｏ要求を発行するアプリケーションは、ＯＳパッチを含むシステム更新データであることを特徴とする請求項１に記載の利用者端末装置。
【請求項９】
前記書込み禁止プロセスのＩ／Ｏを発行するアプリケーションは、機密データを作成・編集するためのアプリケーションプログラムであることを特徴とする請求項３に記載の利用者端末装置。
【請求項１０】
データをファイルサーバに転送して格納するシンクライアントシステムの一部を構成する利用者端末装置の制御方法であって、
前記利用者端末装置は、二次記憶装置と、キャッシュメモリと、アプリケーションからの前記二次記憶装置に対するＩ／Ｏ要求の種別を判断するファイルアクセス制御部と、前記Ｉ／Ｏ要求をリダイレクトする、第１及び第２のリダイレクト処理部と、を備え、
前記制御方法は、
前記ファイルアクセス制御部が、前記アプリケーションからの前記Ｉ／Ｏ要求が２重書き込み許可プロセスであり、かつ書き込み要求であると判断した場合、当該Ｉ／Ｏ要求を前記第１及び第２のリダイレクト処理部に転送し、
前記第１及び第２のリダイレクト処理部が、それぞれ、前記Ｉ／Ｏ要求に対応するデータを前記キャッシュメモリに書き込むことを特徴とする制御方法。
【請求項１１】
前記ファイルアクセス制御部が、前記アプリケーションからの前記Ｉ／Ｏ要求が２重書き込み許可プロセスであり、かつ書き込み要求以外の要求であると判断した場合、当該Ｉ／Ｏ要求を前記第２のリダイレクト処理部に転送し、
前記第２のリダイレクト処理部が、前記Ｉ／Ｏ要求に対応するデータを前記キャッシュメモリから読み込むことを特徴とする請求項１０に記載の制御方法。
【請求項１２】
さらに、前記第２のリダイレクト処理部が、前記利用者端末装置のシャットダウン時に、前記第２のリダイレクト処理部によって前記キャッシュメモリに書き込まれたデータを、前記二次記憶装置に書き込むことを特徴とする請求項１０に記載の制御方法。
【請求項１３】
コンピュータを請求項１に記載の利用者端末として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、利用者端末装置及びその制御方法、並びにプログラムに関し、利用者端末の二次記憶装置への書込み制御、及び、外部記憶媒体への書出し制御により、利用者データをファイルサーバに集約し、機密情報の紛失・漏洩防止を実現するシンクライアントシステムにおける、利用者端末のファイルアクセス制御に関するものである。
【背景技術】
【０００２】
近年、ファイルサーバに保管されている重要データが、利用者端末から拡散するのを防ぐためのシステムとして、シンクライアントシステムが考案されている。シンクライアントシステムは、端末内に不揮発性の二次記憶装置を装備しない端末（ディスクレスＰＣ）を使用するのが一般的であるが、書込みを制御した二次記憶装置を備えるＰＣ（パーソナル・コンピュータ）をシンクライアント端末として使用するシステムも存在する。
【０００３】
例えば、特許文献１では、二次記憶装置を持つ端末装置において、アプリケーションから二次記憶装置へ書き込みが発生した場合、その書き込みを主記憶装置（キャッシュメモリ）上へリダイレクトすることで、二次記憶装置への書き込みを制限し、擬似的に二次記憶を持たない端末装置を実現している。
【０００４】
ディスクレスＰＣを使用する場合に比べ、書込み制御した二次記憶装置を備えるＰＣをシンクライアント端末装置として使用する場合、サーバサイドでの負荷が少ないため、インフラ構築等のコストを安価できるメリットがある。このシステムによれば、ファイルサーバに保管されている重要データが拡散するのを防止することに加え、利用者による不適切なＯＳ設定変更や、アプリケーションのインストールを防止することも可能である。
【０００５】
一方、特許文献１に開示のシステムは、ＯＳパッチ等のシステム更新データを、二次記憶装置に保存することができないため、システムを最新の状態に保てない。
【０００６】
これに対して、システム更新データのみを利用者端末の二次記憶装置へ保存可能なシステムとして、特許文献２に開示されているようなシステムが提案されている。特許文献２では、ファイルシステムの下位に書込み可能フィルタデバイスと、書込み禁止フィルタデバイスの２つを生成する。そして、ファイルシステムの上位のフィルタドライバであるファイルアクセス制御ドライバで書込み禁止のファイルアクセスを検知して、書込み禁止フィルタデバイスにリダイレクトする。これにより、二次記憶装置への書込みに関して、ファイル・フォルダ単位の保存制御を実現している。この手段を使えば、システム更新データのみを利用者端末装置の二次記憶装置へ保存し、システムを最新の状態に保つことが可能である。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００７−１７２０６３号公報
【特許文献２】特開２００８−５９５０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、ＯＳパッチ（システム更新）のデータを有効にするために、二次記憶装置にこのＯＳパッチデータが反映されてなければならない。そして、特許文献２のシステムにおいては、ＯＳパッチデータを二次記憶装置に反映するためにシステムを再起動する必要があり、リアルタイムでＯＳパッチ等のシステム更新データを有効にすることができないという問題がある。これは、ローカル上で動作する書込みを禁止されたファイルを参照する場合のボリュームデバイスとＯＳパッチが書き込まれたボリュームデバイスが異なるため起きる問題である。また、アプリケーションの構成ファイル等、プロセス間で共通のファイルを使うべきでないデータの書き込みに関する制御がないため、セキュリティ上の問題も考えられる。
【０００９】
本発明はこのような状況に鑑みてなされたものであり、シンクライアント端末装置において、ローカルに保存するＯＳパッチ等のシステム更新データをリアルタイムで有効することができ、アプリケーションの構成ファイル等、複数プロセス間で共有すべきでないデータを適切に保存し、かつ、端末に残存すべきではないデータはシャットダウン後に揮発させることができる技術を提供するものである。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、例えば、Ａボリューム（二次記憶装置上の実際のボリューム）のミラーボリュームＢをＰＣ起動時に作成し、書込み禁止プロセスはボリュームＡのみに読み書き処理を実行させ、かつ、書込み許可プロセスはミラーボリュームＢのみに読み書させる。また、ＯＳパッチ等のシステム構成データはボリュームＡとミラーボリュームＢの両方に書込み、書込み禁止プロセスからも書込み許可プロセスからも最新のシステム構成データを扱えるようにする。この時、ボリュームＡとミラーボリュームＢへの全ての書込み処理をメモリ上にリダイレクトする手段を用いてメモリ上にキャッシュしておき、シャットダウン時にミラーボリュームＢのキャッシュのみを二次記憶装置に書込む。
【００１１】
即ち、本発明による利用者端末装置は、二次記憶装置と、キャッシュメモリと、アプリケーションからの二次記憶装置に対するＩ／Ｏ要求の種別を判断するファイルアクセス制御部（ファイルアクセス制御モジュール）と、Ｉ／Ｏ要求をリダイレクトする、第１及び第２のリダイレクト処理部（ボリュームフィルタデバイス及びシャドウボリュームデバイス）と、を備えている。ファイルアクセス制御部は、アプリケーションからのＩ／Ｏ要求が２重書き込み許可プロセスであり、かつ書き込み要求であると判断した場合、当該Ｉ／Ｏ要求を第１及び第２のリダイレクト処理部に転送する。そして、第１及び第２のリダイレクト処理部はそれぞれ、Ｉ／Ｏ要求に対応するデータをキャッシュメモリに書き込む。２重書き込む許可プロセスのＩ／Ｏ要求を発行するアプリケーションの例としては、ＯＳパッチを含むシステム更新データが挙げられる。なお、第２のリダイレクト処理部は、利用者端末装置のシャットダウン時に、第２のリダイレクト処理部によってキャッシュメモリに書き込まれたデータを、二次記憶装置に書き込む。これにより、システム更新データが最終的に利用者端末装置に反映される。
【００１２】
一方、ファイルアクセス制御部は、アプリケーションからの前記Ｉ／Ｏ要求が２重書き込み許可プロセスであり、かつ書き込み要求以外の要求であると判断した場合、当該Ｉ／Ｏ要求を前記第２のリダイレクト処理部に転送する。そして、第２のリダイレクト処理部は、Ｉ／Ｏ要求に対応するデータをキャッシュメモリから読み込む。
【００１３】
また、ファイルアクセス制御部は、アプリケーションからの前記Ｉ／Ｏ要求が２重書き込み許可プロセスではないが書き込み許可プロセスであり、かつ書き込み要求であると判断した場合、当該Ｉ／Ｏ要求を第２のリダイレクト処理部に転送する。そして、第２のリダイレクト処理部のみが、書き込み許可プロセス、かつ書き込み要求のＩ／Ｏ要求に対応するデータをキャッシュメモリに書き込む。一方、ファイルアクセス制御部は、アプリケーションからのＩ／Ｏ要求が２重書き込み許可プロセスではないが書き込み許可プロセスであり、かつ書き込み要求以外の要求であると判断した場合、当該Ｉ／Ｏ要求を前記第２のリダイレクト処理部に転送する。そして、第２のリダイレクト処理部が、書き込み許可プロセス、かつ書き込み要求以外の要求のＩ／Ｏ要求に対応するデータをキャッシュメモリから読み込む。
【００１４】
さらに、ファイルアクセス制御部は、アプリケーションからの前記Ｉ／Ｏ要求が書き込み禁止プロセスであり、かつ書き込み要求であると判断した場合、当該Ｉ／Ｏ要求を前記第１のリダイレクト処理部に転送する。そして、第１のリダイレクト処理部のみが、書き込み禁止プロセス、かつ書き込み要求のＩ／Ｏ要求に対応するデータをキャッシュメモリに書き込む。一方、ファイルアクセス制御部は、アプリケーションからのＩ／Ｏ要求が書き込み禁止プロセスであり、かつ書き込む要求以外の要求であると判断した場合、当該Ｉ／Ｏ要求を前記第１のリダイレクト処理部に転送する。そして、第１のリダイレクト処理部が、書き込み禁止プロセス、かつ書き込み要求以外の要求のＩ／Ｏ要求に対応するデータをキャッシュメモリから読み込む。書込み禁止プロセスのＩ／Ｏを発行するアプリケーションの例としては、機密データを作成・編集するためのアプリケーションプログラムが挙げられる。
【００１５】
さらなる本発明の特徴は、以下本発明を実施するための最良の形態および添付図面によって明らかになるものである。
【発明の効果】
【００１６】
本発明によれば、ＯＳパッチ等のシステム更新データを書込み許可プロセスと書込み禁止プロセスの全プロセスでリアルタイムに有効にすることが可能になる。また、ＰＣ起動からシャットダウンまでの間、書込み許可プロセスと書き込み禁止プロセス間でファイル、例えば、アプリケーション固有の設定・構成データ等、を隔離することができ、データをセキュアに管理することが可能となる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施形態によるシンクライアントシステムの概略構成を示す図である。
【図２】利用者端末の内部構成を示す図である。
【図３】ファイルアクセス制御モジュールの動作を説明するためのフローチャートである。
【図４】書込み制御モジュールの動作を説明するためのフローチャートである。
【図５】起動時の動作を説明するためのフローチャートである。
【図６】シャットダウン時の動作を説明するためのフローチャートである。
【図７】アプリケーション制御ファイルの例を示す図である。
【発明を実施するための形態】
【００１８】
本発明は、利用者端末の二次記憶装置への書込み制御、及び、外部記憶媒体への書出し制御により、利用者データをファイルサーバに集約し、機密情報の紛失・漏洩防止を実現するシンクライアントシステムにおける、利用者端末のファイルアクセス制御に関する。
【００１９】
以下、添付図面を参照して本発明の実施形態について説明する。ただし、本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。また、各図において共通の構成については同一の参照番号が付されている。
【００２０】
＜情報処理システムの構成＞
図１は、本発明の実施形態による情報処理システムの概略構成を示す図である。この情報処理システムは、利用者端末１０１とファイルサーバ１０２で構成されており、それぞれがネットワーク１０３で接続されている。なお、ここで、ネットワーク１０３は、ローカルエリアネットワーク（ＬＡＮ、ワイドエリアネットワーク（ＷＡＮ）、ピアツーピアネットワーク等として一般に知られるネットワーク）を用いて実現することができる。また、利用者端末１０１は、ＣＰＵ、主記憶装置、ネットワークデバイス、入出力装置、二次記憶装置を備える一般的なＰＣであり、可搬性等の形態に限定は無い。
【００２１】
利用者端末１０１上には、ＯＳ１０４、文書・帳票作成・ブラウザ等のアプリケーション１０５、ファイルアクセス制御モジュール１０６、書込み制御モジュール１０７、デバイス制御モジュール１０８がインストールされている。また、二次記憶装置１１０にはアプリケーション制御ファイル１０９が格納されている。さらに、利用者端末１０１は、図１に示されてはいないが、制御部（ＣＰＵ）、メモリ、ネットワークインタフェース、入出力装置（キーボード、ディスプレイ、スピーカ等）等を備えている。
【００２２】
ファイルサーバ１０２は、図１には示されていないが、ＣＰＵ、主記憶装置、ネットワークデバイス、入出力装置、二次記憶装置等を備え、利用者端末１０１とコネクションを張って、ファイル転送が可能となっており、利用者端末１０１上のアプリケーション１０５で作成・編集された機密データ１１１を保存することが可能な一般的なファイルサーバである。
【００２３】
利用者端末１０１において、デバイス制御モジュール１０８は、ＵＳＢ等の外部記憶媒体を検知し、外部記憶媒体への書き出しを制御する機能を備える。外部記憶媒体の検知はＯＳの機能を使用して外部デバイスを検知し、デバイスへのアクセスを禁止、または、そのデバイスへの書き込みをメモリ上にリダイレクトする等の手段により、書出しを制御する。この機能により、ファイルサーバ上の機密データが利用者端末から外部へ保存されることが無くなり、データの集約及び情報漏えいを防止することが可能となる。
【００２４】
＜利用者端末の内部構成及びＩ／Ｏ処理の流れ＞
図２は、利用者端末１０１のＯＳコンポーネントを含む内部構成を詳細に示す図である。図２の有向線は、アプリケーションやＯＳモジュール等のプログラム（話を分かりやすくするために、以後、ドキュメント作成等のアプリケーションソフトウェアだけでなく、ＯＳのモジュール等でも二次記憶装置へ書き込みを行うプログラムのことを、単にアプリケーションと呼ぶ。この「アプリケーション」には、例えばｗｉｎｄｏｗｓ（登録商標）  ｕｐｄａｔｅのようなシステム更新用のアプリケーションも含まれる。）が、二次記憶装置に対して要求するＩ／Ｏ要求の流れを示している（実際はＲｅａｄ／Ｗｒｉｔｅ以外のものも存在するが省略する）。
【００２５】
利用者端末１０１上では、アプリケーション１０５がＩ／Ｏ要求を発行した場合、ファイルアクセス制御モジュール１０６より下のレイヤーでは書き込み処理が３種類に分岐する。１つ目は、図２に記載の実線フローのみの書き込み処理、２つ目は図２に記載の破線フローのみの書き込み処理、３つ目は図２に記載の実線フローと破線フロー両方の書き込み処理である。なお、図２の実線は主にアプリケーション１０５が発行した場合のＩ／Ｏ要求で、破線はファイルアクセス制御モジュール１０６が発行するＩ／Ｏ要求である。
【００２６】
ファイルアクセス制御モジュール１０６は、ボリュームデバイス２１５にマウントされているファイルシステム２１０にアタッチして、アプリケーション１０５が発行する二次記憶装置１１０へのＩ／Ｏをフィルタすることが可能なファイルシステムフィルタデバイス２０５を作成する機能を備えている。
【００２７】
また、アプリケーション１０５の発行した二次記憶装置１１０へのＩ／Ｏが書き込み要求だった場合、ファイルアクセス制御モジュール１０６は、アプリケーション制御ファイル２０６を参照して、その書き込み要求元のアプリケーションが「２重書き込み許可」アプリケーションか、「書き込み許可」アプリケーションか、「書き込み禁止」アプリケーションかを判定する。「２重書き込み許可」アプリケーションの書き込みならば、ボリュームフィルタデバイス２１２とシャドウボリュームデバイス２１３の両方へデータを複製・送信する。また、「書き込み許可」アプリケーションの書き込みならば、ファイルアクセス制御モジュール１０６は、シャドウボリュームデバイス２１３にのみデータを送信する。さらに、「書き込み禁止」アプリケーションの書き込みならば、ファイルアクセス制御モジュール１０６は、ボリュームフィルタデバイス２１２にのみデータを送信する。
【００２８】
なお、「２重書き込み許可」アプリケーションの例として、ＯＳやアプリケーションソフトウェアのアップデートプログラムが挙げられる。これらのプログラムは、通常ＯＳやアプリケーションのベンダから提供されるものである。また、「書き込み許可」アプリケーションの例として、アプリケーションのインストーラが挙げられる。インストール後、即使用するアプリケーションでない場合、「書き込み許可」アプリケーションとして書き込みを行うことで、バックグラウンドでインストール処理が行われ、ＰＣ使用環境を変化させることなくインストールが完了する。さらに、「書き込み禁止」プログラムの例として、機密データを作成・編集するようなアプリケーションプログラム、一般的に考えて文書・帳票作成・編集用のアプリケーションプログラムが挙げられる。本システムによれば、プロセス間でのデータ分離効果によるセキュリティ機能向上の効果が得られる。
【００２９】
書き込み要求元のプログラムの振り分けの方法としては、予めアプリケーション制御ファイル２０６（例：図７（表１））を利用者端末１０１にインストールしておくことで可能となる。
【００３０】
アプリケーション制御ファイル２０６は、アプリケーション名７０３と書き込み禁止／許可のフラグ７０４と２重書き込みの禁止／許可のフラグ（２重化フラグ）７０５をセットにしたリスト形式のファイルである。一般的なＯＳならば、アプリケーション名から実行プロセス名やプロセスＩＤを取得することが可能である。このため、このリストを読み込めば、利用者端末上で動作しているアプリケーションのプロセス名とプロセスＩＤを取得することが可能である。
【００３１】
また、ファイルアクセス制御モジュール１０６をファイルシステムのフィルタドライバとして実装しておけば、ファイルシステムフィルタデバイス２０５で書込み処理要求を取得した時に、要求元のプロセス名やプロセスＩＤを取得することが可能である。以上の手段で取得したプロセス名やプロセスＩＤを比べることで、書込み処理元のアプリケーションが、「２重書込み許可」アプリケーションか「書込み許可」アプリケーションか「書込み禁止」アプリケーションか、を判定することが可能となる。
【００３２】
なお、アプリケーション制御ファイル２０６は、システム管理者が利用者端末のシステムポリシーに従って適切に作成し、あらかじめインストールしておくものであるが、アップデートと同時に更新することも可能なファイルである。また、一般利用者がアプリケーションのインストールを行うことができるとすると、害意（不正目的で）のアプリケーションをインストールする可能性があるため、インストール作業は管理者が行うのが好ましい。
【００３３】
書き込み制御モジュール１０７は、ボリュームデバイス２１５にアタッチ（１対１に対応付ける）して、アプリケーション１０５から二次記憶装置１１０へのＩ／Ｏをフィルタすることが可能なボリュームフィルタデバイス２１２と、シャドウボリュームデバイス２１３の２つのデバイスを作成する機能を備えている。なお、ここでは、書込み制御モジュール１０７は、ディスクドライバのフィルタドライバの一種として話を進めるが、実現手段に関しては、ここの述べる以外の方法でもかまわない。書き込み制御モジュール１０７の中で、ボリュームフィルタデバイス２１２とシャドウボリュームデバイス２１３を作成するためのＩ／Ｏクリエイト関数が定義されている。
【００３４】
ボリュームフィルタデバイス２１２は、ボリュームデバイス２１５へのＩ／Ｏ要求をフィルタするオブジェクトであり、二次記憶装置１１０のボリュームデバイス２１５にアタッチして書き込みデータをメモリ２１７上にリダイレクトしてキャッシュする機能を備えている。ここでは、アプリケーション１０５が二次記憶装置１１０に対してＩ／Ｏ要求を行った場合に、そのＩ／Ｏ要求を取得するための手段の一例として「アタッチ」を用いている。アタッチによる方法でなくとも、任意のプログラムがボリュームに対して行うＩ／Ｏデータを取得できるならば、その方法はアタッチに限定されない。
【００３５】
シャドウボリュームデバイス２１３は、シャドウボリュームデバイス２１３自身に対して書き込み命令されたデータをメモリ２１７上にキャッシュする機能を備え、かつ、二次記憶装置１１０のボリュームデバイス２１５にアタッチすることはない。ただし、シャドウボリュームデバイス２１３は、ボリュームデバイス２１５の存在を認識しており、シャットダウン時に、ボリュームデバイス２１５に対してシャドウボリュームデバイス２１３がキャッシュしたデータを二次記憶装置へ書き込むことが可能である。なお、シャドウボリュームデバイス２１３への書き込み要求は、ファイルアクセス制御モジュール１０６が行うのみである。シャドウボリューム２１３とボリュームフィルタデバイス２１２との違いは、利用者端末１０１のシャットダウン時に、シャドウボリュームデバイス２１３がメモリ２１７内のデータを二次記憶装置１１０に書き込む点である。通常ボリュームデバイス２１２のみが設けられており、シャドウボリューム２１３を設けた点が本発明の特徴の１つとなっている。
【００３６】
本発明によれば、ボリュームフィルタデバイス２１２及びシャドウボリュームデバイス２１３を設け、ＯＳやアプリケーションソフトウェアのアップデートプログラムに関して２重書き込み許可を実行することにより、これらの更新されたアプリケーションを使用する際に利用者端末１０１を再起動する必要がなくなる。
【００３７】
＜ファイルアクセス制御モジュールの動作＞
図３は、ファイルアクセス制御モジュール１０６の処理動作を説明するためのフローチャートである。
【００３８】
まず、アプリケーション１０５がボリュームデバイス２１５にアクセスを行った場合、ファイルアクセス制御モジュール１０６はそのアクセスを検知する（ステップＳ３０１）。
【００３９】
ファイルアクセス制御モジュール１０６は、アプリケーション制御ファイル２０６を読み込み（ステップＳ３０２）、処理要求元のプロセス名をＯＳに問い合わせて取得し、リストのアプリケーション名に対応するプロセス名と比較して一致するエントリーの書込みフラグ７０４と２重化フラグ７０５を取得し、書込み許可／禁止と２重書込み許可／禁止を判定する（ステップＳ３０３）。この時、ファイルアクセス制御モジュール１０６は、その要求が書込みに関連する要求か否かを判定する（ステップＳ３０４）。なお、書込みに関連する要求とは、いわゆる二次記憶装置への書込みが起こる要求のことを指している。例えば、書込み要求以外にもファイルの属性変更等の要求も書込み関連要求に含まれる。
【００４０】
書込み要求の場合で、書込みフラグ７０４が「ＴＲＵＥ」、かつ、２重書き込みフラグ７０５が「ＴＲＵＥ」の場合、「２重書込み許可プロセス」であり、ファイルアクセス制御モジュール１０６は、ボリュームデバイス２１５に書込み関連要求を転送する（ステップＳ３０５）。その後、さらに、ファイルアクセス制御モジュール１０６は、シャドウボリュームデバイス２１３に対しても同じデータの書込みを行った後（ステップＳ３０６）、処理は終了する。
【００４１】
また、書込み要求の場合で、書込みフラグ７０４が「ＴＲＵＥ」、かつ、２重書き込みフラグ７０５が「ＦＡＬＳＥ」の場合、「書込み許可プロセス」であり、ファイルアクセス制御モジュール１０６は、シャドウボリュームデバイス２１３に書込み関連要求を転送したのち（ステップＳ３０７）、処理は終了する。
【００４２】
一方、書込み要求の場合で、ステップＳ３０４で書込みフラグ７０４が「ＦＡＬＳＥ」と判断された場合（この場合、必ず２重化フラグ７０５は「ＦＡＬＳＥ」となっている）には、「書込み禁止プロセス」であり、ファイルアクセス制御モジュール１０６は、ボリュームフィルタデバイス２１２に書込み関連要求を転送したのち（ステップＳ３０８）、処理は終了する。
【００４３】
さらに、書込み要求以外の場合で、書込みフラグ７０４が「ＴＲＵＥ」、かつ、２重書き込みフラグ７０５が「ＴＲＵＥ」の場合、「２重書込み許可プロセス」であり、ファイルアクセス制御モジュール１０６は、シャドウボリュームデバイス２１３に対して読込み要求を転送した後（ステップＳ３０９）、処理を終了する。ここで、この処理がボリュームデバイス２１５に対してではなく、シャドウボリュームデバイス２１３に対して行われている理由は、最終的に二次記憶装置１１０へ適用されるデータはシャドウボリュームデバイス２１３にキャッシュされているデータなためである。仮に、「２重書込み許可プロセス」からの読込み要求をボリュームフィルタデバイス２１２に転送し、データを読み込んできた場合、再起動後にボリュームフィルタデバイス２１２がキャッシュしたデータとシャドウボリュームデバイス２１３がキャッシュしたデータが混在し、データの不整合によるシステムクラッシュが発生する可能性がある。
【００４４】
書込み要求以外の場合で、書込みフラグ７０４が「ＴＲＵＥ」、かつ、２重書き込みフラグ７０５が「ＦＡＬＳＥ」の場合、「書込み許可プロセス」であり、ファイルアクセス制御モジュール１０６は、シャドウボリュームデバイス２１３に対して読み込み要求を転送したのち（ステップＳ３１０）、処理を終了する。
【００４５】
書込み要求以外の場合で、ステップＳ３０４で書込みフラグ７０４が「ＦＡＬＳＥ」と判断された場合（この場合、必ず２重化フラグ７０５は「ＦＡＬＳＥ」となっている）には、「書込みは禁止」アプリケーションからの要求であり、ファイルアクセス制御モジュール１０６は、ボリュームフィルタデバイス２１２に読込み要求を転送したのち（ステップＳ３１１）、処理は終了する。
【００４６】
以上のように、書き込み許可の場合のプロセスと書き込み禁止の場合のプロセスとの間で、データを分離することができる。よって、よりセキュアなシステムを提供することができるようになる。
【００４７】
＜書き込み制御モジュールの動作＞
図４は、書き込み制御モジュール１０７内のボリュームフィルタデバイス２１２とシャドウボリュームデバイス２１３の処理動作を説明するためのフローチャートである。基本的に読込み・書込みの処理動作はボリュームフィルタデバイス２１２とシャドウボリュームデバイス２１３で同じであるが、若干説明の違いがあるので別々に説明する。
【００４８】
i）まず、ボリュームフィルタデバイス２１２の処理動作について説明する。アプリケーション１０５によるボリュームデバイス２１５（二次記憶装置１１０）に対するアクセスが検知されると（ステップＳ４０１）、ボリュームフィルタデバイス２１２は、その要求が書込みに関連する要求か否かを判定する（ステップＳ４０２）。
【００４９】
書込み関連処理の場合、ボリュームフィルタデバイス２１２は、書込みデータをメモリ２１７上に確保した領域にキャッシュし（ステップＳ４０５）、処理を完了する（ステップＳ４０８）。なお、書込み制御が施されていない通常のＰＣでは、この書込み要求は、ボリュームデバイス２１２に転送され、二次記憶装置１１０に書き込まれる。
【００５０】
書込み関連処理以外の場合、（ここでは、読み込み処理に話を限定するがそれ以外のものもふくまれることが考えられる）、ボリュームフィルタデバイス２１２は、ボリュームデバイス２１５（２次記憶装置１１０から）データを読み込む（ステップＳ４０３）。
【００５１】
その後、ボリュームフィルタデバイス２１２は、メモリ２１７中にデータがキャッシュされているか否かを判定し（ステップＳ４０４）、キャッシュが存在しない場合、読み込んだデータをそのままアプリケーションに返す（ステップＳ４０６）。キャッシュデータが存在する場合は、ボリュームフィルタデバイス２１２は、キャッシュを読み込みデータに上書きしてアプリケーションに返す（ステップＳ４０７）。
【００５２】
ii）次に、書込み制御モジュール１０７内のシャドウボリュームデバイス２１３の処理動作を説明する。シャドウボリュームデバイス２１３の処理動作も、図４のフローチャートを使って説明する。
【００５３】
アプリケーション１０５によるシャドウボリュームデバイス２１３に対するアクセス（正確にはファイルアクセス制御モジュール１０６が要求元のアクセス）が検知されると（ステップＳ４０１）、シャドウボリュームデバイス２１３は、その要求が書込みに関連する要求か否かを判定する（ステップＳ４０２）。なお、シャドウボリュームデバイス２１３に対するアクセス要求は、アプリケーション１０５が直接アクセスしているわけではない。アプリケーション１０５はボリュームデバイス２１２に対してアクセスを試みているが、ファイルアクセス制御モジュール１０６がアプリケーションの種類によってシャドウボリュームデバイス２１３に処理をリダイレクトしているものである。
【００５４】
書込み関連処理の場合、シャドウボリュームデバイス２１３は、書込みデータをメモリ２１７上に確保した領域にキャッシュし（ステップＳ４０５）、処理を完了する（ステップＳ４０８）。なお、シャドウボリュームデバイス２１３がキャッシュするデータと、ボリュームフィルタデバイス２１２がキャッシュするデータは別領域にキャッシュされるデータである。
【００５５】
書込み関連処理以外の場合、（ここでは、読み込み処理に話を限定するがそれ以外のものも含まれることが考えられる）、シャドウボリュームデバイス２１３は、ボリュームデバイス２１５（２次記憶装置１１０から）データを読み込む（ステップＳ４０３）。ボリュームフィルタデバイス２１２とシャドウボリュームデバイス２１３は書き込み処理と読み込み処理しか行わないが、フィルタシステムデバイス２０５は、書き込み関連以外の処理も行う。例えば、ファイルのクリエイト、ファイルのクロース、及びファイル情報の変更等である。
【００５６】
その後、シャドウボリュームデバイス２１３は、メモリ２１７中にデータがキャッシュされているか否かを判定し（ステップＳ４０４）、キャッシュが存在しない場合、読み込んだデータをそのままアプリケーションに返す（ステップＳ４０６）。キャッシュデータが存在する場合は、シャドウボリュームデバイス２１３は、キャッシュを読み込みデータに上書きしてアプリケーションに返す（ステップＳ４０７）。
【００５７】
＜利用者端末起動時の動作＞
図５は、利用者端末１０１を起動した時の処理動作を説明するためのフローチャートである。
【００５８】
まず、利用者が利用者端末１０１を起動するとＯＳ１０４が起動し（ステップＳ５０１）、ＯＳ１０４が各モジュールをシステムにロードする（ステップＳ５０２）。
【００５９】
次に、書込み制御モジュール１０７は、定義されているＯＳの関数（Ｉ／Ｏクリエイト関数）を読み込み、ボリュームフィルタデバイス２１２とシャドウボリュームデバイス２１３を作成する（ステップＳ５０３）。また、ボリュームフィルタデバイス２１２は、ボリュームデバイス２１５にアタッチ（対応付け）する（ステップＳ５０４）。このアタッチにより、アプリケーション１０５が二次記憶装置１１０にアクセスする場合のＩ／Ｏ要求をボリュームフィルタデバイス２１２で取得できるようになる。一方、シャドウボリュームデバイス２１３はどこにもアタッチされていないので、シャドウボリュームデバイス２１３に対してアプリケーション１０５からＩ／Ｏ要求を投げることができない。従って、ファイルシステムフィルタデバイス２０５が、意図的にシャドウボリュームデバイス２１３にＩ／Ｏ要求を投げない限り、シャドウボリュームデバイス２１３はＩ／Ｏ要求を取得できないようになっている。
【００６０】
続いて、ＯＳ１０４は、ボリュームデバイス２１５に対し、ファイルシステム２１０、例えばＮＴＦＳやＦＡＴ等をマウントする（ステップＳ５０５）。最後に、ファイルアクセス制御モジュール１０６は、ファイルシステムフィルタデバイス２０５を作成し、ファイルシステム２１０にアタッチする（ステップＳ５０６）。これにより、ファイルシステムフィルタ２０５で、ボリュームデバイス２１２に対するファイル処理を取得することが可能になりファイル処理の振り分けが可能になる。
【００６１】
＜利用者端末シャットダウン時の動作＞
図６は、利用者端末１０１がシャットダウンされた時の処理動作を説明するためのフローチャートである。
【００６２】
まず、利用者端末１０１のシャットダウンが開始されると（ステップＳ６０１）、シャドウボリュームデバイス２１３は、シャドウボリューム自身がメモリ２１７中にキャッしたシュデータがあるか否かをチェックする（ステップＳ６０２）。キャッシュデータが存在するならば、シャドウボリュームデバイス２１３は、ボリュームデバイス２１５を介して、キャッシュデータを二次記憶装置１１０へ書込む（ステップＳ６０３）。ボリュームフィルタデバイスによりキャッシュされたデータに関しては、二次記憶装置へ書込みされることはないため、特に書込み操作は行われずそのままシャットダウンにより揮発する。以上の操作が終了したら利用者端末１０１がシャットダウンされる（ステップＳ６０４）。
【００６３】
＜アプリケーション制御ファイルの例＞
図７は、アプリケーション制御ファイルの具体例を示す図である。図７によれば、例えば、書込み禁止プロセスを発行できるアプリケーションはＯＳ等のシステムファイルやＤｏｃｕｍｅｎｔ  Ｃｒｅａｔｏｒ等の情報漏えいの危険性があるアプリケーションが該当する。また、２重書き込み許可を発行できるアプリケーションは上述のようにＯＳパッチ等のシステム更新データであり、書き込み許可プロセスを発行しうるアプリケーションは社内管理ツール等が該当する。
【００６４】
＜まとめ＞
本発明では、アプリケーションからのＩ／Ｏ要求が２重書き込み許可プロセスであり、かつ書き込み要求である場合、当該Ｉ／Ｏ要求がボリュームフィルタデバイスとシャドウボリュームデバイスに転送される。そして、ボリュームフィルタデバイスとシャドウボリュームデバイスが共に、Ｉ／Ｏ要求に対応するデータをキャッシュメモリ（メモリの異なる箇所）に書き込む。なお、２重書き込む許可プロセスのＩ／Ｏ要求を発行するアプリケーションの例としては、ＯＳパッチを含むシステム更新データが挙げられる。このようにすることにより、ＯＳパッチ等のシステム更新データを書込み許可プロセスと書込み禁止プロセスの全プロセスでリアルタイムに有効にすることが可能になる。つまり、実施形態で説明したように、書き込み許可プロセスを発行できるアプリケーションからのＩ／Ｏ要求が読み込み要求であった場合には、シャドウボリュームデバイスを介してメモリからＯＳパッチ等のシステム更新データを読み込むことができる。また、書込み禁止プロセスのみを発行するアプリケーションからのＩ／Ｏ要求が読み込み要求であった場合には、ボリュームフィルタデバイスを介してメモリからシステム更新データを読み込むことができる。よって、利用者端末を再起動しなくても、リアルタイムに全てのプロセスからシステム更新データを読み込みことができるようになる。
【００６５】
利用者端末装置のシャットダウン時には、シャドウボリュームデバイスが、キャッシュメモリに書き込まれたシステム更新データを、二次記憶装置に書き込む。これにより、システム更新データが最終的に利用者端末装置に反映することができる。つまり、利用者端末が再起動された場合に、ＯＳパッチ等のシステム更新データはＯＳに反映される。
【００６６】
上記書込み禁止プロセスのＩ／Ｏを発行するアプリケーションの例としては、機密データを作成・編集するためのアプリケーションプログラムが挙げられる。
【００６７】
また、以上説明したように、利用者端末装置（ＰＣ）起動からシャットダウンまでの間、書込み許可プロセスと書き込み禁止プロセス間でファイル、例えば、アプリケーション固有の設定・構成データ等、を隔離することができるので、データをセキュアに管理することが可能となる。
【００６８】
なお、本発明は、実施形態の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をシステム或は装置に提供し、そのシステム或は装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどが用いられる。
【００６９】
また、プログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータ上のメモリに書きこまれた後、そのプログラムコードの指示に基づき、コンピュータのＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。
【００７０】
また、実施の形態の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することにより、それをシステム又は装置のハードディスクやメモリ等の記憶手段又はＣＤ-ＲＷ、ＣＤ-Ｒ等の記憶媒体に格納し、使用時にそのシステム又は装置のコンピュータ(又はＣＰＵやＭＰＵ)が当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしても良い。
【符号の説明】
【００７１】
１０１…利用者端末、１０２…ファイルサーバ、１０３…ネットワーク、１０４…ＯＳ、１０５…アプリケーション、１０６…ファイルアクセス制御モジュール、１０７…書込み制御モジュール、１０８…デバイス制御モジュール、１０９…アプリケーション制御ファイル、１１０…二次記憶装置、１１１…機密データ
【図１】
2010237921.tif 000003
【図２】
2010237921.tif 000004
【図３】
2010237921.tif 000005
【図４】
2010237921.tif 000006
【図５】
2010237921.tif 000007
【図６】
2010237921.tif 000008
【図７】
2010237921.tif 000009