JP5295046B2 - User terminal device and method for controlling user terminal device - Google Patents

User terminal device and method for controlling user terminal device Download PDF

Info

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
Application number
JP2009202995A
Other languages
Japanese (ja)
Other versions
JP2011053975A (en
Inventor
晃治 中山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Solutions Ltd
Original Assignee
Hitachi Solutions Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Solutions Ltd filed Critical Hitachi Solutions Ltd
Priority to JP2009202995A priority Critical patent/JP5295046B2/en
Publication of JP2011053975A publication Critical patent/JP2011053975A/en
Application granted granted Critical
Publication of JP5295046B2 publication Critical patent/JP5295046B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、利用者端末装置及び利用者端末装置の制御方法に関し、例えば、利用者データをファイルサーバに集約し、機密情報の紛失・漏洩防止を実現するシンクライアントシステムの一部を構成する利用者端末装置及び利用者端末装置の制御方法に関するものである。   The present invention relates to a user terminal device and a control method for the user terminal device. For example, the user data is aggregated in a file server and used to form part of a thin client system that realizes prevention of loss or leakage of confidential information. The present invention relates to a user terminal device and a user terminal device control method.

近年、ファイルサーバに保管されている重要データが利用者端末から拡散するのを防ぐためのシステムとして、シンクライアントシステムが考案されている。シンクライアントシステムは、端末内に不揮発性の二次記憶装置を装備しない端末(ディスクレスPC)を使用するのが一般的であるが、書込みを制御した二次記憶装置を備えるPC(パーソナル・コンピュータ)をシンクライアント端末として使用するシステムも存在する。   In recent years, a thin client system has been devised as a system for preventing important data stored in a file server from spreading from user terminals. The thin client system generally uses a terminal (diskless PC) that is not equipped with a non-volatile secondary storage device in the terminal, but a PC (personal computer) having a secondary storage device that controls writing. There are also systems that use as a thin client terminal.

例えば、特許文献1では、二次記憶装置を持つ端末において、アプリケーションから二次記憶装置へ書込みが発生した場合、その書込みを主記憶装置(キャッシュメモリ)上へリダイレクトすることで、二次記憶装置への書込みを制限し、擬似的に二次記憶を持たない端末を実現している。   For example, in Patent Document 1, in a terminal having a secondary storage device, when writing from an application to the secondary storage device occurs, the secondary storage device is redirected to the main storage device (cache memory). The terminal that does not have pseudo-secondary memory is realized.

ディスクレスPCを使用する場合に比べ、書込み制御した二次記憶装置を備えるPCをシンクライアント端末として使用する場合、サーバサイドでの負荷が少ないため、インフラ構築等のコストを安価にできるメリットがある。このシステムによれば、ファイルサーバに保管されている重要データが拡散するのを防止することに加え、利用者による不適切なOS設定変更や、アプリケーションのインストールを防止することも可能である。   Compared to the case of using a diskless PC, when a PC having a secondary storage device that is controlled for writing is used as a thin client terminal, there is a merit that the cost for infrastructure construction and the like can be reduced because the load on the server side is small. According to this system, in addition to preventing the important data stored in the file server from spreading, it is also possible to prevent an inappropriate OS setting change or application installation by the user.

一方、特許文献1のシステムは、OSパッチ等のシステム更新データを、二次記憶装置に保存することができないため、システムを最新の状態に保てない。これに対し、システム更新データのみを利用者端末の二次記憶装置へ保存可能なシステムとして、特許文献2のようなシステムが提案されている。特許文献2では、ファイルシステムの下位に書込み可能フィルタデバイスと、書込み禁止フィルタデバイスの2つを生成する。そして、ファイルシステムの上位のフィルタドライバであるファイルアクセス制御ドライバで書込み禁止のファイルアクセスを検知して、書込み禁止フィルタデバイスにリダイレクトする。書込み可能ファイルは、通常通り二次記憶装置への書込みとして物理的に反映される。これにより、二次記憶装置への書込みに関して、ファイル・フォルダ単位の保存制御を実現している。   On the other hand, since the system of Patent Document 1 cannot store system update data such as OS patches in the secondary storage device, the system cannot be kept up-to-date. On the other hand, as a system that can store only system update data in the secondary storage device of the user terminal, a system such as Patent Document 2 has been proposed. In Patent Document 2, two writable filter devices and a write prohibition filter device are generated below the file system. Then, the file access control driver, which is a higher-level filter driver of the file system, detects write-inhibited file access and redirects it to the write-inhibited filter device. Writable files are physically reflected as writes to secondary storage as usual. This realizes storage control in units of files and folders with respect to writing to the secondary storage device.

特開2007−172063号公報JP 2007-172063 A 特開2008−59501号公報JP 2008-59501 A

しかしながら、特許文献2に記載されたシンクライアント端末は、リアルタイムに、システム更新データをOS上の全てのアプリケーションに対して有効にするものではない。言い換えるなら、リアルタイムに更新データを書き込むことは可能だが、書込みを許可したアプリケーションからしかその更新データをリアルタイムに使用することが出来ない。全てのアプリケーションでシステム更新データを有効にするには再起動が必要である。これは、書込み許可のアプリケーションが書き込んだファイル・フォルダを、書込み禁止のアプリケーションが参照することができないためである。単純に、書込み禁止アプリケーションからの読み込み要求は書込み許可のファイル・フォルダへ、書込み要求は書込み禁止ファイル・フォルダへと振り分けると、ファイル整合性に問題がでるため困難である。   However, the thin client terminal described in Patent Document 2 does not validate system update data for all applications on the OS in real time. In other words, it is possible to write update data in real time, but the update data can only be used in real time from an application that permits writing. A restart is required to enable system update data for all applications. This is because the write-protected application cannot refer to the file / folder written by the write-enabled application. Simply allocating read requests from write-protected applications to write-permitted files / folders and write requests to write-protected files / folders is difficult because of file integrity problems.

本発明はこのような状況に鑑みてなされたものであり、リアルタイムにシステム更新データを二次記憶装置に書き込みつつ、再起動無しで、リアルタイムに、システム上の全てのアプリケーションから二次記憶装置に書き込んだ更新データを有効にする方法を提供するものである。   The present invention has been made in view of such a situation. While writing system update data to the secondary storage device in real time, it is possible to transfer from all applications on the system to the secondary storage device in real time without restarting. A method for validating written update data is provided.

上記課題を解決するために、本発明による利用者端末装置は、二次記憶装置に対するI/O要求を判断し、I/O要求が書込み要求であった場合に、当該I/O要求を行ったアプリケーションについて、二次記憶装置へのデータ書込みが許可されているか否かを判断するファイルアクセス制御手段(ファイルアクセス制御モジュール)と、読み書き要求を処理しかつ書込み要求のあったデータをリダイレクトしてキャッシュメモリに格納するボリュームフィルタデバイス及び書込み要求の処理及びボリュームフィルタデバイスに対して二次記憶装置からデータを読込んでキャッシュする要求を新たに命令することが可能な機能を持つシャドウボリュームデバイスを有する書込み制御手段(書込み制御モジュール)と、を備える。なお、ボリュームフィルタデバイスとシャドウボリュームデバイスは、同じボリューム領域を参照するボリュームフィルタの一種とする。   In order to solve the above-described problem, the user terminal device according to the present invention determines an I / O request to the secondary storage device, and performs the I / O request when the I / O request is a write request. File access control means (file access control module) that determines whether or not data writing to the secondary storage device is permitted, and processes the read / write request and redirects the data requested to be written Write with a volume filter device to be stored in the cache memory and a shadow volume device having a function capable of newly instructing the volume filter device to read and cache data from the secondary storage device to the volume filter device Control means (write control module). The volume filter device and the shadow volume device are types of volume filters that refer to the same volume area.

そして、ファイルアクセス制御手段が、書込み要求を行ったアプリケーションについて二次記憶装置への書込みが許可されていると判断した場合、ファイルアクセス制御手段自身は、I/Oを2重化してファイルシステムを経由してボリュームフィルタデバイスとシャドウボリュームデバイスに転送する。ボリュームフィルタデバイスは書込み要求のあったデータをキャッシュメモリに格納する。シャドウボリュームデバイスは、シャドウボリュームデバイスが書込む予定の領域をボリュームフィルタデバイスに事前に読み込ませてキャッシュメモリに格納させ、ボリュームフィルタデバイスの読込みが完了した後に、シャドウボリュームデバイスが書込みデータを二次記憶装置に書き込む。   When the file access control means determines that writing to the secondary storage device is permitted for the application that has made the write request, the file access control means itself duplicates the I / O and sets the file system. To the volume filter device and the shadow volume device. The volume filter device stores the data requested for writing in the cache memory. The shadow volume device causes the volume filter device to read the area that the shadow volume device is scheduled to write in advance and store it in the cache memory. After the volume filter device has finished reading, the shadow volume device stores the write data as secondary storage. Write to the device.

また、ファイルアクセス制御手段が、書込み要求を行ったアプリケーションについて二次記憶装置への書込みが禁止されていると判断した場合には、ファイルアクセス制御手段自身は、書込みデータをファイルシステムを経由してボリュームフィルタデバイスへ転送し、ボリュームフィルタデバイスが、書込み要求のあったデータをキャッシュメモリに格納する。   In addition, when the file access control means determines that writing to the secondary storage device is prohibited for the application that has made the write request, the file access control means itself sends the write data via the file system. The data is transferred to the volume filter device, and the volume filter device stores the data requested for writing in the cache memory.

ファイルアクセス制御手段が、I/O要求が読み込み要求であると判断した場合、ボリュームフィルタデバイスは、読み込み要求のあったデータをキャッシュメモリ又は二次記憶装置から読み込む。   When the file access control means determines that the I / O request is a read request, the volume filter device reads the data requested to be read from the cache memory or the secondary storage device.

さらなる本発明の特徴は、以下本発明を実施するための最良の形態および添付図面によって明らかになるものである。   Further features of the present invention will become apparent from the best mode for carrying out the present invention and the accompanying drawings.

本発明によれば、二次記憶装置への書込みを制御した擬似シンクライアント端末装置において、リアルタイムにシステム更新データを二次記憶装置に反映し、シャットダウンを高速化することが可能となる。   According to the present invention, in the pseudo thin client terminal device that controls the writing to the secondary storage device, the system update data is reflected in the secondary storage device in real time, and the shutdown speed can be increased.

本発明の実施形態によるシンクライアントシステムの概略構成を示す図である。It is a figure which shows schematic structure of the thin client system by embodiment of this invention. 利用者端末101の内部構成を示す図である。It is a figure which shows the internal structure of the user terminal. ファイルアクセス制御モジュール106の動作を説明するためのフローチャートである。5 is a flowchart for explaining the operation of a file access control module 106. ボリュームフィルタデバイス212(アプリケーション要求時)の動作を説明するためのフローチャートである。10 is a flowchart for explaining an operation of a volume filter device 212 (when an application is requested). ボリュームフィルタデバイス212(シャドウボリューム要求時)の動作を説明するためのフローチャートである。12 is a flowchart for explaining the operation of a volume filter device 212 (when a shadow volume is requested). シャドウボリュームデバイス213の動作を説明するためのフローチャートである。10 is a flowchart for explaining the operation of a shadow volume device 213. 起動時の動作を説明するためのフローチャートである。It is a flowchart for demonstrating the operation | movement at the time of starting. アプリケーション制御ファイル206の構成例を示す図である。5 is a diagram illustrating a configuration example of an application control file 206. FIG.

本発明は、利用者端末の二次記憶装置への書込み制御、及び、外部記憶媒体への書出し制御により、利用者データをファイルサーバに集約し、機密情報の紛失・漏洩防止を実現するシンクライアントシステムの一部を構成する利用者端末装置及びデータ制御方法に関するものである。また、本発明は、先願(特願2008−274099)を改良するものである。   The present invention consolidates user data in a file server by writing control to a secondary storage device of a user terminal and writing control to an external storage medium, and realizes prevention of loss / leakage of confidential information The present invention relates to a user terminal device and a data control method that constitute a part of the system. The present invention also improves the prior application (Japanese Patent Application No. 2008-274099).

先願(特願2008−274099)であるシンクライアントシステムの一部を構成する利用者端末装置及びデータ制御方法によれば、ファイルシステムの下位にボリュームフィルタデバイスとシャドウボリュームデバイスの2つを生成する。この2つのデバイスはそれぞれ、上位モジュールから転送されてくる書込みデータをメモリ上にキャッシュする機能を備えている。そして、ファイルシステムの上位のフィルタドライバであるファイルアクセス制御モジュールでプロセス毎の書込み処理を判定し、二次記憶装置へ書込みを反映させたいデータはボリュームフィルタデバイスとシャドウボリュームデバイスの両方へ書込みデータを転送し、書込みを反映させたくないデータはボリュームフィルタデバイスのみに書込みデータを転送する。そして、シャットダウン時にシャドウボリュームデバイスがキャッシュしたデータを二次記憶装置に書き込む。これにより、二次記憶装置への書込みに関して、ファイル・フォルダ単位の保存制御をする装置を実現している。   According to the user terminal device and the data control method which constitute a part of the thin client system which is the prior application (Japanese Patent Application No. 2008-274099), the volume filter device and the shadow volume device are generated at the lower level of the file system. . Each of these two devices has a function of caching the write data transferred from the upper module in the memory. Then, the file access control module, which is a higher-level filter driver of the file system, determines the write processing for each process, and the data to be written to the secondary storage device is written to both the volume filter device and the shadow volume device. For data that is transferred and does not want to reflect the write, the write data is transferred only to the volume filter device. Then, the data cached by the shadow volume device at the time of shutdown is written to the secondary storage device. As a result, a device that performs storage control in units of files and folders with respect to writing to the secondary storage device is realized.

しかしながら、上記シンクライアント端末では、メモリにキャッシュしたデータをシャットダウン時に二次記憶装置へまとめて書込むため、システムシャットダウンの時間が増加し、ユーザビリティが著しく低下する問題がある。   However, in the above thin client terminal, data cached in the memory is collectively written to the secondary storage device at the time of shutdown, so that there is a problem that the time for system shutdown increases and usability is significantly reduced.

本発明の実施形態ではこの問題を解決すべく、二次記憶装置への書込みを制御した擬似シンクライアント端末装置においてシャットダウン高速化に関するデータ制御方法を提供する。   In order to solve this problem, an embodiment of the present invention provides a data control method for speeding up shutdown in a pseudo thin client terminal device that controls writing to a secondary storage device.

以下、添付図面を参照して本発明の実施形態について説明する。ただし、本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。また、各図において共通の構成については同一の参照番号が付されている。   Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings. However, it should be noted that this embodiment is merely an example for realizing the present invention, and does not limit the technical scope of the present invention. In each drawing, the same reference numerals are assigned to common components.

<情報処理システムの構成>
図1は、本発明の実施形態による情報処理システムの概略構成を示す図である。
この情報処理システムは、利用者端末101とファイルサーバ102で構成されており、それぞれがネットワーク103で接続されている。なお、ここでのネットワーク103は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、ピアツーピアネットワーク等として一般に知られるネットワークを用いて実現することができる。また、利用者端末は、CPU、主記憶装置、ネットワークデバイス、入出力装置、二次記憶装置を備える一般的なPCであり、可搬性等の形態に限定は無い。
<Configuration of information processing system>
FIG. 1 is a diagram showing a schematic configuration of an information processing system according to an embodiment of the present invention.
This information processing system includes a user terminal 101 and a file server 102, and each is connected via a network 103. The network 103 here can be realized using a network generally known as a local area network (LAN), a wide area network (WAN), a peer-to-peer network, or the like. The user terminal is a general PC including a CPU, a main storage device, a network device, an input / output device, and a secondary storage device, and there is no limitation on the form such as portability.

利用者端末101上には、OS104、文書・帳票作成・ブラウザ等のアプリケーション105、ファイルアクセス制御モジュール106、デバイス制御モジュール107、書込み制御モジュール108、ディスクモジュール109がインストールされており、二次記憶装置111にはアプリケーション制御ファイル110が格納されている。さらに、利用者端末101は、図1に示されてはいないが、制御部(CPU)、メモリ、ネットワークインタフェース、入出力装置(キーボード、ディスプレイ、スピーカ等)等を備えている。   An OS 104, an application 105 such as a document / form creation / browser, a file access control module 106, a device control module 107, a write control module 108, and a disk module 109 are installed on the user terminal 101, and a secondary storage device An application control file 110 is stored in 111. Further, although not shown in FIG. 1, the user terminal 101 includes a control unit (CPU), a memory, a network interface, an input / output device (keyboard, display, speaker, etc.) and the like.

ファイルサーバ102は、図1には示されていないが、CPU、主記憶装置、ネットワークデバイス、入出力装置、二次記憶装置等を備え、利用者端末101とコネクションを張って、ファイル転送が可能となっており、利用者端末101上のアプリケーション105で作成・編集された機密データ112を保存することが可能な一般的なファイルサーバである。   Although not shown in FIG. 1, the file server 102 includes a CPU, a main storage device, a network device, an input / output device, a secondary storage device, etc., and can transfer files by establishing a connection with the user terminal 101. This is a general file server that can store confidential data 112 created and edited by the application 105 on the user terminal 101.

利用者は、利用者端末101のOS104上で動作するアプリケーション105を用いて、ファイルサーバ102上の機密データ112にアクセスし、利用・編集することができる。   The user can access, use, and edit the confidential data 112 on the file server 102 by using the application 105 operating on the OS 104 of the user terminal 101.

利用者端末101において、書込み制御モジュール108は、USB等の外部記憶媒体を検知し、前記外部記憶媒体への書き出しを制御する機能を備える。外部記憶媒体の検知はOSの機能を使用して外部デバイスを検知し、デバイスへのアクセスを禁止、または、そのデバイスへの書込みをメモリ上にリダイレクトする等の手段により、書出しを制御する。この機能により、ファイルサーバ上の機密データが利用者端末から外部へ保存されることが無くなり、データの集約及び情報漏えいを防止することが可能となる。   In the user terminal 101, the write control module 108 has a function of detecting an external storage medium such as a USB and controlling writing to the external storage medium. The external storage medium is detected by detecting the external device using the function of the OS and controlling the writing by means such as prohibiting access to the device or redirecting writing to the device onto the memory. With this function, confidential data on the file server is not stored outside from the user terminal, and data aggregation and information leakage can be prevented.

<利用者端末の内部構成>
図2は、利用者端末101のOSコンポーネントを含む内部構成を詳細に示す図である。図2の有向線は、アプリケーションやOSモジュール等のプログラム(話を分かりやすくするために、以後、ドキュメント作成等のアプリケーションソフトウェアだけでなく、OSのモジュール等でも二次記憶装置へ書込みを行うプログラムのことを、単にアプリケーションと呼ぶ。この「アプリケーション」には、例えばwindows(登録商標) updateのようなシステム更新用のアプリケーションも含まれる。)が、二次記憶装置に対して要求するI/Oの流れを示している(実際はRead/Write以外のものも存在するが省略する)。
<Internal configuration of user terminal>
FIG. 2 is a diagram showing in detail the internal configuration including the OS component of the user terminal 101. The directed lines in FIG. 2 indicate programs such as applications and OS modules (hereinafter, in order to make the story easier to understand, not only application software for creating documents, but also programs for writing to the secondary storage device using OS modules, etc. This “application” includes an application for system update such as windows (registered trademark) update, for example.) I / O requested to the secondary storage device (Actually, other than Read / Write exist but are omitted).

また、図2の実線218〜222は主にアプリケーションが発行した場合のI/Oで、一点鎖線223、226、227はファイルアクセス制御モジュール106が発行するI/O、点線224、225はシャドウボリュームデバイス213が発行するI/Oに関するものである。   Also, solid lines 218 to 222 in FIG. 2 are mainly I / Os issued by an application, alternate long and short dash lines 223, 226, and 227 are I / Os issued by the file access control module 106, and dotted lines 224 and 225 are shadow volumes. This is related to I / O issued by the device 213.

ディスクモジュール109は、二次記憶装置111上のボリュームを表現するボリュームデバイス215を作成する機能を持つOS104のモジュールである。   The disk module 109 is a module of the OS 104 that has a function of creating a volume device 215 that represents a volume on the secondary storage device 111.

ファイルアクセス制御モジュール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)。   The file access control module 106 attaches to the file system 210 mounted on the volume device 215 and can filter the I / O to the secondary storage device 111 issued by the application 105. Has the ability to create. When the I / O to the secondary storage device 111 issued by the application 105 is a write request, the file access control module 106 determines whether the write request source application is a “write permission” application or a “write prohibition” application. Determine. Then, the file access control module 106 replicates and transmits data to both the volume filter device 212 and the shadow volume device 213 if writing is performed by the “write permission” application (solid line 219, one-dot chain line 223, FIG. 3 described later). S307, S308). On the other hand, if the application is a “write-inhibited” application, the file access control module 106 transmits data only to the volume filter device 212 (solid line 219, S306 in FIG. 3 described later).

「書込み許可」アプリケーションの例として、OSやアプリケーションソフトウェアの、アップデートプログラムが挙げられる。これらのプログラムは、通常OSやアプリケーションのベンダから提供されるものである。「書込み禁止」プログラムの例として、機密データを作成・編集するようなアプリケーションプログラム、一般的に考えて文書・帳票作成・編集用のアプリケーションプログラムが挙げられる。   An example of the “write permission” application is an update program of the OS or application software. These programs are usually provided by OS or application vendors. As an example of the “write prohibition” program, there are an application program for creating / editing confidential data, and an application program for creating / editing documents / forms in general.

書込み要求元のプログラムの振り分けの方法としては、アプリケーション制御ファイル206(例:図8(表1))を利用者端末101にインストールしておくことで可能となる。   As a method of distributing the write request source program, it is possible to install the application control file 206 (for example, FIG. 8 (Table 1)) in the user terminal 101.

アプリケーション制御ファイル206は、アプリケーション名803と書込み禁止/許可のフラグ804をセットにしたリスト形式のファイルである。一般的なOSならば、アプリケーション名から実行プロセス名やプロセスIDを取得することが可能である。このため、このリストを読み込めば、利用者端末上で動作しているアプリケーションのプロセス名とプロセスIDを取得することが可能である。   The application control file 206 is a list format file in which an application name 803 and a write prohibition / permission flag 804 are set. With a general OS, the execution process name and process ID can be acquired from the application name. Therefore, if this list is read, it is possible to acquire the process name and process ID of the application running on the user terminal.

また、ファイルアクセス制御モジュール106をファイルシステムのフィルタドライバとして実装しておけば、ファイルシステムフィルタデバイス205で書込み処理要求を取得した時に、要求元のプロセス名やプロセスIDを取得することが可能である。以上の手段で取得したプロセス名やプロセスIDを比べることで、書込み処理元のアプリケーションが、書込み「許可」アプリケーションか書込み「禁止」アプリケーションか、を判定することが可能となる。   If the file access control module 106 is mounted as a file system filter driver, it is possible to acquire the request source process name and process ID when the file system filter device 205 acquires a write processing request. . By comparing the process name and process ID acquired by the above means, it is possible to determine whether the application of the write processing source is a write “permitted” application or a write “prohibited” application.

なお、アプリケーション制御ファイル206は、システム管理者が利用者端末のシステムポリシーに従って適切に作成し、あらかじめインストールしておくものであるが、アップデートと同時に更新することも可能なファイルである。また、一般利用者がアプリケーションのインストールを行うことができるとすると、害意(不正目的で)のアプリケーションをインストールする可能性があるため、インストール作業は管理者が行うのが好ましい。   The application control file 206 is created appropriately by the system administrator in accordance with the system policy of the user terminal and installed in advance. The application control file 206 is a file that can be updated simultaneously with the update. Further, if a general user can install an application, there is a possibility that a malicious application (for illegal purposes) may be installed. Therefore, the installation operation is preferably performed by an administrator.

ここで、ファイルアクセス制御モジュール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)。これにより、古いデータを読み込んでしまうという危険を回避することができ、また、再起動しなくても最新の制御データをリアルタイムに反映することができるようになる。   Here, the reason why the file access control module 106 writes the write from the write permission program to both the volume filter device 212 and the shadow volume device 213 will be described. That is, in this system, a Read request from an application (see solid lines 218 and 219) is transferred in the order of the file system filter device 205 → the file system 210 → the volume filter device 212. Then, finally, the data read from the secondary storage device 111 by the volume device 215 is returned to the application 105 (solid line 222 → 219 → 218), or the data cached in the memory 217 by the volume filter device 212 is returned to the application 105. (Solid line 220 → 219 → 218). Therefore, if data is written only to the shadow volume device 213, the read data becomes old data on the secondary storage device 111. Therefore, when data is written from the shadow volume 213 to the secondary storage device 111 via the volume device 215, the same data is further written to the cache memory via the volume filter device 212, and a read request from the application is sent. The latest data is returned (solid line 221 → 219 → 218). As a result, the risk of reading old data can be avoided, and the latest control data can be reflected in real time without restarting.

なお、ファイルアクセス制御モジュール106は、ファイルシステムフィルタにより実現可能であること述べたが、ここに述べたものは一例であり、本発明を限定するものではない。ここで述べた方法以外にも、書込みアプリケーションプロセス内で書込み先のファイルパスを変更して書込みI/Oを振り分ける方法なども考えられる。   Although the file access control module 106 can be realized by a file system filter, the file access control module 106 is only an example and does not limit the present invention. In addition to the method described here, a method of distributing the write I / O by changing the file path of the write destination in the write application process is also conceivable.

書込み制御モジュール108は、ボリュームデバイス215にアタッチ(1対1に対応付ける)して、アプリケーション105から二次記憶装置111へのI/Oをフィルタすることが可能なボリュームフィルタデバイス212と、シャドウボリュームデバイス213の2つのデバイスを作成する機能を備えている。なお、ここでは、書込み制御モジュール108は、ディスクドライバのフィルタドライバの一種として話を進めるが、実現手段に関しては、ここで述べた以外の方法でもかまわない。   The write control module 108 is attached to the volume device 215 (one-to-one correspondence), and a volume filter device 212 that can filter I / O from the application 105 to the secondary storage device 111, and a shadow volume device A function for creating two devices 213 is provided. Here, the write control module 108 proceeds as a kind of filter driver of the disk driver, but the implementation means may be other than the method described here.

ボリュームフィルタデバイス212は、二次記憶装置111へデータを書込むことが可能であるボリュームデバイス215にアタッチして書込みデータをメモリ217上にリダイレクトしてキャッシュする機能を備える。また、シャドウボリュームデバイス213(後述)から要求を受けて、二次記憶装置上の任意の領域のデータを読み込んでキャッシュする機能も備える(実線220)。ここでは、アプリケーション105が二次記憶装置111に対してI/Oを行った場合に、そのI/Oを取得するための手段の一例として「アタッチ」を用いている。アタッチによる方法でなくとも、任意のプログラムがボリュームに対して行うI/Oデータを取得できるならば、その方法はアタッチに限定されない。   The volume filter device 212 has a function of attaching to the volume device 215 capable of writing data to the secondary storage device 111 and redirecting write data on the memory 217 to cache it. Also, it has a function of receiving a request from a shadow volume device 213 (described later) and reading and caching data in an arbitrary area on the secondary storage device (solid line 220). Here, when the application 105 performs I / O to the secondary storage device 111, “attach” is used as an example of means for acquiring the I / O. The method is not limited to attachment as long as an arbitrary program can acquire I / O data for a volume even if the method is not an attachment method.

シャドウボリュームデバイス213は、ファイルアクセス制御モジュール106からの書込み要求を処理するモジュールである。なお、シャドウボリュームデバイス213は、ボリュームデバイス215の存在を認識しておりボリュームデバイス215を経由して二次記憶装置111へデータを書き込むことが可能であるが(一点鎖線226、227)、二次記憶装置111のボリュームデバイス215にアタッチすることは無い。アタッチをしないことにより、アプリケーション105が発行する任意のI/Oがシャドウボリュームデバイス213に到達することがなくなり、アクセス制御モジュール106からの書込み処理のみがシャドウボリューム213に転送されることを実現している(一点鎖線223)。   The shadow volume device 213 is a module that processes a write request from the file access control module 106. Note that the shadow volume device 213 recognizes the presence of the volume device 215 and can write data to the secondary storage device 111 via the volume device 215 (dashed lines 226, 227). There is no attachment to the volume device 215 of the storage device 111. By not attaching, any I / O issued by the application 105 does not reach the shadow volume device 213, and only write processing from the access control module 106 is transferred to the shadow volume 213. (Dashed line 223).

シャドウボリュームデバイス213は、アクセス制御モジュール106からファイルシステム210を経由して書込み要求を受けた場合(一点鎖線223)、二次記憶装置111に書き込む前にボリュームフィルタデバイス212に対して、シャドウボリュームフィルタデバイス213が書込みを行う二次記憶装置111上の領域に現在存在するデータを二次記憶装置111から読み込んでキャッシュするように(点線225)、ボリュームフィルタデバイス212に要求を行う機能を持つ(点線224)。要求が成功した後、シャドウボリュームデバイス213は書込み要求をボリュームデバイス215に転送して(一点鎖線226)、二次記憶装置111への書込みを完了させる(一点鎖線227)。以後、ボリュームフィルタデバイス212への読み書き要求がこの領域に対して行われた場合は、このキャッシュデータが使用されるようになる。   When the shadow volume device 213 receives a write request from the access control module 106 via the file system 210 (one-dot chain line 223), the shadow volume device 213 sends a shadow volume filter to the volume filter device 212 before writing to the secondary storage device 111. The device 213 has a function of making a request to the volume filter device 212 so as to read data from the secondary storage device 111 and cache the data currently existing in the area on the secondary storage device 111 to which writing is performed (dotted line 225) (dotted line) 224). After the request is successful, the shadow volume device 213 transfers the write request to the volume device 215 (dashed line 226) and completes the writing to the secondary storage device 111 (dashed line 227). Thereafter, when a read / write request to the volume filter device 212 is made to this area, the cache data is used.

ここで、シャドウボリュームデバイス213が二次記憶装置111へデータを書き込む前にボリュームフィルタデバイス212に対して事前にデータを読み込んでキャッシュさせておく理由について述べる。   Here, the reason why the shadow volume device 213 reads and caches data in advance from the volume filter device 212 before writing the data to the secondary storage device 111 will be described.

本システムにおいて、ファイルシステム210はボリュームフィルタデバイス212とシャドウボリュームデバイス213をそれぞれ別々のボリュームとして認識する。しかし、ボリュームフィルタデバイス212とシャドウボリュームデバイス213は、同じボリューム(二次記憶装置111上のボリュームを表現するボリュームデバイス215)を参照する(図2実線222、一点鎖線226)。これらが意味することは、アクセス制御モジュール106がファイルI/Oを2重化してボリュームフィルタデバイス212経由で読込む二次記憶装置上の領域と、シャドウボリュームデバイス213経由で書込む二次記憶装置上の領域が隔離されていない(同じ領域を管理している)ことを意味する。つまり、各デバイスの管理領域は専用領域として管理されているわけではない。同じ領域を管理している理由は、例えばWindows(登録商標)のシステム階層構造上、二次記憶装置111へアクセスするにはCドライブ等に該当するボリュームデバイス215という同一のドライバを介してしなければならないからである。   In this system, the file system 210 recognizes the volume filter device 212 and the shadow volume device 213 as separate volumes. However, the volume filter device 212 and the shadow volume device 213 refer to the same volume (the volume device 215 representing the volume on the secondary storage device 111) (the solid line 222 and the alternate long and short dash line 226 in FIG. 2). This means that the access control module 106 duplicates the file I / O and reads the area through the volume filter device 212 and the secondary storage apparatus that writes through the shadow volume device 213. It means that the upper area is not isolated (the same area is managed). That is, the management area of each device is not managed as a dedicated area. The reason for managing the same area is, for example, in the system hierarchy of Windows (registered trademark), in order to access the secondary storage device 111, the same device as the volume device 215 corresponding to the C drive or the like must be used. Because it must.

Windows(登録商標)が採用するファイルシステムであるNTFSにおいては、各ボリュームの先頭にはMFT(Master File Table)ファイルが格納されている。MFTとは、ボリューム内のファイル属性とファイルレコードとを含む関連データベースであり、この中にはボリューム内のファイル構造を表す情報が格納されている。また、MFTは、ボリューム毎に存在するファイルである。アプリケーションからファイルの書込みや属性変更等があると、ファイルシステムはMFTを更新(書込み)する。OS104を起動した時点では、ボリュームフィルタデバイス212とシャドウボリュームデバイス213は、ボリュームデバイス215のMFT領域を参照するためファイル・フォルダ構成は同じである。しかし、ファイルシステム210はボリュームフィルタデバイス212とシャドウボリュームデバイス213を別ボリュームとして認識するため、ボリュームフィルタデバイス212とシャドウボリュームデバイス213それぞれのMFTに対して異なる書込みがファイルシステム210から発生する。   In NTFS, which is a file system adopted by Windows (registered trademark), an MFT (Master File Table) file is stored at the head of each volume. The MFT is a related database including file attributes and file records in the volume, in which information representing the file structure in the volume is stored. An MFT is a file that exists for each volume. When there is a file write or attribute change from the application, the file system updates (writes) the MFT. Since the volume filter device 212 and the shadow volume device 213 refer to the MFT area of the volume device 215 when the OS 104 is activated, the file / folder configuration is the same. However, since the file system 210 recognizes the volume filter device 212 and the shadow volume device 213 as separate volumes, different writes are generated from the file system 210 to the MFTs of the volume filter device 212 and the shadow volume device 213, respectively.

例えば、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ファイル内における書込み内容が異なることに起因する。
For example, assume that the MFT file is stored in the first sector to the fifth sector and the information of the file A is stored in the second sector to the third sector when the OS 104 is activated. Now, the “write permission” application newly creates and writes file B. At this time, the file information of the file B is created and written in the first sector to the second sector in the volume filter device 212, and the file information of the file B is created and written in the second sector to the third sector in the shadow volume device 213. Suppose. Here, it is assumed that the shadow volume device 213 writes data to the volume device 215 without causing the volume filter device 212 to cache the data of the second sector to the third sector. Thereafter, when the file A is read from the arbitrary application to the volume filter device 212, the file system 210 reads the MFT. However, since the volume filter device 212 has not yet written the second sector to the third sector, it is cached. However, data is read from the volume device 215. Then, the second sector to the third sector are inconsistent due to writing from the shadow volume device 213, so that the correct MFT cannot be read and the system crashes.
This is because the write contents in the MFT file are different between the volume filter device 212 and the shadow volume device 213.

他の例として、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を読み込むこととなる。   As another example, when the OS 104 is activated, the data of the file A is divided and stored in the MFT stored in the volume device 215 into the 10000th sector to the 10100th sector and the 10200th sector to the 10300th sector, and the data of the file B is 10400 Assume that there is file information that is stored in sector No. 10 to sector 10500 (the sectors 10100 to 10200 are empty sector areas). Since the volume filter device 212 and the shadow volume device 213 refer to the same MFT when the OS 104 is activated, the folder filter file configuration of the volume filter device 212 and the shadow volume device 213 is the same. Now, the shadow volume device 213 is defragmented by the file system 210, and in the shadow volume device 213, the file A is optimized to sectors 10000 to 10200, and the file B is optimized to sectors 10200 to 10300 ( Written). Here, it is assumed that the shadow volume device 213 writes data to the volume device 215 without causing the volume filter device 212 to cache data of sectors 10100 to 10300. Thereafter, when the file A is read into the volume filter device 212, the volume filter device 212 reads the 10000th sector to the 10100th sector and the 10200th sector to the 10300th sector (since this area is not yet written in the volume filter device 212). It is not cached and data is read from the volume device 215). Then, since the data of the file B is written by the shadow volume device 213 in the 10200th sector to the 10300th sector, the destroyed file A is read.

従って、ファイルシステム以下のレイヤーでの動作を保証するために、事前にボリュームフィルタデバイスにデータを読み込ませる動作は必須となる。   Therefore, in order to guarantee the operation in the layer below the file system, the operation of reading data into the volume filter device in advance is essential.

さらに付け加えるなら、本システムは、1つのストレージ領域に対して、ファイルシステムより上のレイヤーでは2つのアクセス経路を提供しているが、最終的に二次記憶装置に反映できる書込み経路は1つである。そして、本システムでは、システム更新に関わるデータをシャドウボリュームデバイス213経由で書き込む構成をとっている。ゆえに、シャドウボリュームデバイス213経由の書込みデータを二次記憶装置111へ書き込むためには、ボリュームフィルタデバイス212経路用の二次記憶装置111内のデータを事前に吸い上げて(図2点線225)、キャッシュとしてボリュームフィルタデバイス212に持たせる必要がある。   In addition, this system provides two access paths in the layer above the file system for one storage area, but finally there is only one write path that can be reflected in the secondary storage device. is there. In this system, data related to system update is written via the shadow volume device 213. Therefore, in order to write the write data via the shadow volume device 213 to the secondary storage device 111, the data in the secondary storage device 111 for the path of the volume filter device 212 is sucked in advance (dotted line 225 in FIG. 2), and the cache It is necessary to provide the volume filter device 212 as follows.

このようにすることで、以後の同データの読み書きはキャッシュされたメモリ217上で行われ(図4のS405、S407、図3のS305〜S307)、ボリュームフィルタデバイス212経由で二次記憶装置111上の同データを読み込めない問題が無くなる。従って、同データが存在する二次記憶装置111の領域に、シャドウボリュームデバイス213経由でアップデートプログラム等を新たに書き込んでおくことができ、シャットダウン時にまとめて行っていた書込み時間が不要となる。   In this way, subsequent reading and writing of the same data is performed on the cached memory 217 (S405 and S407 in FIG. 4 and S305 to S307 in FIG. 3), and the secondary storage device 111 via the volume filter device 212. The problem that the above data cannot be read is eliminated. Accordingly, an update program or the like can be newly written to the area of the secondary storage device 111 where the same data exists via the shadow volume device 213, and the writing time that has been collectively performed at the time of shutdown is not necessary.

<ファイルアクセス制御モジュールの動作>
図3は、ファイルアクセス制御モジュール106の処理動作を説明するためのフローチャートである。
まず、アプリケーション105がファイルシステムフィルタデバイス205にアクセスを行った場合、ファイルアクセス制御モジュール106はそのアクセスを検知する(ステップS301、図2実線218)。そして、ファイルアクセス制御モジュール106は、初めにその要求が書込みに関連する要求か否かを判定する(ステップS302)。なお、書込みに関連する要求とは、いわゆる二次記憶装置への書込みが起こる要求のことを指している。例えば、書込み要求以外にもファイルの属性変更等の要求も書込み関連要求に含まれる。
<Operation of file access control module>
FIG. 3 is a flowchart for explaining the processing operation of the file access control module 106.
First, when the application 105 accesses the file system filter device 205, the file access control module 106 detects the access (step S301, FIG. 2 solid line 218). Then, the file access control module 106 first determines whether or not the request is a request related to writing (step S302). Note that a request related to writing refers to a request in which writing to a so-called secondary storage device occurs. For example, in addition to the write request, a request for changing the attribute of the file is also included in the write related request.

書込み関連要求ではない場合、ファイルアクセス制御モジュール106は、その要求をボリュームフィルタデバイス212へ転送して処理を終了する(ステップS305、図2実線219)。要求が書込み関連の場合、ファイルアクセス制御モジュール106は、アプリケーション制御ファイル206を読み込み(ステップS303)、書込み処理のプロセス名をOSに問い合わせて取得し、リストのアプリケーション名に対応するプロセス名と比較して一致するエントリーの書込みフラグを取得し、書込み許可/禁止を判定する(ステップS304)。   If it is not a write-related request, the file access control module 106 transfers the request to the volume filter device 212 and ends the process (step S305, solid line 219 in FIG. 2). If the request is related to writing, the file access control module 106 reads the application control file 206 (step S303), inquires the process name of the writing process from the OS, obtains it, and compares it with the process name corresponding to the application name in the list. Then, the write flag of the matching entry is acquired, and write permission / prohibition is determined (step S304).

書込みフラグが「TRUE」の場合、書込みは「許可」であり、ファイルアクセス制御モジュール106は、ボリュームフィルタデバイス212に書込み関連要求を転送する(ステップS307、図2実線219)。さらに、ファイルアクセス制御モジュール106は、シャドウボリュームデバイス213に対しても同じデータの書込みを行った後(ステップS308、図2一点鎖線223)、処理を終了する。なお、ボリュームフィルタデバイス212とシャドウボリュームデバイス213に対して並行に書込み処理を行っても良い。   When the write flag is “TRUE”, the write is “permitted”, and the file access control module 106 transfers the write-related request to the volume filter device 212 (step S307, solid line 219 in FIG. 2). Further, the file access control module 106 writes the same data to the shadow volume device 213 (step S308, FIG. 2, one-dot chain line 223), and then ends the process. Note that write processing may be performed in parallel to the volume filter device 212 and the shadow volume device 213.

一方、ステップS304で書込みフラグが「FALSE」と判断された場合には、書込みは「禁止」であり、ファイルアクセス制御モジュール106は、ボリュームフィルタデバイス212に書込み関連要求を転送したのち(ステップS306、図2実線219)、処理を終了する。   On the other hand, if the write flag is determined to be “FALSE” in step S304, the write is “prohibited” and the file access control module 106 transfers the write-related request to the volume filter device 212 (step S306, The solid line 219 in FIG. 2 ends the processing.

<書込み制御モジュールの動作>
図4は、書込み制御モジュール108内のボリュームフィルタデバイス212がアプリケーションからアクセスを受けた場合(図2実線219)の処理動作を説明するためのフローチャートである。
<Operation of write control module>
FIG. 4 is a flowchart for explaining the processing operation when the volume filter device 212 in the write control module 108 receives access from an application (solid line 219 in FIG. 2).

アプリケーション105は、ファイルシステムフィルタデバイス205を経由し、ボリュームフィルタデバイス212にアクセスすると(ステップS401、図2実線219)、ボリュームフィルタデバイス212は、その要求が書込みに関連する要求か否かを判定する(ステップS402)。   When the application 105 accesses the volume filter device 212 via the file system filter device 205 (step S401, solid line 219 in FIG. 2), the volume filter device 212 determines whether the request is a request related to writing. (Step S402).

書込み関連処理の場合、ボリュームフィルタデバイス212は、書込みデータをメモリ217上に確保した領域にキャッシュしておく(ステップS405、図2実線221)。なお、書込み制御が施されていない通常のPCでは、この書込み要求は、ボリュームデバイスに転送され、二次記憶装置に書き込まれる。   In the case of write-related processing, the volume filter device 212 caches write data in an area secured on the memory 217 (step S405, solid line 221 in FIG. 2). In a normal PC that is not subjected to write control, this write request is transferred to the volume device and written to the secondary storage device.

書込み関連処理以外の場合、(ここでは、読み込み処理に話を限定するがそれ以外のものもふくまれることが考えられる)、ボリュームフィルタデバイス212は、ボリュームデバイス215を介して2次記憶装置111からデータを読み込む(ステップS403、図2実線222)。   In cases other than the write-related processing (here, it is conceivable that the processing is limited to the reading processing, but other processing is also included), the volume filter device 212 is transferred from the secondary storage device 111 via the volume device 215. Data is read (step S403, solid line 222 in FIG. 2).

その後、ボリュームフィルタデバイス212は、メモリ217中にデータがキャッシュされているか否かを判定し(ステップS404)、キャッシュが存在しない場合、読み込んだデータをそのままアプリケーションに返す(ステップS406)。キャッシュデータが存在する場合は、ボリュームフィルタデバイス212は、キャッシュを読み込みデータに上書きしてアプリケーションに返す(ステップS407)。   Thereafter, the volume filter device 212 determines whether or not the data is cached in the memory 217 (step S404), and if there is no cache, returns the read data to the application as it is (step S406). If cache data exists, the volume filter device 212 overwrites the cache with the read data and returns it to the application (step S407).

図5は、書込み制御モジュール108内のボリュームフィルタデバイス212がシャドウボリュームデバイス213からキャッシュ命令をうけた場合の動作フローである。
なお、このフローは、シャドウボリュームデバイス213がアクセス制御モジュールから書込み要求を受け、二次記憶装置111への書込みが発生した場合に起こる(図2点線224、後述する図6のステップS602)。
FIG. 5 is an operation flow when the volume filter device 212 in the write control module 108 receives a cache command from the shadow volume device 213.
This flow occurs when the shadow volume device 213 receives a write request from the access control module and a write to the secondary storage device 111 occurs (dotted line 224 in FIG. 2, step S602 in FIG. 6 described later).

まず、ボリュームフィルタデバイス212がシャドウボリュームデバイス213からのキャッシュ命令を検知する(ステップS501)。なお、シャドウボリュームからの通知は、アプリケーションからのアクセスとは異なる方法で通知される。命令を受けると、ボリュームフィルタデバイス212は、ボリュームデバイス215に読み込み処理を送信し、二次記憶装置111内のデータを読み込む(ステップS502、図2実線222)。次に、ボリュームフィルタデバイス212は、読み込んだデータがメモリ217中に既にキャッシュされているデータか否かをチェックする(ステップS503)。キャッシュされていない場合は、ボリュームフィルタデバイス212は読み込んだデータをキャッシュする(ステップS504、図2実線221)。既にキャッシュされているデータの場合、キャッシュされているデータをそのまま使用し、読み込んだデータは破棄する。   First, the volume filter device 212 detects a cache command from the shadow volume device 213 (step S501). Note that the notification from the shadow volume is notified by a method different from the access from the application. When receiving the command, the volume filter device 212 transmits a read process to the volume device 215 and reads data in the secondary storage device 111 (step S502, solid line 222 in FIG. 2). Next, the volume filter device 212 checks whether the read data is already cached in the memory 217 (step S503). If not cached, the volume filter device 212 caches the read data (step S504, solid line 221 in FIG. 2). In the case of already cached data, the cached data is used as it is, and the read data is discarded.

図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)。
FIG. 6 is a flowchart for explaining the processing operation of the shadow volume device 213 in the write control module 108.
When access to the shadow volume device 213 by the access control module 106 is detected (step S601, FIG. 2, one-dot chain line 223), the shadow volume filter device 213 acquires information on the write area on the secondary storage device 111 (step S602). ). Next, the volume filter device 212 reads and caches data currently stored in the area of the secondary storage device 111 to which the shadow volume device 213 writes (dotted line 225 in FIG. 2). (Step S603, FIG. 2 dotted line 224). Here, the data cached by the volume filter device 212 is handled in the same way as the data cached when a write request to the volume filter device is made. After the volume filter device 212 has been successfully cached, the shadow volume device 213 requests the volume device 215 to write to the secondary storage device 111 requested by the access control module 106 (step S604, FIG. 2 one-dot chain line 226). ). The volume device 215 completes the data writing to the secondary storage device 111 (step S605, FIG. 2, one-dot chain line 227).

<利用者端末起動時の動作>
図7は、利用者端末101を起動した時の処理動作を説明するためのフローチャートである。
まず、利用者が利用者端末101を起動するとOS104が起動し(ステップS701)、OS104が各モジュールをシステムにロードする(ステップS702)。
<Operation at user terminal startup>
FIG. 7 is a flowchart for explaining the processing operation when the user terminal 101 is activated.
First, when the user activates the user terminal 101, the OS 104 is activated (step S701), and the OS 104 loads each module into the system (step S702).

次に、書込み制御モジュール108は、ボリュームフィルタデバイス212とシャドウボリュームデバイス213を作成する(ステップS703)。なお作成の際に、ボリュームフィルタデバイス212とシャドウボリュームデバイス213は、二次記憶装置111内のボリュームを表すボリュームデバイス215を保持することで、ボリュームに対する読込み・書込み処理が可能となる。また、ボリュームフィルタデバイス212は、ボリュームデバイス215にアタッチ(対応付け)する(ステップS704)。このアタッチにより、アプリケーション105が二次記憶装置111にアクセスする場合の処理をボリュームフィルタデバイス212で取得できるようになる。   Next, the write control module 108 creates a volume filter device 212 and a shadow volume device 213 (step S703). At the time of creation, the volume filter device 212 and the shadow volume device 213 hold the volume device 215 representing the volume in the secondary storage device 111, so that the volume can be read / written. Further, the volume filter device 212 attaches (associates) with the volume device 215 (step S704). With this attachment, the volume filter device 212 can acquire processing when the application 105 accesses the secondary storage device 111.

続いて、OS104は、ボリュームデバイス215に対し、ファイルシステム210、例えばNTFSやFAT等をマウントする(ステップS705)。   Subsequently, the OS 104 mounts the file system 210 such as NTFS or FAT on the volume device 215 (step S705).

最後に、ファイルアクセス制御モジュール106は、ファイルシステムフィルタデバイス205を作成し、ファイルシステム210にアタッチする。これにより、ファイルシステムフィルタデバイス205で、ボリュームに対するファイル処理を取得することが可能になりファイル処理の振り分けが可能になる。   Finally, the file access control module 106 creates a file system filter device 205 and attaches it to the file system 210. As a result, the file system filter device 205 can acquire file processing for the volume, and file processing can be distributed.

<まとめ>
本実施形態では、書込み制御モジュールとして、ボリュームフィルタデバイス及びシャドウボリュームデバイスを導入し、二次記憶装置に書込み可能な制御データ(システム更新データ)と書込み禁止されている機密データとのキャッシュルートを変えている。これにより、利用者端末のシステム更新データのみを、利用者端末の二次記憶装置に保存することが可能で、かつ、利用者端末のシャットダウン後には機密データが利用者端末に残存することがなくなることが可能になる。
<Summary>
In this embodiment, a volume filter device and a shadow volume device are introduced as a write control module, and the cache route between control data (system update data) that can be written to the secondary storage device and confidential data that is write-protected is changed. ing. As a result, only the system update data of the user terminal can be stored in the secondary storage device of the user terminal, and no confidential data remains in the user terminal after the user terminal is shut down. It becomes possible.

また、シャドウボリュームデバイス213が書き込む二次記憶装置111上のデータを書込み前にボリュームフィルタデバイス212にキャッシュさせることで、ボリュームフィルタデバイスの読込みデータを破壊することなく最新の更新データを二次記憶装置に書込むことができる状態にできる。   Further, the data on the secondary storage device 111 written by the shadow volume device 213 is cached in the volume filter device 212 before writing, so that the latest update data can be stored in the secondary storage device without destroying the read data of the volume filter device. Can be written to.

また、書込み許可ファイルについては、メモリ217及び二次記憶装置111へリアルタイムに書き込むことで、シャドウボリュームデバイス213経由の書込みをリアルタイム化でき、システム更新データをリアルタイムにシステムに反映させることが可能となる。つまり、システムシャットダウンの時間にかかる二次記憶装置111への書込み処理時間を軽減し、ユーザビリティを向上させることが可能となる。   Further, by writing the write permission file to the memory 217 and the secondary storage device 111 in real time, writing via the shadow volume device 213 can be realized in real time, and system update data can be reflected in the system in real time. . That is, it is possible to reduce the write processing time to the secondary storage device 111 that takes time for system shutdown and improve usability.

また、書込み禁止ファイルについては、メモリ217へ書き込み、二次記憶装置111へは書込みを行わない。これにより、機密データが二次記憶装置へ保存されることを防止できる。   Further, the write-protected file is written to the memory 217 and is not written to the secondary storage device 111. Thereby, it is possible to prevent confidential data from being stored in the secondary storage device.

なお、本発明は、実施形態の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をシステム或は装置に提供し、そのシステム或は装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD−ROM、DVD−ROM、ハードディスク、光ディスク、光磁気ディスク、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。   The present invention can also be realized by a program code of software that realizes the functions of the embodiments. In this case, a storage medium in which the program code is recorded is provided to the system or apparatus, and the computer (or CPU or MPU) of the system or apparatus reads the program code stored in the storage medium. In this case, the program code itself read from the storage medium realizes the functions of the above-described embodiments, and the program code itself and the storage medium storing the program code constitute the present invention. As a storage medium for supplying such program code, for example, a flexible disk, CD-ROM, DVD-ROM, hard disk, optical disk, magneto-optical disk, CD-R, magnetic tape, nonvolatile memory card, ROM Etc. are used.

また、プログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータ上のメモリに書きこまれた後、そのプログラムコードの指示に基づき、コンピュータのCPUなどが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。   Also, based on the instruction of the program code, an OS (operating system) running on the computer performs part or all of the actual processing, and the functions of the above-described embodiments are realized by the processing. May be. Further, after the program code read from the storage medium is written in the memory on the computer, the computer CPU or the like performs part or all of the actual processing based on the instruction of the program code. Thus, the functions of the above-described embodiments may be realized.

また、実施の形態の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することにより、それをシステム又は装置のハードディスクやメモリ等の記憶手段又はCD-RW、CD-R等の記憶媒体に格納し、使用時にそのシステム又は装置のコンピュータ(又はCPUやMPU)が当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしても良い。   Also, by distributing the program code of the software that realizes the functions of the embodiment via a network, the program code is stored in a storage means such as a hard disk or memory of a system or apparatus, or a storage medium such as a CD-RW or CD-R And the computer of the system or apparatus (or CPU or MPU) may read and execute the program code stored in the storage means or the storage medium when used.

101…利用者端末、102…ファイルサーバ、103…ネットワーク、104…OS、105…アプリケーション、106…ファイルアクセス制御モジュール、107…デバイス制御モジュール、108…書込み制御モジュール、109…ディスクモジュール、110…アプリケーション制御ファイル、111…二次記憶装置、112…機密データ DESCRIPTION OF SYMBOLS 101 ... User terminal, 102 ... File server, 103 ... Network, 104 ... OS, 105 ... Application, 106 ... File access control module, 107 ... Device control module, 108 ... Write control module, 109 ... Disk module, 110 ... Application Control file, 111 ... secondary storage, 112 ... confidential data

Claims (6)

シンクライアントシステムの一部を構成する、二次記憶装置とキャッシュメモリとを備えた利用者端末装置であって、
前記二次記憶装置に対するI/O要求を判断し、前記I/O要求が書込み要求であった場合に、当該I/O要求を行ったアプリケーションについて、前記二次記憶装置へのデータ書込みが許可されているか否かを判断するファイルアクセス制御手段と、
前記書込み要求のあったデータをリダイレクトしてキャッシュメモリに格納する第一の書込み制御手段と、
前記書込みが許可されていると判断されたデータを前記二次記憶装置へ書込み要求を行う第二の書込み制御手段と、
を備え、
前記第二の書込み制御手段は、前記二次記憶装置へ前記書込み要求を行う前に、前記書込み要求が対象とする前記二次記憶装置内の領域のデータを前記キャッシュメモリに格納するように、前記第一の書込み制御手段に対して通知し、
前記第一の書込み制御手段は、前記通知を受け、前記二次記憶装置内の領域からデータを読み込んで前記キャッシュメモリに格納することを特徴とする利用者端末装置。
A user terminal device comprising a secondary storage device and a cache memory, which forms part of a thin client system,
When an I / O request to the secondary storage device is determined and the I / O request is a write request, data writing to the secondary storage device is permitted for the application that has made the I / O request File access control means for determining whether or not
First write control means for redirecting and storing the requested data in a cache memory;
Second write control means for making a write request to the secondary storage device for data determined to be allowed to be written;
With
The second write control means stores the data in the area in the secondary storage device targeted by the write request in the cache memory before making the write request to the secondary storage device. Notifying the first write control means,
The first write control unit receives the notification, reads data from an area in the secondary storage device, and stores the data in the cache memory.
前記第一の書込み制御手段と前記第二の書込み制御手段は、前記二次記憶装置内の同じ領域を管理していることを特徴とする請求項1記載の利用者端末装置。   2. The user terminal device according to claim 1, wherein the first write control unit and the second write control unit manage the same area in the secondary storage device. 前記ファイルアクセス制御手段は、前記アプリケーションによる書込みが許可されていると判断した場合、前記第一の書込み制御手段および前記第二の書込み制御手段に書込み要求を転送し、
前記第一の書込み制御手段は、前記書込み要求のあったデータをリダイレクトしてキャッシュメモリに格納し、
前記第二の書込み制御手段は、前記二次記憶装置内の領域のデータが前記キャッシュメモリに格納された後、前記二次記憶装置へ前記書込み要求をリアルタイムに実行することを特徴とする請求項1記載の利用者端末装置。
When the file access control means determines that writing by the application is permitted, the file access control means transfers a write request to the first write control means and the second write control means,
The first write control means redirects the data requested to be written and stores it in a cache memory,
The second write control unit executes the write request to the secondary storage device in real time after the data of the area in the secondary storage device is stored in the cache memory. The user terminal device according to 1.
前記ファイルアクセス制御手段は、前記アプリケーションによる書込みが禁止されていると判断した場合、前記第一の書込み制御手段のみに書込み関連要求を転送し、
前記第一の書込み制御手段は、前記書込み要求のあったデータをリダイレクトしてキャッシュメモリに格納することを特徴とする請求項1記載の利用者端末装置。
When the file access control means determines that writing by the application is prohibited, it transfers a write-related request only to the first write control means,
2. The user terminal device according to claim 1, wherein the first write control means redirects the data requested to be written and stores it in a cache memory.
シンクライアントシステムの一部を構成する、二次記憶装置とキャッシュメモリとを備えた利用者端末装置の制御方法であって、
ファイルアクセス制御手段が、前記二次記憶装置に対するI/O要求を判断し、前記I/O要求が書込み要求であった場合に、当該I/O要求を行ったアプリケーションについて、前記二次記憶装置へのデータ書込みが許可されているか否かを判断するステップと、
第一の書込み制御手段が、前記書込み要求のあったデータをリダイレクトしてキャッシュメモリに格納するステップと、
第二の書込み制御手段が、前記ファイルアクセス制御手段が前記二次記憶装置への書込みが許可されていると判断した場合、前記書込み要求が対象とする前記二次記憶装置内の領域のデータを前記キャッシュメモリに格納するように、前記第一の書込み制御手段に対して通知するステップと、
前記第一の書込み制御手段が、前記通知を受け、前記二次記憶装置内の領域からデータを読み込んで前記キャッシュメモリに格納するステップと、
を備えることを特徴とする利用者端末装置の制御方法。
A control method for a user terminal device comprising a secondary storage device and a cache memory, which forms part of a thin client system,
When the file access control unit determines an I / O request for the secondary storage device and the I / O request is a write request, the secondary storage device Determining whether data writing to the device is permitted;
A first write control means redirecting and storing the data requested to be written in a cache memory;
When the second write control means determines that the file access control means is allowed to write to the secondary storage device, the data in the area in the secondary storage device targeted by the write request is stored. Notifying the first write control means to store in the cache memory;
The first write control means receives the notification, reads data from an area in the secondary storage device and stores it in the cache memory;
A control method for a user terminal device, comprising:
さらに、前記第二の書込み制御手段が、前記アプリケーションについての書込みが許可されていると判断されたデータを前記二次記憶装置へ書込み要求を行うステップと、
を備えることを特徴とする請求項5記載の利用者端末装置の制御方法。
Further, the second write control unit makes a write request to the secondary storage device for data determined to be allowed to be written for the application;
The method for controlling a user terminal device according to claim 5, further comprising:
JP2009202995A 2009-09-02 2009-09-02 User terminal device and method for controlling user terminal device Expired - Fee Related JP5295046B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009202995A JP5295046B2 (en) 2009-09-02 2009-09-02 User terminal device and method for controlling user terminal device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009202995A JP5295046B2 (en) 2009-09-02 2009-09-02 User terminal device and method for controlling user terminal device

Publications (2)

Publication Number Publication Date
JP2011053975A JP2011053975A (en) 2011-03-17
JP5295046B2 true JP5295046B2 (en) 2013-09-18

Family

ID=43942898

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009202995A Expired - Fee Related JP5295046B2 (en) 2009-09-02 2009-09-02 User terminal device and method for controlling user terminal device

Country Status (1)

Country Link
JP (1) JP5295046B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5180399B2 (en) * 2012-08-24 2013-04-10 株式会社東芝 Information processing apparatus, information processing method, and program
JP6310125B1 (en) * 2017-08-17 2018-04-11 九州電力株式会社 Data protection system, data protection method and program

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101288055B (en) * 2006-11-07 2010-10-13 日立软件工程株式会社 Controlling method for data processing, information processing device and data processing control system
JP4806751B2 (en) * 2007-03-19 2011-11-02 Necパーソナルプロダクツ株式会社 File access destination control apparatus, method and program thereof
JP5175159B2 (en) * 2008-10-24 2013-04-03 株式会社日立ソリューションズ User terminal device and control method thereof
JP2010237921A (en) * 2009-03-31 2010-10-21 Hitachi Software Eng Co Ltd User terminal device and control method thereof, and program

Also Published As

Publication number Publication date
JP2011053975A (en) 2011-03-17

Similar Documents

Publication Publication Date Title
JP5175159B2 (en) User terminal device and control method thereof
JP4189436B2 (en) Data processing control method
JP4837378B2 (en) Storage device to prevent data tampering
US7849282B2 (en) Filesystem building method
JP4521865B2 (en) Storage system, computer system, or storage area attribute setting method
JP2009026338A (en) Method, system, and program for processing file request
US7640588B2 (en) Data processing system and method
KR101624005B1 (en) Controlling access to software component state
JP2009064159A (en) Computer system, management computer, and data management method
US20070271307A1 (en) Write Sharing of Read-Only Data Storage Volumes
US20060221721A1 (en) Computer system, storage device and computer software and data migration method
JP5212921B2 (en) File server system and file management method
JP5295046B2 (en) User terminal device and method for controlling user terminal device
EP2237152B1 (en) User terminal apparatus and control method thereof, as well as program
JP2008090378A (en) Hybrid file system, operating system, cache control method, and recording medium
JP4945669B2 (en) Data processing control method, information processing apparatus, and data processing control system
JP2008293525A (en) Data processing control method, information processor, and data processing control system
KR100952599B1 (en) User computer using local disk as caching device, method for using the same and hybrid network storage system
KR101062000B1 (en) File management apparatus, method, and program of the client terminal recording medium
JP5386993B2 (en) Information processing system
US20080046669A1 (en) Information management device, recording medium storing information management program, computer data signal embodied in a carrier wave and information management system
JP2000276389A (en) System and method for managing file

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