(57)【要約】【課題】複数カスケード式バックアップ・プロセスを提供する。【解決手段】バックアップ・プロセスを処理する方法は、ソース・ストレージ・ボリュームからターゲット・ストレージ・ボリュームへのバックアップ・プロセスを開始する命令を受けるステップ、ソース・ストレージ・ボリュームの完全なコピーをターゲット・ストレージ・ボリューム上に作る目的の完全バックアップ・プロセス、もしくはソース・ストレージ・ボリューム上の変更されるデータのコピーをターゲット・ストレージ・ボリューム上に作る目的の断片的バックアップ・プロセスのいずれかとして、バックアップ・プロセスのタイプを識別するステップ、および、識別されたバックアップ・プロセス・タイプのカスケードが存在すれば、識別されたバックアップ・プロセス・タイプの存在するカスケードにターゲット・ストレージ・ボリュームを追加するステップ、または、識別されたバックアップ・プロセス・タイプのカスケードが存在しなければ、ソース・ストレージ・ボリュームからターゲット・ストレージ・ボリュームの新たなカスケードを開始するステップを含む。【選択図】図４
2013531840.tif 000002
【特許請求の範囲】
【請求項１】
バックアップ・プロセスを処理する方法であって、
○ソース・ストレージ・ボリュームからターゲット・ストレージ・ボリュームへのバックアップ・プロセスを開始する命令を受けるステップ、
○前記ソース・ストレージ・ボリュームの完全なコピーを前記ターゲット・ストレージ・ボリューム上に作る目的の完全バックアップ・プロセス、もしくは前記ソース・ストレージ・ボリューム上の変更されるデータのコピーを前記ターゲット・ストレージ・ボリューム上に作る目的の断片的バックアップ・プロセスのいずれかとして、バックアップ・プロセスのタイプを識別するステップ、および、
○前記識別されたバックアップ・プロセス・タイプのカスケードが存在すれば、前記識別されたバックアップ・プロセス・タイプの前記存在するカスケードに前記ターゲット・ストレージ・ボリュームを追加するステップ、または、
○前記識別されたバックアップ・プロセス・タイプのカスケードが存在しなければ、前記ソース・ストレージ・ボリュームから前記ターゲット・ストレージ・ボリュームの新たなカスケードを開始するステップ
を含む方法。
【請求項２】
バックアップ・プロセスの前記タイプを、前記ソース・ストレージ・ボリュームの完全なコピーを前記ターゲット・ストレージ・ボリューム上に復元する目的の復元プロセスとして識別するステップと、前記ソース・ストレージ・ボリュームから前記ターゲット・ストレージ・ボリュームの新たなカスケードを開始するステップとをさらに含む、請求項１に記載の方法。
【請求項３】
スナップショットとして識別されたバックアップ・プロセスが停止されるのを検出するステップと、前記検出されたバックアップ・プロセスの前記ターゲット・ストレージ・ボリュームからのすべてのバックアップ・プロセスを停止するステップとをさらに含む、請求項１または２に記載の方法。
【請求項４】
クローンとして識別されたバックアップ・プロセスが停止されるのを検出するステップと、前記検出されたバックアップ・プロセスの前記ターゲット・ストレージ・ボリュームからの、スナップショットとして識別されたすべてのバックアップ・プロセスを停止するステップとをさらに含む、請求項１、２または３に記載の方法。
【請求項５】
複数のストレージ・ボリュームと、前記ストレージ・ボリュームに接続されたストレージ・ボリューム・コントローラとを含み、バックアップ・プロセスを処理するシステムであって、前記ストレージ・ボリューム・コントローラは、
○ソース・ストレージ・ボリュームからターゲット・ストレージ・ボリュームへのバックアップ・プロセスを開始する命令を受け、
○前記ソース・ストレージ・ボリュームの完全なコピーを前記ターゲット・ストレージ・ボリューム上に作る目的の完全バックアップ・プロセス、もしくは前記ソース・ストレージ・ボリューム上の変更されるデータのコピーを前記ターゲット・ストレージ・ボリューム上に作る目的の断片的バックアップ・プロセスのいずれかとして、バックアップ・プロセスのタイプを識別し、さらに、
○前記識別されたバックアップ・プロセス・タイプのカスケードが存在すれば、前記識別されたバックアップ・プロセス・タイプの前記存在するカスケードに前記ターゲット・ストレージ・ボリュームを追加し、または、
○前記識別されたバックアップ・プロセス・タイプのカスケードが存在しなければ、前記ソース・ストレージ・ボリュームから前記ターゲット・ストレージ・ボリュームの新たなカスケードを開始するよう構成されている、システム。
【請求項６】
前記ストレージ・ボリューム・コントローラは、バックアップ・プロセスの前記タイプを、前記ソース・ストレージ・ボリュームの完全なコピーを前記ターゲット・ストレージ・ボリューム上に復元する目的の復元プロセスとして識別し、前記ソース・ストレージ・ボリュームから前記ターゲット・ストレージ・ボリュームの新たなカスケードを開始するようさらに構成されている、請求項５に記載のシステム。
【請求項７】
前記ストレージ・ボリューム・コントローラは、スナップショットとして識別されたバックアップ・プロセスが停止されるのを検出し、前記検出されたバックアップ・プロセスの前記ターゲット・ストレージ・ボリュームからのすべてのバックアップ・プロセスを停止するようさらに構成されている、請求項５または６に記載のシステム。
【請求項８】
前記ストレージ・ボリューム・コントローラは、クローンとして識別されたバックアップ・プロセスが停止されるのを検出し、前記検出されたバックアップ・プロセスの前記ターゲット・ストレージ・ボリュームからの、スナップショットとして識別されたすべてのバックアップ・プロセスを停止するようさらに構成されている、請求項５、６または７に記載のシステム。
【請求項９】
バックアップ・プロセスを処理するための、コンピュータ可読媒体上のコンピュータ・プログラム製品であって、前記製品は、
○ソース・ストレージ・ボリュームからターゲット・ストレージ・ボリュームへのバックアップ・プロセスを開始する命令を受けること、
○前記ソース・ストレージ・ボリュームの完全なコピーを前記ターゲット・ストレージ・ボリューム上に作る目的の完全バックアップ・プロセス、もしくは前記ソース・ストレージ・ボリューム上の変更されるデータのコピーを前記ターゲット・ストレージ・ボリューム上に作る目的の断片的バックアップ・プロセスのいずれかとして、バックアップ・プロセスのタイプを識別すること、および、
○前記識別されたバックアップ・プロセス・タイプのカスケードが存在すれば、前記識別されたバックアップ・プロセス・タイプの前記存在するカスケードに前記ターゲット・ストレージ・ボリュームを追加すること、または、
○前記識別されたバックアップ・プロセス・タイプのカスケードが存在しなければ、前記ソース・ストレージ・ボリュームから前記ターゲット・ストレージ・ボリュームの新たなカスケードを開始すること、
の命令を含む、コンピュータ・プログラム製品。
【請求項１０】
バックアップ・プロセスの前記タイプを、前記ソース・ストレージ・ボリュームの完全なコピーを前記ターゲット・ストレージ・ボリューム上に復元する目的の復元プロセスとして識別すること、および前記ソース・ストレージ・ボリュームから前記ターゲット・ストレージ・ボリュームの新たなカスケードを開始することの命令をさらに含む、請求項９に記載のコンピュータ・プログラム製品。
【請求項１１】
スナップショットとして識別されたバックアップ・プロセスが停止されるのを検出すること、および前記検出されたバックアップ・プロセスの前記ターゲット・ストレージ・ボリュームからのすべてのバックアップ・プロセスを停止することの命令をさらに含む、請求項９または１０に記載のコンピュータ・プログラム製品。
【請求項１２】
クローンとして識別されたバックアップ・プロセスが停止されるのを検出すること、および前記検出されたバックアップ・プロセスの前記ターゲット・ストレージ・ボリュームからの、スナップショットとして識別されたすべてのバックアップ・プロセスを停止することの命令をさらに含む、請求項９、１０または１１に記載のコンピュータ・プログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バックアップ・プロセスを処理する方法およびシステムに関する。
【背景技術】
【０００２】
大組織におけるデータのストレージは、何らかのハードウェア障害が起こった場合のデータの信頼性およびデータ回復能力の両方に関して、欠くことのできない重要性を持つ。ストレージ・エリア・ネットワーク（ＳＡＮ：Ｓｔｏｒａｇｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）は、信頼性があり安全な形で非常に大量のデータが記憶されなければならない場合に使用されるアーキテクチャである。この技術は、ディスク・アレイなどのリモート・コンピュータ・ストレージ・デバイスのサーバへの接続をサポートするネットワークを、オペレーティング・システムにとってはこのデバイスがローカル接続されているように見えるよう作成することを可能にする。こうしたネットワークでは、データ・ストレージと、個別のコンポーネント間のハードウェア接続との両方において、大量の冗長性を含むことが一般的である。
【０００３】
データ冗長性の作成には様々な方法が存在する。例えば、ｆｌａｓｈｃｏｐｙ機能などのバックアップ・プロセスは、管理者が、データのポイント・イン・タイムの完全なボリューム・コピーを作ることができるようにし、そのコピーは、読み取りまたは書き込みアクセスに即時に利用可能である。ｆｌａｓｈｃｏｐｙは、環境内で利用可能な標準のバックアップ・ツールとともに使用して、テープ上にバックアップ・コピーを作成することができる。ｆｌａｓｈｃｏｐｙ機能は、ソース・ストレージ・ボリューム（ｓｏｕｒｃｅ  ｓｔｏｒａｇｅ  ｖｏｌｕｍｅ）のコピーをターゲット・ストレージ・ボリューム（ｔａｒｇｅｔ  ｓｔｏｒａｇｅ  ｖｏｌｕｍｅ）上に作成する。上記のように、このコピーは、ポイント・イン・タイム・コピーと呼ばれる。ｆｌａｓｈｃｏｐｙ動作が開始されると、ソース・ボリュームとターゲット・ボリュームとの間に関係が作成される。この関係は、ソース・ボリュームとターゲット・ボリュームとの「マッピング」である。このマッピングは、当該ソース・ボリュームのポイント・イン・タイム・コピーが関連するターゲット・ボリュームにコピーされることを可能にする。関係は、ｆｌａｓｈｃｏｐｙ動作が開始されたときから、ストレージ・ユニットがすべてのデータをソース・ボリュームからターゲット・ボリュームにコピーするまで、または関係が削除されるまで、このボリューム・ペア間に存在する。
【０００４】
データが物理的にコピーされるとき、バックグラウンド・プロセスは、データのトラック（または「グレーン」）をソース・ボリュームからターゲット・ボリュームにコピーする。プロセスがバックグラウンド・コピーを完了するのにかかる時間は、コピーされているデータの量、実行されているバックグラウンド・コピー・プロセスの数、および現在発生している他の任意のアクティビティなど、様々な基準によって決まる。ｆｌａｓｈｃｏｐｙ機能は、コピーされるデータが実際に即座にコピーされる必要がなく、ソース・ボリューム上の任意の古いデータの上書きを生じさせる更新の直前にコピーされればよいという点において効果的なものである。したがって、ソース・ボリューム上のデータが変化するとき、元データは、ソース・ボリューム上で上書きされる前に、ターゲット・ボリュームにコピーされる。
【０００５】
そのため、ｆｌａｓｈｃｏｐｙは、ユーザまたは自動化プロセスが論理ボリューム全体のデータのほぼ瞬時のコピーを作ることを可能にする様々なストレージ・デバイスでサポートされる機能の例である。ソース・ディスクのコピーが、ターゲット・ディスク上に作られる。コピーは、読み取りおよび書き込みアクセス両方に、即時に利用可能である。ｆｌａｓｈｃｏｐｙのような実装の共通機能は、コピーを反転する能力である。すなわち、ｆｌａｓｈｃｏｐｙマップのソース・ディスクを、ターゲット・ディスクのコンテンツによりポピュレートすることである。ターゲット・ディスクが後からさらなるｆｌａｓｈｃｏｐｙのソース・ディスクとなる、またはその逆のことが生じるカスケード式（ｃａｓｃａｄｅｄ）の実装で、ｆｌａｓｈｃｏｐｙなどのバックアップ・プロセスを使用することも可能である。
【０００６】
ストレージ・ボリュームのカスケード式構造は、特許文献１に詳細に記載されている。論理レベルで連結しているストレージ・ボリュームの複数のカスケードを作成することも可能である。第１のカスケードは、以下のようにカスケードに構成されているストレージ・ボリュームＡ、Ｂ、ＣおよびＤを含み得る。
【０００７】
【数１】
2013531840.tif 000003
【０００８】
一方、後から、Ａの新たなバックアップがボリュームＥおよびＦに対し開始されてもよく、これは最終的に以下の第２のカスケードの作成につながる。
【０００９】
【数２】
2013531840.tif 000004
【００１０】
ｆｌａｓｈｃｏｐｙ機能および反転機能の多数の異なる組み合わせが可能であり、複雑な複数のカスケーディング・ストレージ・ボリュームが作成される可能性がある。
【００１１】
データ・ストレージ・システムにおいて一般に使用されるポイント・イン・タイム（ＰＩＴ：ｐｏｉｎｔ−ｉｎ−ｔｉｍｅ）バックアップ・プロセスには、クローンおよびスナップショットと呼ばれる２種類がある。クローンは、ＰＩＴコピーが開始されたときにソース・ディスク上にあったデータの完全なコピーをターゲット・ディスクが保持することになるＰＩＴコピーである。ソースからターゲットへのデータのコピーが完了すると、ターゲット・ディスクはソースには依存しない。スナップショットは、ターゲットが、ソースのＰＩＴコピーを表現するのに必要な変更されたデータのみを保持するＰＩＴコピーである。データは、ソース上で変更された場合しかターゲット・ディスクにコピーされない。一般に、ターゲット・ディスクは、ＰＩＴコピーを表現するために、ソース・ディスク上のデータの一部に常に依存する。
【００１２】
複数ターゲット・カスケード式コピーは、ＩＢＭ（ＩＢＭ社の登録商標）ＳＡＮ  Ｖｏｌｕｍｅ  Ｃｏｎｔｒｏｌｌｅｒ  ＦｌａｓｈＣｏｐｙ（ＩＢＭ社の登録商標）において実装された技術である。カスケードは、単一データ・ソースの複数のＰＩＴコピーを実装するために使用される。例えば、データ・ソースＳがあり、ＳのＰＩＴコピーが時間ｔ１、ｔ２およびｔ３に取られる場合、時間ｔ１に、データ・ターゲットＴ１を使用してＰＩＴコピーが取られ、次のカスケードをもたらす：Ｓ→Ｔ１。続いて、時間ｔ２に、データ・ターゲットＴ２を使用する第２のＰＩＴコピーが取られ、次のカスケードをもたらす：Ｓ→Ｔ２→Ｔ１。この構成は、時間ｔ１とｔ２との間にＴ１またはＳ上のデータが変更されていれば、データはＴ１上にあることになり、データが変更されていなければ、Ｔ１およびＴ２両方が同じデータを読み取ることを求めるため、正常に機能する。同様に、ｔ３において、次のカスケードが生成される：Ｓ→Ｔ３→Ｔ２→Ｔ１。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】米国特許第７，３８６，６９５号
【発明の概要】
【発明が解決しようとする課題】
【００１４】
この技術には、多くの利点がある。しかし、従来の複数ターゲット実装には存在しないと考えられるデータ・ターゲット間の依存関係ももたらされる。このターゲット依存関係の副次的な影響は、ＰＩＴコピーが停止されるか、または完了すると、ターゲットをクリーニングする必要があるということである。例えば、ＰＩＴコピーＳ→Ｔ２が停止されると、Ｔ１に必要なＴ２上の任意のデータがＴ２からＴ１にコピーされてからでなければ、ターゲットＴ２をカスケードから削除することはできない。多くの状況では、ユーザは時間ｔ１におけるＳの完全なコピーをＴ１が保持すること、つまりバックアップ・プロセスＳ→Ｔ１がクローンであることを望むと考えられるため、これは問題ではない。しかし、Ｓ→Ｔ１の目的が、単に時間ｔ１におけるＳのスナップショットを生成することであれば、Ｔ２からＴ１へのこの余分なコピーが、ユーザに対し問題を生じることもある。さらに、データ・ターゲットＴ１がシン・プロビジョニングされたもの（空間効率がよいとしても知られる）であれば、上記の挙動により生じる問題は、Ｔ１に対するストレージの不必要な割り当てを生じさせることもある。これは、スナップショットおよびクローンを維持してそのバックアップを管理するユーザの能力を大きく低下させることになる。
【００１５】
Ｔ２からＴ１にコピーされるデータの量を削減しようと試みる既存の技術はいくつかあり、成功の度合いは様々である。様々なデータ・ターゲットのコンテンツを追跡するために使用されるメタデータの量を激増させずに、Ｔ２からＴ１への最小限のコピーを生成することができるソリューションはない。
【００１６】
したがって、既知の技術を改良することが、本発明の目的である。
【課題を解決するための手段】
【００１７】
本発明の第１の側面によれば、ソース・ストレージ・ボリュームからターゲット・ストレージ・ボリュームへのバックアップ・プロセスを開始する命令を受けるステップ、ソース・ストレージ・ボリュームの完全なコピーをターゲット・ストレージ・ボリューム上に作る目的の完全バックアップ・プロセス（ｆｕｌｌ  ｂａｃｋｕｐ  ｐｒｏｃｅｓｓ）、もしくはソース・ストレージ・ボリューム上の変更されるデータのコピーをターゲット・ストレージ・ボリューム上に作る目的の断片的バックアップ・プロセス（ｆｒａｃｔｉｏｎａｌ  ｂａｃｋｕｐ  ｐｒｏｃｅｓｓ）のいずれかとして、バックアップ・プロセスのタイプを識別するステップ、および、識別されたバックアップ・プロセス・タイプのカスケードが存在すれば、識別されたバックアップ・プロセス・タイプの存在するカスケードにターゲット・ストレージ・ボリュームを追加するステップ、または、識別されたバックアップ・プロセス・タイプのカスケードが存在しなければ、ソース・ストレージ・ボリュームからターゲット・ストレージ・ボリュームの新たなカスケードを開始するステップを含む、バックアップ・プロセスを処理する方法が提供される。
【００１８】
本発明の第２の側面によれば、複数のストレージ・ボリュームと、ストレージ・ボリュームに接続されたストレージ・ボリューム・コントローラとを含み、バックアップ・プロセスを処理するシステムが提供され、ストレージ・ボリューム・コントローラは、ソース・ストレージ・ボリュームからターゲット・ストレージ・ボリュームへのバックアップ・プロセスを開始する命令を受け、ソース・ストレージ・ボリュームの完全なコピーをターゲット・ストレージ・ボリューム上に作る目的の完全バックアップ・プロセス、もしくはソース・ストレージ・ボリューム上の変更されるデータのコピーをターゲット・ストレージ・ボリューム上に作る目的の断片的バックアップ・プロセスのいずれかとして、バックアップ・プロセスのタイプを識別し、さらに、識別されたバックアップ・プロセス・タイプのカスケードが存在すれば、識別されたバックアップ・プロセス・タイプの存在するカスケードにターゲット・ストレージ・ボリュームを追加し、または、識別されたバックアップ・プロセス・タイプのカスケードが存在しなければ、ソース・ストレージ・ボリュームからターゲット・ストレージ・ボリュームの新たなカスケードを開始するよう構成されている。
【００１９】
本発明の第３の側面によれば、バックアップ・プロセスを処理するための、コンピュータ可読媒体上のコンピュータ・プログラム製品が提供され、この製品は、ソース・ストレージ・ボリュームからターゲット・ストレージ・ボリュームへのバックアップ・プロセスを開始する命令を受けること、ソース・ストレージ・ボリュームの完全なコピーをターゲット・ストレージ・ボリューム上に作る目的の完全バックアップ・プロセス、もしくはソース・ストレージ・ボリューム上の変更されるデータのコピーをターゲット・ストレージ・ボリューム上に作る目的の断片的バックアップ・プロセスのいずれかとして、バックアップ・プロセスのタイプを識別すること、および、識別されたバックアップ・プロセス・タイプのカスケードが存在すれば、識別されたバックアップ・プロセス・タイプの存在するカスケードにターゲット・ストレージ・ボリュームを追加すること、または、識別されたバックアップ・プロセス・タイプのカスケードが存在しなければ、ソース・ストレージ・ボリュームからターゲット・ストレージ・ボリュームの新たなカスケードを開始することの命令を含む。
【００２０】
本発明により、スナップショットが決してクローンに依存しないよう保証することによって、カスケーディング・バックアップ・プロセスの従来技術の実装における問題を克服することができる。上述の方法は、単一のデータ・ソースに対する複数のカスケードを可能にする。この手法の利点は、スナップショットが、クローンとは別の依存関係チェーン（またはカスケード）にあるため、クローンは決してデータをスナップショット上にコピーしないということである。これは、スナップショットが、必要ないデータを決して保持しないということを意味する。様々なデータ・ターゲット上のデータを追跡するために追加のメタデータは必要とされない。原則的に、クローンであるバックアップ・プロセスがスナップショットであるバックアップ・プロセスを伴うカスケードには決して入らないように、さらに逆も同様であるように、ソース・ボリュームから別々のカスケードが維持される。
【００２１】
方法は、バックアップ・プロセスのタイプを、ソース・ストレージ・ボリュームの完全なコピーをターゲット・ストレージ・ボリューム上に復元する目的の復元プロセス（ｒｅｓｔｏｒｅ  ｐｒｏｃｅｓｓ）として識別するステップと、ソース・ストレージ・ボリュームからターゲット・ストレージ・ボリュームの新たなカスケードを開始するステップとをさらに含むことが好ましい。例えばストレージ・ボリュームのデータの破損への応答としてストレージ・ボリュームを復元する目的の任意のバックアップ・プロセスは、完全に別個のカスケードにおいて処理されることが望ましい。
【００２２】
方法は、スナップショットとして識別されたバックアップ・プロセスが停止されるのを検出するステップと、検出されたバックアップ・プロセスのターゲット・ストレージ・ボリュームからのすべてのバックアップ・プロセスを停止するステップとをさらに含み、クローンとして識別されたバックアップ・プロセスが停止されるのを検出するステップと、検出されたバックアップ・プロセスのターゲット・ストレージ・ボリュームからの、スナップショットとして識別されたすべてのバックアップ・プロセスを停止するステップとをさらに含むと有利である。バックアップ・プロセスの停止は、一貫性のある形で処理されることが重要である。上記に詳述された手法が取られる理由は、スナップショットは常にそのソースに依存し、ソースが破棄されれば、スナップショットにはそれ以上使い道がないためである。
【００２３】
以下、添付の図面を参照しながら、単なる例として本発明の実施形態について記載する。
【図面の簡単な説明】
【００２４】
【図１】ストレージ・ボリュームのペアの概略図である。
【図２】ｆｌａｓｈｃｏｐｙカスケードの概略図である。
【図３】ストレージ・ボリュームの種々の構成の概略図である。
【図４】ストレージ・ボリュームの論理構成の概略図である。
【図５】ストレージ・ボリュームの種々の構成のさらなる概略図である。
【図６】ストレージ・ボリュームの種々の構成のさらなる概略図である。
【発明を実施するための形態】
【００２５】
図１は、ストレージ・コントローラ８、ならびに２つのストレージ・ディスク１０および１２を使用するバックアップ・プロセスの概念を示す。ディスク１０および１２は、より大きなディスクのアレイの一部を構成することができると考えられ、典型的には、企業ストレージ・ソリューションの一部を構成すると考えられる。ディスク１０および１２は、例えば商用ウェブ・サイトに関するストレージ・ソリューションの一部とされ得るであろう。任意の時点で、ｖｄｉｓｋ１のコンテンツからバックアップが作られる必要があれば、ソース・ディスク１０（ｖｄｉｓｋ１）およびさらにｆｌａｓｈｃｏｐｙのターゲットであるターゲット・ディスク１２（ｖｄｉｓｋ２）を定義するｆｌａｓｈｃｏｐｙ命令が、ストレージ・ボリューム・コントローラ８から当該のディスク１０へ送られることが可能である。ｆｌａｓｈｃｏｐｙ命令は、ソース・ディスク１０である特定のｖｄｉｓｋのイメージのポイント・イン・タイム・コピーを作成する。
【００２６】
図１の例では、第１のｆｌａｓｈｃｏｐｙ命令のソース・ディスク１０は、ｖｄｉｓｋ１であり、ターゲット・ディスク１２は、ｖｄｉｓｋ２である。ｆｌａｓｈｃｏｐｙ命令は、ｆｌａｓｈｃｏｐｙプロセスを開始し、ソース・ディスク１０からターゲット・ディスク１２へのマップ１４が作成される。このマップは、図面ではマップ１と標記されている。この特定の時点におけるｖｄｉｓｋ１のイメージは、これ以降ｖｄｉｓｋ２上で利用可能である。これは、ｖｄｉｓｋ１上のデータのバックアップを作成し、さらに、元データが元のソース・ディスク上で保存されているため、それを損失する危険を全く伴わずに、ｖｄｉｓｋ１のデータに対してテストおよび他の管理タスクが実行されることを可能にする。
【００２７】
ｆｌａｓｈｃｏｐｙが作られるとき、マップ１４によって定義されている、２つのディスク１０と１２との間のリンクが作成される。データはこれ以降、バックグラウンドでコピーされることもでき、ｖｄｉｓｋ２（ターゲット・ディスク１２としての）に対する任意のアクセスは、ｖｄｉｓｋ１のイメージの関連性のある部分のコピーを即時に生じさせ、さらに、ディスク１０によって記憶されているイメージに対する変更をもたらすことになるｖｄｉｓｋ１への任意のアクセスも、その変更が加えられる前に、変更されていないデータが即時にターゲット・ディスク１２にコピーされることを生じさせるという、追加の要件を伴う。このように、ｖｄｉｓｋ２は、外のユーザにとっては、ｖｄｉｓｋ１のポイント・イン・タイム・コピーを記憶しているが、データは、上述の状況のもとでしか物理的にコピーされない。
【００２８】
ｆｌａｓｈｃｏｐｙ機能などのバックアップ・プロセスのターゲット・ボリュームであるストレージ・ボリュームは、さらなるバックアップ・プロセスのソース・ボリュームともなり得、これにより、ストレージ・ボリュームのカスケードが作成される。図２には、ｆｌａｓｈｃｏｐｙマップ１４によってリンクされている３つのストレージ・ボリューム１０、１２および１６のｆｌａｓｈｃｏｐｙカスケードの例が示されている。各マップ１４は、ソース・ボリュームからターゲット・ボリュームへのバックアップ・プロセスを定義する。ディスクＢは、ディスクＡのバックアップを提供し、ディスクＣも、ディスクＢを介してディスクＡのバックアップを提供している。種々のストレージ・ボリュームをリンクするｆｌａｓｈｃｏｐｙ機能１４は、個別のストレージ・ボリュームによって記憶されるイメージの別々のポイント・イン・タイム・コピーを作成する、別々の時間に開始されたものでもよく、または同時に開始されたものでもよい。
【００２９】
図２に示されているようにＡ、ＢおよびＣがカスケード内のディスクであり、矢印がｆｌａｓｈｃｏｐｙマップであり、さらに表示（Ａ，Ｂ）がディスクＡからディスクＢへのｆｌａｓｈｃｏｐｙマッピングである、Ａ→Ｂ→Ｃのｆｌａｓｈｃｏｐｙカスケードでは、このカスケードは、マップ（Ａ，Ｂ）および（Ｂ，Ｃ）を有する。カスケードのこの実装では、個別のｆｌａｓｈｃｏｐｙ機能によるディスクＡに対する任意のデータ書き込みはディスクＢに対する書き込みを生じさせるが、これはイメージをディスクＢ上に維持するために必要なことである。ディスクＢに対するこの書き込みは、ディスクＢのさらなるクリーン読み取りを生じさせ、その後にディスクＣへの書き込みが続く。このように、カスケード内の第１のストレージ・ボリューム１０に対する単一の書き込みが、カスケード全体にわたるいくつかの動作をもたらす可能性がある。
【００３０】
カスケードが作成されると、新たなマップおよび新たなストレージ・ボリュームは、カスケードに挿入され、カスケードの終わりには追加されない。図２に示されているカスケードでは、開始された第１のバックアップ・プロセスは、Ａ→Ｃであると考えられる。続いて、バックアップ・プロセスＡ→Ｂが開始されると、新たなターゲット・ストレージ・ボリュームＢが、存在するソース・ストレージ・ボリュームＡと存在するターゲット・ストレージ・ボリュームＣとの間に事実上「挿入」される。この「挿入」は、単に、ターゲット・ディスクＣがディスクＡではなくディスクＢからデータ書き込みを受け取るという事実を示す論理構造である。このように、カスケード式実装は、ディスクＡから２つの独立したマップを備えることになると考えられる従来の構成とは異なる。
【００３１】
種々のストレージ・ボリュームからさらに多くのバックアップ・プロセスが開始されるにつれて、より複雑な構成が作成される。例えば、図３は、４つのディスクＡ、Ｂ、ＣおよびＤを、それらの間の、ソース・ボリュームＡからの３つのＰＩＴマップとともに示す。ストレージ・ボリューム・コントローラ８は、クローンおよびスナップショットが別々の依存関係チェーンまたはカスケードに分けられるようにディスクおよびマップが構成されるよう、動作させられる。例えば、マップ１がクローンとして開始され、続いて、後のある時点で、マップ２がスナップショットとして開始されると仮定する。その結果、ターゲット・イメージを維持するために使用される、結果として生じるグラフ構造は、図３ａに示されているようになると考えられる。この構造は、依存関係グラフである。
【００３２】
図３ａに示されているグラフでは、ディスクＡに対するデータ書き込みは、個別のバックアップ・プロセスのターゲット・ディスク上に当該のイメージを維持するために、ＢもしくはＣまたはその両方に対するコピー・オン・ライトを必要とし得る。ここでストレージ・ボリューム・コントローラ８がマップ３をクローンとして開始すれば、結果として生じる依存関係グラフは、図３ｂに示されているとおりである。カスケードにおいて、新たなディスクおよびそのディスクに対するマップは、常にソース・ディスクＡに隣接して配置されるため、マップ３の新たなターゲット・ディスクＤは、カスケードＡ→Ｄ→Ｂに配置され、２つのマップ３および１はどちらもクローンである。別のカスケードＡ→Ｃでは、マップ２はスナップショットである。
【００３３】
Ａのスナップショットまたはクローンのいずれかとしての、以降のバックアップ・プロセスは、Ａから出る辺の数を増やすことなく、クローンもしくはスナップショットまたはその両方のチェーンの長さを延長するため、Ａに対する任意の書き込みに必要なＩＯの数を増すことはない。図３ｂのグラフは、さらなるスナップショットおよびクローンを含むよう延長可能である。原則として、特定のバックアップ・プロセス・タイプ（クローンまたはスナップショット）のカスケードが存在すれば、ターゲット・ストレージ・ボリュームは、識別されたバックアップ・プロセス・タイプの存在するカスケードに追加され、または識別されたバックアップ・プロセス・タイプのカスケードが存在しなければ、ターゲット・ストレージ・ボリュームおよびソース・ストレージ・ボリュームから成る新たなカスケードが開始される。
【００３４】
図４は、さらなるバックアップＥ、Ｆ、ＧおよびＨが取られた後のストレージ・ボリュームの論理構成を示す。個別のマップ４および５により定義されているバックアップＥおよびＦは、ディスクＤのバックアップを取っている。個別のマップ６および７により定義されているバックアップＧおよびＨは、ディスクＣのバックアップを取っている。図４は、図４に示されている構成を実装するためにストレージ・ボリューム・コントローラ８によってセットアップされるバックアップ・プロセスの実際の構造ではなく、バックアップ・マップの論理構成を示しているにすぎない。図３ｂに示すように、ＡからＤへのマップ３を開始する結果、カスケードＡ→Ｄ→Ｂが作成される。
【００３５】
ここで、マップ４がクローンとして開始され、マップ５がスナップショットとして開始されると仮定すると、バックアップおよびストレージ・ボリュームの、結果として生じる構成は、図５に示されているとおりになる。この図面は実質的に、図３ｂに示されている構成に、マップ４および５によって定義されそれぞれボリュームＥおよびＦに対する、ディスクＤの２つのバックアップを加えたものである。マップ４はクローンであるため、ディスクＢへのマップ１もクローンであることから、これはボリュームＤからＢへのカスケードに配置可能である。最後に開始されたマップは、常にソース・ディスクの最も近くに配置され、この例では、カスケードＤ→Ｅ→Ｂが作成される。
【００３６】
ディスクＡからのマップ３のターゲットであるディスクＤは、マップ４によって定義されたバックアップ・プロセスのソース・ディスクであり、したがって、ディスクＥは、新たなカスケードＤ→Ｅ→Ｂの作成において、ディスクＤに隣接して配置される。一方、マップ５はスナップショットであるため、そのソース・ストレージ・ボリューム（ディスクＤ）に対する新たなカスケードの開始でなければならない。したがって、新たなマップ５は、新たなカスケードＤ→Ｆを定義する。これは、ディスクＤからのスナップショット・バックアップ・プロセスのカスケードである。このように、特定のソース・ディスクから取られたクローンおよびスナップショットが、その特定のソース・ディスクからの同じカスケードに現れることは決してない。
【００３７】
ディスクＦへのマップ５が、ディスクＡ（ディスクＤではなく）のスナップショット・バックアップであった場合は、ディスクＡとＣとの間に配置され、カスケードＡ→Ｆ→Ｃを形成したと考えられる。Ａをソース・ディスクとして有するスナップショット・バックアップ・プロセスは常にこのカスケードに配置され、これは、Ａをソース・ディスクとするクローン・バックアップ・プロセスが別のカスケード（ＡとＤとの間）に配置されるのと同じである。カスケード内の他のディスクからの任意のバックアップ・プロセスは、バックアップ・プロセス・タイプの存在するカスケードに入るか、またはカスケードがまだ存在しなければ新たなカスケードを作成するという、同じ規則に従う。
【００３８】
例えば、マップ６がクローンとして開始され、マップ７がスナップショットとして開始されれば、構成は図６に示されているようになる。これらのバックアップ・プロセスはどちらもディスクＣからであるため、そのストレージ・ボリュームから２つの新たなカスケードが形成される。この例は、マップがスナップショットまたはクローンとして開始されるときに、どのように依存関係グラフが構築されるかを示す。図６のカスケード内の任意のディスクからの任意の新たなバックアップ・プロセスが、同じ形で処理される。将来の任意の時点に任意のディスクから行われる新たなバックアップ・プロセスそれぞれに関して、そのバックアップ・プロセス・タイプのカスケードは既に存在するか、または新たなカスケードが作成される。
【００３９】
複数ターゲットＰＩＴコピーのように、依存関係グラフ内のディスクに対する書き込みは、読み取り、分割書き込み、およびクライアント書き込みをもたらすと考えられる。例えば、上記の依存関係グラフにおけるＢへのクライアント（またはホスト）書き込みは、書き込みが行われる位置に関しＢにより必要とされるデータがＡにあれば、Ａの読み取りを、ＦがＢに依存していれば、Ａから読み取られたデータのＦへの書き込みを、ＥがＢに依存していれば、Ａから読み取られたデータのＥへの書き込みをもたらすと考えられ（第２のアクションと並行して実行可能である）、最後にクライアントがそれ自体をＢに書き込む。これが、必要なＩＯ動作の最大数である。したがって、ＩＯアルゴリズムは、従来の複数ターゲット実装と、複数ターゲット・カスケード式実装との混合であることが分かる。
【００４０】
このソリューションの利点は、ソース・ボリュームのクローンおよびスナップショットが混ざっていないということである。例えば、図６の依存関係グラフにおいてマップ４が停止されると、ストレージ・ボリューム・コントローラ８は、ＥからＤへデータを「クリーニング」する。Ｄもクローンであり、データがそれにコピーされてもよいため、これは問題ではない。スナップショットＦは影響されない。
【００４１】
ターゲットが他のスナップショットおよびクローンのソースである依存関係グラフ内のマップの停止に関して、規則が考慮される必要がある。当業者が取り得る手法は多数ある。この実装では、好適な実施形態を以下に定義する。規則１−スナップショットが停止されると、ターゲット・ディスクのすべてのスナップショットおよびクローンも停止される。規則２−クローンが停止されると、ターゲット・ディスクのすべてのスナップショットも停止される。この手法を取る理由は、スナップショットは常にそのソースに依存し、ソースが破棄されれば、スナップショットにはそれ以上使い道がないためである。
【図１】
2013531840.tif 000005
【図２】
2013531840.tif 000006
【図３】
2013531840.tif 000007
【図４】
2013531840.tif 000008
【図５】
2013531840.tif 000009
【図６】
2013531840.tif 000010
【手続補正書】
【提出日】平成25年4月16日(2013.4.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
バックアップ・プロセスを処理する方法であって、
ソース・ストレージ・ボリュームからターゲット・ストレージ・ボリュームへのバックアップ・プロセスを開始する命令を受けるステップ、
前記ソース・ストレージ・ボリュームの完全なコピーを前記ターゲット・ストレージ・ボリューム上に作る目的の完全バックアップ・プロセス、もしくは前記ソース・ストレージ・ボリューム上の変更されるデータのコピーを前記ターゲット・ストレージ・ボリューム上に作る目的の断片的バックアップ・プロセスのいずれかとして、バックアップ・プロセスのタイプを識別するステップ、および、
前記識別されたバックアップ・プロセス・タイプのカスケードが存在すれば、前記識別されたバックアップ・プロセス・タイプの前記存在するカスケードに前記ターゲット・ストレージ・ボリュームを追加するステップ、または、
前記識別されたバックアップ・プロセス・タイプのカスケードが存在しなければ、前記ソース・ストレージ・ボリュームから前記ターゲット・ストレージ・ボリュームの新たなカスケードを開始するステップ
を含む方法。
【請求項２】
バックアップ・プロセスの前記タイプを、前記ソース・ストレージ・ボリュームの完全なコピーを前記ターゲット・ストレージ・ボリューム上に復元する目的の復元プロセスとして識別するステップと、前記ソース・ストレージ・ボリュームから前記ターゲット・ストレージ・ボリュームの新たなカスケードを開始するステップとをさらに含む、請求項１に記載の方法。
【請求項３】
スナップショットとして識別されたバックアップ・プロセスが停止されるのを検出するステップと、前記検出されたバックアップ・プロセスの前記ターゲット・ストレージ・ボリュームからのすべてのバックアップ・プロセスを停止するステップとをさらに含む、請求項１または２に記載の方法。
【請求項４】
クローンとして識別されたバックアップ・プロセスが停止されるのを検出するステップと、前記検出されたバックアップ・プロセスの前記ターゲット・ストレージ・ボリュームからの、スナップショットとして識別されたすべてのバックアップ・プロセスを停止するステップとをさらに含む、請求項１、２または３に記載の方法。
【請求項５】
複数のストレージ・ボリュームと、前記ストレージ・ボリュームに接続されたストレージ・ボリューム・コントローラとを含み、バックアップ・プロセスを処理するシステムであって、前記ストレージ・ボリューム・コントローラは、
ソース・ストレージ・ボリュームからターゲット・ストレージ・ボリュームへのバックアップ・プロセスを開始する命令を受け、
前記ソース・ストレージ・ボリュームの完全なコピーを前記ターゲット・ストレージ・ボリューム上に作る目的の完全バックアップ・プロセス、もしくは前記ソース・ストレージ・ボリューム上の変更されるデータのコピーを前記ターゲット・ストレージ・ボリューム上に作る目的の断片的バックアップ・プロセスのいずれかとして、バックアップ・プロセスのタイプを識別し、さらに、
前記識別されたバックアップ・プロセス・タイプのカスケードが存在すれば、前記識別されたバックアップ・プロセス・タイプの前記存在するカスケードに前記ターゲット・ストレージ・ボリュームを追加し、または、
前記識別されたバックアップ・プロセス・タイプのカスケードが存在しなければ、前記ソース・ストレージ・ボリュームから前記ターゲット・ストレージ・ボリュームの新たなカスケードを開始するよう構成されている、システム。
【請求項６】
前記ストレージ・ボリューム・コントローラは、バックアップ・プロセスの前記タイプを、前記ソース・ストレージ・ボリュームの完全なコピーを前記ターゲット・ストレージ・ボリューム上に復元する目的の復元プロセスとして識別し、前記ソース・ストレージ・ボリュームから前記ターゲット・ストレージ・ボリュームの新たなカスケードを開始するようさらに構成されている、請求項５に記載のシステム。
【請求項７】
前記ストレージ・ボリューム・コントローラは、スナップショットとして識別されたバックアップ・プロセスが停止されるのを検出し、前記検出されたバックアップ・プロセスの前記ターゲット・ストレージ・ボリュームからのすべてのバックアップ・プロセスを停止するようさらに構成されている、請求項５または６に記載のシステム。
【請求項８】
前記ストレージ・ボリューム・コントローラは、クローンとして識別されたバックアップ・プロセスが停止されるのを検出し、前記検出されたバックアップ・プロセスの前記ターゲット・ストレージ・ボリュームからの、スナップショットとして識別されたすべてのバックアップ・プロセスを停止するようさらに構成されている、請求項５、６または７に記載のシステム。
【請求項９】
バックアップ・プロセスを処理するためのプログラムであって、
ソース・ストレージ・ボリュームからターゲット・ストレージ・ボリュームへのバックアップ・プロセスを開始する命令を受けること、
前記ソース・ストレージ・ボリュームの完全なコピーを前記ターゲット・ストレージ・ボリューム上に作る目的の完全バックアップ・プロセス、もしくは前記ソース・ストレージ・ボリューム上の変更されるデータのコピーを前記ターゲット・ストレージ・ボリューム上に作る目的の断片的バックアップ・プロセスのいずれかとして、バックアップ・プロセスのタイプを識別すること、および、
前記識別されたバックアップ・プロセス・タイプのカスケードが存在すれば、前記識別されたバックアップ・プロセス・タイプの前記存在するカスケードに前記ターゲット・ストレージ・ボリュームを追加すること、または、
前記識別されたバックアップ・プロセス・タイプのカスケードが存在しなければ、前記ソース・ストレージ・ボリュームから前記ターゲット・ストレージ・ボリュームの新たなカスケードを開始すること、
をコンピュータに実行させるプログラム。
【請求項１０】
バックアップ・プロセスの前記タイプを、前記ソース・ストレージ・ボリュームの完全なコピーを前記ターゲット・ストレージ・ボリューム上に復元する目的の復元プロセスとして識別すること、および前記ソース・ストレージ・ボリュームから前記ターゲット・ストレージ・ボリュームの新たなカスケードを開始することをさらに実行させる、請求項９に記載のプログラム。
【請求項１１】
スナップショットとして識別されたバックアップ・プロセスが停止されるのを検出すること、および前記検出されたバックアップ・プロセスの前記ターゲット・ストレージ・ボリュームからのすべてのバックアップ・プロセスを停止することをさらに実行させる、請求項９または１０に記載のプログラム。
【請求項１２】
クローンとして識別されたバックアップ・プロセスが停止されるのを検出すること、および前記検出されたバックアップ・プロセスの前記ターゲット・ストレージ・ボリュームからの、スナップショットとして識別されたすべてのバックアップ・プロセスを停止することを更に実行させる、請求項９、１０または１１に記載のプログラム。
【国際調査報告】
2013531840.tif 000011
2013531840.tif 000012