本発明の実施形態は、冗長サイトにおいてクラウドアプリケーションを完全かつ迅速に復旧することができる、クラウドアプリケーションの冗長化のための方法、システム、および装置を提案している。
冗長化方法
図1(a)、図1(b)、および図1(c)は、本発明の実施形態によって提供されるシステムのブロック図である。システムは、稼働サイト(100)および冗長サイト(110)を備えている、ここで、稼働サイト(100)は、少なくとも1つのクラウドアプリケーションにサービスを提供し、冗長サイト(110)は、稼働サイトにおいて要冗長化クラウドアプリケーションを復旧するように構成される。稼働サイト(100)と冗長サイト(110)とは、相対なコンセプトである。稼働サイト(100)は、クラウドアプリケーションが復旧前に動作しているサイトを表し、冗長サイト(110)は、クラウドアプリケーションが復旧後に動作しているサイトを表している。稼働サイト(100)および冗長サイト(110)を、例えば北京サイトおよび西安サイトといった、地域ロケーションに従って分化してもよいし、別のルールに従って分化してもよい。
稼働サイト(100)および冗長サイト(110)は、例えば、図1(a)、図1(b)、および図1(c)に示したように、各々に少なくとも1つのデータセンタを備えていてもよく、稼働サイト(100)はデータセンタ(101)を備えており、冗長サイト(110)はデータセンタ(111)を備えている。データセンタは物理サーバを備えていてもよい、ここで、物理サーバは、稼働サイトまたは冗長サイトにコンピュテーション、ストレージ、およびネットワークリソースを提供するように構成されてもよい。コンピュテーションおよびネットワークリソースを提供するように構成された物理サーバをコンピューティングノードと称してもよいし、ストレージリソースを提供するように構成された物理サーバをストレージノードと称してもよい。例えば、図1に示したストレージノード(102)、ストレージノード(112)、コンピューティングノード(103)、およびコンピューティングノード(113)である。図1に示した例示において、稼働サイト(100)および冗長サイト(110)は、各々に1つのデータセンタを備えており、各データセンタは、1つのコンピューティングノードおよび1つのストレージノードを備えている。他の実施形態においては、稼働サイトおよび冗長サイトは、各々に複数のデータセンタを備えていてもよく、データセンタの各々は、複数のコンピューティングノードおよび複数のストレージノードを備えていてもよい。
データセンタ(101、111)は、仮想化モジュール(104、114)およびクラウド管理モジュール(105、115)をさらに備えていてもよい、ここで、仮想化モジュール(104、114)は、物理サーバのコンピュテーション(プロセッサおよびメモリを含む)、ストレージ、およびネットワークリソースを複数の仮想マシンに抽象化するように構成され、要するに仮想マシンの各々は、プロセッサ、メモリ、ネットワーク接続、およびストレージを有し、そのオペレーティングシステムおよびアプリケーションを実行し得るし、クラウド管理モジュール(105、115)は、仮想化モジュール(104、114)または各仮想マシンを管理し得る、例えば、仮想マシンを作成するように仮想化モジュール(104、114)に指示し得る。
データセンタ(101、111)のストレージノード(102、112)を、例えば共有ストレージデバイスを使用して、別々にデプロイしてもよい。ストレージノード(102、112)は、複数のストレージユニットを備え、各仮想マシンにストレージリソースを提供するように構成されており、稼働サイト/冗長サイトに共有パーティションアクセス(読み込みおよび書き込み)機能を提供し得る、その結果、異なるコンピューティングノードの仮想マシンは、同一のストレージデバイスの同一のパーティションに同時にアクセスすることができる。ストレージノード(102、112)は、ストレージノード(102、112)のストレージユニットを管理し得るストレージ管理ソフトウェア(106、116)を備えている。共有ストレージデバイスは、ネットワークアタッチトストレージ(Network Attached Storage、NAS)デバイスであってもよいし、またはストレージエリアネットワーク(Storage Area Network、SAN)デバイスであってもよい。例えば、ストレージノード(102、112)は、SANデバイスであってもよい。SANデバイスのストレージユニットは、特に論理ユニット番号(Logical Unit Number、LUN)であってもよい、ここで、LUNは、ストレージアレイの形式で示した論理ディスクである。各仮想マシンのファイルシステムをSANデバイスの1つまたは複数のLUNに作成する。SANデバイスのストレージ管理ソフトウェアは、LUNにおける読み込みおよび書き込みを制御し得るし、LUNの情報を管理し得る。
本発明の実施形態において、クラウドアプリケーションの完全な冗長化を実施するために、クラウドアプリケーションを作成する場合には、クラウドアプリケーションを作成するためにクラウドアプリケーションテンプレートを直接使用してもよいし、クラウド管理モジュール(105、115)は、クラウドアプリケーションテンプレートを受信して、クラウドアプリケーションテンプレートに従って、クラウドアプリケーションによって使用されることになる仮想マシンおよびネットワークを作成するように仮想化モジュール(104、114)に指示してもよい。クラウドアプリケーションテンプレートはクラウドアプリケーションにとって必要である仮想マシンおよびネットワークなどの情報を完全に記載し得るので、仮想化モジュール(104、114)がクラウドアプリケーションのために仮想マシンをデプロイする場合にはデプロイメントの配慮を全体的に行うことができる、それによって、仮想マシンデプロイメントの効率性を改善している。当然のことながら、仮想マシンを作成する際にクラウドアプリケーションテンプレートを使用しなくてもよく、従来技術における仮想マシンテンプレートをその代わりに使用して、クラウド管理モジュール(105、115)は、仮想マシンを作成するために仮想マシンテンプレートをこれまで通りに提供する。
クラウドアプリケーションによって使用されることになる仮想マシンおよびネットワークが仮想化モジュール(104、114)によって作成された後に、クラウド管理モジュール(105、115)または仮想化モジュール(104、114)は、デプロイされた仮想マシンおよび仮想マシンのネットワークに従って、クラウドアプリケーションのディスクリプション情報であって、クラウドアプリケーションを実行中の仮想マシンに関する情報およびクラウドアプリケーションによって使用されているネットワークに関する情報などの、クラウドアプリケーションを実行中のインスタンスのディスクリプション情報を含む、クラウドアプリケーションのディスクリプション情報を生成してもよい。クラウドアプリケーションのディスクリプション情報を後続の実施形態に詳細に記載する。クラウドアプリケーションのディスクリプション情報が、クラウドアプリケーションの静的ディスクリプション情報を含んでいてもよいこと、同様にクラウドアプリケーションの動的ディスクリプション情報を含んでいてもよいことは、明らかである。仮想化モジュール(104、114)が仮想マシンをデプロイする前に、クラウド管理モジュール(105、115)によって受信したクラウドアプリケーションテンプレートまたは仮想マシンテンプレートにおいて伝達される情報が仮想マシンの数または仕様などのクラウドアプリケーションの静的ディスクリプション情報として参照されてもよいし、仮想化モジュール(104、114)が仮想マシンをデプロイした後に、仮想マシンにデプロイされた物理リソースのロケーションまたはホームネットワークを設定して、そのような情報がクラウドアプリケーションの動的ディスクリプション情報として参照されてもよい。仮想化モジュール(104、114)が仮想マシンをデプロイした後に、クラウド管理モジュール(105、115)は、クラウドアプリケーションの動的ディスクリプション情報および静的ディスクリプション情報を収集して、クラウドアプリケーションのディスクリプション情報を生成してもよい。クラウド管理モジュール(105、115)がクラウドアプリケーションテンプレートを使用してクラウドアプリケーションの静的ディスクリプション情報を取得していた場合には、クラウド管理モジュール(105、115)は、この場合には、クラウドアプリケーションの動的ディスクリプション情報のみを取得してもよい。クラウドアプリケーションのディスクリプション情報はまた、クラウド管理モジュール(105、115)にテンプレートの形式で記録されてもよい。クラウド管理モジュール(105、115)は、新規テンプレートを使用してクラウドアプリケーションのディスクリプション情報を記録してもよいし、またはクラウドアプリケーションテンプレートを更新することによってクラウドアプリケーションのすべてのディスクリプション情報を記憶してもよい。
その他に、本発明の実施形態において、クラウドアプリケーションに基づいた冗長化を実施するために、クラウド管理インターフェース(107、117)をクラウド管理モジュール(105、115)に追加してもよい、このことは、クラウド管理モジュール(105、115)が、稼働サイトにおいて現在実行中のクラウドアプリケーションのクラウドアプリケーションディスクリプション情報についての問い合わせをサポートしているとともに、問い合わせによって取得したクラウドアプリケーションディスクリプション情報に従ってクラウドアプリケーションのために冗長化操作を行うことを意味している。記載を簡潔にするために、本発明の実施形態において、稼働サイトで実行中のクラウドアプリケーションのディスクリプション情報をクラウドアプリケーションの第1のディスクリプション情報と称し、冗長サイトで実行中のクラウドアプリケーションのディスクリプション情報をクラウドアプリケーションの第2のディスクリプション情報と称する。
本発明の実施形態において、システム構成は、図1(a)に示したようなものであってもよく、システムは、稼働サイトおよび冗長サイトに加えて冗長化管理モジュール(120)をさらに備えていてもよい、ここで、冗長化管理モジュール(120)は、稼働サイトにあるクラウド管理モジュール(105)および冗長サイトにあるクラウド管理モジュール(115)に別々に接続されており、冗長化管理モジュール(120)は、クラウド管理モジュール(105)のクラウド管理インターフェース(107)を使用して、稼働サイトにおいて現在実行中のクラウドアプリケーションの第1のディスクリプション情報について問い合わせてもよいし、冗長化管理モジュール(120)は、クラウド管理インターフェース(117)を使用してクラウド管理モジュール(115)にクラウドアプリケーションの決定した第2のディスクリプション情報を登録してもよい。冗長化管理モジュール(120)がクラウドアプリケーションによって稼働サイトまたは冗長サイトにおいて使用されているソース仮想マシンの情報についてさらに問い合わせることができるように、冗長化管理モジュール(120)はまた、仮想化モジュール(104、114)に接続されてもよい。冗長化管理モジュールはまた、ストレージ管理ソフトウェア(106、116)に接続されていてもよい。
さらに、本発明の実施形態において、システム内の稼働サイト100および冗長サイト110はまた、図1(b)に示したように、クラウド管理モジュールを使用して通信のために接続されてもよい、その結果、冗長サイトは、稼働サイトにおいてクラウドアプリケーションのディスクリプション情報、すなわち、第1のディスクリプション情報について問い合わせて、問い合わせによって取得したクラウドアプリケーションの第1のディスクリプション情報に従ってクラウドアプリケーションのための冗長化操作を行うことができる。
図1(a)に示したシステム機構において、1つの冗長化管理モジュールが稼働サイト(100)および冗長サイト(110)によって共有されていてもよいし、または1つの冗長化管理モジュールが稼働サイトおよび冗長サイトに対して別々に設定されていてもよい。図1(c)に示したように、システムは、稼働サイトにある冗長化管理モジュール(120)および冗長サイトにある冗長化管理モジュール(121)を備えている、ここで、稼働サイトにある冗長化管理モジュール(120)は稼働サイト(100)にあるクラウド管理モジュール(105)に接続されており、冗長サイトにある冗長化管理モジュール121は冗長サイト(110)にあるクラウド管理モジュール(125)に接続されており、データが稼働サイトにある冗長化管理モジュール(120)と冗長サイトにある冗長化管理モジュール(121)との間で送信され得る。稼働サイトにある冗長化管理モジュール(120)は、稼働サイト(100)にあるクラウド管理モジュール(105)から稼働サイトのクラウドアプリケーションの第1のディスクリプション情報を取得して、冗長サイトにある冗長化管理モジュール(121)に第1のディスクリプション情報を送信してもよい。冗長サイトにある冗長化管理モジュール(121)は、稼働サイトにある冗長化管理モジュール(120)によって送信された第1のディスクリプション情報を受信して、第1のディスクリプション情報に従って第2のディスクリプション情報を生成して、冗長サイトにあるクラウド管理モジュール(115)に第2のディスクリプション情報を登録してもよい。個別のプロセスを後続の実施形態に記載する。
その他に、図1(a)および図1(c)に示したシステム機構において、冗長サイト(110)にあるクラウド管理モジュール(115)はまた、稼働サイト(100)にあるクラウド管理モジュール(105)に接続されていてもよい、その結果、クラウド管理モジュール(115)は、クラウド管理モジュール(105)から稼働サイトのクラウドアプリケーションの第1のディスクリプション情報を取得することができる。図1(a)および図1(c)の点線の接続は、接続関係がオプションであることを示している。
図1(a)、または図1(b)、または図1(c)に示したシステム機構を参照して図2に示したように、冗長化インシデントが稼働サイトにおいて生じた際の設定情報に従って冗長サイトにある要冗長化クラウドアプリケーションを復旧するために、本発明の実施形態における冗長化方法は、冗長サイトにおいて稼働サイトの要冗長化クラウドアプリケーションを設定するために使用される。方法は、以下を含んでいてもよい。
201: 要冗長化クラウドアプリケーションの第1のディスクリプション情報であって、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソースネットワークに関する情報および要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソース仮想マシンに関する情報を含む、第1のディスクリプション情報を取得する。
202: 第1のディスクリプション情報に従って、要冗長化クラウドアプリケーションの第2のディスクリプション情報であって、要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップネットワークに関する情報および要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップ仮想マシンに関する情報を含む、第2のディスクリプション情報を生成する。
203: 冗長サイトが第2のディスクリプション情報に従って要冗長化クラウドアプリケーションを復旧することができるように、冗長サイトに第2のディスクリプション情報を提供する。
本発明の実施形態において、ステップ201の実行主体は、システム構成によって異なっていてもよい。例えば、図1(b)においては、実行主体は、稼働サイトにあるクラウド管理モジュールまたは冗長サイトにあるクラウド管理モジュールであってもよいし、図1(a)においては、実行主体は、冗長化管理モジュールであってもよいし、図1(c)においては、実行主体は、稼働サイトにある冗長化管理モジュールまたは冗長サイトにある冗長化管理モジュールであってもよい。第1のディスクリプション情報は、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソース仮想マシンに関する情報だけでなく、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソースネットワークに関する情報も含む。要冗長化クラウドアプリケーションに関する全ディスクリプションを付与する第1のディスクリプション情報に基づいて、冗長サイトにある要冗長化クラウドアプリケーションの第2のディスクリプション情報を生成してもよいし、第2のディスクリプション情報はまた、要冗長化クラウドアプリケーションのデプロイメントに関する全ディスクリプションを付与し得る。冗長サイトに第2のディスクリプション情報を提供するステップ203において、動作の実行は異なる実行主体に基づいて変化してもよく、このことを後続の実施形態に詳細に記載することにする。冗長サイトが第2のディスクリプション情報を取得した後に、要冗長化クラウドアプリケーションを第2のディスクリプション情報に従って冗長サイトに完全に復旧することができる、それによって、クラウドアプリケーションに基づいた冗長化を実施している。従来技術における仮想マシン単位に基づいた冗長化の様式とは異なり、本発明の実施形態は、アプリケーションレベルで冗長化に関する設定を実施して、仮想マシン単位に基づいた冗長化に起因する起こり得る問題であって、クラウドアプリケーションを完全かつ迅速に復旧することができないという、問題を回避している。
図1(c)に示したシステム機構を参照して図3に示したように、冗長化インシデントが稼働サイトにおいて生じた際の設定情報に従って冗長サイトにある要冗長化クラウドアプリケーションを復旧するために、本発明の実施形態における冗長化方法は、冗長サイトにおいて稼働サイトの要冗長化クラウドアプリケーションを設定するために使用される。方法は、冗長サイトにある冗長化管理モジュールによって実行されてもよい。方法は、以下を含んでいてもよい。
301: 要冗長化クラウドアプリケーションの第2のディスクリプション情報であって、要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップネットワークに関する情報および要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップ仮想マシンに関する情報を含む、第2のディスクリプション情報を取得する。
302: 冗長サイトにあるクラウド管理モジュールが第2のディスクリプション情報に従って冗長サイトにある要冗長化クラウドアプリケーションを復旧することができるように、冗長サイトにあるクラウド管理モジュールに第2のディスクリプション情報を登録する。
本発明の実施形態において、冗長サイトにある冗長化管理モジュールは、稼働サイトにある冗長化管理モジュールから要冗長化クラウドアプリケーションの第2のディスクリプション情報であって、冗長サイトにある要冗長化クラウドアプリケーションのデプロイメントに関する全ディスクリプションを付与する、第2のディスクリプション情報を取得してもよいし、冗長サイトにある冗長化管理モジュールは、冗長サイトにあるクラウド管理モジュールに取得した第2のディスクリプション情報を登録してもよい、その結果、冗長サイトにあるクラウド管理モジュールは、冗長サイトにある要冗長化クラウドアプリケーションを完全に復旧することができる、それによって、クラウドアプリケーションに基づいた冗長化を実施している。従来技術における仮想マシン単位に基づいた冗長化の様式とは異なり、本発明の実施形態は、アプリケーションレベルで冗長化に関する設定を実施して、仮想マシン単位に基づいた冗長化に起因する起こり得る問題であって、クラウドアプリケーションを完全かつ迅速に復旧することができないという、問題を回避している。
図1(a)、または図1(b)、または図1(c)に示したシステム機構を参照して図4に示したように、本発明の実施形態における冗長化方法は、冗長サイトに稼働サイトの要冗長化クラウドアプリケーションを復旧するために使用される。方法は、冗長サイトにあるクラウド管理モジュールによって実行されてもよい。方法は、以下のステップを含む。
401: 要冗長化クラウドアプリケーションの第2のディスクリプション情報であって、要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップネットワークに関する情報および要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップ仮想マシンに関する情報を含む、第2のディスクリプション情報を取得する。
402: 第2のディスクリプション情報に従って冗長サイトにある要冗長化クラウドアプリケーションを復旧する。
本発明の実施形態において、冗長サイトにあるクラウド管理モジュールは、図1(b)に示した稼働サイトにあるクラウド管理モジュール、または図1(a)に示した冗長化管理モジュール、または図1(c)に示した稼働サイトにある冗長化管理モジュールから、要冗長化クラウドアプリケーションの第2のディスクリプション情報であって、冗長サイトにある要冗長化クラウドアプリケーションのデプロイメントに関する全ディスクリプションを付与する、第2のディスクリプション情報を取得してもよいし、第2のディスクリプション情報を取得した後に、冗長サイトにあるクラウド管理モジュールは、冗長サイトにある要冗長化クラウドアプリケーションを完全かつ迅速に復旧してもよい、それによって、クラウドアプリケーションに基づいた冗長化を実施している。従来技術における仮想マシン単位に基づいた冗長化の様式とは異なり、本発明の実施形態は、アプリケーションレベルで冗長化に関する設定および復旧を実施して、仮想マシン単位に基づいた冗長化に起因する起こり得る問題であって、クラウドアプリケーションを完全かつ迅速に復旧することができないという、問題を回避している。
特定の実施形態1における設定プロセス
図1(a)に示したシステム機構を参照して図5に示したように、冗長化インシデントが稼働サイトにおいて生じた際の設定情報に従って冗長サイトにある要冗長化クラウドアプリケーションを復旧するために、本発明の実施形態によって提供される冗長化方法は、冗長サイトにおいて稼働サイトの要冗長化クラウドアプリケーションを設定するために使用される。方法は、冗長化管理モジュールによって実行されてもよい。方法は、以下を含んでいてもよい。
501: 稼働サイトにあるクラウド管理モジュールから要冗長化クラウドアプリケーションの第1のディスクリプション情報であって、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソースネットワークに関する情報および要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソース仮想マシンに関する情報を含む、第1のディスクリプション情報を取得する。
ソース仮想マシンに関する情報は、ソース仮想マシンの識別子および仕様、ソース仮想マシンによって稼働サイトにおいて占有されている第1のストレージユニットに関する情報、ならびにソース仮想マシンのホームネットワークに関する情報を含む。
さらに、バックアップ仮想マシンのホームネットワークに関する情報は、ソース仮想マシンのネットワークアドレスまたはソース仮想マシンの仮想ネットワークアダプタとソースネットワークとの間の関連付けを含む。
例えば、図1(a)に示したシステム機構において、APP1、APP2、およびAPP3を含む、3つのクラウドアプリケーションが、稼働サイトで動作している。稼働サイトにあるクラウド管理モジュールは、各クラウドアプリケーションのトポロジー関係を記憶していてもよい、ここで、クラウドアプリケーションのトポロジー関係をクラウドアプリケーションの第1のディスクリプション情報を使用して表現してもよい。例として、クラウドアプリケーションAPP1の第1のディスクリプション情報を図6に示す。
APP1が要冗長化クラウドアプリケーションであると決定された場合には、稼働サイトにあるクラウド管理モジュールまたは冗長化管理モジュールは、APP1の第1のディスクリプション情報を取得してもよい。APP1の第1のディスクリプション情報は、表1に示したようなものであってもよく、以下のことを含む。
1)APP1によって稼働サイトにおいて使用されているソースネットワークに関する情報
ソースネットワークに関する情報は、クラウドアプリケーションを実行中のソース仮想マシンが存在しているサブネット(Subnet)に関する情報、またはクラウドアプリケーションを実行中の仮想マシンが存在している仮想ローカルエリアネットワーク(Virtual Local Area Network、VLAN)に関する情報、またはその両方であってもよい。例えば、
APP1は、Network1およびNetwork2を使用している。
Network1(Subnetアドレス:10.100.35.0/24、VLAN ID=35)
Network2(Subnetアドレス:10.100.36.0/24、VLAN ID=36)
2)APP1によって稼働サイトにおいて使用されているソース仮想マシンの識別子および仕様
ソース仮想マシンの識別子は、稼働サイトによって割り振られ、ユニバーサルユニーク識別子(Universally Unique Identifier、uuid)であってもよいし、ソース仮想マシンの仕様は、プロセッサおよびメモリに関する情報を含む。例えば、稼働サイトがクラウドアプリケーションAPP1を実行するためにソース仮想マシンVM1、VM2、およびVM3を使用している場合には、APP1によって稼働サイトにおいて使用されているソース仮想マシンの識別子および仕様は、以下の通りである。
VM1(uuid=1、2VCPU、60Gメモリ)
VM2(uuid=2、2VCPU、60Gメモリ)
VM3(uuid=3、2VCPU、40Gメモリ)
3)APP1によって使用されているソース仮想マシンによって稼働サイトにおいて占有されている第1のストレージユニットに関する情報
ソース仮想マシンによって稼働サイトにおいて占有されている第1のストレージユニットに関する情報は、単一の仮想マシンのストレージユニットに関する情報であってもよい。例えば、APP1によって使用されているソース仮想マシンによって占有されている第1のストレージユニットに関する情報は、VM1->LUN1およびLUN2、VM2->LUN1、ならびにVM3-> LUN2およびLUN3である、または要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されている第1のストレージユニットに関する全情報であってもよい。例えば、APP1によって使用されているソース仮想マシンによって占有されている第1のストレージユニットに関する情報は、LUN1、LUN2、およびLUN3であり、この場合には、ソース仮想マシンによって稼働サイトにおいて占有されている第1のストレージユニットに関する情報は、ソース仮想マシンとソース仮想マシンによって占有されているストレージユニットとの間の関連付けを含んでいなくてもよい。ソース仮想マシンの識別子はソース仮想マシンによって占有されているストレージユニットに記憶されているので、稼働サイトにあるクラウド管理モジュールまたは冗長サイトは、ソース仮想マシンの識別子に従って、どのLUNのどのディスクファイルがソース仮想マシンによって使用されているかを決定してもよい、すなわち、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソース仮想マシンとソース仮想マシンによって占有されているストレージユニットとの間の関連付けを決定してもよい。
4)APP1によって稼働サイトにおいて使用されているソース仮想マシンのネットワークアドレス
要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソース仮想マシンのネットワークアドレスは、特にソース仮想マシンの仮想ネットワークアダプタのIPアドレスであってもよい。例えば、APP1によって使用されているソース仮想マシンのネットワークアドレスは、
VM1-VNIC1->IPアドレス:10.100.35.10/24、
VM2-VNIC2->IPアドレス:10.100.35.11/24、
VM3-VNIC3->IPアドレス:10.100.35.12/24、
VM3-VNIC3'->IPアドレス:10.100.36.12/24である。
5) APP1によって使用されているソース仮想マシンの仮想ネットワークアダプタとソースネットワークとの間の関連付け
例えば、APP1によって使用されているソース仮想マシンの仮想ネットワークアダプタとソースネットワークとの間の関連付けは、VM1-VNIC1->Network1に接続、VM2-VNIC2->Network2に接続、VM3-VNIC3->Network1に接続、VM3-VNIC3'->Network2に接続である。
前述において、4)および5)は、2つのオプション要素である。APP1のソース仮想マシンのホームネットワークに関する情報は、4)または5)のうちのいずれか1つを含んでいてもよいし、または4)および5)の両方を含んでいてもよい。
特に、稼働サイトにあるクラウド管理モジュールから要冗長化クラウドアプリケーションの第1のディスクリプション情報を取得するステップ501を実施するための次の2つの方法が存在し得る。
1)第1の方法
冗長化管理モジュールは、稼働サイトにあるクラウド管理モジュールに接続されているインターフェースを使用して、稼働サイトにあるクラウド管理モジュールから要冗長化クラウドアプリケーションの第1のディスクリプション情報について問い合わせる、ここで、稼働サイトにあるクラウド管理モジュールは、クラウドアプリケーションの仮想マシンがデプロイされた後に、クラウドアプリケーションの実行中のインスタンスの静的ディスクリプション情報および動的ディスクリプション情報を収集して第1のディスクリプション情報を生成してもよい。
2)第2の方法
冗長化管理モジュールは、稼働サイトにあるクラウド管理モジュールに接続されているインターフェースを使用して稼働サイトにあるクラウド管理モジュールから、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソース仮想マシンの識別子および仕様、ソース仮想マシンによって稼働サイトにおいて占有されている第1のストレージユニットに関する情報、ならびにソース仮想マシンのネットワークアドレスについて問い合わせて、第1のディスクリプション情報を生成する。
特に、第1のディスクリプション情報を生成するステップは、ソース仮想マシンのネットワークアドレスに従って、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソースネットワークに関する情報を決定するステップと、ソース仮想マシンのホームネットワークに関する情報を決定するステップと、ソースネットワークに関する情報、ソース仮想マシンの識別子および仕様、ソース仮想マシンによって稼働サイトにおいて占有されている第1のストレージユニットに関する情報、ならびにソース仮想マシンのホームネットワークに関する情報に従って第1のディスクリプション情報を取得するステップとを含む。例えば、ソース仮想マシンVM1の仮想ネットワークアダプタのIPアドレスが10.100.35.10/24である場合には、IPアドレスのマスクが255.255.255.0であることを取得し得るし、AND演算をIPアドレスとマスクとの間で行い、APP1によって稼働サイトにおいて使用されているSubnetアドレスが10.100.35.0/24であることを取得する、同様に、APP1によって稼働サイトにおいて使用されているSubnetアドレスが、VM2の仮想ネットワークアダプタのIPアドレスおよびVM3の仮想ネットワークアダプタのIPアドレスに別々に基づいて、10.100.35.0/24および10.100.36.0/24であることを取得する、したがって、APP1によって稼働サイトにおいて使用されているソースネットワークに関する情報がNetwork1(Subnetアドレス:10.100.35.0/24)およびNetwork2(Subnetアドレス:10.100.36.0/24)であることを取得することができる。最終的に、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソースネットワークに関する生成情報、ソース仮想マシンの識別子および仕様、ソース仮想マシンによって稼働サイトにおいて占有されている第1のストレージユニットに関する情報、ならびにソース仮想マシンのネットワークアドレスに従って、APP1の第1のディスクリプション情報を、表1に示したように、生成する。
さらに、ソース仮想マシンのホームネットワークに関する情報がソース仮想マシンの仮想ネットワークアダプタとソースネットワークとの間の関連付けを含む場合には、ソース仮想マシンの仮想ネットワークアダプタとソースネットワークとの間の関連付けをソースネットワークに関する情報およびソース仮想マシンのネットワークアドレスに従って決定してもよい。例えば、APP1のソースネットワークに関する情報がNetwork1(Subnetアドレス:10.100.35.0/24、VLAN ID=35)、およびNetwork2(Subnetアドレス:10.100.36.0/24、VLAN ID=36)である場合には、APP1によって使用されているソース仮想マシンのネットワークアドレスVM1-VNIC1->IPアドレス:10.100.35.10/24に従って、ソース仮想マシンの仮想ネットワークアダプタのIPアドレスがネットワークセグメント10.100.35.0/24に属すると決定することができ、そして、VM1-VNIC1がNetwork1に関連付けられていることをさらに決定することができる、同様に、VM2-VNIC2がNetwork1に関連付けられ、VM3-VNIC3がNetwork1に関連付けられ、VM3-VNIC3'がNetwork2に関連付けられていると決定することができる、すなわち、APP1のソース仮想マシンの仮想ネットワークアダプタとソースネットワークとの間の関係を取得する。
502: ソース仮想マシンに関する情報に従って、要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップ仮想マシンの識別子および仕様を決定する。
第1のディスクリプション情報を取得した後に、冗長化管理モジュールは、ソース仮想マシンに関する情報において伝達されるソース仮想マシンの識別子および仕様に従って、要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップ仮想マシンの識別子および仕様を決定してもよい。特に、要冗長化クラウドアプリケーションを冗長サイトに復旧する場合には、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソース仮想マシンのために、バックアップ仮想マシンを対応するように作成する必要がある。要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップ仮想マシンの仕様は、ソース仮想マシンの仕様と同一である。したがって、仮想マシン識別子をソース仮想マシンの識別子に従ってバックアップ仮想マシンに対して設定してもよいし、バックアップ仮想マシンの仕様をソース仮想マシンの仕様に従って決定してもよい、ここで、バックアップ仮想マシンの識別子は、ソース仮想マシンの識別子と同一であっても異なっていてもよい。
例えば、APP1によって使用されている3つのソース仮想マシンの識別子および仕様は、VM1(uuid=1; 2VCPU、60Gメモリ)、VM2(uuid=1; 2VCPU、60Gメモリ)、およびVM3(uuid=1; 2VCPU、40Gメモリ)である。要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップ仮想マシンとして3つの仮想マシンを3つのソース仮想マシンに対して対応するように設定してもよい、すなわち、バックアップ仮想マシンVM11'(uuid=11)をVM1(uuid=1)に対して対応するように設定して、バックアップ仮想マシンVM12'(uuid=12)をVM2(uuid=2)に対して対応するように設定して、バックアップ仮想マシンVM13'(uuid=13)をVM3(uuid=3)に対して対応するように設定する。VM11'(uuid=11)、VM12'(uuid=12)、およびVM13'(uuid=13)の仕様が、表1に示したように、VM1(uuid=1)、VM2(uuid=2)、およびVM3(uuid=3)の仕様にそれぞれ一致すると決定されると、バックアップ仮想マシンの識別子および仕様が、VM11'(uuid=11、2VCPU、60Gメモリ)、VM12'(uuid=12、2VCPU、60Gメモリ)、およびVM13'(uuid=13、2VCPU、40Gメモリ)であると決定される。
503: ソース仮想マシンに関する情報に従って、バックアップ仮想マシンによって冗長サイトにおいて占有されている第2のストレージユニットに関する情報を決定する。
第1のディスクリプション情報を取得した後に、冗長化管理モジュールは、ソース仮想マシンに関する情報において伝達される第1のストレージユニットに関する情報に従って第2のストレージユニットに関する情報を決定してもよい。以下の3つのステップを特に含んでいてもよい。
503a: 冗長サイトのアイドルストレージユニットを取得する。
冗長サイトのストレージ管理ソフトウェアは、冗長サイトのストレージノードを管理してもよいし、ストレージノードのすべてのストレージユニットのリソース占有の統計を収集することが可能である。したがって、冗長化管理モジュールは、冗長サイトのストレージ管理ソフトウェアに問い合わせることによってアイドルストレージユニットに関する情報を取得してもよい。例えば、LUN1'からLUN6'が占有されており、LUN7'からLUN15'が占有されていないという、冗長サイトのSANデバイスのLUNリソース占有の統計を、冗長サイトのストレージ管理ソフトウェアが収集している場合には、取得されるアイドルストレージユニットは、LUN7'からLUN15'である。
503b: 冗長サイトのアイドルストレージユニットから第2のストレージユニットを選択する。
冗長化管理モジュールは、第1のストレージユニットに関する情報に従って第2のストレージユニットとして冗長サイトのアイドルストレージユニットからストレージユニットを選択してもよい。例えば、APP1によって使用されているソース仮想マシンによって占有されている第1のストレージユニットがLUN1、LUN2、およびLUN3であり、3つのストレージユニットがアイドルストレージユニットLUN7'からLUN15'まで第2のストレージユニットとして選択される場合には、第2のストレージユニットは、LUN7'、LUN8'、およびLUN9'を含む。
503c: 第1のストレージユニットと第2のストレージユニットとの間の複製関係を作成して、バックアップ仮想マシンによって冗長サイトにおいて占有されている第2のストレージユニットに関する情報を決定する。
第2のストレージユニットを決定した後に、冗長化管理モジュールは、第1のストレージユニットと第2のストレージユニットとの間の複製関係をさらに決定して、複製関係に従って、バックアップ仮想マシンによって冗長サイトにおいて占有されている第2のストレージユニットに関する情報を決定してもよい。特に、要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップ仮想マシンの識別子および仕様を決定した後に、冗長化管理モジュールは、ソース仮想マシン識別子とバックアップ仮想マシン識別子との間の対応付けをさらに作成して、ソース仮想マシン識別子とバックアップ仮想マシン識別子との間の対応付け、ソース仮想マシンによって稼働サイトにおいて占有されている第1のストレージユニットに関する情報、および第1のストレージユニットと第2のストレージユニットとの間の複製関係に従って、バックアップ仮想マシンによって冗長サイトにおいて占有されている第2のストレージユニットに関する情報を決定してもよい。例えば、APP1によって使用されているソース仮想マシンによって稼働サイトにおいて占有されている第1のストレージユニットが、VM1->LUN1およびLUN2、VM2->LUN1、ならびにVM3->LUN2およびLUN3であり、APP1によって使用されているバックアップ仮想マシンによって冗長サイトにおいて占有されている第2のストレージユニットが、LUN7'、LUN8'、およびLUN9'であり、ユーザがVM1(uuid=1)->VM11'(uuid=11)、VM2(uuid=2)->VM12'(uuid=12)、およびVM3(uuid=3)->VM13'(uuid=13)に従って(LUN1、LUN2、およびLUN3)と(LUN7'、LUN8'、およびLUN9')との間の複製関係をLUN1->LUN7'、LUN2->LUN8'、およびLUN3->LUN9'というように直接指定し得る場合には、バックアップ仮想マシンによって冗長サイトにおいて占有されている第2のストレージユニットに関する情報が、VM11'(uuid=11)->LUN7'およびLUN8'、VM12'(uuid=12)->LUN7'、ならびにVM13'(uuid=13)->LUN8'およびLUN9'であると決定することができ、第1のストレージ
ユニットと第2のストレージユニットとの間の複製関係をユーザの指定に従って決定してもよい。
バックアップ仮想マシンによって冗長サイトにおいて占有されている第2のストレージユニットに関する情報は、単一の仮想マシンのストレージユニットに関する情報、例えば、VM11'(uuid=11)->LUN7'およびLUN8'、VM12'(uuid=12)->LUN7'、ならびにVM13'(uuid=13)->LUN8'およびLUN9'であってもよい。あるいは、バックアップ仮想マシンによって冗長サイトにおいて占有されている第2のストレージユニットに関する情報は、要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されている第2のストレージユニットに関する全情報、例えば、LUN7'、LUN8'およびLUN9'であってもよく、この場合には、バックアップ仮想マシンによって稼働サイトにおいて占有されている第1のストレージユニットに関する情報が、バックアップ仮想マシンとバックアップ仮想マシンによって占有されているストレージユニットとの間の関連付けを含んでいなくてもよいが、ソース仮想マシン識別子は第2のストレージユニットに記憶されており、バックアップ仮想マシンとバックアップ仮想マシンによって占有されているストレージユニットとの間の関連付けをソース仮想マシン識別子およびバックアップ仮想マシン識別子に従って決定してもよい。
504: 第2のストレージユニットに第1のストレージユニットのデータを複製するように稼働サイトのストレージ管理ソフトウェアおよび冗長サイトのストレージ管理ソフトウェアに指示する。
ステップ503の後に、冗長化管理モジュールは、稼働サイトのストレージ管理ソフトウェアおよび冗長サイトのストレージ管理ソフトウェアに第1のストレージユニットと第2のストレージユニットとの間の複製関係を設定する、その結果、稼働サイトのストレージ管理ソフトウェアおよび冗長サイトのストレージ管理ソフトウェアは、第1のストレージユニットと第2のストレージユニットとの間の複製関係ならびに規定の複製周期および複製様式に従って第2のストレージユニットに第1のストレージユニットのデータを複製することができる。
例えば、APP1によって使用されているソース仮想マシンによって稼働サイトにおいて占有されている第1のストレージユニットは、LUN1、LUN2、およびLUN3であり、APP1によって使用されているバックアップ仮想マシンによって冗長サイトにおいて占有されている第2のストレージユニットは、LUN7'、LUN8'、およびLUN9'であり、(LUN1、LUN2、およびLUN3)と(LUN7'、LUN8'、およびLUN9')との間の複製関係がLUN1->LUN7'、LUN2->LUN8'、およびLUN3->LUN9'であると決定されると、複製関係は、稼働サイトのストレージ管理ソフトウェアおよび冗長サイトに設定される、その結果、稼働サイトのストレージ管理ソフトウェアおよび冗長サイトが、プリセット時間、例えば5分、おきに増分形式で、LUN1、LUN2、およびLUN3のデータをLUN7'、LUN8'、およびLUN9'にそれぞれ複製する。
505: ソースネットワークに関する情報に従って要冗長化クラウドアプリケーションのためにバックアップネットワークに関する情報を構成する。
第1のディスクリプション情報を取得した後に、冗長化管理モジュールは、第1のディスクリプション情報において伝達されるソースネットワークに関する情報に従って要冗長化クラウドアプリケーションのためにバックアップネットワークに関する情報を構成してもよい。特に、ソースネットワークに関する情報は、要冗長化クラウドアプリケーションを実行中のソース仮想マシンが存在しているサブネット(Subnet)、または要冗長化クラウドアプリケーションを実行中のソース仮想マシンが存在している仮想ローカルエリアネットワーク(仮想ローカルエリアネットワーク、VLAN)、またはその両方に関する情報であってもよいので、ソースネットワークに関する情報に従って要冗長化クラウドアプリケーションのためにバックアップネットワークに関する情報を構成するステップは、ソースネットワークのサブネット情報に従って、冗長サイトの未使用のSubnetアドレスにSubnetアドレスを割り振り、それをバックアップネットワークのサブネット情報として使用するステップと、
ソースネットワークのVLAN情報に従って、冗長サイトの未使用のVLAN IDにVLAN IDを割り振り、それをバックアップネットワークのVLAN情報として使用するステップとであってもよい。
この場合には、バックアップネットワークに関する情報は、バックアップネットワークのサブネット情報であってもよいし、またはバックアップネットワークのVLAN情報であってもよいし、またはその両方であってもよい。
冗長サイトの未使用のSubnetアドレスおよびVLAN IDを、事前に記憶していてもよいし、またはユーザから取得してもよいし、またはルールに従って決定してもよい。APP1のバックアップネットワークを設定するプロセスにおいて、Subnetアドレスおよび/またはVLAN IDは、冗長サイトの未使用のSubnetアドレスおよび/またはVLAN IDから選択され、バックアップネットワークに関する情報としての役割を果たしてもよい。
例えば、APP1によって使用されているソースネットワークに関する情報は、Network1(Subnetアドレス:10.100.35.0/24、VLAN ID=35)、Network2(Subnetアドレス:10.100.36.0/24、VLAN ID=36)であり、冗長サイトの未使用のネットワークにおける2つのSubnetアドレスおよび2つのVLAN IDは、ユーザ命令に従ってAPP1のバックアップネットワークに関する情報として指定されていてもよい。特に、Network1およびNetwork2のSubnetアドレスに対して指定されている対応するバックアップSubnetアドレスが、10.100.35.0/24->20.200.135.0/24、および10.100.36.0/24->20.200.136.0/24であり、Network1およびNetwork2のVLAN IDに対して指定されている対応するバックアップVLAN IDが、VLAN ID=35->135、およびVLAN ID=36->136である場合には、APP1のバックアップネットワークに関する情報は、network1'(Subnetアドレス:20.200.135.0/24、VLAN ID=135)、network2'(Subnetアドレス:20.200.136.0/24、VLAN ID=136)である。
その他に、冗長サイトの未使用のSubnetアドレスおよびVLAN IDは、ソースネットワークのSubnetアドレスおよびVLAN IDと一致しているSubnetアドレスおよびVLAN IDを含んでいてもよい。したがって、バックアップネットワークに関する情報は、ソースネットワークに関する情報と同一となるように指定されていてもよい、その結果、ソース仮想マシンのネットワークアドレスは、バックアップ仮想マシンのネットワークアドレスと同一であってもよい、すなわち、要冗長化クラウドアプリケーションは、サービス処理のための稼働サイトおよび冗長サイトにおいて同一のネットワークアドレスを使用することができる。例えば、冗長サイトの未使用のSubnetアドレスが10.100.35.0/24および10.100.36.0/24を含み、冗長サイトの未使用のVLAN IDがVLAN ID=35およびVLAN ID=36を含んでいる場合には、バックアップネットワークに関する情報を、network1'(Subnetアドレス:10.100.135.0/24、VLAN ID=35)、network2'(Subnetアドレス:10.100.136.0/24、VLAN ID=36)というように設定してもよい、その結果、バックアップネットワークnetwork1'およびnetwork2'に関する情報が、ソースネットワークNetwork1およびNetwork2に関する情報と同一となる、したがって、冗長化の期間中、ソース仮想マシンのものと同一であるネットワークアドレスが、バックアップ仮想マシンに割り振られてもよい。
506: ソース仮想マシンに関する情報およびバックアップネットワークに関する情報に従ってバックアップ仮想マシンのホームネットワークに関する情報を決定する。
第1のディスクリプション情報を取得した後に、冗長化管理モジュールは、ソース仮想マシンのホームネットワークに関する情報、バックアップ仮想マシンの識別子、およびバックアップネットワークに関する情報をさらに取得して、ソース仮想マシンのホームネットワークに関する情報、バックアップ仮想マシンの識別子、およびバックアップネットワークに関する情報に従ってバックアップ仮想マシンのホームネットワークに関する情報を決定してもよい、ここで、バックアップ仮想マシンのホームネットワークに関する情報は、バックアップ仮想マシンのネットワークアドレス、またはバックアップ仮想マシンの仮想ネットワークアダプタとバックアップネットワークとの間の関連付けを含んでいてもよい。
ソース仮想マシンのホームネットワークに関する情報は、ソース仮想マシンのネットワークアドレスまたはソース仮想マシンの仮想ネットワークアダプタとソースネットワークとの間の関連付けを含んでいるので、ソース仮想マシンのホームネットワークに関する情報、バックアップ仮想マシンの識別子、およびバックアップネットワークに関する情報に従ってバックアップ仮想マシンのホームネットワークに関する情報を決定するステップは、(1)ソース仮想マシンのホームネットワークに関する情報において伝達されるソース仮想マシンのネットワークアドレスおよびソースネットワークに関する情報に従ってソース仮想マシンの仮想ネットワークアダプタとソースネットワークとの間の関連付けを決定するステップと、ソース仮想マシンの仮想ネットワークアダプタとソースネットワークとの間の関連付け、バックアップ仮想マシンの識別子およびバックアップネットワークに関する情報に従ってバックアップ仮想マシンのネットワークアドレスを決定するステップとを含んでいてもよい、その結果、冗長化の後に、要冗長化クラウドアプリケーションは、指定されたバックアップ仮想マシンのネットワークアドレスを使用することができる、ここで、ソース仮想マシンのネットワークアドレスおよびソースネットワークに関する情報に従ってソース仮想マシンの仮想ネットワークアダプタとソースネットワークとの間の関連付けを決定するステップの個別の実施様態については、ステップ501を参照するものとする、または、
(2)ソース仮想マシンのホームネットワークに関する情報において伝達される、ソース仮想マシンの仮想ネットワークアダプタとソースネットワークとの間の関連付けを取得するステップと、ソース仮想マシンの仮想ネットワークアダプタとソースネットワークとの間の関連付け、バックアップ仮想マシンの識別子、およびバックアップネットワークに関する情報に従ってバックアップ仮想マシンのネットワークアドレスを決定するステップとを含んでいてもよい、または、
(3)ソースネットワークに関する情報およびソース仮想マシンのホームネットワークに関する情報において伝達されるソース仮想マシンのネットワークアドレスに従ってソース仮想マシンの仮想ネットワークアダプタとソースネットワークとの間の関連付けを決定するステップと、バックアップネットワークに関する情報、バックアップ仮想マシンの識別子、およびソース仮想マシンの仮想ネットワークアダプタとソースネットワークとの間の関連付けに従ってバックアップ仮想マシンの仮想ネットワークアダプタとバックアップネットワークとの間の関連付けを決定するステップとを含んでいてもよい、ここで、バックアップ仮想マシンの仮想ネットワークアダプタとバックアップネットワークとの間の関連付けは、事前に決定されていなくてもよい、その代わりに、バックアップ仮想マシンの仮想ネットワークアダプタとバックアップネットワークとの間の関連付けは、冗長化プロセス中にはバックアップネットワークに関する情報およびバックアップ仮想マシンのネットワークアドレスに従って決定される、または、
(4)ソース仮想マシンのホームネットワークに関する情報において伝達される、ソース仮想マシンの仮想ネットワークアダプタとソースネットワークとの間の関連付けを取得するステップと、ソース仮想マシンの仮想ネットワークアダプタとソースネットワークとの間の関連付け、バックアップ仮想マシンの識別子、およびバックアップネットワークに関する情報に従ってバックアップ仮想マシンの仮想ネットワークアダプタとバックアップネットワークとの間の関連付けを決定するステップとを含んでいてもよい。
さらに、冗長化管理モジュールは、要冗長化クラウドアプリケーションのためにバックアップネットワークに関する情報を構成した後にソースネットワークに関する情報とバックアップネットワークに関する情報との間の対応付けをさらに作成して、要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップ仮想マシンの識別子および仕様を決定した後にソース仮想マシンの識別子とバックアップ仮想マシンの識別子との間の対応付けをさらに作成する。したがって、ソース仮想マシンの仮想ネットワークアダプタとソースネットワークとの間の関連付け、バックアップ仮想マシンの識別子、およびバックアップネットワークに関する情報に従ってバックアップ仮想マシンのネットワークアドレスを決定するステップは、特に、バックアップ仮想マシンのネットワークアドレスをソースネットワークに関する情報とバックアップネットワークに関する情報との間の対応付け、ソース仮想マシンの識別子とバックアップ仮想マシンの識別子との間の対応付け、およびソース仮想マシンの仮想ネットワークアダプタとソースネットワークとの間の関連付けに従って決定し得ることであってもよい。例えば、APP1によって稼働サイトにおいて使用されているソース仮想マシンのネットワークアドレスは、VM1-VNIC1->IPアドレス:10.100.35.10/24、VM2-VNIC2->IPアドレス:10.100.35.11/24、VM3-VNIC3->IPアドレス:10.100.35.12/24、およびVM3-VNIC3'->IPアドレス:10.100.36.12/24であり、APP1のために構成されるバックアップネットワークに関する情報は、network1'(Subnetアドレス:20.200.135.0/24)、およびnetwork2'(Subnetアドレス:20.200.136.0/24)である。VM3-VNIC3'->IPアドレス:10.100.36.12/24は、Network2(Subnetアドレス:10.100.36.0/24)に属しているので、Network2に対応するバックアップネットワークnetwork2'(Subnetアドレス:20.200.136.0/24)における1つのIPアドレスが、バックアップ仮想マシンVM13'のネットワークアドレスと
して指定される。VM1-VNIC1->IPアドレス:10.100.35.10/24、VM2-VNIC2->IPアドレス:10.100.35.11/24、およびVM3-VNIC3->IPアドレス:10.100.35.12/24は、Network1(Subnetアドレス:10.100.35.0/24)に属しているので、Network1に対応するバックアップネットワークnetwork1'(Subnetアドレス:20.200.135.0/24)における3つのIPアドレスが、バックアップ仮想マシンVM11'、VM12'、およびVM13'の仮想ネットワークアダプタのIPアドレスとして指定される。そして、APP1によって冗長サイトにおいて使用されているバックアップ仮想マシンのネットワークアドレスは、VM11'-VNIC11->IPアドレス:20.200.135.10/24、VM12'-VNIC12->IPアドレス:20.200.135.11/24、VM13'-VNIC13->IPアドレス:20.200.135.12/24、およびVM3-VNIC13'->IPアドレス:20.200.136.12/24であってもよい。バックアップ仮想マシンのネットワークアドレスは、事前に設定されていなくてもよいが、冗長化プロセス中にはバックアップ仮想マシンの仮想ネットワークアダプタとバックアップネットワークとの間のバックアップネットワークに関する情報および関係に従って割り振られる。
ソース仮想マシンの仮想ネットワークアダプタとソースネットワークとの間の関連付け、バックアップ仮想マシンの識別子、およびバックアップネットワークに関する情報に従ってバックアップ仮想マシンのホームネットワークに関する情報を決定するステップは、特に、ソースネットワークに関する情報とバックアップネットワークに関する情報との間の対応付け、ソース仮想マシンの識別子とバックアップ仮想マシンの識別子との間の対応付け、およびソース仮想マシンの仮想ネットワークアダプタとソースネットワークとの間の関連付けに従ってバックアップ仮想マシンの仮想ネットワークアダプタとバックアップネットワークとの間の関連付けを決定するステップであってもよい。例えば、APP1のソース仮想マシンの識別子とバックアップ仮想マシンの識別子との間の対応付けは、VM1(uuid=1)->VM11'(uuid=11)、VM2(uuid=2)->VM12'(uuid=12)、およびVM3(uuid=3)->VM13'(uuid=13)であり、APP1のソースネットワークに関する情報とバックアップネットワークに関する情報との間の対応付けは、Network1->network1'、およびNetwork2->network2'であり、APP1によって使用されているソース仮想マシンの仮想ネットワークアダプタとソースネットワークとの間の関連付けは、VM1(uuid=1)-VNIC1->Network1に接続、VM2(uuid=2)-VNIC1->Network2に接続、VM3(uuid=3)-VNIC1->Network1に接続、およびVM3(uuid=3)-VNIC1->Network2に接続である。そして、VM1(uuid=1)->Network1に接続という関連付けに従って、VM11'(uuid=11)-VNIC11がnetwork1'に関連付けられていると決定することができる、同様に、VM12'(uuid=12)-VNIC12がnetwork2'に関連付けられ、VM13'(uuid=13)-VNIC13がnetwork1'に関連付けられ、およびVM13'(uuid=13)-VNIC13'がnetwork2'に関連付けられていると決定することができる、すなわち、APP1によって使用されている仮想ネットワークアダプタとバックアップネットワークとの間の関連付けを取得する。
507: バックアップネットワークに関する情報、バックアップ仮想マシンの識別子および仕様、第2のストレージユニットに関する情報、ならびにバックアップ仮想マシンのホームネットワークに関する情報に従って第2のディスクリプション情報を取得する。
冗長化管理モジュールは、第2のディスクリプション情報であって、要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップネットワークに関する情報および要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップ仮想マシンに関する情報を含み、バックアップ仮想マシンに関する情報は、バックアップ仮想マシンの識別子および仕様、バックアップ仮想マシンによって冗長サイトにおいて占有されている第2のストレージユニットに関する情報、ならびにバックアップ仮想マシンのホームネットワークに関する情報を含む、第2のディスクリプション情報を生成してもよい。
例えば、APP1の第2のディスクリプション情報は、表2に示したようなものであってもよい。
508: 冗長サイトにあるクラウド管理モジュールに第2のディスクリプション情報を登録する。
冗長化管理モジュールによって、冗長サイトにあるクラウド管理モジュールに第2のディスクリプション情報を登録するステップについての2つの様式が存在し得る。第1の様式では、冗長化管理モジュールは、冗長サイトにあるクラウド管理モジュールに第2のディスクリプション情報を直接登録する、その結果、冗長サイトにあるクラウド管理モジュールが、第2のディスクリプション情報に従って冗長サイトにある要冗長化クラウドアプリケーションを復旧する。第2の様式では、冗長化管理モジュールは、稼働サイトにあるクラウド管理モジュールに第2のディスクリプション情報を送信する、その結果、稼働サイトにあるクラウド管理モジュールが、クラウド管理インターフェースを使用して冗長サイトにあるクラウド管理モジュールに第2のディスクリプション情報を登録する。
本発明の実施形態において、冗長化管理モジュールは、要冗長化クラウドアプリケーションの第1のディスクリプション情報であって、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソース仮想マシンに関する情報を含むだけでなく、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソースネットワークに関する情報も含む、第1のディスクリプション情報を取得することが可能である。要冗長化クラウドアプリケーションに関する全ディスクリプションを付与する第1のディスクリプション情報に基づいて、冗長サイトにある要冗長化クラウドアプリケーションによって使用されているバックアップネットワークに関する情報および冗長サイトにある要冗長化クラウドアプリケーションによって使用されているバックアップ仮想マシンに関する情報を、要冗長化クラウドアプリケーションに対して設定することができる、すなわち、冗長サイトにある要冗長化クラウドアプリケーションの第2のディスクリプション情報であって、冗長サイトにある要冗長化クラウドアプリケーションのデプロイメントに関する全ディスクリプションを付与する、第2のディスクリプション情報を生成することができる。冗長化管理モジュールは、冗長サイトにあるクラウド管理モジュールに第2のディスクリプション情報を登録する、その結果、冗長サイトにあるクラウド管理モジュールは、冗長サイトに要冗長化クラウドアプリケーションを完全に復旧することができる、それによって、クラウドアプリケーションに基づいた冗長化を実施している。従来技術における仮想マシン単位に基づいた冗長化の様式とは異なり、本発明の実施形態は、アプリケーションレベルで冗長化に関する設定を実施して、仮想マシン単位に基づいた冗長化に起因する起こり得る問題であって、クラウドアプリケーションを完全かつ迅速に復旧することができないという、問題を回避している。
特定の実施形態1における復旧プロセス
図1(a)に示したシステム機構を参照して図7に示したように、本発明の実施形態における冗長化方法は、冗長化インシデントが稼働サイトにおいて発生すると、冗長サイトに稼働サイトの要冗長化クラウドアプリケーションを復旧するために使用される。方法は、冗長サイトにあるクラウド管理モジュールによって実行されてもよい。方法は、以下を含んでいてもよい。
701: 冗長化管理モジュールから登録情報であって、要冗長化クラウドアプリケーションの第2のディスクリプション情報を伝達する、登録情報を受信する。
冗長サイトにあるクラウド管理モジュールは、冗長化管理モジュールから登録情報を受信して、登録情報において伝達される要冗長化クラウドアプリケーションの第2のディスクリプション情報を取得してもよい、ここで、冗長化管理モジュールからの登録情報は、冗長サイトにあるクラウド管理モジュールに冗長化管理モジュールによって直接登録された登録情報を含む、同様に稼働サイトにあるクラウド管理モジュールを使用して冗長サイトにあるクラウド管理モジュールに冗長化管理モジュールによって登録された登録情報を含んでいてもよい。
第2のディスクリプション情報は、要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップネットワークに関する情報および要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップ仮想マシンに関する情報を含み、要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップ仮想マシンに関する情報は、バックアップ仮想マシンの識別子および仕様、バックアップ仮想マシンによって冗長サイトにおいて占有されている第2のストレージユニットに関する情報、ならびにバックアップ仮想マシンのホームネットワークに関する情報を含む。例えば、APP1の第2のディスクリプション情報は、表2に示したようなものであってもよい。
さらに、バックアップ仮想マシンのホームネットワークに関する情報は、バックアップ仮想マシンの仮想ネットワークアダプタとバックアップネットワークとの間の関連付け、またはバックアップ仮想マシンの仮想ネットワークアダプタのネットワークアドレスを含んでいてもよい。
702: 第2のストレージユニットに第1のストレージユニットのデータを複製することを停止するように冗長サイトのストレージ管理ソフトウェアまたは稼働サイトのストレージ管理ソフトウェアに指示する。
要冗長化クラウドアプリケーションを冗長サイトに復旧する前に、冗長サイトにあるクラウド管理モジュールは、冗長サイトが第2のストレージユニットに第1のストレージユニットのデータを複製することを停止するように、冗長サイトのストレージ管理ソフトウェアまたは稼働サイトのストレージ管理ソフトウェアをまず設定してもよい、それによって、冗長化の後に、第2のストレージユニットが複製によって第1のストレージユニットのデータを取得し続けることによりデータが上書きされることを回避し、要冗長化クラウドアプリケーションの確実な復旧を保証している。
ステップ702は、オプションのステップである。ステップ702をステップ701の前に行ってもよいし、またはステップ701の後に行ってもよいし、本発明の実施形態においては限定されない。
703: 第2のディスクリプション情報内のバックアップネットワークに関する情報に従って、バックアップネットワークを作成するように冗長サイトにある仮想化モジュールに指示する。
第2のディスクリプション情報を取得した後に、冗長サイトにあるクラウド管理モジュールは、冗長サイトにある仮想化モジュールが、仮想化ネットワーク作成コマンドに従って、要冗長化クラウドアプリケーションによって使用される仮想スイッチを決定して、仮想スイッチのポートグループのためにバックアップネットワークに関する情報を構成することができるように、冗長サイトにある仮想化モジュールに仮想化ネットワーク作成コマンドであって、バックアップネットワークに関する情報を伝達する、仮想化ネットワーク作成コマンドを送信してもよい。特に、冗長サイトにあるクラウド管理モジュールは、冗長サイトにある仮想化モジュールに仮想化ネットワーク作成コマンドであって、バックアップネットワークに関する情報および第2のストレージユニットに関する情報を伝達する、仮想化ネットワーク作成コマンドを送信する。仮想化ネットワーク作成コマンドを受信した後に、仮想化モジュールは、第2のストレージユニットに関する情報に従って、要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されている仮想スイッチを決定して、仮想スイッチのポートグループを指定または作成して、バックアップネットワークと仮想スイッチのポートグループとの間の対応付けを作成して、そして、バックアップネットワークと仮想スイッチのポートグループとの間の対応付けに従って仮想スイッチのポートグループのためのバックアップネットワークに関する情報を構成する、その結果、バックアップネットワークが復旧される。例えば、APP1によって冗長サイトにおいて使用されているバックアップ仮想マシンによって占有されているストレージユニットが、LUN7'、LUN8'、およびLUN9'であると仮定すると、冗長サイトにあるクラウド管理モジュールは、LUN7'、LUN8'、およびLUN9'に関連付けられたコンピューティングノードによって使用されている仮想スイッチから2つの仮想スイッチDVS1'およびDVS2'を選択してもよいし、DVS1'とnetwork1'を対応するように関連付け、DVS2'とnetwork2'を対応するように関連付けるように決定して、そして、決定された対応付けに従って、DVS1'のポートグループにnetwork1'情報(Subnetアドレス:20.200.135.0/24、VLAN ID=135)を登録および設定して、DVS2'のポートグループに対してnetwork2'情報(Subnetアドレス:20.200.136.0/24、VLAN ID=136)を登録および設定するように冗長サイトにある仮想化モジュールに指示する、その結果、APP1によって冗長サイトにおいて使用されているバックアップネットワークnetwork1'およびnetwork2'が復旧される、ここで、network1'およびnetwork2'はまた、同一の仮想スイッチに対応するように関連付けられてもよく、本発明の実施形態においては限定されない。
さらに、仮想化モジュールがバックアップネットワークを作成した後に、冗長サイトにあるクラウド管理モジュールは、冗長サイトにある仮想化モジュールからバックアップネットワークと仮想スイッチのポートグループとの間の対応付けをさらに取得して、バックアップネットワークに関する情報と仮想スイッチのポートグループとの間の対応付けを記憶してもよい。
704: 第2のディスクリプション情報内のバックアップ仮想マシンに関する情報に従って、バックアップ仮想マシンを作成するように冗長サイトにある仮想化モジュールに指示する。
第2のディスクリプション情報を取得した後に、冗長サイトにあるクラウド管理モジュールは、第2のディスクリプション情報内のバックアップ仮想マシンの識別子および仕様、ならびに第2のストレージユニットに関する情報に従って、バックアップ仮想マシンを作成するように冗長サイトにある仮想化モジュールに指示してもよく、冗長サイトにある仮想化モジュールに仮想マシンを作成するためのコマンドであって、バックアップ仮想マシンの識別子および仕様、ならびに第2のストレージユニットに関する情報を伝達する、仮想マシンを作成するためのコマンドを送信するステップと、前述の情報に従って、バックアップ仮想マシンおよびバックアップ仮想マシンの仮想ネットワークアダプタを作成するように冗長サイトにある仮想化モジュールに指示するステップとを含む、ここで、作成されたバックアップ仮想マシンは、第2のストレージユニットを占有する。
特に、仮想マシンを作成するためのコマンドを受信した後に、冗長サイトにある仮想化モジュールは、仮想マシンを作成するためのコマンドにおいて伝達される第2のストレージユニットに関する情報に従って、バックアップ仮想マシンを作成するために使用されるコンピューティングノードを決定して、コンピューティングノードのリソースを使用してバックアップ仮想マシンの識別子および仕様に従って、バックアップ仮想マシンおよびバックアップ仮想マシンの仮想ネットワークアダプタを作成して、第2のストレージユニットに関する情報に従って、バックアップ仮想マシンが第2のストレージユニットを占有することを指定する。例えば、APP1によって冗長サイトにおいて使用されているバックアップ仮想マシンによって占有されている第2のストレージユニットに関する情報が、VM11'->LUN7'およびLUN8'、VM12'-> LUN7'、ならびにVM13'-> LUN8'およびLUN9'であると仮定すると、冗長サイトにあるクラウド管理モジュールは、LUN7'、LUN8'、およびLUN9'に関連付けられたコンピューティングノードを決定してもよく、そして、コンピューティングノードのリソースを使用するように冗長サイトにある仮想化モジュールに指示してバックアップ仮想マシンおよびバックアップ仮想マシンの仮想ネットワークアダプタVM11'(uuid=11; 2VCPU、60Gメモリ、VNIC11)、VM12'(uuid=12; 2VCPU、60Gメモリ、VNIC12)、およびVM13'(uuid=13; 2VCPU、40Gメモリ、VNIC13およびVNIC13')を作成し、第2のストレージユニットに関する情報に従って、VM11'がストレージユニットLUN7'およびLUN8'を占有し、VM12'がストレージユニットLUN7'を占有し、VM13'がストレージユニットLUN8'およびLUN9'を占有することを指定する、ここで、コンピューティングノードに作成されたバックアップ仮想マシンVM11'がストレージユニットLUN7'およびLUN8'にアクセスすることができ、VM12'がストレージユニットLUN7'にアクセスすることができ、VM13'がストレージユニットLUN8'およびLUN9'にアクセスすることができることを保証している限りは、コンピューティングノードは、1つ以上であってもよく、本発明の実施形態においては限定されない。
さらに、冗長サイトにある仮想化モジュールは、作成されたバックアップ仮想マシンの仮想ネットワークアダプタに媒体アクセス制御(Media Access Control、MAC)アドレスをさらに割り振ってもよい。
705: 第2のディスクリプション情報に従ってバックアップ仮想マシンにネットワークアドレスを割り振る。
バックアップ仮想マシンが作成された後に、冗長サイトにあるクラウド管理モジュールは、作成されたバックアップ仮想マシンの仮想ネットワークアダプタにネットワークアドレスを割り振るように冗長サイトにある仮想化モジュールまたは冗長サイトの動的ホスト構成プロトコル(Dynamic Host Configuration Protocol、DHCP)サーバに指示してもよい、ここで、ネットワークアドレスは、IPアドレスであってもよい。特に、冗長サイトは、以下の2つの方法を使用してバックアップ仮想マシンの仮想ネットワークアダプタにネットワークアドレスを割り振ってもよい。
1)第1の方法
冗長サイトにあるクラウド管理モジュールは、バックアップ仮想マシンのネットワークアドレスを決定して、そして、バックアップ仮想マシンの仮想ネットワークアダプタを作成するように冗長サイトにある仮想化モジュールに指示して、そして、バックアップ仮想マシンの仮想ネットワークアダプタにバックアップ仮想マシンのネットワークアドレスを割り振る。特に、冗長化設定プロセスにおいて、ネットワークアドレスが要冗長化クラウドアプリケーションによって使用されているバックアップ仮想マシンに対して設定されていた場合には、バックアップ仮想マシンのホームネットワークに関する情報は、バックアップ仮想マシンのネットワークアドレスを伝達し、冗長サイトにあるクラウド管理モジュールは、バックアップ仮想マシンのホームネットワークに関する情報において伝達されるバックアップ仮想マシンのネットワークアドレスを取得してもよい。冗長化設定プロセスにおいて、ネットワークアドレスが要冗長化クラウドアプリケーションによって使用されているバックアップ仮想マシンに対して設定されていない場合には、冗長サイトにあるクラウド管理モジュールは、バックアップ仮想マシンに対応するバックアップネットワークの未使用のネットワークアドレスから、バックアップネットワークに関する情報およびバックアップ仮想マシンの仮想ネットワークアダプタとバックアップネットワークとの間の関連付けに従ってバックアップ仮想マシンの仮想ネットワークアダプタにネットワークアドレスを割り振ってもよい。
2)第2の方法
冗長サイトにあるクラウド管理モジュールは、冗長サイトの動的ホスト構成プロトコル(Dynamic Host Configuration Protocol、DHCP)サーバにアドレス割り振り情報を登録してもよい、その結果、DHCPサーバが、登録情報に従って作成されたバックアップ仮想マシンの仮想ネットワークアダプタにネットワークアドレスを割り振る、ここで、アドレス割り振り情報は、バックアップ仮想マシンのネットワークアドレス、バックアップ仮想マシンの仮想ネットワークアダプタの物理アドレス、およびバックアップ仮想マシンのネットワークアドレスとバックアップ仮想マシンの仮想ネットワークアダプタの物理アドレスとの間の関連付けであってもよいし、またはバックアップ仮想マシンに関連付けられているバックアップネットワークに関する情報であってもよい。
特に、冗長化設定プロセスにおいて、ネットワークアドレスが要冗長化クラウドアプリケーションによって使用されているバックアップ仮想マシンに対して設定されていた場合には、バックアップ仮想マシンのホームネットワークに関する情報は、バックアップ仮想マシンのネットワークアドレスを伝達し、冗長サイトにあるクラウド管理モジュールは、バックアップ仮想マシンの仮想ネットワークアダプタの物理アドレスを取得して、バックアップ仮想マシンのネットワークアドレスとバックアップ仮想マシンの仮想ネットワークアダプタの物理アドレスとの間の関連付けを作成して、そして冗長サイトのDHCPサーバにバックアップ仮想マシンのネットワークアドレス、バックアップ仮想マシンの仮想ネットワークアダプタの物理アドレス、およびバックアップ仮想マシンのネットワークアドレスとバックアップ仮想マシンの仮想ネットワークアダプタの物理アドレスとの間の関連付けを登録してもよい、その結果、冗長サイトのDHCPサーバが、バックアップ仮想マシンの仮想ネットワークアダプタにバックアップ仮想マシンのネットワークアドレスを割り振る。例えば、冗長サイトにあるクラウド管理モジュールは、冗長サイトにある仮想化モジュールからVM11'、VM12'、およびVM13'のMACアドレスを取得して、第2のディスクリプション情報からVM11'、VM12'、およびVM13'の事前に設定されたIPアドレスを取得して、VM11'、VM12'、およびVM13'のMACアドレスとIPアドレスとの間の対応付けを別々に作成して、DHCPサーバに対応付けを登録する、その結果、DHCPサーバは、VM11'、VM12'、およびVM13'を事前に設定されたIPアドレスに割り振ることができる。冗長化設定プロセスにおいて、ネットワークアドレスが要冗長化クラウドアプリケーションによって使用されているバックアップ仮想マシンに対して設定されていない場合には、冗長サイトにあるクラウド管理モジュールは、バックアップネットワークに関する情報およびバックアップ仮想マシンの仮想ネットワークアダプタとバックアップネットワークとの間の関連付けに従って、バックアップ仮想マシンに対応するように関連付けられているバックアップネットワークに関する情報を決定して、冗長サイトのDHCPサーバに、バックアップ仮想マシンに対応するように関連付けられているバックアップネットワークに関する情報を登録する、その結果、冗長サイトのDHCPサーバが、バックアップ仮想マシンに対応するように関連付けられているバックアップネットワークに関する情報に従ってバックアップ仮想マシンの仮想ネットワークアダプタにネットワークアドレスを割り振る。例えば、図1(a)、または図1(b)、または図1(c)に示した冗長サイトにあるクラウド管理モジュールは、VM11'に対応するように関連付けられているネットワークのSubnetアドレスが20.200.135.0/24であり、VM12'に対応するように関連付けられているネットワークのSubnetアドレスが20.200.135.0/24であり、VM13'に対応するように関連付けられているネットワークのSubnetアドレスが20.200.135.0/24および20.200.136.0/24であると決定して、DHCPサーバに、バックアップ仮想マシンに対応するように関連付けられているネットワークのSubnetアドレスを登録する、その結果、DHCPサーバが、VM11'に対応するように関連付けられているネットワークのSubnetアドレスに従ってVM11'に動的IPアドレスを割り振り、VM12'に対応するように関連付けられているネットワークのSubnetアドレスに従ってVM12'に動的IPアドレスを割り振り、VM13'に対応するように関連付けられているネットワークのSubnetアドレスに従ってVM13'に動的IPアドレスを割り振る。
706: 第2のディスクリプション情報内のバックアップ仮想マシンに関する情報に従って、バックアップネットワークとバックアップ仮想マシンを関連付けるように冗長サイトにある仮想化モジュールに指示する。
バックアップ仮想マシンおよびバックアップネットワークを作成した後に、冗長サイトにあるクラウド管理モジュールは、バックアップ仮想マシンに関する情報内のバックアップ仮想マシンのホームネットワークに関する情報に従って仮想スイッチとバックアップ仮想マシンの仮想ネットワークアダプタを関連付けるように冗長サイトにある仮想化モジュールに指示してもよい。冗長サイトにあるクラウド管理モジュールがバックアップ仮想マシンのホームネットワークに関する情報に従ってバックアップ仮想マシンの仮想ネットワークアダプタとバックアップネットワークとの間の関連付けを取得し得ることを特に含む、ここで、バックアップ仮想マシンの仮想ネットワークアダプタとバックアップネットワークとの間の関連付けを取得するステップは、バックアップ仮想マシンのホームネットワークに関する情報から直接取得するステップ、またはバックアップ仮想マシンのホームネットワークに関する情報およびバックアップネットワークに関する情報内のバックアップ仮想マシンのネットワークアドレスに従ってバックアップ仮想マシンの仮想ネットワークアダプタとバックアップネットワークとの間の関連付けを決定するステップであってもよい。
冗長サイトにあるクラウド管理モジュールは、冗長サイトにある仮想化モジュールから、バックアップネットワークに関する情報と仮想スイッチのポートグループとの間の対応付けを取得して、バックアップ仮想マシンの仮想ネットワークアダプタとバックアップネットワークとの間の関連付けおよびバックアップネットワークに関する情報と仮想スイッチのポートグループとの間の対応付けに従ってバックアップ仮想マシンの仮想ネットワークアダプタと仮想スイッチのポートグループとの間の対応付けを決定してもよい。
冗長サイトにあるクラウド管理モジュールは、仮想スイッチのポートグループとバックアップ仮想マシンの仮想ネットワークアダプタを関連付けるように、バックアップ仮想マシンの仮想ネットワークアダプタと仮想スイッチのポートグループとの間の対応付けに従って、仮想化モジュールに指示する、その結果、バックアップ仮想マシンは、バックアップ仮想マシンのネットワークアドレスに従って、データ伝送のためにバックアップ仮想マシンの仮想ネットワークアダプタに対応するように関連付けられている仮想スイッチのポートグループおよびバックアップネットワークを使用することができる。
本発明の実施形態において、冗長サイトにあるクラウド管理モジュールは、冗長化管理モジュールから要冗長化クラウドアプリケーションの第2のディスクリプション情報であって、冗長サイトにある要冗長化クラウドアプリケーションのデプロイメントに関する全ディスクリプションを付与する、第2のディスクリプション情報を取得することができる。第2のディスクリプション情報を取得した後に、冗長サイトにあるクラウド管理モジュールは、第2のディスクリプション情報内のバックアップネットワークに関する情報に従って、バックアップネットワークを作成するように冗長サイトにある仮想化モジュールに指示して、第2のディスクリプション情報内のバックアップ仮想マシンの識別子および仕様ならびに第2のストレージユニットに関する情報に従って、バックアップ仮想マシンを作成するように冗長サイトにある仮想化モジュールに指示して、第2のディスクリプション情報内のバックアップ仮想マシンのホームネットワークに関する情報に従ってバックアップネットワークとバックアップ仮想マシンを関連付けて、冗長サイトにある要冗長化クラウドアプリケーションを完全かつ迅速に復旧することができる、それによって、クラウドアプリケーションに基づいた冗長化を実施している。従来技術における仮想マシン単位に基づいた冗長化の様式とは異なり、本発明の実施形態は、アプリケーションレベルでの冗長化を実施して、仮想マシン単位に基づいた冗長化に起因する起こり得る問題であって、クラウドアプリケーションを完全かつ迅速に復旧することができないという、問題を回避している。
特定の実施形態2における設定プロセス
図1(b)に示したシステム機構を参照して図8に示したように、冗長化インシデントが稼働サイトにおいて生じた際の設定情報に従って冗長サイトにある要冗長化クラウドアプリケーションを復旧するために、本発明の実施形態によって提供される冗長化方法は、冗長サイトにおいて稼働サイトの要冗長化クラウドアプリケーションを設定するために使用される。方法は、稼働サイトにあるクラウド管理モジュールによって実行されてもよい。方法は、以下を含んでいてもよい。
801: 要冗長化クラウドアプリケーションの第1のディスクリプション情報であって、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソースネットワークに関する情報および要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソース仮想マシンに関する情報を含む、第1のディスクリプション情報を取得する。
稼働サイトにあるクラウド管理モジュールが要冗長化クラウドアプリケーションの第1のディスクリプション情報を取得するための次の2つの方法が存在し得る。
1)第1の方法
稼働サイトにあるクラウド管理モジュールは、要冗長化クラウドアプリケーションの第1のディスクリプション情報であって、稼働サイトにあるクラウド管理モジュールによって記録された、第1のディスクリプション情報を直接取得する、ここで、稼働サイトにあるクラウド管理モジュールは、クラウドアプリケーションの仮想マシンがデプロイされた後に、クラウドアプリケーションの実行中のインスタンスの静的ディスクリプション情報および動的ディスクリプション情報を収集して第1のディスクリプション情報を生成してもよい。
2)第2の方法
稼働サイトにあるクラウド管理モジュールは、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソース仮想マシンの識別子および仕様、ソース仮想マシンによって稼働サイトにおいて占有されている第1のストレージユニットに関する情報、ならびにソース仮想マシンのネットワークアドレスに従って第1のディスクリプション情報を生成する、ここで、前述の情報は、稼働サイトにあるクラウド管理モジュールによって記録される。
第1のディスクリプション情報は、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソースネットワークに関する情報および要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソース仮想マシンに関する情報を含む。ソース仮想マシンに関する情報は、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソース仮想マシンの識別子および仕様、ソース仮想マシンによって稼働サイトにおいて占有されている第1のストレージユニットに関する情報、ならびにソース仮想マシンのホームネットワークに関する情報を含む。
さらに、ソース仮想マシンのホームネットワークに関する情報は、ソース仮想マシンのネットワークアドレスまたはソース仮想マシンの仮想ネットワークアダプタとソースネットワークとの間の関連付けを含んでいてもよい。
802: ソース仮想マシンに関する情報に従って、要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップ仮想マシンの識別子および仕様を決定する。
803: ソース仮想マシンに関する情報に従って、バックアップ仮想マシンによって冗長サイトにおいて占有されている第2のストレージユニットに関する情報を決定する。
第1のディスクリプション情報を取得した後に、稼働サイトにあるクラウド管理モジュールは、ソース仮想マシンに関する情報において伝達される第1のストレージユニットに関する情報に従って第2のストレージユニットに関する情報を決定してもよい。以下の3つのステップを特に含んでいてもよい。
803a: 冗長サイトのアイドルストレージユニットを取得する。
803b: 冗長サイトのアイドルストレージユニットから第2のストレージユニットを選択する。
803c: 第1のストレージユニットと第2のストレージユニットとの間の複製関係を作成して、バックアップ仮想マシンによって冗長サイトにおいて占有されている第2のストレージユニットに関する情報を決定する。
804: 第2のストレージユニットに第1のストレージユニットのデータを複製するように稼働サイトのストレージ管理ソフトウェアおよび冗長サイトのストレージ管理ソフトウェアに指示する。
805: ソースネットワークに関する情報に従って要冗長化クラウドアプリケーションのためにバックアップネットワークに関する情報を構成する。
806: ソース仮想マシンに関する情報およびバックアップネットワークに関する情報に従ってバックアップ仮想マシンのホームネットワークに関する情報を決定する。
807: バックアップネットワークに関する情報、バックアップ仮想マシンの識別子および仕様、第2のストレージユニットに関する情報、ならびにバックアップ仮想マシンのホームネットワークに関する情報に従って第2のディスクリプション情報を取得する。
808: 冗長サイトにあるクラウド管理モジュールに第2のディスクリプション情報を登録する。
冗長サイトにあるクラウド管理モジュールが第2のディスクリプション情報に従って冗長サイトにある要冗長化クラウドアプリケーションを復旧することができるように、稼働サイトにあるクラウド管理モジュールは、冗長サイトにあるクラウド管理モジュールに第2のディスクリプション情報を直接登録する。
本発明の実施形態におけるステップ802から807の個別の実施様態はステップ502から507のものと類似しており、詳細を本明細書に繰り返し記載しない。
本発明の実施形態において、稼働サイトにあるクラウド管理モジュールは、要冗長化クラウドアプリケーションの第1のディスクリプション情報であって、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソース仮想マシンに関する情報を含むだけでなく、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソースネットワークに関する情報も含む、第1のディスクリプション情報を取得することが可能である。要冗長化クラウドアプリケーションに関する全ディスクリプションを付与する第1のディスクリプション情報に基づいて、冗長サイトにある要冗長化クラウドアプリケーションによって使用されているバックアップネットワークに関する情報および冗長サイトにある要冗長化クラウドアプリケーションによって使用されているバックアップ仮想マシンに関する情報を、要冗長化クラウドアプリケーションに対して設定することができる、すなわち、冗長サイトにある要冗長化クラウドアプリケーションの第2のディスクリプション情報を生成することができる。稼働サイトにあるクラウド管理モジュールは、冗長サイトにあるクラウド管理モジュールに第2のディスクリプション情報を登録する、その結果、冗長サイトにあるクラウド管理モジュールは、冗長サイトに要冗長化クラウドアプリケーションを完全に復旧することができる、それによって、クラウドアプリケーションに基づいた冗長化を実施している。従来技術における仮想マシン単位に基づいた冗長化の様式とは異なり、本発明の実施形態は、アプリケーションレベルで冗長化に関する設定を実施して、仮想マシン単位に基づいた冗長化に起因する起こり得る問題であって、クラウドアプリケーションを完全かつ迅速に復旧することができないという、問題を回避している。
特定の実施形態2における復旧プロセス
図1(b)に示したシステム機構を参照して図9に示したように、本発明の実施形態における冗長化方法は、冗長化インシデントが稼働サイトにおいて発生すると、冗長サイトに稼働サイトの要冗長化クラウドアプリケーションを復旧するために使用される。方法は、冗長サイトにあるクラウド管理モジュールによって実行されてもよい。方法は、以下を含んでいてもよい。
901: 稼働サイトにあるクラウド管理モジュールから登録情報であって、要冗長化クラウドアプリケーションの第2のディスクリプション情報を伝達する、登録情報を受信する。
冗長サイトにあるクラウド管理モジュールは、稼働サイトにあるクラウド管理モジュールから登録情報を受信して、登録情報において伝達される要冗長化クラウドアプリケーションの第2のディスクリプション情報であって、要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップネットワークに関する情報および要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップ仮想マシンに関する情報を含む、第2のディスクリプション情報を取得してもよい。要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップ仮想マシンに関する情報は、バックアップ仮想マシンの識別子および仕様、バックアップ仮想マシンによって冗長サイトにおいて占有されている第2のストレージユニットに関する情報、ならびにバックアップ仮想マシンのホームネットワークに関する情報を含む。
さらに、バックアップ仮想マシンのホームネットワークに関する情報は、バックアップ仮想マシンの仮想ネットワークアダプタとバックアップネットワークとの間の関連付け、またはバックアップ仮想マシンの仮想ネットワークアダプタのネットワークアドレスを含んでいてもよい。
902: 第2のストレージユニットに第1のストレージユニットのデータを複製することを停止するように冗長サイトのストレージ管理ソフトウェアまたは稼働サイトのストレージ管理ソフトウェアに指示する。
ステップ902は、オプションのステップである。ステップ902をステップ901の前に行ってもよいし、またはステップ901の後に行ってもよいし、本発明の実施形態においては限定されない。
903: 第2のディスクリプション情報内のバックアップネットワークに関する情報に従って、バックアップネットワークを作成するように冗長サイトにある仮想化モジュールに指示する。
904: 第2のディスクリプション情報内のバックアップ仮想マシンに関する情報に従って、バックアップ仮想マシンを作成するように冗長サイトにある仮想化モジュールに指示する。
905: 第2のディスクリプション情報に従ってバックアップ仮想マシンにネットワークアドレスを割り振る。
906: 第2のディスクリプション情報内のバックアップ仮想マシンに関する情報に従って、バックアップネットワークとバックアップ仮想マシンを関連付けるように冗長サイトにある仮想化モジュールに指示する。
本発明の実施形態におけるステップ902から906の個別の実施様態はステップ702から706のものと類似しており、詳細を本明細書に繰り返し記載しない。
本発明の実施形態において、冗長サイトにあるクラウド管理モジュールは、稼働サイトにあるクラウド管理モジュールから要冗長化クラウドアプリケーションの第2のディスクリプション情報であって、冗長サイトにある要冗長化クラウドアプリケーションのデプロイメントに関する全ディスクリプションを付与する、第2のディスクリプション情報を取得することができる。第2のディスクリプション情報を取得した後に、冗長サイトにあるクラウド管理モジュールは、第2のディスクリプション情報内のバックアップネットワークに関する情報に従って、バックアップネットワークを作成するように冗長サイトにある仮想化モジュールに指示して、第2のディスクリプション情報内のバックアップ仮想マシンの識別子および仕様ならびに第2のストレージユニットに関する情報に従って、バックアップ仮想マシンを作成するように冗長サイトにある仮想化モジュールに指示して、第2のディスクリプション情報内のバックアップ仮想マシンのホームネットワークに関する情報に従ってバックアップネットワークとバックアップ仮想マシンを関連付けて、冗長サイトにある要冗長化クラウドアプリケーションを完全かつ迅速に復旧することができる、それによって、クラウドアプリケーションに基づいた冗長化を実施している。従来技術における仮想マシン単位に基づいた冗長化の様式とは異なり、本発明の実施形態は、アプリケーションレベルでの冗長化を実施して、仮想マシン単位に基づいた冗長化に起因する起こり得る問題であって、クラウドアプリケーションを完全かつ迅速に復旧することができないという、問題を回避している。
特定の実施形態3における設定プロセス
図1(b)に示したシステム機構を参照して図10に示したように、要冗長化クラウドアプリケーションを復旧するために、本発明の実施形態によって提供される冗長化方法は、冗長サイトにあるクラウド管理モジュールが設定情報に従って冗長サイトにある要冗長化クラウドアプリケーションを設定することができるように、稼働サイトにある要冗長化クラウドアプリケーションの設定情報を取得するために使用される。方法は、稼働サイトにあるクラウド管理モジュールによって実行されてもよい。方法は、以下を含んでいてもよい。
1001: 要冗長化クラウドアプリケーションの第1のディスクリプション情報であって、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソースネットワークに関する情報および要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソース仮想マシンに関する情報を含む、第1のディスクリプション情報を取得する。
稼働サイトにあるクラウド管理モジュールが要冗長化クラウドアプリケーションの第1のディスクリプション情報を取得するための次の2つの方法が存在し得る。
1)第1の方法
稼働サイトにあるクラウド管理モジュールは、要冗長化クラウドアプリケーションの第1のディスクリプション情報であって、稼働サイトにあるクラウド管理モジュールによって記録された、第1のディスクリプション情報を直接取得する、ここで、稼働サイトにあるクラウド管理モジュールは、クラウドアプリケーションの仮想マシンがデプロイされた後に、クラウドアプリケーションの実行中のインスタンスの静的ディスクリプション情報および動的ディスクリプション情報を収集して第1のディスクリプション情報を生成してもよい。
2)第2の方法
稼働サイトにあるクラウド管理モジュールは、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソース仮想マシンの識別子および仕様、ソース仮想マシンによって稼働サイトにおいて占有されている第1のストレージユニットに関する情報、ならびにソース仮想マシンのネットワークアドレスに従って第1のディスクリプション情報を生成する、ここで、前述の情報は、稼働サイトにあるクラウド管理モジュールによって記録される。
第1のディスクリプション情報は、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソースネットワークに関する情報および要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソース仮想マシンに関する情報を含む。ソース仮想マシンに関する情報は、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソース仮想マシンの識別子および仕様、ソース仮想マシンによって稼働サイトにおいて占有されている第1のストレージユニットに関する情報、ならびにソース仮想マシンのホームネットワークに関する情報を含む。
さらに、ソース仮想マシンのホームネットワークに関する情報は、ソース仮想マシンのネットワークアドレスまたはソース仮想マシンの仮想ネットワークアダプタとソースネットワークとの間の関連付けを含む。
1002: 冗長サイトにあるクラウド管理モジュールに第1のディスクリプション情報を送信する。
稼働サイトにあるクラウド管理モジュールは、冗長サイトにあるクラウド管理モジュールに第1のディスクリプション情報を送信してもよい、その結果、冗長サイトにあるクラウド管理モジュールは、要冗長化クラウドアプリケーションに関する全ディスクリプションを付与する第1のディスクリプション情報に基づいて、要冗長化クラウドアプリケーションのために要冗長化クラウドアプリケーションの第2のディスクリプション情報を構成して、要冗長化クラウドアプリケーションを復旧することができる。
本発明の実施形態において、稼働サイトにあるクラウド管理モジュールは、要冗長化クラウドアプリケーションの第1のディスクリプション情報であって、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソース仮想マシンに関する情報を含むだけでなく、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソースネットワークに関する情報も含む、第1のディスクリプション情報を取得することが可能である。稼働サイトにあるクラウド管理モジュールは、冗長サイトにあるクラウド管理モジュールに第1のディスクリプション情報を送信することが可能である、その結果、冗長サイトにあるクラウド管理モジュールは、要冗長化クラウドアプリケーションに関する全ディスクリプションを付与する第1のディスクリプション情報に基づいて、要冗長化クラウドアプリケーションのために要冗長化クラウドアプリケーションの第2のディスクリプション情報を構成して、第2のディスクリプション情報に従って冗長サイトにある要冗長化クラウドアプリケーションを完全に復旧することができる、それによって、クラウドアプリケーションに基づいた冗長化を実施している。従来技術における仮想マシン単位に基づいた冗長化の様式とは異なり、本発明の実施形態は、アプリケーションレベルで冗長化に関する設定を実施して、仮想マシン単位に基づいた冗長化に起因する起こり得る問題であって、クラウドアプリケーションを完全かつ迅速に復旧することができないという、問題を回避している。
特定の実施形態3における復旧プロセス
図1(b)に示したシステム機構を参照して図11に示したように、本発明の実施形態における冗長化方法は、冗長化インシデントが稼働サイトにおいて発生すると冗長サイトに稼働サイトの要冗長化クラウドアプリケーションを復旧するために、冗長サイトにおいて稼働サイトの要冗長化クラウドアプリケーションを設定するために使用される。方法は、冗長サイトにあるクラウド管理モジュールによって実行されてもよい。方法は、以下を含んでいてもよい。
1101: 稼働サイトにあるクラウド管理モジュールから要冗長化クラウドアプリケーションの第1のディスクリプション情報であって、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソースネットワークに関する情報および要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソース仮想マシンに関する情報を含む、第1のディスクリプション情報を取得する。
冗長サイトにあるクラウド管理モジュールは、稼働サイトにあるクラウド管理モジュールによって送信された要冗長化クラウドアプリケーションの第1のディスクリプション情報を受信してもよい。
要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソース仮想マシンに関する情報は、ソース仮想マシンの識別子および仕様、ソース仮想マシンによって稼働サイトにおいて占有されている第1のストレージユニットに関する情報、ならびにソース仮想マシンのホームネットワークに関する情報を含む。
ソース仮想マシンのホームネットワークに関する情報は、ソース仮想マシンの仮想ネットワークアダプタとソースネットワークとの間の関連付け、またはソース仮想マシンの仮想ネットワークアダプタのネットワークアドレスを含む。
1102: 第1のディスクリプション情報に従って、要冗長化クラウドアプリケーションの第2のディスクリプション情報であって、要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップネットワークに関する情報および要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップ仮想マシンに関する情報を含む、第2のディスクリプション情報を生成する。
要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップ仮想マシンに関する情報は、バックアップ仮想マシンの識別子および仕様、バックアップ仮想マシンによって冗長サイトにおいて占有されている第2のストレージユニットに関する情報、ならびにバックアップ仮想マシンのホームネットワークに関する情報を含む。
クラウド管理モジュールによって、第1のディスクリプション情報に従って要冗長化クラウドアプリケーションの第2のディスクリプション情報を生成するステップは、ソース仮想マシンの識別子および仕様に従ってバックアップ仮想マシンの識別子および仕様を決定するステップと、第1のストレージユニットに関する情報に従って第2のストレージユニットに関する情報を決定するステップと、ソースネットワークに関する情報に従って要冗長化クラウドアプリケーションのためにバックアップネットワークに関する情報を構成するステップと、バックアップ仮想マシンの識別子およびソース仮想マシンのホームネットワークに関する情報に従ってバックアップ仮想マシンのホームネットワークに関する情報を決定するステップとを含む。
バックアップ仮想マシンのホームネットワークに関する情報は、バックアップ仮想マシンの仮想ネットワークアダプタとバックアップネットワークとの間の関連付け、またはバックアップ仮想マシンの仮想ネットワークアダプタのネットワークアドレスを含んでいてもよい。
第1のディスクリプション情報に従って要冗長化クラウドアプリケーションの第2のディスクリプション情報を生成するステップの個別の実施様態については、ステップ502から507を参照してもよい。
1103: 第2のストレージユニットに第1のストレージユニットのデータを複製することを停止するように冗長サイトのストレージ管理ソフトウェアまたは稼働サイトのストレージ管理ソフトウェアに指示する。
ステップ1103は、オプションのステップである。ステップ1103をステップ1102の前に行ってもよいし、またはステップ1102の後に行ってもよいし、本発明の実施形態においては限定されない。
1104: 第2のディスクリプション情報内のバックアップネットワークに関する情報に従って、バックアップネットワークを作成するように冗長サイトにある仮想化モジュールに指示する。
1105: 第2のディスクリプション情報内のバックアップ仮想マシンに関する情報に従って、バックアップ仮想マシンを作成するように冗長サイトにある仮想化モジュールに指示する。
1106: 第2のディスクリプション情報に従ってバックアップ仮想マシンにネットワークアドレスを割り振る。
1107: 第2のディスクリプション情報内のバックアップ仮想マシンに関する情報に従って、バックアップネットワークとバックアップ仮想マシンを関連付けるように冗長サイトにある仮想化モジュールに指示する。
本発明の実施形態におけるステップ1103から1107の個別の実施様態はステップ702から706のものと類似しており、詳細を本明細書に繰り返し記載しない。
本発明の実施形態において、冗長サイトにあるクラウド管理モジュールは、稼働サイトにあるクラウド管理モジュールから要冗長化クラウドアプリケーションの第1のディスクリプション情報であって、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソース仮想マシンに関する情報を含むだけでなく、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソースネットワークに関する情報も含む、第1のディスクリプション情報を取得することが可能であり、要冗長化クラウドアプリケーションに関する全ディスクリプションを付与する第1のディスクリプション情報に基づいて、冗長サイトにある要冗長化クラウドアプリケーションの第2のディスクリプション情報であって、冗長サイトにある要冗長化クラウドアプリケーションのデプロイメントに関する全ディスクリプションを付与する、第2のディスクリプション情報を生成して、第2のディスクリプション情報内のバックアップネットワークに関する情報に従って、バックアップネットワークを作成するように冗長サイトにある仮想化モジュールに指示して、第2のディスクリプション情報内のバックアップ仮想マシンの識別子および仕様ならびに第2のストレージユニットに関する情報に従って、バックアップ仮想マシンを作成するように冗長サイトにある仮想化モジュールに指示して、第2のディスクリプション情報内のバックアップ仮想マシンのホームネットワークに関する情報に従ってバックアップネットワークとバックアップ仮想マシンを関連付けて、冗長サイトにある要冗長化クラウドアプリケーションを完全かつ迅速に復旧することができる、それによって、クラウドアプリケーションに基づいた冗長化を実施している。従来技術における仮想マシン単位に基づいた冗長化の様式とは異なり、本発明の実施形態は、アプリケーションレベルで冗長化に関する設定および復旧を実施して、仮想マシン単位に基づいた冗長化に起因する起こり得る問題であって、クラウドアプリケーションを完全かつ迅速に復旧することができないという、問題を回避している。
特定の実施形態4における設定プロセス
図1(c)に示したシステム機構を参照して図12に示したように、冗長化インシデントが稼働サイトにおいて生じた際の設定情報に従って冗長サイトにある要冗長化クラウドアプリケーションを復旧するために、本発明の実施形態によって提供される冗長化方法は、冗長サイトにおいて稼働サイトの要冗長化クラウドアプリケーションを設定するために使用される。方法は、稼働サイトにある冗長化管理モジュールによって実行されてもよい。方法は、以下を含んでいてもよい。
1201: 稼働サイトにあるクラウド管理モジュールから要冗長化クラウドアプリケーションの第1のディスクリプション情報であって、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソースネットワークに関する情報および要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソース仮想マシンに関する情報を含む、第1のディスクリプション情報を取得する。
稼働サイトにある冗長化管理モジュールが稼働サイトにあるクラウド管理モジュールから要冗長化クラウドアプリケーションの第1のディスクリプション情報を取得するための次の2つの方法が存在し得る。
1)第1の方法
稼働サイトにある冗長化管理モジュールは、稼働サイトにあるクラウド管理モジュールに接続されているインターフェースを使用して、稼働サイトにあるクラウド管理モジュールから要冗長化クラウドアプリケーションの第1のディスクリプション情報について問い合わせる、ここで、稼働サイトにあるクラウド管理モジュールは、クラウドアプリケーションの仮想マシンがデプロイされた後に、クラウドアプリケーションの実行中のインスタンスの静的ディスクリプション情報および動的ディスクリプション情報を収集して第1のディスクリプション情報を生成してもよい。
2)第2の方法
冗長化管理モジュールは、稼働サイトにあるクラウド管理モジュールに接続されているインターフェースを使用して稼働サイトにあるクラウド管理モジュールから、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソース仮想マシンの識別子および仕様、ソース仮想マシンによって稼働サイトにおいて占有されている第1のストレージユニットに関する情報、ならびにソース仮想マシンのネットワークアドレスを問い合わせて、第1のディスクリプション情報を生成する。
ソース仮想マシンに関する情報は、ソース仮想マシンの識別子および仕様、ソース仮想マシンによって稼働サイトにおいて占有されている第1のストレージユニットに関する情報、ならびにソース仮想マシンのホームネットワークに関する情報を含む。
さらに、ソース仮想マシンのホームネットワークに関する情報は、ソース仮想マシンのネットワークアドレスまたはソース仮想マシンの仮想ネットワークアダプタとソースネットワークとの間の関連付けを含む。
1202: ソース仮想マシンに関する情報に従って、要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップ仮想マシンの識別子および仕様を決定する。
1203: ソース仮想マシンに関する情報に従って、バックアップ仮想マシンによって冗長サイトにおいて占有されている第2のストレージユニットに関する情報を決定する。
1204: 第2のストレージユニットに第1のストレージユニットのデータを複製するように稼働サイトのストレージ管理ソフトウェアおよび冗長サイトのストレージ管理ソフトウェアに指示する。
1205: ソースネットワークに関する情報に従って要冗長化クラウドアプリケーションのためにバックアップネットワークに関する情報を構成する。
1206: ソース仮想マシンに関する情報およびバックアップネットワークに関する情報に従ってバックアップ仮想マシンのホームネットワークに関する情報を決定する。
1207: バックアップネットワークに関する情報、バックアップ仮想マシンの識別子および仕様、第2のストレージユニットに関する情報、ならびにバックアップ仮想マシンのホームネットワークに関する情報に従って第2のディスクリプション情報を取得する。
1208: 冗長サイトにある冗長化管理モジュールに第2のディスクリプション情報を送信する。
稼働サイトにあるクラウド管理モジュールは、冗長サイトにある冗長化管理モジュールに第2のディスクリプション情報を送信してもよい、その結果、冗長サイトにある冗長化管理モジュールは、冗長サイトに第2のディスクリプション情報を登録して、冗長サイトにある要冗長化クラウドアプリケーションを復旧することができる。
本発明の実施形態におけるステップ1202から1207の個別の実施様態はステップ502から507のものと類似しており、詳細を本明細書に繰り返し記載しない。
本発明の実施形態において、稼働サイトにある冗長化管理モジュールは、稼働サイトにあるクラウド管理モジュールから要冗長化クラウドアプリケーションの第1のディスクリプション情報であって、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソース仮想マシンに関する情報を含むだけでなく、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソースネットワークに関する情報も含む、第1のディスクリプション情報を取得することが可能である。要冗長化クラウドアプリケーションに関する全ディスクリプションを付与する第1のディスクリプション情報に基づいて、要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップネットワークに関する情報および要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップ仮想マシンに関する情報を要冗長化クラウドアプリケーションに対して設定してもよい、すなわち、冗長サイトにある要冗長化クラウドアプリケーションの第2のディスクリプション情報であって、冗長サイトにある要冗長化クラウドアプリケーションのデプロイメントに関する全ディスクリプションを付与する、第2のディスクリプション情報を生成することができる。稼働サイトにある冗長化管理モジュールは、冗長サイトにある冗長化管理モジュールに第2のディスクリプション情報を送信する、その結果、冗長サイトにある冗長化管理モジュールは、冗長サイトに第2のディスクリプション情報を提供して完全に要冗長化クラウドアプリケーションを復旧することができる、それによって、クラウドアプリケーションに基づいた冗長化を実施している。従来技術における仮想マシン単位に基づいた冗長化の様式とは異なり、本発明の実施形態は、アプリケーションレベルで冗長化に関する設定を実施して、仮想マシン単位に基づいた冗長化に起因する起こり得る問題であって、クラウドアプリケーションを完全かつ迅速に復旧することができないという、問題を回避している。
特定の実施形態5における設定プロセス
図1(c)に示したシステム機構を参照して図13に示したように、冗長化インシデントが稼働サイトにおいて生じた際の設定情報に従って冗長サイトにある要冗長化クラウドアプリケーションを復旧するために、本発明の実施形態によって提供される冗長化方法は、冗長サイトにおいて稼働サイトの要冗長化クラウドアプリケーションの設定情報を冗長サイトに提供するために使用される。方法は、冗長サイトにある冗長化管理モジュールによって実行されてもよい。方法は、以下を含んでいてもよい。
1301: 稼働サイトにある冗長化管理モジュールから要冗長化クラウドアプリケーションの第2のディスクリプション情報であって、要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップネットワークに関する情報および要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップ仮想マシンに関する情報を含む、第2のディスクリプション情報を取得する。
冗長サイトにある冗長化管理モジュールは、稼働サイトにある冗長化管理モジュールによって送信された第2のディスクリプション情報であって、要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップネットワークに関する情報および要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップ仮想マシンに関する情報を含む、第2のディスクリプション情報を受信してもよい。要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップ仮想マシンに関する情報は、バックアップ仮想マシンの識別子および仕様、バックアップ仮想マシンによって冗長サイトにおいて占有されている第2のストレージユニットに関する情報、ならびにバックアップ仮想マシンのホームネットワークに関する情報を含む。
さらに、バックアップ仮想マシンのホームネットワークに関する情報は、バックアップ仮想マシンのネットワークアドレスまたはバックアップ仮想マシンの仮想ネットワークアダプタとバックアップネットワークとの間の関連付けを含んでいてもよい。
1302: 冗長サイトにあるクラウド管理モジュールが第2のディスクリプション情報に従って冗長サイトにある要冗長化クラウドアプリケーションを復旧することができるように、冗長サイトにあるクラウド管理モジュールに第2のディスクリプション情報を登録する。
本発明の実施形態において、冗長サイトにある冗長化管理モジュールは、稼働サイトにある冗長化管理モジュールから要冗長化クラウドアプリケーションの第2のディスクリプション情報であって、冗長サイトにある要冗長化クラウドアプリケーションのデプロイメントに関する全ディスクリプションを付与する、第2のディスクリプション情報を取得してもよい。冗長サイトにある冗長化管理モジュールは、冗長サイトにあるクラウド管理モジュールに取得した第2のディスクリプション情報を登録してもよい、その結果、冗長サイトにあるクラウド管理モジュールは、冗長サイトにある要冗長化クラウドアプリケーションを完全に復旧することができる、それによって、クラウドアプリケーションに基づいた冗長化を実施している。従来技術における仮想マシン単位に基づいた冗長化の様式とは異なり、本発明の実施形態は、アプリケーションレベルで冗長化に関する設定を実施して、仮想マシン単位に基づいた冗長化に起因する起こり得る問題であって、クラウドアプリケーションを完全かつ迅速に復旧することができないという、問題を回避している。
特定の実施形態6における設定プロセス
図1(c)に示したシステム機構を参照して図14に示したように、冗長サイトにある要冗長化クラウドアプリケーションを復旧するために、本発明の実施形態によって提供される冗長化方法は、冗長サイトにある冗長化管理モジュールが設定情報に従って冗長サイトにある要冗長化クラウドアプリケーションを設定することができるように、稼働サイトにある要冗長化クラウドアプリケーションの設定情報を取得するために使用される。方法は、稼働サイトにある冗長化管理モジュールによって実行されてもよい。方法は、以下を含んでいてもよい。
1401: 稼働サイトにあるクラウド管理モジュールから要冗長化クラウドアプリケーションの第1のディスクリプション情報であって、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソースネットワークに関する情報および要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソース仮想マシンに関する情報を含む、第1のディスクリプション情報を取得する。
要冗長化クラウドアプリケーションの第1のディスクリプション情報を取得するための次の2つの方法が存在し得る。
1)第1の方法
稼働サイトにある冗長化管理モジュールは、要冗長化クラウドアプリケーションの第1のディスクリプション情報であって、稼働サイトにあるクラウド管理モジュールによって記録された、第1のディスクリプション情報を取得してもよい、ここで、稼働サイトにあるクラウド管理モジュールは、クラウドアプリケーションの仮想マシンがデプロイされた後に、クラウドアプリケーションの実行中のインスタンスの静的ディスクリプション情報および動的ディスクリプション情報を収集して第1のディスクリプション情報を生成してもよい。
2)第2の方法
稼働サイトにある冗長化管理モジュールは、稼働サイトにあるクラウド管理モジュールから、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソース仮想マシンの識別子および仕様、ソース仮想マシンによって稼働サイトにおいて占有されている第1のストレージユニットに関する情報、ならびにソース仮想マシンのネットワークアドレスを取得して、第1のディスクリプション情報を生成してもよい。
第1のディスクリプション情報は、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソースネットワークに関する情報および要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソース仮想マシンに関する情報を含む。ソース仮想マシンに関する情報は、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソース仮想マシンの識別子および仕様、ソース仮想マシンによって稼働サイトにおいて占有されている第1のストレージユニットに関する情報、ならびにソース仮想マシンのホームネットワークに関する情報を含む。
さらに、ソース仮想マシンのホームネットワークに関する情報は、ソース仮想マシンのネットワークアドレスまたはソース仮想マシンの仮想ネットワークアダプタとソースネットワークとの間の関連付けを含む。
1402: 冗長サイトにある冗長化管理モジュールに第1のディスクリプション情報を送信する。
稼働サイトにある冗長化管理モジュールは、冗長サイトにある冗長化管理モジュールに第1のディスクリプション情報を送信してもよい、その結果、冗長サイトにあるクラウド管理モジュールは、要冗長化クラウドアプリケーションに関する全ディスクリプションを付与する第1のディスクリプション情報に基づいて、要冗長化クラウドアプリケーションのために要冗長化クラウドアプリケーションの第2のディスクリプション情報を構成して、冗長サイトにある要冗長化クラウドアプリケーションを復旧することができる。
本発明の実施形態において、稼働サイトにある冗長化管理モジュールは、要冗長化クラウドアプリケーションの第1のディスクリプション情報であって、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソース仮想マシンに関する情報を含むだけでなく、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソースネットワークに関する情報も含む、第1のディスクリプション情報を取得することが可能である。稼働サイトにある冗長化管理モジュールは、冗長サイトにある冗長化管理モジュールに第1のディスクリプション情報を送信することが可能である、その結果、冗長サイトにある冗長化管理モジュールは、要冗長化クラウドアプリケーションに関する全ディスクリプションを付与する第1のディスクリプション情報に基づいて、要冗長化クラウドアプリケーションのために要冗長化クラウドアプリケーションの第2のディスクリプション情報を構成して、冗長サイトにある要冗長化クラウドアプリケーションを完全に復旧することができる、それによって、クラウドアプリケーションに基づいた冗長化を実施している。従来技術における仮想マシン単位に基づいた冗長化の様式とは異なり、本発明の実施形態は、アプリケーションレベルで冗長化に関する設定を実施して、仮想マシン単位に基づいた冗長化に起因する起こり得る問題であって、クラウドアプリケーションを完全かつ迅速に復旧することができないという、問題を回避している。
特定の実施形態7における設定プロセス
図1(c)に示したシステム機構を参照して図15に示したように、冗長化インシデントが稼働サイトにおいて生じた際の設定情報に従って冗長サイトにある要冗長化クラウドアプリケーションを復旧するために、本発明の実施形態によって提供される冗長化方法は、冗長サイトにおいて稼働サイトの要冗長化クラウドアプリケーションを設定するために使用される。方法は、冗長サイトにある冗長化管理モジュールによって実行されてもよい。方法は、以下を含んでいてもよい。
1501: 要冗長化クラウドアプリケーションの稼働サイトにある冗長化管理モジュールから第1のディスクリプション情報であって、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソースネットワークに関する情報および要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソース仮想マシンに関する情報を含む、第1のディスクリプション情報を取得する。
冗長サイトにある冗長化管理モジュールは、稼働サイトにある冗長化管理モジュールによって送信された第1のディスクリプション情報であって、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソースネットワークに関する情報および要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソース仮想マシンに関する情報を含む、第1のディスクリプション情報を受信してもよい。要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソース仮想マシンに関する情報は、ソース仮想マシンの識別子および仕様、ソース仮想マシンによって稼働サイトにおいて占有されている第1のストレージユニットに関する情報、ならびにソース仮想マシンのホームネットワークに関する情報を含む。
さらに、ソース仮想マシンのホームネットワークに関する情報は、ソース仮想マシンのネットワークアドレスまたはソース仮想マシンの仮想ネットワークアダプタとソースネットワークとの間の関連付けを含む。
1502: ソース仮想マシンに関する情報に従って、要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップ仮想マシンの識別子および仕様を決定する。
1503: ソース仮想マシンに関する情報に従って、バックアップ仮想マシンによって冗長サイトにおいて占有されている第2のストレージユニットに関する情報を決定する。
1504: 第2のストレージユニットに第1のストレージユニットのデータを複製するように稼働サイトのストレージ管理ソフトウェアおよび冗長サイトのストレージ管理ソフトウェアに指示する。
1505: ソースネットワークに関する情報に従って要冗長化クラウドアプリケーションのためにバックアップネットワークに関する情報を構成する。
1506: ソース仮想マシンに関する情報およびバックアップネットワークに関する情報に従ってバックアップ仮想マシンのホームネットワークに関する情報を決定する。
1507: バックアップネットワークに関する情報、バックアップ仮想マシンの識別子および仕様、第2のストレージユニットに関する情報、ならびにバックアップ仮想マシンのホームネットワークに関する情報に従って第2のディスクリプション情報を取得する。
1508: 冗長サイトにあるクラウド管理モジュールに第2のディスクリプション情報を登録する。
冗長サイトにあるクラウド管理モジュールが第2のディスクリプション情報に従って冗長サイトにある要冗長化クラウドアプリケーションを復旧することができるように、冗長サイトにある冗長化管理モジュールは、冗長サイトにあるクラウド管理モジュールに第2のディスクリプション情報を直接登録する。
本発明の実施形態におけるステップ1502から1507の個別の実施様態はステップ502から507のものと類似しており、詳細を本明細書に繰り返し記載しない。
本発明の実施形態において、冗長サイトにある冗長化管理モジュールは、要冗長化クラウドアプリケーションの第1のディスクリプション情報であって、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソース仮想マシンに関する情報を含むだけでなく、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソースネットワークに関する情報も含む、第1のディスクリプション情報を取得することが可能である。要冗長化クラウドアプリケーションに関する全ディスクリプションを付与する第1のディスクリプション情報に基づいて、要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップネットワークに関する情報および要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップ仮想マシンに関する情報を、要冗長化クラウドアプリケーションに対して設定することができる、すなわち、冗長サイトにある要冗長化クラウドアプリケーションの第2のディスクリプション情報であって、冗長サイトにある要冗長化クラウドアプリケーションのデプロイメントに関する全ディスクリプションを付与する、第2のディスクリプション情報を生成することができる。冗長サイトにある冗長化管理モジュールは、冗長サイトにあるクラウド管理モジュールに第2のディスクリプション情報を登録する、その結果、冗長サイトにあるクラウド管理モジュールは、第2のディスクリプション情報に従って冗長サイトに完全に要冗長化クラウドアプリケーションを復旧することができる、それによって、クラウドアプリケーションに基づいた冗長化を実施している。従来技術における仮想マシン単位に基づいた冗長化の様式とは異なり、本発明の実施形態は、アプリケーションレベルで冗長化に関する設定を実施して、仮想マシン単位に基づいた冗長化に起因する起こり得る問題であって、クラウドアプリケーションを完全かつ迅速に復旧することができないという、問題を回避している。
特定の実施形態4から7における復旧プロセス
図1(c)に示したシステム機構を参照して図16に示したように、本発明の実施形態における冗長化方法は、冗長化インシデントが稼働サイトにおいて発生すると、冗長サイトに稼働サイトの要冗長化クラウドアプリケーションを復旧するために使用される。方法は、冗長サイトにあるクラウド管理モジュールによって実行されてもよい。方法は、以下を含んでいてもよい。
1601: 冗長サイトにある冗長化管理モジュールから登録情報であって、要冗長化クラウドアプリケーションの第2のディスクリプション情報を伝達する、登録情報を受信する。
冗長サイトにあるクラウド管理モジュールは、冗長サイトにある冗長化管理モジュールから登録情報を受信して、登録情報において伝達される要冗長化クラウドアプリケーションの第2のディスクリプション情報であって、要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップネットワークに関する情報および要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップ仮想マシンに関する情報を含む、第2のディスクリプション情報を取得してもよい。要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップ仮想マシンに関する情報は、バックアップ仮想マシンの識別子および仕様、バックアップ仮想マシンによって冗長サイトにおいて占有されている第2のストレージユニットに関する情報、ならびにバックアップ仮想マシンのホームネットワークに関する情報を含む。
さらに、バックアップ仮想マシンのホームネットワークに関する情報は、バックアップ仮想マシンの仮想ネットワークアダプタとバックアップネットワークとの間の関連付け、またはバックアップ仮想マシンの仮想ネットワークアダプタのネットワークアドレスを含んでいてもよい。
1602: 第2のストレージユニットに第1のストレージユニットのデータを複製することを停止するように冗長サイトのストレージ管理ソフトウェアまたは稼働サイトのストレージ管理ソフトウェアに指示する。
ステップ1602は、オプションのステップである。ステップ1602をステップ1601の前に行ってもよいし、またはステップ1601の後に行ってもよいし、本発明の実施形態においては限定されない。
1603: 第2のディスクリプション情報内のバックアップネットワークに関する情報に従って、バックアップネットワークを作成するように冗長サイトにある仮想化モジュールに指示する。
1604: 第2のディスクリプション情報内のバックアップ仮想マシンに関する情報に従って、バックアップ仮想マシンを作成するように冗長サイトにある仮想化モジュールに指示する。
1605: 第2のディスクリプション情報に従ってバックアップ仮想マシンにネットワークアドレスを割り振る。
1606: 第2のディスクリプション情報内のバックアップ仮想マシンに関する情報に従って、バックアップネットワークとバックアップ仮想マシンを関連付けるように冗長サイトにある仮想化モジュールに指示する。
本発明の実施形態におけるステップ1602から1606の個別の実施様態はステップ702から706のものと類似しており、詳細を本明細書に繰り返し記載しない。
本発明の実施形態において、冗長サイトにあるクラウド管理モジュールは、冗長サイトにある冗長化管理モジュールから要冗長化クラウドアプリケーションの第2のディスクリプション情報であって、冗長サイトにある要冗長化クラウドアプリケーションのデプロイメントに関する全ディスクリプションを付与する、第2のディスクリプション情報を取得することができる。第2のディスクリプション情報を取得した後に、冗長サイトにあるクラウド管理モジュールは、第2のディスクリプション情報内のバックアップネットワークに関する情報に従って、バックアップネットワークを作成するように冗長サイトにある仮想化モジュールに指示して、第2のディスクリプション情報内のバックアップ仮想マシンの識別子および仕様ならびに第2のストレージユニットに関する情報に従って、バックアップ仮想マシンを作成するように冗長サイトにある仮想化モジュールに指示して、第2のディスクリプション情報内のバックアップ仮想マシンのホームネットワークに関する情報に従ってバックアップネットワークとバックアップ仮想マシンを関連付けて、冗長サイトにある要冗長化クラウドアプリケーションを完全かつ迅速に復旧することができる、それによって、クラウドアプリケーションに基づいた冗長化を実施している。従来技術における仮想マシン単位に基づいた冗長化の様式とは異なり、本発明の実施形態は、アプリケーションレベルでの冗長化を実施して、仮想マシン単位に基づいた冗長化に起因する起こり得る問題であって、クラウドアプリケーションを完全かつ迅速に復旧することができないという、問題を回避している。
冗長化装置
図1(a)、または図1(b)、または図1(c)に示したシステム機構を参照して図17に示したように、冗長化インシデントが稼働サイトにおいて生じた際の設定情報に従って冗長サイトにある要冗長化クラウドアプリケーションを復旧するために、本発明の実施形態における冗長化装置は、冗長サイトにおいて稼働サイトの要冗長化クラウドアプリケーションを設定するために使用される。装置は、図1(b)に示した稼働サイトにあるクラウド管理モジュールであってもよいし、または図1(a)に示した冗長化管理モジュールであってもよいし、または図1(c)に示した稼働サイトにある冗長化管理モジュールまたは冗長サイトにある冗長化管理モジュールであってもよい。装置は、
要冗長化クラウドアプリケーションの第1のディスクリプション情報であって、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソースネットワークに関する情報および要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソース仮想マシンに関する情報を含む、第1のディスクリプション情報を取得するように構成される、取得ユニット1701と、
取得ユニット1701によって取得した第1のディスクリプション情報に従って、要冗長化クラウドアプリケーションの第2のディスクリプション情報であって、要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップネットワークに関する情報および要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップ仮想マシンに関する情報を含む、第2のディスクリプション情報を生成するように構成される、生成ユニット1702と、
冗長サイトが第2のディスクリプション情報に従って要冗長化クラウドアプリケーションを復旧することができるように、生成ユニット1702によって生成された第2のディスクリプション情報を冗長サイトに提供するように構成される、送信ユニット1703とを備えていてもよい。
本発明の実施形態において、取得ユニット1701は、要冗長化クラウドアプリケーションの第1のディスクリプション情報であって、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソース仮想マシンに関する情報を含むだけでなく、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソースネットワークに関する情報も含む、第1のディスクリプション情報を取得することが可能である。生成ユニット1702は、要冗長化クラウドアプリケーションに関する全ディスクリプションを付与する第1のディスクリプション情報に基づいて、冗長サイトにある要冗長化クラウドアプリケーションの第2のディスクリプション情報であって、冗長サイトにある要冗長化クラウドアプリケーションのデプロイメントに関する全ディスクリプションを付与することもし得る、第2のディスクリプション情報を生成することができる。送信ユニット1703は、冗長サイトに第2のディスクリプション情報を提供することが可能である、その結果、冗長サイトは、第2のディスクリプション情報を取得した後に冗長サイトに要冗長化クラウドアプリケーションを完全に復旧することができる、それによって、クラウドアプリケーションに基づいた冗長化を実施している。従来技術における仮想マシン単位に基づいた冗長化の様式とは異なり、本発明の実施形態は、アプリケーションレベルで冗長化に関する設定を実施して、仮想マシン単位に基づいた冗長化に起因する起こり得る問題であって、クラウドアプリケーションを完全かつ迅速に復旧することができないという、問題を回避している。
図1(c)に示したシステム機構を参照して図18に示したように、冗長化インシデントが稼働サイトにおいて生じた際の設定情報に従って冗長サイトにある要冗長化クラウドアプリケーションを復旧するために、本発明の実施形態における冗長化装置は、冗長サイトにおいて稼働サイトの要冗長化クラウドアプリケーションの設定情報を取得するために使用される。装置は冗長サイトにある冗長化管理モジュールであってもよい。装置は、
要冗長化クラウドアプリケーションの第2のディスクリプション情報であって、要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップネットワークに関する情報および要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップ仮想マシンに関する情報を含む、第2のディスクリプション情報を取得するように構成される、取得ユニット1801と、
冗長サイトにあるクラウド管理モジュールが第2のディスクリプション情報に従って要冗長化クラウドアプリケーションを復旧することができるように、冗長サイトにあるクラウド管理モジュールに取得ユニット1801によって取得した第2のディスクリプション情報を登録するように構成される、登録ユニット1802とを備える。
本発明の実施形態において、取得ユニット1801は、要冗長化クラウドアプリケーションの第2のディスクリプション情報であって、冗長サイトにある要冗長化クラウドアプリケーションのデプロイメントに関する全ディスクリプションを付与する、第2のディスクリプション情報を取得することができる。登録ユニット1802は、冗長サイトにある冗長化管理モジュールに第2のディスクリプション情報を登録することができる、その結果、冗長サイトにある冗長化管理モジュールは、第2のディスクリプション情報に従って冗長サイトにある要冗長化クラウドアプリケーションを完全かつ迅速に復旧することができる、それによって、クラウドアプリケーションに基づいた冗長化を実施している。従来技術における仮想マシン単位に基づいた冗長化の様式とは異なり、本発明の実施形態は、アプリケーションレベルで冗長化に関する設定および復旧を実施して、仮想マシン単位に基づいた冗長化に起因する起こり得る問題であって、クラウドアプリケーションを完全かつ迅速に復旧することができないという、問題を回避している。
図1(a)、または図1(b)、または図1(c)に示したシステム機構を参照して図19に示したように、本発明の実施形態における冗長化装置は、冗長サイトに稼働サイトの要冗長化クラウドアプリケーションを復旧するために使用される。装置は冗長サイトにあるクラウド管理モジュールであってもよい。装置は、
要冗長化クラウドアプリケーションの第2のディスクリプション情報であって、要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップネットワークに関する情報および要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップ仮想マシンに関する情報を含む、第2のディスクリプション情報を取得するように構成される、取得ユニット1901と、
取得ユニット1901によって取得した第2のディスクリプション情報に従って冗長サイトにある要冗長化クラウドアプリケーションを復旧するように構成される、復旧ユニット1902とを備える。
本発明の実施形態において、取得ユニット1901は、図1(b)に示した稼働サイトにあるクラウド管理モジュール、または図1(a)に示した冗長化管理モジュール、または図1(c)に示した稼働サイトにある冗長化管理モジュールから要冗長化クラウドアプリケーションの第2のディスクリプション情報であって、冗長サイトにある要冗長化クラウドアプリケーションのデプロイメントに関する全ディスクリプションを付与する、第2のディスクリプション情報を取得することができる。復旧ユニット1902は、第2のディスクリプション情報に従って冗長サイトにある要冗長化クラウドアプリケーションを完全かつ迅速に復旧することができる、それによって、クラウドアプリケーションに基づいた冗長化を実施している。従来技術における仮想マシン単位に基づいた冗長化の様式とは異なり、本発明の実施形態は、アプリケーションレベルで冗長化に関する設定および復旧を実施して、仮想マシン単位に基づいた冗長化に起因する起こり得る問題であって、クラウドアプリケーションを完全かつ迅速に復旧することができないという、問題を回避している。
図20に示したシステムは、稼働サイトにあるクラウド管理装置2004、冗長化管理装置2000、および冗長サイトにあるクラウド管理装置2005を備えている、ここで、装置は、冗長化管理装置2000である。冗長化管理装置2000は、取得ユニット2001、生成ユニット2002、および送信ユニット2003を備えており、冗長化インシデントが稼働サイトにおいて生じた際の設定情報に従って冗長サイトにある要冗長化クラウドアプリケーションを復旧するために、装置は、冗長サイトにおいて稼働サイトの要冗長化クラウドアプリケーションを設定するために使用されてもよい。
取得ユニット2001は、稼働サイトにあるクラウド管理装置2004から要冗長化クラウドアプリケーションの第1のディスクリプション情報であって、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソースネットワークに関する情報および要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソース仮想マシンに関する情報を含む、第1のディスクリプション情報を取得するように構成される。ソース仮想マシンに関する情報は、ソース仮想マシンの識別子および仕様、ソース仮想マシンによって稼働サイトにおいて占有されている第1のストレージユニットに関する情報、ならびにソース仮想マシンのホームネットワークに関する情報を含む、ここで、バックアップ仮想マシンのホームネットワークに関する情報は、ソース仮想マシンのネットワークアドレスまたはソース仮想マシンの仮想ネットワークアダプタとソースネットワークとの間の関連付けを含む。
要冗長化クラウドアプリケーションの第1のディスクリプション情報を取得するための2つの方法が存在し得る。1)第1の方法では、取得ユニット2001は、稼働サイトにあるクラウド管理装置に接続されているインターフェースを使用して、稼働サイトにあるクラウド管理装置から要冗長化クラウドアプリケーションの第1のディスクリプション情報について問い合わせる、ここで、稼働サイトにあるクラウド管理装置は、クラウドアプリケーションの仮想マシンがデプロイされた後に、クラウドアプリケーションの実行中のインスタンスの静的ディスクリプション情報および動的ディスクリプション情報を収集して第1のディスクリプション情報を生成してもよい。2)第2の方法では、取得ユニット2001は、稼働サイトにあるクラウド管理装置に接続されているインターフェースを使用して稼働サイトにあるクラウド管理装置から、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソース仮想マシンの識別子および仕様、ソース仮想マシンによって稼働サイトにおいて占有されている第1のストレージユニットに関する情報、ならびにソース仮想マシンのネットワークアドレスを問い合わせて、第1のディスクリプション情報を生成する。
生成ユニット2002は、取得ユニット2001によって取得した第1のディスクリプション情報に従って要冗長化クラウドアプリケーションのために、冗長サイトにおいて使用されているバックアップネットワークに関する情報および冗長サイトにおいて使用されているバックアップ仮想マシンに関する情報を設定する、すなわち、要冗長化クラウドアプリケーションの第2のディスクリプション情報であって、要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップネットワークに関する情報および要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップ仮想マシンに関する情報を含む、第2のディスクリプション情報を生成するように構成される。要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップ仮想マシンに関する情報は、バックアップ仮想マシンの識別子および仕様、バックアップ仮想マシンによって冗長サイトにおいて占有されている第2のストレージユニットに関する情報、ならびにバックアップ仮想マシンのホームネットワークに関する情報を含む。
そして、生成ユニット2002は、ソース仮想マシンの識別子および仕様に従ってバックアップ仮想マシンの識別子および仕様を決定して、第1のストレージユニットに関する情報に従って第2のストレージユニットに関する情報を決定して、ソースネットワークに関する情報に従って要冗長化クラウドアプリケーションのためにバックアップネットワークに関する情報を構成して、バックアップ仮想マシンの識別子およびソース仮想マシンのホームネットワークに関する情報に従って、バックアップ仮想マシンのホームネットワークに関する情報であって、バックアップ仮想マシンの仮想ネットワークアダプタとバックアップネットワークとの間の関連付けまたはバックアップ仮想マシンのネットワークアドレスを含み得る、バックアップ仮想マシンのホームネットワークに関する情報を決定するように特に構成される。
生成ユニット2002は、第1のストレージユニットと第2のストレージユニットとの間の複製関係を作成して、稼働サイトのストレージ管理ソフトウェアおよび冗長サイトのストレージ管理ソフトウェアについての複製関係を設定するようにさらに構成されてもよい、その結果、稼働サイトのストレージ管理ソフトウェアおよび冗長サイトのストレージ管理ソフトウェアは、第1のストレージユニットと第2のストレージユニットとの間の複製関係であって、ユーザの指定に従って決定され得る、第1のストレージユニットと第2のストレージユニットとの間の複製関係ならびに規定の複製周期および複製様式に従って第2のストレージユニットに第1のストレージユニットのデータを複製することができる。
冗長サイトにあるクラウド管理装置2005が第2のディスクリプション情報に従って冗長サイトにある要冗長化クラウドアプリケーションを復旧することができるように、送信ユニット2003は、冗長サイトにあるクラウド管理装置2005に生成ユニット2002によって生成された第2のディスクリプション情報を登録するように構成される。
本発明の実施形態において、取得ユニット2001は、稼働サイトにあるクラウド管理装置から要冗長化クラウドアプリケーションの第1のディスクリプション情報であって、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソース仮想マシンに関する情報を含むだけでなく、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソースネットワークに関する情報も含む、第1のディスクリプション情報を取得することが可能である。要冗長化クラウドアプリケーションに関する全ディスクリプションを付与する第1のディスクリプション情報に基づいて、生成ユニット2002は、冗長サイトにおいて使用されているバックアップネットワークに関する情報および冗長サイトにおいて使用されているバックアップ仮想マシンに関する情報を要冗長化クラウドアプリケーションに対して設定することができる、すなわち、冗長サイトにある要冗長化クラウドアプリケーションの第2のディスクリプション情報であって、冗長サイトにある要冗長化クラウドアプリケーションのデプロイメントに関する全ディスクリプションを付与する、第2のディスクリプション情報を生成することができる。送信ユニット2003は、冗長サイトにあるクラウド管理装置に第2のディスクリプション情報を登録することができる、その結果、冗長サイトにあるクラウド管理装置は、第2のディスクリプション情報に従って冗長サイトにある要冗長化クラウドアプリケーションを完全かつ迅速に復旧することができる、それによって、クラウドアプリケーションに基づいた冗長化を実施している。従来技術における仮想マシン単位に基づいた冗長化の様式とは異なり、本発明の実施形態は、アプリケーションレベルで冗長化に関する設定を実施して、仮想マシン単位に基づいた冗長化に起因する起こり得る問題であって、クラウドアプリケーションを完全かつ迅速に復旧することができないという、問題を回避している。
図21に示したシステムは、稼働サイトにあるクラウド管理装置2100および冗長サイトにあるクラウド管理装置2104を備えている、ここで、稼働サイトにあるクラウド管理装置2100は、取得ユニット2101、生成ユニット2102、および送信ユニット2103を備えており、冗長化インシデントが稼働サイトにおいて生じた際の設定情報に従って冗長サイトにある要冗長化クラウドアプリケーションを復旧するために、装置は、冗長サイトにおいて稼働サイトの要冗長化クラウドアプリケーションを設定するために使用されてもよい。
取得ユニット2101は、要冗長化クラウドアプリケーションの第1のディスクリプション情報であって、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソースネットワークに関する情報および要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソース仮想マシンに関する情報を含む、第1のディスクリプション情報を取得するように構成される。ソース仮想マシンに関する情報は、ソース仮想マシンの識別子および仕様、ソース仮想マシンによって稼働サイトにおいて占有されている第1のストレージユニットに関する情報、ならびにソース仮想マシンのホームネットワークに関する情報を含む。さらに、ソース仮想マシンのホームネットワークに関する情報は、ソース仮想マシンのネットワークアドレスまたはソース仮想マシンの仮想ネットワークアダプタとソースネットワークとの間の関連付けを含む。
取得ユニット2101が要冗長化クラウドアプリケーションの第1のディスクリプション情報を取得するための次の2つの方法が存在し得る。1)第1の方法では、取得ユニット2101は、要冗長化クラウドアプリケーションの第1のディスクリプション情報であって、稼働サイトにあるクラウド管理装置によって記録された、第1のディスクリプション情報を直接取得する、ここで、稼働サイトにあるクラウド管理装置は、クラウドアプリケーションの仮想マシンがデプロイされた後に、クラウドアプリケーションの実行中のインスタンスの静的ディスクリプション情報および動的ディスクリプション情報を収集して第1のディスクリプション情報を生成してもよい。2)第2の方法では、取得ユニット2101は、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソース仮想マシンの識別子および仕様、ソース仮想マシンによって稼働サイトにおいて占有されている第1のストレージユニットに関する情報、ならびにソース仮想マシンのネットワークアドレスに従って第1のディスクリプション情報を生成する、ここで、前述の情報は、稼働サイトにあるクラウド管理装置によって記録される。
生成ユニット2102は、取得ユニット2101によって取得した第1のディスクリプション情報に従って要冗長化クラウドアプリケーションのために、冗長サイトにおいて使用されているバックアップネットワークに関する情報および冗長サイトにおいて使用されているバックアップ仮想マシンに関する情報を設定する、すなわち、要冗長化クラウドアプリケーションの第2のディスクリプション情報であって、要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップネットワークに関する情報および要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップ仮想マシンに関する情報を含む、第2のディスクリプション情報を生成するように構成される。要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップ仮想マシンに関する情報は、バックアップ仮想マシンの識別子および仕様、バックアップ仮想マシンによって冗長サイトにおいて占有されている第2のストレージユニットに関する情報、ならびにバックアップ仮想マシンのホームネットワークに関する情報を含む。そして、生成ユニット2102は、ソース仮想マシンの識別子および仕様に従ってバックアップ仮想マシンの識別子および仕様を決定して、第1のストレージユニットに関する情報に従って第2のストレージユニットに関する情報を決定して、ソースネットワークに関する情報に従って要冗長化クラウドアプリケーションのためにバックアップネットワークに関する情報を構成して、バックアップ仮想マシンの識別子およびソース仮想マシンのホームネットワークに関する情報に従って、バックアップ仮想マシンのホームネットワークに関する情報であって、バックアップ仮想マシンの仮想ネットワークアダプタとバックアップネットワークとの間の関連付けまたはバックアップ仮想マシンのネットワークアドレスを含み得る、バックアップ仮想マシンのホームネットワークに関する情報を決定するように特に構成される。
生成ユニット2102は、第1のストレージユニットと第2のストレージユニットとの間の複製関係を作成して、稼働サイトのストレージ管理ソフトウェアおよび冗長サイトのストレージ管理ソフトウェアについての複製関係を設定するようにさらに構成されてもよい、その結果、稼働サイトのストレージ管理ソフトウェアおよび冗長サイトのストレージ管理ソフトウェアは、第1のストレージユニットと第2のストレージユニットとの間の複製関係であって、ユーザの指定に従って決定され得る、第1のストレージユニットと第2のストレージユニットとの間の複製関係ならびに規定の複製周期および複製様式に従って第2のストレージユニットに第1のストレージユニットのデータを複製することができる。
冗長サイトにあるクラウド管理装置2104が第2のディスクリプション情報に従って冗長サイトにある要冗長化クラウドアプリケーションを復旧することができるように、送信ユニット2103は、冗長サイトにあるクラウド管理装置2104に生成ユニット2102によって生成された第2のディスクリプション情報を登録するように構成される。
本発明の実施形態において、取得ユニット2101は、要冗長化クラウドアプリケーションの第1のディスクリプション情報であって、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソース仮想マシンに関する情報を含むだけでなく、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソースネットワークに関する情報も含む、第1のディスクリプション情報を取得することが可能である。要冗長化クラウドアプリケーションに関する全ディスクリプションを付与する第1のディスクリプション情報に基づいて、生成ユニット2102は、冗長サイトにおいて使用されているバックアップネットワークに関する情報および冗長サイトにおいて使用されているバックアップ仮想マシンに関する情報を要冗長化クラウドアプリケーションに対して設定することができる、すなわち、冗長サイトにある要冗長化クラウドアプリケーションの第2のディスクリプション情報であって、冗長サイトにある要冗長化クラウドアプリケーションのデプロイメントに関する全ディスクリプションを付与する、第2のディスクリプション情報を生成することができる。送信ユニット2103は、冗長サイトにあるクラウド管理装置に第2のディスクリプション情報を登録することができる、その結果、冗長サイトにあるクラウド管理装置は、第2のディスクリプション情報に従って冗長サイトにある要冗長化クラウドアプリケーションを完全かつ迅速に復旧することができる、それによって、クラウドアプリケーションに基づいた冗長化を実施している。従来技術における仮想マシン単位に基づいた冗長化の様式とは異なり、本発明の実施形態は、アプリケーションレベルで冗長化に関する設定を実施して、仮想マシン単位に基づいた冗長化に起因する起こり得る問題であって、クラウドアプリケーションを完全かつ迅速に復旧することができないという、問題を回避している。
図22に示したシステムは、稼働サイトにある冗長化管理装置2200、稼働サイトにあるクラウド管理装置2204、冗長サイトにある冗長化管理装置2205、および冗長サイトにあるクラウド管理装置2206を備えている、ここで、稼働サイトにある冗長化管理装置2205は、取得ユニット2201、生成ユニット2202、および送信ユニット2203を備えていてもよい。冗長化インシデントが稼働サイトにおいて生じた際の設定情報に従って冗長サイトにある要冗長化クラウドアプリケーションを復旧するために、装置は、冗長サイトにおいて稼働サイトの要冗長化クラウドアプリケーションを設定するために使用されてもよい。
特に、取得ユニット2201は、稼働サイトにあるクラウド管理装置2204から要冗長化クラウドアプリケーションの第1のディスクリプション情報であって、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソースネットワークに関する情報および要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソース仮想マシンに関する情報を含む、第1のディスクリプション情報を取得するように構成される。ソース仮想マシンに関する情報は、ソース仮想マシンの識別子および仕様、ソース仮想マシンによって稼働サイトにおいて占有されている第1のストレージユニットに関する情報、ならびにソース仮想マシンのホームネットワークに関する情報を含む。さらに、ソース仮想マシンのホームネットワークに関する情報は、ソース仮想マシンのネットワークアドレスまたはソース仮想マシンの仮想ネットワークアダプタとソースネットワークとの間の関連付けを含む。
取得ユニット2201が要冗長化クラウドアプリケーションの第1のディスクリプション情報を取得するための次の2つの方法が存在し得る。第1の方法では、取得ユニット2201は、稼働サイトにあるクラウド管理装置2204から要冗長化クラウドアプリケーションの第1のディスクリプション情報を直接取得する、ここで、稼働サイトにあるクラウド管理装置は、クラウドアプリケーションの仮想マシンがデプロイされた後に、クラウドアプリケーションの実行中のインスタンスの静的ディスクリプション情報および動的ディスクリプション情報を収集してクラウド管理装置を生成してもよい。第2の方法では、取得ユニット2201は、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソース仮想マシンの識別子および仕様、ソース仮想マシンによって稼働サイトにおいて占有されている第1のストレージユニットに関する情報、ならびにソース仮想マシンのネットワークアドレスに従って第1のディスクリプション情報を生成する、ここで、前述の情報は、稼働サイトにあるクラウド管理装置2204によって記録される。
生成ユニット2202は、取得ユニット2201によって取得した第1のディスクリプション情報に従って要冗長化クラウドアプリケーションのために、冗長サイトにおいて使用されているバックアップネットワークに関する情報および冗長サイトにおいて使用されているバックアップ仮想マシンに関する情報を設定する、すなわち、要冗長化クラウドアプリケーションの第2のディスクリプション情報であって、要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップネットワークに関する情報および要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップ仮想マシンに関する情報を含む、第2のディスクリプション情報を生成するように構成される。要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップ仮想マシンに関する情報は、バックアップ仮想マシンの識別子および仕様、バックアップ仮想マシンによって冗長サイトにおいて占有されている第2のストレージユニットに関する情報、ならびにバックアップ仮想マシンのホームネットワークに関する情報を含む。
そして、生成ユニット2202は、ソース仮想マシンの識別子および仕様に従ってバックアップ仮想マシンの識別子および仕様を決定して、第1のストレージユニットに関する情報に従って第2のストレージユニットに関する情報を決定して、ソースネットワークに関する情報に従って要冗長化クラウドアプリケーションのためにバックアップネットワークに関する情報を構成して、バックアップ仮想マシンの識別子およびソース仮想マシンのホームネットワークに関する情報に従って、バックアップ仮想マシンのホームネットワークに関する情報であって、バックアップ仮想マシンの仮想ネットワークアダプタとバックアップネットワークとの間の関連付けまたはバックアップ仮想マシンのネットワークアドレスを含み得る、バックアップ仮想マシンのホームネットワークに関する情報を決定するように特に構成される。
冗長サイトにある冗長化管理装置2205が第2のディスクリプション情報に従って冗長サイトにある要冗長化クラウドアプリケーションを復旧することができるように、送信ユニット2203は、冗長サイトにある冗長化管理装置2205に生成ユニット2202によって生成された第2のディスクリプション情報を送信するように構成される。
加えて、生成ユニット2202は、第1のストレージユニットと第2のストレージユニットとの間の複製関係を作成して、稼働サイトのストレージ管理ソフトウェアおよび冗長サイトのストレージ管理ソフトウェアについての複製関係を設定するようにさらに構成されてもよい、その結果、稼働サイトのストレージ管理ソフトウェアおよび冗長サイトのストレージ管理ソフトウェアは、第1のストレージユニットと第2のストレージユニットとの間の複製関係であって、ユーザの指定に従って決定され得る、第1のストレージユニットと第2のストレージユニットとの間の複製関係ならびに規定の複製周期および複製様式に従って第2のストレージユニットに第1のストレージユニットのデータを複製することができる。
本発明の実施形態において、取得ユニット2201は、稼働サイトにあるクラウド管理装置2204から要冗長化クラウドアプリケーションの第1のディスクリプション情報であって、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソース仮想マシンに関する情報を含むだけでなく、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソースネットワークに関する情報も含む、第1のディスクリプション情報を取得することが可能である。要冗長化クラウドアプリケーションに関する全ディスクリプションを付与する第1のディスクリプション情報に基づいて、生成ユニット2202は、冗長サイトにおいて使用されているバックアップネットワークに関する情報および冗長サイトにおいて使用されているバックアップ仮想マシンに関する情報を要冗長化クラウドアプリケーションに対して設定することができる、すなわち、冗長サイトにある要冗長化クラウドアプリケーションの第2のディスクリプション情報であって、冗長サイトにある要冗長化クラウドアプリケーションのデプロイメントに関する全ディスクリプションを付与する、第2のディスクリプション情報を生成することができる。送信ユニット2203は、冗長サイトにある冗長化管理装置2205に第2のディスクリプション情報を送信することができる、その結果、冗長サイトにある冗長化管理装置は、冗長サイトに第2のディスクリプション情報を提供して、要冗長化クラウドアプリケーションを完全かつ迅速に復旧することができる、それによって、クラウドアプリケーションに基づいた冗長化を実施している。従来技術における仮想マシン単位に基づいた冗長化の様式とは異なり、本発明の実施形態は、アプリケーションレベルで冗長化に関する設定を実施して、仮想マシン単位に基づいた冗長化に起因する起こり得る問題であって、クラウドアプリケーションを完全かつ迅速に復旧することができないという、問題を回避している。
図23に示したシステムは、稼働サイトにある冗長化管理装置2304、稼働サイトにあるクラウド管理装置2303、冗長サイトにある冗長化管理装置2300、および冗長サイトにあるクラウド管理装置2305を備えている、ここで、冗長化管理装置2300は、取得ユニット2301および登録ユニット2302を備えていてもよい。冗長化インシデントが稼働サイトにおいて生じた際の設定情報に従って冗長サイトにある要冗長化クラウドアプリケーションを復旧するために、装置は、冗長サイトにおいて稼働サイトの要冗長化クラウドアプリケーションを設定するために使用されてもよい。
特に、取得ユニット2301は、要冗長化クラウドアプリケーションの第2のディスクリプション情報であって、要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップネットワークに関する情報および要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップ仮想マシンに関する情報を含む、第2のディスクリプション情報を取得するように構成される。バックアップ仮想マシンに関する情報は、バックアップ仮想マシンの識別子および仕様、バックアップ仮想マシンによって冗長サイトにおいて占有されている第2のストレージユニットに関する情報、ならびにバックアップ仮想マシンのホームネットワークに関する情報を含む。さらに、バックアップ仮想マシンのホームネットワークに関する情報は、バックアップ仮想マシンのネットワークアドレスまたはバックアップ仮想マシンの仮想ネットワークアダプタとバックアップネットワークとの間の関連付けを含む。
取得ユニット2301は、稼働サイトにある冗長化管理装置2301によって送信された要冗長化クラウドアプリケーションの第2のディスクリプション情報を受信してもよいし、同様に稼働サイトにある冗長化管理装置2301によって送信された第1のディスクリプション情報を受信して、第1のディスクリプション情報であって、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソースネットワークに関する情報および要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソース仮想マシンに関する情報を含む、第1のディスクリプション情報に従って第2のディスクリプション情報を生成してもよい。ソース仮想マシンに関する情報は、ソース仮想マシンの識別子および仕様、ソース仮想マシンによって稼働サイトにおいて占有されている第1のストレージユニットに関する情報、ならびにソース仮想マシンのホームネットワークに関する情報を含む。そして、第1のディスクリプション情報に従って第2のディスクリプション情報を生成するステップは、ソース仮想マシンの識別子および仕様に従ってバックアップ仮想マシンの識別子および仕様を決定するステップと、第1のストレージユニットに関する情報に従って、バックアップ仮想マシンによって冗長サイトにおいて占有されている第2のストレージユニットに関する情報を決定するステップと、ソースネットワークに関する情報に従って要冗長化クラウドアプリケーションのためにバックアップネットワークに関する情報を構成するステップと、バックアップネットワークに関する情報、バックアップ仮想マシンの識別子、およびソース仮想マシンのホームネットワークに関する情報に従ってバックアップ仮想マシンのホームネットワークに関する情報を決定するステップとを含む。
ソース仮想マシンのホームネットワークに関する情報は、ソース仮想マシンのネットワークアドレスまたはソース仮想マシンの仮想ネットワークアダプタとソースネットワークとの間の関連付けを含んでいてもよい。
冗長サイトにあるクラウド管理装置2305が第2のディスクリプション情報に従って冗長サイトにある要冗長化クラウドアプリケーションを復旧することができるように、登録ユニット2302は、冗長サイトにあるクラウド管理装置2305に取得ユニット2301によって取得した第2のディスクリプション情報を登録するように構成される。
本発明の実施形態において、取得ユニット2301は、要冗長化クラウドアプリケーションの第2のディスクリプション情報であって、冗長サイトにある要冗長化クラウドアプリケーションのデプロイメントに関する全ディスクリプションを付与する、第2のディスクリプション情報を取得することが可能である。冗長サイトにある冗長化管理装置は、冗長サイトにあるクラウド管理装置2305に第2のディスクリプション情報を登録することができる、その結果、冗長サイトにあるクラウド管理装置2305は、第2のディスクリプション情報に従って冗長サイトにある要冗長化クラウドアプリケーションを完全かつ迅速に復旧することができる、それによって、クラウドアプリケーションに基づいた冗長化を実施している。従来技術における仮想マシン単位に基づいた冗長化の様式とは異なり、本発明の実施形態は、アプリケーションレベルで冗長化に関する設定を実施して、仮想マシン単位に基づいた冗長化に起因する起こり得る問題であって、クラウドアプリケーションを完全かつ迅速に復旧することができないという、問題を回避している。
図1(a)、または図1(b)、または図1(c)に示したシステム機構を参照して図24に示したように、本発明の実施形態における冗長化装置は、冗長サイトに稼働サイトの要冗長化クラウドアプリケーションを復旧するために使用される。装置は、決定ユニット2401および復旧ユニット2402を備えていてもよい。
決定ユニット2401は、要冗長化クラウドアプリケーションの第2のディスクリプション情報であって、要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップネットワークに関する情報および要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップ仮想マシンに関する情報を含む、第2のディスクリプション情報を取得するように構成される。バックアップ仮想マシンに関する情報は、バックアップ仮想マシンの識別子および仕様、バックアップ仮想マシンによって冗長サイトにおいて占有されている第2のストレージユニットに関する情報、ならびにバックアップ仮想マシンのホームネットワークに関する情報を含む。例えば、APP1の第2のディスクリプション情報は、表2に示したようなものであってもよい。さらに、バックアップ仮想マシンのホームネットワークに関する情報は、バックアップ仮想マシンの仮想ネットワークアダプタとバックアップネットワークとの間の関連付け、またはバックアップ仮想マシンの仮想ネットワークアダプタのネットワークアドレスを含んでいてもよい。決定ユニット2401が要冗長化クラウドアプリケーションの第2のディスクリプション情報を取得するための2つの方法が存在し得る。
1)第1の方法
図1(b)に示したシステム機構において、決定ユニット2401は、稼働サイトにあるクラウド管理モジュールから登録情報を受信して、登録情報において伝達される要冗長化クラウドアプリケーションの第2のディスクリプション情報を取得するように構成される。
図1(a)に示したシステム機構において、決定ユニット2401は、冗長化管理モジュールから登録情報を受信して、登録情報において伝達される要冗長化クラウドアプリケーションの第2のディスクリプション情報を取得するように構成される。
図1(c)に示したシステム機構において、決定ユニット2401は、冗長サイトにある冗長化管理モジュールから登録情報を受信して、登録情報において伝達される要冗長化クラウドアプリケーションの第2のディスクリプション情報を取得するように構成される。
2)第2の方法
図1(a)、または図1(b)、または図1(c)に示したシステム機構において、決定ユニット2401は、要冗長化クラウドアプリケーションの第1のディスクリプション情報を取得して、第1のディスクリプション情報であって、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソースネットワークに関する情報および要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソース仮想マシンに関する情報を含む、第1のディスクリプション情報に従って第2のディスクリプション情報を生成する。ソース仮想マシンに関する情報は、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソース仮想マシンの識別子および仕様、ソース仮想マシンによって稼働サイトにおいて占有されている第1のストレージユニットに関する情報、ならびにソース仮想マシンのホームネットワークに関する情報を含む。ソース仮想マシンのホームネットワークに関する情報は、ソース仮想マシンのネットワークアドレス、またはソース仮想マシンの仮想ネットワークアダプタとソースネットワークとの間の関連付けを含む。
復旧ユニット2402は、決定ユニット2401によって取得した第2のディスクリプション情報に従って冗長サイトにある要冗長化クラウドアプリケーションを復旧するように構成される。復旧ユニット2402は、第1の復旧ユニット2402a、第2の復旧ユニット2402b、および第3の復旧ユニット2402cを特に備えている、ここで、第1の復旧ユニット2402aは、バックアップネットワークに関する情報に従って、バックアップネットワークを作成するように冗長サイトにある仮想化モジュールに指示するように構成され、第2の復旧ユニット2402bは、バックアップ仮想マシンの識別子および仕様ならびに第2のストレージユニットに関する情報に従って、バックアップ仮想マシンを作成するように冗長サイトにある仮想化モジュールに指示するように構成され、第3の復旧ユニット2402cは、バックアップネットワークとバックアップ仮想マシンを関連付けるように、バックアップ仮想マシンのホームネットワークに関する情報に従って、冗長サイトにある仮想化モジュールに指示するように構成される。
特に、決定ユニット2401が第2のディスクリプション情報を取得した後に、第1の復旧ユニット2402aは、冗長サイトにある仮想化モジュールが、仮想化ネットワーク作成コマンドに従って、要冗長化クラウドアプリケーションによって使用される仮想スイッチを決定して、仮想スイッチのポートグループのためにバックアップネットワークに関する情報を構成することができるように、冗長サイトにある仮想化モジュールに仮想化ネットワーク作成コマンドであって、バックアップネットワークに関する情報を伝達する、仮想化ネットワーク作成コマンドを送信してもよい。特に、冗長サイトにあるクラウド管理モジュールは、冗長サイトにある仮想化モジュールに仮想化ネットワーク作成コマンドであって、バックアップネットワークに関する情報および第2のストレージユニットに関する情報を伝達する、仮想化ネットワーク作成コマンドを送信する。仮想化ネットワーク作成コマンドを受信した後に、仮想化モジュールは、第2のストレージユニットに関する情報に従って、要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されている仮想スイッチを決定して、バックアップネットワークに関する情報に従って仮想スイッチのポートグループを指定または作成して、バックアップネットワークと仮想スイッチのポートグループとの間の対応付けを作成して、そして、バックアップネットワークと仮想スイッチのポートグループとの間の対応付けに従って仮想スイッチのポートグループのためのバックアップネットワークに関する情報を構成する、その結果、バックアップネットワークが復旧される。仮想化モジュールがバックアップネットワークを作成した後に、第1の復旧ユニット2402aは、冗長サイトにある仮想化モジュールから、バックアップネットワークと仮想スイッチのポートグループとの間の対応付けを取得して、バックアップネットワークに関する情報と仮想スイッチのポートグループとの間の対応付けを記憶するようにさらに構成される。
決定ユニット2401が第2のディスクリプション情報を取得した後に、第2の復旧ユニット2402bが、バックアップ仮想マシンの識別子および仕様および第2のディスクリプション情報内の第2のストレージユニットに関する情報に従って、バックアップ仮想マシンを作成するように冗長サイトにある仮想化モジュールに指示し得ることは、冗長サイトにある仮想化モジュールに仮想マシンを作成するためのコマンドであって、バックアップ仮想マシンの識別子および仕様ならびに第2のストレージユニットに関する情報を伝達する、仮想マシンを作成するためのコマンドを送信するステップと、前述の情報に従ってバックアップ仮想マシンおよびバックアップ仮想マシンの仮想ネットワークアダプタを作成するように冗長サイトにある仮想化モジュールに指示するステップとを含む。
第1の復旧ユニット2402aがバックアップネットワークを作成して、第2の復旧ユニット2402bがバックアップ仮想マシンを作成した後に、第3の復旧ユニット2402cが、仮想スイッチとバックアップ仮想マシンの仮想ネットワークアダプタを関連付けるようにバックアップ仮想マシンのホームネットワークに関する情報に従って、冗長サイトにある仮想化モジュールに指示し得ることは、第3の復旧ユニット2402cが、バックアップ仮想マシンのホームネットワークに関する情報に従ってバックアップ仮想マシンの仮想ネットワークアダプタとバックアップネットワークとの間の関連付けを取得し得ることを特に含む、ここで、バックアップ仮想マシンの仮想ネットワークアダプタとバックアップネットワークとの間の関連付けを取得することは、バックアップ仮想マシンのホームネットワークに関する情報からバックアップ仮想マシンの仮想ネットワークアダプタとバックアップネットワークとの間の関連付けを直接取得することであってもよいし、またはバックアップ仮想マシンのホームネットワークに関する情報内にあるバックアップ仮想マシンのネットワークアドレスおよびバックアップネットワークに関する情報に従ってバックアップ仮想マシンの仮想ネットワークアダプタとバックアップネットワークとの間の関連付けを決定することであってもよい。第3の復旧ユニット2402cは、第1の復旧ユニット2402aからバックアップネットワークに関する情報と仮想スイッチのポートグループとの間の対応付けを取得して、バックアップ仮想マシンの仮想ネットワークアダプタとバックアップネットワークとの間の関連付けおよびバックアップネットワークに関する情報と仮想スイッチのポートグループとの間の対応付けに従ってバックアップ仮想マシンの仮想ネットワークアダプタと仮想スイッチのポートグループとの間の対応付けを決定してもよい。第3の復旧ユニット2402cは、仮想スイッチのポートグループとバックアップ仮想マシンの仮想ネットワークアダプタを関連付けるように、バックアップ仮想マシンの仮想ネットワークアダプタと仮想スイッチのポートグループとの間の対応付けに従って、仮想化モジュールに指示する、その結果、バックアップ仮想マシンは、バックアップ仮想マシンのネットワークアドレスに従って、データ伝送のためにバックアップ仮想マシンの仮想ネットワークアダプタに対応するように関連付けられている仮想スイッチのポートグループおよびバックアップネットワークを使用することができる。
さらに、装置は、
復旧ユニット2402が冗長サイトにある要冗長化クラウドアプリケーションを復旧する前に、冗長サイトが第2のストレージユニットに第1のストレージユニットのデータを複製することを停止するように、冗長サイトのストレージ管理ソフトウェアまたは稼働サイトのストレージ管理ソフトウェアを設定して、それによって、冗長化の後に、第2のストレージユニットが複製によって第1のストレージユニットのデータを取得し続けることによりデータが上書きされることを回避し、要冗長化クラウドアプリケーションの確実な復旧を保証するように構成される、停止ユニット2403をさらに備えていてもよい。
本発明の実施形態において、決定ユニット2401は、要冗長化クラウドアプリケーションの第2のディスクリプション情報であって、冗長サイトにある要冗長化クラウドアプリケーションのデプロイメントに関する全ディスクリプションを付与する、第2のディスクリプション情報を取得することができる。決定ユニット2401が第2のディスクリプション情報を取得した後に、復旧ユニット2402は、第2のディスクリプション情報内のバックアップネットワークに関する情報に従って、バックアップネットワークを作成するように冗長サイトにある仮想化モジュールに指示して、第2のディスクリプション情報内のバックアップ仮想マシンの識別子および仕様ならびに第2のストレージユニットに関する情報に従って、バックアップ仮想マシンを作成するように冗長サイトにある仮想化モジュールに指示して、第2のディスクリプション情報内のバックアップ仮想マシンのホームネットワークに関する情報に従ってバックアップネットワークとバックアップ仮想マシンを関連付けてもよい、それによって、クラウドアプリケーションに基づいた冗長化を実施している。従来技術における仮想マシン単位に基づいた冗長化の様式とは異なり、本発明の実施形態は、アプリケーションレベルでの冗長化を実施して、仮想マシン単位に基づいた冗長化に起因する起こり得る問題であって、クラウドアプリケーションを完全かつ迅速に復旧することができないという、問題を回避している。
冗長化インシデントが稼働サイトにおいて生じた際の設定情報に従って冗長サイトにある要冗長化クラウドアプリケーションを復旧するために、本発明の実施形態において提供される冗長化システムは、冗長サイトにおいて稼働サイトの要冗長化クラウドアプリケーションを設定するために使用される。図1(a)に示したように、システムは、稼働サイトにあるクラウド管理モジュール105、冗長化管理モジュール120、および冗長サイトにあるクラウド管理モジュール115を備える。
稼働サイトにあるクラウド管理モジュール105は、要冗長化クラウドアプリケーションの第1のディスクリプション情報であって、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソースネットワークに関する情報および要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソース仮想マシンに関する情報を含む、第1のディスクリプション情報を記録するように構成される。
冗長化管理モジュール120は、稼働サイトにあるクラウド管理モジュールから第1のディスクリプション情報を取得して、第1のディスクリプション情報に従って、要冗長化クラウドアプリケーションの第2のディスクリプション情報であって、要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップネットワークに関する情報、および要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップ仮想マシンに関する情報を含む、第2のディスクリプション情報を生成して、冗長サイトにあるクラウド管理モジュール115に第2のディスクリプション情報を登録するように構成される。
冗長サイトにあるクラウド管理モジュール115は、登録情報であって、第2のディスクリプション情報を伝達する、登録情報を受信して、第2のディスクリプション情報に従って冗長サイトにある要冗長化クラウドアプリケーションを復旧するように構成される。
本発明の実施形態において、冗長化管理モジュール120は、稼働サイトにあるクラウド管理モジュール105から第1のディスクリプション情報であって、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソース仮想マシンに関する情報を含むだけでなく、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソースネットワークに関する情報も含む、第1のディスクリプション情報を取得してもよい。要冗長化クラウドアプリケーションに関する全ディスクリプションを付与する第1のディスクリプション情報に基づいて、冗長サイトにある要冗長化クラウドアプリケーションの第2のディスクリプション情報であって、冗長サイトにある要冗長化クラウドアプリケーションのデプロイメントに関する全ディスクリプションを付与することもし得る、第2のディスクリプション情報を生成することができる。冗長化管理モジュール120は、冗長サイトにあるクラウド管理モジュール115に第2のディスクリプション情報を送信することができる。第2のディスクリプション情報を取得した後に、冗長サイトにあるクラウド管理モジュール115は、第2のディスクリプション情報に従って冗長サイトに完全に要冗長化クラウドアプリケーションを復旧することができる、それによって、クラウドアプリケーションに基づいた冗長化を実施している。従来技術における仮想マシン単位に基づいた冗長化の様式とは異なり、本発明の実施形態は、アプリケーションレベルで冗長化に関する設定および復旧を実施して、仮想マシン単位に基づいた冗長化に起因する起こり得る問題であって、クラウドアプリケーションを完全かつ迅速に復旧することができないという、問題を回避している。
冗長化インシデントが稼働サイトにおいて生じた際の設定情報に従って冗長サイトにある要冗長化クラウドアプリケーションを復旧するために、本発明の実施形態において提供される冗長化システムは、冗長サイトにおいて稼働サイトの要冗長化クラウドアプリケーションを設定するために使用される。図1(b)に示したように、システムは、稼働サイトにあるクラウド管理モジュール105および冗長サイトにあるクラウド管理モジュール115を備える。
稼働サイトにあるクラウド管理モジュール105は、要冗長化クラウドアプリケーションの第1のディスクリプション情報であって、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソースネットワークに関する情報および要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソース仮想マシンに関する情報を含む、第1のディスクリプション情報を取得して、第1のディスクリプション情報に従って、要冗長化クラウドアプリケーションの第2のディスクリプション情報であって、要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップネットワークに関する情報および要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップ仮想マシンに関する情報を含む、第2のディスクリプション情報を生成して、冗長サイトにあるクラウド管理モジュール115に第2のディスクリプション情報を登録するように構成される。
冗長サイトにあるクラウド管理モジュール115は、登録情報であって、第2のディスクリプション情報を伝達する、登録情報を受信して、第2のディスクリプション情報に従って冗長サイトにある要冗長化クラウドアプリケーションを復旧するように構成される。
本発明の実施形態において、稼働サイトにあるクラウド管理モジュール105は、第1のディスクリプション情報であって、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソース仮想マシンに関する情報を含むだけでなく、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソースネットワークに関する情報も含む、第1のディスクリプション情報を取得することができる。要冗長化クラウドアプリケーションに関する全ディスクリプションを付与する第1のディスクリプション情報に基づいて、冗長サイトにある要冗長化クラウドアプリケーションの第2のディスクリプション情報であって、冗長サイトにある要冗長化クラウドアプリケーションのデプロイメントに関する全ディスクリプションを付与することもし得る、第2のディスクリプション情報を生成することができる。稼働サイトにあるクラウド管理モジュール105は、冗長サイトにあるクラウド管理モジュール115に第2のディスクリプション情報を送信することができる。第2のディスクリプション情報を取得した後に、冗長サイトにあるクラウド管理モジュール115は、第2のディスクリプション情報に従って冗長サイトに完全に要冗長化クラウドアプリケーションを復旧することができる、それによって、クラウドアプリケーションに基づいた冗長化を実施している。従来技術における仮想マシン単位に基づいた冗長化の様式とは異なり、本発明の実施形態は、アプリケーションレベルで冗長化に関する設定および復旧を実施して、仮想マシン単位に基づいた冗長化に起因する起こり得る問題であって、クラウドアプリケーションを完全かつ迅速に復旧することができないという、問題を回避している。
冗長化インシデントが稼働サイトにおいて生じた際の設定情報に従って冗長サイトにある要冗長化クラウドアプリケーションを復旧するために、本発明の実施形態において提供される冗長化システムは、冗長サイトにおいて稼働サイトの要冗長化クラウドアプリケーションを設定するために使用される。図1(b)に示したように、システムは、稼働サイトにあるクラウド管理モジュール105および冗長サイトにあるクラウド管理モジュール115を備える。
稼働サイトにあるクラウド管理モジュール105は、要冗長化クラウドアプリケーションの第1のディスクリプション情報であって、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソースネットワークに関する情報および要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソース仮想マシンに関する情報を含む、第1のディスクリプション情報を取得して、冗長サイトにあるクラウド管理モジュール115に第1のディスクリプション情報を送信するように構成される。
冗長サイトにあるクラウド管理モジュール115は、第1のディスクリプション情報を受信して、第1のディスクリプション情報に従って、要冗長化クラウドアプリケーションの第2のディスクリプション情報であって、要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップネットワークに関する情報、および要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップ仮想マシンに関する情報を含む、第2のディスクリプション情報を生成して、第2のディスクリプション情報に従って冗長サイトにある要冗長化クラウドアプリケーションを復旧するように構成される。本発明の実施形態において、冗長サイトにあるクラウド管理モジュール115は、稼働サイトにあるクラウド管理モジュール105から要冗長化クラウドアプリケーションの第1のディスクリプション情報であって、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソース仮想マシンに関する情報を含むだけでなく、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソースネットワークに関する情報も含む、第1のディスクリプション情報を取得することができる。要冗長化クラウドアプリケーションに関する全ディスクリプションを付与する第1のディスクリプション情報に基づいて、冗長サイトにある要冗長化クラウドアプリケーションの第2のディスクリプション情報であって、冗長サイトにある要冗長化クラウドアプリケーションのデプロイメントに関する全ディスクリプションを付与することもし得る、第2のディスクリプション情報を生成することができる。冗長化インシデントが稼働サイトにおいて発生すると、冗長サイトにあるクラウド管理モジュール115は、第2のディスクリプション情報に従って冗長サイトに完全に要冗長化クラウドアプリケーションを復旧することができる、それによって、クラウドアプリケーションに基づいた冗長化を実施している。従来技術における仮想マシン単位に基づいた冗長化の様式とは異なり、本発明の実施形態は、アプリケーションレベルで冗長化に関する設定および復旧を実施して、仮想マシン単位に基づいた冗長化に起因する起こり得る問題であって、クラウドアプリケーションを完全かつ迅速に復旧することができないという、問題を回避している。
冗長化インシデントが稼働サイトにおいて生じた際の設定情報に従って冗長サイトにある要冗長化クラウドアプリケーションを復旧するために、本発明の実施形態において提供される冗長化システムは、冗長サイトにおいて稼働サイトの要冗長化クラウドアプリケーションを設定するために使用される。図1(c)に示したように、システムは、稼働サイトにあるクラウド管理モジュール105、稼働サイトにある冗長化管理モジュール120、冗長サイトにあるクラウド管理モジュール115、および冗長サイトにある冗長化管理モジュール121を備える。
稼働サイトにあるクラウド管理モジュール105は、要冗長化クラウドアプリケーションの第1のディスクリプション情報であって、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソースネットワークに関する情報および要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソース仮想マシンに関する情報を含む、第1のディスクリプション情報を記録するように構成される。
稼働サイトにある冗長化管理モジュール120は、稼働サイトにあるクラウド管理モジュール105から要冗長化クラウドアプリケーションの第1のディスクリプション情報を取得して、第1のディスクリプション情報に従って、要冗長化クラウドアプリケーションの第2のディスクリプション情報であって、要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップネットワークに関する情報および要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップ仮想マシンに関する情報を含む、第2のディスクリプション情報を生成して、冗長サイトにある冗長化管理モジュール121に第2のディスクリプション情報を送信するように構成される。
冗長サイトにある冗長化管理モジュール121は、稼働サイトにある冗長化管理モジュール120によって送信された第2のディスクリプション情報を受信して、冗長サイトにあるクラウド管理モジュール115に第2のディスクリプション情報を登録するように構成される。
冗長サイトにあるクラウド管理モジュール115は、登録情報であって、第2のディスクリプション情報を伝達する、登録情報を受信して、第2のディスクリプション情報に従って冗長サイトにある要冗長化クラウドアプリケーションを復旧するように構成される。
本発明の実施形態において、稼働サイトにある冗長化管理モジュール120は、稼働サイトにあるクラウド管理モジュール105から第1のディスクリプション情報であって、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソース仮想マシンに関する情報を含むだけでなく、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソースネットワークに関する情報も含む、第1のディスクリプション情報を取得することができる。要冗長化クラウドアプリケーションに関する全ディスクリプションを付与する第1のディスクリプション情報に基づいて、冗長サイトにある要冗長化クラウドアプリケーションの第2のディスクリプション情報であって、冗長サイトにある要冗長化クラウドアプリケーションのデプロイメントに関する全ディスクリプションを付与することもし得る、第2のディスクリプション情報を生成することができる。稼働サイトにある冗長化管理モジュール120は、冗長サイトにある冗長化管理モジュール121に第2のディスクリプション情報を送信することができる。冗長サイトにある冗長化管理モジュール121は、冗長サイトにあるクラウド管理モジュール115に第2のディスクリプション情報を登録する、その結果、冗長サイトにあるクラウド管理モジュール115は、第2のディスクリプション情報に従って冗長サイトに完全に要冗長化クラウドアプリケーションを復旧することができる、それによって、クラウドアプリケーションに基づいた冗長化を実施している。従来技術における仮想マシン単位に基づいた冗長化の様式とは異なり、本発明の実施形態は、アプリケーションレベルで冗長化に関する設定および復旧を実施して、仮想マシン単位に基づいた冗長化に起因する起こり得る問題であって、クラウドアプリケーションを完全かつ迅速に復旧することができないという、問題を回避している。
冗長化インシデントが稼働サイトにおいて生じた際の設定情報に従って冗長サイトにある要冗長化クラウドアプリケーションを復旧するために、本発明の実施形態において提供される冗長化システムは、冗長サイトにおいて稼働サイトの要冗長化クラウドアプリケーションを設定するために使用される。図1(c)に示したように、システムは、稼働サイトにあるクラウド管理モジュール105、稼働サイトにある冗長化管理モジュール120、冗長サイトにあるクラウド管理モジュール115、および冗長サイトにある冗長化管理モジュール121を備える。
稼働サイトにあるクラウド管理モジュール105は、要冗長化クラウドアプリケーションの第1のディスクリプション情報であって、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソースネットワークに関する情報および要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソース仮想マシンに関する情報を含む、第1のディスクリプション情報を記録するように構成される。
稼働サイトにある冗長化管理モジュール120は、稼働サイトにあるクラウド管理モジュール105から要冗長化クラウドアプリケーションの第1のディスクリプション情報を取得して、冗長サイトにある冗長化管理モジュール121に第1のディスクリプション情報を送信するように構成される。
冗長サイトにある冗長化管理モジュール121は、稼働サイトにある冗長化管理モジュール120によって送信された第1のディスクリプション情報を受信して、第1のディスクリプション情報に従って、要冗長化クラウドアプリケーションの第2のディスクリプション情報であって、要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップネットワークに関する情報、および要冗長化クラウドアプリケーションによって冗長サイトにおいて使用されているバックアップ仮想マシンに関する情報を含む、第2のディスクリプション情報を生成して、冗長サイトにあるクラウド管理モジュール115に第2のディスクリプション情報を登録するように構成される。
冗長サイトにあるクラウド管理モジュール115は、登録情報であって、第2のディスクリプション情報を伝達する、登録情報を受信して、第2のディスクリプション情報に従って冗長サイトにある要冗長化クラウドアプリケーションを復旧するように構成される。
本発明の実施形態において、冗長サイトにある冗長化管理モジュール121は、稼働サイトにある冗長化管理モジュール120から第1のディスクリプション情報であって、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソース仮想マシンに関する情報を含むだけでなく、要冗長化クラウドアプリケーションによって稼働サイトにおいて使用されているソースネットワークに関する情報も含む、第1のディスクリプション情報を取得することができる。要冗長化クラウドアプリケーションに関する全ディスクリプションを付与する第1のディスクリプション情報に基づいて、冗長サイトにある要冗長化クラウドアプリケーションの第2のディスクリプション情報であって、冗長サイトにある要冗長化クラウドアプリケーションのデプロイメントに関する全ディスクリプションを付与することもし得る、第2のディスクリプション情報を生成することができる。冗長サイトにある冗長化管理モジュール121は、冗長サイトにあるクラウド管理モジュール115に第2のディスクリプション情報を登録することができる、その結果、冗長サイトにあるクラウド管理モジュール115は、第2のディスクリプション情報に従って冗長サイトに完全に要冗長化クラウドアプリケーションを復旧することができる、それによって、クラウドアプリケーションに基づいた冗長化を実施している。従来技術における仮想マシン単位に基づいた冗長化の様式とは異なり、本発明の実施形態は、アプリケーションレベルで冗長化に関する設定および復旧を実施して、仮想マシン単位に基づいた冗長化に起因する起こり得る問題であって、クラウドアプリケーションを完全かつ迅速に復旧することができないという、問題を回避している。
図25は、本発明の実施形態による冗長化装置の概略構造図である。本発明の実施形態によって提供される冗長化装置は、
プロセッサ2501、メモリ2502、システムバス2504、および通信インターフェース2505を備えていてもよい。プロセッサ2501、メモリ2502、および通信インターフェース2505は、システムバス2504を使用して接続されており、互いに通信している。
プロセッサ2501は、単一のコアまたはマルチコア中央処理ユニット、または特定の集積回路であってもよいし、または本発明の実施形態を実施する1つのまたは複数の集積回路であるように構成される。
メモリ2502は、高速RAMメモリまたは不揮発性メモリ(non-volatile memory)、例えば、少なくとも1つのディスクメモリであってもよい。
メモリ2502は、コンピュータ実行可能命令2503を記憶するように構成される。特に、コンピュータ実行可能命令2503は、プログラムコードを含んでいてもよい。
冗長化装置が起動すると、プロセッサ2501はコンピュータ実行可能命令2503を実行して、図2から図5のうちのいずれか1つに記載の方法フローまたは図7から図17のうちのいずれか1つに記載の方法フローを実行し得る。
本発明の態様または態様の可能な実施様態がシステム、方法、またはコンピュータプログラム製品として特に実装されてもよいことを、当業者は理解されよう。したがって、本発明の態様または態様の可能な実施形態は、本明細書において「回路」、「モジュール」、または「システム」と一様に称されている、すべてのハードウェア、すべてのソフトウェア(ファームウェア、常駐ソフトウェアなどを含む)、またはソフトウェアおよびハードウェアの組合せの形式で実装されてもよい。さらに、本発明の態様または態様の可能な実施形態は、コンピュータプログラム製品の形式で実装されてもよい、ここで、コンピュータプログラム製品は、コンピュータ可読媒体に記憶されているコンピュータ可読プログラムコードを指す。
コンピュータ可読媒体は、コンピュータ可読シグナルメディアまたはコンピュータ可読記憶媒体であり得る。コンピュータ可読記憶媒体は、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、消去可能プログラマブルリードオンリーメモリ(EPROMまたはフラッシュメモリ)、光ファイバ、およびポータブルリードオンリーメモリ(CD-ROM)などの、電子、磁気、光、電磁気、赤外線、または半導体システム、デバイス、または装置、または任意の適切な組合せを含むがそれらに限定されない。
プロセッサがフローチャートのステップまたはステップの組合せに指定されている機能および動作を実行するとともにブロック図のブロックまたはブロックの組合せに指定されている機能および動作を実施するように構成される装置を生成することができるように、コンピュータのプロセッサは、コンピュータ可読媒体に記憶されているコンピュータ可読プログラムコードを読み込む。
コンピュータ可読プログラムコードを、ユーザコンピュータ上で全面的に実行してもよいし、別個のソフトウェアパッケージとして使用されるユーザコンピュータ上で部分的に実行してもよいし、ユーザコンピュータ上で部分的に実行するとともにリモートコンピュータ上で部分的に実行してもよいし、またはリモートコンピュータまたはサーバ上で全面的に実行してもよい。ある別の実施形態解決手法においては、フローチャートのステップまたはブロック図のブロックに示した機能が図に示した順番に従って行わなくてもよいことにも留意すべきである。例えば、関連機能に応じて、連続して記載した2つのステップまたは2つのブロックを実際には並行して実行してもよいし、またはこれらのブロックを時には逆の順番で実行してもよい。
本明細書に開示した実施形態に記載の例示の組合せにおいて、ユニットおよびアルゴリズムのステップが電子機器またはコンピュータソフトウェアおよび電子機器の組合せによって実装されてもよいことを、当業者は承知していよう。機能をハードウェアによって実行するかソフトウェアによって実行するかは、特定の適用および技術的解決手法の設計制約条件に依存する。当業者が特定の適用の各々について記載した機能を実施するために異なる方法を用いてもよく、そのような実施形態が本発明の範囲を逸脱していると見なすべきではない。
前述の記載は、特定の本発明の実施形態にすぎないが、本発明の保護範囲を限定することを意図したものではない。本発明に開示の技術的範囲において当業者が容易に想到する任意の変形または置換は、本発明の保護範囲に含まれるものとする。したがって、本発明の保護範囲は、特許請求の範囲の保護範囲に従うものとする。