JP6289452B2 - 多層構成アプリケーションの災害復旧のためのシステム及び方法 - Google Patents

多層構成アプリケーションの災害復旧のためのシステム及び方法 Download PDF

Info

Publication number
JP6289452B2
JP6289452B2 JP2015515124A JP2015515124A JP6289452B2 JP 6289452 B2 JP6289452 B2 JP 6289452B2 JP 2015515124 A JP2015515124 A JP 2015515124A JP 2015515124 A JP2015515124 A JP 2015515124A JP 6289452 B2 JP6289452 B2 JP 6289452B2
Authority
JP
Japan
Prior art keywords
application
site
layer
disaster recovery
identifying
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.)
Expired - Fee Related
Application number
JP2015515124A
Other languages
English (en)
Other versions
JP2015523644A (ja
Inventor
ガライ・デバシッシュ
ガワリ・アシッシュ
Original Assignee
ベリタス テクノロジーズ エルエルシー
ベリタス テクノロジーズ エルエルシー
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 ベリタス テクノロジーズ エルエルシー, ベリタス テクノロジーズ エルエルシー filed Critical ベリタス テクノロジーズ エルエルシー
Publication of JP2015523644A publication Critical patent/JP2015523644A/ja
Application granted granted Critical
Publication of JP6289452B2 publication Critical patent/JP6289452B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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/2038Error 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 with a single idle spare processing component

Landscapes

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

Description

多層構成アプリケーションは、組み合わせてサービスを提供し得る、独立して実行可能な構成要素を含む。組織は、組織が各構成要素の実行環境を別個に設定することができるため、柔軟性、拡張性、安全性、及び/又は可用性の増加のために、多層構成アプリケーションを使用し得る。例えば、組織は、別個のクラスタ上で多層構成アプリケーションの各構成要素を実行し、多層構成アプリケーションの対応する構成要素の要件に従って、各クラスタをプロビジョニングすることができる。一部の場合において、組織は、災害の場合に、多層構成アプリケーションに連続性を提供することを望む場合がある。
災害復旧は、重大な業務アプリケーションの観点から、業務運営を妨げる災害の発生後、正常な(又はほぼ正常な)業務運営を回復する能力を指す。アプリケーションの動作の一次サイトに影響を与える災害からの復旧を容易にするために、組織は、リモートサイトで復旧システムを用意して、災害の場合にアプリケーション動作を再開する場合がある。
従来の災害復旧システムは、管理サーバを使用して、多層構成アプリケーションの復旧を組織化する(例えば、復旧中に多層構成アプリケーションの構成要素間の依存性を処理する)場合がある。残念ながら、これらの従来のシステムは、災害復旧のための単一障害点を作り出す場合がある。例えば、管理サーバが利用不可能である場合、これらのシステムは、多層構成アプリケーションを復旧することができない場合がある。したがって、本開示は、多層構成アプリケーションの災害復旧のための追加の、かつ改善されたシステム及び方法の必要性を特定し、それに対処する。
以下でより詳細に説明されるように、本開示は、概して、災害復旧サイトにおける標的クラスタのうちの1つ以上から復旧管理操作を実施することによる、多層構成アプリケーションの災害復旧のためのシステム及び方法に関する。一実施例において、多層構成アプリケーションの災害復旧のためのコンピュータ実装方法は、1)生産サイトで複数の生産クラスタがプロビジョニングされている多層構成アプリケーションを特定することと、2)複数の復旧クラスタを含む災害復旧サイトを特定することと、3)災害復旧サイトで、生産サイトにおける多層構成アプリケーションの障害を特定することと、4)災害復旧サイトから、生産サイトから災害復旧サイトへの多層構成アプリケーションの移行を開始することとを含むことができる。
一部の実施例において、多層構成アプリケーションは、生産サイトにおける複数の生産クラスタ内のデータベースクラスタから災害復旧サイトにおける複数の復旧クラスタ内の対応するデータベースクラスタへの複製のために構成されるデータベース層を含むことができる。これらの実施例において、多層構成アプリケーションの障害を特定することは、多層構成アプリケーションのデータベース層の複製内の不具合を特定することを含むことができる。
一部の実施形態において、多層構成アプリケーションの障害を特定することは、複数の復旧クラスタ内の1つのクラスタ内で実行するエージェントから障害を特定することを含むことができる。一実施例において、多層構成アプリケーションの障害を特定することは、多層構成アプリケーションのユーザによって開始されたフェイルオーバーを特定することを含むことができる。この実施例において、ユーザによって開始されたフェイルオーバーを特定することは、1)生産サイトにおける多層構成アプリケーションの各層の状態を特定することと、2)該状態に基づいて、オンライン状態である多層構成アプリケーション内の少なくとも1つの層を特定することと、3)該層を生産サイトでオフラインにすることとを含むことができる。
一実施例において、この移行は、1)多層構成アプリケーションの依存性マップを特定することと、2)依存性マップに従って、該層に依存する追加の層が移行されていないときに、多層構成アプリケーションの各層を移行させることとを含むことができる。
一部の実施例において、コンピュータ実装方法はまた、1)生産サイトにおける多層構成アプリケーションの各層の状態を特定することと、2)該状態に基づいて、多層構成アプリケーションの移行中に少なくとも1つの並行処理違反を特定することとを含むことができる。一部の実施形態において、コンピュータ実装方法はまた、1)複数の復旧クラスタのうちの少なくとも1つで実行している二次アプリケーションを特定することと、2)二次アプリケーションが多層構成アプリケーションより低い優先度を有することを判定することと、3)優先度に応答して移行を開始する前に二次アプリケーションをオフラインにすることとを含むことができる。一実施例において、コンピュータ実装方法はまた、1)生産サイトにおける多層構成アプリケーションの各層の状態を特定することと、2)多層構成アプリケーションの移行を開始するために、インターフェースに多層構成アプリケーションの各層の状態を表示することとを含むことができる。
一実施形態において、上で説明される方法を実装するためのシステムは、1)生産サイトで複数の生産クラスタがプロビジョニングされている多層構成アプリケーションを特定するようにプログラムされる検出モジュールと、2)複数の復旧クラスタを含む災害復旧サイトを特定するようにプログラムされる特定モジュールと、3)災害復旧サイトで、生産サイトにおける多層構成アプリケーションの障害を特定するようにプログラムされる障害モジュールと、4)災害復旧サイトから、生産サイトから災害復旧サイトへの多層構成アプリケーションの移行を開始するようにプログラムされる移行モジュールとを含むことができる。システムはまた、検出モジュール、特定モジュール、障害モジュール、及び移行モジュールを実行するように構成される、少なくとも1つのプロセッサを含んでもよい。
一部の実施例において、上で説明される方法は、コンピュータで読み取り可能な記憶媒体上でコンピュータで読み取り可能な命令としてコード化され得る。例えば、コンピュータで読み取り可能な記憶媒体は、コンピューティングデバイスの少なくとも1つのプロセッサによって実行されるとき、コンピューティングデバイスに、1)生産サイトで複数の生産クラスタがプロビジョニングされている多層構成アプリケーションを特定し、2)複数の復旧クラスタを含む災害復旧サイトを特定し、3)災害復旧サイトで、生産サイトにおける多層構成アプリケーションの障害を特定し、4)災害復旧サイトから、生産サイトから災害復旧サイトへの多層構成アプリケーションの移行を開始させ得る1つ以上のコンピュータで実行可能な命令を含むことができる。
以下でより詳細に説明されるように、災害復旧サイトにおける標的クラスタのうちの1つ以上から復旧管理操作を実施することよって、本明細書に記載されるシステム及び方法は、新しい単一障害点を作り出すことなく1つのサイトから別のサイトへの多層構成アプリケーションの災害復旧(例えば、いずれかのサイトの外部の管理サーバ)を容易にすることができる。更に、一部の実施例において、これらのシステム及び方法は、災害を自動的に検出し、復旧サイトにフェイルオーバーすることができる。
上で言及される実施形態のうちのいずれかからの特性は、本明細書に記載される一般原理に従って、互いに組み合わせて使用されてもよい。これら及び他の実施形態、特性、及び利点は、添付の図面及び特許請求の範囲と共に以下の詳細な説明を一読することでより完全に理解されるであろう。
添付の図面は、多数の例示的な実施形態を例解し、かつ本明細書の一部である。以下の説明と共に、これらの図面は、本開示の多様な原理を例証及び説明する。
多層構成アプリケーションの災害復旧のための例示的なシステムのブロック図である。 多層構成アプリケーションの災害復旧のための例示的なシステムのブロック図である。 多層構成アプリケーションの災害復旧のための例示的な方法の流れ図である。 多層構成アプリケーションの災害復旧のための例示的なシステムのブロック図である。 本明細書に記載及び/又は例解される実施形態のうちの1つ以上を実装することが可能な例示的なコンピューティングシステムのブロック図である。 本明細書に記載及び/又は例解される実施形態のうちの1つ以上を実装することが可能な例示的なコンピューティングネットワークのブロック図である。
図面を通して、同一の参照文字及び説明は、類似しているが必ずしも同一ではない要素を示す。本明細書に記載される例示的な実施形態は多様な修正及び代替形態が可能であるが、具体的な実施形態が、図面において例として示されており、本明細書に詳細に説明されるであろう。しかしながら、本明細書に記載される例示的な実施形態は、開示される特定の形態に限定されることを意図するものではない。むしろ、本開示は、添付の特許請求の範囲内にある全ての修正、同等物、及び代替物を網羅する。
以下では、図1、2、及び4を参照して、多層構成アプリケーションの災害復旧のための例示的なシステムの詳細な説明を提供する。対応するコンピュータ実装方法の詳細な説明もまた、図3と併せて提供される。更に、本明細書に記載される実施形態のうちの1つ以上を実装することが可能な例示的なコンピューティングシステム及びネットワークアーキテクチャの詳細な説明は、それぞれ、図5及び6と併せて提供される。
図1は、多層構成アプリケーションの災害復旧のための例示的なシステム100のブロック図である。この図に例解されるように、例示的なシステム100は、1つ以上のタスクを実施するための1つ以上のモジュール102を含んでもよい。例えば、以下でより詳細に説明されるように、例示的なシステム100は、生産サイトで複数の生産クラスタがプロビジョニングされている多層構成アプリケーションを特定するようにプログラムされる検出モジュール104を含むことができる。例示的なシステム100はまた、複数の復旧クラスタを含む災害復旧サイトを特定するようにプログラムされる特定モジュール106を含むことができる。
加えて、かつ以下でより詳細に説明されるように、例示的なシステム100は、災害復旧サイトで、生産サイトにおける多層構成アプリケーションの障害を特定するようにプログラムされる障害モジュール108を含むことができる。例示的なシステム100はまた、災害復旧サイトから、生産サイトから災害復旧サイトへの多層構成アプリケーションの移行を開始するようにプログラムされる移行モジュール110を含むことができる。別個の要素として例解されるが、図1のモジュール102のうちの1つ以上は、単一のモジュール又はアプリケーションの部分を表し得る。
ある実施形態において、図1のモジュール102のうちの1つ以上は、コンピューティングデバイスにより実行されるとき、コンピューティングデバイスに1つ以上のタスクを実施させ得る、1つ以上のソフトウェアアプリケーション又はプログラムを表し得る。例えば、かつより詳細に以下で説明されるように、モジュール102のうちの1つ以上は、図2に例解されるデバイス(例えば、クラスタ212(1)〜(n)及び/又はクラスタ222(1)〜(n))、図5のコンピューティングシステム510、及び/又は図6の例示的なネットワークアーキテクチャ600の部分等の1つ以上のコンピューティングデバイスで作動するように記憶及び構成されるソフトウェアモジュールを表し得る。図1にあるモジュール102のうちの1つ以上はまた、1つ以上のタスクを実施するように構成される、1つ以上の特殊目的のコンピュータの全て又は部分を表し得る。
図1にある例示的なシステム100は、多様な方法で実装されてもよい。例えば、例示的なシステム100の全て又は一部分は、図2における例示的なシステム200の部分を表し得る。図2に示されるように、システム200は、ネットワーク204を介して災害復旧サイト(例えば、クラスタ222(1)〜(n)を有する)と通信する生産サイト210(例えば、クラスタ212(1)〜(n)を有する)を含むことができる。例えば、災害復旧サイト220におけるクラスタ222(1)〜(n)は、生産サイト210における障害の場合に多層構成アプリケーション214の1つ以上の部分の動作を再開するように構成されてもよい。
一実施形態において、図1のモジュール102のうちの1つ以上は、クラスタ222(1)の少なくとも1つのプロセッサによって実行されるとき、多層構成アプリケーションの災害復旧においてクラスタ222(1)を容易にすることができる。例えば、かつ以下でより詳細に説明されるように、モジュール102のうちの1つ以上は、クラスタ222(1)に、1)生産サイト210でクラスタ212(1)〜(n)がプロビジョニングされた多層構成アプリケーション214を特定し、2)クラスタ222(1)〜(n)を含む災害復旧サイト220を特定し、3)災害復旧サイト220で、生産サイト210における多層構成アプリケーション214の障害を特定し、かつ4)災害復旧サイト220から、生産サイト210から災害復旧サイト220への多層構成アプリケーション214の移行を開始させ得る。
クラスタ212(1)〜(n)及び222(1)〜(n)は、概して、コンピュータで実行可能な命令を読み取ることができる任意のタイプ又は形態のコンピューティングデバイスを表す。クラスタ212(1)〜(n)並びに222(1)〜(n)内のコンピューティングデバイスの例としては、これらに限定されないが、サーバ、デスクトップ、ラップトップ、タブレット、携帯電話、携帯情報端末(PDA)、マルチメディアプレーヤ、埋め込みシステム、図5の同じ例示的なコンピューティングシステム510のうちの1つ以上の組み合わせ、又は任意の他の好適なコンピューティングデバイスが挙げられる。
ネットワーク204は、概して、通信又はデータ転送を容易にすることが可能な任意の媒体又はアーキテクチャを表す。ネットワーク204の例としては、これらに限定されないが、イントラネット、広域ネットワーク(WAN)、ローカルエリアネットワーク(LAN)、パーソナルエリアネットワーク(PAN)、インターネット、電力線通信(PLC)、セルラーネットワーク(例えば、GSMネットワーク(「GSM」は登録商標))、図6の例示的なネットワークアーキテクチャ600、等が挙げられる。ネットワーク204は、無線又は有線接続を使用して、通信又はデータ転送を容易にし得る。一実施形態において、ネットワーク204は、生産サイト210と災害復旧サイト220との間の通信を容易にし得る。
図3は、多層構成アプリケーションの災害復旧のための例示的なコンピュータ実装方法300の流れ図である。図3に示される工程は、任意の好適なコンピュータで実行可能なコード及び/又はコンピューティングシステムにより実施されてもよい。一部の実施形態において、図3に示される工程は、図1のシステム100の構成要素のうちの1つ以上、図2のシステム200、図5のコンピューティングシステム510、及び/又は図6の例示的なネットワークアーキテクチャ600の部分により実施されてもよい。
図3に例解されるように、工程302では、本明細書に記載されるシステムのうちの1つ以上は、生産サイトで複数の生産クラスタがプロビジョニングされている多層構成アプリケーションを特定することができる。例えば、工程302では、検出モジュール104は、図2のクラスタ222(1)の一部として、生産サイト210でクラスタ212(1)〜(n)がプロビジョニングされた多層構成アプリケーション214を特定することができる。
本明細書で使用されるとき、「クラスタ」という用語は、概して、1つ以上のサービスを提供し、及び/又は計算作業負荷を共有するために調整するように構成される相互接続されたコンピューティングシステムの任意の群を指す。本明細書で使用されるとき、「サイト」という用語は、地理的位置、ネットワークの位置、及び/又はコンピューティングデバイスの一群を指し得る。「生産サイト」という句は、アプリケーションが移行前に動作するサイトを指し得る。同様に、「復旧サイト」という句は、アプリケーション(又はアプリケーションの一部)が移行前に移行及び/又は動作し得るサイトを指し得る。
本明細書で使用されるとき、「多層構成アプリケーション」という句は、概して、組み合わせてサービスを提供し得る独立して実行可能な、位置付け可能な、及び/又は設定可能な構成要素を有する任意のアプリケーションを指す。一部の実施例において、多層構成アプリケーションの各構成要素は、別個のアプリケーションを含むことができる。例えば、多層構成アプリケーションとしては、1つ以上のデータベース構成要素、1つ以上のビジネスロジック構成要素、及び/又は1つ以上の提示構成要素が挙げられ得る。この実施例において、提示構成要素は、多層構成アプリケーションのためのユーザインターフェースを提示することができる。提示構成要素は、サービス要求を処理するようにビジネスロジック構成要素と通信することができ、ビジネスロジック構成要素は、データを記憶し、及び/又は取り出すようにデータベース構成要素と通信することができる。一部の実施例において、多層構成アプリケーションは、バーチャルビジネスサービスとして管理及び/又は提示されてもよい。
以下でより詳細に説明されるように、一部の実施例において、多層構成アプリケーションは、生産サイトにおける複数の生産クラスタ内のデータベースクラスタから災害復旧サイトにおける複数の復旧クラスタ内の対応するデータベースクラスタへの複製のために構成されるデータベース層を含むことができる。本明細書で使用されるとき、「複製」という用語は、別の位置で1つ以上のデータオブジェクトの最新のコピーを維持するための任意の方式を指し得る。
検出モジュール104は、様々な手法のいずれかで生産サイトにおける多層構成アプリケーションを特定することができる。例えば、検出モジュール104は、多層構成アプリケーションをホストするとき、生産サイトを指定する構成を特定することができる。加えて、又は代替的に、検出モジュール104は、(例えば、復旧サイトで復旧クラスタのうちの1つ以上で実行するエージェントの一部として)生産サイトからの通信を受信し、生産サイトからの通信障害を特定することができる。少なくとも1つの実施例において、検出モジュール104は、管理者入力に基づいて生産サイトにおける多層構成アプリケーションを特定することができる。
図4は、多層構成アプリケーションの災害復旧のための例示的なシステム400を例解する。図4に示されるように、例示的なシステム400は、いくつかのクラスタ(例えば、ウェブクラスタ412、ウェブクラスタ414、アプリケーションクラスタ416、及びデータベースクラスタ418)を有する生産サイト410を含むことができる。一実施例において、生産サイト410のクラスタは、多層構成アプリケーションをホストするように共に動作することができる。例示的なシステム400はまた、災害復旧サイト420(例えば、生産サイト410に災害復旧サービスを提供するように構成される)を含むことができる。図4に示されるように、災害復旧サイト420は、ウェブクラスタ422(例えば、ウェブクラスタ412に対応する)、ウェブクラスタ424(例えば、ウェブクラスタ414に対応する)、アプリケーションクラスタ426(例えば、アプリケーションクラスタ416に対応する)、及びデータベースクラスタ428(例えば、データベースクラスタ418に対応する)を含むことができる。例として図4を使用すると、検出モジュール104は、災害復旧サイト420におけるクラスタのうちの1つ以上の一部として、生産サイト410で多層構成アプリケーションを特定することができる。
一部の実施例において、データベースクラスタ418及びデータベースクラスタ428は、層430上で通信するように構成されてもよい。例えば、データベースクラスタ418及び/又は1つ以上の関連した機器は、データベースクラスタ418のデータベースをデータベースクラスタ428のための災害復旧サイト420に複製するように複製432で構成されてもよい。一実施例において、検出モジュール104は、層430及び/又は複製432を特定することによって生産サイト410で多層構成アプリケーションを特定することができる。
図3に戻ると、工程304では、本明細書に記載されるシステムのうちの1つ以上は、複数の復旧クラスタを含む災害復旧サイトを特定することができる。例えば、工程304では、特定モジュール106は、図2のクラスタ222(1)の一部として、クラスタ222(1)〜(n)を含む災害復旧サイト220を特定することができる。
本明細書で使用されるとき、「災害復旧」という句は、サービスの連続性を提供するために、アプリケーションの少なくとも一部分を代替サイトに移行させる任意のプロセスを指し得る。一部の実施例において、「災害復旧」という句は、計画されていない事象(例えば、1つ以上のコンピューティングデバイスの障害、コンピューティング設備における電源損失等の災害)後のアプリケーションの復旧を指し得る。加えて、又は代替的に、「災害復旧」という句は、管理者によって開始された事象を指し得る。
特定モジュール106は、任意の好適な様式で災害復旧サイトを特定することができる。例えば、特定モジュール106は、災害復旧サイトにおける復旧クラスタのうちの1つ以上でエージェントとして実行することによって災害復旧サイトを特定することができる。
例として図4を使用すると、工程304では、特定モジュール106は、ウェブクラスタ422、ウェブクラスタ424、アプリケーションクラスタ426、及び/又はデータベースクラスタ428の一部として、災害復旧サイト420を特定することができる。
図3に戻ると、工程306では、本明細書に記載されるシステムのうちの1つ以上は、災害復旧サイトで、生産サイトにおける多層構成アプリケーションの障害を特定することができる。例えば、工程306では、障害モジュール108は、図2のクラスタ222(1)の一部として、災害復旧サイト220で、生産サイト210における多層構成アプリケーション214の障害を特定することができる。
障害モジュール108は、様々な手法のいずれかで多層構成アプリケーションの障害を特定することができる。例えば、先で言及されるように、一部の実施例において、多層構成アプリケーションは、生産サイトから災害復旧サイトへの複製のために構成されるデータベース層を含むことができる。この実施例において、障害モジュール108は、多層構成アプリケーションのデータベース層の複製内の不具合を特定することによって障害を特定することができる。例えば、障害モジュール108は、それぞれのサイトのデータベース層を接続する大域的クラスタリンク層上での定期的な予期された通信が機能しなかったことを判定することができる。
一部の実施例において、障害モジュール108は、複数の復旧クラスタ内の1つのクラスタ内で実行するエージェントから障害を特定することができる。例えば、エージェントは、多層構成アプリケーションに関して生産サイトから状態の更新を監視及び/又は受信するように構成されてもよい。
一実施例において、障害モジュール108は、多層構成アプリケーションのユーザによって開始されたフェイルオーバーを特定することによって障害を特定することができる。例えば、障害モジュール108は、災害復旧サイトで多層構成アプリケーションを呼び出すための管理者による試みを特定することができる。この実施例において、障害モジュール108は、1)生産サイトにおける多層構成アプリケーションの各層の状態を特定し、2)この状態に基づいて、オンライン状態である多層構成アプリケーション内の少なくとも1つの層を特定し、3)この層を生産サイトでオフラインにすることができる。例えば、障害モジュール108は、多層構成アプリケーションの各層のための各復旧クラスタでエージェントの一部として動作し、各対応する生産クラスタと通信して、対応する状態を取得することができる。
一部の実施例において、障害モジュール108は、多層構成アプリケーションの全ての層の全障害を特定することができる。加えて、又は代替的に、障害モジュール108は、多層構成アプリケーションの1つ以上の層の分離した障害を特定することができる。
例として図4を使用すると、工程306では、障害モジュール108は、災害復旧サイト420のクラスタのうちの1つ以上の一部として、生産サイト410における多層構成アプリケーションの障害を特定することができる。例えば、障害モジュール108は、データベースクラスタ428の一部として、層430上の通信が機能しなかったことを判定することができる。
図3に戻ると、工程308では、本明細書に記載されるシステムのうちの1つ以上は、災害復旧サイトから、生産サイトから災害復旧サイトへの多層構成アプリケーションの移行を開始することができる。例えば、工程308では、移行モジュール110は、図2のクラスタ222(1)の一部として、災害復旧サイト220から、生産サイト210から災害復旧サイト220への多層構成アプリケーション214の移行を開始することができる。
この移行は、任意の好適な工程を含むことができる。例えば、この移行は、多層構成アプリケーションの依存性マップを特定することと、多層構成アプリケーションの各層を、依存性マップに従って、この層に依存する追加の層が移行されていないときに移行させることとを含むことができる。例えば、移行モジュール110は、災害復旧サイトにおける復旧クラスタのうちの1つ以上の一部として、依存性マップを特定し、各層を、この層の依存性が解決されるときに移行させることができる。
一部の実施例において、移行モジュール110は、1)生産サイトにおける多層構成アプリケーションの各層の状態を特定し、2)この状態に基づいて、多層構成アプリケーションの移行中に少なくとも1つの並行処理違反を特定することができる。例えば、移行モジュール110が多層構成アプリケーションの1つの層を復旧サイトでオンラインにすると、移行モジュール110は、この層が生産サイトでオフライン状態であることを確実にすることができる。
一部の実施例において、移行モジュール110はまた、1)複数の復旧クラスタのうちの少なくとも1つで実行している二次アプリケーションを特定し、2)二次アプリケーションが多層構成アプリケーションより低い優先度を有することを判定し、3)優先度に応答して移行を開始する前に二次アプリケーションをオフラインにすることができる。例えば、災害復旧サイトにおける復旧クラスタのうちの1つ以上は、災害復旧サイトが災害復旧のために必要とされない間、優先度の低いアプリケーションをホストするように構成されてもよい。したがって、移行モジュール110は、災害復旧サイトが生産サイトの代わりに多層構成アプリケーションをホストするために必要とされるとき、優先度の低いアプリケーションを直ちにオフラインにすることができる。
一部の実施例において、移行モジュール110はまた、1)生産サイトにおける多層構成アプリケーションの各層の状態を特定し、2)多層構成アプリケーションの移行を開始するために、インターフェースに多層構成アプリケーションの各層の状態を表示することができる。例えば、移行モジュール110は、多層構成アプリケーションの各局所層及び/又は多層構成アプリケーションの大域層の状態を表示することができる。この実施例において、管理者は、状態情報を使用して、災害の範囲を判定し、移行を実施することを判定することができる。
上で説明されるように、災害復旧サイトにおける標的クラスタのうちの1つ以上から復旧管理操作を実施することよって、本明細書に記載されるシステム及び方法は、新しい単一障害点を作り出すことなく1つのサイトから別のサイトへの多層構成アプリケーションの災害復旧(例えば、いずれかのサイトの外部の管理サーバ)を容易にすることができる。更に、一部の実施例において、これらのシステム及び方法は、災害を自動的に検出し、復旧サイトにフェイルオーバーすることができる。
図5は、本明細書に記載及び/又は例解される実施形態のうちの1つ以上を実装することが可能な例示的なコンピューティングシステム510のブロック図である。例えば、コンピューティングシステム510の全て又は一部分は、単独で、又は他の要素と組み合わせて、本明細書に記載される特定、始動、開始、移行、判定、及び表示の工程のうちの1つ以上を実施し得る、並びに/又は実施するための手段であり得る。コンピューティングシステム510の全て又は一部分はまた、本明細書に記載及び/若しくは例解される任意の他の工程、方法、若しくはプロセスを実施し得る、並びに/又は実施するための手段であり得る。
コンピューティングシステム510は、コンピュータで読み取り可能な命令を実行することが可能な任意の単一又はマルチプロセッサコンピューティングデバイス又はシステムを広範に表す。コンピューティングシステム510の例としては、これらに限定されないが、ワークステーション、ラップトップ、クライアント側端末、サーバ、分散型コンピューティングシステム、ノートデバイス、又は任意の他のコンピューティングシステム又はデバイスが挙げられる。コンピューティングシステム510の最も基本的な構成において、コンピューティングシステム510は、少なくとも1つのプロセッサ514及びシステムメモリ516を含み得る。
プロセッサ514は、概して、データ処理又は命令の解釈及び実行が可能な任意のタイプ又は形態を表す。ある実施形態において、プロセッサ514は、ソフトウェアアプリケーション又はモジュールから命令を受信し得る。これらの命令は、プロセッサ514に、本明細書に記載及び/又は例解される例示的な実施形態のうちの1つ以上の機能を実施させ得る。
システムメモリ516は、概して、データ及び/又は他のコンピュータで読み取り可能な命令を記憶することが可能な揮発性又は非揮発性の記憶デバイス又は媒体の任意のタイプ又は形態を表す。システムメモリ516の例としては、これらに限定されないが、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、フラッシュメモリ、又は任意の他の好適なメモリデバイスが挙げられる。必ずしも必要ではないが、ある実施形態において、コンピューティングシステム510は、揮発性メモリユニット(例えば、システムメモリ516等)、及び非揮発性記憶デバイス(例えば、以下で詳細に説明されるように、一次記憶デバイス532等)を含み得る。一実施例において、図1からのモジュール102のうちの1つ以上は、システムメモリ516にロードされ得る。
ある実施形態において、例示的なコンピューティングシステム510はまた、プロセッサ514及びシステムメモリ516に加えて、1つ以上の構成要素又は要素を含んでもよい。例えば、図5に例解されるように、コンピューティングシステム510は、通信基盤512を介して各々が相互接続され得る、メモリコントローラ518、入力/出力(I/O)コントローラ520、及び通信インターフェース522を含んでもよい。通信基盤512は、概して、コンピューティングデバイスの1つ以上の構成要素の間の通信を容易にすることが可能な任意のタイプ又は形態の基盤を表す。通信基盤512の例としては、これらに限定されないが、通信バス(ISA、PCI、PCIe、類似のバス等)、及びネットワークが挙げられる。
メモリコントローラ518は、概して、コンピューティングシステム510の1つ以上の構成要素間でメモリ若しくはデータを扱う、又は通信を制御することが可能な任意のタイプ又は形態のデバイスを表す。例えば、ある実施形態において、メモリコントローラ518は、通信基盤512を介して、プロセッサ514、システムメモリ516、及びI/Oコントローラ520との間で通信を制御し得る。
I/Oコントローラ520は、概して、コンピューティングデバイスの入力及び出力機能を調整及び/又は制御することが可能な任意のタイプ又は形態のモジュールを表す。例えば、ある実施形態において、I/Oコントローラ520は、プロセッサ514、システムメモリ516、通信インターフェース522、ディスプレイアダプタ526、入力インターフェース530、及び記憶インターフェース534のような、コンピューティングシステム510の1つ以上の要素間のデータの転送を制御し得る、又は容易にし得る。
通信インターフェース522は、広範に、例示的なコンピューティングシステム510と1つ以上の追加のデバイスとの間の通信を容易にすることが可能な任意のタイプ又は形態の通信デバイス又はアダプタを表す。例えば、ある実施形態において、通信インターフェース522は、コンピューティングシステム510と、追加のコンピューティングシステムを含む私的又は公的なネットワークとの間の通信を容易にし得る。通信インターフェース522の例としては、これらに限定されないが、有線ネットワークインターフェース(ネットワークインターフェースカード等)、無線ネットワークインターフェース(無線ネットワークインターフェースカード等)、モデム、及び任意の他の好適なインターフェースが挙げられる。少なくとも1つの実施形態において、通信インターフェース522は、インターネット等の、ネットワークへの直接的なリンクを介して、リモートサーバへ直接的な接続を提供し得る。通信インターフェース522はまた、例えば、ローカルエリアネットワーク(イーサネットネットワーク(「イーサネット」は登録商標、以下同じ)等)、パーソナルエリアネットワーク、電話若しくはケーブルネットワーク、携帯電話接続、衛星データ接続、又は任意の他の好適な接続を通じて、間接的にかかる接続を提供し得る。
ある実施形態において、通信インターフェース522はまた、外部バス又は通信チャンネルを介して、コンピューティングシステム510と、1つ以上の追加のネットワーク又は記憶デバイスとの間の通信を容易にするように構成されるホストアダプタを表し得る。ホストアダプタの例としては、これらに限定されないが、SCSIホストアダプタ、USBホストアダプタ、IEEE 1394ホストアダプタ、SATA及びeSATAホストアダプタ、ATA及びPATAホストアダプタ、ファイバーチャンネルインターフェースアダプタ、イーサネットアダプタ等が挙げられる。通信インターフェース522はまた、コンピューティングシステム510が、分散型又はリモートコンピューティングに関与することを可能にし得る。例えば、通信インターフェース522は、実行のためにリモートデバイスから命令を受信するか、又はリモートデバイスへ命令を送信することができる。
図5に例解されるように、コンピューティングシステム510はまた、ディスプレイアダプタ526を介して通信基盤512に連結される少なくとも1つのディスプレイデバイス524を含んでもよい。ディスプレイデバイス524は、概して、ディスプレイアダプタ526によって転送される情報を視覚的に表示することが可能な任意のタイプ又は形態のデバイスを表す。同様に、ディスプレイアダプタ526は、概して、ディスプレイデバイス524上で表示のために、通信基盤512から(又は、当該分野で周知の、フレームバッファから)グラフィック、テキスト、及び他のデータを転送するように構成される任意のタイプ又は形態のデバイスを表す。
図5に例解されるように、例示的なコンピューティングシステム510はまた、入力インターフェース530を介して通信基盤512に連結される少なくとも1つの入力デバイス528を含んでもよい。入力デバイス528は、概して、例示的なコンピューティングシステム510に、コンピュータ又は人間のいずれかが生成した入力を提供することが可能な任意のタイプ又は形態の入力デバイスを表す。入力デバイス528の例としては、これらに限定されないが、キーボード、ポインティングデバイス、音声認識デバイス、又は任意の他の入力デバイスが挙げられる。
図5に例解されるように、例示的なコンピューティングシステム510はまた、記憶インターフェース534を介して通信基盤512に連結される一次記憶デバイス532及びバックアップ記憶デバイス533を含んでもよい。記憶デバイス532及び533は、概して、データ及び/又は他のコンピュータで読み取り可能な命令を記憶することが可能な任意のタイプ又は形態の記憶デバイス又は媒体を表す。例えば、記憶デバイス532及び533は、磁気ディスクドライブ(例えば、いわゆるハードドライブ)、ソリッドステートドライブ、フロッピーディスクドライブ(「フロッピー」は登録商標、以下同じ)、磁気タイプドライブ、光ディスクドライブ、フラッシュドライブ等であり得る。記憶インターフェース534は、概して、記憶デバイス532及び533とコンピューティングシステム510の他の構成要素との間でデータを転送するための任意のタイプ又は形態のインターフェース又はデバイスを表す。
ある実施形態において、記憶デバイス532及び533は、コンピュータソフトウェア、データ、又は他のコンピュータで読み取り可能な情報を記憶するように構成される取り外し可能な記憶ユニットから読み取る、及び/又は取り外し可能な記憶ユニットに書き込むように構成されてもよい。好適な取り外し可能な記憶ユニットの例としては、これらに限定されないが、フロッピーディスク、磁気テープ、光ディスク、フラッシュメモリデバイス等が挙げられる。記憶デバイス532及び533はまた、コンピュータソフトウェア、データ、又は他のコンピュータで読み取り可能な命令がコンピューティングシステム510にロードされることを可能にするための他の類似の構造又はデバイスを含んでもよい。例えば、記憶デバイス532及び533は、ソフトウェア、データ、又は他のコンピュータで読み取り可能な情報を読み取る及び書き込むように構成され得る。記憶デバイス532及び533はまた、コンピューティングシステム510の一部であってもよく、又は他のインターフェースシステムを通じてアクセスされる別個のデバイスであってもよい。
多くの他のデバイス又はサブシステムが、コンピューティングシステム510に接続され得る。反対に、本明細書に記載及び/又は例解される実施形態を実践するために、図5に例解される構成要素及びデバイスの全てが存在する必要はない。上で言及されるデバイス及びサブシステムはまた、図5に示されるものとは異なる方法で相互接続されてもよい。コンピューティングシステム510はまた、任意の数のソフトウェア、ファームウェア、及び/又はハードウェア構成を用いてもよい。例えば、本明細書に開示される例示的な実施形態のうちの1つ以上は、コンピュータで読み取り可能な記憶媒体上で、コンピュータプログラム(コンピュータソフトウェア、ソフトウェアアプリケーション、コンピュータで読み取り可能な命令、又はコンピュータ制御論理とも称される)としてコード化され得る。「コンピュータで読み取り可能な記憶媒体」という句は、概して、コンピュータで読み取り可能な命令を記憶又は担持することが可能な任意の形態のデバイス、キャリア、又は媒体を指す。コンピュータで読み取り可能な記憶媒体の例としては、これらに限定されないが、搬送波等の伝送型媒体、並びに磁気記憶媒体(例えば、ハードディスクドライブ及びフロッピーディスク)、光記憶媒体(例えば、CD−又はDVD−ROM)、電子記憶媒体(ソリッドステートドライブ及びフラッシュ媒体)、及び他の分散システム等の非一時的型媒体が挙げられる。
コンピュータプログラムを含むコンピュータで読み取り可能な記憶媒体は、コンピューティングシステム510にロードされ得る。次いで、コンピュータで読み取り可能な記憶媒体上に記憶されるコンピュータプログラムの全ての又は一部分は、システムメモリ516、並びに/又は記憶デバイス532及び533の多様な部分に記憶され得る。プロセッサ514により実行されるとき、コンピューティングシステム510にロードされるコンピュータプログラムは、プロセッサ514に、本明細書に記載及び/若しくは例解される例示的な実施形態のうちの1つ以上の機能を実施させ得る、並びに/又は実施するための手段であり得る。加えて、又は代替的に、本明細書に記載及び/又は例解される例示的な実施形態のうちの1つ以上は、ファームウェア及び/又はハードウェアに実装され得る。例えば、コンピューティングシステム510は、本明細書に開示される例示的な実施形態のうちの1つ以上を実装するように適合される、特定用途向け集積回路(ASIC)として構成されてもよい。
図6は、クライアントシステム610、620、及び630、並びにサーバ640及び645がネットワーク650に連結され得る、例示的なネットワークアーキテクチャ600のブロック図である。上に詳述されるように、ネットワークアーキテクチャ600の全て又は一部分は、単独で、又は他の要素と組み合わせて、本明細書に開示される特定、始動、開始、移行、判定、及び表示の工程を実施し得る、並びに/又は実施するための手段であり得る。ネットワークアーキテクチャ600の全て又は一部分はまた、本開示に記載される他の工程及び特性を実施するために使用され得る、並びに/又は実施するための手段であり得る。
クライアントシステム610、620、及び630は、概して、図5の例示的なコンピューティングシステム510等の、コンピューティングデバイス又はシステムの任意のタイプ又は形態を表す。同様に、サーバ640及び645は、概して、多様なデータベースサービスを提供する及び/又はあるソフトウェアアプリケーションを作動させるように構成される、アプリケーションサーバ又はデータベースサーバ等のコンピューティングデバイス又はシステムを表す。ネットワーク650は、概して、例えば、イントラネット、広域ネットワーク(WAN)、ローカルエリアネットワーク(LAN)、パーソナルエリアネットワーク(PAN)、又はインターネットを含む、任意の電気通信又はコンピュータネットワークを表す。一実施例において、クライアントシステム610、620、及び/若しくは630、並びに/又はサーバ640及び/若しくは645は、図1からのシステム100の全ての又は一部分を含んでもよい。
図6に例解されるように、1つ以上の記憶デバイス660(1)〜(N)は、サーバ640に直接的に取設され得る。同様に、1つ以上の記憶デバイス670(1)〜(N)は、サーバ645に直接的に取設され得る。記憶デバイス660(1)〜(N)及び記憶デバイス670(1)〜(N)は、概して、データ及び/又は他のコンピュータで読み取り可能な命令を記憶することが可能な任意のタイプ又は形態の記憶デバイス又は媒体を表す。ある実施形態において、記憶デバイス660(1)〜(N)及び記憶デバイス670(1)〜(N)は、NFS、SMB、又はCIFS等の、多様なプロトコルを使用してサーバ640及び645と通信するように構成されるネットワーク取設記憶(NAS)デバイスを表し得る。
サーバ640及び645はまた、記憶エリアネットワーク(SAN)ファブリック680に接続され得る。SANファブリック680は、概して、複数の記憶デバイス間の通信を容易にすることが可能な任意のタイプ又は形態のコンピュータネットワーク又はアーキテクチャを表す。SANファブリック680は、サーバ640及び645と複数の記憶デバイス690(1)〜(N)及び/又は知的記憶アレイ695との間の通信を容易にし得る。SANファブリック680はまた、デバイス690(1)〜(N)及びアレイ695が、クライアントシステム610、620、及び630にローカルで取設されたデバイスとして現れるような様式で、ネットワーク650並びにサーバ640及び645を介して、クライアントシステム610、620、及び630と記憶デバイス690(1)〜(N)及び/又は知的記憶アレイ695との間の通信を容易にし得る。記憶デバイス660(1)〜(N)及び記憶デバイス670(1)〜(N)と同様に、記憶デバイス690(1)〜(N)及び知的記憶アレイ695は、概して、データ及び/又は他のコンピュータで読み取り可能な命令を記憶することが可能な任意のタイプ又は形態の記憶デバイス又は媒体を表す。
ある実施形態において、及び図5の例示的なコンピューティングシステム510を参照して、図5の通信インターフェース522等の通信インターフェースは、各クライアントシステム610、620、及び630とネットワーク650との間の接続性を提供するために使用されてもよい。クライアントシステム610、620、及び630は、例えば、ウェブブラウザ又はその他のクライアントソフトウェアを使用して、サーバ640又は645上の情報にアクセスすることが可能であり得る。そのようなソフトウェアは、クライアントシステム610、620、及び630が、サーバ640、サーバ645、記憶デバイス660(1)〜(N)、記憶デバイス670(1)〜(N)、記憶デバイス690(1)〜(N)、又は知的記憶アレイ695によりホストされるデータにアクセスすることを可能にし得る。図6は、データを交換するためのネットワーク(インターネット等)の使用を描写するが、本明細書に記載及び/又は例解される実施形態は、インターネット又はいかなる特定のネットワークに基づく環境にも限定されない。
少なくとも1つの実施形態において、本明細書に開示される例示的な実施形態のうちの1つ以上の全て又は一部分は、コンピュータプログラムとしてコード化され、サーバ640、サーバ645、記憶デバイス660(1)〜(N)、記憶デバイス670(1)〜(N)、記憶デバイス690(1)〜(N)、知的記憶アレイ695、又はそれらの任意の組み合わせ上にロードされ、それによって実行され得る。本明細書に開示される少なくとも1つの例示的な実施形態の全て又は一部分は、コンピュータプログラムとしてとしてコード化され、サーバ640に記憶され、サーバ645により作動され、ネットワーク650を通じてクライアントシステム610、620、及び630に分散され得る。
上に詳述されるように、コンピューティングシステム510及び/又はネットワークアーキテクチャ600の1つ以上の構成要素は、単独で、又は他の要素と組み合わせて、多層構成アプリケーションの災害復旧のための例示的な方法の1つ以上の工程を実施し得る、及び/又は実施するための手段であり得る。
先述の開示は、特定のブロック図、流れ図、及び実施例を使用して多様な実施形態を説明するが、本明細書に記載及び/又は例解される各ブロック図の構成要素、流れ図の工程、動作、及び/又は構成要素は、個別に及び/又は集合的に、広範なハードウェア、ソフトウェア、又はファームウェア(又はそれらの任意の組み合わせ)構成を使用して、実装されてもよい。更に、他の構成要素内に含まれる構成要素のいずれの開示も、多くの他のアーキテクチャが同じ機能性を達成するために実装することができるため、事実上例示的なものと見なされるべきである。
一部の実施例において、図1の例示的なシステム100の全ての又は一部分は、クラウド−コンピューティング又はネットワークに基づく環境の部分を表し得る。クラウド−コンピューティング環境は、インターネットを介して多様なサービス及びアプリケーションを提供することができる。これらのクラウドに基づくサービス(例えば、サービスとしてのソフトウェア、サービスとしてのプラットフォーム、サービスとしての基盤等)は、ウェブブラウザ又は他のリモートインターフェースを通じてアクセス可能であり得る。本明細書に記載される多様な機能は、リモートデスクトップ環境又は任意の他のクラウドに基づくコンピューティング環境を通じて提供され得る。
本明細書に記載及び/又は例解されるプロセスパラメータ及び工程の順序は、ほんの一例として提供され、所望に応じて変更することができる。例えば、本明細書に例解及び/又は記載される工程が特定の順序で示される又は論議されるが、これらの工程は、必ずしも例解又は論議される順序で実施される必要はない。本明細書に記載及び/又は例解される多様な例示的な方法はまた、本明細書に記載及び/又は例解される工程のうちの1つ以上を省略してもよく、又は開示されるものに加えて追加の工程を含んでもよい。
種々の実施形態が、完全に機能的なコンピューティングシステムの文脈において、本明細書に記載及び/又は例解されているが、これらの例示的な実施形態のうちの1つ以上は、実際に分散を行うために使用されるコンピュータで読み取り可能な記憶媒体の特定のタイプにかかわらず、多様な形態のプログラム製品として分散され得る。本明細書に開示される実施形態はまた、あるタスクを実施するソフトウェアモジュールを使用して実装されてもよい。これらのソフトウェアモジュールは、スクリプト、バッチ、又はコンピュータで読み取り可能な記憶媒体上又はコンピューティングシステムに記憶され得る、他の実行可能なファイルを含んでもよい。一部の実施例において、これらのソフトウェアモジュールは、本明細書に開示される例示的な実施形態のうちの1つ以上を実施するように、コンピューティングシステムを構成し得る。
更に、本明細書に記載されるモジュールのうちの1つ以上は、データ、物理的デバイス、及び/又は物理的デバイスの表現を1つの形態から別の形態へ変換し得る。例えば、本明細書に列挙されるモジュールのうちの1つ以上は、コンピューティングデバイスを多層構成アプリケーションの災害復旧のためのデバイスに変換することができる。
先行の説明は、他の当業者が、本明細書に開示される例示的な実施形態の多様な態様を最大限に利用することを可能にするように提供されている。この例示的な説明は、包括的であること、又は開示されるいずれの正確な形態に限定されることも意図するものではない。多くの修正及び変形が、本開示の趣旨及び範囲から逸脱することなく可能である。本明細書に開示される実施形態は、あらゆる点で具体例であり、制限するものではないと見なされるべきである。本開示の範囲を決定する際、添付の特許請求の範囲及びその均等物への参照がなされるべきである。
特に記されない限り、本明細書及び特許請求の範囲に使用される、「a」又は「an」という用語は、「少なくとも1つの」を意味すると解釈される。更に、使用の容易さのために、本明細書及び特許請求の範囲に使用される際、単語「含む」及び「有する」は、単語「備える」と同義であり、かつ同じ意味を有する。

Claims (15)

  1. 多層構成アプリケーションの災害復旧のためのコンピュータ実装方法であって、該方法の少なくとも一部分が少なくとも1つのプロセッサを備えるコンピューティングデバイスによって実施され、前記方法が、
    生産サイトで複数の生産クラスタによってプロビジョニングされている多層構成アプリケーションを、災害復旧サイトで生産サイトからの通信を受信することと、前記災害復旧サイトで前記生産サイトからの通信障害を特定することの少なくとも1つにより特定することと、
    複数の復旧クラスタを含む災害復旧サイトを特定することと、
    記災害復旧サイトにおける前記複数の復旧クラスタ内の一のクラスタにおいて実行するエージェントにより、前記生産サイトにおける前記多層構成アプリケーションであって前記災害復旧サイトで前記生産サイトからの通信を受信することと、前記災害復旧サイトで前記生産サイトからの通信障害を特定することの少なくとも1つにより特定された多層構成アプリケーションの障害を特定することと、
    前記災害復旧サイトから、前記生産サイトから前記災害復旧サイトへの前記多層構成アプリケーションの移行を開始することと、を含み、
    前記災害復旧サイトへの移行は、前記一のクラスタへの移行を含む、方法。
  2. 前記多層構成アプリケーションが、前記生産サイトにおける前記複数の生産クラスタ内のデータベースクラスタから前記災害復旧サイトにおける前記複数の復旧クラスタ内の対応するデータベースクラスタへの複製のために構成されるデータベース層を含み、
    前記多層構成アプリケーションの前記障害を特定することが、前記多層構成アプリケーションの前記データベース層の前記複製内の不具合を特定することを含む、請求項1に記載のコンピュータ実装方法。
  3. 前記災害復旧サイトで前記障害を特定することが、前記複数の復旧クラスタ内の1つのクラスタ内で実行するエージェントから前記障害を特定することを含む、請求項1に記載のコンピュータ実装方法。
  4. 前記生産サイトから前記災害復旧サイトへの前記多層構成アプリケーションの前記移行を開始することが、
    前記生産サイトにおける前記多層構成アプリケーションの各層の状態を特定することと、
    前記状態に基づいて、オンライン状態である前記多層構成アプリケーション内の少なくとも1つの層を特定することと、
    前記層を前記生産サイトでオフラインにすることと、を含む、請求項1に記載のコンピュータ実装方法。
  5. 前記生産サイトにおける前記多層構成アプリケーションの各層の状態を特定することと、
    前記状態に基づいて、前記多層構成アプリケーションの前記移行中に少なくとも1つの並行処理違反を特定することと、を更に含む、請求項1に記載のコンピュータ実装方法。
  6. 前記複数の復旧クラスタのうちの少なくとも1つで実行している二次アプリケーションを特定することと、
    前記二次アプリケーションが前記多層構成アプリケーションより低い優先度を有することを判定することと、
    前記優先度に応答して前記移行を開始する前に前記二次アプリケーションをオフラインにすることと、を更に含む、請求項1に記載のコンピュータ実装方法。
  7. 前記生産サイトにおける前記多層構成アプリケーションの各層の状態を特定することと、
    前記多層構成アプリケーションの前記移行を開始するために、インターフェースに前記多層構成アプリケーションの各層の前記状態を表示することと、を更に含む、請求項1に記載のコンピュータ実装方法。
  8. 前記移行が、
    前記多層構成アプリケーションの依存性マップを特定することと、
    前記多層構成アプリケーションの各層を、前記依存性マップに従って、前記層に依存する追加の層が移行されていないときに移行させることと、を含む、請求項1に記載のコンピュータ実装方法。
  9. 多層構成アプリケーションの災害復旧のためのシステムであって、該システムが、
    生産サイトで複数の生産クラスタによってプロビジョニングされている多層構成アプリケーションを、災害復旧サイトで生産サイトからの通信を受信することと、前記災害復旧サイトで前記生産サイトからの通信障害を特定することの少なくとも1つにより特定するようにプログラムされる検出モジュールと、
    複数の復旧クラスタを含む災害復旧サイトを特定するようにプログラムされる特定モジュールと、
    記災害復旧サイトにおける前記複数の復旧クラスタ内の一のクラスタにおいて実行するエージェントにより、前記生産サイトにおける前記多層構成アプリケーションであって前記災害復旧サイトで前記生産サイトからの通信を受信することと、前記災害復旧サイトで前記生産サイトからの通信障害を特定することの少なくとも1つにより特定された多層構成アプリケーションの障害を特定するようにプログラムされる障害モジュールと、
    前記災害復旧サイトから、前記生産サイトから前記災害復旧サイトへの前記多層構成アプリケーションの移行を開始するようにプログラムされる移行モジュールであって、前記災害復旧サイトへの移行は前記一のクラスタへの移行を含む移行モジュールと、
    前記検出モジュール、前記特定モジュール、前記障害モジュール、及び前記移行モジュールを実行するように構成される少なくとも1つのプロセッサと、を備える、システム。
  10. 前記多層構成アプリケーションが、前記生産サイトにおける前記複数の生産クラスタ内のデータベースクラスタから前記災害復旧サイトにおける前記複数の復旧クラスタ内の対応するデータベースクラスタへの複製のために構成されるデータベース層を含み、
    前記障害モジュールが、前記多層構成アプリケーションの前記データベース層の前記複製内の不具合を特定することによって前記多層構成アプリケーションの前記障害を特定するようにプログラムされる、請求項9に記載のシステム。
  11. 前記障害モジュールが、前記複数の復旧クラスタ内の1つのクラスタ内で実行するエージェントから前記障害を特定することによって前記災害復旧サイトにおける前記障害を特定するようにプログラムされる、請求項9に記載のシステム。
  12. 前記移行モジュールが、
    前記生産サイトにおける前記多層構成アプリケーションの各層の状態を特定し、
    前記状態に基づいて、オンライン状態である前記多層構成アプリケーション内の少なくとも1つの層を特定し、
    前記層を前記生産サイトでオフラインにすることによって、前記生産サイトから前記災害復旧サイトへの前記多層構成アプリケーションの前記移行を開始するようにプログラムされる、請求項9に記載のシステム。
  13. 前記移行モジュールが、
    前記生産サイトにおける前記多層構成アプリケーションの各層の状態を特定し、
    前記多層構成アプリケーションの前記移行中に少なくとも1つの並行処理違反を特定するように更にプログラムされる、請求項9に記載のシステム。
  14. 前記移行モジュールが、
    前記複数の復旧クラスタのうちの少なくとも1つで実行している二次アプリケーションを特定し、
    前記二次アプリケーションが前記多層構成アプリケーションより低い優先度を有することを判定し、
    前記優先度に応答して前記移行を開始する前に前記二次アプリケーションをオフラインにするように更にプログラムされる、請求項9に記載のシステム。
  15. 前記移行モジュールが、
    前記生産サイトにおける前記多層構成アプリケーションの各層の状態を特定し、
    前記多層構成アプリケーションの前記移行を開始するために、インターフェースに前記多層構成アプリケーションの各層の前記状態を表示するように更にプログラムされる、請求項9に記載のシステム。
JP2015515124A 2012-05-30 2013-05-29 多層構成アプリケーションの災害復旧のためのシステム及び方法 Expired - Fee Related JP6289452B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/483,380 2012-05-30
US13/483,380 US8984325B2 (en) 2012-05-30 2012-05-30 Systems and methods for disaster recovery of multi-tier applications
PCT/US2013/042984 WO2013181185A1 (en) 2012-05-30 2013-05-29 Systems and methods for disaster recovery of multi-tier applications

Publications (2)

Publication Number Publication Date
JP2015523644A JP2015523644A (ja) 2015-08-13
JP6289452B2 true JP6289452B2 (ja) 2018-03-07

Family

ID=49671809

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015515124A Expired - Fee Related JP6289452B2 (ja) 2012-05-30 2013-05-29 多層構成アプリケーションの災害復旧のためのシステム及び方法

Country Status (5)

Country Link
US (1) US8984325B2 (ja)
EP (1) EP2856317B1 (ja)
JP (1) JP6289452B2 (ja)
CN (1) CN104364763B (ja)
WO (1) WO2013181185A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8935568B2 (en) * 2012-07-27 2015-01-13 Dell Products, Lp System and method of replicating virtual machines for live migration between data centers
US9817739B1 (en) * 2012-10-31 2017-11-14 Veritas Technologies Llc Method to restore a virtual environment based on a state of applications/tiers
US9495258B2 (en) * 2014-04-30 2016-11-15 Oracle International Corporation Dynamic generation of disaster recovery plan which react to changes to an underlying topology
US9396052B2 (en) * 2014-04-30 2016-07-19 Oracle International Corporation Periodic validation and health reports of disaster recovery plan
US9582381B2 (en) * 2014-06-12 2017-02-28 Unisys Corporation Multi-threaded server control automation for disaster recovery
US9740520B1 (en) 2015-09-30 2017-08-22 Veritas Technologies Systems and methods for virtual machine boot disk restoration
US10326599B2 (en) * 2016-05-09 2019-06-18 Hewlett Packard Enterprise Development Lp Recovery agents and recovery plans over networks
US10153941B2 (en) * 2016-05-17 2018-12-11 Microsoft Technology Licensing, Llc Distributed operational control in computing systems
CN109936462B (zh) * 2017-12-15 2021-11-30 华为技术有限公司 容灾方法及装置
US10545837B2 (en) 2018-02-20 2020-01-28 International Business Machines Corporation Extending deployed cloud infrastructure for disaster recovery sequencing

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7797367B1 (en) * 1999-10-06 2010-09-14 Gelvin David C Apparatus for compact internetworked wireless integrated network sensors (WINS)
CN1391765A (zh) * 1999-10-22 2003-01-15 通用仪器公司 在大型网络中管理多种应用程序的方法和装置
JP2002116920A (ja) * 2000-10-05 2002-04-19 Toshiba Corp クラスタシステム、クラスタシステムにおける監視方法およびコンピュータプログラム
US7529822B2 (en) * 2002-05-31 2009-05-05 Symantec Operating Corporation Business continuation policy for server consolidation environment
US6928589B1 (en) * 2004-01-23 2005-08-09 Hewlett-Packard Development Company, L.P. Node management in high-availability cluster
CN100349131C (zh) * 2004-07-26 2007-11-14 中兴通讯股份有限公司 一种应用程序故障的定位方法
US20060047776A1 (en) * 2004-08-31 2006-03-02 Chieng Stephen S Automated failover in a cluster of geographically dispersed server nodes using data replication over a long distance communication link
JP4829670B2 (ja) * 2006-04-28 2011-12-07 株式会社日立製作所 San管理方法およびsan管理システム
US7788544B2 (en) * 2006-05-03 2010-08-31 Computer Associates Think, Inc. Autonomous system state tolerance adjustment for autonomous management systems
US20090055689A1 (en) * 2007-08-21 2009-02-26 International Business Machines Corporation Systems, methods, and computer products for coordinated disaster recovery
US7818408B1 (en) 2008-04-24 2010-10-19 Network Appliance, Inc. Automated virtual interface failover in a mass storage cluster
US8135981B1 (en) * 2008-06-30 2012-03-13 Symantec Corporation Method, apparatus and system to automate detection of anomalies for storage and replication within a high availability disaster recovery environment
US20100023564A1 (en) 2008-07-25 2010-01-28 Yahoo! Inc. Synchronous replication for fault tolerance
US8688773B2 (en) * 2008-08-18 2014-04-01 Emc Corporation System and method for dynamically enabling an application for business continuity
CN101414277B (zh) * 2008-11-06 2010-06-09 清华大学 一种基于虚拟机的按需增量恢复容灾系统及方法
US8010833B2 (en) 2009-01-20 2011-08-30 International Business Machines Corporation Software application cluster layout pattern
US8688642B2 (en) * 2010-02-26 2014-04-01 Symantec Corporation Systems and methods for managing application availability
US8539087B2 (en) 2010-03-12 2013-09-17 Symantec Corporation System and method to define, visualize and manage a composite service group in a high-availability disaster recovery environment
US8806264B2 (en) * 2010-08-30 2014-08-12 Oracle International Corporation Methods for detecting split brain in a distributed system
US8365009B2 (en) * 2010-09-10 2013-01-29 Microsoft Corporation Controlled automatic healing of data-center services
US8910172B2 (en) * 2010-12-29 2014-12-09 Symantec Corporation Application resource switchover systems and methods

Also Published As

Publication number Publication date
JP2015523644A (ja) 2015-08-13
US20130326265A1 (en) 2013-12-05
EP2856317B1 (en) 2017-07-05
CN104364763B (zh) 2017-09-26
EP2856317A4 (en) 2016-03-09
EP2856317A1 (en) 2015-04-08
WO2013181185A1 (en) 2013-12-05
CN104364763A (zh) 2015-02-18
US8984325B2 (en) 2015-03-17

Similar Documents

Publication Publication Date Title
JP6289452B2 (ja) 多層構成アプリケーションの災害復旧のためのシステム及び方法
US10735509B2 (en) Systems and methods for synchronizing microservice data stores
US9075856B2 (en) Systems and methods for distributing replication tasks within computing clusters
JP5562444B2 (ja) クラスタシステムにおいてクラスタ非対応アプリケーションをフェールオーバーするためのシステムおよび方法
US9052935B1 (en) Systems and methods for managing affinity rules in virtual-machine environments
US9575789B1 (en) Systems and methods for enabling migratory virtual machines to expedite access to resources
JP6186374B2 (ja) 仮想化されたプラットフォームへ安全に移行するためのシステム及び方法
US9077579B1 (en) Systems and methods for facilitating access to shared resources within computer clusters
US8825602B1 (en) Systems and methods for providing data protection in object-based storage environments
US11645237B2 (en) Replicating data utilizing a virtual file system and cloud storage
US20130042139A1 (en) Systems and methods for fault recovery in multi-tier applications
US8954808B1 (en) Systems and methods for performing input/output path failovers
EP3022647B1 (en) Systems and methods for instantly restoring virtual machines in high input/output load environments
US8595192B1 (en) Systems and methods for providing high availability to instance-bound databases
US8983899B1 (en) Systems and methods for archiving files in distributed replication environments
US9195528B1 (en) Systems and methods for managing failover clusters
US8621260B1 (en) Site-level sub-cluster dependencies
EP3625683B1 (en) System and method for load balancing backup data
US9110965B1 (en) Systems and methods for disaster recovery from binary large objects
US8776044B1 (en) Systems and methods for providing computer cluster policies for implementation in computer cluster environments
US9830230B1 (en) Systems and methods for storing updated storage stack summaries
US11188393B1 (en) Systems and methods for performing load balancing and distributed high-availability
US9836515B1 (en) Systems and methods for adding active volumes to existing replication configurations
US10372607B2 (en) Systems and methods for improving the efficiency of point-in-time representations of databases
US9146868B1 (en) Systems and methods for eliminating inconsistencies between backing stores and caches

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160406

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170516

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20170516

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20170525

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20170526

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20170526

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170807

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170912

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171130

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180109

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180206

R150 Certificate of patent or registration of utility model

Ref document number: 6289452

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees