(57)【特許請求の範囲】
【請求項１】
仮想マシン・マイグレーションを決定するための方法であって、
ホスト・マシン内のクライアントにより、前記ホスト・マシン上の仮想マシンの一意な識別子および前記ホスト・マシンのアドレスを取得するステップと、
前記仮想マシンの一意な識別子が前記クライアントのローカル・レコードに存在しない場合には、前記クライアントにより、前記ホスト・マシンが配置されたネットワーク内のサーバにパケットを送信するステップであって、前記クライアントのローカル・レコードが前記ホスト・マシンのキャッシュ内に格納され、前記パケットは前記仮想マシンの一意な識別子と前記ホスト・マシンのアドレスを運搬し、前記パケットはサーバに、前記仮想マシンの一意な識別子が前記サーバのレコード内に存在し、かつ前記パケットで運搬される前記ホスト・マシンのアドレスが前記サーバの前記レコード内の前記仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと異なる場合に、前記仮想マシンがマイグレートされていると判定させる、ステップと、
前記クライアントにより、前記仮想マシンの一意な識別子を前記ローカル・レコードに追加して前記ローカル・レコードを更新するステップ
を含み、
ホスト・マシン内のクライアントにより、前記ホスト・マシン上の仮想マシンの一意な識別子を取得するステップは、
前記ホスト・マシン内のクライアントにより、前記仮想マシンの一意な識別子を運搬するアドレス解決プロトコルＡＲＰパケットを前記ホスト・マシン上の前記仮想マシンからインターセプトし、前記仮想マシンの一意な識別子を前記インターセプトしたパケットから取得するステップか、
または、
前記ホスト・マシン内のクライアントにより、前記ホスト・マシン上の仮想スイッチにより転送され前記仮想マシンの一意な識別子を運搬するアドレス解決プロトコルＡＲＰパケットを前記ホスト・マシン上の前記仮想マシンから受信し、前記受信したパケットから前記仮想マシンの一意な識別子を取得するステップを
含む、方法。
【請求項２】
前記クライアントにより、前記仮想マシンの一意な識別子を前記ローカル・レコードに追加する前に、
前記クライアントにより、受信成功を示し前記サーバにより送信される応答パケットを受信するステップと、
受信成功を示し前記サーバにより送信される前記応答パケットを受信したとき、前記クライアントにより、前記仮想マシンの一意な識別子を前記ローカル・レコードに追加する
ステップと、
をさらに含む、請求項１に記載の方法。
【請求項３】
前記一意な識別子は、前記仮想マシンのＭＡＣアドレス、または前記仮想マシンの静的に構成されたＩＰアドレスである、請求項１または２に記載の方法。
【請求項４】
前記クライアントは、前記ホスト・マシン内のセキュア仮想マシン、前記ホスト・マシン内の仮想スイッチ、または物理ネットワーク・アダプタに接続された前記ホスト・マシン内のコンポーネントに配置される、請求項１乃至３の何れか１項に記載の方法。
【請求項５】
仮想マシン・マイグレーションを決定するための装置であって、
前記装置が配置されているホスト・マシン上の仮想マシンの一意な識別子と前記ホスト・マシンのアドレスを取得するように構成された処理ユニットと、
前記処理ユニットが前記仮想マシンの一意な識別子が前記装置のローカル・レコードに存在しないと前記処理ユニットが判定した場合に、前記ホスト・マシンが配置されたネットワーク内のサーバにパケットを送信するように構成された送信ユニットであって、クライアントのローカル・レコードが前記ホスト・マシンのキャッシュ内に格納され、前記パケットが前記仮想マシンの一意な識別子と前記ホスト・マシンのアドレスを運搬し、前記パケットはサーバに、前記仮想マシンの一意な識別子が前記サーバのレコード内に存在し、かつ前記パケットで運搬される前記ホスト・マシンのアドレスが前記サーバの前記レコード内の前記仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと異なる場合に、前記仮想マシンがマイグレートされていると判定させる、送信ユニットと、
前記仮想マシンの一意な識別子が前記ローカル・レコードに存在しないと前記処理ユニットが判定した場合には、前記仮想マシンの一意な識別子を前記ローカル・レコードに追加して前記ローカル・レコードを更新するように構成された格納ユニットと、
を備え、
前記処理ユニットは、前記仮想マシンの一意な識別子を運搬するアドレス解決プロトコルＡＲＰパケットを前記ホスト・マシン上の前記仮想マシンからインターセプトし、前記仮想マシンの一意な識別子を前記インターセプトしたパケットから取得するように構成されるか、
または、
前記処理ユニットは、前記ホスト・マシン上の仮想スイッチにより転送され前記仮想マシンの一意な識別子を運搬するアドレス解決プロトコルＡＲＰパケットを前記ホスト・マシン上の前記仮想マシンから受信し、前記ホスト・マシン上の前記仮想マシンの一意な識別子を受信した前記パケットから取得ように構成される、装置。
【請求項６】
前記装置は、前記格納ユニットが前記仮想マシンの一意な識別子を前記ローカル・レコードに追加する前に、受信成功を示し前記サーバにより送信される応答パケットを受信するように構成された受信ユニットをさらに備え、
前記格納ユニットは特に、受信成功を示し前記サーバにより送信される前記応答パケットを前記受信ユニットが受信したときに、前記仮想マシンの一意な識別子に関する情報を前記ローカル・レコードに追加するように構成される、
請求項５に記載の装置。
【請求項７】
前記装置は、前記ホスト・マシン内のセキュア仮想マシン、前記ホスト・マシン内の仮想スイッチ、または物理ネットワーク・アダプタに接続された前記ホスト・マシン内のコンポーネントに配置される、請求項５に記載の装置。
【請求項８】
プロセッサ、通信インタフェース、メモリ、およびバスを備えたクライアント装置であって、
前記プロセッサ、前記通信インタフェース、および前記メモリは前記バスを用いることにより相互通信を実現し、
前記通信インタフェースは、外部ネットワーク要素と通信するように構成され、
前記メモリはプログラムを格納するように構成され、
前記プロセッサは、前記メモリ内の前記プログラムを読み取るとともに、
前記クライアント装置が配置されたホスト・マシンの仮想マシンの一意な識別子と前記ホスト・マシンのアドレスを取得するステップと、
前記仮想マシンの一意な識別子が前記クライアント装置のローカル・レコードに存在しない場合に、前記ホスト・マシンが配置されたネットワーク内のサーバにパケットを送信するステップであって、前記クライアントのローカル・レコードが前記ホスト・マシンのキャッシュ内に格納され、前記パケットは前記仮想マシンの一意な識別子と前記ホスト・マシンのアドレスを運搬し、前記パケットはサーバに、前記仮想マシンの一意な識別子が前記サーバのレコード内に存在し、かつ前記パケットで運搬される前記ホスト・マシンのアドレスが前記サーバの前記レコード内の前記仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと異なる場合に、前記仮想マシンがマイグレートされていると判定させる、ステップと、
前記仮想マシンの一意な識別子を前記ローカル・レコードに追加して前記ローカル・レコードを更新するステップを含む動作を実施するように構成され、
前記プロセッサがさらに、
前記仮想マシンの一意な識別子を運搬するアドレス解決プロトコルＡＲＰパケットを前記ホスト・マシン上の前記仮想マシンからインターセプトし、前記仮想マシンの一意な識別子を前記インターセプトしたパケットから取得するように構成されるか、
または、
前記ホスト・マシン上の仮想スイッチにより転送され前記仮想マシンの一意な識別子を運搬するアドレス解決プロトコルＡＲＰパケットを前記ホスト・マシン上の前記仮想マシンから受信し、前記受信したパケットから前記仮想マシンの一意な識別子を取得するように構成される、
装置。
【請求項９】
前記プロセッサはさらに、
受信成功を示し前記サーバにより送信される応答パケットを受信する動作と、
受信成功を示し前記サーバにより送信される前記応答パケットを受信したとき、前記仮想マシンの一意な識別子を前記ローカル・レコードに追加する動作と、
を実施するように構成される、請求項８に記載の装置。
【請求項１０】
前記装置は、前記ホスト・マシン内のセキュア仮想マシン、前記ホスト・マシン内の仮想スイッチ、または物理ネットワーク・アダプタに接続された前記ホスト・マシン内のコンポーネントに配置される、請求項８または９に記載の装置。
【請求項１１】
請求項８乃至１０の何れか１項に記載の少なくとも１つクライアント装置と、少なくとも１つのサーバ装置を備えた、仮想マシン・マイグレーションを決定するためのシステムであって、
前記サーバ装置が、
ホスト・マシン内のクライアントにより送信された、仮想マシンの一意な識別子と前記ホスト・マシンのアドレスを運搬するパケットを受信し、前記仮想マシンの一意な識別子が前記サーバ装置のローカル・レコードに存在しない場合には、前記仮想マシンの一意な識別子と前記ホスト・マシンのアドレスの対応関係を前記サーバ装置の前記ローカル・レコード装置に追加し、
前記仮想マシンの一意な識別子が前記サーバ装置の前記ローカル・レコードに存在する場合には、前記パケットで運搬される前記ホスト・マシンのアドレスが前記サーバ装置の前記ローカル・レコード内の前記仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと同じであるかどうかを判定し、
前記パケットで運搬される前記ホスト・マシンのアドレスが前記サーバ装置の前記ローカル・レコード内の前記仮想マシンの一意な識別子に対応する前記ホスト・マシンのアドレスと同じである場合には、前記仮想マシンがマイグレートされていないと判定し、
前記パケットで運搬される前記ホスト・マシンのアドレスが前記サーバ装置の前記ローカル・レコード内の前記仮想マシンの一意な識別子に対応する前記ホスト・マシンのアドレスと異なる場合には、前記仮想マシンがマイグレートされていると判定するように構成される、システム。
【請求項１２】
プログラムを格納するコンピュータ可読記憶媒体であって、前記プログラムは、請求項１乃至４の何れか１項に記載の方法を実施するための機械により実行可能な命令を含む、コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信の分野に関し、特に、仮想マシン・マイグレーションを決定するための方法および装置に関する。
【背景技術】
【０００２】
今日、仮想マシン技術は一般的に様々なクラウド・コンピューティング環境に適用されており、クラウド・コンピューティングの主なアイデアは、ネットワークを用いて接続された大量のリソース（ここでリソースとは記憶リソース、計算リソースおよび様々な種類のアプリケーション・ソフトウェアを含む）を統一的に管理しスケジュールして、ユーザにオンデマンドでサービスを提供するためのリソース・プールを形成することである。この仮想マシン技術では、１つまたは複数の仮想マシンを１つの物理ホストで仮想化して、幾つかまたは多数の仮想マシンが１つの物理ホストのハードウェア・リソースを共有することによりリソースの利用を高めることができる。しかし、仮想マシン技術の適用はまた、ネットワーク・セキュリティ管理に対し新たな課題をもたらす。既存の物理セキュリティ装置は物理ホストが形成するドメインのセキュリティ、例えば、企業の内部ローカル・エリア・ネットワークのセキュリティを保護するが、幾つかの仮想マシン、特に、同一のホスト・マシン（本明細書では、仮想マシンにハードウェア・リソースを提供する物理ホストをホスト・マシンと称する）上の仮想マシンにより形成された仮想ネットワークにおいて仮想マシン間のトラフィックを監視することはできない。さらに、仮想マシン・マイグレーションでは、静的なセキュリティ・ポリシを適用することはもはやできない。ここで、仮想マシン・マイグレーションとは、もともと１つの物理ホストのハードウェア・リソースと処理リソースに基づいて実装された仮想マシンが別の物理ホストのハードウェア・リソースと処理リソースにより実装される現象をいう。
【０００３】
先行技術では、仮想ネットワーク内の仮想マシンのトラフィックを物理的なセキュリティ装置により監視するかホスト・マシンのセキュア仮想マシンにより監視するかに関わらず、仮想マシン・マイグレーションが生じたときにセキュリティ・ポリシを動的に調整する必要がある。したがって、仮想マシン・マイグレーションが生じたことをどのように判定するかが主要な課題となる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
仮想マシン・マイグレーションを決定する現在の方式は、仮想マシンのトラフィックを完全にスイッチに移し、当該スイッチが仮想マシンの存在を判定するというものである。しかし、当該方式では、プロトコルをサポートするオーダメイドのスイッチ、例えば、ＶＥＰＡ（Ｖｉｒｔｕａｌ  Ｅｔｈｅｒｎｅｔ  Ｐｏｒｔ  Ａｇｇｒｅｇａｔｏｒ、仮想イーサネット・ポート集約器）プロトコルをサポートするスイッチが必要であり、仮想マシンのベンダがサポートを提供する必要がある。したがって、デプロイメントのコストは高い。
【課題を解決するための手段】
【０００５】
本発明の諸実施形態では仮想マシン・マイグレーションを決定するための方法および装置を提供する。当該方法および装置はデプロイメントのコストを削減することができる。
【０００６】
第１の態様によれば、仮想マシン・マイグレーションを決定するための方法を提供する。当該方法は、ホスト・マシン内のクライアントにより、ホスト・マシン上の仮想マシンの一意な識別子とホスト・マシンのアドレスを取得するステップと、サーバが仮想マシンの一意な識別子とホスト・マシンのアドレスに従って、仮想マシンがマイグレートされているかどうかを判定するように、仮想マシンの一意な識別子がクライアントのローカル・レコードに存在しない場合には、クライアントにより、ホスト・マシンが配置されたネットワーク内の当該サーバにパケットを送信し、クライアントにより、仮想マシンの一意な識別子をローカル・レコードに追加してローカル・レコードを更新するステップであって、当該パケットが仮想マシンの一意な識別子とホスト・マシンのアドレスを運搬するステップとを含む。
【０００７】
第１の態様の第１の可能な実装方式では、ホスト・マシン内のクライアントにより、ホスト・マシン上の仮想マシンの一意な識別子を取得するステップは、ホスト・マシン内のクライアントにより、ホスト・マシン上の仮想マシンからのパケットをインターセプトするステップであって、当該パケットは仮想マシンの一意な識別子を運搬するステップと、仮想マシンの一意な識別子を当該インターセプトしたパケットから取得するステップとを含む。
【０００８】
第１の態様の第２の可能な実装方式では、ホスト・マシン内のクライアントにより、ホスト・マシン上の仮想マシンの一意な識別子を取得するステップは、ホスト・マシン内のクライアントにより、ホスト・マシン上の仮想スイッチにより転送されるホスト・マシン上の仮想マシンからパケットを受信するステップであって、当該パケットはホスト・マシン上の仮想マシンの一意な識別子を運搬するステップと、仮想マシンの一意な識別子を当該受信パケットから取得するステップとを含む。
【０００９】
第１の態様の第１の可能な実装方式または第２の可能な実装方式を参照して、第１の態様の第３の可能な実装方式では、ホスト・マシン上の仮想マシンからのパケットはＡＲＰ（アドレス解決プロトコル、Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）パケットである。
【００１０】
第１の態様、または第１の態様の第１の可能な実装方式、第２の可能な実装方式、もしくは第３の可能な実装方式を参照して、第１の態様の第４の可能な実装方式では、クライアントにより、仮想マシンの一意な識別子をローカル・レコードに追加する前に、当該方法は、クライアントにより、受信成功を示しサーバにより送信される応答パケットを受信するステップと、受信成功を示しサーバにより送信される応答パケットを受信したとき、クライアントにより、仮想マシンの一意な識別子をローカル・レコードに追加するステップとをさらに含む。
【００１１】
第１の態様、または第１の態様の第１の可能な実装方式、第２の可能な実装方式、もしくは第３の可能な実装方式を参照して、第１の態様の第５の可能な実装方式では、当該一意な識別子は、仮想マシンのＭＡＣアドレス、または仮想マシンの静的に構成されたＩＰアドレスである。
【００１２】
第１の態様、または第１の態様の第１の可能な実装方式、第２の可能な実装方式、もしくは第３の可能な実装方式を参照して、第１の態様の第６の可能な実装方式では、クライアントは、ホスト・マシン内のセキュア仮想マシン、ホスト・マシン内の仮想スイッチ、または物理ネットワーク・アダプタに接続されたホスト・マシン内のコンポーネントに配置される。
【００１３】
第２の態様によれば、仮想マシン・マイグレーションを決定するための方法を提供する。当該方法は、サーバにより、ホスト・マシン内のクライアントにより送信されたパケットを受信するステップであって、当該パケットは、ホスト・マシン上の仮想マシンの一意な識別子とクライアントが配置されているホスト・マシンのアドレスを運搬するステップと、仮想マシンの一意な識別子がサーバのローカル・レコードに存在しない場合には、サーバにより、仮想マシンの一意な識別子とホスト・マシンのアドレスの対応関係をサーバのローカル・レコードに追加するステップと、仮想マシンの一意な識別子がサーバのローカル・レコードに存在する場合には、サーバにより、当該パケットで運搬されるホスト・マシンのアドレスがサーバのローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと同じであるかどうかを判定し、当該パケットで運搬されるホスト・マシンのアドレスが仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと同じである場合には、仮想マシンがマイグレートされていないと判定し、当該パケットで運搬されるホスト・マシンのアドレスが仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと異なる場合には、仮想マシンがマイグレートされていると判定するステップとを含む。
【００１４】
第２の態様の第１の可能な実装方式では、クライアントにより送信されたパケットを受信した後に、当該方法はさらに、クライアントが仮想マシンの一意な識別子をクライアントのローカル・レコードに追加するように、受信成功を示す応答パケットをクライアントに送信するステップを含む。
【００１５】
第２の態様または第２の態様の第１の可能な実装方式を参照して、第２の態様の第２の可能な実装方式では、当該パケットで運搬されるホスト・マシンのアドレスがサーバのローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと異なる場合には、当該方法はさらに、仮想マシンの一意な識別子に対応しサーバのローカル・レコードに格納されているホスト・マシンのアドレスを当該パケットで運搬されるホスト・マシンのアドレスであるように更新するステップを含む。
【００１６】
第３の態様によれば、仮想マシン・マイグレーションを決定するための装置を提供する。当該装置は、当該装置が配置されているホスト・マシン上の仮想マシンの一意な識別子とホスト・マシンのアドレスを取得するように構成された処理ユニットと、仮想マシンの一意な識別子が当該装置のローカル・レコードに存在しないと当該処理ユニットが判定した場合には、サーバが、仮想マシンの一意な識別子とホスト・マシンのアドレスに従って、仮想マシンがマイグレートされているかどうかを判定するように、ホスト・マシンが配置されたネットワーク内の当該サーバにパケットを送信するように構成された送信ユニットであって、当該パケットが仮想マシンの一意な識別子とホスト・マシンのアドレスを運搬する送信ユニットと、仮想マシンの一意な識別子がローカル・レコードに存在しないと当該処理ユニットが判定した場合には、仮想マシンの一意な識別子をローカル・レコードに追加してローカル・レコードを更新するように構成された格納ユニットとを備える。
【００１７】
第３の態様の第１の可能な実装方式では、当該処理ユニットは、ホスト・マシン上の仮想マシンからのパケットをインターセプトし、仮想マシンの一意な識別子を当該インターセプトしたパケットから取得するように構成される。当該パケットは仮想マシンの一意な識別子を運搬する。
【００１８】
第３の態様の第２の可能な実装方式では、当該処理ユニットは、ホスト・マシン上の仮想スイッチにより転送されるホスト・マシン上の仮想マシンからパケットを受信し、ホスト・マシン上の仮想マシンの一意な識別子を当該受信パケットから取得するように構成される。当該パケットはホスト・マシン上の仮想マシンの一意な識別子を運搬する。
【００１９】
第３の態様の第１の可能な実装方式または第２の可能な実装方式を参照して、第３の可能な実装方式では、ホスト・マシン上の仮想マシンからのパケットはアドレス解決プロトコルＡＲＰパケットである。
【００２０】
第３の態様の第１の可能な実装方式、第２の可能な実装方式、または第３の可能な実装方式を参照して、第４の可能な実装方式では、当該装置はさらに、格納ユニットが仮想マシンの一意な識別子をローカル・レコードに追加する前に、受信成功を示しサーバにより送信される応答パケットを受信するように構成された受信ユニットを備える。当該格納ユニットは特に、受信成功を示しサーバにより送信される応答パケットを当該受信ユニットが受信したとき、仮想マシンの一意な識別子をローカル・レコードに追加するように構成される。
【００２１】
第３の態様、または第３の態様の第１の可能な実装方式、第２の可能な実装方式、もしくは第３の可能な実装方式を参照して、第５の可能な実装方式では、当該装置は、ホスト・マシン内のセキュア仮想マシン、ホスト・マシン内の仮想スイッチ、または物理ネットワーク・アダプタに接続されたホスト・マシン内のコンポーネントに配置される。
【００２２】
第４の態様によれば、仮想マシン・マイグレーションを決定するための装置を提供する。当該装置は、ホスト・マシン内のクライアントにより送信されたパケットを受信するように構成された受信ユニットであって、当該パケットは、ホスト・マシン上の仮想マシンの一意な識別子とクライアントが配置されているホスト・マシンのアドレスを運搬する受信ユニットと、仮想マシンの一意な識別子が当該装置のローカル・レコードに存在するかどうかを判定するように構成された決定ユニットと、仮想マシンの一意な識別子が当該装置のローカル・レコードに存在しないと当該決定ユニットが判定した場合には、仮想マシンの一意な識別子とホスト・マシンのアドレスの対応関係を当該装置のローカル・レコードに追加するように構成された格納ユニットとを備える。当該決定ユニットはさらに、仮想マシンの一意な識別子が当該装置のローカル・レコードに存在する場合には、当該パケットで運搬されるホスト・マシンのアドレスが当該装置のローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと同じであるかどうかを判定し、当該パケットで運搬されるホスト・マシンのアドレスが当該装置のローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと同じである場合には、仮想マシンがマイグレートされていないと判定し、当該パケットで運搬されるホスト・マシンのアドレスが当該装置のローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと異なる場合には、仮想マシンがマイグレートされていると判定するように構成される。
【００２３】
第４の態様の第１の可能な実装方式では、当該装置はさらに、当該受信ユニットがクライアントにより送信されたパケットを受信した後、クライアントが仮想マシンの一意な識別子をクライアントのローカル・レコードに追加するように、受信成功を示す応答パケットをクライアントに送信するように構成された送信ユニットを備える。
【００２４】
第４の態様または第４の態様の第１の可能な実装方式を参照して、第４の態様の第２の可能な実装方式では、当該装置はさらに、当該パケットで運搬されるホスト・マシンのアドレスが当該装置のローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと異なる場合には、仮想マシンの一意な識別子に対応し当該装置のローカル・レコードに格納されたホスト・マシンのアドレスを当該パケットで運搬されるホスト・マシンのアドレスとなるように更新するように構成された更新ユニットを備える。
【００２５】
第５の態様ではクライアント装置を提供する。当該装置は、プロセッサ、通信インタフェース、メモリ、およびバスを備える。当該プロセッサ、当該通信インタフェース、および当該メモリは当該バスを用いることにより相互通信を実現し、当該通信インタフェースは外部ネットワーク要素と通信するように構成され、当該メモリはプログラムを格納するように構成され、当該プロセッサは、当該メモリ内の当該プログラムを読み取り、クライアント装置が配置されたホスト・マシンの仮想マシンの一意な識別子とホスト・マシンのアドレスを取得し、仮想マシンの一意な識別子がローカル・レコードに存在しない場合には、サーバが、仮想マシンの一意な識別子とホスト・マシンのアドレスに従って、仮想マシンがマイグレートされているかどうかを判定するように、ホスト・マシンが配置されたネットワーク内の当該サーバにパケットを送信し、仮想マシンの一意な識別子をローカル・レコードに追加してローカル・レコードを更新するステップを実施するように構成される。当該パケットは仮想マシンの一意な識別子とホスト・マシンのアドレスを運搬する。
【００２６】
第５の態様の第１の可能な実装方式では、当該プロセッサは、ホスト・マシン上の仮想マシンからのパケットをインターセプトし、ホスト・マシン上の仮想マシンの一意な識別子を当該インターセプトしたパケットから取得する動作を実施するように構成される。当該パケットはホスト・マシン上の仮想マシンの一意な識別子を運搬する。
【００２７】
第５の態様の第２の可能な実装方式では、当該プロセッサは、ホスト・マシン上の仮想スイッチにより転送されるホスト・マシン上の仮想マシンからパケットを受信し、ホスト・マシン上の仮想マシンの一意な識別子を当該受信パケットから取得する動作を実施するように構成される。当該パケットはホスト・マシン上の仮想マシンの一意な識別子を運搬する。
【００２８】
第５の態様の第１の可能な実装方式または第２の可能な実装方式を参照して、第３の可能な実装方式では、当該プロセッサはさらに、受信成功を示しサーバにより送信される応答パケットを受信する動作と、受信成功を示しサーバにより送信される応答パケットを受信したとき、仮想マシンの一意な識別子をローカル・レコードに追加する動作とを実施するように構成される。
【００２９】
第５の態様の第１の可能な実装方式、第２の可能な実装方式、または第３の可能な実装方式を参照して、第４の可能な実装方式では、当該装置は、ホスト・マシン内のセキュア仮想マシン、ホスト・マシン内の仮想スイッチ、または物理ネットワーク・アダプタに接続されたホスト・マシン内のコンポーネントに配置される。
【００３０】
第６の態様ではサーバ装置を提供する。当該装置は、プロセッサ、通信インタフェース、メモリ、およびバスを備える。当該プロセッサ、当該通信インタフェース、および当該メモリは当該バスを用いることにより相互通信を実現し、当該通信インタフェースは外部ネットワーク要素と通信するように構成され、当該メモリはプログラムを格納するように構成され、当該プロセッサは、当該メモリ内の当該プログラムを読み取り、ホスト・マシン内のクライアントにより送信された、仮想マシンの一意な識別子とクライアントが配置されているホスト・マシンのアドレスを運搬するパケットを受信し、仮想マシンの一意な識別子がサーバのローカル・レコードに存在しない場合には、仮想マシンの一意な識別子とホスト・マシンのアドレスの対応関係をサーバ装置のローカル・レコードに追加し、仮想マシンの一意な識別子がサーバ装置のローカル・レコードに存在する場合には、当該パケットで運搬されるホスト・マシンのアドレスがサーバ装置のローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと同じであるかどうかを判定し、当該パケットで運搬されるホスト・マシンのアドレスがサーバ装置のローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと同じである場合には、仮想マシンがマイグレートされていないと判定し、当該パケットで運搬されるホスト・マシンのアドレスがサーバ装置のローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと異なる場合には、仮想マシンがマイグレートされていると判定する動作を実施するように構成される。
【００３１】
第６の態様の第１の可能な実装方式では、当該プロセッサはさらに、クライアントにより送信されたパケットを受信した後に、クライアントが仮想マシンの一意な識別子をクライアントのローカル・レコードに追加するように、受信成功を示す応答パケットをクライアントに送信する動作を実施するように構成される。
【００３２】
第６の態様の第１の可能な実装方式を参照して、第６の態様の第２の可能な実装方式では、当該プロセッサはさらに、当該パケットで運搬されるホスト・マシンのアドレスがサーバ装置のローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと異なる場合には、仮想マシンの一意な識別子に対応しサーバ装置のローカル・レコードに格納されているホスト・マシンのアドレス装置を当該パケットで運搬されるホスト・マシンのアドレスであるように更新する動作を実施するように構成される。
【００３３】
第７の態様では、第５の態様または第５の態様の可能な実装方式のうち何れかに従う少なくとも１つのクライアント装置と、第６の態様または第６の態様の可能な実装方式のうち何れかに従う少なくとも１つのサーバ装置とを備えた、仮想マシン・マイグレーションを決定するためのシステムを提供する。
【００３４】
上述の技術的解決策を使用した後、本発明の諸実施形態により提供される仮想マシン・マイグレーションを決定するための方法および装置では、クライアントがホスト・マシン上の仮想マシンの一意な識別子とホスト・マシンのアドレスを取得し、仮想マシンの一意な識別子がクライアントのローカル・レコードに存在しない場合には、クライアントは、仮想マシンの一意な識別子とホスト・マシンのアドレスを運搬するパケットをサーバに送信し、サーバが当該パケットを受信した後、仮想マシンの一意な識別子がサーバのローカル・レコードに存在する場合には、サーバは、当該パケットで運搬されるホスト・マシンのアドレスがローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと同じであるかどうかを判定し、当該パケットで運搬されるホスト・マシンのアドレスがローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと同じである場合には、サーバは仮想マシンがマイグレートされていないと判定し、当該パケットで運搬されるホスト・マシンのアドレスがローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと異なる場合には、サーバは仮想マシンがマイグレートされていると判定する。このように、仮想マシン・マイグレーションは、仮想マシン・マイグレーションで必要とされる特定の通信プロトコル（例えば、ＶＥＰＡプロトコル）を利用せずに決定され、特定の通信プロトコルをサポートする通信装置は必要でない。したがって、通信装置に対する要件は緩和され、それにより、デプロイメントのコストが低下する。
【００３５】
本発明の諸実施形態または先行技術の技術的解決策をより明確に説明するために、以下では当該諸実施形態または先行技術を説明するのに必要な添付図面を簡単に説明する。明らかに、以下の説明における添付図面は本発明の幾つかの実施形態を示すにすぎず、当業者は創造的作業なしにこれらの添付図面から本発明の技術的解決策の他の図面を導出することができる。
【図面の簡単な説明】
【００３６】
【図１】本発明の１実施形態に従う仮想マシン・マイグレーションを決定するための方法が適用されるシステムのデプロイ構造の略図である。
【図２Ａ】本発明の１実施形態に従う仮想マシン・マイグレーションを決定するための方法の流れ図である。
【図２Ｂ】本発明の１実施形態に従うシステムのデプロイ構造の略図である。
【図２Ｃ】本発明の１実施形態に従うシステムのデプロイ構造の別の略図である。
【図２Ｄ】本発明の１実施形態に従うシステムのデプロイ構造のさらに別の略図である。
【図３】本発明の１実施形態に従う仮想マシン・マイグレーションを決定するための方法の流れ図である。
【図４】本発明の１実施形態に従う仮想マシン・マイグレーションを決定するための別の方法の略図である。
【図５Ａ】本発明の１実施形態に従う仮想マシン・マイグレーションを決定するための装置の構造ブロック図である。
【図５Ｂ】本発明の１実施形態に従う仮想マシン・マイグレーションを決定するための装置の別の構造ブロック図である。
【図６Ａ】本発明の１実施形態に従う仮想マシン・マイグレーションを決定するための装置の構造ブロック図である。
【図６Ｂ】本発明の１実施形態に従う仮想マシン・マイグレーションを決定するための装置の別の構造ブロック図である。
【図６Ｃ】本発明の１実施形態に従う仮想マシン・マイグレーションを決定するための装置のさらに別の構造ブロック図である。
【図７】本発明の１実施形態に従う仮想マシン・マイグレーションを決定するためのクライアント装置の略図である。
【図８】本発明の１実施形態に従う仮想マシン・マイグレーションを決定するためのサーバ装置の略図である。
【発明を実施するための形態】
【００３７】
以下では本発明の諸実施形態の添付図面を参照して本発明の諸実施形態の技術的解決策を明確かつ十分に説明する。明らかに、説明する以下の諸実施形態は本発明の諸実施形態の一部であって全部ではない。当業者が創造的作業なしに本発明の諸実施形態に基づいて得る他の全ての実施形態は本発明の保護範囲に入るものとする。
【００３８】
図１は、本発明の１実施形態に従う仮想マシン・マイグレーションを決定するための方法が適用されるシステムのデプロイ構造の略図である。本発明をより分かり易くするために、以下では先ず図１を参照して当該デプロイ構造を簡単に説明する。
【００３９】
当該デプロイ構造は複数のホスト・マシンを含んでもよい。図１では、当該デプロイ構造が２つのホスト・マシン、即ち、ホスト・マシン１とホスト・マシンｎのみを含む例を用いて説明を行う。ホスト・マシン１を、物理セキュリティ装置（例えば、スイッチ）を用いてホスト・マシンｎに接続してもよい。仮想マシンと仮想スイッチはそれぞれホスト・マシン１とホスト・マシンｎの中に配置される。ホスト・マシン１は、仮想スイッチ１と複数の仮想マシン（本図では、仮想マシン１と仮想マシン２の２つ）を含んでもよい。仮想マシン１と仮想マシン２は別々に仮想スイッチ１と通信接続する。ホスト・マシンｎは、仮想スイッチｎおよび複数の仮想マシン（本図では、仮想マシン３と仮想マシン４の２つ）を含んでもよい。仮想マシン３と仮想マシン４は別々に仮想スイッチｎと通信接続する。
【００４０】
仮想マシンが通信を行うとき、仮想マシンにより送信されたパケットは先ず、仮想マシンが配置されたホスト・マシン上の仮想スイッチに到達し、仮想スイッチと通信接続する別の仮想マシンに仮想スイッチにより送信されるか、または、仮想スイッチによりホスト・マシンの物理ネットワーク・アダプタに送信され、物理ネットワーク・アダプタによりホスト・マシンを除く別の装置に送信されてもよい。
【００４１】
さらに、セキュア仮想マシン（図１では図示せず）を、必要に応じてホスト・マシンにさらに配置してもよい。本発明の当該実施形態では、セキュア仮想マシンは、ネットワーク・トラフィックにセキュリティ保護をもたらしホスト・マシン内に存在する仮想マシン装置である。セキュア仮想マシンが仮想マシンと通信接続してもよく、仮想スイッチがトラフィックをセキュア仮想マシンに取り込むとき、セキュア仮想マシンは、取り込まれたトラフィックに対してセキュリティ制御を実施してもよい。
【００４２】
本発明の当該実施形態で提供する仮想マシン・マイグレーションを決定するための方法では、図１に示す構造に基づいて、クライアントとサーバを導入する。これらは、低いデプロイメントのコストで、仮想マシンがマイグレートされるかどうかを判定することができる。
【００４３】
図２Ａは、本発明の１実施形態に従う仮想マシン・マイグレーションを決定するための方法の流れ図である。図２Ａを参照すると、本発明の当該実施形態では仮想マシン・マイグレーションを決定するための方法を提供する。当該方法は、ホスト・マシン内のクライアントに基づいて説明され、以下を含む。
【００４４】
２１で、ホスト・マシン内のクライアントがホスト・マシン上の仮想マシンの一意な識別子とホスト・マシンのアドレスを取得する。
【００４５】
ホスト・マシン上の仮想マシンの一意な識別子が、仮想マシンの媒体アクセス制御（ＭＡＣ、Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスであってもよく、ユーザが構成した静的ＩＰアドレスであってもよく、本明細書では限定されない。
【００４６】
本発明の当該実施形態では、ホスト・マシン内のクライアントを実際のニーズに従って様々な位置に配置してもよい。例えば、図２Ｂを参照すると、クライアントをホスト・マシン内のセキュア仮想マシンに配置してもよく、図２Ｃを参照すると、クライアントをホスト・マシン内の仮想スイッチに配置してもよく、図２Ｄを参照すると、クライアントをホスト・マシン内のコンポーネントに配置して物理ネットワーク・アダプタに接続してもよい。物理ネットワーク・アダプタに接続されたコンポーネントは物理コンポーネントに限定されず、ソフトウェア形式で実装されたコンポーネントであってもよい。クライアントを別の位置に配置してもよく、本発明では限定されない。ホスト・マシン内のクライアントの様々な位置に従って、本発明の当該実施形態では、ホスト・マシン上の仮想マシンの一意な識別子を別の方式で取得してもよい。
【００４７】
ホスト・マシン上の仮想マシンの一意な識別子を取得する１つの方式は、ホスト・マシン内のクライアントにより、ホスト・マシン上の仮想マシンにより送信された、ホスト・マシン上の仮想マシンの一意な識別子を運搬するパケットをインターセプトするステップと、ホスト・マシン上の仮想マシンの一意な識別子を当該インターセプトしたパケットから取得するステップとを含んでもよい。換言すれば、このようにして、クライアントは、ホスト・マシン上の仮想マシンにより送信され仮想マシンの一意な識別子を運搬するパケットを直接インターセプトすることで、仮想マシンの一意な識別子を知ることができる。当該方式は、クライアントがホスト・マシン内の仮想スイッチ内に配置されるケースに適用可能である。ホスト・マシン上の仮想マシンが送信したパケットはアドレス解決プロトコル（ＡＲＰ、Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）ＡＲＰパケットである。
【００４８】
ホスト・マシン上の仮想マシンの一意な識別子を取得する別の方式が、ホスト・マシン内のクライアントにより、ホスト・マシン上の仮想スイッチにより転送された、ホスト・マシン上の仮想マシンの一意な識別子を運搬するパケットを受信するステップと、ホスト・マシン上の仮想マシンの一意な識別子を当該受信パケットから取得するステップを含んでもよい。仮想スイッチにより送信されたパケットは、ホスト・マシン上の仮想マシンにより送信されたパケットをインターセプトすることによって仮想スイッチにより取得される。換言すれば、このようにして、クライアントは、ホスト・マシン上の仮想スイッチにより転送されホスト・マシン上の仮想マシンの一意な識別子を運搬するパケットを受信することによって、仮想マシンの一意な識別子を知る。特に、正式な通信を開始する前に、ホスト・マシン上の仮想マシンが仮想マシンの一意な識別子を運搬するパケットをブロードキャストし、当該パケットをインターセプトした後に、ホスト・マシン上の仮想スイッチが当該パケットを転送してもよく、ホスト・マシン上のクライアントが、仮想スイッチにより転送されたパケットを受信することによってホスト・マシン上の仮想マシンの一意な識別子を取得することができる。当該方式は、クライアントがセキュア仮想マシン内のコンポーネントの中に配置され物理ネットワーク・アダプタに接続されるケースに適用可能である。仮想マシンが送信したパケットがＡＲＰパケットであってもよい。
【００４９】
場合によっては、本発明の１実施形態では、ホスト・マシン上の仮想マシンが送信したパケットはアドレス解決プロトコル（ＡＲＰ、Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）ＡＲＰパケットであり、仮想マシンの一意な識別子を運搬する。ＡＲＰ通信は正常な通信の前の必要なプロセスであり少量のデータを必要とするので、システム性能を最適化する目的に基づいて、クライアントまたは仮想スイッチは、仮想マシンが送信したＡＲＰパケットを取得し、当該ＡＲＰパケットを用いて仮想マシンの一意な識別子を取得すればよい。
【００５０】
本発明の当該実施形態では、ホスト・マシンとは、仮想マシンが現在存在する物理マシンをいい、１つまたは複数の仮想マシンが１つのホスト・マシンに存在してもよく、本発明では限定されない。
【００５１】
本発明の当該実施形態では、ホスト・マシンのアドレスが、ホスト・マシンのＩＰアドレスであってもよく、ホスト・マシンを一意に識別できるアドレス、例えば、ホスト・マシンのＭＡＣアドレスであってもよい。
【００５２】
本発明の当該実施形態では、ユーザがホスト・マシンを事前に構成し、構成内容にはホスト・マシンのアドレスが含まれる。したがって、ステップ１１では、ホスト・マシン内のクライアントにより、ホスト・マシンのアドレスを取得するステップが特に、ホスト・マシン内のクライアントにより、当該ユーザが入力した構成情報に従ってホスト・マシンのアドレスを取得するステップであってもよい。
【００５３】
ステップ１１でホスト・マシン上の仮想マシンの一意な識別子とホスト・マシンのアドレスを取得した後、クライアントは、仮想マシンの一意な識別子がローカル・レコードに存在するかどうかを判定してもよい。ローカル・レコードをキャッシュまたはメモリに格納してもよく、キャッシュの読取り／書込み速度は高いので、キャッシュ方式でのローカル・レコードの格納により検索時間を節約することができる。特に、ホスト・マシン上の仮想マシンの一意な識別子とホスト・マシンのアドレスを取得した後、クライアントが、仮想マシンの一意な識別子を格納するのに使用されるローカル・レコードを生成し、次いで、仮想マシンの（ＭＡＣアドレスのような）一意な識別子を検索オブジェクトとして使用することによってローカル・レコードを検索してもよい。当該一意な識別子を発見できる場合には、仮想マシンの一意な識別子がローカル・レコードに存在すると判定し、当該一意な識別子を発見できなかった場合には、仮想マシンの一意な識別子がローカル・レコードに存在しないと判定する。
【００５４】
本発明の範囲において、ホスト・マシンの別の実行体が、仮想マシンの一意な識別子がローカル・レコードに存在するかどうかを判定し、さらに、仮想マシンの一意な識別子がローカル・レコードに存在するかどうかを示す結果をクライアントに通知してもよい。
【００５５】
２２で、仮想マシンの一意な識別子がクライアントのローカル・レコードに存在しない場合には、サーバが、仮想マシンの一意な識別子とホスト・マシンのアドレスに従って、仮想マシンがマイグレートされているかどうかを判定するように、クライアントは、仮想マシンの一意な識別子とホスト・マシンのアドレスを運搬するパケットをサーバに送信し、クライアントが仮想マシンの一意な識別子をローカル・レコードに追加してローカル・レコードを更新する。
【００５６】
場合によっては、サーバは、ホスト・マシンが配置されたネットワーク内の１つの装置の中に配置され、ホスト・マシン内のクライアントと通信接続する。例えば、サーバを図１の物理セキュリティ装置に配置してもよく、または、専用装置内に独立に配置してもよい。
【００５７】
場合によっては、本発明の１実施形態では、クライアントにより、ステップ２２で仮想マシンの一意な識別子をローカル・レコードに追加する前に、本発明の当該実施形態で提供する仮想マシン・マイグレーションを決定するための方法がさらに、クライアントにより、受信成功を示しサーバにより送信される応答パケットを受信するステップを含んでもよい。この場合、クライアントにより、ステップ２２で仮想マシンの一意な識別子をローカル・レコードに追加するステップが特に、受信成功を示しサーバにより送信される応答パケットを受信したときに、クライアントにより、仮想マシンの一意な識別子をローカル・レコードに追加するステップであってもよい。
【００５８】
本発明の当該実施形態で提供する仮想マシン・マイグレーションを決定するための方法によれば、ホスト・マシン内のクライアントが仮想マシンの一意な識別子とホスト・マシンのアドレスを取得し、仮想マシンの一意な識別子とホスト・マシンのアドレスをサーバに送信する。その結果、仮想マシンの一意な識別子がサーバのローカル・レコードに存在する場合には、サーバは、クライアントが送信したパケットで運搬されるホスト・マシンのアドレスがローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと同じであるかどうかを判定することによって、仮想マシンがマイグレートされているかどうかを判定することができる。このように、仮想マシン・マイグレーションは仮想マシン・マイグレーションで必要とされる特定の通信プロトコル（例えば、ＶＥＰＡプロトコル）を利用せずに決定され、特定の通信プロトコルをサポートする通信装置は必要でない。したがって、通信装置に対する要件は大幅に緩和され、それにより、デプロイメントのコストが低下する。
【００５９】
図３は、本発明の１実施形態に従う仮想マシン・マイグレーションを決定するための方法の流れ図である。図３を参照すると、本発明の当該実施形態では仮想マシン・マイグレーションを決定するための方法を提供する。当該方法をサーバに基づいて説明する。サーバを、ホスト・マシンが配置されるネットワーク内の装置に配置してもよく、サーバはホスト・マシン内のクライアントと通信接続する。例えば、サーバを図１の物理セキュリティ装置に配置してもよく、または、専用装置内に独立に配置してもよい。当該方法は以下を含む。
【００６０】
３１で、ホスト・マシン内のクライアントにより送信されたパケットを受信する。当該パケットは仮想マシンの一意な識別子とホスト・マシンのアドレスを運搬する。
【００６１】
ステップ３１でクライアントにより送信されたパケットを受信した後に、本発明の当該実施形態で提供する仮想マシン・マイグレーションを決定するための方法がさらに、受信成功を示す応答パケットをクライアントに送信して、クライアントが仮想マシンの一意な識別子をローカル・レコードに追加するようにするステップを備えてもよい。
【００６２】
ステップ３２の前に、サーバは先ず、仮想マシンの一意な識別子がサーバのローカル・レコードに存在するかどうかを判定してもよい。特に、サーバは、仮想マシンの一意な識別子を検索オブジェクトとして用いることによってローカル・レコードを検索してもよい。当該一意な識別子を発見できた場合には、仮想マシンの一意な識別子がローカル・レコードに存在すると判定し、当該一意な識別子を発見できなかった場合には、仮想マシンの一意な識別子がローカル・レコードに存在しないと判定する。
【００６３】
３２で、仮想マシンの一意な識別子がサーバのローカル・レコードに存在しない場合には、仮想マシンの一意な識別子とホスト・マシンのアドレスの対応関係をローカル・レコードに追加する。
【００６４】
仮想マシンの一意な識別子がサーバのローカル・レコードに存在しない場合、即ち、仮想マシンの一意な識別子とホスト・マシンのアドレスの対応関係が初めて追加されるケースでは、仮想マシンがマイグレートされていないと考えられる。
【００６５】
３３で、仮想マシンの一意な識別子がサーバのローカル・レコードに存在する場合には、当該パケットで運搬されるホスト・マシンのアドレスがサーバのローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと同じであるかどうかを判定し、当該パケットで運搬されるホスト・マシンのアドレスがサーバのローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと同じである場合には、ステップ３４を実施し、当該パケットで運搬されるホスト・マシンのアドレスがサーバのローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと異なる場合には、ステップ３５を実施する。
【００６６】
３４で、当該パケットで運搬されるホスト・マシンのアドレスがサーバのローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと同じである場合には、仮想マシンがマイグレートされていないと判定する。
【００６７】
３５で、当該パケットで運搬されるホスト・マシンのアドレスがサーバのローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと異なる場合には、仮想マシンがマイグレートされていると判定する。さらに、仮想マシンの一意な識別子に対応しサーバのローカル・レコードに格納されているホスト・マシンのアドレスをさらに、当該パケットで運搬されるホスト・マシンのアドレスとなるように更新してもよい。
【００６８】
本発明の当該実施形態で提供する仮想マシン・マイグレーションを決定するための方法によれば、ホスト・マシン内のクライアントが仮想マシンの一意な識別子とホスト・マシンのアドレスを取得し、仮想マシンの一意な識別子とホスト・マシンのアドレスをサーバに送信する。その結果、仮想マシンの一意な識別子がサーバのローカル・レコードに存在する場合には、サーバは、クライアントが送信したパケットで運搬されるホスト・マシンのアドレスがローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと同じであるかどうかを判定することによって、仮想マシンがマイグレートされているかどうかを判定することができる。このように、仮想マシン・マイグレーションは仮想マシン・マイグレーションに必要な特定の通信プロトコルを利用せずに決定され、特定の通信プロトコルをサポートする通信装置は必要でない。したがって、通信装置に対する要件は大幅に緩和され、それにより、デプロイメントのコストが低下する。
【００６９】
本発明をより分かり易くするために、以下では、具体的な諸実施形態を例として用いて本発明をさらに説明する。以下で列挙した諸実施形態は、本発明の諸実施形態の一部にすぎず、当業者は本発明の内容から他の諸実施形態を容易に理解でき、したがって、それらは本発明の範囲内にあることに留意されたい。
【００７０】
１実施形態では、仮想マシン・マイグレーションを決定するための方法を提供する。当該方法は、通信装置に関する要件を大幅に緩和することができ、それにより、デプロイメントのコストが低下する。仮想マシンの一意な識別子がＭＡＸアドレスである図４を例として参照すると、当該方法は以下を含んでもよい。
【００７１】
（１）仮想マシンが、仮想マシンのＭＡＣアドレスを運搬するパケットを送信する。仮想マシンが送信したパケットがＡＲＰパケットであってもよい。
【００７２】
（２）クライアントが、クライアントが配置されたホスト・マシン上の仮想マシンのＭＡＸアドレスを取得し、仮想マシンのＭＡＸアドレスを格納するために使用されるローカル・レコードを生成する。
【００７３】
クライアントがホスト・マシン上の仮想スイッチに配置されている場合には、クライアントは、ホスト・マシン上の仮想マシンにより送信されたパケットを直接インターセプトし当該パケットを解析して当該パケットのソースＭＡＸアドレス、即ち、ホスト・マシン上の仮想マシンのＭＡＣアドレスを取得することによって、ホスト・マシン上の仮想マシンのＭＡＣアドレスを取得してもよい。クライアントがセキュア仮想マシンまたは物理ネットワーク・アダプタに接続されたコンポーネントに配置されている場合には、クライアントは、仮想スイッチにより転送されたパケットを受信し当該パケットを解析してソースＭＡＣアドレス、即ち、ホスト・マシン上の仮想マシンのＭＡＣアドレスを取得することによって、ホスト・マシン上の仮想マシンのＭＡＣアドレスを取得してもよい。
【００７４】
（３）クライアントが、仮想マシンの取得したＭＡＣアドレスをクライアントのローカル・レコード内のＭＡＣアドレスと比較して、仮想マシンの取得したＭＡＣアドレスがクライアントのローカル・レコードに存在するかどうかを判定する。仮想マシンの取得したＭＡＣアドレスがクライアントのローカル・レコードに存在する場合には、クライアントは動作を停止し、仮想マシンの取得したＭＡＣアドレスがクライアントのローカル・レコードに存在しない場合には、クライアントは次のステップ（４）を実施する。
【００７５】
（４）クライアントが、ホスト・マシンのアドレス（例えば、ＩＰアドレス）を取得し、パケットを用いて、仮想マシンの取得したＭＡＣアドレスおよびホスト・マシンの取得したアドレスをサーバに送信する。
【００７６】
（５）仮想マシンのＭＡＣアドレスとホスト・マシンのアドレスを運搬するパケットを受信した後、サーバは受信成功を示す応答パケットをクライアントに送信する。
【００７７】
（６）仮想マシンのＭＡＣアドレスとホスト・マシンのアドレスを運搬するパケットの受信にサーバが成功したとクライアントが当該応答パケットに従って判定した場合には、クライアントは、仮想マシンのＭＡＣアドレスをクライアントのローカル・レコードに追加する。
【００７８】
（７）サーバが、仮想マシンと仮想マシンに対応するホスト・マシンの間の関係の記録を維持し、クライアントにより送信された仮想マシンのＭＡＣアドレスを受信した後にローカル・レコードを検索し、当該ＭＡＣアドレスがサーバのローカル・レコードに存在するかどうかを判定する。当該ＭＡＣアドレスがサーバのローカル・レコードに存在しない場合には、サーバは、仮想マシンが新たに有効になった仮想マシンであるとみなし、仮想マシンのＭＡＣアドレスをサーバのローカル・レコードに追加し、仮想マシンがマイグレートされていないと判定する。当該ＭＡＣアドレスがサーバのローカル・レコードに存在する場合には、サーバはステップ（８）を実施する。
【００７９】
（８）サーバが、仮想マシンのＭＡＣアドレスに対応するホスト・マシンのアドレスを求めてサーバのローカル・レコードを検索し、当該サーバのローカル・レコードで発見されクライアントにより送信された仮想マシンのＭＡＣアドレスに対応するホスト・マシンのアドレスとホスト・マシンのアドレスを比較して、これらの２つのアドレスが同一であるかどうかを判定する。当該２つのアドレスが同一である場合には、サーバは、当該ＭＡＣアドレスに対応する仮想マシンがマイグレートされていないと判定し、当該２つのアドレスが異なる場合には、サーバは、当該ＭＡＣアドレスに対応する仮想マシンがマイグレートされていると判定し、サーバはステップ（９）を実施する。
【００８０】
（９）仮想マシンがマイグレートされていることを学習した後、サーバは、サーバのローカル・レコードを更新し、関連するセキュリティ・ソフトウェアにセキュリティ・ポリシの調整を通知する。サーバのローカル・レコードを更新するステップが特に、仮想マシンのＭＡＣアドレスに対応しサーバのローカル・レコードに格納されているホスト・マシンのアドレスを、クライアントにより送信されたパケットで運搬されるホスト・マシンのアドレスとなるように更新するステップであってもよい。
【００８１】
本発明の当該実施形態で提供する仮想マシン・マイグレーションを決定するための方法によれば、ホスト・マシン内のクライアントは、仮想マシンのＭＡＣアドレスとホスト・マシンのアドレスを取得し、仮想マシンの当該ＭＡＣアドレスとホスト・マシンのアドレスをサーバに送信する。その結果、仮想マシンの当該ＭＡＣアドレスがサーバのローカル・レコードに存在する場合には、サーバは、クライアントが送信したパケットで運搬されるホスト・マシンのアドレスがローカル・レコード内の仮想マシンの当該ＭＡＣアドレスに対応するホスト・マシンのアドレスと同じであるかどうかを判定することによって、仮想マシンがマイグレートされているかどうかを判定することができる。このように、仮想マシン・マイグレーションは仮想マシン・マイグレーションに必要な特定の通信プロトコルを利用せずに決定され、特定の通信プロトコルをサポートする通信装置は必要でない。したがって、通信装置に対する要件は大幅に緩和され、それにより、デプロイメントのコストが低下する。
【００８２】
当該実施形態における方法のステップの全部または一部を、関連するハードウェアに指示するプログラムにより実装してもよいことは当業者には理解される。当該プログラムをコンピュータ可読記憶媒体に格納してもよい。当該記憶媒体が読取専用メモリ、磁気ディスク、または光ディスクを備えてもよい。
【００８３】
図５Ａは、本発明の１実施形態に従う仮想マシン・マイグレーションを決定するための装置の構造ブロック図である。図５Ａを参照すると、本発明の当該実施形態で提供する仮想マシン・マイグレーションを決定するための装置５０は、処理ユニット５１、送信ユニット５２、および格納ユニット５３を備える。
【００８４】
処理ユニット５１は、当該装置が配置されているホスト・マシン上の仮想マシンの一意な識別子とホスト・マシンのアドレスを取得するように構成される。
【００８５】
送信ユニット５２は、仮想マシンの一意な識別子が当該装置のローカル・レコードに存在しないと処理ユニット５１が判定した場合に、サーバが、仮想マシンの一意な識別子とホスト・マシンのアドレスに従って、仮想マシンがマイグレートされているかどうかを判定するように、ホスト・マシンが配置されたネットワーク内の当該サーバにパケットを送信するように構成される。当該パケットが仮想マシンの一意な識別子とホスト・マシンのアドレスを運搬する。
【００８６】
格納ユニット５３は、仮想マシンの一意な識別子がローカル・レコードに存在しないと処理ユニット５１が判定した場合に、仮想マシンの一意な識別子をローカル・レコードに追加してローカル・レコードを更新するように構成される。
【００８７】
本発明の当該実施形態で提供する仮想マシン・マイグレーションを決定するための装置によれば、仮想マシン・マイグレーションを決定するための装置は、ホスト・マシン内にあり、仮想マシンの一意な識別子とホスト・マシンのアドレスを取得し、仮想マシンの一意な識別子とホスト・マシンのアドレスをサーバに送信する。その結果、仮想マシンの一意な識別子がサーバのローカル・レコードに存在する場合には、サーバは、仮想マシン・マイグレーションを決定するための装置が送信したパケットで運搬されるホスト・マシンのアドレスがローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと同じであるかどうかを判定することによって、仮想マシンがマイグレートされているかどうかを判定することができる。このように、仮想マシン・マイグレーションは仮想マシン・マイグレーションに必要な特定の通信プロトコルを利用せずに決定され、特定の通信プロトコルをサポートする通信装置は必要でない。したがって、通信装置に対する要件は大幅に緩和され、それにより、デプロイメントのコストが低下する。
【００８８】
場合によっては、本発明の１実施形態では、処理ユニット５１は、仮想マシンの一意な識別子を運搬するホスト・マシン上の仮想マシンからのパケットをインターセプトし、仮想マシンの一意な識別子を当該インターセプトしたパケットから取得するように構成されるか、または、処理ユニット５１は、ホスト・マシン上の仮想スイッチにより転送されるホスト・マシン上の仮想マシンから、ホスト・マシン上の仮想マシンの一意な識別子を運搬するパケットを受信し、ホスト・マシン上の仮想マシンの一意な識別子を当該受信パケットから取得するように構成される。
【００８９】
さらに、本発明の別の実施形態では、図５Ｂに示すように、装置５０がさらに、格納ユニット５３が仮想マシンの一意な識別子をローカル・レコードに追加する前に、受信成功を示しサーバにより送信される応答パケットを受信するように構成された受信ユニット５４を備えてもよい。この場合、格納ユニット５３は特に、受信成功を示しサーバにより送信される応答パケットを当該受信ユニットが受信したときに、仮想マシンの一意な識別子をローカル・レコードに追加するように構成される。
【００９０】
本発明の諸実施形態の図５Ａおよび図５Ｂで提供した仮想マシン・マイグレーションを決定するための装置を、ホスト・マシン内のセキュア仮想マシン、ホスト・マシン内の仮想スイッチ、または物理ネットワーク・アダプタに接続されたホスト・マシン内のコンポーネントに配置してもよいことに留意されたい。物理ネットワーク・アダプタに接続されたコンポーネントは物理コンポーネントに限定されず、ソフトウェアの形式で実装したコンポーネントであってもよい。具体的な動作手続きについては、当該方法の実施形態におけるクライアントに関する説明を参照されたい。ここでは繰り返さない。
【００９１】
図６Ａは、本発明の１実施形態に従う仮想マシン・マイグレーションを決定するための装置の構造ブロック図である。図６Ａを参照すると、本発明の当該実施形態で提供する仮想マシン・マイグレーションを決定するための装置は、受信ユニット６１、決定ユニット６２、および格納ユニット６３を備える。
【００９２】
受信ユニット６１は、ホスト・マシン内のクライアントにより送信されたパケットを受信するように構成される。当該パケットは、ホスト・マシン上の仮想マシンの一意な識別子とホスト・マシンのアドレスを運搬する。
【００９３】
決定ユニット６２は、仮想マシンの一意な識別子が当該装置のローカル・レコードに存在するかどうかを判定するように構成される。
【００９４】
格納ユニット６３は、仮想マシンの一意な識別子が当該装置のローカル・レコードに存在しないと決定ユニット６２が判定した場合に仮想マシンの一意な識別子とホスト・マシンのアドレスの対応関係を当該装置のローカル・レコードに追加するように構成される。
【００９５】
決定ユニット６２はさらに、仮想マシンの一意な識別子が当該装置のローカル・レコードに存在する場合には、当該パケットで運搬されるホスト・マシンのアドレスが当該装置のローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと同じであるかどうかを判定し、当該パケットで運搬されるホスト・マシンのアドレスが当該装置のローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと同じである場合には、仮想マシンがマイグレートされていないと判定し、当該パケットで運搬されるホスト・マシンのアドレスが当該装置のローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと異なる場合には、仮想マシンがマイグレートされていると判定するように構成される。
【００９６】
さらに、本発明の１実施形態では、図６Ｂに示すように、当該装置がさらに、受信ユニット６１がクライアントにより送信されたパケットを受信した後に、クライアントが仮想マシンの一意な識別子をクライアントのローカル・レコードに追加するように、受信成功を示す応答パケットをクライアントに送信するように構成された送信ユニット６４を備えてもよい。
【００９７】
さらに、図６Ｃに示すように、当該装置はさらに、当該パケットで運搬されるホスト・マシンのアドレスが当該装置のローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと異なる場合には、仮想マシンの一意な識別子に対応し当該装置のローカル・レコードに格納されたホスト・マシンのアドレスを当該パケットで運搬されるホスト・マシンのアドレスとなるように更新するように構成された更新ユニット６５を備える。
【００９８】
本発明の当該実施形態で提供する仮想マシン・マイグレーションを決定するための装置によれば、ホスト・マシン内のクライアントが仮想マシンの一意な識別子とホスト・マシンのアドレスを取得し、仮想マシンの一意な識別子およびホスト・マシンのアドレスを仮想マシン・マイグレーションを決定するための装置に送信し、その結果、仮想マシンの一意な識別子が当該装置のローカル・レコードに存在する場合に、仮想マシン・マイグレーションを決定するための装置が、クライアントが送信したパケットで運搬されるホスト・マシンのアドレスがローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと同じであるかどうかを判定することによって、仮想マシンがマイグレートされているかどうかを判定することができる。このように、仮想マシン・マイグレーションは仮想マシン・マイグレーションに必要な特定の通信プロトコルを利用せずに決定され、特定の通信プロトコルをサポートする通信装置は必要でない。したがって、通信装置に対する要件は大幅に緩和され、それにより、デプロイメントのコストが低下する。
【００９９】
仮想マシン・マイグレーションを決定するための装置の実施形態では、当該ユニット分割は論理機能分割にすぎず、本発明は、対応する機能を実装できる限り、上述の分割に限定されないことに留意されたい。さらに、当該機能ユニットの具体的な名前は当該ユニットを互いに区別する目的で提供したにすぎず、本発明の保護範囲を限定しようとするものではない。
【０１００】
本発明の諸実施形態の図６Ａ乃至図６Ｃで提供した仮想マシン・マイグレーションを決定するための装置の動作手続きは本明細書における仮想マシン・マイグレーションを決定するための方法におけるサーバに対応し、仮想マシン・マイグレーションを決定するための方法を上で詳細に説明し、上述の方法の実施形態における関連説明は当該装置の諸実施形態にも適用可能であるので、詳細についてはここでは再度説明することはしないことに留意されたい。
【０１０１】
図７は、本発明の１実施形態に従う仮想マシン・マイグレーションを決定するためのクライアント装置の略図である。図７を参照すると、本発明の当該実施形態の仮想マシン・マイグレーションを決定するためのクライアント装置５００が、上述の方法の実施形態における機能を実装できる任意のネットワーク装置、例えば、ルータ、スイッチ、またはネットワーク・アダプタであってもよい。仮想マシン・マイグレーションを決定するためのクライアント装置５００がプロセッサ５１０、通信インタフェース５２０、メモリ５３０、およびバス５４０を備えてもよい。
【０１０２】
プロセッサ５１０、通信インタフェース５２０、およびメモリ５３０は、バス５４０を用いて相互通信を実現する。通信インタフェース５２０は外部ネットワーク要素と通信するように構成される。
【０１０３】
メモリ５３０はプログラム５３２を格納するように構成される。メモリ５３０が高速ＲＡＭメモリを有してもよく、不揮発性メモリ（ｎｏｎ−ｖｏｌａｔｉｌｅ  ｍｅｍｏｒｙ）、例えば、少なくとも１つのディスク・メモリを備えてもよい。
【０１０４】
特に、プログラム５３２がプログラム・コードを含んでもよく、当該プログラム・コードはコンピュータ動作命令を含む。
【０１０５】
プロセッサ５１０は、中央演算装置ＣＰＵまたは特定用途向け集積回路ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）であってもよく、または、本発明の当該実施形態の１つまたは複数の集積回路であるように構成してもよい。
【０１０６】
プロセッサ５１０は、プログラム５３２を読み取り、クライアント装置が配置されたホスト・マシンの仮想マシンの一意な識別子とホスト・マシンのアドレスを取得し、仮想マシンの一意な識別子がクライアント装置のローカル・レコードに存在しない場合には、サーバが、仮想マシンの一意な識別子とホスト・マシンのアドレスに従って、仮想マシンがマイグレートされているかどうかを判定するように、ホスト・マシンが配置されたネットワーク内の当該サーバに、仮想マシンの一意な識別子とホスト・マシンのアドレスを運搬するパケットを送信し、仮想マシンの一意な識別子をローカル・レコードに追加してローカル・レコードを更新する動作を実施するように構成される。
【０１０７】
本発明の当該実施形態で提供するクライアント装置は、仮想マシンの一意な識別子とホスト・マシンのアドレスを取得し、仮想マシンの一意な識別子とホスト・マシンのアドレスをサーバに送信する。その結果、仮想マシンの一意な識別子がサーバのローカル・レコードに存在する場合には、サーバは、パケットで運搬されているホスト・マシンのアドレスがローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと同じであるかどうかを判定することによって、仮想マシンがマイグレートされているかどうかを判定することができる。このように、仮想マシン・マイグレーションは仮想マシン・マイグレーションに必要な特定の通信プロトコルを利用せずに決定され、特定の通信プロトコルをサポートする通信装置は必要でない。したがって、通信装置に対する要件は大幅に緩和され、それにより、デプロイメントのコストが低下する。
【０１０８】
場合によっては、本発明の１実施形態では、プロセッサ５１０は、ホスト・マシン上の仮想マシンの一意な識別子を運搬するホスト・マシン上の仮想マシンからのパケットをインターセプトし、ホスト・マシン上の仮想マシンの一意な識別子を当該インターセプトしたパケットから取得する動作を実施するように構成されるか、または、プロセッサ５１０は、ホスト・マシン上の仮想マシンの一意な識別子を運搬する、ホスト・マシン上の仮想スイッチにより転送されるホスト・マシン上の仮想マシンからパケットを受信し、ホスト・マシン上の仮想マシンの一意な識別子を当該受信パケットから取得する動作を実施するように構成される。仮想マシンが送信したパケットがＡＲＰパケットであってもよい。
【０１０９】
本発明の別の実施形態では、さらに、プロセッサ５１０はさらに、受信成功を示しサーバにより送信される応答パケットを受信する動作と、受信成功を示しサーバにより送信される応答パケットを受信したとき、仮想マシンの一意な識別子をクライアント装置のローカル・レコードに追加する動作とを実施するように構成される。
【０１１０】
本発明の当該実施形態で提供するクライアント装置を、ホスト・マシン内のセキュア仮想マシン、ホスト・マシン内の仮想スイッチ、または物理ネットワーク・アダプタに接続されたホスト・マシン内のコンポーネントに配置してもよいことに留意されたい。物理ネットワーク・アダプタに接続されたコンポーネントは物理コンポーネントに限定されず、ソフトウェアの形式で実装したコンポーネントであってもよい。
【０１１１】
図８は、本発明の１実施形態に従うサーバ装置の略図である。図８を参照すると、本発明の当該実施形態のサーバ装置６００が、対応する機能を実装できる任意のネットワーク装置、例えば、ルータ、スイッチ、またはネットワーク・アダプタであってもよい。サーバ装置６００は、プロセッサ６１０、通信インタフェース６２０、メモリ６３０、およびバス６４０を備える。
【０１１２】
プロセッサ６１０、通信インタフェース６２０、およびメモリ６３０は、バス６４０を用いて相互通信を実現する。通信インタフェース６２０は外部ネットワーク要素と通信するように構成される。
【０１１３】
メモリ６３０はプログラム６３２を格納するように構成される、メモリ６３０が高速ＲＡＭメモリを有してもよく、不揮発性メモリ（ｎｏｎ−ｖｏｌａｔｉｌｅ  ｍｅｍｏｒｙ）、例えば、少なくとも１つのディスク・メモリを備えてもよい。
【０１１４】
特に、プログラム６３２がプログラム・コードを含んでもよく、当該プログラム・コードはコンピュータ動作命令を含む。
【０１１５】
プロセッサ６１０は、中央演算装置ＣＰＵまたは特定用途向け集積回路ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）であってもよく、または、本発明の当該実施形態の１つまたは複数の集積回路であるように構成してもよい。
【０１１６】
プロセッサ６１０は、メモリ６３０内の当該プログラムを読み取り、ホスト・マシン内のクライアントにより送信された、仮想マシンの一意な識別子とクライアントが配置されているホスト・マシンのアドレスを運搬するパケットを受信し、仮想マシンの一意な識別子がサーバ装置のローカル・レコードに存在しない場合には、仮想マシンの一意な識別子とホスト・マシンのアドレスの対応関係をサーバ装置のローカル・レコードに追加し、仮想マシンの一意な識別子がサーバ装置のローカル・レコードに存在する場合には、当該パケットで運搬されるホスト・マシンのアドレスがサーバのローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと同じであるかどうかを判定し、当該パケットで運搬されるホスト・マシンのアドレスがサーバ装置のローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと同じである場合には、仮想マシンがマイグレートされていないと判定し、当該パケットで運搬されるホスト・マシンのアドレスがサーバ装置のローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと異なる場合には、仮想マシンがマイグレートされていると判定する動作を実施するように構成される。
【０１１７】
さらに、本発明の１実施形態では、プロセッサ６１０はさらに、クライアントにより送信されたパケットを受信した後に、受信成功を示す応答パケットをクライアントに送信して、クライアントが仮想マシンの一意な識別子をサーバ装置のローカル・レコードに追加するようにする動作を実施するように構成される。
【０１１８】
さらに、本発明の１実施形態では、プロセッサ６１０はさらに、当該パケットで運搬されるホスト・マシンのアドレスがサーバ装置のローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと異なる場合には、仮想マシンの一意な識別子に対応しサーバ装置のローカル・レコードに格納されているホスト・マシンのアドレス装置を当該パケットで運搬されるホスト・マシンのアドレスであるように更新する動作を実施するように構成される。
【０１１９】
本発明の当該実施形態により提供されるサーバ装置は、仮想マシンの一意な識別子とホスト・マシンのアドレスを運搬しサーバ装置が配置されたネットワーク内のクライアントにより送信されるパケットを受信し、その結果、仮想マシンの一意な識別子がサーバのローカル・レコードに存在する場合には、サーバ装置は、当該パケットで運搬されるホスト・マシンのアドレスがローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと同じであるかどうかを判定することによって、仮想マシンがマイグレートされているかどうかを判定することができる。このように、仮想マシン・マイグレーションは仮想マシン・マイグレーションに必要な特定の通信プロトコルを利用せずに決定され、特定の通信プロトコルをサポートする通信装置は必要でない。したがって、通信装置に対する要件は大幅に緩和され、それにより、デプロイメントのコストが低下する。
【０１２０】
本発明の諸実施形態で提供したクライアント装置とサーバ装置は本明細書における仮想マシン・マイグレーションを決定するための方法に対応し、仮想マシン・マイグレーションを決定するための方法は上で詳細に説明し、当該方法の実施形態の関連説明はクライアント装置とサーバ装置の諸実施形態にも適用可能であるので、詳細についてはここでは再度説明することはしないことに留意されたい。
【０１２１】
さらに、本発明の諸実施形態で提供したクライアント装置とサーバ装置は物理クライアント装置および物理サーバ装置に限定されず、ソフトウェアにより実装されハードウェアに基づくクライアント装置およびサーバ装置であってもよいことに留意されたい。
【０１２２】
本発明の１実施形態ではさらに、仮想マシン・マイグレーションを決定するためのシステムを提供する。当該システムは、図７に示す少なくとも１つクライアント装置と図８に示す少なくとも１つサーバ装置を備える。具体的な配置方式については、上述の図２Ｂ乃至図２Ｄを参照されたい。
【０１２３】
当該システム内のクライアント装置は、クライアント装置が配置されたホスト・マシンの仮想マシンの一意な識別子とホスト・マシンのアドレスを取得し、仮想マシンの一意な識別子がクライアントのローカル・レコードに存在しない場合には、サーバ装置が、仮想マシンの一意な識別子とホスト・マシンのアドレスに従って、仮想マシンがマイグレートされているかどうかを判定するように、仮想マシンの一意な識別子とホスト・マシンのアドレスを運搬するパケットをホスト・マシンが配置されたネットワーク内の当該サーバ装置に送信し、仮想マシンの一意な識別子をローカル・レコードに追加してクライアント装置のローカル・レコードを更新するように構成される。
【０１２４】
サーバ装置は、ネットワーク内のクライアント装置が送信した、仮想マシンの一意な識別子とクライアント装置が配置されたホスト・マシンのアドレスを運搬するパケットを受信するように構成され、仮想マシンの一意な識別子がサーバ装置のローカル・レコードに存在しない場合には、サーバ装置が仮想マシンの一意な識別子とホスト・マシンのアドレスの対応関係をサーバ装置のローカル・レコードに追加し、仮想マシンの一意な識別子がサーバ装置のローカル・レコードに存在する場合には、サーバ装置は、当該パケットで運搬されるホスト・マシンのアドレスがサーバ装置のローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと同じであるかどうかを判定し、当該パケットで運搬されるホスト・マシンのアドレスがサーバ装置のローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと同じである場合には、サーバ装置は、仮想マシンがマイグレートされていないと判定し、当該パケットで運搬されるホスト・マシンのアドレスがサーバのローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと異なる場合には、サーバ装置は、仮想マシンがマイグレートされていると判定する。
【０１２５】
本発明の各態様または各態様の可能な実装方式を特に、システム、方法、またはコンピュータ・プログラム製品として実装してもよいことは当業者には理解される。したがって、本発明の各態様または各態様の可能な実装方式が、完全なハードウェア実施形態、（ファームウェア、常駐ソフトウェア等を含む）完全なソフトウェア実施形態、またはソフトウェアおよびハードウェア態様を組み合せた実施形態の形を使用してもよく、本明細書ではそれらを集合的に「回路」、「モジュール」、または「システム」と称する。さらに、本発明の各態様または各態様の可能な実装方式がコンピュータ・プログラム製品の形を使用してもよい。当該コンピュータ・プログラム製品は、コンピュータ可読媒体に格納されたコンピュータ可読プログラム・コードを指す。
【０１２６】
当該コンピュータ可読媒体がコンピュータ可読信号媒体またはコンピュータ可読記憶媒体であってもよい。当該コンピュータ可読記憶媒体には、電気、磁気、光、電磁気、赤外線、または半導体システム、デバイス、もしくは装置、またはそれらの任意の適切な組合せ、例えば、ランダム・アクセス・メモリ（ＲＡＭ）、読取専用メモリ（ＲＯＭ）、消去可能プログラム可能読取専用メモリ（ＥＰＲＯＭまたはフラッシュメモリ）、光ファイバ、または可搬型読取専用メモリ（ＣＤ−ＲＯＭ）が含まれるがこれらに限らない。
【０１２７】
コンピュータ内のプロセッサはコンピュータ可読媒体に格納されたコンピュータ可読プログラム・コードを読み出す。その結果、当該プロセッサは、流れ図における各ステップまたはステップの組合せで定義した機能的動作を実施でき、ブロック図における各ブロックまたはブロックの組合せで定義した機能的動作を実施する装置が生成される。
【０１２８】
当該コンピュータ可読プログラム・コードを、独立なソフトウェア・パッケージとして使用して、ユーザのコンピュータで完全に実施することができ、ユーザのコンピュータで部分的に実施することができ、ユーザのコンピュータで部分的に実施しリモート・コンピュータで部分的に実施することができ、または、リモート・コンピュータまたはサーバで完全に実施することができる。幾つかの代替的な実装では、ブロック図内のブロックで示した流れ図または機能の諸ステップを当該図で示した順序に従って行わなくてもよいことに留意されたい。例えば、必要な機能に応じて、連続的に示した２つのステップまたは２つのブロックをほぼ同時に実施してもよく、または、これらのブロックを場合によっては逆の順序で実施してもよい。
【０１２９】
上述の説明は、本発明の具体的な実装方式にすぎず、本発明の保護範囲を限定しようとするものではない。本発明で開示した技術的範囲に入る当業者が容易に想到する任意の変形または置換は本発明の保護範囲に入るものとする。したがって、本発明の保護範囲は添付の特許請求の範囲の保護範囲に支配される。
【符号の説明】
【０１３０】
５０  仮想マシン・マイグレーションを決定するための装置
５１  処理ユニット
５２  送信ユニット
５３  格納ユニット
５４  受信ユニット
６０  仮想マシン・マイグレーションを決定するための装置
６１  受信ユニット
６２  決定ユニット
６３  格納ユニット
６４  送信ユニット
６５  更新ユニット
５００  クライアント装置
５１０  プロセッサ
５２０  通信インタフェース
５３０  メモリ
５３２  プログラム
５４０  通信バス
６００  サーバ装置
６１０  プロセッサ
６２０  通信インタフェース
６３０  メモリ
６３２  プログラム
６４０  通信バス
【図１】
0006037016.tif 000002
【図２Ａ】
0006037016.tif 000003
【図２Ｂ】
0006037016.tif 000004
【図２Ｃ】
0006037016.tif 000005
【図２Ｄ】
0006037016.tif 000006
【図３】
0006037016.tif 000007
【図４】
0006037016.tif 000008
【図５Ａ】
0006037016.tif 000009
【図５Ｂ】
0006037016.tif 000010
【図６Ａ】
0006037016.tif 000011
【図６Ｂ】
0006037016.tif 000012
【図６Ｃ】
0006037016.tif 000013
【図７】
0006037016.tif 000014
【図８】
0006037016.tif 000015