JP7164176B2 - Virtual file processing system and virtual file processing program - Google Patents

Virtual file processing system and virtual file processing program Download PDF

Info

Publication number
JP7164176B2
JP7164176B2 JP2018234441A JP2018234441A JP7164176B2 JP 7164176 B2 JP7164176 B2 JP 7164176B2 JP 2018234441 A JP2018234441 A JP 2018234441A JP 2018234441 A JP2018234441 A JP 2018234441A JP 7164176 B2 JP7164176 B2 JP 7164176B2
Authority
JP
Japan
Prior art keywords
file
list information
virtual
upload
remote storage
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.)
Active
Application number
JP2018234441A
Other languages
Japanese (ja)
Other versions
JP2020095589A (en
Inventor
敦 小川
勝也 石原
敦 阿部
Original Assignee
アップデータ株式会社
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 アップデータ株式会社 filed Critical アップデータ株式会社
Priority to JP2018234441A priority Critical patent/JP7164176B2/en
Publication of JP2020095589A publication Critical patent/JP2020095589A/en
Application granted granted Critical
Publication of JP7164176B2 publication Critical patent/JP7164176B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、クライアントコンピュータ上のファイルを仮想化し、ファイルの実体をリモートストレージに保存する仮想ファイル処理システム及び仮想ファイル処理プログラムに関する。 The present invention relates to a virtual file processing system and a virtual file processing program that virtualize files on a client computer and store the substance of the files in a remote storage.

クライアントコンピュータ上のファイルを仮想化し、ファイルの実体をリモートストレージに保存する仮想ファイル処理システムが知られている(例えば、特許文献1参照)。この種の仮想ファイル処理システムは、クライアントコンピュータが、当該クライアントコンピュータのファイルシステムに仮想ファイルを格納する仮想ドライブを認識させ、該仮想ドライブに対するファイルシステムからの要求をフックする手段と、ファイルシステムから仮想ドライブに対する仮想ファイル一覧情報の読み込み要求に応じてクライアントコンピュータのローカルストレージから仮想ファイル一覧情報を読み出し、又はリモートストレージから仮想ファイル一覧情報をダウンロードしてファイルシステムに渡す手段と、ファイルシステムから仮想ドライブに対する仮想ファイルの読み込み要求に応じてリモートストレージから仮想ファイルの実体をダウンロードしてファイルシステムに渡す手段と、ファイルシステムから仮想ドライブに対する仮想ファイルの書き込み要求に応じて仮想ファイルの実体をリモートストレージにアップロードする手段と、を備えることにより実現できる。 A virtual file processing system that virtualizes a file on a client computer and saves the substance of the file in a remote storage is known (see, for example, Patent Document 1). This type of virtual file processing system comprises means for a client computer to recognize a virtual drive storing a virtual file in the file system of the client computer, hook a request from the file system to the virtual drive, and a means for reading virtual file list information from a local storage of a client computer in response to a read request for virtual file list information for a drive, or downloading virtual file list information from a remote storage and passing it to a file system; A means for downloading the substance of a virtual file from a remote storage in response to a request to read a virtual file and passing it to the file system, and uploading the substance of the virtual file to the remote storage in response to a request to write the virtual file from the file system to the virtual drive. It can be realized by providing means and

また、特許文献1の仮想ファイル処理システムでは、仮想ファイル一覧情報がリモートストレージにアップロードされるので、ローカルストレージに最新の仮想ファイル一覧情報がないクライアントコンピュータ(例えば、同一ユーザの2台目のPC)であっても、リモートストレージから最新の仮想ファイル一覧情報をダウンロードすれば、リモートストレージに保存された仮想ファイルの実体を読み出したり、更新することが可能になる。 Also, in the virtual file processing system of Patent Document 1, since the virtual file list information is uploaded to the remote storage, the client computer (for example, the same user's second PC) that does not have the latest virtual file list information in the local storage. Even so, if the latest virtual file list information is downloaded from the remote storage, it becomes possible to read and update the actual virtual files stored in the remote storage.

特開2016-148904号公報JP 2016-148904 A

しかしながら、この種の仮想ファイル処理システムでは、リモートストレージに対する仮想ファイル実体のアップロード処理と、仮想ファイル一覧情報の更新処理と、リモートストレージに対する仮想ファイル一覧情報のアップロード処理と、が同期して実行されるとは限らず、クライアントコンピュータが異常終了した場合などでは、リモートストレージに保存されている仮想ファイル一覧情報と仮想ファイルの実体との間に不整合が生じる可能性があるため、リモートストレージに保存された仮想ファイルの実体を複数のクライアントコンピュータで安全に共有するには、さらに改善の余地があった。 However, in this type of virtual file processing system, upload processing of virtual file entities to remote storage, processing of updating virtual file list information, and processing of uploading virtual file list information to remote storage are executed in synchronization. However, if the client computer terminates abnormally, there is a possibility that an inconsistency may occur between the virtual file list information saved in the remote storage and the virtual file itself. There is still room for improvement in terms of safely sharing the virtual file entity with multiple client computers.

本発明は、上記の如き実情に鑑みこれらの課題を解決することを目的として創作されたものであって、請求項1の発明は、クライアントコンピュータと、ネットワークを介して前記クライアントコンピュータと通信可能に接続されるリモートストレージと、を備える仮想ファイル処理システムであって、前記クライアントコンピュータは、当該クライアントコンピュータのファイルシステムに仮想ファイルを格納する仮想ドライブを認識させ、該仮想ドライブに対する前記ファイルシステムからの要求をフックするファイル仮想化手段と、前記ファイルシステムから前記仮想ドライブに対する仮想ファイル一覧情報の読み込み要求に応じて前記クライアントコンピュータのローカルストレージから仮想ファイル一覧情報を読み出して前記ファイルシステムに渡し、前記ファイルシステムから前記仮想ドライブに対する仮想ファイルの読み込み要求に応じて前記リモートストレージから仮想ファイルの実体をダウンロードして前記ファイルシステムに渡し、前記ファイルシステムから前記仮想ドライブに対する仮想ファイルの書き込み要求に応じて仮想ファイルの実体を前記ローカルストレージに書き込むとともに仮想ファイル一覧情報を更新する要求処理手段と、前記リモートストレージにアップロードすべき仮想ファイルの実体が前記ローカルストレージに存在する場合、仮想ファイルの実体を前記リモートストレージにアップロードするとともに、前記リモートストレージにアップロードされているファイルの一覧情報であるアップロードファイル一覧情報を更新するアップロード管理手段と、を備え、前記アップロード管理手段は、仮想ファイルの実体を前記リモートストレージにアップロードした後、前記ローカルストレージ上のアップロードファイル一覧情報を更新するとともに、アップロードファイル一覧情報の更新ログをリビジョン付きで前記リモートストレージにアップロードし、更新されたアップロードファイル一覧情報本体は更新ログとは異なるタイミングで前記リモートストレージにリビジョン付きでアップロードし、前記要求処理手段は、起動時に、前記リモートストレージからアップロードファイル一覧情報と、該アップロードファイル一覧情報のリビジョンより新しい更新ログをダウンロードするとともに、ダウンロードしたアップロードファイル一覧情報にリビジョンの新しい更新ログを適用してアップロードファイル一覧情報を最新のリビジョンに更新し、該アップロードファイル一覧情報から仮想ファイル一覧情報を構築することを特徴とする。
また、請求項2の発明は、請求項1に記載の仮想ファイル処理システムであって、前記アップロード管理手段は、一定時間毎に前記リモートストレージにアップロードすべき仮想ファイルの実体が前記ローカルストレージに存在するか否かを判断し、前記リモートストレージにアップロードすべき仮想ファイルの実体が前記ローカルストレージに存在すると判断したとき、仮想ファイルの実体を前記リモートストレージにアップロードし、その後、前記ローカルストレージ上のアップロードファイル一覧情報を更新するとともに、アップロードファイル一覧情報の更新ログをリビジョン付きで前記リモートストレージにアップロードすることを特徴とする。
また、請求項3の発明は、請求項1又は2に記載の仮想ファイル処理システムであって、前記アップロード管理手段は、シャットダウン時に前記ローカルストレージ上のアップロードファイル一覧情報本体を前記リモートストレージにアップロードすることを特徴とする。
また、請求項4の発明は、ネットワークを介してリモートストレージと通信可能に接続されるクライアントコンピュータを動作させる仮想ファイル処理プログラムであって、前記クライアントコンピュータを、当該クライアントコンピュータのファイルシステムに仮想ファイルを格納する仮想ドライブを認識させ、該仮想ドライブに対する前記ファイルシステムからの要求をフックするファイル仮想化手段と、前記ファイルシステムから前記仮想ドライブに対する仮想ファイル一覧情報の読み込み要求に応じて前記クライアントコンピュータのローカルストレージから仮想ファイル一覧情報を読み出して前記ファイルシステムに渡し、前記ファイルシステムから前記仮想ドライブに対する仮想ファイルの読み込み要求に応じて前記リモートストレージから仮想ファイルの実体をダウンロードして前記ファイルシステムに渡し、前記ファイルシステムから前記仮想ドライブに対する仮想ファイルの書き込み要求に応じて仮想ファイルの実体を前記ローカルストレージに書き込むとともに仮想ファイル一覧情報を更新する要求処理手段と、前記リモートストレージにアップロードすべき仮想ファイルの実体が前記ローカルストレージに存在する場合、仮想ファイルの実体を前記リモートストレージにアップロードするとともに、前記リモートストレージにアップロードされているファイルの一覧情報であるアップロードファイル一覧情報を更新するアップロード管理手段と、として機能させ、前記アップロード管理手段は、仮想ファイルの実体を前記リモートストレージにアップロードした後、前記ローカルストレージ上のアップロードファイル一覧情報を更新するとともに、アップロードファイル一覧情報の更新ログをリビジョン付きで前記リモートストレージにアップロードし、更新されたアップロードファイル一覧情報本体は更新ログとは異なるタイミングで前記リモートストレージにリビジョン付きでアップロードし、前記要求処理手段は、起動時に、前記リモートストレージからアップロードファイル一覧情報と、該アップロードファイル一覧情報のリビジョンより新しい更新ログをダウンロードするとともに、ダウンロードしたアップロードファイル一覧情報にリビジョンの新しい更新ログを適用してアップロードファイル一覧情報を最新のリビジョンに更新し、該アップロードファイル一覧情報から仮想ファイル一覧情報を構築することを特徴とする。
また、請求項5の発明は、請求項4に記載の仮想ファイル処理プログラムであって、前記アップロード管理手段は、一定時間毎に前記リモートストレージにアップロードすべき仮想ファイルの実体が前記ローカルストレージに存在するか否かを判断し、前記リモートストレージにアップロードすべき仮想ファイルの実体が前記ローカルストレージに存在すると判断したとき、仮想ファイルの実体を前記リモートストレージにアップロードし、その後、前記ローカルストレージ上のアップロードファイル一覧情報を更新するとともに、アップロードファイル一覧情報の更新ログをリビジョン付きで前記リモートストレージにアップロードすることを特徴とする。
また、請求項6の発明は、請求項4又は5に記載の仮想ファイル処理プログラムであって、前記アップロード管理手段は、シャットダウン時に前記ローカルストレージ上のアップロードファイル一覧情報本体を前記リモートストレージにアップロードすることを特徴とする。
SUMMARY OF THE INVENTION The present invention was created with the object of solving these problems in view of the actual situation as described above. and a connected remote storage, wherein the client computer makes the file system of the client computer recognize a virtual drive storing a virtual file, and requests the virtual drive from the file system. and file virtualization means for hooking the virtual file list information from the file system to the virtual drive, reading the virtual file list information from the local storage of the client computer, passing it to the file system, and downloads the entity of the virtual file from the remote storage in response to a virtual file read request to the virtual drive and passes it to the file system, and downloads the virtual file in response to a virtual file write request to the virtual drive from the file system request processing means for writing an entity to the local storage and updating virtual file list information; and uploading the entity of the virtual file to the remote storage when the entity of the virtual file to be uploaded to the remote storage exists in the local storage. and upload management means for updating upload file list information, which is list information of files uploaded to the remote storage, wherein the upload management means updates the virtual file entity after uploading the substance of the virtual file to the remote storage. , updating the upload file list information on the local storage, uploading an update log of the upload file list information with a revision to the remote storage, and uploading the updated upload file list information itself at a timing different from that of the update log; Uploading to a remote storage with a revision, the request processing means downloads upload file list information and an update log newer than the revision of the upload file list information from the remote storage at startup, and downloads the downloaded upload file list information. apply the revision's new changelog to is used to update the uploaded file list information to the latest revision, and the virtual file list information is constructed from the uploaded file list information.
The invention according to claim 2 is the virtual file processing system according to claim 1, wherein the upload management means detects that the entity of the virtual file to be uploaded to the remote storage exists in the local storage at regular time intervals. When it is determined that the substance of the virtual file to be uploaded to the remote storage exists in the local storage, the substance of the virtual file is uploaded to the remote storage, and then uploaded on the local storage. The file list information is updated, and the update log of the upload file list information is uploaded to the remote storage with a revision.
Further, the invention of claim 3 is the virtual file processing system of claim 1 or 2, wherein the upload management means uploads the upload file list information main body on the local storage to the remote storage at the time of shutdown. It is characterized by
A fourth aspect of the invention is 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 the 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; reading virtual file list information from a storage and passing it to the file system; downloading a virtual file entity from the remote storage in response to a virtual file read request from the file system to the virtual drive and passing it to the file system; request processing means for writing a virtual file entity to the local storage and updating virtual file list information in response to a virtual file write request from a file system to the virtual drive; and a virtual file entity to be uploaded to the remote storage. and upload management means for uploading the substance of a virtual file to the remote storage when it exists in the local storage and updating upload file list information, which is list information of files uploaded to the remote storage. , the upload management means updates upload file list information on the local storage after uploading the substance of the virtual file to the remote storage, and uploads an update log of the upload file list information with a revision to the remote storage. Then, the updated upload file list information main body is uploaded to the remote storage with a revision at a timing different from the update log, and the request processing means, at startup, uploads the upload file list information from the remote storage and the upload file Downloading an update log newer than the revision of the list information, applying the new update log of the revision to the downloaded upload file list information to update the upload file list information to the latest revision, and uploading the virtual file from the upload file list information It is characterized by constructing list information.
Further, the invention of claim 5 is the virtual file processing program according to claim 4, wherein the upload management means detects that the entity of the virtual file to be uploaded to the remote storage exists in the local storage at regular time intervals. When it is determined that the virtual file entity to be uploaded to the remote storage exists in the local storage, the virtual file entity is uploaded to the remote storage, and then uploaded on the local storage. The file list information is updated, and the update log of the uploaded file list information is uploaded to the remote storage with a revision attached.
Further, the invention of claim 6 is the virtual file processing program according to claim 4 or 5, wherein the upload management means uploads the upload file list information main body on the local storage to the remote storage at the time of shutdown. It is characterized by

請求項1又は4の発明によれば、仮想ファイルの実体やアップロードファイル一覧情報をユーザ操作と非同期でリモートストレージにアップロードするので、通信障害などのトラブル発生時でも、ユーザの作業を阻害することなく、適切なタイミングでアップロードを実行することができる。また、アップロード管理手段は、ローカルストレージ上のアップロードファイル一覧情報を更新する際、アップロードファイル一覧情報の更新ログをリビジョン付きでリモートストレージにアップロードし、更新されたアップロードファイル一覧情報本体は更新ログとは異なるタイミングでリモートストレージにリビジョン付きでアップロードするので、アップロードファイル数に比例して容量が肥大化するアップロードファイル一覧情報本体の頻繁なアップロードを制限し、パフォーマンスの低下や通信費の増大を抑制できる。また、要求処理手段は、起動時に、リモートストレージからアップロードファイル一覧情報と、該アップロードファイル一覧情報のリビジョンより新しい更新ログをダウンロードするとともに、ダウンロードしたアップロードファイル一覧情報にリビジョンの新しい更新ログを適用してアップロードファイル一覧情報を最新のリビジョンに更新し、該アップロードファイル一覧情報から仮想ファイル一覧情報を構築するので、リモートストレージに保存されているアップロードファイル一覧情報が最新のものでなくとも、リモートストレージに保存されている仮想ファイルの実体と整合した仮想ファイル一覧情報を構築することができ、その結果、リモートストレージに保存された仮想ファイルの実体を複数のクライアントコンピュータで安全に共有することが可能になる。
また、請求項2又は5の発明によれば、アップロード管理手段は、一定時間毎にリモートストレージにアップロードすべき仮想ファイルの実体がローカルストレージに存在するか否かを判断し、該判断に応じて仮想ファイルの実体やアップロードファイル一覧情報の更新ログをリモートストレージにアップロードするので、ユーザ操作と非同期でありながら、大きな遅滞なくアップロードを実行することができる。
また、請求項3又は6の発明によれば、アップロード管理手段は、シャットダウン時にローカルストレージ上のアップロードファイル一覧情報本体をリモートストレージにアップロードするので、アップロードファイル一覧情報本体のアプロード回数を最小限とし、パフォーマンスの低下や通信費の増大を抑制できる。
According to the invention of claim 1 or 4, since the substance of the virtual file and the upload file list information are uploaded to the remote storage asynchronously with the user's operation, even when a trouble such as a communication failure occurs, the user's work is not hindered. , the upload can be performed at the appropriate time. Also, when updating the upload file list information on the local storage, the upload management means uploads the update log of the upload file list information with a revision to the remote storage, and the updated upload file list information main body is different from the update log. Since files are uploaded to the remote storage with revisions at different times, it is possible to limit frequent uploads of the upload file list information itself, whose capacity increases in proportion to the number of uploaded files, and to suppress performance degradation and communication cost increases. Further, the request processing means downloads the upload file list information and the update log newer than the revision of the upload file list information from the remote storage, and applies the new update log of the revision to the downloaded upload file list information at the time of startup. to update the uploaded file list information to the latest revision, and build the virtual file list information from the uploaded file list information. It is possible to construct virtual file list information consistent with the substance of the virtual files stored, and as a result, it becomes possible to safely share the substance of the virtual files stored in the remote storage among multiple client computers. .
Further, according to the invention of claim 2 or 5, the upload management means determines whether or not the entity of the virtual file to be uploaded to the remote storage exists in the local storage at regular time intervals, and according to the determination, Since the substance of the virtual file and the update log of the upload file list information are uploaded to the remote storage, the upload can be executed without significant delay while being asynchronous with the user's operation.
Further, according to the invention of claim 3 or 6, since the upload management means uploads the upload file list information main body on the local storage to the remote storage at the time of shutdown, the number of uploads of the upload file list information main body is minimized, It is possible to suppress deterioration in performance and increase in communication costs.

本発明の一実施形態に係る仮想ファイル処理システムの概略構成を示すブロック図である。1 is a block diagram showing a schematic configuration of a virtual file processing system according to one embodiment of the present invention; FIG. クライアントコンピュータのハードウェア構成を示すブロック図である。3 is a block diagram showing the hardware configuration of a client computer; FIG. クライアントコンピュータの機能構成を示すブロック図である。3 is a block diagram showing the functional configuration of a client computer; FIG. リモートストレージに保存されている仮想ファイルの実体を複数のクライアントコンピュータで共有する場合の基本的な流れを示す説明図である。FIG. 4 is an explanatory diagram showing the basic flow when a plurality of client computers share the entity of a virtual file stored in remote storage; ローカルストレージ上にあるアップロードファイル一覧情報とリモートストレージ上にあるアップロードファイル一覧情報とが一致しない状態を示す説明図である。FIG. 10 is an explanatory diagram showing a state in which the upload file list information on the local storage and the upload file list information on the remote storage do not match; 起動時におけるアップロードファイル一覧情報及び更新ログのダウンロード処理を示す説明図である。FIG. 10 is an explanatory diagram showing download processing of upload file list information and an update log at the time of startup; 起動時にダウンロードしたアップロードファイル一覧情報及び更新ログから仮想ファイル一覧情報を構築する処理を示す説明図である。FIG. 10 is an explanatory diagram showing a process of constructing virtual file list information from upload file list information and an update log downloaded at startup; ファイル書き込み要求時の処理手順を示す処理シーケンス図である。FIG. 10 is a processing sequence diagram showing a processing procedure when a file write request is issued; 起動時の処理手順を示す処理シーケンス図である。FIG. 10 is a processing sequence diagram showing a processing procedure at startup;

[仮想ファイル処理システム]
以下、本発明の実施の形態について、図面に基づいて説明する。図1において、100は仮想ファイル処理システムであって、該仮想ファイル処理システム100は、クライアントコンピュータ2と、リモートストレージ3(クラウドストレージ)と、ユーザ認証サーバ4と、これらを通信可能に接続するインターネットなどのネットワーク1と、を備えて構成されている。
[Virtual File Processing System]
BEST MODE FOR CARRYING OUT THE INVENTION Embodiments of the present invention will be described below with reference to the drawings. In FIG. 1, 100 is a virtual file processing system. The virtual file processing system 100 includes a client computer 2, a remote storage 3 (cloud storage), a user authentication server 4, and the Internet that communicably connects them. and a network 1 such as

[クライアントコンピュータ]
図2に示すように、クライアントコンピュータ2は、CPU5、RAM6、ROM7、入力部8、表示部9、通信部10及びローカルストレージ11を備えており、これらがバス12を介して接続されている。
[Client computer]
As shown in FIG. 2, the client computer 2 includes a CPU 5, a RAM 6, a ROM 7, an input section 8, a display section 9, a communication section 10 and a local storage 11, which are connected via a bus 12. FIG.

CPU5は、中央制御装置であり、ROM7やローカルストレージ11に記憶されている各種プログラムをRAM6上に読み出して実行し、各部の制御を行う。RAM6は、揮発性のメモリであり、各種プログラムの一時的な記憶領域やCPU5の作業領域として使用される。ROM7は、不揮発性のメモリであり、BIOSなどの基本プログラムが記憶されている。また、入力部8は、キーボード、マウスなどの入力装置であり、表示部9は、液晶ディスプレイなどの表示装置であり、通信部10は、ネットワーク1を介したリモートストレージ3及びユーザ認証サーバ4との通信を可能にする通信インタフェースである。 The CPU 5 is a central control unit, reads various programs stored in the ROM 7 and the local storage 11 onto the RAM 6, executes them, and controls each section. A RAM 6 is a volatile memory and is used as a temporary storage area for various programs and as a work area for the CPU 5 . The ROM 7 is a non-volatile memory and stores basic programs such as BIOS. The input unit 8 is an input device such as a keyboard and mouse, the display unit 9 is a display device such as a liquid crystal display, and the communication unit 10 communicates with the remote storage 3 and the user authentication server 4 via the network 1. It is a communication interface that enables communication between

ローカルストレージ11は、ハードディスクドライブなどの不揮発性記憶装置であり、ファイルシステム13を含むオペレーティングシステム、各種のアプリケーションソフト14、アプリケーションソフト14で作成した各種のファイル(非仮想ファイル)などに加え、本発明に係る仮想ファイル処理プログラム15が格納されている。仮想ファイル処理プログラム15は、クライアントコンピュータ2上のファイルを仮想化し、ファイルの実体をリモートストレージ3に保存するソフトウェアであり、その詳細は後述する。 The local storage 11 is a nonvolatile storage device such as a hard disk drive, and stores an operating system including a file system 13, various application software 14, various files (non-virtual files) created by the application software 14, and the like. The virtual file processing program 15 related to is stored. The virtual file processing program 15 is software that virtualizes files on the client computer 2 and saves the substance of the files in the remote storage 3, the details of which will be described later.

[リモートストレージ]
リモートストレージ3は、クライアントコンピュータ2からネットワーク1を介してファイルの書き込み及び読み出しが可能な遠隔記憶装置である。本発明の実施形態に係るクライアントコンピュータ2は、仮想ファイル処理プログラム15との協働により、リモートストレージ3に対するファイルの書き込み及び読み出しを自動的に行う。
[Remote Storage]
The remote storage 3 is a remote storage device to which files can be written and read from the client computer 2 via the network 1 . The client computer 2 according to the embodiment of the present invention automatically writes and reads files to and from the remote storage 3 in cooperation with the virtual file processing program 15 .

[ユーザ認証サーバ]
ユーザ認証サーバ4は、仮想ファイル処理プログラム15の起動に際してユーザ認証(ログイン認証)を行うためのサーバであり、このユーザ認証に成功した場合にのみ仮想ファイル処理プログラム15の実行が許容される。また、仮想ファイル処理プログラム15は、起動に際して実行環境を一意に表すキー情報をユーザIDに紐付けてユーザ認証サーバ4に登録するとともに、同一ユーザIDに紐付けて登録されているキー情報の有無を判断する。そして、仮想ファイル処理プログラム15は、同一ユーザIDに紐付けて登録されているキー情報が存在する場合、キー情報を比較し、キー情報が異なる場合は、同一ユーザの複数のクライアントコンピュータ2において仮想ファイル処理プログラム15が同時起動されることを防止するために、仮想ファイル処理プログラム15の起動制限又は起動している仮想ファイル処理プログラム15の強制終了処理を行う。
[User authentication server]
The user authentication server 4 is a server for performing user authentication (login authentication) when starting the virtual file processing program 15, and execution of the virtual file processing program 15 is permitted only when this user authentication is successful. In addition, the virtual file processing program 15 associates key information that uniquely represents the execution environment with the user ID and registers it in the user authentication server 4 at the time of activation, and also checks the presence or absence of key information registered in association with the same user ID. to judge. If there is key information registered in association with the same user ID, the virtual file processing program 15 compares the key information. In order to prevent the file processing programs 15 from being started at the same time, the activation of the virtual file processing programs 15 is restricted or the activated virtual file processing programs 15 are forcibly terminated.

[仮想ファイル処理プログラム]
本発明の実施形態に係る仮想ファイル処理プログラム15は、ローカルストレージ11に格納されており、例えばクライアントコンピュータ2の起動に際して自動的に起動される。そして、仮想ファイル処理プログラム15は、図3に示すように、クライアントコンピュータ2を、後述するファイル仮想化手段16、要求処理手段17、アップロード管理手段18及びリモートストレージアダプタ19として機能させる。これら機能構成の詳細は後述する。
[Virtual file processing program]
A virtual file processing program 15 according to the embodiment of the present invention is stored in the local storage 11 and is automatically started when the client computer 2 is started, for example. 3, the virtual file processing program 15 causes the client computer 2 to function as file virtualization means 16, request processing means 17, upload management means 18, and remote storage adapter 19, which will be described later. Details of these functional configurations will be described later.

また、仮想ファイル処理プログラム15は、図3に示すように、ローカルストレージ11にローカルキャッシュ領域21、仮想ファイル一覧情報記憶領域22、アップロードファイル一覧情報記憶領域23などの記憶領域を確保する。ローカルキャッシュ領域21は、リモートストレージ3からダウンロードしたファイルの実体、リモートストレージ3にアップロードするファイルの実体などを格納するキャッシュ領域であり、ダウンロードしたファイルの実体及びアップロードしたファイルの実体は、セキュリティ上、クライアントコンピュータ2又は仮想ファイル処理プログラム15のシャットダウン時に消去される。 The virtual file processing program 15 also secures storage areas such as a local cache area 21, a virtual file list information storage area 22, and an upload file list information storage area 23 in the local storage 11, as shown in FIG. The local cache area 21 is a cache area that stores the entity of the file downloaded from the remote storage 3, the entity of the file to be uploaded to the remote storage 3, and the like. It is erased when the client computer 2 or the virtual file processing program 15 is shut down.

仮想ファイル一覧情報記憶領域22は、仮想ファイル一覧情報を記憶する領域である。仮想ファイル一覧情報は、アプリケーションソフト14が仮想ファイルの一覧表示を行う際に必要な情報群(データベース)であり、具体的には、リモートストレージ3において仮想ファイルを特定するためのキー情報、クライアントコンピュータ2における仮想ファイルのパス、仮想ファイルのファイル名、仮想ファイル又はディレクトリを一意に表すID、仮想ファイルのサイズ(byte)、仮想ファイルのファイル属性、仮想ファイルのファイル作成日時、ファイルアクセス日時、ファイル最終更新日時、仮想ファイルとディレクトリとを識別するフォルダフラグ、リモートストレージ3に対する最終アップロード日時、仮想ファイルの圧縮後のファイルサイズ、仮想ファイルの圧縮の有無を識別する圧縮フラグ、通常の仮想ファイルと削除された仮想ファイルを識別する削除フラグ、リモートストレージ3に対するアップロードの有無を識別するアップロードフラグなどの項目が含まれている。 The virtual file list information storage area 22 is an area for storing virtual file list information. The virtual file list information is a group of information (database) necessary for the application software 14 to display a list of virtual files. 2, the path of the virtual file, the file name of the virtual file, the ID that uniquely represents the virtual file or directory, the size of the virtual file (byte), the file attribute of the virtual file, the file creation date and time of the virtual file, the file access date and time, and the end of the file Update date and time, folder flag that identifies virtual files and directories, last upload date and time to remote storage 3, file size after compression of virtual files, compression flag that identifies whether or not virtual files are compressed, normal virtual files and deleted files. Items such as a deletion flag that identifies a virtual file that has been added and an upload flag that identifies whether or not there is an upload to the remote storage 3 are included.

アップロードファイル一覧情報記憶領域23は、アップロードファイル一覧情報を記憶する領域である。アップロードファイル一覧情報は、ユーザIDに紐付けてリモートストレージ3にアップロードされているファイル(仮想ファイルの実体)の一覧情報(データベース)であり、その項目は、仮想ファイル一覧情報と略同様であるが、本実施形態の仮想ファイル処理プログラム15は、リモートストレージ3にアップロードされているファイルの世代管理も行うため、仮想ファイル一覧情報よりもファイルサイズが大きい。 The upload file list information storage area 23 is an area for storing upload file list information. The uploaded file list information is list information (database) of files (substances of virtual files) uploaded to the remote storage 3 in association with user IDs, and its items are substantially the same as the virtual file list information. Since the virtual file processing program 15 of this embodiment also manages generations of files uploaded to the remote storage 3, the file size is larger than the virtual file list information.

アップロードファイル一覧情報は、リモートストレージ3に対するファイルのアップロード、アップロードファイルの更新及び削除をトリガーとして更新される。また、更新されたアップロードファイル一覧情報は、リモートストレージ3にアップロードされる。 The upload file list information is updated by uploading files to the remote storage 3 and updating and deleting uploaded files as triggers. Also, the updated upload file list information is uploaded to the remote storage 3 .

ファイル仮想化手段16は、ファイルシステム13に仮想ファイルを格納する仮想ドライブを認識させ、該仮想ドライブに対するファイルシステム13からの要求をフックし、要求処理手段17に処理を要求する機能構成である。具体的に説明すると、ファイル仮想化手段16は、ファイルシステム13から仮想ファイル一覧情報の読み込み要求があった場合、これを要求処理手段17に要求するとともに、要求処理手段17から仮想ファイル一覧情報を受け取ってファイルシステム13に渡す。また、ファイル仮想化手段16は、ファイルシステム13から仮想ファイルの読み込み要求があった場合、これを要求処理手段17に要求するとともに、要求処理手段17から仮想ファイルの実体を受け取ってファイルシステム13に渡す。また、ファイル仮想化手段16は、ファイルシステム13から仮想ファイルの書き込み要求があった場合、書き込むファイルの実体を要求処理手段17に渡し、リモートストレージ3にアップロードさせる。 The file virtualization means 16 is a functional configuration that makes the file system 13 recognize a virtual drive storing a virtual file, hooks a request from the file system 13 to the virtual drive, and requests the request processing means 17 to process. More specifically, when the file system 13 requests to read the virtual file list information, the file virtualization means 16 requests the request processing means 17 to read the virtual file list information, and also receives the virtual file list information from the request processing means 17. It receives it and passes it to the file system 13 . Further, when the file system 13 makes a request to read a virtual file, the file virtualization means 16 requests the request processing means 17 to read the virtual file. hand over. Further, when the file system 13 requests to write a virtual file, the file virtualization means 16 passes the substance of the file to be written to the request processing means 17 and uploads it to the remote storage 3 .

要求処理手段17は、ファイルシステム13(ファイル仮想化手段16)からの要求に応じて、仮想ファイル一覧情報の読み込み処理、仮想ファイルの実体のダウンロード処理、仮想ファイルの実体のアップロード処理などを行う。具体的に説明すると、要求処理手段17は、ファイルシステム13から仮想ファイル一覧情報の読み込み要求があった場合、仮想ファイル一覧情報記憶領域22から仮想ファイル一覧情報を読み込み、これをファイル仮想化手段16を介してファイルシステム13に渡す。 In response to a request from the file system 13 (file virtualization means 16), the request processing means 17 performs a process of reading virtual file list information, a process of downloading the substance of a virtual file, a process of uploading the substance of a virtual file, and the like. More specifically, when the request processing means 17 receives a request to read the virtual file list information from the file system 13, the request processing means 17 reads the virtual file list information from the virtual file list information storage area 22 and stores it in the file virtualization means 16. to the file system 13 via.

また、要求処理手段17は、ファイルシステム13から仮想ファイルの読み込み要求があった場合、該当ファイルの実体がローカルキャッシュ領域21にあるか否かを確認し、ローカルキャッシュ領域21にある場合は、ローカルキャッシュ領域21から読み出した該当ファイルの実体をファイル仮想化手段16を介してファイルシステム13に渡す。一方、要求処理手段17は、該当ファイルの実体がローカルキャッシュ領域21にない場合、リモートストレージアダプタ19を介してリモートストレージ3から該当ファイルの実体をダウンロードし、これをローカルキャッシュ領域21にキャッシュするとともに、ファイル仮想化手段16を介してファイルシステム13に渡す。 In addition, when the request processing means 17 receives a request to read a virtual file from the file system 13, it confirms whether or not the substance of the corresponding file exists in the local cache area 21, and if it exists in the local cache area 21, the local The substance of the corresponding file read from the cache area 21 is passed to the file system 13 via the file virtualization means 16 . On the other hand, if the substance of the file is not in the local cache area 21, the request processing means 17 downloads the substance of the file from the remote storage 3 via the remote storage adapter 19 and caches it in the local cache area 21. , to the file system 13 via the file virtualization means 16 .

また、要求処理手段17は、ファイルシステム13から仮想ファイルの書き込み要求があった場合、書き込むファイルの実体をローカルキャッシュ領域21に書き込み、その後、アップロード管理手段18によってリモートストレージ3にアップロードさせる。そして、要求処理手段17は、各種の処理を実行した後、処理内容に応じて仮想ファイル一覧情報記憶領域22の仮想ファイル一覧情報を更新する。 Further, when receiving a virtual file write request from the file system 13 , the request processing means 17 writes the substance of the file to be written to the local cache area 21 , and then causes the upload management means 18 to upload it to the remote storage 3 . After executing various processes, the request processing means 17 updates the virtual file list information in the virtual file list information storage area 22 according to the contents of the process.

アップロード管理手段18は、リモートストレージ3にアップロードすべき仮想ファイルの実体がローカルキャッシュ領域21に存在するか否かを一定時間毎に判断し、アップロードすべき仮想ファイルの実体がある場合は、アップロードすべき仮想ファイルの実体をローカルキャッシュ領域21から読み出し、リモートストレージアダプタ19を介してリモートストレージ3にアップロードする。そして、アップロード管理手段18は、アップロード終了後、アップロードファイル一覧情報記憶領域23のアップロードファイル一覧情報を更新する。また、アップロード管理手段18は、仮想ファイル処理プログラム15のシャットダウン時に、アップロードファイル一覧情報記憶領域23からアップロードファイル一覧情報を読み出し、リモートストレージアダプタ19を介してリモートストレージ3にアップロードする。なお、アップロード管理手段18は、仮想ファイル処理プログラム15のシャットダウン時以外にも、アップロードファイル一覧情報をリモートストレージ3にアップロードするようにしてもよい。例えば、一定時間毎にアップロードファイル一覧情報が更新されたか否かを判断し、更新されたと判断した場合にのみ、アップロードファイル一覧情報をリモートストレージ3にアップロードするようにすれば、アップロードファイル一覧情報の頻繁なアップロードも抑制できる。 The upload management means 18 determines at regular time intervals whether or not the substance of the virtual file to be uploaded to the remote storage 3 exists in the local cache area 21, and if there is the substance of the virtual file to be uploaded, it is uploaded. The actual virtual file is read from the local cache area 21 and uploaded to the remote storage 3 via the remote storage adapter 19 . After the upload is completed, the upload management means 18 updates the upload file list information in the upload file list information storage area 23 . The upload management means 18 also reads the upload file list information from the upload file list information storage area 23 and uploads it to the remote storage 3 via the remote storage adapter 19 when the virtual file processing program 15 is shut down. The upload management means 18 may upload the upload file list information to the remote storage 3 at times other than when the virtual file processing program 15 is shut down. For example, if it is determined at regular intervals whether or not the upload file list information has been updated, and only when it is determined that it has been updated, the upload file list information is uploaded to the remote storage 3, the upload file list information You can also suppress frequent uploads.

リモートストレージアダプタ19は、様々なリモートストレージ3に対応するために、アップロード管理手段18などから分離されたアダプタである。つまり、仮想ファイル処理プログラム15は、様々なリモートストレージ3に対応する複数のリモートストレージアダプタ19を有し、使用するリモートストレージ3に応じてリモートストレージアダプタ19が選択される。 The remote storage adapter 19 is an adapter separated from the upload management means 18 and the like in order to support various remote storages 3 . In other words, the virtual file processing program 15 has a plurality of remote storage adapters 19 corresponding to various remote storages 3, and the remote storage adapter 19 is selected according to the remote storage 3 to be used.

[仮想ファイル共有機能]
つぎに、仮想ファイル処理プログラム15の仮想ファイル共有機能について、図4以降を参照して説明する。
[Virtual file sharing function]
Next, the virtual file sharing function of the virtual file processing program 15 will be described with reference to FIG. 4 and subsequent figures.

仮想ファイル共有機能は、リモートストレージ3に保存された仮想ファイルの実体を仮想ファイル処理プログラム15がインストールされた複数のクライアントコンピュータ2で共有することを可能にする。例えば、図4に示すように、ユーザが所有するデスクトップPC及びノートPCのうち、いずれのPCからでもリモートストレージ3に保存された仮想ファイルの実体をダウンロードしたり、更新した仮想ファイルの実体をリモートストレージ3にアップロードすることが可能になる。 The virtual file sharing function makes it possible for a plurality of client computers 2 in which the virtual file processing program 15 is installed to share the entity of the virtual file stored in the remote storage 3 . For example, as shown in FIG. 4, a virtual file entity stored in the remote storage 3 can be downloaded from any of the user's desktop PC and notebook PC, or an updated virtual file entity can be downloaded remotely. It becomes possible to upload to the storage 3.

この機能を実現するために、要求処理手段17は、仮想ファイル処理プログラム15の起動時に、リモートストレージ3からアップロードファイル一覧情報をダウンロードするとともに(S11)、ダウンロードしたアップロードファイル一覧情報に基づいて仮想ファイル一覧情報を構築する(S12)。これにより、ファイルシステム13からの要求に応じて仮想ファイル一覧情報を渡し(S13)、アプリケーションソフト14における仮想ファイルの一覧表示が可能になるとともに、ファイルシステム13からの仮想ファイル読み込み要求に応じてリモートストレージ3から仮想ファイルの実体をダウンロードしてアプリケーションソフト14に渡すことが可能になる(S14)。 In order to realize this function, the request processing means 17 downloads the uploaded file list information from the remote storage 3 when the virtual file processing program 15 is activated (S11), and based on the downloaded uploaded file list information, the virtual file List information is constructed (S12). As a result, the virtual file list information is delivered in response to a request from the file system 13 (S13), and the virtual file list display in the application software 14 becomes possible. It becomes possible to download the entity of the virtual file from the storage 3 and pass it to the application software 14 (S14).

また、要求処理手段17は、仮想ファイルの新規作成や更新が行われた場合、仮想ファイル一覧情報を更新する(S21)。アップロード管理手段18は、仮想ファイル一覧情報が更新されると、該当する仮想ファイルの実体をリモートストレージ3にアップロードするとともに(S22)、アップロードファイル一覧情報を更新する(S23)。また、アップロード管理手段18は、仮想ファイル処理プログラム15のシャットダウン時に、更新されたアップロードファイル一覧情報をリモートストレージ3にアップロードする(S24)。これにより、リモートストレージ3に保存された仮想ファイルの実体を複数のクライアントコンピュータ2で共有することが可能になるが、アップロードファイル一覧情報の更新処理と、リモートストレージ3に対するアップロードファイル一覧情報のアップロード処理は、異なるタイミングで実行されるので、クライアントコンピュータ2が異常終了した場合は、リモートストレージ3に保存されているアップロードファイル一覧情報と仮想ファイルの実体との間に不整合が生じる可能性がある。 Also, when a new virtual file is created or updated, the request processing means 17 updates the virtual file list information (S21). When the virtual file list information is updated, the upload management means 18 uploads the entity of the corresponding virtual file to the remote storage 3 (S22) and updates the upload file list information (S23). Also, the upload management means 18 uploads the updated upload file list information to the remote storage 3 when the virtual file processing program 15 is shut down (S24). As a result, it is possible to share the substance of the virtual file stored in the remote storage 3 with a plurality of client computers 2, but the update processing of the upload file list information and the upload processing of the upload file list information to the remote storage 3 are executed at different timings, if the client computer 2 terminates abnormally, there is a possibility that an inconsistency will occur between the upload file list information stored in the remote storage 3 and the substance of the virtual file.

上記の問題を解決するために、アップロード管理手段18は、仮想ファイルの実体をリモートストレージ3にアップロードした後、ローカルストレージ11上のアップロードファイル一覧情報を更新するとともに、アップロードファイル一覧情報の更新ログ(直前リビジョンとの差分情報)をリビジョン付きでリモートストレージ3にアップロードし、更新されたアップロードファイル一覧情報本体は更新ログとは異なるタイミング(シャットダウン時)でリモートストレージ3にリビジョン付きでアップロードする。このような処理手順によれば、例えば、仮想ファイル処理プログラム15の起動中に同一の仮想ファイルを2回更新した後、仮想ファイル処理プログラム15が異常終了すると、図5に示すように、クライアントコンピュータ2のローカルストレージ11には、例えば、リビジョン5のアップロードファイル一覧情報及び仮想ファイル一覧情報が存在する一方、リモートストレージ3には、リビジョン3のアップロードファイル一覧情報と、リビジョン4の更新ログと、リビジョン5の更新ログと、リビジョン4及びリビジョン5で更新された仮想ファイルの実体と、が存在する状況となる。つまり、リモートストレージ3に保存されているアップロードファイル一覧情報と仮想ファイルの実体との間に不整合が生じる状況が発生する。 In order to solve the above problem, the upload management means 18 updates the upload file list information on the local storage 11 after uploading the substance of the virtual file to the remote storage 3, and updates the upload file list information update log ( difference information from the previous revision) is uploaded to the remote storage 3 with a revision, and the updated upload file list information main body is uploaded with a revision to the remote storage 3 at a timing (at the time of shutdown) different from the update log. According to such a processing procedure, for example, after the same virtual file is updated twice while the virtual file processing program 15 is running, if the virtual file processing program 15 terminates abnormally, the client computer 2, for example, upload file list information and virtual file list information of revision 5 exist, while remote storage 3 has upload file list information of revision 3, an update log of revision 4, and revision 5 update log and the entity of the virtual file updated by revision 4 and revision 5 exist. In other words, a situation occurs in which inconsistency occurs between the upload file list information stored in the remote storage 3 and the entity of the virtual file.

要求処理手段17は、仮想ファイル処理プログラム15の起動時に、リモートストレージ3からアップロードファイル一覧情報と、該アップロードファイル一覧情報のリビジョンより新しい更新ログをダウンロードする。例えば、図6は、ローカルストレージ11にリビジョン1基準の仮想ファイル一覧情報が存在する2台目のクライアントコンピュータ2で仮想ファイル処理プログラム15を起動した場合の処理手順を示しており、リモートストレージ3からリビジョン3のアップロードファイル一覧情報をダウンロードするとともに(S31)、リビジョン4の更新ログ及びリビジョン5の更新ログをダウンロードする(S32)。 When the virtual file processing program 15 is activated, the request processing means 17 downloads the upload file list information and the update log newer than the revision of the upload file list information from the remote storage 3 . For example, FIG. 6 shows the processing procedure when the virtual file processing program 15 is started on the second client computer 2 whose virtual file list information based on revision 1 exists in the local storage 11. The upload file list information of revision 3 is downloaded (S31), and the update log of revision 4 and the update log of revision 5 are downloaded (S32).

つぎに、要求処理手段17は、ダウンロードしたアップロードファイル一覧情報にリビジョンの新しい更新ログを適用してアップロードファイル一覧情報を最新のリビジョンに更新し、該アップロードファイル一覧情報から仮想ファイル一覧情報を構築する。例えば、図7に示すように、ダウンロードしたリビジョン3のアップロードファイル一覧情報にリビジョンの新しいリビジョン4及びリビジョン5の更新ログを適用してアップロードファイル一覧情報を最新のリビジョン5に更新し(S33)、該リビジョン5のアップロードファイル一覧情報からリビジョン5基準の仮想ファイル一覧情報を構築する(S34)。 Next, the request processing means 17 updates the upload file list information to the latest revision by applying the new update log of the revision to the downloaded upload file list information, and constructs the virtual file list information from the upload file list information. . For example, as shown in FIG. 7, update logs of new revisions 4 and 5 are applied to the downloaded upload file list information of revision 3 to update the upload file list information to the latest revision 5 (S33), Virtual file list information based on revision 5 is constructed from the uploaded file list information of revision 5 (S34).

このような処理手順によれば、リモートストレージ3に保存されているアップロードファイル一覧情報が最新のものでなくとも、リモートストレージ3に保存されている仮想ファイルの実体と整合した仮想ファイル一覧情報を構築することができるので、リモートストレージ3に保存された仮想ファイルの実体を複数のクライアントコンピュータ2で安全に共有することが可能になる。 According to this processing procedure, even if the uploaded file list information stored in the remote storage 3 is not the latest, the virtual file list information consistent with the substance of the virtual files stored in the remote storage 3 is constructed. Therefore, it is possible to safely share the entity of the virtual file stored in the remote storage 3 among a plurality of client computers 2 .

[仮想ファイル処理システムの処理手順]
つぎに、本発明の実施形態に係る仮想ファイル処理システム100の処理手順について、図8及び図9を参照して説明する。
[Processing procedure of the virtual file processing system]
Next, processing procedures of the virtual file processing system 100 according to the embodiment of the present invention will be described with reference to FIGS. 8 and 9. FIG.

図8に示すように、クライアントコンピュータ2のユーザがアプリケーションソフト14においてファイルの作成操作(仮想ファイルの書き込み操作)を行うと(S101)、ファイルシステム13は、アプリケーションソフト14からの要求(S102)に応じて、仮想ファイルの書き込み要求を行う(S103)。ファイル仮想化手段16は、ファイルシステム13からの仮想ファイルの書き込み要求をフックするとともに、要求処理手段17に対して仮想ファイルの書き込みを要求する(S104)。要求処理手段17は、書き込みを行う仮想ファイルの実体をローカルキャッシュ領域21に書き込むとともに(S105)、ローカルストレージ11の仮想ファイル一覧情報を更新する(S106)。 As shown in FIG. 8, when the user of the client computer 2 performs a file creation operation (virtual file write operation) in the application software 14 (S101), the file system 13 responds to a request from the application software 14 (S102). Accordingly, a virtual file write request is made (S103). The file virtualization means 16 hooks the virtual file write request from the file system 13 and requests the request processing means 17 to write the virtual file (S104). The request processing unit 17 writes the substance of the virtual file to be written to the local cache area 21 (S105), and updates the virtual file list information of the local storage 11 (S106).

アップロード管理手段18は、一定時間毎に仮想ファイル一覧情報を参照してアップロードすべき仮想ファイルの有無を判断し(S107)、アップロードすべき仮想ファイルがある場合は、アップロード対象の仮想ファイルの実体をローカルキャッシュ領域21から読み出し(S108)、リモートストレージ3にアップロードする(S109)。また、アップロード管理手段18は、仮想ファイルの実体をアップロードした後、ローカルストレージ11のアップロードファイル一覧情報を更新するとともに(S110)、アップロードファイル一覧情報の更新ログをリモートストレージ3にアップロードし(S111)、アップロードファイル一覧情報のリビジョンをインクリメントする(S112)。また、アップロード管理手段18は、更新ログとは異なるタイミング、例えば仮想ファイル処理プログラム15のシャットダウン時にローカルストレージ11のアップロードファイル一覧情報をリモートストレージ3にアップロードするとともに(S113)、アップロードしたリビジョン以前のアップロードファイル一覧情報及び更新ログをリモートストレージ3から削除する(S114)。 The upload management means 18 refers to the virtual file list information at regular time intervals to determine whether or not there is a virtual file to be uploaded (S107). It reads from the local cache area 21 (S108) and uploads it to the remote storage 3 (S109). Also, after uploading the substance of the virtual file, the upload management means 18 updates the upload file list information in the local storage 11 (S110), and uploads the update log of the upload file list information to the remote storage 3 (S111). , the revision of the upload file list information is incremented (S112). In addition, the upload management means 18 uploads the upload file list information of the local storage 11 to the remote storage 3 at a timing different from the update log, for example, when the virtual file processing program 15 is shut down (S113), and uploads the uploaded revision before the uploaded revision. The file list information and update log are deleted from the remote storage 3 (S114).

図9に示すように、仮想ファイル処理プログラム15の起動時、要求処理手段17は、ユーザ認証サーバ4に対するログイン処理を実行する(S201)。このとき要求処理手段17は、同一ユーザIDに紐付けてユーザ認証サーバ4に登録されているキー情報に基づいて、前回起動したクライアントコンピュータ2を特定するとともに、前回起動したクライアントコンピュータ2が今回起動するクライアントコンピュータ2と異なる場合は、リモートストレージ3からアップロードファイル一覧情報をダウンロードするとともに、そのリビジョンを取得する(S202)。また、取得したリビジョンよりも後のリビジョンの更新ログがリモートストレージ3にある場合は、更新ログもダウンロードする(S203)。 As shown in FIG. 9, when the virtual file processing program 15 is activated, the request processing means 17 executes login processing to the user authentication server 4 (S201). At this time, the request processing means 17 identifies the previously started client computer 2 based on the key information registered in the user authentication server 4 in association with the same user ID, and the previously started client computer 2 is currently started. If it is different from the client computer 2, it downloads the uploaded file list information from the remote storage 3 and acquires its revision (S202). Also, if the update log of the revision later than the acquired revision exists in the remote storage 3, the update log is also downloaded (S203).

つぎに、要求処理手段17は、ダウンロードしたアップロードファイル一覧情報にリビジョンの新しい更新ログを適用してアップロードファイル一覧情報を最新のリビジョンに更新し(S204)、該アップロードファイル一覧情報から仮想ファイル一覧情報を構築する(S205)。また、ローカルストレージ11に未アップロードのまま残っている仮想ファイルの実体がある場合は、仮想ファイル一覧情報に登録する(S206)。 Next, the request processing means 17 updates the upload file list information to the latest revision by applying the update log of the new revision to the downloaded upload file list information (S204), and extracts the virtual file list information from the upload file list information. (S205). Also, if there is an entity of a virtual file that remains unuploaded in the local storage 11, it is registered in the virtual file list information (S206).

叙述の如く構成された本実施形態によれば、仮想ファイルの実体やアップロードファイル一覧情報をユーザ操作と非同期でリモートストレージ3にアップロードするので、通信障害などのトラブル発生時でも、ユーザの作業を阻害することなく、適切なタイミングでアップロードを実行することができる。 According to this embodiment, which is configured as described above, the entity of the virtual file and the upload file list information are uploaded to the remote storage 3 asynchronously with the user's operation. You can perform the upload at the right time without having to do it.

また、アップロード管理手段18は、ローカルストレージ11上のアップロードファイル一覧情報を更新する際、アップロードファイル一覧情報の更新ログをリビジョン付きでリモートストレージ3にアップロードし、更新されたアップロードファイル一覧情報本体は更新ログとは異なるタイミングでリモートストレージ3にリビジョン付きでアップロードするので、アップロードファイル数に比例して容量が肥大化するアップロードファイル一覧情報本体の頻繁なアップロードを制限し、パフォーマンスの低下や通信費の増大を抑制できる。 Also, when updating the upload file list information on the local storage 11, the upload management means 18 uploads the update log of the upload file list information with a revision to the remote storage 3, and updates the updated upload file list information itself. Since uploading with revisions to remote storage 3 at a different timing than logs, the capacity increases in proportion to the number of uploaded files. Frequent uploading of the upload file list information itself is restricted, resulting in lower performance and increased communication costs. can be suppressed.

また、要求処理手段17は、起動時に、リモートストレージ3からアップロードファイル一覧情報と、該アップロードファイル一覧情報のリビジョンより新しい更新ログをダウンロードするとともに、ダウンロードしたアップロードファイル一覧情報にリビジョンの新しい更新ログを適用してアップロードファイル一覧情報を最新のリビジョンに更新し、該アップロードファイル一覧情報から仮想ファイル一覧情報を構築するので、リモートストレージ3に保存されているアップロードファイル一覧情報が最新のものでなくとも、リモートストレージ3に保存されている仮想ファイルの実体と整合した仮想ファイル一覧情報を構築することができ、その結果、リモートストレージ3に保存された仮想ファイルの実体を複数のクライアントコンピュータ2で安全に共有することが可能になる。 Further, the request processing means 17 downloads the upload file list information and the update log newer than the revision of the upload file list information from the remote storage 3 at the time of startup, and adds the update log of the new revision to the downloaded upload file list information. By applying it, the uploaded file list information is updated to the latest revision, and the virtual file list information is constructed from the uploaded file list information, so even if the uploaded file list information stored in the remote storage 3 is not the latest one, It is possible to construct virtual file list information consistent with the substance of the virtual files stored in the remote storage 3, and as a result, safely share the substance of the virtual files stored in the remote storage 3 among a plurality of client computers 2. it becomes possible to

また、アップロード管理手段18は、一定時間毎にリモートストレージ3にアップロードすべき仮想ファイルの実体がローカルストレージ11に存在するか否かを判断し、該判断に応じて仮想ファイルの実体やアップロードファイル一覧情報の更新ログをリモートストレージ3にアップロードするので、ユーザ操作と非同期でありながら、大きな遅滞なくアップロードを実行することができる。 In addition, the upload management means 18 determines whether or not the substance of the virtual file to be uploaded to the remote storage 3 exists in the local storage 11 at regular time intervals. Since the information update log is uploaded to the remote storage 3, the upload can be executed without significant delay while being asynchronous with the user's operation.

また、アップロード管理手段18は、シャットダウン時にローカルストレージ11上のアップロードファイル一覧情報本体をリモートストレージ3にアップロードするので、アップロードファイル一覧情報本体のアプロード回数を最小限とし、パフォーマンスの低下や通信費の増大を抑制できる。 In addition, since the upload management means 18 uploads the upload file list information main body on the local storage 11 to the remote storage 3 at the time of shutdown, the number of times of uploading the upload file list information main body is minimized, resulting in a decrease in performance and an increase in communication costs. can be suppressed.

100 仮想ファイル処理システム
1 ネットワーク
2 クライアントコンピュータ
3 リモートストレージ
4 ユーザ認証サーバ
11 ローカルストレージ
13 ファイルシステム
15 仮想ファイル処理プログラム
16 ファイル仮想化手段
17 要求処理手段
18 アップロード管理手段
19 リモートストレージアダプタ
100 Virtual File Processing System 1 Network 2 Client Computer 3 Remote Storage 4 User Authentication Server 11 Local Storage 13 File System 15 Virtual File Processing Program 16 File Virtualization Means 17 Request Processing Means 18 Upload Management Means 19 Remote Storage Adapter

Claims (6)

クライアントコンピュータと、
ネットワークを介して前記クライアントコンピュータと通信可能に接続されるリモートストレージと、を備える仮想ファイル処理システムであって、
前記クライアントコンピュータは、
当該クライアントコンピュータのファイルシステムに仮想ファイルを格納する仮想ドライブを認識させ、該仮想ドライブに対する前記ファイルシステムからの要求をフックするファイル仮想化手段と、
前記ファイルシステムから前記仮想ドライブに対する仮想ファイル一覧情報の読み込み要求に応じて前記クライアントコンピュータのローカルストレージから仮想ファイル一覧情報を読み出して前記ファイルシステムに渡し、前記ファイルシステムから前記仮想ドライブに対する仮想ファイルの読み込み要求に応じて前記リモートストレージから仮想ファイルの実体をダウンロードして前記ファイルシステムに渡し、前記ファイルシステムから前記仮想ドライブに対する仮想ファイルの書き込み要求に応じて仮想ファイルの実体を前記ローカルストレージに書き込むとともに仮想ファイル一覧情報を更新する要求処理手段と、
前記リモートストレージにアップロードすべき仮想ファイルの実体が前記ローカルストレージに存在する場合、仮想ファイルの実体を前記リモートストレージにアップロードするとともに、前記リモートストレージにアップロードされているファイルの一覧情報であるアップロードファイル一覧情報を更新するアップロード管理手段と、を備え、
前記アップロード管理手段は、仮想ファイルの実体を前記リモートストレージにアップロードした後、前記ローカルストレージ上のアップロードファイル一覧情報を更新するとともに、アップロードファイル一覧情報の更新ログをリビジョン付きで前記リモートストレージにアップロードし、更新されたアップロードファイル一覧情報本体は更新ログとは異なるタイミングで前記リモートストレージにリビジョン付きでアップロードし、
前記要求処理手段は、起動時に、前記リモートストレージからアップロードファイル一覧情報と、該アップロードファイル一覧情報のリビジョンより新しい更新ログをダウンロードするとともに、ダウンロードしたアップロードファイル一覧情報にリビジョンの新しい更新ログを適用してアップロードファイル一覧情報を最新のリビジョンに更新し、該アップロードファイル一覧情報から仮想ファイル一覧情報を構築することを特徴とする仮想ファイル処理システム。
a client computer;
A virtual file processing system comprising a remote storage communicably connected to the client computer 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;
Read virtual file list information from the local storage of the client computer in response to a request to read virtual file list information from the file system to the virtual drive, pass it to the file system, and read the virtual file from the file system to the virtual drive. In response to a request, the entity of a virtual file is downloaded from the remote storage and transferred to the file system, and in response to a request to write the virtual file from the file system to the virtual drive, the entity of the virtual file is written to the local storage and virtualized. request processing means for updating file list information;
When the substance of a virtual file to be uploaded to the remote storage exists in the local storage, the substance of the virtual file is uploaded to the remote storage, and an upload file list that is list information of files uploaded to the remote storage. upload management means for updating information,
The upload management means updates the upload file list information on the local storage after uploading the substance of the virtual file to the remote storage, and uploads an update log of the upload file list information with a revision to the remote storage. , the updated upload file list information main body is uploaded with a revision to the remote storage at a different timing than the update log,
The request processing means, when activated, downloads upload file list information and an update log newer than the revision of the upload file list information from the remote storage, and applies the new update log of the revision to the downloaded upload file list information. A virtual file processing system, wherein upload file list information is updated to the latest revision by means of a virtual file processing system, and virtual file list information is constructed from the uploaded file list information.
前記アップロード管理手段は、一定時間毎に前記リモートストレージにアップロードすべき仮想ファイルの実体が前記ローカルストレージに存在するか否かを判断し、前記リモートストレージにアップロードすべき仮想ファイルの実体が前記ローカルストレージに存在すると判断したとき、仮想ファイルの実体を前記リモートストレージにアップロードし、その後、前記ローカルストレージ上のアップロードファイル一覧情報を更新するとともに、アップロードファイル一覧情報の更新ログをリビジョン付きで前記リモートストレージにアップロードすることを特徴とする請求項1に記載の仮想ファイル処理システム。 The upload management means determines whether or not a virtual file entity to be uploaded to the remote storage exists in the local storage at regular time intervals, and determines whether or not the entity of the virtual file to be uploaded to the remote storage exists in the local storage. uploads the substance of the virtual file to the remote storage, then updates the uploaded file list information on the local storage, and uploads an update log of the uploaded file list information with a revision to the remote storage. 2. The virtual file processing system of claim 1, uploading. 前記アップロード管理手段は、シャットダウン時に前記ローカルストレージ上のアップロードファイル一覧情報本体を前記リモートストレージにアップロードすることを特徴とする請求項1又は2に記載の仮想ファイル処理システム。 3. The virtual file processing system according to claim 1, wherein said upload management means uploads the upload file list information main body on said local storage to said remote storage at the time of shutdown. ネットワークを介してリモートストレージと通信可能に接続されるクライアントコンピュータを動作させる仮想ファイル処理プログラムであって、
前記クライアントコンピュータを、
当該クライアントコンピュータのファイルシステムに仮想ファイルを格納する仮想ドライブを認識させ、該仮想ドライブに対する前記ファイルシステムからの要求をフックするファイル仮想化手段と、
前記ファイルシステムから前記仮想ドライブに対する仮想ファイル一覧情報の読み込み要求に応じて前記クライアントコンピュータのローカルストレージから仮想ファイル一覧情報を読み出して前記ファイルシステムに渡し、前記ファイルシステムから前記仮想ドライブに対する仮想ファイルの読み込み要求に応じて前記リモートストレージから仮想ファイルの実体をダウンロードして前記ファイルシステムに渡し、前記ファイルシステムから前記仮想ドライブに対する仮想ファイルの書き込み要求に応じて仮想ファイルの実体を前記ローカルストレージに書き込むとともに仮想ファイル一覧情報を更新する要求処理手段と、
前記リモートストレージにアップロードすべき仮想ファイルの実体が前記ローカルストレージに存在する場合、仮想ファイルの実体を前記リモートストレージにアップロードするとともに、前記リモートストレージにアップロードされているファイルの一覧情報であるアップロードファイル一覧情報を更新するアップロード管理手段と、として機能させ、
前記アップロード管理手段は、仮想ファイルの実体を前記リモートストレージにアップロードした後、前記ローカルストレージ上のアップロードファイル一覧情報を更新するとともに、アップロードファイル一覧情報の更新ログをリビジョン付きで前記リモートストレージにアップロードし、更新されたアップロードファイル一覧情報本体は更新ログとは異なるタイミングで前記リモートストレージにリビジョン付きでアップロードし、
前記要求処理手段は、起動時に、前記リモートストレージからアップロードファイル一覧情報と、該アップロードファイル一覧情報のリビジョンより新しい更新ログをダウンロードするとともに、ダウンロードしたアップロードファイル一覧情報にリビジョンの新しい更新ログを適用してアップロードファイル一覧情報を最新のリビジョンに更新し、該アップロードファイル一覧情報から仮想ファイル一覧情報を構築することを特徴とする仮想ファイル処理プログラム。
A virtual file processing program that operates 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;
Read virtual file list information from the local storage of the client computer in response to a request to read virtual file list information from the file system to the virtual drive, pass it to the file system, and read the virtual file from the file system to the virtual drive. In response to a request, the entity of a virtual file is downloaded from the remote storage and transferred to the file system, and in response to a request to write the virtual file from the file system to the virtual drive, the entity of the virtual file is written to the local storage and virtualized. request processing means for updating file list information;
When the substance of a virtual file to be uploaded to the remote storage exists in the local storage, the substance of the virtual file is uploaded to the remote storage, and an upload file list that is list information of files uploaded to the remote storage. function as an upload management means for updating information,
The upload management means updates the upload file list information on the local storage after uploading the substance of the virtual file to the remote storage, and uploads an update log of the upload file list information with a revision to the remote storage. , the updated upload file list information main body is uploaded with a revision to the remote storage at a different timing than the update log,
The request processing means, when activated, downloads upload file list information and an update log newer than the revision of the upload file list information from the remote storage, and applies the new update log of the revision to the downloaded upload file list information. A virtual file processing program characterized by updating uploaded file list information to the latest revision by using a virtual file list information, and constructing virtual file list information from the uploaded file list information.
前記アップロード管理手段は、一定時間毎に前記リモートストレージにアップロードすべき仮想ファイルの実体が前記ローカルストレージに存在するか否かを判断し、前記リモートストレージにアップロードすべき仮想ファイルの実体が前記ローカルストレージに存在すると判断したとき、仮想ファイルの実体を前記リモートストレージにアップロードし、その後、前記ローカルストレージ上のアップロードファイル一覧情報を更新するとともに、アップロードファイル一覧情報の更新ログをリビジョン付きで前記リモートストレージにアップロードすることを特徴とする請求項4に記載の仮想ファイル処理プログラム。 The upload management means determines whether or not a virtual file entity to be uploaded to the remote storage exists in the local storage at regular time intervals, and determines whether or not the entity of the virtual file to be uploaded to the remote storage exists in the local storage. uploads the substance of the virtual file to the remote storage, then updates the uploaded file list information on the local storage, and uploads an update log of the uploaded file list information with a revision to the remote storage. 5. The virtual file processing program according to claim 4, uploading. 前記アップロード管理手段は、シャットダウン時に前記ローカルストレージ上のアップロードファイル一覧情報本体を前記リモートストレージにアップロードすることを特徴とする請求項4又は5に記載の仮想ファイル処理プログラム。 6. The virtual file processing program according to claim 4, wherein said upload management means uploads the upload file list information main body on said local storage to said remote storage at the time of shutdown.
JP2018234441A 2018-12-14 2018-12-14 Virtual file processing system and virtual file processing program Active JP7164176B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018234441A JP7164176B2 (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
JP2018234441A JP7164176B2 (en) 2018-12-14 2018-12-14 Virtual file processing system and virtual file processing program

Publications (2)

Publication Number Publication Date
JP2020095589A JP2020095589A (en) 2020-06-18
JP7164176B2 true JP7164176B2 (en) 2022-11-01

Family

ID=71085222

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018234441A Active JP7164176B2 (en) 2018-12-14 2018-12-14 Virtual file processing system and virtual file processing program

Country Status (1)

Country Link
JP (1) JP7164176B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117312264B (en) * 2023-12-01 2024-02-20 中孚信息股份有限公司 File synchronization method, system, equipment and medium in virtual disk system

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013035517A1 (en) 2011-09-07 2013-03-14 株式会社 オレガ File management system and file management method
WO2014128819A1 (en) 2013-02-19 2014-08-28 株式会社 日立製作所 Information processing system and data synchronization control scheme thereof
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
JP2016162168A (en) 2015-03-02 2016-09-05 株式会社メガチップス Cache file system
JP2017529625A (en) 2014-09-23 2017-10-05 アマゾン テクノロジーズ インコーポレイテッド Synchronize shared folders and files

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3788003B2 (en) * 1998-01-12 2006-06-21 カシオ計算機株式会社 Network terminal device and storage medium

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013035517A1 (en) 2011-09-07 2013-03-14 株式会社 オレガ File management system and file management method
WO2014128819A1 (en) 2013-02-19 2014-08-28 株式会社 日立製作所 Information processing system and data synchronization control scheme thereof
JP2015211457A (en) 2014-04-30 2015-11-24 株式会社Pfu Terminal device, image reading device, information processing system, and information processing method
JP2017529625A (en) 2014-09-23 2017-10-05 アマゾン テクノロジーズ インコーポレイテッド Synchronize shared folders and files
JP2016148904A (en) 2015-02-10 2016-08-18 株式会社アール・アイ File management system and file management program
JP2016162168A (en) 2015-03-02 2016-09-05 株式会社メガチップス Cache file system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
石坂 俊成,END USER FIRST 「使いやすく低コストのファイル仮想化でモバイルPCの 安全な持ち出しを実現」 file virtualization Shadow Desktop,PC-Webzine,PC-Webzine編集局,2017年10月25日,第309巻,pp.18~19

Also Published As

Publication number Publication date
JP2020095589A (en) 2020-06-18

Similar Documents

Publication Publication Date Title
US8825994B2 (en) Atomic switching of images in desktop streaming over wide area networks
US10911065B2 (en) Computer system and method including selectively compressing data files and directories based on an operator indication and representing the amount of available free space
US8725695B2 (en) Storage system and object management method
US7941599B2 (en) IT automation appliance imaging system and method
US8495351B2 (en) Preparing and preserving a system configuration during a hot upgrade
JP5342302B2 (en) Firmware update system, firmware distribution server, and program
US7669021B2 (en) File system based offline disk management
US10303499B2 (en) Application aware graph driver
US10459893B2 (en) Computer system, file storage apparatus, and storage control method
US9930112B2 (en) Maintaining system firmware images remotely using a distribute file system protocol
US10108434B2 (en) Booting a computing device by streaming a desktop image over a network
US20160132529A1 (en) Systems and methods for cloud safe storage and data retrieval
US20200150950A1 (en) Upgrade managers for differential upgrade of distributed computing systems
EP3535955B1 (en) Systems, devices and methods for managing file system replication
US11029932B2 (en) Hydration of applications
US20230376385A1 (en) Reducing bandwidth during synthetic restores from a deduplication file system
JP7164176B2 (en) Virtual file processing system and virtual file processing program
JP6483459B2 (en) File management system and file management program
JP2020095588A (en) Virtual file processing system and virtual file processing program
US20110131181A1 (en) Information processing device and computer readable storage medium storing program
US11886889B2 (en) Managing configurations of system services running in a cluster of hosts by managing lifecycle of virtualization software
US20210141560A1 (en) Supporting file exclusions and commits in disk-based write filters
JP2006259874A (en) Computer and computer system

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

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: 20220922

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221013

R150 Certificate of patent or registration of utility model

Ref document number: 7164176

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150