JP5481906B2 - Projection file system management apparatus, projection file system management method, and program - Google Patents

Projection file system management apparatus, projection file system management method, and program Download PDF

Info

Publication number
JP5481906B2
JP5481906B2 JP2009084861A JP2009084861A JP5481906B2 JP 5481906 B2 JP5481906 B2 JP 5481906B2 JP 2009084861 A JP2009084861 A JP 2009084861A JP 2009084861 A JP2009084861 A JP 2009084861A JP 5481906 B2 JP5481906 B2 JP 5481906B2
Authority
JP
Japan
Prior art keywords
file
file system
projection
real
priority
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
JP2009084861A
Other languages
Japanese (ja)
Other versions
JP2010237939A (en
Inventor
孝紘 伊東
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2009084861A priority Critical patent/JP5481906B2/en
Publication of JP2010237939A publication Critical patent/JP2010237939A/en
Application granted granted Critical
Publication of JP5481906B2 publication Critical patent/JP5481906B2/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 technique for managing a plurality of real file systems as one virtual file system.

複数の実ファイルシステムを一つの仮想的なファイルシステムとして管理する技術としては、次のような技術が知られている(例えば、特許文献1参照)。特許文献1では、複数の実ファイルシステムを用いて、そのディレクトリ構造が上記複数の実ファイルシステムのディレクトリ構造を重ね合わせたものとなる、透過型の仮想的なファイルシステム(透過型ファイルシステム)を構成している。なお、ディレクトリ構造の重ね合わせ方は、名前が一致するパス同士を一つに合成し、名前が不一致のパスは元のまま残すというものである。この一つに合成された部分に存在するファイルは、複数の実ファイルシステム上に存在することになる。また、各実ファイルシステムには、優先度が付与されており、透過型ファイルシステム上のファイルに対する読み込み要求や書き込み要求があった場合、優先度を利用して次のような処理を行う。   As a technique for managing a plurality of real file systems as one virtual file system, the following technique is known (see, for example, Patent Document 1). In Patent Document 1, a transparent virtual file system (transparent file system) is used in which a plurality of real file systems are used and the directory structure is a superposition of the directory structures of the plurality of real file systems. It is composed. Note that the directory structure is superimposed by combining paths with matching names into one, and leaving paths with unmatched names as they are. Files existing in the combined portion exist on a plurality of real file systems. Each real file system is given a priority. When there is a read request or a write request for a file on the transparent file system, the following processing is performed using the priority.

読み込み要求時には、優先度が最も高い実ファイルシステムから順番に、要求されたファイルを検索し、最初に該当ファイルを検索できた実ファイルシステムに存在する該当ファイルからデータを読み出す。また、書き込み要求時には、優先度が最も高い実ファイルシステムから順番に、要求されたファイルを検索する。そして、最初に該当ファイルを検索できた実ファイルシステムが優先度の最も高い実ファイルシステムである場合には、その実ファイルシステムに存在する該当ファイルにデータを書き込む。また、最初に該当ファイルを検索できた実ファイルシステムが、最も優先度が高い実ファイルシステム以外である場合には、検索した該当ファイルを優先度が最も高い実ファイルシステムにコピーし、コピーしたファイルにデータを書き込む。   When a read request is made, the requested file is searched in order from the highest-priority real file system, and data is read from the corresponding file existing in the real file system in which the corresponding file can be searched first. When a write request is made, the requested file is searched in order from the real file system having the highest priority. If the real file system that can first search for the relevant file is the highest-priority real file system, data is written to the relevant file existing in the real file system. In addition, if the actual file system that was able to search for the file first is other than the real file system with the highest priority, the searched file is copied to the real file system with the highest priority, and the copied file Write data to.

特開2006−268456号公報JP 2006-268456 A

特許文献1に記載されている技術によれば、複数の実ファイルシステムを一つの仮想的なファイルシステムとして管理することが可能になる。しかし、特許文献1に記載されている技術は、実ファイルシステム単位で優先度を制御しているため、ユーザが透過型ファイルシステム上のファイルをアクセスした際、実際にアクセスされる実ファイルシステム上のファイルが、優先度が高い実ファイルシステム上のファイルに限られてしまい、融通性に欠けるという問題がある。例えば、第1、第2の実ファイルシステムから構成され、第1の実ファイルシステムの方が優先度が高い透過型ファイルシステムの場合、第1、第2の実ファイルシステムの両方に、透過型ファイルシステム上のファイルF1、F2と対応するファイルf1、f2が存在していても、ユーザがアクセスできるファイルは常に第1の実ファイルシステム上のファイルf1、f2に限られてしまい、ファイルf1は第1の実ファイルシステム上のものをアクセスし、ファイルf2は第2の実ファイルシステム上のものアクセスするといったことができない。   According to the technique described in Patent Document 1, a plurality of real file systems can be managed as one virtual file system. However, since the technology described in Patent Document 1 controls the priority in units of real file systems, when the user accesses a file on the transparent file system, the actual file system is accessed. This file is limited to a file on an actual file system having a high priority, and there is a problem that flexibility is lacking. For example, if the first real file system is a transparent file system having a higher priority than the first real file system, both the first and second real file systems are transparent. Even if the files f1 and f2 corresponding to the files F1 and F2 on the file system exist, the files accessible by the user are always limited to the files f1 and f2 on the first real file system. A file on the first real file system is accessed, and the file f2 cannot be accessed on the second real file system.

[発明の目的]
そこで、本発明の目的は、複数の実ファイルシステムから構成される仮想的なファイルシステムにおいて、どの実ファイルシステム上に存在するファイルをユーザにアクセスさせるのかをファイル単位で制御できるようにすることにある。
[Object of invention]
SUMMARY OF THE INVENTION Accordingly, an object of the present invention is to make it possible to control on a file basis which file on a real file system is accessed by a user in a virtual file system composed of a plurality of real file systems. is there.

本発明にかかる第1の投影ファイルシステム管理装置は、
複数の実ファイルシステムと、
該複数の実ファイルシステムで管理されているファイルそれぞれの優先度を示す優先度情報が登録された優先度テーブルと、
前記複数の実ファイルシステムを、それらのディレクトリ構造が重ね合わされた仮想的な一つの投影ファイルシステムとして管理すると共に、ユーザプロセスから入力された前記投影ファイルシステム上のファイルを指定した処理要求に応答して、前記指定されたファイルに対応する前記実ファイルシステム上のファイルの内で最も優先度の高いファイルを前記優先度テーブルを参照して求め、該求めたファイルに対して前記処理要求によって要求された操作を行う投影ファイルシステム制御手段とを備えている。
A first projection file system management apparatus according to the present invention includes:
Multiple real file systems,
A priority table in which priority information indicating the priority of each file managed by the plurality of real file systems is registered;
The plurality of real file systems are managed as one virtual projection file system in which their directory structures are superimposed, and responds to a processing request specifying a file on the projection file system input from a user process. The file having the highest priority among the files on the real file system corresponding to the specified file is obtained by referring to the priority table, and the requested file is requested by the processing request. Projection file system control means for performing the above operations.

本発明にかかる第1の投影ファイルシステム管理方法は、
複数の実ファイルシステムと、該複数の実ファイルシステムで管理されているファイルそれぞれの優先度を示す優先度情報が登録された優先度テーブルとを備えたコンピュータが、
前記複数の実ファイルシステムを、それらのディレクトリ構造が重ね合わされた仮想的な一つの投影ファイルシステムとして管理する第1のステップと、
前記コンピュータが、ユーザプロセスから入力された前記投影ファイルシステム上のファイルを指定した処理要求に応答して、前記指定されたファイルに対応する前記実ファイルシステム上のファイルの内で最も優先度の高いファイルを前記優先度テーブルを参照して求め、該求めたファイルに対して前記処理要求によって要求された操作を行う第2のステップとを含む。
A first projection file system management method according to the present invention includes:
A computer comprising a plurality of real file systems and a priority table in which priority information indicating the priority of each file managed by the plurality of real file systems is registered.
A first step of managing the plurality of real file systems as one virtual projection file system in which their directory structures are superimposed;
In response to the processing request specifying the file on the projection file system input from the user process, the computer has the highest priority among the files on the real file system corresponding to the specified file. A second step of obtaining a file with reference to the priority table and performing an operation requested by the processing request on the obtained file.

本発明にかかる第1のプログラムは、
複数の実ファイルシステムと、該複数の実ファイルシステムで管理されているファイルそれぞれの優先度を示す優先度情報が登録された優先度テーブルとを備えたコンピュータを、投影ファイルシステム管理装置として機能させるためのプログラムであって、
前記コンピュータを、前記複数の実ファイルシステムによりそれらのディレクトリ構造が重ね合わされた仮想的な一つの投影ファイルシステムを構成すると共に、ユーザプロセスから入力された前記投影ファイルシステム上のファイルを指定した処理要求に応答して、前記指定されたファイルに対応する前記実ファイルシステム上のファイルの内で最も優先度の高いファイルを前記優先度テーブルを参照して求め、該求めたファイルに対して前記処理要求によって要求された操作を行う投影ファイルシステム制御手段として機能させる。
The first program according to the present invention is:
A computer having a plurality of real file systems and a priority table in which priority information indicating priority levels of files managed by the plurality of real file systems is registered is caused to function as a projection file system management apparatus. A program for
The computer constitutes one virtual projection file system in which the directory structures are overlapped by the plurality of real file systems, and a processing request specifying a file on the projection file system input from a user process In response, the file having the highest priority among the files on the real file system corresponding to the designated file is obtained by referring to the priority table, and the processing request for the obtained file is obtained. To function as a projection file system control means for performing the operation requested by.

本発明によれば、複数の実ファイルシステムから構成される仮想的なファイルシステムにおいて、どの実ファイルシステム上に存在するファイルをユーザにアクセスさせるのかをファイル単位で制御することが可能になるという効果を得ることができる。   Advantageous Effects of Invention According to the present invention, in a virtual file system composed of a plurality of real file systems, it is possible to control in units of files which files on which real file systems are to be accessed by the user. Can be obtained.

図1は本発明の第1の実施の形態の構成例を示すブロック図である。FIG. 1 is a block diagram showing a configuration example of the first embodiment of the present invention. 図2は投影ファイルシステムのイメージを示した図である。FIG. 2 is a diagram showing an image of the projection file system. 図3は本発明の第2の実施の形態の構成例を示すブロック図である。FIG. 3 is a block diagram showing a configuration example of the second embodiment of the present invention. 図4はPFS制御情報ファイル53の一例を示す図である。FIG. 4 is a diagram showing an example of the PFS control information file 53. As shown in FIG. 図5はPFSリンク情報テーブル52の一例を示す図である。FIG. 5 is a diagram showing an example of the PFS link information table 52. 図6はopen時の動作を示す図である。FIG. 6 is a diagram illustrating an operation at the time of opening. 図7はrelease時の動作を示す図である。FIG. 7 is a diagram showing an operation at the time of release. 図8はread時の動作を示す図である。FIG. 8 is a diagram showing an operation at the time of reading. 図9はwrite時の動作を示す図である。FIG. 9 is a diagram showing an operation at the time of writing. 図10はファイル削除時の動作を示す図である。FIG. 10 is a diagram showing an operation when deleting a file. 図11はrename時の動作を示す図である。FIG. 11 is a diagram showing the operation at the time of rename. 図12はファイルサイズ変更時の動作を示す図である。FIG. 12 is a diagram showing the operation when changing the file size. 図13はgetattr()が発行された際のPFS制御手段51の処理例を示すフローチャートである。FIG. 13 is a flowchart showing a processing example of the PFS control means 51 when getattr () is issued. 図14はopen()が発行された際のPFS制御手段51の処理例を示すフローチャートである。FIG. 14 is a flowchart showing a processing example of the PFS control means 51 when open () is issued. 図15はtruncate()が発行された際のPFS制御手段51の処理例を示すフローチャートである。FIG. 15 is a flowchart showing a processing example of the PFS control means 51 when truncate () is issued. 図16はread()が発行された際のPFS制御手段51の処理例を示すフローチャートである。FIG. 16 is a flowchart showing a processing example of the PFS control means 51 when read () is issued. 図17はwrite()が発行された際のPFS制御手段51の処理例を示すフローチャートである。FIG. 17 is a flowchart showing a processing example of the PFS control means 51 when write () is issued. 図18はrelease()が発行された際のPFS制御手段51の処理例を示すフローチャートである。FIG. 18 is a flowchart showing a processing example of the PFS control means 51 when release () is issued. 図19はunlink()が発行された際のPFS制御手段51の処理例を示すフローチャートである。FIG. 19 is a flowchart showing a processing example of the PFS control means 51 when unlink () is issued. 図20はmkdir()が発行された際のPFS制御手段51の処理例を示すフローチャートである。FIG. 20 is a flowchart showing a processing example of the PFS control means 51 when mkdir () is issued. 図21はrmdir()が発行された際のPFS制御手段51の処理例を示すフローチャートである。FIG. 21 is a flowchart showing a processing example of the PFS control means 51 when rmdir () is issued. 図22はmknod()が発行された際のPFS制御手段51の処理例を示すフローチャートである。FIG. 22 is a flowchart showing a processing example of the PFS control means 51 when mknod () is issued. 図23はrename()が発行された際のPFS制御手段51の処理例を示すフローチャートである。FIG. 23 is a flowchart showing a processing example of the PFS control means 51 when rename () is issued. 図24は最新世代のファイルを検索する際の処理例を示すフローチャートである。FIG. 24 is a flowchart showing an example of processing when searching for the latest generation file. 図25は次世代ファイルの出力先(作成先)を決定する際の処理例を示すフローチャートである。FIG. 25 is a flowchart illustrating a processing example when determining the output destination (creation destination) of the next generation file.

次に、本発明の実施の形態について詳細に説明する。   Next, embodiments of the present invention will be described in detail.

[本発明の第1の実施の形態]
図1を参照すると、本発明の第1の実施の形態にかかる投影ファイルシステム管理装置1は、ユーザプロセス2と、投影ファイルシステム制御手段3と、優先度テーブル4と、実ファイルシステム群5とを含んでいる。なお、投影ファイルシステム管理装置1は、コンピュータによって実現される。
[First embodiment of the present invention]
Referring to FIG. 1, a projection file system management apparatus 1 according to the first embodiment of the present invention includes a user process 2, a projection file system control means 3, a priority table 4, and an actual file system group 5. Is included. The projection file system management apparatus 1 is realized by a computer.

実ファイルシステム群5は、複数の実ファイルシステム5-1〜5-Nを含んでいる。なお、以下の説明では、N=2とする。図2に示すように、実ファイルシステム5-1は、ディレクトリDIR1配下のファイルFILE1、FILE2と、ディレクトリDIR3配下のファイルFILE3、FILE4とを含んでいる。また、実ファイルシステム5-2は、ディレクトリDIR1配下のファイルFILE2と、ディレクトリDIR2配下のファイルFILE2と、ファイルシステムFS2配下のファイルFILE3とを含んでいる。なお、実ファイルシステム5-1、5-2にはそれぞれ名前FS1、FS2が付与されているとする。   The real file system group 5 includes a plurality of real file systems 5-1 to 5-N. In the following description, N = 2. As shown in FIG. 2, the real file system 5-1 includes files FILE1 and FILE2 under the directory DIR1, and files FILE3 and FILE4 under the directory DIR3. The real file system 5-2 includes a file FILE2 under the directory DIR1, a file FILE2 under the directory DIR2, and a file FILE3 under the file system FS2. It is assumed that names FS1 and FS2 are assigned to the real file systems 5-1 and 5-2, respectively.

優先度テーブル4には、各実ファイルシステム5-1、5-2上に存在する各ファイルの優先度を示す優先度情報が登録されている。なお、本実施の形態では、優先度情報としてファイルの作成日時(登録日時)を示す情報が登録されているとする。   In the priority table 4, priority information indicating the priority of each file existing on each real file system 5-1 and 5-2 is registered. In the present embodiment, it is assumed that information indicating a file creation date (registration date) is registered as priority information.

ユーザプロセス2は、データ読み込み要求、第1のデータ書き込み要求、および、第2のデータ書き込み要求を投影ファイルシステム制御手段3に対して発行する。データ読み込み要求は、読み込み先にする投影ファイルシステム(投影ファイルシステムについては後述する)上のファイルを指定して、データの読み込みを要求するものである。第1のデータ書き込み要求は、書き込み先にする投影ファイルシステム上のファイルを指定して、データの書き込みを要求するものである。第2のデータ書き込み要求は、コピー元にする投影ファイルシステム上のファイルを指定して、そのコピー先のファイル(次世代のファイル)へのデータの書き込みを要求するものである。なお、第1のデータ書き込み要求は、ファイルの世代管理を行うことが不必要な場合に発行され、第2のデータ書き込み要求は、ファイルの世代管理を行うことが必要な場合に発行される。   The user process 2 issues a data read request, a first data write request, and a second data write request to the projection file system control means 3. The data read request designates a file on a projection file system to be read (projection file system will be described later) and requests data read. The first data write request specifies a file on the projection file system as a write destination and requests data write. The second data write request designates a file on the projection file system to be a copy source and requests to write data to the copy destination file (next generation file). The first data write request is issued when file generation management is unnecessary, and the second data write request is issued when file generation management is required.

投影ファイルシステム制御手段3は、複数の実ファイルシステム5-1、5-2を、それらのディレクトリ構造が重ね合わされた透過型の仮想的な一つのファイルシステムとして管理する。なお、ディレクトリ構造の重ね合わせ方は、名前が一致するパス同士を一つに合成し、名前が不一致のパスは元のまま残すというものである。図2に示す実ファイルシステム5-1、5-2のディレクトリ構造を重ね合わせる場合、例えば、パス/DIR1/FILE2は、両ディレクトリ構造で名前が一致するので(両ディレクトリ構造に存在するので)、一つに合成される。これに対して、例えば、パス/DIR1/FILE1は名前が一致しない(一つのディレクトリ構造にしか存在しない)ので、元のまま残される。この結果、投影ファイルシステムのディレクトリ構造は、図2の下方に示すものとなる。なお、投影ファイルシステムにおいてパス/DIR1/FILE2で特定されるファイルと対応する実ファイルシステム上のファイルとしては、実ファイルシステム5-1上のパス/DIR1/FILE2で特定されるファイルと、実ファイルシステム5-2上のパス/DIR1/FILE2で特定されるファイルとの2つが存在する。   The projection file system control means 3 manages the plurality of real file systems 5-1 and 5-2 as one transparent virtual file system in which their directory structures are superimposed. Note that the directory structure is superimposed by combining paths with matching names into one, and leaving paths with unmatched names as they are. When the directory structures of the real file systems 5-1 and 5-2 shown in FIG. 2 are overlapped, for example, the path / DIR1 / FILE2 has the same name in both directory structures (since it exists in both directory structures) Synthesized into one. On the other hand, for example, the path / DIR1 / FILE1 does not match the name (it exists only in one directory structure), so it remains as it is. As a result, the directory structure of the projection file system is as shown in the lower part of FIG. In the projection file system, the file specified by the path / DIR1 / FILE2 and the corresponding file on the actual file system include the file specified by the path / DIR1 / FILE2 on the actual file system 5-1 and the actual file. There are two files: the file specified by path / DIR1 / FILE2 on system 5-2.

また、投影ファイルシステム制御手段3は、ユーザプロセス2からの処理要求に応じた処理を行うものであり、要求受け付け手段3-1と、処理対象ファイル決定手段3-2と、要求処理手段3-3と、次世代ファイル作成手段3-4とを備えている。   The projection file system control means 3 performs processing in response to a processing request from the user process 2, and includes a request receiving means 3-1, processing target file determining means 3-2, request processing means 3- 3 and next-generation file creation means 3-4.

要求受け付け手段3-1は、ユーザプロセス2からのデータ読み込み要求、第1のデータ書き込み要求、第2のデータ書き込み要求を受け付ける機能を有する。   The request accepting unit 3-1 has a function of accepting a data read request, a first data write request, and a second data write request from the user process 2.

処理対象ファイル決定手段3-2は、要求受け付け手段3-1が受け付けたデータ読み込み要求、第1のデータ書き込み要求、あるいは、第2のデータ書き込み要求によって指定された投影ファイルシステム上のファイルと対応する実ファイルシステム5-1、5-2上のファイルの内、最も優先度の高いファイルを優先度テーブル4を参照して求める機能を有する。なお、本実施の形態では、登録日時が新しいファイルほど、優先度が高いとする。   The processing target file determining unit 3-2 corresponds to the file on the projection file system specified by the data reading request, the first data writing request, or the second data writing request received by the request receiving unit 3-1. Among the files on the actual file systems 5-1 and 5-2, the file having the highest priority is obtained by referring to the priority table 4. In the present embodiment, it is assumed that a file with a new registration date / time has a higher priority.

要求処理手段3-3は、処理対象ファイル決定手段3-2が求めたファイルを利用して要求受け付け手段3-1が受け付けた処理要求に応じた処理を行う機能を有する。より具体的には、要求受け付け手段3-1が受け付けた処理要求がデータ読み込み要求である場合には、処理対象ファイル決定手段3-2が求めたファイルからデータを読み込み、ユーザプロセス2に返却する。また、要求受け付け手段3-1が受け付けた処理要求が第1のデータ書き込み要求である場合には、処理対象ファイル決定手段3-2が求めたファイルに、上記処理要求によって要求されているデータを書き込む。また、要求受け付け手段3-1が受け付けた処理要求が第2のデータ書き込み要求である場合には、処理対象ファイル決定手段3-2が求めたファイルを示す情報を含んだ次世代ファイル作成要求を次世代ファイル作成手段3-4に渡して次世代のファイルを作成させ、次世代ファイル作成手段3-4によって作成された次世代のファイルに要求されたデータを書き込む。   The request processing unit 3-3 has a function of performing processing according to the processing request received by the request receiving unit 3-1 using the file obtained by the processing target file determining unit 3-2. More specifically, when the processing request received by the request receiving unit 3-1 is a data read request, data is read from the file obtained by the processing target file determining unit 3-2 and returned to the user process 2. . If the processing request received by the request receiving unit 3-1 is the first data write request, the data requested by the processing request is added to the file obtained by the processing target file determining unit 3-2. Write. If the processing request received by the request receiving unit 3-1 is a second data write request, a next-generation file creation request including information indicating the file obtained by the processing target file determining unit 3-2 is issued. Next-generation file creation means 3-4 is passed to create the next-generation file, and the requested data is written to the next-generation file created by the next-generation file creation means 3-4.

次世代ファイル作成手段3-4は、要求処理手段3-3から渡された次世代ファイル作成要求中の情報によって特定されるファイルを、第2のデータ書き込み要求によって指定されたファイルと対応するファイルが存在しない実ファイルシステムの内の一つにコピーすることにより、次世代のファイルを作成する。また、作成した次世代のファイルの優先度(登録日時)に関する情報を優先度テーブル4に追加登録する。   The next-generation file creation means 3-4 corresponds to the file specified by the information in the next-generation file creation request passed from the request processing means 3-3 and the file specified by the second data write request. Create a next generation file by copying it to one of the real file systems that don't exist. In addition, information regarding the priority (registration date) of the created next-generation file is additionally registered in the priority table 4.

なお、投影ファイルシステム制御手段3は、コンピュータによって実現可能であり、コンピュータによって実現する場合は、例えば次のようにする。コンピュータを投影ファイルシステム制御手段3として機能させるためのプログラムを記録したディスク、半導体メモリ、その他の記録媒体を用意し、コンピュータに上記プログラムを読み取らせる。コンピュータは、読み取ったプログラムに従って自身の動作を制御することにより、自コンピュータ上に投影ファイルシステム制御手段3を実現する。   The projection file system control means 3 can be realized by a computer, and when realized by a computer, for example, as follows. A disk, a semiconductor memory, and other recording media recording a program for causing the computer to function as the projection file system control means 3 are prepared, and the computer reads the program. The computer realizes the projection file system control means 3 on its own computer by controlling its own operation according to the read program.

次に、本実施の形態の動作について説明する。   Next, the operation of the present embodiment will be described.

先ず、ユーザプロセス2からデータ読み込み要求が発行されたときの動作について説明する。   First, an operation when a data read request is issued from the user process 2 will be described.

ユーザプロセス2からのデータ読み込み要求は、要求受け付け手段3-1によって受け付けられる。今、例えば、データ読み込み要求によって、投影ファイルシステム上のファイル(/mount-point/DIR1/FILE2)が指定されているとする。   A data read request from the user process 2 is received by the request receiving means 3-1. Now, for example, assume that a file (/ mount-point / DIR1 / FILE2) on the projection file system is specified by a data read request.

処理対象ファイル決定手段3-2は、優先度テーブル4を参照し、上記ファイルと対応する実ファイルシステム5-1、5-2上のファイル(/mnt/pfs/FS1/DIR1/FILE2と、/mnt/pfs/FS2/DIR1/FILE2)の中から優先度の最も高いファイルを選択する。今、例えば、実ファイルシステム5-1、5-2上の該当するファイルの登録日時が、2008/10/xx、2008/09/yyであるとすると、処理対象ファイル決定手段3-2は、実ファイルシステム5-1上のファイル(/mnt/pfs/FS1/DIR1/FILE2)を選択することになる。なお、投影ファイルシステム上のファイルと対応する実ファイルシステム5-1、5-2を表す情報は、投影ファイルシステム上のファイルを表す情報(/mount-point/DIR1/FILE2など)の内、/mount-point/を/mnt/pfs/FS1/、/mnt/pfs/FS2/に置き換えることにより機械的に求めることができる。   The processing target file determining unit 3-2 refers to the priority table 4, and refers to the files (/ mnt / pfs / FS1 / DIR1 / FILE2, Select the file with the highest priority from mnt / pfs / FS2 / DIR1 / FILE2). Now, for example, if the registration date and time of the corresponding file on the real file systems 5-1 and 5-2 is 2008/10 / xx, 2008/09 / yy, the processing target file determination means 3-2 The file (/ mnt / pfs / FS1 / DIR1 / FILE2) on the real file system 5-1 is selected. The information representing the actual file systems 5-1 and 5-2 corresponding to the files on the projection file system is the information representing the files on the projection file system (such as / mount-point / DIR1 / FILE2). It can be obtained mechanically by replacing mount-point / with / mnt / pfs / FS1 /, / mnt / pfs / FS2 /.

要求処理手段3-3は、処理対象ファイル決定手段3-2によって実ファイルシステム5-1上のファイル(/mnt/pfs/FS1/DIR1/FILE2)が選択されると、そこからデータを読み込み、ユーザプロセス2へ返却する。   When the file (/ mnt / pfs / FS1 / DIR1 / FILE2) on the real file system 5-1 is selected by the processing target file determination unit 3-2, the request processing unit 3-3 reads data from the selected file. Return to user process 2.

次に、ユーザプロセス2から第1のデータ書き込み要求が入力された場合の動作について説明する。ユーザプロセス2からの第1のデータ書き込み要求は、要求受け付け手段3-1によって受け付けられる。今、例えば、第1のデータ書き込み要求によって、投影ファイルシステム上のファイル(/mount-point/DIR1/FILE2)が指定されているとする。   Next, an operation when a first data write request is input from the user process 2 will be described. The first data write request from the user process 2 is received by the request receiving unit 3-1. Now, for example, assume that a file (/ mount-point / DIR1 / FILE2) on the projection file system is designated by the first data write request.

処理対象ファイル決定手段3-2は、データ読み込み要求が入力された際と同様の動作を行い、優先度が最も高いファイルとして実ファイルシステム5-1上のファイル(/mnt/pfs/FS1/DIR1/FILE2)を選択する。   The processing target file determination unit 3-2 performs the same operation as when a data read request is input, and the file on the real file system 5-1 (/ mnt / pfs / FS1 / DIR1 Select / FILE2).

要求処理手段3-3は、処理対象ファイル決定手段3-2によって選択された実ファイルシステム5-1上のファイル(/mnt/pfs/FS1/DIR1/FILE2)に対して、ユーザプロセス2によって要求されたデータを書き込む。また、優先度テーブル4に登録されている、上記ファイルの優先度に関する情報を現在日時に更新する。   The request processing means 3-3 requests the user process 2 for the file (/ mnt / pfs / FS1 / DIR1 / FILE2) on the real file system 5-1 selected by the processing target file determining means 3-2. Written data. Further, the information on the priority of the file registered in the priority table 4 is updated to the current date and time.

次に、ユーザプロセス2から第2のデータ書き込み要求が発行された場合の動作について説明する。ユーザプロセス2からの第2のデータ書き込み要求は、要求受け付け手段3-1によって受け付けられる。今、例えば、第2のデータ書き込み要求によって、投影ファイルシステム上のファイル(/mount-point/DIR1/FILE2)が指定されているとする。処理対象ファイル決定手段3-2は、データ読み込み要求が入力された際と同様の動作を行い、優先度が最も高いファイルとして実ファイルシステム5-1上のファイル(/mnt/pfs/FS1/DIR1/FILE2)を選択する。   Next, an operation when a second data write request is issued from the user process 2 will be described. The second data write request from the user process 2 is received by the request receiving unit 3-1. Now, for example, assume that a file (/ mount-point / DIR1 / FILE2) on the projection file system is designated by the second data write request. The processing target file determination unit 3-2 performs the same operation as when a data read request is input, and the file on the real file system 5-1 (/ mnt / pfs / FS1 / DIR1 Select / FILE2).

要求処理手段3-3は、処理対象ファイル決定手段3-2によって選択されたファイル(/mnt/pfs/FS1/DIR1/FILE2)を示す情報を含んだ次世代ファイル作成要求を次世代ファイル作成手段3-4に渡す。   The request processing unit 3-3 generates a next-generation file creation request including information indicating the file (/ mnt / pfs / FS1 / DIR1 / FILE2) selected by the processing target file determination unit 3-2. Pass to 3-4.

次世代ファイル作成手段3-4は、要求処理手段3-3から渡された次世代ファイル作成要求中の情報によって特定されるファイル(/mnt/pfs/FS1/DIR1/FILE2)を、第2のデータ書き込み要求によって指定された投影ファイルシステム上のファイル(/mount-point/DIR1/FILE2)と対応するファイルが存在しない実ファイルシステムの内の一つにコピーすることにより、次世代のファイルを作成する。また、作成した次世代のファイルの優先度(登録日時)に関する情報を優先度テーブル4に追加登録する。なお、コピー先にする実ファイルシステムは、例えば、最も空き容量の多い実ファイルシステム、あるいは、負荷の最も低い実ファイルシステムとすることができる。また、全ての実ファイルシステム5-1、5-2上にファイル(/mount-point/DIR1/FILE2)と対応するファイルが存在する場合には、例えば、次のような処理を行う。即ち、ファイル(/mount-point/DIR1/FILE2)と対応する実ファイルシステム5-1、5-2上のファイルの内、優先度が最も低いファイルを削除し、該削除したファイルの代わりに要求処理手段3-3によって指定されているファイルをコピーする。また、削除したファイルの優先度の代わりに、次世代のファイルの優先度を優先度テーブル4に登録する。   The next generation file creation means 3-4 uses the file (/ mnt / pfs / FS1 / DIR1 / FILE2) specified by the information in the next generation file creation request passed from the request processing means 3-3 as the second Create the next generation file by copying it to one of the actual file systems that do not have a file corresponding to the file (/ mount-point / DIR1 / FILE2) on the projection file system specified by the data write request To do. In addition, information regarding the priority (registration date) of the created next-generation file is additionally registered in the priority table 4. The actual file system to be copied can be, for example, an actual file system with the largest available capacity or an actual file system with the lowest load. Further, when the file (/ mount-point / DIR1 / FILE2) and the file corresponding to all the real file systems 5-1 and 5-2 exist, for example, the following processing is performed. That is, the file with the lowest priority among the files on the real file systems 5-1 and 5-2 corresponding to the file (/ mount-point / DIR1 / FILE2) is deleted, and a request is made instead of the deleted file. Copy the file specified by processing means 3-3. In addition, the priority of the next-generation file is registered in the priority table 4 instead of the priority of the deleted file.

要求処理手段3-3は、次世代ファイル作成手段3-4によって次世代のファイルが作成されると、そのファイルにデータを書き込む。また、優先度テーブル4に登録されている、上記ファイルの優先度に関する情報を現在日時に更新する。   When the next generation file is created by the next generation file creation means 3-4, the request processing means 3-3 writes data in the file. Further, the information on the priority of the file registered in the priority table 4 is updated to the current date and time.

本実施の形態によれば、複数の実ファイルシステムから構成される仮想的な投影ファイルシステムにおいて、どの実ファイルシステム上に存在するファイルをユーザにアクセスさせるのかをファイル単位で制御することが可能になるという効果を得ることができる。その理由は、実ファイルシステム上のファイルに優先度を付与しておき、この優先度に基づいてアクセス先にするファイルを決定するようにしているからである。   According to the present embodiment, in a virtual projection file system composed of a plurality of real file systems, it is possible to control in units of files which files on the real file system are to be accessed by the user. The effect of becoming can be obtained. The reason is that a priority is given to a file on the real file system, and a file to be accessed is determined based on this priority.

更に、本実ファイルシステムによれば、ファイルの世代管理を行うことが可能になる効果がある。その理由は、ユーザプロセス2から入力された第2のデータ書き込み要求に応答して、第2の書き込み要求によって指定されたファイルに対応する実ファイルシステム上のファイルの内で最も優先度の高いファイルを優先度テーブル4を参照して求め、この求めたファイルを、第2のデータ書き込み要求によって指定されたファイルと対応するファイルが存在しない実ファイルシステムの内の一つにコピーすることにより、次世代のファイルを作成し、更に、上記次世代のファイルに関する登録日時を優先度テーブル4に登録するようにしているからである。   Further, according to the real file system, it is possible to perform generation management of files. The reason is that, in response to the second data write request input from the user process 2, the file having the highest priority among the files on the real file system corresponding to the file specified by the second write request. Is obtained by referring to the priority table 4, and the obtained file is copied to one of the real file systems in which no file corresponding to the file specified by the second data write request exists. This is because the generation file is created and the registration date and time related to the next generation file is registered in the priority table 4.

更に、本実施の形態では、第2の書き込み要求によって指定されたファイルと対応するファイルが存在しない実ファイルシステムが複数存在する場合は、その内の最も空き容量が大きい実ファイルシステムあるいは最も負荷が低い実ファイルシステムに次世代のファイルを作成するようにしているので、特定の実ファイルシステムに負荷が集中しないようにすることができる。   Furthermore, in the present embodiment, when there are a plurality of real file systems in which there is no file corresponding to the file specified by the second write request, the real file system having the largest free space or the largest load among them. Since the next generation file is created in a low real file system, it is possible to prevent the load from being concentrated on a specific real file system.

[本発明の第2の実施の形態]
次に、本発明の第2の実施の形態について説明する。
[Second embodiment of the present invention]
Next, a second embodiment of the present invention will be described.

図3を参照すると、本発明の第2の実施の形態にかかるオペレーティングシステム100は、ユーザプロセス10と、仮想ファイルシステム20と、ユーザ空間ファイルシステム30と、実ファイルシステム群40と、投影ファイルシステム機構50とを含む。なお、本実施の形態では、オペレーティングシステム100はUNIX(登録商標)であるとする。また、以降PFSを投影ファイルシステム(Projection File System)を指す略語とする。   Referring to FIG. 3, an operating system 100 according to the second embodiment of the present invention includes a user process 10, a virtual file system 20, a user space file system 30, a real file system group 40, and a projection file system. Mechanism 50. In the present embodiment, it is assumed that the operating system 100 is UNIX (registered trademark). Hereinafter, PFS is an abbreviation that indicates a projection file system.

実ファイルシステム群40は、実ファイルシステム41と、実ファイルシステム42を含む。なお、各実ファイルシステム41、42中の全てのディレクトリには、PFS制御情報ファイル53が格納されており、該ディレクトリ中の各ファイルについてファイル名、PFS登録日時が含まれる。PFS登録日時によって世代が管理される。PFS制御情報ファイル53の一例を図4に示す。   The real file system group 40 includes a real file system 41 and a real file system 42. Note that a PFS control information file 53 is stored in all directories in each real file system 41 and 42, and the file name and PFS registration date and time are included for each file in the directory. Generations are managed by PFS registration date and time. An example of the PFS control information file 53 is shown in FIG.

図3の投影ファイルシステム機構50は、PFS制御手段51と、PFSリンク情報テーブル52とを含む。PFSリンク情報テーブル52は、openされたファイル毎のリンク情報を保持するテーブルである。リンク情報には、ファイル名、世代保護フラグ、書き込みフラグ、実ファイルパス、オープンカウンタが含まれる。PFSリンク情報テーブル52の一例を図5に示す。また、投影ファイルシステム機構50は、複数の実ファイルシステム41、42を、それらのディレクトリ構造が重ね合わされた透過型の仮想的な一つの投影ファイルシステムとして管理する。   The projection file system mechanism 50 of FIG. 3 includes PFS control means 51 and a PFS link information table 52. The PFS link information table 52 is a table that holds link information for each opened file. The link information includes a file name, a generation protection flag, a write flag, an actual file path, and an open counter. An example of the PFS link information table 52 is shown in FIG. In addition, the projection file system mechanism 50 manages the plurality of real file systems 41 and 42 as one transmissive virtual projection file system in which their directory structures are superimposed.

ユーザプロセス10は、全てのファイルアクセス処理を仮想ファイルシステム(VFS;Virtual File System)20に対して依頼する。   The user process 10 requests all file access processing from a virtual file system (VFS) 20.

仮想ファイルシステム20は、一つのオペレーティングシステム上で複数のファイルシステムを統一的に扱うために、個々のファイルシステムが提供するインタフェース間の相違を隠蔽し、共通のインタフェースを提供する仮想的なファイルシステムであり、実ファイルシステム41と、実ファイルシステム42と、ユーザ空間ファイルシステム(FUSE;Filesystem in Userspace)30に対し、ユーザからのファイルアクセス処理の依頼を行う。仮想ファイルシステムはLinux等におけるVFSで既に実現・普及しており、本実施の形態においても投影ファイルシステムの実現にあたり、この仮想ファイルシステムによって統一されたインタフェースが提供されるものとする。   The virtual file system 20 is a virtual file system that conceals differences between interfaces provided by individual file systems and provides a common interface in order to handle a plurality of file systems in a unified manner on one operating system. The file access processing is requested from the user to the real file system 41, the real file system 42, and the user space file system (FUSE; Filesystem in Userspace) 30. The virtual file system has already been realized and spread with VFS in Linux and the like, and in this embodiment, a unified interface is provided by the virtual file system when the projection file system is realized.

ユーザ空間ファイルシステム30は、PFS制御手段51を呼び出し、実ファイルシステム41と、実ファイルシステム42に対してファイルアクセス処理を行う。この場合、PFS制御手段51は、仮想ファイルシステム20を通して実際のファイルアクセス処理を行う。一般にファイルシステムは、オペレーティングシステムが提供するread/write等のシステムコールの先でカーネル空間で動作しており、カーネル空間でファイルシステムを構築するには多大な手間と制約が発生する。ユーザ空間ファイルシステムは、ユーザ空間でファイルシステムを構築するための一連の機構であり、Linux等におけるFUSEで既に実現・普及しており、本実施の形態においても投影ファイルシステム機構50をユーザ空間で実現するために、このユーザ空間ファイルシステム30を備えているものとする。従って、投影ファイルシステム機構50をカーネル空間に設ける場合には、ユーザ空間ファイルシステム30は不要となる。   The user space file system 30 calls the PFS control means 51 and performs file access processing on the real file system 41 and the real file system 42. In this case, the PFS control means 51 performs actual file access processing through the virtual file system 20. In general, the file system operates in the kernel space at the destination of system calls such as read / write provided by the operating system, and it takes a lot of time and restrictions to construct the file system in the kernel space. The user space file system is a series of mechanisms for building a file system in the user space, and has already been realized and popularized by FUSE in Linux and the like. In this embodiment, the projection file system mechanism 50 is also installed in the user space. It is assumed that the user space file system 30 is provided in order to realize this. Therefore, when the projection file system mechanism 50 is provided in the kernel space, the user space file system 30 is not necessary.

PFS制御手段51は、PFSリンク情報テーブル52の当該ファイルエントリ、ならびに、PFS制御情報ファイル53に対し、情報の参照、及び、更新を行う。   The PFS control means 51 refers to and updates information for the file entry in the PFS link information table 52 and the PFS control information file 53.

次に、本実施の形態の動作について説明する。   Next, the operation of the present embodiment will be described.

まず、ユーザによるファイルアクセス要求がVFS20を通してどのようにPFS制御手段51に通知され、処理が実行されるかを説明する。次に、ユーザによるファイルアクセスの延長で、どのようにVFSオペレーションがコールされ、PFS制御手段51がどのように処理を行うかを、図6〜図25を用いて説明する。特に、各VFSオペレーションの処理の詳細については、図13〜図25にフローチャートを記載する。なお、以降の実施例ではファイルシステムを構成するすべての動作について網羅しておらず、本発明において実現される世代管理について重要となる8つの一般的なファイルアクセス処理(新規write/上書きwrite/追記write/read/rename/mkdir/rmdir/unlink)について述べる。   First, a description will be given of how a file access request by a user is notified to the PFS control means 51 through the VFS 20 and processing is executed. Next, how the VFS operation is called by extension of file access by the user and how the PFS control means 51 performs processing will be described with reference to FIGS. In particular, the details of the processing of each VFS operation are described in the flowcharts of FIGS. The following embodiments do not cover all operations constituting the file system, and are eight general file access processes (new write / overwrite write / additional writing) that are important for generation management realized in the present invention. write / read / rename / mkdir / rmdir / unlink).

●ユーザ要求によるVFSオペレーションのPFS制御手段51への通知と実行結果返却 ● Notification to the PFS control means 51 of VFS operation by user request and return of execution result

1.ユーザによるファイルアクセスの延長でVFSオペレーションがユーザプロセス10からVFS20に発行される。
2.VFS20は、発行されたオペレーションをFUSE30に対して転送する。
3.FUSE30は、発行されたオペレーションをPFS制御手段51に対して転送する。
4.PFS制御手段51は、発行されたオペレーションの処理を行い、結果をFUSE30に通知する。
5.FUSE30、VFS20を通してユーザプロセス10に処理結果が通知される。
1. A VFS operation is issued from the user process 10 to the VFS 20 by extension of file access by the user.
2. The VFS 20 transfers the issued operation to the FUSE 30.
3. The FUSE 30 transfers the issued operation to the PFS control means 51.
4). The PFS control means 51 processes the issued operation and notifies the FUSE 30 of the result.
5. The processing result is notified to the user process 10 through FUSE30 and VFS20.

●新規ファイルへの書き込み ● Writing to a new file

1.ユーザプロセス10は、open関数を実行する。   1. The user process 10 executes the open function.

1-1.ユーザプロセス10は、open関数内で、書き込み対象ファイルの属性取得を要求(getattr)する。PFS制御手段51は、最新世代ファイル検索ロジックに従って最新世代ファイルを検索し(図13のステップS1301)、その情報をユーザプロセス10に返却する(ステップS1302がno、S1304)。最新世代ファイル検索ロジックについては、図24を参照して後で説明する。   1-1. The user process 10 requests (getattr) to acquire the attribute of the write target file in the open function. The PFS control means 51 searches for the latest generation file according to the latest generation file search logic (step S1301 in FIG. 13), and returns the information to the user process 10 (step S1302 is no, S1304). The latest generation file search logic will be described later with reference to FIG.

1-2.ユーザプロセス10は、open関数内で、ファイルが存在しないことを確認し、ファイルの作成を要求(mknod)する。PFS制御手段51は、次世代ファイルの作成先決定ロジック(後述;図25)に従ってファイルの作成先となる実ファイルシステムを決定し(図22のステップS2201)、ファイルを作成し(ステップS2202)、PFS制御情報ファイル53を作成し、ファイル名とPFS登録日付を登録する(ステップS2203)。   1-2. The user process 10 confirms that the file does not exist in the open function, and requests creation (mknod) of the file. The PFS control means 51 determines a real file system as a file creation destination according to a next-generation file creation destination decision logic (described later; FIG. 25) (step S2201 in FIG. 22), creates a file (step S2202), A PFS control information file 53 is created, and a file name and a PFS registration date are registered (step S2203).

1-3.ユーザプロセス10は、open関数内で、書き込み対象ファイルの属性取得を要求(getattr)し、新規作成したファイルの情報を取得する。PFS制御手段51は、最新世代のファイルを検索し、その情報をユーザプロセス10に返却する(図13のステップS1301〜S1303)。   1-3. In the open function, the user process 10 requests acquisition of the attribute of the write target file (getattr), and acquires information on the newly created file. The PFS control means 51 searches for the latest generation file and returns the information to the user process 10 (steps S1301 to S1303 in FIG. 13).

1-4.ユーザプロセス10は、open関数内で、新規作成したファイルのオープンを要求(open)する(図6)。PFS制御手段51は、PFSリンク情報テーブル52にエントリを作成する。当該エントリには、PFS上のファイル名と世代保護フラグと書き込みフラグと実ファイル名とオープンカウントとを登録する(図14のステップS1401〜S1406)。他プロセスによってすでにオープン済なら、エントリを取得し、書き込みフラグをONにし、オープンカウントをインクリメントする(ステップS1401がyes、S1407〜S1409、S1406)。他プロセスによって書き込みオープン済の場合(ステップS1408がyes)は、異常を通知する。   1-4. The user process 10 requests opening of the newly created file in the open function (FIG. 6). The PFS control means 51 creates an entry in the PFS link information table 52. In the entry, a file name on PFS, a generation protection flag, a write flag, an actual file name, and an open count are registered (steps S1401 to S1406 in FIG. 14). If it has already been opened by another process, an entry is acquired, the write flag is turned ON, and the open count is incremented (step S1401 is yes, S1407 to S1409, S1406). When the writing has been opened by another process (step S1408 is yes), an abnormality is notified.

2.ユーザプロセス10は、write関数を実行する。   2. The user process 10 executes a write function.

2-1.ユーザプロセス10は、write関数内で、オープンしたファイルについて、オフセットとバッファを指定して書き込みを要求(write)する(図9)。PFS制御手段51は、PFSリンク情報テーブル52上の対応するエントリから実ファイル名を取得し、指定されたバッファからデータを取得して、指定されたオフセットから書き込む(図17のステップS1701、S1702、S1708)。   2-1. In the write function, the user process 10 requests the writing of the opened file by designating an offset and a buffer (FIG. 9). The PFS control means 51 acquires the real file name from the corresponding entry on the PFS link information table 52, acquires data from the specified buffer, and writes it from the specified offset (steps S1701, S1702, FIG. 17). S1708).

3.ユーザプロセス10はすべてのデータを書き込むまで2.を繰り返し、完了後、close関数を実行する。   3. The user process 10 repeats step 2 until all data is written, and after completion, executes the close function.

3-1.ユーザプロセス10は、close関数内で、ファイルのreleaseを要求(release)する(図7)。PFS制御手段51は、PFSリンク情報テーブル52上の当該ファイルに対応するエントリのオープンカウントをデクリメントし、0であればエントリを削除する(図18のステップS1801〜S1804)。まだオープンしているプロセスが残っていれば、書き込みフラグをOFFにし、世代保護フラグをONにする(ステップS1803がno、S1805がyes、S1806)。   3-1. The user process 10 requests release of the file in the close function (FIG. 7). The PFS control means 51 decrements the open count of the entry corresponding to the file on the PFS link information table 52, and deletes the entry if it is 0 (steps S1801 to S1804 in FIG. 18). If there is still an open process, the write flag is turned off and the generation protection flag is turned on (step S1803 is no, S1805 is yes, S1806).

●既存ファイルの切り詰めと書き込み ● Truncation and writing of existing files

1.ユーザプロセス10は、open関数を実行する。   1. The user process 10 executes the open function.

1-1.ユーザプロセス10は、open関数内で、書き込み対象ファイルの属性取得を要求(getattr)する。PFS制御手段51は、最新世代ファイルを検索し、その情報をユーザプロセス10に返却する(図13、ステップS1301、S1302がyes、S1303)。   1-1. The user process 10 requests (getattr) to acquire the attribute of the write target file in the open function. The PFS control means 51 searches for the latest generation file and returns the information to the user process 10 (FIG. 13, steps S1301 and S1302 are yes, S1303).

1-2.ユーザプロセス10は、ファイルの有無やアクセス権のチェック等を行い、ファイルサイズの変更(サイズを0にする)を要求(truncate)する(図12)。PFS制御手段51は、最新世代のファイルを検索し(図15のステップS1501)、ファイルサイズが0でなく、指定されたサイズと現在のサイズが異なるならば(ステップS1502、S1503が共にno)、次世代ファイルの作成先決定ロジック(後述)に従ってファイルの作成先となる実ファイルシステムを決定し、ファイルを指定されたサイズ分コピーし、PFS制御情報ファイル53を作成し、ファイル名とPFS登録日付を登録する(ステップS1505〜1507)。ファイルサイズが0かつ、指定されたサイズも0ならば(ステップS1502、S1504が共にyes)、なにもしない。   1-2. The user process 10 checks the existence of a file, an access right, etc., and requests (truncate) a file size change (size is set to 0) (FIG. 12). The PFS control means 51 searches for the latest generation file (step S1501 in FIG. 15), and if the file size is not 0 and the specified size is different from the current size (both steps S1502 and S1503 are no), Determine the actual file system that will be the file creation destination according to the next-generation file creation destination decision logic (described later), copy the file for the specified size, create the PFS control information file 53, file name and PFS registration date Is registered (steps S1505 to 1507). If the file size is 0 and the specified size is also 0 (yes in steps S1502 and S1504), nothing is done.

1-3.ユーザプロセス10は、open関数内で、書き込み対象ファイルの属性取得を要求(getattr)し、新規作成したファイルの情報を取得する。PFS制御手段51は、最新世代のファイルを検索し、その情報をユーザプロセス10に返却する(図13のステップS1301〜S1303)。   1-3. In the open function, the user process 10 requests acquisition of the attribute of the write target file (getattr), and acquires information on the newly created file. The PFS control means 51 searches for the latest generation file and returns the information to the user process 10 (steps S1301 to S1303 in FIG. 13).

1-4.ユーザプロセス10は、open関数内で、ファイルのオープンを要求(open)する(図6)。PFS制御手段51は、PFSリンク情報テーブル52にエントリを作成する。当該エントリには、PFS上のファイル名と世代保護フラグと書き込みフラグと実ファイル名とオープンカウントとを登録する(図14のステップS1401〜S1406)。他プロセスによってすでにオープン済なら、エントリを取得し、書き込みフラグをONにし、オープンカウントをインクリメントする(ステップS1401がyes、S1407〜S1409、S1406)。他プロセスによって書き込みオープン済の場合(ステップS1408がyes)は、異常を通知する。   1-4. The user process 10 requests opening of the file (open) in the open function (FIG. 6). The PFS control means 51 creates an entry in the PFS link information table 52. In the entry, a file name on PFS, a generation protection flag, a write flag, an actual file name, and an open count are registered (steps S1401 to S1406 in FIG. 14). If it has already been opened by another process, an entry is acquired, the write flag is turned ON, and the open count is incremented (step S1401 is yes, S1407 to S1409, S1406). When the writing has been opened by another process (step S1408 is yes), an abnormality is notified.

2.ユーザプロセス10は、write関数を実行する。   2. The user process 10 executes a write function.

2-1.ユーザプロセス10は、write関数内で、オープンしたファイルについて、オフセットとバッファを指定して書き込みを要求(write)する(図9)。PFS制御手段51は、PFSリンク情報テーブル52上の対応するエントリから実ファイル名を取得し、指定されたバッファからデータを取得して、指定されたオフセットから書き込む(図17のステップS1701、S1702、S1708)。   2-1. In the write function, the user process 10 requests the writing of the opened file by designating an offset and a buffer (FIG. 9). The PFS control means 51 acquires the real file name from the corresponding entry on the PFS link information table 52, acquires data from the specified buffer, and writes it from the specified offset (steps S1701, S1702, FIG. 17). S1708).

3.ユーザプロセス10はすべてのデータを書き込むまで2.を繰り返し、完了後、close関数を実行する。   3. The user process 10 repeats step 2 until all data is written, and after completion, executes the close function.

3-1.ユーザプロセス10は、close関数内で、ファイルのreleaseを要求(release)する(図7)。PFS制御手段51は、PFSリンク情報テーブル52上の当該ファイルに対応するエントリのオープンカウントをデクリメントし(図18のステップS1801、S1802)、0であればエントリを削除する(ステップS1803がyes、S1804)。まだオープンしているプロセスが残っていれば(ステップS1803がno、S1805がyes)、書き込みフラグをOFFにし、世代保護フラグをONにする(ステップS1806)。   3-1. The user process 10 requests release of the file in the close function (FIG. 7). The PFS control means 51 decrements the open count of the entry corresponding to the file on the PFS link information table 52 (steps S1801 and S1802 in FIG. 18), and if 0, deletes the entry (yes in step S1803, S1804). ). If there is still an open process (step S1803 is no, S1805 is yes), the write flag is turned off and the generation protection flag is turned on (step S1806).

●既存ファイルの更新・追記 ● Update and append to existing files

1.ユーザプロセス10は、open関数を実行する。   1. The user process 10 executes the open function.

1-1.ユーザプロセス10は、open関数内で、書き込み対象ファイルの属性取得を要求(getattr)する。PFS制御手段51は、最新世代ファイルを検索し、その情報をユーザプロセス10に返却する(図13のステップS1301〜S1303)。   1-1. The user process 10 requests (getattr) to acquire the attribute of the write target file in the open function. The PFS control means 51 searches for the latest generation file and returns the information to the user process 10 (steps S1301 to S1303 in FIG. 13).

1-2.ユーザプロセス10は、open関数内で、ファイルのオープンを要求(open)する(図6)。PFS制御手段51は、PFSリンク情報テーブル52にエントリを作成する。当該エントリには、PFS上のファイル名と世代保護フラグと書き込みフラグと実ファイル名とオープンカウントとを登録する(図14のステップS1401〜S1406)。他プロセスによってすでにオープン済なら、エントリを取得し、書き込みフラグをONにし、オープンカウントをインクリメントする(ステップS1401がyes、S1407〜S1409、S1406)。他プロセスによって書き込みオープン済の場合(ステップS1408がyes)は、異常を通知する。   1-2. The user process 10 requests opening of the file (open) in the open function (FIG. 6). The PFS control means 51 creates an entry in the PFS link information table 52. In the entry, a file name on PFS, a generation protection flag, a write flag, an actual file name, and an open count are registered (steps S1401 to S1406 in FIG. 14). If it has already been opened by another process, an entry is acquired, the write flag is turned ON, and the open count is incremented (step S1401 is yes, S1407 to S1409, S1406). When the writing has been opened by another process (step S1408 is yes), an abnormality is notified.

2.ユーザプロセス10は、write関数を実行する。   2. The user process 10 executes a write function.

2-1.ユーザプロセス10は、write関数内で、オープンしたファイルについて、オフセットとバッファを指定して書き込みを要求(write)する(図9)。PFS制御手段51は、PFSリンク情報テーブル52上の対応するエントリから実ファイル名を取得し、指定されたバッファからデータを取得して、指定されたオフセットから書き込む(図17のステップS1701、S1702がno、S1708)。   2-1. In the write function, the user process 10 requests the writing of the opened file by designating an offset and a buffer (FIG. 9). The PFS control means 51 acquires the actual file name from the corresponding entry on the PFS link information table 52, acquires data from the specified buffer, and writes it from the specified offset (Steps S1701 and S1702 in FIG. no, S1708).

3.ユーザプロセス10はすべてのデータを書き込むまで2.を繰り返し、完了後、close関数を実行する。   3. The user process 10 repeats step 2 until all data is written, and after completion, executes the close function.

3-1.ユーザプロセス10は、close関数内で、ファイルのreleaseを要求(release)する(図7)。PFS制御手段51は、PFSリンク情報テーブル52上の当該ファイルに対応するエントリのオープンカウントをデクリメントし(図18のステップS1801、S1802)、0であればエントリを削除する(ステップS1803がyes、S1804)。まだオープンしているプロセスが残っていれば(ステップS1803がno)、書き込みフラグをOFFにし、世代保護フラグをONにする(ステップS1805がyes、S1806)。   3-1. The user process 10 requests release of the file in the close function (FIG. 7). The PFS control means 51 decrements the open count of the entry corresponding to the file on the PFS link information table 52 (steps S1801 and S1802 in FIG. 18), and if 0, deletes the entry (yes in step S1803, S1804). ). If there is still an open process (step S1803 is no), the write flag is turned off and the generation protection flag is turned on (step S1805 is yes, S1806).

●ファイルの読み込み ● Reading files

1.ユーザプロセス10は、open関数を実行する。   1. The user process 10 executes the open function.

1-1.ユーザプロセス10は、open関数内で、読み込み対象ファイルの属性取得を要求(getattr)する。PFS制御手段51は、最新世代ファイルを検索し(図13のステップS1301)、その情報をユーザプロセス10に返却する(ステップS1302がyes、S1303)。   1-1. The user process 10 requests (getattr) the attribute acquisition of the read target file in the open function. The PFS control unit 51 searches for the latest generation file (step S1301 in FIG. 13) and returns the information to the user process 10 (yes in step S1302, S1303).

1-2.ユーザプロセス10は、open関数内で、ファイルのオープンを要求(open)する(図6)。PFS制御手段51は、PFSリンク情報テーブル52にエントリを作成する。当該エントリには、PFS上のファイル名と世代保護フラグと書き込みフラグと実ファイル名とオープンカウントを登録する(図14のステップS1401〜S1406)。他プロセスによってすでにオープン済なら(ステップS1401がyes、S1407がno)、エントリの取得と、オープンカウントのインクリメントのみを行う(ステップS1406)。他プロセスによって書き込みオープン済の場合(ステップS1408がyes)は、異常を通知する。   1-2. The user process 10 requests opening of the file (open) in the open function (FIG. 6). The PFS control means 51 creates an entry in the PFS link information table 52. In the entry, a file name on PFS, a generation protection flag, a write flag, an actual file name, and an open count are registered (steps S1401 to S1406 in FIG. 14). If it has already been opened by another process (step S1401 is yes, S1407 is no), only entry acquisition and open count increment are performed (step S1406). When the writing has been opened by another process (step S1408 is yes), an abnormality is notified.

2.ユーザプロセス10は、read関数を実行する。   2. The user process 10 executes a read function.

2-1.ユーザプロセス10は、read関数内で、オープンしたファイルについて、オフセットとバッファを指定して読み込み込みを要求(read)する(図8)。PFS制御手段51は、PFSリンク情報テーブル52上の対応するエントリから実ファイル名を取得し、指定されたオフセットから指定されたサイズ分データを読み込んで返却する(図16のステップS1601、S1602)。   2-1. In the read function, the user process 10 requests reading of the opened file by specifying an offset and a buffer (FIG. 8). The PFS control means 51 acquires the actual file name from the corresponding entry on the PFS link information table 52, reads and returns the data of the specified size from the specified offset (steps S1601 and S1602 in FIG. 16).

3.ユーザプロセス10はすべてのデータを読み込むまで2.を繰り返し、完了後、close関数を実行する。   3. The user process 10 repeats step 2 until all data is read, and after completion, executes the close function.

3-1.ユーザプロセス10は、close関数内で、ファイルのreleaseを要求(release)する(図7)。PFS制御手段51は、PFSリンク情報テーブル52上の当該ファイルに対応するエントリのオープンカウントをデクリメントし(図18のステップS1801、S1802)。0であればエントリを削除する(ステップS1803がyes、S1804)。   3-1. The user process 10 requests release of the file in the close function (FIG. 7). The PFS control means 51 decrements the open count of the entry corresponding to the file on the PFS link information table 52 (steps S1801 and S1802 in FIG. 18). If it is 0, the entry is deleted (step S1803 is yes, S1804).

●リネーム ● Rename

1.ユーザプロセス10は、rename関数を実行する。   1. The user process 10 executes the rename function.

1-1.ユーザプロセス10は、rename関数の中で、新規ファイル名の属性取得を要求(getattr)する。PFS制御手段51は、最新世代のファイルを検索し、その情報をユーザプロセス10に返却する(図13のステップS1301〜S1303)。   1-1. The user process 10 requests (getattr) the attribute acquisition of the new file name in the rename function. The PFS control means 51 searches for the latest generation file and returns the information to the user process 10 (steps S1301 to S1303 in FIG. 13).

1-2.ユーザプロセス10は、rename関数の中で、旧ファイル名の属性取得を要求(getattr)する。PFS制御手段51は、最新世代のファイルを検索し、その情報をユーザプロセス10に返却する(図13のステップS1301〜1303)。   1-2. The user process 10 requests (getattr) the attribute acquisition of the old file name in the rename function. The PFS control means 51 searches for the latest generation file and returns the information to the user process 10 (steps S1301 to 1303 in FIG. 13).

1-3.ユーザプロセス10は、rename関数の中で、新・旧ファイル名を指定してファイル名の変更を要求(rename)する(図11)。PFS制御手段51は、すべての旧世代ファイルを一時的なファイル名にリネームし(図23のステップS2301〜S2304)、最新世代ファイルを新ファイル名にリネームし(ステップS2305)、すべての旧世代ファイルを新ファイル名にリネームし、PFS制御情報ファイル53のエントリを更新する(ステップS2306〜S2308)。   1-3. In the rename function, the user process 10 requests the file name change by specifying the new and old file names (FIG. 11). The PFS control means 51 renames all old generation files to temporary file names (steps S2301 to S2304 in FIG. 23), renames the latest generation file to a new file name (step S2305), and sets all old generation files. Is renamed to the new file name, and the entry of the PFS control information file 53 is updated (steps S2306 to S2308).

●ディレクトリ作成 ● Directory creation

1.ユーザプロセス10は、mkdir関数を実行する。   1. The user process 10 executes the mkdir function.

1-1.ユーザプロセス10は、mkdir関数の中で、新規ディレクトリ名の属性取得を要求(getattr)する。PFS制御手段51は、最新世代のファイルを検索し、その情報をユーザプロセス10に返却する(図13のステップS1301、S1302がno、S1304)。   1-1. The user process 10 requests (getattr) the attribute acquisition of the new directory name in the mkdir function. The PFS control means 51 searches for the latest generation file and returns the information to the user process 10 (steps S1301 and S1302 in FIG. 13 are no, S1304).

1-2.ユーザプロセス10は、mkdir関数の中で、ディレクトリ名が存在しないことを確認し、ディレクトリの作成を要求(mkdir)する。PFS制御手段51は、実ファイルシステム群40の全ての実ファイルシステム41、42について、対応するパス名でディレクトリ作成を繰り返す(図20のステップS2001〜S2004)。このとき、指定されたパス名がファイルとして存在した場合(ステップS2002、S2005がそれぞれyes、no)、それまでに作成したディレクトリを全て削除して(ステップS2006)、異常を返却する。   1-2. The user process 10 confirms that the directory name does not exist in the mkdir function, and requests creation (mkdir) of the directory. The PFS control means 51 repeats directory creation with the corresponding path names for all the real file systems 41 and 42 in the real file system group 40 (steps S2001 to S2004 in FIG. 20). At this time, if the specified path name exists as a file (steps S2002 and S2005 are yes and no, respectively), all the directories created so far are deleted (step S2006), and an error is returned.

●ディレクトリ削除 ● Directory deletion

1.ユーザプロセス10は、rmdir関数を実行する。   1. The user process 10 executes the rmdir function.

1-1.ユーザプロセス10は、rmdir関数の中で、ディレクトリ名の属性取得を要求(getattr)する。PFS制御手段51は、最新世代のファイルを検索し、その情報をユーザプロセス10に返却する(図13のステップS1301〜S1303)。   1-1. The user process 10 makes a request (getattr) to acquire the attribute of the directory name in the rmdir function. The PFS control means 51 searches for the latest generation file and returns the information to the user process 10 (steps S1301 to S1303 in FIG. 13).

1-2.ユーザプロセス10は、rmdir関数の中で、ディレクトリ名が存在することを確認し、ディレクトリの削除を要求(rmdir)する。PFS制御手段51は、実ファイルシステム群40の全ての実ファイルシステム41、42について(図21のステップS2101)、対応するパス名でディレクトリ削除を繰り返す(ステップS2102〜S2105)。このとき、指定されたパスが空のディレクトリ以外だった場合(ステップS2103がno)、異常を返却する。   1-2. The user process 10 confirms that the directory name exists in the rmdir function, and requests deletion (rmdir) of the directory. The PFS control means 51 repeats the directory deletion with the corresponding path name for all the real file systems 41 and 42 in the real file system group 40 (step S2101 in FIG. 21) (steps S2102 to S2105). At this time, if the specified path is other than an empty directory (step S2103 is no), an error is returned.

●ファイル削除 ● File deletion

1.ユーザプロセス10は、unlink関数を実行する。   1. The user process 10 executes the unlink function.

1-1.ユーザプロセス10は、unlink関数の中で、削除対象ファイルの属性取得を要求(getattr)する。   1-1. The user process 10 requests (getattr) to acquire the attribute of the file to be deleted in the unlink function.

1-2.ユーザプロセス10は、unlink関数の中で、削除できるファイルならば、ファイルの削除を要求(unlink)する(図10)。PFS制御手段51は、すべての旧世代ファイルを削除し(図19のステップS1901〜S1905)、最後に最新世代ファイルを削除する(ステップS1906)。PFS制御情報ファイル53のエントリの削除(ステップS1907)は、ファイル削除の都度行う。   1-2. If the user process 10 can delete a file in the unlink function, the user process 10 requests (unlink) the deletion of the file (FIG. 10). The PFS control means 51 deletes all previous generation files (steps S1901 to S1905 in FIG. 19), and finally deletes the latest generation file (step S1906). Deletion of an entry in the PFS control information file 53 (step S1907) is performed each time the file is deleted.

●最新世代検索ロジック(図24) ● Latest generation search logic (Fig. 24)

投影ファイルシステム上のパスによって指定されたファイルと対応する実ファイルシステム41、42上のファイルの中から最新世代のファイルを検索する場合、先ず、ファイルを示すパスをエントリに分解する(図24のステップS2401)。例えば、パスが/pfs/DIR1/FILE2である場合には、pfs、DIR1、FILE2に分解する。その後、先頭のエントリから検索を開始する(ステップS2402)。例えば、/pfsが投影ファイルシステムのマウントポイントの場合、/pfs/DIR1から検索を開始する。   When the latest generation file is searched from the files on the real file systems 41 and 42 corresponding to the file specified by the path on the projection file system, first, the path indicating the file is decomposed into entries (FIG. 24). Step S2401). For example, when the path is / pfs / DIR1 / FILE2, it is decomposed into pfs, DIR1, and FILE2. Thereafter, the search is started from the first entry (step S2402). For example, if / pfs is the mount point of the projection file system, the search is started from / pfs / DIR1.

次に、全ての実ファイルシステム41、42について対応するパスを調べる(ステップS2403)。例えば、実ファイルシステム41、42の名前がそれぞれFS1、FS2であり、そのマウントポイントが/mntの場合、/mnt/FS1/DIR1と/mnt/FS2/DIR1とから検索を開始する。   Next, the paths corresponding to all the real file systems 41 and 42 are checked (step S2403). For example, if the names of the real file systems 41 and 42 are FS1 and FS2, respectively, and the mount point is / mnt, the search is started from / mnt / FS1 / DIR1 and / mnt / FS2 / DIR1.

そして、対応するエントリが見つからなかった場合(ステップS2404がyes)は、指定されたパスがどの実ファイルシステム41、42にも存在しないことになるので、異常終了とする。また、例えば、/mnt/*/DIR1が実ファイルシステム41ではファイル、実ファイルシステム42ではディレクトリである場合のように、同名でディレクトリとファイルが混在する場合(ステップS2405がyes)も、異常終了とする。また、/mnt/FS1/DIR1がファイルとして存在するのに、/mnt/FS1/DIR1/FILE2が指定されている場合のように、前のループでファイルを発見した場合(ステップS2406がyes)も、異常終了とする。   If the corresponding entry is not found (yes in step S2404), the designated path does not exist in any of the real file systems 41 and 42, so that the process ends abnormally. In addition, for example, when / mnt / * / DIR1 is a file in the real file system 41 and a directory in the real file system 42, a directory and a file with the same name are mixed (step S2405 is yes). And Also, when / mnt / FS1 / DIR1 exists as a file but a file is found in the previous loop (step S2406 is yes), as in / mnt / FS1 / DIR1 / FILE2 is specified. , Abnormal termination.

ステップS2404〜S2406の判断結果が全てnoである場合は、全てのエントリを調べたか否かを判定する(ステップS2407)。そして、調べていない場合(ステップS2407がno)は、次のエントリを調べる(ステップS2403)。なお、/mnt/*/DIR1の次は、/mnt/*/DIR1/FILE2を調べる。これに対して、全てのエントリを調べ終わった場合(ステップS2407がyes)は、PFS制御情報ファイル53を参照して、最後に発見したエントリ毎に、そのエントリに対応するファイルの登録日時(なければ、ファイル自身の作成日時)を求め、登録日時が最も新しいファイルを選択する(ステップS2408)。例えば、実ファイルシステム41における該当するファイルFILE2の登録日時が2008/10/xxであり、実ファイルシステム42における該当するファイルFILE2の登録日時が2008/09/yyであれば、実ファイルシステム41上のファイルFILE2を選択することになる。   If all the determination results in steps S2404 to S2406 are no, it is determined whether all entries have been examined (step S2407). If not checked (step S2407 is no), the next entry is checked (step S2403). Note that / mnt / * / DIR1 / FILE2 is checked after / mnt / * / DIR1. On the other hand, if all entries have been checked (yes in step S2407), the PFS control information file 53 is referred to, and for each entry found last, the registration date and time of the file corresponding to that entry (must be For example, the creation date of the file itself is obtained, and the file with the newest registration date is selected (step S2408). For example, if the registration date and time of the corresponding file FILE2 in the real file system 41 is 2008/10 / xx and the registration date and time of the corresponding file FILE2 in the real file system 42 is 2008/09 / yy, File FILE2 will be selected.

●次世代ファイルの作成先決定ロジック(図25) ● Next generation file creation logic (Figure 25)

全実ファイルシステム41、42について(図25のステップS2501)、対象ファイルの有無と存在する場合は登録日付をPFS制御情報ファイル53から取得する(ステップS2502、S2503)。存在する世代数がユーザ定義の数未満の場合(ステップS2504がno)は、対象ファイルが存在しない実ファイルシステムから、ユーザ定義のポリシーに基づいて次世代ファイルの作成先の実ファイルシステムを決定する(ステップS2506)。存在する世代数がユーザ定義の数以上の場合(ステップS2504がyes)は、対象ファイルが存在しない実ファイルシステムと、最も古い世代が存在する実ファイルシステムを加えた中から、ユーザ定義のポリシーに基づいて次世代ファイルの作成先の実ファイルシステムを決定する(ステップS2505)。ユーザ定義のポリシーとしては、負荷が低いファイルシステム優先、空き容量が大きいファイルシステム優先、などが考えられる。   For all the real file systems 41 and 42 (step S2501 in FIG. 25), the presence date and the presence of the target file are acquired from the PFS control information file 53 (steps S2502 and S2503). If the number of existing generations is less than the user-defined number (step S2504 is no), the real file system of the next-generation file creation destination is determined based on the user-defined policy from the real file system in which the target file does not exist. (Step S2506). If the number of existing generations is greater than or equal to the user-defined number (step S2504 is yes), add the real file system where the target file does not exist and the real file system where the oldest generation exists to the user-defined policy. Based on this, the real file system of the next file generation destination is determined (step S2505). As the user-defined policy, a file system priority with a low load, a file system priority with a large free space, and the like can be considered.

本実施の形態によれば、特定の実ファイルシステムに負荷が集中しないようにすることが可能になるという効果を得ることができる。その理由は、実ファイルシステム上の各ファイルの登録日時(作成日時)が登録されたPFS制御情報ファイル53を備え、ここに登録されている登録日時に基づいて処理対象にするファイルを決定するようにしているかれである。また、本実施の形態によれば、ファイルの世代管理を行うことが可能になるという効果を得ることができる。その理由は、ファイルに対してデータを書き込む際、新世代のファイルを作成し、この新世代のファイルにデータを書き込むようにしているからである。   According to the present embodiment, it is possible to obtain an effect that it is possible to prevent the load from being concentrated on a specific real file system. The reason is that the PFS control information file 53 in which the registration date and time (creation date and time) of each file on the real file system is registered is determined, and the file to be processed is determined based on the registration date and time registered here. He who is Further, according to the present embodiment, it is possible to obtain an effect that file generation management can be performed. The reason is that when writing data to a file, a new generation file is created and the data is written to this new generation file.

1…投影ファイルシステム管理装置
2…ユーザプロセス
3…投影ファイルシステム制御手段
3-1…要求受け付け手段
3-2…処理対象ファイル決定手段
3-3…要求処理手段
3-4…次世代ファイル作成手段
4…優先度テーブル
5…実ファイルシステム群
5-1〜5-N…実ファイルシステム
10…ユーザプロセス
20…仮想ファイルシステム(VFS)
30…ユーザ空間ファイルシステム(FUSE)
40…実ファイルシステム群
41、42…実ファイルシステム
50…投影ファイルシステム機構
51…PFS制御手段
52…PFSリンク情報テーブル
53…PFS制御情報ファイル
100…オペレーティングシステム
DESCRIPTION OF SYMBOLS 1 ... Projection file system management apparatus 2 ... User process 3 ... Projection file system control means
3-1 ... Request acceptance means
3-2… Processing file decision means
3-3 ... Request processing means
3-4 ... Next generation file creation means 4 ... Priority table 5 ... Real file system group
5-1 to 5-N ... Real file system
10 ... User process
20 ... Virtual File System (VFS)
30 ... User space file system (FUSE)
40 ... Real file systems
41, 42 ... Real file system
50 ... Projection file system mechanism
51 ... PFS control means
52 ... PFS link information table
53 ... PFS control information file
100 ... Operating system

Claims (11)

複数の実ファイルシステムと、
該複数の実ファイルシステムで管理されているファイルそれぞれの優先度を示す優先度情報が登録された優先度テーブルと、
前記複数の実ファイルシステムを、それらのディレクトリ構造が重ね合わされた仮想的な一つの投影ファイルシステムとして管理すると共に、ユーザプロセスから入力された前記投影ファイルシステム上のファイルを指定した処理要求に応答して、前記指定されたファイルに対応する前記実ファイルシステム上のファイルの内で最も優先度の高いファイルを前記優先度テーブルを参照して求め、該求めたファイルに対して前記処理要求によって要求された操作を行う投影ファイルシステム制御手段とを備えた投影ファイルシステム管理装置であって、
前記処理要求として、コピー元とする前記投影ファイルシステム上のファイルを指定したコピー元指定データ書き込み要求が存在し、
前記投影ファイルシステム制御手段は、ユーザプロセスから入力されたコピー元指定データ書き込み要求に応答して、該コピー元指定データ書き込み要求によって指定されたファイルに対応する前記実ファイルシステム上のファイルの内で最も優先度の高いファイルを前記優先度テーブルを参照して求め、該求めたファイルを、前記コピー元指定データ書き込み要求によって指定されたファイルと対応するファイルが存在しない実ファイルシステムの内の一つにコピーすることにより次世代のファイルを作成し、該作成した次世代のファイルに対して前記コピー元指定データ書き込み要求によって要求された操作を行うと共に、前記優先度テーブルに前記次世代のファイルの優先度情報を登録することを特徴とする投影ファイルシステム管理装置。
Multiple real file systems,
A priority table in which priority information indicating the priority of each file managed by the plurality of real file systems is registered;
The plurality of real file systems are managed as one virtual projection file system in which their directory structures are superimposed, and responds to a processing request specifying a file on the projection file system input from a user process. The file having the highest priority among the files on the real file system corresponding to the specified file is obtained by referring to the priority table, and the requested file is requested by the processing request. a projection shadow file system management apparatus that includes a projection file system control means for performing an operation was,
And with the processing request, the projection File exists the specified copy source specification data write request on the system to be the copy source,
The projection file system control means responds to the copy source designation data write request input from the user process, and among the files on the real file system corresponding to the file designated by the copy source designation data write request. A file having the highest priority is obtained by referring to the priority table, and the obtained file is one of the real file systems in which no file corresponding to the file designated by the copy source designated data write request exists. The next generation file is created by copying to the next generation file, the operation requested by the copy source designation data write request is performed on the created next generation file, and the next generation file is stored in the priority table. Projection file system management characterized by registering priority information Location.
請求項1に記載の投影ファイルシステム管理装置において、
前記処理要求として、データの読み込み先にする前記投影ファイルシステム上のファイルを指定したデータ読み込み要求と、データの書き込み先にする前記投影ファイルシステム上のファイルを指定したデータ書き込み要求とが存在することを特徴とする投影ファイルシステム管理装置。
The projection file system management apparatus according to claim 1,
As the processing request, a data read request designating the file on the projection file system to read destination data, and the data write request designating the file on the projection file system to write destination data A projection file system management apparatus characterized by existing.
請求項1または2に記載の投影ファイルシステム管理装置において、
前記ファイルの優先度情報は、ファイルの作成時期に関する情報であり、作成時期が新しいファイルほど、優先度が高いことを特徴とする投影ファイルシステム管理装置。
In the projection file system management apparatus according to claim 1 or 2,
The file priority information is information relating to the creation time of a file, and a file having a higher creation priority has a higher priority.
請求項記載の投影ファイルシステム管理装置において、
前記投影ファイルシステム制御手段は、前記複数の実ファイルシステムの中に、前記コピー元指定データ書き込み要求によって指定されたファイルと対応するファイルが存在しない実ファイルシステムが複数存在する場合は、該複数の実ファイルシステム中から、最も空き容量が大きい実ファイルシステムあるいは最も負荷が低い実ファイルシステムを選択することを特徴とする投影ファイルシステム管理装置。
The projection file system management apparatus according to claim 3 , wherein
The projection file system control means, when there are a plurality of real file systems in which a file corresponding to the file designated by the copy source designation data write request does not exist in the plurality of real file systems, A projection file system management apparatus, wherein an actual file system having the largest available capacity or an actual file system having the lowest load is selected from the actual file systems.
請求項に記載の投影ファイルシステム管理装置において、
前記投影ファイルシステム制御手段は、前記複数の実ファイルシステムの全てに前記コピー元指定データ書き込み要求によって指定されたファイルと対応するファイルが存在する場合は、該対応するファイルの内、最古世代のファイルが存在する実ファイルシステムを選択することを特徴とする投影ファイルシステム管理装置。
In the projection file system management apparatus according to claim 4 ,
If the file corresponding to the file specified by the copy source specifying data write request exists in all of the plurality of real file systems, the projection file system control means is the oldest generation of the corresponding files. A projection file system management apparatus that selects an actual file system in which a file exists.
複数の実ファイルシステムと、該複数の実ファイルシステムで管理されているファイルそれぞれの優先度を示す優先度情報が登録された優先度テーブルとを備えたコンピュータが、
前記複数の実ファイルシステムを、それらのディレクトリ構造が重ね合わされた仮想的な一つの投影ファイルシステムとして管理する第1のステップと、
前記コンピュータが、ユーザプロセスから入力された前記投影ファイルシステム上のファイルを指定した処理要求に応答して、前記指定されたファイルに対応する前記実ファイルシステム上のファイルの内で最も優先度の高いファイルを前記優先度テーブルを参照して求め、該求めたファイルに対して前記処理要求によって要求された操作を行う第2のステップとを含む投影ファイルシステム管理方法であって、
前記処理要求として、コピー元とする前記投影ファイルシステム上のファイルを指定したコピー元指定データ書き込み要求が存在し、且つ、
前記コンピュータが、ユーザプロセスから入力されたコピー元指定データ書き込み要求に応答して、該コピー元指定データ書き込み要求によって指定されたファイルに対応する、前記実ファイルシステム上のファイルの内で最も優先度の高いファイルを前記優先度テーブルを参照して求め、該求めたファイルを、前記コピー元指定データ書き込み要求によって指定されたファイルと対応するファイルが存在しない実ファイルシステムの内の一つにコピーすることにより次世代のファイルを作成し、該作成した次世代のファイルに対して前記コピー元指定データ書き込み要求によって要求された操作を行うと共に、前記優先度テーブルに前記次世代のファイルの優先度情報を登録する第3のステップを含むことを特徴とする投影ファイルシステム管理方法。
A computer comprising a plurality of real file systems and a priority table in which priority information indicating the priority of each file managed by the plurality of real file systems is registered.
A first step of managing the plurality of real file systems as one virtual projection file system in which their directory structures are superimposed;
In response to the processing request specifying the file on the projection file system input from the user process, the computer has the highest priority among the files on the real file system corresponding to the specified file. seeking file by referring to the priority table, and a second step of performing an operation requested by the processing request to the determined file a including projecting the shadow file system management method,
The processing by the request, there is the copy source and the projection copy source specification data write request designating the file on the file system, and,
In response to the copy source designation data write request input from the user process, the computer has the highest priority among the files on the real file system corresponding to the file designated by the copy source designation data write request. A file having a high file size is obtained by referring to the priority table, and the obtained file is copied to one of the real file systems in which no file corresponding to the file designated by the copy source designated data write request exists. To create a next-generation file, perform the operation requested by the copy-source-designated data write request for the created next-generation file, and store priority information on the next-generation file in the priority table. A projection file system comprising a third step of registering Management method.
請求項に記載の投影ファイルシステム管理方法において、
前記処理要求として、データの読み込み先にする前記投影ファイルシステム上のファイルを指定したデータ読み込み要求と、データの書き込み先にする前記投影ファイルシステム上のファイルを指定したデータ書き込み要求とが存在することを特徴とする投影ファイルシステム管理方法。
The projection file system management method according to claim 6 ,
As the processing request, a data read request designating the file on the projection file system to read destination data, and the data write request designating the file on the projection file system to write destination data A projection file system management method characterized by existing.
請求項6または7に記載の投影ファイルシステム管理方法において、
前記ファイルの優先度情報は、ファイルの作成時期に関する情報であり、作成時期が新しいファイルほど、優先度が高いことを特徴とする投影ファイルシステム管理方法。
The projection file system management method according to claim 6 or 7 ,
The file priority information is information relating to the creation time of a file, and a file with a newer creation time has a higher priority.
複数の実ファイルシステムと、該複数の実ファイルシステムで管理されているファイルそれぞれの優先度を示す優先度情報が登録された優先度テーブルとを備えたコンピュータを、投影ファイルシステム管理装置として機能させるためのプログラムであって、
前記コンピュータを、前記複数の実ファイルシステムによりそれらのディレクトリ構造が重ね合わされた仮想的な一つの投影ファイルシステムを構成すると共に、ユーザプロセスから入力された前記投影ファイルシステム上のファイルを指定した処理要求に応答して、前記指定されたファイルに対応する前記実ファイルシステム上のファイルの内で最も優先度の高いファイルを前記優先度テーブルを参照して求め、該求めたファイルに対して前記処理要求によって要求された操作を行う投影ファイルシステム制御手段として機能させるためのプログラムであって、
前記処理要求として、コピー元とする前記投影ファイルシステム上のファイルを指定したコピー元指定データ書き込み要求が存在し、
前記投影ファイルシステム制御手段は、ユーザプロセスから入力されたコピー元指定データ書き込み要求に応答して、該コピー元指定データ書き込み要求によって指定されたファイルに対応する前記実ファイルシステム上のファイルの内で最も優先度の高いファイルを前記優先度テーブルを参照して求め、該求めたファイルを、前記コピー元指定データ書き込み要求によって指定されたファイルと対応するファイルが存在しない実ファイルシステムの内の一つにコピーすることにより次世代のファイルを作成し、該作成した次世代のファイルに対して前記コピー元指定データ書き込み要求によって要求された操作を行うと共に、前記優先度テーブルに前記次世代のファイルの優先度情報を登録することを特徴とするプログラム。
A computer having a plurality of real file systems and a priority table in which priority information indicating priority levels of files managed by the plurality of real file systems is registered is caused to function as a projection file system management apparatus. A program for
The computer constitutes one virtual projection file system in which the directory structures are overlapped by the plurality of real file systems, and a processing request specifying a file on the projection file system input from a user process In response, the file having the highest priority among the files on the real file system corresponding to the designated file is obtained by referring to the priority table, and the processing request for the obtained file is obtained. a program to function as the projection file system control means for performing the requested operation by,
And with the processing request, the projection File exists the specified copy source specification data write request on the system to be the copy source,
The projection file system control means responds to the copy source designation data write request input from the user process, and among the files on the real file system corresponding to the file designated by the copy source designation data write request. A file having the highest priority is obtained by referring to the priority table, and the obtained file is one of the real file systems in which no file corresponding to the file designated by the copy source designated data write request exists. The next generation file is created by copying to the next generation file, the operation requested by the copy source designation data write request is performed on the created next generation file, and the next generation file is stored in the priority table. A program characterized by registering priority information.
請求項に記載のプログラムにおいて、
前記処理要求として、データの読み込み先にする前記投影ファイルシステム上のファイルを指定したデータ読み込み要求と、データの書き込み先にする前記投影ファイルシステム上のファイルを指定したデータ書き込み要求とが存在することを特徴とするプログラム。
The program according to claim 9 ,
As the processing request, a data read request designating the file on the projection file system to read destination data, and the data write request designating the file on the projection file system to write destination data A program characterized by the existence.
請求項9または10に記載のプログラムにおいて、
前記ファイルの優先度情報は、ファイルの作成時期に関する情報であり、作成時期が新しいファイルほど、優先度が高いことを特徴とするプログラム。
The program according to claim 9 or 10 ,
The file priority information is information relating to the creation time of a file, and a file having a higher creation priority has a higher priority.
JP2009084861A 2009-03-31 2009-03-31 Projection file system management apparatus, projection file system management method, and program Active JP5481906B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009084861A JP5481906B2 (en) 2009-03-31 2009-03-31 Projection file system management apparatus, projection file system management method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009084861A JP5481906B2 (en) 2009-03-31 2009-03-31 Projection file system management apparatus, projection file system management method, and program

Publications (2)

Publication Number Publication Date
JP2010237939A JP2010237939A (en) 2010-10-21
JP5481906B2 true JP5481906B2 (en) 2014-04-23

Family

ID=43092194

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009084861A Active JP5481906B2 (en) 2009-03-31 2009-03-31 Projection file system management apparatus, projection file system management method, and program

Country Status (1)

Country Link
JP (1) JP5481906B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016136743A1 (en) 2015-02-26 2016-09-01 三菱電機株式会社 Rotating electric machine
CN106302609B (en) 2015-06-08 2020-02-28 阿里巴巴集团控股有限公司 Access method and device

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07311701A (en) * 1994-05-18 1995-11-28 Canon Inc Processor and method for information processing
JP3595073B2 (en) * 1995-08-28 2004-12-02 株式会社東芝 Computer system and file management method used in the system
JP2006268456A (en) * 2005-03-24 2006-10-05 Nec Corp File management device, file management method and file management program
JP2008226137A (en) * 2007-03-15 2008-09-25 Funai Electric Co Ltd File management method and file management system
JP2008269198A (en) * 2007-04-19 2008-11-06 Ize:Kk Thin client operating system, thin client device, server-thin client system, and execution method of thin client operating system

Also Published As

Publication number Publication date
JP2010237939A (en) 2010-10-21

Similar Documents

Publication Publication Date Title
US7672981B1 (en) Object classification and indexing of very large name spaces using grid technology
JP4157858B2 (en) Parallel high-speed backup of storage area network (SAN) file systems
JP4414381B2 (en) File management program, file management apparatus, and file management method
US7801850B2 (en) System of and method for transparent management of data objects in containers across distributed heterogenous resources
US7752226B1 (en) Reverse pathname lookup by inode identifier
US8135677B2 (en) File management system and method
JP5656563B2 (en) Document management system, document management system control method, and program
JP4749266B2 (en) Backup control apparatus and method without duplication of information resources
US9158835B2 (en) Method and system for offline indexing of content and classifying stored data
CN104714755B (en) Snapshot management method and device
CN103109292B (en) The system and method for Aggregation Query result in fault tolerant data base management system
US8965941B2 (en) File list generation method, system, and program, and file list generation device
WO2012035588A1 (en) Method for managing information processing system and data management computer system
JP5233233B2 (en) Information search system, information search index registration device, information search method and program
JP5430164B2 (en) Data management method and apparatus
US20060074865A1 (en) System and method for scoping searches using index keys
WO2012140957A1 (en) Information storage system and data replication method thereof
EP3333730A1 (en) Data processing device, data processing program and data processing method
JP2008305094A (en) Documentation management method and its apparatus
JP2009110260A (en) File sharing system in cooperation with search engine
CN104618482A (en) Cloud data access method, server, traditional storage device and architecture
JP2009064120A (en) Search system
JP5481906B2 (en) Projection file system management apparatus, projection file system management method, and program
JP2006268456A (en) File management device, file management method and file management program
US20060004877A1 (en) Method and system for data processing with data replication for the same

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120209

RD07 Notification of extinguishment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7427

Effective date: 20120712

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131021

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131105

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131218

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140203

R150 Certificate of patent or registration of utility model

Ref document number: 5481906

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150