特表2016-537705(P2016-537705A)IP Force 特許公報掲載プロジェクト 2015.5.11 β版

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

▶ ホアウェイ・テクノロジーズ・カンパニー・リミテッドの特許一覧
特表2016-537705仮想マシンマイグレーション管理の方法、装置およびシステム
<>
  • 特表2016537705-仮想マシンマイグレーション管理の方法、装置およびシステム 図000099
  • 特表2016537705-仮想マシンマイグレーション管理の方法、装置およびシステム 図000100
  • 特表2016537705-仮想マシンマイグレーション管理の方法、装置およびシステム 図000101
  • 特表2016537705-仮想マシンマイグレーション管理の方法、装置およびシステム 図000102
  • 特表2016537705-仮想マシンマイグレーション管理の方法、装置およびシステム 図000103
  • 特表2016537705-仮想マシンマイグレーション管理の方法、装置およびシステム 図000104
  • 特表2016537705-仮想マシンマイグレーション管理の方法、装置およびシステム 図000105
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】特表2016-537705(P2016-537705A)
(43)【公表日】2016年12月1日
(54)【発明の名称】仮想マシンマイグレーション管理の方法、装置およびシステム
(51)【国際特許分類】
   G06F 9/50 20060101AFI20161104BHJP
   G06F 9/46 20060101ALI20161104BHJP
【FI】
   G06F9/46 465Z
   G06F9/46 350
【審査請求】有
【予備審査請求】未請求
【全頁数】43
(21)【出願番号】特願2016-519928(P2016-519928)
(86)(22)【出願日】2014年8月7日
(85)【翻訳文提出日】2016年4月14日
(86)【国際出願番号】CN2014083869
(87)【国際公開番号】WO2015081717
(87)【国際公開日】20150611
(31)【優先権主張番号】201310656235.1
(32)【優先日】2013年12月6日
(33)【優先権主張国】CN
(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,KM,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,IR,IS,JP,KE,KG,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,SA,SC,SD,SE,SG,SK,SL,SM,ST,SV,SY,TH,TJ,TM,TN,TR,TT,TZ,UA,UG,US
(71)【出願人】
【識別番号】504161984
【氏名又は名称】ホアウェイ・テクノロジーズ・カンパニー・リミテッド
(74)【代理人】
【識別番号】110000877
【氏名又は名称】龍華国際特許業務法人
(72)【発明者】
【氏名】ユ、ファン
(72)【発明者】
【氏名】ゴン、ユワン
(72)【発明者】
【氏名】ワン、ゼングオ
(57)【要約】
本発明の複数の実施形態は、マイグレーション予定の仮想マシンの複数のマイグレーションパラメータに応じて、当該マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせるために必要なマイグレーション時間を算出する段階と、マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間を別々に取得する段階と、マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間がいずれもマイグレーション時間以上である場合、マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせると判断する段階とを備え、複数のマイグレーションパラメータは、マイグレーション予定の仮想マシンの割り当てメモリサイズ、メモリ変更速度、および、マイグレーションネットワーク帯域幅を含む仮想マシンマイグレーション管理方法を開示している。本発明の複数の実施形態はさらに、仮想マシンマイグレーション管理のための装置およびシステムを開示している。本発明を利用することによって、仮想マシンマイグレーションの判断の精度がある程度改善され得る。
【特許請求の範囲】
【請求項1】
仮想マシンマイグレーション管理方法であって、
マイグレーション予定の仮想マシンの複数のマイグレーションパラメータに応じて、前記マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせるために必要なマイグレーション時間を算出する段階と、
前記マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間および前記マイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間を別々に取得する段階と、
前記マイグレーション元のコンピューティングノードの前記現在の利用可能マイグレーション時間および前記マイグレーション先のコンピューティングノードの前記現在の利用可能マイグレーション時間がいずれも前記マイグレーション時間以上である場合、前記マイグレーション予定の仮想マシンを前記マイグレーション元のコンピューティングノードから前記マイグレーション先のコンピューティングノードへとマイグレーションさせると判断する段階と
を備え、
前記複数のマイグレーションパラメータは、前記マイグレーション予定の仮想マシンの割り当てメモリサイズ、メモリ変更速度、および、マイグレーションネットワーク帯域幅を含む
仮想マシンマイグレーション管理方法。
【請求項2】
前記マイグレーション予定の仮想マシンの複数のマイグレーションパラメータに応じて、前記マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせるために必要なマイグレーション時間を算出する段階は、
およびqは
【数3】
で表され、MVijは、前記マイグレーション予定の仮想マシンの前記割り当てメモリサイズ、MCRVijは、前記マイグレーション予定の仮想マシンの前記メモリ変更速度、BWVijは、前記マイグレーション予定の仮想マシンに割り当てられた前記マイグレーションネットワーク帯域幅、Nは、予め設定された最大転送回数、Nは、
【数4】
が予め設定されたメモリダーティページしきい値未満になるという条件を満たす最小整数値である場合に、
マイグレーション元のコンピューティングノードiからマイグレーション先のコンピューティングノードjへと前記マイグレーション予定の仮想マシンをマイグレーションさせるために必要な
【数1】
で表されるマイグレーション時間、および、
【数2】
で表される転送回数を算出する段階を有する
請求項1に記載の仮想マシンマイグレーション管理方法。
【請求項3】
前記マイグレーション予定の仮想マシンの複数のマイグレーションパラメータに応じて、前記マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせるために必要なマイグレーション時間を算出する段階は、
およびqは
【数5】
で表され、
MVijは、前記マイグレーション予定の仮想マシンの前記割り当てメモリサイズ、MCRVijは、前記マイグレーション予定の仮想マシンの前記メモリ変更速度、BWVijは、前記マイグレーション予定の仮想マシンに割り当てられた前記マイグレーションネットワーク帯域幅、Nは、予め設定された最大転送回数、Nは、
【数4】
が予め設定されたメモリダーティページしきい値未満になるという条件を満たす最小整数値、CVijは、前記マイグレーション予定の仮想マシンのメモリ圧縮率である場合に、
マイグレーション元のコンピューティングノードiからマイグレーション先のコンピューティングノードjへと前記マイグレーション予定の仮想マシンをマイグレーションさせるために必要な
【数1】
で表わされるマイグレーション時間、および、
【数2】
で表される転送回数を算出する段階を有する
請求項1に記載の仮想マシンマイグレーション管理方法。
【請求項4】
前記マイグレーション予定の仮想マシンの前記マイグレーション元のコンピューティングノードから前記マイグレーション先のコンピューティングノードへのマイグレーションが開始された後、前記マイグレーション元のコンピューティングノードの前記現在の利用可能マイグレーション時間から前記マイグレーション時間を減算し、前記マイグレーション先のコンピューティングノードの前記現在の利用可能マイグレーション時間から前記マイグレーション時間を減算する段階をさらに備える
請求項1から3のいずれか一項に記載の仮想マシンマイグレーション管理方法。
【請求項5】
リソーススケジューリングの各回の開始時に、全てのコンピューティングノードの
【数6】
で表される利用可能マイグレーション時間を初期化する段階をさらに備え、
は、対応するコンピューティングノードがサポートしている同時マイグレーションの対象となる仮想マシンの数であり、Tは、リソーススケジューリング期間である
請求項1から4のいずれか一項に記載の仮想マシンマイグレーション管理方法。
【請求項6】
リソーススケジューリングの各回の開始時に、コンピューティングノードが仮想マシンマイグレーションを実行していると検出される場合、前記コンピューティングノードの
【数7】
で表される利用可能マイグレーション時間が初期化され、
MTVijは、前記コンピューティングノードにおいてマイグレーション中の仮想マシンのマイグレーション時間である
請求項5に記載の仮想マシンマイグレーション管理方法。
【請求項7】
仮想マシンマイグレーション管理装置であって、
マイグレーション予定の仮想マシンの複数のマイグレーションパラメータに応じて、前記マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせるために必要なマイグレーション時間を算出するマイグレーション時間算出モジュールと、
前記マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間および前記マイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間を別々に取得する利用可能マイグレーション時間管理モジュールと、
前記マイグレーション元のコンピューティングノードの前記現在の利用可能マイグレーション時間および前記マイグレーション先のコンピューティングノードの前記現在の利用可能マイグレーション時間がいずれも前記マイグレーション時間以上である場合、前記マイグレーション予定の仮想マシンを前記マイグレーション元のコンピューティングノードから前記マイグレーション先のコンピューティングノードへとマイグレーションさせると判断するマイグレーション判断モジュールと
を備え、
前記複数のマイグレーションパラメータは、前記マイグレーション予定の仮想マシンの割り当てメモリサイズ、メモリ変更速度、および、マイグレーションネットワーク帯域幅を含む
仮想マシンマイグレーション管理装置。
【請求項8】
前記利用可能マイグレーション時間管理モジュールはさらに、
前記マイグレーション予定の仮想マシンの前記マイグレーション元のコンピューティングノードから前記マイグレーション先のコンピューティングノードへのマイグレーションが開始された後、前記マイグレーション元のコンピューティングノードの前記現在の利用可能マイグレーション時間から前記マイグレーション時間を減算し、前記マイグレーション先のコンピューティングノードの前記現在の利用可能マイグレーション時間から前記マイグレーション時間を減算する
請求項7に記載の仮想マシンマイグレーション管理装置。
【請求項9】
前記マイグレーション時間算出モジュールが前記マイグレーション時間を算出することは、
およびqは
【数3】
で表され、MVijは、前記マイグレーション予定の仮想マシンの前記割り当てメモリサイズ、MCRVijは、前記マイグレーション予定の仮想マシンの前記メモリ変更速度、BWVijは、前記マイグレーション予定の仮想マシンに割り当てられた前記マイグレーションネットワーク帯域幅、Nは、予め設定された最大転送回数、Nは、
【数4】
が予め設定されたメモリダーティページしきい値未満になるという条件を満たす最小整数値である場合に、
マイグレーション元のコンピューティングノードiからマイグレーション先のコンピューティングノードjへと前記マイグレーション予定の仮想マシンをマイグレーションさせるために必要な
【数1】
で表されるマイグレーション時間、および、
【数2】
で表される転送回数を算出することを含む
請求項7に記載の仮想マシンマイグレーション管理装置。
【請求項10】
前記マイグレーション時間算出モジュールが前記マイグレーション時間を算出することは、
およびqは、
【数5】
で表され、MVijは、前記マイグレーション予定の仮想マシンの前記割り当てメモリサイズ、MCRVijは、前記マイグレーション予定の仮想マシンの前記メモリ変更速度、BWVijは、前記マイグレーション予定の仮想マシンに割り当てられた前記マイグレーションネットワーク帯域幅、Nは、予め設定された最大転送回数、Nは、
【数4】
が予め設定されたメモリダーティページしきい値未満になるという条件を満たす最小整数値、CVijは、前記マイグレーション予定の仮想マシンのメモリ圧縮率である場合に、
マイグレーション元のコンピューティングノードiからマイグレーション先のコンピューティングノードjへと前記マイグレーション予定の仮想マシンをマイグレーションさせるために必要な
【数1】
で表されるマイグレーション時間、および、
【数2】
で表される転送回数を算出することを含む
請求項7に記載の仮想マシンマイグレーション管理装置。
【請求項11】
前記利用可能マイグレーション時間管理モジュールはさらに、
リソーススケジューリングの各回の開始時に、全てのコンピューティングノードの
【数6】
で表される
利用可能マイグレーション時間を初期化し、
は、対応するコンピューティングノードがサポートしている同時マイグレーションの対象となる仮想マシンの数、Tは、リソーススケジューリング期間である
請求項7から10のいずれか一項に記載の仮想マシンマイグレーション管理装置。
【請求項12】
前記利用可能マイグレーション時間管理モジュールはさらに、
リソーススケジューリングの各回の開始時に、コンピューティングノードが仮想マシンマイグレーションを実行していると検出される場合、前記コンピューティングノードの
【数7】
で表される利用可能マイグレーション時間を初期化し、
MTVijは、前記コンピューティングノードにおいてマイグレーション中の仮想マシンのマイグレーション時間である
請求項11に記載の仮想マシンマイグレーション管理装置。
【請求項13】
仮想マシンマイグレーション管理システムであって、
それぞれが仮想マシンを含む少なくとも2つのコンピューティングノードデバイスと、請求項7から12のいずれか一項に記載の仮想マシンマイグレーション管理装置とを備える
仮想マシンマイグレーション管理システム。
【請求項14】
少なくとも1つのマイグレーション予定の仮想マシンを含むマイグレーション元のコンピューティングノードと、マイグレーション先のコンピューティングノードと、仮想マシンマイグレーション管理装置とを備える仮想マシンマイグレーション管理システムであって、
前記仮想マシンマイグレーション管理装置は、
前記マイグレーション予定の仮想マシンの複数のマイグレーションパラメータに応じて、前記マイグレーション予定の仮想マシンを前記マイグレーション元のコンピューティングノードから前記マイグレーション先のコンピューティングノードへとマイグレーションさせるために必要なマイグレーション時間を算出し、
前記マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間および前記マイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間を別々に取得し、
前記マイグレーション元のコンピューティングノードの前記現在の利用可能マイグレーション時間および前記マイグレーション先のコンピューティングノードの前記現在の利用可能マイグレーション時間がいずれも前記マイグレーション時間以上である場合、前記マイグレーション予定の仮想マシンを前記マイグレーション元のコンピューティングノードから前記マイグレーション先のコンピューティングノードへとマイグレーションさせると判断し、
前記複数のマイグレーションパラメータは、前記マイグレーション予定の仮想マシンの割り当てメモリサイズ、メモリ変更速度、および、マイグレーションネットワーク帯域幅を含む
仮想マシンマイグレーション管理システム。
【請求項15】
前記マイグレーション時間は、
(i)aおよびqは、
【数3】
で表され、MVijは、前記マイグレーション予定の仮想マシンの前記割り当てメモリサイズ、MCRVijは、前記マイグレーション予定の仮想マシンの前記メモリ変更速度、BWVijは、前記マイグレーション予定の仮想マシンに割り当てられた前記マイグレーションネットワーク帯域幅、Nは、予め設定された最大転送回数、Nは、
【数4】
が予め設定されたメモリダーティページしきい値未満になるという条件を満たす最小整数値である場合に、
マイグレーション元のコンピューティングノードiからマイグレーション先のコンピューティングノードjへと前記マイグレーション予定の仮想マシンをマイグレーションさせるために必要な
【数1】
で表されるマイグレーション時間、および、
【数2】
で表される転送回数を算出する方法、
および
(ii)aおよびqは、
【数5】
で表され、MVijは、前記マイグレーション予定の仮想マシンの前記割り当てメモリサイズ、MCRVijは、前記マイグレーション予定の仮想マシンの前記メモリ変更速度、BWVijは、前記マイグレーション予定の仮想マシンに割り当てられた前記マイグレーションネットワーク帯域幅、Nは、予め設定された最大転送回数、Nは、
【数4】
が予め設定されたメモリダーティページしきい値未満になるという条件を満たす最小整数値、CVijは、前記マイグレーション予定の仮想マシンのメモリ圧縮率である場合に、
マイグレーション元のコンピューティングノードiからマイグレーション先のコンピューティングノードjへと前記マイグレーション予定の仮想マシンをマイグレーションさせるために必要な
【数1】
で表されるマイグレーション時間、および、
【数2】
で表される転送回数を算出する方法
のいずれかに係る計算によって取得される
請求項14に記載の仮想マシンマイグレーション管理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、中国特許庁に2013年12月6日に出願され、「VIRTUAL MACHINE MIGRATION MANAGEMENT MEHTOD, APPARATUS AND SYSTEM(仮想マシンマイグレーション管理の方法、装置およびシステム)」という名称を持つ中国特許第201310656235.1号に基づき優先権を主張する。当該中国特許の内容はすべて、参照により本願に組み込まれる。
【0002】
本発明は、コンピュータ技術の分野に関し、具体的には仮想マシンマイグレーション管理の方法、装置およびシステムに関する。
【背景技術】
【0003】
仮想マシンのホットマイグレーションは、仮想化分野において鍵となる技術であり、仮想クラスタ、ヒットレスサービス変更およびホストメインテナンスについて動的リソーススケジューリングを実現する上で重要な手段となる。仮想マシンのホットマイグレーションの基本的な原理は、実行中の仮想マシンをマイグレーション元の物理マシンからマイグレーション先の物理マシンへと、ユーザのサービスが影響を受けない方法で、または、ユーザがマイグレーションに気付かない方法で、マイグレーションさせることである。ホットリソースおよび電源を迅速に統合するためには、毎回、複数の仮想マシンをマイグレーションさせると判断する必要があるとしてよい。現在のポリシーでは、ホストの同時マイグレーションの対象となる仮想マシンの数に応じて、そして、仮想マシンの過去のマイグレーション時間の平均値に基づいて、各ホストに含まれるマイグレーション対象の仮想マシンの最大数を算出する。しかし、仕様およびサービスが異なるので、マイグレーション時間のばらつきが比較的大きい。このため、マイグレーション時間の評価が不正確で、仮想マシンのホットマイグレーションについて適切な判断ができない。
【発明の概要】
【0004】
この点を鑑み、本発明の実施形態は、仮想マシンのマイグレーション時間を動的に算出可能とすることにより仮想マシンマイグレーションに関する判断の精度をある程度改善できる、仮想マシンマイグレーション管理の方法、装置およびシステムを提供する。
【0005】
上述した技術的課題を解決するべく、本発明の実施形態の第1の態様は、仮想マシンマイグレーション管理方法を提供する。当該方法は、
マイグレーション予定の仮想マシンの複数のマイグレーションパラメータに応じて、当該マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせるために必要なマイグレーション時間を算出する段階であって、複数のマイグレーションパラメータは、マイグレーション予定の仮想マシンの割り当てメモリサイズ、メモリ変更速度、および、マイグレーションネットワーク帯域幅を含む、算出する段階と、
マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間を別々に取得する段階と、
マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間がいずれもマイグレーション時間以上である場合、マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせると判断する段階と
を備える。
【0006】
第1の態様の第1の実施可能例では、上記の方法はさらに、
マイグレーション予定の仮想マシンのマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへのマイグレーションが開始された後、マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間からマイグレーション時間を減算し、マイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間からマイグレーション時間を減算する段階を備える。
【0007】
第1の態様の第2の実施可能例では、マイグレーション予定の仮想マシンの複数のマイグレーションパラメータに応じて、当該マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせるために必要なマイグレーション時間を算出する段階は、
およびqは
【数3】
で表され、MVijは、マイグレーション予定の仮想マシンの割り当てメモリサイズ、MCRVijは、マイグレーション予定の仮想マシンのメモリ変更速度、BWVijは、マイグレーション予定の仮想マシンに割り当てられたマイグレーションネットワーク帯域幅、Nは、予め設定された最大転送回数、Nは、
【数4】
が予め設定されたメモリダーティページしきい値未満になるという条件を満たす最小整数値である場合に、
マイグレーション元のコンピューティングノードiからマイグレーション先のコンピューティングノードjへとマイグレーション予定の仮想マシンをマイグレーションさせるために必要な
【数1】
で表されるマイグレーション時間、および、
【数2】
で表される転送回数を算出する段階を有する。
【0008】
第1の態様の第3の実施可能例では、マイグレーション予定の仮想マシンの複数のマイグレーションパラメータに応じて、当該マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせるために必要なマイグレーション時間を算出する段階は、
およびqは
【数5】
で表され、
MVijは、マイグレーション予定の仮想マシンの割り当てメモリサイズ、MCRVijは、マイグレーション予定の仮想マシンのメモリ変更速度、BWVijは、マイグレーション予定の仮想マシンに割り当てられたマイグレーションネットワーク帯域幅、Nは、予め設定された最大転送回数、Nは、
【数4】
が予め設定されたメモリダーティページしきい値未満になるという条件を満たす最小整数値、CVijは、マイグレーション予定の仮想マシンのメモリ圧縮率である場合に、
マイグレーション元のコンピューティングノードiからマイグレーション先のコンピューティングノードjへとマイグレーション予定の仮想マシンをマイグレーションさせるために必要な
【数1】
で表わされるマイグレーション時間、および、
【数2】
で表される転送回数を算出する段階を有する。
【0009】
第1の態様および第1の態様の第1から第3の実施可能例に基づき、第1の態様の第4の実施可能例では、上記の方法はさらに、
リソーススケジューリングの各回の開始時に、全てのコンピューティングノードの
【数6】
で表される利用可能マイグレーション時間を初期化する段階を備える。
は、対応するコンピューティングノードがサポートしている同時マイグレーションの対象となる仮想マシンの数、Tは、リソーススケジューリング期間である。
【0010】
第1の態様の第4の実施可能例に基づき、第1の態様の第5の実施可能例では、リソーススケジューリングの各回の開始時に、コンピューティングノードが仮想マシンマイグレーションを実行していると検出される場合、コンピューティングノードの
【数7】
で表される利用可能マイグレーション時間が初期化される。
MTVijは、当該コンピューティングノードにおいてマイグレーション中の仮想マシンのマイグレーション時間である。
【0011】
上記に対応して、本発明の実施形態の第2の態様は、仮想マシンマイグレーション管理装置を提供する。当該装置は、
マイグレーション予定の仮想マシンの複数のマイグレーションパラメータに応じて、当該マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせるために必要なマイグレーション時間を算出するよう構成されているマイグレーション時間算出モジュールであって、複数のマイグレーションパラメータは、マイグレーション予定の仮想マシンの割り当てメモリサイズ、メモリ変更速度、および、マイグレーションネットワーク帯域幅を含む、マイグレーション時間算出モジュールと、
マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間を別々に取得するよう構成されている利用可能マイグレーション時間管理モジュールと、
マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間がいずれもマイグレーション時間以上である場合、マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせると判断するよう構成されているマイグレーション判断モジュールと
を備える。
【0012】
第2の態様の第1の実施可能例では、利用可能マイグレーション時間管理モジュールはさらに、
マイグレーション予定の仮想マシンのマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへのマイグレーションが開始された後、マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間からマイグレーション時間を減算し、マイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間からマイグレーション時間を減算するよう構成されている。
【0013】
第2の態様の第2の実施可能例では、マイグレーション時間算出モジュールがマイグレーション時間を算出することは、
およびqは
【数3】
で表され、MVijは、マイグレーション予定の仮想マシンの割り当てメモリサイズ、MCRVijは、マイグレーション予定の仮想マシンのメモリ変更速度、BWVijは、マイグレーション予定の仮想マシンに割り当てられたマイグレーションネットワーク帯域幅、Nは、予め設定された最大転送回数、Nは、
【数4】
が予め設定されたメモリダーティページしきい値未満になるという条件を満たす最小整数値である場合に、
マイグレーション元のコンピューティングノードiからマイグレーション先のコンピューティングノードjへとマイグレーション予定の仮想マシンをマイグレーションさせるために必要な
【数1】
で表されるマイグレーション時間、および、
【数2】
で表される転送回数を算出することを含む。
【0014】
第2の態様の第3の実施可能例では、マイグレーション時間算出モジュールがマイグレーション時間を算出することは、
およびqは
【数5】
で表され、
MVijは、マイグレーション予定の仮想マシンの割り当てメモリサイズ、MCRVijは、マイグレーション予定の仮想マシンのメモリ変更速度、BWVijは、マイグレーション予定の仮想マシンに割り当てられたマイグレーションネットワーク帯域幅、Nは、予め設定された最大転送回数、Nは、
【数4】
が予め設定されたメモリダーティページしきい値未満になるという条件を満たす最小整数値、CVijは、マイグレーション予定の仮想マシンのメモリ圧縮率である場合に、
マイグレーション元のコンピューティングノードiからマイグレーション先のコンピューティングノードjへとマイグレーション予定の仮想マシンをマイグレーションさせるために必要な
【数1】
で表わされるマイグレーション時間、および、
【数2】
で表される転送回数を算出することを含む。
【0015】
第2の態様および第2の態様の第1から第3の実施可能例に基づき、利用可能マイグレーション時間管理モジュールはさらに、
リソーススケジューリングの各回の開始時に、全てのコンピューティングノードの
【数6】
で表される利用可能マイグレーション時間を初期化するよう構成されている。Nは、対応するコンピューティングノードがサポートしている同時マイグレーションの対象となる仮想マシンの数であり、Tは、リソーススケジューリング期間である。
【0016】
第2の態様の第4の実施可能例に基づき、第2の態様の第5の実施可能例では、利用可能マイグレーション時間管理モジュールはさらに、
リソーススケジューリングの各回の開始時に、コンピューティングノードが仮想マシンマイグレーションを実行していると検出される場合、コンピューティングノードの
【数7】
で表される利用可能マイグレーション時間を初期化するよう構成されている。
MTVijは、コンピューティングノードにおいてマイグレーション中の仮想マシンのマイグレーション時間である。
【0017】
上記に対応して、本発明の実施形態の第3の態様はさらに、仮想マシンマイグレーション管理システムを提供する。当該システムは、少なくとも2つのコンピューティングノードデバイスを備え、各コンピューティングノードデバイスは、仮想マシンと、本発明の実施形態の第2の態様に係る複数の仮想マシンマイグレーション管理装置のいずれか1つとを含む。
【0018】
上記に対応して、本発明の実施形態の第4の態様はさらに、仮想マシンマイグレーション管理システムを提供する。当該システムは、少なくとも1つのマイグレーション予定の仮想マシンを含むマイグレーション元のコンピューティングノードと、マイグレーション先のコンピューティングノードと、仮想マシンマイグレーション管理装置とを備える。
仮想マシンマイグレーション管理装置は、マイグレーション予定の仮想マシンの複数のマイグレーションパラメータに応じて、マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせるために必要なマイグレーション時間を算出し、マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間を別々に取得し、マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間がいずれもマイグレーション時間以上である場合、マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせると判断するように構成され、複数のマイグレーションパラメータは、マイグレーション予定の仮想マシンの割り当てメモリサイズ、メモリ変更速度、および、マイグレーションネットワーク帯域幅を含む。
【0019】
本発明の実施形態の第4の態様の第1の実施可能例では、マイグレーション時間は、以下に記載する2つの実施方法のいずれかに係る計算によって取得されるとしてよい。
およびqは
【数3】
で表され、MVijは、マイグレーション予定の仮想マシンの割り当てメモリサイズ、MCRVijは、マイグレーション予定の仮想マシンのメモリ変更速度、BWVijは、マイグレーション予定の仮想マシンに割り当てられたマイグレーションネットワーク帯域幅、Nは、予め設定された最大転送回数、Nは、
【数4】
が予め設定されたメモリダーティページしきい値未満になるという条件を満たす最小整数値である場合に、
マイグレーション元のコンピューティングノードiからマイグレーション先のコンピューティングノードjへとマイグレーション予定の仮想マシンをマイグレーションさせるために必要な
【数1】
で表されるマイグレーション時間、および、
【数2】
で表される転送回数を算出する。
およびqは
【数5】
で表され、
MVijは、マイグレーション予定の仮想マシンの割り当てメモリサイズ、MCRVijは、マイグレーション予定の仮想マシンのメモリ変更速度、BWVijは、マイグレーション予定の仮想マシンに割り当てられたマイグレーションネットワーク帯域幅、Nは、予め設定された最大転送回数、Nは、
【数4】
が予め設定されたメモリダーティページしきい値未満になるという条件を満たす最小整数値、CVijは、マイグレーション予定の仮想マシンのメモリ圧縮率である場合に、
マイグレーション元のコンピューティングノードiからマイグレーション先のコンピューティングノードjへとマイグレーション予定の仮想マシンをマイグレーションさせるために必要な
【数1】
で表わされるマイグレーション時間、および、
【数2】
で表される転送回数を算出する。
【0020】
本発明の複数の実施形態によると、マイグレーション時間は、マイグレーション予定の仮想マシンの複数のマイグレーションパラメータを用いて動的に算出され、算出されたマイグレーション時間を、マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間と比較して、仮想マシンマイグレーションを実行可能か否かを判断する。このため、仮想マシンマイグレーションに関する判断の精度がある程度改善される。
【図面の簡単な説明】
【0021】
本発明の複数の実施形態に含まれる複数の技術的解決方法をさらに明瞭に説明するべく、当該実施形態を説明するために必要な複数の添付図面を簡単に以下で説明する。以下で説明する複数の添付図面は本発明の一部の実施形態を図示しているに過ぎず、当業者は、創作努力を発揮することなく、これらの添付図面から他の複数の図面に想到し得ることは明らかである。
【0022】
図1】本発明の実施形態に係る仮想マシンマイグレーション管理方法を示す概略フローチャートである。
【0023】
図2】本発明の別の実施形態に係る仮想マシンマイグレーション管理方法を示す概略フローチャートである。
【0024】
図3】本発明の実施形態に係る仮想マシンマイグレーション管理装置を示す概略構造図である。
【0025】
図4】本発明の別の実施形態に係る仮想マシンマイグレーション管理装置を示す概略構造図である。
【0026】
図5】本発明の実施形態に係る仮想マシンマイグレーション管理システムを示す概略構造図である。
【0027】
図6】本発明の別の実施形態に係る仮想マシンマイグレーション管理システムを示す概略構造図である。
【0028】
図7】本発明の実施形態で言及した分散型リソース管理システムを示す概略構造図である。
【発明を実施するための形態】
【0029】
以下では、本発明の複数の実施形態における複数の添付図面を参照しつつ、本発明の複数の実施形態における複数の技術的解決方法を明確且つ完全に説明する。記載した複数の実施形態は、本発明の複数の実施形態の全てではなく一部に過ぎないのは明らかである。本発明の複数の実施形態に基づき当業者が創作努力を発揮することなく得た他の実施形態はすべて、本発明の保護範囲に含まれるものとする。
【0030】
本発明の複数の実施形態における仮想マシンマイグレーション管理方法は、仮想マシンマイグレーション管理装置を用いて実施されるとしてよい。仮想マシンマイグレーション管理装置は、独立したノードデバイスにおいて実施されるとしてもよいし、図7に示す分散型リソース管理システムの管理ノードデバイスにおいて実施されるとしてもよい。図7に示す分散型リソース管理システムは、一の管理ノードデバイスと、複数のコンピューティングノードとを含み、複数のコンピューティングノードは一のノードクラスタに統合されるとしてもよい。当該ノードクラスタではさらに、マスターノードMasterおよびスレーブノードSlaveが設定されるとしてよい。
【0031】
図1は、本発明の実施形態に係る仮想マシンマイグレーション管理方法を示す概略フローチャートである。同図に示すように、本実施形態の仮想マシンマイグレーション管理方法は少なくとも以下の段階を備えるとしてよい。
【0032】
S101:マイグレーション予定の仮想マシンの複数のマイグレーションパラメータに応じて、当該マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせるために必要なマイグレーション時間を算出する段階
複数のマイグレーションパラメータは、マイグレーション予定の仮想マシンの割り当てメモリサイズ、メモリ変更速度、および、マイグレーションネットワーク帯域幅を含む。
【0033】
仮想マシンマイグレーションがプリコピー方式で実行される例を用いる。仮想マシンマイグレーション管理装置は、ロードバランシング等の要因に基づき、コンピューティングノードiからコンピューティングノードjへとマイグレーションさせる必要がある仮想マシンVij、つまり、マイグレーション予定の仮想マシンを決定するとしてよい。さらに、マイグレーション予定の仮想マシンの上位層サービスのQoS(サービス品質、サービス品質保証)で規定されているメモリ変更速度MCRVij、および、マイグレーション予定の仮想マシンの下位層ネットワークのQoSで規定されているマイグレーションネットワーク帯域幅BWVijを取得するとしてよい。さらに、マイグレーション時間を推定するプロセスは以下の通りであるとしてよい。
【0034】
初回のコピーでは、マイグレーション元のコンピューティングノードによって仮想マシンVijに割り当てられたメモリはMVijと仮定される。当該メモリは、本実施形態において、割り当てメモリと呼ぶ。仮想マシンVijの割り当てメモリMVijは、マイグレーション元のコンピューティングノードiからマイグレーション先のコンピューティングノードjに転送され、かかる時間は、以下の数8で表される。
【数8】
(一例として、MVijの単位はMbであってよく、BWVijの単位はMb/sであってよい。)
【0035】
2回目のコピーでは、初回のコピーの時の時間t0内で、仮想マシンVijの割り当てメモリ内の
【数9】
を変更し、メモリのこの部分は、マイグレーション元のコンピューティングノードiからマイグレーション先のコンピューティングノードjへと再度転送する必要があり、かかる時間は以下の通りである。
【数10】
【0036】
3回目のコピーでは、2回目のコピーにおける時間t1内で、仮想マシンVijの割り当てメモリにおける
【数11】
を変更し、メモリのこの部分はマイグレーション元のコンピューティングノードiからマイグレーション先のコンピューティングノードjへと再度転送する必要があり、かかる時間は以下の通りである。
【数12】
同様に繰り返し、マイグレーション時間は最終的に以下のようになるはずである。
【数13】
【0037】
一般的に、MCRVijおよびBWVijを設定することによって、以下のように仮定される。
【数14】
qは1未満であることが保証され得るので、上記の式は収束する。そして、上記の式はさらに以下のように簡略化される。
【数15】
nが総転送回数(ラウンド数)であり、以下のように表される。
【数2】
は、予め設定された最大転送回数であり、Nは
【数4】
が予め設定されたメモリダーティページしきい値X未満であるという条件を満たす最小整数値である。メモリ汚染ページとは、各回のコピーの転送プロセスにおいて変更されるメモリページである。メモリダーティページしきい値Xは、メモリ汚染ページの数を表す値であり、管理者によって予め設定されるとしてよい。つまり、1回のコピーにおけるメモリ汚染ページの数がメモリダーティページしきい値未満である場合、コピーを停止させるとしてよい。
【0038】
しかし、任意の実施形態において、仮想マシンマイグレーションは、最初に仮想マシンメモリを圧縮した後にコピーする方法で実行されるとしてもよい。メモリ圧縮率CVijは、採用された圧縮アルゴリズムに応じて決まるとしてよく、数15はさらに以下のように調整されるとしてよい。マイグレーション時間は
【数1】
で表され、
転送回数は
【数2】
で表される。
ここで、aおよびqは以下の数5で表される。
【数5】
nを決定する方法は、上記の説明と同じである。
【0039】
S102:マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間を別々に取得する段階
【0040】
具体的には、利用可能マイグレーション時間は、コンピューティングノード毎に設定されるとしてよい。つまり、各スケジューリング期間において当該コンピューティングノードが仮想マシンマイグレーションについて必要とする時間である。例えば、各コンピューティングノードの利用可能マイグレーション時間は、一定間隔で、または、通常イベント(仮想リソースクラスタに対するコンピューティングノードの追加/削除、仮想マシンの起動/停止等)がリソーススケジューリングをトリガする場合に、初期化される。さらに、コンピューティングノードの利用可能マイグレーション時間は、利用可能マイグレーション時間に影響を及ぼす通常イベントであって、当該コンピューティングノードで発生する通常イベント(当該コンピューティングノードで元々実行されている仮想マシンを別のコンピューティングノードにマイグレーションさせること、または、別のコンピューティングノードで元々実行されている仮想マシンを当該コンピューティングノードにマイグレーションさせること等)と同時に更新されるとしてよい。コンピューティングノードiからコンピューティングノードjへとマイグレーションさせる必要がある仮想マシンVijを決定した後、仮想マシンマイグレーション管理装置は、マイグレーション元のコンピューティングノード、つまり、コンピューティングノードiの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノード、つまり、コンピューティングノードjの現在の利用可能マイグレーション時間を別々に取得するとしてよい。
【0041】
S103:マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間がいずれもマイグレーション時間以上である場合、マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせると判断する段階
【0042】
つまり、マイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーション予定の仮想マシンをマイグレーションさせるために必要なマイグレーション時間であって、ステップS101における算出する段階によって得られるマイグレーション時間は、マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間、および、マイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間と別々に比較される。マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間がいずれもマイグレーション時間以上である場合、マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーション可能であると判断される。マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間がマイグレーション時間未満であるか、または、マイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間がマイグレーション時間未満である場合、マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーション可能でないと判断される。
【0043】
任意の実施形態において、マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせることが可能と判断された後、仮想マシンマイグレーション管理装置は、仮想マシンマイグレーション命令をマイグレーション元のコンピューティングノードおよびマイグレーション先のコンピューティングノードへと別々に送信するとしてよく、マイグレーション元のコンピューティングノードおよびマイグレーション先のコンピューティングノードは、マイグレーション予定の仮想マシンの仮想マシンマイグレーションの実行を開始する。一方、マイグレーション時間は、マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間から別々に減算して、仮想マシンマイグレーションが次に必要になった場合に、更新後の利用可能マイグレーション時間に応じて、仮想マシンマイグレーションが実行可能か否かを判断するとしてよい。これによって、仮想マシンマイグレーションが動的に判断される。対応するコンピューティングノードの利用可能マイグレーション時間を正確に管理しつつ仮想マシンがマイグレーションされる。
【0044】
しかし、別の任意の実施形態において、仮想マシンマイグレーション管理装置はさらに、マイグレーション予定の仮想マシンのマイグレーションが完了した後に、現在のマイグレーションの実際のマイグレーション時間を、マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間から別々に減算するとしてよい。これによって、コンピューティングノードの利用可能マイグレーション時間をより正確に管理する。
【0045】
本実施形態において、図1に示した仮想マシンマイグレーション管理方法に基づき、マイグレーション時間はマイグレーション予定の仮想マシンのマイグレーションパラメータに応じて動的に算出され得ることが分かるとしてよい。算出されたマイグレーション時間はマイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間を比較して、仮想マシンマイグレーションを実行可能か否かを判断する。あるコンピューティングノードの同時マイグレーションの対象となる仮想マシンの数は動的に管理されるとしてよい。これによって、仮想マシンマイグレーションについてより正確に判断が行われる。
【0046】
図2は、本発明の別の実施形態に係る仮想マシンマイグレーション管理方法を示す概略フローチャートである。同図に示すように、本実施形態に係る仮想マシンマイグレーション管理方法は、以下の段階を備えるとしてよい。
【0047】
S201:リソーススケジューリングの各回の開始時に全てのコンピューティングノードの利用可能マイグレーション時間を初期化する段階
【0048】
特定の実施例において、コンピューティングノードiの利用可能マイグレーション時間は、数6に表すように初期化されるとしてよい。
【数6】
は、コンピューティングノードiが許容する同時マイグレーションの対象となる仮想マシンの数、Tは、リソーススケジューリング期間である。
【0049】
任意の実施形態において、各コンピューティングノードの利用可能マイグレーション時間が初期化されると、各コンピューティングノードが現在仮想マシンマイグレーションを実行中であるか否かを検出するとしてよい。コンピューティングノードiが現在仮想マシンVijのコンピューティングノードjへのマイグレーションを実行中である場合、コンピューティングノードiの利用可能マイグレーション時間は、数7で表される値に初期化されるとしてよい。
【数7】
MTVijは、マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせるために必要なマイグレーション時間であり、マイグレーション予定の仮想マシンVijのマイグレーションパラメータに応じて算出される。マイグレーションパラメータは、マイグレーション予定の仮想マシンの割り当てメモリサイズ、メモリ変更速度、および、マイグレーションネットワーク帯域幅を含む。マイグレーション時間を算出する具体的な方法は、上述した実施形態で詳細に例示しており、本実施形態では詳細は省略する。
【0050】
S202:マイグレーション予定の仮想マシンの複数のマイグレーションパラメータに応じて、当該マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせるために必要なマイグレーション時間を算出する段階
複数のマイグレーションパラメータは、マイグレーション予定の仮想マシンの割り当てメモリサイズ、メモリ変更速度、および、マイグレーションネットワーク帯域幅を含む。
【0051】
具体的には、仮想マシンマイグレーション管理装置は、ロードバランシング等の要因に基づき、コンピューティングノードiからコンピューティングノードjへとマイグレーションさせる必要がある仮想マシンVij、つまり、マイグレーション予定の仮想マシンを決定するとしてよい。さらに、マイグレーション予定の仮想マシンの上位層サービスのQoS(サービス品質、サービス品質保証)で規定されているメモリ変更速度MCRVij、および、マイグレーション予定の仮想マシンの下位層ネットワークのQoSで規定されているマイグレーションネットワーク帯域幅BWVijを取得するとしてよい。さらに、仮想マシンVijをコンピューティングノードiからコンピューティングノードjへとマイグレーションさせるために必要なマイグレーション時間MTVijを算出するとしてよい。具体的な算出方法については、上述した実施形態のステップS101を参照されたく、本実施形態では詳細は省略する。
【0052】
S203: マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間を別々に取得する。
【0053】
S204:マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間がいずれもマイグレーション時間以上である場合、マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせると判断する。
【0054】
つまり、マイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーション予定の仮想マシンをマイグレーションさせるために必要なマイグレーション時間であって、ステップS202における算出する段階によって得られるマイグレーション時間は、マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間、および、マイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間と別々に比較される。マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間がいずれもマイグレーション時間以上である場合、マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーション可能であると判断される。マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間がマイグレーション時間未満であるか、または、マイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間がマイグレーション時間未満である場合、マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーション可能でないと判断される。
【0055】
S205:マイグレーション予定の仮想マシンのマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへのマイグレーションが開始された後、マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間からマイグレーション時間を減算し、マイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間からマイグレーション時間を減算する。
【0056】
具体的な実施例において、マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせることが可能と判断された後、仮想マシンマイグレーション管理装置は、仮想マシンマイグレーション命令をマイグレーション元のコンピューティングノードおよびマイグレーション先のコンピューティングノードへと別々に送信するとしてよく、マイグレーション元のコンピューティングノードおよびマイグレーション先のコンピューティングノードは、マイグレーション予定の仮想マシンの仮想マシンマイグレーションの実行を開始する。また、マイグレーション時間は、マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間から別々に減算する。しかし、別の任意の実施形態において、仮想マシンマイグレーション管理装置はさらに、マイグレーション予定の仮想マシンのマイグレーションが完了した後に、現在のマイグレーションの実際のマイグレーション時間を、マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間から別々に減算するとしてよい。
【0057】
本実施形態において、図2に示した仮想マシンマイグレーション管理方法に基づき、マイグレーション時間はマイグレーション予定の仮想マシンのマイグレーションパラメータに応じて動的に算出され得ることが分かるとしてよい。算出されたマイグレーション時間はマイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間と比較されて、仮想マシンマイグレーションを実行可能か否かを判断する。あるコンピューティングノードの同時マイグレーションの対象となる仮想マシンの数は動的に管理されるとしてよい。これによって、仮想マシンマイグレーションについてより正確に判断が行われる。
【0058】
図3は、本発明の実施形態に係る仮想マシンマイグレーション管理装置を示す概略構造図である。本発明に係る仮想マシンマイグレーション管理装置は、分散型リソース管理システムの管理ノードデバイスにおいて実施されるとしてよく、別の独立したノードデバイスで実施されるとしてもよい。同図に示すように、本実施形態に係る仮想マシンマイグレーション装置は、
マイグレーション予定の仮想マシンの複数のマイグレーションパラメータに応じて、当該マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせるために必要なマイグレーション時間を算出するよう構成されているマイグレーション時間算出モジュール310であって、複数のマイグレーションパラメータは、マイグレーション予定の仮想マシンの割り当てメモリサイズ、メモリ変更速度、および、マイグレーションネットワーク帯域幅を含む、マイグレーション時間算出モジュール310
を備えるとしてよい。
【0059】
具体的な実施例において、仮想マシンマイグレーションがプリコピー方式で実行される例を用いる。仮想マシンマイグレーション管理装置は、ロードバランシング等の要因に基づき、コンピューティングノードiからコンピューティングノードjへとマイグレーションさせる必要がある仮想マシンVij、つまり、マイグレーション予定の仮想マシンを決定するとしてよい。さらに、マイグレーション予定の仮想マシンの上位層サービスのQoS(サービス品質、サービス品質保証)で規定されているメモリ変更速度MCRVij、および、マイグレーション予定の仮想マシンの下位層ネットワークのQoSで規定されているマイグレーションネットワーク帯域幅BWVijを取得するとしてよい。さらに、マイグレーション時間算出モジュール310は、a0およびqが
【数3】
で表され、MVijは、マイグレーション予定の仮想マシンの割り当てメモリサイズ、Nは、予め設定された最大転送回数、Nは、
【数4】
が予め設定されたメモリダーティページしきい値未満になるという条件を満たす最小整数値である場合、数15(数1)に応じてマイグレーション時間を算出し、さらに転送回数(数2)を算出するとしてよい。
【数1】
【数2】
マイグレーション時間を算出および推定する具体的なプロセスは上述した実施形態において詳細に説明しており、本実施形態では詳細は省略する。
【0060】
しかし、任意の実施形態において、仮想マシンマイグレーションは、仮想マシンメモリを最初に圧縮した後にコピーする方法で実行されるとしてもよい。メモリ圧縮率CVijは、採用された圧縮アルゴリズムに応じて決まるとしてよく、数15はさらに以下のように調整されるとしてよい。マイグレーション時間は
【数1】
で表され、
転送回数は
【数2】
で表される。
ここで、aおよびqは以下の数5で表される。
【数5】
nを決定する方法は、上記の説明と同じである。
【0061】
利用可能マイグレーション時間管理モジュール320は、マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間を別々に取得するよう構成されている。
【0062】
具体的には、利用可能マイグレーション時間管理モジュール320は、各コンピューティングノードの利用可能マイグレーション時間を設定するとしてよく、各コンピューティングノードの利用可能マイグレーション時間を、例えば、所定の間隔で、または、通常イベント(仮想リソースクラスタに対するコンピューティングノードの追加/削除、または、仮想マシンの起動/停止等)がリソーススケジューリングをトリガする場合に、初期化するとしてよい。任意で、各コンピューティングノードの利用可能マイグレーション時間が初期化されると、各コンピューティングノードが現在仮想マシンマイグレーションを実行中であるか否かを最初に検出するとしてよい。コンピューティングノードiが現在仮想マシンVijのコンピューティングノードjへのマイグレーションを実行中である場合、コンピューティングノードiの利用可能マイグレーション時間は、数7で表される値に初期化されるとしてよい。
【数7】
MTVijは、マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせるために必要なマイグレーション時間であり、マイグレーション予定の仮想マシンVijのマイグレーションパラメータに応じてマイグレーション時間算出モジュール310によって算出される。マイグレーションパラメータは、マイグレーション予定の仮想マシンの割り当てメモリサイズ、メモリ変更速度、および、マイグレーションネットワーク帯域幅を含む。
【0063】
さらに、コンピューティングノードの利用可能マイグレーション時間は、利用可能マイグレーション時間に影響を及ぼす通常イベントであって、当該コンピューティングノードで発生する通常イベント(当該コンピューティングノードで元々実行されている仮想マシンを別のコンピューティングノードにマイグレーションさせること、または、別のコンピューティングノードで元々実行されている仮想マシンを当該コンピューティングノードにマイグレーションさせること等)と同時に更新されるとしてよい。コンピューティングノードiからコンピューティングノードjへとマイグレーションさせる必要がある仮想マシンVijを決定した後、仮想マシンマイグレーション管理装置は、マイグレーション元のコンピューティングノード、つまり、コンピューティングノードiの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノード、つまり、コンピューティングノードjの現在の利用可能マイグレーション時間を別々に取得するとしてよい。例えば、マイグレーション判断モジュール330がマイグレーション予定の仮想マシンはマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせることが可能と判断した後、仮想マシンマイグレーション管理装置は、仮想マシンマイグレーション命令をマイグレーション元のコンピューティングノードおよびマイグレーション先のコンピューティングノードへと別々に送信するとしてよく、マイグレーション元のコンピューティングノードおよびマイグレーション先のコンピューティングノードは、マイグレーション予定の仮想マシンの仮想マシンマイグレーションの実行を開始する。また、利用可能マイグレーション時間管理モジュール320は、マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間から別々にマイグレーション時間を減算する。しかし、別の任意の実施形態において、利用可能マイグレーション時間管理モジュール320はさらに、マイグレーション予定の仮想マシンのマイグレーションが完了した後に、現在のマイグレーションの実際のマイグレーション時間を、マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間から別々に減算するとしてよい。
【0064】
マイグレーション判断モジュール330は、マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間がいずれもマイグレーション時間以上である場合、マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせると判断するよう構成されている。
【0065】
つまり、マイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーション予定の仮想マシンをマイグレーションさせるために必要なマイグレーション時間であって、マイグレーション時間算出モジュール310が算出することで得られるマイグレーション時間は、マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間、および、マイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間と別々に比較される。マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間がいずれもマイグレーション時間以上である場合、マイグレーション判断モジュール330は、マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーション可能であると判断する。マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間がマイグレーション時間未満であるか、または、マイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間がマイグレーション時間未満である場合、マイグレーション判断モジュール330は、マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーション可能でないと判断する。
【0066】
任意の実施形態において、マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせることが可能と判断された後、マイグレーション判断モジュール330は、仮想マシンマイグレーション命令をマイグレーション元のコンピューティングノードおよびマイグレーション先のコンピューティングノードへと別々に送信するとしてよく、マイグレーション元のコンピューティングノードおよびマイグレーション先のコンピューティングノードは、マイグレーション予定の仮想マシンの仮想マシンマイグレーションの実行を開始する。一方、マイグレーション判断モジュール330は、利用可能マイグレーション時間管理モジュール320に対して、マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間から別々にマイグレーション時間を減算するよう指示するとしてよい。
【0067】
本実施形態において、図3に示した仮想マシンマイグレーション管理装置に基づき、マイグレーション時間はマイグレーション予定の仮想マシンのマイグレーションパラメータに応じて動的に算出され得ることが分かるとしてよい。算出されたマイグレーション時間はマイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間と比較されて、仮想マシンマイグレーションを実行可能か否かを判断する。あるコンピューティングノードの同時マイグレーションの対象となる仮想マシンの数は動的に管理されるとしてよい。これによって、仮想マシンマイグレーションについてより正確に判断が行われる。
【0068】
図4は、本発明の別の実施形態に係る仮想マシンマイグレーション管理装置を示す概略構造図である。図3に示すように、仮想マシンマイグレーション管理装置400は、CPU等の少なくとも1つのプロセッサ401、少なくとも1つのネットワークインターフェース403、メモリ404、および、少なくとも1つの通信バス402を有するとしてよい。通信バス402は、これらのコンポーネント間において接続および通信を実現するよう構成されている。ネットワークインターフェース403は任意で、標準的な有線インターフェースおよび標準的な無線インターフェース(WiFiインターフェース等)を有するとしてよい。例えば、アンテナ装置が含まれており、別のノードデバイスとの間で信号伝達またはデータ通信を実行するよう構成されている。メモリ404は、高速RAMメモリであってよく、少なくとも1つのディスクメモリ等、不揮発性メモリ(不揮発性メモリ)でもあってよい。メモリ404は任意でさらに、上述したプロセッサ401から離れた位置にある少なくとも1つの記憶装置であってよい。メモリ404は、プログラムコード群を格納し、プロセッサ401はメモリ404に格納されているプログラムコードを呼び出すように構成されている。プログラムコードは、以下の処理を実行するために用いられる。
マイグレーション予定の仮想マシンの複数のマイグレーションパラメータに応じて、当該マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせるために必要なマイグレーション時間を算出する処理。複数のマイグレーションパラメータは、マイグレーション予定の仮想マシンの割り当てメモリサイズ、メモリ変更速度、および、マイグレーションネットワーク帯域幅を含む。
マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間を別々に取得する処理。
マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間がいずれもマイグレーション時間以上である場合、マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせると判断する処理。
【0069】
さらに、任意の実施形態において、マイグレーション予定の仮想マシンの複数のマイグレーションパラメータに応じて、当該マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせるために必要なマイグレーション時間を算出する処理は、以下の処理を含む。
およびqは
【数3】
で表され、MVijは、マイグレーション予定の仮想マシンの割り当てメモリサイズ、MCRVijは、マイグレーション予定の仮想マシンのメモリ変更速度、BWVijは、マイグレーション予定の仮想マシンに割り当てられたマイグレーションネットワーク帯域幅、Nは、予め設定された最大転送回数、Nは、
【数4】
が予め設定されたメモリダーティページしきい値未満になるという条件を満たす最小整数値である場合に、
マイグレーション元のコンピューティングノードiからマイグレーション先のコンピューティングノードjへとマイグレーション予定の仮想マシンをマイグレーションさせるために必要な
【数1】
で表されるマイグレーション時間、および、
【数2】
で表される転送回数を算出する処理。
【0070】
さらに、任意の実施形態において、仮想マシンマイグレーションは、仮想マシンメモリを最初に圧縮した後にコピーする方法で実行されるとしてもよい。メモリ圧縮率CVijは、採用された圧縮アルゴリズムに応じて決まるとしてよく、数15はさらに以下のように調整されるとしてよい。マイグレーション時間は
【数1】
で表され、
転送回数は
【数2】
で表される。
ここで、aおよびqは以下の数5で表される。
【数5】
nを決定する方法は、上記の説明と同じである。
【0071】
さらに、任意の実施形態において、プロセッサ401はさらに、メモリ404に格納されているプログラムコードを呼び出して以下の段階を実行するとしてよい。
マイグレーション予定の仮想マシンのマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへのマイグレーションが開始された後、マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間からマイグレーション時間を減算し、マイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間からマイグレーション時間を減算する段階。このため、仮想マシンマイグレーションが次に必要になった場合に、更新後の利用可能マイグレーション時間に応じて、仮想マシンマイグレーションを実行可能か否かが判断されるとしてよい。このため、仮想マシンマイグレーションが動的に判断される。対応するコンピューティングノードの利用可能マイグレーション時間を正確に管理しつつ仮想マシンがマイグレーションされる。
【0072】
しかし、別の任意の実施形態において、仮想マシンマイグレーション管理装置はさらに、マイグレーション予定の仮想マシンのマイグレーションが完了した後に、現在のマイグレーションの実際のマイグレーション時間を、マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間から別々に減算するとしてよい。これによって、コンピューティングノードの利用可能マイグレーション時間をより正確に管理する。
【0073】
さらに、任意の実施形態において、プロセッサ401はさらに、メモリ404に格納されているプログラムコードを呼び出して以下の段階を実行するとしてよい。
リソーススケジューリングの各回の開始時に、全てのコンピューティングノードの
【数6】
で表される利用可能マイグレーション時間を初期化する段階。Nは、対応するコンピューティングノードがサポートしている同時マイグレーションの対象となる仮想マシンの数、Tは、リソーススケジューリング期間である。
【0074】
さらに、任意の実施形態において、各コンピューティングノードの利用可能マイグレーション時間が初期化されると、各コンピューティングノードが現在仮想マシンマイグレーションを実行中であるか否かを検出するとしてよい。コンピューティングノードiが現在仮想マシンVijのコンピューティングノードjへのマイグレーションを実行中である場合、コンピューティングノードiの利用可能マイグレーション時間は、数7で表される値に初期化されるとしてよい。
【数7】
MTVijは、マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせるために必要なマイグレーション時間であり、マイグレーション予定の仮想マシンVijのマイグレーションパラメータに応じて算出される。
【0075】
本実施形態において、図4に示した仮想マシンマイグレーション管理装置に基づき、マイグレーション時間はマイグレーション予定の仮想マシンのマイグレーションパラメータに応じて動的に算出され得ることが分かるとしてよい。算出されたマイグレーション時間はマイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間と比較されて、仮想マシンマイグレーションを実行可能か否かを判断する。あるコンピューティングノードの同時マイグレーションの対象となる仮想マシンの数は動的に管理されるとしてよい。これによって、仮想マシンマイグレーションについてより正確に判断が行われる。
【0076】
図5は、本発明の実施形態に係る仮想マシンマイグレーション管理システムを示す概略構造図である。同図に示すように、本発明の本実施形態に係る仮想マシンマイグレーション管理システムは、少なくとも、それぞれが仮想マシンを含むコンピューティングノードデバイス510、コンピューティングノードデバイス520、・・・、および、コンピューティングノードデバイス5n0のうち少なくとも2つ、および、仮想マシンマイグレーション管理装置500を含むとしてよい。
【0077】
仮想マシンマイグレーション管理装置500は、上述した実施形態のいずれか1つで説明した仮想マシンマイグレーション管理装置であってよく、マイグレーション予定の仮想マシンの複数のマイグレーションパラメータに応じて、当該マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせるために必要なマイグレーション時間を算出し、マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間を別々に取得し、マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間がいずれもマイグレーション時間以上である場合、マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせると判断するように構成されている。尚、複数のマイグレーションパラメータは、マイグレーション予定の仮想マシンの割り当てメモリサイズ、メモリ変更速度、および、マイグレーションネットワーク帯域幅を含む。
【0078】
コンピューティングノードデバイスは、仮想マシンマイグレーション管理装置がマイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせると判断すると、マイグレーション予定の仮想マシンに対してマイグレーション処理を実行するように構成されている。
【0079】
さらに、本実施形態で記載する仮想マシンマイグレーション管理システムは、上述した方法の実施形態のいずれか1つに係る仮想マシンマイグレーション管理方法のプロセスのうち全てまたは一部を実施するために用いられるとしてよい。
【0080】
図6は、本発明の別の実施形態に係る仮想マシンマイグレーション管理システムを示す図である。当該システムは、少なくとも1つのマイグレーション予定の仮想マシンを含むマイグレーション元のコンピューティングノードi620と、マイグレーション先のコンピューティングノードj630と、仮想マシンマイグレーション管理装置610とを備える。
【0081】
仮想マシンマイグレーション管理装置610は、マイグレーション予定の仮想マシンの複数のマイグレーションパラメータに応じて、当該マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードi620からマイグレーション先のコンピューティングノードj630へとマイグレーションさせるために必要なマイグレーション時間を算出し、マイグレーション元のコンピューティングノードi620の現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードj630の現在の利用可能マイグレーション時間を別々に取得し、マイグレーション元のコンピューティングノードi620の現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードj630の現在の利用可能マイグレーション時間がいずれもマイグレーション時間以上である場合、マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードi620からマイグレーション先のコンピューティングノードj630へとマイグレーションさせると判断するように構成されている。尚、複数のマイグレーションパラメータは、マイグレーション予定の仮想マシンの割り当てメモリサイズ、メモリ変更速度、および、マイグレーションネットワーク帯域幅を含む。
【0082】
任意の実施形態において、マイグレーション時間は、以下に記載する2つの実施方法のいずれかに係る算出方法によって取得されるとしてよい。
およびqは
【数3】
で表され、MVijは、マイグレーション予定の仮想マシンの割り当てメモリサイズ、MCRVijは、マイグレーション予定の仮想マシンのメモリ変更速度、BWVijは、マイグレーション予定の仮想マシンに割り当てられたマイグレーションネットワーク帯域幅、Nは、予め設定された最大転送回数、Nは、
【数4】
が予め設定されたメモリダーティページしきい値未満になるという条件を満たす最小整数値である場合に、
マイグレーション元のコンピューティングノードi620からマイグレーション先のコンピューティングノードj630へとマイグレーション予定の仮想マシンをマイグレーションさせるために必要な
【数1】
で表されるマイグレーション時間、および、
【数2】
で表される転送回数を算出する方法。
およびqは
【数5】
で表され、
MVijは、マイグレーション予定の仮想マシンの割り当てメモリサイズ、MCRVijは、マイグレーション予定の仮想マシンのメモリ変更速度、BWVijは、マイグレーション予定の仮想マシンに割り当てられたマイグレーションネットワーク帯域幅、Nは、予め設定された最大転送回数、Nは、
【数4】
が予め設定されたメモリダーティページしきい値未満になるという条件を満たす最小整数値、CVijは、マイグレーション予定の仮想マシンのメモリ圧縮率である場合に、
マイグレーション元のコンピューティングノードi620からマイグレーション先のコンピューティングノードj630へとマイグレーション予定の仮想マシンをマイグレーションさせるために必要な
【数1】
で表わされるマイグレーション時間、および、
【数2】
で表される転送回数を算出する方法。
【0083】
さらに、本実施形態で記載する仮想マシンマイグレーション管理システムは、上述した方法の実施形態のいずれか1つに係る仮想マシンマイグレーション管理方法のプロセスのうち全てまたは一部を実施するために用いられるとしてよい。
【0084】
本発明の本実施形態によると、マイグレーション時間は、マイグレーション予定の仮想マシンのマイグレーションパラメータに応じて動的に算出され、算出されたマイグレーション時間を、マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間と比較して、仮想マシンマイグレーションを実行可能か否かを判断する。あるコンピューティングノードの同時マイグレーションの対象となる仮想マシンの数は動的に管理されるとしてよい。これによって、仮想マシンマイグレーションについてより正確に判断が行われる。
【0085】
当業者であれば、実施形態に係る方法のプロセスの全てまたは一部はコンピュータプログラムが関連ハードウェアに指示することによって実施され得ると理解するであろう。プログラムはコンピュータ可読記憶媒体に格納されるとしてよい。プログラムが実行されると、実施形態に係る方法のプロセスが実行される。記憶媒体には、磁気ディスク、光ディスク、リードオンリーメモリ(ROM)、ランダムアクセスメモリ(RAM)等が含まれるとしてよい。
【0086】
開示した内容は、本発明の実施形態例に過ぎず、本発明の保護範囲を限定することを意図したものではない。本発明の請求項に応じて為された均等な変更は、本発明の保護範囲に含まれるものとする。
図1
図2
図3
図4
図5
図6
図7
【手続補正書】
【提出日】2016年4月14日
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
仮想マシンマイグレーション管理方法であって、
マイグレーション予定の仮想マシンの複数のマイグレーションパラメータに応じて、前記マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせるために必要なマイグレーション時間を算出する段階と、
前記マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間および前記マイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間を別々に取得する段階と、
前記マイグレーション元のコンピューティングノードの前記現在の利用可能マイグレーション時間および前記マイグレーション先のコンピューティングノードの前記現在の利用可能マイグレーション時間がいずれも前記マイグレーション時間以上である場合、前記マイグレーション予定の仮想マシンを前記マイグレーション元のコンピューティングノードから前記マイグレーション先のコンピューティングノードへとマイグレーションさせると判断する段階と
を備え、
前記複数のマイグレーションパラメータは、前記マイグレーション予定の仮想マシンの割り当てメモリサイズ、メモリ変更速度、および、マイグレーションネットワーク帯域幅を含む
仮想マシンマイグレーション管理方法。
【請求項2】
前記マイグレーション予定の仮想マシンの複数のマイグレーションパラメータに応じて、前記マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせるために必要なマイグレーション時間を算出する段階は、
およびqは
【数3】
で表され、MVijは、前記マイグレーション予定の仮想マシンの前記割り当てメモリサイズ、MCRVijは、前記マイグレーション予定の仮想マシンの前記メモリ変更速度、BWVijは、前記マイグレーション予定の仮想マシンに割り当てられた前記マイグレーションネットワーク帯域幅、Nは、予め設定された最大転送回数、Nは、
【数4】
が予め設定されたメモリダーティページしきい値未満になるという条件を満たす最小整数値である場合に、
マイグレーション元のコンピューティングノードiからマイグレーション先のコンピューティングノードjへと前記マイグレーション予定の仮想マシンをマイグレーションさせるために必要な
【数1】
で表されるマイグレーション時間、および、
【数2】
で表される転送回数を算出する段階を有する
請求項1に記載の仮想マシンマイグレーション管理方法。
【請求項3】
前記マイグレーション予定の仮想マシンの複数のマイグレーションパラメータに応じて、前記マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせるために必要なマイグレーション時間を算出する段階は、
およびqは
【数5】
で表され、
MVijは、前記マイグレーション予定の仮想マシンの前記割り当てメモリサイズ、MCRVijは、前記マイグレーション予定の仮想マシンの前記メモリ変更速度、BWVijは、前記マイグレーション予定の仮想マシンに割り当てられた前記マイグレーションネットワーク帯域幅、Nは、予め設定された最大転送回数、Nは、
【数4】
が予め設定されたメモリダーティページしきい値未満になるという条件を満たす最小整数値、CVijは、前記マイグレーション予定の仮想マシンのメモリ圧縮率である場合に、
マイグレーション元のコンピューティングノードiからマイグレーション先のコンピューティングノードjへと前記マイグレーション予定の仮想マシンをマイグレーションさせるために必要な
【数1】
で表わされるマイグレーション時間、および、
【数2】
で表される転送回数を算出する段階を有する
請求項1に記載の仮想マシンマイグレーション管理方法。
【請求項4】
前記マイグレーション予定の仮想マシンの前記マイグレーション元のコンピューティングノードから前記マイグレーション先のコンピューティングノードへのマイグレーションが開始された後、前記マイグレーション元のコンピューティングノードの前記現在の利用可能マイグレーション時間から前記マイグレーション時間を減算し、前記マイグレーション先のコンピューティングノードの前記現在の利用可能マイグレーション時間から前記マイグレーション時間を減算する段階をさらに備える
請求項1から3のいずれか一項に記載の仮想マシンマイグレーション管理方法。
【請求項5】
リソーススケジューリングの各回の開始時に、全てのコンピューティングノードの
【数6】
で表される利用可能マイグレーション時間を初期化する段階をさらに備え、
は、対応するコンピューティングノードがサポートしている同時マイグレーションの対象となる仮想マシンの数であり、Tは、リソーススケジューリング期間である
請求項1から4のいずれか一項に記載の仮想マシンマイグレーション管理方法。
【請求項6】
リソーススケジューリングの各回の開始時に、コンピューティングノードが仮想マシンマイグレーションを実行していると検出される場合、前記コンピューティングノードの
【数7】
で表される利用可能マイグレーション時間が初期化され、
MTVijは、前記コンピューティングノードにおいてマイグレーション中の仮想マシンのマイグレーション時間である
請求項5に記載の仮想マシンマイグレーション管理方法。
【請求項7】
仮想マシンマイグレーション管理装置であって、
マイグレーション予定の仮想マシンの複数のマイグレーションパラメータに応じて、前記マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせるために必要なマイグレーション時間を算出するマイグレーション時間算出モジュールと、
前記マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間および前記マイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間を別々に取得する利用可能マイグレーション時間管理モジュールと、
前記マイグレーション元のコンピューティングノードの前記現在の利用可能マイグレーション時間および前記マイグレーション先のコンピューティングノードの前記現在の利用可能マイグレーション時間がいずれも前記マイグレーション時間以上である場合、前記マイグレーション予定の仮想マシンを前記マイグレーション元のコンピューティングノードから前記マイグレーション先のコンピューティングノードへとマイグレーションさせると判断するマイグレーション判断モジュールと
を備え、
前記複数のマイグレーションパラメータは、前記マイグレーション予定の仮想マシンの割り当てメモリサイズ、メモリ変更速度、および、マイグレーションネットワーク帯域幅を含む
仮想マシンマイグレーション管理装置。
【請求項8】
前記利用可能マイグレーション時間管理モジュールはさらに、
前記マイグレーション予定の仮想マシンの前記マイグレーション元のコンピューティングノードから前記マイグレーション先のコンピューティングノードへのマイグレーションが開始された後、前記マイグレーション元のコンピューティングノードの前記現在の利用可能マイグレーション時間から前記マイグレーション時間を減算し、前記マイグレーション先のコンピューティングノードの前記現在の利用可能マイグレーション時間から前記マイグレーション時間を減算する
請求項7に記載の仮想マシンマイグレーション管理装置。
【請求項9】
前記マイグレーション時間算出モジュールが前記マイグレーション時間を算出することは、
およびqは
【数3】
で表され、MVijは、前記マイグレーション予定の仮想マシンの前記割り当てメモリサイズ、MCRVijは、前記マイグレーション予定の仮想マシンの前記メモリ変更速度、BWVijは、前記マイグレーション予定の仮想マシンに割り当てられた前記マイグレーションネットワーク帯域幅、Nは、予め設定された最大転送回数、Nは、
【数4】
が予め設定されたメモリダーティページしきい値未満になるという条件を満たす最小整数値である場合に、
マイグレーション元のコンピューティングノードiからマイグレーション先のコンピューティングノードjへと前記マイグレーション予定の仮想マシンをマイグレーションさせるために必要な
【数1】
で表されるマイグレーション時間、および、
【数2】
で表される転送回数を算出することを含む
請求項7に記載の仮想マシンマイグレーション管理装置。
【請求項10】
前記マイグレーション時間算出モジュールが前記マイグレーション時間を算出することは、
およびqは、
【数5】
で表され、MVijは、前記マイグレーション予定の仮想マシンの前記割り当てメモリサイズ、MCRVijは、前記マイグレーション予定の仮想マシンの前記メモリ変更速度、BWVijは、前記マイグレーション予定の仮想マシンに割り当てられた前記マイグレーションネットワーク帯域幅、Nは、予め設定された最大転送回数、Nは、
【数4】
が予め設定されたメモリダーティページしきい値未満になるという条件を満たす最小整数値、CVijは、前記マイグレーション予定の仮想マシンのメモリ圧縮率である場合に、
マイグレーション元のコンピューティングノードiからマイグレーション先のコンピューティングノードjへと前記マイグレーション予定の仮想マシンをマイグレーションさせるために必要な
【数1】
で表されるマイグレーション時間、および、
【数2】
で表される転送回数を算出することを含む
請求項7に記載の仮想マシンマイグレーション管理装置。
【請求項11】
前記利用可能マイグレーション時間管理モジュールはさらに、
リソーススケジューリングの各回の開始時に、全てのコンピューティングノードの
【数6】
で表される
利用可能マイグレーション時間を初期化し、
は、対応するコンピューティングノードがサポートしている同時マイグレーションの対象となる仮想マシンの数、Tは、リソーススケジューリング期間である
請求項7から10のいずれか一項に記載の仮想マシンマイグレーション管理装置。
【請求項12】
前記利用可能マイグレーション時間管理モジュールはさらに、
リソーススケジューリングの各回の開始時に、コンピューティングノードが仮想マシンマイグレーションを実行していると検出される場合、前記コンピューティングノードの
【数7】
で表される利用可能マイグレーション時間を初期化し、
MTVijは、前記コンピューティングノードにおいてマイグレーション中の仮想マシンのマイグレーション時間である
請求項11に記載の仮想マシンマイグレーション管理装置。
【請求項13】
少なくとも1つのマイグレーション予定の仮想マシンを含むマイグレーション元のコンピューティングノードと、マイグレーション先のコンピューティングノードと、仮想マシンマイグレーション管理装置とを備える仮想マシンマイグレーション管理システムであって、
前記仮想マシンマイグレーション管理装置は、
前記マイグレーション予定の仮想マシンの複数のマイグレーションパラメータに応じて、前記マイグレーション予定の仮想マシンを前記マイグレーション元のコンピューティングノードから前記マイグレーション先のコンピューティングノードへとマイグレーションさせるために必要なマイグレーション時間を算出し、
前記マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間および前記マイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間を別々に取得し、
前記マイグレーション元のコンピューティングノードの前記現在の利用可能マイグレーション時間および前記マイグレーション先のコンピューティングノードの前記現在の利用可能マイグレーション時間がいずれも前記マイグレーション時間以上である場合、前記マイグレーション予定の仮想マシンを前記マイグレーション元のコンピューティングノードから前記マイグレーション先のコンピューティングノードへとマイグレーションさせると判断し、
前記複数のマイグレーションパラメータは、前記マイグレーション予定の仮想マシンの割り当てメモリサイズ、メモリ変更速度、および、マイグレーションネットワーク帯域幅を含む
仮想マシンマイグレーション管理システム。
【請求項14】
前記マイグレーション時間は、
(i)aおよびqは、
【数3】
で表され、MVijは、前記マイグレーション予定の仮想マシンの前記割り当てメモリサイズ、MCRVijは、前記マイグレーション予定の仮想マシンの前記メモリ変更速度、BWVijは、前記マイグレーション予定の仮想マシンに割り当てられた前記マイグレーションネットワーク帯域幅、Nは、予め設定された最大転送回数、Nは、
【数4】
が予め設定されたメモリダーティページしきい値未満になるという条件を満たす最小整数値である場合に、
マイグレーション元のコンピューティングノードiからマイグレーション先のコンピューティングノードjへと前記マイグレーション予定の仮想マシンをマイグレーションさせるために必要な
【数1】
で表されるマイグレーション時間、および、
【数2】
で表される転送回数を算出する方法、
および
(ii)aおよびqは、
【数5】
で表され、MVijは、前記マイグレーション予定の仮想マシンの前記割り当てメモリサイズ、MCRVijは、前記マイグレーション予定の仮想マシンの前記メモリ変更速度、BWVijは、前記マイグレーション予定の仮想マシンに割り当てられた前記マイグレーションネットワーク帯域幅、Nは、予め設定された最大転送回数、Nは、
【数4】
が予め設定されたメモリダーティページしきい値未満になるという条件を満たす最小整数値、CVijは、前記マイグレーション予定の仮想マシンのメモリ圧縮率である場合に、
マイグレーション元のコンピューティングノードiからマイグレーション先のコンピューティングノードjへと前記マイグレーション予定の仮想マシンをマイグレーションさせるために必要な
【数1】
で表されるマイグレーション時間、および、
【数2】
で表される転送回数を算出する方法
のいずれかに係る計算によって取得される
請求項13に記載の仮想マシンマイグレーション管理システム。
【国際調査報告】