JP2014093080A - 仮想化シミュレーション・エンジンのための方法、システム、およびコンピュータ・プログラム - Google Patents

仮想化シミュレーション・エンジンのための方法、システム、およびコンピュータ・プログラム Download PDF

Info

Publication number
JP2014093080A
JP2014093080A JP2013202118A JP2013202118A JP2014093080A JP 2014093080 A JP2014093080 A JP 2014093080A JP 2013202118 A JP2013202118 A JP 2013202118A JP 2013202118 A JP2013202118 A JP 2013202118A JP 2014093080 A JP2014093080 A JP 2014093080A
Authority
JP
Japan
Prior art keywords
simulation
site
hypervisor
metric data
backup
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013202118A
Other languages
English (en)
Other versions
JP6548352B2 (ja
Inventor
Bartholomy Erik
エリック・バーソロミー
G Greenlee Gordan
ゴーダン・ジー・グリーンリー
Joseph Giordano Frank
フランク・ジョセフ・ジョルダノ
Joseph Sheftic Richard
リチャード・ジョセフ・シェフティク
Paul Evans Christopher
クリストファー・ポール・エヴァンス
Walter Novak Paul
ポール・ウォルター・ノヴァク
Lee Walter Victor
ヴィクトール・リー・ウォルター
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2014093080A publication Critical patent/JP2014093080A/ja
Application granted granted Critical
Publication of JP6548352B2 publication Critical patent/JP6548352B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/203Failover techniques using migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/261Functional testing by simulating additional hardware, e.g. fault simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Hardware Redundancy (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】 障害回復容量を決定するための手法を提供する。
【解決手段】 シミュレーション・ハイパーバイザは、1次サイトの現在の生成作業負荷を表すストリーミング・メトリック・データを1次サイトから受信する。メトリック・データは、回復イベントをシミュレートするために、シミュレーション・ハイパーバイザによってバックアップ・サイトの生成データと組み合わされる。シミュレートからのデータを使用して、障害回復プランニングが実行可能である。
【選択図】 図1

Description

本発明の主題は、一般に障害回復に関する。より具体的に言えば、本発明の態様は、障害回復に使用されるサイトを作成するためのソリューションを提供する。
コンピュータ・アプリケーションは、そのユーザがあるタスクまたはいくつかの関連タスクを実行する際の一助となる、いくつかのコンピュータ・ソフトウェアである。現代の電子環境において、これらのアプリケーションはしばしば、何人かのユーザがアクセスできるような形で提供される。これを実施するために、アプリケーションのプロバイダは、ローカル・エリア・ネットワークまたはインターネットなどのワイド・エリア・ネットワークなどのネットワークを介してアクセス可能な特定の位置から、アプリケーションをホストする場合がある。
アプリケーションをホストする際、プロバイダは通常、ユーザが連続的にアプリケーションを利用できる状態を達成することを望む。しかしながら、時折、可用性が中断される場合があるという問題が生じる。たとえば、1次ホスト・サイトで、地震、火災などの壊滅的な障害が発生する可能性がある。別の方法では、マシンが、アプリケーションの実行を停止させるハードウェアあるいはソフトウェアまたはその両方の誤動作を体験する場合がある。あるいは、ホストとネットワークとの間の通信が失われ、結果としてユーザがアプリケーションにアクセスできなくなる場合もある。これらのイベントが発生した場合、プロバイダはしばしば障害回復を実行し、ユーザに対してアプリケーション容量を復元する。
現在、プロバイダはいくつかの方法で障害回復に備えることができる。多くの会社は、1次サイトがライブおよびアクティブであり、背景でライブでない1つまたは複数の障害回復サーバを複製する、アクティブ/休止ソリューションを選択する。障害回復(DR)イベントの間、トラフィックは障害回復サイトへとフェイルオーバし、以前の休止サーバは全ワークロードを想定する。
米国特許出願第12/955483号
出願人は、DRに使用されることになる他のサーバにワークロード予想を投影する際に問題があることを発見した。たとえば、理論的に考えれば、仮想化された容量ソリューションにおいて、ワークロードを縮小・再拡大させるために必要な仮想化ロジックが、DRサイトにおける仮想化ハイパーバイザにどのように影響を与えることになるかを知ることは、困難な可能性がある。これは、DRサイトに対するリソースの誤った割り振りにつながる可能性がある。たとえば、特定のサイトに割り振られるDRベースのワークロードが少なすぎる場合、結果として必要以上に多くのハードウェアがインストールされることになる可能性がある。他方で、リソースのオーバーコミットメント(over−commitment)がある場合、これらのリソースにはDRイベントの間タイムリーにアクセスできない可能性がある。
一般に、本発明の態様は、障害回復容量を決定するための手法を提供する。シミュレーション・ハイパーバイザは、1次サイトの現行の生成ワークロードを表すストリーミング・メトリック・データを、1次サイトから受信する。メトリック・データは、回復イベントをシミュレートするために、シミュレーション・ハイパーバイザによってバックアップ・サイトの生成データと組み合わされる。メトリック・データは、回復イベントをシミュレートするためにシミュレーション・ハイパーバイザによってバックアップ・サイトの生成データと組み合わされる。シミュレーションからのデータを使用して、障害回復プランニングが実行可能である。
本発明の第1の態様は、シミュレーション・ハイパーバイザによって1次サイトからストリーミング・メトリック・データを受信することであって、ストリーミング・メトリック・データは1次サイトの現在の生成ワークロードを表す、受信すること、メトリック・データをバックアップ・サイトの生成データと組み合わせることにより、シミュレーション・ハイパーバイザによってバックアップ・サイト上の回復イベントをシミュレートすること、および、シミュレートに基づいて障害プランニングを実行することを含む、障害回復容量を決定するための方法を提供する。
本発明の第2の態様は、その上にシミュレーション・ハイパーバイザをインストールしているコンピュータ・デバイスを備える、障害回復容量を決定するためのシステムを提供し、シミュレーション・ハイパーバイザは、シミュレーション・ハイパーバイザによって1次サイトからストリーミング・メトリック・データを受信することであって、ストリーミング・メトリック・データは1次サイトの現在の生成ワークロードを表す、受信すること、メトリック・データをバックアップ・サイトの生成データと組み合わせることにより、シミュレーション・ハイパーバイザによってバックアップ・サイト上の回復イベントをシミュレートすること、および、シミュレートに基づいて障害プランニングを実行することを含む、方法を実行する。
本発明の第3の態様は、障害回復容量を決定するための方法を実装するコンピュータ読み取り可能記憶媒体内に具体化されたコンピュータ・プログラム製品を提供し、方法は、シミュレーション・ハイパーバイザによって1次サイトからストリーミング・メトリック・データを受信することであって、ストリーミング・メトリック・データは1次サイトの現在の生成ワークロードを表す、受信すること、メトリック・データをバックアップ・サイトの生成データと組み合わせることにより、シミュレーション・ハイパーバイザによってバックアップ・サイト上の回復イベントをシミュレートすること、および、シミュレートに基づいて障害プランニングを実行することを含む。
本発明の第4の態様は、シミュレーション・ハイパーバイザによって1次サイトからストリーミング・メトリック・データを受信することであって、ストリーミング・メトリック・データは1次サイトの現在の生成ワークロードを表す、受信すること、メトリック・データをバックアップ・サイトの生成データと組み合わせることにより、シミュレーション・ハイパーバイザによってバックアップ・サイト上の回復イベントをシミュレートすること、および、シミュレートに基づいて障害プランニングを実行することを、実行するように動作可能なコンピュータ・システムを提供することを含む、障害回復容量を決定するためのシステムを配置するための方法を提供する。
さらに、障害回復容量を決定することを提案するサービス・プロバイダによって、本発明のいずれかの構成要素を、配置、管理、処理することなどが可能である。
本発明の実施形態は、関連するシステム、方法、あるいはプログラム製品またはそれらすべても提供する。
本発明のこれらおよび他の特徴は、添付の図面と共に本発明の様々な態様の以下の詳細な説明から、より容易に理解されよう。
本発明の実施形態を実装するために好適なデータ処理システムを示す図である。 本発明の実施形態に従った、シミュレーション・ハイパーバイザを示す図である。 本発明の実施形態に従った、例示の地理的に分散されたネットワークを示す図である。 本発明の実施形態に従った、ストリーミング・メトリック・データの受信を示す図である。 本発明の実施形態に従った、例示のメトリック・データを示す図である。 本発明の実施形態に従った、1次サイトからのメトリック・データを示す例示のグラフ図である。 本発明の実施形態に従った、潜在的バックアップ・サイトでの生成データを示す例示のグラフ図である。 本発明の実施形態に従った、バックアップ・サイトで実行される回復イベントのシミュレーションを示す図である。 本発明の実施形態に従った、回復イベントのシミュレーションを示す例示のグラフ図である。 本発明の実施形態に従った、例示の流れ図である。
図面は必ずしも一定の縮尺ではない。図面は単なる概略的表現であり、本発明の特定のパラメータを描写することは意図されていない。図面は本発明の典型的な実施形態のみを示すことが意図されているため、本発明の範囲を限定するものとみなされるべきではない。図面内では、同じ番号は同じ要素を表す。
上述のように、本発明の態様は、障害回復容量を決定するための手法を提供する。シミュレーション・ハイパーバイザは、1次サイトの現在の生成ワークロードを表すストリーミング・メトリック・データを1次サイトから受信する。メトリック・データは、回復イベントをシミュレートするために、シミュレーション・ハイパーバイザによってバックアップ・サイトの生成データと組み合わされる。シミュレーションからのデータを使用して、障害回復プランニングが実行可能である。
図を参照すると、図1は障害容量を決定するための例示的環境100を示す。この点で、環境100は、障害容量を決定するために本明細書で説明されるプロセスを実行可能なコンピュータ・システム102を含む。特に、コンピュータ・システム102は、本明細書で説明されるプロセスを実行することによって障害容量を決定するようにコンピューティング・デバイス104を動作可能にさせる、障害容量プランニング・プログラム140を含む、コンピューティング・デバイス104を含むように示されている。
コンピューティング・デバイス104は、処理構成要素106(たとえば1つまたは複数のプロセッサ)、メモリ110、記憶システム118(たとえば記憶階層)、入力/出力(I/O)インターフェース構成要素114(たとえば1つまたは複数のI/Oインターフェースあるいはデバイスまたはその両方)、および通信経路112を含むように示されている。一般に、処理構成要素106は、少なくとも部分的にメモリ110内に固定された、シミュレーション・ハイパーバイザ142あるいは障害容量プランニング・プログラム140またはその両方などのプログラム・コードを実行する。この点で、処理構成要素106は単一の処理ユニットを備えるか、あるいは、たとえばクライアントおよびサーバ上の1つまたは複数の位置内の1つまたは複数の処理ユニットにまたがって分散されてよい。
メモリ110は、プログラム・コードの実際の実行中に利用されるローカル・メモリ、大容量記憶(記憶118)、あるいは、実行中に大容量記憶118から取り出されなければならない回数を減らすために少なくともいくつかのプログラム・コードの一時記憶を提供するキャッシュ・メモリ(図示せず)、またはそれらすべてを含むことも可能である。したがって、メモリ110は、磁気媒体、光媒体、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、データ・キャッシュ、データ・オブジェクトなどを含む、任意のタイプのデータ記憶媒体あるいは伝送媒体またはその両方を備えてよい。さらに、処理構成要素106と同様に、メモリ110は、1つまたは複数のタイプのデータ記憶を備える単一の物理位置に常駐するか、あるいは様々な形で複数の物理システムにまたがって分散されてよい。
プログラム・コードを実行する間、処理構成要素106はデータを処理することが可能であり、その結果、変換されたデータをさらに処理するために、メモリ110あるいはI/O構成要素114またはその両方から読み取ること、あるいはそれらに書き込むこと、またはその両方が可能となる。経路112は、コンピュータ・システム102内の構成要素のそれぞれの間に、直接または間接的な通信リンクを提供する。I/O構成要素114は、システム・ユーザ120が任意のタイプの通信リンクを使用してコンピュータ・システム102と通信できるようにするために、ヒューマン・ユーザ120がコンピュータ・システム102あるいは1つまたは複数の通信デバイスまたはその両方と対話できるようにする、1つまたは複数のヒューマンI/Oデバイスを備えることができる。
この点で、障害容量プランニング・プログラム140は、たとえば潜在的バックアップ・システム170上の障害容量を決定するために、ヒューマン・ユーザあるいはシステム・ユーザ120またはその両方が障害容量プランニング・プログラム140と対話できるようにする、インターフェース・セット(たとえば、グラフィカル・ユーザ・インターフェース、アプリケーション・プログラム・インターフェース、あるいはその他インターフェース、またはそれらすべてなど)を管理することができる。ユーザ120は、ネットワーク管理者、障害プランナ、あるいは、特に、バックアップ・サイト170が充分な容量を有するかどうかを判定することが必要な他の人物、またはそれらすべてを含むことができる。さらに、障害容量プランニング・プログラム140は、任意のソリューションを使用して、1つまたはいくつかのメトリック・データ152などのデータを管理すること(たとえば記憶、取り出し、作成、操作、編成、提示など)ができる。
いずれのイベントにおいても、コンピュータ・システム102は、その上にインストールされた障害容量プランニング・プログラム140などのプログラム・コードを実行することが可能な、1つまたは複数の汎用コンピューティング製品104(たとえばコンピューティング・デバイス)を備えることができる。本明細書で使用される場合、「プログラム・コード」は、情報処理機能を有するコンピューティング・デバイスに、直接的に、あるいは、(a)他の言語、コード、または表記法への変換、(b)異なる材料形式での再生成、あるいは(c)圧縮解除、またはそれらすべての、任意の組み合わせの後の、いずれかに、特定のアクションを実行させる、任意の言語、コード、または表記法での、命令の任意の集合を意味することを理解されよう。この点で、障害容量プランニング・プログラム140は、システム・ソフトウェアあるいはアプリケーション・ソフトウェアまたはその両方の任意の組み合わせとして具体化可能である。いずれのイベントにおいても、コンピュータ・システム102の技術的効果は、障害容量を決定するためにコンピューティング・デバイス104に処理命令を提供することである。
さらに、障害容量プランニング・プログラム140は、モジュール144〜148のセットを使用して実装可能である。この場合、モジュール144〜148は、障害容量プランニング・プログラム140によって使用されるタスク・セットをコンピュータ・システム102が実行できるようにすること、および、障害容量プランニング・プログラム140の他の部分とは別に開発あるいは実装またはその両方を実行することが可能である。本明細書で使用される場合、「構成要素」または「要素」という用語は、任意のソリューションを使用してそれらと共に説明される機能を実装する、ソフトウェアを伴うかまたは伴わない任意のハードウェアの構成を意味するが、「モジュール」という用語は、コンピュータ・システム102が任意のソリューションを使用してそれらと共に説明されるアクションを実装できるようにする、プログラム・コードを意味する。モジュールは、処理構成要素106を含むコンピュータ・システム102のメモリ110内に固定される場合、アクションを実装する構成要素のかなりの部分を占める。その如何にかかわらず、2つまたはそれ以上の構成要素、モジュール、あるいはシステム、またはそれらすべては、それらそれぞれのハードウェアあるいはソフトウェアまたはその両方の一部/すべてを共有してよいことを理解されよう。さらに、本明細書で論じられる機能の一部は実装されなくてよいこと、または追加の機能をコンピュータ・システム102の一部として含めてよいことを、理解されよう。
コンピュータ・システム102が複数のコンピューティング・デバイス104を備える場合、各コンピューティング・デバイス104は、その上に固定される障害容量プランニング・プログラム140(たとえば1つまたは複数のモジュール144〜148)の一部のみを有することができる。しかしながら、コンピュータ・システム102および障害容量プランニング・プログラム140は、本明細書で説明されるプロセスを実行し得る様々な可能な等価のコンピュータ・システムの単なる代表であることを理解されよう。この点で、他の実施形態では、コンピュータ・システム102および障害容量プランニング・プログラム140によって提供される機能は、プログラム・コードを備えるかまたは備えない汎用ハードウェアあるいは特定用途向けハードウェアまたはその両方の任意の組み合わせを含む1つまたは複数のコンピューティング・デバイスによって、少なくとも部分的に実装可能である。各実施形態では、ハードウェアおよびプログラム・コードが含まれる場合、それらは、それぞれ標準的なエンジニアリング技法およびプログラミング技法を使用して作成可能である。
上記の如何にかかわらず、コンピュータ・システム102は複数のコンピューティング・デバイス104を含み、コンピューティング・デバイスは任意のタイプの通信リンクを介して通信可能である。さらに、コンピュータ・システム102は、本明細書で説明されるプロセスを実行しながら、任意のタイプの通信リンクを使用して1つまたは複数の他のコンピュータ・システムと通信可能である。いずれの場合でも、通信リンクは、様々なタイプの有線リンクあるいは無線リンクまたはその両方の任意の組み合わせを備えること、1つまたは複数のタイプのネットワークの任意の組み合わせを備えること、あるいは、様々なタイプの伝送技法およびプロトコルの任意の組み合わせを利用すること、またはそれらすべてのことが可能である。
本明細書で論じられるように、障害容量プランニング・プログラム140は、コンピュータ・システム102が障害容量を決定できるようにする。この点で、障害容量プランニング・プログラム140は、メトリック受信モジュール144、回復シミュレーション・モジュール146、および障害容量プランニング・モジュール148を含むように示され、それらのいずれかまたはすべてはシミュレーション・ハイパーバイザ142によって実行可能である。シミュレーション・ハイパーバイザ142は、1次サイト180、バックアップ・サイト170、あるいは3次サイト、またはそれらすべての背景で実行可能な、仮想サーバを提供する。これによってシミュレーション・ハイパーバイザ142は、バックアップ・サイト170あるいは1次サイト180またはその両方で実行中であってよい他のアプリケーション174、184の動作に影響を与えることなく、その機能を実行することができる。この点で、シミュレーション・ハイパーバイザ142は、仮想サーバに対するハイパーバイザとして、サイト上の既存の物理記憶内に直接インストール可能である。別の方法では、シミュレーション・ハイパーバイザ142は、サイト上に物理的にインストールされる、それ自体の物理記憶に存在可能である。
次に図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上にインストール可能である。
次に図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つまたは両方にインストール可能である。
図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次サイトのワークロードの表現をリアルタイムに提供することができる。
次に図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を実行中に、その実行を中断させることなく、送信されることが可能である。
次に図5を参照すると、本発明の実施形態に従った、例示のメトリック・データ500が示されている。図に示されるように、メトリック・データ500は、1次サイト402(図4)上で実行されているアプリケーション502のリストを含む。1次サイト402(図4)上で実行されているすべてのアプリケーション502が含まれる必要のないことを理解されたい。むしろ、ある実施形態では、バックアップを必要とするアプリケーションのみなどの、1次サイト402(図4)上で実行されているプロセスのサブセットが含まれることが可能である。さらにある実施形態では、メトリック・データ500は、1次サイト402(図4)上のアプリケーションのいくつかまたはすべての集約を含むことができる。メトリック・データ500は、メトリクス504のセットも含む。図に示されるように、メトリクス504は、優先度、スレッド、プロセッサ使用量、キャッシュ・ヒット、メモリ使用量などに関するデータを含むことができる。このリストは単なる例示のためであることを理解されたい。むしろ、上記リスト内の上記リストされたフィールドのいずれも省略可能であるか、あるいは他のフィールドを含むことが可能であり、またはその両方が可能である。さらに、本明細書ではメトリック・データ500は表形式で示されているが、この形式は限定的とみなされるべきではない。
次に図6を参照すると、本発明の実施形態に従った、メトリック・データの例示のグラフ図600が示されている。図に示されるように、グラフ図600はプロット線602を含む。プロット線602は、時間間隔606にわたるリソースの使用量604を示す。単なる例示のために、プロット線602は、バックアップが望ましい1次サイト402(図4)上のアプリケーション406に関する集約リソース使用量を表す。
図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内などに記憶することおよび再生することが可能である。
次に図1と共に図7を参照すると、本発明の実施形態に従った、潜在的バックアップ・サイト170での生成データの例示のグラフ図700が示されている。図に示されるように、グラフ図700はいくつかのプロット線702(プロセス1、プロセス2、プロセス3、プロセス4、プロセス5)の集約を含み、それぞれがバックアップ・サイト170上の生成アプリケーション174を表す。グラフ図600内のプロット線602(図6)と同様に、プロット線702は、時間間隔706にわたるリソースの使用量704を示す。各プロット線702は、その下のプロット線と集約されたアプリケーションを表す。単なる例示のために、プロット線702のそれぞれは、バックアップ・サイト416(図4)上のアプリケーション406に関する集約リソース使用量を表す。
次に図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に加えられたものとして示されていることに留意されたい。
次に図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)上のリソース量を表す。
再度図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)の通常の生成環境に与えることになる影響を最小限にする。
障害回復のための1つのソリューション(本願の所有者が所有する米国特許出願第12/955483号、整理番号第END920100186US1に記載)は、DR用に仮想化された容量を使用する。このソリューションでは、充分な使用可能キャパシティおよびワークロードの重要性を有するとみなされるライブ・サイトが、DRサイトとして選択される。DRイベントの場合、障害が発生したサイトからの生成ワークロード用に追加のヘッドルーム(head−room)を作るために、DRサイト上の重要でないワークロードをクラッシュさせることができる。
次に図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が充分なリソースを有すること、充分なリソースを有さないこと、または余分なリソースを有することを、判定することを含み得る。この判定に基づき、リソースを追加すること、あるいは、バックアップ・データをバックアップ・サイトに再割り振りするかまたはバックアップ・サイトから切り離すこと、またはその両方が実行可能である。さらに、容量プランニングも実行可能である。
本明細書では、障害容量を決定するための方法およびシステムとして図示および説明されているが、本発明の態様は、様々な代替実施形態をさらに提供することを理解されよう。たとえば一実施形態では、本発明は、実行された場合、コンピュータ・システムが障害容量を決定できるようにする、少なくとも1つのコンピュータ読み取り可能媒体内に固定されるコンピュータ・プログラムを提供する。この点で、コンピュータ読み取り可能媒体は、本明細書で説明されるプロセスの一部またはすべてを実装する、障害容量プランニング・プログラム140(図1)などのプログラム・コードを含む。「コンピュータ読み取り可能媒体」という用語は、プログラム・コードのコピーがコンピューティング・デバイスによってそこから知覚、再生成、あるいは通信されることが可能な、現在知られているかまたは後に開発される表現の任意のタイプの有形媒体のうちの1つまたは複数を含むことを理解されよう。たとえばコンピュータ読み取り可能媒体は、1つまたは複数のポータブル記憶製品、コンピューティング・デバイスの1つまたは複数のメモリ/記憶構成要素、用紙、あるいはその他、またはそれらすべてを含むことができる。
他の実施形態では、本発明は、本明細書で説明されるプロセスの一部またはすべてを実装する、障害容量プランニング・プログラム140(図1)などのプログラム・コードのコピーを提供する方法を提供する。この場合、コンピュータ・システムは、その特徴セットのうちの1つまたは複数を有する、あるいは、データ信号のセット内にプログラム・コードのコピーを符号化するように変更された、またはその両方の、データ信号のセットを、第2の別個の位置での受信用に生成および伝送するために、本明細書で説明されるプロセスの一部またはすべてを実装する、プログラム・コードのコピーを処理することができる。同様に、本発明の実施形態は、コンピュータ・システムが、本明細書で説明されるデータ信号のセットを受信すること、および、このデータ信号のセットを少なくとも1つのコンピュータ読み取り可能媒体内に固定されたコンピュータ・プログラムのコピーに変換することを含む、本明細書で説明されるプロセスの一部またはすべてを実装する、プログラム・コードのコピーを取得する方法を提供する。いずれの場合でも、データ信号のセットは、任意のタイプの通信リンクを使用して送信/受信することができる。
さらに他の実施形態では、本発明は障害容量を決定するためのシステムを生成する方法を提供する。この場合、コンピュータ・システム102(図1)などのコンピュータ・システムが取得(たとえば作成、維持、使用可能化など)可能であり、本明細書で説明されるプロセスを実行するための1つまたは複数の構成要素が取得(たとえば作成、購入、使用、修正など)およびコンピュータ・システムに対して配置可能である。この点で、配置は、(1)コンピューティング・デバイス上へのプログラム・コードのインストール、(2)1つまたは複数のコンピューティング・デバイスあるいはI/Oデバイスまたはその両方のコンピュータ・システムへの追加、(3)本明細書で説明されるプロセスを実行できるようにするためのコンピュータ・システムの組み込みあるいは修正またはその両方、あるいはその他、またはそれらすべてのうちの、1つまたは複数を含むことができる。
他の実施形態では、本発明は、加入、広告、あるいは料金、またはそれらすべてに基づいて、本発明のプロセスを実行する方法を提供する。すなわち、Solution Integratorなどのサービス・プロバイダが、障害容量の決定を提供することを申し出ることができる。この場合、サービス・プロバイダは、1人または複数の顧客に対して本発明のプロセスを実行するコンピュータ・インフラストラクチャ102(図1)などのコンピュータ・インフラストラクチャを、作成、維持、およびサポートすることなどが可能である。その見返りとして、サービス・プロバイダは、加入あるいは料金契約またはその両方の下で顧客から支払いを受け取ることが可能である、あるいは、サービス・プロバイダは、1つまたは複数の第三者に対する広告コンテンツの販売から支払いを受け取ることが可能である、またはその両方が可能である。
「第1」、「第2」などの用語は、本明細書ではいかなる順序、量、または重要性も示さず、むしろ要素を互いに区別するために使用されるものであって、「a」および「an」という用語は量の限定を示さず、むしろ少なくとも1つの参照アイテムの存在を示すものである。量に関連して使用される「およそ」という修飾子は、示された値を含むものであり、コンテキスト(たとえば、特定の量の測定値に関連付けられる誤差の程度を含む)によって決められる意味を有する。本明細書で使用される接尾語「(s)」は、それが修飾する用語の単数および複数の両方を含むこと、およびそれによって、その用語の1つまたは複数を含むことが意図される(たとえば、metal(s)は、1つまたは複数のmetalを含む)。本明細書で開示される領域は、包含的および独立に組み合わせ可能である(たとえば、「およそ25wt%まで、またはより具体的にはおよそ5wt%からおよそ20wt%まで」は、「およそ5wt%からおよそ25wt%まで」などの領域のエンドポイントおよびすべての中間値を含む、など)。
本発明の様々な態様の前述の記述は、例示および説明のために提示されてきた。本発明を網羅することまたは開示された精密な形に限定することは意図されておらず、明らかに多くの修正および変形が可能である。当業者にとって明らかなように、こうした修正および変形は添付の特許請求の範囲によって定義される本発明の範囲内に含まれる。
100 例示的環境
102 コンピュータ・システム
104 コンピューティング・デバイス
106 処理構成要素
110 メモリ
112 通信経路
114 I/O構成要素
118 記憶システム
120 ユーザ
140 障害容量プランニング・プログラム
142 シミュレーション・ハイパーバイザ
144 メトリック受信モジュール
146 回復シミュレーション・モジュール
148 障害容量プランニング・モジュール
152 メトリック・データ
170 バックアップ・サイト
174 アプリケーション
180 1次サイト
182 ハイパーバイザ・モジュール
184 アプリケーション

Claims (25)

  1. シミュレーション・ハイパーバイザによって1次サイトからストリーミング・メトリック・データを受信することであって、前記ストリーミング・メトリック・データは前記1次サイトの現在の生成ワークロードを表す、受信すること、
    前記メトリック・データをバックアップ・サイトの生成データと組み合わせることにより、前記シミュレーション・ハイパーバイザによって前記バックアップ・サイト上の回復イベントをシミュレートすること、および、
    前記シミュレートに基づいて障害プランニングを実行すること、
    を含む、障害回復容量を決定するための方法。
  2. 前記受信することおよび前記シミュレートすることがリアルタイムで実行される、請求項1に記載の方法。
  3. 前記ストリーミング・メトリック・データが、前記1次サイト上のハイパーバイザ・モジュールから受信される、請求項1に記載の方法。
  4. 前記1次サイトおよび前記バックアップ・サイトが地理的に離れている、請求項1に記載の方法。
  5. 前記シミュレートに基づいて容量プランニングを実行することをさらに含む、請求項1に記載の方法。
  6. 前記シミュレートすることが、
    前記1次サイト上のアプリケーションを優先度がより低いアプリケーションとして指定すること、および、
    前記シミュレートを実行する場合、前記優先度がより低いアプリケーションに関して休止状態と想定すること、
    をさらに含む、請求項1に記載の方法。
  7. 前記シミュレーション・ハイパーバイザを実行するようにハードウェア構成要素を構成すること、および、
    前記ハードウェア構成要素をサイト上にインストールすること、
    をさらに含む、請求項1に記載の方法。
  8. シミュレーション・ハイパーバイザをバックアップ・サイト上にインストールすることをさらに含み、
    前記シミュレーションが前記バックアップ・サイトの背景で実行される、
    請求項1に記載の方法。
  9. その上にシミュレーション・ハイパーバイザをインストールしているコンピュータ・デバイスを備え、前記シミュレーション・ハイパーバイザが、
    前記シミュレーション・ハイパーバイザによって1次サイトからストリーミング・メトリック・データを受信することであって、前記ストリーミング・メトリック・データは前記1次サイトの現在の生成ワークロードを表す、受信すること、
    前記メトリック・データをバックアップ・サイトの生成データと組み合わせることにより、前記シミュレーション・ハイパーバイザによって前記バックアップ・サイト上の回復イベントをシミュレートすること、および、
    前記シミュレートに基づいて障害プランニングを実行すること、
    を含む方法を実行する、障害回復容量を決定するためのシステム。
  10. 前記受信することおよび前記シミュレートすることがリアルタイムで実行される、請求項9に記載のシステム。
  11. 前記ストリーミング・メトリック・データが、前記1次サイト上のハイパーバイザ・モジュールから受信される、請求項9に記載のシステム。
  12. 前記1次サイトおよび前記バックアップ・サイトが地理的に離れている、請求項9に記載のシステム。
  13. 前記方法が、前記シミュレートに基づいて容量プランニングを実行することをさらに含む、請求項9に記載のシステム。
  14. 前記シミュレートすることが、
    前記1次サイト上のアプリケーションを優先度がより低いアプリケーションとして指定すること、および、
    前記シミュレートを実行する場合、前記優先度がより低いアプリケーションに関して休止状態と想定すること、
    をさらに含む、請求項9に記載のシステム。
  15. 前記シミュレーション・ハイパーバイザを実行するようにハードウェア構成要素を構成すること、および、
    前記ハードウェア構成要素をサイト上にインストールすること、
    をさらに含む、請求項9に記載のシステム。
  16. 前記コンピュータ・デバイスが前記バックアップ・サイトであり、
    前記シミュレーションが前記バックアップ・サイトの背景で実行される、
    請求項9に記載のシステム。
  17. 障害回復容量を決定するための方法を実装するコンピュータ読み取り可能記憶媒体内に具体化されたコンピュータ・プログラムであって、前記方法が、
    シミュレーション・ハイパーバイザによって1次サイトからストリーミング・メトリック・データを受信することであって、前記ストリーミング・メトリック・データは前記1次サイトの現在の生成ワークロードを表す、受信すること、
    前記メトリック・データをバックアップ・サイトの生成データと組み合わせることにより、前記シミュレーション・ハイパーバイザによって前記バックアップ・サイト上の回復イベントをシミュレートすること、および、
    前記シミュレートに基づいて障害プランニングを実行すること、
    を含む、コンピュータ・プログラム。
  18. 前記受信することおよび前記シミュレートすることがリアルタイムで実行される、請求項17に記載のコンピュータ・プログラム。
  19. 前記ストリーミング・メトリック・データが、前記1次サイト上のハイパーバイザ・モジュールから受信される、請求項17に記載のコンピュータ・プログラム。
  20. 前記1次サイトおよび前記バックアップ・サイトが地理的に離れている、請求項17に記載のコンピュータ・プログラム。
  21. 前記方法が、前記シミュレートに基づいて容量プランニングを実行することをさらに含む、請求項17に記載のコンピュータ・プログラム。
  22. 前記シミュレートすることが、
    前記1次サイト上のアプリケーションを優先度がより低いアプリケーションとして指定すること、および、
    前記シミュレートを実行する場合、前記優先度がより低いアプリケーションに関して休止状態と想定すること、
    をさらに含む、請求項17に記載のコンピュータ・プログラム。
  23. 前記シミュレーション・ハイパーバイザを実行するようにハードウェア構成要素を構成すること、および、
    前記ハードウェア構成要素をサイト上にインストールすること、
    をさらに含む、請求項17に記載のコンピュータ・プログラム。
  24. 前記方法が、
    シミュレーション・ハイパーバイザをバックアップ・サイト上にインストールすることをさらに含み、
    前記シミュレーションが前記バックアップ・サイトの背景で実行される、
    請求項17に記載のコンピュータ・プログラム。
  25. 障害回復容量を決定するためのシステムを配置するための方法であって、
    シミュレーション・ハイパーバイザによって1次サイトからストリーミング・メトリック・データを受信することであって、前記ストリーミング・メトリック・データは前記1次サイトの現在の生成ワークロードを表す、受信すること、
    前記メトリック・データをバックアップ・サイトの生成データと組み合わせることにより、前記シミュレーション・ハイパーバイザによって前記バックアップ・サイト上の回復イベントをシミュレートすること、および、
    前記シミュレートに基づいて障害プランニングを実行すること
    を、実行するように動作可能なコンピュータ・システムを提供することを含む、方法。
JP2013202118A 2012-10-31 2013-09-27 仮想化シミュレーション・エンジンのための方法、システム、およびコンピュータ・プログラム Active JP6548352B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/665,574 US9104607B2 (en) 2012-10-31 2012-10-31 Simulation engine for use in disaster recovery virtualization
US13/665574 2012-10-31

Publications (2)

Publication Number Publication Date
JP2014093080A true JP2014093080A (ja) 2014-05-19
JP6548352B2 JP6548352B2 (ja) 2019-07-24

Family

ID=50548618

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013202118A Active JP6548352B2 (ja) 2012-10-31 2013-09-27 仮想化シミュレーション・エンジンのための方法、システム、およびコンピュータ・プログラム

Country Status (4)

Country Link
US (2) US9104607B2 (ja)
JP (1) JP6548352B2 (ja)
CN (1) CN103793295B (ja)
TW (1) TW201430760A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11250497B2 (en) * 2018-05-16 2022-02-15 Sap Se Data generation in digital advertising ecosystems

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9424152B1 (en) * 2012-10-17 2016-08-23 Veritas Technologies Llc Techniques for managing a disaster recovery failover policy
US9047248B2 (en) * 2013-01-29 2015-06-02 Sungard Availability Services, Lp Logical domain recovery
US9378230B1 (en) 2013-09-16 2016-06-28 Amazon Technologies, Inc. Ensuring availability of data in a set being uncorrelated over time
US10002058B1 (en) * 2014-11-26 2018-06-19 Intuit Inc. Method and system for providing disaster recovery services using elastic virtual computing resources
WO2016098138A1 (en) * 2014-12-15 2016-06-23 Hitachi, Ltd. Management system and management method for managing computer system
US9971664B2 (en) * 2015-08-27 2018-05-15 Vmware, Inc. Disaster recovery protection based on resource consumption patterns
US10855535B1 (en) * 2015-12-30 2020-12-01 EMC IP Holding Company LLC Method and system for managing virtual datacenters
CA3028995A1 (en) * 2016-06-24 2017-12-28 Schneider Electric Systems Usa, Inc. Methods, systems and apparatus to dynamically facilitate boundaryless, high availability m:n working configuration system management
CN108446207B (zh) * 2017-02-16 2022-09-23 腾讯科技(深圳)有限公司 计算机系统容灾能力评估方法、装置及系统
US10331528B2 (en) * 2017-03-02 2019-06-25 Hewlett Packard Enterprise Development Lp Recovery services for computing systems
US11087042B1 (en) 2017-06-30 2021-08-10 Wells Fargo Bank, N.A. Generation of a simulation plan and performance of a simulation based on the plan

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008033630A (ja) * 2006-07-28 2008-02-14 Toyota Motor Corp マルチcpuシステム
JP2008140123A (ja) * 2006-12-01 2008-06-19 Toshiba Corp 複数プログラムの制御管理方法および制御管理装置
JP2009181249A (ja) * 2008-01-30 2009-08-13 Nec Corp 仮想マシンサーバ装置、仮想マシンシステム及びそれらに用いる仮想マシン分散方法並びにそのプログラム
JP2009193385A (ja) * 2008-02-15 2009-08-27 Nec Corp コンピュータシステム
US20090235265A1 (en) * 2008-03-12 2009-09-17 International Business Machines Corporation Method and system for cost avoidance in virtualized computing environments
JP2009277011A (ja) * 2008-05-14 2009-11-26 Ricoh Co Ltd 使用量予測システム、使用量予測方法及び使用量予測プログラム
WO2010140183A1 (ja) * 2009-06-01 2010-12-09 富士通株式会社 サーバ管理プログラム、管理サーバ、仮想サーバ配置方法
WO2011022098A1 (en) * 2009-08-18 2011-02-24 International Business Machines Corporation Decentralized load distribution to reduce power and/or cooling cost in an event-driven system
US20110161851A1 (en) * 2009-12-31 2011-06-30 International Business Machines Corporation Visualization and consolidation of virtual machines in a virtualized data center
WO2011087982A1 (en) * 2010-01-12 2011-07-21 Amazon Technologies, Inc. Managing private use of program execution capacity
US20110289345A1 (en) * 2010-05-18 2011-11-24 Vmware, Inc. Method and system for enabling checkpointing fault tolerance across remote virtual machines
JP2012150657A (ja) * 2011-01-19 2012-08-09 Mitsubishi Electric Corp 計算機システム

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5917997A (en) 1996-12-06 1999-06-29 International Business Machines Corporation Host identity takeover using virtual internet protocol (IP) addressing
US6108300A (en) 1997-05-02 2000-08-22 Cisco Technology, Inc Method and apparatus for transparently providing a failover network device
CA2380762A1 (en) 2002-04-04 2003-10-04 Intrinsyc Software, Inc. Internet-enabled device provisioning, upgrade and recovery mechanism
US7379990B2 (en) 2002-08-12 2008-05-27 Tsao Sheng Ted Tai Distributed virtual SAN
US7139926B1 (en) 2002-08-30 2006-11-21 Lucent Technologies Inc. Stateful failover protection among routers that provide load sharing using network address translation (LSNAT)
US7178059B2 (en) 2003-05-07 2007-02-13 Egenera, Inc. Disaster recovery for processing resources using configurable deployment platform
US7451208B1 (en) 2003-06-28 2008-11-11 Cisco Technology, Inc. Systems and methods for network address failover
US7383405B2 (en) * 2004-06-30 2008-06-03 Microsoft Corporation Systems and methods for voluntary migration of a virtual machine between hosts with common storage connectivity
ATE414949T1 (de) * 2004-08-12 2008-12-15 Telecom Italia Spa System, verfahren und einrichtung zum aktualisieren eines datensatzes durch ein kommunikationsnetz
US7818615B2 (en) 2004-09-16 2010-10-19 Invensys Systems, Inc. Runtime failure management of redundantly deployed hosts of a supervisory process control data acquisition facility
US7551614B2 (en) 2004-12-14 2009-06-23 Hewlett-Packard Development Company, L.P. Aggregation over multiple processing nodes of network resources each providing offloaded connections between applications over a network
US7730486B2 (en) * 2005-02-28 2010-06-01 Hewlett-Packard Development Company, L.P. System and method for migrating virtual machines on cluster systems
US7509535B1 (en) 2005-09-29 2009-03-24 Emc Corporation System and method for managing failover in a data storage environment
US7577868B2 (en) 2005-09-30 2009-08-18 Lockheed Martin Corporation No data loss IT disaster recovery over extended distances
US7933987B2 (en) 2005-09-30 2011-04-26 Lockheed Martin Corporation Application of virtual servers to high availability and disaster recovery solutions
JP4993913B2 (ja) 2006-01-13 2012-08-08 株式会社日立製作所 記憶制御装置及びそのデータ管理方法
US7613749B2 (en) 2006-04-12 2009-11-03 International Business Machines Corporation System and method for application fault tolerance and recovery using topologically remotely located computing devices
JP5068056B2 (ja) 2006-10-11 2012-11-07 株式会社日立製作所 障害回復方法、計算機システム及び管理サーバ
US8095929B1 (en) * 2007-04-16 2012-01-10 Vmware, Inc. Method and system for determining a cost-benefit metric for potential virtual machine migrations
US7861111B2 (en) 2007-06-15 2010-12-28 Savvis, Inc. Shared data center disaster recovery systems and methods
CN101330643B (zh) 2007-07-30 2012-07-18 中兴通讯股份有限公司 实现共享公共用户标识的用户设备业务配置的方法
US9258360B2 (en) 2007-11-07 2016-02-09 International Business Machines Corporation Intelligent disaster recovery for database connection failures
JP5074290B2 (ja) 2008-05-13 2012-11-14 株式会社日立国際電気 冗長切替システム、冗長管理装置およびアプリケーション処理装置
US8301593B2 (en) 2008-06-12 2012-10-30 Gravic, Inc. Mixed mode synchronous and asynchronous replication system
US9049576B2 (en) 2008-12-23 2015-06-02 Bce Inc. Methods and systems for enabling end-user equipment at an end-user premise to effect communications having certain destinations when an ability of the end-user equipment to communicate via a communication link connecting the end-user equipment to a communications network is disrupted
CN101924988A (zh) 2009-06-12 2010-12-22 中兴通讯股份有限公司 一种基站收发信台、基站系统及其开通方法
US8261268B1 (en) * 2009-08-05 2012-09-04 Netapp, Inc. System and method for dynamic allocation of virtual machines in a virtual server environment
US9081613B2 (en) 2010-11-02 2015-07-14 International Business Machines Corporation Unified resource manager providing a single point of control
US8413146B1 (en) * 2010-11-05 2013-04-02 Symantec Corporation Hypervisor assisted single instance data access by multiple virtual machines
US8762339B2 (en) * 2010-11-29 2014-06-24 International Business Machines Corporation Disaster recovery utilizing collapsible virtualized capacity
EP2656594B1 (en) 2010-12-20 2015-08-26 Citrix Systems Inc. Systems and methods for implementing connection mirroring in a multi-core system
CN102130834B (zh) 2011-03-15 2014-04-02 杭州华三通信技术有限公司 一种ip路由方法和路由器
US8490091B2 (en) * 2011-03-28 2013-07-16 International Business Machines Corporation Virtual machine placement to improve memory utilization
US9223634B2 (en) * 2012-05-02 2015-12-29 Cisco Technology, Inc. System and method for simulating virtual machine migration in a network environment
US9015530B2 (en) * 2012-06-26 2015-04-21 Phani Chiruvolu Reliably testing virtual machine failover using differencing disks

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008033630A (ja) * 2006-07-28 2008-02-14 Toyota Motor Corp マルチcpuシステム
JP2008140123A (ja) * 2006-12-01 2008-06-19 Toshiba Corp 複数プログラムの制御管理方法および制御管理装置
JP2009181249A (ja) * 2008-01-30 2009-08-13 Nec Corp 仮想マシンサーバ装置、仮想マシンシステム及びそれらに用いる仮想マシン分散方法並びにそのプログラム
JP2009193385A (ja) * 2008-02-15 2009-08-27 Nec Corp コンピュータシステム
US20090235265A1 (en) * 2008-03-12 2009-09-17 International Business Machines Corporation Method and system for cost avoidance in virtualized computing environments
JP2009277011A (ja) * 2008-05-14 2009-11-26 Ricoh Co Ltd 使用量予測システム、使用量予測方法及び使用量予測プログラム
WO2010140183A1 (ja) * 2009-06-01 2010-12-09 富士通株式会社 サーバ管理プログラム、管理サーバ、仮想サーバ配置方法
WO2011022098A1 (en) * 2009-08-18 2011-02-24 International Business Machines Corporation Decentralized load distribution to reduce power and/or cooling cost in an event-driven system
US20110161851A1 (en) * 2009-12-31 2011-06-30 International Business Machines Corporation Visualization and consolidation of virtual machines in a virtualized data center
WO2011087982A1 (en) * 2010-01-12 2011-07-21 Amazon Technologies, Inc. Managing private use of program execution capacity
US20110289345A1 (en) * 2010-05-18 2011-11-24 Vmware, Inc. Method and system for enabling checkpointing fault tolerance across remote virtual machines
JP2012150657A (ja) * 2011-01-19 2012-08-09 Mitsubishi Electric Corp 計算機システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11250497B2 (en) * 2018-05-16 2022-02-15 Sap Se Data generation in digital advertising ecosystems

Also Published As

Publication number Publication date
JP6548352B2 (ja) 2019-07-24
US20140122926A1 (en) 2014-05-01
TW201430760A (zh) 2014-08-01
CN103793295B (zh) 2017-01-11
US9471447B2 (en) 2016-10-18
US20150261629A1 (en) 2015-09-17
CN103793295A (zh) 2014-05-14
US9104607B2 (en) 2015-08-11

Similar Documents

Publication Publication Date Title
JP6548352B2 (ja) 仮想化シミュレーション・エンジンのための方法、システム、およびコンピュータ・プログラム
US10291476B1 (en) Method and apparatus for automatically deploying applications in a multi-cloud networking system
Jhawar et al. Fault tolerance management in cloud computing: A system-level perspective
US8762339B2 (en) Disaster recovery utilizing collapsible virtualized capacity
US9215153B2 (en) Providing status information for virtual resource computing environment
Saikia et al. Fault tolerance techniques and algorithms in cloud computing
US10419553B2 (en) Dynamic docker pool recycling
US10263856B2 (en) Dynamic highlight
Brandón et al. Fmone: A flexible monitoring solution at the edge
CN107729138B (zh) 一种高性能分布式矢量空间数据的分析方法和装置
Kim et al. Enabling Digital Earth simulation models using cloud computing or grid computing–two approaches supporting high-performance GIS simulation frameworks
Suciu et al. A solution for implementing resilience in open source Cloud platforms
Caminero et al. Extending gridsim with an architecture for failure detection
Proko et al. Analysis and strategy for the performance testing in cloud computing
Benali et al. Evaluation of traffic-aware VM placement policies in distributed cloud using cloudsim
Biran et al. Federated cloud computing as system of systems
Zhou et al. FTCloudSim: support for cloud service reliability enhancement simulation
US20140095718A1 (en) Maximizing resources in a multi-application processing environment
Xu et al. Modelling cloud service latency and availability using a deep learning strategy
Hernández et al. Using cloud-based resources to improve availability and reliability in a scientific workflow execution framework
Henning Prototype of a scalable monitoring infrastructure for Industrial DevOps
Almasi et al. Toward building highly available and scalable OpenStack clouds
Lê-Quôc et al. The top 5 AWS EC2 performance problems
Melekhova et al. Cloud and Grid Part I: Difference and Convergence
Das et al. Live migration of containers in the edge

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170328

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170627

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20171128

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180328

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20180404

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20180608

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190204

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190625

R150 Certificate of patent or registration of utility model

Ref document number: 6548352

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150