JP2020095588A - Virtual file processing system and virtual file processing program - Google Patents
Virtual file processing system and virtual file processing program Download PDFInfo
- Publication number
- JP2020095588A JP2020095588A JP2018234440A JP2018234440A JP2020095588A JP 2020095588 A JP2020095588 A JP 2020095588A JP 2018234440 A JP2018234440 A JP 2018234440A JP 2018234440 A JP2018234440 A JP 2018234440A JP 2020095588 A JP2020095588 A JP 2020095588A
- Authority
- JP
- Japan
- Prior art keywords
- file
- virtual
- virtual file
- fragment data
- client computer
- 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.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 72
- 239000012634 fragment Substances 0.000 claims abstract description 99
- 238000003860 storage Methods 0.000 claims abstract description 99
- 239000000126 substance Substances 0.000 claims description 28
- 230000004044 response Effects 0.000 claims description 19
- 230000000717 retained effect Effects 0.000 claims description 8
- 238000000034 method Methods 0.000 abstract description 8
- 230000006870 function Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000006866 deterioration Effects 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
本発明は、クライアントコンピュータ上のファイルを仮想化し、ファイルの実体をリモートストレージに保存する仮想ファイル処理システム及び仮想ファイル処理プログラムに関する。 The present invention relates to a virtual file processing system and a virtual file processing program for virtualizing a file on a client computer and storing the substance of the file in a remote storage.
クライアントコンピュータ上のファイルを仮想化し、ファイルの実体をリモートストレージに保存する仮想ファイル処理システムが知られている(例えば、特許文献1参照)。この種の仮想ファイル処理システムは、クライアントコンピュータが、当該クライアントコンピュータのファイルシステムに仮想ファイルを格納する仮想ドライブを認識させ、該仮想ドライブに対するファイルシステムからの要求をフックするファイル仮想化手段と、ファイルシステムから仮想ドライブに対する仮想ファイルの書き込み要求に応じて仮想ファイルの実体をリモートストレージにアップロードし、且つ、ファイルシステムから仮想ドライブに対する仮想ファイルの読み込み要求に応じてリモートストレージから仮想ファイルの実体をダウンロードしてファイルシステムに渡す要求処理手段と、を備えることにより実現できる。 There is known a virtual file processing system that virtualizes a file on a client computer and stores the substance of the file in a remote storage (for example, refer to Patent Document 1). In this type of virtual file processing system, a client computer causes a file system of the client computer to recognize a virtual drive that stores a virtual file, and file virtualization means for hooking a request from the file system to the virtual drive, The virtual file entity is uploaded to the remote storage in response to the virtual file write request from the system to the virtual drive, and the virtual file entity is downloaded from the remote storage in response to the virtual file read request from the file system to the virtual drive. And a request processing means for passing the file to the file system.
ところで、クライアントコンピュータのファイルシステムは、ユーザがファイルを利用しない場合であっても、サムネイル表示やプレビュー表示などの目的でファイルの読み込みを要求する場合がある。このような読み込み要求では、ファイル全体を利用するのではなく、ファイルの一部しか利用しないにも拘わらず、要求処理手段がリモートストレージからファイル全体をダウンロードするため、ファイルのダウンロードが頻発し、パフォーマンスが低下する虞がある。 By the way, the file system of the client computer may request reading of a file for the purpose of displaying thumbnails, displaying a preview, etc., even when the user does not use the file. In such a read request, the request processing means downloads the entire file from the remote storage, although the entire file is not used but only a part of the file is used. May decrease.
本発明は、上記の如き実情に鑑みこれらの課題を解決することを目的として創作されたものであって、請求項1の発明は、クライアントコンピュータと、ネットワークを介して前記クライアントコンピュータと通信可能に接続されるリモートストレージと、を備える仮想ファイル処理システムであって、前記クライアントコンピュータは、当該クライアントコンピュータのファイルシステムに仮想ファイルを格納する仮想ドライブを認識させ、該仮想ドライブに対する前記ファイルシステムからの要求をフックするファイル仮想化手段と、前記ファイルシステムから前記仮想ドライブに対する仮想ファイルの書き込み要求に応じて仮想ファイルの実体を前記リモートストレージにアップロードし、且つ、前記ファイルシステムから前記仮想ドライブに対する仮想ファイルの読み込み要求に応じて前記リモートストレージから仮想ファイルの実体をダウンロードして前記ファイルシステムに渡す要求処理手段と、を備え、前記要求処理手段は、前記ファイルシステムから読み込み要求があった仮想ファイルの断片データを前記クライアントコンピュータのローカルストレージにキャッシュし、以降、前記ファイルシステムから同一仮想ファイルの同一断片データの読み込み要求があった場合、前記ローカルストレージにキャッシュされた断片データを前記ファイルシステムに渡すことを特徴とする。
また、請求項2の発明は、請求項1に記載の仮想ファイル処理システムであって、前記断片データは、仮想ファイルをサムネイル表示又はプレビュー表示するためのデータであることを特徴とする。
また、請求項3の発明は、請求項1又は2に記載の仮想ファイル処理システムであって、前記ローカルストレージにキャッシュされた断片データは、前記クライアントコンピュータをシャットダウンしても保持されることを特徴とする。
また、請求項4の発明は、請求項1〜3のいずれか1項に記載の仮想ファイル処理システムであって、前記ローカルストレージにキャッシュされた断片データは、対応する仮想ファイルの書き込み要求に応じて消去されることを特徴とする。
また、請求項5の発明は、ネットワークを介してリモートストレージと通信可能に接続されるクライアントコンピュータを動作させる仮想ファイル処理プログラムであって、前記クライアントコンピュータを、当該クライアントコンピュータのファイルシステムに仮想ファイルを格納する仮想ドライブを認識させ、該仮想ドライブに対する前記ファイルシステムからの要求をフックするファイル仮想化手段と、前記ファイルシステムから前記仮想ドライブに対する仮想ファイルの書き込み要求に応じて仮想ファイルの実体を前記リモートストレージにアップロードし、且つ、前記ファイルシステムから前記仮想ドライブに対する仮想ファイルの読み込み要求に応じて前記リモートストレージから仮想ファイルの実体をダウンロードして前記ファイルシステムに渡す要求処理手段と、として機能させ、前記要求処理手段は、前記ファイルシステムから読み込み要求があった仮想ファイルの断片データを前記クライアントコンピュータのローカルストレージにキャッシュし、以降、前記ファイルシステムから同一仮想ファイルの同一断片データの読み込み要求があった場合、前記ローカルストレージにキャッシュされた断片データを前記ファイルシステムに渡すことを特徴とする。
また、請求項6の発明は、請求項5に記載の仮想ファイル処理プログラムであって、前記断片データは、仮想ファイルをサムネイル表示又はプレビュー表示するためのデータであることを特徴とする。
また、請求項7の発明は、請求項5又は6に記載の仮想ファイル処理プログラムであって、前記ローカルストレージにキャッシュされた断片データは、前記クライアントコンピュータをシャットダウンしても保持されることを特徴とする。
また、請求項8の発明は、請求項5〜7のいずれか1項に記載の仮想ファイル処理プログラムであって、前記ローカルストレージにキャッシュされた断片データは、対応する仮想ファイルの書き込み要求に応じて消去されることを特徴とする。
The present invention has been made in view of the above circumstances in order to solve these problems, and the invention of claim 1 enables communication with a client computer and the client computer via a network. A virtual file processing system comprising: a remote storage connected to the client computer, wherein the client computer causes a file system of the client computer to recognize a virtual drive storing a virtual file, and a request from the file system to the virtual drive. And a file virtualization means for hooking the virtual file to the remote storage in response to a virtual file write request from the file system to the virtual drive, and a virtual file from the file system to the virtual drive. Request processing means for downloading the substance of the virtual file from the remote storage in response to a read request and passing it to the file system, wherein the request processing means is fragment data of a virtual file requested to be read from the file system. Is cached in the local storage of the client computer, and when the file system subsequently requests the reading of the same fragment data of the same virtual file, the fragment data cached in the local storage is passed to the file system. And
The invention of
The invention of
Further, the invention of claim 4 is the virtual file processing system according to any one of claims 1 to 3, wherein the fragment data cached in the local storage corresponds to a write request of a corresponding virtual file. It is characterized by being erased.
According to a fifth aspect of the present invention, there is provided a virtual file processing program for operating a client computer communicatively connected to a remote storage via a network, wherein the client computer stores a virtual file in a file system of the client computer. File virtualization means for recognizing a virtual drive to be stored and hooking a request from the file system to the virtual drive, and the virtual file entity in response to the virtual file write request from the file system to the virtual drive. A request processing unit that uploads to a storage and downloads the substance of the virtual file from the remote storage in response to a virtual file read request from the file system to the virtual drive and passes the substance to the file system. The request processing unit caches the fragment data of the virtual file requested to be read from the file system in the local storage of the client computer, and thereafter, when the file system requests to read the same fragment data of the same virtual file. , Passing fragment data cached in the local storage to the file system.
The invention of
The invention of
The invention according to
請求項1又は5の発明によれば、ファイルシステムから同一仮想ファイルの同一断片データの読み込み要求があった場合、ローカルストレージにキャッシュされた断片データをファイルシステムに渡すので、リモートストレージからのファイルのダウンロードを抑制し、パフォーマンスを向上させることができる。また、断片データをキャッシュするので、ファイル全体をキャッシュする場合に比べて、キャッシュ容量を抑制できるだけでなく、セキュリティの低下を回避できる。
請求項2又は6の発明によれば、断片データは、仮想ファイルをサムネイル表示又はプレビュー表示するためのデータなので、サムネイル表示やプレビュー表示のパフォーマンスを向上させることができる。
請求項3又は7の発明によれば、ローカルストレージにキャッシュされた断片データは、クライアントコンピュータをシャットダウンしても保持されるので、次回の起動以降においても、リモートストレージからのファイルのダウンロードを抑制できる。
請求項4又は8の発明によれば、ローカルストレージにキャッシュされた断片データは、対応する仮想ファイルの書き込み要求に応じて消去されるので、キャッシュされた断片データと更新された仮想ファイルとの間の不整合を防止できる。
According to the invention of
According to the invention of
According to the invention of
According to the invention of
[仮想ファイル処理システム]
以下、本発明の実施の形態について、図面に基づいて説明する。図1において、100は仮想ファイル処理システムであって、該仮想ファイル処理システム100は、クライアントコンピュータ2と、リモートストレージ3(クラウドストレージ)と、これらを通信可能に接続するインターネットなどのネットワーク1と、を備えて構成されている。
[Virtual file processing system]
Hereinafter, embodiments of the present invention will be described with reference to the drawings. In FIG. 1, a virtual
[クライアントコンピュータ]
図2に示すように、クライアントコンピュータ2は、CPU5、RAM6、ROM7、入力部8、表示部9、通信部10及びローカルストレージ11を備えており、これらがバス12を介して接続されている。
Client computer
As shown in FIG. 2, the
CPU5は、中央制御装置であり、ROM7やローカルストレージ11に記憶されている各種プログラムをRAM6上に読み出して実行し、各部の制御を行う。RAM6は、揮発性のメモリであり、各種プログラムの一時的な記憶領域やCPU5の作業領域として使用される。ROM7は、不揮発性のメモリであり、BIOSなどの基本プログラムが記憶されている。また、入力部8は、キーボード、マウスなどの入力装置であり、表示部9は、液晶ディスプレイなどの表示装置であり、通信部10は、ネットワーク1を介したリモートストレージ3との通信を可能にする通信インタフェースである。
The
ローカルストレージ11は、ハードディスクドライブなどの不揮発性記憶装置であり、ファイルシステム13を含むオペレーティングシステム、各種のアプリケーションソフト14、アプリケーションソフト14で作成した各種のファイル(非仮想ファイル)などに加え、本発明に係る仮想ファイル処理プログラム15が格納されている。仮想ファイル処理プログラム15は、クライアントコンピュータ2上のファイルを仮想化し、ファイルの実体をリモートストレージ3に保存するソフトウェアであり、その詳細は後述する。
The
[リモートストレージ]
リモートストレージ3は、クライアントコンピュータ2からネットワーク1を介してファイルの書き込み及び読み出しが可能な遠隔記憶装置である。本発明の実施形態に係るクライアントコンピュータ2は、仮想ファイル処理プログラム15との協働により、リモートストレージ3に対するファイルの書き込み及び読み出しを自動的に行う。
[Remote Storage]
The
[仮想ファイル処理プログラム]
本発明の実施形態に係る仮想ファイル処理プログラム15は、ローカルストレージ11に格納されており、例えばクライアントコンピュータ2の起動に際して自動的に起動される。そして、仮想ファイル処理プログラム15は、図3に示すように、クライアントコンピュータ2を、後述するファイル仮想化手段16、要求処理手段17、アップロード管理手段18及びリモートストレージアダプタ19として機能させる。これら機能構成の詳細は後述する。
[Virtual file processing program]
The virtual
また、仮想ファイル処理プログラム15は、図3に示すように、ローカルストレージ11にローカルキャッシュ領域21、断片データキャッシュ領域22などのキャッシュ領域を確保する。ローカルキャッシュ領域21は、リモートストレージ3からダウンロードしたファイルの実体、リモートストレージ3にアップロードするファイルの実体、リモートストレージ3に保存されている仮想ファイルの一覧情報などを格納するキャッシュ領域であり、ダウンロードしたファイルの実体及びアップロードしたファイルの実体は、セキュリティ上、クライアントコンピュータ2又は仮想ファイル処理プログラム15のシャットダウン時に消去されるが、仮想ファイル一覧情報は、クライアントコンピュータ2や仮想ファイル処理プログラム15がシャットダウンされても保持される。
Further, the virtual
仮想ファイル一覧情報は、アプリケーションソフト14が仮想ファイルの一覧表示を行う際に必要な情報群(ファイル実体を除く)であり、具体的には、リモートストレージ3において仮想ファイルを特定するためのキー情報、クライアントコンピュータ2における仮想ファイルのパス、仮想ファイルのファイル名、仮想ファイル又はディレクトリを一意に表すID、仮想ファイルのサイズ(byte)、仮想ファイルのファイル属性、仮想ファイルのファイル作成日時、ファイルアクセス日時、ファイル最終更新日時、仮想ファイルとディレクトリとを識別するフォルダフラグ、リモートストレージ3に対する最終アップロード日時、仮想ファイルの圧縮後のファイルサイズ、仮想ファイルの圧縮の有無を識別する圧縮フラグ、通常の仮想ファイルと削除された仮想ファイルを識別する削除フラグ、リモートストレージ3に対するアップロードの有無を識別するアップロードフラグなどの項目が含まれている。
The virtual file list information is a group of information (excluding file entities) required when the
断片データキャッシュ領域22は、サムネイル表示やプレビュー表示などを目的として、ファイルシステム13から仮想ファイルの断片データの読み込み要求があったとき、その断片データをローカルストレージ11にキャッシュするための領域であり、ここにキャッシュされた断片データは、クライアントコンピュータ2や仮想ファイル処理プログラム15がシャットダウンされても保持されるが、対応する仮想ファイルの書き込み要求に応じて消去される。なお、図3の符号23は、ローカルストレージ11に格納された非仮想ファイル群を示す。
The fragment
ファイル仮想化手段16は、ファイルシステム13に仮想ファイルを格納する仮想ドライブを認識させ、該仮想ドライブに対するファイルシステム13からの要求をフックし、要求処理手段17に処理を要求する機能構成である。具体的に説明すると、ファイル仮想化手段16は、ファイルシステム13から仮想ファイル一覧情報の読み込み要求があった場合、これを要求処理手段17に要求するとともに、要求処理手段17から仮想ファイル一覧情報を受け取ってファイルシステム13に渡す。また、ファイル仮想化手段16は、ファイルシステム13から仮想ファイルの読み込み要求があった場合、これを要求処理手段17に要求するとともに、要求処理手段17から仮想ファイルの実体を受け取ってファイルシステム13に渡す。また、ファイル仮想化手段16は、ファイルシステム13から仮想ファイルの書き込み要求があった場合、書き込むファイルの実体を要求処理手段17に渡し、リモートストレージ3にアップロードさせる。
The
また、ファイル仮想化手段16は、RAM6上のキャッシュ領域であるオンメモリキャッシュ16aを確保し、要求処理手段17との間で送受したデータをオンメモリキャッシュ16aにキャッシュする。例えば、ファイルシステム13から仮想ドライブに対する仮想ファイルの読み込み要求があった場合、ファイル仮想化手段16は、該当ファイルの実体がオンメモリキャッシュ16aにあるか否かを確認し、オンメモリキャッシュ16aに該当ファイルの実体があるときは、要求処理手段17に読み込み要求を行うことなく、オンメモリキャッシュ16aにある該当ファイルの実体をファイルシステム13に渡す。また、ファイルシステム13から仮想ドライブに対する仮想ファイルの書き込み要求があった場合、ファイル仮想化手段16は、該当ファイルの実体をオンメモリキャッシュ16aにキャッシュするか、書き込み要求の有無を他の手段が確認するための情報をオンメモリキャッシュ16aに登録する。
Further, the file virtualization means 16 secures an on-
要求処理手段17は、ファイルシステム13(ファイル仮想化手段16)からの要求に応じて、仮想ファイル一覧情報の読み込み処理、仮想ファイルの実体のダウンロード処理、仮想ファイルの実体のアップロード処理などを行う。具体的に説明すると、要求処理手段17は、ファイルシステム13から仮想ファイル一覧情報の読み込み要求があった場合、ローカルキャッシュ領域21から仮想ファイル一覧情報を読み込み、これをファイル仮想化手段16を介してファイルシステム13に渡す。
The
また、要求処理手段17は、ファイルシステム13から仮想ファイルの読み込み要求があった場合、該当ファイルの実体がローカルキャッシュ領域21にあるか否かを確認し、ローカルキャッシュ領域21にある場合は、ローカルキャッシュ領域21から読み出した該当ファイルの実体をファイル仮想化手段16を介してファイルシステム13に渡す。一方、要求処理手段17は、該当ファイルの実体がローカルキャッシュ領域21にない場合、リモートストレージアダプタ19を介してリモートストレージ3から該当ファイルの実体をダウンロードし、これをローカルキャッシュ領域21にキャッシュするとともに、ファイル仮想化手段16を介してファイルシステム13に渡す。
Further, the
また、要求処理手段17は、ファイルシステム13から仮想ファイルの書き込み要求があった場合、書き込むファイルの実体をローカルキャッシュ領域21に書き込み、その後、アップロード管理手段18によってリモートストレージ3にアップロードさせる。そして、要求処理手段17は、各種の処理を実行した後、処理内容に応じて仮想ファイル一覧情報を更新する。
In addition, when there is a virtual file write request from the
アップロード管理手段18は、オンメモリキャッシュ16a又はローカルキャッシュ領域21の一定時間毎の監視によってアップロードすべき仮想ファイルを検出した場合は、アップロード対象の仮想ファイルの実体をローカルキャッシュ領域21から読み出し、リモートストレージアダプタ19を介してリモートストレージ3にアップロードする。また、アップロード管理手段18は、一定時間毎にローカルキャッシュ領域21から仮想ファイル一覧情報を読み出し、リモートストレージアダプタ19を介してリモートストレージ3にアップロードする。
When the upload management means 18 detects a virtual file to be uploaded by monitoring the on-
リモートストレージアダプタ19は、様々なリモートストレージ3に対応するために、アップロード管理手段18などから分離されたアダプタである。つまり、仮想ファイル処理プログラム15は、様々なリモートストレージ3に対応する複数のリモートストレージアダプタ19を有し、使用するリモートストレージ3に応じてリモートストレージアダプタ19が選択される。
The
[断片データキャッシュ機能]
つぎに、要求処理手段17によって実現される断片データキャッシュ機能について、図4以降を参照して説明する。
[Fragment data cache function]
Next, the fragment data cache function realized by the request processing means 17 will be described with reference to FIG.
図4に示すように、ファイルシステム13は、ユーザがファイルを利用しない場合であっても、サムネイル表示やプレビュー表示などの目的で仮想ファイルの読み込みを要求する場合がある。このような読み込み要求では、ファイル全体を利用するのではなく、ファイルの一部しか利用しないにも拘わらず、要求処理手段17は、リモートストレージ3からファイル全体をダウンロードする。その理由は、リモートストレージ3との間におけるデータ転送の最小指定単位がファイル単位だからである。しかしながら、このようなダウンロードが頻発すると、パフォーマンスが低下する虞がある。
As shown in FIG. 4, even when the user does not use the file, the
要求処理手段17は、ファイルシステム13から読み込み要求があった仮想ファイルの断片データをローカルストレージ11に確保された断片データキャッシュ領域22にキャッシュし、以降、ファイルシステム13から同一仮想ファイルの同一断片データの読み込み要求があった場合、ローカルストレージ11の断片データキャッシュ領域22にキャッシュされた断片データをファイルシステム13に渡す。
The
このような断片データキャッシュ機能を備える仮想ファイル処理プログラム15によれば、ファイルシステム13から仮想ファイルの断片データの読み込み要求があった場合(S11)、該当断片データが断片データキャッシュ領域22にキャッシュされていない当初は、図4に示すように、リモートストレージ3から該当ファイル(実体)の全体又は一部をローカルキャッシュ領域21にダウンロードし(S12)、その一部である該当断片データをファイルシステム13に渡すことになるが(S13)、その際に該当断片データが断片データキャッシュ領域22にキャッシュされる(S14)。そして、図5に示すように、ファイルシステム13から同一仮想ファイルの同一断片データの読み込み要求があった場合は(S21)、リモートストレージ3から該当ファイル(実体)の全体をダウンロードすることなく、断片データキャッシュ領域22にキャッシュされた該当断片データを読み出して、オンメモリキャッシュ16aへキャッシュするとともにファイルシステム13に渡すことができるので(S22)、ダウンロードの頻発を抑制し、パフォーマンスを向上させることができる。
According to the virtual
なお、断片データキャッシュ領域22に対するキャッシュは、サムネイル表示やプレビュー表示などを目的とする断片データの読み込み要求時に限らず、ファイル全体の読み込み要求時にも行うことができる。つまり、ほとんどのファイルは、すべてのデータを一度に読み出すことはなく、全体を読み出す場合であっても、ファイルを区切り部分的に読み出す操作を繰り返すため、これらの部分的な読み出しデータを断片データとして断片データキャッシュ領域22にキャッシュすることができる。そして、キャッシュする断片データは、ファイルの位置と長さを特定する情報と一緒に記憶するとともに、1ファイルあたりの断片データのキャッシュサイズを制限することで、結果的に、読み出し順の最初の部分、すなわち高頻度に読み出される位置のデータを少ないキャッシュサイズで効率よく保持することが可能になる。
The fragment
[仮想ファイル処理システムの処理手順]
つぎに、本発明の実施形態に係る仮想ファイル処理システム100の処理手順について、図6及び図7を参照して説明する。
[Processing procedure of virtual file processing system]
Next, a processing procedure of the virtual
図6に示すように、クライアントコンピュータ2のユーザがアプリケーションソフト14において仮想ファイルのサムネイル表示やプレビュー表示などのように仮想ファイルの断片データを要求する操作を行うと(S101)、ファイルシステム13は、アプリケーションソフト14からの要求(S102)に応じて、仮想ファイルの断片データの読み込み要求を行う(S103)。ファイル仮想化手段16は、ファイルシステム13からの仮想ファイルの断片データの読み込み要求をフックするとともに、該当断片データがオンメモリキャッシュ16aにあるか否かをチェックし(S104)、オンメモリキャッシュ16aにない場合は、要求処理手段17に対して仮想ファイルの断片データの読み込みを要求する(S105)。
As shown in FIG. 6, when the user of the
要求処理手段17は、該当断片データが断片データキャッシュ領域22にある場合は、該当断片データを断片データキャッシュ領域22から読み出し(S106)、該当断片データが断片データキャッシュ領域22にない場合は、ローカルキャッシュ領域21に該当ファイルの実体が存在するか否かをチェックする(S107)。要求処理手段17は、ローカルキャッシュ領域21に該当ファイルの実体が存在しない場合、リモートストレージ3から該当ファイルの実体(全体)をダウンロードし(S108)、ローカルキャッシュ領域21にキャッシュする。要求処理手段17は、ローカルキャッシュ領域21にキャッシュされた該当ファイルの該当断片データを読み出すとともに(S109)、断片データキャッシュ領域22にキャッシュ済みの該当ファイルの断片データ合計サイズをチェックし(S110)、断片データ合計サイズが予め定められた上限(例えば、ファイルサイズの90%以内)を超えていない場合は、該当断片データを断片データキャッシュ領域22にキャッシュする(S111)。その後、読み出した該当断片データは、要求処理手段17からファイル仮想化手段16を介してファイルシステム13に渡され(S112、S113)、さらにファイルシステム13からアプリケーションソフト14に渡される(S114)。
The
図7に示すように、クライアントコンピュータ2のユーザがアプリケーションソフト14において仮想ファイルの書き込み操作を行うと(S201)、ファイルシステム13は、アプリケーションソフト14からの要求(S202)に応じて、仮想ファイルの書き込み要求を行う(S203)。ファイル仮想化手段16は、ファイルシステム13からの仮想ファイルの書き込み要求をフックするとともに、未アップロードファイルの存在を示す情報をオンメモリキャッシュ16aに書き込むとともに(S204)、要求処理手段17に対して仮想ファイルの書き込みを要求する(S205)。
As shown in FIG. 7, when the user of the
要求処理手段17は、書き込みを行う仮想ファイルに対応する断片データが断片データキャッシュ領域22に存在するか否かを判断するとともに、存在する場合は、それらの断片データを断片データキャッシュ領域22から消去する(S206)。その後、要求処理手段17は、書き込みを行う仮想ファイルの実体をローカルキャッシュ領域21に書き込むとともに(S207)、処理の完了通知をファイル仮想化手段16及びファイルシステム13を介してアプリケーションソフト14に送る(S208、S209、S210)。
The
また、図7に示すように、アップロード管理手段18は、一定時間毎にアップロードすべき仮想ファイルの有無を判断し(S211)、アップロードすべき仮想ファイルがある場合は、アップロード対象の仮想ファイルの実体をローカルキャッシュ領域21から読み出し(S212)、リモートストレージ3にアップロードする(S213)。
Further, as shown in FIG. 7, the upload
叙述の如く構成された本実施形態によれば、クライアントコンピュータ2と、ネットワーク1を介してクライアントコンピュータ2と通信可能に接続されるリモートストレージ3と、を備える仮想ファイル処理システム100であって、クライアントコンピュータ2は、当該クライアントコンピュータ2のファイルシステム13に仮想ファイルを格納する仮想ドライブを認識させ、該仮想ドライブに対するファイルシステム13からの要求をフックするファイル仮想化手段16と、ファイルシステム13から仮想ドライブに対する仮想ファイルの書き込み要求に応じて仮想ファイルの実体をリモートストレージ3にアップロードし、且つ、ファイルシステム13から仮想ドライブに対する仮想ファイルの読み込み要求に応じてリモートストレージ3から仮想ファイルの実体をダウンロードしてファイルシステム13に渡す要求処理手段17と、を備え、要求処理手段17は、ファイルシステム13から読み込み要求があった仮想ファイルの断片データをクライアントコンピュータ2のローカルストレージ11にキャッシュし、以降、ファイルシステム13から同一仮想ファイルの同一断片データの読み込み要求があった場合、ローカルストレージ11にキャッシュされた断片データをファイルシステム13に渡すので、リモートストレージ3からのファイルのダウンロードを抑制し、パフォーマンスを向上させることができる。また、断片データをキャッシュするので、ファイル全体をキャッシュする場合に比べて、キャッシュ容量を抑制できるだけでなく、セキュリティの低下を回避できる。
According to the present embodiment configured as described above, a virtual
また、断片データは、仮想ファイルをサムネイル表示又はプレビュー表示するためのデータなので、サムネイル表示やプレビュー表示のパフォーマンスを向上させることができる。 Further, since the fragment data is data for displaying the thumbnail or the preview of the virtual file, the performance of the thumbnail display and the preview display can be improved.
また、ローカルストレージ11キャッシュされた断片データは、クライアントコンピュータ2をシャットダウンしても保持されるので、次回の起動以降においても、リモートストレージ3からのファイルのダウンロードを抑制できる。
Further, since the fragment data cached in the
また、ローカルストレージ11にキャッシュされた断片データは、対応する仮想ファイルの書き込み要求に応じて消去されるので、キャッシュされた断片データと更新された仮想ファイルとの間の不整合を防止できる。
Further, since the fragment data cached in the
なお、本発明は前記実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。例えば、前記実施形態では、断片データキャッシュ機能の作用及び効果を、サムネイル表示時やファイルのプレビュー表示時を例として説明したが、OSや各種アプリケーションでは、サムネイル表示やプレビュー表示以外でも部分データの読み出しは頻繁に発生しており、このような読み出しにおいても断片データキャッシュ機能は有効に機能し、リモートストレージからのファイルのダウンロードを抑制できる。 The present invention is not limited to the above-described embodiment, and various modifications and changes can be made within the scope of the gist of the present invention described in the claims. For example, in the above-described embodiment, the operation and effect of the fragment data cache function have been described by taking the thumbnail display or the file preview display as an example. However, in the OS and various applications, the partial data is read out other than the thumbnail display and the preview display. Occurs frequently, the fragment data cache function works effectively even in such reading, and it is possible to suppress the download of files from the remote storage.
100 仮想ファイル処理システム
1 ネットワーク
2 クライアントコンピュータ
3 リモートストレージ
11 ローカルストレージ
13 ファイルシステム
15 仮想ファイル処理プログラム
16 ファイル仮想化手段
17 要求処理手段
18 アップロード管理手段
19 リモートストレージアダプタ
21 ローカルキャッシュ領域
22 断片データキャッシュ領域
100 virtual file processing system 1
Claims (8)
ネットワークを介して前記クライアントコンピュータと通信可能に接続されるリモートストレージと、を備える仮想ファイル処理システムであって、
前記クライアントコンピュータは、
当該クライアントコンピュータのファイルシステムに仮想ファイルを格納する仮想ドライブを認識させ、該仮想ドライブに対する前記ファイルシステムからの要求をフックするファイル仮想化手段と、
前記ファイルシステムから前記仮想ドライブに対する仮想ファイルの書き込み要求に応じて仮想ファイルの実体を前記リモートストレージにアップロードし、且つ、前記ファイルシステムから前記仮想ドライブに対する仮想ファイルの読み込み要求に応じて前記リモートストレージから仮想ファイルの実体をダウンロードして前記ファイルシステムに渡す要求処理手段と、を備え、
前記要求処理手段は、前記ファイルシステムから読み込み要求があった仮想ファイルの断片データを前記クライアントコンピュータのローカルストレージにキャッシュし、以降、前記ファイルシステムから同一仮想ファイルの同一断片データの読み込み要求があった場合、前記ローカルストレージにキャッシュされた断片データを前記ファイルシステムに渡すことを特徴とする仮想ファイル処理システム。 A client computer,
A virtual file processing system comprising: a remote storage communicatively connected to the client computer via a network,
The client computer is
File virtualization means for making a file system of the client computer recognize a virtual drive storing a virtual file and hooking a request from the file system to the virtual drive;
A virtual file entity is uploaded to the remote storage in response to a virtual file write request from the file system to the virtual drive, and from the remote storage in response to a virtual file read request from the file system to the virtual drive. Request processing means for downloading the substance of the virtual file and passing it to the file system,
The request processing unit caches the fragment data of the virtual file requested to be read from the file system in the local storage of the client computer, and thereafter, the file system requests to read the same fragment data of the same virtual file. In this case, the virtual file processing system is characterized in that the fragment data cached in the local storage is passed to the file system.
前記クライアントコンピュータを、
当該クライアントコンピュータのファイルシステムに仮想ファイルを格納する仮想ドライブを認識させ、該仮想ドライブに対する前記ファイルシステムからの要求をフックするファイル仮想化手段と、
前記ファイルシステムから前記仮想ドライブに対する仮想ファイルの書き込み要求に応じて仮想ファイルの実体を前記リモートストレージにアップロードし、且つ、前記ファイルシステムから前記仮想ドライブに対する仮想ファイルの読み込み要求に応じて前記リモートストレージから仮想ファイルの実体をダウンロードして前記ファイルシステムに渡す要求処理手段と、として機能させ、
前記要求処理手段は、前記ファイルシステムから読み込み要求があった仮想ファイルの断片データを前記クライアントコンピュータのローカルストレージにキャッシュし、以降、前記ファイルシステムから同一仮想ファイルの同一断片データの読み込み要求があった場合、前記ローカルストレージにキャッシュされた断片データを前記ファイルシステムに渡すことを特徴とする仮想ファイル処理プログラム。 A virtual file processing program for operating a client computer communicatively connected to a remote storage via a network,
The client computer,
File virtualization means for making a file system of the client computer recognize a virtual drive storing a virtual file and hooking a request from the file system to the virtual drive;
A virtual file entity is uploaded to the remote storage in response to a virtual file write request from the file system to the virtual drive, and from the remote storage in response to a virtual file read request from the file system to the virtual drive. A request processing means for downloading the substance of the virtual file and passing it to the file system,
The request processing unit caches the fragment data of the virtual file requested to be read from the file system in the local storage of the client computer, and thereafter, the file system requests to read the same fragment data of the same virtual file. In this case, the virtual file processing program is characterized in that the fragment data cached in the local storage is passed to the file system.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2018234440A JP2020095588A (en) | 2018-12-14 | 2018-12-14 | Virtual file processing system and virtual file processing program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2018234440A JP2020095588A (en) | 2018-12-14 | 2018-12-14 | Virtual file processing system and virtual file processing program |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2020095588A true JP2020095588A (en) | 2020-06-18 |
Family
ID=71084094
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2018234440A Pending JP2020095588A (en) | 2018-12-14 | 2018-12-14 | Virtual file processing system and virtual file processing program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2020095588A (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112748881A (en) * | 2021-01-15 | 2021-05-04 | 长城超云(北京)科技有限公司 | Storage fault tolerance method and cluster system for virtualization scene |
| KR20220018186A (en) * | 2020-08-06 | 2022-02-15 | 주식회사 파수 | Method for managing virtual file, apparatus for the same, computer program for the same, and recording medium storing computer program thereof |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2013035517A1 (en) * | 2011-09-07 | 2013-03-14 | 株式会社 オレガ | File management system and file management method |
| JP2015211457A (en) * | 2014-04-30 | 2015-11-24 | 株式会社Pfu | Terminal device, image reading device, information processing system, and information processing method |
| JP2016027477A (en) * | 2011-06-15 | 2016-02-18 | アマゾン テクノロジーズ インク | Method of sending file |
| JP2016148904A (en) * | 2015-02-10 | 2016-08-18 | 株式会社アール・アイ | File management system and file management program |
-
2018
- 2018-12-14 JP JP2018234440A patent/JP2020095588A/en active Pending
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2016027477A (en) * | 2011-06-15 | 2016-02-18 | アマゾン テクノロジーズ インク | Method of sending file |
| WO2013035517A1 (en) * | 2011-09-07 | 2013-03-14 | 株式会社 オレガ | File management system and file management method |
| JP2015211457A (en) * | 2014-04-30 | 2015-11-24 | 株式会社Pfu | Terminal device, image reading device, information processing system, and information processing method |
| JP2016148904A (en) * | 2015-02-10 | 2016-08-18 | 株式会社アール・アイ | File management system and file management program |
Non-Patent Citations (1)
| Title |
|---|
| 石坂 俊成: "END USER FIRST 「使いやすく低コストのファイル仮想化でモバイルPCの安全な持ち出しを実現」 file", PC−WEBZINE, vol. 第309巻, JPN6022039615, 25 October 2017 (2017-10-25), pages 18 - 19, ISSN: 0004879167 * |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20220018186A (en) * | 2020-08-06 | 2022-02-15 | 주식회사 파수 | Method for managing virtual file, apparatus for the same, computer program for the same, and recording medium storing computer program thereof |
| KR102438329B1 (en) * | 2020-08-06 | 2022-08-31 | 주식회사 파수 | Method for managing virtual file, apparatus for the same, computer program for the same, and recording medium storing computer program thereof |
| US11625365B2 (en) | 2020-08-06 | 2023-04-11 | Fasoo Co., Ltd | Method for managing virtual file, apparatus for the same, computer program for the same, and recording medium storing computer program thereof |
| CN112748881A (en) * | 2021-01-15 | 2021-05-04 | 长城超云(北京)科技有限公司 | Storage fault tolerance method and cluster system for virtualization scene |
| CN112748881B (en) * | 2021-01-15 | 2024-02-20 | 长城超云(北京)科技有限公司 | Storage fault-tolerant method and cluster system oriented to virtualization scene |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12099521B2 (en) | Storage constrained synchronization of shared content items | |
| US9875029B2 (en) | Network-attached storage enhancement appliance | |
| US9501241B2 (en) | Storage system and object management method | |
| US9582511B2 (en) | Maintaining versions of data in solid state memory | |
| US9934303B2 (en) | Storage constrained synchronization engine | |
| US9424058B1 (en) | File deduplication and scan reduction in a virtualization environment | |
| EP3251026B1 (en) | Storage constrained synchronization of shared content items | |
| JP6011349B2 (en) | Storage apparatus and data compression method | |
| JP2011039805A5 (en) | ||
| US10248705B2 (en) | Storage constrained synchronization of shared content items | |
| JP5736956B2 (en) | File management apparatus and control program therefor | |
| WO2011121746A1 (en) | File server apparatus, method of controlling storage system, and program | |
| US9015526B2 (en) | Restoring method and computer system | |
| US9229852B2 (en) | Flash translation layer system for maintaining data versions in solid state memory | |
| CN102790795A (en) | File management apparatus and file management apparatus controlling method | |
| JP6483459B2 (en) | File management system and file management program | |
| JP2020095588A (en) | Virtual file processing system and virtual file processing program | |
| US9135116B1 (en) | Cloud enabled filesystems provided by an agent which interfaces with a file system on a data source device | |
| US11392546B1 (en) | Method to use previously-occupied inodes and associated data structures to improve file creation performance | |
| JP7164176B2 (en) | Virtual file processing system and virtual file processing program | |
| US11258853B2 (en) | Storage management system and method | |
| US10860527B2 (en) | Storage management system and method | |
| WO2018109818A1 (en) | Calculator system and method for controlling storage of data |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20211101 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220824 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220922 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20230316 |