(57)【要約】実施形態は、データの幾つかの部分を効率的にバックアップすること、および範囲指定したデータ復旧を行うことに関するものである。一実施形態では、コンピューター・システムは、様々な異なるソフトウェア・アプリケーションやオペレーティング・システムに対応するデータをもつデータ・イメージをプリロードする。コンピューター・システムは、データ・イメージに対してチャンク処理を行うことにより各データ・イメージを複数のデータ・チャンクへと分割し、各データ・チャンクはハッシュ値により表される。次に、コンピューター・システムは、受け取ったユーザー・データと、プリロードされたデータ・イメージにおけるデータとの間のデータ差を表す差分データの部分を、ユーザーから受け取る。また、コンピューター・システムは論理バックアップ表現を生成し、論理バックアップ表現は、プリロードされたデータ・イメージに対するデータ・チャンク・ハッシュ値と、ユーザーから受け取った差分データとを含む。この論理表現は、ハッシュ値と差分データとのみを用いての、ユーザーのデータの復元を可能にする。
2014525635.tif 000002
【特許請求の範囲】
【請求項１】
複数のコンピューティング・システムを含むコンピューター・ネットワーク環境における、少なくとも１つのプロセッサーおよびメモリーを含むコンピューター・システムにおいての、データの１以上の部分を効率的にバックアップするための、コンピューターにより実施する方法であって、
１以上のソフトウェア・アプリケーションに対応するデータをもつ１以上のデータ・イメージをプリロードする動作と、
前記データ・イメージをチャンク処理する動作であって、前記データ・イメージのそれぞれが複数のデータ・チャンクへと分割され、前記データ・チャンクのそれぞれがハッシュ値により表される、動作と、
受け取ったユーザー・データと、プリロードされた前記データ・イメージ内の前記データとの間のデータ差を表す差分データの１以上の部分を、ユーザーから受け取る動作と、
論理バックアップ表現を生成する動作であって、前記論理バックアップ表現は、プリロードされた前記データ・イメージに対しての前記データ・チャンクの前記ハッシュ値と、前記ユーザーから受け取った前記差分データとを含み、前記論理バックアップ表現は、前記ハッシュ値と前記差分データとを用いての、前記ユーザーのデータの復元を可能にする、動作と
を含む方法。
【請求項２】
請求項１に記載の方法であって、前記ハッシュ値と前記差分データとのみが、論理バックアップ表現の部分として格納される、方法。
【請求項３】
請求項１に記載の方法であって、プリロードされた前記データ・イメージは、オペレーティング・システム・イメージを含む、方法。
【請求項４】
請求項１に記載の方法であって、
前記ユーザーのデータを復元するリクエストを受け取る動作であって、前記リクエストは、前記ユーザーのコンピューター・システムへ既にインストールされているオペレーティング・システムおよびプログラムのインジケーションを含む、動作と、
前記論理バックアップ表現へアクセスし、前記ユーザーのコンピューター・システムを元の状態に復元するために戻されるべきデータを決定する動作と、
前記差分データを前記ユーザーヘ戻す動作と
を更に含む方法。
【請求項５】
請求項４に記載の方法であって、前記差分データは、ソフトウェア・プログラムと、ソフトウェア・プログラム設定と、ユーザーの生成したデータと、オペレーティング・システム設定とのうちの１以上のものを含む、方法。
【請求項６】
請求項１に記載の方法であって、前記論理バックアップ表現は、前記ユーザーにより指定されたソフトウェア・アプリケーションに対して生成される、方法。
【請求項７】
請求項４に記載の方法であって、指定された高優先度のアプリケーションに対するデータが、指定された低優先度のアプリケーションに対するデータの前に復元される、方法。
【請求項８】
請求項４に記載の方法であって、
前記差分データに加えて、１以上のプリロードされたイメージを戻すことを決定する動作と、
前記差分データに加えて、決定した前記プリロードされたイメージを送る動作と
を更に含む方法。
【請求項９】
範囲指定されたデータ復旧を行うための方法を実装させるためのコンピューター・プログラム製品であって、前記コンピューター・プログラム製品は、コンピューター実行可能命令を格納している１以上のコンピューター読取可能格納媒体を含み、前記コンピューター実行可能命令は、コンピューティング・システムの１以上のプロセッサーにより実行されたときに、前記コンピューティング・システムに前記方法を行うようにさせ、前記方法は、
複数の異なるソフトウェア・アプリケーションのうちの、障害イベントの発生後に復元されるべきソフトウェア・アプリケーションを指定する障害復旧ポリシーを定める動作と、
ユーザーから受け取ったデータと１以上のプリロードされたデータ・イメージとの間のデータ差を含む差データを、生成された仮想ハード・ディスクから受け取る動作であって、前記仮想ハード・ディスクは、前記ユーザーから前記差データを受け取るように構成されている、動作と、
前記障害復旧ポリシーに基づいて、復元されるべきソフトウェア・アプリケーションのデータを決定する動作と、
前記ポリシーに従って、前記ユーザーに対して、前記ソフトウェア・アプリケーションの差分データを復元する動作と
を含む、
コンピューター・プログラム製品。
【請求項１０】
請求項９に記載のコンピューター・プログラム製品であって、前記データは、以前に格納したバックアップ・データから復元され、それにより、障害復旧のための補足的な格納が避けられる、コンピューター・プログラム製品。
【請求項１１】
請求項９に記載のコンピューター・プログラム製品であって、前記障害復旧ポリシーは、前記ユーザーのデータの全てをバックアップすべきことを指定し、前記ユーザーのデータの全ては、前記障害イベントの後に復元される、コンピューター・プログラム製品。
【請求項１２】
請求項９に記載のコンピューター・プログラム製品であって、前記障害復旧ポリシーは、前記ユーザーのデータの全てをバックアップすべきことを指定し、特定のアプリケーションのサブセットが前記障害イベントの後に復元される、コンピューター・プログラム製品。
【請求項１３】
請求項９に記載のコンピューター・プログラム製品であって、前記障害復旧ポリシーは、特定のアプリケーションのサブセットをバックアップすべきことを指定し、前記アプリケーションの前記サブセットの更なるサブセットが前記障害イベントの後に復元される、コンピューター・プログラム製品。
【請求項１４】
コンピューター・システムであって、
１以上のプロセッサーと、
システム・メモリーと、
コンピューター実行可能命令を格納している１以上のコンピューター読取可能格納媒体と
を含み、前記コンピューター実行可能命令は、前記１以上のプロセッサーにより実行されたときに、前記コンピューター・システムに、範囲指定されたデータ復旧を行うための方法を行うようにさせ、前記方法は、
複数の異なるソフトウェア・アプリケーションのうちの、障害イベントの発生後に復元されるべきソフトウェア・アプリケーションを指定する障害復旧ポリシーを定める動作と、
ユーザーから受け取ったデータと１以上のプリロードされたデータ・イメージとの間のデータ差を含む差データを、生成された仮想ハード・ディスクから受け取る動作であって、前記仮想ハード・ディスクは、前記ユーザーから前記差データを受け取るように構成され、前記プリロードされたデータ・イメージは、前記ユーザーのデータが全てバックアップされている既存のデータ・バックアップの１以上の部分を含む、動作と、
前記障害復旧ポリシーに基づいて、前記既存のデータ・バックアップの中の、復元されるべきソフトウェア・アプリケーションを決定する動作と、
前記ポリシーに従って、前記ユーザーに対して、指定された前記アプリケーションに対する前記ソフトウェア・アプリケーション差分データを復元する動作と
を含む、
システム。
【請求項１５】
請求項１４に記載のシステムであって、
前記差分データに加えて、１以上のプリロードされたイメージを戻すことを決定する動作と、
前記差分データに加えて、決定した前記プリロードされたイメージを送る動作と
を更に含む、
システム。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001]  コンピューターは、家庭、モバイル・デバイス、および他の多くの場所で、労働力へ高度に統合されている。コンピューターは、大量の情報を迅速かつ効率的に処理することができる。コンピューターで実行されるように設計されたソフトウェア・アプリケーションは、ユーザーが、ビジネス・アプリケーション、学業、エンターテイメント、およびその他を含む広範囲の種類の機能を行うことを可能にする。多くの場合、ソフトウェア・アプリケーションは、特定のタスク、例えば、文書を作成するためのワード・プロセッサー・アプリケーションや、Ｅメールの送信、受信、および整理のためのＥメール・プログラムなどを行うように、設計される。
【０００２】
[0002]  それらのアプリケーションにより作成されたデータは、高価値であることが多く、従って、典型的には何らかの形でバックアップされる。データ・バックアップ・アプリケーションは、多くの異なる形で提供される。幾つかのバックアップ・アプリケーションは、テープ・ドライブや他の媒体によりローカルにデータをバックアップする。別のバックアップ・アプリケーションは、クラウド上も含めてのリモートの場所でデータをバックアップする。通常のデータ・バックアップに加えて、企業では、緊急時に実施される適切な障害保護プランを有し得る。しかし、それらのデータ復旧プランは、典型的には大きいネットワーク帯域幅を用いるので、それらのプランの実施は全か無かになる傾向がある。
【発明の概要】
【０００３】
[0003]  ここに記載する実施形態は、データの１以上の部分を効率的にバックアップすること、および範囲指定したデータ復旧を行うことに関するものである。１つの実施形態では、コンピューター・システムは、様々な異なるソフトウェア・アプリケーションやオペレーティング・システムに対応するデータをもつデータ・イメージをプリロードする。コンピューター・システムは、プリロードしたデータに対してチャンク処理を行い、それにより、各データ・イメージは複数のデータ・チャンクへと分割され、各データ・チャンクはハッシュ値により表される。次に、コンピューター・システムは、受け取ったユーザー・データと、プリロードされたデータ・イメージにおけるデータとの間のデータ差を表す差分データ（delta data）の部分を、ユーザーから受け取る。また、コンピューター・システムは論理バックアップ表現を生成し、論理バックアップ表現は、プリロードされたデータ・イメージに対するデータ・チャンク・ハッシュ値と、ユーザーから受け取った差分データとを含む。この論理表現は、ハッシュ値と差分データとのみを用いての、ユーザーのデータの復元を可能にする。
【０００４】
[0004]  別の実施形態では、コンピューター・システムは障害復旧ポリシーを定め、障害復旧ポリシーは、障害イベントが発生した後に、複数の異なるソフトウェア・アプリケーションのうちの何れのソフトウェア・アプリケーションを復元するかを指定する。コンピューター・システムは、生成された仮想ハード・ディスクから、ユーザーから受け取ったデータと他のプリロードされたデータ・イメージとの間のデータ差を含む差データ（difference data）を受け取り、仮想ハード・ディスクは、ユーザーから差データを受け取るように構成される。コンピューター・システムは、障害復旧ポリシーに基づいて、復元の対象とするソフトウェア・アプリケーションのデータを決定し、ポリシーに従ってユーザーに対してそのソフトウェア・アプリケーションの差分データを復元する。
【０００５】
[0005]  この概要は、以下の詳細な説明で更に説明する概念のうちの選択したものを、簡素化した形で紹介するものである。この概要は、特許請求の範囲に記載の主題事項の鍵となる特徴や本質的な特徴を特定することを意図しておらず、また、特許請求の範囲に記載の主題事項の範囲を決定する際の支援として用いることを意図していない。
【０００６】
[0006]  更なる特徴および利点は、後の説明で述べられており、また、一部は説明から明らかであり、また、ここでの教示を実施することにより学ぶことができる。本発明の特徴および利点は、特許請求の範囲において示す装置や組み合わせを用いることにより実現し、得ることができる。本発明の特徴は、以下の説明および特許請求の範囲から更に完全に明らかになるか、または以下で述べる発明を実施することにより学ぶことができる。
【０００７】
[0007]  本発明の実施形態の上記および他の利点および特徴を更に明確にするために、図面を参照して、本発明の実施形態のより特定的な説明を提供する。それらの図面は、単に、本発明の典型的な実施形態を示すものであり、従って、本発明の範囲を限定するものとして考慮されないと、理解される。本発明は、図面を用いて更に特定的かつ詳細に記述され説明される。
【図面の簡単な説明】
【０００８】
【図１】図１は、データの１以上の部分を効率的にバックアップすることを含めた本発明の実施形態が動作できるコンピューター・アーキテクチャーを示す。
【図２】図２は、データの１以上の部分を効率的にバックアップするための例示的な方法のフローチャートを示す。
【図３】図３は、範囲指定したデータ復旧を行うための例示的な方法のフローチャートを示す。
【図４】図４は、優先様式でデータが復元されるコンピューター・アーキテクチャーを示す。
【発明を実施するための形態】
【０００９】
[0012]  ここで説明する実施形態は、データの幾つかの部分を効率的にバックアップすること、および範囲指定したデータ復旧を行うことに関する。１つの実施形態では、コンピューター・システムは、様々な異なるソフトウェア・アプリケーションやオペレーティング・システムに対応するデータをもつデータ・イメージをプリロードする。コンピューター・システムは、プリロードしたデータに対してチャンク処理を行い、それにより、各データ・イメージは複数のデータ・チャンクへと分割され、各データ・チャンクはハッシュ値により表される。次に、コンピューター・システムは、受け取ったユーザー・データと、プリロードされたデータ・イメージにおけるデータとの間のデータ差を表す差分データの部分を、ユーザーから受け取る。また、コンピューター・システムは論理バックアップ表現を生成し、論理バックアップ表現は、プリロードされたデータ・イメージに対するデータ・チャンク・ハッシュ値と、ユーザーから受け取った差分データとを含む。この論理表現は、ハッシュ値と差分データとのみを用いての、ユーザーのデータの復元を可能にする。例えば、ハッシュ値が適切なデータ・チャンクへマップされると、差分データを用いて、復元したデータの完全なビューを表すことができる。
【００１０】
[0013]  別の実施形態では、コンピューター・システムは障害復旧ポリシーを定め、障害復旧ポリシーは、障害イベントが発生した後に、複数の異なるソフトウェア・アプリケーションのうちの何れのソフトウェア・アプリケーションを復元するかを指定する。コンピューター・システムは、生成された仮想ハード・ディスクから、ユーザーから受け取ったデータと他のプリロードされたデータ・イメージとの間のデータ差を含む差データ（difference data）を受け取る。コンピューター・システムは、障害復旧ポリシーに基づいて、復元の対象とするソフトウェア・アプリケーションのデータを決定し、ポリシーに従ってユーザーに対してそのソフトウェア・アプリケーションの差分データを復元する。
【００１１】
[0014]  以下の説明は、行うことができる幾つかの方法および方法の実行に関する。方法の実行は、特定の順に説明されるか、またはフローチャートにおいて特定の順に生じるように示されている場合があるが、特に述べていないかぎりは、必ずしも特定の順にする必要はなく、また、１つの実行が、その実行の前に別の実行が完了されることを条件とする場合には、特定の順にする必要があることに、留意されたい。
【００１２】
[0015]  後に詳細に説明するが、本発明の実施形態は、例えば１以上のプロセッサーやシステム・メモリーなどのようなコンピューター・ハードウェアを含む特定用途向けまたは汎用のコンピューターを含むか、またはそのようなコンピューターを用いる。また、本発明の範囲内にある実施形態は、コンピューター実行可能命令および／またはデータ構造を搬送または格納する物理的および他のコンピューター読取可能な媒体を含む。そのようなコンピューター読取可能な媒体は、汎用または特定用途向けのコンピューター・システムによりアクセスできる任意の使用可能な媒体とすることができる。データの形でコンピューター実行可能命令を格納するコンピューター読取可能な媒体は、コンピューター・ストレージ媒体である。コンピューター実行可能命令を搬送するコンピューター読取可能な媒体は伝送媒体である。従って、限定ではなく例として、本発明の実施形態は、少なくとも２つの異なる種類のコンピューター読取可能な媒体、即ち、コンピューター・ストレージ媒体および伝送媒体を含むことができる。
【００１３】
[0016]  コンピュータ・ストレージ媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＲＡＭをベースにしたソリッド・ステート・ドライブ（ＳＤＤ）、フラッシュ・メモリ、相変化メモリー（ＰＣＭ）または他のタイプのメモリー、または他の光ディスク・ストレージ、磁気ディスク・ストレージ、または他の磁気記憶装置、またはコンピューター実行可能命令またはデータまたはデータ構造の形態で望まれるプログラム・コード手段を記憶するために使用でき且つ汎用または特定用途向けのコンピュータによりアクセスできる他の任意の媒体を含む。
【００１４】
[0017]  「ネットワーク」は、コンピューター・システムおよび／またはモジュールおよび／または他の電子デバイスの間での電子データのトランスポートを可能とする１以上のデータ・リンクおよび／またはデータ・スイッチとして定義される。ネットワーク（有線、無線、または有線と無線との組み合わせの何れか）を通じて情報がコンピューターへ転送および／または提供されると、コンピューターは、当然、その接続を伝送媒体として見る。伝送媒体はネットワークを含むことができ、ネットワークは、コンピューター実行可能命令の形態やデータ構造の形態にされたデータや望まれるプログラム・コード手段を搬送するために使用でき、かつ汎用または特定用途向けのコンピューターによりアクセスできるものである。上記のものの組み合わせも、コンピューター読取可能な媒体の範囲内に含まれるべきである。
【００１５】
[0018]  更に、コンピューター・システムの様々なコンポーネントへ到達すると、コンピューター実行可能命令またはデータ構造の形態のプログラム・コード手段は、伝送媒体からコンピューター・ストレージ媒体へ（またはその逆に）自動的に転送される。例えば、ネットワークまたはデータ・リンクを介して受け取ったコンピューター実行可能命令またはデータ構造は、ネットワーク・インターフェース・モジュール（例えば、ネットワーク・インターフェース・カード、即ち、ＮＩＣ）内のＲＡＭへバッファ記憶することができ、次に、コンピューター・システムのＲＡＭへ、および／またはコンピューター・システムの揮発性の低いコンピューター・ストレージ媒体へ、最終的に転送される。従って、コンピューター・ストレージ媒体が、伝送媒体を用いる（初期的にも用いる）コンピューター・システム・コンポーネントに含まれ得ることを、理解すべきである。
【００１６】
[0019]  コンピューター実行可能（またはコンピューター理解可能）命令は、例えば、汎用コンピューター、特定用途向けコンピューター、または特定用途向け処理デバイスに、１つの特定の機能または１グループの機能を行わせる命令を含む。コンピューター実行可能命令は、例えば、アセンブリ言語や、更にはソース・コードなどのような、バイナリの中間フォーマット命令であり得る。主題事項は、構造的な特徴や方法論的な動作に対して特定的な言語で記載されているが、特許請求の範囲で定義される主題事項は、上記の特徴や動作に必ずしも制限されるものではない。むしろ、上記の特定の特徴や動作は、特許請求の範囲を実施する際の例示的形態として開示されたものである。
【００１７】
[0020]  本発明を、多くのタイプのコンピューター・システム構成を用いて、ネットワーク・コンピューティング環境において実施できることが、当業者には理解できるであろう。コンピューター・システム構成は、パーソナル・コンピューター、デスクトップ・コンピューター、ラップトップ・コンピューター、メッセージ・プロセッサー、手持ち型デバイス、マルチプロセッサー・システム、マイクロプロセッサー・ベースまたはプログラマブルの消費者向け電気機器、ネットワークＰＣ、ミニコンピューター、メインフレーム・コンピューター、モバイル電話、ＰＤＡ、ページャー、ルーター、スイッチなどを含む。また、本発明は、分散型システム環境において実施することができる。分散型システム環境では、ローカル・コンピューター・システムとリモート・コンピューター・システムとがネットワークを介してリンクされ（有線データ・リンク、無線データ・リンク、または有線データ・リンクと無線データ・リンクとの組み合わせの何れかによる）、それぞれのコンピューター・システムがタスクを行う（例えば、クラウド・コンピューティング、クラウド・サービスなど）。分散型システム環境では、プログラム・モジュールは、ローカル・メモリー・ストレージ・デバイスとリモート・メモリー・ストレージ・デバイスとの双方に配されることができる。
【００１８】
[0021]  図１は、本発明の原理を用いることができるコンピューター・アーキテクチャー１００を示す。コンピューター・アーキテクチャー１００は、コンピューター・システム１０１を含む。コンピューター・システムは、ローカル・コンピューター・システムまたは分散型コンピューター・システムの任意のタイプのものとすることができる。システム１０１は、様々な実施形態を行うように構成することができ、１）障害保護のために二次サイトを設定するときにリソース使用率を最適化することと、２）アプリケーション対応の範囲指定した障害復旧および復元を行うこととを含む。これらの構成のそれぞれについては、以下で予備的に説明し、図２の方法２００および図３の方法３００に関して更に説明する。
【００１９】
[0022]  第２場所（クラウドや他の場所）が、オペレーティング・システム（ＯＳ）、アプリケーション、および対応するデータを、妥当な復旧時間でホストできるようにするために（障害の場合）、ＯＳおよびアプリケーション・データは、第２場所で使用可能とされ、第２場所は第１場所と同期を維持される。幾つかの場合、アプリケーション／ＯＳのデータは、仮想ハード・ディスク（ＶＨＤ）に格納することができる。ＶＨＤに加えて、またはＶＨＤに代えて、他の多くのストレージ・デバイスを使用することもできる。更に、以下で説明するアプローチは、物理的配備および仮想的配備にわたって働くように設計されている。
【００２０】
[0023]  幾つかの実施形態では、ＯＳおよび／またはアプリケーションに対して「ゴールデン・イメージ」を作成することができる。ここでは、用語「ゴールデン・イメージ」は、プレインストールされたバージョンのオペレーティング・システムおよび１以上のソフトウェア・プログラムを含むデータ・イメージを指すものであり得る。セットアップのステップとして、第２（バックアップ）場所に、ゴールデン・イメージのライブラリーがシードされる。それらのイメージは、ネットワークを介してのシードを必要とせずに第２場所へ直接にロードされた標準のＯＳおよびアプリケーションのバイナリであり得る。一例では、更新されたゴールデン・イメージは、元のゴールデン・イメージと比較して異なるゴールデン・イメージをシステムが合成する際の手助けとなる１組の変更を、含むことができる。この例のコンテキストでは、更新されたゴールデン・イメージは、差分ＶＨＤ（イメージ間の差を格納するように設計される）に格納することができ、これは、元のゴールデン・イメージと組み合わせることができ、複数回の格納を必要とせずに、ゴールデン・イメージの新たなフレーバーを提供することができる。
【００２１】
[0024]  ゴールデン・イメージは、ライブラリーに格納し、次に、可変チャンク処理を用いて（少なくとも幾つかの場合に用いて）ブロック・レベルでチャンクにすることができる。チャンク処理は、イメージを複数の異なる「チャンク」へと分割し、各チャンクは一意の識別子（例えば、ハッシュ値）により表される。ゴールデン・イメージは、障害の際の復旧を速くすることを望む場合には、チャンク処理の後にも保持されるようにすることができるが、それには追加のストレージが必要である。ストレージを節約する場合、ゴールデン・イメージは、チャンク処理の後に廃棄され、そして、チャンクと共に格納され且つチャンクをイメージへと再形成する方法を示すメタデータに従って、チャンクから再合成される。
【００２２】
[0025]  ゴールデン・イメージからチャンクが生成されると（チャンク処理は、新たなイメージがライブラリーへシードされたときのみ、必要とされる）、ソース・データはＶＨＤへストリームで送られ、それが、全てのゴールデン・イメージをチャンク処理することにより以前に生成されたブロックと比較される。ゴールデン・イメージ・ファイル（例えば、ＯＳバイナリ、アプリケーション・バイナリ）間での共通性により、第２場所で大きいチャンクのデータを容易に入手可能であり、そして、新たなブロックのみを第２場所へ送るために必要とする時間（および消費されるリソース）は、全体をストリームにしたＶＨＤを第１場所から第２場所へ送るよりも、効率が高い（また、速い）。
【００２３】
[0026]  また、ゴールデン・イメージを第２場所で保持するべきである場合（障害からの復旧を速くするため）、ゴールデン・イメージは、ソース・システムからの変更により直接に更新されないであろうことに、留意すべきである。むしろ、ゴールデン・イメージからソース・システムを合成するために、差分ＶＨＤを用いて必要な変更を取り込むことができる。論理グループを作成して、この関係を追跡することができる。
【００２４】
[0027]  論理グループが存在することになった後、データ復旧（障害の後）を行うために様々なオプションが使用可能になる。１）１つのオプションは、論理グループの関係を用いて、第２場所のソース・システムのインスタンスを直接に「復旧」させることである。ここでの復旧は、論理グループ内に含まれるＯＳおよび／またはアプリケーションのデータのインスタンスを直接に起動させることにより、または、代替的には、論理グループを第２場所自体の別のエリアにコピーして、次にそれをインストールすることにより、行われ得る。２）第２のオプションは、ソース・システムを持ってくるためにゴールデン・イメージを用いることである（第１場所で使用可能な場合）。これが行われると、ソース・システムを取り付けるためにストリームで送る必要があるのは、差分情報（例えば、差分ＶＨＤからのもの）のみである。このアプローチはまた、障害の後に第１リソースがオンラインに戻ると、フェールバックの間に用いることができる。
【００２５】
[0028]  実施形態はまた、アプリケーション対応の範囲指定した障害保護および回復に関するものである。幾つかの場合、企業は、アプリケーションのコア・セットを有することがあり、このコア・セットのアプリケーションは、企業にとって他のアプリケーション（例えば、Ｅメール管理プログラム）よりも重要である。障害の後、そのような企業は、その企業の使用可能なリソース（例えば、ストレージ、第１と第２との間のネットワーク帯域幅）を用いて、重要なアプリケーションを、他の重要度の低いアプリケーションを復旧させる前に復旧させることを、望むであろう。従って、幾つかの実施形態では、各アプリケーションに対して、範囲指定したバックアップおよび／または復元を提供することができる。
【００２６】
[0029]  作業の流れの第１ステップとして、アプリケーションおよびデータの範囲指定のためのポリシーを提供する必要がある（または、分類メタデータに基づいて自動的に検出する）。与えられた範囲指定に基づき、ゴールデン・イメージから生成されたチャンクを用いて、範囲指定されストリームされるＶＨＤが生成され取り付けられる。この取り付けが完了すると、範囲指定されたソース・システムの論理表現が決定される。
【００２７】
[0030]  範囲指定は、アプリケーション・レベルで、またはコンポーネント・レベルで行うことができる（例えば、アプリケーションの特定の部分を復元する）。アプリケーションの境界およびコンポーネントを決定するための１つの方法は、アプリケーション・ライター（application writer）（また、システム・ファイルに対してはシステム・ライター（system writer））を用いることである。範囲指定が行われると、ストリーミングＶＨＤを、望まれる範囲に対して設定し、次に、バックアップまたは障害復旧のために用いることができる。更に、ストリームされたバックアップＶＨＤは、障害復旧プロセスの間に更に範囲指定して、本来からバックアップされていたアプリケーションのサブセットに対する障害復旧を可能にすることができる。バックアップは、アプリケーションおよびコンポーネントに対応するので、それらのサブセットのみをイネーブルにして障害復旧に使用されるようにするための必要な情報を有する。このように、企業や他のユーザーはまた、それらのアプリケーションおよびコンポーネントの全てをバックアップすることができるが、障害復旧は、アプリケーションおよびコンポーネントのサブセットに対してのみ行う。障害復旧を行うためにバックアップ資産を利用することにより、複製データを格納することを避けることができる。これらの構成は、以下で、図２の方法２００および図３の方法３００と関連して更に詳細に説明する。
【００２８】
[0031]  上記のシステムおよびアーキテクチャーの観点では、開示した主題事項に従って実装できるメソドロジーは、図２および図３のフローチャートを参照すると、より良く理解できるであろう。説明を簡単にするために、方法は、一連のブロックで示され、説明される。しかし、特許請求の範囲に記載の主題事項は、ブロックの順番により限定されないことを、理解および解釈すべきである。なぜなら、幾つかのブロックは、ここで示され説明される順とは別の順序で生じることや、他のブロックと同時に生じることがあり得るからである。更には、以下で説明する方法を実施するために、全ての示したブロックを必要としない場合もある。
【００２９】
[0032]  図２は、データの１以上の部分を効率的にバックアップするための方法２００のフローチャートを示す。ここで、方法２００について、環境１００のコンポーネントおよびデータを参照して説明する。
【００３０】
[0033]  方法２００は、１以上のソフトウェア・アプリケーションに対応するデータをもつ１以上のデータ・イメージをプリロードず動作を含む（動作２１０）。例えば、イメージ・プリロード・モジュール１０５は、アプリケーションおよび／またはオペレーティング・システムを含むイメージ（ゴールデン・イメージ）１０６をプリロードする。例えば、ゴールデン・イメージは、１つのバージョンのオペレーティング・システム、パッチまたは更新されたバージョンのオペレーティング・システム、オペレーティング・システムおよび１以上のアプリケーション、または単に１個または１組のアプリケーション（例えば、オフィス・ソフトウェア・スイート（office software suite））を含み得る（これらの組み合わせの何れかまたは全てがエレメント１０７で表され得る）。これらのイメージは、プリロードされた後、イメージ・チャンク・モジュール１１０によりチャンク処理することができる。従って、各データ・イメージは複数の異なるデータ・チャンク１１１へと分割され、それらのデータ・チャンクのそれぞれはハッシュ値１１２により表される（動作２２０）。ハッシュ値は、ＭＤ５または他の実質的に任意のハッシュ・アルゴリズムにより生成することができる。データ・チャンクは、データ・ストア１１５に格納することができる。データ・ストアは、任意のタイプのローカルまたは分散型のデータ・ストレージを含むことができる。また、データ・ストアは、プリロードされたデータ・イメージ（ゴールデン）を格納することができる。
【００３１】
[0034]  また、方法２００は、受け取ったユーザー・データと、プリロードされたデータ・イメージの中のデータとの間のデータ差を表す差分データの１以上の部分を、ユーザーから受け取る動作を含む（動作２３０）。例えば、差分データ受信モジュール１３０は、ユーザー１２５から差分データ１２６を受け取ることができる。差分データは、ユーザーのデータとプリロードされたイメージ１０６内のデータとの間のデータ差を表す。従って、ユーザーがコンテンツを作成すると、または別のアプリケーションへアドオンすると、データのそれらの部分は差分データに含まれる。更に、何れの設定やポリシーの変更も、差分データに入れて送られる。一般に、差分データは、ソフトウェア・アプリケーションまたはオペレーティング・システムの最初のインストレーションの後の任意のデータ変更を含む。
【００３２】
[0035]  更に、方法２００は、論理バックアップ表現を生成する動作を含み、論理バックアップ表現は、プリロードされたデータ・イメージのデータ・チャンクのハッシュ値と、ユーザーから受け取った差分データとを含み、論理バックアップ表現は、適切なチャンクを参照するハッシュ値と差分データとを用いての、ユーザーのデータの復元を可能にする。例えば、バックアップ表現生成モジュール１３５は、チャンクにされたイメージのハッシュ値１１２と、ユーザー１２５から受け取った差分データ１２６とを含む論理バックアップ表現１３６を生成することができる。障害の後、ユーザーは、プリロードされたイメージを用いて（または単にアプリケーション／ＯＳ自体および差分データをインストールして）、ユーザーのデータを復元することができる。従って、論理バックアップ表現は、ハッシュ値と差分データとのみを含む。
【００３３】
[0036]  従って、１つの実施形態では、コンピューター・システム１０１は、ユーザーのデータを復元するリクエストを受け取ることができる。そのリクエストは、ユーザーのコンピューター・システムへ既にインストールされているオペレーティング・システムおよびプログラムのインジケーションを含む。次に、コンピューター・システムは、論理バックアップ表現１３６へアクセスして、ユーザーのコンピューター・システムを元の状態に復元するために戻すべきデータを、決定する。更に、または代替的には、別のコンピューター・システムなどのような別のターゲット上で、またはクラウドに対して、バックアップ・コンピューター・システムを再び作成するように、データを戻すことができる。戻すデータを決定すると、次に、コンピューター・システムは、そのデータをユーザーへ戻す。
【００３４】
[0037]  幾つかの場合、論理バックアップ表現は、ユーザーにより指定されたソフトウェア・アプリケーションに対して生成される。このように、障害復旧は、ユーザーの望むアプリケーションのみを含むように範囲指定される。それらのアプリケーションは、高い優先度を持つものとユーザーにより判断されたアプリケーションを含むことができる。それらの高優先度のアプリケーションは、低優先度のアプリケーションのデータを復元する前に復元することができる。アプリケーションの優先度は、障害復旧ポリシー１２７に格納することができる。幾つかの場合、ユーザーは、差分データに加えて、１以上のプリロードされたイメージが戻されることを、要求する。そのような場合、決定されたプリロードされたイメージを、差分データに加えて、送ることができる。更に、または代替的には、ユーザーのアプリケーションのうちの１以上のものを、ローカル・コンピューター・システムでローカルに復元することができ、アプリケーションがローカル・コンピューター・システムからアプリケーション・ユーザーへ提供されるようにする。
【００３５】
[0038]  図３は、範囲指定されたデータ復旧を行うための方法３００のフローチャートを示す。ここで、方法３００ついて、図１の環境１００および図４の環境４００のコンポーネントおよびデータを参照して説明する。
【００３６】
[0039]  方法３００は、複数の異なるソフトウェア・アプリケーションのうちの、障害イベントの発生後に復元の対象となるソフトウェア・アプリケーションを特定する障害復旧ポリシーを定める動作を含む（動作３１０）。例えば、クライアント・コンピューター・システム４０１のユーザーは、障害イベントが発生してユーザーのコンピューター・システムが使用可能ではなくなった後に復元すべきソフトウェア・アプリケーション４０４を特定する障害復旧ポリシー４０３を、定めることができる。
【００３７】
[0040]  障害復旧ポリシーは、ユーザーのデータの全てまたは一部をバックアップすること（例えば、リモート・サーバーのデータ・ストア４１０において）を、指定することができる。障害の後、ユーザーのデータの全てまたは一部４１１／４１２を復元することができる。特定的には、ユーザーは、バックアップされたアプリケーションの全てを復元することを指定することや、バックアップされたアプリケーションの完全なセットの中の特定のアプリケーションを復元することを指定することができる。更に、障害復旧ポリシーは、各アプリケーションに対する優先度４０５を指定することができる。そのような場合、高優先度のアプリケーションが、低優先度のアプリケーションの前に復元される。１つのアプリケーションの幾つかの部分が復元される場合、それらの部分に対しても優先度を与えることができ、それにより、アプリケーションにおける高優先度の部分が先に復元される。
【００３８】
[0041]  方法３００は、ユーザーから受け取ったデータと１以上のプリロードされたデータ・イメージとの間のデータ差を含む差データを、生成された仮想ハード・ディスクから受け取る動作を含み（動作３２０）、仮想ハード・ディスクは、ユーザーから差データを受け取るように構成されている。例えば、ユーザー１２５は、ユーザーの差分データを仮想ハード・ドライブ１２０へ送ることができる。仮想ハード・ドライブは、その差分データを受け取って格納する。ユーザーは、障害復旧ポリシーに従ってユーザーのデータを復元するために、リモート・サーバーへ復元リクエスト４０６を送ることができる。幾つかの場合、論理バックアップ表現を生成することができ、論理バックアップ表現は、プリロードされたデータ・イメージに対するデータ・ハッシュ値と、ユーザーから受け取った差データとを含む。論理バックアップ表現は、適切なデータ・チャンクを参照するハッシュ値と差データとのみを用いての、ユーザーのデータの復元を可能にする。リモート・サーバーは、障害復旧ポリシーに基づいて、復元すべきソフトウェア・アプリケーションのデータを決定することができる。（動作３３０）。次に、ポリシーに従って、ユーザーのデータを復元することができる（動作３４０）。データは以前に格納したバックアップ・データから復元されるので、障害復旧のために別のデータを格納することを避けることができる。
【００３９】
[0042]  このような、データの１以上の部分を効率的にバックアップする方法、システム、およびコンピューター・プログラム製品が提供される。更に、範囲指定されたデータ復旧を行う方法、システム、およびコンピューター・プログラム製品が提供される。
【００４０】
[0043]  本発明は、本発明の精神および本質的特徴から離れずに、別の特定の形態で実施することもできる。説明した実施形態は、全ての点で、単なる例示であり、限定するものではないと考慮されるものである。従って、本発明の範囲は、上記の説明ではなく、特許請求の範囲に示されている。特許請求の範囲と等価の意味および範囲にある全ての変更は、特許請求の範囲の範囲内に含まれる。
【図１】
2014525635.tif 000003
【図２】
2014525635.tif 000004
【図３】
2014525635.tif 000005
【図４】
2014525635.tif 000006
【国際調査報告】
2014525635.tif 000007
2014525635.tif 000008