(57)【特許請求の範囲】
【請求項１】
少なくとも一つのディレクトリーおよび該ディレクトリーに記憶される複数のファイルを有するPOSIX互換なファイル・システムであって、
・それぞれのファイルに関係するメタデータをもつinodeが各ファイルに割り当てられ、
・前記ディレクトリーのディレクトリー・オブジェクトは前記複数のファイルのファイルにそれぞれ割り当てられるファイル名と前記inodeの数値アドレスとを含み、
・前記inodeはデータ媒体の第一の記憶領域に記憶され、ディレクトリー・オブジェクトおよびファイル・オブジェクトは前記データ媒体の第二の記憶領域に記憶され、
・それぞれのファイルに関係する前記メタデータは、少なくとも、割り当てられたファイルの前記ファイル名および前記少なくとも一つのディレクトリーに関係する情報を含み、前記少なくとも一つのディレクトリーに関係する前記情報は、該ディレクトリーに割り当てられたinodeへの参照、または、あらかじめ定義された基準点からの、前記割り当てられたファイルのパス指定を含み、それにより当該ファイル・システムにおけるファイル名および／またはパス指定は、前記inodeに記憶されている前記メタデータのみに基づいて、前記第二の記憶領域に記憶されるデータ・ブロックにアクセスする必要なしに決定できる、
POSIX互換なファイル・システム。
【請求項２】
当該ファイル・システムは、WORMファイル・システムとして設計される、請求項１記載のPOSIX互換なファイル・システム。
【請求項３】
前記それぞれのファイルに関係するメタデータは、そのファイルが記憶されているディレクトリーへのパス指定（１３）および前記ファイル名（１４）自身をもつフル・パス指定（１２）を含む、請求項２記載のPOSIX互換なファイル・システム。
【請求項４】
前記ファイルに関係するメタデータは、さらに、当該ファイル・システムのあらかじめ定義された基準点、特にマウント点に割り当てられたinode（７ｒ）への参照（１９）を含む、請求項１記載のPOSIX互換なファイル・システム。
【請求項５】
前記ファイル名および前記少なくとも一つのディレクトリーに関係する情報が、当該ファイル・システムの拡張された属性に記憶される、請求項１記載のPOSIX互換なファイル・システム。
【請求項６】
POSIX互換なファイル・システムのファイルのファイル・リストを生成する方法であって：
・inodeに割り当てられる複数のファイルのメタデータを取得するために、inodeのあらかじめ定義されたリストをスキャンする段階であって、前記inodeの一つに記憶されている各ファイルについての前記メタデータは少なくとも、それぞれ割り当てられたファイルのファイル名およびそれぞれのファイルが記憶されているディレクトリーに関係する情報を含み、前記少なくとも一つのディレクトリーに関係する前記情報は、該ディレクトリーに割り当てられたinodeへの参照、または、あらかじめ定義された基準点からの、前記割り当てられたファイルのパス指定を含む、段階と；
・データ媒体の第二の記憶領域に記憶されるデータ・ブロックにアクセスする必要なしに、前記inodeに記憶されているメタデータに基づいて、ファイルのファイル名およびパス指定を決定する段階と；
・決定されたファイル名およびパス指定に基づいてファイル・リストを生成する段階とを含み、
・前記inodeは前記データ媒体の第一の記憶領域に記憶され、ディレクトリー・オブジェクトおよびファイル・オブジェクトは前記データ媒体の第二の記憶領域に記憶される、
方法。
【請求項７】
前記メタデータは少なくとも一つのさらなる属性（１６）、特にそれぞれ割り当てられたファイルの最後のバックアップの日付を含み、前記少なくとも一つのさらなる属性は前記ファイル・リスト中に転記されるおよび／または前記ファイル・リスト中へのファイルの転記が前記少なくとも一つのさらなる属性に基づいて決定される、請求項６記載の方法。
【請求項８】
・inodeのあらかじめ定義されたリストをスキャンする前記段階において、inodeのメタデータが少なくとも一つのあらかじめ定義された条件を満たすかどうかを判定する検査が実行され、
・ファイル・リストを生成する前記段階において、inodeに割り当てられるファイルについて、該それぞれのinodeのメタデータについて前記あらかじめ定義された条件が満たされる場合にのみ、エントリーが生成される、
請求項７記載の方法。
【請求項９】
POSIX互換なファイル・システムを提供するための必要な情報を記憶する記憶デバイスであって、
・当該記憶デバイスによって記憶されているファイルにアクセスするための少なくとも一つのインターフェースと、
・ファイルの不揮発性記憶のための少なくとも一つの大容量記憶システムとを有しており、
当該記憶デバイスは、前記少なくとも一つのインターフェースを介してファイルを書き込む書き込みコマンドを受領すると、前記少なくとも一つのファイルに関係するメタデータを前記大容量記憶システムの前記ファイルに関連付けられたinodeに記憶するよう構成されており、前記ファイルに関係する記憶されているメタデータは、少なくとも、そのファイルのファイル名およびそのファイルが記憶されているディレクトリーに関係する情報を含み、前記少なくとも一つのディレクトリーに関係する前記情報は、該ディレクトリーに割り当てられたinodeへの参照、または、あらかじめ定義された基準点からの、前記割り当てられたファイルのパス指定を含み、それにより当該ファイル・システムにおけるファイル名および／またはフル・パス指定は、前記inodeに記憶されている前記メタデータのみに基づいて、データ媒体の第二の記憶領域に記憶されるデータ・ブロックにアクセスする必要なしに決定でき、
前記inodeは前記データ媒体の第一の記憶領域に記憶され、ディレクトリー・オブジェクトおよびファイル・オブジェクトは前記データ媒体の第二の記憶領域に記憶される、
記憶デバイス。
【請求項１０】
当該記憶デバイスによって実行される少なくとも一つのソフトウェア・コンポーネントをさらに有しており、前記少なくとも一つのソフトウェア・コンポーネントは、データ媒体の第一の記憶領域に記憶されているメタデータに基づいて、特に請求項６ないし８のうちいずれか一項記載の方法に従って、ファイル・リストを生成するよう構成されている、請求項９記載の記憶デバイス。
【請求項１１】
前記ソフトウェア・コンポーネントがファイル管理のために構成されており、データ媒体の第一の記憶領域に記憶されているメタデータに基づいてさらなる処理のためにファイルを選択する、請求項１０記載の記憶デバイス。
【請求項１２】
前記ソフトウェア・コンポーネントが、前記メタデータに記憶されている少なくとも一つの時間指定、特に前記メタデータに割り当てられたファイルの修正、生成および／またはバックアップ日に基づいてファイルをバックアップするよう構成されている、請求項１１記載の記憶デバイス。
【請求項１３】
前記少なくとも一つの大容量記憶システムのPOSIX互換なファイル・システムのファイルに割り当てられたinodeに前記メタデータを記憶するよう構成されている、請求項９記載の記憶デバイス。
【請求項１４】
選択されたファイルの、そのファイルのファイル名およびそのファイルが記憶されているディレクトリーに関係する情報を含む記憶されているメタデータの少なくとも一部を、前記少なくとも一つのインターフェース（５４）を介して拡張された属性として提供するよう構成されている、請求項１３記載の記憶デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、少なくとも一つのディレクトリーおよび該ディレクトリーに格納されている複数のファイルを有する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互換なファイル・システムについて以下でまず一般に、図１Ａないし図１Ｃを参照して記述するとともに、図２Ａおよび図２Ｂを参照してその実装のための通常のデータ構造およびファイル・リストを生成する方法を記述する。
【００２１】
図１Ａは、POSIX互換なファイル・システム２のディレクトリー木１を示している。区別をより明確にするため、以下では大文字はディレクトリーを表わすために使われ、小文字および数字はファイル・システム２の通常のファイルを表わすために使われる。明らかに、POSIX互換なファイル・システム２は通常、ディレクトリー名およびファイル名のいずれについても、大文字および小文字および数字および他の特殊キャラクタの使用を許容する。さらに、図１Ａに示したものより著しくより長い名前および著しくより複雑なディレクトリー木の生成が可能である。
【００２２】
以下の記述および付属の請求項においてファイルが言及される限りにおいて、これはそれぞれの場合においてPOSIX互換なファイル・システムの意味で通常のファイル、すなわちファイル・システム２に記憶されているユーザー・データを意味するものと理解されるべきである。他のオブジェクト、たとえば特にディレクトリー・オブジェクト、いわゆるハードおよびソフト・リンクおよびファイル・システム２の他のメタデータは、通常のファイルとより明確に区別するために、以下などでは明示的にマークされる。
【００２３】
ディレクトリー木１は、ユニックス・オペレーティング・システムおよびたとえばリナックスなどの関係するオペレーティング・システムにおいて通常順方向のスラッシュ「／」によって表わされるいわゆるルート・ディレクトリー２を含む。ディレクトリー木１は最初にルート・ディレクトリー３から、第一階層レベルの三つのディレクトリーA、B、Cに分岐している。図１のディレクトリー木１では、第一のディレクトリーAは二つの通常のファイルa1およびa2を含む。第二のディレクトリーBは単一のファイルb1を含む。第三のディレクトリーCは第二階層レベルのさらなるサブディレクトリーDおよび通常のファイルc1およびc2を含む。図１の例示的実施形態では、二次のサブディレクトリーD内にはさらなるファイルd1が格納されている。
【００２４】
ここで、図１Ａに示されるディレクトリー木１は、いわゆるマウント点も、ファイル・システム２の異なるファイル・オブジェクトおよびディレクトリー・オブジェクトの間のいかなる種類のリンクもない、単一のマスター・ファイル・システムのみを含む単純化された特殊な場合を表わしている。POSIX互換なファイル・システムでは、一般に、より高次のファイル・システム、通常はルート・ディレクトリー３をもつマスター・ファイル・システムのあらかじめ定義された諸位置、いわゆるマウント点において諸ディレクトリー木が記憶されているさらなる大容量記憶システムのコンテンツを組み込むことが慣例である。同様に、ソフトまたはハード・リンクの使用を通じてネットワーク様構造が生成されることができ、それにより、複数のパスがルート・ディレクトリー３から同一の通常のファイルに導くことができる。この型の構造は明快のためここには示されていない。以下に記載されるデバイスおよび方法の実装のためのその意義は、対応する箇所で述べる。
【００２５】
図１Ｂは、ディレクトリー木１を物理的なデータ媒体４上にマッピングするためのデータ構造を概略的に示している。たとえば、物理的な媒体４は、ハードディスクドライブまたはフラッシュドライブの形の大容量記憶システムである。しかしながら、他の記憶媒体も原理的には可能である。
【００２６】
本例示的実施形態では、物理的なデータ媒体４は第一の記憶領域５および第二の記憶領域６に分割される。これはたとえば、物理的なデータ媒体４のブロック・アドレスまたは他のアドレス指定に従った分割を伴ってもよい。この型の分割は通常、データ媒体４の最初の初期化の間に、たとえばファイル・システム２でデータ媒体４をフォーマットする間に行なわれる。
【００２７】
本例示的実施形態では、いわゆるinodeが第一の記憶領域５に記憶される。inodeは、ファイル・システム２に記憶されるデータに関係するメタデータをもつPOSIX互換なデータ・ブロックである。個々のinode  ７の正確なデータ構造は図２Ａを参照して後述する。図１Ｂに基づく表現では、あらかじめ定義されたinode  ７ｒがルート・ディレクトリー３に割り当てられている。これはたとえば、第一の記憶領域５の最初のアドレス指定可能なブロックに関わる。ディレクトリーA、B、C、Dおよびファイルa1、a2、b1、c1、c2、d1にそれぞれの場合においてさらなるinode  ７が割り当てられる。inode  ７と関連付けられたディレクトリーまたはファイルとの間のそれぞれの割り当てはファイル・システム２の実装に依存する。第一の記憶領域５のinode  ７が上述した順に示されているのは純粋に明確のためである。しかしながら、実際上は、inodeの関連付けられるディレクトリーまたはファイルへの割り当ては、もっとその生成の逐次順に依存する。
【００２８】
ファイル・システム２の実際のデータは、第二の記憶領域６に記憶される。特に、ディレクトリーA、B、C、Dおよびルート・ディレクトリー「/」のそれぞれについて、第二の記憶領域６にディレクトリー・オブジェクト８が記憶される。対応するディレクトリー・オブジェクト８は本質的には、リスト項目のリストを含む。ここで、各リスト項目はそのディレクトリーに記憶されているオブジェクトの名前および関連付けられたinodeを示す。たとえば、ディレクトリー・オブジェクト８は、ファイル名a1およびa2ならびにファイルa1およびa2に割り当てられたinode  ７の関連付けられた数値アドレスをもつ、ディレクトリーAについての二つのリスト項目を含む。第一の記憶領域５の対応するinode  ７に割り当てられている通常のファイルのファイル・オブジェクト９はさらに、第二の記憶領域６に記憶される。記憶されるファイルのサイズに依存して、実際のデータは一つまたは複数のファイル・オブジェクト９にわたって延在する。しかしながら、これは明確のため図１Ｂには示されていない。
【００２９】
非常に大きなファイルの場合、単一のinode  ７は、第二の記憶領域６のすべてのファイル・オブジェクト９への参照を単一のinode  ７内に記憶するのに常に十分ではない。この場合、inode  ７はさらなる、二次または三次のinode  ７を参照し、それにより対応するファイル・オブジェクト９への多数の参照が記憶されることができる。さらなる詳細に関しては、たとえば英文のオンライン百科事典ウィキペディアにおける「Inodes」の記事（http://en.wikipedia.org/wiki/Inode、27.10.2013付バージョン）が参照される。
【００３０】
ファイル・リスト１０が図１Ｃに示されている。ファイル・リスト１０は通常のファイルについてのリスト項目１１を含む。各リスト項目１１は少なくとも一つのフル・パス指定１２を含む。該フル・パス指定１２は、そのファイルが格納されているディレクトリーへの単純なパス指定１３ならびにそのファイルに割り当てられているinode  ７の数値アドレス１５およびそのファイルのさらなる属性１６、たとえばそのファイルの作成または最終補正の日時からなる。ファイル・リスト１０内の情報はたとえば、アーカイブ・システムのソフトウェア・コンポーネントによって、第二の記憶領域６のどのファイル・オブジェクト９が、たとえば磁気バックアップ・テープのようなさらなる記憶媒体上に記憶される必要があるかを決定するために使われてもよい。
【００３１】
しかしながら、この型のファイル・リスト１０は、中でも、大ボリュームのデータを管理するために、他のシステムおよびプログラムのために階層式記憶システム（HSM:  hierarchical  storage  system）において必要とされる。既知のPOSIX互換なファイル・システムの問題は、この型のファイル・リスト１０の生成が、中でも、かなりの時間を必要とするということである。特に、クラスター・システムの種々のノードにわたって分散されている何百万ものファイルをもついわゆる「ビッグデータ」システムの場合、対応するファイル・リスト１０の生成または維持は、既知のファイル・システムでこの目的のために利用可能な時間では不可能である。
【００３２】
以下では、図２Ａおよび図２Ｂを参照して、通常のファイル・システムにおいて、物理的なデータ蜂体４上に記憶されている情報に基づいて、図１Ｃに基づくファイル・リスト１０がどのようにして生成できるかを記述する。図２Ａは、この目的のために使われるデータ構造を概略的に示しており、図２Ｂはファイル・リスト１０を生成するためにディレクトリー木１を処理する通常の方法の流れ図を示している。
【００３３】
第一のステップ２０では、ルート・ディレクトリー３のinode  ７ｒが定義され、ロードされる。たとえば、アドレス「0」をもつinode項目が第一の記憶領域５から読み込まれることができる。この場合単一の「/」によって表わされる実際のパスが、同時に、作業変数pに保持される。
【００３４】
ステップ２１では、次いで、関連付けられたディレクトリー・オブジェクト８ｒが第二の記憶領域６からロードされる。図２Ａに示される例示的実施形態では、ディレクトリー・オブジェクト８ｒは、第一階層レベルのディレクトリーA、B、Cについての三つのディレクトリー項目１７を含む。
【００３５】
続くステップ２２では、処理されるべきさらなるディレクトリー項目１７がディレクトリー・オブジェクト８ｒ内に存在していることが確立される。
【００３６】
次のステップ２３では、まだ未知の記憶オブジェクトAに関係する第一のディレクトリー・エントリー１７Ａがまず読み込まれる。ディレクトリー・エントリー１７Ａは、アドレス「1」をもつinode  ７Ａが記憶オブジェクトAに割り当てられることを示す。さらに記憶オブジェクトの名前「A」がディレクトリー項目１７Ａによって示される。
【００３７】
次のステップ２４では、記憶オブジェクトAに関連付けられたメタデータを定義するために、アドレス「1」をもつ記憶オブジェクトAの関連付けられたinode  ７Ａがロードされる。
【００３８】
ステップ２５では、記憶オブジェクトAがどんな型のオブジェクトであるかを判別するために検査が実行される。inode  ７Ａのロードされたメタデータから、たとえばいわゆるモード情報に基づいて、今の場合のようにさらなるディレクトリーまたは通常のファイルまたはPOSIX互換なファイル・システム２の別のオブジェクトがここで関わっているかどうかを判別することが可能である。図２Ｂでは、呈示の簡略化のため、ファイルおよびディレクトリーの処理のみが示されている。
【００３９】
今の場合のようにさらなるディレクトリー８が関わっている場合、調査されるべきパスpについての作業変数は次のステップ２６において、ステップ２３で定義された名前をもって補足される。さらに、これまで有効だったディレクトリーは、一時的にさらなる変数qに記憶される。次いで、本方法は再帰的にステップ２１において、関連付けられたディレクトリー・オブジェクト８Ａのロードをもって続けられる。
【００４０】
記載される例では、ディレクトリーAは、ファイルa1およびa2についての通常のファイル・オブジェクト９のみを含む。よって、ステップ２５におけるその後の検査では、ディレクトリー・オブジェクト８Ａのディレクトリー項目１７が通常のファイルを指すことが確立される。ステップ２７では、現在のパスpおよびステップ２３においてディレクトリー項目１７から取られたファイル名「a1」に基づいて、そのファイル・リスト１０のために、リスト項目１１がしかるべく生成される。次いで、本方法は次のディレクトリー項目１７のためにステップ２２において続けられる。ステップ２７におけるその後のループにおいて、ファイルa2についてさらなるリスト項目１１がしかるべく生成される。
【００４１】
ステップ２２のある反復において、ディレクトリーAにおいて、処理されるべきさらなるディレクトリー項目１７がないことが確立される。続くステップ２８では、パスはディレクトリーAのより高次のディレクトリー、すなわちルート・ディレクトリー「/」にしかるべくリセットされ、本方法はステップ２２において、次の、より高いレベルにおいて続けられる。
【００４２】
記載される方法によって、図１Ａに示されるルート木１は、再帰的アルゴリズムによって漸進的に訪問される。ここで、ファイル・オブジェクト９についてのディレクトリー項目１７がファイル・リスト１０において生成される。
【００４３】
特に図２Ａに基づく表現に示されるように、図２Ｂに基づく方法は、第一の記憶領域５と第二の記憶領域６との間の行ったり来たりの規則的なジャンプを引き起こす。その理由は、特に、関連付けられたディレクトリー・オブジェクト８およびファイル・オブジェクト９は、第一の記憶領域５からのinode  ７の情報を読むことなくしては、第二の記憶領域６内で位置特定されることができないということである。逆に、たとえば個々のファイルの名前およびパス指定を定義するためまたはディレクトリー木１の階層構造を決定するために、第一の記憶領域５のinode  ７においてすべての情報が利用可能ではない。したがって、実際上、この手順は、ファイル・リスト１０を生成するために、書き込み／読み出しヘッドまたは物理的なデータ媒体４の他の読み出しデバイスの頻繁な再位置決めが必要とされるという欠点をもつ。特に、アーカイブ・システムにおいて見られるような非常に大きなファイル集合の場合、これは、実際上、長いトランジット遅延につながり、よって頻繁に走るプロセスの場合には問題になる。
【００４４】
図３Ａは、上記のディレクトリー木１をマッピングするための改善されたデータ構造を示している。特に、上述の情報に加えて、関連付けられたファイル・オブジェクト９またはディレクトリー・オブジェクト８の名前が、それぞれの場合において個々のinode  ７に記憶される。高次のディレクトリー・オブジェクト８のinode  ７への戻り参照１８が同様にinode  ７に、すなわちディレクトリーAのinode  ７Ａに記憶される。たとえば、inode  ７ｒへの参照である。ルート・ディレクトリー３自身のinode  ７ｒだけには項目が存在しない。
【００４５】
ファイル・システム２のあらかじめ定義された基準点へのさらなる参照が任意的にはすべてのinode  ７（図３Ａには示さず）に記憶されることができる。図１Ａの単純なディレクトリー木１の場合、基準点についての項目はルート・ディレクトリー３を直接指す。複数のデータ媒体にわたって分散しており、よって複数のマウント点をもつより複雑なディレクトリー木の場合には、基準点は、そのファイルを含むファイル・システムのマウント点を指す。このようにして、inode  ７に記憶されるメタデータは、たとえ関わっているファイル・システムが他の場所で高次のファイル・システム、特にマスター・ファイル・システムに組み込まれているとしても、有効なままである。
【００４６】
関連付けられたファイル・オブジェクト９またはディレクトリー・オブジェクト８の名前、戻り参照１８および関連する場合には基準点への参照は、たとえば、既知のファイル・システムの拡張された属性として、たとえばいわゆるxattr関数の使用を通じて、記憶されてもよい。
【００４７】
図３Ｂは、図３Ａに基づくデータ構造に基づいてファイル・リスト１０を生成するための改善された方法を示している。
【００４８】
第一のステップ３０では、inodeのリストのさらなるinode  ７が処理されるべきであるかどうかを判定するために検査が実行される。たとえば、inodeリストが第一の記憶領域５のすべてのinode  ７を含んでいてもよい。
【００４９】
もしそうであれば、ステップ３１において処理されるべき次のinode  ７が読まれる。次のステップ３２では、そのinode  ７が通常のファイル・オブジェクト９に割り当てられているかどうかを判定するために検査が実行される。そうでなければ、処理はステップ３０においてすぐに次のinode  ７をもって続けられることができる。
【００５０】
逆に、ステップ３２において、最後に読まれたinode  ７が通常のファイル・オブジェクト９、たとえばファイルa1に割り当てられていることが確立される場合には、inode  ７のアドレス１５およびファイル・オブジェクト９の関連付けられた名前「a1」が一時的に変数nに記憶される。
【００５１】
ステップ３４では、次いで、前にロードされたinode  ７の戻り参照１８が高次のディレクトリー・オブジェクト８Ａのinode  ７Ａとして参照するinode  ７Ａがロードされる。ステップ３５では、次いで、変数nがより高次のディレクトリーAの名前「A」をもって補足される。
【００５２】
ステップ３６では、前記より高次のディレクトリーがすでにルート・ディレクトリー３であるかどうかを判定するために検査が実行される。もしそうであれば、パス指定１３、ファイル・リスト１０におけるファイル名１４および通常のファイル「a1」に割り当てられているinode  ７のアドレス１５を含む変数nに今や含まれるフル・パス指定１２が、ステップ３７において記憶される。次いで、本方法はステップ３０において、inodeリストからのさらなるinode  ７の処理があればそれをもって続けられる。
【００５３】
しかしながら、ステップ３６において、ルート・ディレクトリー３がまだ関わっていないことが確立される場合には、本方法はステップ３４において、現在のディレクトリーより高次のディレクトリーのinode  ７のロードをもって続けられ、それにより、パスはステップ３５において次の、より高いディレクトリー・レベルをもって補足される。これは、本方法が最終的にルート・ディレクトリー３に到達するまで続けられる。このようにして、フル・パス指定１２は、より高次のinode  ７への戻り参照１５をたどることによって、各inode  ７について非常に短時間で決定できる。逆に、通常のファイル・システム２では、完全なディレクトリー木を介した構築または探索が必要となる。
【００５４】
図３Ｂに基づく方法は、図２Ｂに基づく方法に対して一連の利点をもつ。特に、ファイル・リスト１０の生成中に、物理的なデータ媒体４上での第一の記憶領域５と第二の記憶領域６との間の行ったり来たりのジャンプが回避できる。ファイル・リスト１０を生成するために必要とされるすべてのデータがinode  ７に完全に記憶されている。
【００５５】
同時に、ディレクトリー木１の完全な再帰的な処理をなくすことができる。特に、第一の記憶領域５に記憶されているすべてのinode  ７にわたる線形のスキャンを実行することが可能である。再帰的なアルゴリズムによってフル・パス指定１２が追加される必要があるのは、通常のファイル・オブジェクト９に割り当てられており、それの他のメタデータがたとえば特定の検索プロファイルに対応するようなinode  ７についてのみである。
【００５６】
特に、たとえば最後のバックアップ時刻以降に修正されたファイルのファイル名のみを記録するアーカイブ・システムにおいて、多数のinode  ７が事前フィルタリングに基づいてこの処理からすでに除外されることができる場合、アルゴリズムのこの再帰的コンポーネントは、後者のトランジット遅延挙動における従属的な役割を果たすのみである。
【００５７】
図３Ａに基づく設計の、図示していないある変形では、inode  ７は前記より高次のディレクトリー８への戻り参照のみを含み、inode  ７に関連付けられたファイル・オブジェクト９やディレクトリー・オブジェクト８の名前をもつ属性を含まない。この設計では、第二の記憶領域６のディレクトリー・オブジェクト８はファイル・リスト１０を生成するために相変わらずアクセスされる必要がある。しかしながら、inode  ７の比較的小さな割合についてのパスのみが定義される必要がある場合には、この設計においてI/Oアクセスの数は、すでに著しく軽減されることができる。たとえば、のちに説明するように、バックアップなどの特定の処理のために、inode  ７に含まれる他のメタデータに基づいて特定の諸ファイルのみが選択されることができる。たとえば記憶されたファイル・オブジェクト９の1%のみがバックアップされる場合、選択されたinode  ７についてのパス指定の構築はそれでも、少数のディレクトリー・オブジェクト８の読み込みのため、ルート木１を通じた完全な探索よりも、著しく少数のI/Oアクセスを伴う。
【００５８】
図４Ａおよび図４Ｂは、本発明のあるさらなる設計に基づくデータ構造および作業方法を示している。図４Ａに特に示されるように、前記さらなる設計によれば、記憶オブジェクトの名前および前記より高次のディレクトリー・オブジェクト８のinode  ７への戻り参照１８の代わりに、少なくとも前記より高次のマウント点からのパス指定１２が、inode  ７に記憶される。さらに、より高次の基準点のinode  ７への参照１９が各inode  ７に記憶される。記述される設計では、ルート・ディレクトリー３は、マスター・ファイル・システムのオブジェクトについての基準点、ここではinode  ７ｒへの参照のはたらきをする。パス指定１２が始まるところの、対応する組み込まれたファイル・システムのマウント点のinodeは、マスター・ファイル・システムに組み込まれた他のファイル・システム、たとえばハードディスクの他のパーティション、ネットワーク・ボリュームまたは交換可能な記憶媒体のオブジェクトについての基準点として記憶される。最後に、バックアップ・コンポーネントによる、さらなる記憶媒体、たとえばテープ記憶媒体上の関連付けられたオブジェクトの最後のバックアップの時刻を示すバックアップ日時２０が、さらに各inode  ７に記憶される。
【００５９】
図４Ａおよび図４Ｂに基づく設計のある変形では、固定した参照点、たとえばルート・ディレクトリー３またはファイル・システム２の異なる定義されたノードは、恒久的に事前定義されるまたは他所に記憶される。この設計では、inode  ７における参照１９の記憶はなくすことができる。単一の追加的な属性、すなわちルート・ディレクトリー３からの単純なパス指定１３およびファイル名１４自身を含むフル・パス指定が好ましくは、この設計における連続的なキャラクタ・ストリングとして記憶される。
【００６０】
図４Ａおよび上述したその変形に基づくデータ構造は、ファイル・リスト１０の一層高速な生成のために好適である。本例示的実施形態では、ファイル・システム２は、ファイルの初期の書き込みまたはディレクトリーの生成後は、名前変更および移動がその後もはや可能ではなくなるいわゆるWORMファイル・システムである。マウント点であれルート・ディレクトリー３であれ所与の基準点からのファイルへのパスはひとたび記憶されたら、このように事実上もはや変更できないので、図４Ａに示されるようなフル・パス指定１２は、inode  ７の拡張された属性において連続的な形で記憶されることができる。
【００６１】
この場合、ファイル・リストの生成は特に単純である。第一のステップ４０では、inodeのリストのさらなるinode  ７が処理されるべきであるかどうかを判定するために検査が実行される。もしそうであれば、処理されるべき第一のinode  ７がステップ４１においてロードされる。次いで、ステップ４２において、ロードされたinode  ７が通常のファイル・オブジェクト９に割り当てられているかどうかを判定するために検査が実行される。そうでない場合には、本方法はステップ４０において、さらなるinode  ７の処理があればそれをもって続けられることができる。それ以外の場合には、ファイル・リスト１０のための項目がすぐにステップ４３において生成されることができる。記憶されている基準点が直接、ルート・ディレクトリーに関わる場合には、ファイル・オブジェクト９のフル・パス指定１２について現在のinode  ７に記憶されている情報が、前記項目を生成するために直接、使われることができる。複数のマウント点をもつより複雑なファイル・システムの場合には、ルート・ディレクトリー３からそれぞれの記憶されているマウント点までのパスも定義される必要がある。これも、通常は、大容量記憶システムへのさらなるI/Oアクセスなしに可能である。通常は、たとえ複雑なファイル・システムであっても、中央位置、特にいわゆるfstab（file  system  table［ファイル・システム・テーブル］）に記憶されている少数のマウント点のみが存在するからである。ファイル・システム・テーブルfstabのコンテンツは、多数の異なる目的のために必要とされ、よって、通常はキャッシュ・メモリまたは他のメモリ常駐データ構造中に記憶される。前記項目は、このように、示されたマウント点までの一時的に記憶されたパスと、inode  ７に記憶されている前記パス指定のためのデータとを組み合わせることによって形成されることができる。本方法は次いで、ステップ４０において、もし該当すれば次の存在するinode  ７をもって続けられる。
【００６２】
図４Ｂに基づく方法も、inode  ７に記憶されている情報だけでファイル・リスト１０を生成するのに十分であるという利点をもつ。さらに、次いで、図４Ｂに基づく方法は、ファイル指定の再帰的生成がもはや全く必要とされないという利点をもつ。その代わり、ファイル・リスト１０は、原則として、連続的に記憶されている諸inode  ７を逐次的に処理する単純な線形アルゴリズムによって生成できる。この方法により、既知のディレクトリー探索に比べ約100倍の加速が、数百万のinode  ７をもつファイル・システムにおいて可能になる。
【００６３】
ファイル・オブジェクト９の可能なさらなる処理に関係する決定が純粋にinode  ７に記憶されているメタデータに基づいてできる限り、第二の記憶領域６のデータはもはや全く読まれる必要がない。その結果、本方法のさらなる実質的な加速につながる。
【００６４】
示される例では、中でも、追加的なバックアップ日時２０がこの目的のために使用される。記載される例示的実施形態では、ファイル・システムのすべてのオブジェクトが定期的にさらなる記憶媒体、たとえば磁気テープにバックアップされることが意図される。以前のバックアップ以降に新たに追加または修正されたオブジェクトのみがバックアップされることが意図される、いわゆるインクリメンタル・バックアップ方法がここで使われる。次回のバックアップ実行においてどのオブジェクトがバックアップされる必要があるかについての決定は、純粋にinode  ７に記憶されている情報に基づいてできる。特に、図４Ａは、ルート・ディレクトリー３が01.07.2012の最後のバックアップ以降さらに修正されておらず、よってバックアップされる必要がないことを示す。しかしながら、ディレクトリーAは03.07.2012に、よってその01.07.2012のその最後のバックアップ以後に修正されており、よってバックアップされる必要がある。通常のファイルa1はまだ全くバックアップされたことがなく、よって同様にバックアップされる必要がある。
【００６５】
図５は、本発明のある例示的実施形態に基づく記憶デバイス５０を示している。記憶デバイス５０はたとえば、ファイルまたは他のデータ・オブジェクトの種々のバージョンのアーカイブを可能にするいわゆる記憶機器である。ファイルの少なくともそれぞれの現在のバージョンが強力な、本例示的実施形態では内部の大容量記憶システム５１上に保持される。加えて、現在のバージョンのコピーが、また該当する場合には存在する以前の諸バージョンがあればそれも、さらなる記憶媒体上に保持される。図５はたとえば、そのようなコピーが、本例示的実施形態では外部のテープ・ドライブ５２またはいわゆるクラウド・メモリ５３、すなわちデータ・ネットワーク、特にインターネットを介して接続されている記憶システムに記憶されることを示している。
【００６６】
図５に基づく記憶デバイス５０は、記憶デバイス５０に記憶されているデータにアクセスするための第一のインターフェース５４を有する。これはたとえば、ユニックス・オペレーティング・システム・ファミリーについてのNFSプロトコルに基づくインターフェースまたはウィンドウズ・オペレーティング・システム・ファミリーについてのCIFSプロトコルに基づくインターフェースに関わる。書き込みおよび読み出しのためのおよび適切な場合には個々のファイルを削除および名前変更するためのこれらのプロトコルから知られる要求は、第一のインターフェース５４を介して記憶デバイス５０に転送されることができる。
【００６７】
本例示的実施形態では、インターフェース５４を介して受領されるコマンドは、解析され、許される限り記憶デバイス５０の処理コンポーネント５５を介して実施される。本例示的実施形態では、記憶デバイス５０の不揮発性記憶媒体上に記憶されているソフトウェア・コンポーネントがこの目的のために使われる。処理コンポーネント５５は、大容量記憶システム５１のファイル・システム２、たとえばクラスター・システムのために特に好適であるIBMからのGPFSファイル・システム（General  Parallel  File  System［一般並列ファイル・システム］）についてそれ自身としては既知の仕方で、対応する要求を実施する。
【００６８】
記憶デバイス５０の全体または一部のWORMシステムとしての構成では、ファイルおよびディレクトリーを変更および名前変更する要求は、対応するエラー・メッセージを用いて受け取り確認され、実行はされない。ファイルの削除は全く許されないか、あらかじめ定義された保持期間の終わりにのみ許される。許されない削除コマンドは同様にエラー・メッセージを用いて受け取り確認される。許される削除コマンドの場合には、特に、通常の書き換え可能なファイル・システムにおける通常のファイルについての削除コマンドの場合にも、ファイルの削除は追加的なログ・ファイルにおいて記録され、その後のファイル・リスト１０やメタ情報に基づく同様の情報の生成においては該ログ・ファイルがしかるべく考慮に入れられる。たとえば、追加的な属性の記憶を通じてまたは既存の属性におけるあらかじめ定義された値の記憶を通じて、対応するinode  ７が無効としてマークされ、よって関連付けられたオブジェクトが削除されたとしてマークされる。
【００６９】
前記追加的なメタデータを記憶するために、記載される設計において、実際の要求の実施に加えて、特定の先行するおよびその後のアクションも実行される。特に、新たなファイルまたはディレクトリーの書き込みの間、関連付けられたメタデータが大容量記憶システム５１のファイル・システム２の関連付けられたinode  ７に記憶される。この目的のために、ソフトウェア・コンポーネントはいわゆるデーモン・プロセスを含む。該デーモン・プロセスは、いわゆるデータ管理API（DMAPI:  Data  Management  API）インターフェースに従ってイベントに応答し、GPFSファイル・システムの拡張された属性において上記の方法について必要とされる追加的情報を記憶する。たとえば、ファイルの生成について、「create」〔生成〕および「postcreate」〔ポスト生成〕イベントがDMAPIインターフェースを介してインターセプトされることができる。
【００７０】
あるいはまた、必要とされる追加的情報を、一回限りのおよび／または定期的に実行される、すべてのディレクトリーにわたる検索実行において決定することも可能である。たとえば、ファイル・システム２のすべてのディレクトリー・オブジェクト８は、最後の検索実行以降の変更があるかどうかについて、第一のステップにおいて検査されることができる。変化したディレクトリー・オブジェクト８のディレクトリー項目１７のinode  ７が第二のステップにおいて決定される。次いで、第三のステップにおいて、これらのinode  ７について、対応する追加的情報が記憶される。任意的に、さらなる記憶の前に、それらのinode  ７が現在の追加的情報をすでに含んでいるかどうかを判定するために検査がまず実行されることができる。
【００７１】
記憶デバイス５０はさらに、アドミニストレーションのための第二のインターフェース５６を有する。第二のインターフェース５６を介して、システム管理者または他の権限のあるユーザーが構成設定ダイアログ５７へのアクセスをもつ。構成設定ダイアログ５７を用いて、記憶デバイス５０の挙動が詳細に構成設定されることができる。たとえば、インターフェース５７を介して提供される大容量記憶システム５１のファイル・システムまたはその個々の領域がWORM記憶媒体として振る舞うか、通常の複数回書き込み（上書き）可能な記憶媒体として振る舞うかを、構成設定ダイアログ５７を介して選択することが可能である。
【００７２】
記憶デバイス５０はさらに、スキャン・コンポーネント５８を有する。これは中でも、inode  ７に追加的に記憶されたメタデータを処理するはたらきをする。さらに、記憶デバイスは、異なる記憶媒体上のファイルのオンデマンド・バックアップを受け持ついわゆるオブジェクト・ムーバ５９を有する。種々の理由によりこれからバックアップが帰結しうる。たとえば、これは記憶デバイス５０に記憶されているオブジェクトの定期的なバックアップに関わってもよい。あるいはまた、これは、たとえば長期間使用されないファイルまたは古くなったバージョンが大容量記憶システム５１からテープ・ドライブ５２および／またはクラウド・メモリ５３に移動される階層的記憶システムまたはアーカイブ・システムにおけるファイルまたはファイル・バージョンの再配置に関わってもよい。ここで、オブジェクト・ムーバ５９は、少なくともバックアップされるオブジェクトのデータおよび適切な場合にはバックアップについてのさらなるメタデータを含む新たなオブジェクトを目的位置において生成する。加えて、大容量記憶システム５１のファイル・システムのinode  ７に記憶されるメタデータはしかるべく更新される。拡張された属性におけるバックアップの場合、たとえば、現在の日時が最後のバックアップ日時２０として記録される。あるいはまた、再配置の場合、inode  ７に関連付けられたオブジェクトは、大容量記憶システム５１から削除されたものとしてマークされることができる、あるいは新たな記憶位置を参照するいわゆるスタブ（stub）によって置換されることができる。
【００７３】
記憶デバイス５０はさらに、構成設定ダイアログ５７のデフォルト設定に従って大容量記憶システム５１上に記憶されているデータの自動データ・バックアップを受け持ついわゆるバックアップ・マネージャ６０を有する。このタスクをできるだけ効率的に実行するために、バックアップ・マネージャ６０は、内部の大容量記憶システム５１からさらなる外部の記憶媒体にオブジェクト・ムーバ５９によってバックアップされることが意図されているオブジェクトを選択するために、中でもスキャン・デバイス５８にアクセスする。
【００７４】
以下では、図５を参照していわゆる「永久インクリメンタル（incremental  forever）」バックアップ・システムが記述される。用語「永久インクリメンタル・バックアップ」は、初期の基本的なバックアップ後は、最後のバックアップ以降に大容量記憶システム５１上で新たに記憶されたまたは修正されたオブジェクト、特に通常のファイルおよびディレクトリー・オブジェクトのみが、常にバックアップされることを表わすことが意図されている。たとえば、最後の基本的なバックアップ以降の差分が常にバックアップされる差分バックアップまたは大容量記憶システム５１のコンテンツ全体またはあらかじめ定義された部分が常にバックアップされるフル・バックアップといった他のバックアップ方針が使われることもできることは明らかである。
【００７５】
構成設定インターフェース５７を介して種々のシステム・パラメータがあらかじめ定義される。たとえば、インクリメンタル・バックアップが実行されることが意図されるファイル・システム２のいわゆるマウント点が定義される。さらに、バックアップされるべき異なるファイル・バージョンの間の時間間隔が指定されることができる。たとえば、記憶デバイス５０は大容量記憶システム５１に記憶されているファイルのバックアップを、１時間毎、１日毎または１週間毎に実行する。たとえばバックアップされるべきファイルの最小または最大サイズといったさらなる基準が、構成設定ダイアログ５７を介してあらかじめ定義されることもできる。
【００７６】
あらかじめ定義されたバックアップ時刻またはバックアップをトリガーする他のイベントに到達すると、現在バックアップされる必要がある、大容量記憶システム５１のすべてのファイルがまず定義される必要がある。これを行なうために、記憶デバイス５０は、生成または修正日時が時間的に最後のバックアップの日時より後であるすべてのファイルを定義するために、スキャン・デバイス５１を使う。図４Ａに基づく例示的実施形態では、この情報はファイル・システム２のinode  ７に、バックアップ日２０としてすでに含まれていることを注意しておく。よって、第二の記憶領域６の個々のファイル・オブジェクト９をロードすることなく、バックアップのためにどのファイル・オブジェクト９が本質的に考慮に入れられるべきかは、純粋にすべてのinode  ７のスキャンに基づいて確立できる。あるいはまた、最後のバックアップの日付も記憶デバイス５１における異なる位置に記憶されることができる。たとえば、大容量記憶システム５１のすべてのオブジェクトについてグローバルに有効なバックアップ時刻が記憶または定義されることができる。差分バックアップの場合、最後のフル・バックアップの日時が、最後のバックアップの日時の代わりに使われる。
【００７７】
次いで、バックアップされるべきオブジェクトをもつ対応するファイル・リスト１０が、inode  ７に含まれるメタデータ、特にそこに含まれるファイル名１４および／またはパス指定１２もしくは１３のさらなる情報に基づいて、最後のバックアップの時刻以降に修正されたオブジェクトについてのみ、生成される。パス指定１２もしくは１３および／またはファイル名１４とともに、生成されるファイル・リスト１０は、さらなる情報、特に関連付けられたinode  ７への直接参照、ファイルのサイズおよび前記メタデータの他の情報を含んでいてもよい。この型のリスト１０は、たとえば、テープ・ドライブ５２またはクラウド・メモリ５３に、修正されたファイルについての新たなバックアップ・オブジェクトを記憶するために、オブジェクト・ムーバ５９に転送されてもよい。
【００７８】
しかしながら、上述したバックアップ・システムとともに、図３Ａおよび図４Ａに基づくデータ構造および図３Ｂおよび図４Ｂに基づくアルゴリズムは、多数の他の用途にも好適である。特に、記載される機構は、データが少なくとも部分的には、関連付けられたメタデータを用いて処理される多数のデータ処理タスクについて好適である。
【００７９】
さらなる例として、多数の既存の画像データから個々の画像が、生成時間期間、記録位置または画像に含まれるパターンに関係する情報といったメタデータに基づいてフィルタ・アウトされる画像管理ソフトウェアが下記で概説される。この型のデータ処理タスクは、通常、二つの可能なアプローチの一方によって実行される。メタ情報は、実際のデータ、すなわちこの場合は画像データと一緒に記憶される。これは、メタデータを介した探索において、すべての画像ファイルが開かれ、少なくとも部分的に読み込まれる必要があるという欠点をもつ。ここで記述される画像データの場合に、関連付けられたメタデータがいわゆるEXIFデータとしてたとえばJPEG画像フォーマットのような画像フォーマット中に記憶されていれば、それぞれの画像ファイルの少なくともヘッダ情報は、それぞれの場合において処理が可能になる前にまず読み込まれる必要がある。その結果、すでに上記した、大容量記憶システムの読み出しヘッドの頻繁な再位置決めに、よってより遅い処理速度につながる。
【００８０】
異なるアプローチは、必要とされるメタデータを別個のデータベース、特にリレーショナル・データベースまたはオブジェクト・データベースに記憶しておくことからなる。この場合、要求に応答するために必要とされるすべてのタスクは、加速された処理のために、共通のデータベースにおいて利用可能である。しかしながら、二番目に述べたアプローチは、記憶されているデータに対して他のソフトウェア・コンポーネントによってなされる修正、たとえば画像処理プログラムによる画像の再加工が場合によってはデータベースによって認識されないことがあるという欠点をもつ。したがって、データベースに記憶されているメタデータの実際のデータとの整合を保つ問題が本質的に存在する。
【００８１】
本発明のある例示的実施形態によれば、そのようなアプリケーション固有のメタデータがファイル・システム２のinode  ７において追加的に記憶される。たとえば、写真の記録位置がGPFSファイル・システムの拡張された属性において記憶されることができる。この場合、ファイルの大きなリストをスキャンするための上記の諸方法が適用可能である。そうすれば、特に、処理、たとえばスライドショーの編集のために考慮に入れられる必要のあるさらなるファイルが、inode  ７のリストのみに基づいて決定できる。アプリケーション固有の属性が拡張されたファイル・システム２に直接記憶されるので、ここでは記憶されているメタデータと、可能性としては修正されている画像データとの間で食い違いは起こりえない。
【００８２】
DMAPIインターフェースを使うすでに上述した方法は、この目的のために特に好適である。inode  ７に記憶される拡張されたメタデータを生成し、維持するよう対応する機構がファイル・システム・レベルで記憶デバイス５０中に統合されれば、これらの機構は常に、使用されるアプリケーションとは独立に維持される。
いくつかの態様を記載しておく。
〔態様１〕
少なくとも一つのディレクトリーおよび該ディレクトリーに記憶される複数のファイルを有するPOSIX互換なファイル・システムであって、
・それぞれのファイルに関係するメタデータをもつinodeが各ファイルに割り当てられ、
・前記ディレクトリーは前記複数のファイルのファイル名とファイルにそれぞれ割り当てられる前記inodeとの間の割り当てを含み、
・それぞれのファイルに関係する前記メタデータは、少なくとも、割り当てられたファイルの前記ファイル名および前記少なくとも一つのディレクトリーに関係する情報を含む、
POSIX互換なファイル・システム。
〔態様２〕
前記少なくとも一つのディレクトリーに関係する前記情報は、該ディレクトリーに割り当てられたinodeへの参照を含む、態様１記載のPOSIX互換なファイル・システム。
〔態様３〕
当該ファイル・システムは、WORMファイル・システムとして設計され、前記少なくとも一つのディレクトリーに関係する前記情報は、当該WORMファイル・システムのあらかじめ定義された基準点、特にマウント点からの、前記割り当てられたファイルのパス指定（１２、１３）を含む、態様１記載のPOSIX互換なファイル・システム。
〔態様４〕
前記それぞれのファイルに関係するメタデータは、そのファイルが記憶されているディレクトリーへのパス指定（１３）および前記ファイル名（１４）自身をもつフル・パス指定（１２）を含む、態様３記載のPOSIX互換なファイル・システム。
〔態様５〕
前記ファイルに関係するメタデータは、さらに、当該ファイル・システムのあらかじめ定義された基準点、特にマウント点に割り当てられたinode（７ｒ）への参照（１９）を含む、態様１ないし４のうちいずれか一項記載のPOSIX互換なファイル・システム。
〔態様６〕
前記ファイル名および前記少なくとも一つのディレクトリーに関係する情報が、当該ファイル・システムの拡張された属性に記憶される、態様１ないし５のうちいずれか一項記載のPOSIX互換なファイル・システム。
〔態様７〕
POSIX互換なファイル・システムのファイルのファイル・リストを生成する方法であって：
・それぞれの場合においてinodeに割り当てられる複数のファイルのメタデータを取得するために、inodeのあらかじめ定義された群をスキャンする段階であって、前記メタデータは少なくとも、それぞれ割り当てられたファイルのファイル名およびそれぞれのファイルが記憶されているディレクトリーに関係する情報を含む、段階と；
・純粋に前記inodeに記憶されているメタデータに基づいて、ファイルのファイル名およびパス指定を定義する段階と；
・定義されたファイル名およびパス指定に基づいてファイル・リストを生成する段階とを含む、
方法。
〔態様８〕
前記メタデータは少なくとも一つのさらなる属性（１６）、特にそれぞれ割り当てられたファイルの最後のバックアップの日付を含み、前記少なくとも一つのさらなる属性は前記ファイル・リスト中に転記されるおよび／または前記ファイル・リスト中へのファイルの転記が前記少なくとも一つのさらなる属性に基づいて決定される、態様７記載の方法。
〔態様９〕
・inodeのあらかじめ定義されたリストをスキャンする前記段階において、inodeのメタデータが少なくとも一つのあらかじめ定義された条件を満たすかどうかを判定する検査が実行され、
・ファイル・リストを生成する前記段階において、inodeに割り当てられるファイルについて、該それぞれのinodeのメタデータについて前記あらかじめ定義された条件が満たされる場合にのみ、エントリーが生成される、
態様８記載の方法。
〔態様１０〕
ファイルに割り当てられたinodeにファイルのメタデータを記憶するためのPOSIX互換なファイル・システムの拡張された属性の使用であって、前記メタデータは、少なくとも、それぞれ割り当てられたファイルのファイル名およびそれぞれのファイルが記憶されているディレクトリーに関係する情報を含む、使用。
〔態様１１〕
記憶デバイスであって、
・当該記憶デバイスによって記憶されているファイルにアクセスするための少なくとも一つのインターフェースと、
・ファイルの不揮発性記憶のための少なくとも一つの大容量記憶システムとを有しており、
当該記憶デバイスは、前記少なくとも一つのインターフェースを介してファイルを書き込む書き込みコマンドを受領すると、前記少なくとも一つのファイルに関係するメタデータを前記大容量記憶システムに記憶するよう構成されており、前記ファイルに関係する記憶されているメタデータは、少なくとも、そのファイルのファイル名およびそのファイルが記憶されているディレクトリーに関係する情報を含む、
記憶デバイス。
〔態様１２〕
当該記憶デバイスによって実行される少なくとも一つのソフトウェア・コンポーネントをさらに有しており、前記少なくとも一つのソフトウェア・コンポーネントは、純粋に記憶されているメタデータに基づいて、特に態様７ないし９のうちいずれか一項記載の方法に従って、ファイル・リストを生成するよう構成されている、態様１１記載の記憶デバイス。
〔態様１３〕
前記ソフトウェア・コンポーネントがファイル管理のために構成されており、純粋に記憶されているメタデータに基づいてさらなる処理のためにファイルを選択する、態様１２記載の記憶デバイス。
〔態様１４〕
前記ソフトウェア・コンポーネントが、前記メタデータに記憶されている少なくとも一つの時間指定、特に前記メタデータに割り当てられたファイルの修正、生成および／またはバックアップ日に基づいてファイルをバックアップするよう構成されている、態様１３記載の記憶デバイス。
〔態様１５〕
前記少なくとも一つの大容量記憶システムのPOSIX互換なファイル・システムのファイルに割り当てられたinodeに前記メタデータを記憶するよう構成されている、態様１１ないし１４のうちいずれか一項記載の記憶デバイス。
〔態様１６〕
選択されたファイルの、そのファイルのファイル名およびそのファイルが記憶されているディレクトリーに関係する情報を含む記憶されているメタデータの少なくとも一部を、前記少なくとも一つのインターフェース（５４）を介して拡張された属性として提供するよう構成されている、態様１５記載の記憶デバイス。
【符号の説明】
【００８３】
１  ディレクトリー・システム
２  ファイル・システム
３  ルート・ディレクトリー
４  物理的なデータ媒体
５  第一の記憶領域
６  第二の記憶領域
７  inode（アイノード）
８  ディレクトリー・オブジェクト
９  ファイル・オブジェクト
１０  ファイル・リスト
１１  リスト項目
１２  （フル）パス指定
１３  （単純）パス指定
１４  ファイル名
１５  （inodeの）アドレス
１６  さらなる属性
１７  ディレクトリー項目
１８  戻り参照
１９  （基準点の）参照
２０  バックアップ日時
５０  記憶デバイス
５１  大容量記憶システム
５２  テープ・ドライブ
５３  クラウド・メモリ
５４  第一のインターフェース
５５  処理コンポーネント
５６  第二のインターフェース
５７  構成設定ダイアログ
５８  スキャン・デバイス
５９  オブジェクト・ムーバ
６０  バックアップ・マネージャ
【図１Ａ】
0006430499.tif 000002
【図１Ｂ】
0006430499.tif 000003
【図１Ｃ】
0006430499.tif 000004
【図２Ａ】
0006430499.tif 000005
【図２Ｂ】
0006430499.tif 000006
【図３Ａ】
0006430499.tif 000007
【図３Ｂ】
0006430499.tif 000008
【図４Ａ】
0006430499.tif 000009
【図４Ｂ】
0006430499.tif 000010
【図５】
0006430499.tif 000011