(57)【要約】  アプリケーションデータを復元するためのコンピュータ実装方法は、（１）リソースのためのリソースデータを選択された状態へ復元する要求を受信することと、（２）複数のバックアップデータセットを特定することであって、複数のバックアップデータセット内の各バックアップデータセットが、リソースのためのバックアップされたデータの少なくとも一部分を含む、特定することと、（３）リソースデータを選択された状態へ復元するために、複数のバックアップデータセットを復元する順序を決定することと、（４）複数のバックアップデータセットを決定された順序で復元することにより、リソースのためのリソースデータを選択された状態へ復元することと、を含み得る。多様な他の方法、システム、及びコンピュータ可読媒体もまた開示される。
2015503168.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションデータを復元するためのコンピュータ実装方法であって、前記方法の少なくとも一部分が、少なくとも１つのプロセッサを備えるコンピューティング装置により実施され、前記方法が、
リソースのためのリソースデータを選択された状態へ復元する要求を受信することと、
複数のバックアップデータセットを特定することであって、前記複数のバックアップデータセット内の各バックアップデータセットが、前記リソースのためのバックアップされたデータの少なくとも一部分を含む、特定することと、
前記リソースデータを前記選択された状態へ復元するために、前記複数のバックアップデータセットを復元する順序を決定することと、
前記複数のバックアップデータセットを決定された前記順序で復元することにより、前記リソースのための前記リソースデータを前記選択された状態へ復元することと、を含む、方法。
【請求項２】
前記複数のバックアップデータセット内の第１のバックアップデータセットが、第１のバックアップソースから生成されたものであり、
前記複数のバックアップデータセット内の第２のバックアップデータセットが、第２のバックアップソースから生成されたものであり、
前記第１のバックアップソース及び前記第２のバックアップソースが、範囲において異なる、請求項１に記載のコンピュータ実装方法。
【請求項３】
前記複数のバックアップデータセット内の第１のバックアップデータセットが、第１のバックアップジョブにより生成されたものであり、
前記複数のバックアップデータセット内の第２のバックアップデータセットが、第２のバックアップジョブから生成されたものであり、
前記第１のバックアップジョブ及び前記第２のバックアップジョブが、互いに独立していた、請求項１に記載のコンピュータ実装方法。
【請求項４】
前記複数のバックアップデータセット内の第１のバックアップデータセットが、第１のバックアップジョブにより生成されたものであり、
前記複数のバックアップデータセット内の第２のバックアップデータセットが、第２のバックアップジョブから生成されたものであり、
前記第１のバックアップジョブ及び前記第２のバックアップジョブが、別個のバックアップシステムにより実施された、請求項１に記載のコンピュータ実装方法。
【請求項５】
前記リソースが、
アプリケーション、
データベース、
ファイルの群、のうちの少なくとも１つを備える、請求項１に記載のコンピュータ実装方法。
【請求項６】
前記リソースがファイルシステムを備え、
前記複数のバックアップデータセットを復元する前記順序を決定することが、
最新の完全なバックアップデータセットを前記順序の最初に位置付けることと、
最新の差分バックアップデータセットを前記順序の前記最新の完全なバックアップデータセットの後に位置付けることと、
複数の増分バックアップデータセットを前記最新の差分バックアップデータセットの後に時系列順に位置付けることと、を含む、請求項１に記載のコンピュータ実装方法。
【請求項７】
前記複数のバックアップデータセットを特定することが、
前記リソースデータを含む最新の完全なバックアップデータセットを特定することと、
前記最新の完全なバックアップデータセットの後に続いて生成され、前記リソースデータの少なくとも一部分を含むバックアップ環境内の各バックアップデータセットを特定することと、を含み、
前記順序を決定することが、
前記リソースのタイプを特定することと、
前記リソースの前記タイプに基づいて、前記複数のバックアップデータセットを順序付けるための対応する有限状態マシンを特定することと、
逆時系列順に入力として前記対応する有限状態マシンに前記複数のバックアップデータセットを適用することと、を含む、請求項１に記載のコンピュータ実装方法。
【請求項８】
前記対応する有限状態マシンが、前記複数のバックアップデータセット内の各バックアップデータセットのバックアップ方法が必要条件とされている複数の遷移を含む、請求項７に記載のコンピュータ実装方法。
【請求項９】
前記複数のバックアップデータセット内の第１のバックアップデータセットが、仮想マシン内で動作する第１のバックアップシステムにより生成されたものであり、
前記複数のバックアップデータセット内の第２のバックアップデータセットが、前記仮想マシンのホスト上で動作する第２のバックアップシステムにより生成されたものである、請求項１に記載のコンピュータ実装方法。
【請求項１０】
アプリケーションデータを復元するためのシステムであって、
リソースのためのリソースデータを選択された状態へ復元する要求を受信するようにプログラムされる受信モジュールと、
複数のバックアップデータセットを特定するようにプログラムされる特定モジュールであって、前記複数のバックアップデータセット内の各バックアップデータセットが、前記リソースのためのバックアップされたデータの少なくとも一部分を備える、特定モジュールと、
前記リソースデータを前記選択された状態に復元するために、前記複数のバックアップデータセットを復元する順序を決定するようにプログラムされる決定モジュールと、
前記複数のバックアップデータセットを決定された前記順序で復元することにより、前記リソースのための前記リソースデータを前記選択された状態へ復元するようにプログラムされる復元モジュールと、
前記特定モジュール、前記受信モジュール、前記特定モジュール、前記決定モジュール、及び前記復元モジュールを実行するように構成される少なくとも１つのプロセッサと、を備える、システム。
【請求項１１】
前記複数のバックアップデータセット内の第１のバックアップデータセットが、第１のバックアップソースから生成されたものであり、
前記複数のバックアップデータセット内の第２のバックアップデータセットが、第２のバックアップソースから生成されたものであり、
前記第１のバックアップソース及び前記第２のバックアップソースが、範囲において異なる、請求項１０に記載のシステム。
【請求項１２】
前記複数のバックアップデータセット内の第１のバックアップデータセットが、第１のバックアップジョブにより生成されたものであり、
前記複数のバックアップデータセット内の第２のバックアップデータセットが、第２のバックアップジョブにより生成されたものであり、
前記第１のバックアップジョブ及び前記第２のバックアップジョブが、相互に独立していた、請求項１０に記載のシステム。
【請求項１３】
前記複数のバックアップデータセットを特定することが、
前記複数のバックアップデータセット内の第１のバックアップデータセットが、第１のバックアップジョブにより生成されたことと、
前記複数のバックアップデータセット内の第２のバックアップデータセットが、第２のバックアップジョブにより生成されたことと、
前記第１のバックアップジョブ及び前記第２のバックアップジョブが、別個のバックアップシステムで実施されたことと、を含む、請求項１０に記載のシステム。
【請求項１４】
前記リソースが、
アプリケーション、
データベース、
ファイルの群、のうちの少なくとも１つを備える、請求項１０に記載のシステム。
【請求項１５】
前記リソースが、ファイルシステムを備え、
前記決定モジュールが、
最新の完全なバックアップデータセットを前記順序の最初に位置付けることと、
最新の差分バックアップデータセットを前記順序の前記最新の完全なバックアップデータセットの後に位置付けることと、
複数の増分バックアップデータセットを前記最新の差分バックアップデータセットの後に時系列順に位置付けることと、により、前記複数のバックアップデータセットを復元する前記順序を決定するようにプログラムされる、請求項１０に記載のシステム。
【請求項１６】
前記特定モジュールが、
前記リソースデータを含む最新の完全なバックアップデータセットを特定することと、
前記最新の完全なバックアップデータセットの後に続いて生成され、前記リソースデータの少なくとも一部分を含むバックアップ環境内の各バックアップデータセットを特定することと、により、前記複数のバックアップデータセットを特定するようにプログラムされ、
前記決定モジュールが、
前記リソースのタイプを特定することと、
前記リソースの前記タイプに基づいて、前記複数のバックアップデータセットを順序付けるための対応する有限状態マシンを特定することと、
逆時系列順に入力として前記対応する有限状態マシンに前記複数のバックアップデータセットを適用することと、により、前記順序を決定するようプログラムされる、請求項１０に記載のシステム。
【請求項１７】
前記対応する有限状態マシンが、前記複数のバックアップデータセット内の各バックアップデータセットのバックアップ方法が必要条件とされている複数の遷移を含む、請求項１０に記載のシステム。
【請求項１８】
前記複数のバックアップデータセット内の第１のバックアップデータセットが、仮想マシン内で動作する第１のバックアップシステムにより生成されたものであり、
前記複数のバックアップデータセット内の第２のバックアップデータセットが、仮想マシンのホスト上で動作する第２のバックアップシステムにより生成されたものである、請求項１０に記載のシステム。
【請求項１９】
コンピュータ可読記憶媒体であって、コンピューティングデバイスの少なくとも１つのプロセッサにより実行されるとき、コンピューティングデバイスに、
リソースのためのリソースデータを選択された状態へ復元する要求を受信することと、
複数のバックアップデータセットを特定することであって、前記複数のバックアップデータセット内の各バックアップデータセットが、前記リソースのためのバックアップされたデータの少なくとも一部分を含む、特定することと、
前記リソースデータを前記選択された状態に復元するために、前記複数のバックアップデータセットを復元する順序を決定させることと、
前記複数のバックアップデータセットを決定された前記順序で復元することにより、前記リソースのための前記リソースデータを前記選択された状態へ復元させることと、を行わせる、１つ以上のコンピュータで実行可能な命令を備える、コンピュータ可読記憶媒体。
【請求項２０】
前記複数のバックアップデータセット内の第１のバックアップデータセットが、第１のバックアップソースから生成されたものであり、
前記複数のバックアップデータセット内の第２のバックアップデータセットが、第２のバックアップソースから生成されたものであり、
前記第１のバックアップソース及び前記第２のバックアップソースが、範囲において異なる、請求項１９に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
デジタル時代において、団体組織は、デジタル処理で記憶されるデータにますます頼っている。データ損失を防止するために、団体組織は、重要なデータをバックアップするための１つ以上のバックアップシステムを使用する場合がある。
【０００２】
ますます複雑な情報技術基盤が理由で、団体組織は、潜在的に異なる範囲で及び／又は異なるスケジュールに従う、多様な方法を使用して、バックアップを作成する可能性がある。一部の場合において、複数のバックアップは、一部のデータセットに対する部分的に重複する保護を提供する可能性がある。したがって、データを復元することを願望する管理者は、膨大な数のバックアップを取捨選択しなければならない可能性がある。更に、管理者は、コンピューティングシステム又はリソースを所望の状態に取り戻すために、複数のバックアップからデータを復元する必要がある場合がある。バックアップの選択及びそれらが復元される順序は、管理者が何を復元することを願望するか（例えば、完全容量、ファイルの選択、データベース等）に更に依存する。バックアップ構成の潜在的な複雑性及び復元オプションを考慮して、所望の状態へデータを復元することは、管理者にかなりの時間及び手間がかかる場合がある、並びに／又は潜在的にユーザエラーにつながる。したがって、本開示は、アプリケーションデータを復元するための追加の及び改善されたシステム及び方法に対する必要性を特定し、かつ取り組む。
【発明の概要】
【課題を解決するための手段】
【０００３】
以下に、より詳細に説明されるように、本開示は、概して、所望の状態へコンピューティングリソースを復元するために必要とされるバックアップデータセットを特定すること、及び所望の状態へコンピューティングリソースを復元するためにバックアップデータセットを順序付けることにより、アプリケーションデータを復元するためのシステム及び方法に関する。一実施例において、かかるタスクを実施するためのコンピュータ実装方法は、（１）リソースのためのリソースデータを選択された状態へ復元する要求を受信することと、（２）複数のバックアップデータセットを特定することであって、複数のバックアップデータセット内の各バックアップデータセットが、リソースのためのバックアップされたデータの少なくとも一部分を含む、特定することと、（３）リソースデータを選択された状態へ復元するために、複数のバックアップデータセットを復元する順序を決定することと、（４）複数のバックアップデータセットを決定された順序で復元することにより、リソースのためのリソースデータを選択された状態へ復元することと、を含み得る。
【０００４】
リソースは、多様なリソースのうちのいずれを含んでもよい。例えば、リソースは、アプリケーション、データベース、及び／又はファイル群を含んでもよい。一部の実施例において、リソースはファイルシステムを含んでもよい。これらの実施例において、複数のバックアップデータセットを復元する順序を決定することは、（１）最新の完全なバックアップデータセットを順序の最初に位置付けることと、（２）最新の差分バックアップデータセットをその順序の最新の完全なバックアップデータセットの後に位置付けることと、（３）複数の増分バックアップデータセットを最新の差分バックアップデータセットの後に時系列に位置付けることと、を含んでもよい。
【０００５】
複数のバックアップデータセットは、多様なコンテクストのうちのいずれにおいても生成される多様なバックアップデータセットのうちのいずれを含んでもよい。一実施例において、（１）複数のバックアップデータセット内の第１のバックアップデータセットは、第１のバックアップソースから生成されている可能性があり、（２）複数のバックアップデータセット内の第２のバックアップデータセットは、第２のバックアップソースから生成されている可能性があり、かつ（３）第１のバックアップデータセット及び第２のバックアップデータセットは、範囲において異なり得る。加えて又は代替的に、（１）複数のバックアップデータセット内の第１のバックアップデータセットは、第１のバックアップジョブにより生成されている可能性があり、（２）複数のバックアップデータセット内の第２のバックアップデータセットは、第２のバックアップジョブにより生成されている可能性があり、かつ（３）第１のバックアップジョブ及び第２のバックアップジョブは、相互に独立し得る。一部の実施例において、（１）複数のバックアップデータセット内の第１のバックアップデータセットは、第１のバックアップジョブにより生成されている可能性があり、（２）複数のバックアップデータセット内の第２のバックアップデータセットは、第２のバックアップジョブにより生成されている可能性があり、かつ（３）第１のバックアップジョブ及び第２のバックアップジョブは、別個のバックアップシステムで実施された可能性がある。一実施例において、（１）複数のバックアップデータセット内の第１のバックアップデータセットは、仮想マシン内で動作する第１のバックアップシステムにより生成されている可能性があり、（２）複数のバックアップデータセット内の第２のバックアップデータセットは、仮想マシンのホスト上で動作する第２のバックアップシステムにより生成されている可能性がある。
【０００６】
一部の実施形態において、複数のバックアップデータセットを特定することは、（１）リソースデータを含む最新の完全なバックアップデータセットを特定することと、（２）最新の完全なバックアップデータセットの後に続いて生成され、リソースデータの少なくとも一部分を含むバックアップ環境内の各バックアップデータセットを特定することと、を含んでもよい。これらの実施例において、複数のバックアップデータセットを復元する順序を決定することは、（１）リソースのタイプを特定することと、（２）リソースのタイプに基づいて、複数のバックアップデータセットを順序付けるための対応する有限状態マシンを特定することと、（３）逆時系列順に入力として対応する有限状態マシンに複数のバックアップデータセットを適用することと、を含んでもよい。一実施例において、対応する有限状態マシンは、複数のバックアップデータセット内の各バックアップデータセットのバックアップ方法が必要条件とされている複数の遷移を含んでもよい。
【０００７】
一実施形態において、上に記載される方法を実装するためのシステムは、（１）リソースのためのリソースデータを選択された状態へ復元する要求を受信するようにプログラムされる、受信モジュールと、（２）複数のバックアップデータセットを特定するようにプログラムされる、特定モジュールであって、複数のバックアップデータセット内の各バックアップデータセットが、リソースのためのバックアップされたデータの少なくとも一部分を含む、特定モジュールと、（３）リソースデータを選択された状態へ復元するために、複数のバックアップデータセットを復元する順序を決定するようにプログラムされる、決定モジュールと、（４）複数のバックアップデータセットを決定された順序で復元することにより、リソースのためのリソースデータを選択された状態へ復元するようにプログラムされる、復元モジュールと、を含み得る。システムはまた、受信モジュール、特定モジュール、決定モジュール、及び復元モジュールを実行するように構成される、少なくとも１つのプロセッサを含んでもよい。
【０００８】
一部の実施例において、上に記載される方法は、コンピュータ可読記憶媒体上でコンピュータ可読命令としてコード化され得る。例えば、コンピュータ可読記憶媒体は、コンピューティングデバイスの少なくとも１つのプロセッサにより実行されるとき、コンピューティングデバイスに、（１）リソースのためのリソースデータを選択された状態へ復元する要求を受信することと、（２）複数のバックアップデータセットを特定することであって、複数のバックアップデータセット内の各バックアップデータセットが、リソースのためのバックアップされたデータの少なくとも一部分を含む、特定することと、（３）リソースデータを選択された状態へ復元するために、複数のバックアップデータセットを復元する順序を決定することと、（４）複数のバックアップデータセットを決定された順序で復元することにより、リソースのためのリソースデータを選択された状態へ復元することと、を行われ得る、１つ以上のコンピュータで実行可能な命令を含んでもよい。
【０００９】
以下に、より詳細に説明されるように、所望の状態へコンピューティングリソースを復元するために必要とされるバックアップデータセットを特定すること、及び復元するためのバックアップデータセットを順序付けて、所望の状態へコンピューティングリソースを復元することにより、本明細書に記載のシステム及び方法は、複雑なバックアップ環境でデータを復元するタスクを簡素化し得、それによって、潜在的に管理者の時間及び手間を省く、並びに／又はヒューマンエラーを防止する。
【００１０】
上で言及される実施形態のうちのいずれかからの特性は、本明細書に記載の一般原理に従って、互いに組み合わせて使用されてもよい。これら及び他の実施形態、特性、及び利点は、添付の図面及び請求項と共に以下の詳細な説明を一読することで完全に理解されるであろう。
【図面の簡単な説明】
【００１１】
添付の図面は、多数の例示的な実施形態を例解し、かつ本明細書の一部である。以下の説明と一緒に、これらの図面は、本開示の多様な原理を例証及び説明する。
【図１】アプリケーションデータを復元するための例示的なシステムのブロック図である。
【図２】アプリケーションデータを復元するための例示的なシステムのブロック図である。
【図３】アプリケーションデータを復元するための例示的な方法の流れ図である。
【図４】アプリケーションデータを復元するための例示的な有限状態マシンの図である。
【図５】アプリケーションデータを復元するための例示的な有限状態マシンの図である。
【図６】本明細書に記載及び／又は例解される実施形態のうちの１つ以上を実装することが可能な例示的なコンピューティングシステムのブロック図である。
【図７】本明細書に記載及び／又は例解される実施形態のうちの１つ以上を実装することが可能な例示的なコンピューティングネットワークのブロック図である。
【００１２】
図面を通して、同一の参照文字及び説明は、類似しているが同一である必要のない要素を示す。本明細書に記載の例示的な実施形態は、多様な修正及び代替形態が可能である一方で、具体的な実施形態が、図面において例として示されており、本明細書に詳細に説明されるであろう。しかしながら、本明細書に記載の例示的な実施形態は、開示される特定の形態に限定されることを意図しない。むしろ、本開示は、添付の請求の範囲内にある全ての修正、同等物、及び代替物を網羅する。
【発明を実施するための形態】
【００１３】
図１〜２を参照すると、以下は、アプリケーションデータを復元するシステム実施例の詳細な説明を提供する。対応するコンピュータ実装方法の詳細な説明はまた、図３と併せて提供される。例示的な有限状態マシンの詳細な説明は、図４〜５と併せて提供される。加えて、本明細書に記載の実施形態のうちの１つ以上を実装することが可能な、例示的なコンピューティングシステム及びネットワークアーキテクチャの詳細な説明は、それぞれ、図６及び７と併せて提供される。
【００１４】
図１は、アプリケーションデータを復元するためのシステム実施例１００のブロック図である。この図に例解されるように、例示的なシステム１００は、１つ以上のタスクを実施するための１つ以上のモジュール１０２を含んでもよい。例えば、かつより詳細に以下に説明されるように、例示的なシステム１００は、リソースのためのリソースデータを選択された状態へ復元する要求を受信するようにプログラムされる、受信モジュール１０４を含んでもよい。例示的なシステム１００はまた、複数のバックアップデータセットを特定するようにプログラムされる、特定モジュール１０６を含んでもよく、複数のバックアップデータセット内の各バックアップデータセットは、リソースのためのバックアップされたデータの少なくとも一部分を含む。
【００１５】
加えて、かつより詳細に以下に説明されるように、例示的なシステム１００は、リソースデータを選択された状態に復元するために、複数のバックアップデータセットを復元する順序を決定するようにプログラムされる、決定モジュール１０８を含んでもよい。例示的なシステム１００は、決定されたような順序で複数のバックアップデータセットを復元することにより、リソースのためのリソースデータを選択された状態へ復元するようにプログラムされる、復元モジュール１１０を加えて含んでもよい。別個の要素として例解されるが、図１にあるモジュール１０２のうちの１つ以上は、単一のモジュール又はアプリケーションの部分を表し得る。
【００１６】
ある実施形態において、図１にあるモジュール１０２のうちの１つ以上は、コンピューティングデバイスにより実行されるとき、コンピューティングデバイスに１つ以上のタスクを実施させ得る、１つ以上のソフトウエアアプリケーション又はプログラムを表し得る。例えば、かつ、より詳細に以下に説明されるように、モジュール１０２のうちの１つ以上は、図２に例解されるデバイス（例えば、コンピューティングデバイス２０２、バックアップデータストア２０６、及び／若しくはサーバ２０８）、図６にあるコンピューティングシステム６１０、並びに／又は図７にある例示的なネットワークアーキテクチャ７００の部分のような１つ以上のコンピューティングデバイス上で実行されるように記憶及び構成されるソフトウエアモジュールを表し得る。図１にあるモジュール１０２のうちの１つ以上はまた、１つ以上のタスクを実施するように構成される、１つ以上の特殊目的コンピュータの全て又は部分を表し得る。
【００１７】
図１にある例示的なシステム１００は、多様な方法で実装されてもよい。例えば、例示的なシステム１００の全て又は一部分は、図２における例示的なシステム２００の部分を表し得る。図２に示されるように、システム２００は、ネットワーク２０４を介してバックアップデータストア２０６及びサーバ２０８と通信する、コンピューティングデバイス２０２を含んでもよい。例えば、管理者は、サーバ２０８上のリソース２２０を、バックアップデータストア２０６内のバックアップデータを使用して前の状態へ復元するためにコンピューティングデバイス２０２を使用してもよい。
【００１８】
一実施形態において、図１からのモジュール１０２のうちの１つ以上は、コンピューティングデバイス２０２の少なくとも１つのプロセッサにより実行されるとき、コンピューティングデバイス２０２がアプリケーションデータを復元することを容易にする。例えば、かつより詳細に以下に説明されるように、モジュール１０２のうちの１つ以上は、コンピューティングデバイス２０２に、（１）リソース（例えば、リソース２２０）のためのリソースデータを選択された状態へ復元する要求（例えば、要求２１０）を受信することと、（２）複数のバックアップデータセット（例えば、バックアップデータセット２３０（１）〜（ｎ））を特定することであって、複数のバックアップデータセット内の各バックアップデータセットが、リソースのためのバックアップされたデータの少なくとも一部分を含む、特定することと、（３）リソースデータを選択された状態へ復元するために、複数のバックアップデータセットを復元する順序を決定すること（例えば、順序付け２４０）と、（４）決定されたような順序で複数のバックアップデータセットを復元することにより、リソースのためのリソースデータを選択された状態へ復元させること（例えば、順序付け２４０に従ってバックアップデータセット２３０（１）〜（ｎ）を復元することにより、選択された状態へリソース２２０を復元する）と、を行わせ得る。
【００１９】
コンピューティングデバイス２０２は、概して、コンピュータで実行可能な命令を読み取ることが可能なコンピューティングデバイスの任意のタイプ又は形態を表す。コンピューティングデバイス２０２の例としては、これに限定されないが、ラップトップ、デスクトップ、サーバ、携帯電話、個人用デジタル補助装置（ＰＤＡ）、マルチメディアプレーヤ、埋め込みシステム、これらのうちの１つ以上の組み合わせ、図６の例示的なコンピューティングシステム６１０、又は任意の他の好適なコンピューティングデバイスが挙げられる。
【００２０】
バックアップデータストア２０６は、単一のデータベース若しくは記憶デバイス又は複数のデータベース若しくは記憶デバイスの部分を表し得る。例えば、バックアップデータストア２０６は、図６のコンピューティングシステム６１０の一部分及び／又は図７の例示的なネットワークアーキテクチャ７００の部分を表し得る。代替的に、図１のバックアップデータストア２０６は、図２のコンピューティングデバイス２０２及び／若しくはサーバ２０８、図６のコンピューティングシステム６１０、並びに／又は図７の例示的なネットワークアーキテクチャ７００の部分のような、コンピューティングデバイスによりアクセスされることが可能な１つ以上の物理的に別個のデバイスを表し得る。
【００２１】
サーバ２０８は、概して、リソースを記憶、管理、及び／又は提供することが可能である、任意のタイプ又は形態のコンピューティングデバイスを表す。サーバ２０８の例としては、これに限定されないが、多様なデータベースサービスを提供する及び／又はあるソフトウエアアプリケーションを実行するように構成されるアプリケーションサーバ及びデータベースサーバが挙げられる。
【００２２】
ネットワーク２０４は、概して、通信又はデータ転送を容易にすることが可能な任意の媒体又はアーキテクチャを表す。ネットワーク２０４の例としては、これに限定されないが、イントラネット、広域ネットワーク（ＷＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、パーソナルエリアネットワーク（ＰＡＮ）、インターネット、電力線通信（ＰＬＣ）、セルラーネットワーク（例えば、ＧＳＭネットワーク）（「ＧＳＭ」は登録商標）、図７の例示的なネットワークアーキテクチャ７００等が挙げられる。ネットワーク２０４は、無線又は有線接続を使用して、通信又はデータ転送を容易にし得る。一実施形態において、ネットワーク２０４は、コンピューティングデバイス２０２、バックアップデータストア２０６、及びサーバ２０８との間の通信を容易にし得る。
【００２３】
図３は、アプリケーションデータを復元するための例示的なコンピュータ実装方法３００の流れ図である。図３に示される工程は、任意の好適なコンピュータで実行可能なコード化及び／又はコンピューティングシステムにより実施されてもよい。一部の実施形態において、図３に示される工程は、図１のシステム１００、図２のシステム２００、図６のコンピューティングシステム６１０の構成要素のうちの１つ以上、及び／又は図７の例示的なネットワークアーキテクチャ７００の部分により実施されてもよい。
【００２４】
図３に例解されるように、工程３０２において、本明細書に記載のシステムのうちの１つ以上は、リソースのためのリソースデータを選択された状態へ復元する要求を受信してもよい。例えば、工程３０２において、受信モジュール１０４は、図２のコンピューティングデバイス２０２の一部として、リソースのためのリソースデータを選択された状態へ復元する要求２１０を受信してもよい。
【００２５】
本明細書に使用される際、用語「リソース」は、データを含む及び／又は使用する任意のコンピューティングリソースを指し得る。例えば、用語「リソース」は、アプリケーション（例えば、ＭＩＣＲＯＳＯＦＴ  ＥＸＣＨＡＮＧＥ、ＭＩＣＲＯＳＯＦＴ  ＳＨＡＲＥＰＯＩＮＴ、ＩＢＭ  ＬＯＴＵＳ  ＤＯＭＩＮＯ、等）、データベース（例えば、ＳＱＬデータベース）、並びに／又はファイル群（例えば、定義された容量、辞書、及び／若しくはファイルのリスト）を指し得る。一部の実施例において、より詳細に以下に説明されるように、リソースはファイルシステムを含んでもよい。句「リソースデータ」は、本明細書に使用される際、リソース内に含まれる及び／又はそれによって使用される任意のデータを指し得る。一部の実施例において、リソースデータは、リソース（例えば、アプリケーション）により記憶、操作、及び／又は使用される一次データを含んでもよい。加えて又は代替的に、リソースデータは、構成データ、並びに／又はリソースの状態及び／若しくは機能であるシステムメタデータを含んでもよい。一部の実施例において、リソースのリソースデータは、リソースが依存する追加のリソースに対応するデータを含んでもよい。
【００２６】
受信モジュール１０４は、多様なフォーマットのうちのいずれにおける要求も受信し得る。一部の実施例において、リソースのためのリソースデータを復元する要求は、データ位置（例えば、記憶デバイスアドレス、ファイルシステム位置、ネットワークアドレス等）に関してリソースを特定することの代わりに及び／又は特定することに加え、論理レベル上で（例えば、名称により、ビジネス論理表現内にリソースを位置させるビジネス論理識別子により）リソースを特定してもよい。したがって、一部の実施例において、選択された状態は、リソースが論理レベル上で復元されるべき状態を特定してもよい。例えば、要求は、リソースの表示に関して、アプリケーションレベル及び／又は別様に抽象若しくは高度のレベル上で、選択された状態を指定してもよい。
【００２７】
要求モジュール１０４は、多様なコンテクストのうちのいずれにおける要求も受信し得る。例えば、要求モジュール１０４は、リソースが論理レベルでユーザに提示される、論理復元提示中に、ユーザにより行われる選択から要求を受信してもよい。この実施例において、ユーザは、リソースが復元され得る、リソースの１つ以上の論理状態を表示してもよい。例えば、ユーザは、１つ以上のバックアップデータセットの組み合わせから構成される及び／又はそれに対応する、ある時点のファイルシステム表示に基づいて、ファイルシステムを復元することを選択し得る。別の実施例において、ユーザは、１つ以上のバックアップデータセットの組み合わせから構成される及び／又はそれらに対応する、合成されたＳＱＬデータベースに基づいて、ＳＱＬデータベースを復元することを選択し得る。一部の実施例において、要求は、指定される時点で、選択された状態を特定してもよい。加えて又は代替的に、要求は、指定されるアプリケーションレベル事象（指定されるジョブがリソースにより処理された以前、警告がリソースにより生成された以前等）に従って、選択された状態を特定し得る。
【００２８】
図３に戻って、工程３０４で、本明細書に記載のシステムのうちの１つ以上は、複数のバックアップデータセットを特定してもよく、複数のバックアップデータセット内の各バックアップデータセットは、リソースのためのバックアップされたデータの少なくとも一部分を含む。例えば、工程３０４で、特定モジュール１０６は、図２のコンピューティングデバイス２０２の一部として、バックアップデータセット２３０（１）〜（ｎ）を特定してもよい。
【００２９】
本明細書に使用される際、句「バックアップデータセット」は、バックアップを表すデータの任意の集合体及び／又はリソースのバックアップの構成要素及び／又は保護されたデータの集合体を指し得る。一部の実施例において、句「バックアップデータセット」は、単独で、又はリソースデータを復元するための他のデータと組み合わせて、使用可能なデータの集合体を指し得る。
【００３０】
複数のバックアップデータセットは、多様なバックアップデータセットのうちのいずれを含んでもよい。一部の実施例において、複数のバックアップデータセットは、異なるバックアップ方法に従って作成されるバックアップデータセットを含んでもよい。例えば、複数のバックアップデータセットは、完全なファイルレベルのバックアップ、差分ファイルレベルのバックアップ、増分ファイルレベルのバックアップ、及び／又は合成の完全なファイルレベルのバックアップを含んでもよい。一部の実施例において、複数のバックアップデータセットは、画像レベルのバックアップ及び／又はスナップショットに基づくバックアップを含んでもよい。例えば、複数のバックアップデータセットは、完全なブロックレベルのバックアップ、差分ブロックレベルのバックアップ、増分ブロックレベルのバックアップ、及び／又は合成の完全なブロックレベルのバックアップを含んでもよい。加えて又は代替的に、複数のバックアップデータセットは、１つ以上のアプリケーションレベルのバックアップを含んでもよい。例えば、複数のバックアップデータセットは、完全なストリーミングアプリケーションバックアップ、増分ストリーミングアプリケーションバックアップ、アプリケーションログファイル（例えば、増分バックアップデータを含む）、及び／又はブロックレベルのアプリケーションバックアップ（例えば、完全、差分、及び／又は増分ブロックレベルのアプリケーションバックアップ）を含んでもよい。一部の実施例において、複数のバックアップデータセットは、仮想環境のバックアップを含んでもよい。例えば、複数のバックアップデータセットは、仮想環境のホストシステムから、仮想化管理システムから、及び／又は仮想化された環境内のエージェントから生成されるバックアップを含んでもよい。概して、複数のバックアップデータセットは、組み合わせでの使用に対して設計、構成、及び／又は意図されないバックアップ方法を含む、上に列記されるバックアップ方法の任意の組み合わせを含んでもよい。
【００３１】
一部の実施例において、複数のバックアップデータセット内の２つ以上のバックアップデータセットは、範囲の点で異なってもよい。例えば、複数のバックアップデータセット内の第１のバックアップデータセットは、第１のバックアップソースから生成されていて、複数のバックアップデータセット内の第２のバックアップデータセットは、第２のバックアップソースから生成されていてもよい。この実施例において、第１のバックアップソース及び第２のバックアップソースは、範囲の点で異なってもよい。例えば、第１のバックアップソースは、データの容量を含んでもよく、第２のバックアップソースは、アプリケーション（例えば、容量上に記憶される）のためのアプリケーションデータを含んでもよい。
【００３２】
一部の実施例において、複数のバックアップセット内の２つ以上のバックアップセットは、相互に独立していてもよい。例えば、複数のバックアップデータセット内の第１のバックアップデータセットは、第１のバックアップジョブにより生成されていてもよく、複数のバックアップデータセット内の第２のバックアップデータセットは、第２のバックアップジョブにより生成されていてもよい。この実施例において、第１のバックアップジョブ及び第２のバックアップジョブは、相互に独立していてもよい。例えば、第１のバックアップジョブは、第２のバックアップジョブがいつ実施されたか、及び／又は第２のバックアップジョブが何のデータを収集したかを参照することなく、バックアップのためのデータをコピー及び記憶していてもよい。同様に、第２のバックアップジョブは、第１のバックアップジョブがいつ実施されたか、及び／又は第１のバックアップジョブが何のデータを収集したかを参照することなく、バックアップのためのデータをコピー及び記憶していてもよい。したがって、複数のバックアップデータセットは、関連する及び／又は相互依存の（例えば、完全バックアップの後に、一定の間隔で増分バックアップが続く）バックアップデータセットだけではなく、関連せずかつ独立したバックアップデータセットも含んでもよい。
【００３３】
一部の実施例において、複数のバックアップデータセット内の２つ以上のバックアップデータセットは、別個のバックアップシステムにより生成されていてもよい。例えば、複数のバックアップデータセット内の第１のバックアップデータセットは、第１のバックアップジョブにより生成されていてもよく、複数のバックアップデータセット内の第２のバックアップデータセットは、第２のバックアップジョブにより生成されていてもよい。この実施例において、第１のバックアップジョブ及び第２のバックアップジョブは、別個のバックアップシステムにより実施されていてもよい。例えば、第１のバックアップジョブを実施したバックアップシステムは、第２のバックアップジョブを実施したバックアップシステムから別個のインストール及び／又は別個の構成を使用してもよい。一部の実施例において、別個のバックアップシステムは、別個のベンダーにより提供されてもよい。
【００３４】
一実施例において、複数のバックアップデータセット内の２つ以上のバックアップデータセットは、別個の仮想化のレベル上で実行されるバックアップシステムにより生成されていてもよい。例えば、複数のバックアップデータセット内の第１のバックアップデータセットは、仮想マシン内で動作する第１のバックアップシステムにより生成されていてもよい（例えば、エージェントとして及び／又は仮想マシン上にインストールされたバックアップシステムとして）。この実施例において、複数のバックアップデータセット内の第２のバックアップデータセットは、仮想マシンのホスト上で動作する第２のバックアップシステムにより生成されていてもよい。したがって、第１及び第２のバックアップデータセットは、潜在的に異なるフォーマットではあるが、重複するデータを含み得る。例えば、第１のバックアップデータセットは、そのデータが第２のバックアップデータセット内の仮想ディスクファイル内で表され得るファイルを含んでもよい。この実施例において、第２のバックアップデータセットが、ホストの視点からのデータのバックアップを表し得る（例えば、仮想ディスクファイルフォーマット）一方、第１のバックアップデータセットは、仮想マシンオペレーティングシステムの点からのデータのバックアップを表し得る（例えば、仮想ディスク上に記憶されるデータベース）。別の例として、第１及び第２のバックアップデータセットは、異なるバックアップ方法を表してもよい。例えば、第２のバックアップデータセットが、ホストのスナップショットから取られた完全又は増分ブロックレベルのバックアップを含んでもよい一方、第１のバックアップデータセットは、仮想マシン内のログファイルを含んでもよい。
【００３５】
特定モジュール１０６は、多様な方法のうちのいずれにおいても複数のバックアップデータセットを特定し得る。例えば、特定モジュール１０６は、バックアップデータセットをバックアップデータセットのソースと関連付ける、バックアップメタデータの１つ以上の組を特定してもよい。次いで、特定モジュール１０６は、どのバックアップデータセットソースが復元するためのリソースデータを含み得るかを決定してもよい。次いで、特定モジュール１０６は、複数のバックアップデータセットに属するとして、これらのバックアップデータセットソースに対応するバックアップデータセットを特定してもよい。
【００３６】
一部の実施例において、特定モジュール１０６は、リソースデータを含む最新の完全なバックアップデータセットを特定することにより、複数のバックアップデータセットを特定してもよい。次いで、特定モジュール１０６は、最新の完全なバックアップデータセットの後に続いて生成され、リソースデータの少なくとも一部分を含む、バックアップ環境内の各バックアップデータセットを特定してもよい。例えば、特定モジュール１０６は、完全なバックアップデータセット後に、１つ以上の差分及び／又は増分バックアップデータセットを特定してもよい。
【００３７】
図３に戻って、工程３０６で、本明細書に記載のシステムのうちの１つ以上は、リソースデータを選択された状態へ復元するために、複数のバックアップデータセットを復元する順序を決定してもよい。例えば、工程３０６で、決定モジュール１０８は、図２のコンピューティングデバイス２０２の一部として、リソース２２０を選択された状態へ復元するために、バックアップデータセット２３０（１）〜（ｎ）を復元する順序付け２４０を決定してもよい。
【００３８】
決定モジュール１０８は、多様な方法のうちのいずれにおいても順序を決定し得る。例えば、決定モジュール１０８は、順序で最新の完全なバックアップデータセットを最初に位置付けてもよい。次いで、決定モジュール１０８は、順序で最新の差分バックアップデータセットを最新の完全なバックアップデータセットの後に位置付けてもよい。次いで、決定モジュール１０８は、複数の増分バックアップデータセットを時系列順に最新の差分バックアップデータセット後に位置付けてもよい。このように、決定モジュール１０８は、複数の増分バックアップデータセット（例えば、選択された状態に対応する増分バックアップデータセット）において、最新の増分バックアップデータセットにより表される、ある時点まで復元されているリソースの状態をもたらすような順序で、複数のバックアップデータセットを位置付けてもよい。
【００３９】
一部の実施例において、決定モジュール１０８は、リソースのタイプに基づいて、複数のバックアップデータセットを復元する順序（及び、一部の実施例において、複数のバックアップデータセットのうちのどれを復元するか）を決定してもよい。リソースのタイプは、多様なリソースのカテゴリー化のうちのいずれも含み得る。例えば、リソースは、「ファイルシステム」タイプリソースとして、「データベース」タイプリソースとして、「ＭＩＣＲＯＳＯＦＴ  ＥＸＣＨＡＮＧＥ」タイプリソースとして、等、カテゴリー化されてもよい。リソースのタイプを特定した後で、決定モジュール１０８は、リソースのタイプに基づいて、複数のバックアップデータセットを順序付けるための対応する有限状態マシンを特定してもよい。次いで、決定モジュール１０８は、逆時系列順（例えば、最新のバックアップデータセットを最初に）に入力として対応する有限状態マシンに複数のバックアップデータセットを適用してもよい。例えば、決定モジュール１０８は、複数のバックアップデータセット内のバックアップデータセットをバックアップタイプ上にマップしてもよい。これらのバックアップタイプは、対応する有限状態マシン内で使用される遷移に対応してもよい。したがって、決定モジュール１０８は、対応する有限状態マシンへの入力として使用されている現在のバックアップデータセットが、利用可能な遷移で表されるかどうかを決定してもよい。現在のバックアップデータセットのタイプが表される場合、決定モジュール１０８は、復元順序において、現在のバックアップデータセットを、次のバックアップデータセットとして記録してもよい。現在のバックアップデータセットのタイプが表されない場合、決定モジュール１０８は、現在のバックアップデータセットを順序付けから破棄してもよい。一実施例において、対応する有限状態マシンは、複数のバックアップデータセット内の各バックアップデータセットのバックアップ方法が必要条件とされている複数の遷移を含んでもよい。例えば、各バックアップデータセットのバックアップ方法は、遷移を決定するために使用されるバックアップデータセットのタイプに対応してもよい。
【００４０】
本明細書で使用される際、句「有限状態マシン」は、状態及び遷移の任意の好適なモデルを指し得る。したがって、対応する有限状態マシンは、任意の好適な様式で表される及び／又は実装され得る。例えば、対応する有限状態マシンは、状態遷移表と共に表される及び／又は実装され得る。加えて又は代替的に、対応する有限状態マシンは、略図仕様言語により表され得る。一部の実施例において、対応する有限状態マシンは、統一モデリング言語及び／又は仕様記述言語で表されてもよい。対応する有限状態マシンは、事象駆動の有限状態マシンとして、仮想有限状態マシンとして、及び／又は仕様若しくは別様の同型から有限状態マシンまで有限状態マシンを実装することが可能な任意の他のアルゴリズム、方法、又は理論的枠組みで、オートマトンに基づくスタイルプログラミングを使用して多様に実装されてもよい。
【００４１】
一部の実施例において、決定モジュール１０８は、有限状態マシン仕様のデータベース及び／又は有限状態マシン機能のライブラリから対応する有限状態マシンを選択してもよい。例えば、有限状態マシンのデータベースは、多様なアプリケーションタイプ（例えば、ＭＩＣＲＯＳＯＦＴ  ＥＸＣＨＡＮＧＥ有限状態マシン、ＭＩＣＲＯＳＯＦＴ  ＳＨＡＲＥＰＯＩＮＴ有限状態マシン、ＩＢＭ  ＬＯＴＵＳ  ＤＯＭＩＮＯ有限状態マシン等）に対応する多様な有限状態マシンを含んでもよい。有限状態マシンのデータベースは、多様なアプリケーションを復元するためのビジネス論理に基づいて定義される有限状態マシンを含んでもよい。
【００４２】
図４は、例示的な有限状態マシン４００の図である。図４に示されるように、例示的な有限状態マシン４００は、スタート状態４１０、状態４１２、状態４１４、及び最終状態４１６を多様な遷移と共に含み得る。図４を実施例として使用して、工程３０６で、決定モジュール１０８は、リソースを選択された状態へ復元するように、どのような順序で、バックアップデータセットのどのようなシーケンスを適用するかを決定するために、有限状態マシン４００への入力として逆時系列順に複数のバックアップデータセットを使用してもよい。一実施例において、決定モジュール１０８は、リソースがファイルシステムであると決定することに基づいて、リソースを復元するために有限状態マシン４００を選択してもよい。有限状態マシン４００に対する遷移の例示的な説明は、表１に示される。
【００４３】
【表１】
2015503168.tif 000003
【００４４】
一実施例において、複数のバックアップデータセットは、ＩＮＣ１、ＩＮＣ２、及びＩＮＣ３が増分バックアップデータセットで、ＤＩＦＦ１及びＤＩＦＦ２が差分バックアップデータセットで、及びＦＵＬＬ１が完全バックアップデータセットである、｛ＤＩＦＦ１、ＤＩＦＦ２、ＩＮＣ１、ＩＮＣ２、ＩＮＣ３、ＦＵＬＬ｝を含んでもよい。次いで、決定モジュール１０８は、有限状態マシン４００への入力として、逆時系列順に（例えば、｛ＩＮＣ３、ＩＮＣ２、ＤＩＦＦ２、ＤＩＦＦ１、ＩＮＣ１、ＦＵＬＬ１｝）複数のバックアップデータセットを使用してもよい。この実施例において、有限状態マシン４００は、入力としてのＩＮＣ３と共に、スタート状態４１０から状態４１２に遷移してよく、かつ決定モジュール１０８は、順序の最後としてＩＮＣ３を加えてもよい。次いで、有限状態マシン４００は、入力としてのＩＮＣ２と共に、状態４１２から状態４１２に遷移してよく、かつ決定モジュール１０８は、順序上で前にＩＮＣ２を加えてもよい。次いで、有限状態マシン４００は、入力としてのＤＩＦＦ２と共に、状態４１２から状態４１４に遷移してよく、かつ決定モジュール１０８は、順序上で前にＤＩＦＦ２を加えてもよい。次いで、有限状態マシン４００は、入力としてのＤＩＦＦ１と共に、遷移をせず、かつ決定モジュール１０８は、状態４１４からのＤＩＦＦ遷移がないため、ＤＩＦＦ１を破棄してもよい。同様に、有限状態マシン４００は、入力としてのＩＮＣ１と共に、遷移をせず、かつ決定モジュール１０８は、状態４１４からのＩＮＣ遷移がないため、ＩＮＣ１を破棄してもよい。最後に、有限状態マシン４００は、入力としてのＦＵＬＬ１と共に、状態４１４から状態４１６に遷移してよく、かつ決定モジュール１０８は、順序上で前にＦＵＬＬ１を加えてもよい。最終状態４１６で、有限状態マシン４００は、｛ＦＵＬＬ１、ＤＩＦＦ２、ＩＮＣ２、ＩＮＣ３｝として最終順序で終了してもよい。
【００４５】
図５は、例示的な有限状態マシン５００の図である。図５に示されるように、例示的な有限状態マシン５００は、各々多様な遷移と共に、スタート状態５１０、状態５１２、５１４、５１６、及び５１８、並びに最終状態５２０を含んでもよい。図５を例として使用して、工程３０６で、決定モジュール１０８は、リソースを選択された状態へ復元するように、どのような順序で、バックアップデータセットのどのようなシーケンスを適用するかを決定するために、有限状態マシン５００への入力として逆時系列順に複数のバックアップデータセットを使用してもよい。一実施例において、決定モジュール１０８は、リソースがＳＱＬデータベースであると決定することに基づいて、リソースを復元するために有限状態マシン５００を選択してもよい。有限状態マシン５００の遷移の例示的な説明は、表２に示される。
【００４６】
【表２】
2015503168.tif 000004
【００４７】
決定モジュール１０８は、ＳＱＬデータベースを多様な状態のうちのいずれにも復元するように、有限状態マシン５００を使用してもよい。バックアップデータセットの例示的なタイムラインが、例として、表３に示される。
【００４８】
【表３】
2015503168.tif 000005
【００４９】
表３に示されるように、第１のバックアップデータセットは、時間Ｔ０で取られたＦＵＬＬｖｓｓ１であり得、最終バックアップデータセットは、時間Ｔ７で取られたＬＯＧｗｏ１であり得る。一実施例において、管理者は、時間Ｔ７へＳＱＬデータベースを復元するように願望し得る。この実施例では、決定モジュール１０８は、有限状態マシン５００への入力として、逆時系列順に（例えば、｛ＬＯＧｗｏ１、ＬＯＧｗｏ４、ＬＯＧｗｏ３、ＣＯＰＹｖｓｓ１、ＩＮＣｂｌｋ１、ＬＯＧｗ２、ＬＯＧｗｏ１、ＦＵＬＬｖｓｓ１｝）複数のバックアップデータセットを使用してもよい。有限状態マシン５００は、スタート状態５１０から状態５１２に、状態５１２から状態５１２に、状態５１２から状態５１２に、状態５１２から状態５１４に、次いで状態５１４から最終状態５２０に遷移してよく、｛ＦＵＬＬｖｓｓ１、ＩＮＣｂｌｋ１、ＬＯＧｗ３、ＬＯＧｗ４、ＬＯＧｗｏ１｝の復元順序をもたらす。
【００５０】
別の実施例では、管理者は、時間Ｔ４へＳＱＬデータベースを復元するように願望し得る。この実施例では、決定モジュール１０８は、逆時系列順に時間Ｔ４で（例えば、｛ＣＯＰＹｖｓｓ１、ＩＮＣｂｌｋ１、ＬＯＧｗ２、ＬＯＧｗ１、ＦＵＬＬｖｓｓ１｝）複数のバックアップデータセットを使用してもよい。この実施例では、有限状態マシンは、スタート状態５１０から最終状態５２０に遷移してよく、｛ＣＯＰＹｖｓｓ１｝の復元順序をもたらす。
【００５１】
追加の実施例として、管理者は、時間Ｔ２へＳＱＬデータベースを復元するように願望し得る。この実施例では、決定モジュール１０８は、逆時系列順に時間Ｔ２で（例えば、｛ＬＯＧｗ２、ＬＯＧｗ１、ＦＵＬＬｖｓｓ１｝）複数のバックアップデータセットを使用してもよい。この実施例では、有限状態マシン５００は、スタート状態５１０から状態５１２に、状態５１２から状態５１２に、次いで状態５１２から最終状態５２０に遷移してよく、｛ＦＵＬＬｖｓｓ１、ＬＯＧｗ１、ＬＯＧｗ２｝の復元順序をもたらす。
【００５２】
前述のように、一部の実施例において、複数のバックアップデータセット内の２つ以上のバックアップデータセットは、別個の仮想化のレベル上で実行されるバックアップシステムにより生成されていてもよい。例えば、複数のバックアップデータセット内の第１のバックアップデータセットは、仮想マシン内で動作する第１のバックアップシステムにより生成されていてもよく、複数のバックアップデータセット内の第２のバックアップデータセットは、仮想マシンのホスト上で動作する第２のバックアップシステムにより生成されていてもよい。この実施例では、決定モジュール１０８は、第１のバックアップデータセット（例えば、仮想マシンの仮想ディスク画像を含む、所望の状態前のホストの最新の増分バックアップ）が第２のバックアップデータセット（仮想マシン内のデータベースのログファイル）前に復元されることを決定してもよい。
【００５３】
図３に戻って、工程３０８で、本明細書に記載のシステムのうちの１つ以上は、複数のバックアップデータセットを決定された順序で復元することにより、リソースのためのリソースデータを選択された状態へ復元してもよい。例えば、工程３０８で、復元モジュール１１０は、図２のコンピューティングデバイス２０２の一部として、順序２４０に従ってバックアップデータセット２３０（１）〜（ｎ）を復元することにより、選択された状態へリソース２２０を復元してもよい。
【００５４】
復元モジュール１１０は、任意の好適な様式で工程３０８を実施してもよい。前述のように、一部の実施例において、複数のバックアップデータセットは、別個のバックアップシステムにより生成されていてもよい。これらの実施例において、復元モジュール１１０は、複数のバックアップデータセット内の各バックアップデータセットを、決定された順序で、対応する復元システムに送信してもよい。例えば、復元モジュール１１０は、仮想ディスクを含むデータの容量を復元するためにホストシステム上で最初にバックアップシステムを指示してもよい。次いで、復元モジュール１１０は、仮想ディスクへデータを復元するように、仮想ディスクを使用する、仮想マシン内の追加のバックアップシステムを指示してもよい。
【００５５】
前述のように、所望の状態へコンピューティングリソースを復元するために必要とされるバックアップデータセットを特定すること、及び所望の状態へコンピューティングリソースを復元するために、バックアップデータセットを順序付けることと、により、本明細書に記載のシステム及び方法は、複雑なバックアップ環境でデータを復元するタスクを簡素化し得、それによって、潜在的に、管理者の時間及び手間を省き、及び／又はヒューマンエラーを防止する。
【００５６】
図６は、本明細書に記載される及び／又は例解される実施形態のうちの１つ以上を実装することが可能な例示的なコンピューティングシステム６１０のブロック図である。例えば、コンピューティングシステム６１０の全て又は一部分は、単独で、又は本明細書に記載の他の要素と組み合わせて、受信、特定、決定、位置付け、適用、及び復元の工程のうちの１つ以上を実施し得る、及び／又は実施するための手段であり得る。コンピューティングシステム６１０の全て又は一部分はまた、本明細書に記載される及び／又は例解される任意の他の工程、方法、又は過程を実施し得る、及び／又は実施するための手段であってもよい。
【００５７】
コンピューティングシステム６１０は、広範に、コンピュータ可読命令を実行することが可能な任意の単一又は複数プロセッサのコンピューティングデバイス又はシステムを表し得る。コンピューティングシステム６１０の実施例は、これに限定されないが、ワークステーション、ラップトップ、クライアント側端末、サーバ、分散型コンピューティングシステム、携帯デバイス、又は任意の他のコンピューティングシステム若しくはデバイスを含む。その最も基本的な構成において、コンピューティングシステム６１０は、少なくとも１つのプロセッサ６１４及びシステムメモリ６１６を含み得る。
【００５８】
プロセッサ６１４は、概して、データを処理する又は命令を解釈及び実行することが可能な処理ユニットの任意のタイプ又は形態を表し得る。ある実施形態において、プロセッサ６１４は、ソフトウエアアプリケーション又はモジュールから命令を受信することができる。これらの命令は、プロセッサ６１４に、本明細書に記載及び／又は例解される例示的な実施形態のうちの１つ以上の機能を実施させ得る。
【００５９】
システムメモリ６１６は、概して、データ及び／又は他のコンピュータ可読命令を記憶することが可能な揮発性又は非揮発性記憶デバイス又は媒体の任意のタイプ又は形態を表し得る。コンピューティングシステム６１６の実施例は、これに限定されないが、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、フラッシュメモリ、又は任意の他の好適なメモリデバイスを含む。必ずしも必要ではないが、ある実施形態において、コンピューティングシステム６１０は、揮発性メモリユニット（例えば、システムメモリ６１６等）及び非揮発性記憶デバイス（例えば、以下に詳細に説明される主要記憶デバイス６３２等）を含み得る。一実施例において、図１からのモジュール１０２のうちの１つ以上は、システムメモリ６１６にロードされ得る。
【００６０】
ある実施形態において、例示的なコンピューティングシステム６１０はまた、プロセッサ６１４及びシステムメモリ６１６に加えて、１つ以上の構成要素又は要素を含んでもよい。例えば、図６に例解されるように、コンピューティングシステム６１０は、通信基盤６１２を介して各々が相互接続され得る、メモリコントローラ６１８、入力／出力（Ｉ／Ｏ）コントローラ６２０、及び通信インターフェース６２２を含んでもよい。通信基盤６１２は、概して、コンピューティングデバイスの１つ以上の構成要素の間の通信を容易にすることが可能な基盤の任意のタイプ又は形態を表し得る。通信基盤６１２の実施例は、これに限定されないが、通信バス（ＩＳＡ、ＰＣＩ、ＰＣＩｅ、又は類似のバス等）及びネットワークを含む。
【００６１】
メモリコントローラ６１８は、概して、コンピューティングシステム６１０の１つ以上の構成要素の間でメモリ若しくはデータの処理、又は通信の制御を行うことが可能なデバイスの任意のタイプ又は形態を表し得る。例えば、ある実施形態において、メモリコントローラ６１８は、通信基盤６１２を介して、プロセッサ６１４、システムメモリ６１６、及びＩ／Ｏコントローラ６２０の間の通信を制御することができる。
【００６２】
Ｉ／Ｏコントローラ６２０は、概して、コンピューティングデバイスの入力及び出力機能を調整及び／又は制御することが可能なモジュールの任意のタイプ又は形態を表し得る。例えば、ある実施形態において、Ｉ／Ｏコントローラ６２０は、プロセッサ６１４、システムメモリ６１６、通信インターフェース６２２、ディスプレイアダプタ６２６、入力インターフェース６３０、及び記憶インターフェース６３４等、コンピューティングシステム６１０の１つ以上の要素の間のデータの転送を制御するか、又は容易にすることができる。
【００６３】
通信インターフェース６２２は、広範に、例示的なコンピューティングシステム６１０と１つ以上の追加のデバイスとの間の通信を容易にすることが可能な通信デバイス又はアダプタの任意のタイプ又は形態を表し得る。例えば、ある実施形態において、通信インターフェース６２２は、コンピューティングシステム６１０と追加のコンピューティングシステムを含む私的又は公的なネットワークとの間の通信を容易にすることができる。通信インターフェース６２２の実施例は、これに限定されないが、有線ネットワークインターフェース（ネットワークインターフェースカード等）、無線ネットワークインターフェース（無線ネットワークインターフェースカード等）、モデム、及び任意の他の好適なインターフェースを含む。少なくとも１つの実施形態において、通信インターフェース６２２は、インターネット等、ネットワークへの直接的な接続を介して、リモートサーバへ直接的な接続を提供し得る。通信インターフェース６２２はまた、例えば、ローカルエリアネットワーク（イーサネットネットワーク等）（「イーサネット」は登録商標、以下同じ）、パーソナルエリアネットワーク、電話若しくはケーブルネットワーク、携帯電話接続、衛星データ接続、又は任意の他の好適な接続を通じて、かかる接続を間接的に提供してもよい。
【００６４】
ある実施形態において、通信インターフェース６２２はまた、外部バス又は通信チャネルを介してコンピューティングシステム６１０と１つ以上の追加のネットワーク又は記憶デバイスとの間の通信を容易にするように構成されるホストアダプタを表し得る。ホストアダプタの実施例は、これに限定されないが、ＳＣＳＩホストアダプタ、ＵＳＢホストアダプタ、ＩＥＥＥ  １３９４ホストアダプタ、ＳＡＴＡ及びｅＳＡＴＡホストアダプタ、ＡＴＡ及びＰＡＴＡホストアダプタ、ファイバーチャネルインターフェースアダプタ、イーサネットアダプタ等を含む。通信インターフェース６２２はまた、コンピューティングシステム６１０が、分散型又はリモートコンピューティングに関与するのを可能にし得る。例えば、通信インターフェース６２２は、実行のためにリモートデバイスから命令を受信するか、又はリモートデバイスへ命令を送信することができる。
【００６５】
図６に例解されるように、コンピューティングシステム６１０はまた、ディスプレイアダプタ６２６を介して通信基盤６１２に連結される少なくとも１つのディスプレイデバイス６２４を含んでもよい。ディスプレイデバイス６２４は、概して、ディスプレイアダプタ６２６によって転送された情報を視覚的に表示することが可能なデバイスの任意のタイプ又は形態を表し得る。同様に、ディスプレイアダプタ６２６は、概して、ディスプレイデバイス６２４上での表示のために、通信基盤６１２から（又は当該分野で周知のフレームバッファから）のグラフィック、テキスト、及び他のデータを転送するように構成されるデバイスの任意のタイプ又は形態を表し得る。
【００６６】
図６に例解されるように、例示的なコンピューティングシステム６１０はまた、入力インターフェース６３０を介して通信基盤６１２に連結される少なくとも１つの入力デバイス６２８を含んでもよい。入力デバイス６２８は、概して、例示的なコンピューティングシステム６１０に、コンピュータ又は人間のいずれかが生成した入力を提供することが可能な入力デバイスの任意のタイプ又は形態を表し得る。入力デバイス６２８の実施例は、これに限定されないが、キーボード、指先指示デバイス、音声認識デバイス、又は任意の他の入力デバイスを含む。
【００６７】
図６に例解されるように、例示的なコンピューティングシステム６１０はまた、記憶インターフェース６３４を介して通信基盤６１２に連結される一次記憶デバイス６３２及びバックアップ記憶デバイス６３３を含んでもよい。記憶デバイス６３２及び６３３は、概して、データ及び／又は他のコンピュータ可読命令を記憶することが可能な記憶デバイス又は媒体の任意のタイプ又は形態を表し得る。例えば、記憶デバイス６３２及び６３３は、磁気ディスクドライブ（例えば、いわゆるハードドライブ）、ソリッドステートドライブ、フロッピーディスクドライブ（「フロッピー」は登録商標、以下同じ）、磁気テープドライブ、光ディスクドライブ、フラッシュドライブ等であり得る。記憶インターフェース６３４は、概して、記憶デバイス６３２及び６３３とコンピューティングシステム６１０の他の構成要素との間でデータを転送するためのインターフェース又はデバイスの任意のタイプ又は形態を表してもよい。
【００６８】
ある実施形態において、記憶デバイス６３２及び６３３は、コンピュータソフトウエア、データ、又は他のコンピュータ可読情報を記憶するように構成される取り外し可能な記憶ユニットから読み出す及び／又は取り外し可能な記憶ユニットに書き込むように構成されてもよい。好適な取り外し可能な記憶ユニットの実施例は、これに限定されないが、フロッピーディスク、磁気テープ、光ディスク、フラッシュメモリデバイス等を含む。記憶デバイス６３２及び６３３はまた、コンピュータソフトウエア、データ、又は他のコンピュータ可読命令がコンピューティングシステム６１０にロードされることを可能にするための他の類似の構造又はデバイスを含んでもよい。例えば、記憶デバイス６３２及び６３３は、ソフトウエア、データ、又は他のコンピュータ可読情報を読み出し、書き込むように構成され得る。記憶デバイス６３２及び６３３はまた、コンピューティングシステム６１０の一部であってもよく、又は他のインターフェースシステムを通じてアクセスされる別個のデバイスであってもよい。
【００６９】
多くの他のデバイス又はサブシステムが、コンピューティングシステム６１０に接続され得る。反対に、本明細書に記載及び／又は例解される実施形態を実践するために、図６に例解される全ての構成要素及びデバイスが存在する必要はない。上に参照されるデバイス及びサブシステムはまた、図６に示されるものとは異なる方法で相互接続されてもよい。コンピューティングシステム６１０はまた、任意の数のソフトウエア、ファームウエア、及び／又はハードウエア構成を用いてもよい。例えば、本明細書に開示される例示的な実施形態のうちの１つ以上は、コンピュータ可読記憶媒体上でコンピュータプログラム（コンピュータソフトウエア、ソフトウエアアプリケーション、コンピュータ可読命令、又はコンピュータ制御論理とも称される）としてコード化されてもよい。「コンピュータ可読記憶媒体」という語句は、概して、コンピュータ可読命令を記憶又は搬送することが可能なデバイス、搬送波、又は媒体の任意の形態を指す。コンピュータ可読記憶媒体の実施例は、これに限定されないが、搬送波等の伝送型媒体、並びに磁気記憶媒体（例えば、ハードディスクドライブ及びフロッピーディスク）、光記憶媒体（例えば、ＣＤ−又はＤＶＤ−ＲＯＭ）、電子記憶媒体（ソリッドステートドライブ及びフラッシュ媒体）、及び他の分散システム等の物理的媒体を含む。
【００７０】
コンピュータプログラムを含むコンピュータ可読記憶媒体は、コンピューティングシステム６１０にロードされ得る。コンピュータ可読記憶媒体上に記憶される全て又は一部分のコンピュータプログラムは、次いで、システムメモリ６１６並びに／又は記憶デバイス６３２及び６３３の多様な部分に記憶され得る。プロセッサ６１４により実行されると、コンピューティングシステム６１０にロードされたコンピュータプログラムは、プロセッサ６１４に、本明細書に記載及び／又は例解される例示的な実施形態のうちの１つ以上の機能を実施させ得る、及び／又は実施するための手段であり得る。加えて又は代わりに、本明細書に記載及び／又は例解される例示的な実施形態のうちの１つ以上は、ファームウエア及び／又はハードウエアに実装されてもよい。例えば、コンピューティングシステム６１０は、本明細書に開示される例示的な実施−形態のうちの１つ以上を実装するように適合される、特定用途向け集積回路（ＡＳＩＣ）として構成されてもよい。
【００７１】
図７は、クライアントシステム７１０、７２０、及び７３０、並びにサーバ７４０及び７４５が、ネットワーク７５０に連結され得る、例示的なネットワークアーキテクチャ７００のブロック図である。上に詳述されたように、ネットワークアーキテクチャ７００の全て又は一部分は、それぞれ単独で、又は他の要素と組み合わせて、本明細書に開示される受信、特定、決定、位置付け、適用、及び復元の工程を実施し得る、及び／又は実施のための手段であり得る。ネットワークアーキテクチャ７００の全て又は一部分はまた、本開示に記載される他の工程及び特性を実施するために使用され得る、及び／又は実施する手段であり得る。
【００７２】
クライアントシステム７１０、７２０、及び７３０は、概して、図６の例示的なコンピューティングシステム６１０等、コンピューティングデバイス又はシステムの任意のタイプ又は形態を表し得る。同様に、サーバ７４０及び７４５は、概して、アプリケーションサーバ又はデータベースサーバ等、多様なデータベースサービスを提供する、及び／又はあるソフトウエアアプリケーションを起動するように構成される、コンピューティングデバイス又はシステムを表す。ネットワーク７５０は、概して、例えば、イントラネット、広域ネットワーク（ＷＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、パーソナルエリアネットワーク（ＰＡＮ）、又はインターネットを含む、任意の電気通信又はコンピュータネットワークを表す。一実施例において、クライアントシステム７１０、７２０、及び／若しくは７３０、並びに／又はサーバ７４０及び／若しくは７４５は、図１からのシステム１００の全て又は一部分を含み得る。
【００７３】
図７に例解されるように、１つ以上の記憶デバイス７６０（１）〜（Ｎ）は、直接的にサーバ７４０に接続され得る。同様に、１つ以上の記憶デバイス７７０（１）〜（Ｎ）は、直接的にサーバ７４５に接続され得る。記憶デバイス７６０（１）〜（Ｎ）及び記憶デバイス７７０（１）〜（Ｎ）は、概して、データ及び／又は他のコンピュータ可読命令を記憶することが可能な記憶デバイス又は媒体の任意のタイプ又は形態を表す。ある実施形態において、記憶デバイス７６０（１）〜（Ｎ）及び記憶デバイス７７０（１）〜（Ｎ）は、ＮＦＳ、ＳＭＢ、又はＣＩＦＳ等、多様なプロトコルを使用してサーバ７４０及び７４５と通信するように構成されるネットワーク接続記憶（ＮＡＳ）デバイスを表し得る。
【００７４】
サーバ７４０及び７４５はまた、記憶エリアネットワーク（ＳＡＮ）ファブリック７８０に接続され得る。ＳＡＮファブリック７８０は、概して、複数の記憶デバイスの間の通信を容易にすることが可能なコンピュータネットワーク又はアーキテクチャの任意のタイプ又は形態を表す。ＳＡＮファブリック７８０は、サーバ７４０及び７４５と複数の記憶デバイス７９０（１）〜（Ｎ）及び／又は知的記憶アレイ７９５との間の通信を容易にし得る。ＳＡＮファブリック７８０はまた、デバイス７９０（１）〜（Ｎ）及びアレイ７９５が、クライアントシステム７１０、７２０、及び７３０にローカルで接続されたデバイスとして現れるような様式で、ネットワーク７５０並びにサーバ７４０及び７４５を介して、クライアントシステム７１０、７２０、及び７３０と記憶デバイス７９０（１）〜（Ｎ）及び／又は知的記憶アレイ７９５との間の通信を容易にする可能性がある。記憶デバイス７６０（１）〜（Ｎ）及び記憶デバイス７７０（１）〜（Ｎ）と同様に、記憶デバイス７９０（１）〜（Ｎ）及び知的記憶アレイ７９５は、概して、データ及び／又は他のコンピュータ可読命令を記憶することが可能な記憶デバイス又は媒体の任意のタイプ又は形態を表す。
【００７５】
ある実施形態において、及び図６の例示的なコンピューティングシステム６１０を参照して、図６にある通信インターフェース６２２等の通信インターフェースは、各々のクライアントシステム７１０、７２０、及び７３０とネットワーク７５０との間の接続性を提供するために使用することができる。クライアントシステム７１０、７２０、及び７３０は、例えば、ウェブブラウザ又は他のクライアントソフトウエアを使用して、サーバ７４０及び７４５上の情報にアクセスすることが可能であり得る。そのようなソフトウエアは、クライアントシステム７１０、７２０、及び７３０がサーバ７４０、サーバ７４５、記憶デバイス７６０（１）〜（Ｎ）、記憶デバイス７７０（１）〜（Ｎ）、記憶デバイス７９０（１）〜（Ｎ）、又は知的記憶アレイ７９５によってホストされるデータにアクセスすることを可能にし得る。図７は、データを交換するためのネットワーク（インターネット等）の使用を描写するが、本明細書に記載及び／又は例解される実施形態は、インターネット又は他の特定のネットワークに基づく環境に限定されない。
【００７６】
少なくとも１つの実施形態において、本明細書に開示される例示的な実施形態のうちの１つ以上の全て又は一部分は、コンピュータプログラムとしてコード化され、サーバ７４０、サーバ７４５、記憶デバイス７６０（１）〜（Ｎ）、記憶デバイス７７０（１）〜（Ｎ）、記憶デバイス７９０（１）〜（Ｎ）、知的記憶アレイ７９５、又はそれらの任意の組み合わせ上にロードされ、それによって実行され得る。本明細書に開示される例示的な実施形態のうちの１つ以上の全て又は一部分は、コンピュータプログラムとしてコード化され、サーバ７４０に記憶され、サーバ７４５によって起動され、ネットワーク７５０を通じてクライアントシステム７１０、７２０、及び７３０に分散され得る。
【００７７】
上で詳述されたように、コンピューティングシステム６１０及び／又はネットワークアーキテクチャ７００の１つ以上の構成要素は、それぞれ単独で、又は他の要素と組み合わせて、アプリケーションデータを復元する例示的な方法の１つ以上の工程を実施し得る、及び／又は実施するための手段であり得る。
【００７８】
先述の開示は、特定のブロック図、流れ図、及び実施例を使用して多様な実施形態を説明するが、各ブロック図の構成要素、流れ図の工程、動作、及び／又は本明細書に記載及び／又は例解される構成要素は、個別に及び／又は集合的に、広範なハードウエア、ソフトウエア、又はファームウエア（又は任意のそれらの組み合わせ）の構成を使用して、実装されてもよい。更に、他の構成要素内に含まれる構成要素のいずれの開示も、多くの他のアーキテクチャが同じ機能性を達成するために実装可能であるため、例示的な性質と見なされるべきである。
【００７９】
一部の実施例において、図１の例示的なシステム１００の全ての又は一部分は、クラウド−コンピューティング又はネットワークに基づく環境の部分を表し得る。クラウド−コンピューティング環境は、インターネットを介して多様なサービス及びアプリケーションを提供することができる。これらのクラウドに基づくサービス（例えば、サービスとしてのソフトウエア、サービスとしてのプラットフォーム、サービスとしての基盤等）は、ウェブブラウザ又は他のリモートインターフェースを通じてアクセス可能であり得る。本明細書に記載の多様な機能は、リモートデスクトップ環境又は任意の他のクラウドに基づくコンピューティング環境を通じて提供され得る。
【００８０】
本明細書に記載及び／又は例解される処理パラメータ及び工程の順序は、ほんの一例として提供され、所望に応じて多様であり得る。例えば、本明細書に例解及び／又は記載される工程が特定の順序で示される又は論議されるが、これらの工程は、必ずしも例解又は論議される順序で実施される必要はない。本明細書に記載及び／又は例解される多様な例示的な方法はまた、本明細書に記載及び／又は例解される工程のうちの１つ以上を省略してもよく、又は開示されるものに加えて追加の工程を含んでもよい。
【００８１】
種々の実施形態は、完全に機能的なコンピューティングシステムに関連して本明細書に記載及び／又は例解されているが、これらの例示的な実施形態のうちの１つ以上は、実際に分散を行うために使用されるコンピュータ可読記憶媒体の特定のタイプにかかわらず、多様な形態のプログラム製品として分散される。本明細書に開示の実施形態はまた、あるタスクを実施するソフトウエアモジュールを使用して実装されてもよい。これらのソフトウエアモジュールは、スクリプト、バッチ、又はコンピュータ可読記憶媒体上又はコンピューティングシステムで記憶され得る他の実行可能なファイルを含んでもよい。一部の実施例において、これらのソフトウエアモジュールは、本明細書に開示される例示的な実施形態のうちの１つ以上を実施するようにコンピューティングシステムを構築し得る。
【００８２】
加えて、本明細書に記載のモジュールのうちの１つ以上は、データ、物理的デバイス、及び／又は物理的デバイスの表現を、１つの形態から別の形態へ変換し得る。例えば、本明細書に列挙されるモジュールのうちの１つ以上は、コンピューティングデバイスを、アプリケーションデータを復元するためのデバイスに変換し得る。
【００８３】
先行の説明は、当業者が本明細書に開示される例示的な実施形態の多様な態様を最大限に利用できるように提供されている。この例示的な説明は、包括的であること、又はいずれの開示される正確な形態にも限定されることを意図するものではない。多くの変更及び変形は、本開示の趣旨及び範囲から逸脱することなく可能である。本明細書に開示される実施形態は、あらゆる点で具体例であり、制限するものではないと見なされるべきである。本開示の範囲を決定する際、添付の「特許請求の範囲」及びその均等物への参照がなされるべきである。
【００８４】
特に記されない限り、本明細書及び特許請求の範囲に使用される用語「１つの（a）」又は「１つの（an）」は、「少なくとも１つの」を意味するとして解釈される。加えて、使用の容易さのために、本明細書及び特許請求の範囲に使用される単語「含む」及び「有する」は、単語「備える」と互換性があり、同じ意味を有する。
【図１】
2015503168.tif 000006
【図２】
2015503168.tif 000007
【図３】
2015503168.tif 000008
【図４】
2015503168.tif 000009
【図５】
2015503168.tif 000010
【図６】
2015503168.tif 000011
【図７】
2015503168.tif 000012
【手続補正書】
【提出日】平成26年6月11日(2014.6.11)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
アプリケーションデータを復元するためのコンピュータ実装方法であって、前記方法の少なくとも一部分が、少なくとも１つのプロセッサを備えるコンピューティング装置により実施され、前記方法が、
リソースのためのリソースデータを選択された状態へ復元する要求を受信することと、
複数のバックアップデータセットを特定することであって、前記複数のバックアップデータセット内の各バックアップデータセットが、前記リソースのためのバックアップされたデータの少なくとも一部分を含む、特定することと、
前記リソースデータを前記選択された状態へ復元するために、前記複数のバックアップデータセットを復元する順序を決定することと、
前記複数のバックアップデータセットを決定された前記順序で復元することにより、前記リソースのための前記リソースデータを前記選択された状態へ復元することと、を含む、方法。
【請求項２】
前記複数のバックアップデータセット内の第１のバックアップデータセットが、第１のバックアップソースから生成されたものであり、
前記複数のバックアップデータセット内の第２のバックアップデータセットが、第２のバックアップソースから生成されたものであり、
前記第１のバックアップソース及び前記第２のバックアップソースが、範囲において異なる、請求項１に記載のコンピュータ実装方法。
【請求項３】
前記複数のバックアップデータセット内の第１のバックアップデータセットが、第１のバックアップジョブにより生成されたものであり、
前記複数のバックアップデータセット内の第２のバックアップデータセットが、第２のバックアップジョブから生成されたものであり、
前記第１のバックアップジョブ及び前記第２のバックアップジョブが、互いに独立していた、請求項１に記載のコンピュータ実装方法。
【請求項４】
前記複数のバックアップデータセット内の第１のバックアップデータセットが、第１のバックアップジョブにより生成されたものであり、
前記複数のバックアップデータセット内の第２のバックアップデータセットが、第２のバックアップジョブから生成されたものであり、
前記第１のバックアップジョブ及び前記第２のバックアップジョブが、別個のバックアップシステムにより実施された、請求項１に記載のコンピュータ実装方法。
【請求項５】
前記リソースが、
アプリケーション、
データベース、
ファイルの群、のうちの少なくとも１つを備える、請求項１に記載のコンピュータ実装方法。
【請求項６】
前記リソースがファイルシステムを備え、
前記複数のバックアップデータセットを復元する前記順序を決定することが、
最新の完全なバックアップデータセットを前記順序の最初に位置付けることと、
最新の差分バックアップデータセットを前記順序の前記最新の完全なバックアップデータセットの後に位置付けることと、
複数の増分バックアップデータセットを前記最新の差分バックアップデータセットの後に時系列順に位置付けることと、を含む、請求項１に記載のコンピュータ実装方法。
【請求項７】
前記複数のバックアップデータセットを特定することが、
前記リソースデータを含む最新の完全なバックアップデータセットを特定することと、
前記最新の完全なバックアップデータセットの後に続いて生成され、前記リソースデータの少なくとも一部分を含むバックアップ環境内の各バックアップデータセットを特定することと、を含み、
前記順序を決定することが、
前記リソースのタイプを特定することと、
前記リソースの前記タイプに基づいて、前記複数のバックアップデータセットを順序付けるための対応する有限状態マシンを特定することと、
逆時系列順に入力として前記対応する有限状態マシンに前記複数のバックアップデータセットを適用することと、を含む、請求項１に記載のコンピュータ実装方法。
【請求項８】
前記対応する有限状態マシンが、前記複数のバックアップデータセット内の各バックアップデータセットのバックアップ方法が必要条件とされている複数の遷移を含む、請求項７に記載のコンピュータ実装方法。
【請求項９】
前記複数のバックアップデータセット内の第１のバックアップデータセットが、仮想マシン内で動作する第１のバックアップシステムにより生成されたものであり、
前記複数のバックアップデータセット内の第２のバックアップデータセットが、前記仮想マシンのホスト上で動作する第２のバックアップシステムにより生成されたものである、請求項１に記載のコンピュータ実装方法。
【請求項１０】
アプリケーションデータを復元するためのシステムであって、
リソースのためのリソースデータを選択された状態へ復元する要求を受信するようにプログラムされる受信モジュールと、
複数のバックアップデータセットを特定するようにプログラムされる特定モジュールであって、前記複数のバックアップデータセット内の各バックアップデータセットが、前記リソースのためのバックアップされたデータの少なくとも一部分を備える、特定モジュールと、
前記リソースデータを前記選択された状態に復元するために、前記複数のバックアップデータセットを復元する順序を決定するようにプログラムされる決定モジュールと、
前記複数のバックアップデータセットを決定された前記順序で復元することにより、前記リソースのための前記リソースデータを前記選択された状態へ復元するようにプログラムされる復元モジュールと、
前記特定モジュール、前記受信モジュール、前記特定モジュール、前記決定モジュール、及び前記復元モジュールを実行するように構成される少なくとも１つのプロセッサと、を備える、システム。
【請求項１１】
前記複数のバックアップデータセット内の第１のバックアップデータセットが、第１のバックアップソースから生成されたものであり、
前記複数のバックアップデータセット内の第２のバックアップデータセットが、第２のバックアップソースから生成されたものであり、
前記第１のバックアップソース及び前記第２のバックアップソースが、範囲において異なる、請求項１０に記載のシステム。
【請求項１２】
前記複数のバックアップデータセット内の第１のバックアップデータセットが、第１のバックアップジョブにより生成されたものであり、
前記複数のバックアップデータセット内の第２のバックアップデータセットが、第２のバックアップジョブにより生成されたものであり、
前記第１のバックアップジョブ及び前記第２のバックアップジョブが、相互に独立していた、請求項１０に記載のシステム。
【請求項１３】
前記リソースが、ファイルシステムを備え、
前記決定モジュールが、
最新の完全なバックアップデータセットを前記順序の最初に位置付けることと、
最新の差分バックアップデータセットを前記順序の前記最新の完全なバックアップデータセットの後に位置付けることと、
複数の増分バックアップデータセットを前記最新の差分バックアップデータセットの後に時系列順に位置付けることと、により、前記複数のバックアップデータセットを復元する前記順序を決定するようにプログラムされる、請求項１０に記載のシステム。
【請求項１４】
前記特定モジュールが、
前記リソースデータを含む最新の完全なバックアップデータセットを特定することと、
前記最新の完全なバックアップデータセットの後に続いて生成され、前記リソースデータの少なくとも一部分を含むバックアップ環境内の各バックアップデータセットを特定することと、により、前記複数のバックアップデータセットを特定するようにプログラムされ、
前記決定モジュールが、
前記リソースのタイプを特定することと、
前記リソースの前記タイプに基づいて、前記複数のバックアップデータセットを順序付けるための対応する有限状態マシンを特定することと、
逆時系列順に入力として前記対応する有限状態マシンに前記複数のバックアップデータセットを適用することと、により、前記順序を決定するようプログラムされる、請求項１０に記載のシステム。
【請求項１５】
前記対応する有限状態マシンが、前記複数のバックアップデータセット内の各バックアップデータセットのバックアップ方法が必要条件とされている複数の遷移を含む、請求項１０に記載のシステム。
【国際調査報告】
2015503168.tif 000013
2015503168.tif 000014
2015503168.tif 000015