(57)【要約】  本データ保護システムは、保護するデータをストアするための従来の入力／出力ポートを介し監視下の計算機システムに接続されているメモリーモジュールを含む。メモリーモジュールは、データストレージ用記憶装置と、メモリーモジュールが監視下の計算機システムに最初に接続されたとき、監視下の計算機システムに自動的にインストールされる制御ソフトウェアコンポーネントを含むソフトウェアと、前記記憶装置にストアされるデータのレコードを維持するための関連するモジュールソフトウェアと、を含む。本データ保護システムは、単一フォーマットでメモリーモジュールにデータを自動的にストアすると同時にディスクセクター及びファイルの２つのフォーマットでデータ管理データベースにおいてそれを表す。それによって本データ保護システムは、時間と共に複数のファイルシステムの状態を効率的にトラッキングしストアすると同時に冗長なデータをストアせずにある時点の正確なディスクレベル及びファイルレベルの復旧を可能にする。【選択図】  図１Ｂ
2010508608.tif 000002
【特許請求の範囲】
【請求項１】
監視下の計算機システムのメモリーに書き込まれているデータの自動バックアップストレージ及び前記メモリーに復旧するために選択的にこのデータをリトリーブするデータ保護システムであって、
前記監視下の計算機システムのメモリーに書き込まれているデータのシャドウコピーをストアするための監視下の計算機システムに接続されているメモリーモジュール手段と、
前記メモリーモジュール手段にカスタマーデータファイルを自立的にストアするための前記複数の監視下の計算機システムそれぞれに常駐しているカスタマーデータファイル管理手段とを含み、該カスタマーデータファイル管理手段が、
前記監視下の計算機システムのメモリーに書き込まれているカスタマーデータに関連するファイルディレクトリ構造を、前記監視下の計算機システムにストアされるようなカスタマーデータファイルのオリジナルの名前及び前記カスタマーデータをストアする前記メモリーモジュール手段内の位置を識別するファイルツリー情報に自立的にマッピングするためのカスタマーデータファイルマッピング手段と、
前記監視下の計算機システム中のデータベースに前記ファイルツリー情報をストアするためのデータベースマッピング手段と、を含むシステム。
【請求項２】
前記カスタマーデータファイル管理手段が更に、
前記カスタマーデータファイルそれぞれに関連ハッシュ値を生成するために前記カスタマーデータファイルそれぞれを処理するカスタマーデータファイルのハッシュ手段を含んでいて、
前記メモリーモジュール手段が、
前記メモリーモジュール手段に前記カスタマーデータファイルそれぞれと、前記関連ハッシュ値と、をストアするためのカスタマーデータファイル格納手段を含んでいて、
前記データベースマッピング手段が、前記データベースに前記カスタマーデータファイルそれぞれの前記ハッシュ値をストアすることを特徴とする請求項１記載のデータ保護システム。
【請求項３】
前記カスタマーデータファイルストレージ手段が、前記メモリーモジュール手段に前記カスタマーデータファイル及び前記関連ハッシュ値それぞれと共に前記ファイルツリー情報を追加としてストアすることを特徴とする請求項２記載のデータ保護システム。
【請求項４】
更に、
前記メモリーモジュール手段にシステムファイルを自立的にストアするために前記複数の監視下の計算機システムそれぞれに常駐しているシステムファイル管理手段を含み、該システムファイル管理手段が、
前記監視下の計算機システムのメモリーに書き込まれているシステムファイルに関連するファイルディレクトリ構造を、前記監視下の計算機システムにストアされるようなシステムファイルのオリジナルの名前及びシステムファイルをストアする前記メモリーモジュール手段内の位置を識別するファイルツリー情報に自立的にマッピングするシステムファイルマッピング手段を含んでいて、
前記データベースマッピング手段が、前記監視下の計算機システムのデータベースに前記システムファイルツリー情報をストアすることを特徴とする請求項２のデータ保護システム。
【請求項５】
前記システムファイルが、
マスターブートレコード、パーティションテーブル及びプログラムのうち少なくとも１つを含む、カスタマーが提供するデータを除いた計算機ファイルを含む、ことを特徴とする請求項４記載のデータ保護システム。
【請求項６】
前記システムファイル管理手段が更に、
前記システムファイルそれぞれの関連ハッシュ値を生成するために前記システムファイルそれぞれを処理するためのシステムファイルハッシュ手段を含んでいて、
前記メモリーモジュール手段が更に、
前記システムファイル及び前記関連ハッシュ値それぞれを前記メモリーモジュール手段にストアするためのシステムファイルストレージ手段を含んでいて、
前記データベースマッピング手段が、前記データベースに前記カスタマーデータファイルそれぞれの前記ハッシュ値をストアすること、を特徴とする請求項４記載のデータ保護システム。
【請求項７】
前記システムファイル格納手段が、前記メモリーモジュール手段に前記システムファイル及び前記関連ハッシュ値それぞれと共に前記システムファイルツリー情報を追加としてストアすること、を特徴とする請求項６記載のデータ保護システム。
【請求項８】
前記カスタマーデータファイル管理手段が更に、
カスタマーデータファイルの生成、カスタマーデータファイルの移動、カスタマーデータファイルの内容変更及びカスタマーデータファイル名変更を含む、前記カスタマーデータファイルに対する変更を自動的にトラッキングするためのジャーナル変更手段を含むこと、を特徴とする請求項２記載のデータ保護システム。
【請求項９】
前記カスタマーデータファイル管理手段が更に、
前記カスタマーデータファイルと前記変更されたカスタマーデータファイルの間の相違を示すファイル変更データを生成するためにカスタマーデータファイル修正に応答するファイル履歴手段を含んでいて、
前記カスタマーデータファイル格納手段が、前記メモリーモジュール手段に前記ファイル変更データをストアし、前記メモリーモジュール手段において前記変更されたカスタマーデータファイルで前記カスタマーデータファイルを置換すること、を特徴とする請求項８記載のデータ保護システム。
【請求項１０】
前記カスタマーデータファイル管理手段が更に、
前記メモリーモジュール手段に格納する前に前記カスタマーデータファイルを圧縮するためのデータ圧縮手段を含むこと、を特徴とする請求項２記載のデータ保護システム。
【請求項１１】
前記カスタマーデータファイル管理手段が更に、
前記ファイルシステム中のあらゆるファイルオブジェクトのための関連メタデータを抽出するために、アクティブなカスタマーデータファイルシステムにインデックスを付与するためのメタデータ手段と、
データベースに前記メタデータを記録するためのデータベース手段と、を含むことを特徴とする請求項１記載のデータ保護システム。
【請求項１２】
前記カスタマーデータファイル管理手段が更に、
選択された時点においてアクティブなカスタマーデータファイルすべてにインデックスを付与するためのファイルシステムスナップショット手段と、
前記カスタマーデータファイルすべての現在の内容のインテグリティポイント代表としてメモリーに前記インデックスをストアするためのスナップショット格納手段と、を含むことを特徴とする請求項１記載のデータ保護システム。
【請求項１３】
監視下の計算機システムの記憶装置に書き込まれているデータの自動バックアップ記憶及び前記メモリーに復旧するためこのデータを選択的にリトリーブする方法であって、
監視下の計算機システムに接続されているメモリーモジュールに、前記監視下の計算機システムのメモリーに書き込まれているデータのシャドウコピーをストアするステップと、
前記メモリーモジュール手段にカスタマーデータファイルを自立的にストアするステップとを含み、該自立的ストアステップが、
前記監視下の計算機システムのメモリーに書き込まれているカスタマーデータに関連するファイルディレクトリ構造を前記監視下の計算機システムにストアされるようなカスタマーデータファイルのオリジナルの名前及び前記カスタマーデータをストアする前記メモリーモジュール内の位置を識別するファイルツリー情報に自立的にマッピングするステップと、
前記監視下の計算機システム中のデータベースに前記ファイルツリー情報をストアするステップと、を含む方法。
【請求項１４】
前記カスタマーデータファイルを自立的にストアするステップが更に、
前記カスタマーデータファイルそれぞれに関連するハッシュ値を生成するために前記カスタマーデータファイルそれぞれを処理するステップを含んでいて、
前記データのシャドウコピーをストアするステップが、
前記メモリーモジュールに前記カスタマーデータファイル及び前記関連ハッシュ値それぞれをストアするステップを含んでいて、
前記データベースのデータマッピングステップが、前記データベースに前記カスタマーデータファイルそれぞれの前記ハッシュ値をストアすること、を特徴とする請求項１３記載の自動データバックアップ記憶装置に関する方法。
【請求項１５】
前記カスタマーデータそれぞれをストアする前記ステップが、前記メモリーモジュールに前記カスタマーデータファイル及び前記関連ハッシュ値それぞれと共に前記ファイルツリー情報を追加としてストアすること、を特徴とする請求項１４記載の自動データバックアップ記憶装置に関する方法。
【請求項１６】
更に、
前記メモリーモジュールにシステムファイルを自立的にストアするステップを含み、該自立的ストアステップが、
前記監視下の計算機システムのメモリーに書き込まれているシステムファイルを前記監視下の計算機システムにストアされるようなシステムファイルのオリジナルの名前及び前記システムファイルをストアする前記メモリーモジュール内の位置を識別するファイルツリー情報に自立的にマッピングするステップと、
前記監視下の計算機システム中のデータベースに前記システムファイルツリー情報をストアするステップと、を含む請求項１４記載の自動データバックアップ記憶装置に関する方法。
【請求項１７】
前記システムファイルが、
マスターブートレコード、パーティションテーブル及びプログラムのうち少なくとも１つを含む、カスタマーが提供するデータを除いた計算機ファイルを含むことを特徴とする請求項１６記載の自動データバックアップ記憶装置に関する方法。
【請求項１８】
前記システムファイルを自立的にストアするステップが更に、
前記システムファイルそれぞれに関連するハッシュ値を生成するために前記システムファイルそれぞれを処理するステップを含んでいて、
前記データのシャドウコピーをストアするステップが、
前記メモリーモジュールに前記システムファイル及び前記関連ハッシュ値それぞれをストアするステップを含んでいて、
前記データベースのデータマッピングステップが、前記データベースに前記カスタマーデータファイルそれぞれの前記ハッシュ値をストアすること、を特徴とする請求項１６記載の自動データバックアップ記憶装置に関する方法。
【請求項１９】
前記システムファイルそれぞれをストアする前記ステップが、前記メモリーモジュールに、前記システムファイル及び前記関連ハッシュ値それぞれと共に前記システムファイルツリー情報を追加としてストアする、ことを特徴とする請求項１８記載の自動データバックアップ記憶装置に関する方法。
【請求項２０】
前記カスタマーデータファイルを自立的にストアするステップが更に、
カスタマーデータファイルの生成、カスタマーデータファイルの移動、カスタマーデータファイルの内容変更及びカスタマーデータファイル名変更を含む前記カスタマーデータファイルに対する変更を自立的にトラッキングするステップを含む、ことを特徴とする請求項１４記載の自動データバックアップ記憶装置に関する方法。
【請求項２１】
前記カスタマーデータファイルを自立的にストアするステップが更に、
前記カスタマーデータファイルと前記変更されたカスタマーデータファイルの間の相違を示すファイル変更データを、カスタマーデータファイル修正に応答して生成するステップを含んでいて、
前記データのシャドウコピーをストアするステップが、前記メモリーモジュールに前記ファイル変更データをストアし、前記変更されたカスタマーデータファイルで前記メモリーモジュール内の前記カスタマーデータファイルを置換することを特徴とする請求項２０記載の自動データバックアップ記憶装置に関する方法。
【請求項２２】
前記カスタマーデータファイルを自立的にストアするステップが更に、
前記メモリーモジュールに格納する前に前記カスタマーデータファイルを圧縮するステップを含む、ことを特徴とする請求項１４記載の自動データバックアップ記憶装置に関する方法。
【請求項２３】
前記カスタマーデータファイルを自立的にストアするステップが更に、
前記ファイルシステム中のあらゆるファイルオブジェクトに対し関連するメタデータを抽出するためにアクティブなカスタマーデータファイルシステムにインデックスを付与するステップと、
データベースに前記メタデータを記録するステップと、を含むことを特徴とする請求項１３記載の自動データバックアップ記憶装置に関する方法。
【請求項２４】
前記カスタマーデータファイルを自立的にストアするステップが更に、
選択された時点においてアクティブなカスタマーデータファイルすべてにインデックスを付与するステップと、
前記カスタマーデータファイルすべての現在の内容のインテグリティポイント代表としてメモリーに前記インデックスをストアするステップと、を含むことを特徴とする請求項１３記載の自動データバックアップ記憶装置に関する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、個々の計算機システムにデータのバックアップを提供するために使用されるシステムに関する。
【背景技術】
【０００２】
計算機システムにストアされるデータを保護すること及びこの失われたか又は破損したデータすべて又は一部を回復すること双方が課題である。多くの計算機システムは、適所に保護システムを有しておらず、これらの計算機システムが与えるデータ損失は取り返しがつかない。別の計算機システムは、計算機システムのメモリーから失われたか又は破損したデータを復旧する最終的リトリーブのための計算機のメモリーにストアされるデータの複製及びそれに対する更新をストアするための取り付けられたデータバックアップシステムを利用する。しかし、これらの従来のデータバックアップシステムの使用は、多くの時間と労力を要し、一時的なユーザーを混乱させ得る。
【０００３】
情報技術において、バックアップは、データの複製を作成することを示し、これらの追加的な複製は、データ損失の事象後、オリジナルを復旧するために使用され得る。これらの追加的な複製は通常、「バックアップ」と呼ばれる。バックアップは、主に２つの目的に有用である。第１は、（「災害復旧」と呼ばれる）災害のあとの計算機を動作状態に復旧することである。第２は、１つ以上のファイルが誤って削除又は破損された後、それらを復旧することである。バックアップは通常、データ損失に対する最後の砦であって、したがって使用する最小の粒度で最小限使い勝手がよいものである。
【０００４】
データバックアップシステムは、少なくとも１つの救済価値があるデータすべての複製を含むためにデータストレージ要件は大容量であって、変更のトラッキングがメモリーを浪費するデータバックアップを実行するように使用される方法は、データストレージ要件を悪化させ得る。このストレージスペースを体系化すること及びバックアッププロセスを管理することは、複雑な仕事である。データリポジトリモデルは、バックアップされるデータの管理のためにデータ記憶装置にストラクチャを提供するために使用され得る。現代コンピューティング時代において、バックアップを作成するために異なる多くの有用なタイプのデータ記憶装置が存在する。これらのデータバックアップ装置が、地理的冗長性、データセキュリティ及び携帯容易性を提供するように配置され得る多くの異なる手段も存在する。
【０００５】
データは、いつもデータバックアップストレージの位置に送信される前に、それは選択され、抽出され、操作される。異なる多くの技法が、バックアップ手順を最適化するために開発されている。これらは、特にオープンファイル及びライブデータソース及び圧縮、暗号化及び非複製処理をするための最適化を含む。多くの組織及び個人は、バックアッププロセスが、彼らが予想されるように動作しているといういくらかの信用を有していて、バックアッププロセスのインテグリティを確認するための測定及び検証技法を定義するように動作することを要求する。任意のバックアップ計画に含まれる制限及び人的要因を認識することも重要である。
【０００６】
バックアップ及びデータバックアップシステムは、技術においてかなりオーバラップするため、しばしばアーカイブ及びフォールトトレランスシステムと混同される。アーカイブが主にデータの複製であって、バックアップが、データの二次的な複製であるという意味でバックアップは、アーカイブと異なる。データバックアップシステムは、障害がデータ損失事象をもたらすと仮定していて、フォールトトレランスシステムは、障害がデータ損失事象をもたらさないと仮定している意味で、データバックアップシステムはフォールトトレランスシステムと異なる。「データリポジトリモデル」
任意のバックアップの戦略は、データリポジトリの概念に始まる。バックアップデータは、何とかしてストアされることが必要であって、ある程度、高い確実性で体系化される必要がある。それは、バックアップテープ及びそれらが書き込まれた日付すべてのリストを有する１枚の紙又はコンピューター化されたインデックス、カタログ又は関係データベースを用いた更に洗練され自動化された設定を使用する手動処理と同様に単純であり得る。異なるリポジトリモデルは、異なる利点を有する。これはバックアップローテーション計画を選択することに密接に関連する。次項では、現在使用されている従来の様々なバックアップモデルを概観する。
未体系
体系化されていないリポジトリは単に、例えば、計算機システムからどのようなデータがこの書込み可能媒体にバックアップされ、そのバックアップ（単数又は複数）がいつ発生したかについて最小量の情報を有する大量のフロッピーディスク又はＣＤ−Ｒ媒体を含む書込み可能媒体であり得る。これは、最も簡単なバックアップの実装方法であるが、バックアップされるデータに関連する情報にインデックス付与が欠乏しているため、高い確実性で高レベルの復旧を最も達成しそうにない。
完全＋増分
完全＋増分のデータバックアップモデルは、ソースデータのいくつかの複製を更にストア可能にすることを目的とする。初めに計算機システムからファイルすべての完全バックアップを取得する。その完全バックアップの完了後、以前の完全又は増分バックアップ以降変更されたファイルだけの増分バックアップが、取得される。ある時点の計算機システム全体を復旧することは、ある時点に、以前取得された完全バックアップだけではなく、その完全バックアップとシステムが復旧される特定の時間との間、取得される増分バックアップすべてもまた配置する必要がある。データの完全バックアップバージョンはその後、ある時点において指定されるバージョンとして現在のデータ表示を生成するために、漸進的変更セットを使用し処理される。このデータバックアップモデルは、選択されたデータが現在のその状態に復旧され得る高レベルのセキュリティを提供し、このデータバックアップモデルは、テープ及び光ディスクなどの取り外し可能媒体を用いて使用され得る。このデータバックアッププロセスの後段は、増分バックアップそれぞれにおいて変更されたあらゆるファイルの複製がメモリーにストアされるので、一連の長い漸進的変更及びこのデータバックアッププロセスにおいて伴う高度のストレージ要件に対処している。
完全＋差分
完全＋差分のデータバックアップモデルは、計算機システム上のファイルすべてについて完全バックアップが取得された後、ファイルの増分バックアップそれぞれは、いくつかは、以前の部分的なバックアップに含まれ得るとしても完全バックアップから生成又は変更されたファイルすべてをキャプチャする点で完全＋増分のデータバックアップモデルと異なる。このデータバックアップモデルの利点は、ある時点に計算機システム全体を復旧することが、最後の完全バックアップだけを復旧し、その後、最後の差分バックアップを用いてそれにオーバーレイすることを伴うことである。
ミラーリング＋リバース増分
ミラーリング＋リバース増分データバックアップモデルは、完全＋増分データバックアップモデルと同様である。相違は、一連の増分データバックアップ後の年月が経った完全データバックアップの代わりに、このモデルが計算機システムのそれ以後の最後のデータバックアップの状態及びリバース増分データバックアップの履歴を反映するミラーリングを提供することである。このデータバックアップ方法の一利点は、最初に完全データバックアップを必要とするだけである。増分データバックアップそれぞれは、即座にミラーリングに適用され、それらが置き換えたファイルが、リバース増分バックアップに移動される。このデータバックアップモデルは、あらゆるデータバックアップが、データバックアップのミラーリングのデータバージョンと比較し実施される必要があるので、取り外し可能媒体の使用に向いていない。このプロセスは、ある時点の計算機システム全体を復旧するために使用されるとき、メモリー使用においても集中的である。
連続的なデータ保護
このデータバックアップモデルは、データバックアップ処理を更に進めて、周期的なデータバックアップの計画をする代わりにデータバックアップシステムが、計算機システム上で実施されたあらゆる変更を即座に登録する。これは一般に、ファイルレベルの差というよりむしろ、バイト又はブロックレベルの差を節約することによって実行される。それはログのロールバックを可能にし、それによって古いデータイメージを復旧できる点で単純なディスクミラーリングリングと異なる。この方法を使用し、ある時点の計算機システム全体を復旧することは、データのオリジナルバージョンが、現在のデータバージョンを再生成するために、差分変更それぞれに記録されたあらゆる変更を組み込むように処理される必要があることを要求する。
問題点
様々なこれらすべてのデータバックアップの方法にもかかわらず、従来の（ハードウェアと及びソフトウェア双方を含む）データバックアップシステムは、ユーザーがそこにストアされているデータを「バックアップ」するために計算機システムに単純にプラグイン可能であること、ある時点からファイルのリビジョンのリカバリーも可能であること、計算機システムのハードディスク（単数又は複数）すべてがある時点の復旧を可能にすること、を保証しない。従来のデータバックアップシステムは、時間とともに複数のファイルシステムの状態を効率的にトラッキングしストアできないと同時に大量の冗長なデータをストアせずにある時点の正しいディスクレベル及びファイルレベルも復旧できない。これらのデータバックアップシステムは、新しい技術を学ぶことと、計算機システムのファイルシステムを理解すること、データバックアップのセッションのスケジューリング方法を学ぶこと、この新しい機能のために使用する必要がある新しい制御を学ぶこと、をユーザーに要求する。更に、これらのデータバックアップシステムを使用して失われたファイルを復旧することは困難である。
【発明の概要】
【課題を解決するための手段】
【０００７】
前述の問題は、解決され、保護するデータをストアするための入力／出力ポートなどの従来の通信媒体を介し監視下の計算機システムに接続されているメモリーモジュールを含む本「計算機メモリー上に記録されたデータ及びファイルディレクトリ構造の自動保護システム」（本明細書においては「データ保護システム」と参照される）による技術の進歩が達成されている。メモリーモジュールは、データのストレージ及びメモリーモジュールが、監視下の計算機システムと、記憶装置にストアされているデータレコードを維持すること及び記憶装置の動作を制御することに関連するモジュールソフトウェアと最初に接続されたとき、監視下の計算機システムに自動的にインストールされる制御ソフトウェアコンポーネントを含むソフトウェアと、に関する記憶装置を含む。
【０００８】
データ保護システムが、メモリーモジュールに配置されている記憶装置に監視下の計算機システムのメモリーからリトリーブされたデータを単一フォーマットで自動的にストアすると同時に、ディスクセクター及びファイルの２つのフォーマットでデータ管理データベースにおいてそれを表す。それによってデータ保護システムは、時間とともに複数のファイルシステムの状態を効率的にトラッキングし、ストアすると同時に冗長なデータをストアせずに、ある時点の正しいディスクレベル及びファイルレベルの復旧を可能にする。
【０００９】
データ保護システムは、監視下の計算機システムのメモリーにバックアップさせるために、データ保護システムと対話する必要性からユーザーを解放し、自立的に作動する。バックアップは、データ保護システムが、監視下の計算機システムに接続されている間、ほとんど常に稼動している。データ保護システムが、通常動作に対するデータのストレージ及びリトリーブを最適化するためにデータベース技術を組み込み、ファイルディレクトリ情報自体のデータベースは、監視下の計算機システムハードドライブに常駐すると同時にデータベースのバックアップコピーが、データ保護システムに定期的に書き込まれる。
【００１０】
更に、ファイルの変更、作成、再配置及び削除は、個々のファイル及びファイルシステムのある時点の復旧を可能にするデータ保護システムを用いて時間を通してトラッキングされる。全システムの復旧機能は、ユーザーの介入を必要とせずに所与の時点のオペレーティングシステム、アプリケーション及びデータファイルを含む監視下の計算機システムのメモリー全体の再構成を可能にする。
【００１１】
データ保護システムのメモリーモジュールが、短時間でも監視下の計算機システムから取り外された場合、監視下の計算機システム上で実行する制御ソフトウェアコンポーネントは、時間を通して生じる適切なファイルの変更をトラッキングし、データ保護システムのメモリーモジュールが監視下の計算機システムに一旦、再接続されると、その後、通常のバックアップ動作を実行する。
【図面の簡単な説明】
【００１２】
【図１Ａ】本データ保護システムに接続されている典型的な計算機システムの透視図を例示する。
【図１Ｂ】本データ保護システムの基本構造を例示する。
【図２Ａ】監視下の計算機システムにおけるデータ保護システムの初期インストール中の本データ保護システムの動作を流れ図の形式で例示する。
【図２Ｂ】監視下の計算機システムにおけるデータ保護システムの初期インストール中の本データ保護システムの動作を流れ図の形式で例示する。
【図３】監視下の計算機システムのメモリーに現在追加されているデータの複製をストアするための本データ保護システムの動作を流れ図の形式で例示する。
【図４】監視下の計算機システムのメモリーに標準変更へのインテグリティポイントを作成し、ストアするための本データ保護システムの動作を流れ図の形式で例示する。
【図５】監視下の計算機システムのメモリーにファイルを復旧するために、そこにストアされているデータをリトリーブするための本データ保護システムの動作を流れ図の形式で例示する。
【図６】監視下の計算機システムのメモリー全体を復旧するために、そこにストアされているデータをリトリーブするための本データ保護システムの動作を流れ図の形式で例示する。
【発明を実施するための形態】
【００１３】
「定義」
本明細書において使用される次の用語は、以下の意味を有する。
【００１４】
「ファイルシステム」−計算機システムのメモリーに含まれる情報を体系化し、ストアし、アクセスするための計算機オペレーティングシステムによって利用されるシステム。
【００１５】
「ファイルナビゲーションシステム」−計算機システムのメモリーに含まれるユーザー操作に関するファイルに対するストア、識別、検索及び作動の体系化された方法をユーザーに提供するための計算機オペレーティングシステムによって使用されるテキスト型の階層的なナビゲーションインタフェース。
【００１６】
「ジャーナル変更」−任意のファイルの変更、作成、削除又は再配置を識別し、トラッキング用に計算機オペレーティングシステムが提供するシステム。
【００１７】
「メタファイル」−関連するファイルの（例えば、データファイルに関するファイルサイズ及び作成日付）情報をストアする間接的な手段。
【００１８】
「ページファイル」−計算機システム上で実行している現在のセッションに特有である計算機オペレーティングシステムが定義し、作成するファイルであって、ページファイルは、その次のセッションに利用可能でも重要でもない短命なデータを表し、したがって保有する価値はない。
【００１９】
「インテグリティポイント」−その時、最新であって利用可能であったファイルを表すための特定の時間において存在するファイル及びリファレンスの集合であって、インテグリティポイントの復旧は、ファイルが自己矛盾のない複数のファイルを必要とし得る計算機オペレーティングシステム及びアプリケーションに対して矛盾がなく重要であることを保証する。
【００２０】
「ファイル参照番号又はＦＲＮ」−ファイルシステムのファイルテーブル中の所与のファイル又はフォルダーエントリーに関する固有識別子。
【００２１】
「ＮＴＦＳ」−計算機オペレーティングシステムに関するファイルシステムに関連する頭字語。ファイルシステムは、ファイルの変更、作成、削除又は再配置の待ち行列を生成するジャーナリングとして知られている重要な機能を提供する。
「システムアーキテクチャ」
図１Ａは、本データ保護システムを具備する典型的な計算機システムの透視図を例示していて、図１Ｂは、本データ保護システム（１００）の基本的なアーキテクチャを例示する。監視下の計算機システム（１１０）は通常、プロセッサー（１１２）、（任意の形式で関する読取書き込み記憶装置が使用され得、用語「メモリー」が、この要素について説明するために本明細書において使用されるが、ディスクドライブなどの）メモリー（１１３）及び入力／出力ポート（１１１）又は無線インターフェースその他などのデータ通信媒体（１１５）を含む。データ保護システム（１００）は、入力／出力ポート（１１１）及び保護するデータをストアするためにそれに関連付けられるケーブルなどの従来のデータ通信媒体（１１５）を介し計算機システム（１１０）に接続されているメモリーモジュール（１０１）を含む。例のために、本明細書に例示されているデータ通信媒体は、データ通信の経路及び電圧源双方をメモリーモジュール（１０１）に提供する従来の標準ＵＳＢポート（１１１）である。しかし、任意のデータ通信媒体が、有線又は無線か、メモリーモジュール（１０１）が、電力供給できるか否かに関係なく使用され得る。メモリーモジュール（１０１）は、記憶装置（１０２）及びその関連付けられたメモリーモジュールソフトウェア（１０４）及びデータストレージを管理するためのデータベース（１０５）並びにメモリーモジュール（１０１）が監視下の計算機システム（１１０）に最初に接続されたとき監視下の計算機システム（１１０）に自動的にインストールされる制御ソフトウェアコンポーネント（１０３）を含む。
【００２２】
データ保護システム（１００）の単純性及び使い易さは、最小限のユーザーインタラクションを必要としていて、例えば、ＵＳＢ接続（１１１）の「自動実行」機能が、データ保護システムのソフトウェアコンポーネント（１０３）の自動インストールを支援するために使用され得る。かくして、監視下の計算機システム（１１０）にデータ保護システム（１００）のメモリーモジュール（１０１）が最初に接続された時、データ保護システム（１００）は、データ保護システム（１００）のメモリーモジュール（１０１）にストアされた制御ソフトウェアコンポーネント（１０３）のインストールアプリケーションの一部を起動するために監視下の計算機システム（１１０）のオペレーティングシステムに常駐している「自動実行」ソフトウェアを呼び出す。（あるいはまた取付け可能媒体が、監視下の計算機システム（１１０）が提供する制御ソフトウェアコンポーネント（１０３）のインストールを起動するために使用され得る。）インストールアプリケーションはその後、これが監視下の計算機システム（１１０）を用いてデータ保護システム（１００）の最初のインストールであることを識別する。メモリーモジュールソフトウェア（１０４）は、監視下の計算機システム（１１０）のオペレーティングシステムからシステム情報をリクエストし、データベース（１０５）中のこのシステム情報をストアする。このシステム情報は、次にデータ保護システム（１００）が、監視下の計算機システム（１１０）に既に接続されているか決定するために使用される。データ保護システム（１００）が、既にインストールされている場合、監視下の計算機システム（１１０）は、メモリーモジュール（１０１）を起動し、それに対する対話を開始する。メモリーモジュール（１０１）に対する電力は、データ通信媒体から取得され得るか又は内部又は外部の電力源は、メモリーモジュール（１０１）及びデータ通信媒体（１１５）が使用するインストール機能として使用され得る。
「初期化」
図２Ａ及び２Ｂは、監視下の計算機システム（１１０）上へのデータ保護システム（１００）の初期インストール中の本データ保護システム（１００）の動作を流れ図の形式で例示していて、データ保護システム（１００）は、監視下のこの計算機システムに排他的にリンクされ、監視下の計算機システム（１１０）のメモリーの内容の最初のシャドウコピーが、データ保護システム（１００）のメモリーモジュール（１０１）中に生成される。
【００２３】
この例においてデータ保護システム（１００）は、データ保護システムのメモリーモジュール（１０１）の記憶装置（１０２）への符号化されたシリアル番号が、制御ソフトウェアコンポーネント（１０３）に挿入されたシリアル番号のエントリーと一致することを保証することによって、ステップ（２０１）において、それが最初に監視下の計算機システム（１１０）に取り付けられたとき、上述したようなデータ通信媒体（１１５）を介し監視下の計算機システム（１１０）によって起動され、任意に自己認証する。製造中のシリアル番号は、制御ソフトウェアコンポーネント（１０３）に挿入される記憶装置（１０２）からクエリされ、権限のない追加記憶装置にデータ保護システム（１００）のソフトウェアの複製することを回避するための方法にてデータ保護システム（１００）ストアされる。
【００２４】
ステップ（２０２）において、データ保護システム（１００）はその後、監視下の計算機システム（１１０）に対するデータ保護システム（１００）のインストール及び初期化を開始する。従来のソフトウェアのインストールプロセスに代わり、それによってユーザーは、ソフトウェアをインストールするために、監視下の計算機システム（１１０）の選択されたドライブにマウント可能な媒体を挿入することを要求され、データ保護システム（１００）は、ポート（１１１）のＵＳＢ規格の単純な「自動実行」機能を利用し得る。ステップ（２０２）において、データ保護システム（１００）の制御ソフトウェアコンポーネント（１０３）は、監視下の計算機システム（１１０）にロードされ、ステップ（２０３）において、監視下の計算機システム（１１０）は、監視下の計算機システム（１１０）のハードウェアトポロジー及び装置の署名を定義するデータを取得するために、データ保護システム（１００）の制御ソフトウェアコンポーネント（１０３）によって問い合わせられる。ステップ（２０４）において、この署名情報は、監視下の計算機システム（１１０）へのデータ保護システム（１００）を「対」にするために使用され、メモリーモジュールソフトウェア（１０４）にストアされる。
【００２５】
ステップ（２０５）において、データ保護システム（１００）は、彼らがデータ保護システム（１００）のユーザー許諾契約に同意することを示すために、監視下の計算機システム（１１０）の表示画面を介しユーザーに単純なダイアログボックスを表示する。簡易化されたこのユーザー許諾ダイアログは、ユーザーが、エンドユーザーライセンス契約の説明条項に合意したことを保証するために必要である。ユーザーがデータ保護システム（１００）をインストールする意図がないか又はエンドユーザーライセンス契約に不満な場合、データ保護システム（１００）との関係において監視下の計算機システム（１１０）には何も残っていない。
【００２６】
データ保護システム（１００）を首尾よくインストールすると、ユーザーは、監視下の計算機システム（１１０）のメモリー（１１３）に現在ストアされ、次に追加され、削除又は変更されたデータの保護及びバックアップを保証するために、更なる対策を実行する必要はない。ステップ（２０６）において、ユーザーは、監視下の計算機システム（１１０）からデータ保護システム（１００）のメモリーモジュール（１０１）にそれらのデータファイル及びディレクトリ構造の最初に利用可能なバックアップを有するために、当初の期間、監視下の計算機システム（１１０）に取り付けられるデータ保護システム（１００）のメモリーモジュール（１０１）を残すことを要求されるが、データ保護システム（１００）のメモリーモジュール（１０１）を取り付けることが、ユーザーに要求される唯一の動作ステップである。制御ソフトウェアコンポーネント（１０３）は監視下の計算機システム（１１０）の進行中のメモリー動作を同時に監視すると同時に最初のデータバックアップは、監視下の計算機システム（１１０）修正も複雑な相互接続プロセスの使用も必要とせずに実行されている。
【００２７】
監視下の計算機システム（１１０）のメモリー（１１３）からリトリーブされたデータを単一フォーマットで効率的にストアすると同時にデータ保護システム（１００）は、ディスクセクター及びファイルの２つのフォーマットで内部にそれを表す。またデータ保護システム（１００）は、時間とともに監視下の計算機システム（１１０）に常駐している複数のファイルシステムの状態を効率的にトラッキングしストアすると同時に冗長なデータをストアせずに、ある時点の正確なディスクレベル及びファイルレベルの復旧を可能にする。メタファイルシステムは、インテグリティを用いたある時点におけるアクティブファイルシステム及び基本的な物理ディスク又はディスクそれぞれの状態を記載するために、データ保護システム（１００）において実装され得る。メタファイルシステムは、その保護の下のファイルシステム及び物理ディスクから内部的に時間内に矛盾のない関係づけられた重要なデータの集まり及びメタデータである。メタファイルシステムは、正当性が保証されたそれを実行し得る方法であるデータを収集し得る。
【００２８】
収集された典型的なメタファイルデータは、
監視下の計算機システム（１１０）にインストールされた物理ディスクそれぞれにおいてフォーマットされる非ＮＴＦＳセクターの基準イメージ
指定された時点において物理ディスクそれぞれに含まれるファイルシステムの完全なインデックスの付与。このインデックスは、物理ディスク上のそれらの位置へのファイルオブジェクトマッピングを含む。
【００２９】
時間とともにシリアライズされたファイルシステム変更ジャーナル。
【００３０】
時間とともにファイルシステム変更から生じるファイルオブジェクトの内容の複製。
【００３１】
ある時点におけるアクティブファイルシステムそれぞれに関するディスク上のメタデータの自己矛盾のない複数の「スナップショット。」を含み得る。
【００３２】
複数のアクティブファイルシステムの時間に矛盾のない表示を作成する挑戦は、集められたデータを単一のデータベースに結合し、体系化し、データ保護システム（１００）に常駐しているデータ管理アルゴリズムを介し、それにアクセスすることによって達成される。
「メモリーインデックス」
ステップ（２０６）において、この最初のデータの転送プロセスにおける第１ステップは、監視下の計算機システムのメモリー（１１３）の内容すべてのマスターインデックスを生成することである。制御ソフトウェアコンポーネント（１０３）は、監視下の計算機システム（１１０）上の記憶装置（メモリー（１１３））それぞれを検索し、記憶装置（ＴＲＳｔｏｒａｇｅＤｅｖｉｃｅ）それぞれに対応するオブジェクトモデルを生成する。記憶装置オブジェクトは、監視下の計算機システム（１１０）の子供（複数）である。それらはすべて、いくつかの基準レベルの属性を共有すると同時にそれらは物理装置の異なる態様に対し専門化し得る。
【００３３】
ＴＲＳｔｏｒａｇｅＤｅｖｉｃｅそれぞれに関しては、監視下の計算機システム（１１０）は、それが含む固有のディスク領域のすべてを識別し、（ＴＲＤｉｓｋＲｅｇｉｏｎ）それぞれに対するオブジェクトモデルを生成する。ＴＲＤｉｓｋＲｅｇｉｏｎｓすべては、いくつかの基本的な特色を共有すると同時にそれらが書き込むリージョンタイプに従ってそれらは自らを特化する。例えば、固有のディスク領域の例は、マスターブートレコード（ＭＢＲ）、パーティションテーブル、ファイルシステム領域（ＮＴＦＳ又はＦＡＴ３２パーティション）、隠されているＯＥＭリカバリーパーティション及び公式パーティションの間に残っている未使用に見える「スライス」を含む。データ保護システム（１００）は、物理的な記憶装置上のあらゆるシングルセクターを識別し構成するそれらを管理しインデックスを付与するための適切なＴＲＤｉｓｋＲｅｇｉｏｎオブジェクトを作成する。
【００３４】
認識可能なファイルシステムを有していないＴＲＤｉｓｋＲｅｇｉｏｎｓは、「ブロック領域」として扱われる。ブロック領域は、ディスクセクターのスパン（セクターゼロからの開始点及び長さ）を含んでいて、データ保護システム（１００）の記憶装置（１０２）上にブロックの範囲として単にアーカイブされる。
【００３５】
ステップ（２０７）において、このマスターインデックスは、監視下の計算機システム（１１０）上のあらゆるパーティション、ファイル及びフォルダーのインデックスを生成するためのマスターブートレコード及びファイルシステムの処理を含んでいて、パーティション、ファイル及びフォルダーそれぞれに対するこのインデックスデータは、監視下の計算機システムのメモリー（１１３）に常駐しているデータベース（１１４）及びメモリーモジュール（１０１）中の任意のデータベース（１０５）に入力される
マスターブートレコードは、監視下の計算機システムのメモリー（１１３）上のデータは配置に関する情報を含む。これらの内容は、プライマリブートパーティション及び代替の非ブートパーティションが存在するデータのサブセットを用いて配置され得る。マスターブートレコード中のエントリーは、これらのパーティションの状態並びにパーティションそれぞれに関するサイズ及びバイナリーオフセット値を決定する。この情報をキャプチャし処理することによって、データ保護システム（１００）が、監視下の計算機システムのメモリー（１１３）の内容全体を自動的に再構築できる。データベースは、主にファイルの履歴及びリビジョンを（より速く）検索し、リトリーブする方法を容易にするために存在する。監視下の計算機システム（１１０）のファイルシステムの「複製／バックアップ」を生み出すために使用される本方法は、データ保護システム（１００）自身が提供するデータベース（１１４）に含まれるデータの再生成を可能にする。データ保護システム（１００）の場合においては、監視下の計算機システム（１１０）の特徴又は属性をモデル化するオブジェクトモデルの大部分は、それらが発せられる所からの物理的な階層構造と一致又は列挙するディレクトリ構造でファイルシステムストリームとしてデータ保護システム（１００）メモリーモジュール（１０１）に存続する。
【００３６】
ステップ（２０８）において、マスターブートレコードの処理後、起動可能なプライマリパーティションに関するファイルシステムは、ファイル及びフォルダーエントリーそれぞれを記録するために処理され、監視下の計算機システムのメモリー（１１３）に常駐しているデータベース（１１４）にレコードを配置する。このデータベースは、ファイル及びフォルダーそれぞれに関する情報を含んでいて、ファイルリトリーブのリクエストの間、年代順の変更履歴を作成するために、主としてアクセスされ、また個々のファイル及びフォルダーへの変更と共に更新される。同一のこのデータベース（１１４）は、メモリーモジュール（１０１）が、監視下の計算機システム（１１０）に接続されているときは常に、データ保護システムのメモリーモジュール（１０１）にミラーリングされる（データベース（１０５））。ミラーリングされたデータベース（１０５）は、監視下の計算機システムのメモリー（１１３）が、失敗していることがあり得る全システム復旧の間、主として使用され、ミラーリングされたデータベース（１０５）は、データ保護システム記憶装置（１０２）に複製されるバイナリーデータに常駐しているファイル及びフォルダーそれぞれのレコードを含む。認識されたファイルシステムを有するＴＲＤｉｓｋＲｅｇｉｏｎｓは、ファイルシステム「ボリューム」（ＴＲＶｏｌｕｍｅ）に対するオブジェクトモデルを生成する。ボリュームは、含まれているファイルシステムの概念及びナビゲーション並びにその関連付けられたマウントポイントの概念を理解する。
「メモリーコピー」
データ保護システム（１００）は、マスターブートレコード及びファイルシステムの処理完了時、メモリー（１１３）のサブセットを除いて監視下の計算機システムのメモリー（１１３）からバイナリー情報を複製することによって、この処理の第２のステップを開始する。例外のサブセットは、任意のパーティションによる使用として割り当てられないか又は識別されない領域及びオペレーティングシステムによって一時的な情報として識別された領域から成る。一時的な情報の例は、オペレーティングシステムページファイルであって、そのページファイルは、現在のセッションの間だけ有用であって、その後のセッションには無意味である。
【００３７】
ステップ（２１１）において、複製プロセスは、データ保護システム（１００）の記憶装置を識別し、システム（１００）の記憶装置（１０２）上に保護する非ＮＴＦＳファイルオブジェクトをデータに書き込む。ステップ（２１２）において、これらのオブジェクトのすべてが、記憶装置（１０２）に一旦、書き込まれると、データ保護システム（１００）は、監視下の計算機システム（１１０）上のそれらの物理的及び論理的な関係を模倣したディレクトリ階層で記憶装置（１０２）上にＮＴＦＳファイルすべてを書き込む。以下［表１］は、データ保護システム（１００）の単純な（ファイルシステムに含まれる深さは省略されている）基本ディレクトリツリーである。
【００３８】
【表１】
2010508608.tif 000003
【００３９】
これを理解すると、制御ソフトウェアコンポーネント（１０３）は、ネットワーク接続されているデータ保護システムの記憶装置（１０３）が、「Ｒ：」ドライブにマウントされたことを知っていて、アーカイブ動作すべては、メモリーモジュール（１０１）に置かれる「データ」ディレクトリを指している。このストリングにおいて、次の表示は、内容「ＲＥＢＩＴＤＥＶＯ５」であって、その後の物理ディスク署名（すなわち０７２ＣＥ３Ａ９、０７２ＣＥ３Ａ９など）を提供する監視下の計算機システム（１１０）の名前である。ディスクドライブがアーカイブされるデータを有する場合、それは（リージョン０、リージョン１のように）単純に連続し付番される領域オブジェクトに体系化される。領域が、理解されたファイルシステム／ボリュームを含む場合、そのボリュームの識別子は、そのパスをマッピングするために永続的ストレージにおいて使用される。Ｒ￥ｄａｔａ￥ＲＥＢＩＴＤＶ０５￥０７２ＣＥ３Ａ９￥Ｒｅｇｉｏｎ１￥｛ｄｄｆｆｃ３ｅｄ−７０３５−１１ｄｃ−９４８５−０００ｃ２９ｆｄｄｆｂ０｝の場合、このシステムにおいて、これはＮＴＦＳボリュームであって、監視下の計算機システム（１１０）の「Ｃ：」ドライブに対するファイルシステムの完全ミラーリングである。
【００４０】
本明細書における要点は、監視下の計算機システム（１１０）のエレメントそれぞれに関するオブジェクトモデルが、データ保護システム（１００）の記憶装置（１０２）上にファイルシステムストリームでストアされることである。例えば、ＴＲＭａｃｈｉｎｅオブジェクトは、Ｒ：￥ｄａｔａ￥ＲＥＢＩＴＤＥＶ０５￥のディレクトリエントリ内にヒドゥンストリームとして「保存」され、Ｒ：￥ｄａｔａ￥ＲＥＢＩＴＤＶ０５￥０７２ＣＥ３Ａ９￥Ｒｅｇｉｏｎ１￥｛ｄｄｆｆｃ３ｅｄ−７０３５−１１ｄｃ−９４８５−０００ｃ２９ｆｄｄｆｂ０｝に関するボリュームオブジェクトは、そのディレクトリエントリ上にヒドゥンストリームとして保存される。
【００４１】
この手段が意味することは、データ保護システム（１００）単独からオブジェクトの関係及びそれらのメタデータすべてが、データベースを用いずに再構築され得ることである。更に、ファイルがデータ保護システム（１００）に最終的にアーカイブされるとき、関連するその履歴及びメタデータすべてが、ファイルエントリー自身にヒドゥンストリームとしてストアされる。データベース（１１４）が、データ保護システム（１００）のストレージファイルシステム自身から完全に再構築され得る。
【００４２】
更に、データ保護システム（１００）のストレージアーキテクチャにおいては、ファイルは、実際にはそれらが監視下の計算機システム（１１０）において有していた名前を用いてストアされない。もっと正確に言えば、それらはそのファイル内容の固有のハッシュ値であるファイル名を用いてストアされる。ファイルシステム「ソフトリンク」はその後、監視下の計算機システム（１１０）が提供するファイルである「ｂｌｏｂ」と名づけられたデータのハッシュ値データを示すように上記ディレクトリ構造において使用される。ユーザーは、ソフトリンクを見るだけである。データ保護システム（１００）は、ファイルに名付けられたハッシュ値をストアする。２つの任意のファイルが、（それらがバイナリー同一を意味する）同一の値にハッシュする場合、１つの複製だけが、ストレージにホストされる必要があって、ホストの複製双方に対するシンボリックリンクは、ストアされた同一の内容を指している。この属性機能は、実質的にデータを複製しない最初のレベルである。
【００４３】
続けると、ファイルが監視下の計算機システム（１１０）上で変更されたとき、新しいデータが、ハッシュされ、命名され、計算機システム（１１０）上にストアされ、古いバージョンのファイルが、移動され、バイナリー相違記述（リバースＸ−デルタ）だけを用いて新しいバージョンに置換される。この戦略によって、データ保護システム（１００）は、現在のファイルすべての元の状態の複製を保存可能であって、以前のバージョンを常に再生成できると同時にデータ保護システム（１００）自身に対するデータストレージスペース要件を最小化できる。
【００４４】
ステップ（２０９）において、監視下の計算機システム（１１０）のメモリー（１１３）を読み込むために時間が必要であるため、そしてそれは、アクティブファイルシステムを含むため、データ保護システム（１００）は、イメージ化する物理ディスクに常駐しているアクティブシステムに対するジャーナリングを可能にする。ステップ（２１０）において、更にデータ保護システム（１００）は、アクティブファイルシステムジャーナルに対し「スタートカーソル」と呼ばれるカーソルセットを生成することによって、所望されているインテグリティポイントを示すフラグをデータベースに設定する。ジャーナルプロセスは、作用対象ファイルを識別し、キューイングを開始する。ステップ（２１１）において、カーソルが一旦、生成されると、データ保護システム（１００）は、データ保護システム（１００）のメモリーモジュール（１０１）の記憶装置（１０１）にアクティブファイルシステムイメージを作成し圧縮する。メモリースペースを節約するために、アクティブファイルシステムは、それらが割り当てられた物理ディスクの領域に対してクエリされ、割り当てられた領域だけが読み出され、圧縮される。
【００４５】
ステップ（２１２）において、データ保護システム（１００）は、ファイルシステムにおけるあらゆるファイルオブジェクトに対する関連メタデータを抽出するために、アクティブファイルシステムにインデックスを付与し、データベースにそれを記録する。データ保護システム（１００）は、ファイル参照番号又はＦＲＮによってファイルのナビゲーションシステム内部に含まれるディレクトリすべてを識別し、インデックスを付与し、ファイルを表すクラスター実行それぞれに対し識別し、エントリーをデータベースに挿入する。データ保護システム（１００）は、初期化の完了を示すエントリーをデータベースに挿入することによって基準を初期化する。ステップ（２１３）において、イメージ及びインデックスが一旦、完了すると、データ保護システム（１００）は、アクティブファイルシステムジャーナルに対し「最新エントリー」と呼ばれる第２のカーソルセットを生成する。
【００４６】
ステップ（２１４）において、データ保護システム（１００）は、変更トラッキングを可能にし、ステップ（２１５）において、アクティブファイルシステム用ジャーナルは、データベースにファイルオブジェクト内容を含む改訂記録を記録するためにスタートカーソルから最新エントリーまで処理される。処理するための待ち行列にいかなるファイルも残っていない時点に達すると、データベースにインテグリティポイントエントリーを挿入するための適切な動作が実行される。
【００４７】
最後にステップ（２１６）において、データ保護システム（１００）は、データベースにインテグリティポイントを記録し、基準イメージ及びファイルオブジェクトの改訂記録に関連付けられる。これは、インテグリティポイントが示す時点において自己矛盾のないディスクリカバリーを可能にするために要求されるデータである。かくして完全なディスク複製及び完全なディスクコピーの間に生じるファイルの変更、作成、削除又は再配置が、「インテグリティポイント」と呼ばれる完全に復旧可能な時点を示すためのセットに集められる。
「変更履歴」
図３は、データの複製をストアするための監視下の計算機システムのメモリー（１１３）に新たに追加される本データ保護システム（１００）の動作を流れ図の形式で例示する。データ保護システム（１００）のプロセスは、監視下の計算機システムのメモリー（１１３）に常駐しているファイル及びフォルダーに発生する変更通知を受信するために、オペレーティングシステムの変更ジャーナルを登録する。変更ジャーナルはその後、データ保護システム（１００）に変更を動的に通知し、データ保護システム（１００）が、実行するべき適切な動作を決定できるようにする。ファイルの生成、移動、内容変更及び名前変更は、動作を必要とする事象すべてであって動作それぞれは、処理するための動作待ち行列に入力される。
【００４８】
データ保護システムの動作待ち行列は、データ保護システムのメモリーモジュール（１０１）が、監視下の計算機システム（１１０）に取り付けられるか又はそれから取り外される期間、利用される。メモリーモジュール（１０１）が、監視下の計算機システム（１１０）に取り付けられた場合、データ保護システム（１００）は、待ち行列の項目それぞれの動作を処理し、データベース（１１４）中のエントリーを更新し、必要な場合、データ保護システムのメモリーモジュール（１０１）にファイルのバイナリー内容を圧縮し送信する。
【００４９】
データ保護システムのメモリーモジュール（１０１）が、切り離されている期間、動作待ち行列は、メモリーモジュール（１０１）が、監視下の計算機システム（１１０）に一旦取り付けられると、実行される動作を記録するために利用される。この記録プロセスによって、データ保護システム（１００）が、低い優先順位ファイルの前に処理される最も高い重要度のファイルを選択し実行される動作を優先させる。これは、ファイルシステムの時間に矛盾のない表示をアセンブルすることを要求されるデータを維持する連続的なプロセスである。変更トラッキングプロセスは、前述のように初期設定の直後に開始し、インデックス付与が完了する。
「ジャーナルプロセス」
ジャーナルプロセスは、データ保護システムのメモリーモジュール（１０１）が、監視下の計算機システム（１１０）に取り付けられているか否かに関係なく連続的に発生する。ステップ（３０１）において、データ保護システム（１００）の制御ソフトウェアコンポーネント（１０３）は、既に処理された最後のエントリーから始まる最近の任意変更に関するファイルシステムジャーナルをクエリする。ステップ（３０２）において、制御ソフトウェアコンポーネント（１０３）はその後、データベース（１１４）中の動作待ち行列に改訂記録を生成し、関連ジャーナルエントリーそれぞれに対するジャーナルカーソルを増やす。関連ジャーナルエントリーそれぞれに対して、制御ソフトウェアコンポーネント（１０３）は、データベース（１１４）中の動作待ち行列に改訂記録を生成し、ジャーナルカーソルを増やす。ジャーナルエントリーが（現在まで続いて）使い果たされたとき、制御ソフトウェアコンポーネント（１０３）は、新しいエントリーを待つ。
「データ同期化」
データ同期化は断続的であって、データ保護システムのメモリーモジュール（１０１）が、監視下の計算機システム（１１０）に取り付けられたときだけ発生する。ステップ（３０４）において、メモリーモジュール（１０１）が監視下の計算機システム（１１０）に取り付けられたとき、制御ソフトウェアコンポーネント（１０３）は、データベース（１１４）中の動作待ち行列における未処理の最初の改訂記録から処理を開始する。ステップ（３０５）において、最も古い改訂記録及び関連する未処理の改訂記録すべてに対して、制御ソフトウェアコンポーネント（１０３）は、それぞれがまだ関連している（例えばファイルが作成され、既に削除されている場合は、関連しない）か決定する。ステップ（３０６）において、制御ソフトウェアコンポーネント（１０３）は、データベース（１１４）中の動作待ち行列から無関係な改訂記録すべてを削除する。あるいはまたステップ（３０７）において、制御ソフトウェアコンポーネント（１０３）は、関係ある改訂記録それぞれに対し適切な動作を実施する。ステップ（３０８）において、ファイルが作成された場合、制御ソフトウェアコンポーネント（１０３）は、データベース（１１４）中の動作待ち行列に新しいファイル及びファイルバージョンレコードをストアし、データ保護システムのメモリーモジュール（１０１）にファイルバージョン内容を複製する。ステップ（３０９）において、ファイルが移動又は名前を変更された場合、制御ソフトウェアコンポーネント（１０３）は、データベース（１１４）中の動作待ち行列に新しいファイルレコードを作成し、新しいファイルレコードで古いファイルレコードが提供するファイルバージョンすべてを関連付けし、削除されるように古いファイルレコードに印を付ける。ステップ（３１０）において、ファイルが削除された場合、制御ソフトウェアコンポーネント（１０３）は、データベース（１１４）中の動作待ち行列のファイルレコードに削除されるように印を付ける。ディレクトリが生成された場合、制御ソフトウェアコンポーネント（１０３）は、データベース（１１４）中の動作待ち行列に新しいディレクトリレコードをストアする。ステップ（３１２）において、ディレクトリが移動又は名前変更された場合、制御ソフトウェアコンポーネント（１０３）は、データベース（１１４）中の動作待ち行列に新しいディレクトリレコードを生成し、新しいディレクトリレコードで古いディレクトリレコードが提供するファイルレコードすべてを関連付けし、削除されるように古いディレクトリレコードに印を付ける。ステップ（３１３）において、ディレクトリが削除された場合、制御ソフトウェアコンポーネント（１０３）は、データベース（１１４）中の動作待ち行列におけるディレクトリレコードに削除されるように印を付ける。最終的にステップ（３１４）において、制御ソフトウェアコンポーネント（１０３）は、データベース（１１４）中の動作待ち行列から改訂記録を削除し、プロセスは、ステップ（３０５）に戻る。
「インテグリティポイント生成」
図４は、監視下の計算機システムのメモリー（１１３）中のベンチマーク変更にインテグリティポイントを生成しストアするための本データ保護システム（１００）の動作を流れ図の形式で例示する。
【００５０】
これは、ある時点に関するディスクリカバリーを実行するための必要な情報をストアするために要求される動作である。インテグリティポイント生成プロセスは、アクティブファイルシステムによってディスク上に維持されるメタデータファイルの自己矛盾のない「スナップショット」を読み出しストアすることを要求する。これは、スナップショットが生成されている間、発生する変更に対しこれらのファイルシステムを監視し、それらが別の試みを必要とし、スナップショットを無効にするか決定することを要求する。
例示的な動作は、以下のステップを含む。
【００５１】
インテグリティポイントを生成する試行の前に、ジャーナルプロセス及びデータ同期化は、現在まで続いている必要がある。ステップ（４０１）において、アクティブファイルシステムそれぞれは、それ自身の使用のために割り当てられているディスク（ファイルシステム領域）上の物理的位置を決定するために、制御ソフトウェアコンポーネント（１０３）によってクエリされるか（又は直接解析される）。これらのファイルシステム領域は、ファイルシステムの矛盾のない状態を定義するデータ構造を含んでいて、自己矛盾がないようにする必要がある。ステップ（４０２）において、制御ソフトウェアコンポーネント（１０３）はその後、次のレコードインデックスのためにアクティブファイルシステムジャーナルそれぞれにクエリし、この値がカーソルとして保持される。ステップ（４０３）において、制御ソフトウェアコンポーネント（１０３）は、アクティブファイルシステムすべてをメモリー（１０２）にフラッシュするようにオペレーティングシステムに命令し、ステップ（４０４）において、アクティブシステムそれぞれに対するファイルシステム領域が、セクターレベルでディスク（１１３）から直接読み出され、データ保護システム（１００）上のアーカイブにストアされる。
【００５２】
ステップ（４０５）において、制御ソフトウェアコンポーネント（１０３）は、次のそのレコードインデックスに関するアクティブファイルシステムジャーナルそれぞれを再度クエリし、この値が既に記録されたカーソルと比較される。ステップ（４０６）において、カーソルが一致した場合、インテグリティポイントは、データベース（１１４）において、そうして「確認」され、印を付けられる。ステップ（４０７）において、カーソルが一致しない場合、障害となっているジャーナルを内部カーソルエントリーに対しクエリする。ステップ（４０８）において、エントリー（複数）が、制御ソフトウェアコンポーネント（１０３）によって検査され、それらがスナップショットを無効にするか否か決定される。その場合、利用可能なスナップショットに達するまでステップ（４０１）から処理が繰り返される。ステップ（４１０）において、スナップショットが利用可能な場合、以前のインテグリティポイントとこの間に生じている改訂記録から生じるファイルオブジェクトすべてが、データベース（１１４）中のこのインテグリティポイントレコードに関連していて、インテグリティポイントが、「封印」されるように印を付けられる。ステップ（４１１）において、データベースアプリケーションは、バックアップ動作を実行するように命令され、その結果、データ保護システム（１００）のメモリーモジュール（１０１）上にデータベース（１１４）の圧縮表示が配置される。
「ファイルバージョンリトリーブ」
図５は、監視下の計算機システム（１１０）のメモリー（１１３）において、ファイル復旧のために、そこにストアされているデータをリトリーブするための本データ保護システム（１００）の動作を流れ図の形式で例示する。これは、ある時点におけるファイルの内容を「再構成」する動作である。このファイルバージョンは、初期化の間、データ保護システム（１００）にストアされる基準ディスクイメージの中か又はデータ保護システム（１００）のファイルバージョンアーカイブに常駐し得る。
【００５３】
データベース（１１４）は、初期化の間、キャプチャされたファイルを含むデータ保護システム（１００）にストアされているファイルそれぞれのレコードを含む。時間が経過するにつれて、複数バージョンの所与のファイルの復旧を可能にするデータが、いくつかの時点の１つからのファイルバージョンをリトリーブするための機能を生成し、データ保護システム（１００）にストアされ得る。ファイルが監視下の計算機システム（１１０）において変更されたとき、その新しいデータは、ハッシュされ、命名され、監視下の計算機システム（１１０）にストアされ、古いバージョンファイルは削除され、バイナリー相違（リバースＸ−デルタ）の記載だけを用いて新しいバージョンに置換される。この戦略によって、データ保護システム（１００）は、現在のファイルすべての元の状態の複製を保存可能にすると同時に常に以前のバージョンを再生成可能であって、データ保護システム（１００）自身のデータストレージスペース要件を最小化できる。
【００５４】
ステップ（５０１）において、データベース及びデータ保護システム（１００）の関連する位置からファイルをリトリーブする処理は、ユーザーがユーザーインタフェースをオープンし、所望のファイル又はフォルダーを検索するために階層的なファイル及びフォルダーシステムを介しナビゲートし開始する。ステップ（５０２）において、ユーザーは、所望のファイル又はフォルダーを選択し、監視下の計算機システム上で選択されたファイル又はフォルダーを別のフォルダー位置（例えば「デスクトップ」又は「マイドキュメント」）に移動するために「ドラッグアンドドロップ」機能を使用する。ステップ（５０３）において、マウスボタンをリリースすると、オペレーティングシステムは、ユーザーインタフェースによって指定されたソースファイルに関連するデータに対するデータ保護システム（１００）からのリクエストを生成する。ステップ（５０４）において、データベースはその後、ユーザーによって選択された時点に戻ってトレースされて、選択されているファイルの現在のバージョンと新しいバージョンとそのバイナリー相違を検索するために、クエリされる。
【００５５】
ステップ（５０５）において、ユーザーがファイルの現在のバージョンを選択した場合、データ保護システム（１００）は、現在のファイルの元の状態のコピーをリトリーブし、ユーザーにそのファイルを送信する。さもなければ、ステップ（５０６）において、データ保護システム（１００）は、ユーザーによって示されている選択されたバージョンのファイルを再生成するために、選択されたファイルを時間において逆に辿ってバイナリー相違の回収を使用し、その後、再構築されたファイルをユーザーに送信する。ステップ（５０７）において、ユーザーは、データストリームインタフェースに対し読み出し、検索し、所望に応じて内容を処理する。
「ディスクリカバリー」
図６は、監視下の計算機システム（１１０）のメモリー（１１３）全体の復旧のためにそこにストアされているデータをリトリーブするための本データ保護システム（１００）の動作を流れ図の形式で例示する。これは、ある時点における監視下の計算機システム（１１０）の物理ディスク（１１３）の完了状態を復旧するために要求される動作である。利用可能な時点は、既にストアされているインテグリティポイントによって定義される。ディスクリカバリーの目的は、対象の物理ディスク（１１３）の自己矛盾のないイメージをセクターレベルに「再構成」し、監視下の計算機システム（１１０）上のハードディスク（１１３）にこれを書き込むことである。
【００５６】
ステップ（６０１）において、物理システムディスク（１１３）に書き込むために、代替媒体から監視下の計算機システム（１１０）を起動し、そのディスク（１１３）上のファイルシステムが、使用中にならないように保証することが必要である。ステップ（６０２）において、ユーザーは、環境が許容され得ることを確かにする必要がある。ステップ（６０３）において、データ保護システム（１００）は、監視下の計算機システム（１１０）に接続されていて、アクセス可能である必要がある。ステップ（６０４）において、対象のハードディスク（単数又は複数）（１１３）が利用可能であって、復旧ディスクイメージを受信するために十分大きい容量である必要がある。対象のハードディスク（１１３）は、フォーマットされる必要はないが、所望された場合、フォーマットされ得る。ステップ（６０５）において、対象のハードディスク（単数又は複数）上に存在する任意のファイルシステムは、アンマウントされ、ステップ（６０６）において、ユーザーは、対象のハードディスク（単数又は複数）（１１３）に復旧するためにインテグリティポイントを選択する。
【００５７】
ステップ（６０７）において、データ保護システム（１００）上にストアされた非ＮＴＦＳ基準ディスクイメージ（単数又は複数）は、対象のハードディスク（単数又は複数）（１１３）のセクター別に直接書き込まれる。ステップ（６０８）において、データベース（１１４）は、選択された基準に最も近いファイルシステムイメージに対応するスナップショットに対しクエリされる。ステップ（６０９）において、スナップショットが、対象のハードディスクに書き込まれていて、ステップ（６１０）において、ファイルオブジェクトそれぞれに関して、データベース（１１４）は、ファイルオブジェクトの格納位置をクエリされる。ステップ（６１１）において、ファイルオブジェクトの内容が、そのディスク位置に直接書き込まれている。ステップ（６１２）において、ここで対象のドライブ（単数又は複数）（１１３）は、使用する準備ができていて、監視下の計算機システム（１１０）が再起動され得る。
「ゲストＰＣ／携帯用ファイルアクセス」
データ保護システム（１００）は、ホスト以外の第２の計算機システムに対するデータ保護システムのメモリーモジュール（１０１）の接続が、すぐに識別されるように監視下の計算機システム（１１０）を区別する機能を書き留める。この代替の接続状態においては、データ保護システムの「自動実行」初期化アプリケーションは、ユーザーがデータ保護システムのメモリーモジュール（１０１）内にストアされているファイルへのアクセスを所望しているか又は彼らが新たに接続された計算機システムと対にするためにデータ保護システム（１００）を再初期化することを所望しているか彼らに尋ねる。ユーザーが、新たに接続される計算機システムと共に再初期化することを所望する場合、以前の監視下の計算機システム（１１０）からバックアップデータすべてが除かれ、同一を示すメッセージが表示される。ユーザーが、メモリーモジュール（１０１）上に含まれるファイルへのアクセスを所望する場合、データ保護システム（１００）によって、ユーザーは、以前のとおり同一のグラフィカルユーザーインターフェースを利用可能であって、限定されたアプリケーションを初期化する。ユーザーはその後、新たに接続されている計算機システムのハードディスクドライブ上にファイルを配置し、ドラッグアンドドロップし得る。
【００５８】
監視下の計算機システムのオペレーティングシステムは、監視下の計算機システム（１１０）に新たに接続されたディスクドライブのベースディレクトリ又はデータ保護システム（１００）に含まれている特定のファイルを認識する。ファイルタイプ「ａｕｔｏｒｕｎ．ｉｎｆ」は、ファイル中に定義されているように実行される動作シーケンスが存在することをオペレーティングシステムに警告する。データ保護システム（１００）は、監視下の計算機システム（１１０）に首尾よくインストールされると、次の計算機システム又はゲスト計算機システムがプラグインされた場合、異なる振る舞いをするように、この「ａｕｔｏｒｕｎ．ｉｎｆ」ファイルを変更する。この変更された「ａｕｔｏｒｕｎ．ｉｎｆ」ファイルは、複製されたデータベースを再構築し、問い合わせることによって、ドライブ内容を利用できるようにデータ保護システム（１００）に命令する。この方法を介して対象となるユーザーファイルは、ゲスト計算機システム上への複製に対して識別され得る。したがって、監視下の計算機システムのデジタル写真及び音楽ファイルなどのファイルは、所望されるように表示又は共有するために、データ保護システム（１００）からゲスト計算機システム上に転送され得る。
【００５９】
監視下の計算機システムにおけるアクセスと同じようにゲスト計算機システム上のファイルに対しシームレスにアクセスさせるために、ゲスト計算機システムのファイルエクスプローラーシステムが利用される。ファイルエクスプローラーシステムを登録し、呼び出すことによって、データ保護システム（１００）の表示内容は、ユーザーの典型的な計算機システムの表示内容を模倣する。
「概要」
本データ保護システムは、単一フォーマットでメモリーモジュールにデータを自動的にストアすると同時にディスクセクター及びファイルの２つのフォーマットでデータ管理データベースにおいてそれを表す。それによって本データ保護システムは、時間と共に複数のファイルシステムの状態を効率的にトラッキングし、ストアすると同時に冗長なデータをストアせずにある時点の正確なディスクレベル及びファイルレベルの復旧を可能にする。
【符号の説明】
【００６０】
１０１  メモリーモジュール
１０２  記憶装置
１０３  制御ソフトウェアコンポーネント
１０４  メモリーモジュールソフトウェア
１０５  データベース
１１０  計算機システム
１１１  入力／出力ポート
１１２  プロセッサー
１１３  メモリー
１１４  データベース
１１５  データ通信媒体
【図１Ａ】
2010508608.tif 000004
【図１Ｂ】
2010508608.tif 000005
【図２Ａ】
2010508608.tif 000006
【図２Ｂ】
2010508608.tif 000007
【図３】
2010508608.tif 000008
【図４】
2010508608.tif 000009
【図５】
2010508608.tif 000010
【図６】
2010508608.tif 000011
【国際調査報告】
2010508608.tif 000012