(57)【要約】【課題】  データ保護アプリケーションを提供すること。【解決手段】  データ保護アプリケーションは、データに対する保護を提供するためのジョブを含む。そのジョブは、そのジョブを実行するように構成された複数のタスクを含む。また、複数のタスクの進行を管理するためのタスクエグゼキュータも含まれる。【選択図】  図４２
2006079626.tif 000002
【特許請求の範囲】
【請求項１】
ジョブを実行するように構成された複数のタスクを含む、データに対する保護を提供するためのジョブと、
前記複数のタスクの少なくとも１つの進行を管理するためのタスクエグゼキュータと
を含むことを特徴とするデータ保護アプリケーション。
【請求項２】
前記複数のタスクのそれぞれは、前記ジョブのアクションを実行するように実行されることを特徴とする請求項１に記載のデータ保護アプリケーション。
【請求項３】
前記複数のタスクの少なくとも２つは、並行に実行されることを特徴とする請求項１に記載のデータ保護アプリケーション。
【請求項４】
前記複数のタスクの少なくとも２つは、順次に実行されることを特徴とする請求項１に記載のデータ保護アプリケーション。
【請求項５】
前記ジョブは、複数のプロパティを含むことを特徴とする請求項１に記載のデータ保護アプリケーション。
【請求項６】
前記複数のプロパティは、前記複数のタスクの少なくとも１つに関連することを特徴とする請求項５に記載のデータ保護アプリケーション。
【請求項７】
前記複数のタスクの少なくとも１つは、複数のエージェントによって実行されること、および、
前記複数のエージェントの少なくとも２つは、異なるロケーションで動作すること
を特徴とする請求項１に記載のデータ保護アプリケーション。
【請求項８】
前記複数のタスクの少なくとも１つは、失敗することが可能であり、前記ジョブは、それでも完了することを特徴とする請求項１に記載のデータ保護アプリケーション。
【請求項９】
前記複数のタスクの１つが失敗した場合、前記ジョブは、失敗することを特徴とする請求項１に記載のデータ保護アプリケーション。
【請求項１０】
各タスクは、動詞を実施することを特徴とする請求項１に記載のデータ保護アプリケーション。
【請求項１１】
前記動詞は、レプリケートする、検証する、アーカイブする、データセットをコピーする、回復する、一時バージョン設定する、リソースを割り当てる、初期設定する、リソースを割り当て解除する、および媒体を取り戻すを含む動詞のグループから選択されることを特徴とする請求項１０に記載のデータ保護アプリケーション。
【請求項１２】
タスクエグゼキュータは、前記タスクを実行するために少なくとも１つのエージェントを利用することを特徴とする請求項１に記載のデータ保護アプリケーション。
【請求項１３】
各タスクは、状態および遷移のセットから成る有限状態マシンとして実施されることを特徴とする請求項１に記載のデータ保護アプリケーション。
【請求項１４】
前記タスクエグゼキュータは、入力に応答して複数の状態の間で遷移することを特徴とする請求項１３に記載のデータ保護アプリケーション。
【請求項１５】
前記タスクエグゼキュータは、一様なモデルから構造化されることを特徴とする請求項１３に記載のデータ保護アプリケーション。
【請求項１６】
前記一様なモデルは、複数の有限状態マシンのために使用されることを特徴とする請求項１５に記載のデータ保護アプリケーション。
【請求項１７】
前記有限状態マシンは、タスクエグゼキュータによって実行されること、および、
前記タスクエグゼキュータは、前記有限状態マシンの遷移を誘導することを特徴とする請求項１３に記載のデータ保護アプリケーション。
【請求項１８】
前記複数のタスクのそれぞれを実行するように構成されたタスクエグゼキュータをさらに含むことを特徴とする請求項１に記載のデータ保護アプリケーション。
【請求項１９】
前記タスクエグゼキュータは、実行されているタスクにポーリングを行い、タスクの進行を判定することを特徴とする請求項１８に記載のデータ保護アプリケーション。
【請求項２０】
データ保護システムにおいてデータ保護再スタートを提供する方法であって、
ジョブの失敗したタスクからタスク失敗通知を受け取ること、
前記ジョブの完了したタスクを明らかにすること、
前記ジョブの未完了であるタスクを明らかにすること、
前記明らかにされた未完了のタスクを含む埋め合わせジョブを作成すること、および、
前記埋め合わせジョブを実行すること
を含むことを特徴とする方法。
【請求項２１】
前記失敗したタスクが重要であったかどうかを判定すること、および、
前記失敗したタスクが重要ではなかったと判定された場合、埋め合わせジョブを作成しないこと
をさらに含むことを特徴とする請求項２０に記載の方法。
【請求項２２】
進行中であったタスクを明らかにすること、
前記明らかにされたタスクを再スタートすること、および、
前記タスク失敗通知は、前記再スタートされるタスクに関する失敗通知であること
をさらに含むことを特徴とする請求項２０に記載の方法。
【請求項２３】
前記タスク失敗は、イベント通知の中に含まれることを特徴とする請求項２０に記載の方法。
【請求項２４】
前記タスク失敗は、システムクラッシュの結果であることを特徴とする請求項２０に記載の方法。
【請求項２５】
前記ジョブの完了したタスクを明らかにすることは、ジョブの各タスクに関するタスク軌跡を分析することを含むことを特徴とする請求項２０に記載の方法。
【請求項２６】
前記ジョブの未完了であるタスクを明らかにすることは、ジョブの各タスクに関するタスク軌跡を分析することを含むことを特徴とする請求項２０に記載の方法。
【請求項２７】
情報を保護するためのコンピュータ実行可能コンポーネントを有するコンピュータ読み取り可能記憶媒体であって、前記コンポーネントは、
保護可能なオブジェクトを保護するように実行されるべきジョブを作成するように実施されるデータプロテクタと、
重要であると判定された失敗したタスクに取って代わる埋め合わせジョブを作成するように構成されたヘルスマネージャと
を含むことを特徴とするコンピュータ読み取り可能記憶媒体。
【請求項２８】
前記保護されるべき情報のレプリカを保持するように構成されたレプリケーションエージェントをさらに含むことを特徴とする請求項２７に記載のコンピュータ読み取り可能記憶媒体。
【請求項２９】
前記保護されるべき情報のアーカイブコピーを保持するように構成されたアーカイブエージェントをさらに含むことを特徴とする請求項２７に記載のコンピュータ読み取り可能記憶媒体。
【請求項３０】
前記ヘルスマネージャは、前記データプロテクタによって作成されたジョブを監視することを特徴とする請求項２７に記載のコンピュータ読み取り可能記憶媒体。
【請求項３１】
前記データプロテクタは、イベントの通知を受け取ることを特徴とする請求項２７に記載のコンピュータ読み取り可能記憶媒体。
【請求項３２】
イベントは、前記保護されるべき情報の状態変化に応答して生成されることを特徴とする請求項３１に記載のコンピュータ読み取り可能記憶媒体。
【請求項３３】
前記データ保護システムの特定の部分のためにそれぞれが更新され、データプロテクタデータベースの一部分をそれぞれが維持する複数のマネージャをさらに含むことを特徴とする請求項２７に記載のコンピュータ読み取り可能記憶媒体。
【請求項３４】
前記データプロテクタデータベースの各部分に関して、前記データプロテクタデータベースの該部分を維持するマネージャだけが、前記データプロテクタデータベースの該部分を変更することを特徴とする請求項３３に記載のコンピュータ読み取り可能記憶媒体。
【請求項３５】
データを含む作成ロケーションと、通信ネットワークを介してデータのコピーを獲得し、前記データの前記コピーを格納する格納ロケーションと、該通信ネットワークとを有する前記データ保護システムにおいて、
前記作成ロケーションおよび前記格納ロケーションを制御するように前記データ保護システム内部に実装されるデータプロテクタと、
ジョブを実行する前記データ保護システムの一部分を監視し、前記ジョブの失敗に応答して、埋め合わせジョブを作成するように構成されたヘルスマネージャと
を備えることを特徴とするデータ保護システム。
【請求項３６】
前記ヘルスマネージャは、前記失敗したジョブの一部であるタスクのタスク軌跡に基づいて埋め合わせジョブを作成することを特徴とする請求項３５に記載のデータ保護システム。
【請求項３７】
前記失敗したジョブは、タスクが失敗したことに応答して失敗したことを特徴とする請求項３５に記載のデータ保護システム。
【請求項３８】
前記ヘルスマネージャは、前記失敗したジョブの完了しなかった部分を特定することによって埋め合わせジョブを作成し、前記失敗したジョブの前記特定された部分に関する埋め合わせジョブを作成することを特徴とする請求項３５に記載のデータ保護システム。
【請求項３９】
データ保護システムの物理的オブジェクトを表す方法であって、
前記物理的オブジェクトの複数の状態を判定すること、
それぞれの判定された状態の間の遷移を特定すること、
前記判定された状態、および状態の間の前記特定された遷移に基づいて前記物理的オブジェクトを表すこと、および、
前記物理的オブジェクトの現在の状態を監視して、前記物理的オブジェクトを新たな状態に遷移させるジョブが実行される必要があるかどうかを判定すること
を含むことを特徴とする方法。
【請求項４０】
前記判定された複数の状態は、前記物理的オブジェクトの可能な状態のそれぞれを表すことを特徴とする請求項３９に記載の方法。
【請求項４１】
前記特定された遷移は、第１の特定された状態から第２の特定された状態への許容できる遷移を表すことを特徴とする請求項３９に記載の方法。
【請求項４２】
前記物理的オブジェクトは、ディスクであることを特徴とする請求項３９に記載の方法。
【請求項４３】
前記物理的オブジェクトは、テープであることを特徴とする請求項３９に記載の方法。
【請求項４４】
前記物理的オブジェクトは、アプリケーションデータであることを特徴とする請求項３９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
一般に、本発明は、データ保護およびデータ保護システムに関し、より詳細には、データの保護および回復を管理するためのシステム、方法、および装置に関する。
【背景技術】
【０００２】
一般的に説明すると、大規模コンピュータシステムは、しばしば、いくつかのコンピュ
ーティングデバイス、および大量のデータを含む。そのようなシステムでは、コンピューティングデバイスの追加および除去が、しばしば、行われる。同様に、既存のコンピューティングデバイスは、共有、Ｅｘｃｈａｎｇｅストレージグループ、データベース、ボリュームの追加、およびコンピューティングデバイス上に格納されたデータに対するその他の変更を介して、しばしば、変更される。そのようなコンピュータシステムを利用する組織のために、しばしば、データのバックアップを作成することにより、システム上に格納されたデータを保護する必要性が、一般に、存在する。
【０００３】
しかし、システムを保護することを担当する個人は、しばしば、システムに対する追加および／または変更について知らされず、したがって、保護を必要とする新たなリソースを認識していない。例えば、サーバなどの新たなコンピューティングデバイスがシステムに追加され、システムを保護することを担当する個人が、その追加について知らされていない場合、その新たなコンピューティングデバイス上のデータ、およびその新たなコンピューティングデバイスが、保護されないままになる可能性がある。
【０００４】
この問題は、個人が、物理レベルではなく、論理レベルにおいてシステム内で操作することを許すシステムの場合、大きくなる。個人が、論理レベルで操作するのに対して、保護は、通常、物理レベルで決定される。そのような環境では、論理レベルの操作により、バックアップ手続きに対する変更が要求される場合、諸問題が生じる可能性がある。例えば、論理パス、＼＼ｈｉｓｔｏｒｙ＼ｐｕｂｌｉｃ＼ｔｏｏｌｓが、サーバ履歴１上の共有を指し、それから、サーバ履歴２上の異なる共有を指すように＼＼ｈｉｓｔｏｒｙ＼ｐｕｂｌｉｃ＼ｔｏｏｌｓを動かすことが決定され、保護を担当する個人が、その変更について知らされない場合、古い共有が保護され続ける一方で、新たな共有が保護されないままになる可能性がある。
【０００５】
問題は、単一の論理パスが、基礎にあるデータの同期されたコピーを含む物理的代替のセットを表す可能性がある場合、さらに大きくなる。例えば、＼＼ｈｉｓｔｏｒｙ＼ｄｏｃｓが、履歴１と履歴２の両方の上で同一の共有を指す場合、同一の基礎にあるフォルダの１つだけが、システムによって保護されるべきである。
【０００６】
大型システム上の資料の保護の不履行は、典型的に、保護を担当する個人が、リソース、および保護されるべきデータを手動で識別しなければならず、保護を手動で設定しなければならないためにもたらされる。システムが変更されると、保護を担当する個人が、その変更に気付かない限り、データおよびリソースは、保護されないままになる可能性がある。さらに、物理媒体にデータのバックアップをアーカイブするため、個人は、保護のためにどのような媒体が使用されるべきか、いつ／どのように媒体を交替させるかを手動で決めなければならない。大型システムの場合、変更を識別すること、保護を設定すること、およびアーカイブを維持することを手動で行うことは、複雑であり、変更は、困難である。保護のそのような手動の識別、設定、および変更により、保護を必要とするデータおよびリソースの欠落、および保護自体の諸問題が、しばしば、もたらされる。
【０００７】
実際に問題が生じた場合、通常、個人は、保護システム自体から情報を提供されることなしに、詳細なレベルで問題を特定することができ、その問題をどのように解決すべきかについての知識を有していなければならない。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
このため、コンピュータシステムの保護を自動化し、システムに対して変更が行われた場合にそれを識別し、保護に問題が生じた場合にユーザに指針を与え、個人が、論理的名前空間において作業することにより、保護を作成することができるようにするためのシステム、方法、および装置の必要性が存在する。
【課題を解決するための手段】
【０００９】
データ保護アプリケーションが提供される。データ保護アプリケーションは、データに対する保護を提供するためのジョブを含む。このジョブは、ジョブを実行するように構成された複数のタスクを含む。また、複数のタスクの進行を管理するためのタスクエグゼキュータ（ｅｘｅｃｕｔｏｒ）も含まれる。
【００１０】
本発明の態様によれば、データ保護システムにおいてデータ保護再開を提供するための方法が提供される。方法は、ジョブの失敗したタスクから、タスク失敗通知を受け取ること、完了したジョブのタスクを識別すること、および未完了である、ジョブのタスクを識別することを含む。識別された未完了のタスクに基づき、識別された未完了のタスクを含む埋め合わせ（ｍａｋｅｕｐ）ジョブが作成される。次に、この埋め合わせジョブが実行されて、データ保護が再開される。
【００１１】
別の態様によれば、情報を保護するためのコンピュータ実行可能コンポーネント群を有するコンピュータ読み取り可能記憶媒体が提供される。保護可能なオブジェクトを保護するように実行されるべきジョブを作成するように実装される、データプロテクタが含まれる。また、失敗したタスクが重要であると判定された場合、失敗したタスクに取って代わる埋め合わせジョブを作成するように構成されたヘルス（ｈｅａｌｔｈ）マネージャも含まれる。
【００１２】
さらに別の態様によれば、データを含む作成ロケーション、格納ロケーション、および通信ネットワークを有するデータ保護システムにおいて、データ保護システムの堅牢性を維持するための機構が提供される。そのデータ保護システムでは、格納ロケーションが通信ネットワークを介してデータを獲得し、作成ロケーションで含まれるデータのレプリカを作成する。データ保護システムの堅牢性を維持するようにデータ保護システム内部に実装されるデータプロテクタ、ならびにジョブを実行しているデータ保護システムの一部分を監視し、ジョブの失敗に応答して、回復を実行するように構成されたタスクエグゼキュータも含まれる。
【００１３】
本発明の以上の態様、および付随する利点の多くは、本発明が、添付の図面に関連して解釈される、以下のより詳細な説明を参照することによってよりよく理解されると、より容易に理解されよう。
【発明を実施するための最良の形態】
【００１４】
図１Ａは、本発明の実施形態によるデータの保護および回復を管理するためのデータ保護システムのブロック図である。本明細書で説明するデータ保護システム１００の諸実施形態は、システム管理者などのユーザに、データの保護および回復を容易に管理する能力を提供する。通常、作成ロケーション１０３において積極的に作成され、変更されているデータに関して、データ管理およびデータ保護が所望される。そのデータは、保護され、データのレプリカまたはコピーとして格納ロケーション１０５に格納される。格納ロケーションは、作成ロケーションから遠隔のロケーションであること、および／または作成ロケーションと同一のロケーションであることが可能である。さらに、格納ロケーションは、異なる形態のストレージのための複数のロケーションを含むことが可能である。例えば、データのレプリカが、１つのロケーションで保持され、そのデータのアーカイブが、第２のロケーションで保持されることが可能である。したがって、格納ロケーションは、一般に、データが格納され、保護されることが可能なロケーションの任意の組合せ、および／または任意のタイプのロケーションを表す。
【００１５】
本明細書で説明するとおり、データ保護システム１００は、作成ロケーション１０３および格納ロケーション１０５と通信して、作成ロケーション１０３と格納ロケーション１０５の間におけるデータの保護および流れを監視するデータプロテクタ１０１を含む。図１Ａに示したデータプロテクタ１０１は、サーバなどの単一のコンピューティングデバイス上に存在することも、複数のコンピューティングデバイスにわたって分散されることも可能である。データプロテクタ１０１は、作成ロケーション１０３および／または格納ロケーション１０５などの、データ保護システム１００内部の異なるコンピューティングデバイス上に配置されるエージェントを展開し、そのようなエージェントと通信して、複数のデバイス間におけるデータ保護の分散された制御および管理を可能にする。データ保護システム１００によって提供されるデータ保護のタイプの例には、一時バージョンのレプリケーション、テープまたはディスクなどの取り外し可能な媒体への従来のアーカイブ、レプリケーションとアーカイブの両方の組合せが含まれるが、以上には限定されない。他の任意の形態および／または組合せの保護を本発明の諸実施形態で利用することができ、レプリケーション、一時バージョン、およびアーカイブは、単に例に過ぎないことが理解されよう。
【００１６】
図１Ｂは、データ保護システム１００の代替の実施形態を示す。詳細には、データプロテクタ１１０は、作成ロケーション１１１に部分的に、または全体として存在することが可能である。そのような実施形態では、データプロテクタ１１０は、プロテクタ１１０自体と作成ロケーション１１１の間、およびプロテクタ１１０自体と格納ロケーション１１３の間の通信を提供する。
【００１７】
図１Ｃは、本発明の実施形態による、データを保護するため、およびデータを回復するために使用されるデータ保護システム１００のさらに別の実施形態を示す。図１Ｃに示すとおり、データプロテクタ１２０は、格納ロケーション１２３に部分的に、または全体として存在することが可能である。そのような実施形態では、データプロテクタ１２０は、プロテクタ１２０自体と格納ロケーション１２３の間、およびプロテクタ１２０と作成ロケーション１２１の間の通信を提供する。
【００１８】
図２は、本発明の実施形態による、データを保護するため、およびデータを回復するためのデータ保護システム２００の別のブロック図である。データ保護システム２００は、作成ロケーション１  ２０３、作成ロケーション２  ２０５、ないし作成ロケーションＮ  ２０７などの、複数の作成ロケーションが、データプロテクタ２０１と対話して、作成ロケーションを起点とするデータのレプリカおよび／または一時バージョンを格納することができることを示す。データプロテクタ２０１は、作成ロケーション２０３、２０５、２０７と通信し、格納ロケーションＡ２０９、格納ロケーションＢ２１１、および格納ロケーションＸ２１３などの、それぞれの格納ロケーションにおいて、それらの作成ロケーション上に存在するデータの保護を提供する。本明細書で説明する諸実施形態は、任意の数および組合せのデータ作成ロケーションおよびデータ格納ロケーションで利用することができる。
【００１９】
理解され、図１Ａ〜図２に示すとおり、データを保護するため、およびデータを回復するために、本発明の諸実施形態に従ってデータ保護システムの任意のタイプの構成を利用することができる。
【００２０】
全体的に、本明細書で説明するデータ保護システムの諸実施形態は、データ保護システムのユーザが、高レベルで、作成ロケーションにおけるどのようなデータが重要であるか、ならびに、どのようにユーザがそのデータを保護することを所望するかを指定する能力を提供する。詳細には、本明細書で説明するシステムは、特定の作成ロケーションにおけるどのようなデータをユーザが保護することを所望するか、ならびにどのようにユーザがそのデータを保護することを所望するかを論理的に識別する能力をユーザに提供する。データ保護システムは、その論理的識別を、データを保護するようにスケジュールされ、実行される一連の「ジョブ」に変換する。以下に説明するとおり、ジョブは、ユーザによって識別されたデータを保護するために必要である詳細な情報を含む。例えば、ジョブは、レプリケーション、検証、一時バージョン管理、アーカイブ、および媒体管理などを実行することができる。
【００２１】
論理レベルでデータを選択する能力をユーザに提供するため、データ保護システムは、「名前空間」および「名前空間要素」の形態で、作成ロケーションに格納されたデータの論理的表現をユーザに提供する。本明細書で説明する名前空間は、アプリケーションの論理的表現である。例えば、データ保護システム内部で名前空間として表現されることが可能なアプリケーションには、分散ファイルシステム（「ＤＦＳ」）、ローカルファイルシステム、ＳｈａｒｅＰｏｉｎｔなどのＷｅｂアプリケーション名前空間、およびＥｘｃｈａｎｇｅ名前空間が含まれるが、以上には限定されない。理解されるとおり、典型的なアプリケーションのリストは、単に例示目的であり、まったく限定を意図するものではない。任意のタイプのアプリケーションが、データ保護システムで使用され、名前空間として識別されることが可能である。
【００２２】
本明細書で説明する名前空間要素は、データなどの物理的オブジェクトの論理的な表現であり、名前空間を構成する１次エンティティである。例えば、名前空間要素は、ＤＦＳリンク、サーバ、共有、ボリューム、フォルダ、またはＥｘｃｈａｎｇｅストレージグループであることが可能であるが、以上には限定されない。一般に説明すると、Ｅｘｃｈａｎｇｅストレージグループは、共通ログを共有するデータベースの集合である。当業者には理解されるとおり、名前空間要素を使用して、任意のタイプの物理的オブジェクト、または物理的オブジェクトの集合を表現することができる。
【００２３】
データを保護するため、ユーザは、論理的名前空間内を探索し、またはナビゲートして、名前空間要素の１つまたは複数を選択する。選択された名前空間要素は、既存の「保護されたグループ」に関連付けられるか、または新たな保護されたグループを作成するのに使用される。名前空間要素が保護されたグループに関連付けられると、その名前空間要素に関連する物理的オブジェクト（データ）も、保護されたグループの一部となる。本明細書で説明する保護されたグループは、名前空間要素の論理的グループ化であり、同一の保護規則が適用される、関連した保護されたオブジェクトである。
【００２４】
各名前空間要素は、保護されたグループに追加されることが可能な、本明細書で「保護可能なオブジェクト」と呼ぶ、１つまたは複数の物理的オブジェクト（データ）を探し出すのに使用される。探し出されると、保護可能なオブジェクトは、保護のために選択されることが可能である。保護可能なオブジェクトが、保護のために選択されると、選択された保護可能なオブジェクトは、保護されたグループの一部である「保護されたオブジェクト」になる。本明細書で説明する保護可能なオブジェクトは、保護されることが可能な物理的情報／データである。例えば、保護可能なオブジェクトは、フォルダ、ファイル、電子メールボックス、データベース、Ｗｅｂサイトなどであることが可能であるが、以上には限定されない。本明細書で使用する保護されたオブジェクトは、識別され、保護のために選択されている保護可能なオブジェクトである。
【００２５】
保護されたグループを作成することに加え、ユーザは、高レベルで、どのように、いつ（どれだけ頻繁に）、どれだけの期間、保護されたグループが保護されることを所望するかを指定することができる。さらに、ユーザは、どれだけの期間、保護されたグループのコピーおよびアーカイブが保持されることを所望するかを指定することができる。そのような高レベルの指定は、レプリケーション、アーカイブ、媒体管理、および以上の任意の組合せなどの、すべての保護活動にわたることが可能である。ユーザによって与えられた指定に基づき、保護されたグループのオブジェクトを保護するための詳細なプランが作成される。
【００２６】
データを回復するため、ユーザは、論理的名前空間内を探索し、またはナビゲートして、ユーザが回復することを所望するデータを探し出す能力を与えられる。次に、回復されるべきデータまでの論理的パスを使用して、以下に説明するとおり、１つまたは複数の回復可能なオブジェクトが探し出される。それぞれの回復可能なオブジェクトは、保護されたオブジェクトのバージョン、またはその一部分を表す。
【００２７】
図３は、本発明の実施形態による、作成ロケーションに位置する保護可能なオブジェクトの最初の選択および保護を示すデータ保護システム３００の流れ図である。図３に示すとおり、データ保護システム３００は、作成ロケーション３０５にエージェントを展開して、作成ロケーション３０５に位置する保護可能なオブジェクトの検出を可能にし、それらの保護可能なオブジェクトに対応する名前空間および名前空間要素を識別する。それらの名前空間および名前空間要素は、ユーザインターフェース３０３上でユーザ対話のために公開され、表示される。
【００２８】
例えば、図４は、本発明の実施形態による、ユーザ対話およびユーザ選択のためにユーザインターフェース３０３上で公開され、表示される複数の名前空間および名前空間要素のブロック図を示す。当業者には理解されるとおり、図４の例示は、単に典型的であり、他の任意の構成が、本発明の諸実施形態で表示されることが可能である。例えば、表示は、ボリュームを含むが、共有を含まないことが可能である。
【００２９】
表示４００は、ＤＦＳ  ＲＯＯＴＳ名前空間４０１およびＳＥＲＶＥＲＳ名前空間４０３を示す。ＤＦＳ  ＲＯＯＴＳ名前空間４０１は、ともにＤＦＳ  ＲＯＯＴである２つの名前空間要素４０５、４０７を含む。ＤＦＳ  ＲＯＯＴＳ名前空間４０１の下で識別される名前空間要素は、＼＼ＡＢＣＤ＼ＰＵＢＬＩＣ４０５および＼＼ＥＦＧ＼ＰＲＩＶＡＴＥ４０７である。さらに、ＳＥＲＶＥＲＳ名前空間４０３は、いくつかの名前空間要素４０９、４１１、４１３、４１５、４２１、４２３、４２５を含む。これらの名前空間要素が、いくつかの追加の名前空間要素を含むことも可能である。例えば、ＳＥＲＶＥＲ１  ４０９は、ＳＨＡＲＥＳ名前空間要素タイプ４１１などの、いくつかの名前空間要素タイプを含む。同様に、ＳＨＡＲＥＳ名前空間要素タイプ４１１は、ＳＨＡＲＥ１名前空間要素４１３およびＳＨＡＲＥ２名前空間要素４１５を含む。さらに、ＳＨＡＲＥＳ名前空間要素４１１、ＳＨＡＲＥＳ名前空間要素４１３、およびＳＨＡＲＥＳ名前空間要素４１５はすべて、保護可能なオブジェクトの論理的表現である。
【００３０】
ユーザは、展開（ｅｘｐａｎｄ）ボックス４１７のような、展開ボックスまたは縮小（ｃｏｌｌａｐｓｅ）ボックスを選択することにより、名前空間および名前空間要素の表示４００と対話することができる。さらに、ユーザは、選択ボックス４１９のような選択ボックスを選択することにより、１つまたは複数の名前空間要素を保護のために選択することができる。代替の実施形態では、保護のために名前空間要素を選択することができることに加えて、ユーザは、保護のために名前空間を選択することもできる。
【００３１】
図３を再び参照すると、ユーザインターフェース３０３上で名前空間および名前空間要素の表示４００が表わされると、ユーザは、名前空間要素のいずれがデータ保護システム３００によって保護されることを所望するかを選択する。さらに、ユーザは、選択された名前空間要素に関する「保護インテント」を提供することができる。本明細書で説明する保護インテントは、選択されたデータがどのように保護されるべきかについての高レベルの記述である。例えば、ユーザは、一晩おきにオブジェクトのコピーをバックアップし、１年の期間にわたって週単位のコピーを保持することによって選択された名前空間要素が保護されるべきことを示すことができる。選択された名前空間要素、および関連する保護インテントは、ユーザインターフェース３０３からデータプロテクタ３０１に転送される。
【００３２】
データプロテクタ３０１は、選択された名前空間要素、および保護インテントを使用して、選択された名前空間要素で識別された保護可能なオブジェクトのための保護されたグループを作成する。選択されると、保護可能なオブジェクトは、保護されたオブジェクトになる。保護されたグループは、選択された名前空間要素、関連する保護されたオブジェクトのＩＤ、ならびに保護されたオブジェクトがどのように保護されるべきかについての詳細なプランを含む。さらに、データプロテクタ３０１は、以下に説明するとおり、少なくとも１つの自動検出グループを作成する。ある実施形態では、データプロテクタ３０１は、以下に説明するとおり、保存探索（ｓａｖｅｄ  ｓｅａｒｃｈｅｓ）ルーチンも作成することができる。
【００３３】
保護されたグループの作成は、選択された論理的オブジェクト（名前空間要素）を、作成ロケーション上に位置する適切な保護可能なオブジェクトにマップすることによって達せられる。次に、識別された保護可能なオブジェクトが、保護されたグループのメンバとして追加され、保護されたオブジェクトになる。保護可能なオブジェクトは、既存の保護されたグループに追加されることも、新たな保護されたグループを形成することも可能である。さらに、保護インテントを使用して、保護されたグループを保護するためのグループプランが作成される。グループプランには、以下にそれぞれ詳細に説明する、リソースプラン、準備プラン、および保護プランが含まれるが、以上には限定されない。グループプラン、およびグループ内のプランは、１つまたは複数のジョブ、およびスケジュール設定パラメータから成る。リソースプランの場合、割り当てられるべきリソースの量が明らかにされる。割り当てられるリソースには、レプリカのためのディスクスペース、ディスクまたはテープなどの、アーカイブのための取り外し可能な媒体、レプリカと取り外し可能な媒体の両方の組合せなどが含まれることが可能であるが、以上には限定されない。スケジュール設定パラメータは、ジョブがいつ実行されるべきであるかを明らかにする。
【００３４】
保護されたグループ、データを保護するためのプラン、自動検出グループ、および保存探索の生成の後、データプロテクタ３０１は、保護のために作成ロケーション３０５および格納ロケーション３０７を準備する。詳細には、データプロテクタは、通信、ならびに作成ロケーション３０５から格納ロケーション３０７へのデータの転送を可能にするエージェント群を展開する。作成ロケーションおよび格納ロケーションが保護のために準備されると、保護が開始され、保護されたオブジェクトに関するデータのコピーが、作成ロケーション３０５から格納ロケーション３０７に転送される。転送されたデータのコピーは、以下に説明するとおり、レプリカ、アーカイブコピー、または他の任意のタイプのデータ保護として保持されることが可能である。
【００３５】
以下により詳細に説明するとおり、保護のために格納ロケーション３０７を準備する際、データプロテクタ３０１は、ユーザによって要求された物理的オブジェクトのコピーを格納するために必要なリソースを（リソースプランを介して）割り当てる。保護を開始するため、ジョブが開始されて、作成ロケーション３０５に格納されている、選択された保護可能なオブジェクトの初期コピーが作成され、そのコピーが伝送され、格納ロケーション３０７にそのコピーが格納される。コピーがレプリカである場合、コピーは、次に、検証ジョブの実行を介して、コピーの正確さを確実にするために検証される。コピーが、取り外し可能な媒体にアーカイブされる場合、初期コピーは、選択された保護可能なオブジェクトの完全バックアップである。初期コピーが生成された後、データプロテクタ３０１は、そのコピーを定期的に更新するジョブを作成するか、または作成ロケーション３０５に位置する情報に対して行われた変更を使用して、（アーカイブの場合と同様に）追加のコピーを作成する。
【００３６】
選択された名前空間要素に関連する作成ロケーション３０５に格納された保護可能なオブジェクトを識別するため、データプロテクタ３０１は、論理的オブジェクト（名前空間要素）を物理的オブジェクト（保護可能なオブジェクト）にマップする。図４を再び参照すると、それぞれが複数の名前空間要素を有する２つの名前空間、ＤＦＳ  ＲＯＯＴＳ４０１およびＳＥＲＶＥＲＳ名前空間４０３が表示されている。ユーザは、１つまたは複数の名前空間要素を選択することができる。一実施形態では、名前空間要素が選択されると、包含されるすべての名前空間要素も既定で選択される。図４を例として使用すると、ユーザが、ＳＥＲＶＥＲ１  ４０９上でストレージグループ１  ４２１を選択した場合、ＤＡＴＡＢＡＳＥ  Ａ  ４２３およびＤＡＴＡＢＡＳＥ  Ｂ  ４２５も自動的に選択される。ユーザは、１つまたは複数の名前空間要素を選択解除することもできる。
【００３７】
各名前空間要素は、作成ロケーション３０５に位置する１つまたは複数の保護可能なオブジェクトにマップされる。例えば、名前空間要素、＼＼ＡＢＣＤ＼ＰＵＢＬＩＣ４０５は、複数の保護可能なオブジェクトにマップされる。図５を参照すると、名前空間要素、＼＼ＡＢＣＤ＼ＰＵＢＬＩＣ５０５が、作成ロケーション３０５に位置する３つの保護可能なオブジェクトにマップされている。詳細には、名前空間要素、＼＼ＡＢＣＤ＼ＰＵＢＬＩＣ５０５は、Ｄ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ１  ５０７、Ｄ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ２  ５０９、およびＦ：＼ＯＮ  ＳＥＲＶＥＲ３  ５１１にマップされている。保護可能なオブジェクト５０７、５０９、５１１のそれぞれは、作成ロケーション３０５内部に位置している。
【００３８】
データプロテクタが、名前空間を探索し、ナビゲートするため、ならびに名前空間要素５０５などの論理的オブジェクトを物理的オブジェクトにマップするために、名前空間と名前空間要素を関連付けるスキーマが作成される。スキーマは、アプリケーション名前空間の構成の抽象表現であり、可能な名前空間には、分散ファイルシステムおよびＥｘｃｈａｎｇｅが含まれるが、以上には限定されない。
【００３９】
図６は、本発明の実施形態による、名前空間のタイプとボリュームスキーマを表す名前空間要素のタイプを関連付けるための１つのそのようなスキーマのブロック図を示す。スキーマは、有向グラフとして表され、グラフ内のノードは、アプリケーション名前空間内の名前空間要素のタイプを表し、リンクは、名前空間要素間の包含関係および接合（ｊｕｎｃｔｉｏｎ）関係を表す。名前空間要素のタイプ間における包含関係および接合関係は、それらのタイプのインスタンスを関係付けることができる可能な形のすべてを表す。図６を参照すると、包含関係は、一重矢印（ｓｉｎｇｌｅ  ａｒｒｏｗ）の線で示され、接合関係は、２重矢印の線で示されている。例えば、タイプ「ＤＦＳルート」６０３の名前空間要素は、タイプ「共有」６０９の名前空間要素に対する接合６１７を表すことが可能であり、ＳＨＡＲＥ６０９は、ＶＯＬＵＭＥ６１１に対する接合６１９、またはＦＯＬＤＥＲ６１５に対する接合を表すことが可能である。
【００４０】
包含関係は、親が、子から論理的に構成される名前空間要素間の単純明快な親／子関係である。例えば、ＤＯＭＡＩＮ６０１は、ＳＥＲＶＥＲ６０７を含み６２３、ＤＦＳ  ＲＯＯＴ６０３を含む６２５。ＳＥＲＶＥＲ６０７は、ＳＨＡＲＥ６０９を含み６２７、ＶＯＬＵＭＥ６１１を含む６２９。ＶＯＬＵＭＥ６１１は、ＦＯＬＤＥＲ６１５を含み６３１、ＭＯＵＮＴ  ＰＯＩＮＴ６１３を含む６３３。ＦＯＬＤＥＲ６１５は、他のフォルダを含むこと、およびファイルを含むことも可能である（図示せず）。
【００４１】
接合関係は、ソース名前空間要素が、目標名前空間要素の論理上のシノニム（ｓｙｎｏｎｙｍ）である、つまり、ソースパスと目標パスが、２つの異なる名前空間内で同一の基礎にあるオブジェクトを表す、ソース／目標関係である。接合関係は、１対多関係であることが可能である。つまり、単一のソース名前空間要素が、複数の目標名前空間要素を有することが可能であり、その場合、目標は、ソースによって表される基礎にあるデータが取り出される代替のロケーションを表す。例えば、ＤＦＳ  ＲＯＯＴ６０３は、目標として複数のＳＨＡＲＥ６０９にマップされる６１７ことが可能である。また、接合関係は、多対１であることも可能であり、つまり接合の目標が、他の名前空間内で複数の論理名を有することが可能である。例えば、ＦＯＬＤＥＲ６１５は、このＦＯＬＤＥＲ６１５にマップされる６２１多数の共有６０９を有することが可能である。
【００４２】
さらに、複数の論理的名前空間要素が、同一の保護可能なオブジェクトにマップされることも可能である。例えば、ＳＨＡＲＥ１名前空間要素５１３が、Ｅ：＼ＰＲＩＶＡＴＥ  ＯＮ  ＳＥＲＶＥＲ１  ５１５にマップされる。同様に、ＳＨＡＲＥ２名前空間要素５１７が、Ｅ：＼ＰＲＩＶＡＴＥ  ＯＮ  ＳＥＲＶＥＲ１  ５１５にマップされることも可能である。
【００４３】
図７は、本発明の実施形態による、論理的名前空間要素を物理的な保護可能なオブジェクトにマップするためのスキーマのブロック図を示す。詳細には、スキーマ７００は、ドメインＡＢＣＤ７０１が、ＤＦＳ  ＲＯＯＴ−公開７０３および３つのサーバ７０５に対する包含関係を有することを示す。同様に、ＤＦＳ  ＲＯＯＴ−公開７０３は、リンク１  ７０７Ａ、リンク２  ７０７Ｂ、およびリンク３  ７０７Ｃを含む３つのＤＦＳリンク７０７に対する包含関係を有する。リンク１  ７０７Ａ、リンク２  ７０７Ｂ、およびリンク３  ７０７Ｃはそれぞれ、共有７１１に対する接合関係を含む。詳細には、リンク１  ７０７Ａは、＼＼ＳＥＲＶＥＲ１＼ＳＨＡＲＥに対する接合を含み、リンク２  ７０７Ｂは、＼＼ＳＥＲＶＥＲ２＼ＳＨＡＲＥに対する接合を含み、リンク３  ７０７Ｃは、＼＼ＳＥＲＶＥＲ３＼ＳＨＡＲＥに対する接合を含む。＼＼ＳＥＲＶＥＲ１＼ＳＨＡＲＥ、＼＼ＳＥＲＶＥＲ２＼ＳＨＡＲＥ、＼＼ＳＥＲＶＥＲ２＼ＳＨＡＲＥはそれぞれ、ＤＦＳ名前空間とは異なる名前空間内の論理的オブジェクトである。これが、ＤＦＳリンク７０７と共有７１１の間の接合７１９の走査（ｔｒａｖｅｒｓａｌ）によって示される。詳細には、＼＼ＳＥＲＶＥＲ１＼ＳＨＡＲＥ、＼＼ＳＥＲＶＥＲ２＼ＳＨＡＲＥ、および＼＼ＳＥＲＶＥＲ３＼ＳＨＡＲＥは、ＵＮＣサーバ名前空間内にある。共有７１１を参照すると、＼＼ＡＢＣＤ＼ＰＵＢＬＩＣのマッピングを完成させるために、共有のそれぞれが何にマップされるかについての特定が行われる。前述したとおり、共有は、ボリューム７１３および／またはフォルダ７１７にマップされることが可能である。このため、この例を続けると、論理的オブジェクト、＼＼ＳＥＲＶＥＲ１＼ＳＨＡＲＥは、Ｄ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ１にマップされ、＼＼ＳＥＲＶＥＲ２＼ＳＨＡＲＥは、Ｄ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ２にマップされ、＼＼ＳＥＲＶＥＲ３＼ＳＨＡＲＥは、Ｆ：＼ＯＮ  ＳＥＲＶＥＲ３にマップされるものと判定される。Ｄ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ１、Ｄ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ２、およびＦ：＼ＯＮ  ＳＥＲＥＲ３は、＼＼ＡＢＣＤ＼ＰＵＢＬＩＣ５０５の論理的オブジェクトによって表される３つの物理的な保護可能なオブジェクトである。
【００４４】
図７の例で示されるとおり、スキーマ６００（図６）を利用すると、論理的な名前空間要素から、その名前空間要素によって表される作成ロケーション上に格納された物理的オブジェクトに対するマッピング関係を特定することができる。スキーマ６００内の各ポイントから、そのポイントからマッピングの次の部分にリンクするのに、どのような関係を探索することができるかが分かっている。
【００４５】
データプロテクタの名前空間走査能力は、ブラウズ、探索、ならびに論理的名前空間および論理的名前空間要素から、作成ロケーションに格納された物理的オブジェクトへのマッピングのために、任意のタイプのアプリケーションに適用することができる。例えば、ユーザインターフェースを介して、ユーザは、ワイルドカードを含む探索パラメータを指定することができ、データ保護システムは、名前空間および名前空間要素の既存のリストにクエリを行い、適切な結果を提供することができる。ユーザインターフェースは、探索要求をデータプロテクタに送り、データプロテクタは、結果をユーザインターフェースに送り返す。データプロテクタは、「探索」、「ナビゲート」、および名前空間間の「マッピング」を行う一般的な動作をサポートし、各アプリケーション名前空間の固有の構造が、スキーマの中にキャプチャされることが可能である。次に、新たなアプリケーションをサポートするようにデータプロテクタを拡張するのに、包含関係および接合関係を走査する基本的な動作をその名前空間に対して実行するモジュール、ならびに、どのようにそれらの動作をより広い「探索」動作、「ナビゲート」動作、および「マップ」動作に構成するかを記述するスキーマを提供する必要がある。
【００４６】
また、本発明の諸実施形態は、非データ保護アプリケーションのためにも使用することができる。例えば、作成ロケーションにわたって、または作成ロケーション内のサーバのセットにわたって、ストレージがどのように使用されているかを示すストレージレポートが作成されることが可能である。そのような実施形態では、ユーザは、ＤＦＳルートの下の１００ＭＢより大きいすべてのファイルを示すようにレポートを構成することができる。
【００４７】
作成ロケーションは、保護されることが可能ないくつかの異なるタイプのオブジェクトを含む。例えば、図８は、本発明の実施形態による、データ保護システムによって保護されることが可能である保護可能なオブジェクトを含む作成ロケーション８００のブロック図を示す。作成ロケーション８００内に含まれているのが、３つのサーバ８０１、８０３、および８０５である。各サーバは、独自のコンピューティングデバイス、または単一のサーバとして見える一組のコンピューティングデバイスである。各サーバは、中央のロケーションに存在することも、地理的に分散されていることも可能である。
【００４８】
ＳＥＲＶＥＲ−１  ８０１などのサーバ内に含まれているのが、１つまたは複数の「データソース」である。本明細書で使用するデータソースは、データプロテクタによって操作されるアプリケーションデータを高レベルに抽象化したものである。データソースは、データソースの物理的データを１つまたは複数の保護可能なオブジェクトとして公開し、データソース自体、保護可能なオブジェクトであることが可能である。データソースは、単一のサーバ内に含まれ、サーバは、１つまたは複数のデータソースを含むことが可能である。例えば、ＳＥＲＶＥＲ−１  ８０１は、２つのデータソース、データソース１（ＤＳ１）８０７およびデータソース２（ＤＳ２）８２１を含む。
【００４９】
同様に、データソース１  ８０７は、６つの保護可能なオブジェクト８０９、８１１、８１３、８１５、８１７、および８１９を含む。同様に、データソース２  ８２１は、２つの保護可能なオブジェクト８２３および８２５を含む。データソースが保護可能なオブジェクトを含むことに加えて、データソース自体、保護可能なオブジェクトであることが可能である。さらに、保護可能なオブジェクトが、他の保護可能なオブジェクトを含むことも可能である。例えば、データソース３  ８３５は、８つの保護可能なオブジェクト８２７、８２９、８３１、８３３、８３７、８３９、８４１、８４３を含む。保護可能なオブジェクト８３７は、保護可能なオブジェクト８３９を含み、オブジェクト８３９は、保護可能なオブジェクト８４１および８４３を含む。
【００５０】
ＳＥＲＶＥＲ−３  ８０５は、４つのデータソース、データソース４（ＤＳ４）８４５、データソース５（ＤＳ５）８５１、データソース６（ＤＳ６）８５７、およびデータソース７（ＤＳ７）８５９を含む。４つのデータソース８４５、８５１、８５７、および８５９のそれぞれが、保護可能なオブジェクトであることが可能である。データソース４  ８４５内に含まれるのが、２つの保護可能なオブジェクト８４７および８４９である。データソース５  ８５１は、２つの保護可能なオブジェクト８５３および８５５を含み、データソース６  ８５７は、保護可能なオブジェクトをまったく含まず、データソース７  ８５９は、２つの保護可能なオブジェクト８６１および８６３を含む。
【００５１】
各保護可能なオブジェクトは、データ保護システムが、異なるレベルの細分性で各データソース内の保護可能なオブジェクトを公開することを可能にする特定の保護可能なオブジェクトの種類のものである。例えば、データ保護システムは、Ｅｘｃｈａｎｇｅストレージグループデータソース全体を保護可能なオブジェクトとして、ストレージグループという保護されたオブジェクトの種類とともに公開することが可能である。また、データ保護システムは、同一のストレージグループデータソースを、データベースという保護可能なオブジェクトの種類を有する、複数の保護可能なオブジェクトに分割することもできる。同一の保護可能なオブジェクトに、２つ以上の異なる保護可能なオブジェクトの種類が存在することさえ可能である。例えば、データ保護システムは、ボリュームを、ブロックレベルで、ある保護可能なオブジェクトの種類の保護可能なオブジェクトとして公開し、ファイルレベルで、別の保護可能なオブジェクトの種類の保護可能なオブジェクトとして公開することができる。
【００５２】
データソースの例には、オペレーティングシステム、システムボリューム、Ｅｘｃｈａｎｇｅストレージグループ、ＳＱＬデータベースなどが含まれるが、以上には限定されない。サーバに関する保護可能なオブジェクトの種類の例には、レジストリやアクティブディレクトリなどの、システムに保護されたファイル、およびオペレーティングシステムデータストアが含まれるが、以上には限定されない。ファイルシステムボリュームの保護可能なオブジェクトの種類には、ディレクトリおよびファイルが含まれるが、以上には限定されない。ファイルシステムボリュームエンティティは、ファイル共有またはＤＦＳによってリンクされた目標名前空間要素によって探し出されることが可能である。Ｅｘｃｈａｎｇｅストレージグループに関する保護可能なオブジェクトの種類には、データベースおよびメールボックスが含まれるが、以上には限定されない。
【００５３】
前述したとおり、それぞれの選択可能な名前空間要素は、保護可能なオブジェクト８０１〜８６３（図８）などの１つまたは複数の保護可能なオブジェクトにマップされる。それぞれの保護可能なオブジェクトは、ある保護可能なオブジェクトの種類のものであり、それぞれの保護可能なオブジェクトは、単一のデータソース内にある。さらに、各データソースは、作成ロケーションの単一のサーバ内にある。
【００５４】
図５および図７に関連して説明した、ユーザが、名前空間要素、＼＼ＡＢＣＤ＼ＰＵＢＬＩＣ４０５（図４）を選択し、保護可能なオブジェクトに対するその名前空間要素のマッピングを続ける実施例を再び参照して、本発明の実施形態による、それらの保護可能なオブジェクトのマッピング、および保護されたグループにする関連付けを図９Ａおよび図９Ｂに関連して説明する。
【００５５】
ユーザから見て、保護されたグループのメンバは、ユーザが選択し、保護されたグループに追加した名前空間要素、ならびに自動検出グループ（以下に説明する）の結果として追加された保護可能なオブジェクトによって定義される。さらに、データ保護システムは、保護されたグループの中の各名前空間要素がいずれの保護されたオブジェクトにマップされるか、ならびに、それらの保護されたオブジェクトのそれぞれの状態をユーザが見ることができるようにする。
【００５６】
前述した実施例を再び参照すると、名前空間要素、＼＼ＡＢＣＤ＼ＰＵＢＬＩＣ４０５は、次の３つの異なる保護可能なオブジェクトにマップされる。すなわち、Ｄ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ１  ５０７、Ｄ：＼ＦＯＬＤＥＲ  ＳＥＲＶＥＲ２  ５０９、およびＦ：＼ＯＮ  ＳＥＲＶＥＲ３  ５１１である。図７に関連して説明したマッピングを済ませ、図９Ａを参照すると、Ｄ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ１  ５０７は、ＳＥＲＶＥＲ１  ９０１上のデータソース、Ｄ：＼９０７内に含まれるフォルダ９０９を参照する。Ｄ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ２  ５０９は、ＳＥＲＶＥＲ２  ９０３上のデータソース、Ｄ：＼９３５上に含まれるフォルダ９２７を参照する。最後に、Ｆ：＼ＯＮ  ＳＥＲＶＥＲ３  ５１１は、ＳＥＲＶＥＲ３  ９０５上のデータソースＦ：＼９５１を参照する。図９Ｂを参照すると、名前空間要素、＼＼ＡＢＣＤ＼ＰＵＢＬＩＣ５０５の選択は、図９Ａに関連して説明した、保護されたオブジェクトにマップされ、それらのオブジェクトは、保護されたグループ９３０に関連付けられる。前述したとおり、選択された保護されたオブジェクトの中に含まれる保護可能なオブジェクトは、保護されたグループの中に自動的に含められることが可能である。例えば、ＳＥＲＶＥＲ３  ９０５上のＦ：＼９５１に部分的にマップされる＼＼ＡＢＣＤ＼ＰＵＢＬＩＣ５０５の選択により、追加の保護可能なオブジェクト９５３および９５５が含められることが可能である。というのは、オブジェクト９５３および９５５は、ＳＥＲＶＥＲ３  ９０５上の保護されたオブジェクトＦ：＼９５１内に含まれるからである。図９Ｂに示すとおり、保護されたグループ９３０は、ＳＥＲＶＥＲ１  ９０１、ＳＥＲＶＥＲ２  ９０３、およびＳＥＲＶＥＲ３  ９０５などの、異なるサーバ上に位置する保護されたオブジェクトを含むことが可能である。
【００５７】
図１０は、本発明の実施形態による、選択された名前空間要素、マップ済みの保護されたオブジェクト、および保護されたグループのプロパティを含む保護されたグループのブロック図を示す。詳細には、保護されたグループ１０３０が、名前空間要素、＼＼ＡＢＣＤ＼ＰＵＢＬＩＣ１００５、前述した実施例に関連して説明した、マップ済みの保護されたオブジェクトのそれぞれ、および選択済みの保護されたオブジェクト内に含まれる保護されたオブジェクトを含む。詳細には、保護されたグループ１０３０は、Ｄ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＥＲ１  １００９、Ｄ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ２  １０２７の保護されたオブジェクトを含む。さらに、保護されたグループ１０３０は、Ｆ：＼ＯＮ  ＳＥＲＶＥＲ３  １０５１、ならびに保護されたオブジェクト、Ｆ：＼ＯＮ  ＳＥＲＶＥＲ３  １０５１内に含まれる２つの保護されたオブジェクト１０５３、１０５５を含む。
【００５８】
保護されたグループ１０３０などのそれぞれの保護されたグループは、スケジュール１０４１、スペース割り当て規則１０４３などを含むことが可能なグループプラン１０４０を含む。グループプランは、グループを保護するためのジョブ、およびその他の情報を含む。保護されたグループは、操作の簡略化のために保護されたオブジェクトを集める。保護されたグループの中のすべての保護されたオブジェクトは、保護インテントの同一の集合から生成された同一のグループプランを共有する。
【００５９】
要するに、保護されたグループは、１つまたは複数の保護された名前空間要素を含む。それぞれの保護された名前空間要素により、１つまたは複数の保護可能なオブジェクトが探し出される。保護可能なオブジェクトは、データソース上に位置する。データソースは、少なくとも１つの保護されたグループのメンバであることが可能である。保護している間、保護されたグループマッピングが、定期的に再評価されて、保護されたグループ自体の中に含められるべき可能性がある、新たに検出された保護可能なオブジェクトが識別され、保護されたオブジェクトに至る論理的パスの変更が検出される。以下に説明するこの定期的評価は、自動検出グループを使用して達せられる。
【００６０】
次に、図１１、図１２、図１３、図１６、図２３Ｂ、図２５、図２６、図２７、図２８、図２９、図３０、図３１、図３２、図３３、図３４、図３５、図３６、図３８、図３９、４１、図４８Ａ、図４８Ｂ、図４８Ｃ、図４９Ａ、図４９Ｂ、図４９Ｃ、図５２、図５３、図５４、図５５、図５６、図５７、図５８、および図５９を参照すると、本発明の諸実施形態によって実施される、複数の異なるルーチンが示されている。ルーチンは、サーバなどの単一のコンピューティングデバイス上で実施されても、いくつかのコンピューティングデバイスに分散されてもよいことが当業者には理解されよう。図１１、図１２、図１３、図１６、図２３Ｂ、図２５、図２６、図２７、図２８、図２９、図３０、図３１、図３２、図３３、図３４、図３５、図３６、図３８、図３９、４１、図４８Ａ、図４８Ｂ、図４８Ｃ、図４９Ａ、図４９Ｂ、図４９Ｃ、図５２、図５３、図５４、図５５、図５６、図５７、図５８、および図５９は、特定の諸機能を実行するためのブロックを示す。代替の実施形態では、より多くのブロック、またはより少ないブロックを使用することもできる。本発明の実施形態において、ブロックは、ソフトウェアプログラム、ソフトウェアオブジェクト、ソフトウェア機能、ソフトウェアサブルーチン、ソフトウェアメソッド、ソフトウェアインスタンス、コードフラグメント（ｆｒａｇｍｅｎｔ）、ハードウェア動作、およびユーザ動作を単独で、または組合せで表すことが可能である。
【００６１】
図１１は、本発明の実施形態による、保護されたグループを保護するためのプランを構成するための構成ルーチンの流れ図である。構成ルーチン１１００は、ブロック１１０１で始まり、ブロック１１０３で、ルーチンは、ユーザインターフェースと対話するユーザから、名前空間要素の選択、および保護インテントを獲得する。以下に説明するとおり、ユーザは、保護のために複数の名前空間要素を選択することができる。与えられた保護インテントは、選択された要素のすべてに適用される。ブロック１１０５で、選択された名前空間要素が、適切な保護可能なオブジェクトにマップされる。
【００６２】
判定ブロック１１０７で、追加の名前空間要素が、前に選択された名前空間要素に含められるように選択されているかどうかが判定される。ブロック１１０７で、追加の名前空間要素が選択されていると判定された場合、ルーチンは、ブロック１１０３の選択された名前空間要素を獲得することに戻る。しかし、判定ブロック１１０７で、追加の名前空間要素がまったく存在しないと判定された場合、ブロック１１０９で、データプロテクタが、ブロック１１０５でマップされた関連する保護可能なオブジェクトを保護するために使用される、選択された名前空間要素に関する保護されたグループを生成する。保護されたグループに加えられた保護可能なオブジェクトは、保護されたオブジェクトになる。
【００６３】
ブロック１１１１で、保護のためのグループプランが、ブロック１１０３でユーザによって与えられた保護インテントに基づいて生成される。保護のためのグループプランは、保護の頻度、および所望される保護のタイプを含むことが可能である。保護タイプの例には、「バックグラウンド保護」、「バックアップ保護」、およびアーカイブ保護が含まれるが、以上には限定されない。バックグラウンド保護とは、保護がほぼ継続的である（例えば、コピーが、毎時間、１日２４時間、週７日、更新される）保護タイプを指す。バックアップ保護とは、保護が特定の時点（例えば、夜間に１回、毎晩）行われるようにスケジュールされる保護タイプを指す。グループプランは、保護されたグループのすべての保護されたオブジェクトに適用される。グループプランの生成を以下に説明し、「インテント変換」と呼ぶ（図３１〜図３４）。
【００６４】
ブロック１１１３で、保護されたオブジェクトを含む保護ロケーション、およびオブジェクトのコピーが格納される格納ロケーションが、保護のために準備される。例えば、データプロテクタが、格納ロケーションに格納され、正確さに関して検証されるデータの初期コピーを作成する。ブロック１１１５で示すとおり、保護が開始され、選択された名前空間要素に関連する保護されたオブジェクトがコピーされ、格納された後、ルーチンは、ブロック１１１７で終了する。
【００６５】
図１２は、本発明の実施形態による、ブロック１１０９（図１１）で述べた、保護されたグループの作成をより詳細に説明する保護されたグループ作成ルーチンを示す。保護されたグループ作成ルーチン１２００は、ブロック１２０１で始まり、ブロック１２０３で、保護が実行されるべき名前空間要素の選択が受け取られる。さらに、選択された名前空間要素に関する保護インテントも受け取られる。判定ブロック１２０５で、受け取られた名前空間要素が、新たな保護されたグループに追加されるべきか、または既存の保護されたグループに含められるべきかが判定される。名前空間要素が、新たな保護されたグループに追加されるべきでないと判定された場合、ブロック１２０７で、名前空間要素が含められるべき既存の保護されたグループの選択が獲得される。
【００６６】
ブロック１２０９で、以下により詳細に説明するとおり（図１３）、名前空間要素に関連するデータソースの重複が解決される。最後に、ブロック１２１１で、既存の保護されたグループが、追加の名前空間要素、および関連する保護可能なオブジェクトを含むように更新される。さらに、ユーザは、保護されたグループに関するグループプランを変更するオプションを有することも可能である。
【００６７】
判定ブロック１２０５を再び参照すると、受け取られた名前空間要素が、新たな保護されたグループに追加されるべきであると判定された場合、ブロック１２１３で、それらの名前空間要素に関連するデータソースの重複が解決される。ブロック１２１５で、新たな保護されたグループの名前が受け取られる。一実施例では、新たな保護されたグループの名前は、ユーザインターフェースを介してユーザによって与えられることが可能である。代替として、保護されたグループの名前は、データ保護システム自体によって自動的に生成されることも可能である。ブロック１２１７で、グループプランが、保護されたグループに関して、データ保護システムに前に与えられた保護インテントに依存して作成される。ブロック１２１９で、保護されたグループを作成するルーチンが完了する。
【００６８】
図１３は、本発明の実施形態による、２つ以上の保護されたグループの中に含まれるデータソースの重複を検出するための、ブロック１２０９および１２１３（図１２）に対応する重複検出ルーチンを示す。重複検出ルーチン１３００は、ブロック１３０１で始まり、判定ブロック１３０３で、選択された名前空間要素に関連する保護可能なオブジェクトの包含側（ｃｏｎｔａｉｎｉｎｇ）データソースが、別の保護されたグループ（既存の保護されたグループ）の中に現在、含まれているかどうかが判定される。選択された名前空間要素に関連する保護可能なオブジェクトを含むデータソースが、既存の保護されたグループの中にまったく含まれていないと判定された場合、ルーチンは、ブロック１３１３で終了し、保護されたグループ作成ルーチン１２００（図１２）などの適切なルーチンに制御を戻す。
【００６９】
しかし、選択された名前空間要素に関連する保護可能なオブジェクトの包含側データソースが、既存の保護されたグループの中に含まれている（すなわち、重複）と判定された場合、判定ブロック１３０５〜１３０７で、検出された重複がどのように解決されるべきかについての判定が行われる。本発明の実際の実施形態では、重複の解決は、ユーザの決定に依存する。例えば、重複が検出された場合、最新の保護されたグループから、重複するデータソース（「競合する保護可能なオブジェクト」）の保護可能なオブジェクトを除外する（１３０５）、または重複を生じさせる、競合する保護可能なオブジェクトを含むデータソースを既存の保護されたグループから除去し、そのデータソースを最新の保護されたグループに追加する（１３０７）オプションが、ユーザに与えられることが可能である。代替の実施形態では、重複検出ルーチン１３００の中を進むために使用される、重複を解決するためのグローバルポリシーが、ユーザによって与えられることも可能である。さらに別の実施形態では、重複を生じさせる保護可能なオブジェクトを保護されたグループに追加しようとする試みは、失敗をもたらす。
【００７０】
判定ブロック１３０５で、競合する保護可能なオブジェクトが、そのオブジェクトが現在、追加されている保護されたグループ（最新の保護されたグループ）から除外されるべきかどうかについての判定が行われる。判定ブロック１３０５で、競合する保護可能なオブジェクトが、最新の保護されたグループから除外されるべきであると判定された場合、その保護可能なオブジェクトは、最新の保護されたグループから除去されるが、競合を生じさせた既存の保護されたグループの中に残り、重複検出ルーチンは、ブロック１３１３で示すとおり、制御を開始ルーチンに戻す。
【００７１】
判定ブロック１３０５で、競合する保護可能なオブジェクトが、最新の保護されたグループから除外されるべきでないと判定された場合、ルーチンは、判定ブロック１３０７で、保護可能なオブジェクトのデータソース、ならびにそのデータソース内に含まれるすべての保護されたオブジェクトを既存の保護されたグループから除去し、除去されたデータソース、除去された保護されたオブジェクト、および競合する保護可能なオブジェクトを最新の保護されたグループに追加するかどうかを判定する。データソース、および包含される保護されたオブジェクトが、既存の保護されたグループから除去され、最新の保護されたグループに追加された場合、ルーチンは、ブロック１３１３で完了し、制御を、制御がやって来た適切なルーチンに戻す。
【００７２】
判定ブロック１３０７で、競合する保護可能なオブジェクトのデータソース、およびすべての包含される保護されたオブジェクトが、既存の保護されたグループから除去されて、最新の保護されたグループに追加されるべきではないと判定された場合、重複検出ルーチン１３００が、ブロック１３１１で示すとおり、重複エラー（ｆａｉｌｕｒｅ）を生じさせ、ブロック１３１３で完了する。
【００７３】
ユーザが、作成ロケーション上に格納された物理的オブジェクト（保護可能なオブジェクト）を、それらの保護可能なオブジェクトを表す名前空間要素を選択することによって保護することができるのと同様に、ユーザは、回復されるべき物理的オブジェクトを表す名前空間要素の選択により、物理的オブジェクト（回復可能なオブジェクト）を回復することもできる。図１４は、本発明の実施形態による、保護されたオブジェクトを回復するための回復プロセスの流れを示すデータ保護システムの流れ図である。オブジェクトを回復するのに、ユーザは、回復されるべき保護されたオブジェクトを表す１つまたは複数の名前空間要素を選択する。データプロテクタ１４０１は、名前空間要素の選択を受け取ったことに応答して、格納ロケーション１４０３にクエリを行い、ユーザによって与えられた、選択された名前空間要素に関連する回復可能なオブジェクトの一時バージョンを明らかにする。代替の実施形態では、格納ロケーション１４０３にクエリを行い、一時バージョンを明らかにすることは必要でない可能性がある。例えば、アーカイブからの回復では、データプロテクタ１４０１は、利用可能な一時バージョンを明らかにする情報を含むカタログまたはデータベースを探索することにより、一時バージョンを明らかにすることができる。明らかにされた一時バージョンは、合成され、データを回復することができる時点の表現としてユーザに提供される。
【００７４】
ユーザは、回復されるべき時点を選択し、その時点に関する回復インテントを与える。回復インテントの例を以下により詳細に説明する。何が回復されるべきか、および対応する回復インテントについてユーザから受け取ると、データプロテクタ１４０１によって回復プランが作成され、実行されて、格納ロケーション１４０３上に位置する適切な回復可能なオブジェクトが、回復され、作成ロケーション１４０５に伝送される。
【００７５】
図１５は、本発明の実施形態による、格納ロケーション１４０３上に含まれることが可能である回復可能なオブジェクトのより詳細な表示を示すブロック図である。一般に、回復は、破損した、または欠落している保護されたオブジェクト（または保護されたオブジェクトの諸部分）を前の一時バージョンに戻す。一時バージョン設定は、不連続であることも、ほぼ連続的であることも可能である。不連続な一時バージョンは、保護されたオブジェクトの現存する時点の完全なコピー（ｐｅｒｓｉｓｔｉｎｇ  ｐｏｉｎｔ−ｉｎ−ｔｉｍｅ  ｆｕｌｌ  ｃｏｐｙ）から生じる。不連続な一時バージョンの回復は、保護されたオブジェクトの復元だけを要求することも、復元の後、追加の回復処理を要求することも可能である。ほぼ連続的な一時バージョンは、保護されたオブジェクトに関連するログの現存する時点のコピーから生じる。回復は、ログのロールフォワード（ｒｏｌｌ  ｆｏｒｗａｒｄ）アプリケーションによって行われる。本発明の実施形態では、ロールフォワードは、ログ内に含まれる任意の時点で停止することができる。
【００７６】
本明細書で説明する回復可能なオブジェクトは、保護されたオブジェクトの回復の可能性を表す。それぞれの回復可能なオブジェクトは、１つまたは複数の回復ソースから生成されることが可能である。回復ソースは、レプリカに関連する一時バージョン上、レプリカ内、アーカイブテープ上、またはディスク上のアーカイブされたコピー上に位置することが可能である。
【００７７】
次に、図１５を参照すると、保護されたオブジェクト１５０９が、１つまたは複数の回復可能なオブジェクト１５１１、１５１３、１５１５、１５１７、１５１９、１５２１を含むことが可能である。一般に、回復可能なオブジェクトは、保護されたオブジェクトより細粒度が高いことが可能である。例えば、保護されたオブジェクトは、Ｄ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ１  １５０９のようなフォルダであることが可能である。その保護されたオブジェクト１５０９は、複数の回復可能なオブジェクトを含むことが可能である。例えば、保護されたオブジェクト、Ｄ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ１  １５０９は、ＦＩＬＥ１  １５１１、ＦＩＬＥ２  １５１３、ＦＩＬＥ３  １５１５、ＦＩＬＥ４  １５１７、ＦＩＬＥ５  １５１９、およびＦＩＬＥ６  １５２１を含む、６つの回復可能なオブジェクトを含むことが可能である。さらに、保護されたオブジェクト１５０９も、回復可能なオブジェクトである。
【００７８】
保護されたオブジェクトおよび保護方法の最初の選択により、しばしば、使用できる回復可能なオブジェクトおよび／または回復に必要な作業が決まる。例えば、保護されたオブジェクトが、メールボックスを含むデータベース群を含むＥｘｃｈａｎｇｅストレージグループである場合、そのストレージグループ内のすべてのデータベースが暗黙のうちに保護されることが可能である。ストレージグループ全体、またはデータベースの１つまたは複数が、回復されることが可能であり、したがって、それらは回復可能なオブジェクトである。保護が、アーカイブ（以下に説明する）だけによって実行され、レプリケーションが実行されない場合、メールボックス回復は、非常に時間がかかる（高価である）可能性が高い。保護が、アーカイブだけでなく、レプリケーションによっても実行される場合、レプリカからのメールボックス回復は、大幅により高速になる（より安価になる）可能性がある。
【００７９】
保護されたオブジェクトが、ストレージグループのデータベースである場合、ストレージグループは、完全には保護されない可能性があるが、選択されたデータベース内に含まれるメールボックス群は、保護される。しかし、保護されたオブジェクトがメールボックスである場合、関連するデータベースまたはストレージグループの暗黙の保護は、存在しない可能性がある。保護が、アーカイブだけによって実行され、レプリケーションが実行されない場合、アーカイブが、選択されたメールボックス以外を回復することができる可能性は低い。代替として、メールボックスが、異なる保護されたグループの一部としてレプリケートされるデータベースの一部であること分かっている場合、メールボックス回復は、他方の保護されたグループのレプリカから行われ、アーカイブ媒体からは行われないことも可能である。
【００８０】
図１６は、本発明の実施形態による、格納ロケーションから保護されたオブジェクトを回復するための回復ルーチンを示す。回復ルーチン１６００は、ブロック１６０１で始まり、ブロック１６０３で、回復されるべき名前空間要素の選択が、ユーザインターフェース上に表示された名前空間要素と対話するユーザから受け取られる。ユーザは、回復されるべきデータに関する回復インテントも与えることができる。ブロック１６０５で、データが回復されるべき特定の時点のバージョンの選択が受け取られる。本発明の実施形態では、ユーザは、回復が行われるべき特定の時点を与える。別の実施形態では、一時バージョンが、選択された名前空間要素に関して明らかにされ、選択のためにユーザに提供されることが可能である。
【００８１】
ブロック１６０７で、さらなる要素が回復のために選択されているかどうかが判定される。さらなる要素が回復のために選択されていると判定された場合、ルーチンは、ブロック１６０３に戻り、回復されるべきそれらのさらなる名前空間要素の選択を受け取る。しかし、回復されるべきさらなる要素がまったく存在しないと判定された場合、ブロック１６０９で、回復可能なオブジェクトは、前述したマッピングスキーマ、および受け取られた回復インテントを利用して、格納ロケーション上に位置する適切な回復ソースにマップされる。
【００８２】
必要な回復ソースが明らかにされると、ブロック１６１１で、回復プランが作成される。回復プランは、適切な回復ソースから回復可能なオブジェクトの要求された時点のバージョンを合成するためのプロセスを含む。ブロック１６１３で、そのプランが実行され、明らかにされた回復可能なオブジェクトが回復される。ブロック１６１５で、回復ルーチンが終了する。
【００８３】
前述したとおり、保護されたグループを作成することに加え、データ保護システムは、自動検出グループおよび保存探索を生成することも行う。自動検出グループおよび保存探索は、作成ロケーションに対する変更をユーザに知らせる自動化された手段を提供する。例えば、変更には、サーバ、Ｅｘｃｈａｎｇｅストレージグループ、データベース、ボリューム、および共有などのコンピューティングデバイスの追加または除去、ならびに名前空間要素と保護可能なオブジェクトの間におけるマッピングの変更が含まれることが可能である。作成ロケーション変更の通知をユーザに与えることにより、ユーザが、保護される必要がある新たなデータを保護する適切なアクションを行うことができるようになり、データが再配置された場合、または除去された場合に、ユーザの保護計画を調整することができるようになる。
【００８４】
自動検出グループは、保護されるべきものを、別々の物理的リソースセットとしてではなく、クエリとして記述するための仕組みである。例えば、組織が、すべてのファイルサーバを、＼＼ＦＩＬＥＳＲＶ１、＼＼ＦＩＬＥＳＲＶ２などのように、＼＼ＦＩＬＥＳＲＶ*として名付けたものと想定されたい。その組織のユーザが、＼＼ＦＩＬＥＳＲＶ*という名前のあらゆるサーバ上のすべての共有を定期的に探索する自動検出グループを作成することができる。自動検出グループは、すべてのそのような共有を探し出し、ユーザが、それらの共有に位置する、または関連する任意の保護可能なオブジェクトの保護を選択する、または拒否することを可能にする。さらに、本発明の実施形態では、自動検出グループは、定期的に再評価されることが可能であり、ユーザは、あらゆる新たな共有の通知を受けて、それらの新たな共有の保護を承認する、または拒否する機会を与えられることが可能である。さらに、再評価は、除去された既存の共有を明らかにし、除去の通知をユーザに与える。
【００８５】
自動検出グループは、データプロテクタによって、名前空間要素と保護可能なオブジェクトの間のマッピングを追跡するのにも使用されることが可能である。前述した実施例を再び参照して、ユーザが、パス、＼＼ＡＢＣＤ＼ＰＵＢＬＩＣを保護したものと想定されたい。データ保護システムは、＼＼ＡＢＣＤ＼ＰＵＢＬＩＣという名前、ならびにＤ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ１、Ｄ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ２、およびＦ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ３などの保護されたオブジェクトへのマッピングを含む自動検出グループを自動的に生成する。将来、＼＼ＡＢＣＤ＼ＰＵＢＬＩＣが、同一サーバ上、または異なるサーバ上の異なるフォルダを指すように変更された場合、ユーザは、データプロテクタによってその変更について知らされ、保護を調整する機会を与えられる。
【００８６】
図１７〜図２４は、本発明の実施形態による、自動検出グループを作成し、利用することに関する流れ図を示す。図１７〜図２４の説明に関して、データ保護システムが、保護が所望されるいくつかのサーバ（作成ロケーション１７０３として示す）のある職場に設置されたばかりであるものと想定する。
【００８７】
データ保護システム１７００の初期設定の後、データプロテクタ１７０１が、作成ロケーション１７０３にクエリを行い、作成ロケーション内に含まれる保護可能なオブジェクトを表す名前空間および名前空間要素を明らかにする。データプロテクタ１７０１は、ユーザが対話し、選択するために、名前空間、および包含される名前空間要素の階層表示の形態で、ユーザインターフェース１７０５を介して名前空間および名前空間要素をユーザに公開する。
【００８８】
ユーザは、ユーザインターフェース１７０５と対話して、＼＼ＡＢＣＤ＼ＰＵＢＬＩＣ名前空間要素１７０７などの１つまたは複数の名前空間要素を、保護のために選択することができる。名前空間要素を保護のために選択することに加えて、ユーザは、関連する保護可能なオブジェクトがどのように保護されることをユーザが所望するかを明らかにする保護インテントを与える。選択された名前空間要素、および保護インテントの指示は、データプロテクタ１７０１に戻される。
【００８９】
次に、図１８を参照すると、データプロテクタ１７０１は、名前空間要素の選択を、作成ロケーション１７０３上に位置する保護可能なオブジェクトにマップする。例えば、名前空間要素、＼＼ＡＢＣＤ＼ＰＵＢＬＩＣ１７０７が選択されると、データプロテクタは、前述したとおり、名前空間スキームを利用して、その名前空間要素を保護可能なオブジェクトにマップする。そのマッピングにより、名前空間要素、＼＼ＡＢＣＤ＼ＰＵＢＬＩＣ１７０７が、保護可能なオブジェクト、Ｄ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ１  １７０９、および保護可能なオブジェクト、Ｄ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ２  １７１１にマップされることが明らかになる。代替の実施形態では、名前空間要素の初期検出中、要素は、その時点で対応する保護可能なオブジェクトにマップされることが可能である。
【００９０】
データプロテクタ１７０１は、選択された名前空間要素、保護されたオブジェクトになる保護可能なオブジェクトの識別、自動検出グループ１７１３、および自動検出グループテーブル１７１５を含む、保護されたグループを作成する。前述したとおり、ユーザによって与えられたインテントに基づき、保護されたグループは、保護されたグループが実際にどのように保護されるべきかを記述するグループプランも含む。自動検出グループ１７１３は、＼＼ＡＢＣＤ＼ＰＵＢＬＩＣ＼*などの名前空間探索パラメータ、ならびに保護されたオブジェクト、Ｄ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ１、および保護されたオブジェクト、Ｄ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ２に対するその名前空間要素の最新のマッピングを含む。選択された名前空間要素に関する名前空間探索パラメータを含む自動検出グループ１７１３を作成することにより、その名前空間探索パラメータに一致する作成ロケーションに対する追加、除去、および再マッピングを以降に探索する能力がデータプロテクタに与えられる。あらゆるそのような変更が、保護に関して重要になる可能性があるため、警告を介してユーザに報告される。警告は、様々な形態でユーザに与えられることが可能である。例えば、警告は、ユーザインターフェース、電子メール、ページ、音声メッセージなどを介して与えられることが可能である。
【００９１】
自動検出グループ１７１３を作成することに加えて、データプロテクタ１７０１は、保護されたオブジェクトに対する最新のマッピングの識別、およびそれらの保護されたオブジェクトに関する情報を含む、自動検出グループテーブル１７１５も作成する。詳細には、情報には、保護されたオブジェクトに対するマッピングが、一致列（ｍａｔｃｈ  ｃｏｌｕｍｎ）１７１７の示すところにより、自動検出グループ１７１３の中に含まれる自動検出グループパラメータに一致するかどうか、保護されたオブジェクトが、保留状態列１７１９の示すところにより、現在、ユーザアクション待ち（ｐｅｎｄｉｎｇ  ｕｓｅｒ  ａｃｔｉｏｎ）であるかどうか、マップ済みの保護されたオブジェクトが、プラン保護（「ＰＰ」）の列１７２１の示すところにより、グループプランの下で、現在、保護されているかどうか、およびユーザ保護（「ＰＵ」）の列１７３１の示すところにより、マップ済みの保護されたオブジェクトが、現在、ユーザによって保護されているかどうかが含まれる。以下に説明するとおり、オブジェクトは、ユーザによっては保護されているが、データ保護システムによっては未だ保護されていない可能性がある。例えば、ユーザが、特定のオブジェクトを保護することを所望することを示して、そのオブジェクトをユーザによって保護されているようにすることが可能であるが、オブジェクトは、その保護されたオブジェクトに関してインテント変換が完了するまで、プランによって保護されるようにならない可能性がある。
【００９２】
保護されたグループ、自動検出グループ、グループプラン、および自動検出グループテーブルの作成の後、データ保護システムは、本発明の実施形態によれば、保護のために作成ロケーションおよび格納ロケーションを準備する。ロケーションが、保護のために準備された後（例えば、リソースプラン）、選択された保護可能なオブジェクトの初期コピーを作成するための初期ステップが実行され（準備プラン）、次に、保護が開始される（保護プラン）。
【００９３】
選択済みの保護されたオブジェクトが保護されて、何らかの所定の時間が経過した後、データ保護システムは、自動検出グループを実行し、作成ロケーション１７０３を再マップする。例えば、自動検出グループは、毎晩１回、実行されるようにスケジュールされることが可能である。夜間に、または作成ロケーションにおける活動が少ない何らかの時間帯に自動検出グループを実行することにより、作成ロケーションにかかる負荷の量が軽減される。
【００９４】
説明のため、図１７〜図２４に関連して説明する実施例に戻ると、自動検出グループが実行され、自動検出グループ結果１７２３（図１９）により、＼＼ＡＢＣＤ＼ＰＵＢＬＩＣ＼*という自動検出グループ探索パラメータに一致する唯一の保護可能なオブジェクトは、Ｄ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ２という保護可能なオブジェクトであることが明らかにされる。データプロテクタ１７０１は、自動検出グループ結果１７２３を自動検出グループテーブル１７１５と比較する。この実施例では、比較により、Ｄ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ１という保護されたオブジェクトが、自動検出グループ探索パラメータともはや一致しないことが明らかになる。Ｄ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ１は、様々な理由で、探索パラメータともはや一致しないことが可能である。例えば、Ｄ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ１が、もはや存在しないこと、またはＤ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ１が、＼＼ＡＢＣＤ＼ＰＵＢＬＩＣの下に、もはやマップされていないことが可能である。
【００９５】
比較の後、テーブル１７１５が更新されて、Ｄ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ１という保護されたオブジェクトが、結果の中で戻されておらず、したがって、一致列１７１７の中で「Ｎ」で示されるとおり、自動検出グループ探索パラメータともはや一致しないことが示される。さらに、自動検出グループテーブル１７１５は、Ｄ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ１という保護されたオブジェクトに関して更新されて、列１７１９の中の「Ｙ」で示されるとおり、ユーザ対話が、その保護されたオブジェクトに関して、現在、保留状態（ｐｅｎｄｉｎｇ）であることが示される。ユーザ対話は、保護されたオブジェクトが、自動検出グループパラメータともはや一致しないために、現在、保留状態である。Ｄ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ１は、ＰＰ列１７２１およびＰＵ列１７３１の中のＹで示されるとおり、プランの下で保護されており、ユーザによって保護されているというマークが付けられたままになる。
【００９６】
また、自動検出グループテーブル１７１５は、更新されて、Ｄ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ２が、自動検出グループ探索パラメータと一致し、列１７２１および列１７３１の中の「Ｙ」でそれぞれ示されるとおり、プランにおいて保護され、ユーザによって保護されたままであることも示される。最後に、保護されたオブジェクト、Ｄ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ２に関して、このオブジェクトは、一致し、保護されているため、保留状態列１７１９の中の「Ｎ」で示されるとおり、保留状態のユーザアクションはまったくないという指示が行われる。
【００９７】
次に、図２０を参照すると、自動検出グループが実行され、自動検出グループテーブルが更新され、警告が生成された後の翌朝、ユーザが、データ保護システムにアクセスし、Ｄ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ１という保護されたオブジェクトが、自動検出グループ探索パラメータにもはや一致しないという通知をデータ保護システムから与えられる。
【００９８】
これに応答して、データ保護システムは、その保護されたオブジェクトを保護されたグループから除去するようにという指示をユーザから受け取る。データプロテクタ１７０１は、自動検出グループを更新して、保護されたグループからＤ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ１のマッピングを除去し、自動検出グループテーブル１７１５を更新する。詳細には、Ｄ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ１には、ＰＵ列１７３１の中の「Ｎ」で示されるとおり、もはや、ユーザによって保護されていないというマークが付けられ、保留状態列１７１９の中の「Ｎ」で示されるとおり、もはや保留状態ではないというマークが付けられる。この時点で、Ｄ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ１は、保護されたグループからＤ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ１を除去するようにインテント変換がまだ実行されていないため、プランによって保護されたままである。
【００９９】
オブジェクトは、自動検出グループテーブル１７１５の中に保持され、ユーザによって保護されていないというマークが付けられて、自動検出ルーチンの次の実行によってそのオブジェクトが識別された場合、承認待ち（ｐｅｎｄｉｎｇ  ａｐｐｒｏｖａｌ）としてユーザに提示されないようにする。というのは、オブジェクトは、保護から既に除外されているからである。オブジェクトは、もはやユーザによって保護されていないので、保護可能なオブジェクトとなる。
【０１００】
図２１は、前の実施例を続け、ユーザが、Ｄ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ１をもはや保護することを所望しないことを示した後のある時点で、インテント変換が実行される。インテント変換が実行されると、グループプランが更新され、Ｄ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ１が、保護されたグループから除去される。Ｄ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ１は、保護されたグループによってもはや保護されていないものの、保護されたグループの既存の一時バージョンは、格納ロケーションに格納されたままであり、Ｄ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ１が、プランによって保護されなくなる時点まで、Ｄ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ１を回復するのに利用することができる。インテント変換が完了すると、自動検出グループテーブル１７１５が更新される。詳細には、Ｄ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ１に、ＰＰ列１７２１の中の「Ｎ」で示されるとおり、プランによって保護されていないというマークが付けられる。
【０１０１】
インテント変換が完了した後のある時点で、自動検出グループが、再び実行され、作成ロケーション１７０３にクエリを行い、自動検出グループ探索パラメータを、作成ロケーション１７０３上に位置するオブジェクトに再マップする。自動検出グループ探索パラメータのマッピングが完了すると、自動検出グループ結果１７２５が提供され、探索パラメータが、Ｄ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ２という保護されたオブジェクト、およびＥ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ２という新たな保護されたオブジェクト１７２７にマップされるという指示を含む。この場合も、データプロテクタ１７０１は、その結果を自動検出グループテーブル１７１５と比較する。この比較により、Ｄ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ２という保護されたオブジェクトが、自動検出グループ探索パラメータとやはり一致し、ユーザアクション待ちではなく、ユーザとグループプランの両方によって保護されたままであることが示される。さらに、Ｅ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ２という新たな保護可能なオブジェクトは、自動検出グループ探索パラメータと一致し、ＰＰ列１７２１の中の「Ｎ」で示されるとおり、グループプランによって現在、保護されておらず、ＰＵ列１７３１の中の「Ｎ」で示されるとおり、ユーザによって現在、保護されておらず、保留状態列１７１９の中の「Ｙ」で示されるとおり、現在、ユーザアクション待ちである。比較が完了すると、自動検出グループテーブル１７１５は、更新されて、新たなマッピング、およびすべてのオブジェクトのステータスが明らかにされる。
【０１０２】
Ｅ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ２の保護可能なオブジェクトは、プランまたはユーザによって現在、保護されていない。何故なら、このオブジェクトは、自動検出グループによって新たに明らかにされたからである。データ保護システム１７０１は、ユーザに与えられる警告を生成して、保護されたグループの中の保護されたオブジェクトに類似した、新たな保護可能なオブジェクトが、作成ロケーションに追加されていることを示す。警告が生成されるのは、ユーザが、保護されたグループの一部として、この新たに明らかにされた保護可能なオブジェクトを追加で保護することに関心がある可能性があるからである。
【０１０３】
図２２で、ユーザは、警告を受け取っており、自動検出グループによって自動的に明らかにされた、新たに明らかにされた保護可能なオブジェクトの保護を開始する応答を与える。Ｅ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ２という保護可能なオブジェクトも、保護されたグループに追加され、これにより、保護されたオブジェクトになる。同様に、データプロテクタ１７０１は、自動検出グループテーブル１７１５に、Ｅ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ２というオブジェクトが、もはやユーザアクション待ちではなく、ユーザによって保護されているが、この時点ではプランによって保護されていないという指示を追加する。
【０１０４】
図２３Ａは、前述した実施例を続け、新たに明らかにされた保護可能なオブジェクトを保護されたグループに追加するユーザによる指示の後のある時点で、インテント変換が実行され、Ｅ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ２が、プランによって保護されるようになる。インテント変換が完了すると、自動検出グループログ１７１５が更新されて、ＰＰ列１７２１の中の「Ｙ」で示されるとおり、Ｅ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ２が、現時点で、プランによって保護されていることが示される。
【０１０５】
インテント変換が完了した後のある時点で、データプロテクタ１７０１は、自動検出グループルーチンを再び実行し、＼＼ＡＢＣＤ＼ＰＵＢＬＩＣ＼*という自動検出グループ探索パラメータを、作成ロケーション１７０３に位置するオブジェクトに再マップする。自動検出グループルーチンが完了すると、データプロテクタは、Ｄ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ２、およびＥ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ３  １７２９というマッピングを明らかにしている。これらの結果は、自動検出グループテーブル１７１５と比較し、テーブル１７１５を更新するのに使用されて、Ｄ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ２という保護されたオブジェクトが、自動検出グループ探索パラメータにやはり一致し、ユーザアクション待ちではなく、データ保護システムによって保護されたままであり、ユーザによって保護されたままであることが示される。さらに、Ｅ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ２という以前に保護されていたオブジェクトは、自動検出ルーチンによって識別されなかったが、ユーザおよび保護プランによって保護されたままであり、したがって、ユーザアクション待ちであることが示される。さらに、Ｅ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ３という新たな保護可能なオブジェクトの追加が、自動検出グループ探索パラメータに一致しているとして明らかにされるが、このオブジェクトは、新たに明らかにされ、したがって、ユーザアクション待ちであるため、ユーザまたは保護プランによって、現在、保護されていない。自動検出グループテーブルが更新されると、データプロテクタ１７０１は、Ｅ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ２という以前に保護されていたオブジェクトが、自動検出グループ探索パラメータともはや一致せず、Ｅ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ３が作成ロケーションに追加されており、自動検出グループ探索パラメータと一致することを明らかにすることを含む警告を生成する。この警告は、保護されたオブジェクト、Ｅ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ２が、Ｅ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ３に移動されている可能性があることをユーザに示す可能性がある。そのような変更の自動検出なしには、ユーザは、古いオブジェクトを保護し続け、新たなオブジェクトに対する保護を提供していない可能性がある。
【０１０６】
図２３Ｂは、本発明の実施形態による、図２３Ａで検出されるような、保護された名前空間要素の再マップを解決するための再マップ解決ルーチンを示す。再マップ解決ルーチン２３００は、名前空間要素が移動されている可能性があると判定された場合に実行される。例えば、Ｅ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ２に以前にマップされていた、＼＼ＡＢＣＤ＼ＰＵＢＬＩＣ＼ＬＩＮＫ３が、Ｅ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ３にマップされている可能性がある。
【０１０７】
再マップ解決ルーチン２３００は、ブロック２３０１で開始する。ブロック２３０３で、自動検出グループが評価され、保護された名前空間要素が、ある保護可能なオブジェクトから別の保護可能なオブジェクトに再マップされていると判定される。判定ブロック２３０５〜２３０９で、再マップがどのように解決されるべきかについての判定が行われる。
【０１０８】
詳細には、判定ブロック２３０５で、新たなマッピングが排他的に保護されるべきかどうかの判定が行われる。新たなマッピングが排他的に保護されるべきであると判定された場合、ブロック２３１１で、古いマッピングに、ユーザによって保護されていないというマークが付けられ、新たなマッピングに、ユーザによって保護されているというマークが付けられる。しかし、新たなマッピングが排他的に保護されるべきではないと判定された場合、判定ブロック２３０７で、古いマッピングが排他的に保護されるべきかどうかの判定が行われる。古いマッピングが排他的に保護されるべきである場合、ブロック２３１１で、古いマッピングに、ユーザによって保護されているというマークが付けられ、新たなマッピングに、保護されていないというマークが付けられる。しかし、判定ブロック２３０７で、古いマッピングが排他的に保護されるべきではないと判定された場合、判定ブロック２３０９で、両方のマッピングが保護されるべきかどうかが判定される。
【０１０９】
判定ブロック２３０９で、両方のマッピングが保護されるべきであると判定された場合、ブロック２３１１で、両方のマッピングに、ユーザによって保護されているというマークが付けられる。しかし、両方のマッピングが保護されるべきでないと判定された場合、ブロック２３１１で、両方のマッピングに、ユーザによって保護されていないというマークが付けられる。
【０１１０】
ブロック２３１３で、インテント変換ルーチンが、前述したとおり、実行される。インテント変換が完了すると、保護されたオブジェクトが、更新されて、古い保護されたオブジェクトと新たな保護されたオブジェクトの両方に関して、プランにおいて保護されているというフラグ（ｐｒｏｔｅｃｔｅｄ  ｉｎ  ｐｌａｎ  ｆｌａｇ）が、ユーザによって保護されているというフラグ（ｐｒｏｔｅｃｔｅｄ  ｂｙ  ｕｓｅｒ  ｆｌａｇ）と同一の値を含むようになる。ブロック２３１５で、インテント変換ルーチンは終了する。
【０１１１】
図２４は、以上の実施例の前述した部分の場合と同様に、ユーザが、前に実行された自動検出グループルーチンによって検出された変更を明らかにする警告を与えられることを示す。ユーザは、自動検出グループ探索パラメータのマッピングを更新して、Ｅ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ３という新たに明らかにされた保護可能なオブジェクトを含め、Ｅ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ２という、より古い保護されたオブジェクトのマッピングを除去する（図２３Ｂのブロック２３０５）。データ保護システム１７０１は、マッピングを更新する指示をユーザから受け取ったことに応答して、新たな保護されたオブジェクトを含めるように保護されたグループを更新する。さらに、データプロテクタ１７０１は、自動検出グループテーブル１７１５を更新して、Ｅ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ２が、ユーザによってもはや保護されていないが、この時点で、プランによって保護されたままであることを明らかにし、Ｅ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ３という保護されたオブジェクトの新たなマッピングが、ユーザによって保護されているが、プランによってまだ保護されていないことを示す。
【０１１２】
ユーザが変更を示した後のある時点で、インテント変換が実行され、グループプランによって保護されることから、Ｅ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ２が取り除かれ、Ｅ：＼ＦＯＬＤＥＲ  ＯＮ  ＳＥＲＶＥＲ３が、グループプランによって保護されるように追加される。理解されるとおり、インテント変換は、ユーザが、保護されたグループの変更（オブジェクトの追加、またはオブジェクトの除去）を示した後、任意の時点で実行されることが可能である。例えば、インテント変換は、ユーザが、保護されたグループに対する変更を示した直後に実行されることも、数日後に実行されることも可能である。さらに、自動検出グループルーチンとインテント変換は、互いに独立であることが可能である。自動検出グループルーチンは、ユーザが、保護されたグループに対する変更を示した時点とインテント変換実行の間に複数回、実行されることが可能である。そのような実例では、自動検出グループがリフレッシュされた後、変更されるオブジェクトに関する警告は、まったく生成されない。というのは、グループプランに対する実際の変更は、まだ行われていないものの、ユーザが、命令を既に与えているからである。
【０１１３】
図２５は、本発明の実施形態による、最上位の名前空間要素と保護可能なオブジェクトの間のマッピングを最初に検出するための初期検出ルーチンの流れ図を示す。初期検出ルーチン２５００は、ブロック２５０１で開始し、ブロック２５０３で、作成ロケーションのすべての容易に検出可能なオブジェクトの名前空間および名前空間要素が、明らかにされる。容易に検出可能なオブジェクトは、作成ロケーションの最上位のオブジェクトである。例えば、ＤＦＳルート、サーバ、Ｅｘｃｈａｎｇｅサーバ、およびＳＴＳサーバなどの名前空間および名前空間要素が、最上位のオブジェクトに関して容易に検出されることが可能である。ブロック２５０５で、作成ロケーションの検出された最上位の名前空間および名前空間要素が、データプロテクタのメモリ（例えば、データベース）の中に保存される（ｐｅｒｓｉｓｅｔｅｄ）。ブロック２５０７で、初期検出ルーチン２５００が、完了する。
【０１１４】
図２６は、本発明の実施形態による、作成ロケーションに位置する名前空間と名前空間要素と保護可能なオブジェクトとの間におけるマッピングの検出のためのスケジュールされた検出ルーチンの流れ図を示す。詳細には、スケジュールされた検出ルーチン２６００は、ブロック２６０１で開始し、ブロック２６０３において、初期検出ルーチン２５００（図２５）が、実行され、作成ロケーションにおける最上位の名前空間要素が明らかにされる。前述したとおり、最上位の名前空間要素の格納済みのコピーは、データ保護システムによって利用され、ユーザが、探索の時点で作成ロケーションを再検出しなくてても、従って、探索時間およびナビゲーション時間を増加させることなしに、作成ロケーションにかかる負荷を取り除いて、作成ロケーションの中をナビゲートすること、および／または作成ロケーションの特定の部分を探索することを可能にする。
【０１１５】
判定ブロック２６０５で、実行されるべき既存の保存探索（以下に説明する）が存在するかどうかが判定される。判定ブロック２６０５で、実行されるべき保存探索が存在すると判定された場合、ブロック２６０７で、その保存探索が実行される。しかし、判定ブロック２６０５で、既存の保存探索が存在しないと判定された場合、判定ブロック２６０９で、更新されるべき既存の自動検出グループが存在するかどうかが判定される。判定ブロック２６０９で、更新されるべき既存の自動検出グループが存在すると判定された場合、ブロック２６１１で、図１７〜図２４の実施例に関連して前述したとおり、それらの自動検出グループが更新される。ルーチンは、ブロック２６１７で完了する。
【０１１６】
図２７は、本発明の実施形態による、自動検出グループ作成ルーチンの流れ図である。自動検出グループ作成ルーチン２７００は、ブロック２７０１で開始し、ブロック２７０３で、ユーザが保護することを所望する名前空間要素の選択が受け取られる。名前空間要素の選択を受け取ることに加えて、それらの名前空間要素に関連する保護可能なオブジェクトも受け取られる。ブロック２７０５で、それらの名前空間要素に関連するデータソースの重複が存在すれば、その重複が解決される。重複解決は、図１３に関連して前述した。
【０１１７】
重複が解決された後、ブロック２７０７で、選択された名前空間要素を明らかにする自動検出グループリストが作成される。さらに、クエリパラメータが生成され、選択された名前空間要素に類似した他の名前空間要素を明らかにするために使用される自動検出グループの中に含められる。クエリパラメータは、物理的リソース（例えば、ＳＥＲＶＥＲ１上のすべてのボリューム）、名前空間に対する何らかのクエリ（例えば、ＤＦＳ  ＲＯＯＴ＼ｐｒｏｄｕｃｔｓの下のすべての共有）、または何らかの組合せ（＼＼ＦＩＬＥＳＲＶ*という名前のサーバ上のすべての共有）として表現されることが可能である。さらに、クエリパラメータは、既存の名前空間要素の何らかのプロパティに基づくことも可能である。
【０１１８】
それぞれのケースで、データ保護システムは、自動検出グループのメンバシップを常に把握しており、そのグループに対する変更をユーザに通知する。ブロック２７０９で、自動検出グループ、および選択された名前空間要素のリストが、保護されたグループに追加される。前述したとおり、保護されたグループは、既存の保護されたグループであることも、選択された名前空間要素に関して新たに作成された保護されたグループであることも可能である。ブロック２７１１で、自動検出グループ作成ルーチンが終了する。
【０１１９】
図２７に関連して前述したとおり作成される自動検出グループは、保護されるべき可能性があるオブジェクトを、別々の物理的リソースセットとしてではなく、クエリとして記述する方法である。変更が検出されると、ユーザは、自動検出グループに関連し、および／または保護されたグループの一部であるオブジェクトを保護するためのプランに対する変更を承認するか、または拒否することができる。例えば、自動検出グループが、サーバ群、＼＼ＦＩＬＥＳＲＶ*上のすべての共有に関する探索パラメータを含み、新たなサーバ、＼＼ＦＩＬＥＳＲＶ１０が、１０個の新たな共有とともに届いた場合、ユーザは、その新たな共有のそれぞれの保護を承認する、または拒否するオプションを有する。
【０１２０】
前述したとおり、データ保護システムは、ユーザに報告された自動検出グループ変更に対する応答の記録をとる。例えば、ユーザが、新たに明らかにされた保護可能なオブジェクトの保護を拒否した場合、以降、その保護可能なオブジェクトが作成ロケーションから後に除去された場合、ユーザに通知は送信されない。詳細には、保護可能なオブジェクトに関して除外されたというフラグ（ｅｘｃｌｕｄｅｄ  ｆｌａｇ）が設定されると、ユーザは、そのオブジェクトを保護することを所望せず、将来のすべての通知を自動的に無視することを所望すると示したことになる。ある実施形態では、オブジェクトを１回、拒否することにより、除外されたというフラグが自動的に設定されることはない。さらに、オブジェクトが拒否された回数の記録がとられ、所定の回数（例えば、５回）の拒否の後、そのオブジェクトには、除外されたというマークが付けられる。除外されたオブジェクトの以降の識別は、ユーザに警告されない。
【０１２１】
データ保護システムは、ユーザが保護されることを所望する各名前空間要素に関する自動検出グループを自動的に作成し、構成する。例えば、ユーザが、サーバ、＼＼ＦＩＬＥＳＲＶ１上の共有を保護する場合、データ保護システムは、物理的リソース（例えば、＼＼ＦＩＬＥＳＲＶ１上のボリュームＸ：上のＦＯＬＤＥＲ１）に対する＼＼ＦＩＬＥＳＲＶ１＼ＳＨＡＲＥ１のマッピングから成る自動検出グループを構成する。＼＼ＦＩＬＥＳＲＶ１＼ＳＨＡＲＥ１が消えた場合、または共有から物理的リソースへのマッピングが変更された場合、ユーザは、その変更の通知を受け、どのように対処するかについて、いくつかのオプションを与えられる（図２３Ｂ）。例えば、＼＼ＦＩＬＥＳＲＶ１＼ＳＨＡＲＥ１が、この場合、ボリュームＹ上のＦＯＬＤＥＲ１にマップされるものと想定されたい。ユーザは、Ｘ：＼ＦＯＬＤＥＲ１を保護することを続けるオプション、Ｘ：＼ＦＯＬＤＥＲ１を保護することを止めるオプション、およびＹ：＼ＦＯＬＤＥＲ１を保護することを開始するオプション、または両方のオブジェクトを保護するオプションを有する。このようにして、ユーザは、保護しようとしている名前空間要素に対するあらゆる変更、および実際に保護されている物理的オブジェクトについて知らされる。
【０１２２】
図２８および図２９は、本発明の実施形態による、自動検出グループ更新ルーチンの流れ図を示す。自動検出グループ更新ルーチン２８００は、ブロック２８０１で開始し、ブロック２８０３で、自動検出グループ結果からの保護可能なオブジェクトが選択される。自動検出グループ結果は、その自動検出グループの名前空間要素がマップされる、または以前にマップされていた保護可能なオブジェクトのそれぞれを明らかにする自動検出グループマッピングシーケンスの実行の後に生成される。判定ブロック２８０５で、選択された保護可能なオブジェクトが、現在、ユーザによって保護されているかどうかが判定される。
【０１２３】
判定ブロック２８０５で、選択された保護可能なオブジェクトが、現在、ユーザによって保護されていないと判定された場合、判定ブロック２８０７で、選択された保護可能なオブジェクトが、現在、ユーザからの承認を待っているかどうかの判定が行われる。保護可能なオブジェクトは、以前に明らかにされ、警告を介してユーザに報告済みであり、そのオブジェクトが保護されたグループに追加されるべきかどうかをユーザが明らかにしていない場合、保護されたグループに追加されるようにユーザからの承認を、現在、待っている可能性がある。図１７〜図２４に関連して前述したとおり、オブジェクトは、自動検出グループテーブルの中で保留状態列を「Ｙ」に設定することにより、承認を待っていると識別されることが可能である。判定ブロック２８０７で、保護可能なオブジェクトが、承認を待っていないと判定された場合、判定ブロック２８０９で、選択された保護可能なオブジェクトが、保護から除外されているかどうかが判定される。前述したとおり、保護可能なオブジェクトは、保護可能なオブジェクトが保護されることをユーザが所望せず、保護可能なオブジェクトに対する変更を通知されることも所望しないというユーザからの識別によって、保護から除外されることが可能である。そのような識別は、自動検出グループテーブル内のオブジェクトに、ユーザによって除外されたというマークを付けることによって明らかにされる。
【０１２４】
判定ブロック２８０９で、選択された保護可能なオブジェクトが、現在、保護から除外されていないと判定された場合、ブロック２８１１で、新たな保護可能なオブジェクトを明らかにし、ユーザが、保護されたグループへの保護可能なオブジェクトの追加を承認すること、および／または保護されたグループから保護可能なオブジェクトを明確に除外する応答を要求する警報が生成される。ブロック２８１３で、保護可能なオブジェクトに、ユーザによる承認待ちであり、ユーザによって保護されておらず、プランによって保護されていないというマークが付けられる。
【０１２５】
選択された保護可能なオブジェクトが、現在、ユーザによって保護されていない（ブロック２８０５）、ユーザからの保護承認を待っている（２８０７）、または保護から除外されている（２８０９）と判定された場合、判定ブロック２８１５で、自動検出グループ結果として明らかにされたさらなる保護可能なオブジェクトが存在するかどうかが判定される。判定ブロック２８１５で、追加の保護可能なオブジェクトが存在すると判定された場合、ルーチンは、ブロック２８０３に戻り、自動検出グループ結果として明らかにされた、それぞれのさらなる保護可能なオブジェクトに関するプロセスを続ける。しかし、判定ブロック２８１５で、自動検出グループ結果として明らかにされたさらなる保護可能なオブジェクトが存在しない場合、ブロック２８１７（図２９）で、自動検出グループの既存の保護されたオブジェクトが明らかにされる。
【０１２６】
判定ブロック２８１８で、既存の保護されたオブジェクトに、ユーザによって保護されているというマークが付けられているかどうかの判定が行われる。既存の保護されたオブジェクトに、ユーザによって保護されているというマークが付けられていないと判定された場合、ルーチンは、判定ブロック２８２１に進む。しかし、既存の保護されたオブジェクトが、ユーザによって保護されていると判定された場合、判定ブロック２８１９で、既存の保護されたオブジェクトが、自動検出グループの実行によって生成された結果の中に含まれるかどうかが判定される。判定ブロック２８１９で、既存の保護されたオブジェクトが、新たに生成された自動検出グループ結果の中に含まれると判定された場合、判定ブロック２８２１で、自動検出グループのさらなる既存の保護されたオブジェクトが存在するかどうかの判定が行われる。判定ブロック２８２１で、自動検出グループのさらなる既存の保護されたオブジェクトが存在すると判定された場合、ルーチンは、ブロック２８１７に戻り、継続する。判定ブロック２８２１で、自動検出グループに関して、さらなる既存の保護されたオブジェクトが存在しないと判定された場合、ルーチンは、ブロック２８２７で終了する。
【０１２７】
判定ブロック２８１９を再び参照すると、明らかにされた既存の保護されたオブジェクトが、新たに生成された自動検出グループ結果の中に含まれていない場合、判定ブロック２８２２で、保留状態フラグを確認することにより、変更をユーザに通知する警告が、ユーザに以前に送信されているかどうかが判定される。警告が以前に送信されている場合、変更は、警告を介してユーザに報告され、ブロック２８２３で示すとおり、ユーザによって保護されたオブジェクトに対するマッピングがもはや存在しないことが明らかにされる。ブロック２８２５で、その保護されたオブジェクトに、保護されたグループからの除去待ちであり、自動検出グループ探索パラメータと一致していないが、現在、ユーザによって保護されているというマークが付けられる。保護されたグループからの保護されたオブジェクトの除去は、格納ロケーションからその保護されたオブジェクトのいずれの実際のコピーも除去しない。当業者には理解されるとおり、除去待ちと承認待ちは、保留状態の単一のステータスとして記録にとられることが可能である。前述したとおり、オブジェクトが自動検出グループ探索パラメータと一致するかどうかを記録にとることにより、オブジェクトが除去されるべきであるか、または追加されるべきであるかが明らかになる。
【０１２８】
オブジェクトが自動検出ルーチンによって明らかにされると、オブジェクトが、ユーザアクション待ちであるか、プランによって保護されているか、ユーザによって保護されているか、および自動検出探索パラメータと一致するかを記録にとることに加えて、オブジェクトが、最初に明らかにされ、自動検出グループテーブルに追加された際、オブジェクトが明らかにされた日付と時刻も記録される。さらに、自動検出グループテーブルの中で存在する保護されたオブジェクトが、自動検出グループルーチンによってもはや明らかにされない場合、そのオブジェクトが消えた日付と時刻も記録される。
【０１２９】
データ保護システムは、ユーザが名前空間要素を選択したことに応答して、自動検出グループを自動的に作成することに加えて、保存探索を自動的に作成することも行う。別の実施形態では、保存探索は、データ保護システムが設置されると生成されることが可能である。さらに別の実施形態では、保存探索は、ユーザによって作成されることも可能である。
【０１３０】
保存探索は、サーバなどの作成ロケーションのセグメントが、現れた場合、または消えた場合にユーザに知らせるのに使用される。例えば、保存探索を利用することにより、データ保護システムが、新たなサーバ、新たなＤＦＳルート、もはや存在しないサーバ、もはや存在しないＤＦＳルート、新たなＳＴＳサーバ、もはや存在しないＳＴＳサーバなどについてユーザに知らせる能力が提供される。それぞれの保存探索に関連しているのが、同一の保存探索の以前の評価中に探し出された名前空間要素のリストである。保存探索は、探索の開始ポイントを表す名前空間要素、および戻されるべき包含された名前空間要素を記述する探索基準のセットを含む。自動検出グループとは異なり、保存探索は、保護されたオブジェクトではなく、名前空間要素を扱う。例えば、保存探索は、企業の営業部に属するすべてのサーバを明らかにするように作成することができる。これは、一般に、有効な自動検出グループではない。しかし、自動検出グループと同様に、保存探索は、探索パラメータと一致する名前空間要素を明らかにする保存探索結果テーブルを保持する。
【０１３１】
探索と一致する名前空間要素に関して、ステータスが保持される。例えば、各名前空間要素に関して、最初に明らかにされた時刻と最後に確認された（ｌａｓｔ  ｓｅｅｎ）時刻の情報が保持される。この情報も、変更を検出するのに使用されることが可能である。名前空間要素が保存探索によって初めて明らかにされると、その識別の日付を明らかにするタイムスタンプが保存され、その名前空間要素が作成ロケーションから除去されると、その名前空間要素が最後に確認された日付と時刻を明らかにするタイムスタンプも保存される。実際の実施形態では、作成ロケーションにおける変更が検出された場合にはいつでも、警告がユーザに与えられる。例えば、作成ロケーションに対する名前空間要素の追加、および／または名前空間要素の除去により、その変更をユーザに明らかにする警告がユーザに対して生成される。ある実施形態では、サーバ上のすべての共有に関する保存探索が、そのサーバ上の共有が保護されるべきことをユーザが明らかにしたことに応答して作成される。同様に、サーバ上のすべてのボリュームに関する保存探索が、そのサーバ上のボリュームが保護された場合に作成される。サーバに対して変更が行われると（例えば、適宜、共有またはボリュームの追加）、ユーザにその変更が通知される。
【０１３２】
自動検出グループおよび保存探索の結果は、データプロテクタのナビゲーション機能および探索機能のパフォーマンスを向上させるのにも使用することができる。自動検出グループおよび保存探索は、固定記憶域の中に定期的に結果をキャッシュすることができ、したがって、ナビゲーション結果および探索結果が頻繁に変化しない場合、またはいくらかの陳腐さ（ｓｔａｌｅｎｅｓｓ）が許容できる場合、データプロテクタは、それらのキャッシュされた結果を利用して、ユーザが開始したナビゲーションおよび探索に対するより迅速な応答性を提供することができる。
【０１３３】
ユーザが保護されたグループをどのように保護することを所望するか（例えば、レプリカ、アーカイブ、レプリカとアーカイブの両方）、およびどれだけ時間を遡って回復できることをユーザが所望するか（期間）を記述する保護インテントが、ユーザによって与えられる。例えば、ユーザは、そのデータに関して、選択されたグループのデータのレプリカが毎晩、生成されること、コピーが、格納ロケーションにおけるリムーバブルな媒体上に格納されること、そのコピーが、週１回、更新されること、および最大で４つのコピーがリムーバブルな媒体上に保持されることを所望する可能性がある。さらに、ユーザは、少なくとも１カ月経過した情報を回復できることを所望することを指定することができる。
【０１３４】
格納ロケーションに、例えば、レプリカ、アーカイブ、またはレプリカとアーカイブの両方としてデータを保護することは、リソースが、そのデータのコピーに割り当てられることとともに、そのプロセス自体に要求されるリソースを要求する。さらに、それらのリソースを要求される状態にするのに、いくつかのジョブが要求され、保護の正確さを保つのに、持続的な（ｏｎｇｏｉｎｇ）ジョブが必要である。データを保護するためのジョブの使用は、以下により詳細に説明する。リソースおよびジョブを手動でセットアップすることは、面倒であり、誤りが生じやすい可能性がある。さらに、リソースおよびジョブは、保護されるオブジェクトのセットが変更された場合はいつでも、例えば、自動検出グループによって検出された変更に応答して、変更される必要がある可能性がある。ユーザが、詳細なリソースおよびジョブを手動で指定することを要求する代りに、ユーザは、名前空間要素の選択、および保護インテントを与えることにより、単に何が保護されるべきかを指定することができる。この情報が、次に、選択されたデータの保護を維持するためのグループプランを生成するのに使用される。一実施形態では、グループプランは、３つのコンポーネント、すなわち、リソースプラン、準備プラン、および保護プランを含む。
【０１３５】
リソースプランは、保護を可能にするのに必要とされるリソースを獲得するのに必要なジョブのリストを含む。準備プランは、明らかにされたデータの保護をセットアップするのに必要とされる１回限りのジョブのリストを含む。例えば、１回限りのジョブは、作成ロケーションから格納ロケーションへのデータの初期のコピーおよび転送である。保護プランは、保護されたデータの正確さおよび整合性を維持するのに要求される持続的なジョブのリストを含む。
【０１３６】
ユーザによって明らかにされた保護インテントから、オブジェクトを保護するための詳細なプランへの変換を、本明細書で「インテント変換」と呼び、「インテント変換」として説明する。本発明の実際の実施形態では、インテント変換は、保護されたグループ、およびその保護されたグループに関して与えられた保護インテントに対して作用する。保護インテントは、論理的表現として表され、目標として表明されることが可能である。目標は、所望される保護のレベル（細分性）、どのようにデータが保護されるべきか、どれだけの期間、データが保護されるべきか、どれだけ頻繁にデータが保護されるべきかなどを明らかにすることができる。例えば、ユーザは、「実行ファイル共有の３０分の分量を超えて失わず、すべてのコンテンツを１年間、保持する」という保護インテントを明らかにすることができる。保護インテントからの動詞が、インテントを、オブジェクトを保護するための詳細なプランに変換するためのアクションとして使用される。前述の実施例を参照すると、このインテントに関する対応するアクションは、「３０分毎にボリュームおよびフォルダをレプリケートする」、「毎週、アーカイブする」、および「１年間の媒体保持でオフサイト（ｏｆｆｓｉｔｅ）に格納する」である。
【０１３７】
本発明の実施形態では、保護インテントを明らかにする保護テンプレートが、ユーザによって選択され、選択された保護されたグループを保護するためのプランを生成するのに使用されることが可能である。保護テンプレートは、適切な動詞、および既定のプロパティを含む、１つまたは複数のプロトタイプジョブ定義を含む。保護テンプレートは、既定のプロトタイプスケジュールも含む。例えば、「１時間ごとのレプリケーション、３つの一時バージョンが、日中に作成される、毎晩、アーカイブする、転送のための暗号化なし、格納ロケーションにおける暗号化なし」が、既定のプロトタイプスケジュールである。ユーザは、保護テンプレートを取り消し、明示的に変更する能力を有する。例えば、ユーザは、前の保護テンプレートを変更して、１時間ごとのレプリケーションを作成し、日中に１つの一時バージョンだけを作成し、毎週、アーカイブし、転送のための暗号化を行わず、格納ロケーションにおいて暗号化を行わないことができる。前述した既定のプロトタイプスケジュールの中で明らかにされた「転送のための暗号化なし」は、作成ロケーションから格納ロケーションに伝送される際に、データが暗号化される必要がないことを明らかにする。代替として、データは、作成ロケーションと格納ロケーションの間における伝送のために暗号化されてもよい。「格納ロケーションにおける暗号化なし」は、レプリカとして、またはアーカイブされて、格納ロケーションに格納されたデータが、暗号化される必要がないことを明らかにする。代替として、格納されるデータは、暗号化することもできる。例えば、テープなどのリムーバブルな媒体にアーカイブされる作成ロケーションのコピーを暗号化することができる。さらに、レプリカとして格納されるコピーも同様に、または代替として、暗号化することができる。当業者には理解されるとおり、伝送および格納のためにデータを暗号化するために、任意の暗号化技術を本発明の諸実施形態で利用することができる。
【０１３８】
図３０は、本発明の実施形態による、保護インテントを、データのセットを保護するためのプランに変換することに関する流れ図を示す。ユーザインターフェース３００３を介してデータ保護システムと対話するユーザが、保護されるべき名前空間要素のリストを選択する。保護されるべき名前空間要素の選択は、データプロテクタ３００１に転送され、これに応答して、データプロテクタは、ユーザインターフェース３００３を介して、保護インテント既定値をユーザに与える。詳細には、データプロテクタは、選択された名前空間要素を受け取ると、選択された名前空間要素に関連する保護可能なオブジェクトを明らかにし、ユーザに与えられる保護インテントの既定のリストを明らかにする。
【０１３９】
ユーザは、保護インテント既定値を受け取ったことに応答して、ユーザインターフェース３００３と対話し、適切な既定値を変更するか、または選択する。データプロテクタ３００１は、選択または変更を受け取り、そのインテントを格納し、オブジェクトに関する保護されたグループを作成する。インテントは、任意のフォーマットで格納されることが可能であり、バイナリ、拡張マークアップ言語（ＸＭＬ）、またはデータベーステーブルを含むが、以上には限定されない。データプロテクタ３００１は、保護インテント既定値に任意の変更を適用し、変更された保護インテントを使用して、保護されたグループを保護するための詳細なプランを作成する。詳細なプランもまた、任意のフォーマットで格納されることが可能であり、バイナリ、ＸＭＬ，またはデータベーステーブルを含むが、以上には限定されない。
【０１４０】
保護されたグループを保護するための詳細なプランを作成することと同様に、データプロテクタは、表明された回復インテント、回復パラメータ、および回復されるべき名前空間要素の選択を所与として、選択された回復可能なオブジェクトに関する回復プランを作成する能力も有する。回復プランを作成するために、データプロテクタは、必要な回復リソースを特定し、それらのリソースを適切に順序付ける。さらに、データプロテクタは、どこにデータが復元されるべきかを明らかにする物理的パスである回復目標も特定する。
【０１４１】
いくつかの異なる回復インテントが、どのように回復が行われるかを制御するために指定されることが可能である。例えば、上書きインテントにより、ファイルを作成ロケーションに回復しようとした際、作成ロケーションにそのファイルが既に存在していると判定された場合、何が行われるかが制御される。限定されるものではないが、常に上書きすること、決して上書きしないこと、２つのうち新しい方を使用することを含む、いくつかの代替が提供されることが可能である。指定されることが可能な別の回復インテントは、復元されるオブジェクトのセキュリティがどのように設定されるべきかというものである。例えば、復元されるオブジェクトのセキュリティが、親オブジェクトからのセキュリティを継承するように指定されることが可能である（例えば、フォルダに復元されるファイルのセキュリティが、そのフォルダと同一のセキュリティを受ける）。代替のモデルは、回復されるオブジェクトのセキュリティを、オブジェクトがバックアップされた当時のとおりに正確に復元することである。インテントは、回復されるオブジェクトが、伝送中、および／または格納される際に、暗号化されるかどうかも指定することができる。
【０１４２】
図３１および図３２は、本発明の実施形態による、保護インテントを、作成ロケーションに位置する物理的オブジェクトを保護するための詳細なプランに変換するためのインテント変換ルーチンの流れ図を示す。インテント変換ルーチン３２００は、ブロック３２０１で開始し、ブロック３２０３で、保護されるべき名前空間要素の選択、および選択された名前空間要素に関して適用されるべき保護インテントが、受け取られる。前述したとおり、名前空間要素は、作成ロケーションに位置する保護可能なオブジェクトにマップされる。さらに、前述したとおり、名前空間要素の選択、および関連する保護可能なオブジェクトは、データ保護システムによって、保護インテントが適用される保護されたグループにまとめられる。ブロック３２０５で、その保護されたグループに、「変換中」のマークが付けられる。「保護されたグループ」に「変換中」のマークを付けることにより、インテント変換が正常に完了するか、または失敗するまで、ユーザが、保護されたグループに対して変更を行うことが防止され、ユーザが行ったあらゆる変更が、ロールバックされる。
【０１４３】
ブロック３２０７で、選択済みの保護されたグループに十分に保護を提供するのに必要なリソース要件が、計算される。リソース要件は、どのような変更が、保護されたグループに要求されるかを特定することにより、明らかにされる。保護されたグループに要求される可能性がある変更の例には、新たなデータソースが、保護されたグループに追加されること、データソースが、保護されたグループから除去されること、保護されたグループに関するデータソースが、保護されたオブジェクトを追加すること、または除去することによって変更されること、リソースが追加されること、または取り戻される（ｒｅｃｌａｉｍｅｄ）こと（例えば、レプリカに対するディスクスペースの追加または除去、アーカイブに対するリムーバブルな媒体の追加または除去）、保護されたグループに関して保護目標または保護スケジュールが調整されること、または新たな保護されたグループが初めて追加されることが含まれるが、以上には限定されない。さらに、必要なリソースのサイズは、コピーされ、格納ロケーションに格納される作成ロケーション上に位置する保護されたオブジェクトのサイズ、ならびに指定されている特定の保護方法および保護インテントを明らかにすることによって特定される。
【０１４４】
ブロック３２０９で、リソースプランが生成され、実行されて、保護されたグループに保護を提供するのに必要なリソースが割り当てられる。リソースプランは、必要とされるリソースを特定し、それらのリソースを獲得するのに必要なあらゆるジョブを含む。例えば、そのようなジョブには、ディスクスペースを割り当てること、既存のストレージスペースを増加させること、テープ媒体を割り当てること、テープライブラリチェンジャ（ｃｈａｎｇｅｒ）およびテープライブラリドライブを割り当てること、空き媒体プールからテープを要求することが含まれることが可能である。リソースプランの中に含まれるジョブは、ユーザが所望する保護のタイプに依存する。例えば、レプリケーションの場合、ジョブには、レプリカおよび一時バージョンにディスクリソースを割り当てること、および場合により、ログ領域にリソースを割り当てることが含まれる。ブロック３２０９で生成されたリソースプランに関連するジョブは、実行され、保護されたグループに必要なリソースが割り当てられる。
【０１４５】
リソースが割り当てられた後、ブロック３２１１で、データ保護システムによってチェックポイントが作成される。代替の実施形態では、リソースプランは、それらのリソースを割り当てるのに必要なジョブの作成だけを含み、それらのジョブの実行は、実際に含まない。リソースプランに関連するジョブの実行は、準備プランの一環としてスケジュールされ、実行されることが可能である。そのような実施形態では、チェックポイントは、インテント変換が完了するまで生成されない。このため、インテント変換が完了しなかった場合、最初から再スタートしなければならない。ブロック３２０９に関して前述したとおり、リソースの割り当ての後、チェックポイントを作成することにより、インテント変換ルーチンが、正常に完了しなかった場合、このルーチンが再スタートすることが可能な既知のポイントがもたらされる。
【０１４６】
リソース割り当てジョブの実行中にリソースの一部が割り当てられるが、全部は、割り当てられないことがあり得るため（例えば、システムが、物理的リソースの全部ではなく、一部を割り当てた後、クラッシュする）、本発明の一実施形態には、インテント変換ルーチンの不完全な実行において完全に割り当てられていないリソースを消去する（ｃｌｅａｎ  ｕｐ）クリーンアップルーチンが含まれる。このクリーンアップルーチンは、ある形で振舞うようにシステムのリソース割り当てを設計することによって達せられる。実際の実施形態では、リソースは、データソースごとに割り当てられ、所与のデータソースに必要なすべてのリソースが割り当てられるか、またはまったく割り当てられない。リソースの全部ではなく、一部が割り当てられ、割り当てジョブが中断された場合、リソース割り当てプランの割り当てジョブの前回の実行からの部分的に割り当てられたリソースを消去する、リフレッシュジョブが作成される。クリーンアップルーチンが、部分的に割り当てられたリソースを消去すると、データ保護システムは、必要に応じて、リソースの再割り当てを行うことができる。インテント変換は、リソースが正常に割り当てられた、それらの新たな保護されたオブジェクトに関して続けられることが可能である。
【０１４７】
図３１を再び参照すると、ブロック３２１１で、ブロック３２０９におけるリソースの割り当てが正常に完了した後、チェックポイントが生成される。リソースが割り当てられた後のチェックポイントの作成により、リソースが割り振られた後、ただし、完了より前にインテント変換ルーチン３２００が中断された場合、生じた可能性がある問題を、データ保護システムが解決する能力が提供される。例えば、データ保護システムが、インテント変換ルーチンの完了より前に、ただし、ブロック３２１１で示すとおり、最初のチェックポイントが追加された後にクラッシュした場合、再起動時に、データ保護システムは、インテント変換ルーチンが中断されていることを明らかにし、リソースの割り当てに続いて追加されたチェックポイントを探し出す。チェックポイントを明らかにすることにより、既に割り当て済みのリソースを使用することができ、インテント変換ルーチン３２００が、完全に再スタートして、リソースの再割り当てを行う必要なしに、そのチェックポイントから再開されることが可能である。インテント変換ルーチンに対する中断の後、再スタートすることを、図３８に関連して以下により詳細に説明する。
【０１４８】
判定ブロック３２１３で、インテント変換ルーチン３２００が、保護されたグループに現在、関連する既存のジョブおよび／またはタスクが存在するかどうかを判定する。判定ブロック３２１３で、保護されたグループに関連する既存のジョブおよび／またはタスクが存在すると判定された場合、ブロック３２１５で、それらのジョブおよびタスクが、登録解除され、ブロック３２１７で示すとおり、アクティブなジョブが存在すれば、そのジョブが終了される。ジョブおよびタスクは、保護されたグループが、初めて作成されたのではなく、変更されている場合、その保護されたグループに関して、前から存在している可能性がある。
【０１４９】
判定ブロック３２１３で、保護されたグループに関して、既存のジョブおよび／またはタスクが存在しないと判定された場合、またはブロック３２１７における既存のジョブおよび／またはタスクの終了の後、インテント変換ルーチン３２００は、ブロック３２１９で、保護プランを作成し、スケジュールする。以下により詳細に説明するとおり、保護プランは、格納ロケーションにおける保護されたグループのコピーの正確さを、時を経て保つのに必要であるジョブのリストを含む。さらに、インテント変換ルーチン３２００は、ブロック３２２１で、準備プランを作成し、スケジュールする。以下により詳細に説明するとおり、準備プランは、保護プランに関連するジョブが実行されることが可能であり、保護されたグループの保護の正確さが実現されることが可能であるような状態に、作成ロケーションおよび格納ロケーションを移すのに利用される、１回限りのジョブのリストを含む。例えば、保護されたグループが作成されるのが初めてであり、レプリカ上に格納される必要がある場合、レプリカ上に存在する、その保護されたグループに関連するデータのコピーは存在しない。このため、準備プランに関連するジョブの１つは、保護されたオブジェクトのコピーを作成すること、およびレプリカ上にそのコピーを格納することであることが可能である。
【０１５０】
次に、図３２を参照すると、ブロック３２２５で、インテント変換ルーチン３２００が、前述した保存探索および自動検出グループを作成する。前述したとおり、それらの自動検出グループおよび保存探索は、スケジュールされた検出ルーチンの一部として実行される。
【０１５１】
リソースプラン、準備プラン、保護プラン、保存探索、および自動検出グループのためのジョブが作成された後、ブロック３２２７で、ジョブの作成の完了を示す第２のチェックポイントが、データ保護システムに追加される。前述し、以下により詳細に説明するとおり、このチェックポイントは、データ保護システムによって、インテント変換ルーチン３２００中に生じた中断から回復するのに使用されることが可能である。例えば、ブロック３２２７で示すとおり、チェックポイントが作成された後にインテント変換ルーチン３２００が中断された場合、再スタート中、データ保護システムは、インテント変換ルーチン３２００が進行中であったことを明らかにし、プランおよびジョブが作成済みであることを示すチェックポイントを探し出す。チェックポイントが明らかにされると、インテント変換ルーチン３２００が、そのチェックポイントから再開され、完了させられることが可能である。
【０１５２】
ブロック３２２９で、新たに保護されたオブジェクト、および保護から除去された以前に保護されていたオブジェクトのステータスが、更新されて、保護プランにオブジェクトが含められること、および保護プランからオブジェクトが除外されることが反映される。ブロック３２０９で、リソース割り当てエラーを有しているというマークが付けられた、保護されたオブジェクトは、「保留状態」に戻される。ブロック３２３１で、すべてのチェックポイントが除去され、保護されたグループに、「変換中ではない」というマークが付けられる。すべての保護されたオブジェクトが除去された場合、保護されたグループは、削除されることが可能である。ブロック３２３３で、インテント変換ルーチン３２００が完了する。
【０１５３】
図３３は、本発明の実施形態による、保護されたグループに関する保護プランを作成するための保護プラン作成ルーチンの流れ図である。保護プラン作成ルーチン３３００は、ブロック３２１９（図３１）に関連して前述した保護プランの作成およびスケジュールをより詳細に説明する。保護プラン作成ルーチン３３００は、ブロック３３０１で開始し、ブロック３３０３で、保護されたグループに関するコピージョブが作成され、スケジュールされる。コピージョブは、作成ロケーションにおいて１つまたは複数の保護可能なオブジェクトに対して行われた変更を、格納ロケーションに格納された、対応する１つまたは複数の保護可能なオブジェクトのコピーにコピーするジョブである。例えば、日中に、ユーザが、作成ロケーションに位置する保護されたオブジェクトを変更した場合、コピージョブが実行されると、それらの変更がコピーされ、格納ロケーションに転送され、格納路ケーションに格納された、対応する一つまたは複数の保護可能コピーは、それらの変更を含むように更新される。
【０１５４】
ブロック３３０５で、保護プラン作成ルーチン３３００は、一時バージョンジョブを作成し、スケジュールする。一時バージョンジョブは、格納ロケーションにおいてデータの実際のバージョン設定を実行するようにスケジュールされたジョブである。一時バージョンの作成は、当業者には周知であり、本明細書で詳細に説明することはしない。
【０１５５】
ブロック３３０７で、検証ルーチンが作成され、スケジュールされる。実行されると、ジョブは、図３５に関連して以下により詳細に説明するとおり、検証ルーチンを実行する。ブロック３３０９で、保護プラン作成ルーチン３３００が完了する。
【０１５６】
図３４は、本発明の実施形態による、準備プランを実行するための準備プラン実行ルーチンの流れ図である。準備プラン実行ルーチン３４００は、ブロック３４０１で開始し、ブロック３４０３で、保護されたグループを保護するために、追加のリソースが必要とされるかどうかの判定が行われる。前述したとおり、格納ロケーションにおいて保護されたグループを保護するために必要なリソースを特定するために、リソースプランが生成される。一実施形態では、それらのリソースは、準備プランの作成および実行に先立って、リソースプラン中に割り当てられることが可能である。
【０１５７】
判定ブロック３４０３で、リソースが必要とされると判定された場合、ブロック３４０５で、それらのリソースを割り当てるためにリソースプランの中で作成されたジョブが実行され、リソースが割り当てられる。
【０１５８】
ブロック３４０５におけるリソースの割り当ての後、またはブロック３４０３において、保護されたグループの保護のために追加のリソースが必要とされないと判定された場合、ブロック３４０７で、保護されたグループに関連する物理的オブジェクトの初期コピーが作成され、格納ロケーションに転送され、前もって割り当てられたリソース上に格納される。保護されたグループの初期コピーが作成され、格納ロケーションに格納されると、レプリケーションのため、ブロック３４０９で、初期コピーが、作成ロケーションに位置する実際の物理的オブジェクトを用いて検証される。検証は、図３５に関連して以下に説明する。
【０１５９】
判定ブロック３４１１で、保護されたグループから除去された保護されたオブジェクトが存在するかどうかの判定が行われる。ブロック３４１１で、保護されたオブジェクトが保護されたグループから除去されていると判定された場合、ブロック３４１３で、準備プランは、それらのオブジェクトを監視することを止めるジョブを含み、それらのオブジェクトは、保護可能なオブジェクトに留まる。監視はリソースを消費するので、ジョブは必要なくなると、監視することを止める。ブロック３４１５で、準備プラン実行ルーチン３４００は完了する。
【０１６０】
前述したとおり、本明細書で説明するルーチンを実行するために、より多くのブロック、またはより少ないブロックを使用してもよい。例えば、コピーすることが、媒体読み込みを介して達せられる場合、準備プラン３４００は、データの初期コピーを作成すること（ブロック３４０７）をしない。同様に、コピーがアーカイブのためである場合、準備プラン３４００は、データの初期コピーを作成すること（ブロック３４０７）をしない。
【０１６１】
図３５は、本発明の実施形態による、格納ロケーションに位置するデータのコピーを検証するための検証ルーチンの流れ図である。検証ルーチン３５００は、ブロック３５０１で開始し、ブロック３５０３で、検証ルーチン３５００は、作成ロケーションに位置する物理的オブジェクトに関する検証パラメータを獲得する。当業者には理解されるとおり、検証パラメータは、作成ロケーションに位置する物理的オブジェクトのチェックサムであることが可能である。代替として、検証パラメータは、作成ロケーションにおける物理的オブジェクトの最終変更時刻、または作成ロケーションに位置する物理的オブジェクトのサイズであることも可能である。一般に、検証パラメータは、作成ロケーションに位置する物理的オブジェクトに関する任意のタイプの識別であることが可能である。
【０１６２】
ブロック３５０５において、検証ルーチン３５００は、格納ロケーションに位置するオブジェクトに関する検証パラメータを獲得する。作成ロケーションにおけるオブジェクトに関する検証パラメータと同様に、格納ロケーションにおけるオブジェクトの検証パラメータも、チェックサム、最終変更時刻、ファイルサイズなどであることが可能である。
【０１６３】
ブロック３５０７で、格納ロケーションに位置するオブジェクトが、作成ロケーションに位置する保護されたオブジェクトと一致することを確認するために、ブロック３５０３で獲得された作成ロケーションにおける保護されたオブジェクトの検証パラメータと、ブロック３５０５で獲得された格納ロケーションにおけるオブジェクトの検証パラメータが比較される。判定ブロック３５０９で、ブロック３５０７で比較されたパラメータが一致するかどうかの判定が行われる。ブロック３５０９で、パラメータが一致しないと判定された場合、ブロック３５１３で、検証ルーチン３５００は、作成ロケーションからの一致しない保護されたオブジェクトを再コピーして、格納ロケーションに位置するオブジェクトを置き換え、判定ブロック３５１１に進む。
【０１６４】
しかし、判定ブロック３５０９で、パラメータが一致すると判定された場合、ブロック３５１１で、保護されたグループに関して、まだ検証されていない、さらなるデータが存在するかどうかの判定が行われる。保護されたグループに関して検証されていない、格納ロケーションに位置するさらなるデータが存在すると判定された場合、検証ルーチンは、ブロック３５０３に戻り、プロセスが続けられる。代替として、判定ブロック３５１１で、さらなるデータが存在しないと判定された場合、格納ロケーションは検証され、検証ルーチンは、ブロック３５１５で完了し、格納ロケーションに位置するオブジェクトが保護されたオブジェクトと一致することが確認される。
【０１６５】
コピーの正確さを確認するためにインテント変換中に準備プランの一部として実行される検証ルーチンに加えて、物理的オブジェクトの保護の正確さを後に再確認するために、検証ルーチンがスケジュールされることも可能である。さらに、検証ルーチンは、格納ロケーションに位置するオブジェクトのコピーを有効な状態にするためにスケジュールされ、実行されることも可能である。格納ロケーションに位置する物理的オブジェクトのコピーは、システムがクラッシュした場合、またはその他の予定外な変更が生じた場合に、無効な状態にあることがあり得る。例えば、レプリカは、変更ログ（以下に説明する）が、格納ロケーションにおいてそれらの変更を適用することができなかったためにオーバーフローした場合に、無効になる可能性がある。
【０１６６】
図３６は、本発明の実施形態による、格納ロケーションに位置するオブジェクトのコピーを検証するための、スケジュールされた検証ルーチンの流れ図である。スケジュールされた検証ルーチン３６００は、ブロック３６０１で開始し、ブロック３６０３で、ルーチンは、検証されるべき格納ロケーションに位置する保護されたグループのオブジェクトのコピーを明らかにする。判定ブロック３６０５で、明らかにされたコピーが、有効な状態にあるか、無効な状態にあるかの判定が行われる。判定ブロック３６０５で、明らかにされたコピーが無効な状態にあると判定された場合、ブロック３６０７で、スケジュールされた検証ルーチン３６００は、図３５に関連して説明した検証ルーチン３５００を実行する。
【０１６７】
しかし、判定ブロック３６０５で、コピーが有効な状態にあると判定された場合、判定ブロック３６０９で、有効性が確認される必要がある、格納ロケーションに位置する保護されたグループのさらなるコピーが存在するかどうかの判定が行われる。判定ブロック３６０９で、さらなるコピーが、有効性を確認される必要があると判定された場合、スケジュールされた検証ルーチン３６００は、ブロック３６０３に戻り、検証されるべきさらなるコピーを明らかにし、そのプロセスを続ける。しかし、判定ブロック３６０９で、検証されるべき、格納ロケーションに位置するさらなるコピーが存在しないと判定された場合、スケジュールされた検証ルーチン３６００は、ブロック３６１１で示すとおり、完了する。
【０１６８】
図３７は、本発明の実施形態による、レプリカに関する状態遷移のブロック図を示す。リソース割り当て中に格納ロケーションの一部を割り当てるのに先立って、レプリカは、未割り当ての状態にある。インテント変換が、保護されたグループにリソースを割り当てた後、レプリカは、割り当て済みの状態に遷移する。コンテンツ（保護されたグループのコピー）は、次に、転送され、格納ロケーションに格納されなければならない。転送および格納は、ディスク−ディスク間初期設定を使用して（データ保護システムによって自動的に）、自動化された媒体読み込みにより、または管理者によって手動で（例えば、手動の媒体読み込みにより）、達せられることが可能である。ディスク−ディスク間初期設定が行われる場合、インテントトランスレータ（ｔｒａｎｓｌａｔｏｒ）が、初期コピージョブを自動的に作成する。初期コピージョブは、実行されると、レプリカを無効な状態にする。コピーが、媒体読み込みを使用して初期設定される場合、ユーザは、媒体読み込みが完了すると、そのことを示し、レプリカは、その時点で無効な状態にされる。
【０１６９】
レプリカが無効な状態になると、検証ジョブが実行されて、レプリカを有効な状態にすることが必要である。前述したとおり、検証ジョブは、格納ロケーションにおけるコピーが作成ロケーションにおける保護されたオブジェクトと一致することを確認する。
【０１７０】
レプリカは、割り当て済みの状態３７０３、無効な状態３７０５、または有効な状態３７１１にあることに加えて、欠落状態３７１３に遷移することも可能である。例えば、時とともに、特定の保護されたグループに関するレプリカのために割り当てられた物理的媒体に障害が生じて、レプリカが欠落状態になる可能性がある。欠落状態３７１３から、データ保護システムは、ユーザからの対話を使用して、レプリケートされていた情報が、保護され続ける必要があるかどうかを判定する。保護されたグループが、引き続き保護されるべきである場合、リソースが、再割り当てされて、レプリカは、割り当て済みの状態３７０３に再び遷移させられる。欠落状態３７１３から、レプリカに関連する情報が、もはや保護される必要がないと判定された場合、レプリカは、破棄された状態３７０７に遷移することが可能であり、保護されたグループに関するレプリケーションは、データ保護システムによってもはや実行されない。
【０１７１】
レプリカは、欠落状態３７１３に一時的に遷移することも可能である。例えば、ディスクが、何らかのハードウェアの問題に起因して、一時的に接続を断たれ、または利用できなくなり、その後、再び利用可能になる可能性がある。そのような実例では、ディスクが再び利用可能になると、レプリカは、有効な状態３７１１または無効な状態３７０５に戻ることが可能である。
【０１７２】
破棄された状態３７０７は、保護されたグループを保護することをもはや所望しないことをユーザが示したことに応答して達せられる。レプリカは、他の任意の状態から破棄された状態３７０７に遷移することも可能である。例えば、レプリカが無効な状態３７０５にある場合、ユーザは、レプリカ上にコピーされた保護されたオブジェクトを保護することをもはや所望しないことを示すことができ、レプリカは、破棄された状態３７０７に遷移させられる。レプリカを破棄された状態にすることにより、レプリカ上にコピーされた、保護されたオブジェクトを保護することをユーザが終えたことがデータ保護システムに対して示され、ハードディスクなどの物理的媒体は、空き媒体プールに戻されることが可能となり、他の保護されたグループに割り当てられることが可能となる。
【０１７３】
本発明の実施形態では、レプリカ上にコピーされた保護されたオブジェクトの保護を続けることをもはや所望しないことをユーザが示した場合、レプリカは、停止状態３７０９に遷移し、レプリカ、およびレプリカの一時バージョンが、有限期間にわたって保持される。情報がもはや保護されないと示された後、その情報を保持することにより、ユーザが保護を停止した時点まで、その情報を回復する能力が、ユーザに与えられる。
【０１７４】
図３８は、本発明の実施形態による、前回のインテント変換ルーチン中に生じた中断の後に、インテント変換ルーチンを再スタートするための再スタートルーチンの流れ図を示す。再スタートルーチン３８００は、ブロック３８０１で開始し、判定ブロック３８０３で、ルーチンは、保護されたグループが、現在、インテント変換中であるかどうかを判定する。判定ブロック３８０３で、保護されたグループがインテント変換中であったと判定された場合、判定ブロック３８０５で、全部のリソースが、インテント変換中の保護されたグループに割り当てられていたかどうかの判定が行われる。判定ブロック３８０５で、全部のリソースは割り当てられていなかったと判定された場合、再スタートより前に割り当てられていたあらゆるリソースは、ブロック３８０６で示されるとおり、割り振り解除される。前に割り当てられていたリソースの割り振り解除の後、判定ブロック３８０７で、インテント変換中の保護されたグループが、新たな保護されたグループであったかどうかが判定される。判定ブロック３８０７で、保護されたグループが新たな保護されたグループではなかったと判定された場合、ブロック３８０８で、ルーチンは、既存の保護されたグループに追加されていた新たなオブジェクトを保留状態に戻す。詳細には、新たなオブジェクトは、ユーザによって保護されておらず、ユーザアクション待ちの状態に戻る。
【０１７５】
ブロック３８０９で、既存の保護されたグループに、変換中ではないというマークが付けられ、ブロック３８１７で、ルーチンが完了する。既存のグループを変換中ではない状態に戻し、新たなオブジェクトを保留状態に戻すことにより、データ保護システムは、試みられた変換より前の状態に戻される。詳細には、新たなオブジェクトは、既存の保護されたグループに再び追加されなければならず、既存の保護されたグループのオブジェクトは、インテント変換ルーチンにおける最初の試行より前に保護されていたとおりに、保護され続ける。
【０１７６】
判定ブロック３８０７を再び参照して、中断が生じた時点でインテント変換中であった保護されたグループが、新たな保護されたグループであったと判定された場合、ブロック３８１１で、新たな保護されたグループのすべての保護されたオブジェクトが、保留状態（すなわち、ユーザによって保護されておらず、ユーザアクション待ちである）に戻され、ルーチンは、ブロック３８１７で完了する。オブジェクトを保留状態に戻すことに加えて、保護されたグループは、グループ内に保護されたオブジェクトが存在しないので、削除されることも可能である。
【０１７７】
判定ブロック３８０５を再び参照すると、中断に先立って全部のリソースが割り当てられていたと判定された場合、ブロック３８１３で、試みられたインテント変換ルーチンによって生成された最後のチェックポイントが明らかにされる。前述したとおり、チェックポイントは、インテント変換ルーチンの中で２つの異なるポイントで生成される。詳細には、チェックポイントは、リソースが割り当てられた後に生成され、保護プランが作成された、または更新された後、および準備プランが作成された後に再び生成される。ブロック３８１３で最後のチェックポイントが明らかにされると、インテント変換ルーチンは、ブロック３８１５で示すとおり、明らかにされた最後のチェックポイントから再スタートされ、プロセスは、ブロック３８１７で完了する。
【０１７８】
格納ロケーションにおいて物理的オブジェクトを保護することができるいくつかの方法が存在する。例えば、レプリカが、サーバなどのコンピューティングデバイス上に保持されること、アーカイブコピーが、テープ、または他の取り外し可能な媒体などの物理的媒体上に格納されることなどが可能である。ユーザによって所望される保護のタイプは、前述したとおり、インテントトランスレータによって一組のプランに変換される、保護インテントの一部、または高レベルの目標として与えられる。テープ上、または他の取り外し可能な媒体上へのデータのアーカイブの場合、データ保護は、特定の時点における保護されたグループのデータの表現、またはある時点との関係におけるその表現の変更を、１つまたは複数の物理的媒体を介して含む、「データセット」を作成することによって機能する。データセットは、１つまたは複数の保護されたオブジェクトに関連する１つまたは複数のアーカイブパスの結果である。さらに、各データセットは、１つまたは複数の回復ソースを含むことが可能である。というのは、複数の回復ソースが、回復に寄与することが可能だからである。複数のデータセットが、回復に寄与するのに必要である可能性もある。
【０１７９】
媒体が管理される１次オブジェクトである他のバックアップアプリケーションとは異なり、本発明の実施形態によれば、媒体自体ではなく、データセット、および媒体とのデータセットの関連が管理される。
【０１８０】
アーカイブは、長期間（数週間、数カ月、または数年間程度の）にわたってデータを保持するように設計される。アーカイブされた媒体は、通常、オフサイトに保持されて、地震または火災などの、作成ロケーション全体に影響を与える災害から保護される。アーカイブされた媒体は、サーバまたはディスクの損失、またはユーザエラーを含む、より小規模な停止（ｏｕｔａｇｅ）からの回復のために、オンサイトにも保持されることが可能である。さらに、レプリケーションとアーカイブをともに利用する諸実施形態の場合、アーカイブされた媒体は、レプリカとともに格納ロケーションに、作成ロケーションに、または別個のロケーションに保持されることが可能である。
【０１８１】
図３９は、本発明の実施形態による、データをアーカイブするためのプランを生成するためのアーカイブ保護プラン作成ルーチンを示す。アーカイブ保護プラン作成ルーチン３９００は、ブロック３９０１で開始し、ブロック３９０３で、ルーチンは、データ保護種類を受け取る。データ保護種類は、ユーザが、データをオンサイトでアーカイブすることを所望するか、オフサイトでアーカイブすることを所望するか、またはオンサイトとオフサイトの両方でアーカイブすることを所望するかについて、ユーザによって明らかにされる。データ保護種類を受け取ることに加え、ブロック３９０５で、ルーチンは、データ保護期間も受け取る。データ保護の期間は、保護された情報をどれだけ過去に遡って回復できることを所望するかについてユーザによって与えられる、高レベルのインテントである。これらのインテントは、ユーザが何を回復できることを所望するかについての目標として表明されることが可能である。
【０１８２】
例えば、「過去７年間までのデータを回復できることを私は所望する」というインテントを与えることは、７年前に作成ロケーションに存在していた情報に関するデータをユーザが回復できることを可能にするアーカイブプランになる。データ保護期間は、数年間、数カ月間、数週間、または数日間であることが可能である。ブロック３９０７で示すとおり、アーカイブ保護プラン作成ルーチン３９００は、データをアーカイブするアクションがいつ行われることをユーザが所望するかなどの、スケジュール設定インテントも受け取る。代替の実施形態では、データ保護フォーマットも受け取られることが可能である。データ保護フォーマットには、完全バックアップ、差分バックアップ、および増分バックアップが含まれるが、以上には限定されない。本明細書で使用する完全バックアップとは、すべての保護されたオブジェクトが格納ロケーションにコピーされるバックアップである。本明細書で使用する差分バックアップとは、前回の完全バックアップ以来、変更されている保護されたオブジェクトが格納ロケーションにコピーされるバックアップである。本明細書で使用する増分バックアップとは、何らかの前回のバックアップ（完全、差分、または増分）以来、変更されている保護されたオブジェクトだけがコピーされるバックアップである。本明細書の説明では、差分バックアップおよび増分バックアップは、一般に、「部分バックアップ」と呼ばれ、「部分バックアップ」によりどちらも表されるものとする。また、ユーザは、アーカイブが、作成ロケーションにおける元のデータから作成されるべきか、あるいはアーカイブが、格納ロケーションにおけるコピーから作成されるべきかを指定することもできる。
【０１８３】
データ保護種類およびデータ保護期間に基づき、アーカイブ保護プラン作成ルーチン３９００は、ユーザによって指定された高レベルの要件を満たす既定のアーカイブスキームを特定する。実際の実施形態では、データをアーカイブするための４つの異なるタイプのスキームが存在する。曽祖父、祖父、父、息子（ＧＧＦＳ）と呼ばれる第１のスキームは、オンサイトで４週間、保持され、オフサイトで数年間、コピーが保持される毎年の完全バックアップ、オンサイトで４週間、保持され、オフサイトで１年間、コピーが保持される毎月の完全バックアップ、オンサイトで４週間、保持され、オフサイトで４週間、コピーが保持される毎週の完全バックアップ、およびオンサイトで２週間、保持される毎日の差分バックアップを提供する。代替の実施形態では、オンサイトコピーだけ、またはオフサイトコピーだけが、ブロック３９０３で明らかにされた保護種類に依存して保持されることが可能である。別の実施形態では、オンサイトコピー自体が、ブロック３９０３で明らかにされた保護種類に基づき、ある期間の後、オフサイトに転送されて、保持されることが可能である。別のスキームは、本明細書で、祖父、父親、息子（ＧＦＳ）スキームと呼ばれる。ＧＦＳスキームは、オンサイトで４週間、保持され、オフサイトで１年間、コピーが保持される毎月の完全バックアップ、オンサイトで４週間、保持され、オフサイトで４週間、コピーが保持される毎週の完全バックアップ、およびオンサイトで２週間、保持される毎日の差分バックアップを提供する。
【０１８４】
別のアーカイブスキームは、父親、息子（ＦＳ）スキームと呼ばれる。ＦＳスキームは、オンサイトで４週間、保持され、オフサイトで４週間、コピーが保持される毎週の完全バックアップ、およびオンサイトで２週間、保持される毎日の差分バックアップを提供する。本明細書で述べる別のアーカイブスキームは、息子（Ｓ）スキームである。Ｓスキームは、オンサイトで４週間、保持され、オフサイトで１週間、コピーが保持される毎日の完全バックアップを提供する。最後に、通常の保護スキームのほかに行われるバックアップを提供する臨時ルーチンも利用可能である。このルーチンは、オンサイトまたはオフサイトに保持される、有効期限を有さない完全バックアップであることが可能である。
【０１８５】
既定のアーカイブスキームは、ユーザによって任意のレベルで変更されることが可能であり、追加／代替の既定のアーカイブスキームも提示されることが可能であることが、当業者には理解されよう。例えば、種類（オンサイト、オフサイト）、期間（月、年）、およびフォーマット（完全、差分、増分）が変更されることが可能である。さらに、ユーザは、アーカイブスキームに関するスケジュール設定コントロールを指定することもできる。例えば、ユーザは、スキームが開始されるべき曜日、アーカイブが生成されるべき時刻、スキームが企業カレンダで運用されるべきか、月々のカレンダで運用されるべきかなどを指定することもできる。
【０１８６】
図３９を再び参照すると、既定のアーカイブスキームがユーザに提供され、ユーザは、提供されたスキームの任意の部分を取り消す能力を与えられる。判定ブロック３９１１で、特定されたアーカイブスキームに対する何らかの取り消しをユーザが提供したかどうかの判定が行われる。判定ブロック３９１１で、ユーザが取り消しを提供したと判定された場合、ブロック３９１３で、アーカイブスキームは、それらの取り消しを含むように変更される。取り消しは、バックアップスキームの任意の部分に関して提供されることが可能であり、範囲が様々であることが可能である。例えば、取り消しには、バックアップフォーマット（完全、差分、増分）、保持されるべきオンサイトコピーの数、保持されるべきオフサイトコピーの数、オフサイトコピーの保持期間、Ｓレベルを無効にするかどうか、バックアップによってもたらされたデータセットが検証されるべきか、またいつ検証されるべきか、アーカイブが作成ロケーションにおいて行われるべきか、格納ロケーションにおいて行われるべきか、または別の場所で行われるべきか、開始の曜日、稼動日（ｗｏｒｋｉｎｇ  ｄａｙｓ）数などが含まれることが可能である。Ｓレベルを無効にすることは、様々な理由で好ましい可能性がある。例えば、ユーザが、アーカイブとレプリケーションをともに実施した場合、ユーザは、毎日のアーカイブ保護（Ｓレベル）を省き、すべてのオンサイト回復要件に対処するのにレプリケーションに依拠することを決めることができる。
【０１８７】
ブロック３９０９で特定されたアーカイブスキームが、ブロック３９１３で示すとおり、受け入れられるか、または変更されると、ブロック３９１５で、アーカイブプラン作成ルーチン３９００が、アーカイブによってデータを保護するのに必要なプランを生成する。前述したとおり、データを保護するのに必要なプランには、リソースプラン、準備プラン、および保護プランが含まれることが可能である。最後に、ブロック３９１５で示すとおりプランが生成された後、アーカイブ保護プラン作成ルーチン３９００は、ブロック３９１７で完了する。
【０１８８】
図４０は、本発明の実施形態による、アーカイブスキームを生成するために使用されることが可能な異なる世代の実施例を示すテーブルである。テーブル４０００は、週５日（例えば、月曜〜金曜）行われる１回のオンサイトコピーを２週間、保持し、オフサイトコピーは保持しない増分バックアップモードを有する息子世代４００１を明らかにする。父親世代４００３は、４週間、保持される１回のオンサイトコピーを伴う完全バックアップモードを維持し、完全バックアップは、完全バックアップが実行されない１週間（例えば、各月の最終土曜日）を例外として、毎週１回（例えば、土曜日）実行される。同様に、父親世代４００３は、１回のオフサイトコピーを４週間、保持する。祖父世代４００５は、オンサイトコピーが行われない毎年１カ月（例えば、年の最終土曜日）を例外として、毎月１回（例えば、各月の最終土曜日）生成される１回のオンサイトコピーを４週間、保持する完全バックアップモードを有する。さらに、祖父世代４００５は、１回のオフサイトコピーを１２カ月間、保持する。最後に、曽祖父世代４００７は、４週間、保持され、毎年１回（例えば、年の最終土曜日）生成される１回のオンサイトコピーを保持する完全バックアップモードを有する。さらに、曽祖父世代４００７は、１回のオフサイトコピーを７年間、保持する。
【０１８９】
企業カレンダによるスケジュール設定（月の最終土曜日、年の最終土曜日など）の代替として、スケジュール設定は、フィジカルカレンダに従って達せられることも可能である。例えば、ジョブは、月の最後の日、年の最後の日、月の最初の日などに行われるようにスケジュールされることが可能である。それらの日は、土曜日であっても、土曜日でなくてもよい。当業者には理解されるとおり、任意のタイプのスケジュール設定および／またはカレンダ設定を本発明の諸実施形態で利用することができ、企業カレンダまたはフィジカルカレンダを利用することは、単に実施例として与えられている。スケジュール設定の別の態様は、ジョブが実行されるべき時期を指定する能力である。ジョブの実行時間に関する時期をスケジュール設定することにより、ジョブが実行されることが可能な特定の時間帯を明らかにする能力がユーザに与えられる。さらに、データ保護システムは、ジョブが指定された時刻までに完了しない可能性があることを保護システムが確認した場合、事前の警告を提供することができる。代替として、ジョブが、実行時間のスケジュールされた期間中に完了しない場合、そのジョブが、自動的に終了させられ、場合により、再スケジュールされることができる。
【０１９０】
当業者には理解されるとおり、息子４００１、父親４００３、祖父４００５、および曽祖父４００７などの世代は、図４０に関連して説明した保護プランの様々なバリエーションを利用するように変更することもできる。唯一の要件は、親が、子と等しいか、または子の上位集合であることである。例えば、父親世代が完全バックアップである場合、息子世代は、完全バックアップ、差分バックアップ、または増分バックアップであることが可能である。さらに、オンサイトまたはオフサイトで保持されるコピーの数は、０から、ユーザによって所望される任意の数までの任意の組合せであることが可能である。保持時間、ならびにコピーが行われる頻度も、ユーザの所望に応じて調整されることが可能である。
【０１９１】
データの長期保護のためのアーカイブスキームを作成することに加えて、データ保護システムは、媒体の継続的な割り当て、交替、保管（オフサイト格納）、および撤収（ｒｅｔｉｒｅｍｅｎｔ）も提供する。このため、本発明の実施形態によれば、それぞれの保護されたグループには、媒体プールが関連付けられている。媒体プールは、媒体のコンテナであるとともに、媒体の割り当ておよびリサイクルを管理するために様々なインテントが配置されるオブジェクトでもある。図４１に関連して以下により詳細に説明するとおり、並置（ｃｏｌｌｏｃａｔｉｏｎ）インテントなどの、媒体割り当てを管理するための、いくつかのタイプのインテントが存在する。本発明の実施形態に従って使用されることが可能な並置インテントの例が、ジョブ並置インテント、息子並置インテント、および父親／息子並置インテントである。ジョブ並置インテントは、同一のジョブ内のタスクに関して、同一の媒体を使用しようと試みる。これにより、ジョブが複数のタスクを有する場合、媒体のマウント／マウント解除の回数が少なくなり、それらのタスクからのデータが、単一の媒体上に収まる。息子の並置インテントにより、ＧＧＦＳアーカイブスキーム、ＧＦＳアーカイブスキーム、ＦＳアーカイブスキーム、またはＳアーカイブスキームの息子ジョブに関して、媒体がどのように使用されるかが制御される。息子の並置インテントが指定された場合、サイクル（週サイクルなどの）の最初の息子ジョブは、新たな媒体上で開始されるが、後続のすべての息子は、同一の媒体が利用できないか、または十分なスペースを含まないのではない限り、同一の媒体に追加しようと試みる。父親／息子並置インテントの使用により、毎週の完全バックアップ、ならびに後続の毎日の差分バックアップおよび増分バックアップが、同一の媒体上に格納されるようになる。
【０１９２】
図４１は、本発明の実施形態による、ジョブ並置インテントおよび息子並置インテントのそれぞれが指定されている場合に、データをアーカイブするために媒体を割り当てるためのフロールーチンである。理解されるとおり、アーカイブのために媒体を割り当てるために、並置インテントの他の組合せを指定することもでき、図４１に関連して説明するルーチンは、一実施例に過ぎない。媒体割り当てルーチン４１００は、媒体が必要とされる場合に、いつでも実行される。媒体割り当てルーチン４１００は、ブロック４１０１で開始され、判定ブロック４１０２で、ジョブ並置が指定されているかどうかが判定される。ジョブ並置が指定されていないと判定された場合、媒体割り当てルーチンは、判定ブロック４１１１に進み、以下に説明するとおり続けられる。しかし、判定ブロック４１０２で、ジョブ並置が指定されていると判定された場合、判定ブロック４１０３で、媒体を割り当てようと試みているタスクが、置き換えジョブからであるかどうかの判定が行われる。置き換えジョブは、正常に完了しなかった前回のジョブに置き換わるジョブである。判定ブロック４１０３で、タスクが置き換えジョブからであると判定された場合、ブロック４１０５で、ルーチンは、正常に完了しなかった最初のジョブにおいて使用され、割り当てられていたのと同一の物理的媒体を割り当てようと試みる。
【０１９３】
しかし、ブロック４１０３で、タスクが置き換えジョブからではないと判定された場合、判定ブロック４１０７で、タスクが、ジョブからの最初のタスクであるかどうかの判定が行われる。タスクが、ジョブからの最初のタスクではないと判定された場合、ブロック４１０９で、媒体割り当てルーチン４１００は、同一のジョブの前回のタスクに既に割り当てられていた媒体を割り当てようと試みる。
【０１９４】
しかし、判定ブロック４１０７で、タスクが、ジョブからの最初のタスクであると判定された場合、判定ブロック４１１１で、保護されているデータセットが、第１の息子データセットであるかどうかの判定が行われる。ブロック４１１１で、保護されているデータセットが、第１の息子データセットであると判定された場合、判定ブロック４１１２で、ＦＳ並置インテントが指定されているかどうかが判定される。ＦＳ並置インテントが指定されている場合、ブロック４１１３で、媒体割り当てルーチン４１００は、同一サイクルの父親データセットによって使用される媒体を割り当てようと試みる。本明細書で説明するサイクルとは、アーカイブセットに関するスケジュールされた時間の長さ（数日間または数週間などの）である。しかし、判定ブロック４１１２で、ＦＳ並置インテントが指定されていないと判定された場合、ルーチンは、以下に説明する判定ブロック４１１５に進む。
【０１９５】
判定ブロック４１１１で、データセットが、息子データセットではない、またはサイクルの最初の息子ではないと判定された場合、判定ブロック４１１４で、データセットが、第２以降の息子データセットであるかどうかが判定される。データセットが、第２以降の息子データセットであると判定された場合、判定ブロック４１１８で、ＦＳ並置インテントまたはＳ並置インテントが指定されているかどうかが判定される。ＦＳ並置インテントまたはＳ並置インテントが指定されている場合、ブロック４１１６で、媒体割り当てルーチン４１００は、同一サイクルの最後の息子データセットによって使用された媒体を割り当てようと試みる。しかし、判定ブロック４１１８で、ＦＳ並置インテントもＳ並置インテントも指定されていないと判定された場合、ルーチンは、以下に説明するブロック４１１５に進む。
【０１９６】
しかし、判定ブロック４１１４で、データセットが第２以降の息子データセットではないと判定された場合、判定ブロック４１１５で、リサイクル可能な媒体が同一世代から利用可能であるかどうかの判定が行われる。例えば、データセットが父親データセットである場合、利用可能な媒体上に含まれる他の父親データセットが存在するかどうかの判定が行われる。判定ブロック４１１５で、同一世代からの利用できるリサイクル可能な媒体が存在すると判定された場合、ブロック４１１７で、媒体割り当てルーチン４１００は、同一世代から利用できる最も古いリサイクル可能な媒体を選択し、その媒体を割り当てようと試みる。
【０１９７】
判定ブロック４１１５で、同一世代から利用できる媒体が存在しないと判定された場合、または判定ブロック４１２７で、ブロック４１０５、４１０９、４１１３、４１１７の試みられた割り当てのいずれかが、正常に完了しなかったと判定された場合、判定ブロック４１１９で、プールの中に空いている媒体が存在するかどうかの判定が行われる。判定ブロック４１１９で、プール内に媒体が存在すると判定された場合、ブロック４１２１で、媒体割り当てルーチン４１００は、プールからその空き媒体を獲得し、その媒体が割り当てのために使用される。
【０１９８】
最後に、判定ブロック４１１９で、特定の保護されたグループに関するプール内に、空き媒体がまったく存在しないと判定された場合、媒体割り当てルーチン４１００は、ブロック４１２３で、追加の媒体を獲得しようと試みる。追加の媒体は、保護されたプールに追加の媒体が要求されるとユーザに通知すること、または既存の空き媒体プールにクエリを行うことにより、獲得することができる。空き媒体プールは、別の保護されたグループに関連付けられていない媒体を含む。空き媒体プールの中で空き媒体がまったく用意されていない場合、ユーザは、追加の空き媒体が、格納ロケーションに追加され、空き媒体プールに割り当てられる必要があるという通知を受ける。媒体割り当てルーチン４１００は、ブロック４１２５で示すとおり、追加の媒体が割り当てられた後に完了するか、または追加の媒体が割り当てられることが可能でない場合、失敗する。
【０１９９】
図４１に関連して説明したインテントに加え、追加のインテントが、媒体プールの活動を制御するのに利用されることが可能である。例えば、媒体プールの中に保持されることが可能な媒体の最大数を指定する最大限度インテントが、ユーザによって指定されることが可能である。最大限度インテントを利用することにより、プールに対する最大限度を超えた媒体の不必要な追加（ユーザによるか、または自動的な）が防止される。同様に、１日最大限度インテントを使用して、２４時間中に特定のプールに割り当てられる空き媒体のアイテムの数を制限することができる。最大限度および１日最大限度の利用により、空きプールから特定のプールへの媒体の不必要な割り当て、または偶然の割り当てが防止される。
【０２００】
また、最小閾値インテントも、アーカイブ保護のための媒体割り当てのために指定することができる。最小閾値インテントは、様々な媒体プールへの割り当てのために、空き媒体プールの中で用意されていなければならない媒体の最小限の数を指定する。空き媒体の数が、最小限の量を下回って低下した場合、ユーザは、追加の媒体が格納ロケーションに追加され、空き媒体プールに割り当てられる必要があるという通知を受ける。リサイクル可能な媒体が、再使用される、または再割り当てのために空き媒体プールに解放されるのに先立って、消去される必要があるかどうかを制御する、媒体消去インテントも指定することができる。
【０２０１】
作成ロケーションから格納ロケーションへの保護されたオブジェクトのレプリケーションまたはコピーは、各ロケーションにインストールされたエージェントのペアの間で行われる。エージェントのペアのアクションは、データプロテクタによって制御される。例えば、レプリケーションのため、クローン（ｃｌｏｎｅ）エージェントが、作成ロケーションにインストールされ、レプリケーションエージェントが、格納ロケーションにインストールされる。クローンエージェントおよびレプリケーションエージェントのアクションは、データプロテクタによって制御される。さらに、データムーバ（ｍｏｖｅｒ）が、エージェントのペアの間におけるコンジット（ｃｏｎｄｕｉｔ）として作用する。データムーバは、エージェント間の相互認証を確実にし、オプションとして、データ暗号化、データ解読、データ圧縮、またはデータ伸張を実行する。さらに、データムーバは、データ伝送中にデータ保護システムによって消費されるネットワーク帯域幅を制限するスロットル（ｔｈｒｏｔｔｌｉｎｇ）フロー制御を含む。
【０２０２】
図４２は、本発明の実施形態によるデータ保護システムのブロック図を示す。データ保護システム４２００は、作成ロケーション４２０３から格納ロケーション４２０５へのデータ（保護されたオブジェクト）の転送を管理するためのデータプロテクタ４２０１を含む。前述したとおり、レプリケーションのため、作成ロケーション４２０３は、クローンエージェント４２０７、ならびに作成ロケーション４２０３から格納ロケーション４２０５へのデータの流れを制御するためのデータムーバ部４２０９Ａを含む。同様に、格納ロケーション４２０５は、レプリケーションエージェント４２１１、ならびに作成ロケーション４２０３から情報を獲得するためのデータムーバの第２の部分４２０９Ｂを含む。作成ロケーション４２０３、格納ロケーション４２０５、およびデータプロテクタ４２０１の間の対話を使用して、作成ロケーション４２０３から格納ロケーション４２０５にデータが転送され、データプロテクタ４２０１との通信によって、そのデータの転送の有効性が検証される。
【０２０３】
データは、データムーバ４２０９Ａを介して作成ロケーション４２０３から通信チャネル４２１３経由で、データムーバ４２０９Ｂを介して格納ロケーション４２０５に伝送される。データ保護システムは、作成ロケーション４２０３から格納ロケーション４２０５へのデータの転送を監視する能力を含み、そのような通信チャネルに障害が生じた場合、中断されたデータ転送を再開する能力を有する。最初からやり直すのではなく、データの転送を再開することができるように、データ転送の状態は、記録がとられ、定期的に保存される必要がある。これは、データプロテクタ４２０１が、作成ロケーション４２０３から格納ロケーション４２０５へのデータの転送を監視することによって達せられる。
【０２０４】
データは、通信チャネル４２１３を介して、データブロックまたはデータレコードの形態で転送される。そのような伝送システムでは、データの一部は、作成ロケーション４２０３によって保持され、データの一部は、格納ロケーション４２０５によって保持される。通信チャネルに障害が生じた場合、データ転送は、中断され、伝送状態が同期を失う可能性がある。例えば、作成ロケーション４２０３が、格納ロケーション４２０５によって正常に受信されたレコードの数とは異なる数のレコードを伝送している可能性がある。この問題を解決するため、データプロテクタ４２０１が、データ転送をいつ停止すべきか、またはいつ開始すべきかを作成ロケーション４２０３および格納ロケーション４２０５に個々に命令することにより、データ伝送プロセスを監視し、制御する。
【０２０５】
データの保護のため、作成ロケーション４２０３に位置するクローンエージェント４２０７は、データムーバ４２０９を介して、格納ロケーション４２０５に位置するレプリケーションエージェント４２１１にデータを転送する。このデータは、作成ロケーションに位置する保護されたオブジェクトのレプリカまたはコピーを作成する目的で、通信チャネル４２１３を介して、データレコードとして伝送される。クローンエージェントおよびレプリケーションエージェントは、データ転送状態をデータプロテクタ４２０１に、レコードチェックポイントと本明細書で呼ばれる特別なデータブロックとして通信する。レコードチェックポイントは、データプロテクタ４２０１によって受信され、データベースの中に格納される。さらに、データプロテクタ４２０１は、命令／コマンドをクローンエージェントおよびレプリケーションエージェントに通信する。
【０２０６】
一般に、作成ロケーションにおけるクローンエージェント４２０７が通信チャネル４２１３を介して伝送する２つのタイプのデータレコードが存在する。第１のタイプのデータレコードは、作成ロケーションに位置する保護されたオブジェクトに対して行われた変更を表す。第２のタイプのデータレコードは、保護されたオブジェクトのデータについての情報（メタデータ）を含む。メタデータを含むレコードは、データ保護システムによって生成される。以下に説明するとおり、メタデータは、伝送されて、格納ロケーションに格納されるデータのコピーを検証するために使用され、例えば、データのチェックサムであることが可能である。
【０２０７】
作成ロケーション４２０３からのデータ転送の状態は、クローンエージェント（図４３〜図４７）の変更ログからレプリケーションエージェント（図４３〜図４７）のスピル（ｓｐｉｌｌ）ログにデータレコードストリームが伝送される際に、データレコードストリームの中に特別なデータマーカ（レコードチェックポイント）を挿入することにより、クローンエージェント４２０７から通信される。実際の実施形態では、レコードチェックポイントは、データストリームが、作成ロケーションのデータムーバ４２０９Ａによって伝送される際に、データストリームの終端に付加される。代替の実施形態では、レコードチェックポイントは、変更ログに追加され、データストリームとともにデータの項目として伝送されることも可能である。格納ロケーションのデータムーバ４２０９Ｂによってデータストリームが受信されると、データおよびレコードチェックポイントは、スピルログの中に格納される。
【０２０８】
レプリケーションエージェント４２１１は、データストリームの中でそのようなレコードチェックポイントを見つけると、それらのレコードチェックポイントをデータプロテクタ４２０１に転送する。加えて、レプリケーションエージェントは、独自のレコードチェックポイントを生成し、それらのチェックポイントもデータプロテクタ４２０１に転送する。クローンエージェント４２０７とレプリケーションエージェント４２１１の両方によって生成されたレコードチェックポイントの中に含まれる情報が、データプロテクタによって、動作を開始する、または停止するコマンドを送信する際に使用される。
【０２０９】
データプロテクタ４２０１は、レコードチェックポイントのいずれかを受信すると、そのチェックポイントをデータベースの中に自動的に格納し、データ保護システムが、通信障害、プロセス、およびシステム再スタートに対して回復力があるようにする。
【０２１０】
本発明の実際の実施形態では、クローンエージェント４２０７は、本明細書で「クラスＣチェックポイント」および「クラスＡチェックポイント」と呼ぶ、２つのタイプのチェックポイントを生成する。クラスＣチェックポイントは、クローンエージェント４２０７からレプリケーションエージェント４２１１に送信されるデータレコードの状態を表す。クラスＡチェックポイントは、メタデータレコードを生成するプロセス全体の中における位置を表わす。
【０２１１】
レプリケーションエージェント４２１１は、本明細書で「クラスＢチェックポイント」と呼ぶ、１つのタイプのレコードチェックポイントを生成する。クラスＢチェックポイントは、レプリケーションエージェント４２１１によって受信され、適用されたデータレコードを明らかにする。
【０２１２】
クラスＣチェックポイントおよびクラスＢチェックポイントは、データチェックポイントである。クラスＣチェックポイントおよびクラスＢチェックポイントは、クローンエージェント４２０７からレプリケーションエージェント４２１１へのデータの伝送を再開するため、およびレプリケーションエージェント４２１１上で受信されたデータレコードの適用を再開するために使用される。クラスＡチェックポイントは、メタデータチェックポイントである。クラスＡチェックポイントは、メタデータを生成するクローンエージェント上の長期実行（ｌｏｎｇ−ｒｕｎｎｎｉｎｇ）プロセスを監視するために使用される。クラスＡチェックポイントを生成することにより、データ伝送が中断された場合に、そのような長期実行プロセスのために繰り返される作業の量が削減される。
【０２１３】
より詳細には、クラスＣチェックポイントは、クローンエージェント４２０７システム上、およびレプリケーションエージェント４２１１システム上のデータレコードストリーム内の位置に対するポインタを含む。クラスＣチェックポイントは、クローンエージェント４２０７によって生成され、レプリケーションエージェント４２１１に転送される。レプリケーションエージェント４２１１は、エージェント４２１１のスピルログの中の最後に受信されたレコードのポインタで、クラスＣチェックポイントを更新する。
【０２１４】
クラスＢチェックポイントは、格納ロケーション４２０５においてレプリケーションエージェント４２１１によって最後に適用されたデータレコードに対するポインタを含む。データプロテクタ４２０１が、クラスＢチェックポイントを受信すると、それにより、クラスＢチェックポイントに先立つすべてのデータブロックが、格納ロケーションに格納されたデータのレプリカに適用済みであることがデータプロテクタ４２０１に明らかにされる。
【０２１５】
クラスＡチェックポイントは、メタデータを生成する間にクローンエージェント４２０７によって処理された、保護されたデータの量を示す。レプリケーションエージェントによってクラスＡチェックポイントが受信されると、レプリケーションエージェントは、必要な場合、独自のメタデータを追加し、クラスＡチェックポイントをデータプロテクタに転送する。データプロテクタが、クラスＡチェックポイントを受信すると、これは、チェックポイントの中に含まれる位置まで、メタデータ生成が完了していることを意味する。ある実施形態では、クラスＡチェックポイントは、順次に参照されて（例えば、順次に番号が付けられて）、クラスＡチェックポイントが抜かされているかどうかをデータ保護システムが判定することができるようにする。クラスＡチェックポイントが抜かされている場合、検証は、差分リストの要素が欠落している可能性が存在するため、再スタートされる。以下に説明するとおり、差分リストは、レプリカにおいて一致しない保護されたオブジェクトを明らかにする情報を含む。それらのオブジェクトは、作成ロケーションにおいて生成されたメタデータを格納ロケーションにおいて生成されたメタデータと比較することによって明らかにされる。
【０２１６】
前述した３つのチェックポイントタイプに加えて、データプロテクタ４２０１は、特別なマーカトークンを生成し、データレコードストリームの中に挿入されるように、作成ロケーション４２０３に位置するクローンエージェントにそのトークンを送信することができる。このトークンは、次に、クローンエージェント４２０７によって、通信チャネル４２１３を介して、レプリケーションエージェント４２１１に伝送される。受信すると、レプリケーションエージェント４２１１は、トークンをデータプロテクタ４２０１に送り返す。マーカトークンの目的は、メタデータ生成を再開するのに先立って、あらゆるデータ通信伝送からすべてのクラスＡチェックポイントをクリアすることである。すべてのクラスＡチェックポイントにシステムの中を通らせることにより、クローンエージェント４２０７によって既に生成されていたメタデータが伝送された後、初めて、メタデータ生成が再開される。そのようにすることの利点は、データレコード伝送ログが、オーバーフローすることが防止され（メタデータ生成プロセスが、クローンエージェント４２０７が送信することができるよりも、はるかに速い場合）、データプロテクタ４２０１が、マーカトークンを受信するのに先立って、すべてのメタデータを確認するため、同一のメタデータが複数回、生成されることが回避されることである。
【０２１７】
図４３〜図４４は、本発明の実施形態による、データ保護システムによって実行されるデータ転送監視ルーチンの流れ図を示す。前述したとおり、作成ロケーション４３０３と格納ロケーション４３０５の間のデータ転送は、ユーザまたは別の個人が、保護されたデータに変更を行ったことに応答して、またはスケジュールされたジョブ実行時刻に開始される。ユーザによって行われた、保護されたデータに対する変更に応答して、作成ロケーション４３０３は、保護されたデータに対する変更のレコードを変更ログ４３０７に記録する。例えば、Ｒ1、Ｒ2、Ｒ3、Ｒ4、Ｒ5、およびＲ6はそれぞれ、作成ロケーション４３０３におけるクローンエージェントによって変更ログ４３０７に記録された変更レコードである。定期的に、変更ログ４３０７の中に含まれるレコードが、データムーバによって変更ログ４３０７からプルされ、一括されて、格納ロケーション４３０５に伝送される。さらに、クローンエージェントは、伝送される最後のレコードの変更ログ４３０７の中の位置に対するポインタを含むクラスＣチェックポイントを生成し、伝送バッチの終端にそのクラスＣチェックポイントを付加する。例えば、クローンエージェントは、変更ログ４３０７からレコードＲ1、Ｒ2、およびＲ3をプルして、それらのレコードを一括し、そのバッチを作成ロケーション４３０５に伝送することができる。このケースでは、変更ログ位置４である、Ｒ3の変更ログ４３０７の中における位置に対するポインタを含むクラスＣチェックポイント４３１１が生成される。クラスＣチェックポイントは、作成ロケーション４３０５に伝送されるバッチの終端に付加される。
【０２１８】
前述の実施例は、クラスＣチェックポイントが生成され、データのすべての伝送バッチとともに伝送されることが可能であることを示しているが、代替の実施形態では、クラスＣチェックポイントは、伝送されるデータの量に基づいて生成されることも可能である。そのような実施形態では、クラスＣチェックポイントは、データの量が、事前定義された最小伝送サイズを超えた場合にだけ生成されることが可能である。さらに別の実施形態では、クラスＣチェックポイントの生成および伝送は、前のクラスＣチェックポイントが生成され、伝送されて以来の時間に依存することも可能である。さらに、クラスＣチェックポイントは、所定の回数のデータ伝送において生成され、伝送されることも可能である。例えば、クラスＣチェックポイントは、５回のデータ伝送ごとに生成され、伝送されることが可能である。さらに、チェックポイントを生成するため、および伝送するための方法の任意の組合せを、本発明の諸実施形態で利用することができる。例えば、クラスＣチェックポイントは、データが最小サイズを超えた場合、または５回の伝送ごとに生成されることが可能である。
【０２１９】
格納ロケーション４３０５に位置するレプリケーションエージェントは、データムーバを介して、伝送されたレコード、およびクラスＣチェックポイントを受信し、その伝送されたレコード、およびクラスＣチェックポイントをスピルログ４３１３の中に格納する。さらに、クラスＣチェックポイント４３１１を受信すると、格納ロケーション４３０５のレプリケーションエージェントは、クラスＣチェックポイントのスピルログ４３１３の中における位置を明らかにする第２のポインタをクラスＣチェックポイントに追加する。このケースでは、クラスＣチェックポイント４３１１に追加されるポインタは、スピルログ位置１０６に対するポインタである。このため、クラスＣチェックポイント４３１５は、変更ログ４３０７の最後の伝送位置の場所と、スピルログ４３１３の中のクラスＣチェックポイントの場所の両方に対するポインタを含む。クラスＣチェックポイント４３１５は、次に、レプリケーションエージェントによってデータプロテクタ４３０１に転送される。データプロテクタ４３０１は、データベースの中にクラスＣチェックポイントを記録する。代替の実施形態では、クラスＣチェックポイントは、スピルログの中に格納されず、代りに、レプリケーションエージェントが、バッチとともに伝送された最後の変更レコードを明らかにするポインタをクラスＣチェックポイントに追加し、そのクラスＣチェックポイントをデータプロテクタ４３０１に転送する。
【０２２０】
次に、図４４を参照すると、データプロテクタ４３０１が、格納ロケーション４３０５からクラスＣチェックポイントを受信すると、そのクラスＣチェックポイントをデータプロテクタのデータベースの中に格納し、クラスＣチェックポイント確認を作成ロケーション４３０３に伝送する。作成ロケーション４３０３によるクラスＣチェックポイント確認の受信により、クラスＣチェックポイントに先立って伝送されたすべてのレコードが、格納ロケーション４３０５によって受信されていること、および、それらの伝送済みのレコードを変更ログ４３０７から削除する（ｐｕｒｇｅ）ことができることが、作成ロケーションに明らかにされる。
【０２２１】
レコードを受信し、それらのレコードをスピルログ４３１３の中に格納することに加えて、格納ロケーション４３０５に位置するレプリケーションエージェントは、格納ロケーション４３０５に位置するデータのレプリカに受信されたレコードを適用することを始める。所定のポイントで、レプリケーションエージェントは、レプリケーションデータ４３１７に適用された最後のレコードのスピルログ４３１３内における位置に対するポインタを含むクラスＢチェックポイントを生成する。所定のポイントは、例えば、処理されたデータの量、最後のクラスＢチェックポイントが生成されてからの時間、または以上２つの組合せに基づくことが可能であるが、以上には限定されない。例えば、レプリケーションエージェントは、スピルログ４３１３位置１０３からのＲ1、スピルログ４３１３位置１０４からのＲ2を適用し、レプリカデータ４３１７にＲ2を適用した後、スピルログ位置１０４に対する参照を含むクラスＢチェックポイントを生成することができる。生成されたクラスＢチェックポイント４３１９は、格納ロケーション４３０５上のレプリケーションエージェントによって、データプロテクタ４３０１に転送される。データプロテクタ４３０１は、そのクラスＢチェックポイントをデータベースの中に格納して、データ転送の中断が生じた場合に、そのレコードが使用されることを可能にする。
【０２２２】
さらに、格納ロケーション４３０５からのクラスＢチェックポイントの受信に応答して、データプロテクタ４３０１は、そのクラスＢチェックポイントをデータプロテクタ４３０１のデータベースの中に格納し、クラスＢチェックポイント確認を格納ロケーション４３０５に送り返す。格納ロケーション４３０５によるクラスＢチェックポイント確認の受信により、データプロテクタが、レプリカデータ４３１７に適用されたレコードの最後の位置を記録したこと、およびそれらのレコードをスピルログ４３１３から削除することができることが、格納ロケーション４３０５に明らかにされる。
【０２２３】
レコードを転送し、それらのレコードを格納ロケーションにおけるレプリカデータに適用するプロセス、およびチェックポイントの循環（ｃｙｃｌｉｎｇ）により、作成ロケーション４３０３から格納ロケーション４３０５へのレコードの伝送の正確さが確認され、障害の結果としてデータ伝送を再スタートするためにデータプロテクタ４３０１が使用することができる情報が、データプロテクタ４３０１に提供される。
【０２２４】
図４５は、本発明の実施形態による、作成ロケーション４３０３から格納ロケーション４３０５への変更レコードの伝送を再スタートするデータ保護システムの流れ図を示す。説明のために、システムは、作成ロケーション４３０３から格納ロケーション４３０５にデータを転送しており、何らかの理由で、その伝送が中断され、システムが伝送を再開するものと想定する。
【０２２５】
データの伝送を再開するために、データプロテクタ４３０１は、データプロテクタ４３０１のデータベース上に格納された、最後に記録されたクラスＣチェックポイントおよびクラスＢチェックポイントを参照して、格納ロケーション４３０３および格納ロケーション４３０５に関する再スタート位置を明らかにする。例えば、Ｂ2という記録されたクラスＢチェックポイントを参照して、データプロテクタ４３０１は、スピルログ４３１３から最後のレコードの適用が行われたスピルログ４３１３の中の位置は、位置１０７であったと判定する。このため、データプロテクタ４３０１は、スピルログ位置１０８からレコードを適用することを開始し、スピルログ位置１１１の後（すなわち、スピルログ位置１１２）に、次に受信されたデータレコードを格納するように、格納ロケーション４３０５のレプリケーションエージェントに命令する、格納ロケーション４３０５に伝送されるコマンドを生成する。レプリケーションエージェントが受信されたレコード（１１２）を格納することを開始する位置（１１２）は、データプロテクタ４３０１のデータベースの中に記録された最後のクラスＣチェックポイントを参照することによって明らかにされる。この実施例では、データプロテクタ４３０１は、Ｃ3というクラスＣチェックポイントを参照して、格納ロケーション４３０５によって受信された最後の既知のクラスＣチェックポイントが、スピルログ位置１１１に位置することを明らかにする。
【０２２６】
同様に、データプロテクタ４３０１は、Ｃ3という最後に受信されたクラスＣチェックポイントを参照して、格納ロケーション４３０５によって正常に受信されたとデータプロテクタ４３０１に分かる、作成ロケーション４３０３によって伝送された最後のレコードは、変更ログ位置９に位置していたことを明らかにする。このため、データプロテクタ４３０１は、レコード１０から、格納ロケーション４３０５にレコードを送信することを開始するように、作成ロケーション４３０３に位置するクローンエージェントに命令する、作成ロケーション４３０３に伝送されるコマンドを生成する。
【０２２７】
全体を通して、データレコードの伝送を効率的に再開するため、データプロテクタ４３０１は、３つのコマンドを生成し、送信する。変更ログ４３０７の中の伝送開始ポイントを明らかにするレコード送信開始コマンドが生成され、作成ロケーション４３０３に伝送される。適用が再開されるべきスピルログ４３１３内の位置を明らかにするレコード適用開始コマンドが、格納ロケーション４３０５に送信される。新たに受信されたレコードがどこに格納されるべきかについて、スピルログ４３１３内の位置を明らかにする第３のコマンドである受信レコード格納開始コマンドも、生成され、格納ロケーション４３０５に送信される。
【０２２８】
クラスＢやクラスＣなどのチェックポイントを参照すること、ならびにレコード適用開始コマンド、レコード送信開始コマンド、および受信レコード格納開始コマンドを生成することにより、データ保護システムが、最初からデータの伝送を開始する必要なしに、およびいずれのデータも失うことなしに、データ転送内の既知のチェックポイントから再スタートすることで、自らを再同期することが可能になる。
【０２２９】
前述したとおり、作成ロケーション４３０３から格納ロケーション４３０５への変更レコードの伝送を監視することに加えて、データ保護システムは、格納ロケーション４３０５に位置するレプリカデータ４３１７の整合性を検証する能力も有する。本発明の実際の実施形態では、データの検証は、格納ロケーション４３０５におけるレコードと比較される検証レコードを作成ロケーション４３０３から伝送することによって達せられる。
【０２３０】
図４６および図４７は、本発明の実施形態によるレプリカ４３１７を検証するための検証ルーチンの流れ図を示す。検証ルーチンを開始するために、データプロテクタ４３０１は、検証を開始するように作成ロケーション４３０３に発行されるコマンドを生成する。検証開始コマンドを受信したことに応答して、作成ロケーション４３０３におけるクローンエージェントは、作成ロケーション４３０３に位置するそれぞれの保護されたオブジェクトに関するメタデータを生成することを開始する。このメタデータは、レコードとして変更ログ４３０７に追加され、変更レコードと一緒に伝送される。レコードおよびメタデータは、前述したとおり、変更ログ４３０７から格納ロケーション４３０５に伝送される。変更レコードを受信すると、格納ロケーション４３０５に位置するレプリケーションエージェントは、前述したとおり、そのレコードをレプリカデータ４３１７に適用する。Ｖ1などのメタデータレコードを適用すると、格納ロケーション４３０５に位置するレプリケーションエージェントは、レプリカデータ４３１７の同一部分に関するメタデータを計算する。メタデータのその２つの項目が比較されて、レプリカデータのその部分の有効性および完全性が確認される。メタデータが一致しなかった場合、レプリケーションエージェントは、レプリカ４３１７において一致しない保護されたオブジェクトを明らかにする差分リストを生成する。
【０２３１】
当業者には理解されるとおり、メタデータを利用して、レプリカデータを保護されたデータと比較することは、比較されるべきデータに関するチェックサムを生成すること、および／またはデータに関する最後の変更時刻などの、他の任意の識別する印（ｉｄｅｎｔｉｆｙｉｎｇ  ｉｎｄｉｃｉａ）を比較することにより、達することができる。
【０２３２】
Ｖ1やＶ2などのメタデータレコードのセットが変更ログ４３０７の中に含められた後の所定の時点で、作成ロケーション４３０３に位置するクローンエージェントが、変更ログ４３０７にレコードとして追加されるクラスＡチェックポイントを生成する。Ａ1などのクラスＡチェックポイントは、変更レコードおよびメタデータレコードとともに、通信チャネルを介して格納ロケーション４３０５に伝送される。
【０２３３】
格納ロケーション４３０５におけるレプリケーションエージェントによってクラスＡチェックポイントが受信されると、レプリケーションエージェントは、そのクラスＡチェックポイント、ならびにメタデータを比較したことの結果として生成された差分リストをデータプロテクタ４３０１に転送する。図４６に示すとおり、クラスＡチェックポイントは、削除されるまで、スピルログの中に保持されることが可能である。代替として、クラスＡチェックポイントが受信されると、クラスＡチェックポイントは、差分リストとともに転送され、スピルログの中に格納されないことも可能である。
【０２３４】
データプロテクタ４３０１は、クラスＡチェックポイントおよび差分リストを受信し、そのクラスＡチェックポイントおよび差分リストをデータベースの中に記録する。差分リストは、作成ロケーションに転送され、明らかにされた、保護されたオブジェクトは、再レプリケートされて、格納ロケーションに再伝送される。明らかにされた、保護されたオブジェクトの再レプリケーションおよび再伝送は、差分リストを受信したことに応答して行われることも、何らかの後の時点で（例えば、レプリケーションの検証が完了した後に）行われるようにスケジュールされることも可能である。
【０２３５】
クラスＡチェックポイントは、自らの内部に、特定の保護されたオブジェクトの識別を含み、そのオブジェクトまで、メタデータ計算が済んでいる。例えば、メタデータが、ＳＥＲＶＥＲ１におけるＣ：＼上に位置する保護されたオブジェクトに関して生成されており、メタデータが生成された最後の保護されたオブジェクトが、ＳＥＲＶＥＲ１上のＣ：＼ｆｉｌｅ５０であった場合、クラスＡチェックポイントは、ＳＥＲＶＥＲ１上のＣ：＼ｆｉｌｅ５０への参照を含む。この情報は、データプロテクタ４３０１によってデータベースの中に格納されて、データ伝送の中断が生じた場合、データプロテクタ４３０１が、検証を再スタートする参照ポイントを有するようにする。
【０２３６】
図４７は、本発明の実施形態による、特定の時点で検証が中断された場合に、検証を再スタートするためにデータ保護システムによって生成される検証ルーチンの再スタートを説明する流れ図を示す。以下の説明では、データ伝送がまず中断され、次に再開されるものと想定する。データ伝送を再開する際、データプロテクタ４３０１は、図４７にＡpとして示すマーカトークンを生成し、送信する。マーカトークンは、システムからすべてのメタデータおよびクラスＡチェックポイントがクリアされてから、データの検証が再開されるように、システムの中を循環させられる、データプロテクタ４３０１によって生成される固有のトークンである。
【０２３７】
マーカトークンＡpは、データプロテクタ４３０１から作成ロケーション４３０３に伝送され、作成ロケーション４３０３に位置するクローンエージェントによって変更ログ４３０７の中に含められる。作成ロケーション４３０３によってマーカトークンＡpが受信されると、クローンエージェントは、マーカトークンＡpを変更ログ４３０７に追加し、その後、マーカトークンＡpを格納ロケーション４３０５に伝送する。格納ロケーション４３０５によってマーカトークンＡpが受信されると、格納ロケーション４３０５に位置するレプリケーションエージェントは、マーカトークンＡpをデータプロテクタ４３０１に戻すように転送する。
【０２３８】
データプロテクタ４３０１によってマーカトークンＡpが受信されると、データプロテクタ４３０１は、前に生成されているシステムに関するすべてのメタデータが、作成ロケーション４３０３から格納ロケーション４３０５に伝送されていることを認識する。データプロテクタ４３０１は、クラスＡチェックポイントのあるデータベースを参照して、伝送された最後のクラスＡチェックポイントを明らかにし、作成ロケーションがデータの検証を再スタートすべき位置を含む再スタートコマンドを準備する。データプロテクタ４３０１は、検証再スタートコマンド、ならびにデータの検証が再開されるべきポイントの識別を作成ロケーション４３０３に伝送する。
【０２３９】
例えば、図４７を参照すると、データプロテクタ４３０１は、データプロテクタ４３０１のデータベースから、前回の検証ルーチン中にメタデータが計算された最後の保護されたオブジェクトは、Ｃ：＼ｆｉｌｅ  １００３  ＯＮ  ＳＥＲＶＥＲ１であったことを明らかにする。このため、データプロテクタ４３０１は、ＳＥＲＶＥＲ１におけるボリュームＣ：上のｆｉｌｅ１００３までのすべてのファイルに関して、メタデータが生成され、伝送されていることが分かり、このため、Ｃ：＼ｆｉｌｅ  １００３  ＯＮ  ＳＥＲＶＥＲ１後のメタデータの生成を再スタートするように作成ロケーション４３０３に命令する検証再スタートコマンドを生成する。
【０２４０】
図４８Ａは、本発明の実施形態による、作成ロケーションによって受信されるコマンドを処理するためのコマンド処理ルーチンの流れ図である。コマンド処理ルーチン４８００は、ブロック４８０１で開始し、判定ブロック４８０３で、受信されたコマンドが「伝送開始」コマンドであるかどうかの判定が行われる。前述したとおり、コマンドは、データ保護システム全体に展開されるエージェント群を制御するために、データプロテクタによって生成される。判定ブロック４８０３で、受信されたコマンドが「伝送開始」コマンドであったと判定された場合、ブロック４８０５で、伝送開始ポイントが明らかにされる。伝送開始ポイントは、「伝送開始」コマンドの中に含まれることが可能である。伝送開始ポイントは、データ伝送が開始されるべき変更ログ内の位置を明らかにする。
【０２４１】
さらに、ブロック４８０７で、伝送終了ポイントが明らかにされる。伝送終了ポイントは、様々な形で特定されることが可能である。例えば、伝送終了ポイントは、変更ログ内に含まれる最後のレコードを探し出し、そのレコードを伝送終了ポイントとして使用すること、データ伝送の最大サイズを特定し、そのサイズに達したログ内のポイントを明らかにすることなどにより、明らかにすることができる。伝送開始ポイントおよび伝送終了ポイントが明らかにされると、ブロック４８０９で、コマンド処理ルーチン４８００は、制御をデータ伝送フローに渡す（図４８Ｂ）。
【０２４２】
判定ブロック４８０３を再び参照して、受信されたコマンドが「伝送開始」コマンドではないと判定された場合、判定ブロック４８１１で、受信されたコマンドが「検証開始」コマンドであるかどうかが判定される。判定ブロック４８１１で、コマンドが「検証開始」コマンドであると判定された場合、ブロック４８１３で、どこで検証が開始されるべきかについて、作成ロケーション内の位置が明らかにされる。伝送の開始ポイントおよび終了ポイントの場合と同様に、この位置は、検証開始コマンドの中に含まれることも、別個に獲得されることも可能である。検証が開始されるべき作成ロケーション内の位置が明らかにされると、コマンド処理ルーチン４８００は、ブロック４８１５で示すとおり、制御を検証ルーチン（図４８Ｃ）に渡す。
【０２４３】
判定ブロック４８１１で、受信されたコマンドが「検証開始」コマンドではないと判定された場合、判定ブロック４８１７で、受信されたコマンドがＣチェックポイント確認であるかどうかが判定される。受信されたコマンドがＣチェックポイント確認であった場合、ブロック４８１９で示すとおり、確認されたＣチェックポイントに先立って伝送された変更ログの中に含まれるレコードが、変更ログから削除され、ルーチンは、ブロック４８２１で完了する。しかし、判定ブロック４８１７で、受信されたコマンドがＣチェックポイント確認ではないと判定された場合、受信されたコマンドは、マーカトークンＡpである。ブロック４８２３で、マーカトークンＡpは、変更ログに入れられ、ルーチンは、ブロック４８２５で完了する。
【０２４４】
図４８Ｂは、本発明の実施形態による、作成ロケーションから格納ロケーションに変更レコードを伝送するためのデータ送信ルーチンの流れ図である。データ送信ルーチン４８３０は、ブロック４８３１で開始し、ブロック４８３３で、変更ログから獲得された一群の変更レコードが、伝送のために一括される。レコードのバッチは、任意の数のレコードであることが可能である。レコードのバッチを作成することは、変更ログの最大サイズに達したことに応答して行われても、変更が行われた後に行われても、所定の時点で行われてもよい。当業者には理解されるとおり、与えられたレコードのバッチを生成するタイミング、およびレコードのバッチのサイズは、単に実施例であり、レコードのバッチを作成するための任意のタイミングおよびサイズを本発明の諸実施形態で利用することができる。例えば、レコードのバッチは、１つだけのレコードを含むことも可能であり、データ保護システムに対して変更が行われるたびに作成されることも可能である。
【０２４５】
ブロック４８３５で、レコードのバッチは、作成ロケーションから伝送される。レコードのバッチを伝送することに加えて、クラスＣチェックポイントが生成され、レコードのバッチの終端に付加され、レコードのバッチの一部として伝送される。前述したとおり、クラスＣチェックポイントは、レコードのバッチの中に含まれる最後の変更レコードの変更ログ内における位置に対するポインタを含む。判定ブロック４８３７で、変更ログ内にさらなるレコードが存在するかどうかの判定が行われる。判定ブロック４８３７で、さらなるレコードが存在すると判定された場合、データ送信ルーチン４８３０は、ブロック４８３３に制御を戻し、ルーチンが続けられる。しかし、判定ブロック４８３７で、伝送されるべきレコードがもはや存在しないと判定された場合、ブロック４８３９で示すとおり、ルーチンは、完了する。
【０２４６】
図４８Ｃは、本発明の実施形態によるデータを検証するための検証ルーチンの流れ図である。検証ルーチン４８４０は、ブロック４８４１で開始し、判定ブロック４８４３で、検証が行われる必要がある作成ロケーション内のオブジェクトが存在するかどうかが判定される。判定ブロック４８４３で、検証されるべきさらなるオブジェクトが存在しないと判定された場合、ブロック４８４４で示すとおり、ルーチンは、終了する。しかし、検証されるべきさらなるオブジェクトが存在すると判定された場合、ブロック４８４５で、オブジェクトに関するメタデータが生成される。詳細には、メタデータが生成されることが可能な最初のオブジェクトは、コマンド処理ルーチン４８００（図４８Ａ）のブロック４８１３で明らかにされた開始位置に対応するオブジェクトである。メタデータが生成されると、メタデータは、メタデータレコード（Ｖ）の形態で変更ログに追加される。
【０２４７】
判定ブロック４８４７で、クラスＡチェックポイントが生成され、変更ログに追加されるべきかどうかの判定が行われる。前述したとおり、クラスＡチェックポイントは、メタデータレコードを生成し、伝送するプロセス全体の中の位置を表わし、データ検証を再スタートするために使用することができる。さらに、クラスＡチェックポイントは、伝送されたクラスＡチェックポイントの中で受信されていないチェックポイントがないかどうかを判定することができるように、順次マーカも含むことが可能である。判定ブロック４８４７で、クラスＡチェックポイントが生成されるべきであると判定された場合、ブロック４８４９で、チェックポイントが生成され、一括されて、変更ログ内に含まれる他のレコードとともに伝送されるレコードとして、変更ログに追加される。変更ログにクラスＡチェックポイントを追加すると、検証ルーチン４８４０は、制御を判定ブロック４８４３に戻し、ルーチンが続けられる。しかし、判定ブロック４８４７で、クラスＡチェックポイントがまったく生成されるべきでないと判定された場合、検証ルーチン４８４０は、判定ブロック４８４３に戻り、続けられる。
【０２４８】
図４９Ａは、本発明の実施形態による、格納ロケーションによって受信されるコマンドを処理するためのコマンド処理ルーチンの流れ図である。コマンド処理ルーチン４９００は、ブロック４９０１で始まり、判定ブロック４９０３で、受信されたコマンドが「受信開始」コマンドであるかどうかの判定が行われる。「受信開始」コマンドは、作成ロケーションから伝送されるレコードの受信を開始するようにという、格納ロケーションに対する命令である。判定ブロック４９０３で、コマンドが「受信開始」コマンドであると判定された場合、ブロック４９０５で、受信されたレコードを格納するための、スピルログ内からの開始ポイントが明らかにされる。スピルログ内の位置を明らかにすることは、「受信開始」コマンド内に含まれる位置を受信することにより、または別個の命令として受信することにより、決められることが可能である。受信されたレコードを格納することをどこから始めるかについて、スピルログ内の位置が明らかにされると、コマンド処理ルーチン４９００は、ブロック４９０７で示すとおり、制御をレコード受信ルーチン（図４９Ｂ）に渡す。
【０２４９】
判定ブロック４９０３を再び参照すると、受信されたコマンドが「受信開始」コマンドではないと判定された場合、判定ブロック４９０９で、受信されたコマンドが「適用開始」コマンドであるかどうかが判定される。受信されたコマンドが適用開始コマンドであった場合、ブロック４９１１で、レコードを適用することを始めるスピルログ内の開始位置が明らかにされる。レコード受信開始位置の場合と同様に、スピルログ内の識別は、「適用開始」コマンド内に含められた位置、別個のコマンドとして受信される位置、または他の何からの手段によって明らかにされる位置によって明らかにされることが可能である。適用を開始すべきスピルログ内の位置が明らかにされると、コマンド処理ルーチン４９００は、制御を変更レコード適用ルーチン（図４９Ｃ）に渡す。
【０２５０】
判定ブロック４９０９で、コマンドが「適用開始」コマンドではないと判定された場合、コマンドは、クラスＢチェックポイント確認であり、ブロック４９１５で、確認されたクラスＢチェックポイントの伝送に先立って格納ロケーションにおけるコピーに適用されていた、スピルログ内に含まれるすべてのレコードが、スピルログから削除される。ブロック４９１７で、ルーチンは完了する。
【０２５１】
図４９Ｂは、本発明の実施形態による、格納ロケーションにおいてレコードを受信するためのレコード受信ルーチンの流れ図である。レコード受信ルーチン４９２０は、ブロック４９２１で開始し、ブロック４９２３で、次の着信するレコードが受信される。前述したとおり、レコードの伝送は、有線、無線などを含むが、以上には限定されない、任意のタイプの伝送媒体を使用して達せられることが可能である。判定ブロック４９２５で、受信されたレコードがクラスＣチェックポイントであるかどうかが判定される。受信されたレコードがクラスＣチェックポイントであった場合、クラスＣチェックポイントのスピルログ位置は、クラスＣチェックポイントに追加され、そのクラスＣチェックポイントが、ブロック４９２７で示すとおり、データプロテクタに転送される。しかし、判定ブロック４９２５で、レコードがクラスＣチェックポイントではないと判定された場合、判定ブロック４９２９で、レコードがマーカトークンＡpであるかどうかが判定される。レコードがマーカトークンであった場合、ブロック４９３１で、マーカトークンは、データプロテクタに転送される。
【０２５２】
判定ブロック４９２９で、レコードがマーカトークンではないと判定された場合、判定ブロック４９３５で、レコードがクラスＡチェックポイントであるかどうかが判定される。判定ブロック４９３５で、レコードがクラスＡチェックポイントではないと判定された場合、または、レコードをデータプロテクタに転送した後（ブロック４９２７、４９３１、４９３７）、受信されたレコードは、ブロック４９３９で示すとおり、スピルログに追加される。判定ブロック４９４１で、受信済みのさらなるレコードが存在するかどうかが判定される。さらなるレコードが存在する場合、レコード受信ルーチン４９２０は、ブロック４９２３に戻り、ルーチンが続けられる。さらなるレコードがまったく存在しない場合、ルーチンは、ブロック４９４３で完了する。
【０２５３】
図４９Ｃは、本発明の実施形態による、格納ロケーションにおけるレプリカに変更レコードを適用するための変更レコード適用ルーチンの流れ図である。レコード適用ルーチン４９５０は、ブロック４９５１で開始し、ブロック４９５３で、レコードがスピルログから獲得される。判定ブロック４９５５で、獲得されたレコードが、保護されたオブジェクトに関するメタデータを含むかどうかが判定される。レコードがメタデータを含むと判定された場合、ブロック４９５７で、そのメタデータが、レプリカ上に格納された、対応するオブジェクトと比較される。前述したとおり、メタデータは、最終変更時刻、サイズ、計算されたチェックサムなどの、オブジェクトに関する任意の形態のＩＤ（ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）であることが可能である。判定ブロック４９５９で、メタデータが比較されると、メタデータが異なるかどうかが判定される。比較されたメタデータが異なる場合、ブロック４９６１で、メタデータが比較されたオブジェクトのＩＤが、差分リストに追加される。明らかにされたオブジェクトが差分リストに追加された後（ブロック４９６１）、または判定ブロック４９５９で、メタデータが異なっていないと判定された場合、変更レコード適用ルーチン４９５０は、判定ブロック４９６５に進み、続けられる。判定ブロック４９５５に戻り、レコードがメタデータではないと判定された場合、レコードは、変更レコードであり、ブロック４９６３で示すとおり、レプリカに適用される。
【０２５４】
判定ブロック４９６５で、クラスＢチェックポイントが生成されるべきかどうかが判定される。前述したとおり、クラスＢチェックポイントの生成は、任意の形態の基準に基づいて生じさせられることが可能である。例えば、クラスＢチェックポイントは、変更レコードが適用されるたびに生成されること、所定の期間の後に生成されることなどが可能である。判定ブロック４９６５で、クラスＢチェックポイントが生成されるべきであると判定された場合、判定ブロック４９６７で、差分リストが空であるかどうかが判定される。差分リストが空でないと判定された場合、ブロック４９６９で、ルーチン４９５０は、クラスＡチェックポイントの受信を待つ。差分リストが空でない場合にクラスＡチェックポイントを待つことにより、システムが再スタートされた場合に、差分リストへの追加を生成したメタデータレコードは失われないことが確実になる。クラスＢチェックポイントの伝送に先立ってクラスＡチェックポイントを受信することにより、差分リストが送信された時点で、その差分リストを生成するのに利用されたすべてのメタデータレコードがもはや必要とされないことが確実になる。判定ブロック４９６７で、差分リストが空であると判定された場合、またはブロック４９６９におけるクラスＡチェックポイントの受信後、ブロック４９７１で示すとおり、クラスＢチェックポイントが生成され、伝送される。
【０２５５】
判定ブロック４９６５を再び参照すると、クラスＢチェックポイントが生成されるべきではないと判定された場合、またはクラスＢチェックポイントの伝送の後（ブロック４９７１）、判定ブロック４９７３で、レプリカにまだ適用されていない、さらなるレコードがスピルログの中に存在するかどうかが判定される。追加のレコードが存在する場合、変更レコード適用ルーチン４９５０は、ブロック４９５３に戻り、続けられる。しかし、判定ブロック４９７３で、適用されるべき追加のレコードが存在しないと判定された場合、ルーチンは、ブロック４９７５で示すとおり、完了する。
【０２５６】
本発明の諸実施形態は、一時バージョン設定を使用するレプリケーション、および／またはリムーバブルな媒体へのデータのコピーのアーカイブなどの、任意のタイプのバックアップ技術を使用して、作成ロケーションにおけるデータを保護する能力を提供する。本発明の実施形態では、作成ロケーションにおけるデータを保護する能力は、データ保護システムの異なる部分に配置されたエージェント群によって実行されるアクションの分散制御および協調を使用することを介して達せられる。例えば、エージェントは、作成ロケーション、格納ロケーション、および／またはデータプロテクタロケーションに配置されていることが可能である。ジョブと呼ばれるそれらの活動は、典型的に、スケジュールに従って実行される。ジョブには、しばしば、リモートエージェントとの通信が関与するので、ジョブは、通常、非同期であり、完了するまでに長い時間がかかる可能性がある。ジョブは、１回だけ実行される、または定期的に実行されることが可能な、スケジュールされた活動単位である。ジョブは、１つまたは複数のタスクから成る。タスクは、順次に実行されることも、並行に実行されることも可能である。さらに、ジョブは、タスクのいずれかが失敗した場合、失敗することも、すべてのタスクを、タスクが完了するか、失敗するまで実行することを続けることも可能である。
【０２５７】
データ保護のため、ジョブは、保護されたグループのすべてのメンバに関して所与の活動を実行するように編成される。データ保護は、特定のジョブに関して適切な活動を実行するためのタスクを含むジョブを編成することを介して行われる。例えば、保護または回復プランは、１つまたは複数のジョブ、およびそれらのジョブのためのスケジュールを含む。本発明の実際の実施形態では、ジョブは、次の４つの異なるタイプ、すなわち、保護、回復、検出、およびハウスキーピング（ｈｏｕｓｅｋｅｅｐｉｎｇ）の１つであることが可能である。保護ジョブは、レプリケーション、一時バージョン管理、アーカイブ、またはデータセットステージング（ｓｔａｇｉｎｇ）などのデータ保護活動を実行する。各保護タスクは、保護されたグループに関連する。回復ジョブは、レプリカ、データセット、アーカイブ、または以上の組合せからデータ回復を実行する。各回復タスクは、回復ソースに関連する。初期検出ルーチン（図２５）やスケジュールされた検出ルーチン（図２６）などの検出ジョブは、データプロテクタ外部のエンティティを検出する。検出は、探索、ナビゲーション、自動検出グループリフレッシュまたは保存探索、および保護されたグループのメンバシップ特定のために実行される。ハウスキーピングジョブは、データ保護システムメンテナンスのために必要な諸活動を実行する。ハウスキーピングジョブには、エージェントインストールバージョン調査（ａｇｅｎｔ  ｉｎｓｔａｌｌｅｄ  ｖｅｒｓｉｏｎ  ｓｕｒｖｅｙ）、概要軌跡（ｓｕｍｍａｒｙ  ｔｒａｉｌ）の作成、媒体移動（ｍｅｄｉａ  ｍｉｇｒａｔｉｏｎ）、保護システムデータベースガーベッジコレクション（ｇａｒｂａｇｅ  ｃｏｌｌｅｃｔｉｏｎ）が含まれる。
【０２５８】
データ保護システムの各ジョブは、ジョブマネージャによって監視される。ジョブマネージャは、ジョブの全体的な進行を監視し、それらのジョブに関連するデータプロテクタデータベースから情報を読み取り、それらのジョブから受け取られた情報を、ジョブマネージャが維持するデータプロテクタデータベースの特定の部分に書き込む。ジョブマネージャが維持するデータベースの部分に関して、情報をデータベースのその部分に書き込むことができるのは、データ保護システムのマネージャだけである。
【０２５９】
図５０は、本発明の実施形態による複数のタスクを含むジョブのブロック図である。前述したとおり、ジョブ５０００は、タスク１  ５００１、タスク２  ５００２、タスクＮ  ５００３で示す任意の数までのタスクなどの、１つまたは複数のタスクを含む。ジョブの各タスクは、タスクエグゼキュータ５００５、５００７によって実行され、管理される。タスクエグゼキュータ５００５は、タスク２  ５００２のようなタスクを実行する際、データ保護システム全体に分散された、異なるエージェントによって実行される、１つまたは複数のコマンドを生成することができる。例えば、タスクエグゼキュータ５００５は、異なるエージェントによってそれぞれが完了される、タスク２  ５００２に関する、異なる３つのコマンドを生成することができる。タスク２  ５００２に関する第１のコマンドは、エージェントＡ５００９によって実行されることが可能であり、第２のコマンドは、エージェントＢ５０１１によって実行されることが可能であり、第３のコマンドは、エージェントＣ５０１３によって実行されることが可能である。タスクのタイプ、およびジョブのタイプに依存して、エージェント５００９〜５０１３は、コマンドを順次に実行することも、並行に実行することもできる。
【０２６０】
ジョブプロパティは、ジョブのすべてのタスクに適用される。ジョブの特定のタスクも、特定のプロパティを有することが可能である。保護ジョブに関するジョブプロパティおよびタスクプロパティは、グループプランのジョブを作成することの一部として、インテントトランスレータによって特定される。本発明の実際の実施形態では、すべてのジョブは、次のプロパティを有する。すなわち、成功／失敗時のアクション、ならびに並行の実行、または順次だけの実行である。さらに、データの移動が関わるあらゆるジョブは、次のプロパティを有することが可能である。すなわち、暗号化、圧縮、スロットル、および並置インテントである。
【０２６１】
各タスクエグゼキュータ５００５、５００７は、入力に応答して異なる状態を経て有限状態マシン（ＦＳＭ）を遷移させ、状態を保存し（ｐｅｒｓｉｓｔ）、再スタートロジックを実行する共通エンジンによって実行される、ＦＳＭとして生成されることが可能である。例えば、タスクエグゼキュータは、エージェントに対して前に発行されたコマンドからの応答に基づいて遷移することが可能である。共通エンジンを利用することにより、すべてのＦＳＭの設計が、共通の設計方法に従うことを可能にし、異なるＦＳＭが、同一の共通ブロック（エージェントが起動中（ａｌｉｖｅ）であるかどうかを判定するためにポーリングを行うこと、およびエージェントからステータスを獲得することなど）を共有することを可能にする。
【０２６２】
通常、タスクエグゼキュータは、エージェントにコマンドを発行し、コマンドの成功または失敗、およびコマンドからもたらされる応答に基づいて待ち状態に出入りする。さらに、タスクエグゼキュータ５００５、５００７は、タスクの実行中に特定の時間が経過した後、キャンセル要求（例えば、ユーザからのキャンセル要求、ジョブが、そのジョブに割り当てられた最大時間を超過したことに起因する、内部キャンセル要求など）に応答して、またはデータベースの状態に基づいて生成された内部メッセージに応答して、遷移することが可能である。各遷移で、タスクエグゼキュータは、タスクにおける進行を保存する（ｐｅｒｓｉｓｔ）。保存された進行ポイントは、データプロテクタデータベースの中に格納されることが可能である。タスクにおける進行ポイントを保存することにより、予期しない終了（停電などの）が生じた場合の堅牢性がデータ保護システムに提供される。再スタート時に、タスクエグゼキュータは、保存されたポイントを参照し、タスクの適切な状態を明らかにし、そのポイントから即時に失敗させて（ｆａｉｌ）、必要である可能性があるクリーンアップを実行することができる。
【０２６３】
例えば、レプリケーションのためのデータ伝送ジョブの場合、前述したとおり、タスクエグゼキュータは、ジョブの各タスクを実行するために、適切なエージェントにコマンドを発行する。それらのコマンドのなかには、変更レコードの伝送を開始するようにクローンエージェントに発行されるコマンドが含まれる。同様に、タスクエグゼキュータは、レコードを受信すること、および適用することを開始するように、レプリケーションエージェントにコマンドを発行する。エージェントがそれらのコマンドを実行すると、タスクエグゼキュータは、タイマーを開始し、待ち状態に遷移する。各遷移（コマンド発行、待機開始）で、タスクエグゼキュータは、タスクに関する進行のポイントを保存する（ｐｅｒｓｉｓｔ）。タスクエグゼキュータによって受信されることが可能な応答は、チェックポイント、タイムアウトイベント、キャンセル要求などであることが可能である。応答を受信すると、タスクエグゼキュータは、その応答に従って遷移し、タスクにおけるそのポイントを保存する。このプロセスは、タスクが成功または失敗を通じて完了するまで続けられる。
【０２６４】
タイムアウトイベントが生じた場合、タスクエグゼキュータ５００５は、各エージェントにポーリングも行って、エージェントが依然、起動中であるかどうかを判定し、場合により、そのエージェントによって実行されるコマンドの進行に関する最新情報を獲得することができる。遷移ポイントを保存して、堅牢性を高めることに加え、長期実行活動が、中間ポイントであるチェックポイントから再スタートされることが可能であるように設計され、障害が生じた場合に、すべての作業が失われることはないようにする。例えば、図４３ないし４７を再び参照すると、データ伝送中、およびデータ検証中、チェックポイントが作成される。それらのチェックポイントは、レプリケーションマネージャによって獲得され、データ保護データベースの中に格納される。図４３〜図４７に関連して前述したとおり、障害からの再スタート時に、それらのチェックポイントは評価されることが可能であり、データ伝送およびデータ検証は、チェックポイントによって明らかにされるポイントから再開されることが可能である。
【０２６５】
タスクを完了まで実行することに加えて、タスクエグゼキュータ５００５、５００７は、本発明の実施形態では、タスクの完了、およびタスクが成功して完了したか、または失敗して完了したかについて、ジョブマネージャに通知する。ジョブマネージャは、ジョブの中のすべてのタスクに関する概要情報を与える独自の軌跡（ｔｒａｉｌ）を保持する。例えば、ジョブ軌跡は、成功して完了したタスクの数を含むことが可能である。ジョブマネージャは、タスクエグゼキュータから受け取られた情報も、データプロテクタデータベース内のタスク軌跡の中に保存する。さらに、タスクエグゼキュータが、タスクに関連するタスクエグゼキュータ固有の情報とともに、独自のタスク軌跡を保持することも可能である。タスク軌跡は、タスク中に見つかったあらゆるエラー、ならびにデータ保護システムのユーザに役立つ、タスクに関連する統計を含むことが可能である。タスクタイプ固有の軌跡が、その特定のタスクに関連するマネージャによって受け取られ、保持される。タスクタイプ固有の軌跡は、データを移動するのにかかった合計時間、タスクを完了するのにかかった合計時間、転送されたデータの総量などの、タスク固有の情報を含むことが可能である。データ保護システムの再スタート時に、タスク軌跡を利用して、障害をもたらしたエラーパスを明らかにすることができる。さらに、タスクが、タスク専用（ｐｒｉｖａｔｅ）メタデータを保持することが可能である。この専用メタデータを再スタート時に使用して、失敗したタスクをクリーンアップすること、およびタスクの完了（成功または失敗）時にタスク軌跡を作成することができる。さらに、タスクエグゼキュータ５００５、５００７は、タスクに関連するメタデータを管理することもできる。
【０２６６】
失敗の場合、再スタート時に、ジョブは、非常に簡単なクリーンアップを行う。ジョブは、自らを再スケジュールすること、または複雑な回復アクションを実行することはしない。代りに、失敗したジョブのタスクは、単にあらゆる物理的オブジェクト状態を更新し、失敗する。失敗は、タスク軌跡およびジョブ軌跡の中に記録される。自動化された回復活動を促すのに値するだけ十分に重要なタスクの場合、データ保護システムは、ヘルス（ｈｅａｌｔｈ）マネージャを介して、タスクが失敗したポイントから、またはタスクによって生成された最後のチェックポイントにおいてジョブを最後まで完了させるのに使用される、埋め合わせジョブを作成することができる。ヘルスマネージャは、タスク軌跡、ならびにデータベース内の様々なオブジェクトの状態を利用して、より複雑な回復機構を実施して、データ保護が進められることを可能にする。
【０２６７】
レプリケーションなどの重要と考えられるタスクに関して、ヘルスマネージャは、それらのタスクを監視することができる。ある実施形態では、ヘルスプロバイダのインスタンスが、ヘルスマネージャによって作成される。重要なタスクは、失敗すると、失敗イベントを生じさせる。ヘルスプロバイダは、それらのイベントを監視し、回復が実行される必要があるかどうかを判定する。回復が必要である場合、１つまたは複数の失敗したタスクを回復するように埋め合わせジョブが作成され、スケジュールされる。さらに、システム起動時に、ヘルスマネージャが、ヘルスプロバイダを開始する。各ヘルスプロバイダは、システムが前回終了された時点で実行されていたことが可能な、失敗したタスクの回復が必要であるかどうかについての、交互の（ａｌｔｅｒｎａｔｅ）判定、および独立の判定を行う。回復が必要である場合、埋め合わせジョブが作成され、スケジュールされる。埋め合わせジョブは、失敗したジョブ内に単一のタスクの失敗が存在する場合に単一のタスクを含むことも、開始されていないタスクも含め、失敗したジョブからのすべての未完了のタスクを含むことも可能である。
【０２６８】
図５１は、本発明の実施形態による、タスクの監視、および埋め合わせジョブの作成を示す流れ図である。前述したとおり、データ保護システム内の各アクションは、いくつかのタスクを有するジョブの形態で編成される。データプロテクタ５１０１は、１つまたは複数のタスクの実行の結果として、転送され、格納ロケーション５１０５に格納される、作成ロケーション５１０３における保護されたオブジェクトのレプリケーションなどの、ジョブを作成することができる。このジョブは、データプロテクタ５１０１によって開始され、ジョブの各タスクは、１つまたは複数のタスクエグゼキュータによって実行される。例えば、レプリケーションジョブの場合、タスクエグゼキュータは、いくつかのエージェントにコマンドを発行し、エージェントの１つは、作成ロケーション５１０３に配置されていることが可能であり、１つは、格納ロケーション５１０５に配置されていることが可能である。それらのタスクは、実行され、現在、進行中であり、この実施例では、ジョブは中断され、その後、回復される。ジョブ中断は、停電などのシステム障害を介して生じる可能性がある。回復時に、データプロテクタ５１０１は、システム障害に先立って進行中であったジョブのタスクを明らかにする。進行中であったジョブのタスクが明らかにされると、データプロテクタ５１０１は、タスクを再スタートするコマンドを発行する。タスクの再スタート時に、タスクエグゼキュータが、そのタスクを失敗させ、失敗したタスクの簡単なクリーンアップを実行する。タスクが重要であった場合、適切なヘルスプロバイダが通知を受ける。
【０２６９】
埋め合わせジョブは、前のジョブが中断したところから再開するジョブである。埋め合わせジョブは、前のジョブの中の失敗したタスク、または前のジョブの中で開始されなかったタスクを含む。例えば、失敗したジョブがレプリケーションジョブであった場合、ヘルスプロバイダは、レプリケーションジョブのどのようなタスクが成功して完了しなかったかを明らかにし、未完了のタスク、ならびにそのジョブに関して完了しなかった他のタスクのすべてを含む埋め合わせジョブを作成する。埋め合わせジョブが、失敗したタスクを受け取ったことに応答して生成される場合、ヘルスマネージャは、その失敗したタスクを明らかにし、そのタスク、ならびに、場合により、そのジョブとともに順次に、または並行に実行されるべき他のタスクを含むジョブを作成する。埋め合わせジョブを生成すると、ヘルスマネージャは、その埋め合わせジョブを実行のためにスケジュールする。次に、その埋め合わせジョブが、あたかも独自のジョブであるかのようにスケジュールされ、その埋め合わせジョブのタスクが実行される。さらに、埋め合わせジョブは、独自のジョブとしてスケジュールされるため、ジョブマネージャから見ると、他のいずれのジョブとも同様に扱われ、ジョブマネージャは、それが埋め合わせジョブであることを知らない可能性がある。
【０２７０】
図５２は、本発明の実施形態による、タスクが重要である場合に、タスク失敗を明らかにし、埋め合わせジョブを作成するための埋め合わせジョブルーチンの流れ図である。埋め合わせジョブルーチン５２００は、データ保護システムによって実行されることが可能であり、あるいは、本発明の実際の実施形態では、ヘルスマネージャによって実行されることが可能である。
【０２７１】
埋め合わせジョブルーチン５２００は、ブロック５２０１で開始し、ブロック５２０３で、タスク失敗を受け取る。前述したとおり、タスクが中断された場合、再スタート時に、タスクエグゼキュータは、前に実行されていたタスクを再スタートし、失敗させて、タスク失敗通知を発行する。タスクエグゼキュータは、その失敗したタスクに関するクリーンアップを実行する。
【０２７２】
判定ブロック５２０５で、埋め合わせジョブルーチン５２００は、失敗したタスクが重要であったかどうかを判定する。代替の実施形態では、ユーザが、どのようなタスクが重要であると見なされるかを指定することができる。判定ブロック５２０５で、失敗したタスクが重要であったと判定された場合、ブロック５２０７で、未完了のタスク、および関連するタスクが明らかにされる。ブロック５２０９で、埋め合わせジョブルーチン５２００が、未完了のタスクのそれぞれに関する埋め合わせジョブを作成し、ブロック５２１１で、埋め合わせジョブがスケジュールされる。
【０２７３】
判定ブロック５２０５を再び参照すると、失敗したタスクが重要ではなかったと判定された場合、ブロック５２１３で示すとおり、埋め合わせジョブルーチンは完了する。タスクは、複数回実行されるルーチンジョブの一部である場合、重要ではないと識別されることが可能である。例えば、バックグラウンドレプリケーションのためのレプリケーションジョブは、そのレプリケーションジョブが、１時間ごとに実行されるようにスケジュールされている場合、重要ではないと見なされることが可能である。このため、このレプリケーションジョブは、スケジュールどおりに再び行われるため、データ保護システムは、このレプリケーションジョブのタスクが重要ではないと判定することができる。
【０２７４】
埋め合わせジョブがスケジュールされるべきかどうかを判定することに加えて、データプロテクタは、ジョブマネージャを介して、タスク失敗に応答して、失敗したジョブを含むジョブが続けられるべきか、または、やはり失敗させられるべきかを判定する。失敗したタスクが、ジョブを失敗させると判定されたタスクである場合、ジョブマネージャは、その関連するジョブを失敗させる。タスクは、重要である（このため、埋め合わせジョブを必要とする）と考えられる可能性があるものの、ジョブが失敗することを要求しない可能性がある。同様に、重要でないタスクの失敗により、ジョブ失敗がもたらされる可能性もある。例えば、ジョブが、複数のデータソースからのレプリケーションを含む場合、レプリケーションタスク（重要なタスク）の１つの失敗により、ジョブの失敗がもたらされない可能性がある。
【０２７５】
前述したとおり、データ保護システムは、データ保護システムの特定の諸部分を制御するマネージャ群を含む。例えば、データ保護システムは、レプリケーションマネージャ、構成マネージャ、ヘルスマネージャ、概要マネージャ、ジョブマネージャ、媒体マネージャ、アーカイブマネージャなどを含むことが可能であるが、以上には限定されない。各マネージャは、データプロテクタデータベースの特定の部分を維持する。データベースの各部分は、対応するマネージャだけによって書き込まれることが可能な一組のテーブルから成る。それらのテーブルは、任意のマネージャ、および他の外部アプリケーションによって読み取られることが可能であるが、対応するマネージャだけが、テーブルにデータを書き込むことができるマネージャであるため、すべての同時実行制御および同期のロジックは、そのマネージャによって所有される。ヘルスマネージャは、タスクおよびジョブを監視することに加えて、他のマネージャ群も監視することができる。ヘルスマネージャは、このマネージャに関連するタスクのいずれの失敗にも応答するように構成され、このマネージャに対応するデータベースの状態を検査して、どのような回復アクションが必要であるかを特定することができる。
【０２７６】
さらに、マネージャは、マネージャの機能を実施する１つまたは複数のタスクエグゼキュータも含むことが可能である。例えば、レプリケーションマネージャは、レプリケーションタスクエグゼキュータ、一時バージョン設定タスクエグゼキュータ、および一時バージョンからの回復タスクエグゼキュータを含むが、以上には限定されなず、レプリカに関連するすべてのタスクエグゼキュータを含むことが可能である。
【０２７７】
データ保護システムの物理的オブジェクト（例えば、レプリカ、媒体、ディスク、ライブラリ、ドライブ）に関して、状態モデルが保持される。各状態モデルは、オブジェクトが置かれていることができる可能な状態、および状態間の許容できる遷移を表す。例えば、図３７は、本発明の実施形態によるレプリカに関する状態モデルを示す。状態モデルは、オブジェクトのライフサイクルを表し、オブジェクトをある状態から別の状態に遷移させるのに、どのような活動が実行される必要があるかを示す。例えば、レプリカが無効な状態３７０５（図３７）にある場合、その状態に基づき、データ保護システムは、検証ジョブが実行されて、レプリカを有効な状態３７１１にしなければならないことを知る。オブジェクトの状態は、しばしば、ヘルスプロバイダに対する入力である。
【０２７８】
状態モデルを保持することにより、回復のためにヘルスプロバイダによって利用されることが可能な既知の状態が保持されて、エラー処理が簡単になる。さらに、オブジェクトの状態を監視することにより、データ保護システムがどのようにエラー状態を扱うかが、ユーザに提示される。
【０２７９】
データ保護システムは、データ保護システムの諸部分によって生成されたイベントも監視し、データ保護システム自体の全体的なステータスに関するレポートをユーザに提供する。代替として、レポートは、データ保護システム内部の異なる物理的オブジェクトに関する特定の情報を提供することも可能である。例えば、作成ロケーションにおける、あるサーバが利用できない場合、その問題についてユーザに知らせ、示唆される問題解決法を提供するレポートエラーが生成されることが可能である。
【０２８０】
イベントは、データ保護システムによって点検され、その点検に基づき、点検イベントに関するレポートが生成される。このレポートは、次の３つのカテゴリの１つに分類される。すなわち、情報、警告、およびエラーである。概して、レポートは、エラーレポートである場合、ユーザアクションが必要であることを明らかにする。レポートは、警告レポートである場合、即時のユーザアクションは必要ないが、警告が、自動的に、またはユーザによって解決されない場合、必要になる可能性があることを明らかにする。最後に、レポートは、情報レポートである場合、ユーザからのアクションが要求されないことをユーザに知らせ、データ保護システムに関する情報を提供する。当業者には理解されるとおり、レポートは、情報、警告、およびエラーに加えて、またはこれらの代替として、任意の形態で提示されることも可能である。
【０２８１】
レポートは、データ保護システムの異なる部分によって生成されたイベントを点検することによって作成される。それらのイベントに基づき、データ保護システムは、それらのイベント、ならびにデータ保護システムのその部分の状態に関するレポートを編集する。このため、ユーザには、データ保護システムによって生成されたイベントのすべてが提供されるのではなく、代りに、情報レポート、警告レポート、またはエラーレポートに分類されているレポートが提供される。提供されるレポートは、必要な場合、データ保護システムによって検出された問題に対する、示唆される解決を含むことも可能である。レポートは、前回のジョブでタスクが失敗したかどうかに関わらず、生成されることが可能である。例えば、以下に例示するとおり、前回のコピージョブが成功した場合でさえ（ブロック５４０９）、格納ロケーションにおいてそのコピーを保持するために使用されるディスクスペースが、所定の閾値を超えた場合（ブロック５４１１）、データ保護システムが警告として分類するイベントが生成され、ユーザがより多くのディスクスペースを割り当てることを所望するであろうことをユーザに知らせる警告レポートが、ユーザに提供される（ブロック５４１３）。
【０２８２】
レポートタイプ（情報、警告、エラー）は、データ保護システムの特定の諸部分を分析することによって決められることが可能である。例えば、一時バージョン診断ルーチン５７００（図５７）を参照すると、所定の期間中に抜けた一時バージョンの数、および合計保持期間が計算され（ブロック５７２５）、レポート分類（警告、エラー）についての決定が、それらの期間中に抜けた一時バージョンの割合に基づいて決められる。
【０２８３】
さらに、一部の実例では、レポートの中に含められるべき示唆を決める一連の試験が実行されることが可能である。例えば、コピー診断ルーチン５４００において、コピーが有効ではないと判定され５４０３、検証ジョブが失敗した５４４５場合、データ保護システムは、一連の試験（判定ブロック５４４７、５４５１、５４５５、５４５９）を介して、どのような示唆される問題解決法が、ユーザに対して生成されるエラーレポートの中に含められるべきかを判定することに移る。同様の実施例が、回復診断ルーチン５９００（図５９）において例示されている。詳細には、ジョブが失敗したと判定された場合５９１１、データ保護システムは、一連の試験（判定ブロック５９１７、５９２１、５９２５、５９２９）を介して、どのような示唆される問題解決法が、エラーレポートの中に含められるべきかを判定する。
【０２８４】
図５３は、本発明の実施形態による、データのコピーに関連する問題を診断すること、および問題が検出された場合に、示唆された訂正を伴うレポートを生成することに関する流れ図を示す。前述したとおり、レポートは、３つのカテゴリ、すなわち、エラー、警告、および情報の１つに分類することができる。
【０２８５】
診断ルーチン５３００は、ブロック５３０１で開始し、ブロック５３０３で、ルーチンは、図５４〜図５６に関連して詳細に説明するコピー診断ルーチンを実行する。コピー診断ルーチン５３０３を実行することに加えて、診断ルーチン５３００は、図５５〜図５８に関連して説明する一時バージョン診断ルーチンを実行する。最後に、診断ルーチン５３００は、データ保護システムによって発行された他の警告が存在するかどうかを判定する。
【０２８６】
判定ブロック５３０９で、コピー診断ルーチン、一時バージョン診断ルーチンのいずれか１つにおいて検出された、または他の警告によって提供されたエラーが存在するかどうかの判定が行われる。判定ブロック５３０９で、エラーが検出されたと判定された場合、判定ブロック５３１１で、そのエラーを表すエラーレポートが生成され、その報告されたエラーを解決するために行われるべき、示唆される措置をユーザに提供する。しかし、判定ブロック５３０９で、エラーが検出されなかったと判定された場合、判定ブロック５３１３で、コピー診断ルーチン、一時バージョン診断ルーチンのいずれか１つから生成された、または他の警告によって提供された警告が存在していたかどうかの判定が行われる。判定ブロック５３１３で、警告が検出されたと判定された場合、ブロック５３１５で、ユーザに対する警告を表し、警告を解決するために実行されることができる可能な措置をユーザに提供する警告レポートが生成される。最後に、判定ブロック５３１３で、警告が検出されなかったと判定された場合、判定ブロック５３１７で、データ保護システムに問題がなく、データ保護システムがユーザによって要求された情報を保護しているという情報レポートが生成される。
【０２８７】
ブロック５３０３、５３０５、および５３０７のルーチンのそれぞれを経て進み、次に、それらのルーチンの最も深刻な問題を特定すること（判定ブロック５３０９、５３１３）により、いずれの潜在的な問題も、単一のレポートとして提供されることが可能である。例えば、エラーが明らかにされた場合、そのエラーおよび示唆される問題解決法が提示されることが可能であり、より深刻な問題である、そのエラーが解決されるまで、警告レポートまたは情報レポートは、差し控えられることが可能である。
【０２８８】
図５４は、本発明の実施形態による、データ保護システムにおいてデータをコピーすることに関する潜在的な諸問題を診断するためのコピー診断ルーチンの詳細を説明する流れ図を示す。コピー診断ルーチンは、レプリカストレージ、アーカイブ、あるいはレプリカとアーカイブの両方などの、任意のタイプのストレージに関して利用することができる。以下により詳細に説明するとおり、コピー診断ルーチン５４００は、前回のコピータスクが成功したか、または失敗したかを判定する。前回のコピータスクが失敗した場合、コピーモードがバックグラウンドであるか、またはバックアップであるかに基づき、異なるパスが辿られる（ブロック５４１７）。１日に１回、実行され、失敗するタスクは、毎時間、実行され、失敗するタスクより重大であるため、それらの失敗に基づいて異なるレポートが生成される。例えば、モードがバックグラウンドであり、タスクが失敗した場合、失敗の回数が所定の下限を超えていない場合には、情報レポートがユーザに提供されることが可能である。代替として、バックグラウンドモードの場合、頻繁に実行されるようにスケジュールされたタスクに関して、まったくレポートが生成されないことも可能である。というのは、そのタスクの後の実行により、問題が自動的に解決される可能性があるからである。対照的に、コピーモードがバックアップであり、タスクが失敗した場合、警告レポートまたはエラーレポートがユーザに提供されることが可能である。
【０２８９】
コピー診断ルーチン５４００は、ブロック５４０１で開始し、判定ブロック５４０３で、コピーが有効であるかどうかの判定が行われる。判定ブロック５４０３で、コピーが有効であると判定された場合、判定ブロック５４０５で、コピージョブが現在、実行されているかどうかの判定が行われる。判定ブロック５４０５で、コピージョブが実行されていると判定された場合、ブロック５４０７で、データ保護システムが、コピーの最後の状態を明らかにし、コピージョブが現在、実行されているという指示をユーザに提供する情報レポートを生成する。
【０２９０】
しかし、判定ブロック５４０５で、コピージョブが現在、実行されていないと判定された場合、判定ブロック５４０９で、前回のコピージョブが成功したかどうかの判定が行われる。判定ブロック５４０９で、前回のコピージョブが成功したと判定された場合、判定ブロック５４１１で、ディスク使用率閾値警告が、前回のコピージョブから生成されているかどうかの判定が行われる。ディスク使用率閾値警告は、コピーが現在、格納されている格納ロケーションの部分の利用可能なディスクスペースが不足していることをデータ保護システムが明らかにしたことに応答して、生成される。例えば、レプリカ上のディスクスペースが不足している場合はいつでも、またはアーカイブが、テープ媒体ではなく、ディスクに対して実行され、プール内の媒体が不足しているか、または空きプール内の媒体が不足している場合、ディスク使用率閾値警告が生成されることが可能である。この閾値レベルは、達すると、閾値警告を生成する、所定の事前設定されたサイズ値である。
【０２９１】
判定ブロック５４１１で、ディスク使用率閾値警告が生成されたと判定された場合、ブロック５４１３で、格納ロケーションにおけるディスク使用率が所定の閾値を超えたことを示す警告レポートが生成され、コピーに追加のディスクスペースが割り当てられるべきであるという示唆を与える。代替の実施形態では、閾値警告をユーザに知らせる警告レポートを生成することに加えて、データ保護システムは、コピーに関する現在のディスクスペースステータスを確認することにより、警告が依然として該当するかどうかを確かめることもできる。
【０２９２】
判定ブロック５４１１で、ディスク使用率閾値警告が生成されていないと判定された場合、ブロック５４１５で、データ保護システムのその部分に関連する問題が存在しないことを示す情報レポートが、ユーザに提供される。
【０２９３】
判定ブロック５４０９を再び参照すると、前回のコピージョブが成功しなかった場合、判定ブロック５４１７で、保護モードがバックグラウンドモードであるかどうかの判定が行われる。本明細書で説明するとおり、バックグラウンド保護モードは、コピーがほぼ連続的であるデータ保護システムの動作モードである。例えば、週７日、１日２４時間、毎時間である。代替として、コピーのモードは、バックアップモードであることも可能である。バックアップ保護モードは、コピーが比較的、低頻度である動作モードである。例えば、アーカイブおよび／またはレプリケーションが、毎晩、行われることが可能である。
【０２９４】
判定ブロック５４１７で、コピーのモードがバックグラウンドであると判定された場合、ブロック５４１９で、前に失敗したコピージョブの回数が計算される。判定ブロック５４２１で、ブロック５４１９で計算された、失敗したコピージョブの回数が、所定の下限を超えたかどうかの判定が行われる。判定ブロック５４２１で、前に失敗したコピージョブの回数が、所定の下限を超えなかった場合、ブロック５４２２で、データ保護システムが現在、予期されるとおりに動作していることをユーザに知らせる情報レポートが生成される。失敗したコピージョブの回数を計算し、その回数を限度値と比較して、レポートを生成するかどうかを決めることにより、データ保護システムが、ユーザに通知する必要なしに、問題を解決する機会が提供される。例えば、コピージョブが１時間ごとに生成されており、１回抜けた場合、データ保護システムは、次の時間、コピージョブが成功して完了した場合、その問題を解決することができる。
【０２９５】
しかし、判定ブロック５４２１で、前に失敗したコピージョブの回数が、所定の下限を超えたと判定された場合、判定ブロック５４２３で、前に失敗したコピージョブの回数が、第２の上限値を超えたかどうかの判定が行われる。前に失敗したコピージョブの回数が、所定の上限値を超えなかったと判定された場合、ブロック５４２４で、失敗したコピージョブの回数をユーザに知らせる警告レポートが生成される。この警告レポートは、失敗したコピージョブの回数が、所定のより高い（重大な）回数に達しておらず、現在、ユーザによるアクションが要求されていないこともユーザに知らせる。
【０２９６】
判定ブロック５４１７で、保護モードがバックグラウンドモードではない、すなわち、バックアップモードであると判定された場合、または判定ブロック５４２３で、失敗したコピージョブの回数が、所定の上限値を超えたと判定された場合、コピー診断ルーチン５４００は、ブロック５４２５（図５５）で示すとおり、前回のタスク失敗の理由を獲得する。本発明の実施形態では、コピージョブの失敗の理由は、コピージョブ自体の中に含まれるタスクによって生成されるタスク軌跡から獲得することができる。前述したとおり、タスク軌跡は、タスク自体、タスクが何を行っていたか、タスクが完了したこと、またはタスクがなぜ失敗したかに関するメタデータを含む。
【０２９７】
判定ブロック５４２７で、失敗の理由が、ユーザが前のコピージョブをキャンセルしたことであったかどうかの判定が行われる。判定ブロック５４２７で、コピージョブが、ユーザがそのジョブをキャンセルしたことに応答して失敗したと判定された場合、コピー失敗の通知は無視される。しかし、判定ブロック５４２７で、ユーザによってキャンセルされた以外の理由で前のコピーが失敗したと判定された場合、判定ブロック５４３１で、前のコピージョブが、データ保護システムが作成ロケーションに接触することができなかったために失敗したのかどうかの判定が行われる。作成ロケーションに接触できないことは、ネットワーク停止、電力供給問題、または作成サーバが現在、メンテナンス、または他の操作のためにシャットダウンされていることなどの、いくつかの異なるタイプの外部イベントからもたらされる可能性がある。
【０２９８】
判定ブロック５４３１で、前回のコピージョブが、データ保護システムが作成ロケーションに接触することができなかったために失敗したと判定された場合、ブロック５４３３で、前のコピージョブが成功して完了していないことをユーザに明らかにし、データ保護システムがなぜ、作成ロケーションに接触することができなかったのかを特定する目的で、ユーザがネットワークおよび／または作成ロケーションを調べるようにという示唆をユーザに与えるレポートが生成される。
【０２９９】
判定ブロック５４３１で、前の失敗が、データ保護システムが作成ロケーションに接触することができなかったために生じたのではないと判定された場合、判定ブロック５４３５で、前の失敗が、データ保護システムが、コピーを実行するエージェントに接触できなかったために生じたのかどうかの判定が行われる。失敗が、コピーを行うエージェントに接触できないことに起因して生じたと判定された場合、ブロック５４３７で示すとおり、そのエラーをユーザに知らせ、ユーザが、エージェントを検査すべきであり、場合により、ルーチンを再スタートし、および／またはエージェントの設定（ｉｎｓｔａｌｌａｔｉｏｎ）を調べ、および／または必要な場合、エージェントを再インストールすべきであるという示唆を与える警告レポートが生成される。
【０３００】
しかし、前の失敗が、ユーザのキャンセル（ブロック５４２７）、作成ロケーションに接触できないこと（ブロック５４３１）、またはエージェントに接触できないこと（ブロック５４３５）に起因していないと判定された場合、問題は、未知であり、データ保護システムが、失敗の原因を特定することができなかったことをユーザに知らせ、ネットワーク接続、およびコピーに関与するエージェントをユーザが調べるべきであるという示唆を与えるエラーが生成される。
【０３０１】
図５４を再び参照すると、判定ブロック５４０３で、コピー診断ルーチン５４００を使用して診断が実行されているコピーが、有効ではないと判定された場合、判定ブロック５４３７（図５６）で、診断されているコピーが無効である（すなわち、無効な状態（図３７）にある）かどうかの判定が行われる。判定ブロック５４３７で、診断されているコピーが無効でないと判定された場合、ブロック５４３９で、コピー診断ルーチンは、そのデータソースに関するコピーが初期設定されていないとユーザに通知する。代替の実施形態では、ブロック５４３９で、診断されているその特定のデータソースに関するコピーが初期設定されていないことを明らかにし、初期設定ジョブを生成することをユーザが所望するかどうかをユーザに尋ねるレポートが、ユーザに提供されることが可能である。
【０３０２】
判定ブロック５４３７で、コピーが無効であると判定された場合、判定ブロック５４４１で、診断されているコピーに対して、検証ジョブが現在、実行されているかどうかの判定が行われる。判定ブロック５４４１で、診断されている特定のコピーに対して検証ジョブが現在、実行されていると判定された場合、ブロック５４４３で、診断されているコピーが、検証ジョブによって現在、検証中であること、および現在、アクションが必要ないことをユーザに知らせる警告レポートが生成される。
【０３０３】
判定ブロック５４４１で、検証ジョブが実行されていないと判定された場合、判定ブロック５４４５で、コピー診断ルーチン５４００は、前の検証ジョブが実行され、失敗しているかどうかを判定する。判定ブロック５４４５で、検証ジョブが実行されており、失敗していると判定された場合、判定ブロック５４４７で、その失敗が、ユーザによる検証ジョブのキャンセルの結果であったかどうかの判定が行われる。判定ブロック５４４５で、前に実行された検証ジョブが失敗しなかったと判定された場合、または前に実行された検証ジョブが失敗し、その失敗が、ユーザによってキャンセルされた結果であったと判定された場合、ブロック５４４９で、その失敗をユーザに知らせ、ユーザが検証ジョブを実行すべきことを示唆するエラーレポートが生成される。代替として、検証ジョブは、自動的に実行されてもよい。
【０３０４】
しかし、判定ブロック５４４７で、失敗した、前に実行された検証ジョブが、ユーザによってキャンセルされた以外の理由で失敗したと判定された場合、ブロック５４５０で、その失敗の理由が、その前の検証ジョブに関連するタスク軌跡から獲得される。ブロック５４５０で獲得された失敗の理由を利用して、コピー診断ルーチン５４００は、判定ブロック５４５１で、失敗した、前に実行された検証ジョブが、コピーのために利用可能な格納ロケーションの量がいっぱいであったために失敗したのかどうかを判定する。判定ブロック５４５１で、格納ロケーションにおけるコピーのためのスペースがいっぱいであったと判定された場合、ブロック５４５３で、格納ロケーションがいっぱいであるとユーザに知らせ、ユーザが、コピーの格納のためにさらなるディスクスペースを割り当てるべきであるという示唆を与えるエラーが報告される。より多くのディスクスペースを割り当てることには、レプリカのためにさらなるディスクスペースを追加することが含まれることが可能である。
【０３０５】
判定ブロック５４５１で、失敗が、不十分なスペースの結果ではなかったと判定された場合、ブロック５４５５で、失敗は、データ保護システムが、格納ロケーションに接触することができなかったことの結果であったのかどうかの判定が行われる。判定ブロック５４５５で、データ保護システムが、コピーを検証するために格納ロケーションに接触することができなかったと判定された場合、エラーレポートが生成される。エラーレポートは、格納ロケーションにアクセスできなかったことをユーザに知らせ、データ保護システムと格納ロケーションの間の通信、目標ボリュームとの通信、および格納ロケーション自体の整合性をユーザが調べるべきであると示唆する。
【０３０６】
判定ブロック５４５５で、失敗は、格納ロケーションにアクセスできなかったことの結果ではなかったと判定された場合、判定ブロック５４５９で、作成ロケーションにおいて変更ログオーバーフローが存在したかどうかについての判定が行われる。ログオーバーフローは、余りにも多くの変更が、作成ロケーションにおける変更ログの中でキューに入れられていること、および／または格納ロケーションにおけるスピルログがいっぱいになってきていることにより、もたらされる可能性がある。これは、変更レコードおよび検証レコードが、格納ロケーションに伝送され、格納ロケーションにおいて処理されるよりも速く生成されている場合に生じる可能性がある。判定ブロック５４５９で、失敗は、ログオーバーフローの結果であったと判定された場合、ブロック５４６１で示すとおり、そのログオーバーフローをユーザに知らせ、ログがオーバーフローしたことを示し、ログが適切にサイズ変更されるべきことを示唆するエラーレポートが生成される。
【０３０７】
最後に、コピー診断ルーチン５４００が、判定ブロック５４５９で、失敗は、ログオーバーフローの結果ではなかったと判定した場合、ブロック５４６３で、その失敗をユーザに知らせ、通信問題の可能性、または他の問題の可能性について、作成サーバ、データプロテクタ、およびストレージサーバをユーザが調べるべきことを示唆し、失敗が続く場合、データ保護システムを再初期設定するように示唆するエラーレポートが生成される。
【０３０８】
保護問題を診断する別の例が、一時バージョンの診断である。一時バージョン診断ルーチンについては、図５３（ブロック５３０５）で示した全体的な診断ルーチンに関連して触れており、図５７に関連してより詳細に説明する。
【０３０９】
図５７は、本発明の実施形態による、データ保護システムによって生成された一時バージョンが抱える潜在的な問題を診断するための一時バージョン診断ルーチンを説明する流れ図を示す。一時バージョン診断ルーチン５７００は、ブロック５７０１で開始し、判定ブロック５７０３で、一時バージョンが作成されているコピーが、有効な状態にあるかどうかの判定が行われる。判定ブロック５７０３で、一時バージョンが生成されているコピーが有効な状態にあると判定された場合、判定ブロック５７０５で、そのコピーの前回の一時バージョンジョブが成功したかどうかについて判定が行われる。判定ブロック５７０５で、コピーの前回の一時バージョンジョブが成功しなかったと判定された場合、判定ブロック５７０７で、その一時バージョンジョブの失敗の理由が、一時バージョンジョブのタスクに関連するタスク軌跡から獲得される。
【０３１０】
判定ブロック５７０９で、説明を提供し、一時バージョンが再び作成されるべきであるとユーザに示唆するエラーレポートが生成される。代替の実施形態では、説明を提供するレポートを生成することに加えて、データ保護システムは、次の一時バージョンを作成するための一時バージョンジョブを自動的にスケジュールすることができる。
【０３１１】
判定ブロック５７０３を再び参照すると、一時バージョンが作成されるべきコピーが、有効な状態にないと判定された場合、一時バージョン診断ルーチン５７００は、図５６に示したブロック群に関して、前述したとおり続けられる。
【０３１２】
判定ブロック５７０５で、有効なコピーの前回の一時バージョンジョブが成功したと判定された場合、判定ブロック５７１１で、一時バージョンが実際に作成されたかどうかの判定が行われる。判定ブロック５７１１で、一時バージョンが実際に作成されていないと判定された場合、判定ブロック５７１３で、コピージョブ失敗があったかどうかの判定が行われる。判定ブロック５７１３で、コピージョブ失敗があったと判定された場合、一時バージョン診断ルーチン５７００は、図５５に例示し、説明するブロックに関して、前述したとおりに続けられる。
【０３１３】
しかし、判定ブロック５７１１で、一時バージョンが作成されなかったと判定され、判定ブロック５７１３で、コピージョブ失敗がなかったと判定された場合、そのことにより、そのコピーに対する活動が存在せず、したがって、一時バージョンは必要なかったことが、データ保護システムに明らかになる。さらに、コピー、および／または一時バージョンに関して問題が存在しないため、ブロック５７１５で、コピーに対する活動が存在せず、したがって、一時バージョンは作成されなかったことをユーザに知らせる情報レポートが生成される。
【０３１４】
判定ブロック５７１１を再び参照すると、一時バージョンジョブが実行され、一時バージョンが作成されたと判定された場合、判定ブロック５７２１（図５８）で示すとおり、回復が必要となった場合、最も古い意図された一時バージョンが利用可能であるかどうかの判定が行われる。最も古い意図された一時バージョンが利用可能であるかどうかを判定することにより、期間（ｄｕｒａｔｉｏｎ）インテントが満たされているかどうかが確認される。例えば、期間インテントが、少なくとも１年経過した情報を回復することが可能であるべきことである場合、最も古い意図された一時バージョン（１年経過したもの）が利用可能であることにより、期間インテントが満たされていることが確認される。判定ブロック５７２１で、最も古い意図された一時バージョンが、回復のために利用できないと判定された場合、最も古い意図された一時バージョンが利用できないこと、およびその原因はおそらく、ディスクスペースの不足に起因することをユーザに知らせるエラーレポートが生成される。エラーレポートは、ブロック５７２３で示すとおり、一時バージョンにより多くのディスクスペースを割り当てるようにという示唆もユーザに与える。
【０３１５】
判定ブロック５７２１で、最も古い意図された一時バージョンが利用可能であると判定された場合、ブロック５７２５で、一時バージョン診断ルーチン５７００は、所定の期間中に抜けたコピーの数を計算し、総保持期間中に抜けたコピーの総数を計算する。抜けた一時バージョン数が計算される所定の期間は、総保持期間より短い、１週間、２週間、１カ月などの、任意の時間の長さであることが可能である。総保持期間は、保護インテントをセットアップする際に、保護されたオブジェクトを回復できることをユーザが所望する全体の時間の長さを明らかにする時点で、ユーザによって明らかにされる。抜けたコピーの数を計算することにより、頻度インテントが満たされているかどうかが確認される。
【０３１６】
判定ブロック５７２７で、ブロック５７２５において抜けたコピーが計算された所定の期間にわたって抜けている一時バージョンが、０％を超えているかどうかの判定が行われる。判定ブロック５７２７で、抜けている一時バージョンが存在しないと判定された場合、判定ブロック５７２９で、総保持期間にわたって抜けている一時バージョンが、５０％未満であるかどうかの判定が行われる。判定ブロック５７２９で、総保持期間にわたって抜けている一時バージョンの数が、５０％未満であると判定された場合、ブロック５７３１で示すとおり、データ保護システムの一時バージョン部分に関して、現在、問題が存在しないことをユーザに知らせる情報レポートが生成される。前述したとおり、問題を即時に報告しないことにより、データ保護システムは、ユーザの関与を必要とすることなしに、いずれの問題も解決する機会を有する。例えば、総保持期間にわたって抜けたコピーの数が、１０％であるが、将来のコピージョブが成功して完了すると判定された場合、この割合は、ユーザに警告する必要なしに、時とともに低下する。
【０３１７】
しかし、ブロック５７２９において、総保持期間にわたって抜けている一時バージョンが５０％を超えていると判定された場合、ブロック５７３３で示すとおり、現在、抜けている一時バージョンの割合を明らかにし、抜けた一時バージョンの割合を継続的に監視すること以外は、アクションが必要ないことを示唆する警告レポートが生成される。
【０３１８】
判定ブロック５７２７で、所定の期間にわたっていくつかの一時バージョンが抜けていると判定された場合、判定ブロック５７３５で、その所定の期間にわたって一時バージョンが抜けた数が、０％から２０％までの間にあるかどうかの判定が行われる。判定ブロック５７３５で、所定の期間にわたって抜けたコピーの数が、０％から２０％までの間にあると判定された場合、判定ブロック５７３７で、総保持期間にわたって抜けた一時バージョンの数が、５０％未満であるかどうかの判定が行われる。判定ブロック５７３７で、総保持期間にわたって抜けた一時バージョンの数が、５０％未満であると判定された場合、ブロック５７３９で、抜けた一時バージョンの割合を提供し、抜けた一時バージョンの割合を監視する以外、アクションが要求されないことを示唆する警告レポートが生成される。
【０３１９】
しかし、ブロック５７３７で、総保持期間にわたって抜けた一時バージョンの割合が、５０％を超えたと判定された場合、ブロック５７４１で、抜けている一時バージョンの割合をユーザに知らせるエラーレポートが生成される。さらに、ブロック５７４１で生成されるエラーレポートは、保護が、予期されるとおりに実行されていないことをユーザに知らせ、明らかにされた保護パラメータ、ならびに作成ロケーションおよび格納ロケーションに関するディスクセットアップをユーザが調べるべきであると示唆する。
【０３２０】
判定ブロック５７３５を再び参照すると、所定の期間にわたって抜けている一時バージョンのパーセンテージが、０％から２０％までの間にないと判定された場合、判定ブロック５７４３で、総保持期間にわたって抜けている一時バージョンの数が、５０％未満であるかどうかの判定が行われる。判定ブロック５７４３で、総保持期間にわたって抜けている一時バージョンの総数が、５０％未満であると判定された場合、ブロック５７４５で、保護が、予期されたとおりに実行されていないことをユーザに知らせ、総保持期間にわたって抜けた一時バージョンの割合をユーザに提供し、ユーザがコピー自体の整合性を調べ、保護スケジュールを調べるべきであると示唆するエラーレポートが生成される。最後に、判定ブロック５７４３で、総保持期間にわたって抜けている一時バージョンの数が、５０％を超えていると判定された場合、ブロック５７４７で示すとおり、保護が、一貫して不良であることをユーザに知らせ、作成ロケーションと格納ロケーションの両方において保護セットアップおよびディスクセットアップをユーザが調べるべきであると示唆するエラーレポートが生成される。
【０３２１】
一時バージョン診断ルーチン５７００の以上の説明に関して、特定の割合を利用しているが、任意の所定の割合を本発明の諸実施形態で利用することができ、本明細書で供する割合は、単に説明目的であることが、当業者には理解されよう。
【０３２２】
図５９は、本発明の実施形態による、データ保護システムにおける情報の回復に関する潜在的な諸問題を診断するための回復診断ルーチンを説明する流れ図である。回復診断ルーチン５９００は、ブロック５９０１で開始し、判定ブロック５９０３で、回復ジョブが現在、実行されているかどうかの判定が行われる。判定ブロック５９０３で、回復ジョブが現在、実行されている場合、判定ブロック５９０５で、回復診断ルーチン５９００は、実行中の回復ジョブに関連するタスクから警告が生成されているかどうかを判定する。判定ブロック５９０５で、実行中の回復ジョブに関連するタスクによって警告が生成されていないと判定された場合、データ保護システムに関する回復関連問題が存在しないことをユーザに知らせる情報レポートが生成される。判定ブロック５９０５で、現在、実行中のジョブに関連するタスクから警告が生成されていると判定された場合、ブロック５９０９で、現在、実行中の回復ジョブが、１つまたは複数の警告を生成したことをユーザに知らせる警告レポートが生成され、それらの警告をユーザに知らせ、何らかの解決が必要な場合、それらの警告を解決する、示唆されるアプローチを提供する。例えば、現在、実行中のジョブが、ファイルが現在、開いているために、ファイルを復元できなかったことを示す警告を生成することが可能である。
【０３２３】
判定ブロック５９０３で、回復ジョブが現在、実行されていないと判定された場合、判定ブロック５９１１で、最近の回復ジョブ（例えば、過去７２時間以内に実行された回復ジョブ）が完了することができなかったかどうかの判定が行われる。判定ブロック５９１１で、完了することができなかった最近の回復ジョブが存在しない、すなわち、すべて成功して完了した、または回復ジョブがまったく実行されていないと判定された場合、ブロック５９１３で、データ保護システムの回復部分に関連する問題は存在しないことをユーザに知らせるレポートが生成される。
【０３２４】
判定ブロック５９１１で、最近、実行された回復ジョブが失敗したと判定された場合、ブロック５９１５で、そのジョブの失敗の理由が、そのジョブに関連するタスク軌跡から獲得される。前述したとおり、特定のジョブに関連するタスクに関するタスク軌跡は、タスクが失敗した場合は、タスクがなぜ失敗したかを含め、タスク自体に関する情報を含む。
【０３２５】
判定ブロック５９１７で、ブロック５９１５で獲得された失敗の理由を利用して、回復ジョブの失敗は、データ保護システムが、データが回復されるべき先の作成ロケーションに接触することができなかったことの結果であったのかどうかの判定が行われる。判定ブロック５９１７で、回復ジョブ失敗の理由が、データ保護システムが作成ロケーションに接触することができなかったことであったと判定された場合、ブロック５９１９で、前回の回復ジョブ失敗の理由をユーザに知らせ、ユーザが、作成ロケーションにおけるネットワーク接続を調べ、作成ロケーション上のエージェントを調べて、エージェントが適切に動作していることを確実にすべきであると示唆するエラーレポートが生成される。コピー診断ルーチン（図５４〜図５６）に関連して前述したとおり、作成ロケーションなどのロケーションに接触できないことは、ネットワーク停止、電力問題、または作成ロケーションが、メンテナンス、または他の操作のためにオフラインにされていることなどの、いくつかの外部イベントの結果である可能性がある。
【０３２６】
判定ブロック５９１７で、回復ジョブ失敗の理由は、データ保護システムが作成ロケーションに接触できなかったことではないと判定された場合、判定ブロック５９２１で、回復ジョブ失敗の理由は、作成ロケーション上の目標が利用できなかったことの結果であったのかどうかが判定される。作成ロケーション上の目標は、回復されたデータが記録されるべき作成ロケーションの物理的部分であることが可能である。判定ブロック５９２１で、目標が利用できなかったと判定された場合、ブロック５９２３で示すとおり、回復ジョブ失敗の理由をユーザに知らせ、潜在的な問題に関して作成サーバ上の物理的ロケーションをユーザが調べるべきであると示唆するエラーレポートが生成される。
【０３２７】
判定ブロック５９２１で、回復ジョブ失敗は、作成ロケーション上の目標が利用できなかったことの結果ではなかったと判定された場合、判定ブロック５９２５で、回復ジョブ失敗の理由は、回復ジョブのタスクが、格納ロケーションからデータを読み取ることができなかったことであるかどうかが判定される。回復ジョブのタスクが、格納ロケーションからデータを読み取ることができなかったと判定された場合、ブロック５９２７で、回復ジョブ失敗の理由をユーザに知らせ、格納ロケーションにおけるディスクおよび／または媒体をユーザが調べるべきであるという示唆を与えるエラーレポートが生成される。
【０３２８】
判定ブロック５９２５で、回復ジョブ失敗の理由は、タスクが、格納ロケーションから読み取ることができなかったことの結果ではなかったと判定された場合、判定ブロック５９２９で、回復データが回復されるべき先の作成ロケーションにおけるディスクが、現在、いっぱいであるかどうかの判定が行われる。判定ブロック５９２９で、ディスクがいっぱいであると判定された場合、ブロック５９３１で、作成ロケーションにおけるディスクが、要求されたデータを回復するための十分な余地を有さないことをユーザに知らせ、ユーザが、代替のロケーションにデータを回復するか、または作成ロケーションにおけるディスクスペースを増加させるべきであると示唆するエラーレポートが生成される。
【０３２９】
最後に、判定ブロック５９２９で、回復ジョブ失敗の理由は、作成ロケーションにおけるディスクがいっぱいであったことの結果ではなかったと判定された場合、前の回復ジョブにおいて未知のエラーが生じたことをユーザに知らせ、ユーザが回復ジョブを再実行すべきであることを示唆するレポートが生成される。
【０３３０】
本発明の好ましい実施形態を図示し、説明してきたが、本発明の趣旨および範囲を逸脱することなく、様々な変更を加えることができることが理解されよう。
【図面の簡単な説明】
【０３３１】
【図１Ａ】本発明の実施形態によるデータの保護および回復を管理するためのデータ保護システムを示すブロック図である。
【図１Ｂ】本発明の実施形態によるデータの保護および回復を管理するためのデータ保護システムを示すブロック図である。
【図１Ｃ】本発明の実施形態によるデータの保護および回復を管理するためのデータ保護システムを示すブロック図である。
【図２】本発明の実施形態によるデータの保護および回復を管理するためのデータ保護システムを示すブロック図である。
【図３】本発明の実施形態による作成ロケーションに位置する保護可能なオブジェクトの最初の選択および保護を示すデータ保護システムの流れ図である。
【図４】本発明の実施形態によるユーザ対話およびユーザ選択のためにユーザインターフェース上で公開され、表示される複数の名前空間および名前空間要素を示すブロック図である。
【図５】本発明の実施形態による名前空間要素と保護可能なオブジェクトの間のマッピングを示す図である。
【図６】本発明の実施形態による名前空間タイプと名前空間要素のタイプを関連付けるためのスキーマを示すブロック図である。
【図７】本発明の実施形態による物理的な保護可能なオブジェクトに論理的な名前空間要素をマップするためのスキーマを示すブロック図である。
【図８】本発明の実施形態によるデータ保護システムによって保護されることが可能である保護可能なオブジェクトを含む作成ロケーションを示すブロック図である。
【図９Ａ】本発明の実施形態による、作成ロケーションにおける保護可能なオブジェクト、ならびに保護可能なオブジェクトの保護されたグループへのグループ化を示すブロック図である。
【図９Ｂ】本発明の実施形態による、保護ロケーションにおける保護可能なオブジェクト、ならびに保護可能なオブジェクトの保護されたグループへのグループ化を示すブロック図である。
【図１０】本発明の実施形態による選択された名前空間要素、マップ済みの保護されたオブジェクト、および保護されたグループのプロパティを含む保護されたグループを示すブロック図である。
【図１１】本発明の実施形態による保護されたグループを保護するためのプランを構成するための構成ルーチンを示す流れ図である。
【図１２】本発明の実施形態による保護されたグループの作成を詳細に示す、保護されたグループ作成ルーチンを示す図である。
【図１３】本発明の実施形態による２つ以上の保護されたグループの中に含まれるデータソースの重複を検出するための重複検出ルーチンを示す図である。
【図１４】本発明の実施形態による保護されたオブジェクトを回復するための回復プロセスの流れを示すデータ保護システムの流れ図である。
【図１５】本発明の実施形態による格納ロケーション上に含まれることが可能である回復可能なオブジェクトのより詳細な表示を示すブロック図である。
【図１６】本発明の実施形態による格納ロケーションから保護されたオブジェクトを回復するための回復ルーチンを示す図である。
【図１７】本発明の実施形態による自動検出グループを作成すること、および利用することに関する流れ図である。
【図１８】本発明の実施形態による自動検出グループを作成すること、および利用することに関する流れ図である。
【図１９】本発明の実施形態による自動検出グループを作成すること、および利用することに関する流れ図である。
【図２０】本発明の実施形態による自動検出グループを作成すること、および利用することに関する流れ図である。
【図２１】本発明の実施形態による自動検出グループを作成すること、および利用することに関する流れ図である。
【図２２】本発明の実施形態による自動検出グループを作成すること、および利用することに関する流れ図である。
【図２３Ａ】本発明の実施形態による自動検出グループを作成すること、および利用することに関する流れ図である。
【図２３Ｂ】本発明の実施形態による保護された名前空間要素の再マッピングを解決するための再マッピング解決ルーチンを示す図である。
【図２４】本発明の実施形態による自動検出グループを作成すること、および利用することに関する流れ図である。
【図２５】本発明の実施形態による最上位の名前空間要素と保護可能なオブジェクトの間のマッピングを初期に検出するための初期検出ルーチンを示す流れ図である。
【図２６】本発明の実施形態による名前空間および名前空間要素と、作成ロケーションに位置する保護可能なオブジェクトの間におけるマッピングの検出のための、スケジュールされた検出ルーチンを示す流れ図である。
【図２７】本発明の実施形態による自動検出グループ作成ルーチンの流れ図である。
【図２８】本発明の実施形態による自動検出グループ更新ルーチンを示す流れ図である。
【図２９】本発明の実施形態による自動検出グループ更新ルーチンを示す流れ図である。
【図３０】本発明の実施形態による、保護インテントを一組のデータを保護するためのプランに変換することに関する流れ図である。
【図３１】本発明の実施形態による、保護インテントを、作成ロケーションに位置する物理オブジェクトを保護するための詳細なプランに変換するためのインテント変換ルーチンを示す流れ図である。
【図３２】本発明の実施形態による、保護インテントを、作成ロケーションに位置する物理オブジェクトを保護するための詳細なプランに変換するためのインテント変換ルーチンを示す流れ図である。
【図３３】本発明の実施形態による、保護されたグループに関する保護プランを作成するための保護プラン作成ルーチンの流れ図である。
【図３４】本発明の実施形態による準備プランを実行するための準備プラン実行ルーチンの流れ図である。
【図３５】本発明の実施形態による格納ロケーションに位置するデータのコピーを検証するための検証ルーチンの流れ図である。
【図３６】本発明の実施形態による格納ロケーションに位置するオブジェクトのコピーを検証するための、スケジュールされた検証ルーチンの流れ図である。
【図３７】本発明の実施形態による格納ロケーションのストレージ部分および／または格納ロケーション全体に関する状態遷移を示すブロック図である。
【図３８】本発明の実施形態による、前のインテント変換ルーチン中に生じた中断の後、インテント変換ルーチンを再開するための再開ルーチンを示す流れ図である。
【図３９】本発明の実施形態によるデータをアーカイブするためのプランを生成するためのアーカイブ保護プラン作成ルーチンを示す図である。
【図４０】本発明の実施形態によるアーカイブスキームを生成するために使用することができる異なる生成の実施例を示すテーブルである。
【図４１】本発明の実施形態によるデータをアーカイブするために媒体を割り当てるためのフロールーチンである。
【図４２】本発明の実施形態によるデータ保護システムを示すブロック図である。
【図４３】本発明の実施形態によるデータ保護システムによって実行されるデータ転送監視ルーチンを示す流れ図である。
【図４４】本発明の実施形態によるデータ保護システムによって実行されるデータ転送監視ルーチンを示す流れ図である。
【図４５】本発明の実施形態による、作成ロケーションから格納ロケーションへの変更レコードの伝送を再開するデータ保護システムを示す流れ図である。
【図４６】本発明の実施形態によるレプリカを検証するための検証ルーチンを示す流れ図である。
【図４７】本発明の実施形態によるレプリカを検証するための検証ルーチンを示す流れ図である。
【図４８Ａ】本発明の実施形態による作成ロケーションによって受け取られたコマンドを処理するためのコマンド処理ルーチンの流れ図である。
【図４８Ｂ】本発明の実施形態による作成ロケーションから格納ロケーションに変更レコードを伝送するためのデータ送信ルーチンの流れ図である。
【図４８Ｃ】本発明の実施形態によるデータを検証するための検証ルーチンの流れ図である。
【図４９Ａ】本発明の実施形態による格納ロケーションによって受け取られたコマンドを処理するためのコマンド処理ルーチンの流れ図である。
【図４９Ｂ】本発明の実施形態による格納ロケーションにおいてレコードを受信するためのレコード受信ルーチンの流れ図である。
【図４９Ｃ】本発明の実施形態による格納ロケーションにおいてレプリカに変更レコードを適用するための変更レコード適用ルーチンの流れ図である。
【図５０】本発明の実施形態による複数のタスクを含むジョブのブロック図である。
【図５１】本発明の実施形態による、タスクの監視、ならびに埋め合わせジョブの作成を示す流れ図である。
【図５２】本発明の実施形態による、タスク失敗を識別し、そのタスクが重要であった場合には埋め合わせジョブを作成するための埋め合わせジョブルーチンを示す流れ図である。
【図５３】本発明の実施形態による、コピーおよび一時バージョンに関連する諸問題を診断すること、ならびに、問題が検出された場合、示唆される訂正を伴うレポートを生成することに関する流れ図である。
【図５４】本発明の実施形態による、データ保護システムにおいてデータをコピーすることに関する潜在的な問題を診断するためのコピー診断ルーチンの詳細を示す流れ図である。
【図５５】本発明の実施形態による、データ保護システムにおいてデータをコピーすることに関する潜在的な問題を診断するためのコピー診断ルーチンの詳細を示す流れ図である。
【図５６】本発明の実施形態による、データ保護システムにおいてデータをコピーすることに関する潜在的な問題を診断するためのコピー診断ルーチンの詳細を示す流れ図である。
【図５７】本発明の実施形態による、データ保護システムによって生成された一時バージョンに関する潜在的な問題を診断するための一時バージョン診断ルーチンを示す流れ図である。
【図５８】本発明の実施形態による、データ保護システムによって生成された一時バージョンに関する潜在的な問題を診断するための一時バージョン診断ルーチンを示す流れ図である。
【図５９】本発明の実施形態による、データ保護システムにおけるデータの回復に関する潜在的な問題を診断するための回復診断ルーチンを示す流れ図である。
【図１Ａ】
2006079626.tif 000003
【図１Ｂ】
2006079626.tif 000004
【図１Ｃ】
2006079626.tif 000005
【図２】
2006079626.tif 000006
【図３】
2006079626.tif 000007
【図４】
2006079626.tif 000008
【図５】
2006079626.tif 000009
【図６】
2006079626.tif 000010
【図７】
2006079626.tif 000011
【図８】
2006079626.tif 000012
【図９Ａ】
2006079626.tif 000013
【図９Ｂ】
2006079626.tif 000014
【図１０】
2006079626.tif 000015
【図１１】
2006079626.tif 000016
【図１２】
2006079626.tif 000017
【図１３】
2006079626.tif 000018
【図１４】
2006079626.tif 000019
【図１５】
2006079626.tif 000020
【図１６】
2006079626.tif 000021
【図１７】
2006079626.tif 000022
【図１８】
2006079626.tif 000023
【図１９】
2006079626.tif 000024
【図２０】
2006079626.tif 000025
【図２１】
2006079626.tif 000026
【図２２】
2006079626.tif 000027
【図２３Ａ】
2006079626.tif 000028
【図２３Ｂ】
2006079626.tif 000029
【図２４】
2006079626.tif 000030
【図２５】
2006079626.tif 000031
【図２６】
2006079626.tif 000032
【図２７】
2006079626.tif 000033
【図２８】
2006079626.tif 000034
【図２９】
2006079626.tif 000035
【図３０】
2006079626.tif 000036
【図３１】
2006079626.tif 000037
【図３２】
2006079626.tif 000038
【図３３】
2006079626.tif 000039
【図３４】
2006079626.tif 000040
【図３５】
2006079626.tif 000041
【図３６】
2006079626.tif 000042
【図３７】
2006079626.tif 000043
【図３８】
2006079626.tif 000044
【図３９】
2006079626.tif 000045
【図４０】
2006079626.tif 000046
【図４１】
2006079626.tif 000047
【図４２】
2006079626.tif 000048
【図４３】
2006079626.tif 000049
【図４４】
2006079626.tif 000050
【図４５】
2006079626.tif 000051
【図４６】
2006079626.tif 000052
【図４７】
2006079626.tif 000053
【図４８Ａ】
2006079626.tif 000054
【図４８Ｂ】
2006079626.tif 000055
【図４８Ｃ】
2006079626.tif 000056
【図４９Ａ】
2006079626.tif 000057
【図４９Ｂ】
2006079626.tif 000058
【図４９Ｃ】
2006079626.tif 000059
【図５０】
2006079626.tif 000060
【図５１】
2006079626.tif 000061
【図５２】
2006079626.tif 000062
【図５３】
2006079626.tif 000063
【図５４】
2006079626.tif 000064
【図５５】
2006079626.tif 000065
【図５６】
2006079626.tif 000066
【図５７】
2006079626.tif 000067
【図５８】
2006079626.tif 000068
【図５９】
2006079626.tif 000069