(57)【要約】  様々な実施形態は、複製リソースの完全な一式を保持する必要がなくそれにより複雑性をアプリケーションの領域内に局限する、あるいは、２つのアクティブなテナントインスタンスと同時に通信をすることをアプリケーションに要求する必要がない、テナント冗長性アーキテクチャを提供する方法および装置を提供する。特に、サービステナントの機能性を有していながら、起動するまではネットワークの残りの部分からは隠蔽されているシャドウテナントが作成される。
2016510154.tif 000002
【特許請求の範囲】
【請求項１】
テナント冗長性を提供する装置であって、
データストレージと、
データストレージと通信可能に接続されたプロセッサと
を備え、
プロセッサが、
ネットワークサービスを提供するネットワークと通信可能に接続してネットワークサービスに関連するクラウドエレメントサービスを提供するように構成されたサービス提供テナントインスタンス、を作成し、
ネットワークと通信可能にネットワークから隠蔽されかつネットワークサービスに関連するクラウドエレメントサービスを提供するように構成されたシャドウテナントインスタンス、を作成し、
切り替えイベントの指示を決定し、かつ、
切り替えイベントに基づいて、クラウドエレメントサービスの操作を、サービス提供テナントインスタンスからシャドウテナントインスタンスへ切り替えるように構成されている、装置。
【請求項２】
サービス提供インスタンスが第１の複数のリソースで構成され、シャドウテナントインスタンスが第２の複数のリソースで構成され、第２の複数のリソースが第１の複数のリソースよりも実質的に少ないリソースを含んでいる、
請求項１に記載の装置。
【請求項３】
サービス提供インスタンスが第１の複数の仮想マシンで構成され、第１の複数の仮想マシンが第１のルート仮想マシンを含み、シャドウテナントインスタンスが第２の複数の仮想マシンで構成され、第２の複数の仮想マシンが第２のルート仮想マシンを含み、かつ、
第１のルート仮想マシンが、１つまたは複数の第１のアプリケーション要件を第１の複数の仮想マシンの第１の構成に変換するように構成されているとともに、第２のルート仮想マシンが、１つまたは複数の第２のアプリケーション要件を第２の複数の仮想マシンの第２の構成に変換するように構成されている、請求項１に記載の装置。
【請求項４】
プロセッサがさらに、
第１のシャドウマネジメントフェーズから第２のシャドウマネジメントフェーズへ、または、
第１のシャドウマネジメントステップから第２のシャドウマネジメントステップへ、
の少なくともいずれか一方の遷移を制御するように構成されている、請求項１に記載の装置。
【請求項５】
クラウドエレメントサービスの切り替え操作が、
サービス提供テナントインスタンスをネットワークから通信可能に隠蔽するように、かつ、
シャドウテナントインスタンスをネットワークと通信可能に接続するように、プロセッサを構成することを含む、請求項１に記載の装置。
【請求項６】
テナント冗長性を提供するシステムであって、
クラウドエレメントマネージャと、
クラウドエレメントマネージャと通信可能に接続され、
ネットワークサービスを提供するネットワークと通信可能に接続してネットワークサービスに関連するクラウドエレメントサービスを提供する
ように構成されたサービス提供インスタンスと、
クラウドエレメントマネージャと通信可能に接続され、
ネットワークから通信可能に隠蔽され、ネットワークサービスに関連するクラウドエレメントサービスを提供する
ように構成されたシャドウテナントインスタンスと
を備えた、システムであって、
クラウドエレメントマネージャが、
サービス提供テナントインスタンスとシャドウテナントインスタンスとを作成し、
切り替えイベントの指示を決定し、かつ、
切り替えイベントに基づいて、クラウドエレメントサービスの操作を、サービス提供テナントインスタンスからシャドウテナントインスタンスへ切り替える
ように構成されている、システム。
【請求項７】
テナント冗長性を提供する方法であって、
データストレージと通信可能に接続されたプロセッサにおいて、
ネットワークサービスを提供するネットワークと通信可能に接続し、
ネットワークサービスに関連するクラウドエレメントサービスを提供するように構成されたサービス提供テナントインスタンス
を作成することと、
データストレージと連携したプロセッサによって、
ネットワークから通信可能に隠蔽され、
ネットワークサービスに関連するクラウドエレメントサービスを提供するように構成されたシャドウテナントインスタンス
を作成することと、
データストレージと連携したプロセッサによって、切り替えイベントの指示を決定することと、
データストレージと連携したプロセッサによって、切り替えイベントに基づいて、クラウドエレメントサービスの操作を、サービス提供テナントインスタンスからシャドウテナントインスタンスへ切り替えることと
を含む、方法。
【請求項８】
サービス提供インスタンスが第１の複数のリソースで構成され、
シャドウテナントインスタンスが第２の複数のリソースで構成され、第２の複数のリソースが第１の複数のリソースよりも実質的に少ないリソースを含む、
請求項７に記載の方法。
【請求項９】
サービス提供インスタンスが第１の複数の仮想マシンで構成され、第１の複数の仮想マシンが第１のルート仮想マシンを含み、シャドウテナントインスタンスが第２の複数の仮想マシンで構成され、第２の複数の仮想マシンが第２のルート仮想マシンを含む、請求項７に記載の方法。
【請求項１０】
第１のルート仮想マシンが、１つまたは複数の第１のアプリケーション要件を第１の複数の仮想マシンの第１の構成に変換するように構成され、第２のルート仮想マシンが、１つまたは複数の第２のアプリケーション要件を第２の複数の仮想マシンの第２の構成に変換するように構成される、請求項９に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概してネットワークコンポーネントの冗長性を提供する方法および装置に関する。
【背景技術】
【０００２】
本項は本発明の理解をより一層容易とするのに資すると考えられる諸態様を導入する項である。したがって、本項の記載はこの観点から読まれるべきであり、ある事項が従来技術に属しまたはある事項が従来技術に属さないことについての自認として理解されるべきではない。
【０００３】
いくつかの知られている冗長性ソリューションにおいては、冗長リソースを提供するためＮ＋１アーキテクチャが用いられている。
【発明の概要】
【課題を解決するための手段】
【０００４】
以下の概要においてはいくつかの単純化がなされ得るところ、この概要は、様々な例示的実施形態の一部の態様に焦点をあててこれを導入するよう意図されたものであるが、かかる単純化は発明の範囲を限定するよう意図されたものではない。引き続き以下の各項には、当業者が、発明を構成する諸概念を実現しかつそれらを用いることが可能となる程度に十分な好ましい例示的実施形態が詳細に説明される。
【０００５】
様々な実施形態は、複雑性をアプリケーション内に押しやる二重のリソースの完全なセットを確保する必要がなく、あるいは、２つのアクティブなテナントインスタンスと同時に通信をすることをアプリケーションに要求する必要がない、テナント冗長性アーキテクチャを提供する方法および装置を提供する。特に、サービステナントの機能性を有していながら、起動するまではネットワークの残りの部分から隠蔽されているシャドウテナントが作成される。
【０００６】
第１の実施形態においては、テナント冗長性を提供する装置が提供される。装置は、データストレージと、このデータストレージと通信可能に接続されたプロセッサとを備えている。プロセッサは、サービス提供テナントインスタンスを作成し、シャドウテナントインスタンスを作成し、切り替えイベントの指示を決定して、この切り替えイベントに基づいて、クラウドエレメントサービスの操作を、サービス提供テナントインスタンスからシャドウテナントインスタンスへ切り替えるようにプログラムされている。サービス提供テナントインスタンスは、ネットワークサービスを提供するネットワークと通信可能に接続してネットワークサービスに関連するクラウドエレメントサービスを提供するように構成されている。シャドウテナントインスタンスは、ネットワークと通信可能にネットワークから隠蔽されかつネットワークサービスに関連するクラウドエレメントサービスを提供するように構成されている。
【０００７】
第２の実施形態においては、テナント冗長性を提供するために、クラウドエレメントマネージャと、このクラウドエレメントマネージャと通信可能に接続されたサービス提供テナントインスタンスと、クラウドエレメントマネージャと通信可能に接続されたシャドウテナントインスタンスとを備えたシステムが提供される。サービス提供インスタンスは、ネットワークサービスを提供するネットワークと通信可能に接続してネットワークサービスに関連するクラウドエレメントサービスを提供するように構成されている。シャドウテナントインスタンスは、ネットワークと通信可能にネットワークから隠蔽されかつネットワークサービスに関連するクラウドエレメントサービスを提供するように構成されている。ここで、クラウドエレメントマネージャは、サービス提供テナントインスタンスとシャドウテナントインスタンスとを作成し、切り替えイベントの指示を決定して、切り替えイベントに基づいて、クラウドエレメントサービスの操作を、サービス提供テナントインスタンスからシャドウテナントインスタンスへ切り替えるように構成されている。
【０００８】
第３の実施形態においては、テナント冗長性を提供する方法が提供される。この方法は、サービス提供テナントインスタンスを作成することと、シャドウテナントインスタンスを作成することと、切り替えイベントの指示を決定することと、切り替えイベントに基づいて、クラウドエレメントサービスの操作を、サービス提供テナントインスタンスからシャドウテナントインスタンスへ切り替えることとを含む。サービス提供テナントインスタンスは、ネットワークサービスを提供するネットワークと通信可能に接続してネットワークサービスに関連するクラウドエレメントサービスを提供するように構成されている。シャドウテナントインスタンスは、ネットワークと通信可能にネットワークから隠蔽されかつネットワークサービスに関連するクラウドエレメントサービスを提供するように構成されている。
【０００９】
第４の実施形態においては、コンピュータにより実行されると、このコンピュータに方法を行わせる、命令を記憶した、コンピュータ読取り可能な記録媒体が提供される。本方法は、サービス提供テナントインスタンスを作成することと、シャドウテナントインスタンスを作成することと、切り替えイベントの指示を決定することと、切り替えイベントに基づいて、クラウドエレメントサービスの操作を、サービス提供テナントインスタンスからシャドウテナントインスタンスへ切り替えることとを含む。サービス提供テナントインスタンスは、ネットワークサービスを提供するネットワークと通信可能に接続してネットワークサービスに関連するクラウドエレメントサービスを提供するように構成されている。シャドウテナントインスタンスは、ネットワークと通信可能にネットワークから隠蔽されかつネットワークサービスに関連するクラウドエレメントサービスを提供するように構成されている。
【００１０】
いくつかの実施形態においては、サービス提供インスタンスは第１の複数のリソースで構成され、シャドウテナントインスタンスは第２の複数のリソースで構成され、第２の複数のリソースは、第１の複数のリソースよりも実質的に少ないリソースを含んでいる。
【００１１】
いくつかの実施形態においては、サービス提供インスタンスは第１の複数の仮想マシンで構成され、第１の複数の仮想マシンは第１のルート仮想マシンを含み、シャドウテナントインスタンスは第２の複数の仮想マシンで構成され、第２の複数の仮想マシンは第２のルート仮想マシンを含んでいる。
【００１２】
いくつかの実施形態においては、第１のルート仮想マシンは、１つまたは複数の第１のアプリケーション要件を第１の複数の仮想マシンの第１の構成に変換するように構成され、第２のルート仮想マシンは、１つまたは複数の第２のアプリケーション要件を第２の複数の仮想マシンの第２の構成に変換するように構成されている。
【００１３】
いくつかの実施形態においては、第１のルート仮想マシンは、第１の複数の仮想マシンの少なくとも一部に関連する複数の第１の負荷レベルを監視して、複数の第１の負荷レベルの少なくとも一部に基づいて第１の複数の仮想マシンの弾力性を制御するように構成され、また、第２のルート仮想マシンは、第２の複数の仮想マシンの少なくとも一部に関連する複数の第２の負荷レベルを監視して、複数の第２の負荷レベルの少なくとも一部に基づいて第２の複数の仮想マシンの弾力性を制御するように構成されている。
【００１４】
いくつかの実施形態においては、プロセッサはさらに、ロールバック条件を決定して切り替えをロールバックさせるようにプログラムされている。
【００１５】
いくつかの実施形態においては、プロセッサはさらに、第１のシャドウマネジメントフェーズから第２のシャドウマネジメントフェーズへ、または、第１のシャドウマネジメントステップから第２のシャドウマネジメントステップへ、の少なくともいずれかの遷移を制御するようにプログラムされている。
【００１６】
いくつかの実施形態においては、遷移制御は、サービス提供テナントインスタンスおよびシャドウテナントインスタンスを第２のシャドウマネジメントフェーズと同期させる、または、サービス提供テナントインスタンスおよびシャドウテナントインスタンスを第２のシャドウマネジメントステップと同期させる、の少なくともいずれか一方にプロセッサを構成することを含む。
【００１７】
いくつかの実施形態においては、遷移制御は、さらに、第１のシャドウアクションプランをサービス提供テナントインスタンスへ送信し、かつ、第２のシャドウアクションプランをシャドウテナントインスタンスへ送信するようにプロセッサを構成することを含む。
【００１８】
いくつかの実施形態においては、プロセッサはさらに、ネットワーク要素または外部マネジメントシステムの少なくとも一方から入力を受信するようにプログラムされている。ここで、遷移の制御は入力に基づいてなされる。
【００１９】
いくつかの実施形態においては、クラウドエレメントサービスの切り替え操作は、サービス提供テナントインスタンスをネットワークから通信可能に隠蔽し、かつ、シャドウテナントインスタンスをネットワークと通信可能に接続するようにプロセッサをプログラムすることを含む。
【００２０】
いくつかの実施形態においては、サービス提供インスタンスを通信可能に隠蔽することは、サービス提供テナントインスタンスの少なくとも１つのネットワークインタフェースをダミーＶＬＡＮに切り替えるようにプロセッサをプログラムすることを含む。
【００２１】
いくつかの実施形態においては、クラウドエレメントマネージャはさらに、第１のシャドウアクションプランをサービス提供テナントインスタンスへ送信し、かつ、第２のシャドウアクションプランをシャドウテナントインスタンスへ送信するように構成されている。ここで、サービス提供テナントインスタンスは、第１のシャドウアクションプランに基づいて１つまたは複数の第１のアクションを呼び出すように構成され、かつ、シャドウテナントインスタンスは第２のシャドウアクションプランに基づいて１つまたは複数の第２のアクションを呼び出すように構成されている。
【００２２】
様々な実施形態を以下の添付図面に示す。
【図面の簡単な説明】
【００２３】
【図１】テナント冗長性を提供するためのクラウドエレメントシステム１１０の一実施形態を含むテナント冗長性システム１００を示した図である。
【図２】図１のテナントインスタンス１３０の１つの一実施形態であるテナントインスタンス２３０を図式的に示した図である。
【図３】図１のクラウドエレメントシステム１１０の一実施形態であるクラウドエレメントシステム３１０を図式的に示した図である。
【図４】クラウドエレメントマネージャ（例えば図１のクラウドエレメントマネージャ１２０）がクラウドエレメントシステムを構成する方法４００の一実施形態を説明するフローチャートを示した図である。
【図５】図４のステップ４８０に示す１つまたは複数のシャドウテナントインスタンスを切り替える方法５００の一実施形態を説明するフローチャートを示した図である。
【図６】図１のクラウドエレメントマネージャ１２０またはテナントインスタンス１３０の１つのような様々な装置６００の一実施形態を図式的に示した図である。
【発明を実施するための形態】
【００２４】
理解を助けるために、実質的に同一もしくは類似の構造または実質的に同一もしくは類似の機能を有する要素は同一の参照番号をもって特定するものとする。
【００２５】
本明細書および各図面は単に本発明の原理を説明するものである。したがって、当業者であれば、ここに明示的に記載または図示されたものではなくても本発明の原理を具現化するとともにその範囲に含まれる様々な構成を構想することができるであろうことが理解されると考えられる。また、ここに言及されるすべての例は、原則として本発明の原理と、技術分野の進展のために発明者によって提供されたコンセプトとに対する読者の理解を助けるという教育的目的のために明示的に意図されたものであって、このような具体的に言及された各例と各条件とに限定される趣旨ではないものとして解釈されるべきである。さらに、ここに記載した様々な実施形態は、必ずしも相互排他的なものではなく、いくつかの実施形態を１つまたは複数の他の実施形態と組み合わせて新たな実施形態が形成されてもよい。
【００２６】
ここで用いる用語「または（ｏｒ）」は特に断らない（例えば「そうでなければ（ｏｒ  ｅｌｓｅ）」または「またはその代替手段で（ｏｒ  ｉｎ  ａｌｔｅｒｎａｔｉｖｅ）」）かぎり、非排他性をさす。さらに、ここに用いるように、要素どうしの関係を記述するために用いられる語は、特に断らないかぎり、直接的関係と介在要素の存在とを包含するものとして解釈されるべきである。例えば、ある要素が別の要素に「接続され」または「結合され」ている、と言われる場合には、要素は別の要素に直接的に接続または結合されていてもよく、あるいは、介在要素（要素群）が存在していてもよい。逆に、ある要素が別の要素に「直接接続され」または「直接結合され」ている、と言われる場合には、介在要素（要素群）は存在していない。同様に、「の間に（ｂｅｔｗｅｅｎ）」、「に隣接して（ａｄｊａｃｅｎｔ）」等の語も同様の仕方で解釈されるべきである。
【００２７】
様々な実施形態は、複製リソースの完全な一式を保持する必要がなくそれにより複雑性をアプリケーションの領域内に局限する、あるいは、２つのアクティブなテナントインスタンスと同時に通信をすることをアプリケーションに要求する必要がない、テナント冗長性アーキテクチャを提供する方法および装置を提供する。特に、サービステナントの機能性を有していながら、起動するまではネットワークの残りの部分からは隠蔽されているシャドウテナントが作成される。
【００２８】
有利には、テナント冗長性アーキテクチャは、テナントのグレースフルリセット（穏やかなリセット、ｇｒａｃｅｆｕｌ  ｒｅｓｅｔ）、テナントアプリケーションのソフトウェアアップグレード、テナント構成の変更、テナント仮想マシンの変更および地理的冗長性などの異なるシナリオにおいて用いられてもよい。
【００２９】
図１は、テナント冗長性を提供するためのクラウドエレメントシステム１１０の一実施形態を含むテナント冗長性システム１００を示した図である。テナント冗長性システム１００は、少なくとも１つのクラウドエレメントの機能性を任意選択でＯＡＭ１６０またはネットワーク１７０に提供するとともに、任意選択で、クラウドマネージャ１８０と相互にやりとりを行うクラウドエレメントシステム１１０を備えている。
【００３０】
クラウドエレメントシステム１１０は、クラウドエレメントマネージャ１２０と、テナントインスタンス１３０−１から１３０−２（集合的にテナントインスタンス１３０）とを備えている。スイッチ１５０−１から１５０−４（集合的にスイッチ１５０）は、ＯＡＭ１６０またはネットワーク１７０に通信可能に接続されたテナントインスタンス１３０の関連する１つを表すもので、必ずしも物理的スイッチではなく、論理的スイッチとすることができる。
【００３１】
クラウドエレメントマネージャ１２０は、テナントインスタンス１３０のためにリソース、および、テナントインスタンス１３０とＯＡＭ１６０またはネットワーク１７０との接続性、のオーケストレーションを行い、かつ、クラウドマネージャ１８０と相互にやりとりを行うことができる装置とすることができる。
【００３２】
ここに定義する「テナント」は、クラウドエレメント（例えばネットワーク１７０に対して機能性を提供するネットワークノードまたはネットワーク要素）の機能性を提供するリソースの集合として広義に解釈される。ここに定義する「テナントインスタンス」は、クラウドエレメントの１つのインスタンスを表し、クラウドエレメントを動作させかつ機能させる機能性を提供するのに必要なすべてのリソースを含む。リソースは、クラウドエレメントの機能性を提供するためにテナントインスタンスによって利用される任意の適切なデバイスとすることができる。例えば、リソースは、サーバ、プロセッサコア、メモリデバイス、ストレージデバイス、ネットワークデバイス等とすることができる。
【００３３】
テナントインスタンス１３０は、クラウドエレメントの機能性を提供する少なくとも１つのサービス提供テナントインスタンス（例えばテナントインスタンス１３０−１）と、サービス提供テナントインスタンスに冗長性を提供する少なくとも１つのシャドウテナントインスタンス（例えばテナントインスタンス１３０−２）とを含む。特に、テナントインスタンス１３０は、リソース１４０−１から１−１４０−１−Ｘおよび１４０−２−１から１４０−２−Ｙ（集合的にリソース１４０）で構成されている。２つのテナントインスタンスがここでは説明されているが、システム１１０はそれを超える数のテナントインスタンスを備えていてもよいことが理解されるべきである。また、リソース１４０は説明されたよりも多くまたは少ない数のリソースを備えていてもよいことが理解されるべきである。
【００３４】
テナントインスタンスは仮想的構築物であるので、テナントインスタンス、特にシャドウテナントインスタンスは、起動前は物理的リソースの消費が顕著に少なくて済むことが理解されるべきである。それゆえ、サービス提供テナントインスタンスのみがアクティブであるので、物理的リソースの消費をサービス提供インスタンスによるそれに実質的に限定することができる。
【００３５】
有利には、シャドウテナントインスタンスは、Ｎ＋１ソリューションと比較して提供されるサービスに対する影響が小さい状態で処理手順を実行することができ、手順が完了したら２つのテナントインスタンスを迅速に切り替える性能を実現することができる。
【００３６】
リンク１２５−１から１２５−１０（集合的にリンク１２５）は、システムコンポーネント間の通信経路を示し、任意の適切な通信経路を含むものとして広義に解釈されるべきである。例えば、リンクは、同一デバイス内におけるコンポーネント間の内部通信チャネルであってもよく、無線通信（例えばＬＴＥ、ＧＳＭ（登録商標）、ＣＤＭＡおよびＢｌｕｅｔｏｏｔｈ（登録商標））、ＷＬＡＮ通信（例えばＷｉＦｉ）、パケットネットワーク通信（例えばＩＰ）、ブロードバンド通信（例えばＤＯＣＳＩＳおよびＤＳＬ）、ストレージ通信（例えばＦｉｂｒｅ  Ｃｈａｎｎｅｌ、ｉＳＣＳＩ）等といった１つまたは複数の通信チャネル経由での通信をサポートしてもよい。単一の接続として説明されているが、リンク１２５は、任意の数の通信チャネルまたは通信チャネルの任意の組合せとすることができることが理解されるべきである。
【００３７】
ＯＡＭ１６０は、テナントインスタンス１３０によって表されるクラウドエレメントに関連するＯＡＭ性能を持つことができる任意の装置とすることができる。ＯＡＭマネージャは、クラウドマネージャ１２０、テナントインスタンス１３０またはその双方に通信可能に接続されていてもよい。
【００３８】
ネットワーク１７０は、テナントインスタンス１３０によって表されるクラウドエレメントに関連する任意のネットワークとすることができる。例えば、ネットワーク１７０は、ＷＣＤＭＡ（登録商標）またはＧＳＭネットワークといった通信ネットワークとすることができる。本例においては、テナントインスタンス１３０は、それぞれＲＮＣまたはＢＳＣとして機能してもよい。
【００３９】
クラウドマネージャ１８０は、バーチャルインフラストラクチャを管理する任意のクラウドシステムマネージャとすることができる。例えば、クラウドマネージャ１８０は、ＶＭｗａｒｅ  ｖＣｅｎｔｅｒ  Ｓｅｒｖｅｒとすることができる。
【００４０】
いくつかの実施形態においては、テナントインスタンス１３０の１つまたは複数は互いに独立のクラウドインフラストラクチャ内に存在してもよく、地理的遠隔地に存在していてもよい。
【００４１】
いくつかの実施形態においては、シャドウテナントとして機能する１つまたは複数のテナントインスタンス１３０は、クラウドエレメントマネージャ１２０によって起動されるまでネットワーク１７０から隠蔽されている。
【００４２】
いくつかの実施形態においては、シャドウテナントインスタンスとして機能するテナントインスタンス１３０の１つまたは複数は、サービス提供インスタンスと比較して実質的に少ないリソースで構成されている。特に、シャドウテナントインスタンスは、クラウドエレメントの機能性を提供するのに必要なすべてのリソースで構成されているが、クラウドインフラストラクチャ内でリソースを節約するために、シャドウテナントインスタンスは、サービス提供インスタンスと比較してより少ないリソースで構成されている。ひとたび切り替えが発生すれば、シャドウテナントインスタンスはサービス提供テナントインスタンスとなり、通常の弾力性を用いてテナントインスタンスのサイズを拡大または縮小する。ここに用いるように、「実質的により少ないリソース」は任意のタイプのリソース要件の５０パーセント（５０％）以下として広義に解釈される（例えば５０パーセント未満の仮想マシン、メモリ、ストレージまたは処理）。
【００４３】
いくつかの実施形態においては、シャドウテナントインスタンスは、サービス提供テナントインスタンスよりも実質的に少ない仮想マシンを有している。
【００４４】
いくつかの実施形態においては、シャドウテナントインスタンスは、サービス提供テナントインスタンスよりも実質的に少ない物理的リソース（例えばより少ないＣＰＵサイクルまたはメモリ）を有している。
【００４５】
いくつかの実施形態においては、シャドウテナントインスタンスは、バーチャルリソース（例えば仮想マシン（ＶＭ）または仮想スイッチ（ｖＳｗｉｔｃｈ））の完全な一式を含んでいるが、実質的により少ないリソースを有している。シャドウテナントインスタンスは隠蔽されているので、シャドウインスタンスは、インアクティブなバーチャルリソースが実質的により少ないＣＰＵ時間およびメモリを消費することから、実質的により少ないリソースを備えていてもよいことが理解されるべきである。
【００４６】
スイッチ１５０のいくつかの実施形態においては、インタフェースをオフに切り替えるため、テナントインスタンスの外部ポートグループ（ｐｏｒｔＧｒｏｕｐ）はクラウドエレメントシステム１１０内で閉じているダミーＶＬＡＮに構成されている。
【００４７】
スイッチ１５０のいくつかの実施形態においては、インタフェースをオンに切り替えるために、テナントインスタンスの外部ポートグループは、ＯＡＭ１６０またはネットワーク１７０と通信することができるように構成されている。
【００４８】
これらの実施形態のうちのいくつかにおいては、テナントインスタンスの外部ポートグループの構成は、クラウドマネージャ（例えば図１のクラウドマネージャ１８０と相互にやりとりを行うクラウドエレメントマネージャ１２０）と相互にやりとりを行うことにより実現される。
【００４９】
これらの実施形態のうちのいくつかにおいては、テナントインスタンスの外部ポートグループの構成は、テナントインスタンス（例えば図１のテナントインスタンス１３０の一つと相互にやりとりを行うクラウドエレメントマネージャ１２０）によって実現される。
【００５０】
有利には、クラウドエレメントシステム１１０に基づく処理手順は、クラウドエレメントの提供サービスに対する影響をより小さくしつつ行うことができる。処理手順は、例えば、（ｉ）クラウドエレメント（例えばテナント）のグレースフルリセット、（ｉｉ）ソフトウェアアップグレード、（ｉｉｉ）クラウドエレメント構成変更、（ｉｖ）クラウドエレメント仮想マシン変更、および（ｖ）地理的冗長性を含む。
【００５１】
図２は、図１のテナントインスタンス１３０の１つの一実施形態であるテナントインスタンス２３０を図式的に示した図である。テナントインスタンス２３０は、仮想マシンＶＭ２４０−０からＶＭ２４０−Ｘ（集合的にＶＭ２４０）を備えている。ＶＭ２４０は、テナントインスタンス（例えばクラウドエレメント）に向けられたサービス要求に必要なリソースを提供する。
【００５２】
ＶＭ２４０−０、すなわち、ルート仮想マシンは、アプリケーションコーディネータであり、アプリケーションの初期ビルドアウトの間、および、グロー（ｇｒｏｗ）状況およびデグロー（ｄｅ−ｇｒｏｗ）状況の間、ＶＭマネジメントシステムと相互にやりとりを行う。特に、ルートＶＭ２４０−０は、アプリケーション要件をＶＭ２４０の具体的な構成に変換する能力を有している。例えば、ワイヤレスネットワークコントローラは、所与の数のセルサイトを扱わなければならないようなワイヤレスオペレータによって設定されてもよく、ルートＶＭは、このアプリケーションレベル要件をタイプＶＭ（ａ）のｎ個のＶＭおよびタイプＶＭ（ｂ）のｍ個のＶＭを構成するなど、必要なＶＭ構成に変換する役割を担う。
【００５３】
有利には、ルートＶＭは、数百から数千個のＶＭからなる大規模クラウドアプリケーションのスケーラビリティおよびマネジメントを可能とする。
【００５４】
いくつかの実施形態においては、ＶＭ２４０−０は、個別のＶＭ２４０の負荷レベルをモニタするとともにこれらの負荷を具体的ＶＭタイプについての構成要件に変換することにより、複雑なアプリケーションの弾力性を制御する役割を担う。
【００５５】
ＶＭ２４０−０のいくつかの実施形態においては、ルート仮想マシンは、単体のアクティブなインスタンスがＶＭマネジメントシステムと通信を行うよう、１対１の専用構成である。
【００５６】
図３は、図１のクラウドエレメントシステム１１０の一実施形態であるクラウドエレメントシステム３１０を図式的に示した図である。クラウドエレメントシステム３１０は、図１で上述したように、クラウドエレメントマネージャ３２０と、テナントインスタンス３３０−１および３３０−２（集合的にテナントインスタンス３３０）とを備えている。クラウドエレメントマネージャは、関連するシャドウエージェント３３０−１−ＳＡおよび３３０−２−ＳＡ（集合的にシャドウエージェント３３０−ＳＡ）を介してテナントインスタンス３３０−１および３３０−２と通信を行うためのシャドウマネージャ３２０−ＳＭを備えている。
【００５７】
シャドウマネージャ３２０−ＳＭは、シャドウマネジメントプロセスのフェーズと、各フェーズ内のステップおよびステートとを制御する。特に、シャドウマネージャ３２０−ＳＭは、フェーズ、シャドウマネジメントプロセスのステップまたはステートをテナントインスタンス（例えば図１のテナントインスタンス１３０）と同期させ、テナントインスタンスが同期されたとの判断に基づいてフェーズ、ステップまたはステートを進める。シャドウマネジメント処理フェーズは、（ｉ）サービス提供テナントインスタンスの作成、（ｉｉ）シャドウテナントインスタンスの作成、（ｉｉｉ）サービス提供テナントインスタンスの停止、（ｉｖ）シャドウテナントインスタンスの起動、（ｖ）シャドウテナントインスタンスへのサービスの切り替え、（ｖｉ）ロールバックサービス、（ｖｉｉ）旧サービス提供テナントインスタンスの除去、または（ｖｉｉｉ）これらに類するものといった、システムにより定義される任意の適切なフェーズとすることができる。
【００５８】
シャドウエージェント３３０−ＳＡは、シャドウマネージャ３２０−ＳＭとシャドウマネジメントプロセスのステップおよびステートと関連するテナントインスタンス特有アクションとの間のブリッジを提供する。
【００５９】
いくつかの実施形態においては、シャドウマネージャ３２０−ＳＭは、シャドウマネジメントプロセスのフェーズ、ステップまたはステートに関連するメッセージをテナントインスタンス３３０（例えば同じテナントに関連するテナントインスタンス）とやりとりする。メッセージは、例えば、（ｉ）各フェーズにおけるステップおよびそれらのステップの正しい順序の構成情報の送信、（ｉｉ）現在のフェーズまたは現在のフェーズのステップもしくはステートの情報の送信、（ｉｉｉ）フェーズにおけるステップが適切に進行しているか否かのステータスに関するフィードバックの受信、（ｉｖ）外部接続を切り替える構成情報の送信、（ｖ）１つまたは複数のシャドウアクションプランの送信、または（ｖｉ）これらに類するものが含まれてもよい。シャドウアクションプランは、シャドウマネジメントプロセスの対応するステップまたはフェーズについてシャドウエージェントが実装すべきアクションを指定する任意の指令とすることができる。
【００６０】
いくつかの実施形態においては、シャドウアクションプランは、バイナリまたはスクリプトとすることができる。
【００６１】
いくつかの実施形態においては、シャドウマネージャ３２０−ＳＭは、テナントインスタンス３３０対してステートマシンを維持する。これらの実施形態のうちのいくつかにおいては、ステートマシンは、外部入力（例えば図１のＯＡＭ１６０からのＯＡＭアクション）に基づいてフェーズまたはステートを変更する。これらの実施形態のうちのいくつかにおいては、ステートマシンは、（ｉ）受信した外部入力、（ｉｉ）フェーズまたはステートの変更、または（ｉｉｉ）これらに類するもの、などの任意の適切な条件に基づいてアクションを実行する。アクションは、任意の適切なアクションとすることができ、テナントインスタンス３３０の１つまたは複数へメッセージを送信することを含んでいてもよい。
【００６２】
いくつかの実施形態においては、シャドウエージェント３２０−ＳＡは、シャドウマネージャ３２０−ＳＭから受信されたメッセージに基づいてアクションを呼び出す。呼び出されたアクションは、シャドウマネジメントプロセスのフェーズまたはステートに対応するテナント特有アクションといった任意の適切なアクションとすることができる。例えば、呼び出されたアクションは、テナントインスタンスの仮想マシンの１つまたは複数（例えば図２のＶＭＳ２４０の１つまたは複数）によって実行されるべきアクションを指定してもよい。
【００６３】
いくつかの実施形態においては、シャドウマネージャ３２０−ＳＭは、テナントインスタンス３３０の１つまたは複数に対して一群のＡＰＩを提供する。ＡＰＩは、テナントインスタンスの構成または再構成といった任意の適切な目的のため、あるいは、テナントインスタンス上で実行されるべきアクション（例えばシャドウマネージャ３２０−Ｍから受信されたメッセージに基づいてテナントインスタンスのうちの１つにより行われるべきアクション）の構成のために構成されていてもよい。
【００６４】
いくつかの実施形態においては、ＡＰＩは、仮想化プラットフォーム（例えばｖＳｐｈｅｒｅ仮想化プラットフォーム）上でアクションを開始するためにルートＶＭ（例えば図２のＶＭ２４０−０）によって用いられる。アクションは、例えば、（ｉ）ＶＭの作成または削除、（ｉｉ）ＶＭステータス管理、（ｉｉｉ）ネットワークコンポーネント管理、（ｉｖ）ＤＲＳルール、（ｖ）リソース予約、または（ｖｉ）これらに類するものといった、任意の適切なアクションとすることができる。有利には、ＡＰＩの使用は、仮想化プラットフォーム特有機能の使用を特定してマルチ仮想化技術をサポートするものとすることができる。
【００６５】
いくつかの実施形態においては、シャドウマネージャ３２０−ＳＭは、テナント配備ルールに従ってテナントインスタンスを構成する。
【００６６】
いくつかの実施形態においては、シャドウマネージャ３２０−ＳＭは、例えば、初期配備、リソース割り当ておよび除去などのテナントレベルアクションを開始するために、ネットワークマネジメントシステム（明確性のため図示せず）とインターフェースで接続している。
【００６７】
いくつかの実施形態においては、シャドウマネージャ３２０−ＳＭは、クラウドマネージャ（例えば図１のクラウドマネージャ１８０）とインターフェースで接続している。
【００６８】
いくつかの実施形態においては、シャドウマネージャ３２０−ＳＭは、例えば、シャドウマネージャ３２０−ＳＭとシャドウエージェント３２０−ＳＡ（例えばテナントインスタンスのルートＶＭ）の１つとの間の通信でテナントインスタンスごとの一意のＶＬＡＮタグインタフェースと一意のＩＰＶ４ＩＰアドレスとが使用されることを確保することを含め、クラウド内部ネットワークリソースとインターフェースで接続し管理する。
【００６９】
いくつかの実施形態においては、シャドウマネージャ３２０−ＳＭは、テナントインスタンスのため機能の使用を統一化する（例えばＶｍＷａｒｅ  ｖＳｐｈｅｒｅ）。
【００７０】
シャドウエージェント３３０のいくつかの実施形態においては、シャドウエージェント３３０−ＳＡは、ルートＶＭ（例えば図２のＶＭ２４０−０）において構成されている。
【００７１】
シャドウエージェント３３０−ＳＡのいくつかの実施形態においては、シャドウエージェント３３０−ＳＡは、クラウドエレメント機能性を提供するために作成された多数の仮想マシン（例えば図２のＶＭ２４０の２つ以上）に備えられていてもよい。
【００７２】
１つの装置上で実行される１つのプログラムまたはモジュール（例えばクラウドエレメントマネージャ３２０上で実行されるシャドウマネージャ３２０−ＳＭ）として説明されているが、記載された機能を行うより多くのプログラムまたはモジュールとされてもよく、また、プログラムまたはモジュールの１つまたは複数が遠隔して存在しまたは実行されてもよいことが理解されるべきである。
【００７３】
図４は、クラウドエレメントシステム（例えば図１のクラウドエレメントシステム１１０）が冗長クラウドエレメントを構成する方法４００の一実施形態を説明するフローチャートを示した図である。方法は、ステップ４０５をもって開始し、少なくとも１つのサービス提供テナントインスタンスと少なくとも１つのシャドウテナントインスタンスとを作成すること（ここでテナントインスタンスはクラウドエレメントとして機能するように構成されている）（ステップ４２０）と、テナントインスタンスのリソースを構成すること（ステップ４３０）と、テナントインスタンスの作成に成功したと決定すること（ステップ４４０）と、テナントリソースの作成に成功した場合、クラウドエレメントサービスを提供（ステップ４５０）すること、または、テナントリソースの作成に成功しなかった場合には任意選択で方法を終了すること（ステップ４９５）と、切り替えイベントを決定すること（ステップ４６０）と、切り替えイベントが存在する場合、サービスをサービス提供テナントインスタンスの少なくとも１つから１つまたは複数のシャドウテナントインスタンスへ切り替えること（ステップ４８０）とを含む。
【００７４】
方法４００においては、ステップ４２０は、少なくとも１つのサービス提供テナントインスタンスと少なくとも１つのシャドウテナントインスタンスとを（例えば図１のクラウドエレメントマネージャ１２０によって）作成すること（ここでテナントインスタンスはクラウドエレメントとして機能するように構成されている）を含む。例えば、図１を参照すると、クラウドエレメントマネージャ１２０は、テナントインスタンス１３０を作成する。クラウドエレメントマネージャは、（ｉ）メッセージをテナントインスタンスに送信する（例えばメッセージを１つまたは複数のテナントインスタンスのルートＶＭへ送信する、（ｉｉ）１つまたは複数のテナントインスタンスを作成および構成するためのメッセージをデータセンター内のリソースマネージャへ送信する（例えば１つまたは複数のテナントインスタンスを作成するためにデータセンターリソースを構成する）、（ｉｉｉ）１つまたは複数のテナントインスタンスを作成するためリソース配分を行う、または（ｉｖ）これらに類するものといった任意の適切な仕方にしたがい、テナントインスタンスを作成してもよい。
【００７５】
ここに記載した「作成する（ｃｒｅａｔｅ）」、「構成する（ｃｏｎｆｉｇｕｒｅ）」、「再構成する（ｒｅｃｏｎｆｉｇｕｒｅ）」、「設定する（ｐｒｏｖｉｓｉｏｎ）」および「記憶する（ｓｔｏｒｅ）」などの用語は、適切なアクションを実施するために送信されたメッセージまたは指令を含むものとして広義に解釈されるべきである。
【００７６】
方法４００においては、テナントインスタンスのリソースを（例えば図１のテナントインスタンス１３０の１つまたは複数によって）構成するステップ４３０。テナントインスタンスリソースは、通常のクラウドオーケストレーションアプローチを用いるなど任意の適切な仕方で構成されてもよく、または図２に記載するとおりＶＭルートアプローチを用いて構成されてもよい。
【００７７】
方法４００は任意選択でステップ４４０を含む。ステップ４４０は、１つまたは複数のテナントインスタンスの作成が成功したことを示すステータスメッセージを受信すること（例えば、図１のクラウドエレメントマネージャ１２０によって、図１の１つまたは複数のテナントインスタンス１３０から、または、クラウドオーケストレーションマネージャからステータスメッセージを受信すること）を含む。テナントインスタンスの作成に成功したことを示すステータスが受信された場合には、方法はステップ４５０に進む。テナントインスタンスの作成に成功しなかったことを示すステータスメッセージが受信された場合には、方法は任意選択でステップ４９５に進んで終了する。
【００７８】
方法４００においては、ステップ４５０は、クラウドエレメントサービスを提供することを含む（例えばクラウドエレメントマネージャ１２０またはテナントインスタンス１３０の１つがクラウドエレメントサービスを図１のネットワーク１７０に提供する）。特に、クラウドエレメントシステム（例えば図１のクラウドエレメントシステム１１０）は、構成されたクラウドエレメント（例えば３Ｇ通信ネットワークにおけるＲＮＣ）の機能性を提供する。
【００７９】
方法４００においては、ステップ４６０は、切り替えイベントを決定することを含む（例えば図１のクラウドエレメントマネージャ１２０によって）。特に、切り替えイベントは、クラウドエレメントマネージャが処理を１つまたは複数のサービス提供テナントインスタンスからシャドウテナントインスタンスの１つまたは複数へと切り替えようとしていることを示す。切り替えイベントが決定された場合には、方法はステップ４７０に進み、そうでない場合には方法はステップ４５０に戻る。切り替えイベントは、任意の適切なイベントであってもよく、任意の適切な方法を用いて方法を行う装置によって決定されてもよい。例えば、切り替えイベントは、（ｉ）テナントのグレースフルリセットを行う指示（例えば図１のＯＡＭ１６０から受信される）、（ｉｉ）テナントアプリケーションのソフトウェアアップグレードの指示（例えば図１のＯＡＭ１６０から受信される）、（ｉｉｉ）テナント構成変更の指示（例えば図１のＯＡＭ１６０から受信される）、（ｉｖ）テナント仮想マシンの変更の指示（例えば図１のＯＡＭ１６０から受信される）、（ｖ）（例えば地理的冗長性のための）テナントインスタンスの移動するための（例えば図１のＯＡＭ１６０から受信される）指示、または（ｖｉ）これらに類するものとすることができる。ステップ４６０は、トリガまたは割り込みとして構成されてもよいこと、したがって、ステップ４６０は、切り替えイベントが判別された場合にのみ実装されてもよいこと（例えばトリガされるまたは割り込みを発生させる）が理解されるべきである。
【００８０】
方法４００においては、ステップ４８０は、１つまたは複数のシャドウテナントインスタンスを切り替えることを含む（例えば図１のクラウドエレメントマネージャ１２０または図１のテナントインスタンス１３０の１もしくは複数によって）。特に、クラウドエレメントの処理は１つまたは複数のサービス提供テナントインスタンスからシャドウテナントインスタンスの１つまたは複数へと切り替えられる。
【００８１】
ステップ４２０、４３０または４４０のいくつかの実施形態においては、シャドウテナントインスタンスは、サービス提供テナントインスタンスの後で作成されてもよい。これらの実施形態のうちのいくつかにおいては、シャドウテナントインスタンスは、サービス提供テナントインスタンスを作成するためにステップ４２０、４３０または４４０が行われた後で、または、サービス提供テナントインスタンスがステップ４５０にてクラウドエレメントサービスを提供してから作成されてもよい。これらの実施形態のうちのいくつかにおいては、シャドウテナントインスタンスは、必要に応じて作成される。例えば、ソフトウェアアップグレードアプリケーションに対しては、シャドウテナントインスタンスは、クラウドエレメントシステムにおいてソフトウェアアップグレードが行われるとの判断がされた後で作成されてもよい。
【００８２】
ステップ４４０のいくつかの実施形態においては、クラウドエレメントマネージャは、１つまたは複数のテナントインスタンスの作成に成功しなかったことを示すステータスを受信してもよい。これらの実施形態のうちのいくつかにおいては、ステータスは、利用可能リソース情報を含む。これらの実施形態のうちのいくつかにおいては、ステップを行うクラウドエレメントマネージャは、（ｉ）同じリソースを用いてテナントインスタンスの作成を再試行する（例えばステップ４２０を再試行する）、（ｉｉ）少なくとも１つの異なるリソースの集合を用いてテナントインスタンスの作成を再試行する（例えばテナントインスタンスうちの少なくとも１つを異なるデータセンター内に作成する）（例えばステップ４２０を再試行する）、（ｉｉｉ）異なるパラメータを用いてテナントインスタンスの作成を再試行する（例えば受信した利用可能リソース情報に基づいてテナントインスタンスの少なくとも１つのリソース要件を変更する）（例えばステップ４２０を再試行する）、（ｉｖ）警告メッセージを送信する、（ｖ）終了する（例えばステップ４９５）、または（ｖｉ）これらに類するものといった、受信したステータスに基づく任意の適切なアクションを行ってもよい。
【００８３】
ステップ４５０のいくつかの実施形態においては、クラウドエレメントマネージャ（例えば図１のクラウドエレメントマネージャ１２０）は、シャドウ処理のオーケストレーションを行い、あるいはオペレータアクションとインターフェースで接続する役割を担う（例えばＡｌｃａｔｅｌ−Ｌｕｃｅｎｔ  ｌｉｇｈｔＲａｄｉｏマネジメントシステムなどのマネジメントシステムからのメッセージを介して）。
【００８４】
ステップ４５０のいくつかの実施形態においては、クラウドエレメントマネージャは３Ｇ通信ネットワークにおけるＲＮＣまたは２Ｇ通信ネットワークにおけるＢＳＣのような１つまたは複数のネットワーク要素（ＮＥ）とインターフェースで接続する。
【００８５】
ステップ４５０のこれらの実施形態のいくつかにおいては、テナントインスタンスの１つまたは複数が、クラウドエレメントマネージャの指令に従い、クラウドエレメントマネージャの機能性を担う。
【００８６】
図５は、図４のステップ４８０に示す１つまたは複数のシャドウテナントインスタンスを切り替える方法５００の一実施形態を説明するフローチャートを示した図である。方法はステップ５０５をもって開始し、支援型切り替えを行うか否かを決定すること（ステップ５２０）を含み、そして、決定が支援型切り替えを行う旨である場合、方法はステップ５３０に進み、そうでない場合には方法はステップ５４０に進む。支援型切り替えを行う方法は、クラウドマネージャ（ステップ５３０）と相互にやりとりを行うことを含み、一方、非支援型切り替えを行う方法は、メッセージをテナントインスタンスへ送信すること（ステップ５４０）と、テナントインスタンスから肯定応答を受信すること（ステップ５５０）とを含む。支援型および非支援型切り替え方法はともにその後ステップ５６０に進み、同ステップにおいて、方法は、シャドウマネジメント処理フェーズ、ステップまたはステートを任意選択で更新すること（ステップ５６０）と、任意選択でロールバックを行うこと（ステップ５８０）とを含む。方法はステップ５９５で終了する。
【００８７】
方法５００においては、ステップ５２０は、支援型切り替えを行うか否かを決定することを含む。決定が支援型切り替えを行う旨である場合には方法はステップ５３０に進み、そうでない場合には方法はステップ５４０に進む。
【００８８】
方法５００においては、ステップ５３０は、クラウドマネージャ（例えば図１のクラウドマネージャ１８０と相互にやりとりを行うクラウドエレメントマネージャ１２０）と相互にやりとりを行うことを含む。特に、クラウドマネージャにサービス提供テナントインスタンスの１つまたは複数を構成させてクラウドエレメントサービスの提供を停止させること、および、シャドウテナントインスタンスの１つまたは複数を構成させてクラウドエレメントサービスを提供させることを引き起こす指令がクラウドマネージャに送信される。いくつかの実施形態においては、指令の実行に成功した否かを示す肯定応答メッセージがクラウドマネージャから受信される。方法はその後ステップ５６０に進む。
【００８９】
方法５００においては、ステップ５４０は、メッセージをテナントインスタンスへ（例えば図１のクラウドエレメントマネージャ１２０によって）送信することを含む。特に、クラウドエレメントサービスの提供を停止するためのメッセージがサービス提供テナントインスタンスの１つまたは複数に送信され、また、クラウドエレメントサービスを提供するためのメッセージがシャドウテナントインスタンスの１つまたは複数に送信される。
【００９０】
方法５００においては、ステップ５５０は任意選択で、テナントインスタンスへの肯定応答メッセージを（例えば図１のクラウドエレメントマネージャ１２０によって）受信することを含む。特に、肯定応答メッセージは、テナントインスタンスメッセージの実行に成功したか否か（例えばサービス提供テナントインスタンスがクラウドエレメントサービスの提供を停止することに成功したか否か、または、クラウドエレメントサービスを提供するためにシャドウテナントインスタンスが構成することに成功したか否か）を示す。
【００９１】
方法５００においては、ステップ５６０は、任意選択で、シャドウマネジメント処理フェーズ、ステップまたはステートを（例えば図１のクラウドエレメントマネージャ１２０によって）更新することを含む。特に、方法の後または方法の間においてシャドウマネジメント処理フェーズ、ステップまたはステートが変化した場合には、方法を行う装置は、前述したようにシャドウマネジメント処理フェーズ、ステップまたはステートを更新する。
【００９２】
方法５００においては、ステップ５８０は、任意選択で、ロールバックを（例えば図１のクラウドエレメントマネージャ１２０によって）行うことを含む。特に、切り替えがロールバック条件を検出した場合には、方法は、クラウドエレメントシステムを以前の構成へロールバックさせることを決定してもよい。ロールバック条件は、例えば、切り替えに失敗した、あるいは、切り替えがパフォーマンスの低下を生じさせたなど、任意の適切な条件とすることができる。
【００９３】
方法５００においては、方法は、支援型または非支援型切り替えのみを提供してもよいこと、したがって、ステップ５２０は、任意選択なものであってもよく、また、ステップ５４０および５５０またはステップ５３０は、任意選択なものとすることができることが理解されるべきである。例えば、方法を行う装置が非支援型切り替え機能性のみを提供する場合には、方法は、ステップ５２０または５３０を含まなくてもよい。同様に、方法を行う装置が支援型切り替え機能性のみを提供する場合には、方法は、ステップ５２０または５４０および５５０を含まなくてもよい。
【００９４】
ステップ５３０または５４０のいくつかの実施形態においては、クラウドエレメントサービスは、テナントインスタンスの外部ネットワークインタフェースを再構成することにより停止される。これらの実施形態のうちのいくつかにおいては、ネットワークインタフェースは、ＷＣＥ内で閉じているダミーＶＬＡＮへ切り替えられる。
【００９５】
ステップ５３０または５４０の実施形態のいくつかにおいては、クラウドエレメントサービスは、テナントインスタンスの外部ネットワークインタフェースを再構成することにより提供される。
【００９６】
ステップ５４０および５５０のいくつかの実施形態においては、クラウドエレメントサービスを提供するためのメッセージが（例えばステップ５４０において）１つまたは複数のシャドウテナントインスタンスへ送信される前に、１つまたは複数のサービス提供テナントインスタンスによって提供されるサービスの停止に成功した旨の肯定応答が受信される（例えばステップ５５０において）。サービス提供テナントインスタンスが停止されてからクラウドエレメントサービスを提供するためにシャドウテナントインスタンスが構成されるまでの間に瞬時的機能停止が生じることが理解されるべきである。有利には、機能停止時間は、テナントインスタンスを構成したリソース数（例えば仮想マシン）と関係なく本質的に同じである。
【００９７】
ステップ５５０のいくつかの実施形態においては、肯定応答メッセージは、テナントインスタンスメッセージの実行が成功したか否かの指示に加えて追加的情報を含んでいてもよい。追加的情報は、例えば、（ｉ）失敗メッセージ（例えば所要リソースの利用可能性の欠如または失敗条件など、なぜテナントインスタンスメッセージの実行に失敗したかに関する情報）、（ｉｉ）是正情報（例えばテナントインスタンスが実行に成功する構成に関する情報）、または（ｉｉｉ）これらに類するものといった、任意の適切な情報とすることができる。
【００９８】
ステップ５６０のいくつかの実施形態においては、方法を行う装置は、以前のサービス提供テナントインスタンスを除去してもよい。
【００９９】
ステップ５８０のいくつかの実施形態においては、ロールバックは、以前のサービス提供テナントインスタンスを、クラウドエレメントサービスを提供するその前のステートに復帰させる切り替えを行うこと、および、以前のシャドウテナントインスタンスをそのさらに前のステートへ復帰させる切り替え（例えば以前のシャドウテナントインスタンスによるクラウドエレメントサービスの提供の停止）を行うことを含む。例えば、シャドウテナントインスタンスがソフトウェアアップグレードを含むように設定されていて、切り替え後、新たなサービス提供テナントインスタンス（例えば切り替え前の以前のシャドウテナントインスタンス）がパフォーマンスの低下または故障を呈している場合には、クラウドエレメントマネージャは、故障またはサービス低下を軽減するために、以前のサービス提供テナントインスタンスを、クラウドエレメントサービスを提供するその前のステートに復帰させる切り替えを行ってもよい。
【０１００】
主として特定の順序に従って記載および説明をしたが、方法４００および方法５００に示すステップは、任意の適切な順序において行われてもよいことが理解されるべきである。さらに、１つのステップによって識別されるステップは、順序における１つまたは複数の他のステップにおいて行われてもよく、あるいは、２つ以上のステップに共通のアクションは１回のみ行われてもよい。
【０１０１】
様々な上述した方法のステップがプログラムされたコンピュータによって行われることができることが理解されるべきである。ここで、機械読取りまたはコンピュータ読取り可能であり、かつ、命令の機械実行可能またはコンピュータ実行可能なプログラムを符号化するプログラム記憶装置、例えばデータ記憶媒体をも包含し、あるいは、コンピュータ実行可能な命令からなるプログラムであって、前記命令が前記上述した方法の各ステップの一部またはすべてを行うプログラムの記憶装置、例えばデータ記憶媒体をも包含するいくつかの実施形態もまた意図されている。プログラム記憶装置は例えば、磁気ディスクや磁気テープといった磁気記憶媒体、ハードドライブまたは光学読取り可能なデータ記憶媒体などのデジタルメモリとすることができる。これらの実施形態はまた、上述した方法の前記各ステップを行うようにプログラムされたコンピュータをも包含することが意図されている。
【０１０２】
図６は、図１のクラウドエレメントマネージャ１２０またはテナントインスタンス１３０の１つのような様々な装置６００の一実施形態を図式的に示した図である。装置６００は、プロセッサ６１０と、データストレージ６１１と、任意選択でＩ／Ｏインタフェース６３０とを備えている。
【０１０３】
プロセッサ６１０は、装置６００の動作を制御する。プロセッサ６１０は、データストレージ６１１と連携する。
【０１０４】
データストレージ６１１は、プロセッサ６１０によって実行可能なプログラム６２０を記憶している。データストレージ６１１はまた、適宜、シャドウマネジメント処理フェーズ、ステップもしくはステート情報、シャドウマネジメントステートマシン等のようなプログラムデータを任意選択で記憶していてもよい。
【０１０５】
プロセッサ実行可能なプログラム６２０は、Ｉ／Ｏインタフェースプログラム６２１、クラウドエレメントマネージャプログラム６２３（例えば図３のシャドウマネージャ３２０−ＳＭを含む）またはテナントインスタンスプログラム６２５（例えば図３のシャドウエージェント３３０−ＳＡを含む）を含んでいてもよい。プロセッサ６１０は、プロセッサ実行可能なプログラム６２０と連携する。
【０１０６】
Ｉ／Ｏインタフェース６３０は、プロセッサ６１０およびＩ／Ｏインタフェースプログラム６２１と連携して前述したように図１のリンク１２５経由の通信を支援する。Ｉ／Ｏインタフェースプログラム６２１は、適宜、前述した図４のステップ４２０、４４０、４５０、４６０もしくは４８０または図５のステップ５３０、５４０もしくは５５０の１つまたは複数を行う。
【０１０７】
クラウドエレメントマネージャプログラム６２３は、適宜、前述した図４のステップ４２０、４４０、４５０、４６０もしくは４８０または図５のステップの１つまたは複数を行う。
【０１０８】
テナントインスタンスプログラム６２５は、適宜、前述した図２のステップ４３０、４４０、４５０または４８０のステップの１つまたは複数を行う。
【０１０９】
いくつかの実施形態においては、プロセッサ６１０は、プロセッサ／ＣＰＵコアなどのリソースを含んでもよく、Ｉ／Ｏインタフェース６３０は任意の適切なネットワークインタフェースを含んでもよく、あるいは、データストレージ６１１は、メモリまたは記憶装置を含んでもよい。さらには、装置４００は、１つまたは複数のサーバや、プロセッサ、メモリ、ネットワークインタフェースまたは記憶装置などのコンポーネントからなるブレードといった任意の適切な物理的ハードウェア構成とすることができる。これらの実施形態のうちのいくつかにおいては、装置６００は、互いに遠隔配置されたクラウドネットワークリソースを含んでもよい。
【０１１０】
いくつかの実施形態においては、装置６００は、１つまたは複数の仮想マシンとすることができる。これらの実施形態のうちのいくつかにおいては、仮想マシンの１つまたは複数が、異なるマシンに属するコンポーネントを含んでもよく、あるいは、地理的に散在していてもよい。例えば、データストレージ６１１とプロセッサ６１０とが、２つの異なる物理的マシンに存在していてもよい。
【０１１１】
プロセッサ実行可能なプログラム６２０がプロセッサ６１０上で実装されると、プログラムコードセグメントがプロセッサと組み合わせられて特定論理回路と類似した態様にて動作する独自の装置が提供される。
【０１１２】
ここでは、例えば、プログラムとロジックとがデータストレージ内に記憶されていて、メモリがプロセッサと通信可能に接続されている実施形態との関連で記載および説明をしたが、かかる情報は、任意の適切な態様にて（例えば任意の適切な数のメモリ、ストレージまたはデータベースを用いて）、すなわち、複数装置の任意の適切な配置構成部と通信可能に接続されたメモリ、ストレージまたはデータベースの任意の適切な配置構成部を用いて、メモリ、ストレージまたは内部もしくは外部データベースの任意の適切な組合せに情報を記憶することで、あるいは、任意の適切な数のアクセス可能な外部メモリ、ストレージまたはデータベースを用いて、記憶されてもよいことが理解されるべきである。このように、ここにいう用語「データストレージ」は、メモリ、ストレージおよびデータベースのあらゆる適切な組合せを包含することを意味している。
【０１１３】
本明細書および各図面は単に本発明の原理を説明したものである。したがって、当業者であれば、ここに明示的に記載または図示されたものではなくても本発明の原理を具現化するとともにその範囲に含まれる様々な構成を構想することができるであろうことが理解されると考えられる。また、ここに言及されるすべての例は、原則として本発明の原理と、技術分野の進展のために発明者によって提供されたコンセプトとに対する読者の理解を助けるという教育的目的だけのために明示的に意図されたものであって、このような具体的に言及された各例と各条件とに限定される趣旨ではないものとして解釈されるべきである。さらに、ここに記載した本発明の原理、態様および実施形態ならびにその具体例に言及するすべての記載は、それと均等的なものをも包含するものとして意図されたものである。
【０１１４】
ラベル「プロセッサ」を付した任意の機能ブロックを含め、各図に示した様々な要素がもつ機能は、適切なソフトウェアと関連するソフトウェアを実行することができるハードウェアだけでなく専用ハードウェアによって提供されてもよい。プロセッサによって提供される場合、これら機能は、単一の専用プロセッサによって、単一の共用プロセッサによって、あるいは、複数の個別プロセッサによって提供されてもよく、その一部は共有されていてもよい。さらに、用語「プロセッサ」または「コントローラ」を明示的に使用している場合でも、ソフトウェアを実行することができるハードウェアを排他的にさすものと解釈されるべきではなく、これらに限定する趣旨ではないが、デジタル信号処理プロセッサ（ＤＳＰ）ハードウェア、ネットワークプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ソフトウェアを記憶するための読取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）および不揮発性記憶装置をも暗に含んでいてもよい。通常であるとカスタムとを問わず他のハードウェアも含まれてもよい。同様に、各図に示す任意のスイッチは専ら概念的なものである。それらの機能は、プログラムロジックの演算によって、専用ロジックによって、プログラム制御および専用ロジックのインタラクションによって、あるいは、さらには、文脈に従いより一層具体的に理解されるところに従い実装者によって選択可能な特定の技術を用いて、手動によっても、実行されてもよい。
【０１１５】
ここに記載したブロック図はいずれも本発明の原理を具現化した例示的回路構成の概念図を表したものであることが理解されるべきである。同様に、フローチャート、フロー図、状態遷移図、疑似コード等はいずれも、コンピュータ読取り可能な媒体において実質的に表現されてもよく、したがって、コンピュータまたはプロセッサが明示的に示されているかどうかを問わず、かかるコンピュータまたはプロセッサによって実行されてもよい様々なプロセスを表すものであることが理解されるべきである。
【図１】
2016510154.tif 000003
【図２】
2016510154.tif 000004
【図３】
2016510154.tif 000005
【図４】
2016510154.tif 000006
【図５】
2016510154.tif 000007
【図６】
2016510154.tif 000008
【国際調査報告】
2016510154.tif 000009
2016510154.tif 000010