特表2015-537261(P2015-537261A)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ▲ホア▼▲ウェイ▼技術有限公司の特許一覧

特表2015-537261仮想マシン・マイグレーションを決定するための方法および装置
<>
  • 特表2015537261-仮想マシン・マイグレーションを決定するための方法および装置 図000003
  • 特表2015537261-仮想マシン・マイグレーションを決定するための方法および装置 図000004
  • 特表2015537261-仮想マシン・マイグレーションを決定するための方法および装置 図000005
  • 特表2015537261-仮想マシン・マイグレーションを決定するための方法および装置 図000006
  • 特表2015537261-仮想マシン・マイグレーションを決定するための方法および装置 図000007
  • 特表2015537261-仮想マシン・マイグレーションを決定するための方法および装置 図000008
  • 特表2015537261-仮想マシン・マイグレーションを決定するための方法および装置 図000009
  • 特表2015537261-仮想マシン・マイグレーションを決定するための方法および装置 図000010
  • 特表2015537261-仮想マシン・マイグレーションを決定するための方法および装置 図000011
  • 特表2015537261-仮想マシン・マイグレーションを決定するための方法および装置 図000012
  • 特表2015537261-仮想マシン・マイグレーションを決定するための方法および装置 図000013
  • 特表2015537261-仮想マシン・マイグレーションを決定するための方法および装置 図000014
  • 特表2015537261-仮想マシン・マイグレーションを決定するための方法および装置 図000015
  • 特表2015537261-仮想マシン・マイグレーションを決定するための方法および装置 図000016
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】特表2015-537261(P2015-537261A)
(43)【公表日】2015年12月24日
(54)【発明の名称】仮想マシン・マイグレーションを決定するための方法および装置
(51)【国際特許分類】
   G06F 9/50 20060101AFI20151201BHJP
   G06F 13/00 20060101ALI20151201BHJP
   G06F 9/46 20060101ALI20151201BHJP
【FI】
   G06F9/46 465Z
   G06F13/00 353V
   G06F9/46 350
【審査請求】有
【予備審査請求】未請求
【全頁数】38
(21)【出願番号】特願2015-528834(P2015-528834)
(86)(22)【出願日】2012年12月13日
(85)【翻訳文提出日】2015年2月25日
(86)【国際出願番号】CN2012086524
(87)【国際公開番号】WO2014089799
(87)【国際公開日】20140619
(81)【指定国】 AP(BW,GH,GM,KE,LR,LS,MW,MZ,NA,RW,SD,SL,SZ,TZ,UG,ZM,ZW),EA(AM,AZ,BY,KG,KZ,RU,TJ,TM),EP(AL,AT,BE,BG,CH,CY,CZ,DE,DK,EE,ES,FI,FR,GB,GR,HR,HU,IE,IS,IT,LT,LU,LV,MC,MK,MT,NL,NO,PL,PT,RO,RS,SE,SI,SK,SM,TR),OA(BF,BJ,CF,CG,CI,CM,GA,GN,GQ,GW,ML,MR,NE,SN,TD,TG),AE,AG,AL,AM,AO,AT,AU,AZ,BA,BB,BG,BH,BN,BR,BW,BY,BZ,CA,CH,CL,CN,CO,CR,CU,CZ,DE,DK,DM,DO,DZ,EC,EE,EG,ES,FI,GB,GD,GE,GH,GM,GT,HN,HR,HU,ID,IL,IN,IS,JP,KE,KG,KM,KN,KP,KR,KZ,LA,LC,LK,LR,LS,LT,LU,LY,MA,MD,ME,MG,MK,MN,MW,MX,MY,MZ,NA,NG,NI,NO,NZ,OM,PA,PE,PG,PH,PL,PT,QA,RO,RS,RU,RW,SC,SD,SE,SG,SK,SL,SM,ST,SV,SY,TH,TJ,TM,TN,TR,TT,TZ,UA,UG,US,UZ,VC
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.ETHERNET
2.イーサネット
(71)【出願人】
【識別番号】504277388
【氏名又は名称】▲ホア▼▲ウェイ▼技術有限公司
(74)【代理人】
【識別番号】100146835
【弁理士】
【氏名又は名称】佐伯 義文
(74)【代理人】
【識別番号】100140534
【弁理士】
【氏名又は名称】木内 敬二
(72)【発明者】
【氏名】王 雨晨
(72)【発明者】
【氏名】▲楊▼ ▲強▼
(72)【発明者】
【氏名】翁 宇佳
【テーマコード(参考)】
5B089
【Fターム(参考)】
5B089GA01
5B089GA21
5B089KA11
5B089KB06
(57)【要約】
仮想マシン・マイグレーションを決定するための方法は、通信の分野に関し、デプロイメントのコストを削減することができる。当該方法は、ホスト・マシン内のクライアントにより、ホスト・マシン上の仮想マシンの一意な識別子とホスト・マシンのアドレスを取得するステップと、仮想マシンの一意な識別子がクライアントのローカル・レコードに存在しない場合には、サーバが、仮想マシンの一意な識別子とホスト・マシンのアドレスに従って、仮想マシンがマイグレートされているかどうかを判定するように、クライアントにより、ホスト・マシンが配置されたネットワーク内の当該サーバにパケットを送信するステップであって、当該パケットが仮想マシンの一意な識別子とホスト・マシンのアドレスを運搬するステップと、クライアントにより、仮想マシンの一意な識別子をローカル・レコードに追加してローカル・レコードを更新するステップとを含む。本発明はさらに、対応する装置を提供する。
【特許請求の範囲】
【請求項1】
仮想マシン・マイグレーションを決定するための方法であって、
ホスト・マシン内のクライアントにより、前記ホスト・マシン上の仮想マシンの一意な識別子および前記ホスト・マシンのアドレスを取得するステップと、
前記仮想マシンの一意な識別子が前記クライアントのローカル・レコードに存在しない場合には、前記クライアントにより、前記ホスト・マシンが配置されたネットワーク内のサーバにパケットを送信して、前記サーバが、前記仮想マシンの一意な識別子と前記ホスト・マシンのアドレスに従って、前記仮想マシンがマイグレートされているかどうかを判定するようにし、前記クライアントにより、前記仮想マシンの一意な識別子を前記ローカル・レコードに追加して前記ローカル・レコードを更新するステップであって、前記パケットは前記仮想マシンの一意な識別子と前記ホスト・マシンのアドレスを運搬するステップと、
を含む、方法。
【請求項2】
ホスト・マシン内のクライアントにより、前記ホスト・マシン上の仮想マシンの一意な識別子を取得するステップは、
前記ホスト・マシン内の前記クライアントにより、前記ホスト・マシン上の前記仮想マシンからのパケットをインターセプトし、前記仮想マシンの一意な識別子を前記インターセプトしたパケットから取得するステップであって、前記パケットは前記仮想マシンの一意な識別子を運搬するステップ、
または、
前記ホスト・マシン内の前記クライアントにより、前記ホスト・マシン上の仮想スイッチにより転送される前記ホスト・マシン上の前記仮想マシンからパケットを受信し、前記仮想マシンの一意な識別子を受信した前記パケットから取得するステップであって、前記パケットは前記ホスト・マシン上の前記仮想マシンの一意な識別子を運搬するステップ
を含む、請求項1に記載の方法。
【請求項3】
前記ホスト・マシン上の前記仮想マシンからの前記パケットはアドレス解決プロトコルARPパケットである、請求項2に記載の方法。
【請求項4】
前記クライアントにより、前記仮想マシンの一意な識別子を前記ローカル・レコードに追加する前に、
前記クライアントにより、受信成功を示し前記サーバにより送信される応答パケットを受信するステップと、
受信成功を示し前記サーバにより送信される前記応答パケットを受信したとき、前記クライアントにより、前記仮想マシンの一意な識別子を前記ローカル・レコードに追加するステップと、
をさらに含む、請求項1、2、または3に記載の方法。
【請求項5】
前記一意な識別子は、前記仮想マシンのMACアドレス、または前記仮想マシンの静的に構成されたIPアドレスである、請求項1乃至4の何れか1項に記載の方法。
【請求項6】
前記クライアントは、前記ホスト・マシン内のセキュア仮想マシン、前記ホスト・マシン内の仮想スイッチ、または物理ネットワーク・アダプタに接続された前記ホスト・マシン内のコンポーネントに配置される、請求項1乃至4の何れか1項に記載の方法。
【請求項7】
仮想マシン・マイグレーションを決定するための方法であって、
サーバにより、ホスト・マシン内のクライアントにより送信されたパケットを受信するステップであって、前記パケットは、前記ホスト・マシン上の仮想マシンの一意な識別子と前記ホスト・マシンのアドレスを運搬するステップと、
前記仮想マシンの一意な識別子が前記サーバのローカル・レコードに存在しない場合には、前記サーバにより、前記仮想マシンの一意な識別子と前記ホスト・マシンのアドレスの対応関係を前記サーバの前記ローカル・レコードに追加するステップと、
前記仮想マシンの一意な識別子が前記サーバの前記ローカル・レコードに存在する場合には、前記サーバにより、前記パケットで運搬される前記ホスト・マシンのアドレスが前記サーバの前記ローカル・レコード内の前記仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと同じであるかどうかを判定し、前記パケットで運搬される前記ホスト・マシンのアドレスが前記サーバの前記ローカル・レコード内の前記仮想マシンの一意な識別子に対応する前記ホスト・マシンのアドレスと同じである場合には、前記仮想マシンがマイグレートされていないと判定し、前記パケットで運搬される前記ホスト・マシンのアドレスが前記サーバの前記ローカル・レコード内の前記仮想マシンの一意な識別子に対応する前記ホスト・マシンのアドレスと異なる場合には、前記仮想マシンがマイグレートされていると判定するステップと、
を含む、方法。
【請求項8】
クライアントにより送信されたパケットを受信した後、前記クライアントが前記仮想マシンの一意な識別子を前記クライアントのローカル・レコードに追加するように、受信成功を示す応答パケットを前記クライアントに送信するステップをさらに含む、請求項7に記載の方法。
【請求項9】
前記パケットで運搬される前記ホスト・マシンのアドレスが前記サーバの前記ローカル・レコード内の前記仮想マシンの一意な識別子に対応する前記ホスト・マシンのアドレスと異なる場合には、
前記仮想マシンの一意な識別子に対応し前記サーバの前記ローカル・レコードに格納されているホスト・マシンのアドレスを前記パケットで運搬される前記ホスト・マシンのアドレスであるように更新するステップ
をさらに含む、請求項7または8に記載の方法。
【請求項10】
仮想マシン・マイグレーションを決定するための装置であって、
前記装置が配置されているホスト・マシン上の仮想マシンの一意な識別子と前記ホスト・マシンのアドレスを取得するように構成された処理ユニットと、
前記仮想マシンの一意な識別子が前記装置のローカル・レコードに存在しないと前記処理ユニットが判定した場合には、サーバが、前記仮想マシンの一意な識別子と前記ホスト・マシンのアドレスに従って、前記仮想マシンがマイグレートされているかどうかを判定するように、前記ホスト・マシンが配置されたネットワーク内の前記サーバにパケットを送信するように構成された送信ユニットであって、前記パケットが前記仮想マシンの一意な識別子と前記ホスト・マシンのアドレスを運搬する送信ユニットと、
前記仮想マシンの一意な識別子が前記ローカル・レコードに存在しないと前記処理ユニットが判定した場合には、前記仮想マシンの一意な識別子を前記ローカル・レコードに追加して前記ローカル・レコードを更新するように構成された格納ユニットと、
を備える、装置。
【請求項11】
前記処理ユニットは、前記ホスト・マシン上の前記仮想マシンからのパケットをインターセプトし、前記仮想マシンの一意な識別子を前記インターセプトしたパケットから取得するように構成され、前記パケットは前記仮想マシンの一意な識別子を運搬するか、
または、
前記処理ユニットは、前記ホスト・マシン上の仮想スイッチにより転送される前記ホスト・マシン上の前記仮想マシンからパケットを受信し、前記ホスト・マシン上の前記仮想マシンの一意な識別子を受信した前記パケットから取得ように構成され、前記パケットは前記ホスト・マシン上の前記仮想マシンの一意な識別子を運搬する、
請求項10に記載の装置。
【請求項12】
前記装置は、前記格納ユニットが前記仮想マシンの一意な識別子を前記ローカル・レコードに追加する前に、受信成功を示し前記サーバにより送信される応答パケットを受信するように構成された受信ユニットをさらに備え、
前記格納ユニットは特に、受信成功を示し前記サーバにより送信される前記応答パケットを前記受信ユニットが受信したときに、前記仮想マシンの一意な識別子に関する情報を前記ローカル・レコードに追加するように構成される、
請求項10または11に記載の装置。
【請求項13】
前記装置は、前記ホスト・マシン内のセキュア仮想マシン、前記ホスト・マシン内の仮想スイッチ、または物理ネットワーク・アダプタに接続された前記ホスト・マシン内のコンポーネントに配置される、請求項10または11に記載の装置。
【請求項14】
仮想マシン・マイグレーションを決定するための装置であって、
ホスト・マシン内のクライアントにより送信されたパケットを受信するように構成された受信ユニットであって、前記パケットは、前記ホスト・マシン上の仮想マシンの一意な識別子と前記ホスト・マシンのアドレスを運搬する受信ユニットと、
前記仮想マシンの一意な識別子が前記装置のローカル・レコードに存在するかどうかを判定するように構成された決定ユニットと、
前記仮想マシンの一意な識別子が前記装置の前記ローカル・レコードに存在しないと前記決定ユニットが判定した場合に、前記仮想マシンの一意な識別子と前記ホスト・マシンのアドレスの対応関係を前記装置の前記ローカル・レコードに追加するように構成された格納ユニットと、
を備え、
前記決定ユニットはさらに、前記仮想マシンの一意な識別子が前記装置の前記ローカル・レコードに存在する場合には、前記パケットで運搬される前記ホスト・マシンのアドレスが前記装置の前記ローカル・レコード内の前記仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと同じであるかどうかを判定し、前記パケットで運搬される前記ホスト・マシンのアドレスが前記装置の前記ローカル・レコード内の前記仮想マシンの一意な識別子に対応する前記ホスト・マシンのアドレスと同じである場合には、前記仮想マシンがマイグレートされていないと判定し、前記パケットで運搬される前記ホスト・マシンのアドレスが前記装置の前記ローカル・レコード内の前記仮想マシンの一意な識別子に対応する前記ホスト・マシンのアドレスと異なる場合には、前記仮想マシンがマイグレートされていると判定するように構成される、
装置。
【請求項15】
前記受信ユニットが前記クライアントにより送信された前記パケットを受信した後、前記クライアントが前記仮想マシンの一意な識別子を前記クライアントのローカル・レコードに追加するように、受信成功を示す応答パケットを前記クライアントに送信するように構成された送信ユニットをさらに備える、請求項14に記載の装置。
【請求項16】
前記パケットで運搬される前記ホスト・マシンのアドレスが前記装置の前記ローカル・レコード内の前記仮想マシンの一意な識別子に対応する前記ホスト・マシンのアドレスと異なる場合には、前記仮想マシンの一意な識別子に対応し前記装置の前記ローカル・レコードに格納されたホスト・マシンのアドレスを前記パケットで運搬される前記ホスト・マシンのアドレスとなるように更新するように構成された更新ユニットをさらに備える、請求項14または15に記載の装置。
【請求項17】
プロセッサ、通信インタフェース、メモリ、およびバスを備えたクライアント装置であって、
前記プロセッサ、前記通信インタフェース、および前記メモリは前記バスを用いることにより相互通信を実現し、
前記通信インタフェースは、外部ネットワーク要素と通信するように構成され、
前記メモリはプログラムを格納するように構成され、
前記プロセッサは、前記メモリ内の前記プログラムを読み取り、前記クライアント装置が配置されたホスト・マシンの仮想マシンの一意な識別子と前記ホスト・マシンのアドレスを取得し、前記仮想マシンの一意な識別子が前記クライアント装置のローカル・レコードに存在しない場合には、サーバが、前記仮想マシンの一意な識別子と前記ホスト・マシンのアドレスに従って、前記仮想マシンがマイグレートされているかどうかを判定するように、前記ホスト・マシンが配置されたネットワーク内の前記サーバにパケットを送信し、前記仮想マシンの一意な識別子を前記ローカル・レコードに追加して前記ローカル・レコードを更新する動作を実施するように構成され、前記パケットが前記仮想マシンの一意な識別子と前記ホスト・マシンのアドレスを運搬する、
装置。
【請求項18】
前記プロセッサは、前記ホスト・マシン上の前記仮想マシンからのパケットをインターセプトし、前記ホスト・マシン上の前記仮想マシンの一意な識別子を前記インターセプトしたパケットから取得する動作であって、前記パケットは前記ホスト・マシン上の前記仮想マシンの一意な識別子を運搬する動作を実施するように構成されるか、
または、
前記プロセッサは、前記ホスト・マシン上の仮想スイッチにより転送される前記ホスト・マシン上の前記仮想マシンからパケットを受信し、前記ホスト・マシン上の前記仮想マシンの一意な識別子を受信した前記パケットから取得する動作であって、前記パケットは前記ホスト・マシン上の前記仮想マシンの一意な識別子を運搬する動作を実施するように構成される、
請求項17に記載の装置。
【請求項19】
前記プロセッサはさらに、
受信成功を示し前記サーバにより送信される応答パケットを受信する動作と、
受信成功を示し前記サーバにより送信される前記応答パケットを受信したとき、前記仮想マシンの一意な識別子を前記ローカル・レコードに追加する動作と、
を実施するように構成される、請求項17または18に記載の装置。
【請求項20】
前記装置は、前記ホスト・マシン内のセキュア仮想マシン、前記ホスト・マシン内の仮想スイッチ、または物理ネットワーク・アダプタに接続された前記ホスト・マシン内のコンポーネントに配置される、請求項17または18に記載の装置。
【請求項21】
プロセッサ、通信インタフェース、メモリ、およびバスを備えたサーバ装置であって、
前記プロセッサ、前記通信インタフェース、および前記メモリは前記バスを用いることにより相互通信を実現し、
前記通信インタフェースは外部ネットワーク要素と通信するように構成され、
前記メモリはプログラムを格納するように構成され、
前記プロセッサは前記プログラムを実施するように構成され、
前記プロセッサは、前記メモリ内の前記プログラムを読み取り、ホスト・マシン内のクライアントにより送信された、仮想マシンの一意な識別子と前記ホスト・マシンのアドレスを運搬するパケットを受信し、前記仮想マシンの一意な識別子が前記サーバ装置のローカル・レコードに存在しない場合には、前記仮想マシンの一意な識別子と前記ホスト・マシンのアドレスの対応関係を前記サーバ装置の前記ローカル・レコード装置に追加し、前記仮想マシンの一意な識別子が前記サーバ装置の前記ローカル・レコードに存在する場合には、前記パケットで運搬される前記ホスト・マシンのアドレスが前記サーバ装置の前記ローカル・レコード内の前記仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと同じであるかどうかを判定し、前記パケットで運搬される前記ホスト・マシンのアドレスが前記サーバ装置の前記ローカル・レコード内の前記仮想マシンの一意な識別子に対応する前記ホスト・マシンのアドレスと同じである場合には、前記仮想マシンがマイグレートされていないと判定し、前記パケットで運搬される前記ホスト・マシンのアドレスが前記サーバ装置の前記ローカル・レコード内の前記仮想マシンの一意な識別子に対応する前記ホスト・マシンのアドレスと異なる場合には、前記仮想マシンがマイグレートされていると判定する動作を実施するように構成される、
装置。
【請求項22】
前記プロセッサはさらに、前記クライアントにより送信された前記パケットを受信した後に、前記クライアントが前記仮想マシンの一意な識別子を前記クライアントのローカル・レコードに追加するように、受信成功を示す応答パケットを前記クライアントに送信する動作を実施するように構成される、請求項21に記載の装置。
【請求項23】
前記プロセッサはさらに、前記パケットで運搬される前記ホスト・マシンのアドレスが前記サーバ装置の前記ローカル・レコード内の前記仮想マシンの一意な識別子に対応する前記ホスト・マシンのアドレスと異なる場合には、前記仮想マシンの一意な識別子に対応し前記サーバ装置の前記ローカル・レコードに格納されているホスト・マシンのアドレス装置を前記パケットで運搬される前記ホスト・マシンのアドレスであるように更新する動作を実施するように構成される、請求項22に記載の装置。
【請求項24】
請求項17乃至20の何れか1項に記載の少なくとも1つクライアント装置と、請求項21乃至23の何れか1項に記載の少なくとも1つサーバ装置を備えた、仮想マシン・マイグレーションを決定するためのシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信の分野に関し、特に、仮想マシン・マイグレーションを決定するための方法および装置に関する。
【背景技術】
【0002】
今日、仮想マシン技術は一般的に様々なクラウド・コンピューティング環境に適用されており、クラウド・コンピューティングの主なアイデアは、ネットワークを用いて接続された大量のリソース(ここでリソースとは記憶リソース、計算リソースおよび様々な種類のアプリケーション・ソフトウェアを含む)を統一的に管理しスケジュールして、ユーザにオンデマンドでサービスを提供するためのリソース・プールを形成することである。この仮想マシン技術では、1つまたは複数の仮想マシンを1つの物理ホストで仮想化して、幾つかまたは多数の仮想マシンが1つの物理ホストのハードウェア・リソースを共有することによりリソースの利用を高めることができる。しかし、仮想マシン技術の適用はまた、ネットワーク・セキュリティ管理に対し新たな課題をもたらす。既存の物理セキュリティ装置は物理ホストが形成するドメインのセキュリティ、例えば、企業の内部ローカル・エリア・ネットワークのセキュリティを保護するが、幾つかの仮想マシン、特に、同一のホスト・マシン(本明細書では、仮想マシンにハードウェア・リソースを提供する物理ホストをホスト・マシンと称する)上の仮想マシンにより形成された仮想ネットワークにおいて仮想マシン間のトラフィックを監視することはできない。さらに、仮想マシン・マイグレーションでは、静的なセキュリティ・ポリシを適用することはもはやできない。ここで、仮想マシン・マイグレーションとは、もともと1つの物理ホストのハードウェア・リソースと処理リソースに基づいて実装された仮想マシンが別の物理ホストのハードウェア・リソースと処理リソースにより実装される現象をいう。
【0003】
先行技術では、仮想ネットワーク内の仮想マシンのトラフィックを物理的なセキュリティ装置により監視するかホスト・マシンのセキュア仮想マシンにより監視するかに関わらず、仮想マシン・マイグレーションが生じたときにセキュリティ・ポリシを動的に調整する必要がある。したがって、仮想マシン・マイグレーションが生じたことをどのように判定するかが主要な課題となる。
【発明の概要】
【発明が解決しようとする課題】
【0004】
仮想マシン・マイグレーションを決定する現在の方式は、仮想マシンのトラフィックを完全にスイッチに移し、当該スイッチが仮想マシンの存在を判定するというものである。しかし、当該方式では、プロトコルをサポートするオーダメイドのスイッチ、例えば、VEPA(Virtual Ethernet Port Aggregator、仮想イーサネット・ポート集約器)プロトコルをサポートするスイッチが必要であり、仮想マシンのベンダがサポートを提供する必要がある。したがって、デプロイメントのコストは高い。
【課題を解決するための手段】
【0005】
本発明の諸実施形態では仮想マシン・マイグレーションを決定するための方法および装置を提供する。当該方法および装置はデプロイメントのコストを削減することができる。
【0006】
第1の態様によれば、仮想マシン・マイグレーションを決定するための方法を提供する。当該方法は、ホスト・マシン内のクライアントにより、ホスト・マシン上の仮想マシンの一意な識別子とホスト・マシンのアドレスを取得するステップと、サーバが仮想マシンの一意な識別子とホスト・マシンのアドレスに従って、仮想マシンがマイグレートされているかどうかを判定するように、仮想マシンの一意な識別子がクライアントのローカル・レコードに存在しない場合には、クライアントにより、ホスト・マシンが配置されたネットワーク内の当該サーバにパケットを送信し、クライアントにより、仮想マシンの一意な識別子をローカル・レコードに追加してローカル・レコードを更新するステップであって、当該パケットが仮想マシンの一意な識別子とホスト・マシンのアドレスを運搬するステップとを含む。
【0007】
第1の態様の第1の可能な実装方式では、ホスト・マシン内のクライアントにより、ホスト・マシン上の仮想マシンの一意な識別子を取得するステップは、ホスト・マシン内のクライアントにより、ホスト・マシン上の仮想マシンからのパケットをインターセプトするステップであって、当該パケットは仮想マシンの一意な識別子を運搬するステップと、仮想マシンの一意な識別子を当該インターセプトしたパケットから取得するステップとを含む。
【0008】
第1の態様の第2の可能な実装方式では、ホスト・マシン内のクライアントにより、ホスト・マシン上の仮想マシンの一意な識別子を取得するステップは、ホスト・マシン内のクライアントにより、ホスト・マシン上の仮想スイッチにより転送されるホスト・マシン上の仮想マシンからパケットを受信するステップであって、当該パケットはホスト・マシン上の仮想マシンの一意な識別子を運搬するステップと、仮想マシンの一意な識別子を当該受信パケットから取得するステップとを含む。
【0009】
第1の態様の第1の可能な実装方式または第2の可能な実装方式を参照して、第1の態様の第3の可能な実装方式では、ホスト・マシン上の仮想マシンからのパケットはARP(アドレス解決プロトコル、Address Resolution Protocol)パケットである。
【0010】
第1の態様、または第1の態様の第1の可能な実装方式、第2の可能な実装方式、もしくは第3の可能な実装方式を参照して、第1の態様の第4の可能な実装方式では、クライアントにより、仮想マシンの一意な識別子をローカル・レコードに追加する前に、当該方法は、クライアントにより、受信成功を示しサーバにより送信される応答パケットを受信するステップと、受信成功を示しサーバにより送信される応答パケットを受信したとき、クライアントにより、仮想マシンの一意な識別子をローカル・レコードに追加するステップとをさらに含む。
【0011】
第1の態様、または第1の態様の第1の可能な実装方式、第2の可能な実装方式、もしくは第3の可能な実装方式を参照して、第1の態様の第5の可能な実装方式では、当該一意な識別子は、仮想マシンのMACアドレス、または仮想マシンの静的に構成されたIPアドレスである。
【0012】
第1の態様、または第1の態様の第1の可能な実装方式、第2の可能な実装方式、もしくは第3の可能な実装方式を参照して、第1の態様の第6の可能な実装方式では、クライアントは、ホスト・マシン内のセキュア仮想マシン、ホスト・マシン内の仮想スイッチ、または物理ネットワーク・アダプタに接続されたホスト・マシン内のコンポーネントに配置される。
【0013】
第2の態様によれば、仮想マシン・マイグレーションを決定するための方法を提供する。当該方法は、サーバにより、ホスト・マシン内のクライアントにより送信されたパケットを受信するステップであって、当該パケットは、ホスト・マシン上の仮想マシンの一意な識別子とクライアントが配置されているホスト・マシンのアドレスを運搬するステップと、仮想マシンの一意な識別子がサーバのローカル・レコードに存在しない場合には、サーバにより、仮想マシンの一意な識別子とホスト・マシンのアドレスの対応関係をサーバのローカル・レコードに追加するステップと、仮想マシンの一意な識別子がサーバのローカル・レコードに存在する場合には、サーバにより、当該パケットで運搬されるホスト・マシンのアドレスがサーバのローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと同じであるかどうかを判定し、当該パケットで運搬されるホスト・マシンのアドレスが仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと同じである場合には、仮想マシンがマイグレートされていないと判定し、当該パケットで運搬されるホスト・マシンのアドレスが仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと異なる場合には、仮想マシンがマイグレートされていると判定するステップとを含む。
【0014】
第2の態様の第1の可能な実装方式では、クライアントにより送信されたパケットを受信した後に、当該方法はさらに、クライアントが仮想マシンの一意な識別子をクライアントのローカル・レコードに追加するように、受信成功を示す応答パケットをクライアントに送信するステップを含む。
【0015】
第2の態様または第2の態様の第1の可能な実装方式を参照して、第2の態様の第2の可能な実装方式では、当該パケットで運搬されるホスト・マシンのアドレスがサーバのローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと異なる場合には、当該方法はさらに、仮想マシンの一意な識別子に対応しサーバのローカル・レコードに格納されているホスト・マシンのアドレスを当該パケットで運搬されるホスト・マシンのアドレスであるように更新するステップを含む。
【0016】
第3の態様によれば、仮想マシン・マイグレーションを決定するための装置を提供する。当該装置は、当該装置が配置されているホスト・マシン上の仮想マシンの一意な識別子とホスト・マシンのアドレスを取得するように構成された処理ユニットと、仮想マシンの一意な識別子が当該装置のローカル・レコードに存在しないと当該処理ユニットが判定した場合には、サーバが、仮想マシンの一意な識別子とホスト・マシンのアドレスに従って、仮想マシンがマイグレートされているかどうかを判定するように、ホスト・マシンが配置されたネットワーク内の当該サーバにパケットを送信するように構成された送信ユニットであって、当該パケットが仮想マシンの一意な識別子とホスト・マシンのアドレスを運搬する送信ユニットと、仮想マシンの一意な識別子がローカル・レコードに存在しないと当該処理ユニットが判定した場合には、仮想マシンの一意な識別子をローカル・レコードに追加してローカル・レコードを更新するように構成された格納ユニットとを備える。
【0017】
第3の態様の第1の可能な実装方式では、当該処理ユニットは、ホスト・マシン上の仮想マシンからのパケットをインターセプトし、仮想マシンの一意な識別子を当該インターセプトしたパケットから取得するように構成される。当該パケットは仮想マシンの一意な識別子を運搬する。
【0018】
第3の態様の第2の可能な実装方式では、当該処理ユニットは、ホスト・マシン上の仮想スイッチにより転送されるホスト・マシン上の仮想マシンからパケットを受信し、ホスト・マシン上の仮想マシンの一意な識別子を当該受信パケットから取得するように構成される。当該パケットはホスト・マシン上の仮想マシンの一意な識別子を運搬する。
【0019】
第3の態様の第1の可能な実装方式または第2の可能な実装方式を参照して、第3の可能な実装方式では、ホスト・マシン上の仮想マシンからのパケットはアドレス解決プロトコルARPパケットである。
【0020】
第3の態様の第1の可能な実装方式、第2の可能な実装方式、または第3の可能な実装方式を参照して、第4の可能な実装方式では、当該装置はさらに、格納ユニットが仮想マシンの一意な識別子をローカル・レコードに追加する前に、受信成功を示しサーバにより送信される応答パケットを受信するように構成された受信ユニットを備える。当該格納ユニットは特に、受信成功を示しサーバにより送信される応答パケットを当該受信ユニットが受信したとき、仮想マシンの一意な識別子をローカル・レコードに追加するように構成される。
【0021】
第3の態様、または第3の態様の第1の可能な実装方式、第2の可能な実装方式、もしくは第3の可能な実装方式を参照して、第5の可能な実装方式では、当該装置は、ホスト・マシン内のセキュア仮想マシン、ホスト・マシン内の仮想スイッチ、または物理ネットワーク・アダプタに接続されたホスト・マシン内のコンポーネントに配置される。
【0022】
第4の態様によれば、仮想マシン・マイグレーションを決定するための装置を提供する。当該装置は、ホスト・マシン内のクライアントにより送信されたパケットを受信するように構成された受信ユニットであって、当該パケットは、ホスト・マシン上の仮想マシンの一意な識別子とクライアントが配置されているホスト・マシンのアドレスを運搬する受信ユニットと、仮想マシンの一意な識別子が当該装置のローカル・レコードに存在するかどうかを判定するように構成された決定ユニットと、仮想マシンの一意な識別子が当該装置のローカル・レコードに存在しないと当該決定ユニットが判定した場合には、仮想マシンの一意な識別子とホスト・マシンのアドレスの対応関係を当該装置のローカル・レコードに追加するように構成された格納ユニットとを備える。当該決定ユニットはさらに、仮想マシンの一意な識別子が当該装置のローカル・レコードに存在する場合には、当該パケットで運搬されるホスト・マシンのアドレスが当該装置のローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと同じであるかどうかを判定し、当該パケットで運搬されるホスト・マシンのアドレスが当該装置のローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと同じである場合には、仮想マシンがマイグレートされていないと判定し、当該パケットで運搬されるホスト・マシンのアドレスが当該装置のローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと異なる場合には、仮想マシンがマイグレートされていると判定するように構成される。
【0023】
第4の態様の第1の可能な実装方式では、当該装置はさらに、当該受信ユニットがクライアントにより送信されたパケットを受信した後、クライアントが仮想マシンの一意な識別子をクライアントのローカル・レコードに追加するように、受信成功を示す応答パケットをクライアントに送信するように構成された送信ユニットを備える。
【0024】
第4の態様または第4の態様の第1の可能な実装方式を参照して、第4の態様の第2の可能な実装方式では、当該装置はさらに、当該パケットで運搬されるホスト・マシンのアドレスが当該装置のローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと異なる場合には、仮想マシンの一意な識別子に対応し当該装置のローカル・レコードに格納されたホスト・マシンのアドレスを当該パケットで運搬されるホスト・マシンのアドレスとなるように更新するように構成された更新ユニットを備える。
【0025】
第5の態様ではクライアント装置を提供する。当該装置は、プロセッサ、通信インタフェース、メモリ、およびバスを備える。当該プロセッサ、当該通信インタフェース、および当該メモリは当該バスを用いることにより相互通信を実現し、当該通信インタフェースは外部ネットワーク要素と通信するように構成され、当該メモリはプログラムを格納するように構成され、当該プロセッサは、当該メモリ内の当該プログラムを読み取り、クライアント装置が配置されたホスト・マシンの仮想マシンの一意な識別子とホスト・マシンのアドレスを取得し、仮想マシンの一意な識別子がローカル・レコードに存在しない場合には、サーバが、仮想マシンの一意な識別子とホスト・マシンのアドレスに従って、仮想マシンがマイグレートされているかどうかを判定するように、ホスト・マシンが配置されたネットワーク内の当該サーバにパケットを送信し、仮想マシンの一意な識別子をローカル・レコードに追加してローカル・レコードを更新するステップを実施するように構成される。当該パケットは仮想マシンの一意な識別子とホスト・マシンのアドレスを運搬する。
【0026】
第5の態様の第1の可能な実装方式では、当該プロセッサは、ホスト・マシン上の仮想マシンからのパケットをインターセプトし、ホスト・マシン上の仮想マシンの一意な識別子を当該インターセプトしたパケットから取得する動作を実施するように構成される。当該パケットはホスト・マシン上の仮想マシンの一意な識別子を運搬する。
【0027】
第5の態様の第2の可能な実装方式では、当該プロセッサは、ホスト・マシン上の仮想スイッチにより転送されるホスト・マシン上の仮想マシンからパケットを受信し、ホスト・マシン上の仮想マシンの一意な識別子を当該受信パケットから取得する動作を実施するように構成される。当該パケットはホスト・マシン上の仮想マシンの一意な識別子を運搬する。
【0028】
第5の態様の第1の可能な実装方式または第2の可能な実装方式を参照して、第3の可能な実装方式では、当該プロセッサはさらに、受信成功を示しサーバにより送信される応答パケットを受信する動作と、受信成功を示しサーバにより送信される応答パケットを受信したとき、仮想マシンの一意な識別子をローカル・レコードに追加する動作とを実施するように構成される。
【0029】
第5の態様の第1の可能な実装方式、第2の可能な実装方式、または第3の可能な実装方式を参照して、第4の可能な実装方式では、当該装置は、ホスト・マシン内のセキュア仮想マシン、ホスト・マシン内の仮想スイッチ、または物理ネットワーク・アダプタに接続されたホスト・マシン内のコンポーネントに配置される。
【0030】
第6の態様ではサーバ装置を提供する。当該装置は、プロセッサ、通信インタフェース、メモリ、およびバスを備える。当該プロセッサ、当該通信インタフェース、および当該メモリは当該バスを用いることにより相互通信を実現し、当該通信インタフェースは外部ネットワーク要素と通信するように構成され、当該メモリはプログラムを格納するように構成され、当該プロセッサは、当該メモリ内の当該プログラムを読み取り、ホスト・マシン内のクライアントにより送信された、仮想マシンの一意な識別子とクライアントが配置されているホスト・マシンのアドレスを運搬するパケットを受信し、仮想マシンの一意な識別子がサーバのローカル・レコードに存在しない場合には、仮想マシンの一意な識別子とホスト・マシンのアドレスの対応関係をサーバ装置のローカル・レコードに追加し、仮想マシンの一意な識別子がサーバ装置のローカル・レコードに存在する場合には、当該パケットで運搬されるホスト・マシンのアドレスがサーバ装置のローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと同じであるかどうかを判定し、当該パケットで運搬されるホスト・マシンのアドレスがサーバ装置のローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと同じである場合には、仮想マシンがマイグレートされていないと判定し、当該パケットで運搬されるホスト・マシンのアドレスがサーバ装置のローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと異なる場合には、仮想マシンがマイグレートされていると判定する動作を実施するように構成される。
【0031】
第6の態様の第1の可能な実装方式では、当該プロセッサはさらに、クライアントにより送信されたパケットを受信した後に、クライアントが仮想マシンの一意な識別子をクライアントのローカル・レコードに追加するように、受信成功を示す応答パケットをクライアントに送信する動作を実施するように構成される。
【0032】
第6の態様の第1の可能な実装方式を参照して、第6の態様の第2の可能な実装方式では、当該プロセッサはさらに、当該パケットで運搬されるホスト・マシンのアドレスがサーバ装置のローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと異なる場合には、仮想マシンの一意な識別子に対応しサーバ装置のローカル・レコードに格納されているホスト・マシンのアドレス装置を当該パケットで運搬されるホスト・マシンのアドレスであるように更新する動作を実施するように構成される。
【0033】
第7の態様では、第5の態様または第5の態様の可能な実装方式のうち何れかに従う少なくとも1つのクライアント装置と、第6の態様または第6の態様の可能な実装方式のうち何れかに従う少なくとも1つのサーバ装置とを備えた、仮想マシン・マイグレーションを決定するためのシステムを提供する。
【0034】
上述の技術的解決策を使用した後、本発明の諸実施形態により提供される仮想マシン・マイグレーションを決定するための方法および装置では、クライアントがホスト・マシン上の仮想マシンの一意な識別子とホスト・マシンのアドレスを取得し、仮想マシンの一意な識別子がクライアントのローカル・レコードに存在しない場合には、クライアントは、仮想マシンの一意な識別子とホスト・マシンのアドレスを運搬するパケットをサーバに送信し、サーバが当該パケットを受信した後、仮想マシンの一意な識別子がサーバのローカル・レコードに存在する場合には、サーバは、当該パケットで運搬されるホスト・マシンのアドレスがローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと同じであるかどうかを判定し、当該パケットで運搬されるホスト・マシンのアドレスがローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと同じである場合には、サーバは仮想マシンがマイグレートされていないと判定し、当該パケットで運搬されるホスト・マシンのアドレスがローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと異なる場合には、サーバは仮想マシンがマイグレートされていると判定する。このように、仮想マシン・マイグレーションは、仮想マシン・マイグレーションで必要とされる特定の通信プロトコル(例えば、VEPAプロトコル)を利用せずに決定され、特定の通信プロトコルをサポートする通信装置は必要でない。したがって、通信装置に対する要件は緩和され、それにより、デプロイメントのコストが低下する。
【0035】
本発明の諸実施形態または先行技術の技術的解決策をより明確に説明するために、以下では当該諸実施形態または先行技術を説明するのに必要な添付図面を簡単に説明する。明らかに、以下の説明における添付図面は本発明の幾つかの実施形態を示すにすぎず、当業者は創造的作業なしにこれらの添付図面から本発明の技術的解決策の他の図面を導出することができる。
【図面の簡単な説明】
【0036】
図1】本発明の1実施形態に従う仮想マシン・マイグレーションを決定するための方法が適用されるシステムのデプロイ構造の略図である。
図2A】本発明の1実施形態に従う仮想マシン・マイグレーションを決定するための方法の流れ図である。
図2B】本発明の1実施形態に従うシステムのデプロイ構造の略図である。
図2C】本発明の1実施形態に従うシステムのデプロイ構造の別の略図である。
図2D】本発明の1実施形態に従うシステムのデプロイ構造のさらに別の略図である。
図3】本発明の1実施形態に従う仮想マシン・マイグレーションを決定するための方法の流れ図である。
図4】本発明の1実施形態に従う仮想マシン・マイグレーションを決定するための別の方法の略図である。
図5A】本発明の1実施形態に従う仮想マシン・マイグレーションを決定するための装置の構造ブロック図である。
図5B】本発明の1実施形態に従う仮想マシン・マイグレーションを決定するための装置の別の構造ブロック図である。
図6A】本発明の1実施形態に従う仮想マシン・マイグレーションを決定するための装置の構造ブロック図である。
図6B】本発明の1実施形態に従う仮想マシン・マイグレーションを決定するための装置の別の構造ブロック図である。
図6C】本発明の1実施形態に従う仮想マシン・マイグレーションを決定するための装置のさらに別の構造ブロック図である。
図7】本発明の1実施形態に従う仮想マシン・マイグレーションを決定するためのクライアント装置の略図である。
図8】本発明の1実施形態に従う仮想マシン・マイグレーションを決定するためのサーバ装置の略図である。
【発明を実施するための形態】
【0037】
以下では本発明の諸実施形態の添付図面を参照して本発明の諸実施形態の技術的解決策を明確かつ十分に説明する。明らかに、説明する以下の諸実施形態は本発明の諸実施形態の一部であって全部ではない。当業者が創造的作業なしに本発明の諸実施形態に基づいて得る他の全ての実施形態は本発明の保護範囲に入るものとする。
【0038】
図1は、本発明の1実施形態に従う仮想マシン・マイグレーションを決定するための方法が適用されるシステムのデプロイ構造の略図である。本発明をより分かり易くするために、以下では先ず図1を参照して当該デプロイ構造を簡単に説明する。
【0039】
当該デプロイ構造は複数のホスト・マシンを含んでもよい。図1では、当該デプロイ構造が2つのホスト・マシン、即ち、ホスト・マシン1とホスト・マシンnのみを含む例を用いて説明を行う。ホスト・マシン1を、物理セキュリティ装置(例えば、スイッチ)を用いてホスト・マシンnに接続してもよい。仮想マシンと仮想スイッチはそれぞれホスト・マシン1とホスト・マシンnの中に配置される。ホスト・マシン1は、仮想スイッチ1と複数の仮想マシン(本図では、仮想マシン1と仮想マシン2の2つ)を含んでもよい。仮想マシン1と仮想マシン2は別々に仮想スイッチ1と通信接続する。ホスト・マシンnは、仮想スイッチnおよび複数の仮想マシン(本図では、仮想マシン3と仮想マシン4の2つ)を含んでもよい。仮想マシン3と仮想マシン4は別々に仮想スイッチnと通信接続する。
【0040】
仮想マシンが通信を行うとき、仮想マシンにより送信されたパケットは先ず、仮想マシンが配置されたホスト・マシン上の仮想スイッチに到達し、仮想スイッチと通信接続する別の仮想マシンに仮想スイッチにより送信されるか、または、仮想スイッチによりホスト・マシンの物理ネットワーク・アダプタに送信され、物理ネットワーク・アダプタによりホスト・マシンを除く別の装置に送信されてもよい。
【0041】
さらに、セキュア仮想マシン(図1では図示せず)を、必要に応じてホスト・マシンにさらに配置してもよい。本発明の当該実施形態では、セキュア仮想マシンは、ネットワーク・トラフィックにセキュリティ保護をもたらしホスト・マシン内に存在する仮想マシン装置である。セキュア仮想マシンが仮想マシンと通信接続してもよく、仮想スイッチがトラフィックをセキュア仮想マシンに取り込むとき、セキュア仮想マシンは、取り込まれたトラフィックに対してセキュリティ制御を実施してもよい。
【0042】
本発明の当該実施形態で提供する仮想マシン・マイグレーションを決定するための方法では、図1に示す構造に基づいて、クライアントとサーバを導入する。これらは、低いデプロイメントのコストで、仮想マシンがマイグレートされるかどうかを判定することができる。
【0043】
図2Aは、本発明の1実施形態に従う仮想マシン・マイグレーションを決定するための方法の流れ図である。図2Aを参照すると、本発明の当該実施形態では仮想マシン・マイグレーションを決定するための方法を提供する。当該方法は、ホスト・マシン内のクライアントに基づいて説明され、以下を含む。
【0044】
21で、ホスト・マシン内のクライアントがホスト・マシン上の仮想マシンの一意な識別子とホスト・マシンのアドレスを取得する。
【0045】
ホスト・マシン上の仮想マシンの一意な識別子が、仮想マシンの媒体アクセス制御(MAC、Media Access Control)アドレスであってもよく、ユーザが構成した静的IPアドレスであってもよく、本明細書では限定されない。
【0046】
本発明の当該実施形態では、ホスト・マシン内のクライアントを実際のニーズに従って様々な位置に配置してもよい。例えば、図2Bを参照すると、クライアントをホスト・マシン内のセキュア仮想マシンに配置してもよく、図2Cを参照すると、クライアントをホスト・マシン内の仮想スイッチに配置してもよく、図2Dを参照すると、クライアントをホスト・マシン内のコンポーネントに配置して物理ネットワーク・アダプタに接続してもよい。物理ネットワーク・アダプタに接続されたコンポーネントは物理コンポーネントに限定されず、ソフトウェア形式で実装されたコンポーネントであってもよい。クライアントを別の位置に配置してもよく、本発明では限定されない。ホスト・マシン内のクライアントの様々な位置に従って、本発明の当該実施形態では、ホスト・マシン上の仮想マシンの一意な識別子を別の方式で取得してもよい。
【0047】
ホスト・マシン上の仮想マシンの一意な識別子を取得する1つの方式は、ホスト・マシン内のクライアントにより、ホスト・マシン上の仮想マシンにより送信された、ホスト・マシン上の仮想マシンの一意な識別子を運搬するパケットをインターセプトするステップと、ホスト・マシン上の仮想マシンの一意な識別子を当該インターセプトしたパケットから取得するステップとを含んでもよい。換言すれば、このようにして、クライアントは、ホスト・マシン上の仮想マシンにより送信され仮想マシンの一意な識別子を運搬するパケットを直接インターセプトすることで、仮想マシンの一意な識別子を知ることができる。当該方式は、クライアントがホスト・マシン内の仮想スイッチ内に配置されるケースに適用可能である。ホスト・マシン上の仮想マシンが送信したパケットはアドレス解決プロトコル(ARP、Address Resolution Protocol)ARPパケットである。
【0048】
ホスト・マシン上の仮想マシンの一意な識別子を取得する別の方式が、ホスト・マシン内のクライアントにより、ホスト・マシン上の仮想スイッチにより転送された、ホスト・マシン上の仮想マシンの一意な識別子を運搬するパケットを受信するステップと、ホスト・マシン上の仮想マシンの一意な識別子を当該受信パケットから取得するステップを含んでもよい。仮想スイッチにより送信されたパケットは、ホスト・マシン上の仮想マシンにより送信されたパケットをインターセプトすることによって仮想スイッチにより取得される。換言すれば、このようにして、クライアントは、ホスト・マシン上の仮想スイッチにより転送されホスト・マシン上の仮想マシンの一意な識別子を運搬するパケットを受信することによって、仮想マシンの一意な識別子を知る。特に、正式な通信を開始する前に、ホスト・マシン上の仮想マシンが仮想マシンの一意な識別子を運搬するパケットをブロードキャストし、当該パケットをインターセプトした後に、ホスト・マシン上の仮想スイッチが当該パケットを転送してもよく、ホスト・マシン上のクライアントが、仮想スイッチにより転送されたパケットを受信することによってホスト・マシン上の仮想マシンの一意な識別子を取得することができる。当該方式は、クライアントがセキュア仮想マシン内のコンポーネントの中に配置され物理ネットワーク・アダプタに接続されるケースに適用可能である。仮想マシンが送信したパケットがARPパケットであってもよい。
【0049】
場合によっては、本発明の1実施形態では、ホスト・マシン上の仮想マシンが送信したパケットはアドレス解決プロトコル(ARP、Address Resolution Protocol)ARPパケットであり、仮想マシンの一意な識別子を運搬する。ARP通信は正常な通信の前の必要なプロセスであり少量のデータを必要とするので、システム性能を最適化する目的に基づいて、クライアントまたは仮想スイッチは、仮想マシンが送信したARPパケットを取得し、当該ARPパケットを用いて仮想マシンの一意な識別子を取得すればよい。
【0050】
本発明の当該実施形態では、ホスト・マシンとは、仮想マシンが現在存在する物理マシンをいい、1つまたは複数の仮想マシンが1つのホスト・マシンに存在してもよく、本発明では限定されない。
【0051】
本発明の当該実施形態では、ホスト・マシンのアドレスが、ホスト・マシンのIPアドレスであってもよく、ホスト・マシンを一意に識別できるアドレス、例えば、ホスト・マシンのMACアドレスであってもよい。
【0052】
本発明の当該実施形態では、ユーザがホスト・マシンを事前に構成し、構成内容にはホスト・マシンのアドレスが含まれる。したがって、ステップ11では、ホスト・マシン内のクライアントにより、ホスト・マシンのアドレスを取得するステップが特に、ホスト・マシン内のクライアントにより、当該ユーザが入力した構成情報に従ってホスト・マシンのアドレスを取得するステップであってもよい。
【0053】
ステップ11でホスト・マシン上の仮想マシンの一意な識別子とホスト・マシンのアドレスを取得した後、クライアントは、仮想マシンの一意な識別子がローカル・レコードに存在するかどうかを判定してもよい。ローカル・レコードをキャッシュまたはメモリに格納してもよく、キャッシュの読取り/書込み速度は高いので、キャッシュ方式でのローカル・レコードの格納により検索時間を節約することができる。特に、ホスト・マシン上の仮想マシンの一意な識別子とホスト・マシンのアドレスを取得した後、クライアントが、仮想マシンの一意な識別子を格納するのに使用されるローカル・レコードを生成し、次いで、仮想マシンの(MACアドレスのような)一意な識別子を検索オブジェクトとして使用することによってローカル・レコードを検索してもよい。当該一意な識別子を発見できる場合には、仮想マシンの一意な識別子がローカル・レコードに存在すると判定し、当該一意な識別子を発見できなかった場合には、仮想マシンの一意な識別子がローカル・レコードに存在しないと判定する。
【0054】
本発明の範囲において、ホスト・マシンの別の実行体が、仮想マシンの一意な識別子がローカル・レコードに存在するかどうかを判定し、さらに、仮想マシンの一意な識別子がローカル・レコードに存在するかどうかを示す結果をクライアントに通知してもよい。
【0055】
22で、仮想マシンの一意な識別子がクライアントのローカル・レコードに存在しない場合には、サーバが、仮想マシンの一意な識別子とホスト・マシンのアドレスに従って、仮想マシンがマイグレートされているかどうかを判定するように、クライアントは、仮想マシンの一意な識別子とホスト・マシンのアドレスを運搬するパケットをサーバに送信し、クライアントが仮想マシンの一意な識別子をローカル・レコードに追加してローカル・レコードを更新する。
【0056】
場合によっては、サーバは、ホスト・マシンが配置されたネットワーク内の1つの装置の中に配置され、ホスト・マシン内のクライアントと通信接続する。例えば、サーバを図1の物理セキュリティ装置に配置してもよく、または、専用装置内に独立に配置してもよい。
【0057】
場合によっては、本発明の1実施形態では、クライアントにより、ステップ22で仮想マシンの一意な識別子をローカル・レコードに追加する前に、本発明の当該実施形態で提供する仮想マシン・マイグレーションを決定するための方法がさらに、クライアントにより、受信成功を示しサーバにより送信される応答パケットを受信するステップを含んでもよい。この場合、クライアントにより、ステップ22で仮想マシンの一意な識別子をローカル・レコードに追加するステップが特に、受信成功を示しサーバにより送信される応答パケットを受信したときに、クライアントにより、仮想マシンの一意な識別子をローカル・レコードに追加するステップであってもよい。
【0058】
本発明の当該実施形態で提供する仮想マシン・マイグレーションを決定するための方法によれば、ホスト・マシン内のクライアントが仮想マシンの一意な識別子とホスト・マシンのアドレスを取得し、仮想マシンの一意な識別子とホスト・マシンのアドレスをサーバに送信する。その結果、仮想マシンの一意な識別子がサーバのローカル・レコードに存在する場合には、サーバは、クライアントが送信したパケットで運搬されるホスト・マシンのアドレスがローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと同じであるかどうかを判定することによって、仮想マシンがマイグレートされているかどうかを判定することができる。このように、仮想マシン・マイグレーションは仮想マシン・マイグレーションで必要とされる特定の通信プロトコル(例えば、VEPAプロトコル)を利用せずに決定され、特定の通信プロトコルをサポートする通信装置は必要でない。したがって、通信装置に対する要件は大幅に緩和され、それにより、デプロイメントのコストが低下する。
【0059】
図3は、本発明の1実施形態に従う仮想マシン・マイグレーションを決定するための方法の流れ図である。図3を参照すると、本発明の当該実施形態では仮想マシン・マイグレーションを決定するための方法を提供する。当該方法をサーバに基づいて説明する。サーバを、ホスト・マシンが配置されるネットワーク内の装置に配置してもよく、サーバはホスト・マシン内のクライアントと通信接続する。例えば、サーバを図1の物理セキュリティ装置に配置してもよく、または、専用装置内に独立に配置してもよい。当該方法は以下を含む。
【0060】
31で、ホスト・マシン内のクライアントにより送信されたパケットを受信する。当該パケットは仮想マシンの一意な識別子とホスト・マシンのアドレスを運搬する。
【0061】
ステップ31でクライアントにより送信されたパケットを受信した後に、本発明の当該実施形態で提供する仮想マシン・マイグレーションを決定するための方法がさらに、受信成功を示す応答パケットをクライアントに送信して、クライアントが仮想マシンの一意な識別子をローカル・レコードに追加するようにするステップを備えてもよい。
【0062】
ステップ32の前に、サーバは先ず、仮想マシンの一意な識別子がサーバのローカル・レコードに存在するかどうかを判定してもよい。特に、サーバは、仮想マシンの一意な識別子を検索オブジェクトとして用いることによってローカル・レコードを検索してもよい。当該一意な識別子を発見できた場合には、仮想マシンの一意な識別子がローカル・レコードに存在すると判定し、当該一意な識別子を発見できなかった場合には、仮想マシンの一意な識別子がローカル・レコードに存在しないと判定する。
【0063】
32で、仮想マシンの一意な識別子がサーバのローカル・レコードに存在しない場合には、仮想マシンの一意な識別子とホスト・マシンのアドレスの対応関係をローカル・レコードに追加する。
【0064】
仮想マシンの一意な識別子がサーバのローカル・レコードに存在しない場合、即ち、仮想マシンの一意な識別子とホスト・マシンのアドレスの対応関係が初めて追加されるケースでは、仮想マシンがマイグレートされていないと考えられる。
【0065】
33で、仮想マシンの一意な識別子がサーバのローカル・レコードに存在する場合には、当該パケットで運搬されるホスト・マシンのアドレスがサーバのローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと同じであるかどうかを判定し、当該パケットで運搬されるホスト・マシンのアドレスがサーバのローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと同じである場合には、ステップ34を実施し、当該パケットで運搬されるホスト・マシンのアドレスがサーバのローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと異なる場合には、ステップ35を実施する。
【0066】
34で、当該パケットで運搬されるホスト・マシンのアドレスがサーバのローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと同じである場合には、仮想マシンがマイグレートされていないと判定する。
【0067】
35で、当該パケットで運搬されるホスト・マシンのアドレスがサーバのローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと異なる場合には、仮想マシンがマイグレートされていると判定する。さらに、仮想マシンの一意な識別子に対応しサーバのローカル・レコードに格納されているホスト・マシンのアドレスをさらに、当該パケットで運搬されるホスト・マシンのアドレスとなるように更新してもよい。
【0068】
本発明の当該実施形態で提供する仮想マシン・マイグレーションを決定するための方法によれば、ホスト・マシン内のクライアントが仮想マシンの一意な識別子とホスト・マシンのアドレスを取得し、仮想マシンの一意な識別子とホスト・マシンのアドレスをサーバに送信する。その結果、仮想マシンの一意な識別子がサーバのローカル・レコードに存在する場合には、サーバは、クライアントが送信したパケットで運搬されるホスト・マシンのアドレスがローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと同じであるかどうかを判定することによって、仮想マシンがマイグレートされているかどうかを判定することができる。このように、仮想マシン・マイグレーションは仮想マシン・マイグレーションに必要な特定の通信プロトコルを利用せずに決定され、特定の通信プロトコルをサポートする通信装置は必要でない。したがって、通信装置に対する要件は大幅に緩和され、それにより、デプロイメントのコストが低下する。
【0069】
本発明をより分かり易くするために、以下では、具体的な諸実施形態を例として用いて本発明をさらに説明する。以下で列挙した諸実施形態は、本発明の諸実施形態の一部にすぎず、当業者は本発明の内容から他の諸実施形態を容易に理解でき、したがって、それらは本発明の範囲内にあることに留意されたい。
【0070】
1実施形態では、仮想マシン・マイグレーションを決定するための方法を提供する。当該方法は、通信装置に関する要件を大幅に緩和することができ、それにより、デプロイメントのコストが低下する。仮想マシンの一意な識別子がMAXアドレスである図4を例として参照すると、当該方法は以下を含んでもよい。
【0071】
(1)仮想マシンが、仮想マシンのMACアドレスを運搬するパケットを送信する。仮想マシンが送信したパケットがARPパケットであってもよい。
【0072】
(2)クライアントが、クライアントが配置されたホスト・マシン上の仮想マシンのMAXアドレスを取得し、仮想マシンのMAXアドレスを格納するために使用されるローカル・レコードを生成する。
【0073】
クライアントがホスト・マシン上の仮想スイッチに配置されている場合には、クライアントは、ホスト・マシン上の仮想マシンにより送信されたパケットを直接インターセプトし当該パケットを解析して当該パケットのソースMAXアドレス、即ち、ホスト・マシン上の仮想マシンのMACアドレスを取得することによって、ホスト・マシン上の仮想マシンのMACアドレスを取得してもよい。クライアントがセキュア仮想マシンまたは物理ネットワーク・アダプタに接続されたコンポーネントに配置されている場合には、クライアントは、仮想スイッチにより転送されたパケットを受信し当該パケットを解析してソースMACアドレス、即ち、ホスト・マシン上の仮想マシンのMACアドレスを取得することによって、ホスト・マシン上の仮想マシンのMACアドレスを取得してもよい。
【0074】
(3)クライアントが、仮想マシンの取得したMACアドレスをクライアントのローカル・レコード内のMACアドレスと比較して、仮想マシンの取得したMACアドレスがクライアントのローカル・レコードに存在するかどうかを判定する。仮想マシンの取得したMACアドレスがクライアントのローカル・レコードに存在する場合には、クライアントは動作を停止し、仮想マシンの取得したMACアドレスがクライアントのローカル・レコードに存在しない場合には、クライアントは次のステップ(4)を実施する。
【0075】
(4)クライアントが、ホスト・マシンのアドレス(例えば、IPアドレス)を取得し、パケットを用いて、仮想マシンの取得したMACアドレスおよびホスト・マシンの取得したアドレスをサーバに送信する。
【0076】
(5)仮想マシンのMACアドレスとホスト・マシンのアドレスを運搬するパケットを受信した後、サーバは受信成功を示す応答パケットをクライアントに送信する。
【0077】
(6)仮想マシンのMACアドレスとホスト・マシンのアドレスを運搬するパケットの受信にサーバが成功したとクライアントが当該応答パケットに従って判定した場合には、クライアントは、仮想マシンのMACアドレスをクライアントのローカル・レコードに追加する。
【0078】
(7)サーバが、仮想マシンと仮想マシンに対応するホスト・マシンの間の関係の記録を維持し、クライアントにより送信された仮想マシンのMACアドレスを受信した後にローカル・レコードを検索し、当該MACアドレスがサーバのローカル・レコードに存在するかどうかを判定する。当該MACアドレスがサーバのローカル・レコードに存在しない場合には、サーバは、仮想マシンが新たに有効になった仮想マシンであるとみなし、仮想マシンのMACアドレスをサーバのローカル・レコードに追加し、仮想マシンがマイグレートされていないと判定する。当該MACアドレスがサーバのローカル・レコードに存在する場合には、サーバはステップ(8)を実施する。
【0079】
(8)サーバが、仮想マシンのMACアドレスに対応するホスト・マシンのアドレスを求めてサーバのローカル・レコードを検索し、当該サーバのローカル・レコードで発見されクライアントにより送信された仮想マシンのMACアドレスに対応するホスト・マシンのアドレスとホスト・マシンのアドレスを比較して、これらの2つのアドレスが同一であるかどうかを判定する。当該2つのアドレスが同一である場合には、サーバは、当該MACアドレスに対応する仮想マシンがマイグレートされていないと判定し、当該2つのアドレスが異なる場合には、サーバは、当該MACアドレスに対応する仮想マシンがマイグレートされていると判定し、サーバはステップ(9)を実施する。
【0080】
(9)仮想マシンがマイグレートされていることを学習した後、サーバは、サーバのローカル・レコードを更新し、関連するセキュリティ・ソフトウェアにセキュリティ・ポリシの調整を通知する。サーバのローカル・レコードを更新するステップが特に、仮想マシンのMACアドレスに対応しサーバのローカル・レコードに格納されているホスト・マシンのアドレスを、クライアントにより送信されたパケットで運搬されるホスト・マシンのアドレスとなるように更新するステップであってもよい。
【0081】
本発明の当該実施形態で提供する仮想マシン・マイグレーションを決定するための方法によれば、ホスト・マシン内のクライアントは、仮想マシンのMACアドレスとホスト・マシンのアドレスを取得し、仮想マシンの当該MACアドレスとホスト・マシンのアドレスをサーバに送信する。その結果、仮想マシンの当該MACアドレスがサーバのローカル・レコードに存在する場合には、サーバは、クライアントが送信したパケットで運搬されるホスト・マシンのアドレスがローカル・レコード内の仮想マシンの当該MACアドレスに対応するホスト・マシンのアドレスと同じであるかどうかを判定することによって、仮想マシンがマイグレートされているかどうかを判定することができる。このように、仮想マシン・マイグレーションは仮想マシン・マイグレーションに必要な特定の通信プロトコルを利用せずに決定され、特定の通信プロトコルをサポートする通信装置は必要でない。したがって、通信装置に対する要件は大幅に緩和され、それにより、デプロイメントのコストが低下する。
【0082】
当該実施形態における方法のステップの全部または一部を、関連するハードウェアに指示するプログラムにより実装してもよいことは当業者には理解される。当該プログラムをコンピュータ可読記憶媒体に格納してもよい。当該記憶媒体が読取専用メモリ、磁気ディスク、または光ディスクを備えてもよい。
【0083】
図5Aは、本発明の1実施形態に従う仮想マシン・マイグレーションを決定するための装置の構造ブロック図である。図5Aを参照すると、本発明の当該実施形態で提供する仮想マシン・マイグレーションを決定するための装置50は、処理ユニット51、送信ユニット52、および格納ユニット53を備える。
【0084】
処理ユニット51は、当該装置が配置されているホスト・マシン上の仮想マシンの一意な識別子とホスト・マシンのアドレスを取得するように構成される。
【0085】
送信ユニット52は、仮想マシンの一意な識別子が当該装置のローカル・レコードに存在しないと処理ユニット51が判定した場合に、サーバが、仮想マシンの一意な識別子とホスト・マシンのアドレスに従って、仮想マシンがマイグレートされているかどうかを判定するように、ホスト・マシンが配置されたネットワーク内の当該サーバにパケットを送信するように構成される。当該パケットが仮想マシンの一意な識別子とホスト・マシンのアドレスを運搬する。
【0086】
格納ユニット53は、仮想マシンの一意な識別子がローカル・レコードに存在しないと処理ユニット51が判定した場合に、仮想マシンの一意な識別子をローカル・レコードに追加してローカル・レコードを更新するように構成される。
【0087】
本発明の当該実施形態で提供する仮想マシン・マイグレーションを決定するための装置によれば、仮想マシン・マイグレーションを決定するための装置は、ホスト・マシン内にあり、仮想マシンの一意な識別子とホスト・マシンのアドレスを取得し、仮想マシンの一意な識別子とホスト・マシンのアドレスをサーバに送信する。その結果、仮想マシンの一意な識別子がサーバのローカル・レコードに存在する場合には、サーバは、仮想マシン・マイグレーションを決定するための装置が送信したパケットで運搬されるホスト・マシンのアドレスがローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと同じであるかどうかを判定することによって、仮想マシンがマイグレートされているかどうかを判定することができる。このように、仮想マシン・マイグレーションは仮想マシン・マイグレーションに必要な特定の通信プロトコルを利用せずに決定され、特定の通信プロトコルをサポートする通信装置は必要でない。したがって、通信装置に対する要件は大幅に緩和され、それにより、デプロイメントのコストが低下する。
【0088】
場合によっては、本発明の1実施形態では、処理ユニット51は、仮想マシンの一意な識別子を運搬するホスト・マシン上の仮想マシンからのパケットをインターセプトし、仮想マシンの一意な識別子を当該インターセプトしたパケットから取得するように構成されるか、または、処理ユニット51は、ホスト・マシン上の仮想スイッチにより転送されるホスト・マシン上の仮想マシンから、ホスト・マシン上の仮想マシンの一意な識別子を運搬するパケットを受信し、ホスト・マシン上の仮想マシンの一意な識別子を当該受信パケットから取得するように構成される。
【0089】
さらに、本発明の別の実施形態では、図5Bに示すように、装置50がさらに、格納ユニット53が仮想マシンの一意な識別子をローカル・レコードに追加する前に、受信成功を示しサーバにより送信される応答パケットを受信するように構成された受信ユニット54を備えてもよい。この場合、格納ユニット53は特に、受信成功を示しサーバにより送信される応答パケットを当該受信ユニットが受信したときに、仮想マシンの一意な識別子をローカル・レコードに追加するように構成される。
【0090】
本発明の諸実施形態の図5Aおよび図5Bで提供した仮想マシン・マイグレーションを決定するための装置を、ホスト・マシン内のセキュア仮想マシン、ホスト・マシン内の仮想スイッチ、または物理ネットワーク・アダプタに接続されたホスト・マシン内のコンポーネントに配置してもよいことに留意されたい。物理ネットワーク・アダプタに接続されたコンポーネントは物理コンポーネントに限定されず、ソフトウェアの形式で実装したコンポーネントであってもよい。具体的な動作手続きについては、当該方法の実施形態におけるクライアントに関する説明を参照されたい。ここでは繰り返さない。
【0091】
図6Aは、本発明の1実施形態に従う仮想マシン・マイグレーションを決定するための装置の構造ブロック図である。図6Aを参照すると、本発明の当該実施形態で提供する仮想マシン・マイグレーションを決定するための装置は、受信ユニット61、決定ユニット62、および格納ユニット63を備える。
【0092】
受信ユニット61は、ホスト・マシン内のクライアントにより送信されたパケットを受信するように構成される。当該パケットは、ホスト・マシン上の仮想マシンの一意な識別子とホスト・マシンのアドレスを運搬する。
【0093】
決定ユニット62は、仮想マシンの一意な識別子が当該装置のローカル・レコードに存在するかどうかを判定するように構成される。
【0094】
格納ユニット63は、仮想マシンの一意な識別子が当該装置のローカル・レコードに存在しないと決定ユニット62が判定した場合に仮想マシンの一意な識別子とホスト・マシンのアドレスの対応関係を当該装置のローカル・レコードに追加するように構成される。
【0095】
決定ユニット62はさらに、仮想マシンの一意な識別子が当該装置のローカル・レコードに存在する場合には、当該パケットで運搬されるホスト・マシンのアドレスが当該装置のローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと同じであるかどうかを判定し、当該パケットで運搬されるホスト・マシンのアドレスが当該装置のローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと同じである場合には、仮想マシンがマイグレートされていないと判定し、当該パケットで運搬されるホスト・マシンのアドレスが当該装置のローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと異なる場合には、仮想マシンがマイグレートされていると判定するように構成される。
【0096】
さらに、本発明の1実施形態では、図6Bに示すように、当該装置がさらに、受信ユニット61がクライアントにより送信されたパケットを受信した後に、クライアントが仮想マシンの一意な識別子をクライアントのローカル・レコードに追加するように、受信成功を示す応答パケットをクライアントに送信するように構成された送信ユニット64を備えてもよい。
【0097】
さらに、図6Cに示すように、当該装置はさらに、当該パケットで運搬されるホスト・マシンのアドレスが当該装置のローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと異なる場合には、仮想マシンの一意な識別子に対応し当該装置のローカル・レコードに格納されたホスト・マシンのアドレスを当該パケットで運搬されるホスト・マシンのアドレスとなるように更新するように構成された更新ユニット65を備える。
【0098】
本発明の当該実施形態で提供する仮想マシン・マイグレーションを決定するための装置によれば、ホスト・マシン内のクライアントが仮想マシンの一意な識別子とホスト・マシンのアドレスを取得し、仮想マシンの一意な識別子およびホスト・マシンのアドレスを仮想マシン・マイグレーションを決定するための装置に送信し、その結果、仮想マシンの一意な識別子が当該装置のローカル・レコードに存在する場合に、仮想マシン・マイグレーションを決定するための装置が、クライアントが送信したパケットで運搬されるホスト・マシンのアドレスがローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと同じであるかどうかを判定することによって、仮想マシンがマイグレートされているかどうかを判定することができる。このように、仮想マシン・マイグレーションは仮想マシン・マイグレーションに必要な特定の通信プロトコルを利用せずに決定され、特定の通信プロトコルをサポートする通信装置は必要でない。したがって、通信装置に対する要件は大幅に緩和され、それにより、デプロイメントのコストが低下する。
【0099】
仮想マシン・マイグレーションを決定するための装置の実施形態では、当該ユニット分割は論理機能分割にすぎず、本発明は、対応する機能を実装できる限り、上述の分割に限定されないことに留意されたい。さらに、当該機能ユニットの具体的な名前は当該ユニットを互いに区別する目的で提供したにすぎず、本発明の保護範囲を限定しようとするものではない。
【0100】
本発明の諸実施形態の図6A乃至図6Cで提供した仮想マシン・マイグレーションを決定するための装置の動作手続きは本明細書における仮想マシン・マイグレーションを決定するための方法におけるサーバに対応し、仮想マシン・マイグレーションを決定するための方法を上で詳細に説明し、上述の方法の実施形態における関連説明は当該装置の諸実施形態にも適用可能であるので、詳細についてはここでは再度説明することはしないことに留意されたい。
【0101】
図7は、本発明の1実施形態に従う仮想マシン・マイグレーションを決定するためのクライアント装置の略図である。図7を参照すると、本発明の当該実施形態の仮想マシン・マイグレーションを決定するためのクライアント装置500が、上述の方法の実施形態における機能を実装できる任意のネットワーク装置、例えば、ルータ、スイッチ、またはネットワーク・アダプタであってもよい。仮想マシン・マイグレーションを決定するためのクライアント装置500がプロセッサ510、通信インタフェース520、メモリ530、およびバス540を備えてもよい。
【0102】
プロセッサ510、通信インタフェース520、およびメモリ530は、バス540を用いて相互通信を実現する。通信インタフェース520は外部ネットワーク要素と通信するように構成される。
【0103】
メモリ530はプログラム532を格納するように構成される。メモリ530が高速RAMメモリを有してもよく、不揮発性メモリ(non−volatile memory)、例えば、少なくとも1つのディスク・メモリを備えてもよい。
【0104】
特に、プログラム532がプログラム・コードを含んでもよく、当該プログラム・コードはコンピュータ動作命令を含む。
【0105】
プロセッサ510は、中央演算装置CPUまたは特定用途向け集積回路ASIC(Application Specific Integrated Circuit)であってもよく、または、本発明の当該実施形態の1つまたは複数の集積回路であるように構成してもよい。
【0106】
プロセッサ510は、プログラム532を読み取り、クライアント装置が配置されたホスト・マシンの仮想マシンの一意な識別子とホスト・マシンのアドレスを取得し、仮想マシンの一意な識別子がクライアント装置のローカル・レコードに存在しない場合には、サーバが、仮想マシンの一意な識別子とホスト・マシンのアドレスに従って、仮想マシンがマイグレートされているかどうかを判定するように、ホスト・マシンが配置されたネットワーク内の当該サーバに、仮想マシンの一意な識別子とホスト・マシンのアドレスを運搬するパケットを送信し、仮想マシンの一意な識別子をローカル・レコードに追加してローカル・レコードを更新する動作を実施するように構成される。
【0107】
本発明の当該実施形態で提供するクライアント装置は、仮想マシンの一意な識別子とホスト・マシンのアドレスを取得し、仮想マシンの一意な識別子とホスト・マシンのアドレスをサーバに送信する。その結果、仮想マシンの一意な識別子がサーバのローカル・レコードに存在する場合には、サーバは、パケットで運搬されているホスト・マシンのアドレスがローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと同じであるかどうかを判定することによって、仮想マシンがマイグレートされているかどうかを判定することができる。このように、仮想マシン・マイグレーションは仮想マシン・マイグレーションに必要な特定の通信プロトコルを利用せずに決定され、特定の通信プロトコルをサポートする通信装置は必要でない。したがって、通信装置に対する要件は大幅に緩和され、それにより、デプロイメントのコストが低下する。
【0108】
場合によっては、本発明の1実施形態では、プロセッサ510は、ホスト・マシン上の仮想マシンの一意な識別子を運搬するホスト・マシン上の仮想マシンからのパケットをインターセプトし、ホスト・マシン上の仮想マシンの一意な識別子を当該インターセプトしたパケットから取得する動作を実施するように構成されるか、または、プロセッサ510は、ホスト・マシン上の仮想マシンの一意な識別子を運搬する、ホスト・マシン上の仮想スイッチにより転送されるホスト・マシン上の仮想マシンからパケットを受信し、ホスト・マシン上の仮想マシンの一意な識別子を当該受信パケットから取得する動作を実施するように構成される。仮想マシンが送信したパケットがARPパケットであってもよい。
【0109】
本発明の別の実施形態では、さらに、プロセッサ510はさらに、受信成功を示しサーバにより送信される応答パケットを受信する動作と、受信成功を示しサーバにより送信される応答パケットを受信したとき、仮想マシンの一意な識別子をクライアント装置のローカル・レコードに追加する動作とを実施するように構成される。
【0110】
本発明の当該実施形態で提供するクライアント装置を、ホスト・マシン内のセキュア仮想マシン、ホスト・マシン内の仮想スイッチ、または物理ネットワーク・アダプタに接続されたホスト・マシン内のコンポーネントに配置してもよいことに留意されたい。物理ネットワーク・アダプタに接続されたコンポーネントは物理コンポーネントに限定されず、ソフトウェアの形式で実装したコンポーネントであってもよい。
【0111】
図8は、本発明の1実施形態に従うサーバ装置の略図である。図8を参照すると、本発明の当該実施形態のサーバ装置600が、対応する機能を実装できる任意のネットワーク装置、例えば、ルータ、スイッチ、またはネットワーク・アダプタであってもよい。サーバ装置600は、プロセッサ610、通信インタフェース620、メモリ630、およびバス640を備える。
【0112】
プロセッサ610、通信インタフェース620、およびメモリ630は、バス640を用いて相互通信を実現する。通信インタフェース620は外部ネットワーク要素と通信するように構成される。
【0113】
メモリ630はプログラム632を格納するように構成される、メモリ630が高速RAMメモリを有してもよく、不揮発性メモリ(non−volatile memory)、例えば、少なくとも1つのディスク・メモリを備えてもよい。
【0114】
特に、プログラム632がプログラム・コードを含んでもよく、当該プログラム・コードはコンピュータ動作命令を含む。
【0115】
プロセッサ610は、中央演算装置CPUまたは特定用途向け集積回路ASIC(Application Specific Integrated Circuit)であってもよく、または、本発明の当該実施形態の1つまたは複数の集積回路であるように構成してもよい。
【0116】
プロセッサ610は、メモリ630内の当該プログラムを読み取り、ホスト・マシン内のクライアントにより送信された、仮想マシンの一意な識別子とクライアントが配置されているホスト・マシンのアドレスを運搬するパケットを受信し、仮想マシンの一意な識別子がサーバ装置のローカル・レコードに存在しない場合には、仮想マシンの一意な識別子とホスト・マシンのアドレスの対応関係をサーバ装置のローカル・レコードに追加し、仮想マシンの一意な識別子がサーバ装置のローカル・レコードに存在する場合には、当該パケットで運搬されるホスト・マシンのアドレスがサーバのローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと同じであるかどうかを判定し、当該パケットで運搬されるホスト・マシンのアドレスがサーバ装置のローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと同じである場合には、仮想マシンがマイグレートされていないと判定し、当該パケットで運搬されるホスト・マシンのアドレスがサーバ装置のローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと異なる場合には、仮想マシンがマイグレートされていると判定する動作を実施するように構成される。
【0117】
さらに、本発明の1実施形態では、プロセッサ610はさらに、クライアントにより送信されたパケットを受信した後に、受信成功を示す応答パケットをクライアントに送信して、クライアントが仮想マシンの一意な識別子をサーバ装置のローカル・レコードに追加するようにする動作を実施するように構成される。
【0118】
さらに、本発明の1実施形態では、プロセッサ610はさらに、当該パケットで運搬されるホスト・マシンのアドレスがサーバ装置のローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと異なる場合には、仮想マシンの一意な識別子に対応しサーバ装置のローカル・レコードに格納されているホスト・マシンのアドレス装置を当該パケットで運搬されるホスト・マシンのアドレスであるように更新する動作を実施するように構成される。
【0119】
本発明の当該実施形態により提供されるサーバ装置は、仮想マシンの一意な識別子とホスト・マシンのアドレスを運搬しサーバ装置が配置されたネットワーク内のクライアントにより送信されるパケットを受信し、その結果、仮想マシンの一意な識別子がサーバのローカル・レコードに存在する場合には、サーバ装置は、当該パケットで運搬されるホスト・マシンのアドレスがローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと同じであるかどうかを判定することによって、仮想マシンがマイグレートされているかどうかを判定することができる。このように、仮想マシン・マイグレーションは仮想マシン・マイグレーションに必要な特定の通信プロトコルを利用せずに決定され、特定の通信プロトコルをサポートする通信装置は必要でない。したがって、通信装置に対する要件は大幅に緩和され、それにより、デプロイメントのコストが低下する。
【0120】
本発明の諸実施形態で提供したクライアント装置とサーバ装置は本明細書における仮想マシン・マイグレーションを決定するための方法に対応し、仮想マシン・マイグレーションを決定するための方法は上で詳細に説明し、当該方法の実施形態の関連説明はクライアント装置とサーバ装置の諸実施形態にも適用可能であるので、詳細についてはここでは再度説明することはしないことに留意されたい。
【0121】
さらに、本発明の諸実施形態で提供したクライアント装置とサーバ装置は物理クライアント装置および物理サーバ装置に限定されず、ソフトウェアにより実装されハードウェアに基づくクライアント装置およびサーバ装置であってもよいことに留意されたい。
【0122】
本発明の1実施形態ではさらに、仮想マシン・マイグレーションを決定するためのシステムを提供する。当該システムは、図7に示す少なくとも1つクライアント装置と図8に示す少なくとも1つサーバ装置を備える。具体的な配置方式については、上述の図2B乃至図2Dを参照されたい。
【0123】
当該システム内のクライアント装置は、クライアント装置が配置されたホスト・マシンの仮想マシンの一意な識別子とホスト・マシンのアドレスを取得し、仮想マシンの一意な識別子がクライアントのローカル・レコードに存在しない場合には、サーバ装置が、仮想マシンの一意な識別子とホスト・マシンのアドレスに従って、仮想マシンがマイグレートされているかどうかを判定するように、仮想マシンの一意な識別子とホスト・マシンのアドレスを運搬するパケットをホスト・マシンが配置されたネットワーク内の当該サーバ装置に送信し、仮想マシンの一意な識別子をローカル・レコードに追加してクライアント装置のローカル・レコードを更新するように構成される。
【0124】
サーバ装置は、ネットワーク内のクライアント装置が送信した、仮想マシンの一意な識別子とクライアント装置が配置されたホスト・マシンのアドレスを運搬するパケットを受信するように構成され、仮想マシンの一意な識別子がサーバ装置のローカル・レコードに存在しない場合には、サーバ装置が仮想マシンの一意な識別子とホスト・マシンのアドレスの対応関係をサーバ装置のローカル・レコードに追加し、仮想マシンの一意な識別子がサーバ装置のローカル・レコードに存在する場合には、サーバ装置は、当該パケットで運搬されるホスト・マシンのアドレスがサーバ装置のローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと同じであるかどうかを判定し、当該パケットで運搬されるホスト・マシンのアドレスがサーバ装置のローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと同じである場合には、サーバ装置は、仮想マシンがマイグレートされていないと判定し、当該パケットで運搬されるホスト・マシンのアドレスがサーバのローカル・レコード内の仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと異なる場合には、サーバ装置は、仮想マシンがマイグレートされていると判定する。
【0125】
本発明の各態様または各態様の可能な実装方式を特に、システム、方法、またはコンピュータ・プログラム製品として実装してもよいことは当業者には理解される。したがって、本発明の各態様または各態様の可能な実装方式が、完全なハードウェア実施形態、(ファームウェア、常駐ソフトウェア等を含む)完全なソフトウェア実施形態、またはソフトウェアおよびハードウェア態様を組み合せた実施形態の形を使用してもよく、本明細書ではそれらを集合的に「回路」、「モジュール」、または「システム」と称する。さらに、本発明の各態様または各態様の可能な実装方式がコンピュータ・プログラム製品の形を使用してもよい。当該コンピュータ・プログラム製品は、コンピュータ可読媒体に格納されたコンピュータ可読プログラム・コードを指す。
【0126】
当該コンピュータ可読媒体がコンピュータ可読信号媒体またはコンピュータ可読記憶媒体であってもよい。当該コンピュータ可読記憶媒体には、電気、磁気、光、電磁気、赤外線、または半導体システム、デバイス、もしくは装置、またはそれらの任意の適切な組合せ、例えば、ランダム・アクセス・メモリ(RAM)、読取専用メモリ(ROM)、消去可能プログラム可能読取専用メモリ(EPROMまたはフラッシュメモリ)、光ファイバ、または可搬型読取専用メモリ(CD−ROM)が含まれるがこれらに限らない。
【0127】
コンピュータ内のプロセッサはコンピュータ可読媒体に格納されたコンピュータ可読プログラム・コードを読み出す。その結果、当該プロセッサは、流れ図における各ステップまたはステップの組合せで定義した機能的動作を実施でき、ブロック図における各ブロックまたはブロックの組合せで定義した機能的動作を実施する装置が生成される。
【0128】
当該コンピュータ可読プログラム・コードを、独立なソフトウェア・パッケージとして使用して、ユーザのコンピュータで完全に実施することができ、ユーザのコンピュータで部分的に実施することができ、ユーザのコンピュータで部分的に実施しリモート・コンピュータで部分的に実施することができ、または、リモート・コンピュータまたはサーバで完全に実施することができる。幾つかの代替的な実装では、ブロック図内のブロックで示した流れ図または機能の諸ステップを当該図で示した順序に従って行わなくてもよいことに留意されたい。例えば、必要な機能に応じて、連続的に示した2つのステップまたは2つのブロックをほぼ同時に実施してもよく、または、これらのブロックを場合によっては逆の順序で実施してもよい。
【0129】
上述の説明は、本発明の具体的な実装方式にすぎず、本発明の保護範囲を限定しようとするものではない。本発明で開示した技術的範囲に入る当業者が容易に想到する任意の変形または置換は本発明の保護範囲に入るものとする。したがって、本発明の保護範囲は添付の特許請求の範囲の保護範囲に支配される。
【符号の説明】
【0130】
50 仮想マシン・マイグレーションを決定するための装置
51 処理ユニット
52 送信ユニット
53 格納ユニット
54 受信ユニット
60 仮想マシン・マイグレーションを決定するための装置
61 受信ユニット
62 決定ユニット
63 格納ユニット
64 送信ユニット
65 更新ユニット
500 クライアント装置
510 プロセッサ
520 通信インタフェース
530 メモリ
532 プログラム
540 通信バス
600 サーバ装置
610 プロセッサ
620 通信インタフェース
630 メモリ
632 プログラム
640 通信バス
図1
図2A
図2B
図2C
図2D
図3
図4
図5A
図5B
図6A
図6B
図6C
図7
図8
【手続補正書】
【提出日】2015年2月25日
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
仮想マシン・マイグレーションを決定するための方法であって、
ホスト・マシン内のクライアントにより、前記ホスト・マシン上の仮想マシンの一意な識別子および前記ホスト・マシンのアドレスを取得するステップと、
前記仮想マシンの一意な識別子が前記クライアントのローカル・レコードに存在しない場合には、前記クライアントにより、前記ホスト・マシンが配置されたネットワーク内のサーバにパケットを送信して、前記サーバが、前記仮想マシンの一意な識別子と前記ホスト・マシンのアドレスに従って、前記仮想マシンがマイグレートされているかどうかを判定するようにし、前記クライアントにより、前記仮想マシンの一意な識別子を前記ローカル・レコードに追加して前記ローカル・レコードを更新するステップであって、前記パケットは前記仮想マシンの一意な識別子と前記ホスト・マシンのアドレスを運搬するステップと、
を含む、方法。
【請求項2】
ホスト・マシン内のクライアントにより、前記ホスト・マシン上の仮想マシンの一意な識別子を取得するステップは、
前記ホスト・マシン内の前記クライアントにより、前記ホスト・マシン上の前記仮想マシンからのパケットをインターセプトし、前記仮想マシンの一意な識別子を前記インターセプトしたパケットから取得するステップであって、前記パケットは前記仮想マシンの一意な識別子を運搬するステップ、
または、
前記ホスト・マシン内の前記クライアントにより、前記ホスト・マシン上の仮想スイッチにより転送される前記ホスト・マシン上の前記仮想マシンからパケットを受信し、前記仮想マシンの一意な識別子を受信した前記パケットから取得するステップであって、前記パケットは前記ホスト・マシン上の前記仮想マシンの一意な識別子を運搬するステップ
を含む、請求項1に記載の方法。
【請求項3】
前記クライアントにより、前記仮想マシンの一意な識別子を前記ローカル・レコードに追加する前に、
前記クライアントにより、受信成功を示し前記サーバにより送信される応答パケットを受信するステップと、
受信成功を示し前記サーバにより送信される前記応答パケットを受信したとき、前記クライアントにより、前記仮想マシンの一意な識別子を前記ローカル・レコードに追加するステップと、
をさらに含む、請求項1または2に記載の方法。
【請求項4】
前記ホスト・マシン上の前記仮想マシンからの前記パケットはアドレス解決プロトコルARPパケットである、請求項2に記載の方法。
【請求項5】
前記一意な識別子は、前記仮想マシンのMACアドレス、または前記仮想マシンの静的に構成されたIPアドレスである、請求項1乃至4の何れか1項に記載の方法。
【請求項6】
前記クライアントは、前記ホスト・マシン内のセキュア仮想マシン、前記ホスト・マシン内の仮想スイッチ、または物理ネットワーク・アダプタに接続された前記ホスト・マシン内のコンポーネントに配置される、請求項1乃至4の何れか1項に記載の方法。
【請求項7】
仮想マシン・マイグレーションを決定するための方法であって、
サーバにより、ホスト・マシン内のクライアントにより送信されたパケットを受信するステップであって、前記パケットは、前記ホスト・マシン上の仮想マシンの一意な識別子と前記ホスト・マシンのアドレスを運搬するステップと、
前記仮想マシンの一意な識別子が前記サーバのローカル・レコードに存在しない場合には、前記サーバにより、前記仮想マシンの一意な識別子と前記ホスト・マシンのアドレスの対応関係を前記サーバの前記ローカル・レコードに追加するステップと、
前記仮想マシンの一意な識別子が前記サーバの前記ローカル・レコードに存在する場合には、前記サーバにより、前記パケットで運搬される前記ホスト・マシンのアドレスが前記サーバの前記ローカル・レコード内の前記仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと同じであるかどうかを判定し、前記パケットで運搬される前記ホスト・マシンのアドレスが前記サーバの前記ローカル・レコード内の前記仮想マシンの一意な識別子に対応する前記ホスト・マシンのアドレスと同じである場合には、前記仮想マシンがマイグレートされていないと判定し、前記パケットで運搬される前記ホスト・マシンのアドレスが前記サーバの前記ローカル・レコード内の前記仮想マシンの一意な識別子に対応する前記ホスト・マシンのアドレスと異なる場合には、前記仮想マシンがマイグレートされていると判定するステップと、
を含む、方法。
【請求項8】
クライアントにより送信されたパケットを受信した後、前記クライアントが前記仮想マシンの一意な識別子を前記クライアントのローカル・レコードに追加するように、受信成功を示す応答パケットを前記クライアントに送信するステップをさらに含む、請求項7に記載の方法。
【請求項9】
前記パケットで運搬される前記ホスト・マシンのアドレスが前記サーバの前記ローカル・レコード内の前記仮想マシンの一意な識別子に対応する前記ホスト・マシンのアドレスと異なる場合には、
前記仮想マシンの一意な識別子に対応し前記サーバの前記ローカル・レコードに格納されているホスト・マシンのアドレスを前記パケットで運搬される前記ホスト・マシンのアドレスであるように更新するステップ
をさらに含む、請求項7または8に記載の方法。
【請求項10】
仮想マシン・マイグレーションを決定するための装置であって、
前記装置が配置されているホスト・マシン上の仮想マシンの一意な識別子と前記ホスト・マシンのアドレスを取得するように構成された処理ユニットと、
前記仮想マシンの一意な識別子が前記装置のローカル・レコードに存在しないと前記処理ユニットが判定した場合には、サーバが、前記仮想マシンの一意な識別子と前記ホスト・マシンのアドレスに従って、前記仮想マシンがマイグレートされているかどうかを判定するように、前記ホスト・マシンが配置されたネットワーク内の前記サーバにパケットを送信するように構成された送信ユニットであって、前記パケットが前記仮想マシンの一意な識別子と前記ホスト・マシンのアドレスを運搬する送信ユニットと、
前記仮想マシンの一意な識別子が前記ローカル・レコードに存在しないと前記処理ユニットが判定した場合には、前記仮想マシンの一意な識別子を前記ローカル・レコードに追加して前記ローカル・レコードを更新するように構成された格納ユニットと、
を備える、装置。
【請求項11】
前記処理ユニットは、前記ホスト・マシン上の前記仮想マシンからのパケットをインターセプトし、前記仮想マシンの一意な識別子を前記インターセプトしたパケットから取得するように構成され、前記パケットは前記仮想マシンの一意な識別子を運搬するか、
または、
前記処理ユニットは、前記ホスト・マシン上の仮想スイッチにより転送される前記ホスト・マシン上の前記仮想マシンからパケットを受信し、前記ホスト・マシン上の前記仮想マシンの一意な識別子を受信した前記パケットから取得ように構成され、前記パケットは前記ホスト・マシン上の前記仮想マシンの一意な識別子を運搬する、
請求項10に記載の装置。
【請求項12】
前記装置は、前記格納ユニットが前記仮想マシンの一意な識別子を前記ローカル・レコードに追加する前に、受信成功を示し前記サーバにより送信される応答パケットを受信するように構成された受信ユニットをさらに備え、
前記格納ユニットは特に、受信成功を示し前記サーバにより送信される前記応答パケットを前記受信ユニットが受信したときに、前記仮想マシンの一意な識別子に関する情報を前記ローカル・レコードに追加するように構成される、
請求項10または11に記載の装置。
【請求項13】
前記装置は、前記ホスト・マシン内のセキュア仮想マシン、前記ホスト・マシン内の仮想スイッチ、または物理ネットワーク・アダプタに接続された前記ホスト・マシン内のコンポーネントに配置される、請求項10または11に記載の装置。
【請求項14】
仮想マシン・マイグレーションを決定するための装置であって、
ホスト・マシン内のクライアントにより送信されたパケットを受信するように構成された受信ユニットであって、前記パケットは、前記ホスト・マシン上の仮想マシンの一意な識別子と前記ホスト・マシンのアドレスを運搬する受信ユニットと、
前記仮想マシンの一意な識別子が前記装置のローカル・レコードに存在するかどうかを判定するように構成された決定ユニットと、
前記仮想マシンの一意な識別子が前記装置の前記ローカル・レコードに存在しないと前記決定ユニットが判定した場合に、前記仮想マシンの一意な識別子と前記ホスト・マシンのアドレスの対応関係を前記装置の前記ローカル・レコードに追加するように構成された格納ユニットと、
を備え、
前記決定ユニットはさらに、前記仮想マシンの一意な識別子が前記装置の前記ローカル・レコードに存在する場合には、前記パケットで運搬される前記ホスト・マシンのアドレスが前記装置の前記ローカル・レコード内の前記仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと同じであるかどうかを判定し、前記パケットで運搬される前記ホスト・マシンのアドレスが前記装置の前記ローカル・レコード内の前記仮想マシンの一意な識別子に対応する前記ホスト・マシンのアドレスと同じである場合には、前記仮想マシンがマイグレートされていないと判定し、前記パケットで運搬される前記ホスト・マシンのアドレスが前記装置の前記ローカル・レコード内の前記仮想マシンの一意な識別子に対応する前記ホスト・マシンのアドレスと異なる場合には、前記仮想マシンがマイグレートされていると判定するように構成される、
装置。
【請求項15】
前記受信ユニットが前記クライアントにより送信された前記パケットを受信した後、前記クライアントが前記仮想マシンの一意な識別子を前記クライアントのローカル・レコードに追加するように、受信成功を示す応答パケットを前記クライアントに送信するように構成された送信ユニットをさらに備える、請求項14に記載の装置。
【請求項16】
前記パケットで運搬される前記ホスト・マシンのアドレスが前記装置の前記ローカル・レコード内の前記仮想マシンの一意な識別子に対応する前記ホスト・マシンのアドレスと異なる場合には、前記仮想マシンの一意な識別子に対応し前記装置の前記ローカル・レコードに格納されたホスト・マシンのアドレスを前記パケットで運搬される前記ホスト・マシンのアドレスとなるように更新するように構成された更新ユニットをさらに備える、請求項14または15に記載の装置。
【請求項17】
プロセッサ、通信インタフェース、メモリ、およびバスを備えたクライアント装置であって、
前記プロセッサ、前記通信インタフェース、および前記メモリは前記バスを用いることにより相互通信を実現し、
前記通信インタフェースは、外部ネットワーク要素と通信するように構成され、
前記メモリはプログラムを格納するように構成され、
前記プロセッサは、前記メモリ内の前記プログラムを読み取り、前記クライアント装置が配置されたホスト・マシンの仮想マシンの一意な識別子と前記ホスト・マシンのアドレスを取得し、前記仮想マシンの一意な識別子が前記クライアント装置のローカル・レコードに存在しない場合には、サーバが、前記仮想マシンの一意な識別子と前記ホスト・マシンのアドレスに従って、前記仮想マシンがマイグレートされているかどうかを判定するように、前記ホスト・マシンが配置されたネットワーク内の前記サーバにパケットを送信し、前記仮想マシンの一意な識別子を前記ローカル・レコードに追加して前記ローカル・レコードを更新する動作を実施するように構成され、前記パケットが前記仮想マシンの一意な識別子と前記ホスト・マシンのアドレスを運搬する、
装置。
【請求項18】
前記プロセッサは、前記ホスト・マシン上の前記仮想マシンからのパケットをインターセプトし、前記ホスト・マシン上の前記仮想マシンの一意な識別子を前記インターセプトしたパケットから取得する動作であって、前記パケットは前記ホスト・マシン上の前記仮想マシンの一意な識別子を運搬する動作を実施するように構成されるか、
または、
前記プロセッサは、前記ホスト・マシン上の仮想スイッチにより転送される前記ホスト・マシン上の前記仮想マシンからパケットを受信し、前記ホスト・マシン上の前記仮想マシンの一意な識別子を受信した前記パケットから取得する動作であって、前記パケットは前記ホスト・マシン上の前記仮想マシンの一意な識別子を運搬する動作を実施するように構成される、
請求項17に記載の装置。
【請求項19】
前記プロセッサはさらに、
受信成功を示し前記サーバにより送信される応答パケットを受信する動作と、
受信成功を示し前記サーバにより送信される前記応答パケットを受信したとき、前記仮想マシンの一意な識別子を前記ローカル・レコードに追加する動作と、
を実施するように構成される、請求項17または18に記載の装置。
【請求項20】
前記装置は、前記ホスト・マシン内のセキュア仮想マシン、前記ホスト・マシン内の仮想スイッチ、または物理ネットワーク・アダプタに接続された前記ホスト・マシン内のコンポーネントに配置される、請求項17または18に記載の装置。
【請求項21】
プロセッサ、通信インタフェース、メモリ、およびバスを備えたサーバ装置であって、
前記プロセッサ、前記通信インタフェース、および前記メモリは前記バスを用いることにより相互通信を実現し、
前記通信インタフェースは外部ネットワーク要素と通信するように構成され、
前記メモリはプログラムを格納するように構成され、
前記プロセッサは前記プログラムを実施するように構成され、
前記プロセッサは、前記メモリ内の前記プログラムを読み取り、ホスト・マシン内のクライアントにより送信された、仮想マシンの一意な識別子と前記ホスト・マシンのアドレスを運搬するパケットを受信し、前記仮想マシンの一意な識別子が前記サーバ装置のローカル・レコードに存在しない場合には、前記仮想マシンの一意な識別子と前記ホスト・マシンのアドレスの対応関係を前記サーバ装置の前記ローカル・レコード装置に追加し、前記仮想マシンの一意な識別子が前記サーバ装置の前記ローカル・レコードに存在する場合には、前記パケットで運搬される前記ホスト・マシンのアドレスが前記サーバ装置の前記ローカル・レコード内の前記仮想マシンの一意な識別子に対応するホスト・マシンのアドレスと同じであるかどうかを判定し、前記パケットで運搬される前記ホスト・マシンのアドレスが前記サーバ装置の前記ローカル・レコード内の前記仮想マシンの一意な識別子に対応する前記ホスト・マシンのアドレスと同じである場合には、前記仮想マシンがマイグレートされていないと判定し、前記パケットで運搬される前記ホスト・マシンのアドレスが前記サーバ装置の前記ローカル・レコード内の前記仮想マシンの一意な識別子に対応する前記ホスト・マシンのアドレスと異なる場合には、前記仮想マシンがマイグレートされていると判定する動作を実施するように構成される、
装置。
【請求項22】
前記プロセッサはさらに、前記クライアントにより送信された前記パケットを受信した後に、前記クライアントが前記仮想マシンの一意な識別子を前記クライアントのローカル・レコードに追加するように、受信成功を示す応答パケットを前記クライアントに送信する動作を実施するように構成される、請求項21に記載の装置。
【請求項23】
前記プロセッサはさらに、前記パケットで運搬される前記ホスト・マシンのアドレスが前記サーバ装置の前記ローカル・レコード内の前記仮想マシンの一意な識別子に対応する前記ホスト・マシンのアドレスと異なる場合には、前記仮想マシンの一意な識別子に対応し前記サーバ装置の前記ローカル・レコードに格納されているホスト・マシンのアドレス装置を前記パケットで運搬される前記ホスト・マシンのアドレスであるように更新する動作を実施するように構成される、請求項22に記載の装置。
【請求項24】
請求項17乃至20の何れか1項に記載の少なくとも1つクライアント装置と、請求項21乃至23の何れか1項に記載の少なくとも1つサーバ装置を備えた、仮想マシン・マイグレーションを決定するためのシステム。
【請求項25】
プログラムを格納するコンピュータ可読記憶媒体であって、前記プログラムは、請求項1乃至6の何れか1項に記載の方法を実施するための機械により実行可能な命令を含む、コンピュータ可読記憶媒体。
【請求項26】
プログラムを格納するコンピュータ可読記憶媒体であって、前記プログラムは、請求項7乃至9の何れか1項に記載の方法を実施するための機械により実行可能な命令を含む、コンピュータ可読記憶媒体。
【国際調査報告】