JP6430499B2 - Posix互換なファイル・システム、ファイル・リストを生成する方法および記憶デバイス - Google Patents

Posix互換なファイル・システム、ファイル・リストを生成する方法および記憶デバイス Download PDF

Info

Publication number
JP6430499B2
JP6430499B2 JP2016524848A JP2016524848A JP6430499B2 JP 6430499 B2 JP6430499 B2 JP 6430499B2 JP 2016524848 A JP2016524848 A JP 2016524848A JP 2016524848 A JP2016524848 A JP 2016524848A JP 6430499 B2 JP6430499 B2 JP 6430499B2
Authority
JP
Japan
Prior art keywords
file
stored
directory
inode
metadata
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2016524848A
Other languages
English (en)
Other versions
JP2016526737A (ja
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JP2016526737A publication Critical patent/JP2016526737A/ja
Application granted granted Critical
Publication of JP6430499B2 publication Critical patent/JP6430499B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/148File search processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、少なくとも一つのディレクトリーおよび該ディレクトリーに格納されている複数のファイルを有するPOSIX互換なファイル・システムに関する。さらに、本発明は、POSIX互換なファイル・システムのファイルのファイル・リストを生成する方法、拡張された属性の使用および記憶デバイスに関する。
POSIX互換なファイル・システムは従来技術から知られている。特に、たいていの既知のリナックスのディストリビューションは、たとえばext2およびext3のような種々のPOSIX互換なファイル・システムに基づいている。この型のファイル・システムは一般に、比較的高い柔軟性をもち、多数のファイルを記憶するのに好適である。
POSIX互換なファイル・システムは、いわゆるinode(アイノード)を使って物理的なデータ媒体を管理する。ここで、inodeは、データ媒体上に記憶されている情報に関係するメタデータを含む。そのようなメタデータの例はアクセス権ならびにそれぞれの場合においてファイル・システムに記憶されているファイルの生成、修正および読み出し日時である。この型の情報は、中でも、ファイル・システムに記憶されるファイルを管理するためのバックアップおよびアーカイブ解決策によって使われる。
しかしながら、そのようなおよび同様のメタデータの評価および更新は、特にたとえばいわゆる「ビッグデータ」アプリケーションにおいて生起する型の非常に大きなファイル・システムの場合には問題を引き起こすこともある。
本発明の一つの目的は、POSIX互換なファイル・システムならびにその生成および使用のための方法およびデバイスであって、既知の実装に比べて改善された性能をもつものを記述することである。特に、大容量記憶システム上に記憶されているファイルを通じて検索していくときに大容量記憶システムへのI/Oアクセス回数が低減されることが意図される。デバイスおよび方法は、特に、数十万ないし数十億のファイルを管理するバックアップおよびアーカイブ・システムにおける使用のために好適であることが意図される。
本発明の第一の側面によれば、少なくとも一つのディレクトリーおよび該ディレクトリーに格納される複数のファイルを有するPOSIX互換なファイル・システムが開示される。それぞれのファイルに関係するメタデータをもつinodeが各ファイルに割り当てられ、ディレクトリーは前記複数のファイルのファイル名とファイルにそれぞれ割り当てられるinodeとの間の割り当てを含む。それぞれのファイルに関係するメタデータは、少なくとも、割り当てられたファイルのファイル名および/または前記少なくとも一つのディレクトリーに関係する情報を含む。
この型のファイル・システムは、純粋にinodeに記憶されているメタデータに基づいてファイル名および/またはパス指定の定義を許容する。たとえば、この型のファイル・システムは、ファイル・システムの他のデータ・ブロック、特にディレクトリーにアクセスする必要なしに、inodeのメタデータの名前およびディレクトリー情報の組み合わせに基づいて、ファイル・リストが生成されることを許容する。ディレクトリーまたは名前情報のいずれかのみを記憶することは、少なくとも、関連付けられたファイル・オブジェクトの事前フィルタリングを許容し、それにより、アクセスされる必要のある他のデータ・ブロックが少なくなる。大容量記憶システムの他の部分へのI/Oアクセスは、名前および/またはディレクトリー情報のinodeへの局所化を通じて回避または軽減できる。対応する情報およびメタデータに基づく管理タスクは、こうして高速化できる。
第一の設計によれば、前記少なくとも一つのディレクトリーに関係する情報は、該ディレクトリーに割り当てられたinodeへの参照を含む。高次のディレクトリーのinodeへの参照を提供することを通じて、ファイルへのパスが、ディレクトリー・オブジェクトによってディレクトリー構造を構築する必要なしに、ファイルのinodeから出発して逆方向に構築されることができる。
代替的な設計によれば、ファイル・システムは、WORM(ワーム)ファイル・システムとして設計され、前記少なくとも一つのディレクトリーに関係する情報は、あらかじめ定義された基準点、特にWORMファイル・システムのマウント点からの割り当てられたファイルのパス指定を含む。ファイル・システムがいわゆるWORM(write once, read multiple〔一度書き込み、複数回読み出し〕)ファイル・システムとして、すなわち一度だけ書き込み可能なファイル・システムとして設計される場合には、ファイルの最初の記憶後は、たとえばそのファイルの名前を変更したりそのファイルを移動したりすることによってまたは高次のディレクトリーからそのパスに対してさらなる変更をすることはできない。この場合、フル・パス指定はそのファイルに割り当てられたinodeに記憶されることができる。この型のシステムでは、inodeのリストを通じた線形スキャンによって、ファイルおよび関連付けられたinodeへのファイル指定のファイル・リストを構築することが可能である。
あるさらなる側面によれば、ファイル・システムの拡張された属性が、ファイル名および前記少なくとも一つのディレクトリーに関係する情報を記憶するために使われる。
本発明のあるさらなる側面によれば、POSIX互換なファイル・システムのファイルのファイル・リストを生成する方法が記述される。本方法は以下の段階を含む:
・それぞれの場合においてinodeに割り当てられる複数のファイルのメタデータを取得するために、inodeのあらかじめ定義された群をスキャンする段階であって、前記メタデータはそれぞれ割り当てられたファイルのファイル名および/またはそれぞれのファイルが記憶されているディレクトリーに関係する情報を含む、段階と;
・純粋に前記inodeに記憶されているメタデータに基づいて、ファイルのファイル名および/またはパス指定を定義する段階と;
・定義されたファイル名およびパス指定に基づいてファイル・リストを生成する段階とを含む。
上述した方法は、POSIX互換なファイル・システムのinodeに含まれる情報のみに基づくファイル・リストの生成を許容する。このようにして、特に、inodeの情報をもつ第一のメモリ領域と他のデータ・ブロックをもつ第二の記憶領域との間の物理的な記憶デバイスの書き込み/読み出しヘッドの行ったり来たりの多数のジャンプが回避できる。それにより、ファイル・リストの構築が全体として高速化される。
ある有利な設計によれば、メタデータは少なくとも一つのさらなる属性、特にそれぞれ割り当てられたファイルの最後のバックアップの日時を含む。ここで、前記少なくとも一つのさらなる属性は前記ファイル・リスト中に転記されるおよび/またはファイルの前記ファイル・リスト中への転記が前記少なくとも一つのさらなる属性に基づいて決定される。前記ファイル名の、関連付けられたファイルのさらなる諸属性、特に最後のバックアップの日時との組み合わせを通じて、バックアップおよびアーカイブ・システムならびに同様のソフトウェア・プログラムは、どのファイルがさらに処理される、たとえばバックアップされる必要があるかを、純粋にinodeに含まれるメタデータに基づいて、決定できる。
本発明のあるさらなる側面によれば、記憶デバイスであって、当該記憶デバイスによって記憶されるファイルにアクセスするための少なくとも一つのインターフェースと、ファイルの不揮発性記憶のための少なくとも一つの大容量記憶システムとを有する記憶デバイスが開示される。記憶デバイスは、前記少なくとも一つのインターフェースを介してファイルを書き込むまたは修正する書き込みコマンドを受領すると、前記少なくとも一つのファイルに関係するメタデータを前記大容量記憶システムに記憶する、あるいはすでに記憶されているメタデータを修正するよう構成される。ここで、ファイルに関係する記憶されているメタデータは、少なくとも、そのファイルのファイル名および/またはそのファイルが記憶されるディレクトリーに関係する情報を含む。
上述した記憶デバイスは、上述した方法を実行し、POSIX互換なファイル・システムを提供するための必要な情報を記憶する。
本発明のさらなる設計によれば、前記記憶デバイスはさらにソフトウェア・コンポーネントを含み、前記少なくとも一つのソフトウェア・コンポーネントは、純粋に記憶されたメタデータに基づいてファイル・リストを生成するよう構成される。たとえば、これは、純粋に記憶されたメタデータに基づいてさらなる処理のためのファイルを選択するファイル管理のためのソフトウェア・コンポーネントを伴ってもよい。特に、ファイルのバックアップが、メタデータに記憶されている少なくとも一つの時間指定、特に最後のバックアップの追加的に記憶された日時の、メタデータに割り当てられた最後の修正の記憶されているデフォルト日時との比較に基づいて実行されることができる。
本発明のさらなる有利な設計および詳細が付属の請求項および例示的実施形態の以下の詳細な説明において開示される。
本発明は、以下で、付属の図面を参照しつつ種々の例示的実施形態に基づいて詳細に記述される。同一のまたは同一の機能をするコンポーネントの異なるインスタンスは英字サフィックスをもって表わされる。すべてのインスタンスが合同して参照されることが意図される場合には、対応するサフィックスは省略される。
POSIX互換なファイル・システム一般の木表現を示す図である。 POSIX互換なファイル・システム一般のメモリ・マップを示す図である。 POSIX互換なファイル・システム一般のリスト表現を示す図である。 ファイル・リストを生成するための通常のデータ構造を示す図である。 ファイル・リストを生成するための通常の方法を示す図である。 本発明の第一の設計に基づくデータ構造を示す図である。 本発明の第一の設計に基づく方法を示す図である。 本発明の第二の設計に基づくデータ構造を示す図である。 本発明の第二の設計に基づく方法を示す図である。 本発明のある設計に基づく記憶デバイスの概略的な表現を示す図である。
本発明のよりよい理解のために、POSIX互換なファイル・システムについて以下でまず一般に、図1Aないし図1Cを参照して記述するとともに、図2Aおよび図2Bを参照してその実装のための通常のデータ構造およびファイル・リストを生成する方法を記述する。
図1Aは、POSIX互換なファイル・システム2のディレクトリー木1を示している。区別をより明確にするため、以下では大文字はディレクトリーを表わすために使われ、小文字および数字はファイル・システム2の通常のファイルを表わすために使われる。明らかに、POSIX互換なファイル・システム2は通常、ディレクトリー名およびファイル名のいずれについても、大文字および小文字および数字および他の特殊キャラクタの使用を許容する。さらに、図1Aに示したものより著しより長い名前および著しくより複雑なディレクトリー木の生成が可能である。
以下の記述および付属の請求項においてファイルが言及される限りにおいて、これはそれぞれの場合においてPOSIX互換なファイル・システムの意味で通常のファイル、すなわちファイル・システム2に記憶されているユーザー・データを意味するものと理解されるべきである。他のオブジェクト、たとえば特にディレクトリー・オブジェクト、いわゆるハードおよびソフト・リンクおよびファイル・システム2の他のメタデータは、通常のファイルとより明確に区別するために、以下などでは明示的にマークされる。
ディレクトリー木1は、ユニックス・オペレーティング・システムおよびたとえばリナックスなどの関係するオペレーティング・システムにおいて通常順方向のスラッシュ「/」によって表わされるいわゆるルート・ディレクトリー2を含む。ディレクトリー木1は最初にルート・ディレクトリー3から、第一階層レベルの三つのディレクトリーA、B、Cに分岐している。図1のディレクトリー木1では、第一のディレクトリーAは二つの通常のファイルa1およびa2を含む。第二のディレクトリーBは単一のファイルb1を含む。第三のディレクトリーCは第二階層レベルのさらなるサブディレクトリーDおよび通常のファイルc1およびc2を含む。図1の例示的実施形態では、二次のサブディレクトリーD内にはさらなるファイルd1が格納されている。
ここで、図1Aに示されるディレクトリー木1は、いわゆるマウント点も、ファイル・システム2の異なるファイル・オブジェクトおよびディレクトリー・オブジェクトの間のいかなる種類のリンクもない、単一のマスター・ファイル・システムのみを含む単純化された特殊な場合を表わしている。POSIX互換なファイル・システムでは、一般に、より高次のファイル・システム、通常はルート・ディレクトリー3をもつマスター・ファイル・システムのあらかじめ定義された諸位置、いわゆるマウント点において諸ディレクトリー木が記憶されているさらなる大容量記憶システムのコンテンツを組み込むことが慣例である。同様に、ソフトまたはハード・リンクの使用を通じてネットワーク様構造が生成されることができ、それにより、複数のパスがルート・ディレクトリー3から同一の通常のファイルに導くことができる。この型の構造は明快のためここには示されていない。以下に記載されるデバイスおよび方法の実装のためのその意義は、対応する箇所で述べる。
図1Bは、ディレクトリー木1を物理的なデータ媒体4上にマッピングするためのデータ構造を概略的に示している。たとえば、物理的な媒体4は、ハードディスクドライブまたはフラッシュドライブの形の大容量記憶システムである。しかしながら、他の記憶媒体も原理的には可能である。
本例示的実施形態では、物理的なデータ媒体4は第一の記憶領域5および第二の記憶領域6に分割される。これはたとえば、物理的なデータ媒体4のブロック・アドレスまたは他のアドレス指定に従った分割を伴ってもよい。この型の分割は通常、データ媒体4の最初の初期化の間に、たとえばファイル・システム2でデータ媒体4をフォーマットする間に行なわれる。
本例示的実施形態では、いわゆるinodeが第一の記憶領域5に記憶される。inodeは、ファイル・システム2に記憶されるデータに関係するメタデータをもつPOSIX互換なデータ・ブロックである。個々のinode 7の正確なデータ構造は図2Aを参照して後述する。図1Bに基づく表現では、あらかじめ定義されたinode 7rがルート・ディレクトリー3に割り当てられている。これはたとえば、第一の記憶領域5の最初のアドレス指定可能なブロックに関わる。ディレクトリーA、B、C、Dおよびファイルa1、a2、b1、c1、c2、d1にそれぞれの場合においてさらなるinode 7が割り当てられる。inode 7と関連付けられたディレクトリーまたはファイルとの間のそれぞれの割り当てはファイル・システム2の実装に依存する。第一の記憶領域5のinode 7が上述した順に示されているのは純粋に明確のためである。しかしながら、実際上は、inodeの関連付けられるディレクトリーまたはファイルへの割り当ては、もっとその生成の逐次順に依存する。
ファイル・システム2の実際のデータは、第二の記憶領域6に記憶される。特に、ディレクトリーA、B、C、Dおよびルート・ディレクトリー「/」のそれぞれについて、第二の記憶領域6にディレクトリー・オブジェクト8が記憶される。対応するディレクトリー・オブジェクト8は本質的には、リスト項目のリストを含む。ここで、各リスト項目はそのディレクトリーに記憶されているオブジェクトの名前および関連付けられたinodeを示す。たとえば、ディレクトリー・オブジェクト8は、ファイル名a1およびa2ならびにファイルa1およびa2に割り当てられたinode 7の関連付けられた数値アドレスをもつ、ディレクトリーAについての二つのリスト項目を含む。第一の記憶領域5の対応するinode 7に割り当てられている通常のファイルのファイル・オブジェクト9はさらに、第二の記憶領域6に記憶される。記憶されるファイルのサイズに依存して、実際のデータは一つまたは複数のファイル・オブジェクト9にわたって延在する。しかしながら、これは明確のため図1Bには示されていない。
非常に大きなファイルの場合、単一のinode 7は、第二の記憶領域6のすべてのファイル・オブジェクト9への参照を単一のinode 7内に記憶するのに常に十分ではない。この場合、inode 7はさらなる、二次または三次のinode 7を参照し、それにより対応するファイル・オブジェクト9への多数の参照が記憶されることができる。さらなる詳細に関しては、たとえば英文のオンライン百科事典ウィキペディアにおける「Inodes」の記事(http://en.wikipedia.org/wiki/Inode、27.10.2013付バージョン)が参照される。
ファイル・リスト10が図1Cに示されている。ファイル・リスト10は通常のファイルについてのリスト項目11を含む。各リスト項目11は少なくとも一つのフル・パス指定12を含む。該フル・パス指定12は、そのファイルが格納されているディレクトリーへの単純なパス指定13ならびにそのファイルに割り当てられているinode 7の数値アドレス15およびそのファイルのさらなる属性16、たとえばそのファイルの作成または最終補正の日時からなる。ファイル・リスト10内の情報はたとえば、アーカイブ・システムのソフトウェア・コンポーネントによって、第二の記憶領域6のどのファイル・オブジェクト9が、たとえば磁気バックアップ・テープのようなさらなる記憶媒体上に記憶される必要があるかを決定するために使われてもよい。
しかしながら、この型のファイル・リスト10は、中でも、大ボリュームのデータを管理するために、他のシステムおよびプログラムのために階層式記憶システム(HSM: hierarchical storage system)において必要とされる。既知のPOSIX互換なファイル・システムの問題は、この型のファイル・リスト10の生成が、中でも、かなりの時間を必要とするということである。特に、クラスター・システムの種々のノードにわたって分散されている何百万ものファイルをもついわゆる「ビッグデータ」システムの場合、対応するファイル・リスト10の生成または維持は、既知のファイル・システムでこの目的のために利用可能な時間では不可能である。
以下では、図2Aおよび図2Bを参照して、通常のファイル・システムにおいて、物理的なデータ蜂体4上に記憶されている情報に基づいて、図1Cに基づくファイル・リスト10がどのようにして生成できるかを記述する。図2Aは、この目的のために使われるデータ構造を概略的に示しており、図2Bはファイル・リスト10を生成するためにディレクトリー木1を処理する通常の方法の流れ図を示している。
第一のステップ20では、ルート・ディレクトリー3のinode 7rが定義され、ロードされる。たとえば、アドレス「0」をもつinode項目が第一の記憶領域5から読み込まれることができる。この場合単一の「/」によって表わされる実際のパスが、同時に、作業変数pに保持される。
ステップ21では、次いで、関連付けられたディレクトリー・オブジェクト8rが第二の記憶領域6からロードされる。図2Aに示される例示的実施形態では、ディレクトリー・オブジェクト8rは、第一階層レベルのディレクトリーA、B、Cについての三つのディレクトリー項目17を含む。
続くステップ22では、処理されるべきさらなるディレクトリー項目17がディレクトリー・オブジェクト8r内に存在していることが確立される。
次のステップ23では、まだ未知の記憶オブジェクトAに関係する第一のディレクトリー・エントリー17Aがまず読み込まれる。ディレクトリー・エントリー17Aは、アドレス「1」をもつinode 7Aが記憶オブジェクトAに割り当てられることを示す。さらに記憶オブジェクトの名前「A」がディレクトリー項目17Aによって示される。
次のステップ24では、記憶オブジェクトAに関連付けられたメタデータを定義するために、アドレス「1」をもつ記憶オブジェクトAの関連付けられたinode 7Aがロードされる。
ステップ25では、記憶オブジェクトAがどんな型のオブジェクトであるかを判別するために検査が実行される。inode 7Aのロードされたメタデータから、たとえばいわゆるモード情報に基づいて、今の場合のようにさらなるディレクトリーまたは通常のファイルまたはPOSIX互換なファイル・システム2の別のオブジェクトがここで関わっているかどうかを判別することが可能である。図2Bでは、呈示の簡略化のため、ファイルおよびディレクトリーの処理のみが示されている。
今の場合のようにさらなるディレクトリー8が関わっている場合、調査されるべきパスpについての作業変数は次のステップ26において、ステップ23で定義された名前をもって補足される。さらに、これまで有効だったディレクトリーは、一時的にさらなる変数qに記憶される。次いで、本方法は再帰的にステップ21において、関連付けられたディレクトリー・オブジェクト8Aのロードをもって続けられる。
記載される例では、ディレクトリーAは、ファイルa1およびa2についての通常のファイル・オブジェクト9のみを含む。よって、ステップ25におけるその後の検査では、ディレクトリー・オブジェクト8Aのディレクトリー項目17が通常のファイルを指すことが確立される。ステップ27では、現在のパスpおよびステップ23においてディレクトリー項目17から取られたファイル名「a1」に基づいて、そのファイル・リスト10のために、リスト項目11がしかるべく生成される。次いで、本方法は次のディレクトリー項目17のためにステップ22において続けられる。ステップ27におけるその後のループにおいて、ファイルa2についてさらなるリスト項目11がしかるべく生成される。
ステップ22のある反復において、ディレクトリーAにおいて、処理されるべきさらなるディレクトリー項目17がないことが確立される。続くステップ28では、パスはディレクトリーAのより高次のディレクトリー、すなわちルート・ディレクトリー「/」にしかるべくリセットされ、本方法はステップ22において、次の、より高いレベルにおいて続けられる。
記載される方法によって、図1Aに示されるルート木1は、再帰的アルゴリズムによって漸進的に訪問される。ここで、ファイル・オブジェクト9についてのディレクトリー項目17がファイル・リスト10において生成される。
特に図2Aに基づく表現に示されるように、図2Bに基づく方法は、第一の記憶領域5と第二の記憶領域6との間の行ったり来たりの規則的なジャンプを引き起こす。その理由は、特に、関連付けられたディレクトリー・オブジェクト8およびファイル・オブジェクト9は、第一の記憶領域5からのinode 7の情報を読むことなくしては、第二の記憶領域6内で位置特定されることができないということである。逆に、たとえば個々のファイルの名前およびパス指定を定義するためまたはディレクトリー木1の階層構造を決定するために、第一の記憶領域5のinode 7においてすべての情報が利用可能ではない。したがって、実際上、この手順は、ファイル・リスト10を生成するために、書き込み/読み出しヘッドまたは物理的なデータ媒体4の他の読み出しデバイスの頻繁な再位置決めが必要とされるという欠点をもつ。特に、アーカイブ・システムにおいて見られるような非常に大きなファイル集合の場合、これは、実際上、長いトランジット遅延につながり、よって頻繁に走るプロセスの場合には問題になる。
図3Aは、上記のディレクトリー木1をマッピングするための改善されたデータ構造を示している。特に、上述の情報に加えて、関連付けられたファイル・オブジェクト9またはディレクトリー・オブジェクト8の名前が、それぞれの場合において個々のinode 7に記憶される。高次のディレクトリー・オブジェクト8のinode 7への戻り参照18が同様にinode 7に、すなわちディレクトリーAのinode 7Aに記憶される。たとえば、inode 7rへの参照である。ルート・ディレクトリー3自身のinode 7rだけには項目が存在しない。
ファイル・システム2のあらかじめ定義された基準点へのさらなる参照が任意的にはすべてのinode 7(図3Aには示さず)に記憶されることができる。図1Aの単純なディレクトリー木1の場合、基準点についての項目はルート・ディレクトリー3を直接指す。複数のデータ媒体にわたって分散しており、よって複数のマウント点をもつより複雑なディレクトリー木の場合には、基準点は、そのファイルを含むファイル・システムのマウント点を指す。このようにして、inode 7に記憶されるメタデータは、たとえ関わっているファイル・システムが他の場所で高次のファイル・システム、特にマスター・ファイル・システムに組み込まれているとしても、有効なままである。
関連付けられたファイル・オブジェクト9またはディレクトリー・オブジェクト8の名前、戻り参照18および関連する場合には基準点への参照は、たとえば、既知のファイル・システムの拡張された属性として、たとえばいわゆるxattr関数の使用を通じて、記憶されてもよい。
図3Bは、図3Aに基づくデータ構造に基づいてファイル・リスト10を生成するための改善された方法を示している。
第一のステップ30では、inodeのリストのさらなるinode 7が処理されるべきであるかどうかを判定するために検査が実行される。たとえば、inodeリストが第一の記憶領域5のすべてのinode 7を含んでいてもよい。
もしそうであれば、ステップ31において処理されるべき次のinode 7が読まれる。次のステップ32では、そのinode 7が通常のファイル・オブジェクト9に割り当てられているかどうかを判定するために検査が実行される。そうでなければ、処理はステップ30においてすぐに次のinode 7をもって続けられることができる。
逆に、ステップ32において、最後に読まれたinode 7が通常のファイル・オブジェクト9、たとえばファイルa1に割り当てられていることが確立される場合には、inode 7のアドレス15およびファイル・オブジェクト9の関連付けられた名前「a1」が一時的に変数nに記憶される。
ステップ34では、次いで、前にロードされたinode 7の戻り参照18が高次のディレクトリー・オブジェクト8Aのinode 7Aとして参照するinode 7Aがロードされる。ステップ35では、次いで、変数nがより高次のディレクトリーAの名前「A」をもって補足される。
ステップ36では、前記より高次のディレクトリーがすでにルート・ディレクトリー3であるかどうかを判定するために検査が実行される。もしそうであれば、パス指定13、ファイル・リスト10におけるファイル名14および通常のファイル「a1」に割り当てられているinode 7のアドレス15を含む変数nに今や含まれるフル・パス指定12が、ステップ37において記憶される。次いで、本方法はステップ30において、inodeリストからのさらなるinode 7の処理があればそれをもって続けられる。
しかしながら、ステップ36において、ルート・ディレクトリー3がまだ関わっていないことが確立される場合には、本方法はステップ34において、現在のディレクトリーより高次のディレクトリーのinode 7のロードをもって続けられ、それにより、パスはステップ35において次の、より高いディレクトリー・レベルをもって補足される。これは、本方法が最終的にルート・ディレクトリー3に到達するまで続けられる。このようにして、フル・パス指定12は、より高次のinode 7への戻り参照15をたどることによって、各inode 7について非常に短時間で決定できる。逆に、通常のファイル・システム2では、完全なディレクトリー木を介した構築または探索が必要となる。
図3Bに基づく方法は、図2Bに基づく方法に対して一連の利点をもつ。特に、ファイル・リスト10の生成中に、物理的なデータ媒体4上での第一の記憶領域5と第二の記憶領域6との間の行ったり来たりのジャンプが回避できる。ファイル・リスト10を生成するために必要とされるすべてのデータがinode 7に完全に記憶されている。
同時に、ディレクトリー木1の完全な再帰的な処理をなくすことができる。特に、第一の記憶領域5に記憶されているすべてのinode 7にわたる線形のスキャンを実行することが可能である。再帰的なアルゴリズムによってフル・パス指定12が追加される必要があるのは、通常のファイル・オブジェクト9に割り当てられており、それの他のメタデータがたとえば特定の検索プロファイルに対応するようなinode 7についてのみである。
特に、たとえば最後のバックアップ時刻以降に修正されたファイルのファイル名のみを記録するアーカイブ・システムにおいて、多数のinode 7が事前フィルタリングに基づいてこの処理からすでに除外されることができる場合、アルゴリズムのこの再帰的コンポーネントは、後者のトランジット遅延挙動における従属的な役割を果たすのみである。
図3Aに基づく設計の、図示していないある変形では、inode 7は前記より高次のディレクトリー8への戻り参照のみを含み、inode 7に関連付けられたファイル・オブジェクト9やディレクトリー・オブジェクト8の名前をもつ属性を含まない。この設計では、第二の記憶領域6のディレクトリー・オブジェクト8はファイル・リスト10を生成するために相変わらずアクセスされる必要がある。しかしながら、inode 7の比較的小さな割合についてのパスのみが定義される必要がある場合には、この設計においてI/Oアクセスの数は、すでに著しく軽減されることができる。たとえば、のちに説明するように、バックアップなどの特定の処理のために、inode 7に含まれる他のメタデータに基づいて特定の諸ファイルのみが選択されることができる。たとえば記憶されたファイル・オブジェクト9の1%のみがバックアップされる場合、選択されたinode 7についてのパス指定の構築はそれでも、少数のディレクトリー・オブジェクト8の読み込みのため、ルート木1を通じた完全な探索よりも、著しく少数のI/Oアクセスを伴う。
図4Aおよび図4Bは、本発明のあるさらなる設計に基づくデータ構造および作業方法を示している。図4Aに特に示されるように、前記さらなる設計によれば、記憶オブジェクトの名前および前記より高次のディレクトリー・オブジェクト8のinode 7への戻り参照18の代わりに、少なくとも前記より高次のマウント点からのパス指定12が、inode 7に記憶される。さらに、より高次の基準点のinode 7への参照19が各inode 7に記憶される。記述される設計では、ルート・ディレクトリー3は、マスター・ファイル・システムのオブジェクトについての基準点、ここではinode 7rへの参照のはたらきをする。パス指定12が始まるところの、対応する組み込まれたファイル・システムのマウント点のinodeは、マスター・ファイル・システムに組み込まれた他のファイル・システム、たとえばハードディスクの他のパーティション、ネットワーク・ボリュームまたは交換可能な記憶媒体のオブジェクトについての基準点として記憶される。最後に、バックアップ・コンポーネントによる、さらなる記憶媒体、たとえばテープ記憶媒体上の関連付けられたオブジェクトの最後のバックアップの時刻を示すバックアップ日時20が、さらに各inode 7に記憶される。
図4Aおよび図4Bに基づく設計のある変形では、固定した参照点、たとえばルート・ディレクトリー3またはファイル・システム2の異なる定義されたノードは、恒久的に事前定義されるまたは他所に記憶される。この設計では、inode 7における参照19の記憶はなくすことができる。単一の追加的な属性、すなわちルート・ディレクトリー3からの単純なパス指定13およびファイル名14自身を含むフル・パス指定が好ましくは、この設計における連続的なキャラクタ・ストリングとして記憶される。
図4Aおよび上述したその変形に基づくデータ構造は、ファイル・リスト10の一層高速な生成のために好適である。本例示的実施形態では、ファイル・システム2は、ファイルの初期の書き込みまたはディレクトリーの生成後は、名前変更および移動がその後もはや可能ではなくなるいわゆるWORMファイル・システムである。マウント点であれルート・ディレクトリー3であれ所与の基準点からのファイルへのパスはひとたび記憶されたら、このように事実上もはや変更できないので、図4Aに示されるようなフル・パス指定12は、inode 7の拡張された属性において連続的な形で記憶されることができる。
この場合、ファイル・リストの生成は特に単純である。第一のステップ40では、inodeのリストのさらなるinode 7が処理されるべきであるかどうかを判定するために検査が実行される。もしそうであれば、処理されるべき第一のinode 7がステップ41においてロードされる。次いで、ステップ42において、ロードされたinode 7が通常のファイル・オブジェクト9に割り当てられているかどうかを判定するために検査が実行される。そうでない場合には、本方法はステップ40において、さらなるinode 7の処理があればそれをもって続けられることができる。それ以外の場合には、ファイル・リスト10のための項目がすぐにステップ43において生成されることができる。記憶されている基準点が直接、ルート・ディレクトリーに関わる場合には、ファイル・オブジェクト9のフル・パス指定12について現在のinode 7に記憶されている情報が、前記項目を生成するために直接、使われることができる。複数のマウント点をもつより複雑なファイル・システムの場合には、ルート・ディレクトリー3からそれぞれの記憶されているマウント点までのパスも定義される必要がある。これも、通常は、大容量記憶システムへのさらなるI/Oアクセスなしに可能である。通常は、たとえ複雑なファイル・システムであっても、中央位置、特にいわゆるfstab(file system table[ファイル・システム・テーブル])に記憶されている少数のマウント点のみが存在するからである。ファイル・システム・テーブルfstabのコンテンツは、多数の異なる目的のために必要とされ、よって、通常はキャッシュ・メモリまたは他のメモリ常駐データ構造中に記憶される。前記項目は、このように、示されたマウント点までの一時的に記憶されたパスと、inode 7に記憶されている前記パス指定のためのデータとを組み合わせることによって形成されることができる。本方法は次いで、ステップ40において、もし該当すれば次の存在するinode 7をもって続けられる。
図4Bに基づく方法も、inode 7に記憶されている情報だけでファイル・リスト10を生成するのに十分であるという利点をもつ。さらに、次いで、図4Bに基づく方法は、ファイル指定の再帰的生成がもはや全く必要とされないという利点をもつ。その代わり、ファイル・リスト10は、原則として、連続的に記憶されている諸inode 7を逐次的に処理する単純な線形アルゴリズムによって生成できる。この方法により、既知のディレクトリー探索に比べ約100倍の加速が、数百万のinode 7をもつファイル・システムにおいて可能になる。
ファイル・オブジェクト9の可能なさらなる処理に関係する決定が純粋にinode 7に記憶されているメタデータに基づいてできる限り、第二の記憶領域6のデータはもはや全く読まれる必要がない。その結果、本方法のさらなる実質的な加速につながる。


示される例では、中でも、追加的なバックアップ日時20がこの目的のために使用される。記載される例示的実施形態では、ファイル・システムのすべてのオブジェクトが定期的にさらなる記憶媒体、たとえば磁気テープにバックアップされることが意図される。以前のバックアップ以降に新たに追加または修正されたオブジェクトのみがバックアップされることが意図される、いわゆるインクリメンタル・バックアップ方法がここで使われる。次回のバックアップ実行においてどのオブジェクトがバックアップされる必要があるかについての決定は、純粋にinode 7に記憶されている情報に基づいてできる。特に、図4Aは、ルート・ディレクトリー3が01.07.2012の最後のバックアップ以降さらに修正されておらず、よってバックアップされる必要がないことを示す。しかしながら、ディレクトリーAは03.07.2012に、よってその01.07.2012のその最後のバックアップ以後に修正されており、よってバックアップされる必要がある。通常のファイルa1はまだ全くバックアップされたことがなく、よって同様にバックアップされる必要がある。
図5は、本発明のある例示的実施形態に基づく記憶デバイス50を示している。記憶デバイス50はたとえば、ファイルまたは他のデータ・オブジェクトの種々のバージョンのアーカイブを可能にするいわゆる記憶機器である。ファイルの少なくともそれぞれの現在のバージョンが強力な、本例示的実施形態では内部の大容量記憶システム51上に保持される。加えて、現在のバージョンのコピーが、また該当する場合には存在する以前の諸バージョンがあればそれも、さらなる記憶媒体上に保持される。図5はたとえば、そのようなコピーが、本例示的実施形態では外部のテープ・ドライブ52またはいわゆるクラウド・メモリ53、すなわちデータ・ネットワーク、特にインターネットを介して接続されている記憶システムに記憶されることを示している。
図5に基づく記憶デバイス50は、記憶デバイス50に記憶されているデータにアクセスするための第一のインターフェース54を有する。これはたとえば、ユニックス・オペレーティング・システム・ファミリーについてのNFSプロトコルに基づくインターフェースまたはウィンドウズ・オペレーティング・システム・ファミリーについてのCIFSプロトコルに基づくインターフェースに関わる。書き込みおよび読み出しのためのおよび適切な場合には個々のファイルを削除および名前変更するためのこれらのプロトコルから知られる要求は、第一のインターフェース54を介して記憶デバイス50に転送されることができる。
本例示的実施形態では、インターフェース54を介して受領されるコマンドは、解析され、許される限り記憶デバイス50の処理コンポーネント55を介して実施される。本例示的実施形態では、記憶デバイス50の不揮発性記憶媒体上に記憶されているソフトウェア・コンポーネントがこの目的のために使われる。処理コンポーネント55は、大容量記憶システム51のファイル・システム2、たとえばクラスター・システムのために特に好適であるIBMからのGPFSファイル・システム(General Parallel File System[一般並列ファイル・システム])についてそれ自身としては既知の仕方で、対応する要求を実施する。
記憶デバイス50の全体または一部のWORMシステムとしての構成では、ファイルおよびディレクトリーを変更および名前変更する要求は、対応するエラー・メッセージを用いて受け取り確認され、実行はされない。ファイルの削除は全く許されないか、あらかじめ定義された保持期間の終わりにのみ許される。許されない削除コマンドは同様にエラー・メッセージを用いて受け取り確認される。許される削除コマンドの場合には、特に、通常の書き換え可能なファイル・システムにおける通常のファイルについての削除コマンドの場合にも、ファイルの削除は追加的なログ・ファイルにおいて記録され、その後のファイル・リスト10やメタ情報に基づく同様の情報の生成においては該ログ・ファイルがしかるべく考慮に入れられる。たとえば、追加的な属性の記憶を通じてまたは既存の属性におけるあらかじめ定義された値の記憶を通じて、対応するinode 7が無効としてマークされ、よって関連付けられたオブジェクトが削除されたとしてマークされる。
前記追加的なメタデータを記憶するために、記載される設計において、実際の要求の実施に加えて、特定の先行するおよびその後のアクションも実行される。特に、新たなファイルまたはディレクトリーの書き込みの間、関連付けられたメタデータが大容量記憶システム51のファイル・システム2の関連付けられたinode 7に記憶される。この目的のために、ソフトウェア・コンポーネントはいわゆるデーモン・プロセスを含む。該デーモン・プロセスは、いわゆるデータ管理API(DMAPI: Data Management API)インターフェースに従ってイベントに応答し、GPFSファイル・システムの拡張された属性において上記の方法について必要とされる追加的情報を記憶する。たとえば、ファイルの生成について、「create」〔生成〕および「postcreate」〔ポスト生成〕イベントがDMAPIインターフェースを介してインターセプトされることができる。
あるいはまた、必要とされる追加的情報を、一回限りのおよび/または定期的に実行される、すべてのディレクトリーにわたる検索実行において決定することも可能である。たとえば、ファイル・システム2のすべてのディレクトリー・オブジェクト8は、最後の検索実行以降の変更があるかどうかについて、第一のステップにおいて検査されることができる。変化したディレクトリー・オブジェクト8のディレクトリー項目17のinode 7が第二のステップにおいて決定される。次いで、第三のステップにおいて、これらのinode 7について、対応する追加的情報が記憶される。任意的に、さらなる記憶の前に、それらのinode 7が現在の追加的情報をすでに含んでいるかどうかを判定するために検査がまず実行されることができる。
記憶デバイス50はさらに、アドミニストレーションのための第二のインターフェース56を有する。第二のインターフェース56を介して、システム管理者または他の権限のあるユーザーが構成設定ダイアログ57へのアクセスをもつ。構成設定ダイアログ57を用いて、記憶デバイス50の挙動が詳細に構成設定されることができる。たとえば、インターフェース57を介して提供される大容量記憶システム51のファイル・システムまたはその個々の領域がWORM記憶媒体として振る舞うか、通常の複数回書き込み(上書き)可能な記憶媒体として振る舞うかを、構成設定ダイアログ57を介して選択することが可能である。
記憶デバイス50はさらに、スキャン・コンポーネント58を有する。これは中でも、inode 7に追加的に記憶されたメタデータを処理するはたらきをする。さらに、記憶デバイスは、異なる記憶媒体上のファイルのオンデマンド・バックアップを受け持ついわゆるオブジェクト・ムーバ59を有する。種々の理由によりこれからバックアップが帰結しうる。たとえば、これは記憶デバイス50に記憶されているオブジェクトの定期的なバックアップに関わってもよい。あるいはまた、これは、たとえば長期間使用されないファイルまたは古くなったバージョンが大容量記憶システム51からテープ・ドライブ52および/またはクラウド・メモリ53に移動される階層的記憶システムまたはアーカイブ・システムにおけるファイルまたはファイル・バージョンの再配置に関わってもよい。ここで、オブジェクト・ムーバ59は、少なくともバックアップされるオブジェクトのデータおよび適切な場合にはバックアップについてのさらなるメタデータを含む新たなオブジェクトを目的位置において生成する。加えて、大容量記憶システム51のファイル・システムのinode 7に記憶されるメタデータはしかるべく更新される。拡張された属性におけるバックアップの場合、たとえば、現在の日時が最後のバックアップ日時20として記録される。あるいはまた、再配置の場合、inode 7に関連付けられたオブジェクトは、大容量記憶システム51から削除されたものとしてマークされることができる、あるいは新たな記憶位置を参照するいわゆるスタブ(stub)によって置換されることができる。
記憶デバイス50はさらに、構成設定ダイアログ57のデフォルト設定に従って大容量記憶システム51上に記憶されているデータの自動データ・バックアップを受け持ついわゆるバックアップ・マネージャ60を有する。このタスクをできるだけ効率的に実行するために、バックアップ・マネージャ60は、内部の大容量記憶システム51からさらなる外部の記憶媒体にオブジェクト・ムーバ59によってバックアップされることが意図されているオブジェクトを選択するために、中でもスキャン・デバイス58にアクセスする。
以下では、図5を参照していわゆる「永久インクリメンタル(incremental forever)」バックアップ・システムが記述される。用語「永久インクリメンタル・バックアップ」は、初期の基本的なバックアップ後は、最後のバックアップ以降に大容量記憶システム51上で新たに記憶されたまたは修正されたオブジェクト、特に通常のファイルおよびディレクトリー・オブジェクトのみが、常にバックアップされることを表わすことが意図されている。たとえば、最後の基本的なバックアップ以降の差分が常にバックアップされる差分バックアップまたは大容量記憶システム51のコンテンツ全体またはあらかじめ定義された部分が常にバックアップされるフル・バックアップといった他のバックアップ方針が使われることもできることは明らかである。
構成設定インターフェース57を介して種々のシステム・パラメータがあらかじめ定義される。たとえば、インクリメンタル・バックアップが実行されることが意図されるファイル・システム2のいわゆるマウント点が定義される。さらに、バックアップされるべき異なるファイル・バージョンの間の時間間隔が指定されることができる。たとえば、記憶デバイス50は大容量記憶システム51に記憶されているファイルのバックアップを、1時間毎、1日毎または1週間毎に実行する。たとえばバックアップされるべきファイルの最小または最大サイズといったさらなる基準が、構成設定ダイアログ57を介してあらかじめ定義されることもできる。
あらかじめ定義されたバックアップ時刻またはバックアップをトリガーする他のイベントに到達すると、現在バックアップされる必要がある、大容量記憶システム51のすべてのファイルがまず定義される必要がある。これを行なうために、記憶デバイス50は、生成または修正日時が時間的に最後のバックアップの日時より後であるすべてのファイルを定義するために、スキャン・デバイス51を使う。図4Aに基づく例示的実施形態では、この情報はファイル・システム2のinode 7に、バックアップ日20としてすでに含まれていることを注意しておく。よって、第二の記憶領域6の個々のファイル・オブジェクト9をロードすることなく、バックアップのためにどのファイル・オブジェクト9が本質的に考慮に入れられるべきかは、純粋にすべてのinode 7のスキャンに基づいて確立できる。あるいはまた、最後のバックアップの日付も記憶デバイス51における異なる位置に記憶されることができる。たとえば、大容量記憶システム51のすべてのオブジェクトについてグローバルに有効なバックアップ時刻が記憶または定義されることができる。差分バックアップの場合、最後のフル・バックアップの日時が、最後のバックアップの日時の代わりに使われる。
次いで、バックアップされるべきオブジェクトをもつ対応するファイル・リスト10が、inode 7に含まれるメタデータ、特にそこに含まれるファイル名14および/またはパス指定12もしくは13のさらなる情報に基づいて、最後のバックアップの時刻以降に修正されたオブジェクトについてのみ、生成される。パス指定12もしくは13および/またはファイル名14とともに、生成されるファイル・リスト10は、さらなる情報、特に関連付けられたinode 7への直接参照、ファイルのサイズおよび前記メタデータの他の情報を含んでいてもよい。この型のリスト10は、たとえば、テープ・ドライブ52またはクラウド・メモリ53に、修正されたファイルについての新たなバックアップ・オブジェクトを記憶するために、オブジェクト・ムーバ59に転送されてもよい。
しかしながら、上述したバックアップ・システムとともに、図3Aおよび図4Aに基づくデータ構造および図3Bおよび図4Bに基づくアルゴリズムは、多数の他の用途にも好適である。特に、記載される機構は、データが少なくとも部分的には、関連付けられたメタデータを用いて処理される多数のデータ処理タスクについて好適である。
さらなる例として、多数の既存の画像データから個々の画像が、生成時間期間、記録位置または画像に含まれるパターンに関係する情報といったメタデータに基づいてフィルタ・アウトされる画像管理ソフトウェアが下記で概説される。この型のデータ処理タスクは、通常、二つの可能なアプローチの一方によって実行される。メタ情報は、実際のデータ、すなわちこの場合は画像データと一緒に記憶される。これは、メタデータを介した探索において、すべての画像ファイルが開かれ、少なくとも部分的に読み込まれる必要があるという欠点をもつ。ここで記述される画像データの場合に、関連付けられたメタデータがいわゆるEXIFデータとしてたとえばJPEG画像フォーマットのような画像フォーマット中に記憶されていれば、それぞれの画像ファイルの少なくともヘッダ情報は、それぞれの場合において処理が可能になる前にまず読み込まれる必要がある。その結果、すでに上記した、大容量記憶システムの読み出しヘッドの頻繁な再位置決めに、よってより遅い処理速度につながる。
異なるアプローチは、必要とされるメタデータを別個のデータベース、特にリレーショナル・データベースまたはオブジェクト・データベースに記憶しておくことからなる。この場合、要求に応答するために必要とされるすべてのタスクは、加速された処理のために、共通のデータベースにおいて利用可能である。しかしながら、二番目に述べたアプローチは、記憶されているデータに対して他のソフトウェア・コンポーネントによってなされる修正、たとえば画像処理プログラムによる画像の再加工が場合によってはデータベースによって認識されないことがあるという欠点をもつ。したがって、データベースに記憶されているメタデータの実際のデータとの整合を保つ問題が本質的に存在する。
本発明のある例示的実施形態によれば、そのようなアプリケーション固有のメタデータがファイル・システム2のinode 7において追加的に記憶される。たとえば、写真の記録位置がGPFSファイル・システムの拡張された属性において記憶されることができる。この場合、ファイルの大きなリストをスキャンするための上記の諸方法が適用可能である。そうすれば、特に、処理、たとえばスライドショーの編集のために考慮に入れられる必要のあるさらなるファイルが、inode 7のリストのみに基づいて決定できる。アプリケーション固有の属性が拡張されたファイル・システム2に直接記憶されるので、ここでは記憶されているメタデータと、可能性としては修正されている画像データとの間で食い違いは起こりえない。
DMAPIインターフェースを使うすでに上述した方法は、この目的のために特に好適である。inode 7に記憶される拡張されたメタデータを生成し、維持するよう対応する機構がファイル・システム・レベルで記憶デバイス50中に統合されれば、これらの機構は常に、使用されるアプリケーションとは独立に維持される。
いくつかの態様を記載しておく。
〔態様1〕
少なくとも一つのディレクトリーおよび該ディレクトリーに記憶される複数のファイルを有するPOSIX互換なファイル・システムであって、
・それぞれのファイルに関係するメタデータをもつinodeが各ファイルに割り当てられ、
・前記ディレクトリーは前記複数のファイルのファイル名とファイルにそれぞれ割り当てられる前記inodeとの間の割り当てを含み、
・それぞれのファイルに関係する前記メタデータは、少なくとも、割り当てられたファイルの前記ファイル名および前記少なくとも一つのディレクトリーに関係する情報を含む、
POSIX互換なファイル・システム。
〔態様2〕
前記少なくとも一つのディレクトリーに関係する前記情報は、該ディレクトリーに割り当てられたinodeへの参照を含む、態様1記載のPOSIX互換なファイル・システム。
〔態様3〕
当該ファイル・システムは、WORMファイル・システムとして設計され、前記少なくとも一つのディレクトリーに関係する前記情報は、当該WORMファイル・システムのあらかじめ定義された基準点、特にマウント点からの、前記割り当てられたファイルのパス指定(12、13)を含む、態様1記載のPOSIX互換なファイル・システム。
〔態様4〕
前記それぞれのファイルに関係するメタデータは、そのファイルが記憶されているディレクトリーへのパス指定(13)および前記ファイル名(14)自身をもつフル・パス指定(12)を含む、態様3記載のPOSIX互換なファイル・システム。
〔態様5〕
前記ファイルに関係するメタデータは、さらに、当該ファイル・システムのあらかじめ定義された基準点、特にマウント点に割り当てられたinode(7r)への参照(19)を含む、態様1ないし4のうちいずれか一項記載のPOSIX互換なファイル・システム。
〔態様6〕
前記ファイル名および前記少なくとも一つのディレクトリーに関係する情報が、当該ファイル・システムの拡張された属性に記憶される、態様1ないし5のうちいずれか一項記載のPOSIX互換なファイル・システム。
〔態様7〕
POSIX互換なファイル・システムのファイルのファイル・リストを生成する方法であって:
・それぞれの場合においてinodeに割り当てられる複数のファイルのメタデータを取得するために、inodeのあらかじめ定義された群をスキャンする段階であって、前記メタデータは少なくとも、それぞれ割り当てられたファイルのファイル名およびそれぞれのファイルが記憶されているディレクトリーに関係する情報を含む、段階と;
・純粋に前記inodeに記憶されているメタデータに基づいて、ファイルのファイル名およびパス指定を定義する段階と;
・定義されたファイル名およびパス指定に基づいてファイル・リストを生成する段階とを含む、
方法。
〔態様8〕
前記メタデータは少なくとも一つのさらなる属性(16)、特にそれぞれ割り当てられたファイルの最後のバックアップの日付を含み、前記少なくとも一つのさらなる属性は前記ファイル・リスト中に転記されるおよび/または前記ファイル・リスト中へのファイルの転記が前記少なくとも一つのさらなる属性に基づいて決定される、態様7記載の方法。
〔態様9〕
・inodeのあらかじめ定義されたリストをスキャンする前記段階において、inodeのメタデータが少なくとも一つのあらかじめ定義された条件を満たすかどうかを判定する検査が実行され、
・ファイル・リストを生成する前記段階において、inodeに割り当てられるファイルについて、該それぞれのinodeのメタデータについて前記あらかじめ定義された条件が満たされる場合にのみ、エントリーが生成される、
態様8記載の方法。
〔態様10〕
ファイルに割り当てられたinodeにファイルのメタデータを記憶するためのPOSIX互換なファイル・システムの拡張された属性の使用であって、前記メタデータは、少なくとも、それぞれ割り当てられたファイルのファイル名およびそれぞれのファイルが記憶されているディレクトリーに関係する情報を含む、使用。
〔態様11〕
記憶デバイスであって、
・当該記憶デバイスによって記憶されているファイルにアクセスするための少なくとも一つのインターフェースと、
・ファイルの不揮発性記憶のための少なくとも一つの大容量記憶システムとを有しており、
当該記憶デバイスは、前記少なくとも一つのインターフェースを介してファイルを書き込む書き込みコマンドを受領すると、前記少なくとも一つのファイルに関係するメタデータを前記大容量記憶システムに記憶するよう構成されており、前記ファイルに関係する記憶されているメタデータは、少なくとも、そのファイルのファイル名およびそのファイルが記憶されているディレクトリーに関係する情報を含む、
記憶デバイス。
〔態様12〕
当該記憶デバイスによって実行される少なくとも一つのソフトウェア・コンポーネントをさらに有しており、前記少なくとも一つのソフトウェア・コンポーネントは、純粋に記憶されているメタデータに基づいて、特に態様7ないし9のうちいずれか一項記載の方法に従って、ファイル・リストを生成するよう構成されている、態様11記載の記憶デバイス。
〔態様13〕
前記ソフトウェア・コンポーネントがファイル管理のために構成されており、純粋に記憶されているメタデータに基づいてさらなる処理のためにファイルを選択する、態様12記載の記憶デバイス。
〔態様14〕
前記ソフトウェア・コンポーネントが、前記メタデータに記憶されている少なくとも一つの時間指定、特に前記メタデータに割り当てられたファイルの修正、生成および/またはバックアップ日に基づいてファイルをバックアップするよう構成されている、態様13記載の記憶デバイス。
〔態様15〕
前記少なくとも一つの大容量記憶システムのPOSIX互換なファイル・システムのファイルに割り当てられたinodeに前記メタデータを記憶するよう構成されている、態様11ないし14のうちいずれか一項記載の記憶デバイス。
〔態様16〕
選択されたファイルの、そのファイルのファイル名およびそのファイルが記憶されているディレクトリーに関係する情報を含む記憶されているメタデータの少なくとも一部を、前記少なくとも一つのインターフェース(54)を介して拡張された属性として提供するよう構成されている、態様15記載の記憶デバイス。


1 ディレクトリー・システム
2 ファイル・システム
3 ルート・ディレクトリー
4 物理的なデータ媒体
5 第一の記憶領域
6 第二の記憶領域
7 inode(アイノード)
8 ディレクトリー・オブジェクト
9 ファイル・オブジェクト
10 ファイル・リスト
11 リスト項目
12 (フル)パス指定
13 (単純)パス指定
14 ファイル名
15 (inodeの)アドレス
16 さらなる属性
17 ディレクトリー項目
18 戻り参照
19 (基準点の)参照
20 バックアップ日時
50 記憶デバイス
51 大容量記憶システム
52 テープ・ドライブ
53 クラウド・メモリ
54 第一のインターフェース
55 処理コンポーネント
56 第二のインターフェース
57 構成設定ダイアログ
58 スキャン・デバイス
59 オブジェクト・ムーバ
60 バックアップ・マネージャ

Claims (14)

  1. 少なくとも一つのディレクトリーおよび該ディレクトリーに記憶される複数のファイルを有するPOSIX互換なファイル・システムであって、
    ・それぞれのファイルに関係するメタデータをもつinodeが各ファイルに割り当てられ、
    ・前記ディレクトリーのディレクトリー・オブジェクトは前記複数のファイルのファイルにそれぞれ割り当てられるファイル名と前記inodeの数値アドレスとを含み、
    ・前記inodeはデータ媒体の第一の記憶領域に記憶され、ディレクトリー・オブジェクトおよびファイル・オブジェクトは前記データ媒体の第二の記憶領域に記憶され、
    ・それぞれのファイルに関係する前記メタデータは、少なくとも、割り当てられたファイルの前記ファイル名および前記少なくとも一つのディレクトリーに関係する情報を含み、前記少なくとも一つのディレクトリーに関係する前記情報は、該ディレクトリーに割り当てられたinodeへの参照、または、あらかじめ定義された基準点からの、前記割り当てられたファイルのパス指定を含み、それにより当該ファイル・システムにおけるファイル名および/またはパス指定は、前記inodeに記憶されている前記メタデータのみに基づいて、前記第二の記憶領域に記憶されるデータ・ブロックにアクセスする必要なしに決定できる、
    POSIX互換なファイル・システム。
  2. 当該ファイル・システムは、WORMファイル・システムとして設計される、請求項1記載のPOSIX互換なファイル・システム。
  3. 前記それぞれのファイルに関係するメタデータは、そのファイルが記憶されているディレクトリーへのパス指定(13)および前記ファイル名(14)自身をもつフル・パス指定(12)を含む、請求項記載のPOSIX互換なファイル・システム。
  4. 前記ファイルに関係するメタデータは、さらに、当該ファイル・システムのあらかじめ定義された基準点、特にマウント点に割り当てられたinode(7r)への参照(19)を含む、請求項1記載のPOSIX互換なファイル・システム。
  5. 前記ファイル名および前記少なくとも一つのディレクトリーに関係する情報が、当該ファイル・システムの拡張された属性に記憶される、請求項1記載のPOSIX互換なファイル・システム。
  6. POSIX互換なファイル・システムのファイルのファイル・リストを生成する方法であって:
    ・inodeに割り当てられる複数のファイルのメタデータを取得するために、inodeのあらかじめ定義されたリストをスキャンする段階であって、前記inodeの一つに記憶されている各ファイルについての前記メタデータは少なくとも、それぞれ割り当てられたファイルのファイル名およびそれぞれのファイルが記憶されているディレクトリーに関係する情報を含み、前記少なくとも一つのディレクトリーに関係する前記情報は、該ディレクトリーに割り当てられたinodeへの参照、または、あらかじめ定義された基準点からの、前記割り当てられたファイルのパス指定を含む、段階と;
    データ媒体の第二の記憶領域に記憶されるデータ・ブロックにアクセスする必要なしに、前記inodeに記憶されているメタデータに基づいて、ファイルのファイル名およびパス指定を決定する段階と;
    決定されたファイル名およびパス指定に基づいてファイル・リストを生成する段階とを含み、
    ・前記inodeは前記データ媒体の第一の記憶領域に記憶され、ディレクトリー・オブジェクトおよびファイル・オブジェクトは前記データ媒体の第二の記憶領域に記憶される、
    方法。
  7. 前記メタデータは少なくとも一つのさらなる属性(16)、特にそれぞれ割り当てられたファイルの最後のバックアップの日付を含み、前記少なくとも一つのさらなる属性は前記ファイル・リスト中に転記されるおよび/または前記ファイル・リスト中へのファイルの転記が前記少なくとも一つのさらなる属性に基づいて決定される、請求項記載の方法。
  8. ・inodeのあらかじめ定義されたリストをスキャンする前記段階において、inodeのメタデータが少なくとも一つのあらかじめ定義された条件を満たすかどうかを判定する検査が実行され、
    ・ファイル・リストを生成する前記段階において、inodeに割り当てられるファイルについて、該それぞれのinodeのメタデータについて前記あらかじめ定義された条件が満たされる場合にのみ、エントリーが生成される、
    請求項記載の方法。
  9. POSIX互換なファイル・システムを提供するための必要な情報を記憶する記憶デバイスであって、
    ・当該記憶デバイスによって記憶されているファイルにアクセスするための少なくとも一つのインターフェースと、
    ・ファイルの不揮発性記憶のための少なくとも一つの大容量記憶システムとを有しており、
    当該記憶デバイスは、前記少なくとも一つのインターフェースを介してファイルを書き込む書き込みコマンドを受領すると、前記少なくとも一つのファイルに関係するメタデータを前記大容量記憶システムの前記ファイルに関連付けられたinodeに記憶するよう構成されており、前記ファイルに関係する記憶されているメタデータは、少なくとも、そのファイルのファイル名およびそのファイルが記憶されているディレクトリーに関係する情報を含み、前記少なくとも一つのディレクトリーに関係する前記情報は、該ディレクトリーに割り当てられたinodeへの参照、または、あらかじめ定義された基準点からの、前記割り当てられたファイルのパス指定を含み、それにより当該ファイル・システムにおけるファイル名および/またはフル・パス指定は、前記inodeに記憶されている前記メタデータのみに基づいて、データ媒体の第二の記憶領域に記憶されるデータ・ブロックにアクセスする必要なしに決定でき、
    前記inodeは前記データ媒体の第一の記憶領域に記憶され、ディレクトリー・オブジェクトおよびファイル・オブジェクトは前記データ媒体の第二の記憶領域に記憶される、
    記憶デバイス。
  10. 当該記憶デバイスによって実行される少なくとも一つのソフトウェア・コンポーネントをさらに有しており、前記少なくとも一つのソフトウェア・コンポーネントは、データ媒体の第一の記憶領域に記憶されているメタデータに基づいて、特に請求項ないしのうちいずれか一項記載の方法に従って、ファイル・リストを生成するよう構成されている、請求項記載の記憶デバイス。
  11. 前記ソフトウェア・コンポーネントがファイル管理のために構成されており、データ媒体の第一の記憶領域に記憶されているメタデータに基づいてさらなる処理のためにファイルを選択する、請求項10記載の記憶デバイス。
  12. 前記ソフトウェア・コンポーネントが、前記メタデータに記憶されている少なくとも一つの時間指定、特に前記メタデータに割り当てられたファイルの修正、生成および/またはバックアップ日に基づいてファイルをバックアップするよう構成されている、請求項11記載の記憶デバイス。
  13. 前記少なくとも一つの大容量記憶システムのPOSIX互換なファイル・システムのファイルに割り当てられたinodeに前記メタデータを記憶するよう構成されている、請求項記載の記憶デバイス。
  14. 選択されたファイルの、そのファイルのファイル名およびそのファイルが記憶されているディレクトリーに関係する情報を含む記憶されているメタデータの少なくとも一部を、前記少なくとも一つのインターフェース(54)を介して拡張された属性として提供するよう構成されている、請求項13記載の記憶デバイス。
JP2016524848A 2013-12-17 2014-10-13 Posix互換なファイル・システム、ファイル・リストを生成する方法および記憶デバイス Expired - Fee Related JP6430499B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE102013114214.1A DE102013114214A1 (de) 2013-12-17 2013-12-17 POSIX-kompatibles Dateisystem, Verfahren zum Erzeugen einer Dateiliste und Speichervorrichtung
DE102013114214.1 2013-12-17
PCT/EP2014/071892 WO2015090668A1 (de) 2013-12-17 2014-10-13 Posix-kompatibles dateisystem, verfahren zum erzeugen einer dateiliste und speichervorrichtung

Publications (2)

Publication Number Publication Date
JP2016526737A JP2016526737A (ja) 2016-09-05
JP6430499B2 true JP6430499B2 (ja) 2018-11-28

Family

ID=51691057

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016524848A Expired - Fee Related JP6430499B2 (ja) 2013-12-17 2014-10-13 Posix互換なファイル・システム、ファイル・リストを生成する方法および記憶デバイス

Country Status (5)

Country Link
US (1) US20160283501A1 (ja)
EP (1) EP3084638A1 (ja)
JP (1) JP6430499B2 (ja)
DE (1) DE102013114214A1 (ja)
WO (1) WO2015090668A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11487717B2 (en) * 2016-04-26 2022-11-01 Umbra Technologies Ltd. Data beacon pulser(s) powered by information slingshot
US11681665B2 (en) 2015-12-11 2023-06-20 Umbra Technologies Ltd. System and method for information slingshot over a network tapestry and granularity of a tick
US11711346B2 (en) 2015-01-06 2023-07-25 Umbra Technologies Ltd. System and method for neutral application programming interface
US11750419B2 (en) 2015-04-07 2023-09-05 Umbra Technologies Ltd. Systems and methods for providing a global virtual network (GVN)
US11881964B2 (en) 2015-01-28 2024-01-23 Umbra Technologies Ltd. System and method for a global virtual network

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9697227B2 (en) * 2014-10-27 2017-07-04 Cohesity, Inc. Concurrent access and transactions in a distributed file system
US10762041B2 (en) * 2015-08-31 2020-09-01 Netapp, Inc. Event based retention of read only files
US11106645B1 (en) * 2015-09-29 2021-08-31 EMC IP Holding Company LLC Multi point in time object store
US9824233B2 (en) 2015-11-17 2017-11-21 International Business Machines Corporation Posixly secure open and access files by inode number
US11106625B2 (en) 2015-11-30 2021-08-31 International Business Machines Corporation Enabling a Hadoop file system with POSIX compliance
US10178173B2 (en) * 2016-08-02 2019-01-08 International Business Machines Corporation Cloud service utilization
CN106354890B (zh) * 2016-11-22 2019-05-21 中国科学院上海微系统与信息技术研究所 一种基于N-ary树结构的随机访问的文件系统的实现方法
US20190005066A1 (en) * 2017-06-29 2019-01-03 International Business Machines Corporation Multi-tenant data service in distributed file systems for big data analysis
CN110019010B (zh) * 2017-11-14 2023-06-13 阿里巴巴集团控股有限公司 处理方法、装置、设备和机器可读介质
CN111104377B (zh) * 2018-10-26 2023-09-12 伊姆西Ip控股有限责任公司 文件管理的方法、电子设备和计算机可读存储介质
US11144502B2 (en) * 2019-03-08 2021-10-12 Netapp Inc. Object store file system format for representing, storing, and retrieving data in an object store according to a structured format
WO2023208404A1 (en) 2022-04-29 2023-11-02 Petagene Ltd Improvements in and relating to object-based storage

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1307580C (zh) * 2001-09-26 2007-03-28 Emc公司 大文件的有效管理
US7752226B1 (en) * 2002-12-20 2010-07-06 Symantec Operating Corporation Reverse pathname lookup by inode identifier
US7092976B2 (en) * 2003-06-24 2006-08-15 International Business Machines Corporation Parallel high speed backup for a storage area network (SAN) file system
US7693880B1 (en) * 2004-05-06 2010-04-06 Symantec Operating Corporation Mirrored storage at the file system level
US7788303B2 (en) * 2005-10-21 2010-08-31 Isilon Systems, Inc. Systems and methods for distributed system scanning
US8296398B2 (en) * 2008-04-29 2012-10-23 Overland Storage, Inc. Peer-to-peer redundant file server system and methods
US8478799B2 (en) * 2009-06-26 2013-07-02 Simplivity Corporation Namespace file system accessing an object store
JP5463899B2 (ja) * 2009-12-22 2014-04-09 富士通株式会社 ファイル管理情報記憶装置、ファイル管理情報記憶装置の制御方法、およびファイル管理情報記憶装置の制御プログラム
JP5735124B2 (ja) * 2011-10-28 2015-06-17 株式会社日立製作所 ストレージシステム、及びオブジェクト管理方法
US20130212070A1 (en) * 2012-02-13 2013-08-15 Hitachi, Ltd. Management apparatus and management method for hierarchical storage system
US9361187B2 (en) * 2013-11-04 2016-06-07 Quantum Corporation File system metadata capture and restore

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11711346B2 (en) 2015-01-06 2023-07-25 Umbra Technologies Ltd. System and method for neutral application programming interface
US11881964B2 (en) 2015-01-28 2024-01-23 Umbra Technologies Ltd. System and method for a global virtual network
US11750419B2 (en) 2015-04-07 2023-09-05 Umbra Technologies Ltd. Systems and methods for providing a global virtual network (GVN)
US11799687B2 (en) 2015-04-07 2023-10-24 Umbra Technologies Ltd. System and method for virtual interfaces and advanced smart routing in a global virtual network
US11681665B2 (en) 2015-12-11 2023-06-20 Umbra Technologies Ltd. System and method for information slingshot over a network tapestry and granularity of a tick
US11487717B2 (en) * 2016-04-26 2022-11-01 Umbra Technologies Ltd. Data beacon pulser(s) powered by information slingshot
US11630811B2 (en) 2016-04-26 2023-04-18 Umbra Technologies Ltd. Network Slinghop via tapestry slingshot
US11743332B2 (en) 2016-04-26 2023-08-29 Umbra Technologies Ltd. Systems and methods for routing data to a parallel file system
US11789910B2 (en) 2016-04-26 2023-10-17 Umbra Technologies Ltd. Data beacon pulser(s) powered by information slingshot

Also Published As

Publication number Publication date
WO2015090668A1 (de) 2015-06-25
JP2016526737A (ja) 2016-09-05
EP3084638A1 (de) 2016-10-26
DE102013114214A1 (de) 2015-06-18
US20160283501A1 (en) 2016-09-29

Similar Documents

Publication Publication Date Title
JP6430499B2 (ja) Posix互換なファイル・システム、ファイル・リストを生成する方法および記憶デバイス
US9665304B2 (en) Storage system with fast snapshot tree search
US7680842B2 (en) Systems and methods for a snapshot of data
US7680836B2 (en) Systems and methods for a snapshot of data
US7882071B2 (en) Systems and methods for a snapshot of data
JP4160933B2 (ja) 超大規模ファイル・システムでのファイル・システム使用のすばやい復元
KR101137299B1 (ko) 스냅샷을 제공하는 파일 시스템에 대한 계층적 저장 관리
US8423733B1 (en) Single-copy implicit sharing among clones
KR100962055B1 (ko) 컴퓨터 시스템들간의 객체 공유
JP4157858B2 (ja) ストレージ・エリア・ネットワーク(san)ファイル・システムの並列高速バックアップ
US7953704B2 (en) Systems and methods for a snapshot of data
EP3103025B1 (en) Content based organization of file systems
US7587431B1 (en) Updating snapshots
US7979478B2 (en) Data management method
US7930559B1 (en) Decoupled data stream and access structures
US20090055607A1 (en) Systems and methods for adaptive copy on write
US20070061540A1 (en) Data storage system using segmentable virtual volumes
JP6298903B2 (ja) 計算機システム、分散オブジェクト共有方法、エッジノード
US11494334B2 (en) Embedded reference counts for file clones
US8046391B2 (en) Storage apparatus and its file control method and storage system
JP4825719B2 (ja) 高速ファイル属性検索
WO2008021528A2 (en) Systems and methods for a snapshot of data
JP4159506B2 (ja) 階層記憶装置、その復旧方法、及び復旧プログラム
JP2005215940A (ja) ストレージシステム、サーバ装置及び先行コピーデータ生成方法
JP2002222105A (ja) ファイルシステムと、そのファイルシステムの実現に用いられるプログラムと、そのプログラムを記録したプログラム記録媒体

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20161116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170214

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20170214

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20170215

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170411

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170425

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170721

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20170727

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20170818

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180720

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181031

R150 Certificate of patent or registration of utility model

Ref document number: 6430499

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees