(57)【特許請求の範囲】
【請求項１】
仮想化コンピューティング環境での仮想計算機（ＶＭ）のセキュア・ライブ・マイグレーションの方法であって、
異なる仮想化コンピューティング環境へのライブ・マイグレーションのためにセキュア仮想化コンピューティング環境内のＶＭを選択し、前記選択されたＶＭおよび前記セキュア仮想化コンピューティング環境内の他のＶＭとのデータ通信をブロックすることと、
前記選択されたＶＭを前記異なる仮想化コンピューティング環境にライブ・マイグレーションし、前記ＶＭを前記異なる仮想化コンピューティング環境で再始動することと、
前記再始動されたＶＭと、前記セキュア仮想化コンピューティング環境内の前記ＶＭのうちの少なくとも１つの他のＶＭとの間でセキュア通信リンクを確立することと、
前記再始動されたＶＭと、前記ＶＭのうちの前記少なくとも１つの他のＶＭとの間で前記セキュア通信リンクを介するデータ通信を使用可能にすることと
を含む方法であって、
前記再始動されたＶＭと、前記ＶＭのうちの前記少なくとも１つの他のＶＭとの間で前記セキュア通信リンクを介するデータ通信を使用可能にすることは、
前記選択されたＶＭと他の通信エンティティとの間で永続する管理されない接続を判定することと、
前記管理されない接続のうちの保護されない接続を識別することと、
前記管理されない接続のうちの前記識別された保護されない接続を保護される接続としてリセットし、前記管理されない接続のうちの前記保護されない接続を保護される接続として再確立することと
をさらに含む方法。
【請求項２】
前記セキュア仮想化コンピューティング環境のルーティング・コアと、前記再始動されたＶＭとの間にトンネルを追加することと、
前記ルーティング・コアに対する更新が前記セキュア仮想化コンピューティング環境の前記ＶＭから前記再始動されたＶＭへのデータ・パケットのルーティングを可能にするという判定に応答して、前記トンネルを除去することと
をさらに含む、請求項１に記載の方法。
【請求項３】
前記再始動されたＶＭと、前記セキュア仮想化コンピューティング環境内の前記ＶＭのうちの少なくとも１つの他のＶＭとの間でセキュア通信リンクを確立することは、
前記再始動されたＶＭと、前記セキュア仮想化コンピューティング環境内の前記ＶＭのうちの前記少なくとも１つの他のＶＭとの間のセキュア通信についてインターネット・プロトコル（ＩＰ）セキュリティ（ＩＰＳｅｃ）ポリシを構成することと、
前記再始動されたＶＭと、前記セキュア仮想化コンピューティング環境内の前記ＶＭのうちの前記少なくとも１つの他のＶＭとの間で前記構成されたＩＰＳｅｃポリシに従ってＩＰＳｅｃ準拠通信リンクを確立することと
を含む、請求項１または２に記載の方法。
【請求項４】
セキュア仮想化コンピューティング環境であって、当該セキュア仮想化コンピューティング環境内の複数の仮想計算機（ＶＭ）を管理するハイパーバイザを含むセキュア仮想化コンピューティング環境と、
異なる仮想化コンピューティング環境であって、当該異なる仮想化コンピューティング
環境内の複数のＶＭを管理するハイパーバイザを含む異なる仮想化コンピューティング環境と、
前記セキュア仮想化コンピューティング環境および前記異なる仮想化コンピューティング環境のそれぞれに結合されたライブ・マイグレーション・ロジックであって、前記異なる仮想化コンピューティング環境へのライブ・マイグレーションのためにセキュア仮想化コンピューティング環境内の前記ＶＭのうちの１つを選択し、前記選択されたＶＭおよび前記セキュア仮想化コンピューティング環境内の他のＶＭとのデータ通信をブロックし、前記選択されたＶＭを前記異なる仮想化コンピューティング環境にライブ・マイグレーションし、前記ＶＭを前記異なる仮想化コンピューティング環境で再始動し、前記再始動されたＶＭと、前記セキュア仮想化コンピューティング環境内の前記ＶＭのうちの少なくとも１つの他のＶＭとの間でセキュア通信リンクを確立し、前記再始動されたＶＭと、前記ＶＭのうちの前記少なくとも１つの他のＶＭとの間で前記セキュア通信リンクを介するデータ通信を使用可能にするために使用可能にされるプログラム・コードを含む、ライブ・マイグレーション・ロジックと
を含む、仮想化コンピューティング・データ処理システムであって、
前記再始動されたＶＭと、前記ＶＭのうちの前記少なくとも１つの他のＶＭとの間で前記セキュア通信リンクを介するデータ通信を使用可能にするために、前記プログラム・コードは、
前記選択されたＶＭと他の通信エンティティとの間で永続する管理されない接続を判定し、
前記管理されない接続のうちの保護されない接続を識別し、
前記管理されない接続のうちの前記識別された保護されない接続を保護される接続としてリセットし、前記管理されない接続のうちの前記保護されない接続を保護される接続として再確立する
ように動作可能である仮想化コンピューティング・データ処理システム。
【請求項５】
前記セキュア通信リンクは、インターネット・プロトコル（ＩＰ）セキュリティ（ＩＰＳｅｃ）準拠セキュア通信リンクである、請求項４に記載のシステム。
【請求項６】
前記プログラム・コードは、
前記セキュア仮想化コンピューティング環境のルーティング・コアと、前記再始動されたＶＭとの間にトンネルを追加し、
前記ルーティング・コアに対する更新が前記セキュア仮想化コンピューティング環境の前記ＶＭから前記再始動されたＶＭへのデータ・パケットのルーティングを可能にするという判定に応答して、前記トンネルを除去する
ようにさらに動作可能である、請求項４または５に記載のシステム。
【請求項７】
前記再始動されたＶＭと、前記セキュア仮想化コンピューティング環境内の前記ＶＭのうちの少なくとも１つの他のＶＭとの間でセキュア通信リンクを確立するために、前記プログラム・コードは、
前記再始動されたＶＭと、前記セキュア仮想化コンピューティング環境内の前記ＶＭのうちの前記少なくとも１つの他のＶＭとの間のセキュア通信についてインターネット・プロトコル（ＩＰ）セキュリティ（ＩＰＳｅｃ）ポリシを構成し、
前記再始動されたＶＭと、前記セキュア仮想化コンピューティング環境内の前記ＶＭのうちの前記少なくとも１つの他のＶＭとの間で前記構成されたＩＰＳｅｃポリシに従ってＩＰＳｅｃ準拠通信リンクを確立する
ように動作可能である、請求項４ないし６のいずれかに記載のシステム。
【請求項８】
仮想化コンピューティング環境での仮想計算機（ＶＭ）のセキュア・ライブ・マイグレーションをコンピュータに実行させるプログラムを記録したコンピュータ使用可能媒体であって、
異なる仮想化コンピューティング環境へのライブ・マイグレーションのためにセキュア仮想化コンピューティング環境内のＶＭを選択し、前記選択されたＶＭおよび前記セキュア仮想化コンピューティング環境内の他のＶＭとのデータ通信をブロックするコンピュータ使用可能プログラム・コードと、
前記選択されたＶＭを前記異なる仮想化コンピューティング環境にライブ・マイグレーションし、前記ＶＭを前記異なる仮想化コンピューティング環境で再始動するコンピュータ使用可能プログラム・コードと、
前記再始動されたＶＭと、前記セキュア仮想化コンピューティング環境内の前記ＶＭのうちの少なくとも１つの他のＶＭとの間でセキュア通信リンクを確立するコンピュータ使用可能プログラム・コードと、
前記再始動されたＶＭと、前記ＶＭのうちの前記少なくとも１つの他のＶＭとの間で前記セキュア通信リンクを介するデータ通信を使用可能にするコンピュータ使用可能プログラム・コードと
を含むコンピュータ使用可能媒体であって、
前記再始動されたＶＭと、前記ＶＭのうちの前記少なくとも１つの他のＶＭとの間で前記セキュア通信リンクを介するデータ通信を使用可能にするコンピュータ使用可能プログラム・コードは、
前記選択されたＶＭと他の通信エンティティとの間で永続する管理されない接続を判定するコンピュータ使用可能プログラム・コードと、
前記管理されない接続のうちの保護されない接続を識別するコンピュータ使用可能プログラム・コードと、
前記管理されない接続のうちの前記識別された保護されない接続を保護される接続としてリセットし、前記管理されない接続のうちの前記保護されない接続を保護される接続として再確立するコンピュータ使用可能プログラム・コードと
をさらに含むコンピュータ使用可能媒体。
【請求項９】
前記セキュア仮想化コンピューティング環境のルーティング・コアと、前記再始動されたＶＭとの間にトンネルを追加するコンピュータ使用可能プログラム・コードと、
前記ルーティング・コアに対する更新が前記セキュア仮想化コンピューティング環境の前記ＶＭから前記再始動されたＶＭへのデータ・パケットのルーティングを可能にするという判定に応答して、前記トンネルを除去するコンピュータ使用可能プログラム・コードと
をさらに含む、請求項８に記載のコンピュータ使用可能媒体。
【請求項１０】
前記再始動されたＶＭと、前記セキュア仮想化コンピューティング環境内の前記ＶＭのうちの少なくとも１つの他のＶＭとの間でセキュア通信リンクを確立するコンピュータ使用可能プログラム・コードは、
前記再始動されたＶＭと、前記セキュア仮想化コンピューティング環境内の前記ＶＭのうちの前記少なくとも１つの他のＶＭとの間のセキュア通信についてインターネット・プロトコル（ＩＰ）セキュリティ（ＩＰＳｅｃ）ポリシを構成するコンピュータ使用可能プログラム・コードと、
前記再始動されたＶＭと、前記セキュア仮想化コンピューティング環境内の前記ＶＭのうちの前記少なくとも１つの他のＶＭとの間で前記構成されたＩＰＳｅｃポリシに従ってＩＰＳｅｃ準拠通信リンクを確立するコンピュータ使用可能プログラム・コードと
を含む、請求項８または９に記載のコンピュータ使用可能媒体。
【請求項１１】
コンピュータ・プログラムであって、当該プログラムがコンピュータ上で実行されるときに請求項１ないし３のいずれかに記載の方法を実行するように適合されたプログラム・コード手段を含むコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想化の分野に関し、より具体的には、仮想化環境内の仮想計算機のマイグレーションに関する。
【背景技術】
【０００２】
何十年もの間、コンピューティングと言えば、アプリケーションと、サポートするプラットフォームとの両方を意味した。２０世紀の末まで、ホスト・コンピューティング環境は、プロセッサ・コア、入出力、メモリ、および固定ストレージというハードウェア・インフラストラクチャを含み、その組合せがオペレーティング・システムをサポートし、このオペレーティング・システムが、一時に単一のアプリケーションの実行をサポートした。徐々に、プロセッサ能力が指数関数的に高まるにつれて、進歩した形のオペレーティング・システムが、シミュレートされたマルチタスキングと実際のマルチタスキングとの両方を使用可能にし、複数のアプリケーションを同一のホスト・コンピューティング環境内で実行できるようになった。
【０００３】
当初に、アプリケーションは、コア・オブジェクト・ファイルおよび関連するリソース・ファイル以外にはほとんど頼らない論理の自己完結した束であった。しかし、コンピューティングが近代産業に一体化されるにつれて、アプリケーションは、他のアプリケーションの存在に共依存するようになり、アプリケーションの必須環境は、基礎になるオペレーティング・システムおよびサポートするハードウェア・プラットフォームだけではなく、アプリケーション・サーバ、データベース管理サーバ、コラボレーション・サーバ、および一般にミドルウェアと呼ばれる通信ロジックを含む他のキー・アプリケーションをも含むようになった。しかし、アプリケーションおよびプラットフォームのインターオペラビリティの複雑さを考慮すると、単一のハードウェア・プラットフォーム内で実行されるアプリケーションの異なる組合せは、異なる度合の性能および安定性を示す可能性がある。
【０００４】
テクノロジとしての仮想化は、ハードウェア・プラットフォームと、オペレーティング・システムおよび実行中のアプリケーションとの間に１つの層を挿入することを目指す。ビジネス継続性および障害回復の展望からは、仮想化は、環境ポータビリティという固有の利益をもたらす。具体的に言うと、複数の異なるアプリケーションを伴って構成された環境全体を移動することは、あるサポートするハードウェア・プラットフォームから別のサポートするハードウェア・プラットフォームへの仮想イメージの移動の問題である。さらに、より強力なコンピューティング環境は、イメージの間の仮想分離を維持している間にずっと、複数の異なる仮想イメージの共存をサポートすることができる。その結果、ある仮想イメージ内の障害状態が、同一のハードウェア・プラットフォーム内の他の同時に実行される仮想イメージの保全性を危うくすることはできない。
【０００５】
仮想マシン・モニタは、当技術分野で「ハイパーバイザ」として知られるが、各仮想イメージと、ハードウェア・プラットフォームによって提供される基礎になるリソースとの間の相互作用を管理する。これに関して、ベア・メタル・ハイパーバイザ（ｂａｒｅ  ｍｅｔａｌ  ｈｙｐｅｒｖｉｓｏｒ）は、オペレーティング・システムが直接にハードウェア上で動作するのと同様に直接にハードウェア・プラットフォーム上で動作する。比較して、ホステッド・ハイパーバイザ（ｈｏｓｔｅｄ  ｈｙｐｅｒｖｉｓｏｒ）は、ホスト・オペレーティング・システム内で動作する。どちらの場合でも、ハイパーバイザは、異なる「ゲスト・オペレーティング・システム・イメージ」（仮想計算機（ＶＭ）イメージとして知られる）の動作をサポートでき、ＶＭイメージの個数は、ＶＭイメージを保持するＶＭコンテナの処理リソースまたはハードウェア・プラットフォーム自体のみによって制限される。
【０００６】
仮想化は、単一のハードウェア・プラットフォームに制限されながら異なるタイプのアプリケーション用の別々のコンピューティング環境を必要とするエンド・ユーザに特に有用であることがわかっている。たとえば、あるタイプのハードウェア・プラットフォームにネイティブのプライマリ・オペレーティング・システムが異なるハードウェア・プラットフォームにネイティブの仮想化されたゲスト・オペレーティング・システムを提供し、その結果、ゲスト・オペレーティング・システムの存在を必要とするアプリケーションが、プライマリ・オペレーティング・システムの存在を必要とする他のアプリケーションと共存できるようにすることが、周知である。この形で、エンド・ユーザは、それぞれ異なるタイプのアプリケーションをサポートするために別々のコンピューティング環境を提供する必要がなくなる。それでも、ゲスト・オペレーティング・システムが何であっても、単一のハードウェア・プラットフォームの基礎になるリソースへのアクセスは、静的なままになる。
【０００７】
仮想化環境は、アプリケーション・ソリューションを構成する際に異なるＶＭ内の異なる独立のアプリケーションを集約するために展開されてきた。たとえば、アプリケーション・サーバを、あるＶＭ内で実行することができると同時に、データベース管理システムを、異なるＶＭ内で実行することができると同時に、ウェブ・サーバを、さらに別のＶＭ内で実行することができる。しかし、各ＶＭを、セキュア・ネットワーク内で互いに通信的に結合することができ、アプリケーションの展開の任意の所与の１つを、他のＶＭ内の他のアプリケーションの実行に干渉せずに、異なる展開にライブ・マイグレーションすることができる。通常のライブ・マイグレーションでは、サーバ保守を可能にするためまたはＶＭのハードウェア・サポートの改善を可能にするために、ＶＭをあるホスト・サーバから別のホスト・サーバに移動することができる。
【０００８】
ライブ・マイグレーションは、アプリケーション・ソリューションの異なるアプリケーションの実行を管理するＶＭに関してセキュア・コンピューティング環境内で頻繁に発生する。それでも、ライブ・マイグレーションは、セキュア環境の外部でも発生する。具体的に言うと、ときどきＶＭが、アプリケーション・ソリューションの残りのアプリケーションを管理する残りのＶＭのセキュア・コンピューティング環境の外部のネットワーク環境に移動される。その結果、外部ネットワーク内のＶＭによって管理されるアプリケーションと、セキュア・コンピューティング環境内のＶＭによって管理されるアプリケーションとの間の通信が、セキュア・コンピューティング環境の外部からのデータの交換を介して危険にさらされる可能性がある。したがって、セキュア・コンピューティング環境の外部のホスト・サーバへのライブ・マイグレーションが、アプリケーション・ソリューションにセキュリティ脆弱性を導入する可能性がある。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
【課題を解決するための手段】
【００１０】
本発明の実施形態は、仮想化環境内のライブ・マイグレーションに関する従来技術の不足に対処し、セキュア・コンピューティング環境の外部のＶＭのセキュア・ライブ・マイグレーションのための新規で非自明な方法、システム、およびコンピュータ・プログラム製品を提供する。本発明の一実施形態では、仮想化コンピューティング環境でのＶＭのセキュア・ライブ・マイグレーションの方法は、異なる仮想化コンピューティング環境へのライブ・マイグレーションのためにセキュア仮想化コンピューティング環境内のＶＭを選択し、選択されたＶＭおよびセキュア仮想化コンピューティング環境内の他のＶＭとのデータ通信をブロックすることを含むことができる。選択されたＶＭを異なる仮想化コンピューティング環境にライブ・マイグレーションすることができ、そのＶＭを異なる仮想化コンピューティング環境で再始動することができる。特筆すべきことに、再始動されたＶＭと、セキュア仮想化コンピューティング環境内のＶＭのうちの少なくとも１つの他のＶＭとの間でセキュア通信リンクを確立することができる。最後に、再始動されたＶＭと、ＶＭのうちの少なくとも１つの他のＶＭとの間でセキュア通信リンクを介するデータ通信を使用可能にすることができる。
【００１１】
本発明のもう１つの実施形態では、仮想化コンピューティング・データ処理システムを提供することができる。このシステムは、セキュア仮想化コンピューティング環境であって、当該セキュア仮想化コンピューティング環境内のＶＭを管理するハイパーバイザを含むセキュア仮想化コンピューティング環境を含むことができる。このシステムは、異なる仮想化コンピューティング環境であって、当該異なる仮想化コンピューティング環境内のＶＭを管理するハイパーバイザを含む異なる仮想化コンピューティング環境をも含むことができる。特筆すべきことに、ライブ・マイグレーション・ロジックを、セキュア仮想化コンピューティング環境および異なる仮想化コンピューティング環境のそれぞれに結合することができる。
【００１２】
このロジックは、異なる仮想化コンピューティング環境へのライブ・マイグレーションのためにセキュア仮想化コンピューティング環境内のＶＭのうちの１つを選択し、選択されたＶＭと、セキュア仮想化コンピューティング環境内の他のＶＭとの間のデータ通信をブロックするために使用可能にされるプログラム・コードを含むことができる。そのプログラム・コードを、選択されたＶＭを異なる仮想化コンピューティング環境にライブ・マイグレーションし、ＶＭを異なる仮想化コンピューティング環境で再始動するために使用可能にすることもできる。さらに、プログラム・コードを、再始動されたＶＭと、セキュア仮想化コンピューティング環境内のＶＭのうちの少なくとも１つの他のＶＭとの間でセキュア通信リンクを確立するために使用可能にすることができる。最後に、プログラム・コードを、再始動されたＶＭと、ＶＭのうちの少なくとも１つの他のＶＭとの間でセキュア通信リンクを介するデータ通信を使用可能にするために使用可能にすることができる。
【００１３】
本発明の追加の態様は、部分的には次の説明で示され、部分的にはその説明から明白になり、あるいは本発明の実践から学習することができる。本発明の諸態様は、添付の特許請求の範囲で具体的に指摘される要素および組合せによって実現され、達成される。前述の全般的な説明と次の詳細な説明との両方が、例示的であり説明のためのものであるのみであって、請求される発明について制限的ではないことを理解されたい。
【００１４】
一態様によれば、仮想化コンピューティング環境での仮想計算機（ＶＭ）のセキュア・ライブ・マイグレーションのコンピュータ使用可能プログラム・コードを具体化するコンピュータ使用可能媒体を含むコンピュータ・プログラム製品であって、異なる仮想化コンピューティング環境へのライブ・マイグレーションのためにセキュア仮想化コンピューティング環境内のＶＭを選択し、選択されたＶＭと、セキュア仮想化コンピューティング環境内の他のＶＭとの間のデータ通信をブロックするコンピュータ使用可能プログラム・コードと、選択されたＶＭを異なる仮想化コンピューティング環境にライブ・マイグレーションし、そのＶＭを異なる仮想化コンピューティング環境で再始動するコンピュータ使用可能プログラム・コードと、再始動されたＶＭと、セキュア仮想化コンピューティング環境内のＶＭのうちの少なくとも１つの他のＶＭとの間でセキュア通信リンクを確立するコンピュータ使用可能プログラム・コードと、再始動されたＶＭと、ＶＭのうちの少なくとも１つの他のＶＭとの間でセキュア通信リンクを介するデータ通信を使用可能にするコンピュータ使用可能プログラム・コードとを含むコンピュータ・プログラム製品が提供される。
【００１５】
本発明の好ましい実施形態を、これから添付図面を参照して例としてのみ説明する。
【図面の簡単な説明】
【００１６】
【図１】好ましい実施形態による仮想化されたコンピューティング環境でのセキュア・ライブ・マイグレーションのプロセスを示す絵図である。
【図２】好ましい実施形態によるセキュア・ライブ・マイグレーションのために構成された仮想コンピューティング・データ処理システムを示す概略図である。
【図３】好ましい実施形態による仮想化されたコンピューティング環境でのセキュア・ライブ・マイグレーションのプロセスを示す流れ図である。
【発明を実施するための形態】
【００１７】
本発明の実施形態は、仮想化されたコンピューティング環境でのセキュア・ライブ・マイグレーションの方法、システム、およびコンピュータ・プログラム製品を提供する。本発明の実施形態によれば、それぞれがコンピューティング・アプリケーションのアプリケーション・コンポーネントをホスティングするＶＭのグループ化を、セキュア仮想化環境内で配置することができる。ＶＭの中で選択されたＶＭを、非セキュア・コンピュータ通信ネットワーク、たとえばグローバル・インターネットを介してセキュア仮想化環境に通信的に結合された異なる仮想化環境内のホストにライブ・マイグレーションすることができる。しかし、ライブ・マイグレーションの過程で、選択されたＶＭと他のＶＭとの間の通信を、ライブ・マイグレーションの前に打ち切ることができる。その後、選択されたＶＭを、異なる仮想化環境内で再始動することができ、セキュア・トンネルを、選択されたＶＭと他のＶＭとの間で確立することができる。最後に、選択されたＶＭおよび他のＶＭは、その間のセキュア・データ通信を保証するために、コンピュータ通信ネットワーク上でトンネルを介して相互動作することができる。
【００１８】
図では、図１は、仮想化されたコンピューティング環境でのセキュア・ライブ・マイグレーションのプロセスを絵図的に示す。図１に示されているように、セキュア仮想化環境１１０Ａを提供して、複合アプリケーションを形成するためにホスティングされるアプリケーション・コンポーネントを介してお互いと相互動作する複数の異なるＶＭ  １３０、１４０を含めることができる。ＶＭ  １３０、１４０のそれぞれは、内部通信リンク１５０を介してお互いと通信することができる。ＶＭ  １３０、１４０の中の選択されたＶＭ  １４０を、コンピュータ通信ネットワーク１２０を介してセキュア仮想化環境１１０Ａに通信的に結合された異なる仮想化環境１１０Ｂにライブ・マイグレーションすることができる。
【００１９】
しかし、選択されたＶＭ  １４０のライブ・マイグレーションを実行する前に、他のＶＭ  １３０との内部通信リンク１５０をサポートするネットワーク・インターフェース１６０を使用不能にすることができ、あるいは、選択されたＶＭ  １４０と他のＶＭ  １３０との間のトラフィックを、ネットワーク・インターフェース１６０の管理を介して使用不能にするか他の形で抑止することができる。選択されたＶＭ  １４０が、異なる仮想化環境１１０Ｂにライブ・マイグレーションされた後に、セキュア通信リンク１７０を、選択されたＶＭ  １４０と他のＶＭ  １３０との間でコンピュータ通信ネットワーク１２０上で確立することができる。これに関して、セキュア通信リンク１７０がインターネット・プロトコル（ＩＰ）セキュリティ（ＩＰＳｅｃ）に従う範囲で、ＩＰＳｅｃポリシ１８０を、セキュア通信リンク１７０について確立し、選択されたＶＭ  １４０に関連してインストールすることができる。その後、選択されたＶＭ  １４０と他のＶＭ  １３０との間のインターオペラビリティを使用可能にすることができる。
【００２０】
図１に関連して説明したプロセスを、仮想コンピューティング・データ処理システム内で実施することができる。図では、図２は、セキュア・ライブ・マイグレーションのために構成された仮想コンピューティング・データ処理システムを概略的に示す。このシステムは、コンピュータ通信ネットワーク２２０、たとえばグローバル・インターネットを介して異なる仮想化コンピューティング環境２１０Ｂに通信的に結合されたセキュア仮想化コンピューティング環境２１０Ａを含むことができる。セキュア仮想化コンピューティング環境２１０Ａは、ハイパーバイザ２４０Ａの動作をサポートする少なくとも１つのホスト・サーバ２３０Ａを含むことができる。ハイパーバイザ２４０Ａは、複数の異なるＶＭ  ２６０Ａの動作を管理することができ、各ＶＭ  ２６０Ａは、コンピューティング・アプリケーションを提供するために組み合わされる１つまたは複数のアプリケーション・コンポーネント（図示せず）の実行をホスティングすることができる。
【００２１】
異なる仮想化コンピューティング環境２１０Ｂは、ハイパーバイザ２４０Ｂの動作をサポートする少なくとも１つのホスト・サーバ２３０Ｂを含むこともできる。ハイパーバイザ２４０Ｂは、複数の異なるＶＭ  ２６０Ｂの動作を管理することができ、各ＶＭ  ２６０Ｂは、コンピューティング・アプリケーションを提供するために組み合わされる１つまたは複数のアプリケーション・コンポーネント（図示せず）の実行をホスティングすることができる。注目すべきことに、ライブ・マイグレーション・ロジック３００を、セキュア仮想化コンピューティング環境２１０Ａと異なる仮想化コンピューティング環境２１０Ｂとの両方に結合することができる。ライブ・マイグレーション・ロジック３００は、ＶＭ  ２６０Ａの選択された１つをセキュア仮想化コンピューティング環境２１０Ａから異なる仮想化コンピューティング環境２１０Ｂへ、その間のデータ通信のセキュリティを維持しながらライブ・マイグレーションするために使用可能にされるプログラム・コードを含むことができる。
【００２２】
具体的に言うと、ＶＭ  ２６０Ａの選択された１つを異なる仮想化コンピューティング環境２１０Ｂに異なる仮想化コンピューティング環境２１０Ｂ内のＶＭ  ２６０Ｂとしてライブ・マイグレーションするときに、セキュア仮想化コンピューティング環境２１０Ａ内のＶＭ  ２６０Ａの間のデータ通信を使用不能にし、フィルタリングし、または他の形でブロックするためにホスト・サーバ２３０Ａのネットワーク・アダプタ２５０Ａを構成するために、ライブ・マイグレーション・ロジック３００のプログラム・コードを使用可能にすることができる。さらに、異なる仮想化コンピューティング環境２１０Ｂ内のＶＭ  ２６０Ｂのライブ・マイグレーションされた１つを再始動し、ＶＭ  ２６０Ｂのライブ・マイグレーションされた１つと、セキュア仮想化コンピューティング環境２１０Ａ内のＶＭ  ２６０Ａとの間のデータ通信を再確立するために、ライブ・マイグレーション・ロジック３００のプログラム・コードを使用可能にすることができる。
【００２３】
具体的に言うと、ＩＰＳｅｃポリシ２７０Ｂを、ホスト・サーバ２３０Ｂとホスト・サーバ２３０Ａとの間でトンネルを確立する際にホスト・サーバ２３０Ｂのネットワーク・アダプタ２５０Ｂに関連付けることができる。同様に、ＩＰＳｅｃポリシ２７０Ａを、ホスト・サーバ２３０Ａとホスト・サーバ２３０Ｂとの間でトンネルを確立する際にホスト・サーバ２３０Ａのネットワーク・アダプタ２５０Ａに関連付けることができる。もちろん、トンネルが、それぞれハイパーバイザ２４０Ａ、２４０Ｂによって管理されるＶＭ  ２６０Ａ、２６０Ｂの間を流れるトラフィックだけではなく、２つの例を挙げるとエッジ・ルータおよびセキュリティ機器などの中間デバイスの間を流れるトラフィックにも対処できることを認められたい。トンネルが確立された後に、ライブ・マイグレーション・ロジック３００のプログラム・コードを、異なる仮想化コンピューティング環境２１０Ｂ内のＶＭ  ２６０Ｂのライブ・マイグレーションされた１つと、セキュア仮想化コンピューティング環境２１０Ａ内のＶＭ  ２６０Ａとの間のデータ通信を再開するために使用可能にすることができる。
【００２４】
ライブ・マイグレーション・ロジック３００の動作のさらなる例示において、図３は、仮想化されたコンピューティング環境でのセキュア・ライブ・マイグレーションのプロセスを示す流れ図である。ブロック３１０で開始して、セキュア仮想化コンピューティング環境内のＶＭを、ライブ・マイグレーションのために選択することができ、ブロック３１５では、セキュア仮想化コンピューティング環境とは別の異なる仮想化コンピューティング環境を、ＶＭのライブ・マイグレーションのターゲットにすることができる。ブロック３２０では、選択されたＶＭとのデータ通信を使用不能にすることができ、ブロック３２５では、ＶＭをセキュア仮想化コンピューティング環境内でシャット・ダウンすることができる。
【００２５】
ブロック３３０では、選択されたＶＭを、異なる仮想化コンピューティング環境にライブ・マイグレーションすることができる。判断ブロック３３５では、選択されたＶＭのサブネット全体が異なる仮想化コンピューティング環境に移動されたかどうかを判定することができる。そうである場合には、ブロック３４０で、セキュア仮想化コンピューティング環境と、異なる仮想化コンピューティング環境との間でトンネルを確立して、選択されたＶＭ宛のセキュア仮想化コンピューティング環境内のトラフィックを異なる仮想化コンピューティング環境にリダイレクトすることができる。ブロック３４５では、選択されたＶＭを、異なる仮想化コンピューティング環境内で再始動することができ、ＩＰＳｅｃポリシを、選択されたＶＭに関連して構成し、インストールすることができ、判断ブロック３５５では、管理されない接続が、選択されたＶＭと他の通信エンティティとの間で永続するか否かを判定することができる。そうである場合には、ブロック３６０で、既にセキュアな管理されない接続、たとえば、ＩＰＳｅｃ、アプリケーション透過的（ＡＴ）トランスポート・レイヤ・セキュリティ（ＴＬＳ）、および無条件ＴＬＳポートを介して保護される接続のリストを取り出すことができる。管理されない接続の残りの保護されない接続を、ブロック３６５でリセットすることができ、保護される接続として再確立することができる。
【００２６】
その後、ブロック３７０では、異なる仮想化コンピューティング環境内のＶＭと、セキュア仮想化コンピューティング環境内の他のＶＭとの間でデータ通信を使用可能にすることができる。判断ブロック３７５では、やはり、選択されたＶＭのサブネット全体が異なる仮想化コンピューティング環境に移動されたかどうかを判定することができる。そうである場合には、ブロック３８０で、セキュア仮想化コンピューティング環境のルーティング・コアを検査して、トンネルに関わりなく異なる仮想化コンピューティング環境へのデータ・パケットのルーティングを可能にするために正しいルーティング構成がルーティング・コアに伝搬されたかどうかを判定することができる。判断ブロック３８５では、ルーティング・コアが、トンネルに関わりなく異なる仮想化コンピューティング環境へのデータ・パケットのルーティングを可能にするために更新されたかどうかを判定することができる。そうではない場合には、ブロック３８０で、ルーティング・コアをもう一度検査することができる。しかし、ルーティング・コアが更新された後には、ブロック３９０で、トンネルを除去することができ、このプロセスは、ブロック３９５で終了することができる。
【００２７】
本発明の実施形態は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態、またはハードウェア要素とソフトウェア要素との両方を含む実施形態の形をとることができる。好ましい実施形態では、本発明は、ソフトウェアで実施され、このソフトウェアは、ファームウェア、常駐ソフトウェア、マイクロコード、および類似物を含むがこれらに限定はされない。さらに、本発明は、コンピュータまたは任意の命令実行システムによるまたはこれに関連する使用のためのプログラム・コードを提供するコンピュータ使用可能媒体またはコンピュータ可読媒体からアクセス可能なコンピュータ・プログラム製品の形をとることができる。
【００２８】
この説明において、コンピュータ使用可能媒体またはコンピュータ可読媒体は、命令実行システム、命令実行装置、または命令実行デバイスによるまたはこれに関連する使用のためのプログラムを含み、格納し、通信し、伝搬し、または搬送することができるすべての装置とすることができる。媒体は、電子、磁気、光、電磁、赤外線、または半導体のシステム（または装置もしくはデバイス）あるいは伝搬媒体とすることができる。コンピュータ可読媒体の例は、半導体メモリもしくはソリッド・ステート・メモリ、磁気テープ、取り外し可能コンピュータ・ディスケット、ランダム・アクセス・メモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、リジッド磁気ディスク、および光ディスクを含む。光ディスクの現在の例は、コンパクト・ディスク−読取り専用メモリ（ＣＤ−ＲＯＭ）、書き換え可能コンパクト・ディスク（ＣＤ−Ｒ／Ｗ）、およびＤＤＶＤを含む。
【００２９】
プログラム・コードの格納または実行あるいはその両方に適するデータ処理システムは、直接にまたはシステム・バスを介して間接にメモリ要素に結合された少なくとも１つのプロセッサを含む。メモリ要素は、プログラム・コードの実際の実行中に使用されるローカル・メモリ、バルク・ストレージ、および実行中にコードをバルク・ストレージから取り出さなければならない回数を減らすために少なくとも一部のプログラム・コードの一時的ストレージを提供するキャッシュ・メモリを含むことができる。入出力デバイス（キーボード、ディスプレイ、ポインティング・デバイスなどを含むがこれらに限定はされない）を、直接にまたは介在する入出力コントローラを介してのいずれかでシステムに結合することができる。ネットワーク・アダプタをシステムに結合して、データ処理システムを、介在する私有網または公衆網を介して他のデータ処理システムまたはリモート・プリンタもしくはリモート・ストレージ・デバイスに結合することを可能にすることもできる。モデム、ケーブル・モデム、およびイーサネット（Ｒ）・カードが、現在使用可能なタイプのネットワーク・アダプタのうちの少数である。
【図１】
0005552122.tif 000002
【図２】
0005552122.tif 000003
【図３】
0005552122.tif 000004