(58)【調査した分野】(Int.Cl.,DB名)
1次サイトの障害をバックアップ・サイトで回復するのに必要なリソース使用量を示す障害回復容量を決定するための方法を実装するコンピュータ読み取り可能記憶媒体内に具体化されたコンピュータ・プログラムであって、前記1次サイト、前記バックアップ・サイト、または3次サイトのバックグラウンドで実行可能な仮想サーバを提供するシミュレーション・ハイパーバイザをインストールしたコンピュータに、
1次サイトからストリーミング・メトリック・データを受信することであって、前記ストリーミング・メトリック・データは前記1次サイトの現在の生成ワークロードを表す、前記1次サイトで実行中のアプリケーションのリソース使用量を含む、受信すること、
前記メトリック・データをバックアップ・サイトのリソース使用量を示す生成データと統合し、前記バックアップ・サイト上の優先度がより低いアプリケーションを休止状態と想定することにより、前記バックアップ・サイト上の回復イベントにおけるリソース使用量をバックグラウンドでシミュレートすること、および、
前記シミュレートに基づいて、障害プランニングを実行することであって、前記バックアップ・サイトが前記回復イベントを処理するのに充分なリソースを有するかどうかを判定すること、
を実行させ、
前記受信することおよび前記シミュレートすること、それぞれがリアルタイムで実行される、コンピュータ・プログラム。
前記シミュレーション・ハイパーバが、前記1次サイト、前記バックアップ・サイト、または3次サイト上にインストールされる、請求項11に記載のコンピュータ・プログラム。
【発明を実施するための形態】
【0016】
図面は必ずしも一定の縮尺ではない。図面は単なる概略的表現であり、本発明の特定のパラメータを描写することは意図されていない。図面は本発明の典型的な実施形態のみを示すことが意図されているため、本発明の範囲を限定するものとみなされるべきではない。図面内では、同じ番号は同じ要素を表す。
【0017】
上述のように、本発明の態様は、障害回復容量を決定するための手法を提供する。シミュレーション・ハイパーバイザは、1次サイトの現在の生成ワークロードを表すストリーミング・メトリック・データを1次サイトから受信する。メトリック・データは、回復イベントをシミュレートするために、シミュレーション・ハイパーバイザによってバックアップ・サイトの生成データと組み合わされる。シミュレーションからのデータを使用して、障害回復プランニングが実行可能である。
【0018】
図を参照すると、
図1は障害
回復容量を決定するための例示的環境100を示す。この点で、環境100は、障害
回復容量を決定するために本明細書で説明されるプロセスを実行可能なコンピュータ・システム102を含む。特に、コンピュータ・システム102は、本明細書で説明されるプロセスを実行することによって障害
回復容量を決定するようにコンピューティング・デバイス104を動作可能にさせる、障害
回復容量プランニング・プログラム140を含む、コンピューティング・デバイス104を含むように示されている。
【0019】
コンピューティング・デバイス104は、処理構成要素106(たとえば1つまたは複数のプロセッサ)、メモリ110、記憶システム118(たとえば記憶階層)、入力/出力(I/O)インターフェース構成要素114(たとえば1つまたは複数のI/Oインターフェースあるいはデバイスまたはその両方)、および通信経路112を含むように示されている。一般に、処理構成要素106は、少なくとも部分的にメモリ110内に固定された、シミュレーション・ハイパーバイザ142あるいは障害
回復容量プランニング・プログラム140またはその両方などのプログラム・コードを実行する。この点で、処理構成要素106は単一の処理ユニットを備えるか、あるいは、たとえばクライアントおよびサーバ上の1つまたは複数の位置内の1つまたは複数の処理ユニットにまたがって分散されてよい。
【0020】
メモリ110は、プログラム・コードの実際の実行中に利用されるローカル・メモリ、大容量記憶(記憶118)、あるいは、実行中に大容量記憶118から取り出されなければならない回数を減らすために少なくともいくつかのプログラム・コードの一時記憶を提供するキャッシュ・メモリ(図示せず)、またはそれらすべてを含むことも可能である。したがって、メモリ110は、磁気媒体、光媒体、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、データ・キャッシュ、データ・オブジェクトなどを含む、任意のタイプのデータ記憶媒体あるいは伝送媒体またはその両方を備えてよい。さらに、処理構成要素106と同様に、メモリ110は、1つまたは複数のタイプのデータ記憶を備える単一の物理位置に常駐するか、あるいは様々な形で複数の物理システムにまたがって分散されてよい。
【0021】
プログラム・コードを実行する間、処理構成要素106はデータを処理することが可能であり、その結果、変換されたデータをさらに処理するために、メモリ110あるいはI/O構成要素114またはその両方から読み取ること、あるいはそれらに書き込むこと、またはその両方が可能となる。経路112は、コンピュータ・システム102内の構成要素のそれぞれの間に、直接または間接的な通信リンクを提供する。I/O構成要素114は、システム・ユーザ120が任意のタイプの通信リンクを使用してコンピュータ・システム102と通信できるようにするために、ヒューマン・ユーザ120がコンピュータ・システム102あるいは1つまたは複数の通信デバイスまたはその両方と対話できるようにする、1つまたは複数のヒューマンI/Oデバイスを備えることができる。
【0022】
この点で、障害
回復容量プランニング・プログラム140は、たとえば潜在的バックアップ・システム170上の障害
回復容量を決定するために、ヒューマン・ユーザあるいはシステム・ユーザ120またはその両方が障害
回復容量プランニング・プログラム140と対話できるようにする、インターフェース・セット(たとえば、グラフィカル・ユーザ・インターフェース、アプリケーション・プログラム・インターフェース、あるいはその他インターフェース、またはそれらすべてなど)を管理することができる。ユーザ120は、ネットワーク管理者、障害プランナ、あるいは、特に、バックアップ・サイト170が充分な容量を有するかどうかを判定することが必要な他の人物、またはそれらすべてを含むことができる。さらに、障害
回復容量プランニング・プログラム140は、任意のソリューションを使用して、1つまたはいくつかのメトリック・データ152などのデータを管理すること(たとえば記憶、取り出し、作成、操作、編成、提示など)ができる。
【0023】
いずれのイベントにおいても、コンピュータ・システム102は、その上にインストールされた障害
回復容量プランニング・プログラム140などのプログラム・コードを実行することが可能な、1つまたは複数の汎用コンピューティング製品104(たとえばコンピューティング・デバイス)を備えることができる。本明細書で使用される場合、「プログラム・コード」は、情報処理機能を有するコンピューティング・デバイスに、直接的に、あるいは、(a)他の言語、コード、または表記法への変換、(b)異なる材料形式での再生成、あるいは(c)圧縮解除、またはそれらすべての、任意の組み合わせの後の、いずれかに、特定のアクションを実行させる、任意の言語、コード、または表記法での、命令の任意の集合を意味することを理解されよう。この点で、障害
回復容量プランニング・プログラム140は、システム・ソフトウェアあるいはアプリケーション・ソフトウェアまたはその両方の任意の組み合わせとして具体化可能である。いずれのイベントにおいても、コンピュータ・システム102の技術的効果は、障害
回復容量を決定するためにコンピューティング・デバイス104に処理命令を提供することである。
【0024】
さらに、障害
回復容量プランニング・プログラム140は、モジュール144〜148のセットを使用して実装可能である。この場合、モジュール144〜148は、障害
回復容量プランニング・プログラム140によって使用されるタスク・セットをコンピュータ・システム102が実行できるようにすること、および、障害
回復容量プランニング・プログラム140の他の部分とは別に開発あるいは実装またはその両方を実行することが可能である。本明細書で使用される場合、「構成要素」または「要素」という用語は、任意のソリューションを使用してそれらと共に説明される機能を実装する、ソフトウェアを伴うかまたは伴わない任意のハードウェアの構成を意味するが、「モジュール」という用語は、コンピュータ・システム102が任意のソリューションを使用してそれらと共に説明されるアクションを実装できるようにする、プログラム・コードを意味する。モジュールは、処理構成要素106を含むコンピュータ・システム102のメモリ110内に固定される場合、アクションを実装する構成要素のかなりの部分を占める。その如何にかかわらず、2つまたはそれ以上の構成要素、モジュール、あるいはシステム、またはそれらすべては、それらそれぞれのハードウェアあるいはソフトウェアまたはその両方の一部/すべてを共有してよいことを理解されよう。さらに、本明細書で論じられる機能の一部は実装されなくてよいこと、または追加の機能をコンピュータ・システム102の一部として含めてよいことを、理解されよう。
【0025】
コンピュータ・システム102が複数のコンピューティング・デバイス104を備える場合、各コンピューティング・デバイス104は、その上に固定される障害容量プランニング・プログラム140(たとえば1つまたは複数のモジュール144〜148)の一部のみを有することができる。しかしながら、コンピュータ・システム102および障害容量プランニング・プログラム140は、本明細書で説明されるプロセスを実行し得る様々な可能な等価のコンピュータ・システムの単なる代表であることを理解されよう。この点で、他の実施形態では、コンピュータ・システム102および障害容量プランニング・プログラム140によって提供される機能は、プログラム・コードを備えるかまたは備えない汎用ハードウェアあるいは特定用途向けハードウェアまたはその両方の任意の組み合わせを含む1つまたは複数のコンピューティング・デバイスによって、少なくとも部分的に実装可能である。各実施形態では、ハードウェアおよびプログラム・コードが含まれる場合、それらは、それぞれ標準的なエンジニアリング技法およびプログラミング技法を使用して作成可能である。
【0026】
上記の如何にかかわらず、コンピュータ・システム102は複数のコンピューティング・デバイス104を含み、コンピューティング・デバイスは任意のタイプの通信リンクを介して通信可能である。さらに、コンピュータ・システム102は、本明細書で説明されるプロセスを実行しながら、任意のタイプの通信リンクを使用して1つまたは複数の他のコンピュータ・システムと通信可能である。いずれの場合でも、通信リンクは、様々なタイプの有線リンクあるいは無線リンクまたはその両方の任意の組み合わせを備えること、1つまたは複数のタイプのネットワークの任意の組み合わせを備えること、あるいは、様々なタイプの伝送技法およびプロトコルの任意の組み合わせを利用すること、またはそれらすべてのことが可能である。
【0027】
本明細書で論じられるように、障害
回復容量プランニング・プログラム140は、コンピュータ・システム102が障害
回復容量を決定できるようにする。この点で、障害
回復容量プランニング・プログラム140は、メトリック受信モジュール144、回復シミュレーション・モジュール146、および障害
回復容量プランニング・モジュール148を含むように示され、それらのいずれかまたはすべてはシミュレーション・ハイパーバイザ142によって実行可能である。シミュレーション・ハイパーバイザ142は、1次サイト180、バックアップ・サイト170、あるいは3次サイト、またはそれらすべての
バックグラウンドで実行可能な、仮想サーバを提供する。これによってシミュレーション・ハイパーバイザ142は、バックアップ・サイト170あるいは1次サイト180またはその両方で実行中であってよい他のアプリケーション174、184の動作に影響を与えることなく、その機能を実行することができる。この点で、シミュレーション・ハイパーバイザ142は、仮想サーバに対するハイパーバイザとして、サイト上の既存の物理記憶内に直接インストール可能である。別の方法では、シミュレーション・ハイパーバイザ142は、サイト上に物理的にインストールされる、それ自体の物理記憶に存在可能である。
【0028】
次に
図2を参照すると、本発明の実施形態に従った、シミュレーション・ハイパーバイザ212のインストレーション200が示されている。図に示されるように、インストレーション用のサーバ202が選択される。サーバ202は、バックアップ・サイト170(
図1)、1次サイト180、または3次サイトとすることができる。いずれの場合でも、サーバ202は、バックアップ・サービスが不要である間に、生成環境などにおいてアプリケーションを実行するために使用可能な、内部にインストールされたいくつかの構成要素206を有することができる。加えて、サーバ202は、構成要素を受け入れることが可能なインターフェース208を含む。インターフェース208は、サーバ環境において、記憶あるいは処理構成要素またはその両方にプラグインするために使用されるインターフェース(たとえば、ピザ・ボックス(pizza boxes)と呼ばれるプラグ可能構成要素)などの、標準インターフェースとすることができる。別の方法では、インターフェース208は、具体的に特定の構成要素に適合可能である。いずれの場合でも、ハードウェア構成要素214は、具体的にシミュレーション・ハイパーバイザ212を実行するように構成可能である。この点で、ハードウェア構成要素214は、シミュレーション・ハイパーバイザ212を実行するために必要とされる場合、1つまたは複数のプロセッサ、メモリ、記憶システムなどを含むことができる。したがって、ある実施形態では、ハードウェア構成要素214は、シミュレーション・ハイパーバイザ212を動作させるために必要なその通常の機能を実行するためにバックアップ・サイト202が使用するリソースの使用率を最小限にすることが可能である。いずれの場合でも、シミュレーション・ハイパーバイザ212がインストールされたハードウェア構成要素214は、インターフェース208を介してサーバ202上にインストール可能である。
【0029】
次に
図3を参照すると、本発明の実施形態に従った、地理的に分散されたネットワーク302が示されている。図に示されるように、地理的に分散されたネットワーク300は、いくつかの別個の領域304、314、および324を含む。これら領域304、314、324のそれぞれは、特定の地理的指定(都市、地域、国、陸塊、大陸など)を表すことができる。したがって、たとえば領域304は日本の一部またはすべてを含むことが可能であり、領域314および324はそれぞれ米国内の地域とすることが可能である。この点で、領域304、314、324のうちの1つまたは複数は、他の領域304、314、324のうちのいずれかまたはすべてから地理的に離れているものとすることができる。いずれの場合でも、図に示されるように、各領域304、314、324のそれぞれは、1つまたは複数のサーバ306a、306b、316、326a、326bを有するように示される。図に示されるように、サーバ306aおよび316は、具体的にシミュレーション・ハイパーバイザ212(
図2)を実行するように構成されているハードウェア構成要素214と同様に、それぞれインストールされたハードウェア構成要素308、318を有する。このハードウェア構成要素308、318は、サーバ306aおよび316が、各接続に専用のコネクタを必要とすることなく、ネットワーク経路302を介して互いに直接通信できるようにする。これに対してサーバ306bは、サーバ306aと同じ領域304内に示されているが、具体的にシミュレーション・ハイパーバイザ212(
図2)を実行するように構成されたハードウェア構成要素214である必要はなく、これを有する必要がない。このため、サーバ306bは、専用コネクタに接続された経路に沿って、サーバ306aに接続するように示されている。さらにこれに対して、サーバ326aおよび326bは、中央制御ポイント322により、ネットワーク経路302を介して他のサーバに接続される。図に示されるように、中央制御ポイント322は、ソフトウェアとしてインストールされたシミュレーション・ハイパーバイザ328を有するように示されている。しかしながら、シミュレーション・ハイパーバイザ328は、中央制御ポイント322上に物理的にインストールされたハードウェア構成要素214(
図2)内にもインストール可能であることを理解されたい。加えてまたは別の方法において、さらにシミュレーション・ハイパーバイザは、サーバ326a、326bのうちの1つまたは両方にインストール可能である。
【0030】
図1に戻って参照すると、メトリック受信モジュール144は、コンピュータ・システム102によって実行される場合、1次サイトからストリーミング・メトリック・データ152を受信することができる。たとえば、バックアップ・サイト170に配置されたシミュレーション・ハイパーバイザ142は、ネットワーク経路302などを介して1次サイト180上のハイパーバイザ・モジュール182と通信するように構成可能であり、1次サイト180上のハイパーバイザ・モジュール182は、ストリーミング・メトリック・データ152をバックアップ・サイト170上のシミュレーション・ハイパーバイザ142に転送することができる。ある実施形態では、ストリーミング・メトリック・データ152を受信するシミュレーション・ハイパーバイザ142は、バックアップ・サイト170の代わりに、またはそれに加えて、3次サイト上に配置することができる。ある実施形態では、シミュレーション・ハイパーバイザ142は、1次サイトそれ自体上に配置可能であり、ストリーミング・メトリック・データ152をローカルに収集可能である。このストリーミング・メトリック・データ152は、1次サイト180の現在の生成ワークロードを表すことができる。しかしながら、
ストリーミング・メトリック・データ152が、1次サイト180上で実行されているあらゆるトランザクション、動作などを含む必要はない。むしろ
ストリーミング・メトリック・データ152は、1次サイトから収集された統計的表現のみを含むことができる。このように収集された
ストリーミング・メトリック・データ152は、完全な動作データを転送するために必要となるリソースの一部のみを使用して、1次サイトの動作の正確な表現を提供することができる。したがって、サーバ170によって受信されるストリーミング・メトリック・データ152は、1次サイトのワークロードの表現をリアルタイムに提供することができる。
【0031】
次に
図4を参照すると、本発明の実施形態に従った、ストリーミング・メトリック・データの受信を示すデータ・フロー400が示されている。図に示されるように、データ・フロー400は1次サイト402を含む。1次サイト402は、その上で実行しているいくつかの生成アプリケーション406を有する。加えて1次サイト402は、ハイパーバイザ・モジュール404を有する。図には潜在的バックアップ・サイト412も示されている。バックアップ・サイト412は、その上で実行しているいくつかの生成アプリケーション416ならびにシミュレーション・ハイパーバイザ414も有する。この点で、バックアップ・サイト412は、障害回復サービスにバックアップ・サイト412が必要でない場合、その生成アプリケーション416を実行する生成サイトとしても動作可能である。図に示されるように、1次サイト402からのメトリック・データ420A〜Nのストリーム
、すなわちストリーミング・メトリック・データは、バックアップ・サイト412によって受信されている。たとえば1次サイト402上のハイパーバイザ・モジュール404は、生成アプリケーション406の進行中の実行に関するメトリック・データ420A〜Nを収集することができる。このメトリック・データ420A〜Nは、サーバ特有の監視機能に基づいて収集されること、サーバに対して実行されるログ結果または機能から取得されること、あるいは、サーバ環境についてのメトリック・データを収集するために現在知られているかまたは後に開発されるエージェントあるいは任意の他のソリューションまたはその両方によって収集されること、またはそれらすべてのことが、可能である。いずれの場合でも、メトリック・データ420A〜Nは、1次サイト402上の生成アプリケーション406によって生成される現在の生成ワークロードの表現を提供する。このメトリック・データ420A〜Nは、バックアップ・サイト412のシミュレーション・ハイパーバイザ414によって受信されることになる1次サイト402のハイパーバイザ・モジュール404によって通信されることが可能である。したがって、メトリック・データ420A〜Nのストリームは、1次サイト402の現在の生成ワークロードのリアルタイムな表現を搬送することができる。このメトリック・データ420A〜Nは、1次サイト402からバックアップ・サイト412へ、その2つがそれらそれぞれの生成アプリケーション406、416を実行中に、その実行を中断させることなく、送信されることが可能である。
【0032】
次に
図5を参照すると、本発明の実施形態に従った、例示のメトリック・データ500が示されている。図に示されるように、メトリック・データ500は、1次サイト402(
図4)上で実行されているアプリケーション502のリストを含む。1次サイト402(
図4)上で実行されているすべてのアプリケーション502が含まれる必要のないことを理解されたい。むしろ、ある実施形態では、バックアップを必要とするアプリケーションのみなどの、1次サイト402(
図4)上で実行されているプロセスのサブセットが含まれることが可能である。さらにある実施形態では、メトリック・データ500は、1次サイト402(
図4)上のアプリケーションのいくつかまたはすべての集約を含むことができる。メトリック・データ500は、メトリクス504のセットも含む。図に示されるように、メトリクス504は、優先度、スレッド、プロセッサ使用量、キャッシュ・ヒット、メモリ使用量などに関するデータを含むことができる。このリストは単なる例示のためであることを理解されたい。むしろ、上記リスト内の上記リストされたフィールドのいずれも省略可能であるか、あるいは他のフィールドを含むことが可能であり、またはその両方が可能である。さらに、本明細書ではメトリック・データ500は表形式で示されているが、この形式は限定的とみなされるべきではない。
【0033】
次に
図6を参照すると、本発明の実施形態に従った、メトリック・データの例示のグラフ
図600が示されている。図に示されるように、グラフ
図600はプロット線602を含む。プロット線602は、時間間隔606にわたるリソースの使用量604を示す。単なる例示のために、プロット線602は、バックアップが望ましい1次サイト402(
図4)上のアプリケーション406に関する集約リソース使用量を表す。
【0034】
図1に戻って参照すると、回復シミュレーション・モジュール146は、コンピュータ・システム102によって実行される場合、バックアップ・サイト170上の回復イベントをシミュレートする。これは、シミュレーション・ハイパーバイザ142によって実行可能である。シミュレーション・ハイパーバイザ142は、インストールされているかどうかにかかわらずこのシミュレーションを実行可能である。ある実施形態では、シミュレーション・ハイパーバイザ142は、バックアップ・サイト170の背景で実行しているシミュレーションを実行可能である。別の方法として、シミュレーションは、1次サイト180上または3次サイト上でも実行可能である。いずれの場合でも、回復イベントは、生成サイト402(
図4)から受信されるメトリック・データ152をバックアップ・サイト170からの生成データと組み合わせることによって、シミュレート可能である。シミュレーションが1次サイト180上または3次サイト上で実行される場合、シミュレーション・ハイパーバイザ142は、組み合わせを実行するために、バックアップ・サイト170などに配置されたハイパーバイザ・モジュール172などを介し、任意のソリューションを使用して、バックアップ・サイト170から生成データを取得することができる。メトリック・データ152あるいは生成データまたはその両方が1次サイト180あるいはバックアップ・サイト170またはその両方からのストリームで受信されていることから、このシミュレーションはリアルタイムで実行可能である。別の方法では、メトリック・データ152または生成データのうちの1つまたは複数を、後にシミュレーションを実行するために、記憶システム118内などに記憶することおよび再生することが可能である。
【0035】
次に
図1と共に
図7を参照すると、本発明の実施形態に従った、潜在的バックアップ・サイト170での生成データの例示のグラフ
図700が示されている。図に示されるように、グラフ
図700はいくつかのプロット線702(プロセス1、プロセス2、プロセス3、プロセス4、プロセス5)の集約を含み、それぞれがバックアップ・サイト170上の生成アプリケーション174を表す。グラフ
図600内のプロット線602(
図6)と同様に、プロット線702は、時間間隔706にわたるリソースの使用量704を示す。各プロット線702は、その下のプロット線と集約されたアプリケーションを表す。単なる例示のために、プロット線702のそれぞれは、バックアップ・サイト416(
図4)上のアプリケーション406に関する集約リソース使用量を表す。
【0036】
次に
図8を参照すると、本発明の実施形態に従った、回復イベントのシミュレーション800が示されている。図に示されるように、シミュレーション800はバックアップ・サイト802上で実行されるが、シミュレーション800は1次サイト180(
図1)または3次サイト上でも実行可能であることを理解されたい。図に示されるように、バックアップ・サイト802はアプリケーション806a〜fのセットを含む。加えてバックアップ・サイト802は、回復シミュレーション810を実行するシミュレーション・ハイパーバイザ804を含む。回復シミュレーション810は、メトリック・データ808Nとバックアップ・サイト802上のアプリケーション806a〜fからの生成データ(たとえば
図7)を組み合わせることによって、実行される。この点で、回復シミュレーション810は、メトリック・データ808Nと生成データとの組み合わせのバックアップ・サイト表現812を生成することができる。図に示されるように、バックアップ・サイト表現812は、バックアップ・サイト802内のアプリケーション806a〜fに対応するアプリケーション表現816a〜fを含む。アプリケーション表現816bが縮小された表現を有することに留意されたい。この縮小された表現は、優先度がより低いアプリケーションであるものと指定されたバックアップ・サイト802上のアプリケーション806a〜fを表す。この優先度がより低いアプリケーションは、バックアップ・サイト表現812内で回復イベント中に休止状態であるものと想定されている。加えて、回復表現812は、メトリック・データ808Nに対応するバックアップ表現818を含む。このバックアップ表現818は、回復表現内で実行されているアプリケーション806a〜fに加えられたものとして示されていることに留意されたい。
【0037】
次に
図9を参照すると、本発明の実施形態に従った、回復イベントのシミュレーションの例示のグラフ
図900が示されている。図に示されるように、グラフ
図900はいくつかの集約プロット線902を含む。グラフ
図600内のプロット線602(
図6)およびグラフ
図700内のプロット線702(
図7)と同様に、プロット線902は、時間間隔906にわたるリソースの使用量904を示す。各プロット線902は、その下のプロット線902と集約されたプロセスを表す。これらのプロット線902は、バックアップ・サイト802(
図8)からのプロセス1、プロセス3、プロセス4、およびプロセス5のプロット線を含む。プロセス2がシミュレーションに関して休止状態にあるものと想定されている事実により、プロット線902はプロセス2の影響を受けないことに留意されたい。プロット線902には、バックアップ・サイト802(
図8)に対応する生成データと集約された、1次サイト402(
図4)から受信されるメトリック・データ420A〜Nからのプロット線602(
図6)に対応する、1次プロット線も含まれる。単なる例示のために、グラフ
図900内のプロット線904の集約は、現在の生成環境が障害回復環境に変換されなければならない場合に使用されることになる、バックアップ・サイト802(
図8)上のリソース量を表す。
【0038】
再度
図1を参照すると、障害プランニング・モジュール148は、コンピュータ・システム102によって実行される場合、回復シミュレーション・モジュール146によって実行されるシミュレーションに基づいて障害プランニングを実行する。この障害プランニングは、バックアップ・サイト202(
図2)が障害回復イベントを処理するのに充分なリソースを有するかどうかを判定するために、シミュレーションを使用することができる。さらにこの障害プランニングは、追加の1次サイト402(
図4)からの障害回復のための特定のバックアップ・サイト202(
図2)上で、余分なリソースを利用できるかどうかを判別することができる。加えて、これらの結果は、中央位置で結果を集約することなどによって、他のバックアップ・サイト802(
図2)上で実行されたシミュレーションからの結果と組み合わせることができる。この組み合わせを使用して、「生成ワークロード」ネットワークに対して容量プランニングを実行することが可能であり、さらに「範囲内の構成要素」を一部または全部使用して、データ・センター全体または重要であるとみなされるすべての部分をフェイルオーバすることができる。さらに、シミュレーションが、1次サイト402(
図4)およびバックアップ・サイト802(
図8)の両方からのデータをリアルタイムで使用して、バックアップ・サイト802(
図8)上で実行される場合、その結果は、バックアップ・サイト802(
図8)のハードウェア自体、すなわちバックアップ・サイト802(
図8)上で回復イベントを実行するために使用される厳密なハイパーバイザ、および障害回復に含まれる必要があるアプリケーションの、両方を考慮に入れることができる。加えて、シミュレーションがメトリック・データ808(
図8)を使用して背景で実行されるという事実により、シミュレーションがバックアップ・サイト802(
図8)の通常の生成環境に与えることになる影響を最小限にする。
【0039】
障害回復のための1つのソリューション(本願の所有者が所有する米国特許出願第12/955483号、整理番号第END920100186US1に記載)は、DR用に仮想化された容量を使用する。このソリューションでは、充分な使用可能キャパシティおよびワークロードの重要性を有するとみなされるライブ・サイトが、DRサイトとして選択される。DRイベントの場合、障害が発生したサイトからの生成ワークロード用に追加のヘッドルーム(head−room)を作るために、DRサイト上の重要でないワークロードをクラッシュさせることができる。
【0040】
次に
図10を参照すると、本発明の実施形態に従った、例示の流れ
図950が示されている。
図1と共に
図10を参照すると、図に示されるように、S1において、メトリック受信モジュール144は、コンピュータ・システム102によって実行される場合、シミュレーション・ハイパーバイザ142で1次サイト402(
図4)からのストリーミング・メトリック・データ152を受信する。シミュレーション・ハイパーバイザ142は、1次サイト180上、バックアップ・サイト170上、あるいは1次サイト180およびバックアップ・サイト170から分離された3次サイト上、またはそれらすべての上で、シミュレーション・ハイパーバイザ142を実行するように具体的に構成されたハードウェア構成要素214(
図2)上に、インストール可能である。このストリーミング・メトリック・データ152は、1次サイト402(
図4)の現在の生成ワークロードを表す。このストリーミング・メトリック・データ152は、1次サイト180上のハイパーバイザ・モジュール182から受信可能である。S2において、回復シミュレーション・モジュール146は、コンピュータ・システム102によって実行される場合、回復イベントをシミュレートする。この回復イベントは、メトリック・データ152とバックアップ・サイト170の生成データ(アプリケーション174)とを組み合わせることによって、シミュレート可能である。このシミュレーションは、バックアップ・サイト170の背景でリアルタイムに実行可能である。S3において、障害プランニング・モジュール148は、コンピュータ・システム102によって実行される場合、シミュレートに基づいて障害プランニングを実行する。この障害プランニングは、障害回復イベントの場合に、特定のバックアップ・サイト170が充分なリソースを有すること、充分なリソースを有さないこと、または余分なリソースを有することを、判定することを含み得る。この判定に基づき、リソースを追加すること、あるいは、バックアップ・データをバックアップ・サイトに再割り振りするかまたはバックアップ・サイトから切り離すこと、またはその両方が実行可能である。さらに、容量プランニングも実行可能である。
【0041】
本明細書では、障害
回復容量を決定するための方法およびシステムとして図示および説明されているが、本発明の態様は、様々な代替実施形態をさらに提供することを理解されよう。たとえば一実施形態では、本発明は、実行された場合、コンピュータ・システムが障害
回復容量を決定できるようにする、少なくとも1つのコンピュータ読み取り可能媒体内に固定されるコンピュータ・プログラムを提供する。この点で、コンピュータ読み取り可能媒体は、本明細書で説明されるプロセスの一部またはすべてを実装する、障害
回復容量プランニング・プログラム140(
図1)などのプログラム・コードを含む。「コンピュータ読み取り可能媒体」という用語は、プログラム・コードのコピーがコンピューティング・デバイスによってそこから知覚、再生成、あるいは通信されることが可能な、現在知られているかまたは後に開発される表現の任意のタイプの有形媒体のうちの1つまたは複数を含むことを理解されよう。たとえばコンピュータ読み取り可能媒体は、1つまたは複数のポータブル記憶製品、コンピューティング・デバイスの1つまたは複数のメモリ/記憶構成要素、用紙、あるいはその他、またはそれらすべてを含むことができる。
【0042】
他の実施形態では、本発明は、本明細書で説明されるプロセスの一部またはすべてを実装する、障害容量プランニング・プログラム140(
図1)などのプログラム・コードのコピーを提供する方法を提供する。この場合、コンピュータ・システムは、その特徴セットのうちの1つまたは複数を有する、あるいは、データ信号のセット内にプログラム・コードのコピーを符号化するように変更された、またはその両方の、データ信号のセットを、第2の別個の位置での受信用に生成および伝送するために、本明細書で説明されるプロセスの一部またはすべてを実装する、プログラム・コードのコピーを処理することができる。同様に、本発明の実施形態は、コンピュータ・システムが、本明細書で説明されるデータ信号のセットを受信すること、および、このデータ信号のセットを少なくとも1つのコンピュータ読み取り可能媒体内に固定されたコンピュータ・プログラムのコピーに変換することを含む、本明細書で説明されるプロセスの一部またはすべてを実装する、プログラム・コードのコピーを取得する方法を提供する。いずれの場合でも、データ信号のセットは、任意のタイプの通信リンクを使用して送信/受信することができる。
【0043】
さらに他の実施形態では、本発明は障害
回復容量を決定するためのシステムを生成する方法を提供する。この場合、コンピュータ・システム102(
図1)などのコンピュータ・システムが取得(たとえば作成、維持、使用可能化など)可能であり、本明細書で説明されるプロセスを実行するための1つまたは複数の構成要素が取得(たとえば作成、購入、使用、修正など)およびコンピュータ・システムに対して配置可能である。この点で、配置は、(1)コンピューティング・デバイス上へのプログラム・コードのインストール、(2)1つまたは複数のコンピューティング・デバイスあるいはI/Oデバイスまたはその両方のコンピュータ・システムへの追加、(3)本明細書で説明されるプロセスを実行できるようにするためのコンピュータ・システムの組み込みあるいは修正またはその両方、あるいはその他、またはそれらすべてのうちの、1つまたは複数を含むことができる。
【0044】
他の実施形態では、本発明は、加入、広告、あるいは料金、またはそれらすべてに基づいて、本発明のプロセスを実行する方法を提供する。すなわち、Solution Integratorなどのサービス・プロバイダが、障害
回復容量の決定を提供することを申し出ることができる。この場合、サービス・プロバイダは、1人または複数の顧客に対して本発明のプロセスを実行するコンピュータ・インフラストラクチャ102(
図1)などのコンピュータ・インフラストラクチャを、作成、維持、およびサポートすることなどが可能である。その見返りとして、サービス・プロバイダは、加入あるいは料金契約またはその両方の下で顧客から支払いを受け取ることが可能である、あるいは、サービス・プロバイダは、1つまたは複数の第三者に対する広告コンテンツの販売から支払いを受け取ることが可能である、またはその両方が可能である。
【0045】
「第1」、「第2」などの用語は、本明細書ではいかなる順序、量、または重要性も示さず、むしろ要素を互いに区別するために使用されるものであって、「a」および「an」という用語は量の限定を示さず、むしろ少なくとも1つの参照アイテムの存在を示すものである。量に関連して使用される「およそ」という修飾子は、示された値を含むものであり、コンテキスト(たとえば、特定の量の測定値に関連付けられる誤差の程度を含む)によって決められる意味を有する。本明細書で使用される接尾語「(s)」は、それが修飾する用語の単数および複数の両方を含むこと、およびそれによって、その用語の1つまたは複数を含むことが意図される(たとえば、metal(s)は、1つまたは複数のmetalを含む)。本明細書で開示される領域は、包含的および独立に組み合わせ可能である(たとえば、「およそ25wt%まで、またはより具体的にはおよそ5wt%からおよそ20wt%まで」は、「およそ5wt%からおよそ25wt%まで」などの領域のエンドポイントおよびすべての中間値を含む、など)。
【0046】
本発明の様々な態様の前述の記述は、例示および説明のために提示されてきた。本発明を網羅することまたは開示された精密な形に限定することは意図されておらず、明らかに多くの修正および変形が可能である。当業者にとって明らかなように、こうした修正および変形は添付の特許請求の範囲によって定義される本発明の範囲内に含まれる。