JP5295046B2 - 利用者端末装置及び利用者端末装置の制御方法 - Google Patents
利用者端末装置及び利用者端末装置の制御方法 Download PDFInfo
- Publication number
- JP5295046B2 JP5295046B2 JP2009202995A JP2009202995A JP5295046B2 JP 5295046 B2 JP5295046 B2 JP 5295046B2 JP 2009202995 A JP2009202995 A JP 2009202995A JP 2009202995 A JP2009202995 A JP 2009202995A JP 5295046 B2 JP5295046 B2 JP 5295046B2
- Authority
- JP
- Japan
- Prior art keywords
- write
- secondary storage
- data
- storage device
- volume
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
- Storage Device Security (AREA)
Description
本発明は、利用者端末装置及び利用者端末装置の制御方法に関し、例えば、利用者データをファイルサーバに集約し、機密情報の紛失・漏洩防止を実現するシンクライアントシステムの一部を構成する利用者端末装置及び利用者端末装置の制御方法に関するものである。
近年、ファイルサーバに保管されている重要データが利用者端末から拡散するのを防ぐためのシステムとして、シンクライアントシステムが考案されている。シンクライアントシステムは、端末内に不揮発性の二次記憶装置を装備しない端末(ディスクレスPC)を使用するのが一般的であるが、書込みを制御した二次記憶装置を備えるPC(パーソナル・コンピュータ)をシンクライアント端末として使用するシステムも存在する。
例えば、特許文献1では、二次記憶装置を持つ端末において、アプリケーションから二次記憶装置へ書込みが発生した場合、その書込みを主記憶装置(キャッシュメモリ)上へリダイレクトすることで、二次記憶装置への書込みを制限し、擬似的に二次記憶を持たない端末を実現している。
ディスクレスPCを使用する場合に比べ、書込み制御した二次記憶装置を備えるPCをシンクライアント端末として使用する場合、サーバサイドでの負荷が少ないため、インフラ構築等のコストを安価にできるメリットがある。このシステムによれば、ファイルサーバに保管されている重要データが拡散するのを防止することに加え、利用者による不適切なOS設定変更や、アプリケーションのインストールを防止することも可能である。
一方、特許文献1のシステムは、OSパッチ等のシステム更新データを、二次記憶装置に保存することができないため、システムを最新の状態に保てない。これに対し、システム更新データのみを利用者端末の二次記憶装置へ保存可能なシステムとして、特許文献2のようなシステムが提案されている。特許文献2では、ファイルシステムの下位に書込み可能フィルタデバイスと、書込み禁止フィルタデバイスの2つを生成する。そして、ファイルシステムの上位のフィルタドライバであるファイルアクセス制御ドライバで書込み禁止のファイルアクセスを検知して、書込み禁止フィルタデバイスにリダイレクトする。書込み可能ファイルは、通常通り二次記憶装置への書込みとして物理的に反映される。これにより、二次記憶装置への書込みに関して、ファイル・フォルダ単位の保存制御を実現している。
しかしながら、特許文献2に記載されたシンクライアント端末は、リアルタイムに、システム更新データをOS上の全てのアプリケーションに対して有効にするものではない。言い換えるなら、リアルタイムに更新データを書き込むことは可能だが、書込みを許可したアプリケーションからしかその更新データをリアルタイムに使用することが出来ない。全てのアプリケーションでシステム更新データを有効にするには再起動が必要である。これは、書込み許可のアプリケーションが書き込んだファイル・フォルダを、書込み禁止のアプリケーションが参照することができないためである。単純に、書込み禁止アプリケーションからの読み込み要求は書込み許可のファイル・フォルダへ、書込み要求は書込み禁止ファイル・フォルダへと振り分けると、ファイル整合性に問題がでるため困難である。
本発明はこのような状況に鑑みてなされたものであり、リアルタイムにシステム更新データを二次記憶装置に書き込みつつ、再起動無しで、リアルタイムに、システム上の全てのアプリケーションから二次記憶装置に書き込んだ更新データを有効にする方法を提供するものである。
上記課題を解決するために、本発明による利用者端末装置は、二次記憶装置に対するI/O要求を判断し、I/O要求が書込み要求であった場合に、当該I/O要求を行ったアプリケーションについて、二次記憶装置へのデータ書込みが許可されているか否かを判断するファイルアクセス制御手段(ファイルアクセス制御モジュール)と、読み書き要求を処理しかつ書込み要求のあったデータをリダイレクトしてキャッシュメモリに格納するボリュームフィルタデバイス及び書込み要求の処理及びボリュームフィルタデバイスに対して二次記憶装置からデータを読込んでキャッシュする要求を新たに命令することが可能な機能を持つシャドウボリュームデバイスを有する書込み制御手段(書込み制御モジュール)と、を備える。なお、ボリュームフィルタデバイスとシャドウボリュームデバイスは、同じボリューム領域を参照するボリュームフィルタの一種とする。
そして、ファイルアクセス制御手段が、書込み要求を行ったアプリケーションについて二次記憶装置への書込みが許可されていると判断した場合、ファイルアクセス制御手段自身は、I/Oを2重化してファイルシステムを経由してボリュームフィルタデバイスとシャドウボリュームデバイスに転送する。ボリュームフィルタデバイスは書込み要求のあったデータをキャッシュメモリに格納する。シャドウボリュームデバイスは、シャドウボリュームデバイスが書込む予定の領域をボリュームフィルタデバイスに事前に読み込ませてキャッシュメモリに格納させ、ボリュームフィルタデバイスの読込みが完了した後に、シャドウボリュームデバイスが書込みデータを二次記憶装置に書き込む。
また、ファイルアクセス制御手段が、書込み要求を行ったアプリケーションについて二次記憶装置への書込みが禁止されていると判断した場合には、ファイルアクセス制御手段自身は、書込みデータをファイルシステムを経由してボリュームフィルタデバイスへ転送し、ボリュームフィルタデバイスが、書込み要求のあったデータをキャッシュメモリに格納する。
ファイルアクセス制御手段が、I/O要求が読み込み要求であると判断した場合、ボリュームフィルタデバイスは、読み込み要求のあったデータをキャッシュメモリ又は二次記憶装置から読み込む。
さらなる本発明の特徴は、以下本発明を実施するための最良の形態および添付図面によって明らかになるものである。
本発明によれば、二次記憶装置への書込みを制御した擬似シンクライアント端末装置において、リアルタイムにシステム更新データを二次記憶装置に反映し、シャットダウンを高速化することが可能となる。
本発明は、利用者端末の二次記憶装置への書込み制御、及び、外部記憶媒体への書出し制御により、利用者データをファイルサーバに集約し、機密情報の紛失・漏洩防止を実現するシンクライアントシステムの一部を構成する利用者端末装置及びデータ制御方法に関するものである。また、本発明は、先願(特願2008−274099)を改良するものである。
先願(特願2008−274099)であるシンクライアントシステムの一部を構成する利用者端末装置及びデータ制御方法によれば、ファイルシステムの下位にボリュームフィルタデバイスとシャドウボリュームデバイスの2つを生成する。この2つのデバイスはそれぞれ、上位モジュールから転送されてくる書込みデータをメモリ上にキャッシュする機能を備えている。そして、ファイルシステムの上位のフィルタドライバであるファイルアクセス制御モジュールでプロセス毎の書込み処理を判定し、二次記憶装置へ書込みを反映させたいデータはボリュームフィルタデバイスとシャドウボリュームデバイスの両方へ書込みデータを転送し、書込みを反映させたくないデータはボリュームフィルタデバイスのみに書込みデータを転送する。そして、シャットダウン時にシャドウボリュームデバイスがキャッシュしたデータを二次記憶装置に書き込む。これにより、二次記憶装置への書込みに関して、ファイル・フォルダ単位の保存制御をする装置を実現している。
しかしながら、上記シンクライアント端末では、メモリにキャッシュしたデータをシャットダウン時に二次記憶装置へまとめて書込むため、システムシャットダウンの時間が増加し、ユーザビリティが著しく低下する問題がある。
本発明の実施形態ではこの問題を解決すべく、二次記憶装置への書込みを制御した擬似シンクライアント端末装置においてシャットダウン高速化に関するデータ制御方法を提供する。
以下、添付図面を参照して本発明の実施形態について説明する。ただし、本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。また、各図において共通の構成については同一の参照番号が付されている。
<情報処理システムの構成>
図1は、本発明の実施形態による情報処理システムの概略構成を示す図である。
この情報処理システムは、利用者端末101とファイルサーバ102で構成されており、それぞれがネットワーク103で接続されている。なお、ここでのネットワーク103は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、ピアツーピアネットワーク等として一般に知られるネットワークを用いて実現することができる。また、利用者端末は、CPU、主記憶装置、ネットワークデバイス、入出力装置、二次記憶装置を備える一般的なPCであり、可搬性等の形態に限定は無い。
図1は、本発明の実施形態による情報処理システムの概略構成を示す図である。
この情報処理システムは、利用者端末101とファイルサーバ102で構成されており、それぞれがネットワーク103で接続されている。なお、ここでのネットワーク103は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、ピアツーピアネットワーク等として一般に知られるネットワークを用いて実現することができる。また、利用者端末は、CPU、主記憶装置、ネットワークデバイス、入出力装置、二次記憶装置を備える一般的なPCであり、可搬性等の形態に限定は無い。
利用者端末101上には、OS104、文書・帳票作成・ブラウザ等のアプリケーション105、ファイルアクセス制御モジュール106、デバイス制御モジュール107、書込み制御モジュール108、ディスクモジュール109がインストールされており、二次記憶装置111にはアプリケーション制御ファイル110が格納されている。さらに、利用者端末101は、図1に示されてはいないが、制御部(CPU)、メモリ、ネットワークインタフェース、入出力装置(キーボード、ディスプレイ、スピーカ等)等を備えている。
ファイルサーバ102は、図1には示されていないが、CPU、主記憶装置、ネットワークデバイス、入出力装置、二次記憶装置等を備え、利用者端末101とコネクションを張って、ファイル転送が可能となっており、利用者端末101上のアプリケーション105で作成・編集された機密データ112を保存することが可能な一般的なファイルサーバである。
利用者は、利用者端末101のOS104上で動作するアプリケーション105を用いて、ファイルサーバ102上の機密データ112にアクセスし、利用・編集することができる。
利用者端末101において、書込み制御モジュール108は、USB等の外部記憶媒体を検知し、前記外部記憶媒体への書き出しを制御する機能を備える。外部記憶媒体の検知はOSの機能を使用して外部デバイスを検知し、デバイスへのアクセスを禁止、または、そのデバイスへの書込みをメモリ上にリダイレクトする等の手段により、書出しを制御する。この機能により、ファイルサーバ上の機密データが利用者端末から外部へ保存されることが無くなり、データの集約及び情報漏えいを防止することが可能となる。
<利用者端末の内部構成>
図2は、利用者端末101のOSコンポーネントを含む内部構成を詳細に示す図である。図2の有向線は、アプリケーションやOSモジュール等のプログラム(話を分かりやすくするために、以後、ドキュメント作成等のアプリケーションソフトウェアだけでなく、OSのモジュール等でも二次記憶装置へ書込みを行うプログラムのことを、単にアプリケーションと呼ぶ。この「アプリケーション」には、例えばwindows(登録商標) updateのようなシステム更新用のアプリケーションも含まれる。)が、二次記憶装置に対して要求するI/Oの流れを示している(実際はRead/Write以外のものも存在するが省略する)。
図2は、利用者端末101のOSコンポーネントを含む内部構成を詳細に示す図である。図2の有向線は、アプリケーションやOSモジュール等のプログラム(話を分かりやすくするために、以後、ドキュメント作成等のアプリケーションソフトウェアだけでなく、OSのモジュール等でも二次記憶装置へ書込みを行うプログラムのことを、単にアプリケーションと呼ぶ。この「アプリケーション」には、例えばwindows(登録商標) updateのようなシステム更新用のアプリケーションも含まれる。)が、二次記憶装置に対して要求するI/Oの流れを示している(実際はRead/Write以外のものも存在するが省略する)。
また、図2の実線218〜222は主にアプリケーションが発行した場合のI/Oで、一点鎖線223、226、227はファイルアクセス制御モジュール106が発行するI/O、点線224、225はシャドウボリュームデバイス213が発行するI/Oに関するものである。
ディスクモジュール109は、二次記憶装置111上のボリュームを表現するボリュームデバイス215を作成する機能を持つOS104のモジュールである。
ファイルアクセス制御モジュール106は、ボリュームデバイス215にマウントされているファイルシステム210にアタッチして、アプリケーション105が発行する二次記憶装置111へのI/Oをフィルタすることが可能なファイルシステムフィルタデバイス205を作成する機能を備えている。また、アプリケーション105の発行した二次記憶装置111へのI/Oが書込み要求だった場合、ファイルアクセス制御モジュール106は、その書込み要求元のアプリケーションが「書込み許可」アプリケーションか「書込み禁止」アプリケーションかを判定する。そして、ファイルアクセス制御モジュール106は、「書込み許可」アプリケーションの書込みならば、ボリュームフィルタデバイス212とシャドウボリュームデバイス213の両方へデータを複製・送信する(実線219、一点鎖線223、後述する図3のS307、S308)。逆に、「書込み禁止」アプリケーションの書込みならば、ファイルアクセス制御モジュール106は、ボリュームフィルタデバイス212にのみデータを送信する(実線219、後述する図3のS306)。
「書込み許可」アプリケーションの例として、OSやアプリケーションソフトウェアの、アップデートプログラムが挙げられる。これらのプログラムは、通常OSやアプリケーションのベンダから提供されるものである。「書込み禁止」プログラムの例として、機密データを作成・編集するようなアプリケーションプログラム、一般的に考えて文書・帳票作成・編集用のアプリケーションプログラムが挙げられる。
書込み要求元のプログラムの振り分けの方法としては、アプリケーション制御ファイル206(例:図8(表1))を利用者端末101にインストールしておくことで可能となる。
アプリケーション制御ファイル206は、アプリケーション名803と書込み禁止/許可のフラグ804をセットにしたリスト形式のファイルである。一般的なOSならば、アプリケーション名から実行プロセス名やプロセスIDを取得することが可能である。このため、このリストを読み込めば、利用者端末上で動作しているアプリケーションのプロセス名とプロセスIDを取得することが可能である。
また、ファイルアクセス制御モジュール106をファイルシステムのフィルタドライバとして実装しておけば、ファイルシステムフィルタデバイス205で書込み処理要求を取得した時に、要求元のプロセス名やプロセスIDを取得することが可能である。以上の手段で取得したプロセス名やプロセスIDを比べることで、書込み処理元のアプリケーションが、書込み「許可」アプリケーションか書込み「禁止」アプリケーションか、を判定することが可能となる。
なお、アプリケーション制御ファイル206は、システム管理者が利用者端末のシステムポリシーに従って適切に作成し、あらかじめインストールしておくものであるが、アップデートと同時に更新することも可能なファイルである。また、一般利用者がアプリケーションのインストールを行うことができるとすると、害意(不正目的で)のアプリケーションをインストールする可能性があるため、インストール作業は管理者が行うのが好ましい。
ここで、ファイルアクセス制御モジュール106が、書込み許可プログラムからの書込みを、ボリュームフィルタデバイス212とシャドウボリュームデバイス213の両方へ二重に書き込んでいる理由について述べる。即ち、本システムでは、アプリケーションからのRead要求(実線218、219参照)は、ファイルシステムフィルタデバイス205→ファイルシステム210→ボリュームフィルタデバイス212の順に転送される。そして、最終的にボリュームデバイス215が二次記憶装置111から読み込んだデータをアプリケーション105に返すか(実線222→219→218)、或いはボリュームフィルタデバイス212がメモリ217にキャッシュしたデータをアプリケーション105に返す(実線220→219→218)。そのため、仮にシャドウボリュームデバイス213だけにしかデータ書込みを行っていないとすると、読み込んだデータが二次記憶装置111上の古いデータとなる状況が起こる。よって、シャドウボリューム213からボリュームデバイス215を介して二次記憶装置111へデータ書込みを行う場合は、さらにボリュームフィルタデバイス212を介して同じデータをキャッシュメモリに書き込んでおき、アプリケーションからのRead要求には最新のデータを返す(実線221→219→218)。これにより、古いデータを読み込んでしまうという危険を回避することができ、また、再起動しなくても最新の制御データをリアルタイムに反映することができるようになる。
なお、ファイルアクセス制御モジュール106は、ファイルシステムフィルタにより実現可能であること述べたが、ここに述べたものは一例であり、本発明を限定するものではない。ここで述べた方法以外にも、書込みアプリケーションプロセス内で書込み先のファイルパスを変更して書込みI/Oを振り分ける方法なども考えられる。
書込み制御モジュール108は、ボリュームデバイス215にアタッチ(1対1に対応付ける)して、アプリケーション105から二次記憶装置111へのI/Oをフィルタすることが可能なボリュームフィルタデバイス212と、シャドウボリュームデバイス213の2つのデバイスを作成する機能を備えている。なお、ここでは、書込み制御モジュール108は、ディスクドライバのフィルタドライバの一種として話を進めるが、実現手段に関しては、ここで述べた以外の方法でもかまわない。
ボリュームフィルタデバイス212は、二次記憶装置111へデータを書込むことが可能であるボリュームデバイス215にアタッチして書込みデータをメモリ217上にリダイレクトしてキャッシュする機能を備える。また、シャドウボリュームデバイス213(後述)から要求を受けて、二次記憶装置上の任意の領域のデータを読み込んでキャッシュする機能も備える(実線220)。ここでは、アプリケーション105が二次記憶装置111に対してI/Oを行った場合に、そのI/Oを取得するための手段の一例として「アタッチ」を用いている。アタッチによる方法でなくとも、任意のプログラムがボリュームに対して行うI/Oデータを取得できるならば、その方法はアタッチに限定されない。
シャドウボリュームデバイス213は、ファイルアクセス制御モジュール106からの書込み要求を処理するモジュールである。なお、シャドウボリュームデバイス213は、ボリュームデバイス215の存在を認識しておりボリュームデバイス215を経由して二次記憶装置111へデータを書き込むことが可能であるが(一点鎖線226、227)、二次記憶装置111のボリュームデバイス215にアタッチすることは無い。アタッチをしないことにより、アプリケーション105が発行する任意のI/Oがシャドウボリュームデバイス213に到達することがなくなり、アクセス制御モジュール106からの書込み処理のみがシャドウボリューム213に転送されることを実現している(一点鎖線223)。
シャドウボリュームデバイス213は、アクセス制御モジュール106からファイルシステム210を経由して書込み要求を受けた場合(一点鎖線223)、二次記憶装置111に書き込む前にボリュームフィルタデバイス212に対して、シャドウボリュームフィルタデバイス213が書込みを行う二次記憶装置111上の領域に現在存在するデータを二次記憶装置111から読み込んでキャッシュするように(点線225)、ボリュームフィルタデバイス212に要求を行う機能を持つ(点線224)。要求が成功した後、シャドウボリュームデバイス213は書込み要求をボリュームデバイス215に転送して(一点鎖線226)、二次記憶装置111への書込みを完了させる(一点鎖線227)。以後、ボリュームフィルタデバイス212への読み書き要求がこの領域に対して行われた場合は、このキャッシュデータが使用されるようになる。
ここで、シャドウボリュームデバイス213が二次記憶装置111へデータを書き込む前にボリュームフィルタデバイス212に対して事前にデータを読み込んでキャッシュさせておく理由について述べる。
本システムにおいて、ファイルシステム210はボリュームフィルタデバイス212とシャドウボリュームデバイス213をそれぞれ別々のボリュームとして認識する。しかし、ボリュームフィルタデバイス212とシャドウボリュームデバイス213は、同じボリューム(二次記憶装置111上のボリュームを表現するボリュームデバイス215)を参照する(図2実線222、一点鎖線226)。これらが意味することは、アクセス制御モジュール106がファイルI/Oを2重化してボリュームフィルタデバイス212経由で読込む二次記憶装置上の領域と、シャドウボリュームデバイス213経由で書込む二次記憶装置上の領域が隔離されていない(同じ領域を管理している)ことを意味する。つまり、各デバイスの管理領域は専用領域として管理されているわけではない。同じ領域を管理している理由は、例えばWindows(登録商標)のシステム階層構造上、二次記憶装置111へアクセスするにはCドライブ等に該当するボリュームデバイス215という同一のドライバを介してしなければならないからである。
Windows(登録商標)が採用するファイルシステムであるNTFSにおいては、各ボリュームの先頭にはMFT(Master File Table)ファイルが格納されている。MFTとは、ボリューム内のファイル属性とファイルレコードとを含む関連データベースであり、この中にはボリューム内のファイル構造を表す情報が格納されている。また、MFTは、ボリューム毎に存在するファイルである。アプリケーションからファイルの書込みや属性変更等があると、ファイルシステムはMFTを更新(書込み)する。OS104を起動した時点では、ボリュームフィルタデバイス212とシャドウボリュームデバイス213は、ボリュームデバイス215のMFT領域を参照するためファイル・フォルダ構成は同じである。しかし、ファイルシステム210はボリュームフィルタデバイス212とシャドウボリュームデバイス213を別ボリュームとして認識するため、ボリュームフィルタデバイス212とシャドウボリュームデバイス213それぞれのMFTに対して異なる書込みがファイルシステム210から発生する。
例えば、OS104起動時に、MFTファイルが1番セクタ〜5番セクタに格納され、ファイルAの情報が2番セクタ〜3番セクタに格納されている場合を想定する。今、「書込み許可」アプリケーションがファイルBの新規作成・書込みをする。この時、ボリュームフィルタデバイス212ではファイルBのファイル情報が1番セクタ〜2番セクタに作成・書込みされ、シャドウボリュームデバイス213ではファイルBのファイル情報が2番セクタ〜3番セクタに作成・書込みされたとする。ここで仮に、シャドウボリュームデバイス213が、ボリュームフィルタデバイス212に2番セクタ〜3番セクタのデータをキャッシュさせずにボリュームデバイス215にデータを書き込んだとする。その後、任意のアプリケーションからボリュームフィルタデバイス212にファイルAの読込みがあった時、ファイルシステム210はMFTの読込みを行うが、ボリュームフィルタデバイス212では2番セクタ〜3番セクタはまだ書込みがないのでキャッシュされておらず、ボリュームデバイス215からデータを読み込んでくる。すると、2番セクタ〜3番セクタはシャドウボリュームデバイス213からの書き込みにより不整合が生じているため、正しいMFTを読込めず、システムがクラッシュする。
これは、ボリュームフィルタデバイス212とシャドウボリュームデバイス213で、MFTファイル内における書込み内容が異なることに起因する。
これは、ボリュームフィルタデバイス212とシャドウボリュームデバイス213で、MFTファイル内における書込み内容が異なることに起因する。
他の例として、OS104起動時に、ボリュームデバイス215に保存されているMFTに、ファイルAのデータは10000番セクタ〜10100番セクタと10200番セクタ〜10300セクタに分割格納され、ファイルBのデータは10400番セクタ〜10500番セクタに格納されているというファイル情報がある場合を想定する(10100番セクタ〜10200番セクタは空のセクタ領域)。OS104起動時は、ボリュームフィルタデバイス212とシャドウボリュームデバイス213で同じMFTを参照するので、ボリュームフィルタデバイス212とシャドウボリュームデバイス213のフォルダ・ファイル構成は同じである。今、シャドウボリュームデバイス213でファイルシステム210によるデフラグ処理が発生し、シャドウボリュームデバイス213では、ファイルAは10000番セクタ〜10200番セクタ、ファイルBは10200番セクタ〜10300番セクタに最適化された(書込まれた)とする。ここで仮に、シャドウボリュームデバイス213が、ボリュームフィルタデバイス212に10100番セクタ〜10300番セクタのデータをキャッシュさせずにボリュームデバイス215にデータを書き込んだとする。その後、ボリュームフィルタデバイス212にファイルAの読込みがあると、ボリュームフィルタデバイス212は10000番セクタ〜10100番セクタと10200番セクタ〜10300セクタを読み込む(ボリュームフィルタデバイス212ではこの領域はまだ書込みがないのでキャッシュされておらず、ボリュームデバイス215からデータを読み込んでくる)。すると、10200番セクタ〜10300番セクタはシャドウボリュームデバイス213によりファイルBのデータが書き込まれているため、破壊されたファイルAを読み込むこととなる。
従って、ファイルシステム以下のレイヤーでの動作を保証するために、事前にボリュームフィルタデバイスにデータを読み込ませる動作は必須となる。
さらに付け加えるなら、本システムは、1つのストレージ領域に対して、ファイルシステムより上のレイヤーでは2つのアクセス経路を提供しているが、最終的に二次記憶装置に反映できる書込み経路は1つである。そして、本システムでは、システム更新に関わるデータをシャドウボリュームデバイス213経由で書き込む構成をとっている。ゆえに、シャドウボリュームデバイス213経由の書込みデータを二次記憶装置111へ書き込むためには、ボリュームフィルタデバイス212経路用の二次記憶装置111内のデータを事前に吸い上げて(図2点線225)、キャッシュとしてボリュームフィルタデバイス212に持たせる必要がある。
このようにすることで、以後の同データの読み書きはキャッシュされたメモリ217上で行われ(図4のS405、S407、図3のS305〜S307)、ボリュームフィルタデバイス212経由で二次記憶装置111上の同データを読み込めない問題が無くなる。従って、同データが存在する二次記憶装置111の領域に、シャドウボリュームデバイス213経由でアップデートプログラム等を新たに書き込んでおくことができ、シャットダウン時にまとめて行っていた書込み時間が不要となる。
<ファイルアクセス制御モジュールの動作>
図3は、ファイルアクセス制御モジュール106の処理動作を説明するためのフローチャートである。
まず、アプリケーション105がファイルシステムフィルタデバイス205にアクセスを行った場合、ファイルアクセス制御モジュール106はそのアクセスを検知する(ステップS301、図2実線218)。そして、ファイルアクセス制御モジュール106は、初めにその要求が書込みに関連する要求か否かを判定する(ステップS302)。なお、書込みに関連する要求とは、いわゆる二次記憶装置への書込みが起こる要求のことを指している。例えば、書込み要求以外にもファイルの属性変更等の要求も書込み関連要求に含まれる。
図3は、ファイルアクセス制御モジュール106の処理動作を説明するためのフローチャートである。
まず、アプリケーション105がファイルシステムフィルタデバイス205にアクセスを行った場合、ファイルアクセス制御モジュール106はそのアクセスを検知する(ステップS301、図2実線218)。そして、ファイルアクセス制御モジュール106は、初めにその要求が書込みに関連する要求か否かを判定する(ステップS302)。なお、書込みに関連する要求とは、いわゆる二次記憶装置への書込みが起こる要求のことを指している。例えば、書込み要求以外にもファイルの属性変更等の要求も書込み関連要求に含まれる。
書込み関連要求ではない場合、ファイルアクセス制御モジュール106は、その要求をボリュームフィルタデバイス212へ転送して処理を終了する(ステップS305、図2実線219)。要求が書込み関連の場合、ファイルアクセス制御モジュール106は、アプリケーション制御ファイル206を読み込み(ステップS303)、書込み処理のプロセス名をOSに問い合わせて取得し、リストのアプリケーション名に対応するプロセス名と比較して一致するエントリーの書込みフラグを取得し、書込み許可/禁止を判定する(ステップS304)。
書込みフラグが「TRUE」の場合、書込みは「許可」であり、ファイルアクセス制御モジュール106は、ボリュームフィルタデバイス212に書込み関連要求を転送する(ステップS307、図2実線219)。さらに、ファイルアクセス制御モジュール106は、シャドウボリュームデバイス213に対しても同じデータの書込みを行った後(ステップS308、図2一点鎖線223)、処理を終了する。なお、ボリュームフィルタデバイス212とシャドウボリュームデバイス213に対して並行に書込み処理を行っても良い。
一方、ステップS304で書込みフラグが「FALSE」と判断された場合には、書込みは「禁止」であり、ファイルアクセス制御モジュール106は、ボリュームフィルタデバイス212に書込み関連要求を転送したのち(ステップS306、図2実線219)、処理を終了する。
<書込み制御モジュールの動作>
図4は、書込み制御モジュール108内のボリュームフィルタデバイス212がアプリケーションからアクセスを受けた場合(図2実線219)の処理動作を説明するためのフローチャートである。
図4は、書込み制御モジュール108内のボリュームフィルタデバイス212がアプリケーションからアクセスを受けた場合(図2実線219)の処理動作を説明するためのフローチャートである。
アプリケーション105は、ファイルシステムフィルタデバイス205を経由し、ボリュームフィルタデバイス212にアクセスすると(ステップS401、図2実線219)、ボリュームフィルタデバイス212は、その要求が書込みに関連する要求か否かを判定する(ステップS402)。
書込み関連処理の場合、ボリュームフィルタデバイス212は、書込みデータをメモリ217上に確保した領域にキャッシュしておく(ステップS405、図2実線221)。なお、書込み制御が施されていない通常のPCでは、この書込み要求は、ボリュームデバイスに転送され、二次記憶装置に書き込まれる。
書込み関連処理以外の場合、(ここでは、読み込み処理に話を限定するがそれ以外のものもふくまれることが考えられる)、ボリュームフィルタデバイス212は、ボリュームデバイス215を介して2次記憶装置111からデータを読み込む(ステップS403、図2実線222)。
その後、ボリュームフィルタデバイス212は、メモリ217中にデータがキャッシュされているか否かを判定し(ステップS404)、キャッシュが存在しない場合、読み込んだデータをそのままアプリケーションに返す(ステップS406)。キャッシュデータが存在する場合は、ボリュームフィルタデバイス212は、キャッシュを読み込みデータに上書きしてアプリケーションに返す(ステップS407)。
図5は、書込み制御モジュール108内のボリュームフィルタデバイス212がシャドウボリュームデバイス213からキャッシュ命令をうけた場合の動作フローである。
なお、このフローは、シャドウボリュームデバイス213がアクセス制御モジュールから書込み要求を受け、二次記憶装置111への書込みが発生した場合に起こる(図2点線224、後述する図6のステップS602)。
なお、このフローは、シャドウボリュームデバイス213がアクセス制御モジュールから書込み要求を受け、二次記憶装置111への書込みが発生した場合に起こる(図2点線224、後述する図6のステップS602)。
まず、ボリュームフィルタデバイス212がシャドウボリュームデバイス213からのキャッシュ命令を検知する(ステップS501)。なお、シャドウボリュームからの通知は、アプリケーションからのアクセスとは異なる方法で通知される。命令を受けると、ボリュームフィルタデバイス212は、ボリュームデバイス215に読み込み処理を送信し、二次記憶装置111内のデータを読み込む(ステップS502、図2実線222)。次に、ボリュームフィルタデバイス212は、読み込んだデータがメモリ217中に既にキャッシュされているデータか否かをチェックする(ステップS503)。キャッシュされていない場合は、ボリュームフィルタデバイス212は読み込んだデータをキャッシュする(ステップS504、図2実線221)。既にキャッシュされているデータの場合、キャッシュされているデータをそのまま使用し、読み込んだデータは破棄する。
図6は、書込み制御モジュール108内のシャドウボリュームデバイス213の処理動作を説明するためのフローチャートである。
アクセス制御モジュール106のシャドウボリュームデバイス213に対するアクセスが検知されると(ステップS601、図2一点鎖線223)、シャドウボリュームフィルタデバイス213は二次記憶装置111上の書込み領域の情報を取得する(ステップS602)。次に、シャドウボリュームデバイス213が書込みを行う二次記憶装置111の領域に現在格納されているデータをボリュームフィルタデバイス212が読み込んでキャッシュするように(図2点線225)、ボリュームフィルタデバイス212に対して要求する(ステップS603、図2点線224)。なお、ここでボリュームフィルタデバイス212がキャッシュするデータは、ボリュームフィルタデバイスへの書込み要求がなされたときにキャッシュするデータと同じ扱いになる。ボリュームフィルタデバイス212のキャッシュが成功した後、シャドウボリュームデバイス213はアクセス制御モジュール106から要求されていた二次記憶装置111への書込み処理をボリュームデバイス215に要求する(ステップS604、図2一点鎖線226)。ボリュームデバイス215は二次記憶装置111へのデータ書込みを完了する(ステップS605、図2一点鎖線227)。
アクセス制御モジュール106のシャドウボリュームデバイス213に対するアクセスが検知されると(ステップS601、図2一点鎖線223)、シャドウボリュームフィルタデバイス213は二次記憶装置111上の書込み領域の情報を取得する(ステップS602)。次に、シャドウボリュームデバイス213が書込みを行う二次記憶装置111の領域に現在格納されているデータをボリュームフィルタデバイス212が読み込んでキャッシュするように(図2点線225)、ボリュームフィルタデバイス212に対して要求する(ステップS603、図2点線224)。なお、ここでボリュームフィルタデバイス212がキャッシュするデータは、ボリュームフィルタデバイスへの書込み要求がなされたときにキャッシュするデータと同じ扱いになる。ボリュームフィルタデバイス212のキャッシュが成功した後、シャドウボリュームデバイス213はアクセス制御モジュール106から要求されていた二次記憶装置111への書込み処理をボリュームデバイス215に要求する(ステップS604、図2一点鎖線226)。ボリュームデバイス215は二次記憶装置111へのデータ書込みを完了する(ステップS605、図2一点鎖線227)。
<利用者端末起動時の動作>
図7は、利用者端末101を起動した時の処理動作を説明するためのフローチャートである。
まず、利用者が利用者端末101を起動するとOS104が起動し(ステップS701)、OS104が各モジュールをシステムにロードする(ステップS702)。
図7は、利用者端末101を起動した時の処理動作を説明するためのフローチャートである。
まず、利用者が利用者端末101を起動するとOS104が起動し(ステップS701)、OS104が各モジュールをシステムにロードする(ステップS702)。
次に、書込み制御モジュール108は、ボリュームフィルタデバイス212とシャドウボリュームデバイス213を作成する(ステップS703)。なお作成の際に、ボリュームフィルタデバイス212とシャドウボリュームデバイス213は、二次記憶装置111内のボリュームを表すボリュームデバイス215を保持することで、ボリュームに対する読込み・書込み処理が可能となる。また、ボリュームフィルタデバイス212は、ボリュームデバイス215にアタッチ(対応付け)する(ステップS704)。このアタッチにより、アプリケーション105が二次記憶装置111にアクセスする場合の処理をボリュームフィルタデバイス212で取得できるようになる。
続いて、OS104は、ボリュームデバイス215に対し、ファイルシステム210、例えばNTFSやFAT等をマウントする(ステップS705)。
最後に、ファイルアクセス制御モジュール106は、ファイルシステムフィルタデバイス205を作成し、ファイルシステム210にアタッチする。これにより、ファイルシステムフィルタデバイス205で、ボリュームに対するファイル処理を取得することが可能になりファイル処理の振り分けが可能になる。
<まとめ>
本実施形態では、書込み制御モジュールとして、ボリュームフィルタデバイス及びシャドウボリュームデバイスを導入し、二次記憶装置に書込み可能な制御データ(システム更新データ)と書込み禁止されている機密データとのキャッシュルートを変えている。これにより、利用者端末のシステム更新データのみを、利用者端末の二次記憶装置に保存することが可能で、かつ、利用者端末のシャットダウン後には機密データが利用者端末に残存することがなくなることが可能になる。
本実施形態では、書込み制御モジュールとして、ボリュームフィルタデバイス及びシャドウボリュームデバイスを導入し、二次記憶装置に書込み可能な制御データ(システム更新データ)と書込み禁止されている機密データとのキャッシュルートを変えている。これにより、利用者端末のシステム更新データのみを、利用者端末の二次記憶装置に保存することが可能で、かつ、利用者端末のシャットダウン後には機密データが利用者端末に残存することがなくなることが可能になる。
また、シャドウボリュームデバイス213が書き込む二次記憶装置111上のデータを書込み前にボリュームフィルタデバイス212にキャッシュさせることで、ボリュームフィルタデバイスの読込みデータを破壊することなく最新の更新データを二次記憶装置に書込むことができる状態にできる。
また、書込み許可ファイルについては、メモリ217及び二次記憶装置111へリアルタイムに書き込むことで、シャドウボリュームデバイス213経由の書込みをリアルタイム化でき、システム更新データをリアルタイムにシステムに反映させることが可能となる。つまり、システムシャットダウンの時間にかかる二次記憶装置111への書込み処理時間を軽減し、ユーザビリティを向上させることが可能となる。
また、書込み禁止ファイルについては、メモリ217へ書き込み、二次記憶装置111へは書込みを行わない。これにより、機密データが二次記憶装置へ保存されることを防止できる。
なお、本発明は、実施形態の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をシステム或は装置に提供し、そのシステム或は装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD−ROM、DVD−ROM、ハードディスク、光ディスク、光磁気ディスク、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
また、プログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータ上のメモリに書きこまれた後、そのプログラムコードの指示に基づき、コンピュータのCPUなどが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。
また、実施の形態の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することにより、それをシステム又は装置のハードディスクやメモリ等の記憶手段又はCD-RW、CD-R等の記憶媒体に格納し、使用時にそのシステム又は装置のコンピュータ(又はCPUやMPU)が当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしても良い。
101…利用者端末、102…ファイルサーバ、103…ネットワーク、104…OS、105…アプリケーション、106…ファイルアクセス制御モジュール、107…デバイス制御モジュール、108…書込み制御モジュール、109…ディスクモジュール、110…アプリケーション制御ファイル、111…二次記憶装置、112…機密データ
Claims (6)
- シンクライアントシステムの一部を構成する、二次記憶装置とキャッシュメモリとを備えた利用者端末装置であって、
前記二次記憶装置に対するI/O要求を判断し、前記I/O要求が書込み要求であった場合に、当該I/O要求を行ったアプリケーションについて、前記二次記憶装置へのデータ書込みが許可されているか否かを判断するファイルアクセス制御手段と、
前記書込み要求のあったデータをリダイレクトしてキャッシュメモリに格納する第一の書込み制御手段と、
前記書込みが許可されていると判断されたデータを前記二次記憶装置へ書込み要求を行う第二の書込み制御手段と、
を備え、
前記第二の書込み制御手段は、前記二次記憶装置へ前記書込み要求を行う前に、前記書込み要求が対象とする前記二次記憶装置内の領域のデータを前記キャッシュメモリに格納するように、前記第一の書込み制御手段に対して通知し、
前記第一の書込み制御手段は、前記通知を受け、前記二次記憶装置内の領域からデータを読み込んで前記キャッシュメモリに格納することを特徴とする利用者端末装置。 - 前記第一の書込み制御手段と前記第二の書込み制御手段は、前記二次記憶装置内の同じ領域を管理していることを特徴とする請求項1記載の利用者端末装置。
- 前記ファイルアクセス制御手段は、前記アプリケーションによる書込みが許可されていると判断した場合、前記第一の書込み制御手段および前記第二の書込み制御手段に書込み要求を転送し、
前記第一の書込み制御手段は、前記書込み要求のあったデータをリダイレクトしてキャッシュメモリに格納し、
前記第二の書込み制御手段は、前記二次記憶装置内の領域のデータが前記キャッシュメモリに格納された後、前記二次記憶装置へ前記書込み要求をリアルタイムに実行することを特徴とする請求項1記載の利用者端末装置。 - 前記ファイルアクセス制御手段は、前記アプリケーションによる書込みが禁止されていると判断した場合、前記第一の書込み制御手段のみに書込み関連要求を転送し、
前記第一の書込み制御手段は、前記書込み要求のあったデータをリダイレクトしてキャッシュメモリに格納することを特徴とする請求項1記載の利用者端末装置。 - シンクライアントシステムの一部を構成する、二次記憶装置とキャッシュメモリとを備えた利用者端末装置の制御方法であって、
ファイルアクセス制御手段が、前記二次記憶装置に対するI/O要求を判断し、前記I/O要求が書込み要求であった場合に、当該I/O要求を行ったアプリケーションについて、前記二次記憶装置へのデータ書込みが許可されているか否かを判断するステップと、
第一の書込み制御手段が、前記書込み要求のあったデータをリダイレクトしてキャッシュメモリに格納するステップと、
第二の書込み制御手段が、前記ファイルアクセス制御手段が前記二次記憶装置への書込みが許可されていると判断した場合、前記書込み要求が対象とする前記二次記憶装置内の領域のデータを前記キャッシュメモリに格納するように、前記第一の書込み制御手段に対して通知するステップと、
前記第一の書込み制御手段が、前記通知を受け、前記二次記憶装置内の領域からデータを読み込んで前記キャッシュメモリに格納するステップと、
を備えることを特徴とする利用者端末装置の制御方法。 - さらに、前記第二の書込み制御手段が、前記アプリケーションについての書込みが許可されていると判断されたデータを前記二次記憶装置へ書込み要求を行うステップと、
を備えることを特徴とする請求項5記載の利用者端末装置の制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009202995A JP5295046B2 (ja) | 2009-09-02 | 2009-09-02 | 利用者端末装置及び利用者端末装置の制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009202995A JP5295046B2 (ja) | 2009-09-02 | 2009-09-02 | 利用者端末装置及び利用者端末装置の制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011053975A JP2011053975A (ja) | 2011-03-17 |
JP5295046B2 true JP5295046B2 (ja) | 2013-09-18 |
Family
ID=43942898
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009202995A Expired - Fee Related JP5295046B2 (ja) | 2009-09-02 | 2009-09-02 | 利用者端末装置及び利用者端末装置の制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5295046B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5180399B2 (ja) * | 2012-08-24 | 2013-04-10 | 株式会社東芝 | 情報処理装置、情報処理方法およびプログラム |
JP6310125B1 (ja) * | 2017-08-17 | 2018-04-11 | 九州電力株式会社 | データ保護システム、データ保護方法及びプログラム |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8316199B2 (en) * | 2006-11-07 | 2012-11-20 | Hitachi Solutions, Ltd. | Data processing control method, information processing apparatus, and data processing control system |
JP4806751B2 (ja) * | 2007-03-19 | 2011-11-02 | Necパーソナルプロダクツ株式会社 | ファイルアクセス先制御装置、その方法及びそのプログラム |
JP5175159B2 (ja) * | 2008-10-24 | 2013-04-03 | 株式会社日立ソリューションズ | 利用者端末装置、及びその制御方法 |
JP2010237921A (ja) * | 2009-03-31 | 2010-10-21 | Hitachi Software Eng Co Ltd | 利用者端末装置及びその制御方法、並びにプログラム |
-
2009
- 2009-09-02 JP JP2009202995A patent/JP5295046B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2011053975A (ja) | 2011-03-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5175159B2 (ja) | 利用者端末装置、及びその制御方法 | |
JP4189436B2 (ja) | データ処理制御方法 | |
JP4837378B2 (ja) | データの改竄を防止する記憶装置 | |
US7849282B2 (en) | Filesystem building method | |
JP4521865B2 (ja) | ストレージシステム、計算機システムまたは記憶領域の属性設定方法 | |
CN1606011A (zh) | 用于处理文件请求的方法和*** | |
US20060156030A1 (en) | Data processing system and method | |
KR101624005B1 (ko) | 소프트웨어 컴포넌트 상태에 대한 접근 제어 | |
JP2009064159A (ja) | 計算機システム、管理計算機及びデータ管理方法 | |
US20070271307A1 (en) | Write Sharing of Read-Only Data Storage Volumes | |
US20060221721A1 (en) | Computer system, storage device and computer software and data migration method | |
JP5212921B2 (ja) | ファイルサーバシステム及びファイル管理方法 | |
JP5295046B2 (ja) | 利用者端末装置及び利用者端末装置の制御方法 | |
EP2237152B1 (en) | User terminal apparatus and control method thereof, as well as program | |
JP2008090378A (ja) | ハイブリッドファイルシステム、オペレーティングシステム、キャッシュ制御方法および記録媒体 | |
JP4945669B2 (ja) | データ処理制御方法、情報処理装置、及びデータ処理制御システム | |
JP2008293525A (ja) | データ処理制御方法、情報処理装置、及びデータ処理制御システム | |
KR101028149B1 (ko) | 클라이언트 단말의 파일관리장치, 방법 및 그 프로그램이 기록된 기록매체 | |
KR100952599B1 (ko) | 로컬디스크를 캐쉬로 이용하는 사용자 컴퓨터, 그를이용하는 방법 및 하이브리드 네트워크 스토리지 시스템 | |
KR101062000B1 (ko) | 클라이언트 단말의 파일관리장치, 방법 및 그 프로그램이 기록된 기록매체 | |
JP5386993B2 (ja) | 情報処理システム | |
US20080046669A1 (en) | Information management device, recording medium storing information management program, computer data signal embodied in a carrier wave and information management system | |
JP2000276389A (ja) | ファイル管理システムおよびファイル管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120105 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130515 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130528 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130611 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |