JP4117265B2 - ファイルシステムのバージョンを管理する方法およびシステム - Google Patents
ファイルシステムのバージョンを管理する方法およびシステム Download PDFInfo
- Publication number
- JP4117265B2 JP4117265B2 JP2004129396A JP2004129396A JP4117265B2 JP 4117265 B2 JP4117265 B2 JP 4117265B2 JP 2004129396 A JP2004129396 A JP 2004129396A JP 2004129396 A JP2004129396 A JP 2004129396A JP 4117265 B2 JP4117265 B2 JP 4117265B2
- Authority
- JP
- Japan
- Prior art keywords
- file system
- version
- logical
- epoch
- epoch value
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/953—Organization of data
- Y10S707/959—Network
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99955—Archiving or backup
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Description
サーバは特定のディレクトリをルートとするサブツリーの形態をしたファイルシステムを備えている。ツリーのルートはルート・ディレクトリをルートとするファイルシステム・ツリーを記述している。ツリーのルートによって、すべてのクライアントはネーム・ツリーを無矛盾に閲覧することができる。ファイルシステムの論理バージョンはディレクトリ・レベルに保持されている。ファイルシステムの各論理バージョンには整数の形態をした一意の番号(以下、エポック番号)が割り当てられている。ファイルシステムを初期作成するとき、それに「1」なるエポック番号を付与する。ファイルシステムの論理バージョンを作成するごとに(たとえばファイルシステムの論理バージョンを作成するコマンドを発行するとき)、エポック番号をインクリメント(すなわち+1)する。ファイルシステムのすべてのオブジェクトはファイルシステムのエポック番号に加えオブジェクト識別子と2つのエポック番号を有する。第1のオブジェクト・エポック番号は誕生エポック番号と呼ばれており、第2のオブジェクト・エポック番号は死亡エポック番号と呼ばれている。誕生エポック番号と死亡エポック番号はそれらが割り当てられたオブジェクトの寿命を規定している。ファイルシステム中のオブジェクトにはそのオブジェクト識別子と誕生エポック番号によってアクセスする。永続的に格納されたファイルシステムの論理バージョンを識別するために、ファイルシステムの論理バージョンを編成するバージョン・テーブルを備えたデータ構造が保持されている。したがって、ファイルシステムに割り当てられた1つのエポック番号とファイルシステムのオブジェクトに割り当てられた2つのエポック番号とが存在する。
図3は好適な実施形態に従い単一のオペレーティング・システム・インスタンスのファイルシステム管理論理を実行しているノード42のブロック図である。ノード42はクライアント・ドライバ44とサーバ・ソフトウェア46を備えている。ノード42のサーバ・ソフトウェア46はノード42のソフトウェア46内に組み込まれたファイルシステム管理論理48を備えている。ファイルシステム管理論理48の機能はファイルシステムの論理バージョンに識別番号を割り当てること、およびファイルシステムのオブジェクトに2つの識別番号を割り当てることである。ファイルシステムのオブジェクトの識別番号によって当該オブジェクトが有効である、ファイルシステムの論理バージョンの範囲が決まる。
ファイルシステムの論理バージョンの作成が完了すると、それはファイルシステムのルート・ディレクトリの一部のように見える。また、それを用いて、ファイルシステムをオンラインで維持しながらバックアップ・ユーティリティによって二次記憶バックアップを作成することができる。さらに、ファイルシステムの論理バージョンはファイルの修復用に、あるいはファイルシステムの履歴を保持するために参照することができる。ここに開示した、ファイルシステムの論理バージョンを作成するほぼ即時のプロセスはスペース効率が良好である。ファイルシステムの論理バージョンの作成が完了すると、ファイルシステム・オブジェクトの更新はコピー・オン・ライト手順によって行う。これにより、ファイルシステムの論理バージョンの元をなしたファイルシステム・オブジェクトの元の状態を保存することが可能になる。余分な記憶容量を必要とするのは、ファイルシステムの論理バージョンの採用に従って変化したファイルシステム・オブジェクトのみである。ファイルシステムの論理バージョンの作成に従ってファイルシステム・オブジェクトを変更しない場合、ファイルシステムの論理バージョンを格納するのに余分なスペースを必要としない。また、単一のレコードは余分な記憶容量を必要とすることなく、1つのオブジェクトの同一のインスタンスを無限個数代表することができる。さらに、ファイルシステムの主イメージまたはファイルシステムの論理バージョンを維持するのに余分なバックグラウンド・プロセスを必要としない。したがって、ファイルシステムの論理バージョンにおいて参照されるオブジェクトと比べて、主イメージのオブジェクトにアクセスするのに余分なコストは必要ない。したがって、ファイルシステムの論理バージョンおよび付随するオブジェクトを編成して保守しても、ファイルシステムの元の状態を保存しながらファイルシステムの論理バージョンを保持することができる。
認識すべき点を挙げると、ここでは説明を目的に本発明の特定の実施形態を説明したが、本発明の本旨と範囲の内で様々な変更をなすことができる。特に、ファイルシステムの特定の論理バージョンへの復帰とともにファイルシステムの当該論理バージョンにおける参照したオブジェクトの死亡エポック番号を無限大にリセットすることができる。というのは、ファイルシステムの復帰した論理バージョンがファイルシステムの新たな主イメージになるからである。ファイルシステムの主イメージのエポック番号を備えたオブジェクトはすべて無限大の死亡エポック番号を有する。図12は参照したオブジェクトの死亡エポック番号をリセットするステップ群を示すフローチャート280を示す図である。まず、オブジェクトの誕生エポック番号がファイルシステムの論理バージョンのエポック番号以下であるか否かを判断するテストを実行する(ステップ282)。ステップ282におけるテストの結果がYesの場合、オブジェクトの死亡エポック番号がファイルシステムの論理バージョンのエポック番号以上であるか否かを判断するテストを実行する(ステップ284)。ステップ282またはステップ284におけるテストの結果がNoの場合、死亡エポック番号はリセットする必要がない(ステップ288)。しかし、ステップ282およびステップ284におけるテストの結果がYesの場合には、オブジェクトの死亡エポック番号を無限大にリセットする(ステップ286)。図12に概要を示したプロセスはアクセスするレコードについて、ファイルシステムの論理バージョンのエポック番号以下の誕生エポック番号とファイルシステムの論理バージョンのエポック番号以上の死亡エポック番号とを備えたレコードに対して行う。最後に、エポック値は必ずしも数値のみに限らず、任意のインクリメント可能な値(たとえばアルファベット文字や生(raw )バイトなど)を用いることができる。以上のとおりであるから、本発明の保護の範囲は特許請求の範囲およびその等価物によってのみ限定される。
14 ノード・ソフトウェア
16 オブジェクト識別手段を備えないファイルシステム管理論理
17 ファイル・データ空間
18 ローカル記憶装置
19 メタデータ空間
22 クライアント/サーバ・ノード
24 ノード・ソフトウェア
26 オブジェクト識別手段を備えないファイルシステム管理論理
30 SAN
32 ファイル・データ空間
34 メタデータ空間
42 ノード
44 クライアント・ドライバ
46 サーバ・ソフトウェア
48 オブジェクト識別手段を備えたファイルシステム管理論理
52 ファイル・データ空間
54 メタデータ空間
64 ユーザ・ファイル・データ空間
66 メタデータ空間
70 サーバ・ノード1
72 サーバ・ソフトウェア
74 オブジェクト識別手段を備えたファイルシステム管理論理
80 サーバ・ノード2
82 サーバ・ソフトウェア
84 オブジェクト識別手段を備えたファイルシステム管理論理
90 管理者ノード
92 クライアント・ノード
94 クライアント・ノード
Claims (59)
- ファイルシステムの論理バージョンを管理する方法であって、
(a)前記ファイルシステムの論理バージョンにエポック値を割り当てるステップと、
(b)ファイルシステム・オブジェクトに一対のエポック値を割り当てるステップであって、前記オブジェクト・エポック値ペアが、前記オブジェクトが有効であるファイルシステムの論理バージョンの範囲を決めている、ステップと、
(c)ファイルシステムのすべてのエポック値から成るバージョン・テーブルを保持するステップであって、列挙された各エポック値は前記ファイルシステムの有効な論理バージョンに対応している、ステップと、
(d)前記ファイルシステムの前記論理バージョンの現在のエポック値を永続記憶装置の前記バージョン・テーブルに格納することにより前記ファイルシステムの論理バージョンを作成し、ファイルシステムの現在のエポック値を単調にインクリメントするステップと
を備えた
方法。 - ファイルシステムの論理バージョンを作成するステップが、前記論理バージョンの余分なスペースを前記ファイルシステムにおいて参照し変化したファイルシステム・オブジェクトに限定するステップを含んでいる、
請求項1に記載の方法。 - さらに、
前記ファイルシステムの元の状態を保存しながら前記ファイルシステムの論理バージョンを保持するステップ
を備えた、
請求項1に記載の方法。 - さらに、
前記ファイルシステムの前記論理バージョンの削除を実行するステップ
を備えた、
請求項1に記載の方法。 - 前記ファイルシステムの前記論理バージョンの削除を実行するステップが、前記バージョンの対応するエポック値を前記永続記憶装置中の前記バージョン・テーブルから削除するステップを含む、
請求項4に記載の方法。 - さらに、
前記削除したバージョンに付随する非参照のオブジェクトを削除するステップ
を備えた、
請求項5に記載の方法。 - さらに、
前記ファイルシステムの既存の論理バージョンへの復帰を実行するステップを備えた、
請求項1に記載の方法。 - 前記ファイルシステムの既存の論理バージョンへの復帰を実行するステップが、永続記憶装置中の前記バージョン・テーブル中の介在するすべてのエントリを削除し、ファイルシステムの前記エポック値をファイルシステムの前記復帰した論理バージョンに対応するエポック値に設定するステップを含む、
請求項7に記載の方法。 - さらに、
複数の参照済みファイルシステム・オブジェクトの変更に応答してコピー・オン・ライト手順を実行することによりファイルシステムの元の状態を保存するステップを備えた、
請求項1に記載の方法。 - 前記コピー・オン・ライト手順を実行するステップが、前記ファイルシステムの非主論理バージョンに属す複数の参照済みファイルシステム・オブジェクトの変更に応答して前記ファイルシステム・オブジェクトを3個のコピーに分割するステップを含む、
請求項9に記載の方法。 - データ記憶システムであって、
エポック値によって識別されたファイルシステム・バージョンと、
2つのエポック値から成るペアによって識別され、オブジェクトのエポック値ペアが、オブジェクトが有効である前記ファイルシステムの論理バージョンの範囲を決めるように適合している、ファイルシステム・オブジェクトと、
ファイルシステムのすべての有効なエポック値から成るリストを保持するように適合したバージョン・テーブルであって、列挙された各エポック値が前記ファイルシステムの有効な論理バージョンに対応している、バージョン・テーブルと、
前記ファイルシステムの論理バージョンを作成するように適合したバージョン管理手段であって、前記ファイルシステムの現在の論理バージョンに付随する現在のエポック値が永続記憶装置中の前記バージョン・テーブル中に保持されるように適合しており、ファイルシステムの現在のエポック値が単調にインクリメントされている、バージョン管理手段と
を備えた
システム。 - 前記バージョン管理手段が、前記論理バージョン中の余分なスペースを前記ファイルシステム中の変化したオブジェクトに限定する、
請求項11に記載のシステム。 - 前記バージョン管理手段が、前記ファイルシステムの元の状態を保存しながら前記ファイルシステムの論理バージョンを保持するように適合している、
請求項11に記載のシステム。 - 前記バージョン管理手段が、前記ファイルシステムの前記論理バージョンの削除を実行するように適合している、
請求項11に記載のシステム。 - 前記バージョン管理手段が、前記論理バージョンの対応するエポック値の前記永続記憶装置からの削除を実行するように適合している、
請求項14に記載のシステム。 - 前記バージョン管理手段が、前記削除した論理バージョンに付随する非参照のオブジェクトを削除する、
請求項15に記載のシステム。 - 前記バージョン管理手段が、前記ファイルシステムの既存の論理バージョンへの復帰を実行するように適合している、
請求項11に記載のシステム。 - 前記バージョン管理手段が、永続記憶装置中の前記バージョン・テーブル中の介在するエントリを削除し、ファイルシステムの前記エポック値をファイルシステムの前記復帰した論理バージョンに付随するエポック値に設定するように適合している、
請求項17に記載のシステム。 - さらに、
複数の参照済みファイルシステム・オブジェクトの変更に応答してコピー・オン・ライト手順を実行するように適合したレコード管理手段
を備えた、
請求項11に記載のシステム。 - 前記レコード管理手段が、前記ファイルシステムの非主論理バージョンに属す複数の参照済みファイルシステム・オブジェクトの変更に応答して前記レコードを3個のコピーに分割する、
請求項19に記載のシステム。 - コンピュータに、
ファイルシステムの論理バージョンにエポック値を割り当てるステップと、
ファイルシステム・オブジェクトに一対のエポック値を割り当てるステップであって、前記オブジェクト・エポック値ペアが、前記オブジェクトが有効であるファイルシステムの論理バージョンの範囲を決めている、ステップと、
ファイルシステムのすべての有効なエポック値から成るバージョン・テーブルを保持するステップであって、列挙された各エポック値が前記ファイルシステムの有効な論理バージョンに対応している、ステップと、
前記バージョン・テーブル中の前記ファイルシステムの前記論理バージョンの現在のエポック値を永続記憶装置に格納することにより前記ファイルシステムの論理バージョンを作成し、ファイルシステムの現在のエポック値を単調にインクリメントするステップと
を実行させる
プログラム。 - さらに、
前記ファイルシステムの前記論理バージョンの削除を実行するステップであって、前記ステップが、前記ファイルシステムの対応するエポック値を永続記憶装置中の前記バージョン・テーブルから削除するステップを含む、ステップ
を備えた、
請求項21に記載のプログラム。 - さらに、
前記削除したバージョンに付随する非参照のオブジェクトを削除するステップ
を備えた、
請求項22に記載のプログラム。 - さらに、
前記ファイルシステムの既存の論理バージョンへの復帰を実行するステップであって、前記ステップが、永続記憶装置中の前記バージョン・テーブル中の介在するすべてのエントリを削除し、ファイルシステムの前記エポック値を前記復帰した論理バージョンに対応するエポック値に設定するステップを含む、ステップ
を備えた、
請求項21に記載のプログラム。 - さらに、
複数の参照済みファイルシステム・オブジェクトの変更に応答してコピー・オン・ライト手順を実行するステップであって、前記ステップが、前記ファイルシステムの非主論理バージョンに属す複数の参照済みファイルシステム・オブジェクトの変更に応答して前記ファイルシステム・オブジェクトを3個のコピーに分割するステップを含む、ステップ
を備えた、
請求項21に記載のプログラム。 - 前記ファイルシステムの論理バージョンを作成するステップが、前記論理バージョン中の余分なスペースを前記ファイルシステム中の変化したオブジェクトに限定するステップを含む、
請求項21に記載のプログラム。 - さらに、
前記ファイルシステムの元の状態を保存しながら前記ファイルシステムの論理バージョンを保持するステップ
を備えた、
請求項21に記載のプログラム。 - ファイルシステムの論理バージョンを管理する方法であって、
(a)単一のオペレーティング・システム・インスタンスを実行しているノードのサーバ・ソフトウェア内にファイルシステム論理を組み込むステップと、
(b)前記ファイルシステムの論理バージョンにエポック値を割り当てるステップと、
(c)ファイルシステム・オブジェクトに一対のエポック値を割り当てるステップであって、前記オブジェクト・エポック値ペアが、前記オブジェクトが有効であるファイルシステムの論理バージョンの範囲を決める、ステップと、
(d)ファイルシステムのすべての有効なエポック値から成るバージョン・テーブルを保持するステップであって、列挙された各エポック値がファイルシステムの有効な論理バージョンに対応している、ステップと、
(e)前記ファイルシステムの前記論理バージョンの現在のエポック値を前記ローカル記憶媒体の永続記憶装置中の前記バージョン・テーブルに格納することにより、前記ファイルシステムの論理バージョンを作成し、ファイルシステムの現在のエポック値を単調にインクリメントする、ステップと
を備えた
方法。 - ファイルシステムの論理バージョンを作成するステップが、前記論理バージョンの余分なスペースを前記ファイルシステム中の複数の参照し変化したファイルシステム・オブジェクトに限定するステップを含む、
請求項28に記載の方法。 - さらに、
前記ファイルシステムの前記論理バージョンの削除を実行するステップを備え、
前記ローカル記憶媒体の永続記憶装置中の前記バージョン・テーブルから対応するエポック値を削除し、前記削除したバージョンに付随する非参照のオブジェクトを削除する、
請求項28に記載の方法。 - さらに、
前記ファイルシステムの既存の論理バージョンへの復帰を実行するステップ
を備え、
前記バージョン・テーブル中のすべての介在するエントリを前記ローカル記憶媒体の永続記憶装置から削除し、ファイルシステムの前記エポック値をファイルシステムの前記復帰した論理バージョンに対応するエポック値に設定する、
請求項28に記載の方法。 - さらに、
複数の参照済みファイルシステム・オブジェクトの変更に応答してコピー・オン・ライト手順を実行することによりファイルシステムの元の状態を保存するステップ
を備えた、
請求項28に記載の方法。 - データ記憶システムであって、
単一のオペレーティング・システム・インスタンスを実行するように適合したノードのサーバ・ソフトウェア内に組み込まれたファイルシステム論理であって、前記ファイルシステム論理は前記ノードのローカル記憶装置のメタデータと通信するように適合している、ファイルシステム論理と、
エポック値によって識別されたファイルシステム・バージョンと、
一対のエポック値によって識別され、オブジェクトの前記エポック値ペアが、前記オブジェクトが有効である前記ファイルシステムの論理バージョンの範囲を決めるように適合している、ファイルシステム・オブジェクトと、
ファイルシステムのすべての有効なエポック値から成るリストを保持するように適合したバージョン・テーブルであって、列挙された各エポック値が前記ファイルシステムの有効な論理バージョンに対応している、バージョン・テーブルと、
前記ファイルシステムの論理バージョンを作成するように適合したバージョン管理手段であって、前記ファイルシステムの現在の論理バージョンが、前記ローカル記憶装置の永続記憶装置中の前記バージョン・テーブル中に保持されるように適合しており、ファイルシステムの現在のエポック値が単調にインクリメントされている、バージョン管理手段と
を備えた
システム。 - さらに、
前記ファイルシステムの前記論理バージョンの削除を実行するように適合したバージョン管理手段を備え、
前記バージョン管理手段が、前記ローカル記憶媒体の永続記憶装置中の前記バージョン・テーブルから前記論理バージョンの対応するエポック値を削除し、前記削除した論理バージョンに付随する非参照のオブジェクトを削除するように適合している、
請求項33に記載のシステム。 - さらに、
前記ファイルシステムの既存の論理バージョンへの復帰を実行するように適合したバージョン管理手段を備え、
前記バージョン管理手段が、前記ローカル記憶媒体の永続記憶装置中の前記バージョン・テーブル中の介在するエントリを削除し、ファイルシステムの前記エポック値を前記復帰した論理バージョンに付随するエポック値に設定する、
請求項33に記載のシステム。 - さらに、
複数の参照済みファイルシステム・オブジェクトの変更に応答してコピー・オン・ライトを実行するように適合したレコード管理手段
を備えた、
請求項33に記載のシステム。 - 前記レコード管理手段が、前記ファイルシステムの非主論理バージョンに属す複数の参照済みファイルシステム・オブジェクトの変更に応答して前記レコードを3個のコピーに分割する、
請求項36に記載のシステム。 - コンピュータに、
単一のオペレーティング・システム・インスタンスを実行しているノードのサーバ・ソフトウェア内でファイルシステム論理を実行するステップであって、前記ファイルシステム論理が、前記ノードのローカル記憶媒体のメタデータと通信するように適合している、ステップと、
ファイルシステムの論理バージョンにエポック値を割り当てるステップと、
ファイルシステム・オブジェクトにオブジェクト・エポック値ペアを割り当てるステップであって、前記オブジェクト・エポック値ペアが、前記オブジェクトが有効であるファイルシステムの論理バージョンの範囲を決める、ステップと、
ファイルシステムのすべての有効なエポック値から成るバージョン・テーブルを保持するステップであって、列挙された各エポック値がファイルシステムの有効な論理バージョンに対応している、ステップと、
前記ファイルシステムの前記論理バージョンの現在のエポック値を前記ローカル記憶媒体の永続記憶装置の前記バージョン・テーブルに格納することにより前記ファイルシステムの論理バージョンを作成し、ファイルシステムの現在のエポック値を単調にインクリメントするステップと
を実行させる
プログラム。 - さらに、
前記ファイルシステムの前記論理バージョンの削除を実行するステップであって、前記ステップが、ファイルシステムの前記論理バージョンの対応するエポック値を前記ローカル記憶媒体の永続記憶装置中の前記バージョン・テーブルから削除するステップを含む、ステップ
を備えた、
請求項38に記載のプログラム。 - さらに、
前記ファイルシステムの既存の論理バージョンへの復帰を実行するステップであって、前記ステップが、前記ローカル記憶媒体の永続記憶装置中の前記バージョン・テーブル中の介在するすべてのエントリを削除し、ファイルシステムの前記エポック値をファイルシステムの前記復帰した論理バージョンに対応するエポック値に設定するステップを含む、ステップ
を備えた、
請求項38に記載のプログラム。 - さらに、
前記ファイルシステムの非主論理バージョンに属す複数の参照済みオブジェクトの変更に応答してコピー・オン・ライト手順を実行するステップ
を備えた、
請求項38に記載のプログラム。 - 前記コピー・オン・ライト手順が、前記ファイルシステムの非主論理バージョンに属す複数の参照済みオブジェクトの変更に応答して前記ファイルシステム・オブジェクトを3個のコピーに分割するステップを含む、
請求項41に記載のプログラム。 - 前記ファイルシステムの論理バージョンを作成するステップが、前記論理バージョンの余分なスペースを前記ファイルシステム中の変化したオブジェクトに限定するステップを含む、
請求項38に記載のプログラム。 - ファイルシステムの論理バージョンを管理する方法であって、
(a)共用記憶システムと通信しているサーバ・ノードのサーバ・ソフトウェア内にファイルシステム論理を組み込むステップであって、前記ファイルシステム論理が、前記共用記憶システムのメタデータと通信するように適合している、ステップと、
(b)前記ファイルシステムの論理バージョンにエポック値を割り当てるステップと、
(c)ファイルシステム・オブジェクトに一対のエポック値を割り当てるステップであって、前記オブジェクト・エポック値ペアが、前記オブジェクトが有効であるファイルシステムの論理バージョンの範囲を決めている、ステップと、
(d)ファイルシステムのすべての有効なエポック値から成るバージョン・テーブルを保持するステップであって、列挙した各エポック値がファイルシステムの有効な論理バージョンに対応している、ステップと、
(e)前記ファイルシステムの前記論理バージョンの現在のエポック値を前記共用記憶システムの永続記憶装置の前記バージョン・テーブルに格納することにより前記ファイルシステムの論理バージョンを作成し、ファイルシステムの現在のエポック値を単調にインクリメントするステップと
を備えた
方法。 - ファイルシステムの論理バージョンを作成するステップが、前記論理バージョンの余分なスペースを前記ファイルシステム中の変化したオブジェクトに限定するステップを含む、
請求項44に記載の方法。 - さらに、
前記ファイルシステムの前記論理バージョンの削除を実行するステップを備え、
前記論理バージョンの対応するエポック値を前記共用記憶システムの永続記憶装置中の前記バージョン・テーブルから削除し、前記削除した論理バージョンに付随する非参照のオブジェクトを削除する、
請求項44に記載の方法。 - さらに、
前記ファイルシステムの既存の論理バージョンへの復帰を実行するステップを備え、
前記バージョン・テーブル中のすべての介在するエントリを前記共用記憶システムの永続記憶装置から削除し、ファイルシステムの前記エポック値をファイルシステムの前記復帰した論理バージョンに対応するエポック値に設定する、
請求項44に記載の方法。 - さらに、
複数の参照済みファイルシステム・オブジェクトの変更に応答してコピー・オン・ライト手順を実行することによりファイルシステムの元の状態を保存するステップ
を備えた、
請求項44に記載の方法。 - データ記憶システムであって、
共用記憶システムと通信しているサーバのサーバ・ソフトウェア内に組み込まれたファイルシステム論理であって、前記ファイルシステム論理は前記共用記憶システムのメタデータと通信するように適合している、ファイルシステム論理と、
エポック値によって識別されたファイルシステム・バージョンと、
一対のエポック値によって識別され、前記エポック値ペアが、オブジェクトが有効である前記ファイルシステムの論理バージョンの範囲を決めるように適合している、、ファイルシステム・オブジェクトと、
ファイルシステムのすべての有効なエポック値から成るリストを保持するように適合したバージョン・テーブルであって、列挙された各エポック値が前記ファイルシステムの有効な論理バージョンに対応している、バージョン・テーブルと、
前記ファイルシステムの論理バージョンを作成するように適合したバージョン管理手段であって、前記ファイルシステムの現在の論理バージョンに付随する現在のエポック値が、前記共用記憶システムの永続記憶装置中の前記論理バージョン中に保持されるように適合しており、ファイルシステムの現在のエポック値が単調にインクリメントされている、バージョン管理手段と
を備えた
システム。 - さらに、
前記ファイルシステムの前記論理バージョンの削除を実行するように適合したバージョン管理手段
を備え、
前記バージョン管理手段が、前記論理バージョンの対応するエポック値を前記共用記憶システムの永続記憶装置中の前記バージョン・テーブルから削除し、ファイルシステムの前記削除した論理バージョンに付随する非参照のオブジェクトを削除するように適合している、
請求項49に記載のシステム。 - さらに、
前記ファイルシステムの既存の論理バージョンへの復帰を実行するように適合したバージョン管理手段
を備え、
前記バージョン管理手段が、前記共用記憶システムの永続記憶装置中の前記バージョン・テーブル中の介在するエントリを削除し、ファイルシステムの前記エポック値をファイルシステムの前記復帰した論理バージョンに付随するエポック値に設定するように適合している、
請求項49に記載のシステム。 - さらに、
複数の参照済みのファイルシステム・オブジェクトの変更に応答してコピー・オン・ライト手順を実行するように適合したレコード管理手段
を備えた、
請求項49に記載のシステム。 - 前記レコード管理手段が、変更するように設定された前記ファイルシステムの非主論理バージョンに属す複数の参照済みファイルシステム・オブジェクトの変更に応答して前記レコードを3個のコピーに分割する、
請求項52に記載のシステム。 - コンピュータに、
共用記憶システムと通信しているサーバ・ノードのサーバ・ソフトウェア内でファイルシステム論理を実行するステップであって、前記ファイルシステム論理が、前記共用記憶システムのメタデータと通信するように適合している、ステップと、
ファイルシステムの論理バージョンにエポック値を割り当てるステップと、
ファイルシステム・オブジェクトに一対のエポック値を割り当てるステップであって、前記エポック値ペアが、前記オブジェクトが有効であるファイルシステムの論理バージョンの範囲を決めている、ステップと、
ファイルシステムのすべての有効なエポック値から成るバージョン・テーブルを格納するステップであって、列挙された各エポック値がファイルシステムの有効な論理バージョンに対応している、ステップと、
前記ファイルシステムの前記論理バージョンの現在のエポック値を前記共用記憶システムの永続記憶装置中の前記バージョン・テーブルに格納することにより前記ファイルシステムの論理バージョンを作成し、ファイルシステムの現在のエポック値を単調にインクリメントするステップと
を実行させる
プログラム。 - さらに、
前記ファイルシステムの前記論理バージョンの削除を実行するステップ
を備え、
前記ステップが、前記ファイルシステムの対応するエポック値を前記共用記憶システムの永続記憶装置中の前記バージョン・テーブルから削除するステップを含む、
請求項54に記載のプログラム。 - さらに、
ファイルシステムの既存の論理バージョンへの復帰を実行するステップ
を備え、
前記ステップが、前記共用記憶システムの永続記憶装置中の前記バージョン・テーブル中のすべての介在するエントリを削除し、ファイルシステムの前記エポック値をファイルシステムの前記復帰した論理バージョンに対応するエポック値に設定する、
請求項54に記載のプログラム。 - さらに、
前記ファイルシステムの非主論理バージョンに属す複数の参照済みオブジェクトの変更に応答してコピー・オン・ライト手順を実行するステップ
を備えた、
請求項54に記載のプログラム。 - 前記コピー・オン・ライト手順が、前記ファイルシステムの非主論理バージョンに属す複数の参照済みオブジェクトの変更に応答して前記ファイルシステム・オブジェクトを3個のコピーに分割するステップを含む、
請求項57に記載のプログラム。 - 前記ファイルシステムの論理バージョンを作成するステップが、前記論理バージョン中の余分なスペースを前記ファイルシステム中の変化したオブジェクトに限定するステップを含む、
請求項54に記載のプログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/427,391 US7139781B2 (en) | 2003-04-29 | 2003-04-29 | Managing filesystem versions |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004326800A JP2004326800A (ja) | 2004-11-18 |
JP4117265B2 true JP4117265B2 (ja) | 2008-07-16 |
Family
ID=33310135
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004129396A Expired - Fee Related JP4117265B2 (ja) | 2003-04-29 | 2004-04-26 | ファイルシステムのバージョンを管理する方法およびシステム |
Country Status (4)
Country | Link |
---|---|
US (1) | US7139781B2 (ja) |
JP (1) | JP4117265B2 (ja) |
CN (1) | CN100399327C (ja) |
SG (1) | SG143036A1 (ja) |
Families Citing this family (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050055689A1 (en) * | 2003-09-10 | 2005-03-10 | Abfalter Scott A. | Software management for software defined radio in a distributed network |
JP4451705B2 (ja) | 2004-04-26 | 2010-04-14 | 株式会社日立製作所 | ストレージ装置、これを備えたストレージシステム、このシステムのデータ管理方法、及びストレージ装置のコントローラ実行プログラム |
US7574439B2 (en) * | 2004-05-20 | 2009-08-11 | International Business Machines Corporation | Managing a nested request |
US7627574B2 (en) * | 2004-12-16 | 2009-12-01 | Oracle International Corporation | Infrastructure for performing file operations by a database server |
US7716260B2 (en) * | 2004-12-16 | 2010-05-11 | Oracle International Corporation | Techniques for transaction semantics for a database server performing file operations |
US20060136508A1 (en) * | 2004-12-16 | 2006-06-22 | Sam Idicula | Techniques for providing locks for file operations in a database management system |
US7548918B2 (en) * | 2004-12-16 | 2009-06-16 | Oracle International Corporation | Techniques for maintaining consistency for different requestors of files in a database management system |
US8224837B2 (en) * | 2005-06-29 | 2012-07-17 | Oracle International Corporation | Method and mechanism for supporting virtual content in performing file operations at a RDBMS |
US7809675B2 (en) * | 2005-06-29 | 2010-10-05 | Oracle International Corporation | Sharing state information among a plurality of file operation servers |
US8272058B2 (en) | 2005-07-29 | 2012-09-18 | Bit 9, Inc. | Centralized timed analysis in a network security system |
US7895651B2 (en) | 2005-07-29 | 2011-02-22 | Bit 9, Inc. | Content tracking in a network security system |
US8984636B2 (en) | 2005-07-29 | 2015-03-17 | Bit9, Inc. | Content extractor and analysis system |
CN100454302C (zh) * | 2005-10-24 | 2009-01-21 | 中兴通讯股份有限公司 | 一种文件管理系统及管理方法 |
US7610304B2 (en) * | 2005-12-05 | 2009-10-27 | Oracle International Corporation | Techniques for performing file operations involving a link at a database management system |
US9092496B2 (en) * | 2005-12-30 | 2015-07-28 | Sap Se | Layered data management |
US7634517B1 (en) * | 2006-02-10 | 2009-12-15 | Google Inc. | System and method for dynamically updating a document repository without interrupting concurrent querying |
US7587564B2 (en) * | 2006-09-26 | 2009-09-08 | International Business Machines Corporation | System, method and computer program product for managing data versions |
US8745005B1 (en) * | 2006-09-29 | 2014-06-03 | Emc Corporation | Checkpoint recovery using a B-tree intent log with syncpoints |
US20090013317A1 (en) * | 2007-02-08 | 2009-01-08 | Airnet Communications Corporation | Software Management for Software Defined Radio in a Distributed Network |
US8489830B2 (en) * | 2007-03-30 | 2013-07-16 | Symantec Corporation | Implementing read/write, multi-versioned file system on top of backup data |
US9413825B2 (en) * | 2007-10-31 | 2016-08-09 | Emc Corporation | Managing file objects in a data storage system |
US8447733B2 (en) * | 2007-12-03 | 2013-05-21 | Apple Inc. | Techniques for versioning file systems |
JP2009187136A (ja) * | 2008-02-04 | 2009-08-20 | Fujitsu Ltd | 電子ファイル管理装置および電子ファイル管理方法 |
US7962780B2 (en) * | 2008-08-22 | 2011-06-14 | International Business Machines Corporation | Command sequence numbering apparatus and method |
US9501368B2 (en) * | 2008-09-30 | 2016-11-22 | Veritas Technologies Llc | Backing up and restoring selected versioned objects from a monolithic database backup |
JP2012531674A (ja) | 2009-06-26 | 2012-12-10 | シンプリヴィティ・コーポレーション | ノンユニフォームアクセスメモリにおけるスケーラブルなインデックス付け |
US8478799B2 (en) | 2009-06-26 | 2013-07-02 | Simplivity Corporation | Namespace file system accessing an object store |
CN101997823B (zh) * | 2009-08-17 | 2013-10-02 | 联想(北京)有限公司 | 一种分布式文件系统及其数据访问方法 |
US9436748B2 (en) | 2011-06-23 | 2016-09-06 | Simplivity Corporation | Method and apparatus for distributed configuration management |
MX342702B (es) * | 2012-02-14 | 2016-10-10 | Apple Inc | Metodos y aparato para distribucion a gran escala de clientes de acceso electronico. |
US9032183B2 (en) | 2012-02-24 | 2015-05-12 | Simplivity Corp. | Method and apparatus for content derived data placement in memory |
US9519591B2 (en) * | 2013-06-22 | 2016-12-13 | Microsoft Technology Licensing, Llc | Latch-free, log-structured storage for multiple access methods |
US9043576B2 (en) | 2013-08-21 | 2015-05-26 | Simplivity Corporation | System and method for virtual machine conversion |
US9477675B1 (en) * | 2013-09-30 | 2016-10-25 | EMC IP Holding Company LLC | Managing file system checking in file systems |
US10242222B2 (en) | 2014-01-14 | 2019-03-26 | Baker Hughes, A Ge Company, Llc | Compartment-based data security |
US10657113B2 (en) | 2014-01-14 | 2020-05-19 | Baker Hughes, A Ge Company, Llc | Loose coupling of metadata and actual data |
JP2018506088A (ja) | 2015-01-13 | 2018-03-01 | ヒューレット パッカード エンタープライズ デベロップメント エル ピーHewlett Packard Enterprise Development LP | 最適化シグネチャ比較およびデータレプリケーションのためのシステムおよび方法 |
US11075806B1 (en) | 2016-06-30 | 2021-07-27 | Juniper Networks, Inc. | Hierarchical naming scheme for state propagation within network devices |
US10303458B2 (en) | 2016-09-29 | 2019-05-28 | Hewlett Packard Enterprise Development Lp | Multi-platform installer |
US10887173B2 (en) | 2016-12-21 | 2021-01-05 | Juniper Networks, Inc. | Communicating state information in distributed operating systems |
US11316744B2 (en) | 2016-12-21 | 2022-04-26 | Juniper Networks, Inc. | Organizing execution of distributed operating systems for network devices |
US11316775B2 (en) * | 2016-12-21 | 2022-04-26 | Juniper Networks, Inc. | Maintaining coherency in distributed operating systems for network devices |
US10887176B2 (en) | 2017-03-30 | 2021-01-05 | Hewlett Packard Enterprise Development Lp | Predicting resource demand in computing environments |
US11010300B2 (en) | 2017-05-04 | 2021-05-18 | Hewlett Packard Enterprise Development Lp | Optimized record lookups |
US11126755B2 (en) | 2018-01-30 | 2021-09-21 | Hewlett Packard Enterprise Development Lp | Object signatures in object stores |
US10860738B2 (en) | 2018-01-30 | 2020-12-08 | Hewlett Packard Enterprise Development Lp | Augmented metadata and signatures for objects in object stores |
US10587454B2 (en) | 2018-01-30 | 2020-03-10 | Hewlett Packard Enterprise Development Lp | Object counts persistence for object stores |
CN108540306B (zh) * | 2018-02-28 | 2021-05-25 | 博尔联科(厦门)智能技术有限公司 | 一种网络节点的通讯控制方法 |
US10997153B2 (en) | 2018-04-20 | 2021-05-04 | Hewlett Packard Enterprise Development Lp | Transaction encoding and transaction persistence according to type of persistent storage |
US11243703B2 (en) | 2018-04-27 | 2022-02-08 | Hewlett Packard Enterprise Development Lp | Expandable index with pages to store object records |
US11095742B2 (en) | 2019-03-27 | 2021-08-17 | Juniper Networks, Inc. | Query proxy for delivery of dynamic system state |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5287496A (en) * | 1991-02-25 | 1994-02-15 | International Business Machines Corporation | Dynamic, finite versioning for concurrent transaction and query processing |
US6366933B1 (en) | 1995-10-27 | 2002-04-02 | At&T Corp. | Method and apparatus for tracking and viewing changes on the web |
US5956731A (en) * | 1997-04-23 | 1999-09-21 | Oracle Corporation | Sharing snapshots for consistent reads |
US6289474B1 (en) * | 1998-06-24 | 2001-09-11 | Torrent Systems, Inc. | Computer system and process for checkpointing operations on data in a computer system by partitioning the data |
KR20010037622A (ko) * | 1999-10-19 | 2001-05-15 | 정선종 | 분산 시스템에서 메모리 체크포인트를 이용한 독립 체크포인팅 방법 |
US6856993B1 (en) * | 2000-03-30 | 2005-02-15 | Microsoft Corporation | Transactional file system |
WO2002069200A1 (en) * | 2001-02-24 | 2002-09-06 | Gara Alan G | Checkpointing filesystem |
-
2003
- 2003-04-29 US US10/427,391 patent/US7139781B2/en not_active Expired - Fee Related
-
2004
- 2004-03-30 SG SG200401801-6A patent/SG143036A1/en unknown
- 2004-04-26 JP JP2004129396A patent/JP4117265B2/ja not_active Expired - Fee Related
- 2004-04-27 CN CNB2004100386889A patent/CN100399327C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20040220979A1 (en) | 2004-11-04 |
US7139781B2 (en) | 2006-11-21 |
SG143036A1 (en) | 2008-06-27 |
CN1622087A (zh) | 2005-06-01 |
JP2004326800A (ja) | 2004-11-18 |
CN100399327C (zh) | 2008-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4117265B2 (ja) | ファイルシステムのバージョンを管理する方法およびシステム | |
US11803513B2 (en) | Using a storage system to optimize and maintain the metadata associated with a plurality of small files | |
US6651075B1 (en) | Support for multiple temporal snapshots of same volume | |
US6594744B1 (en) | Managing a snapshot volume or one or more checkpoint volumes with multiple point-in-time images in a single repository | |
US7640262B1 (en) | Positional allocation | |
US7673099B1 (en) | Affinity caching | |
US5933820A (en) | System, method, and program for using direct and indirect pointers to logically related data and targets of indexes | |
US7720892B1 (en) | Bulk updates and tape synchronization | |
US5881379A (en) | System, method, and program for using duplicated direct pointer sets in keyed database records to enhance data recoverability without logging | |
US9430331B1 (en) | Rapid incremental backup of changed files in a file system | |
US7257690B1 (en) | Log-structured temporal shadow store | |
US7657721B2 (en) | Method of maintaining a plurality of snapshots, server apparatus and storage apparatus | |
KR101137299B1 (ko) | 스냅샷을 제공하는 파일 시스템에 대한 계층적 저장 관리 | |
EP1476810B1 (en) | Providing a snapshot of a subset of a file system | |
US20080005145A1 (en) | Data processing | |
US20030225972A1 (en) | Storage system | |
JP2016529633A (ja) | スナップショットおよびクローンの複製 | |
US7549037B1 (en) | Efficient off-host backup of a file set clone | |
US11841826B2 (en) | Embedded reference counts for file clones | |
US6192376B1 (en) | Method and apparatus for shadowing a hierarchical file system index structure to enable error recovery | |
US8090925B2 (en) | Storing data streams in memory based on upper and lower stream size thresholds | |
US6629203B1 (en) | Alternating shadow directories in pairs of storage spaces for data storage | |
US7958097B1 (en) | Method and system for implementation of data storage quota | |
CN112783835A (zh) | 索引管理方法、装置及电子设备 | |
JP2005316708A (ja) | 階層記憶装置、その復旧方法、及び復旧プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071113 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20080205 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20080208 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080310 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080415 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080421 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110425 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110425 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110425 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120425 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130425 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130425 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140425 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |