JP2010237939A - 投影ファイルシステム管理装置及び投影ファイルシステム管理方法並びにプログラム - Google Patents

投影ファイルシステム管理装置及び投影ファイルシステム管理方法並びにプログラム Download PDF

Info

Publication number
JP2010237939A
JP2010237939A JP2009084861A JP2009084861A JP2010237939A JP 2010237939 A JP2010237939 A JP 2010237939A JP 2009084861 A JP2009084861 A JP 2009084861A JP 2009084861 A JP2009084861 A JP 2009084861A JP 2010237939 A JP2010237939 A JP 2010237939A
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.)
Granted
Application number
JP2009084861A
Other languages
English (en)
Other versions
JP5481906B2 (ja
Inventor
Takahiro Ito
孝紘 伊東
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/ja
Publication of JP2010237939A publication Critical patent/JP2010237939A/ja
Application granted granted Critical
Publication of JP5481906B2 publication Critical patent/JP5481906B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

【課題】複数の実ファイルシステムのディレクトリ構造を重ね合わせることにより構成した仮想的な投影ファイルシステムにおいて、特定の実ファイルシステムに負荷が集中しないようにする。
【解決手段】優先度テーブル4には、実ファイルシステム5-1〜5-N上の各ファイルの優先度を示す優先度情報が登録されている。投影ファイルシステム制御手段3は、各実ファイルシステム5-1〜5-Nのディレクトリ構図を重ね合わせた仮想的な投影ファイルシステムを管理している。ユーザプロセス2は、投影ファイルシステム上のファイルを指定した処理要求を発行する。投影ファイルシステム制御手段3は、上記指定されたファイルに対応する実ファイルシステム上のファイルの内で最も優先度の高いファイルを優先度テーブル4を参照して求め、そのファイルに対して上記処理要求によって要求された操作を行う。
【選択図】図1

Description

本発明は、複数の実ファイルシステムを一つの仮想的なファイルシステムとして管理する技術に関する。
複数の実ファイルシステムを一つの仮想的なファイルシステムとして管理する技術としては、次のような技術が知られている(例えば、特許文献1参照)。特許文献1では、複数の実ファイルシステムを用いて、そのディレクトリ構造が上記複数の実ファイルシステムのディレクトリ構造を重ね合わせたものとなる、透過型の仮想的なファイルシステム(透過型ファイルシステム)を構成している。なお、ディレクトリ構造の重ね合わせ方は、名前が一致するパス同士を一つに合成し、名前が不一致のパスは元のまま残すというものである。この一つに合成された部分に存在するファイルは、複数の実ファイルシステム上に存在することになる。また、各実ファイルシステムには、優先度が付与されており、透過型ファイルシステム上のファイルに対する読み込み要求や書き込み要求があった場合、優先度を利用して次のような処理を行う。
読み込み要求時には、優先度が最も高い実ファイルシステムから順番に、要求されたファイルを検索し、最初に該当ファイルを検索できた実ファイルシステムに存在する該当ファイルからデータを読み出す。また、書き込み要求時には、優先度が最も高い実ファイルシステムから順番に、要求されたファイルを検索する。そして、最初に該当ファイルを検索できた実ファイルシステムが優先度の最も高い実ファイルシステムである場合には、その実ファイルシステムに存在する該当ファイルにデータを書き込む。また、最初に該当ファイルを検索できた実ファイルシステムが、最も優先度が高い実ファイルシステム以外である場合には、検索した該当ファイルを優先度が最も高い実ファイルシステムにコピーし、コピーしたファイルにデータを書き込む。
特開2006−268456号公報
特許文献1に記載されている技術によれば、複数の実ファイルシステムを一つの仮想的なファイルシステムとして管理することが可能になる。しかし、特許文献1に記載されている技術は、実ファイルシステム単位で優先度を制御しているため、ユーザが透過型ファイルシステム上のファイルをアクセスした際、実際にアクセスされる実ファイルシステム上のファイルが、優先度が高い実ファイルシステム上のファイルに限られてしまい、融通性に欠けるという問題がある。例えば、第1、第2の実ファイルシステムから構成され、第1の実ファイルシステムの方が優先度が高い透過型ファイルシステムの場合、第1、第2の実ファイルシステムの両方に、透過型ファイルシステム上のファイルF1、F2と対応するファイルf1、f2が存在していても、ユーザがアクセスできるファイルは常に第1の実ファイルシステム上のファイルf1、f2に限られてしまい、ファイルf1は第1の実ファイルシステム上のものをアクセスし、ファイルf2は第2の実ファイルシステム上のものアクセスするといったことができない。
[発明の目的]
そこで、本発明の目的は、複数の実ファイルシステムから構成される仮想的なファイルシステムにおいて、どの実ファイルシステム上に存在するファイルをユーザにアクセスさせるのかをファイル単位で制御できるようにすることにある。
本発明にかかる第1の投影ファイルシステム管理装置は、
複数の実ファイルシステムと、
該複数の実ファイルシステムで管理されているファイルそれぞれの優先度を示す優先度情報が登録された優先度テーブルと、
前記複数の実ファイルシステムを、それらのディレクトリ構造が重ね合わされた仮想的な一つの投影ファイルシステムとして管理すると共に、ユーザプロセスから入力された前記投影ファイルシステム上のファイルを指定した処理要求に応答して、前記指定されたファイルに対応する前記実ファイルシステム上のファイルの内で最も優先度の高いファイルを前記優先度テーブルを参照して求め、該求めたファイルに対して前記処理要求によって要求された操作を行う投影ファイルシステム制御手段とを備えている。
本発明にかかる第1の投影ファイルシステム管理方法は、
複数の実ファイルシステムと、該複数の実ファイルシステムで管理されているファイルそれぞれの優先度を示す優先度情報が登録された優先度テーブルとを備えたコンピュータが、
前記複数の実ファイルシステムを、それらのディレクトリ構造が重ね合わされた仮想的な一つの投影ファイルシステムとして管理する第1のステップと、
前記コンピュータが、ユーザプロセスから入力された前記投影ファイルシステム上のファイルを指定した処理要求に応答して、前記指定されたファイルに対応する前記実ファイルシステム上のファイルの内で最も優先度の高いファイルを前記優先度テーブルを参照して求め、該求めたファイルに対して前記処理要求によって要求された操作を行う第2のステップとを含む。
本発明にかかる第1のプログラムは、
複数の実ファイルシステムと、該複数の実ファイルシステムで管理されているファイルそれぞれの優先度を示す優先度情報が登録された優先度テーブルとを備えたコンピュータを、投影ファイルシステム管理装置として機能させるためのプログラムであって、
前記コンピュータを、前記複数の実ファイルシステムによりそれらのディレクトリ構造が重ね合わされた仮想的な一つの投影ファイルシステムを構成すると共に、ユーザプロセスから入力された前記投影ファイルシステム上のファイルを指定した処理要求に応答して、前記指定されたファイルに対応する前記実ファイルシステム上のファイルの内で最も優先度の高いファイルを前記優先度テーブルを参照して求め、該求めたファイルに対して前記処理要求によって要求された操作を行う投影ファイルシステム制御手段として機能させる。
本発明によれば、複数の実ファイルシステムから構成される仮想的なファイルシステムにおいて、どの実ファイルシステム上に存在するファイルをユーザにアクセスさせるのかをファイル単位で制御することが可能になるという効果を得ることができる。
図1は本発明の第1の実施の形態の構成例を示すブロック図である。 図2は投影ファイルシステムのイメージを示した図である。 図3は本発明の第2の実施の形態の構成例を示すブロック図である。 図4はPFS制御情報ファイル53の一例を示す図である。 図5はPFSリンク情報テーブル52の一例を示す図である。 図6はopen時の動作を示す図である。 図7はrelease時の動作を示す図である。 図8はread時の動作を示す図である。 図9はwrite時の動作を示す図である。 図10はファイル削除時の動作を示す図である。 図11はrename時の動作を示す図である。 図12はファイルサイズ変更時の動作を示す図である。 図13はgetattr()が発行された際のPFS制御手段51の処理例を示すフローチャートである。 図14はopen()が発行された際のPFS制御手段51の処理例を示すフローチャートである。 図15はtruncate()が発行された際のPFS制御手段51の処理例を示すフローチャートである。 図16はread()が発行された際のPFS制御手段51の処理例を示すフローチャートである。 図17はwrite()が発行された際のPFS制御手段51の処理例を示すフローチャートである。 図18はrelease()が発行された際のPFS制御手段51の処理例を示すフローチャートである。 図19はunlink()が発行された際のPFS制御手段51の処理例を示すフローチャートである。 図20はmkdir()が発行された際のPFS制御手段51の処理例を示すフローチャートである。 図21はrmdir()が発行された際のPFS制御手段51の処理例を示すフローチャートである。 図22はmknod()が発行された際のPFS制御手段51の処理例を示すフローチャートである。 図23はrename()が発行された際のPFS制御手段51の処理例を示すフローチャートである。 図24は最新世代のファイルを検索する際の処理例を示すフローチャートである。 図25は次世代ファイルの出力先(作成先)を決定する際の処理例を示すフローチャートである。
次に、本発明の実施の形態について詳細に説明する。
[本発明の第1の実施の形態]
図1を参照すると、本発明の第1の実施の形態にかかる投影ファイルシステム管理装置1は、ユーザプロセス2と、投影ファイルシステム制御手段3と、優先度テーブル4と、実ファイルシステム群5とを含んでいる。なお、投影ファイルシステム管理装置1は、コンピュータによって実現される。
実ファイルシステム群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が付与されているとする。
優先度テーブル4には、各実ファイルシステム5-1、5-2上に存在する各ファイルの優先度を示す優先度情報が登録されている。なお、本実施の形態では、優先度情報としてファイルの作成日時(登録日時)を示す情報が登録されているとする。
ユーザプロセス2は、データ読み込み要求、第1のデータ書き込み要求、および、第2のデータ書き込み要求を投影ファイルシステム制御手段3に対して発行する。データ読み込み要求は、読み込み先にする投影ファイルシステム(投影ファイルシステムについては後述する)上のファイルを指定して、データの読み込みを要求するものである。第1のデータ書き込み要求は、書き込み先にする投影ファイルシステム上のファイルを指定して、データの書き込みを要求するものである。第2のデータ書き込み要求は、コピー元にする投影ファイルシステム上のファイルを指定して、そのコピー先のファイル(次世代のファイル)へのデータの書き込みを要求するものである。なお、第1のデータ書き込み要求は、ファイルの世代管理を行うことが不必要な場合に発行され、第2のデータ書き込み要求は、ファイルの世代管理を行うことが必要な場合に発行される。
投影ファイルシステム制御手段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つが存在する。
また、投影ファイルシステム制御手段3は、ユーザプロセス2からの処理要求に応じた処理を行うものであり、要求受け付け手段3-1と、処理対象ファイル決定手段3-2と、要求処理手段3-3と、次世代ファイル作成手段3-4とを備えている。
要求受け付け手段3-1は、ユーザプロセス2からのデータ読み込み要求、第1のデータ書き込み要求、第2のデータ書き込み要求を受け付ける機能を有する。
処理対象ファイル決定手段3-2は、要求受け付け手段3-1が受け付けたデータ読み込み要求、第1のデータ書き込み要求、あるいは、第2のデータ書き込み要求によって指定された投影ファイルシステム上のファイルと対応する実ファイルシステム5-1、5-2上のファイルの内、最も優先度の高いファイルを優先度テーブル4を参照して求める機能を有する。なお、本実施の形態では、登録日時が新しいファイルほど、優先度が高いとする。
要求処理手段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によって作成された次世代のファイルに要求されたデータを書き込む。
次世代ファイル作成手段3-4は、要求処理手段3-3から渡された次世代ファイル作成要求中の情報によって特定されるファイルを、第2のデータ書き込み要求によって指定されたファイルと対応するファイルが存在しない実ファイルシステムの内の一つにコピーすることにより、次世代のファイルを作成する。また、作成した次世代のファイルの優先度(登録日時)に関する情報を優先度テーブル4に追加登録する。
なお、投影ファイルシステム制御手段3は、コンピュータによって実現可能であり、コンピュータによって実現する場合は、例えば次のようにする。コンピュータを投影ファイルシステム制御手段3として機能させるためのプログラムを記録したディスク、半導体メモリ、その他の記録媒体を用意し、コンピュータに上記プログラムを読み取らせる。コンピュータは、読み取ったプログラムに従って自身の動作を制御することにより、自コンピュータ上に投影ファイルシステム制御手段3を実現する。
次に、本実施の形態の動作について説明する。
先ず、ユーザプロセス2からデータ読み込み要求が発行されたときの動作について説明する。
ユーザプロセス2からのデータ読み込み要求は、要求受け付け手段3-1によって受け付けられる。今、例えば、データ読み込み要求によって、投影ファイルシステム上のファイル(/mount-point/DIR1/FILE2)が指定されているとする。
処理対象ファイル決定手段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/に置き換えることにより機械的に求めることができる。
要求処理手段3-3は、処理対象ファイル決定手段3-2によって実ファイルシステム5-1上のファイル(/mnt/pfs/FS1/DIR1/FILE2)が選択されると、そこからデータを読み込み、ユーザプロセス2へ返却する。
次に、ユーザプロセス2から第1のデータ書き込み要求が入力された場合の動作について説明する。ユーザプロセス2からの第1のデータ書き込み要求は、要求受け付け手段3-1によって受け付けられる。今、例えば、第1のデータ書き込み要求によって、投影ファイルシステム上のファイル(/mount-point/DIR1/FILE2)が指定されているとする。
処理対象ファイル決定手段3-2は、データ読み込み要求が入力された際と同様の動作を行い、優先度が最も高いファイルとして実ファイルシステム5-1上のファイル(/mnt/pfs/FS1/DIR1/FILE2)を選択する。
要求処理手段3-3は、処理対象ファイル決定手段3-2によって選択された実ファイルシステム5-1上のファイル(/mnt/pfs/FS1/DIR1/FILE2)に対して、ユーザプロセス2によって要求されたデータを書き込む。また、優先度テーブル4に登録されている、上記ファイルの優先度に関する情報を現在日時に更新する。
次に、ユーザプロセス2から第2のデータ書き込み要求が発行された場合の動作について説明する。ユーザプロセス2からの第2のデータ書き込み要求は、要求受け付け手段3-1によって受け付けられる。今、例えば、第2のデータ書き込み要求によって、投影ファイルシステム上のファイル(/mount-point/DIR1/FILE2)が指定されているとする。処理対象ファイル決定手段3-2は、データ読み込み要求が入力された際と同様の動作を行い、優先度が最も高いファイルとして実ファイルシステム5-1上のファイル(/mnt/pfs/FS1/DIR1/FILE2)を選択する。
要求処理手段3-3は、処理対象ファイル決定手段3-2によって選択されたファイル(/mnt/pfs/FS1/DIR1/FILE2)を示す情報を含んだ次世代ファイル作成要求を次世代ファイル作成手段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に登録する。
要求処理手段3-3は、次世代ファイル作成手段3-4によって次世代のファイルが作成されると、そのファイルにデータを書き込む。また、優先度テーブル4に登録されている、上記ファイルの優先度に関する情報を現在日時に更新する。
本実施の形態によれば、複数の実ファイルシステムから構成される仮想的な投影ファイルシステムにおいて、どの実ファイルシステム上に存在するファイルをユーザにアクセスさせるのかをファイル単位で制御することが可能になるという効果を得ることができる。その理由は、実ファイルシステム上のファイルに優先度を付与しておき、この優先度に基づいてアクセス先にするファイルを決定するようにしているからである。
更に、本実ファイルシステムによれば、ファイルの世代管理を行うことが可能になる効果がある。その理由は、ユーザプロセス2から入力された第2のデータ書き込み要求に応答して、第2の書き込み要求によって指定されたファイルに対応する実ファイルシステム上のファイルの内で最も優先度の高いファイルを優先度テーブル4を参照して求め、この求めたファイルを、第2のデータ書き込み要求によって指定されたファイルと対応するファイルが存在しない実ファイルシステムの内の一つにコピーすることにより、次世代のファイルを作成し、更に、上記次世代のファイルに関する登録日時を優先度テーブル4に登録するようにしているからである。
更に、本実施の形態では、第2の書き込み要求によって指定されたファイルと対応するファイルが存在しない実ファイルシステムが複数存在する場合は、その内の最も空き容量が大きい実ファイルシステムあるいは最も負荷が低い実ファイルシステムに次世代のファイルを作成するようにしているので、特定の実ファイルシステムに負荷が集中しないようにすることができる。
[本発明の第2の実施の形態]
次に、本発明の第2の実施の形態について説明する。
図3を参照すると、本発明の第2の実施の形態にかかるオペレーティングシステム100は、ユーザプロセス10と、仮想ファイルシステム20と、ユーザ空間ファイルシステム30と、実ファイルシステム群40と、投影ファイルシステム機構50とを含む。なお、本実施の形態では、オペレーティングシステム100はUNIX(登録商標)であるとする。また、以降PFSを投影ファイルシステム(Projection File System)を指す略語とする。
実ファイルシステム群40は、実ファイルシステム41と、実ファイルシステム42を含む。なお、各実ファイルシステム41、42中の全てのディレクトリには、PFS制御情報ファイル53が格納されており、該ディレクトリ中の各ファイルについてファイル名、PFS登録日時が含まれる。PFS登録日時によって世代が管理される。PFS制御情報ファイル53の一例を図4に示す。
図3の投影ファイルシステム機構50は、PFS制御手段51と、PFSリンク情報テーブル52とを含む。PFSリンク情報テーブル52は、openされたファイル毎のリンク情報を保持するテーブルである。リンク情報には、ファイル名、世代保護フラグ、書き込みフラグ、実ファイルパス、オープンカウンタが含まれる。PFSリンク情報テーブル52の一例を図5に示す。また、投影ファイルシステム機構50は、複数の実ファイルシステム41、42を、それらのディレクトリ構造が重ね合わされた透過型の仮想的な一つの投影ファイルシステムとして管理する。
ユーザプロセス10は、全てのファイルアクセス処理を仮想ファイルシステム(VFS;Virtual File System)20に対して依頼する。
仮想ファイルシステム20は、一つのオペレーティングシステム上で複数のファイルシステムを統一的に扱うために、個々のファイルシステムが提供するインタフェース間の相違を隠蔽し、共通のインタフェースを提供する仮想的なファイルシステムであり、実ファイルシステム41と、実ファイルシステム42と、ユーザ空間ファイルシステム(FUSE;Filesystem in Userspace)30に対し、ユーザからのファイルアクセス処理の依頼を行う。仮想ファイルシステムはLinux等におけるVFSで既に実現・普及しており、本実施の形態においても投影ファイルシステムの実現にあたり、この仮想ファイルシステムによって統一されたインタフェースが提供されるものとする。
ユーザ空間ファイルシステム30は、PFS制御手段51を呼び出し、実ファイルシステム41と、実ファイルシステム42に対してファイルアクセス処理を行う。この場合、PFS制御手段51は、仮想ファイルシステム20を通して実際のファイルアクセス処理を行う。一般にファイルシステムは、オペレーティングシステムが提供するread/write等のシステムコールの先でカーネル空間で動作しており、カーネル空間でファイルシステムを構築するには多大な手間と制約が発生する。ユーザ空間ファイルシステムは、ユーザ空間でファイルシステムを構築するための一連の機構であり、Linux等におけるFUSEで既に実現・普及しており、本実施の形態においても投影ファイルシステム機構50をユーザ空間で実現するために、このユーザ空間ファイルシステム30を備えているものとする。従って、投影ファイルシステム機構50をカーネル空間に設ける場合には、ユーザ空間ファイルシステム30は不要となる。
PFS制御手段51は、PFSリンク情報テーブル52の当該ファイルエントリ、ならびに、PFS制御情報ファイル53に対し、情報の参照、及び、更新を行う。
次に、本実施の形態の動作について説明する。
まず、ユーザによるファイルアクセス要求がVFS20を通してどのようにPFS制御手段51に通知され、処理が実行されるかを説明する。次に、ユーザによるファイルアクセスの延長で、どのようにVFSオペレーションがコールされ、PFS制御手段51がどのように処理を行うかを、図6〜図25を用いて説明する。特に、各VFSオペレーションの処理の詳細については、図13〜図25にフローチャートを記載する。なお、以降の実施例ではファイルシステムを構成するすべての動作について網羅しておらず、本発明において実現される世代管理について重要となる8つの一般的なファイルアクセス処理(新規write/上書きwrite/追記write/read/rename/mkdir/rmdir/unlink)について述べる。
●ユーザ要求によるVFSオペレーションのPFS制御手段51への通知と実行結果返却
1.ユーザによるファイルアクセスの延長でVFSオペレーションがユーザプロセス10からVFS20に発行される。
2.VFS20は、発行されたオペレーションをFUSE30に対して転送する。
3.FUSE30は、発行されたオペレーションをPFS制御手段51に対して転送する。
4.PFS制御手段51は、発行されたオペレーションの処理を行い、結果をFUSE30に通知する。
5.FUSE30、VFS20を通してユーザプロセス10に処理結果が通知される。
●新規ファイルへの書き込み
1.ユーザプロセス10は、open関数を実行する。
1-1.ユーザプロセス10は、open関数内で、書き込み対象ファイルの属性取得を要求(getattr)する。PFS制御手段51は、最新世代ファイル検索ロジックに従って最新世代ファイルを検索し(図13のステップS1301)、その情報をユーザプロセス10に返却する(ステップS1302がno、S1304)。最新世代ファイル検索ロジックについては、図24を参照して後で説明する。
1-2.ユーザプロセス10は、open関数内で、ファイルが存在しないことを確認し、ファイルの作成を要求(mknod)する。PFS制御手段51は、次世代ファイルの作成先決定ロジック(後述;図25)に従ってファイルの作成先となる実ファイルシステムを決定し(図22のステップS2201)、ファイルを作成し(ステップS2202)、PFS制御情報ファイル53を作成し、ファイル名とPFS登録日付を登録する(ステップS2203)。
1-3.ユーザプロセス10は、open関数内で、書き込み対象ファイルの属性取得を要求(getattr)し、新規作成したファイルの情報を取得する。PFS制御手段51は、最新世代のファイルを検索し、その情報をユーザプロセス10に返却する(図13のステップS1301〜S1303)。
1-4.ユーザプロセス10は、open関数内で、新規作成したファイルのオープンを要求(open)する(図6)。PFS制御手段51は、PFSリンク情報テーブル52にエントリを作成する。当該エントリには、PFS上のファイル名と世代保護フラグと書き込みフラグと実ファイル名とオープンカウントとを登録する(図14のステップS1401〜S1406)。他プロセスによってすでにオープン済なら、エントリを取得し、書き込みフラグをONにし、オープンカウントをインクリメントする(ステップS1401がyes、S1407〜S1409、S1406)。他プロセスによって書き込みオープン済の場合(ステップS1408がyes)は、異常を通知する。
2.ユーザプロセス10は、write関数を実行する。
2-1.ユーザプロセス10は、write関数内で、オープンしたファイルについて、オフセットとバッファを指定して書き込みを要求(write)する(図9)。PFS制御手段51は、PFSリンク情報テーブル52上の対応するエントリから実ファイル名を取得し、指定されたバッファからデータを取得して、指定されたオフセットから書き込む(図17のステップS1701、S1702、S1708)。
3.ユーザプロセス10はすべてのデータを書き込むまで2.を繰り返し、完了後、close関数を実行する。
3-1.ユーザプロセス10は、close関数内で、ファイルのreleaseを要求(release)する(図7)。PFS制御手段51は、PFSリンク情報テーブル52上の当該ファイルに対応するエントリのオープンカウントをデクリメントし、0であればエントリを削除する(図18のステップS1801〜S1804)。まだオープンしているプロセスが残っていれば、書き込みフラグをOFFにし、世代保護フラグをONにする(ステップS1803がno、S1805がyes、S1806)。
●既存ファイルの切り詰めと書き込み
1.ユーザプロセス10は、open関数を実行する。
1-1.ユーザプロセス10は、open関数内で、書き込み対象ファイルの属性取得を要求(getattr)する。PFS制御手段51は、最新世代ファイルを検索し、その情報をユーザプロセス10に返却する(図13、ステップS1301、S1302が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-3.ユーザプロセス10は、open関数内で、書き込み対象ファイルの属性取得を要求(getattr)し、新規作成したファイルの情報を取得する。PFS制御手段51は、最新世代のファイルを検索し、その情報をユーザプロセス10に返却する(図13のステップS1301〜S1303)。
1-4.ユーザプロセス10は、open関数内で、ファイルのオープンを要求(open)する(図6)。PFS制御手段51は、PFSリンク情報テーブル52にエントリを作成する。当該エントリには、PFS上のファイル名と世代保護フラグと書き込みフラグと実ファイル名とオープンカウントとを登録する(図14のステップS1401〜S1406)。他プロセスによってすでにオープン済なら、エントリを取得し、書き込みフラグをONにし、オープンカウントをインクリメントする(ステップS1401がyes、S1407〜S1409、S1406)。他プロセスによって書き込みオープン済の場合(ステップS1408がyes)は、異常を通知する。
2.ユーザプロセス10は、write関数を実行する。
2-1.ユーザプロセス10は、write関数内で、オープンしたファイルについて、オフセットとバッファを指定して書き込みを要求(write)する(図9)。PFS制御手段51は、PFSリンク情報テーブル52上の対応するエントリから実ファイル名を取得し、指定されたバッファからデータを取得して、指定されたオフセットから書き込む(図17のステップS1701、S1702、S1708)。
3.ユーザプロセス10はすべてのデータを書き込むまで2.を繰り返し、完了後、close関数を実行する。
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)。
●既存ファイルの更新・追記
1.ユーザプロセス10は、open関数を実行する。
1-1.ユーザプロセス10は、open関数内で、書き込み対象ファイルの属性取得を要求(getattr)する。PFS制御手段51は、最新世代ファイルを検索し、その情報をユーザプロセス10に返却する(図13のステップS1301〜S1303)。
1-2.ユーザプロセス10は、open関数内で、ファイルのオープンを要求(open)する(図6)。PFS制御手段51は、PFSリンク情報テーブル52にエントリを作成する。当該エントリには、PFS上のファイル名と世代保護フラグと書き込みフラグと実ファイル名とオープンカウントとを登録する(図14のステップS1401〜S1406)。他プロセスによってすでにオープン済なら、エントリを取得し、書き込みフラグをONにし、オープンカウントをインクリメントする(ステップS1401がyes、S1407〜S1409、S1406)。他プロセスによって書き込みオープン済の場合(ステップS1408がyes)は、異常を通知する。
2.ユーザプロセス10は、write関数を実行する。
2-1.ユーザプロセス10は、write関数内で、オープンしたファイルについて、オフセットとバッファを指定して書き込みを要求(write)する(図9)。PFS制御手段51は、PFSリンク情報テーブル52上の対応するエントリから実ファイル名を取得し、指定されたバッファからデータを取得して、指定されたオフセットから書き込む(図17のステップS1701、S1702がno、S1708)。
3.ユーザプロセス10はすべてのデータを書き込むまで2.を繰り返し、完了後、close関数を実行する。
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)。
●ファイルの読み込み
1.ユーザプロセス10は、open関数を実行する。
1-1.ユーザプロセス10は、open関数内で、読み込み対象ファイルの属性取得を要求(getattr)する。PFS制御手段51は、最新世代ファイルを検索し(図13のステップS1301)、その情報をユーザプロセス10に返却する(ステップS1302がyes、S1303)。
1-2.ユーザプロセス10は、open関数内で、ファイルのオープンを要求(open)する(図6)。PFS制御手段51は、PFSリンク情報テーブル52にエントリを作成する。当該エントリには、PFS上のファイル名と世代保護フラグと書き込みフラグと実ファイル名とオープンカウントを登録する(図14のステップS1401〜S1406)。他プロセスによってすでにオープン済なら(ステップS1401がyes、S1407がno)、エントリの取得と、オープンカウントのインクリメントのみを行う(ステップS1406)。他プロセスによって書き込みオープン済の場合(ステップS1408がyes)は、異常を通知する。
2.ユーザプロセス10は、read関数を実行する。
2-1.ユーザプロセス10は、read関数内で、オープンしたファイルについて、オフセットとバッファを指定して読み込み込みを要求(read)する(図8)。PFS制御手段51は、PFSリンク情報テーブル52上の対応するエントリから実ファイル名を取得し、指定されたオフセットから指定されたサイズ分データを読み込んで返却する(図16のステップS1601、S1602)。
3.ユーザプロセス10はすべてのデータを読み込むまで2.を繰り返し、完了後、close関数を実行する。
3-1.ユーザプロセス10は、close関数内で、ファイルのreleaseを要求(release)する(図7)。PFS制御手段51は、PFSリンク情報テーブル52上の当該ファイルに対応するエントリのオープンカウントをデクリメントし(図18のステップS1801、S1802)。0であればエントリを削除する(ステップS1803がyes、S1804)。
●リネーム
1.ユーザプロセス10は、rename関数を実行する。
1-1.ユーザプロセス10は、rename関数の中で、新規ファイル名の属性取得を要求(getattr)する。PFS制御手段51は、最新世代のファイルを検索し、その情報をユーザプロセス10に返却する(図13のステップS1301〜S1303)。
1-2.ユーザプロセス10は、rename関数の中で、旧ファイル名の属性取得を要求(getattr)する。PFS制御手段51は、最新世代のファイルを検索し、その情報をユーザプロセス10に返却する(図13のステップS1301〜1303)。
1-3.ユーザプロセス10は、rename関数の中で、新・旧ファイル名を指定してファイル名の変更を要求(rename)する(図11)。PFS制御手段51は、すべての旧世代ファイルを一時的なファイル名にリネームし(図23のステップS2301〜S2304)、最新世代ファイルを新ファイル名にリネームし(ステップS2305)、すべての旧世代ファイルを新ファイル名にリネームし、PFS制御情報ファイル53のエントリを更新する(ステップS2306〜S2308)。
●ディレクトリ作成
1.ユーザプロセス10は、mkdir関数を実行する。
1-1.ユーザプロセス10は、mkdir関数の中で、新規ディレクトリ名の属性取得を要求(getattr)する。PFS制御手段51は、最新世代のファイルを検索し、その情報をユーザプロセス10に返却する(図13のステップS1301、S1302がno、S1304)。
1-2.ユーザプロセス10は、mkdir関数の中で、ディレクトリ名が存在しないことを確認し、ディレクトリの作成を要求(mkdir)する。PFS制御手段51は、実ファイルシステム群40の全ての実ファイルシステム41、42について、対応するパス名でディレクトリ作成を繰り返す(図20のステップS2001〜S2004)。このとき、指定されたパス名がファイルとして存在した場合(ステップS2002、S2005がそれぞれyes、no)、それまでに作成したディレクトリを全て削除して(ステップS2006)、異常を返却する。
●ディレクトリ削除
1.ユーザプロセス10は、rmdir関数を実行する。
1-1.ユーザプロセス10は、rmdir関数の中で、ディレクトリ名の属性取得を要求(getattr)する。PFS制御手段51は、最新世代のファイルを検索し、その情報をユーザプロセス10に返却する(図13のステップS1301〜S1303)。
1-2.ユーザプロセス10は、rmdir関数の中で、ディレクトリ名が存在することを確認し、ディレクトリの削除を要求(rmdir)する。PFS制御手段51は、実ファイルシステム群40の全ての実ファイルシステム41、42について(図21のステップS2101)、対応するパス名でディレクトリ削除を繰り返す(ステップS2102〜S2105)。このとき、指定されたパスが空のディレクトリ以外だった場合(ステップS2103がno)、異常を返却する。
●ファイル削除
1.ユーザプロセス10は、unlink関数を実行する。
1-1.ユーザプロセス10は、unlink関数の中で、削除対象ファイルの属性取得を要求(getattr)する。
1-2.ユーザプロセス10は、unlink関数の中で、削除できるファイルならば、ファイルの削除を要求(unlink)する(図10)。PFS制御手段51は、すべての旧世代ファイルを削除し(図19のステップS1901〜S1905)、最後に最新世代ファイルを削除する(ステップS1906)。PFS制御情報ファイル53のエントリの削除(ステップS1907)は、ファイル削除の都度行う。
●最新世代検索ロジック(図24)
投影ファイルシステム上のパスによって指定されたファイルと対応する実ファイルシステム41、42上のファイルの中から最新世代のファイルを検索する場合、先ず、ファイルを示すパスをエントリに分解する(図24のステップS2401)。例えば、パスが/pfs/DIR1/FILE2である場合には、pfs、DIR1、FILE2に分解する。その後、先頭のエントリから検索を開始する(ステップS2402)。例えば、/pfsが投影ファイルシステムのマウントポイントの場合、/pfs/DIR1から検索を開始する。
次に、全ての実ファイルシステム41、42について対応するパスを調べる(ステップS2403)。例えば、実ファイルシステム41、42の名前がそれぞれFS1、FS2であり、そのマウントポイントが/mntの場合、/mnt/FS1/DIR1と/mnt/FS2/DIR1とから検索を開始する。
そして、対応するエントリが見つからなかった場合(ステップS2404がyes)は、指定されたパスがどの実ファイルシステム41、42にも存在しないことになるので、異常終了とする。また、例えば、/mnt/*/DIR1が実ファイルシステム41ではファイル、実ファイルシステム42ではディレクトリである場合のように、同名でディレクトリとファイルが混在する場合(ステップS2405がyes)も、異常終了とする。また、/mnt/FS1/DIR1がファイルとして存在するのに、/mnt/FS1/DIR1/FILE2が指定されている場合のように、前のループでファイルを発見した場合(ステップS2406がyes)も、異常終了とする。
ステップ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を選択することになる。
●次世代ファイルの作成先決定ロジック(図25)
全実ファイルシステム41、42について(図25のステップS2501)、対象ファイルの有無と存在する場合は登録日付をPFS制御情報ファイル53から取得する(ステップS2502、S2503)。存在する世代数がユーザ定義の数未満の場合(ステップS2504がno)は、対象ファイルが存在しない実ファイルシステムから、ユーザ定義のポリシーに基づいて次世代ファイルの作成先の実ファイルシステムを決定する(ステップS2506)。存在する世代数がユーザ定義の数以上の場合(ステップS2504がyes)は、対象ファイルが存在しない実ファイルシステムと、最も古い世代が存在する実ファイルシステムを加えた中から、ユーザ定義のポリシーに基づいて次世代ファイルの作成先の実ファイルシステムを決定する(ステップS2505)。ユーザ定義のポリシーとしては、負荷が低いファイルシステム優先、空き容量が大きいファイルシステム優先、などが考えられる。
本実施の形態によれば、特定の実ファイルシステムに負荷が集中しないようにすることが可能になるという効果を得ることができる。その理由は、実ファイルシステム上の各ファイルの登録日時(作成日時)が登録されたPFS制御情報ファイル53を備え、ここに登録されている登録日時に基づいて処理対象にするファイルを決定するようにしているかれである。また、本実施の形態によれば、ファイルの世代管理を行うことが可能になるという効果を得ることができる。その理由は、ファイルに対してデータを書き込む際、新世代のファイルを作成し、この新世代のファイルにデータを書き込むようにしているからである。
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…オペレーティングシステム

Claims (14)

  1. 複数の実ファイルシステムと、
    該複数の実ファイルシステムで管理されているファイルそれぞれの優先度を示す優先度情報が登録された優先度テーブルと、
    前記複数の実ファイルシステムを、それらのディレクトリ構造が重ね合わされた仮想的な一つの投影ファイルシステムとして管理すると共に、ユーザプロセスから入力された前記投影ファイルシステム上のファイルを指定した処理要求に応答して、前記指定されたファイルに対応する前記実ファイルシステム上のファイルの内で最も優先度の高いファイルを前記優先度テーブルを参照して求め、該求めたファイルに対して前記処理要求によって要求された操作を行う投影ファイルシステム制御手段とを備えたことを特徴とする投影ファイルシステム管理装置。
  2. 請求項1に記載の投影ファイルシステム管理装置において、
    前記処理要求として、データの読み込み先にする前記投影ファイルシステム上のファイルを指定したデータ読み込み要求と、データの書き込み先にする前記投影ファイルシステム上のファイルを指定した第1のデータ書き込み要求とが存在することを特徴とする投影ファイルシステム管理装置。
  3. 請求項1または2に記載の投影ファイルシステム管理装置において、
    前記ファイルの優先度情報は、ファイルの作成時期に関する情報であり、作成時期が新しいファイルほど、優先度が高いことを特徴とする投影ファイルシステム管理装置。
  4. 請求項3に記載の投影ファイルシステム管理装置において、
    前記処理要求として、更に、コピー元とする前記投影ファイルシステム上のファイルを指定した第2のデータ書き込み要求が存在し、
    前記投影ファイルシステム制御手段は、ユーザプロセスから入力された第2のデータ書き込み要求に応答して、該第2のデータ書き込み要求によって指定されたファイルに対応する前記実ファイルシステム上のファイルの内で最も優先度の高いファイルを前記優先度テーブルを参照して求め、該求めたファイルを、前記第2のデータ書き込み要求によって指定されたファイルと対応するファイルが存在しない実ファイルシステムの内の一つにコピーすることにより次世代のファイルを作成し、該作成した次世代のファイルに対して前記第2のデータ書き込み要求によって要求された操作を行うと共に、前記優先度テーブルに前記次世代のファイルの優先度情報を登録することを特徴とする投影ファイルシステム管理装置。
  5. 請求項4記載の投影ファイルシステム管理装置において、
    前記投影ファイルシステム制御手段は、前記複数の実ファイルシステムの中に、前記第2の書き込み要求によって指定されたファイルと対応するファイルが存在しない実ファイルシステムが複数存在する場合は、該複数の実ファイルシステム中から、最も空き容量が大きい実ファイルシステムあるいは最も負荷が低い実ファイルシステムを選択することを特徴とする投影ファイルシステム管理装置。
  6. 請求項5に記載の投影ファイルシステム管理装置において、
    前記投影ファイルシステム制御手段は、前記複数の実ファイルシステムの全てに前記第2のデータ書き込み要求によって指定されたファイルと対応するファイルが存在する場合は、該対応するファイルの内、最古世代のファイルが存在する実ファイルシステムを選択することを特徴とする投影ファイルシステム管理装置。
  7. 複数の実ファイルシステムと、該複数の実ファイルシステムで管理されているファイルそれぞれの優先度を示す優先度情報が登録された優先度テーブルとを備えたコンピュータが、
    前記複数の実ファイルシステムを、それらのディレクトリ構造が重ね合わされた仮想的な一つの投影ファイルシステムとして管理する第1のステップと、
    前記コンピュータが、ユーザプロセスから入力された前記投影ファイルシステム上のファイルを指定した処理要求に応答して、前記指定されたファイルに対応する前記実ファイルシステム上のファイルの内で最も優先度の高いファイルを前記優先度テーブルを参照して求め、該求めたファイルに対して前記処理要求によって要求された操作を行う第2のステップとを含むことを特徴とする投影ファイルシステム管理方法。
  8. 請求項7に記載の投影ファイルシステム管理方法において、
    前記処理要求として、データの読み込み先にする前記投影ファイルシステム上のファイルを指定したデータ読み込み要求と、データの書き込み先にする前記投影ファイルシステム上のファイルを指定した第1のデータ書き込み要求とが存在することを特徴とする投影ファイルシステム管理方法。
  9. 請求項7または8に記載の投影ファイルシステム管理方法において、
    前記ファイルの優先度情報は、ファイルの作成時期に関する情報であり、作成時期が新しいファイルほど、優先度が高いことを特徴とする投影ファイルシステム管理方法。
  10. 請求項9に記載の投影ファイルシステム管理方法において、
    前記処理要求として、更に、コピー元とする前記投影ファイルシステム上のファイルを指定した第2のデータ書き込み要求が存在し、且つ、
    前記コンピュータが、ユーザプロセスから入力された第2のデータ書き込み要求に応答して、該第2のデータ書き込み要求によって指定されたファイルに対応する、前記実ファイルシステム上のファイルの内で最も優先度の高いファイルを前記優先度テーブルを参照して求め、該求めたファイルを、前記第2のデータ書き込み要求によって指定されたファイルと対応するファイルが存在しない実ファイルシステムの内の一つにコピーすることにより次世代のファイルを作成し、該作成した次世代のファイルに対して前記第2のデータ書き込み要求によって要求された操作を行うと共に、前記優先度テーブルに前記次世代のファイルの優先度情報を登録する第3のステップを含むことを特徴とする投影ファイルシステム管理方法。
  11. 複数の実ファイルシステムと、該複数の実ファイルシステムで管理されているファイルそれぞれの優先度を示す優先度情報が登録された優先度テーブルとを備えたコンピュータを、投影ファイルシステム管理装置として機能させるためのプログラムであって、
    前記コンピュータを、前記複数の実ファイルシステムによりそれらのディレクトリ構造が重ね合わされた仮想的な一つの投影ファイルシステムを構成すると共に、ユーザプロセスから入力された前記投影ファイルシステム上のファイルを指定した処理要求に応答して、前記指定されたファイルに対応する前記実ファイルシステム上のファイルの内で最も優先度の高いファイルを前記優先度テーブルを参照して求め、該求めたファイルに対して前記処理要求によって要求された操作を行う投影ファイルシステム制御手段として機能させるためのプログラム。
  12. 請求項11に記載のプログラムにおいて、
    前記処理要求として、データの読み込み先にする前記投影ファイルシステム上のファイルを指定したデータ読み込み要求と、データの書き込み先にする前記投影ファイルシステム上のファイルを指定した第1のデータ書き込み要求とが存在することを特徴とするプログラム。
  13. 請求項11または12に記載のプログラムにおいて、
    前記ファイルの優先度情報は、ファイルの作成時期に関する情報であり、作成時期が新しいファイルほど、優先度が高いことを特徴とするプログラム。
  14. 請求項13に記載のプログラムにおいて、
    前記処理要求として、更に、コピー元とする前記投影ファイルシステム上のファイルを指定した第2のデータ書き込み要求が存在し、
    前記投影ファイルシステム制御手段は、ユーザプロセスから入力された第2のデータ書き込み要求に応答して、該第2のデータ書き込み要求によって指定されたファイルに対応する前記実ファイルシステム上のファイルの内で最も優先度の高いファイルを前記優先度テーブルを参照して求め、該求めたファイルを、前記第2のデータ書き込み要求によって指定されたファイルと対応するファイルが存在しない実ファイルシステムの内の一つにコピーすることにより次世代のファイルを作成し、該作成した次世代のファイルに対して前記第2のデータ書き込み要求によって要求された操作を行うと共に、前記優先度テーブルに前記次世代のファイルの優先度情報を登録することを特徴とするプログラム。
JP2009084861A 2009-03-31 2009-03-31 投影ファイルシステム管理装置及び投影ファイルシステム管理方法並びにプログラム Active JP5481906B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009084861A JP5481906B2 (ja) 2009-03-31 2009-03-31 投影ファイルシステム管理装置及び投影ファイルシステム管理方法並びにプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009084861A JP5481906B2 (ja) 2009-03-31 2009-03-31 投影ファイルシステム管理装置及び投影ファイルシステム管理方法並びにプログラム

Publications (2)

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

Family

ID=43092194

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009084861A Active JP5481906B2 (ja) 2009-03-31 2009-03-31 投影ファイルシステム管理装置及び投影ファイルシステム管理方法並びにプログラム

Country Status (1)

Country Link
JP (1) JP5481906B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10511202B2 (en) 2015-02-26 2019-12-17 Mitsubishi Electric Corporation Rotating electric machine
US11221997B2 (en) 2015-06-08 2022-01-11 Advanced New Technologies Co., Ltd. On-demand creation and access of a virtual file system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07311701A (ja) * 1994-05-18 1995-11-28 Canon Inc 情報処理装置および情報処理方法
JPH09128276A (ja) * 1995-08-28 1997-05-16 Toshiba Corp 計算機システムおよびそのシステムで使用されるファイル管理方法
JP2006268456A (ja) * 2005-03-24 2006-10-05 Nec Corp ファイル管理装置、ファイル管理方法、及びファイル管理プログラム
JP2008226137A (ja) * 2007-03-15 2008-09-25 Funai Electric Co Ltd ファイル管理方法及びファイル管理システム
JP2008269198A (ja) * 2007-04-19 2008-11-06 Ize:Kk シンクライアント用オペレーティングシステム、シンクライアント装置、サーバ・シンクライアントシステム、及びシンクライアント用オペレーティングシステムの実行方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07311701A (ja) * 1994-05-18 1995-11-28 Canon Inc 情報処理装置および情報処理方法
JPH09128276A (ja) * 1995-08-28 1997-05-16 Toshiba Corp 計算機システムおよびそのシステムで使用されるファイル管理方法
JP2006268456A (ja) * 2005-03-24 2006-10-05 Nec Corp ファイル管理装置、ファイル管理方法、及びファイル管理プログラム
JP2008226137A (ja) * 2007-03-15 2008-09-25 Funai Electric Co Ltd ファイル管理方法及びファイル管理システム
JP2008269198A (ja) * 2007-04-19 2008-11-06 Ize:Kk シンクライアント用オペレーティングシステム、シンクライアント装置、サーバ・シンクライアントシステム、及びシンクライアント用オペレーティングシステムの実行方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CSNB200100200001; ヴァハリア ユーレッシュ: 最前線UNIXのカーネル 第1版, 20000515, p.326,426, 株式会社ピアソン・エデュケーション *
CSNB200400045001; ジム・グレイ: トランザクション処理 [下] 第1版, 20011029, p.859〜862, 日経BP社 *
JPN6009001751; ヴァハリア ユーレッシュ: 最前線UNIXのカーネル 第1版, 20000515, p.326,426, 株式会社ピアソン・エデュケーション *
JPN6009016453; ジム・グレイ: トランザクション処理 [下] 第1版, 20011029, p.859〜862, 日経BP社 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10511202B2 (en) 2015-02-26 2019-12-17 Mitsubishi Electric Corporation Rotating electric machine
US11221997B2 (en) 2015-06-08 2022-01-11 Advanced New Technologies Co., Ltd. On-demand creation and access of a virtual file system

Also Published As

Publication number Publication date
JP5481906B2 (ja) 2014-04-23

Similar Documents

Publication Publication Date Title
US20210208973A1 (en) Generating snapshots and an associated index
JP4414381B2 (ja) ファイル管理プログラム、ファイル管理装置、ファイル管理方法
US7752226B1 (en) Reverse pathname lookup by inode identifier
JP5656563B2 (ja) 文書管理システム、文書管理システムの制御方法、プログラム
US9158835B2 (en) Method and system for offline indexing of content and classifying stored data
US7801850B2 (en) System of and method for transparent management of data objects in containers across distributed heterogenous resources
US7672981B1 (en) Object classification and indexing of very large name spaces using grid technology
US8762344B2 (en) Method for managing information processing system and data management computer system
US7606793B2 (en) System and method for scoping searches using index keys
US20100030825A1 (en) File Management System and Method
US8965941B2 (en) File list generation method, system, and program, and file list generation device
JP5233233B2 (ja) 情報検索システム、情報検索用インデックスの登録装置、情報検索方法及びプログラム
JP5430164B2 (ja) データ管理方法及び装置
WO2012140957A1 (ja) 情報記憶システム及びそのデータ複製方法
JP2008033519A (ja) 情報資源の重複を省いたバックアップ制御装置及び方法
EP3333730A1 (en) Data processing device, data processing program and data processing method
JP2008305094A (ja) 文書管理方法及びその装置
JP2007219693A (ja) データミラーリングによって参照負荷を分散するストレージシステムにおけるアクセスの制御
JP2009064120A (ja) 検索システム
US9037539B2 (en) Data synchronization
JP2006268456A (ja) ファイル管理装置、ファイル管理方法、及びファイル管理プログラム
JP5481906B2 (ja) 投影ファイルシステム管理装置及び投影ファイルシステム管理方法並びにプログラム
WO2017145214A1 (ja) センタノードからエッジノードにデータを転送する計算機システム
Peery et al. Wayfinder: Navigating and sharing information in a decentralized world
JP2010026965A (ja) アーカイブシステムおよびコンテンツの管理方法

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