特許第6430499号(P6430499)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士通株式会社の特許一覧

特許6430499POSIX互換なファイル・システム、ファイル・リストを生成する方法および記憶デバイス
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6430499
(24)【登録日】2018年11月9日
(45)【発行日】2018年11月28日
(54)【発明の名称】POSIX互換なファイル・システム、ファイル・リストを生成する方法および記憶デバイス
(51)【国際特許分類】
   G06F 12/00 20060101AFI20181119BHJP
【FI】
   G06F12/00 520J
   G06F12/00 520E
   G06F12/00 531Z
【請求項の数】14
【全頁数】23
(21)【出願番号】特願2016-524848(P2016-524848)
(86)(22)【出願日】2014年10月13日
(65)【公表番号】特表2016-526737(P2016-526737A)
(43)【公表日】2016年9月5日
(86)【国際出願番号】EP2014071892
(87)【国際公開番号】WO2015090668
(87)【国際公開日】20150625
【審査請求日】2016年1月8日
【審判番号】不服2017-10913(P2017-10913/J1)
【審判請求日】2017年7月21日
(31)【優先権主張番号】102013114214.1
(32)【優先日】2013年12月17日
(33)【優先権主張国】DE
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】ケーニッヒ,アレクサンダー
(72)【発明者】
【氏名】ケーニッヒ,クリストフ
【合議体】
【審判長】 辻本 泰隆
【審判官】 須田 勝巳
【審判官】 山崎 慎一
(56)【参考文献】
【文献】 米国特許第7752226(US,B1)
【文献】 国際公開第2013/121456(WO,A1)
【文献】 特開2011−133971(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 12/00
(57)【特許請求の範囲】
【請求項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記載の記憶デバイス。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、少なくとも一つのディレクトリーおよび該ディレクトリーに格納されている複数のファイルを有するPOSIX互換なファイル・システムに関する。さらに、本発明は、POSIX互換なファイル・システムのファイルのファイル・リストを生成する方法、拡張された属性の使用および記憶デバイスに関する。
【背景技術】
【0002】
POSIX互換なファイル・システムは従来技術から知られている。特に、たいていの既知のリナックスのディストリビューションは、たとえばext2およびext3のような種々のPOSIX互換なファイル・システムに基づいている。この型のファイル・システムは一般に、比較的高い柔軟性をもち、多数のファイルを記憶するのに好適である。
【0003】
POSIX互換なファイル・システムは、いわゆるinode(アイノード)を使って物理的なデータ媒体を管理する。ここで、inodeは、データ媒体上に記憶されている情報に関係するメタデータを含む。そのようなメタデータの例はアクセス権ならびにそれぞれの場合においてファイル・システムに記憶されているファイルの生成、修正および読み出し日時である。この型の情報は、中でも、ファイル・システムに記憶されるファイルを管理するためのバックアップおよびアーカイブ解決策によって使われる。
【0004】
しかしながら、そのようなおよび同様のメタデータの評価および更新は、特にたとえばいわゆる「ビッグデータ」アプリケーションにおいて生起する型の非常に大きなファイル・システムの場合には問題を引き起こすこともある。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明の一つの目的は、POSIX互換なファイル・システムならびにその生成および使用のための方法およびデバイスであって、既知の実装に比べて改善された性能をもつものを記述することである。特に、大容量記憶システム上に記憶されているファイルを通じて検索していくときに大容量記憶システムへのI/Oアクセス回数が低減されることが意図される。デバイスおよび方法は、特に、数十万ないし数十億のファイルを管理するバックアップおよびアーカイブ・システムにおける使用のために好適であることが意図される。
【課題を解決するための手段】
【0006】
本発明の第一の側面によれば、少なくとも一つのディレクトリーおよび該ディレクトリーに格納される複数のファイルを有するPOSIX互換なファイル・システムが開示される。それぞれのファイルに関係するメタデータをもつinodeが各ファイルに割り当てられ、ディレクトリーは前記複数のファイルのファイル名とファイルにそれぞれ割り当てられるinodeとの間の割り当てを含む。それぞれのファイルに関係するメタデータは、少なくとも、割り当てられたファイルのファイル名および/または前記少なくとも一つのディレクトリーに関係する情報を含む。
【0007】
この型のファイル・システムは、純粋にinodeに記憶されているメタデータに基づいてファイル名および/またはパス指定の定義を許容する。たとえば、この型のファイル・システムは、ファイル・システムの他のデータ・ブロック、特にディレクトリーにアクセスする必要なしに、inodeのメタデータの名前およびディレクトリー情報の組み合わせに基づいて、ファイル・リストが生成されることを許容する。ディレクトリーまたは名前情報のいずれかのみを記憶することは、少なくとも、関連付けられたファイル・オブジェクトの事前フィルタリングを許容し、それにより、アクセスされる必要のある他のデータ・ブロックが少なくなる。大容量記憶システムの他の部分へのI/Oアクセスは、名前および/またはディレクトリー情報のinodeへの局所化を通じて回避または軽減できる。対応する情報およびメタデータに基づく管理タスクは、こうして高速化できる。
【0008】
第一の設計によれば、前記少なくとも一つのディレクトリーに関係する情報は、該ディレクトリーに割り当てられたinodeへの参照を含む。高次のディレクトリーのinodeへの参照を提供することを通じて、ファイルへのパスが、ディレクトリー・オブジェクトによってディレクトリー構造を構築する必要なしに、ファイルのinodeから出発して逆方向に構築されることができる。
【0009】
代替的な設計によれば、ファイル・システムは、WORM(ワーム)ファイル・システムとして設計され、前記少なくとも一つのディレクトリーに関係する情報は、あらかじめ定義された基準点、特にWORMファイル・システムのマウント点からの割り当てられたファイルのパス指定を含む。ファイル・システムがいわゆるWORM(write once, read multiple〔一度書き込み、複数回読み出し〕)ファイル・システムとして、すなわち一度だけ書き込み可能なファイル・システムとして設計される場合には、ファイルの最初の記憶後は、たとえばそのファイルの名前を変更したりそのファイルを移動したりすることによってまたは高次のディレクトリーからそのパスに対してさらなる変更をすることはできない。この場合、フル・パス指定はそのファイルに割り当てられたinodeに記憶されることができる。この型のシステムでは、inodeのリストを通じた線形スキャンによって、ファイルおよび関連付けられたinodeへのファイル指定のファイル・リストを構築することが可能である。
【0010】
あるさらなる側面によれば、ファイル・システムの拡張された属性が、ファイル名および前記少なくとも一つのディレクトリーに関係する情報を記憶するために使われる。
【0011】
本発明のあるさらなる側面によれば、POSIX互換なファイル・システムのファイルのファイル・リストを生成する方法が記述される。本方法は以下の段階を含む:
・それぞれの場合においてinodeに割り当てられる複数のファイルのメタデータを取得するために、inodeのあらかじめ定義された群をスキャンする段階であって、前記メタデータはそれぞれ割り当てられたファイルのファイル名および/またはそれぞれのファイルが記憶されているディレクトリーに関係する情報を含む、段階と;
・純粋に前記inodeに記憶されているメタデータに基づいて、ファイルのファイル名および/またはパス指定を定義する段階と;
・定義されたファイル名およびパス指定に基づいてファイル・リストを生成する段階とを含む。
【0012】
上述した方法は、POSIX互換なファイル・システムのinodeに含まれる情報のみに基づくファイル・リストの生成を許容する。このようにして、特に、inodeの情報をもつ第一のメモリ領域と他のデータ・ブロックをもつ第二の記憶領域との間の物理的な記憶デバイスの書き込み/読み出しヘッドの行ったり来たりの多数のジャンプが回避できる。それにより、ファイル・リストの構築が全体として高速化される。
【0013】
ある有利な設計によれば、メタデータは少なくとも一つのさらなる属性、特にそれぞれ割り当てられたファイルの最後のバックアップの日時を含む。ここで、前記少なくとも一つのさらなる属性は前記ファイル・リスト中に転記されるおよび/またはファイルの前記ファイル・リスト中への転記が前記少なくとも一つのさらなる属性に基づいて決定される。前記ファイル名の、関連付けられたファイルのさらなる諸属性、特に最後のバックアップの日時との組み合わせを通じて、バックアップおよびアーカイブ・システムならびに同様のソフトウェア・プログラムは、どのファイルがさらに処理される、たとえばバックアップされる必要があるかを、純粋にinodeに含まれるメタデータに基づいて、決定できる。
【0014】
本発明のあるさらなる側面によれば、記憶デバイスであって、当該記憶デバイスによって記憶されるファイルにアクセスするための少なくとも一つのインターフェースと、ファイルの不揮発性記憶のための少なくとも一つの大容量記憶システムとを有する記憶デバイスが開示される。記憶デバイスは、前記少なくとも一つのインターフェースを介してファイルを書き込むまたは修正する書き込みコマンドを受領すると、前記少なくとも一つのファイルに関係するメタデータを前記大容量記憶システムに記憶する、あるいはすでに記憶されているメタデータを修正するよう構成される。ここで、ファイルに関係する記憶されているメタデータは、少なくとも、そのファイルのファイル名および/またはそのファイルが記憶されるディレクトリーに関係する情報を含む。
【0015】
上述した記憶デバイスは、上述した方法を実行し、POSIX互換なファイル・システムを提供するための必要な情報を記憶する。
【0016】
本発明のさらなる設計によれば、前記記憶デバイスはさらにソフトウェア・コンポーネントを含み、前記少なくとも一つのソフトウェア・コンポーネントは、純粋に記憶されたメタデータに基づいてファイル・リストを生成するよう構成される。たとえば、これは、純粋に記憶されたメタデータに基づいてさらなる処理のためのファイルを選択するファイル管理のためのソフトウェア・コンポーネントを伴ってもよい。特に、ファイルのバックアップが、メタデータに記憶されている少なくとも一つの時間指定、特に最後のバックアップの追加的に記憶された日時の、メタデータに割り当てられた最後の修正の記憶されているデフォルト日時との比較に基づいて実行されることができる。
【0017】
本発明のさらなる有利な設計および詳細が付属の請求項および例示的実施形態の以下の詳細な説明において開示される。
【0018】
本発明は、以下で、付属の図面を参照しつつ種々の例示的実施形態に基づいて詳細に記述される。同一のまたは同一の機能をするコンポーネントの異なるインスタンスは英字サフィックスをもって表わされる。すべてのインスタンスが合同して参照されることが意図される場合には、対応するサフィックスは省略される。
【図面の簡単な説明】
【0019】
図1A】POSIX互換なファイル・システム一般の木表現を示す図である。
図1B】POSIX互換なファイル・システム一般のメモリ・マップを示す図である。
図1C】POSIX互換なファイル・システム一般のリスト表現を示す図である。
図2A】ファイル・リストを生成するための通常のデータ構造を示す図である。
図2A】ファイル・リストを生成するための通常の方法を示す図である。
図3A】本発明の第一の設計に基づくデータ構造を示す図である。
図3B】本発明の第一の設計に基づく方法を示す図である。
図4A】本発明の第二の設計に基づくデータ構造を示す図である。
図4B】本発明の第二の設計に基づく方法を示す図である。
図5】本発明のある設計に基づく記憶デバイスの概略的な表現を示す図である。
【発明を実施するための形態】
【0020】
本発明のよりよい理解のために、POSIX互換なファイル・システムについて以下でまず一般に、図1Aないし図1Cを参照して記述するとともに、図2Aおよび図2Bを参照してその実装のための通常のデータ構造およびファイル・リストを生成する方法を記述する。
【0021】
図1Aは、POSIX互換なファイル・システム2のディレクトリー木1を示している。区別をより明確にするため、以下では大文字はディレクトリーを表わすために使われ、小文字および数字はファイル・システム2の通常のファイルを表わすために使われる。明らかに、POSIX互換なファイル・システム2は通常、ディレクトリー名およびファイル名のいずれについても、大文字および小文字および数字および他の特殊キャラクタの使用を許容する。さらに、図1Aに示したものより著しより長い名前および著しくより複雑なディレクトリー木の生成が可能である。
【0022】
以下の記述および付属の請求項においてファイルが言及される限りにおいて、これはそれぞれの場合においてPOSIX互換なファイル・システムの意味で通常のファイル、すなわちファイル・システム2に記憶されているユーザー・データを意味するものと理解されるべきである。他のオブジェクト、たとえば特にディレクトリー・オブジェクト、いわゆるハードおよびソフト・リンクおよびファイル・システム2の他のメタデータは、通常のファイルとより明確に区別するために、以下などでは明示的にマークされる。
【0023】
ディレクトリー木1は、ユニックス・オペレーティング・システムおよびたとえばリナックスなどの関係するオペレーティング・システムにおいて通常順方向のスラッシュ「/」によって表わされるいわゆるルート・ディレクトリー2を含む。ディレクトリー木1は最初にルート・ディレクトリー3から、第一階層レベルの三つのディレクトリーA、B、Cに分岐している。図1のディレクトリー木1では、第一のディレクトリーAは二つの通常のファイルa1およびa2を含む。第二のディレクトリーBは単一のファイルb1を含む。第三のディレクトリーCは第二階層レベルのさらなるサブディレクトリーDおよび通常のファイルc1およびc2を含む。図1の例示的実施形態では、二次のサブディレクトリーD内にはさらなるファイルd1が格納されている。
【0024】
ここで、図1Aに示されるディレクトリー木1は、いわゆるマウント点も、ファイル・システム2の異なるファイル・オブジェクトおよびディレクトリー・オブジェクトの間のいかなる種類のリンクもない、単一のマスター・ファイル・システムのみを含む単純化された特殊な場合を表わしている。POSIX互換なファイル・システムでは、一般に、より高次のファイル・システム、通常はルート・ディレクトリー3をもつマスター・ファイル・システムのあらかじめ定義された諸位置、いわゆるマウント点において諸ディレクトリー木が記憶されているさらなる大容量記憶システムのコンテンツを組み込むことが慣例である。同様に、ソフトまたはハード・リンクの使用を通じてネットワーク様構造が生成されることができ、それにより、複数のパスがルート・ディレクトリー3から同一の通常のファイルに導くことができる。この型の構造は明快のためここには示されていない。以下に記載されるデバイスおよび方法の実装のためのその意義は、対応する箇所で述べる。
【0025】
図1Bは、ディレクトリー木1を物理的なデータ媒体4上にマッピングするためのデータ構造を概略的に示している。たとえば、物理的な媒体4は、ハードディスクドライブまたはフラッシュドライブの形の大容量記憶システムである。しかしながら、他の記憶媒体も原理的には可能である。
【0026】
本例示的実施形態では、物理的なデータ媒体4は第一の記憶領域5および第二の記憶領域6に分割される。これはたとえば、物理的なデータ媒体4のブロック・アドレスまたは他のアドレス指定に従った分割を伴ってもよい。この型の分割は通常、データ媒体4の最初の初期化の間に、たとえばファイル・システム2でデータ媒体4をフォーマットする間に行なわれる。
【0027】
本例示的実施形態では、いわゆる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の関連付けられるディレクトリーまたはファイルへの割り当ては、もっとその生成の逐次順に依存する。
【0028】
ファイル・システム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には示されていない。
【0029】
非常に大きなファイルの場合、単一のinode 7は、第二の記憶領域6のすべてのファイル・オブジェクト9への参照を単一のinode 7内に記憶するのに常に十分ではない。この場合、inode 7はさらなる、二次または三次のinode 7を参照し、それにより対応するファイル・オブジェクト9への多数の参照が記憶されることができる。さらなる詳細に関しては、たとえば英文のオンライン百科事典ウィキペディアにおける「Inodes」の記事(http://en.wikipedia.org/wiki/Inode、27.10.2013付バージョン)が参照される。
【0030】
ファイル・リスト10が図1Cに示されている。ファイル・リスト10は通常のファイルについてのリスト項目11を含む。各リスト項目11は少なくとも一つのフル・パス指定12を含む。該フル・パス指定12は、そのファイルが格納されているディレクトリーへの単純なパス指定13ならびにそのファイルに割り当てられているinode 7の数値アドレス15およびそのファイルのさらなる属性16、たとえばそのファイルの作成または最終補正の日時からなる。ファイル・リスト10内の情報はたとえば、アーカイブ・システムのソフトウェア・コンポーネントによって、第二の記憶領域6のどのファイル・オブジェクト9が、たとえば磁気バックアップ・テープのようなさらなる記憶媒体上に記憶される必要があるかを決定するために使われてもよい。
【0031】
しかしながら、この型のファイル・リスト10は、中でも、大ボリュームのデータを管理するために、他のシステムおよびプログラムのために階層式記憶システム(HSM: hierarchical storage system)において必要とされる。既知のPOSIX互換なファイル・システムの問題は、この型のファイル・リスト10の生成が、中でも、かなりの時間を必要とするということである。特に、クラスター・システムの種々のノードにわたって分散されている何百万ものファイルをもついわゆる「ビッグデータ」システムの場合、対応するファイル・リスト10の生成または維持は、既知のファイル・システムでこの目的のために利用可能な時間では不可能である。
【0032】
以下では、図2Aおよび図2Bを参照して、通常のファイル・システムにおいて、物理的なデータ蜂体4上に記憶されている情報に基づいて、図1Cに基づくファイル・リスト10がどのようにして生成できるかを記述する。図2Aは、この目的のために使われるデータ構造を概略的に示しており、図2Bはファイル・リスト10を生成するためにディレクトリー木1を処理する通常の方法の流れ図を示している。
【0033】
第一のステップ20では、ルート・ディレクトリー3のinode 7rが定義され、ロードされる。たとえば、アドレス「0」をもつinode項目が第一の記憶領域5から読み込まれることができる。この場合単一の「/」によって表わされる実際のパスが、同時に、作業変数pに保持される。
【0034】
ステップ21では、次いで、関連付けられたディレクトリー・オブジェクト8rが第二の記憶領域6からロードされる。図2Aに示される例示的実施形態では、ディレクトリー・オブジェクト8rは、第一階層レベルのディレクトリーA、B、Cについての三つのディレクトリー項目17を含む。
【0035】
続くステップ22では、処理されるべきさらなるディレクトリー項目17がディレクトリー・オブジェクト8r内に存在していることが確立される。
【0036】
次のステップ23では、まだ未知の記憶オブジェクトAに関係する第一のディレクトリー・エントリー17Aがまず読み込まれる。ディレクトリー・エントリー17Aは、アドレス「1」をもつinode 7Aが記憶オブジェクトAに割り当てられることを示す。さらに記憶オブジェクトの名前「A」がディレクトリー項目17Aによって示される。
【0037】
次のステップ24では、記憶オブジェクトAに関連付けられたメタデータを定義するために、アドレス「1」をもつ記憶オブジェクトAの関連付けられたinode 7Aがロードされる。
【0038】
ステップ25では、記憶オブジェクトAがどんな型のオブジェクトであるかを判別するために検査が実行される。inode 7Aのロードされたメタデータから、たとえばいわゆるモード情報に基づいて、今の場合のようにさらなるディレクトリーまたは通常のファイルまたはPOSIX互換なファイル・システム2の別のオブジェクトがここで関わっているかどうかを判別することが可能である。図2Bでは、呈示の簡略化のため、ファイルおよびディレクトリーの処理のみが示されている。
【0039】
今の場合のようにさらなるディレクトリー8が関わっている場合、調査されるべきパスpについての作業変数は次のステップ26において、ステップ23で定義された名前をもって補足される。さらに、これまで有効だったディレクトリーは、一時的にさらなる変数qに記憶される。次いで、本方法は再帰的にステップ21において、関連付けられたディレクトリー・オブジェクト8Aのロードをもって続けられる。
【0040】
記載される例では、ディレクトリーAは、ファイルa1およびa2についての通常のファイル・オブジェクト9のみを含む。よって、ステップ25におけるその後の検査では、ディレクトリー・オブジェクト8Aのディレクトリー項目17が通常のファイルを指すことが確立される。ステップ27では、現在のパスpおよびステップ23においてディレクトリー項目17から取られたファイル名「a1」に基づいて、そのファイル・リスト10のために、リスト項目11がしかるべく生成される。次いで、本方法は次のディレクトリー項目17のためにステップ22において続けられる。ステップ27におけるその後のループにおいて、ファイルa2についてさらなるリスト項目11がしかるべく生成される。
【0041】
ステップ22のある反復において、ディレクトリーAにおいて、処理されるべきさらなるディレクトリー項目17がないことが確立される。続くステップ28では、パスはディレクトリーAのより高次のディレクトリー、すなわちルート・ディレクトリー「/」にしかるべくリセットされ、本方法はステップ22において、次の、より高いレベルにおいて続けられる。
【0042】
記載される方法によって、図1Aに示されるルート木1は、再帰的アルゴリズムによって漸進的に訪問される。ここで、ファイル・オブジェクト9についてのディレクトリー項目17がファイル・リスト10において生成される。
【0043】
特に図2Aに基づく表現に示されるように、図2Bに基づく方法は、第一の記憶領域5と第二の記憶領域6との間の行ったり来たりの規則的なジャンプを引き起こす。その理由は、特に、関連付けられたディレクトリー・オブジェクト8およびファイル・オブジェクト9は、第一の記憶領域5からのinode 7の情報を読むことなくしては、第二の記憶領域6内で位置特定されることができないということである。逆に、たとえば個々のファイルの名前およびパス指定を定義するためまたはディレクトリー木1の階層構造を決定するために、第一の記憶領域5のinode 7においてすべての情報が利用可能ではない。したがって、実際上、この手順は、ファイル・リスト10を生成するために、書き込み/読み出しヘッドまたは物理的なデータ媒体4の他の読み出しデバイスの頻繁な再位置決めが必要とされるという欠点をもつ。特に、アーカイブ・システムにおいて見られるような非常に大きなファイル集合の場合、これは、実際上、長いトランジット遅延につながり、よって頻繁に走るプロセスの場合には問題になる。
【0044】
図3Aは、上記のディレクトリー木1をマッピングするための改善されたデータ構造を示している。特に、上述の情報に加えて、関連付けられたファイル・オブジェクト9またはディレクトリー・オブジェクト8の名前が、それぞれの場合において個々のinode 7に記憶される。高次のディレクトリー・オブジェクト8のinode 7への戻り参照18が同様にinode 7に、すなわちディレクトリーAのinode 7Aに記憶される。たとえば、inode 7rへの参照である。ルート・ディレクトリー3自身のinode 7rだけには項目が存在しない。
【0045】
ファイル・システム2のあらかじめ定義された基準点へのさらなる参照が任意的にはすべてのinode 7(図3Aには示さず)に記憶されることができる。図1Aの単純なディレクトリー木1の場合、基準点についての項目はルート・ディレクトリー3を直接指す。複数のデータ媒体にわたって分散しており、よって複数のマウント点をもつより複雑なディレクトリー木の場合には、基準点は、そのファイルを含むファイル・システムのマウント点を指す。このようにして、inode 7に記憶されるメタデータは、たとえ関わっているファイル・システムが他の場所で高次のファイル・システム、特にマスター・ファイル・システムに組み込まれているとしても、有効なままである。
【0046】
関連付けられたファイル・オブジェクト9またはディレクトリー・オブジェクト8の名前、戻り参照18および関連する場合には基準点への参照は、たとえば、既知のファイル・システムの拡張された属性として、たとえばいわゆるxattr関数の使用を通じて、記憶されてもよい。
【0047】
図3Bは、図3Aに基づくデータ構造に基づいてファイル・リスト10を生成するための改善された方法を示している。
【0048】
第一のステップ30では、inodeのリストのさらなるinode 7が処理されるべきであるかどうかを判定するために検査が実行される。たとえば、inodeリストが第一の記憶領域5のすべてのinode 7を含んでいてもよい。
【0049】
もしそうであれば、ステップ31において処理されるべき次のinode 7が読まれる。次のステップ32では、そのinode 7が通常のファイル・オブジェクト9に割り当てられているかどうかを判定するために検査が実行される。そうでなければ、処理はステップ30においてすぐに次のinode 7をもって続けられることができる。
【0050】
逆に、ステップ32において、最後に読まれたinode 7が通常のファイル・オブジェクト9、たとえばファイルa1に割り当てられていることが確立される場合には、inode 7のアドレス15およびファイル・オブジェクト9の関連付けられた名前「a1」が一時的に変数nに記憶される。
【0051】
ステップ34では、次いで、前にロードされたinode 7の戻り参照18が高次のディレクトリー・オブジェクト8Aのinode 7Aとして参照するinode 7Aがロードされる。ステップ35では、次いで、変数nがより高次のディレクトリーAの名前「A」をもって補足される。
【0052】
ステップ36では、前記より高次のディレクトリーがすでにルート・ディレクトリー3であるかどうかを判定するために検査が実行される。もしそうであれば、パス指定13、ファイル・リスト10におけるファイル名14および通常のファイル「a1」に割り当てられているinode 7のアドレス15を含む変数nに今や含まれるフル・パス指定12が、ステップ37において記憶される。次いで、本方法はステップ30において、inodeリストからのさらなるinode 7の処理があればそれをもって続けられる。
【0053】
しかしながら、ステップ36において、ルート・ディレクトリー3がまだ関わっていないことが確立される場合には、本方法はステップ34において、現在のディレクトリーより高次のディレクトリーのinode 7のロードをもって続けられ、それにより、パスはステップ35において次の、より高いディレクトリー・レベルをもって補足される。これは、本方法が最終的にルート・ディレクトリー3に到達するまで続けられる。このようにして、フル・パス指定12は、より高次のinode 7への戻り参照15をたどることによって、各inode 7について非常に短時間で決定できる。逆に、通常のファイル・システム2では、完全なディレクトリー木を介した構築または探索が必要となる。
【0054】
図3Bに基づく方法は、図2Bに基づく方法に対して一連の利点をもつ。特に、ファイル・リスト10の生成中に、物理的なデータ媒体4上での第一の記憶領域5と第二の記憶領域6との間の行ったり来たりのジャンプが回避できる。ファイル・リスト10を生成するために必要とされるすべてのデータがinode 7に完全に記憶されている。
【0055】
同時に、ディレクトリー木1の完全な再帰的な処理をなくすことができる。特に、第一の記憶領域5に記憶されているすべてのinode 7にわたる線形のスキャンを実行することが可能である。再帰的なアルゴリズムによってフル・パス指定12が追加される必要があるのは、通常のファイル・オブジェクト9に割り当てられており、それの他のメタデータがたとえば特定の検索プロファイルに対応するようなinode 7についてのみである。
【0056】
特に、たとえば最後のバックアップ時刻以降に修正されたファイルのファイル名のみを記録するアーカイブ・システムにおいて、多数のinode 7が事前フィルタリングに基づいてこの処理からすでに除外されることができる場合、アルゴリズムのこの再帰的コンポーネントは、後者のトランジット遅延挙動における従属的な役割を果たすのみである。
【0057】
図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アクセスを伴う。
【0058】
図4Aおよび図4Bは、本発明のあるさらなる設計に基づくデータ構造および作業方法を示している。図4Aに特に示されるように、前記さらなる設計によれば、記憶オブジェクトの名前および前記より高次のディレクトリー・オブジェクト8のinode 7への戻り参照18の代わりに、少なくとも前記より高次のマウント点からのパス指定12が、inode 7に記憶される。さらに、より高次の基準点のinode 7への参照19が各inode 7に記憶される。記述される設計では、ルート・ディレクトリー3は、マスター・ファイル・システムのオブジェクトについての基準点、ここではinode 7rへの参照のはたらきをする。パス指定12が始まるところの、対応する組み込まれたファイル・システムのマウント点のinodeは、マスター・ファイル・システムに組み込まれた他のファイル・システム、たとえばハードディスクの他のパーティション、ネットワーク・ボリュームまたは交換可能な記憶媒体のオブジェクトについての基準点として記憶される。最後に、バックアップ・コンポーネントによる、さらなる記憶媒体、たとえばテープ記憶媒体上の関連付けられたオブジェクトの最後のバックアップの時刻を示すバックアップ日時20が、さらに各inode 7に記憶される。
【0059】
図4Aおよび図4Bに基づく設計のある変形では、固定した参照点、たとえばルート・ディレクトリー3またはファイル・システム2の異なる定義されたノードは、恒久的に事前定義されるまたは他所に記憶される。この設計では、inode 7における参照19の記憶はなくすことができる。単一の追加的な属性、すなわちルート・ディレクトリー3からの単純なパス指定13およびファイル名14自身を含むフル・パス指定が好ましくは、この設計における連続的なキャラクタ・ストリングとして記憶される。
【0060】
図4Aおよび上述したその変形に基づくデータ構造は、ファイル・リスト10の一層高速な生成のために好適である。本例示的実施形態では、ファイル・システム2は、ファイルの初期の書き込みまたはディレクトリーの生成後は、名前変更および移動がその後もはや可能ではなくなるいわゆるWORMファイル・システムである。マウント点であれルート・ディレクトリー3であれ所与の基準点からのファイルへのパスはひとたび記憶されたら、このように事実上もはや変更できないので、図4Aに示されるようなフル・パス指定12は、inode 7の拡張された属性において連続的な形で記憶されることができる。
【0061】
この場合、ファイル・リストの生成は特に単純である。第一のステップ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をもって続けられる。
【0062】
図4Bに基づく方法も、inode 7に記憶されている情報だけでファイル・リスト10を生成するのに十分であるという利点をもつ。さらに、次いで、図4Bに基づく方法は、ファイル指定の再帰的生成がもはや全く必要とされないという利点をもつ。その代わり、ファイル・リスト10は、原則として、連続的に記憶されている諸inode 7を逐次的に処理する単純な線形アルゴリズムによって生成できる。この方法により、既知のディレクトリー探索に比べ約100倍の加速が、数百万のinode 7をもつファイル・システムにおいて可能になる。
【0063】
ファイル・オブジェクト9の可能なさらなる処理に関係する決定が純粋にinode 7に記憶されているメタデータに基づいてできる限り、第二の記憶領域6のデータはもはや全く読まれる必要がない。その結果、本方法のさらなる実質的な加速につながる。


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


【符号の説明】
【0083】
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 バックアップ・マネージャ
図1A
図1B
図1C
図2A
図2B
図3A
図3B
図4A
図4B
図5