(57)【要約】  本発明の複数の実施形態は、マイグレーション予定の仮想マシンの複数のマイグレーションパラメータに応じて、当該マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせるために必要なマイグレーション時間を算出する段階と、マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間を別々に取得する段階と、マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間がいずれもマイグレーション時間以上である場合、マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせると判断する段階とを備え、複数のマイグレーションパラメータは、マイグレーション予定の仮想マシンの割り当てメモリサイズ、メモリ変更速度、および、マイグレーションネットワーク帯域幅を含む仮想マシンマイグレーション管理方法を開示している。本発明の複数の実施形態はさらに、仮想マシンマイグレーション管理のための装置およびシステムを開示している。本発明を利用することによって、仮想マシンマイグレーションの判断の精度がある程度改善され得る。
2016537705.tif 000002
【特許請求の範囲】
【請求項１】
仮想マシンマイグレーション管理方法であって、
マイグレーション予定の仮想マシンの複数のマイグレーションパラメータに応じて、前記マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせるために必要なマイグレーション時間を算出する段階と、
前記マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間および前記マイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間を別々に取得する段階と、
前記マイグレーション元のコンピューティングノードの前記現在の利用可能マイグレーション時間および前記マイグレーション先のコンピューティングノードの前記現在の利用可能マイグレーション時間がいずれも前記マイグレーション時間以上である場合、前記マイグレーション予定の仮想マシンを前記マイグレーション元のコンピューティングノードから前記マイグレーション先のコンピューティングノードへとマイグレーションさせると判断する段階と
を備え、
前記複数のマイグレーションパラメータは、前記マイグレーション予定の仮想マシンの割り当てメモリサイズ、メモリ変更速度、および、マイグレーションネットワーク帯域幅を含む
仮想マシンマイグレーション管理方法。
【請求項２】
前記マイグレーション予定の仮想マシンの複数のマイグレーションパラメータに応じて、前記マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせるために必要なマイグレーション時間を算出する段階は、
ａ０およびｑは
【数３】
2016537705.tif 000071
で表され、ＭＶｉｊは、前記マイグレーション予定の仮想マシンの前記割り当てメモリサイズ、ＭＣＲＶｉｊは、前記マイグレーション予定の仮想マシンの前記メモリ変更速度、ＢＷＶｉｊは、前記マイグレーション予定の仮想マシンに割り当てられた前記マイグレーションネットワーク帯域幅、Ｎ０は、予め設定された最大転送回数、Ｎは、
【数４】
2016537705.tif 000072
が予め設定されたメモリダーティページしきい値未満になるという条件を満たす最小整数値である場合に、
マイグレーション元のコンピューティングノードｉからマイグレーション先のコンピューティングノードｊへと前記マイグレーション予定の仮想マシンをマイグレーションさせるために必要な
【数１】
2016537705.tif 000073
で表されるマイグレーション時間、および、
【数２】
2016537705.tif 000074
で表される転送回数を算出する段階を有する
請求項１に記載の仮想マシンマイグレーション管理方法。
【請求項３】
前記マイグレーション予定の仮想マシンの複数のマイグレーションパラメータに応じて、前記マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせるために必要なマイグレーション時間を算出する段階は、
ａ０およびｑは
【数５】
2016537705.tif 000075
で表され、
ＭＶｉｊは、前記マイグレーション予定の仮想マシンの前記割り当てメモリサイズ、ＭＣＲＶｉｊは、前記マイグレーション予定の仮想マシンの前記メモリ変更速度、ＢＷＶｉｊは、前記マイグレーション予定の仮想マシンに割り当てられた前記マイグレーションネットワーク帯域幅、Ｎ０は、予め設定された最大転送回数、Ｎは、
【数４】
2016537705.tif 000076
が予め設定されたメモリダーティページしきい値未満になるという条件を満たす最小整数値、ＣＶｉｊは、前記マイグレーション予定の仮想マシンのメモリ圧縮率である場合に、
マイグレーション元のコンピューティングノードｉからマイグレーション先のコンピューティングノードｊへと前記マイグレーション予定の仮想マシンをマイグレーションさせるために必要な
【数１】
2016537705.tif 000077
で表わされるマイグレーション時間、および、
【数２】
2016537705.tif 000078
で表される転送回数を算出する段階を有する
請求項１に記載の仮想マシンマイグレーション管理方法。
【請求項４】
前記マイグレーション予定の仮想マシンの前記マイグレーション元のコンピューティングノードから前記マイグレーション先のコンピューティングノードへのマイグレーションが開始された後、前記マイグレーション元のコンピューティングノードの前記現在の利用可能マイグレーション時間から前記マイグレーション時間を減算し、前記マイグレーション先のコンピューティングノードの前記現在の利用可能マイグレーション時間から前記マイグレーション時間を減算する段階をさらに備える
請求項１から３のいずれか一項に記載の仮想マシンマイグレーション管理方法。
【請求項５】
リソーススケジューリングの各回の開始時に、全てのコンピューティングノードの
【数６】
2016537705.tif 000079
で表される利用可能マイグレーション時間を初期化する段階をさらに備え、
Ｎｉは、対応するコンピューティングノードがサポートしている同時マイグレーションの対象となる仮想マシンの数であり、Ｔは、リソーススケジューリング期間である
請求項１から４のいずれか一項に記載の仮想マシンマイグレーション管理方法。
【請求項６】
リソーススケジューリングの各回の開始時に、コンピューティングノードが仮想マシンマイグレーションを実行していると検出される場合、前記コンピューティングノードの
【数７】
2016537705.tif 000080
で表される利用可能マイグレーション時間が初期化され、
ＭＴＶｉｊは、前記コンピューティングノードにおいてマイグレーション中の仮想マシンのマイグレーション時間である
請求項５に記載の仮想マシンマイグレーション管理方法。
【請求項７】
仮想マシンマイグレーション管理装置であって、
マイグレーション予定の仮想マシンの複数のマイグレーションパラメータに応じて、前記マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせるために必要なマイグレーション時間を算出するマイグレーション時間算出モジュールと、
前記マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間および前記マイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間を別々に取得する利用可能マイグレーション時間管理モジュールと、
前記マイグレーション元のコンピューティングノードの前記現在の利用可能マイグレーション時間および前記マイグレーション先のコンピューティングノードの前記現在の利用可能マイグレーション時間がいずれも前記マイグレーション時間以上である場合、前記マイグレーション予定の仮想マシンを前記マイグレーション元のコンピューティングノードから前記マイグレーション先のコンピューティングノードへとマイグレーションさせると判断するマイグレーション判断モジュールと
を備え、
前記複数のマイグレーションパラメータは、前記マイグレーション予定の仮想マシンの割り当てメモリサイズ、メモリ変更速度、および、マイグレーションネットワーク帯域幅を含む
仮想マシンマイグレーション管理装置。
【請求項８】
前記利用可能マイグレーション時間管理モジュールはさらに、
前記マイグレーション予定の仮想マシンの前記マイグレーション元のコンピューティングノードから前記マイグレーション先のコンピューティングノードへのマイグレーションが開始された後、前記マイグレーション元のコンピューティングノードの前記現在の利用可能マイグレーション時間から前記マイグレーション時間を減算し、前記マイグレーション先のコンピューティングノードの前記現在の利用可能マイグレーション時間から前記マイグレーション時間を減算する
請求項７に記載の仮想マシンマイグレーション管理装置。
【請求項９】
前記マイグレーション時間算出モジュールが前記マイグレーション時間を算出することは、
ａ０およびｑは
【数３】
2016537705.tif 000081
で表され、ＭＶｉｊは、前記マイグレーション予定の仮想マシンの前記割り当てメモリサイズ、ＭＣＲＶｉｊは、前記マイグレーション予定の仮想マシンの前記メモリ変更速度、ＢＷＶｉｊは、前記マイグレーション予定の仮想マシンに割り当てられた前記マイグレーションネットワーク帯域幅、Ｎ０は、予め設定された最大転送回数、Ｎは、
【数４】
2016537705.tif 000082
が予め設定されたメモリダーティページしきい値未満になるという条件を満たす最小整数値である場合に、
マイグレーション元のコンピューティングノードｉからマイグレーション先のコンピューティングノードｊへと前記マイグレーション予定の仮想マシンをマイグレーションさせるために必要な
【数１】
2016537705.tif 000083
で表されるマイグレーション時間、および、
【数２】
2016537705.tif 000084
で表される転送回数を算出することを含む
請求項７に記載の仮想マシンマイグレーション管理装置。
【請求項１０】
前記マイグレーション時間算出モジュールが前記マイグレーション時間を算出することは、
ａ０およびｑは、
【数５】
2016537705.tif 000085
で表され、ＭＶｉｊは、前記マイグレーション予定の仮想マシンの前記割り当てメモリサイズ、ＭＣＲＶｉｊは、前記マイグレーション予定の仮想マシンの前記メモリ変更速度、ＢＷＶｉｊは、前記マイグレーション予定の仮想マシンに割り当てられた前記マイグレーションネットワーク帯域幅、Ｎ０は、予め設定された最大転送回数、Ｎは、
【数４】
2016537705.tif 000086
が予め設定されたメモリダーティページしきい値未満になるという条件を満たす最小整数値、ＣＶｉｊは、前記マイグレーション予定の仮想マシンのメモリ圧縮率である場合に、
マイグレーション元のコンピューティングノードｉからマイグレーション先のコンピューティングノードｊへと前記マイグレーション予定の仮想マシンをマイグレーションさせるために必要な
【数１】
2016537705.tif 000087
で表されるマイグレーション時間、および、
【数２】
2016537705.tif 000088
で表される転送回数を算出することを含む
請求項７に記載の仮想マシンマイグレーション管理装置。
【請求項１１】
前記利用可能マイグレーション時間管理モジュールはさらに、
リソーススケジューリングの各回の開始時に、全てのコンピューティングノードの
【数６】
2016537705.tif 000089
で表される
利用可能マイグレーション時間を初期化し、
Ｎｉは、対応するコンピューティングノードがサポートしている同時マイグレーションの対象となる仮想マシンの数、Ｔは、リソーススケジューリング期間である
請求項７から１０のいずれか一項に記載の仮想マシンマイグレーション管理装置。
【請求項１２】
前記利用可能マイグレーション時間管理モジュールはさらに、
リソーススケジューリングの各回の開始時に、コンピューティングノードが仮想マシンマイグレーションを実行していると検出される場合、前記コンピューティングノードの
【数７】
2016537705.tif 000090
で表される利用可能マイグレーション時間を初期化し、
ＭＴＶｉｊは、前記コンピューティングノードにおいてマイグレーション中の仮想マシンのマイグレーション時間である
請求項１１に記載の仮想マシンマイグレーション管理装置。
【請求項１３】
仮想マシンマイグレーション管理システムであって、
それぞれが仮想マシンを含む少なくとも２つのコンピューティングノードデバイスと、請求項７から１２のいずれか一項に記載の仮想マシンマイグレーション管理装置とを備える
仮想マシンマイグレーション管理システム。
【請求項１４】
少なくとも１つのマイグレーション予定の仮想マシンを含むマイグレーション元のコンピューティングノードと、マイグレーション先のコンピューティングノードと、仮想マシンマイグレーション管理装置とを備える仮想マシンマイグレーション管理システムであって、
前記仮想マシンマイグレーション管理装置は、
前記マイグレーション予定の仮想マシンの複数のマイグレーションパラメータに応じて、前記マイグレーション予定の仮想マシンを前記マイグレーション元のコンピューティングノードから前記マイグレーション先のコンピューティングノードへとマイグレーションさせるために必要なマイグレーション時間を算出し、
前記マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間および前記マイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間を別々に取得し、
前記マイグレーション元のコンピューティングノードの前記現在の利用可能マイグレーション時間および前記マイグレーション先のコンピューティングノードの前記現在の利用可能マイグレーション時間がいずれも前記マイグレーション時間以上である場合、前記マイグレーション予定の仮想マシンを前記マイグレーション元のコンピューティングノードから前記マイグレーション先のコンピューティングノードへとマイグレーションさせると判断し、
前記複数のマイグレーションパラメータは、前記マイグレーション予定の仮想マシンの割り当てメモリサイズ、メモリ変更速度、および、マイグレーションネットワーク帯域幅を含む
仮想マシンマイグレーション管理システム。
【請求項１５】
前記マイグレーション時間は、
（ｉ）ａ０およびｑは、
【数３】
2016537705.tif 000091
で表され、ＭＶｉｊは、前記マイグレーション予定の仮想マシンの前記割り当てメモリサイズ、ＭＣＲＶｉｊは、前記マイグレーション予定の仮想マシンの前記メモリ変更速度、ＢＷＶｉｊは、前記マイグレーション予定の仮想マシンに割り当てられた前記マイグレーションネットワーク帯域幅、Ｎ０は、予め設定された最大転送回数、Ｎは、
【数４】
2016537705.tif 000092
が予め設定されたメモリダーティページしきい値未満になるという条件を満たす最小整数値である場合に、
マイグレーション元のコンピューティングノードｉからマイグレーション先のコンピューティングノードｊへと前記マイグレーション予定の仮想マシンをマイグレーションさせるために必要な
【数１】
2016537705.tif 000093
で表されるマイグレーション時間、および、
【数２】
2016537705.tif 000094
で表される転送回数を算出する方法、
および
（ｉｉ）ａ０およびｑは、
【数５】
2016537705.tif 000095
で表され、ＭＶｉｊは、前記マイグレーション予定の仮想マシンの前記割り当てメモリサイズ、ＭＣＲＶｉｊは、前記マイグレーション予定の仮想マシンの前記メモリ変更速度、ＢＷＶｉｊは、前記マイグレーション予定の仮想マシンに割り当てられた前記マイグレーションネットワーク帯域幅、Ｎ０は、予め設定された最大転送回数、Ｎは、
【数４】
2016537705.tif 000096
が予め設定されたメモリダーティページしきい値未満になるという条件を満たす最小整数値、ＣＶｉｊは、前記マイグレーション予定の仮想マシンのメモリ圧縮率である場合に、
マイグレーション元のコンピューティングノードｉからマイグレーション先のコンピューティングノードｊへと前記マイグレーション予定の仮想マシンをマイグレーションさせるために必要な
【数１】
2016537705.tif 000097
で表されるマイグレーション時間、および、
【数２】
2016537705.tif 000098
で表される転送回数を算出する方法
のいずれかに係る計算によって取得される
請求項１４に記載の仮想マシンマイグレーション管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、中国特許庁に２０１３年１２月６日に出願され、「ＶＩＲＴＵＡＬ  ＭＡＣＨＩＮＥ  ＭＩＧＲＡＴＩＯＮ  ＭＡＮＡＧＥＭＥＮＴ ＭＥＨＴＯＤ, ＡＰＰＡＲＡＴＵＳ ＡＮＤ ＳＹＳＴＥＭ（仮想マシンマイグレーション管理の方法、装置およびシステム）」という名称を持つ中国特許第２０１３１０６５６２３５．１号に基づき優先権を主張する。当該中国特許の内容はすべて、参照により本願に組み込まれる。
【０００２】
本発明は、コンピュータ技術の分野に関し、具体的には仮想マシンマイグレーション管理の方法、装置およびシステムに関する。
【背景技術】
【０００３】
仮想マシンのホットマイグレーションは、仮想化分野において鍵となる技術であり、仮想クラスタ、ヒットレスサービス変更およびホストメインテナンスについて動的リソーススケジューリングを実現する上で重要な手段となる。仮想マシンのホットマイグレーションの基本的な原理は、実行中の仮想マシンをマイグレーション元の物理マシンからマイグレーション先の物理マシンへと、ユーザのサービスが影響を受けない方法で、または、ユーザがマイグレーションに気付かない方法で、マイグレーションさせることである。ホットリソースおよび電源を迅速に統合するためには、毎回、複数の仮想マシンをマイグレーションさせると判断する必要があるとしてよい。現在のポリシーでは、ホストの同時マイグレーションの対象となる仮想マシンの数に応じて、そして、仮想マシンの過去のマイグレーション時間の平均値に基づいて、各ホストに含まれるマイグレーション対象の仮想マシンの最大数を算出する。しかし、仕様およびサービスが異なるので、マイグレーション時間のばらつきが比較的大きい。このため、マイグレーション時間の評価が不正確で、仮想マシンのホットマイグレーションについて適切な判断ができない。
【発明の概要】
【０００４】
この点を鑑み、本発明の実施形態は、仮想マシンのマイグレーション時間を動的に算出可能とすることにより仮想マシンマイグレーションに関する判断の精度をある程度改善できる、仮想マシンマイグレーション管理の方法、装置およびシステムを提供する。
【０００５】
上述した技術的課題を解決するべく、本発明の実施形態の第１の態様は、仮想マシンマイグレーション管理方法を提供する。当該方法は、
マイグレーション予定の仮想マシンの複数のマイグレーションパラメータに応じて、当該マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせるために必要なマイグレーション時間を算出する段階であって、複数のマイグレーションパラメータは、マイグレーション予定の仮想マシンの割り当てメモリサイズ、メモリ変更速度、および、マイグレーションネットワーク帯域幅を含む、算出する段階と、
マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間を別々に取得する段階と、
マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間がいずれもマイグレーション時間以上である場合、マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせると判断する段階と
を備える。
【０００６】
第１の態様の第１の実施可能例では、上記の方法はさらに、
マイグレーション予定の仮想マシンのマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへのマイグレーションが開始された後、マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間からマイグレーション時間を減算し、マイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間からマイグレーション時間を減算する段階を備える。
【０００７】
第１の態様の第２の実施可能例では、マイグレーション予定の仮想マシンの複数のマイグレーションパラメータに応じて、当該マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせるために必要なマイグレーション時間を算出する段階は、
ａ０およびｑは
【数３】
2016537705.tif 000003
で表され、ＭＶｉｊは、マイグレーション予定の仮想マシンの割り当てメモリサイズ、ＭＣＲＶｉｊは、マイグレーション予定の仮想マシンのメモリ変更速度、ＢＷＶｉｊは、マイグレーション予定の仮想マシンに割り当てられたマイグレーションネットワーク帯域幅、Ｎ０は、予め設定された最大転送回数、Ｎは、
【数４】
2016537705.tif 000004
が予め設定されたメモリダーティページしきい値未満になるという条件を満たす最小整数値である場合に、
マイグレーション元のコンピューティングノードｉからマイグレーション先のコンピューティングノードｊへとマイグレーション予定の仮想マシンをマイグレーションさせるために必要な
【数１】
2016537705.tif 000005
で表されるマイグレーション時間、および、
【数２】
2016537705.tif 000006
で表される転送回数を算出する段階を有する。
【０００８】
第１の態様の第３の実施可能例では、マイグレーション予定の仮想マシンの複数のマイグレーションパラメータに応じて、当該マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせるために必要なマイグレーション時間を算出する段階は、
ａ０およびｑは
【数５】
2016537705.tif 000007
で表され、
ＭＶｉｊは、マイグレーション予定の仮想マシンの割り当てメモリサイズ、ＭＣＲＶｉｊは、マイグレーション予定の仮想マシンのメモリ変更速度、ＢＷＶｉｊは、マイグレーション予定の仮想マシンに割り当てられたマイグレーションネットワーク帯域幅、Ｎ０は、予め設定された最大転送回数、Ｎは、
【数４】
2016537705.tif 000008
が予め設定されたメモリダーティページしきい値未満になるという条件を満たす最小整数値、ＣＶｉｊは、マイグレーション予定の仮想マシンのメモリ圧縮率である場合に、
マイグレーション元のコンピューティングノードｉからマイグレーション先のコンピューティングノードｊへとマイグレーション予定の仮想マシンをマイグレーションさせるために必要な
【数１】
2016537705.tif 000009
で表わされるマイグレーション時間、および、
【数２】
2016537705.tif 000010
で表される転送回数を算出する段階を有する。
【０００９】
第１の態様および第１の態様の第１から第３の実施可能例に基づき、第１の態様の第４の実施可能例では、上記の方法はさらに、
リソーススケジューリングの各回の開始時に、全てのコンピューティングノードの
【数６】
2016537705.tif 000011
で表される利用可能マイグレーション時間を初期化する段階を備える。
Ｎｉは、対応するコンピューティングノードがサポートしている同時マイグレーションの対象となる仮想マシンの数、Ｔは、リソーススケジューリング期間である。
【００１０】
第１の態様の第４の実施可能例に基づき、第１の態様の第５の実施可能例では、リソーススケジューリングの各回の開始時に、コンピューティングノードが仮想マシンマイグレーションを実行していると検出される場合、コンピューティングノードの
【数７】
2016537705.tif 000012
で表される利用可能マイグレーション時間が初期化される。
ＭＴＶｉｊは、当該コンピューティングノードにおいてマイグレーション中の仮想マシンのマイグレーション時間である。
【００１１】
上記に対応して、本発明の実施形態の第２の態様は、仮想マシンマイグレーション管理装置を提供する。当該装置は、
マイグレーション予定の仮想マシンの複数のマイグレーションパラメータに応じて、当該マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせるために必要なマイグレーション時間を算出するよう構成されているマイグレーション時間算出モジュールであって、複数のマイグレーションパラメータは、マイグレーション予定の仮想マシンの割り当てメモリサイズ、メモリ変更速度、および、マイグレーションネットワーク帯域幅を含む、マイグレーション時間算出モジュールと、
マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間を別々に取得するよう構成されている利用可能マイグレーション時間管理モジュールと、
マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間がいずれもマイグレーション時間以上である場合、マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせると判断するよう構成されているマイグレーション判断モジュールと
を備える。
【００１２】
第２の態様の第１の実施可能例では、利用可能マイグレーション時間管理モジュールはさらに、
マイグレーション予定の仮想マシンのマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへのマイグレーションが開始された後、マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間からマイグレーション時間を減算し、マイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間からマイグレーション時間を減算するよう構成されている。
【００１３】
第２の態様の第２の実施可能例では、マイグレーション時間算出モジュールがマイグレーション時間を算出することは、
ａ０およびｑは
【数３】
2016537705.tif 000013
で表され、ＭＶｉｊは、マイグレーション予定の仮想マシンの割り当てメモリサイズ、ＭＣＲＶｉｊは、マイグレーション予定の仮想マシンのメモリ変更速度、ＢＷＶｉｊは、マイグレーション予定の仮想マシンに割り当てられたマイグレーションネットワーク帯域幅、Ｎ０は、予め設定された最大転送回数、Ｎは、
【数４】
2016537705.tif 000014
が予め設定されたメモリダーティページしきい値未満になるという条件を満たす最小整数値である場合に、
マイグレーション元のコンピューティングノードｉからマイグレーション先のコンピューティングノードｊへとマイグレーション予定の仮想マシンをマイグレーションさせるために必要な
【数１】
2016537705.tif 000015
で表されるマイグレーション時間、および、
【数２】
2016537705.tif 000016
で表される転送回数を算出することを含む。
【００１４】
第２の態様の第３の実施可能例では、マイグレーション時間算出モジュールがマイグレーション時間を算出することは、
ａ０およびｑは
【数５】
2016537705.tif 000017
で表され、
ＭＶｉｊは、マイグレーション予定の仮想マシンの割り当てメモリサイズ、ＭＣＲＶｉｊは、マイグレーション予定の仮想マシンのメモリ変更速度、ＢＷＶｉｊは、マイグレーション予定の仮想マシンに割り当てられたマイグレーションネットワーク帯域幅、Ｎ０は、予め設定された最大転送回数、Ｎは、
【数４】
2016537705.tif 000018
が予め設定されたメモリダーティページしきい値未満になるという条件を満たす最小整数値、ＣＶｉｊは、マイグレーション予定の仮想マシンのメモリ圧縮率である場合に、
マイグレーション元のコンピューティングノードｉからマイグレーション先のコンピューティングノードｊへとマイグレーション予定の仮想マシンをマイグレーションさせるために必要な
【数１】
2016537705.tif 000019
で表わされるマイグレーション時間、および、
【数２】
2016537705.tif 000020
で表される転送回数を算出することを含む。
【００１５】
第２の態様および第２の態様の第１から第３の実施可能例に基づき、利用可能マイグレーション時間管理モジュールはさらに、
リソーススケジューリングの各回の開始時に、全てのコンピューティングノードの
【数６】
2016537705.tif 000021
で表される利用可能マイグレーション時間を初期化するよう構成されている。Ｎｉは、対応するコンピューティングノードがサポートしている同時マイグレーションの対象となる仮想マシンの数であり、Ｔは、リソーススケジューリング期間である。
【００１６】
第２の態様の第４の実施可能例に基づき、第２の態様の第５の実施可能例では、利用可能マイグレーション時間管理モジュールはさらに、
リソーススケジューリングの各回の開始時に、コンピューティングノードが仮想マシンマイグレーションを実行していると検出される場合、コンピューティングノードの
【数７】
2016537705.tif 000022
で表される利用可能マイグレーション時間を初期化するよう構成されている。
ＭＴＶｉｊは、コンピューティングノードにおいてマイグレーション中の仮想マシンのマイグレーション時間である。
【００１７】
上記に対応して、本発明の実施形態の第３の態様はさらに、仮想マシンマイグレーション管理システムを提供する。当該システムは、少なくとも２つのコンピューティングノードデバイスを備え、各コンピューティングノードデバイスは、仮想マシンと、本発明の実施形態の第２の態様に係る複数の仮想マシンマイグレーション管理装置のいずれか１つとを含む。
【００１８】
上記に対応して、本発明の実施形態の第４の態様はさらに、仮想マシンマイグレーション管理システムを提供する。当該システムは、少なくとも１つのマイグレーション予定の仮想マシンを含むマイグレーション元のコンピューティングノードと、マイグレーション先のコンピューティングノードと、仮想マシンマイグレーション管理装置とを備える。
仮想マシンマイグレーション管理装置は、マイグレーション予定の仮想マシンの複数のマイグレーションパラメータに応じて、マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせるために必要なマイグレーション時間を算出し、マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間を別々に取得し、マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間がいずれもマイグレーション時間以上である場合、マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせると判断するように構成され、複数のマイグレーションパラメータは、マイグレーション予定の仮想マシンの割り当てメモリサイズ、メモリ変更速度、および、マイグレーションネットワーク帯域幅を含む。
【００１９】
本発明の実施形態の第４の態様の第１の実施可能例では、マイグレーション時間は、以下に記載する２つの実施方法のいずれかに係る計算によって取得されるとしてよい。
ａ０およびｑは
【数３】
2016537705.tif 000023
で表され、ＭＶｉｊは、マイグレーション予定の仮想マシンの割り当てメモリサイズ、ＭＣＲＶｉｊは、マイグレーション予定の仮想マシンのメモリ変更速度、ＢＷＶｉｊは、マイグレーション予定の仮想マシンに割り当てられたマイグレーションネットワーク帯域幅、Ｎ０は、予め設定された最大転送回数、Ｎは、
【数４】
2016537705.tif 000024
が予め設定されたメモリダーティページしきい値未満になるという条件を満たす最小整数値である場合に、
マイグレーション元のコンピューティングノードｉからマイグレーション先のコンピューティングノードｊへとマイグレーション予定の仮想マシンをマイグレーションさせるために必要な
【数１】
2016537705.tif 000025
で表されるマイグレーション時間、および、
【数２】
2016537705.tif 000026
で表される転送回数を算出する。
ａ０およびｑは
【数５】
2016537705.tif 000027
で表され、
ＭＶｉｊは、マイグレーション予定の仮想マシンの割り当てメモリサイズ、ＭＣＲＶｉｊは、マイグレーション予定の仮想マシンのメモリ変更速度、ＢＷＶｉｊは、マイグレーション予定の仮想マシンに割り当てられたマイグレーションネットワーク帯域幅、Ｎ０は、予め設定された最大転送回数、Ｎは、
【数４】
2016537705.tif 000028
が予め設定されたメモリダーティページしきい値未満になるという条件を満たす最小整数値、ＣＶｉｊは、マイグレーション予定の仮想マシンのメモリ圧縮率である場合に、
マイグレーション元のコンピューティングノードｉからマイグレーション先のコンピューティングノードｊへとマイグレーション予定の仮想マシンをマイグレーションさせるために必要な
【数１】
2016537705.tif 000029
で表わされるマイグレーション時間、および、
【数２】
2016537705.tif 000030
で表される転送回数を算出する。
【００２０】
本発明の複数の実施形態によると、マイグレーション時間は、マイグレーション予定の仮想マシンの複数のマイグレーションパラメータを用いて動的に算出され、算出されたマイグレーション時間を、マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間と比較して、仮想マシンマイグレーションを実行可能か否かを判断する。このため、仮想マシンマイグレーションに関する判断の精度がある程度改善される。
【図面の簡単な説明】
【００２１】
本発明の複数の実施形態に含まれる複数の技術的解決方法をさらに明瞭に説明するべく、当該実施形態を説明するために必要な複数の添付図面を簡単に以下で説明する。以下で説明する複数の添付図面は本発明の一部の実施形態を図示しているに過ぎず、当業者は、創作努力を発揮することなく、これらの添付図面から他の複数の図面に想到し得ることは明らかである。
【００２２】
【図１】本発明の実施形態に係る仮想マシンマイグレーション管理方法を示す概略フローチャートである。
【００２３】
【図２】本発明の別の実施形態に係る仮想マシンマイグレーション管理方法を示す概略フローチャートである。
【００２４】
【図３】本発明の実施形態に係る仮想マシンマイグレーション管理装置を示す概略構造図である。
【００２５】
【図４】本発明の別の実施形態に係る仮想マシンマイグレーション管理装置を示す概略構造図である。
【００２６】
【図５】本発明の実施形態に係る仮想マシンマイグレーション管理システムを示す概略構造図である。
【００２７】
【図６】本発明の別の実施形態に係る仮想マシンマイグレーション管理システムを示す概略構造図である。
【００２８】
【図７】本発明の実施形態で言及した分散型リソース管理システムを示す概略構造図である。
【発明を実施するための形態】
【００２９】
以下では、本発明の複数の実施形態における複数の添付図面を参照しつつ、本発明の複数の実施形態における複数の技術的解決方法を明確且つ完全に説明する。記載した複数の実施形態は、本発明の複数の実施形態の全てではなく一部に過ぎないのは明らかである。本発明の複数の実施形態に基づき当業者が創作努力を発揮することなく得た他の実施形態はすべて、本発明の保護範囲に含まれるものとする。
【００３０】
本発明の複数の実施形態における仮想マシンマイグレーション管理方法は、仮想マシンマイグレーション管理装置を用いて実施されるとしてよい。仮想マシンマイグレーション管理装置は、独立したノードデバイスにおいて実施されるとしてもよいし、図７に示す分散型リソース管理システムの管理ノードデバイスにおいて実施されるとしてもよい。図７に示す分散型リソース管理システムは、一の管理ノードデバイスと、複数のコンピューティングノードとを含み、複数のコンピューティングノードは一のノードクラスタに統合されるとしてもよい。当該ノードクラスタではさらに、マスターノードＭａｓｔｅｒおよびスレーブノードＳｌａｖｅが設定されるとしてよい。
【００３１】
図１は、本発明の実施形態に係る仮想マシンマイグレーション管理方法を示す概略フローチャートである。同図に示すように、本実施形態の仮想マシンマイグレーション管理方法は少なくとも以下の段階を備えるとしてよい。
【００３２】
Ｓ１０１：マイグレーション予定の仮想マシンの複数のマイグレーションパラメータに応じて、当該マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせるために必要なマイグレーション時間を算出する段階
複数のマイグレーションパラメータは、マイグレーション予定の仮想マシンの割り当てメモリサイズ、メモリ変更速度、および、マイグレーションネットワーク帯域幅を含む。
【００３３】
仮想マシンマイグレーションがプリコピー方式で実行される例を用いる。仮想マシンマイグレーション管理装置は、ロードバランシング等の要因に基づき、コンピューティングノードｉからコンピューティングノードｊへとマイグレーションさせる必要がある仮想マシンＶｉｊ、つまり、マイグレーション予定の仮想マシンを決定するとしてよい。さらに、マイグレーション予定の仮想マシンの上位層サービスのＱｏＳ（サービス品質、サービス品質保証）で規定されているメモリ変更速度ＭＣＲＶｉｊ、および、マイグレーション予定の仮想マシンの下位層ネットワークのＱｏＳで規定されているマイグレーションネットワーク帯域幅ＢＷＶｉｊを取得するとしてよい。さらに、マイグレーション時間を推定するプロセスは以下の通りであるとしてよい。
【００３４】
初回のコピーでは、マイグレーション元のコンピューティングノードによって仮想マシンＶｉｊに割り当てられたメモリはＭＶｉｊと仮定される。当該メモリは、本実施形態において、割り当てメモリと呼ぶ。仮想マシンＶｉｊの割り当てメモリＭＶｉｊは、マイグレーション元のコンピューティングノードｉからマイグレーション先のコンピューティングノードｊに転送され、かかる時間は、以下の数８で表される。
【数８】
2016537705.tif 000031
（一例として、ＭＶｉｊの単位はＭｂであってよく、ＢＷＶｉｊの単位はＭｂ／ｓであってよい。）
【００３５】
２回目のコピーでは、初回のコピーの時の時間ｔ０内で、仮想マシンＶｉｊの割り当てメモリ内の
【数９】
2016537705.tif 000032
を変更し、メモリのこの部分は、マイグレーション元のコンピューティングノードｉからマイグレーション先のコンピューティングノードｊへと再度転送する必要があり、かかる時間は以下の通りである。
【数１０】
2016537705.tif 000033
【００３６】
３回目のコピーでは、２回目のコピーにおける時間ｔ１内で、仮想マシンＶｉｊの割り当てメモリにおける
【数１１】
2016537705.tif 000034
を変更し、メモリのこの部分はマイグレーション元のコンピューティングノードｉからマイグレーション先のコンピューティングノードｊへと再度転送する必要があり、かかる時間は以下の通りである。
【数１２】
2016537705.tif 000035
同様に繰り返し、マイグレーション時間は最終的に以下のようになるはずである。
【数１３】
2016537705.tif 000036
【００３７】
一般的に、ＭＣＲＶｉｊおよびＢＷＶｉｊを設定することによって、以下のように仮定される。
【数１４】
2016537705.tif 000037
ｑは１未満であることが保証され得るので、上記の式は収束する。そして、上記の式はさらに以下のように簡略化される。
【数１５】
2016537705.tif 000038
ｎが総転送回数（ラウンド数）であり、以下のように表される。
【数２】
2016537705.tif 000039
Ｎ０は、予め設定された最大転送回数であり、Ｎは
【数４】
2016537705.tif 000040
が予め設定されたメモリダーティページしきい値Ｘ未満であるという条件を満たす最小整数値である。メモリ汚染ページとは、各回のコピーの転送プロセスにおいて変更されるメモリページである。メモリダーティページしきい値Ｘは、メモリ汚染ページの数を表す値であり、管理者によって予め設定されるとしてよい。つまり、１回のコピーにおけるメモリ汚染ページの数がメモリダーティページしきい値未満である場合、コピーを停止させるとしてよい。
【００３８】
しかし、任意の実施形態において、仮想マシンマイグレーションは、最初に仮想マシンメモリを圧縮した後にコピーする方法で実行されるとしてもよい。メモリ圧縮率ＣＶｉｊは、採用された圧縮アルゴリズムに応じて決まるとしてよく、数１５はさらに以下のように調整されるとしてよい。マイグレーション時間は
【数１】
2016537705.tif 000041
で表され、
転送回数は
【数２】
2016537705.tif 000042
で表される。
ここで、ａ０およびｑは以下の数５で表される。
【数５】
2016537705.tif 000043
ｎを決定する方法は、上記の説明と同じである。
【００３９】
Ｓ１０２：マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間を別々に取得する段階
【００４０】
具体的には、利用可能マイグレーション時間は、コンピューティングノード毎に設定されるとしてよい。つまり、各スケジューリング期間において当該コンピューティングノードが仮想マシンマイグレーションについて必要とする時間である。例えば、各コンピューティングノードの利用可能マイグレーション時間は、一定間隔で、または、通常イベント（仮想リソースクラスタに対するコンピューティングノードの追加／削除、仮想マシンの起動／停止等）がリソーススケジューリングをトリガする場合に、初期化される。さらに、コンピューティングノードの利用可能マイグレーション時間は、利用可能マイグレーション時間に影響を及ぼす通常イベントであって、当該コンピューティングノードで発生する通常イベント（当該コンピューティングノードで元々実行されている仮想マシンを別のコンピューティングノードにマイグレーションさせること、または、別のコンピューティングノードで元々実行されている仮想マシンを当該コンピューティングノードにマイグレーションさせること等）と同時に更新されるとしてよい。コンピューティングノードｉからコンピューティングノードｊへとマイグレーションさせる必要がある仮想マシンＶｉｊを決定した後、仮想マシンマイグレーション管理装置は、マイグレーション元のコンピューティングノード、つまり、コンピューティングノードｉの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノード、つまり、コンピューティングノードｊの現在の利用可能マイグレーション時間を別々に取得するとしてよい。
【００４１】
Ｓ１０３：マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間がいずれもマイグレーション時間以上である場合、マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせると判断する段階
【００４２】
つまり、マイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーション予定の仮想マシンをマイグレーションさせるために必要なマイグレーション時間であって、ステップＳ１０１における算出する段階によって得られるマイグレーション時間は、マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間、および、マイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間と別々に比較される。マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間がいずれもマイグレーション時間以上である場合、マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーション可能であると判断される。マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間がマイグレーション時間未満であるか、または、マイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間がマイグレーション時間未満である場合、マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーション可能でないと判断される。
【００４３】
任意の実施形態において、マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせることが可能と判断された後、仮想マシンマイグレーション管理装置は、仮想マシンマイグレーション命令をマイグレーション元のコンピューティングノードおよびマイグレーション先のコンピューティングノードへと別々に送信するとしてよく、マイグレーション元のコンピューティングノードおよびマイグレーション先のコンピューティングノードは、マイグレーション予定の仮想マシンの仮想マシンマイグレーションの実行を開始する。一方、マイグレーション時間は、マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間から別々に減算して、仮想マシンマイグレーションが次に必要になった場合に、更新後の利用可能マイグレーション時間に応じて、仮想マシンマイグレーションが実行可能か否かを判断するとしてよい。これによって、仮想マシンマイグレーションが動的に判断される。対応するコンピューティングノードの利用可能マイグレーション時間を正確に管理しつつ仮想マシンがマイグレーションされる。
【００４４】
しかし、別の任意の実施形態において、仮想マシンマイグレーション管理装置はさらに、マイグレーション予定の仮想マシンのマイグレーションが完了した後に、現在のマイグレーションの実際のマイグレーション時間を、マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間から別々に減算するとしてよい。これによって、コンピューティングノードの利用可能マイグレーション時間をより正確に管理する。
【００４５】
本実施形態において、図１に示した仮想マシンマイグレーション管理方法に基づき、マイグレーション時間はマイグレーション予定の仮想マシンのマイグレーションパラメータに応じて動的に算出され得ることが分かるとしてよい。算出されたマイグレーション時間はマイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間を比較して、仮想マシンマイグレーションを実行可能か否かを判断する。あるコンピューティングノードの同時マイグレーションの対象となる仮想マシンの数は動的に管理されるとしてよい。これによって、仮想マシンマイグレーションについてより正確に判断が行われる。
【００４６】
図２は、本発明の別の実施形態に係る仮想マシンマイグレーション管理方法を示す概略フローチャートである。同図に示すように、本実施形態に係る仮想マシンマイグレーション管理方法は、以下の段階を備えるとしてよい。
【００４７】
Ｓ２０１：リソーススケジューリングの各回の開始時に全てのコンピューティングノードの利用可能マイグレーション時間を初期化する段階
【００４８】
特定の実施例において、コンピューティングノードｉの利用可能マイグレーション時間は、数６に表すように初期化されるとしてよい。
【数６】
2016537705.tif 000044
Ｎｉは、コンピューティングノードｉが許容する同時マイグレーションの対象となる仮想マシンの数、Ｔは、リソーススケジューリング期間である。
【００４９】
任意の実施形態において、各コンピューティングノードの利用可能マイグレーション時間が初期化されると、各コンピューティングノードが現在仮想マシンマイグレーションを実行中であるか否かを検出するとしてよい。コンピューティングノードｉが現在仮想マシンＶｉｊのコンピューティングノードｊへのマイグレーションを実行中である場合、コンピューティングノードｉの利用可能マイグレーション時間は、数７で表される値に初期化されるとしてよい。
【数７】
2016537705.tif 000045
ＭＴＶｉｊは、マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせるために必要なマイグレーション時間であり、マイグレーション予定の仮想マシンＶｉｊのマイグレーションパラメータに応じて算出される。マイグレーションパラメータは、マイグレーション予定の仮想マシンの割り当てメモリサイズ、メモリ変更速度、および、マイグレーションネットワーク帯域幅を含む。マイグレーション時間を算出する具体的な方法は、上述した実施形態で詳細に例示しており、本実施形態では詳細は省略する。
【００５０】
Ｓ２０２：マイグレーション予定の仮想マシンの複数のマイグレーションパラメータに応じて、当該マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせるために必要なマイグレーション時間を算出する段階
複数のマイグレーションパラメータは、マイグレーション予定の仮想マシンの割り当てメモリサイズ、メモリ変更速度、および、マイグレーションネットワーク帯域幅を含む。
【００５１】
具体的には、仮想マシンマイグレーション管理装置は、ロードバランシング等の要因に基づき、コンピューティングノードｉからコンピューティングノードｊへとマイグレーションさせる必要がある仮想マシンＶｉｊ、つまり、マイグレーション予定の仮想マシンを決定するとしてよい。さらに、マイグレーション予定の仮想マシンの上位層サービスのＱｏＳ（サービス品質、サービス品質保証）で規定されているメモリ変更速度ＭＣＲＶｉｊ、および、マイグレーション予定の仮想マシンの下位層ネットワークのＱｏＳで規定されているマイグレーションネットワーク帯域幅ＢＷＶｉｊを取得するとしてよい。さらに、仮想マシンＶｉｊをコンピューティングノードｉからコンピューティングノードｊへとマイグレーションさせるために必要なマイグレーション時間ＭＴＶｉｊを算出するとしてよい。具体的な算出方法については、上述した実施形態のステップＳ１０１を参照されたく、本実施形態では詳細は省略する。
【００５２】
Ｓ２０３：  マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間を別々に取得する。
【００５３】
Ｓ２０４：マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間がいずれもマイグレーション時間以上である場合、マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせると判断する。
【００５４】
つまり、マイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーション予定の仮想マシンをマイグレーションさせるために必要なマイグレーション時間であって、ステップＳ２０２における算出する段階によって得られるマイグレーション時間は、マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間、および、マイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間と別々に比較される。マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間がいずれもマイグレーション時間以上である場合、マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーション可能であると判断される。マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間がマイグレーション時間未満であるか、または、マイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間がマイグレーション時間未満である場合、マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーション可能でないと判断される。
【００５５】
Ｓ２０５：マイグレーション予定の仮想マシンのマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへのマイグレーションが開始された後、マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間からマイグレーション時間を減算し、マイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間からマイグレーション時間を減算する。
【００５６】
具体的な実施例において、マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせることが可能と判断された後、仮想マシンマイグレーション管理装置は、仮想マシンマイグレーション命令をマイグレーション元のコンピューティングノードおよびマイグレーション先のコンピューティングノードへと別々に送信するとしてよく、マイグレーション元のコンピューティングノードおよびマイグレーション先のコンピューティングノードは、マイグレーション予定の仮想マシンの仮想マシンマイグレーションの実行を開始する。また、マイグレーション時間は、マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間から別々に減算する。しかし、別の任意の実施形態において、仮想マシンマイグレーション管理装置はさらに、マイグレーション予定の仮想マシンのマイグレーションが完了した後に、現在のマイグレーションの実際のマイグレーション時間を、マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間から別々に減算するとしてよい。
【００５７】
本実施形態において、図２に示した仮想マシンマイグレーション管理方法に基づき、マイグレーション時間はマイグレーション予定の仮想マシンのマイグレーションパラメータに応じて動的に算出され得ることが分かるとしてよい。算出されたマイグレーション時間はマイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間と比較されて、仮想マシンマイグレーションを実行可能か否かを判断する。あるコンピューティングノードの同時マイグレーションの対象となる仮想マシンの数は動的に管理されるとしてよい。これによって、仮想マシンマイグレーションについてより正確に判断が行われる。
【００５８】
図３は、本発明の実施形態に係る仮想マシンマイグレーション管理装置を示す概略構造図である。本発明に係る仮想マシンマイグレーション管理装置は、分散型リソース管理システムの管理ノードデバイスにおいて実施されるとしてよく、別の独立したノードデバイスで実施されるとしてもよい。同図に示すように、本実施形態に係る仮想マシンマイグレーション装置は、
マイグレーション予定の仮想マシンの複数のマイグレーションパラメータに応じて、当該マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせるために必要なマイグレーション時間を算出するよう構成されているマイグレーション時間算出モジュール３１０であって、複数のマイグレーションパラメータは、マイグレーション予定の仮想マシンの割り当てメモリサイズ、メモリ変更速度、および、マイグレーションネットワーク帯域幅を含む、マイグレーション時間算出モジュール３１０
を備えるとしてよい。
【００５９】
具体的な実施例において、仮想マシンマイグレーションがプリコピー方式で実行される例を用いる。仮想マシンマイグレーション管理装置は、ロードバランシング等の要因に基づき、コンピューティングノードｉからコンピューティングノードｊへとマイグレーションさせる必要がある仮想マシンＶｉｊ、つまり、マイグレーション予定の仮想マシンを決定するとしてよい。さらに、マイグレーション予定の仮想マシンの上位層サービスのＱｏＳ（サービス品質、サービス品質保証）で規定されているメモリ変更速度ＭＣＲＶｉｊ、および、マイグレーション予定の仮想マシンの下位層ネットワークのＱｏＳで規定されているマイグレーションネットワーク帯域幅ＢＷＶｉｊを取得するとしてよい。さらに、マイグレーション時間算出モジュール３１０は、ａ０およびｑが
【数３】
2016537705.tif 000046
で表され、ＭＶｉｊは、マイグレーション予定の仮想マシンの割り当てメモリサイズ、Ｎ０は、予め設定された最大転送回数、Ｎは、
【数４】
2016537705.tif 000047
が予め設定されたメモリダーティページしきい値未満になるという条件を満たす最小整数値である場合、数１５（数１）に応じてマイグレーション時間を算出し、さらに転送回数（数２）を算出するとしてよい。
【数１】
2016537705.tif 000048
【数２】
2016537705.tif 000049
マイグレーション時間を算出および推定する具体的なプロセスは上述した実施形態において詳細に説明しており、本実施形態では詳細は省略する。
【００６０】
しかし、任意の実施形態において、仮想マシンマイグレーションは、仮想マシンメモリを最初に圧縮した後にコピーする方法で実行されるとしてもよい。メモリ圧縮率ＣＶｉｊは、採用された圧縮アルゴリズムに応じて決まるとしてよく、数１５はさらに以下のように調整されるとしてよい。マイグレーション時間は
【数１】
2016537705.tif 000050
で表され、
転送回数は
【数２】
2016537705.tif 000051
で表される。
ここで、ａ０およびｑは以下の数５で表される。
【数５】
2016537705.tif 000052
ｎを決定する方法は、上記の説明と同じである。
【００６１】
利用可能マイグレーション時間管理モジュール３２０は、マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間を別々に取得するよう構成されている。
【００６２】
具体的には、利用可能マイグレーション時間管理モジュール３２０は、各コンピューティングノードの利用可能マイグレーション時間を設定するとしてよく、各コンピューティングノードの利用可能マイグレーション時間を、例えば、所定の間隔で、または、通常イベント（仮想リソースクラスタに対するコンピューティングノードの追加／削除、または、仮想マシンの起動／停止等）がリソーススケジューリングをトリガする場合に、初期化するとしてよい。任意で、各コンピューティングノードの利用可能マイグレーション時間が初期化されると、各コンピューティングノードが現在仮想マシンマイグレーションを実行中であるか否かを最初に検出するとしてよい。コンピューティングノードｉが現在仮想マシンＶｉｊのコンピューティングノードｊへのマイグレーションを実行中である場合、コンピューティングノードｉの利用可能マイグレーション時間は、数７で表される値に初期化されるとしてよい。
【数７】
2016537705.tif 000053
ＭＴＶｉｊは、マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせるために必要なマイグレーション時間であり、マイグレーション予定の仮想マシンＶｉｊのマイグレーションパラメータに応じてマイグレーション時間算出モジュール３１０によって算出される。マイグレーションパラメータは、マイグレーション予定の仮想マシンの割り当てメモリサイズ、メモリ変更速度、および、マイグレーションネットワーク帯域幅を含む。
【００６３】
さらに、コンピューティングノードの利用可能マイグレーション時間は、利用可能マイグレーション時間に影響を及ぼす通常イベントであって、当該コンピューティングノードで発生する通常イベント（当該コンピューティングノードで元々実行されている仮想マシンを別のコンピューティングノードにマイグレーションさせること、または、別のコンピューティングノードで元々実行されている仮想マシンを当該コンピューティングノードにマイグレーションさせること等）と同時に更新されるとしてよい。コンピューティングノードｉからコンピューティングノードｊへとマイグレーションさせる必要がある仮想マシンＶｉｊを決定した後、仮想マシンマイグレーション管理装置は、マイグレーション元のコンピューティングノード、つまり、コンピューティングノードｉの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノード、つまり、コンピューティングノードｊの現在の利用可能マイグレーション時間を別々に取得するとしてよい。例えば、マイグレーション判断モジュール３３０がマイグレーション予定の仮想マシンはマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせることが可能と判断した後、仮想マシンマイグレーション管理装置は、仮想マシンマイグレーション命令をマイグレーション元のコンピューティングノードおよびマイグレーション先のコンピューティングノードへと別々に送信するとしてよく、マイグレーション元のコンピューティングノードおよびマイグレーション先のコンピューティングノードは、マイグレーション予定の仮想マシンの仮想マシンマイグレーションの実行を開始する。また、利用可能マイグレーション時間管理モジュール３２０は、マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間から別々にマイグレーション時間を減算する。しかし、別の任意の実施形態において、利用可能マイグレーション時間管理モジュール３２０はさらに、マイグレーション予定の仮想マシンのマイグレーションが完了した後に、現在のマイグレーションの実際のマイグレーション時間を、マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間から別々に減算するとしてよい。
【００６４】
マイグレーション判断モジュール３３０は、マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間がいずれもマイグレーション時間以上である場合、マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせると判断するよう構成されている。
【００６５】
つまり、マイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーション予定の仮想マシンをマイグレーションさせるために必要なマイグレーション時間であって、マイグレーション時間算出モジュール３１０が算出することで得られるマイグレーション時間は、マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間、および、マイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間と別々に比較される。マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間がいずれもマイグレーション時間以上である場合、マイグレーション判断モジュール３３０は、マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーション可能であると判断する。マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間がマイグレーション時間未満であるか、または、マイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間がマイグレーション時間未満である場合、マイグレーション判断モジュール３３０は、マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーション可能でないと判断する。
【００６６】
任意の実施形態において、マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせることが可能と判断された後、マイグレーション判断モジュール３３０は、仮想マシンマイグレーション命令をマイグレーション元のコンピューティングノードおよびマイグレーション先のコンピューティングノードへと別々に送信するとしてよく、マイグレーション元のコンピューティングノードおよびマイグレーション先のコンピューティングノードは、マイグレーション予定の仮想マシンの仮想マシンマイグレーションの実行を開始する。一方、マイグレーション判断モジュール３３０は、利用可能マイグレーション時間管理モジュール３２０に対して、マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間から別々にマイグレーション時間を減算するよう指示するとしてよい。
【００６７】
本実施形態において、図３に示した仮想マシンマイグレーション管理装置に基づき、マイグレーション時間はマイグレーション予定の仮想マシンのマイグレーションパラメータに応じて動的に算出され得ることが分かるとしてよい。算出されたマイグレーション時間はマイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間と比較されて、仮想マシンマイグレーションを実行可能か否かを判断する。あるコンピューティングノードの同時マイグレーションの対象となる仮想マシンの数は動的に管理されるとしてよい。これによって、仮想マシンマイグレーションについてより正確に判断が行われる。
【００６８】
図４は、本発明の別の実施形態に係る仮想マシンマイグレーション管理装置を示す概略構造図である。図３に示すように、仮想マシンマイグレーション管理装置４００は、ＣＰＵ等の少なくとも１つのプロセッサ４０１、少なくとも１つのネットワークインターフェース４０３、メモリ４０４、および、少なくとも１つの通信バス４０２を有するとしてよい。通信バス４０２は、これらのコンポーネント間において接続および通信を実現するよう構成されている。ネットワークインターフェース４０３は任意で、標準的な有線インターフェースおよび標準的な無線インターフェース（ＷｉＦｉインターフェース等）を有するとしてよい。例えば、アンテナ装置が含まれており、別のノードデバイスとの間で信号伝達またはデータ通信を実行するよう構成されている。メモリ４０４は、高速ＲＡＭメモリであってよく、少なくとも１つのディスクメモリ等、不揮発性メモリ（不揮発性メモリ）でもあってよい。メモリ４０４は任意でさらに、上述したプロセッサ４０１から離れた位置にある少なくとも１つの記憶装置であってよい。メモリ４０４は、プログラムコード群を格納し、プロセッサ４０１はメモリ４０４に格納されているプログラムコードを呼び出すように構成されている。プログラムコードは、以下の処理を実行するために用いられる。
マイグレーション予定の仮想マシンの複数のマイグレーションパラメータに応じて、当該マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせるために必要なマイグレーション時間を算出する処理。複数のマイグレーションパラメータは、マイグレーション予定の仮想マシンの割り当てメモリサイズ、メモリ変更速度、および、マイグレーションネットワーク帯域幅を含む。
マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間を別々に取得する処理。
マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間がいずれもマイグレーション時間以上である場合、マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせると判断する処理。
【００６９】
さらに、任意の実施形態において、マイグレーション予定の仮想マシンの複数のマイグレーションパラメータに応じて、当該マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせるために必要なマイグレーション時間を算出する処理は、以下の処理を含む。
ａ０およびｑは
【数３】
2016537705.tif 000054
で表され、ＭＶｉｊは、マイグレーション予定の仮想マシンの割り当てメモリサイズ、ＭＣＲＶｉｊは、マイグレーション予定の仮想マシンのメモリ変更速度、ＢＷＶｉｊは、マイグレーション予定の仮想マシンに割り当てられたマイグレーションネットワーク帯域幅、Ｎ０は、予め設定された最大転送回数、Ｎは、
【数４】
2016537705.tif 000055
が予め設定されたメモリダーティページしきい値未満になるという条件を満たす最小整数値である場合に、
マイグレーション元のコンピューティングノードｉからマイグレーション先のコンピューティングノードｊへとマイグレーション予定の仮想マシンをマイグレーションさせるために必要な
【数１】
2016537705.tif 000056
で表されるマイグレーション時間、および、
【数２】
2016537705.tif 000057
で表される転送回数を算出する処理。
【００７０】
さらに、任意の実施形態において、仮想マシンマイグレーションは、仮想マシンメモリを最初に圧縮した後にコピーする方法で実行されるとしてもよい。メモリ圧縮率ＣＶｉｊは、採用された圧縮アルゴリズムに応じて決まるとしてよく、数１５はさらに以下のように調整されるとしてよい。マイグレーション時間は
【数１】
2016537705.tif 000058
で表され、
転送回数は
【数２】
2016537705.tif 000059
で表される。
ここで、ａ０およびｑは以下の数５で表される。
【数５】
2016537705.tif 000060
ｎを決定する方法は、上記の説明と同じである。
【００７１】
さらに、任意の実施形態において、プロセッサ４０１はさらに、メモリ４０４に格納されているプログラムコードを呼び出して以下の段階を実行するとしてよい。
マイグレーション予定の仮想マシンのマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへのマイグレーションが開始された後、マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間からマイグレーション時間を減算し、マイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間からマイグレーション時間を減算する段階。このため、仮想マシンマイグレーションが次に必要になった場合に、更新後の利用可能マイグレーション時間に応じて、仮想マシンマイグレーションを実行可能か否かが判断されるとしてよい。このため、仮想マシンマイグレーションが動的に判断される。対応するコンピューティングノードの利用可能マイグレーション時間を正確に管理しつつ仮想マシンがマイグレーションされる。
【００７２】
しかし、別の任意の実施形態において、仮想マシンマイグレーション管理装置はさらに、マイグレーション予定の仮想マシンのマイグレーションが完了した後に、現在のマイグレーションの実際のマイグレーション時間を、マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間から別々に減算するとしてよい。これによって、コンピューティングノードの利用可能マイグレーション時間をより正確に管理する。
【００７３】
さらに、任意の実施形態において、プロセッサ４０１はさらに、メモリ４０４に格納されているプログラムコードを呼び出して以下の段階を実行するとしてよい。
リソーススケジューリングの各回の開始時に、全てのコンピューティングノードの
【数６】
2016537705.tif 000061
で表される利用可能マイグレーション時間を初期化する段階。Ｎｉは、対応するコンピューティングノードがサポートしている同時マイグレーションの対象となる仮想マシンの数、Ｔは、リソーススケジューリング期間である。
【００７４】
さらに、任意の実施形態において、各コンピューティングノードの利用可能マイグレーション時間が初期化されると、各コンピューティングノードが現在仮想マシンマイグレーションを実行中であるか否かを検出するとしてよい。コンピューティングノードｉが現在仮想マシンＶｉｊのコンピューティングノードｊへのマイグレーションを実行中である場合、コンピューティングノードｉの利用可能マイグレーション時間は、数７で表される値に初期化されるとしてよい。
【数７】
2016537705.tif 000062
ＭＴＶｉｊは、マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせるために必要なマイグレーション時間であり、マイグレーション予定の仮想マシンＶｉｊのマイグレーションパラメータに応じて算出される。
【００７５】
本実施形態において、図４に示した仮想マシンマイグレーション管理装置に基づき、マイグレーション時間はマイグレーション予定の仮想マシンのマイグレーションパラメータに応じて動的に算出され得ることが分かるとしてよい。算出されたマイグレーション時間はマイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間と比較されて、仮想マシンマイグレーションを実行可能か否かを判断する。あるコンピューティングノードの同時マイグレーションの対象となる仮想マシンの数は動的に管理されるとしてよい。これによって、仮想マシンマイグレーションについてより正確に判断が行われる。
【００７６】
図５は、本発明の実施形態に係る仮想マシンマイグレーション管理システムを示す概略構造図である。同図に示すように、本発明の本実施形態に係る仮想マシンマイグレーション管理システムは、少なくとも、それぞれが仮想マシンを含むコンピューティングノードデバイス５１０、コンピューティングノードデバイス５２０、・・・、および、コンピューティングノードデバイス５ｎ０のうち少なくとも２つ、および、仮想マシンマイグレーション管理装置５００を含むとしてよい。
【００７７】
仮想マシンマイグレーション管理装置５００は、上述した実施形態のいずれか１つで説明した仮想マシンマイグレーション管理装置であってよく、マイグレーション予定の仮想マシンの複数のマイグレーションパラメータに応じて、当該マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせるために必要なマイグレーション時間を算出し、マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間を別々に取得し、マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間がいずれもマイグレーション時間以上である場合、マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせると判断するように構成されている。尚、複数のマイグレーションパラメータは、マイグレーション予定の仮想マシンの割り当てメモリサイズ、メモリ変更速度、および、マイグレーションネットワーク帯域幅を含む。
【００７８】
コンピューティングノードデバイスは、仮想マシンマイグレーション管理装置がマイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせると判断すると、マイグレーション予定の仮想マシンに対してマイグレーション処理を実行するように構成されている。
【００７９】
さらに、本実施形態で記載する仮想マシンマイグレーション管理システムは、上述した方法の実施形態のいずれか１つに係る仮想マシンマイグレーション管理方法のプロセスのうち全てまたは一部を実施するために用いられるとしてよい。
【００８０】
図６は、本発明の別の実施形態に係る仮想マシンマイグレーション管理システムを示す図である。当該システムは、少なくとも１つのマイグレーション予定の仮想マシンを含むマイグレーション元のコンピューティングノードｉ６２０と、マイグレーション先のコンピューティングノードｊ６３０と、仮想マシンマイグレーション管理装置６１０とを備える。
【００８１】
仮想マシンマイグレーション管理装置６１０は、マイグレーション予定の仮想マシンの複数のマイグレーションパラメータに応じて、当該マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードｉ６２０からマイグレーション先のコンピューティングノードｊ６３０へとマイグレーションさせるために必要なマイグレーション時間を算出し、マイグレーション元のコンピューティングノードｉ６２０の現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードｊ６３０の現在の利用可能マイグレーション時間を別々に取得し、マイグレーション元のコンピューティングノードｉ６２０の現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードｊ６３０の現在の利用可能マイグレーション時間がいずれもマイグレーション時間以上である場合、マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードｉ６２０からマイグレーション先のコンピューティングノードｊ６３０へとマイグレーションさせると判断するように構成されている。尚、複数のマイグレーションパラメータは、マイグレーション予定の仮想マシンの割り当てメモリサイズ、メモリ変更速度、および、マイグレーションネットワーク帯域幅を含む。
【００８２】
任意の実施形態において、マイグレーション時間は、以下に記載する２つの実施方法のいずれかに係る算出方法によって取得されるとしてよい。
ａ０およびｑは
【数３】
2016537705.tif 000063
で表され、ＭＶｉｊは、マイグレーション予定の仮想マシンの割り当てメモリサイズ、ＭＣＲＶｉｊは、マイグレーション予定の仮想マシンのメモリ変更速度、ＢＷＶｉｊは、マイグレーション予定の仮想マシンに割り当てられたマイグレーションネットワーク帯域幅、Ｎ０は、予め設定された最大転送回数、Ｎは、
【数４】
2016537705.tif 000064
が予め設定されたメモリダーティページしきい値未満になるという条件を満たす最小整数値である場合に、
マイグレーション元のコンピューティングノードｉ６２０からマイグレーション先のコンピューティングノードｊ６３０へとマイグレーション予定の仮想マシンをマイグレーションさせるために必要な
【数１】
2016537705.tif 000065
で表されるマイグレーション時間、および、
【数２】
2016537705.tif 000066
で表される転送回数を算出する方法。
ａ０およびｑは
【数５】
2016537705.tif 000067
で表され、
ＭＶｉｊは、マイグレーション予定の仮想マシンの割り当てメモリサイズ、ＭＣＲＶｉｊは、マイグレーション予定の仮想マシンのメモリ変更速度、ＢＷＶｉｊは、マイグレーション予定の仮想マシンに割り当てられたマイグレーションネットワーク帯域幅、Ｎ０は、予め設定された最大転送回数、Ｎは、
【数４】
2016537705.tif 000068
が予め設定されたメモリダーティページしきい値未満になるという条件を満たす最小整数値、ＣＶｉｊは、マイグレーション予定の仮想マシンのメモリ圧縮率である場合に、
マイグレーション元のコンピューティングノードｉ６２０からマイグレーション先のコンピューティングノードｊ６３０へとマイグレーション予定の仮想マシンをマイグレーションさせるために必要な
【数１】
2016537705.tif 000069
で表わされるマイグレーション時間、および、
【数２】
2016537705.tif 000070
で表される転送回数を算出する方法。
【００８３】
さらに、本実施形態で記載する仮想マシンマイグレーション管理システムは、上述した方法の実施形態のいずれか１つに係る仮想マシンマイグレーション管理方法のプロセスのうち全てまたは一部を実施するために用いられるとしてよい。
【００８４】
本発明の本実施形態によると、マイグレーション時間は、マイグレーション予定の仮想マシンのマイグレーションパラメータに応じて動的に算出され、算出されたマイグレーション時間を、マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間およびマイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間と比較して、仮想マシンマイグレーションを実行可能か否かを判断する。あるコンピューティングノードの同時マイグレーションの対象となる仮想マシンの数は動的に管理されるとしてよい。これによって、仮想マシンマイグレーションについてより正確に判断が行われる。
【００８５】
当業者であれば、実施形態に係る方法のプロセスの全てまたは一部はコンピュータプログラムが関連ハードウェアに指示することによって実施され得ると理解するであろう。プログラムはコンピュータ可読記憶媒体に格納されるとしてよい。プログラムが実行されると、実施形態に係る方法のプロセスが実行される。記憶媒体には、磁気ディスク、光ディスク、リードオンリーメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）等が含まれるとしてよい。
【００８６】
開示した内容は、本発明の実施形態例に過ぎず、本発明の保護範囲を限定することを意図したものではない。本発明の請求項に応じて為された均等な変更は、本発明の保護範囲に含まれるものとする。
【図１】
2016537705.tif 000099
【図２】
2016537705.tif 000100
【図３】
2016537705.tif 000101
【図４】
2016537705.tif 000102
【図５】
2016537705.tif 000103
【図６】
2016537705.tif 000104
【図７】
2016537705.tif 000105
【手続補正書】
【提出日】平成28年4月14日(2016.4.14)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
仮想マシンマイグレーション管理方法であって、
マイグレーション予定の仮想マシンの複数のマイグレーションパラメータに応じて、前記マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせるために必要なマイグレーション時間を算出する段階と、
前記マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間および前記マイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間を別々に取得する段階と、
前記マイグレーション元のコンピューティングノードの前記現在の利用可能マイグレーション時間および前記マイグレーション先のコンピューティングノードの前記現在の利用可能マイグレーション時間がいずれも前記マイグレーション時間以上である場合、前記マイグレーション予定の仮想マシンを前記マイグレーション元のコンピューティングノードから前記マイグレーション先のコンピューティングノードへとマイグレーションさせると判断する段階と
を備え、
前記複数のマイグレーションパラメータは、前記マイグレーション予定の仮想マシンの割り当てメモリサイズ、メモリ変更速度、および、マイグレーションネットワーク帯域幅を含む
仮想マシンマイグレーション管理方法。
【請求項２】
前記マイグレーション予定の仮想マシンの複数のマイグレーションパラメータに応じて、前記マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせるために必要なマイグレーション時間を算出する段階は、
ａ０およびｑは
【数３】
2016537705.tif 000106
で表され、ＭＶｉｊは、前記マイグレーション予定の仮想マシンの前記割り当てメモリサイズ、ＭＣＲＶｉｊは、前記マイグレーション予定の仮想マシンの前記メモリ変更速度、ＢＷＶｉｊは、前記マイグレーション予定の仮想マシンに割り当てられた前記マイグレーションネットワーク帯域幅、Ｎ０は、予め設定された最大転送回数、Ｎは、
【数４】
2016537705.tif 000107
が予め設定されたメモリダーティページしきい値未満になるという条件を満たす最小整数値である場合に、
マイグレーション元のコンピューティングノードｉからマイグレーション先のコンピューティングノードｊへと前記マイグレーション予定の仮想マシンをマイグレーションさせるために必要な
【数１】
2016537705.tif 000108
で表されるマイグレーション時間、および、
【数２】
2016537705.tif 000109
で表される転送回数を算出する段階を有する
請求項１に記載の仮想マシンマイグレーション管理方法。
【請求項３】
前記マイグレーション予定の仮想マシンの複数のマイグレーションパラメータに応じて、前記マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせるために必要なマイグレーション時間を算出する段階は、
ａ０およびｑは
【数５】
2016537705.tif 000110
で表され、
ＭＶｉｊは、前記マイグレーション予定の仮想マシンの前記割り当てメモリサイズ、ＭＣＲＶｉｊは、前記マイグレーション予定の仮想マシンの前記メモリ変更速度、ＢＷＶｉｊは、前記マイグレーション予定の仮想マシンに割り当てられた前記マイグレーションネットワーク帯域幅、Ｎ０は、予め設定された最大転送回数、Ｎは、
【数４】
2016537705.tif 000111
が予め設定されたメモリダーティページしきい値未満になるという条件を満たす最小整数値、ＣＶｉｊは、前記マイグレーション予定の仮想マシンのメモリ圧縮率である場合に、
マイグレーション元のコンピューティングノードｉからマイグレーション先のコンピューティングノードｊへと前記マイグレーション予定の仮想マシンをマイグレーションさせるために必要な
【数１】
2016537705.tif 000112
で表わされるマイグレーション時間、および、
【数２】
2016537705.tif 000113
で表される転送回数を算出する段階を有する
請求項１に記載の仮想マシンマイグレーション管理方法。
【請求項４】
前記マイグレーション予定の仮想マシンの前記マイグレーション元のコンピューティングノードから前記マイグレーション先のコンピューティングノードへのマイグレーションが開始された後、前記マイグレーション元のコンピューティングノードの前記現在の利用可能マイグレーション時間から前記マイグレーション時間を減算し、前記マイグレーション先のコンピューティングノードの前記現在の利用可能マイグレーション時間から前記マイグレーション時間を減算する段階をさらに備える
請求項１から３のいずれか一項に記載の仮想マシンマイグレーション管理方法。
【請求項５】
リソーススケジューリングの各回の開始時に、全てのコンピューティングノードの
【数６】
2016537705.tif 000114
で表される利用可能マイグレーション時間を初期化する段階をさらに備え、
Ｎｉは、対応するコンピューティングノードがサポートしている同時マイグレーションの対象となる仮想マシンの数であり、Ｔは、リソーススケジューリング期間である
請求項１から４のいずれか一項に記載の仮想マシンマイグレーション管理方法。
【請求項６】
リソーススケジューリングの各回の開始時に、コンピューティングノードが仮想マシンマイグレーションを実行していると検出される場合、前記コンピューティングノードの
【数７】
2016537705.tif 000115
で表される利用可能マイグレーション時間が初期化され、
ＭＴＶｉｊは、前記コンピューティングノードにおいてマイグレーション中の仮想マシンのマイグレーション時間である
請求項５に記載の仮想マシンマイグレーション管理方法。
【請求項７】
仮想マシンマイグレーション管理装置であって、
マイグレーション予定の仮想マシンの複数のマイグレーションパラメータに応じて、前記マイグレーション予定の仮想マシンをマイグレーション元のコンピューティングノードからマイグレーション先のコンピューティングノードへとマイグレーションさせるために必要なマイグレーション時間を算出するマイグレーション時間算出モジュールと、
前記マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間および前記マイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間を別々に取得する利用可能マイグレーション時間管理モジュールと、
前記マイグレーション元のコンピューティングノードの前記現在の利用可能マイグレーション時間および前記マイグレーション先のコンピューティングノードの前記現在の利用可能マイグレーション時間がいずれも前記マイグレーション時間以上である場合、前記マイグレーション予定の仮想マシンを前記マイグレーション元のコンピューティングノードから前記マイグレーション先のコンピューティングノードへとマイグレーションさせると判断するマイグレーション判断モジュールと
を備え、
前記複数のマイグレーションパラメータは、前記マイグレーション予定の仮想マシンの割り当てメモリサイズ、メモリ変更速度、および、マイグレーションネットワーク帯域幅を含む
仮想マシンマイグレーション管理装置。
【請求項８】
前記利用可能マイグレーション時間管理モジュールはさらに、
前記マイグレーション予定の仮想マシンの前記マイグレーション元のコンピューティングノードから前記マイグレーション先のコンピューティングノードへのマイグレーションが開始された後、前記マイグレーション元のコンピューティングノードの前記現在の利用可能マイグレーション時間から前記マイグレーション時間を減算し、前記マイグレーション先のコンピューティングノードの前記現在の利用可能マイグレーション時間から前記マイグレーション時間を減算する
請求項７に記載の仮想マシンマイグレーション管理装置。
【請求項９】
前記マイグレーション時間算出モジュールが前記マイグレーション時間を算出することは、
ａ０およびｑは
【数３】
2016537705.tif 000116
で表され、ＭＶｉｊは、前記マイグレーション予定の仮想マシンの前記割り当てメモリサイズ、ＭＣＲＶｉｊは、前記マイグレーション予定の仮想マシンの前記メモリ変更速度、ＢＷＶｉｊは、前記マイグレーション予定の仮想マシンに割り当てられた前記マイグレーションネットワーク帯域幅、Ｎ０は、予め設定された最大転送回数、Ｎは、
【数４】
2016537705.tif 000117
が予め設定されたメモリダーティページしきい値未満になるという条件を満たす最小整数値である場合に、
マイグレーション元のコンピューティングノードｉからマイグレーション先のコンピューティングノードｊへと前記マイグレーション予定の仮想マシンをマイグレーションさせるために必要な
【数１】
2016537705.tif 000118
で表されるマイグレーション時間、および、
【数２】
2016537705.tif 000119
で表される転送回数を算出することを含む
請求項７に記載の仮想マシンマイグレーション管理装置。
【請求項１０】
前記マイグレーション時間算出モジュールが前記マイグレーション時間を算出することは、
ａ０およびｑは、
【数５】
2016537705.tif 000120
で表され、ＭＶｉｊは、前記マイグレーション予定の仮想マシンの前記割り当てメモリサイズ、ＭＣＲＶｉｊは、前記マイグレーション予定の仮想マシンの前記メモリ変更速度、ＢＷＶｉｊは、前記マイグレーション予定の仮想マシンに割り当てられた前記マイグレーションネットワーク帯域幅、Ｎ０は、予め設定された最大転送回数、Ｎは、
【数４】
2016537705.tif 000121
が予め設定されたメモリダーティページしきい値未満になるという条件を満たす最小整数値、ＣＶｉｊは、前記マイグレーション予定の仮想マシンのメモリ圧縮率である場合に、
マイグレーション元のコンピューティングノードｉからマイグレーション先のコンピューティングノードｊへと前記マイグレーション予定の仮想マシンをマイグレーションさせるために必要な
【数１】
2016537705.tif 000122
で表されるマイグレーション時間、および、
【数２】
2016537705.tif 000123
で表される転送回数を算出することを含む
請求項７に記載の仮想マシンマイグレーション管理装置。
【請求項１１】
前記利用可能マイグレーション時間管理モジュールはさらに、
リソーススケジューリングの各回の開始時に、全てのコンピューティングノードの
【数６】
2016537705.tif 000124
で表される
利用可能マイグレーション時間を初期化し、
Ｎｉは、対応するコンピューティングノードがサポートしている同時マイグレーションの対象となる仮想マシンの数、Ｔは、リソーススケジューリング期間である
請求項７から１０のいずれか一項に記載の仮想マシンマイグレーション管理装置。
【請求項１２】
前記利用可能マイグレーション時間管理モジュールはさらに、
リソーススケジューリングの各回の開始時に、コンピューティングノードが仮想マシンマイグレーションを実行していると検出される場合、前記コンピューティングノードの
【数７】
2016537705.tif 000125
で表される利用可能マイグレーション時間を初期化し、
ＭＴＶｉｊは、前記コンピューティングノードにおいてマイグレーション中の仮想マシンのマイグレーション時間である
請求項１１に記載の仮想マシンマイグレーション管理装置。
【請求項１３】
少なくとも１つのマイグレーション予定の仮想マシンを含むマイグレーション元のコンピューティングノードと、マイグレーション先のコンピューティングノードと、仮想マシンマイグレーション管理装置とを備える仮想マシンマイグレーション管理システムであって、
前記仮想マシンマイグレーション管理装置は、
前記マイグレーション予定の仮想マシンの複数のマイグレーションパラメータに応じて、前記マイグレーション予定の仮想マシンを前記マイグレーション元のコンピューティングノードから前記マイグレーション先のコンピューティングノードへとマイグレーションさせるために必要なマイグレーション時間を算出し、
前記マイグレーション元のコンピューティングノードの現在の利用可能マイグレーション時間および前記マイグレーション先のコンピューティングノードの現在の利用可能マイグレーション時間を別々に取得し、
前記マイグレーション元のコンピューティングノードの前記現在の利用可能マイグレーション時間および前記マイグレーション先のコンピューティングノードの前記現在の利用可能マイグレーション時間がいずれも前記マイグレーション時間以上である場合、前記マイグレーション予定の仮想マシンを前記マイグレーション元のコンピューティングノードから前記マイグレーション先のコンピューティングノードへとマイグレーションさせると判断し、
前記複数のマイグレーションパラメータは、前記マイグレーション予定の仮想マシンの割り当てメモリサイズ、メモリ変更速度、および、マイグレーションネットワーク帯域幅を含む
仮想マシンマイグレーション管理システム。
【請求項１４】
前記マイグレーション時間は、
（ｉ）ａ０およびｑは、
【数３】
2016537705.tif 000126
で表され、ＭＶｉｊは、前記マイグレーション予定の仮想マシンの前記割り当てメモリサイズ、ＭＣＲＶｉｊは、前記マイグレーション予定の仮想マシンの前記メモリ変更速度、ＢＷＶｉｊは、前記マイグレーション予定の仮想マシンに割り当てられた前記マイグレーションネットワーク帯域幅、Ｎ０は、予め設定された最大転送回数、Ｎは、
【数４】
2016537705.tif 000127
が予め設定されたメモリダーティページしきい値未満になるという条件を満たす最小整数値である場合に、
マイグレーション元のコンピューティングノードｉからマイグレーション先のコンピューティングノードｊへと前記マイグレーション予定の仮想マシンをマイグレーションさせるために必要な
【数１】
2016537705.tif 000128
で表されるマイグレーション時間、および、
【数２】
2016537705.tif 000129
で表される転送回数を算出する方法、
および
（ｉｉ）ａ０およびｑは、
【数５】
2016537705.tif 000130
で表され、ＭＶｉｊは、前記マイグレーション予定の仮想マシンの前記割り当てメモリサイズ、ＭＣＲＶｉｊは、前記マイグレーション予定の仮想マシンの前記メモリ変更速度、ＢＷＶｉｊは、前記マイグレーション予定の仮想マシンに割り当てられた前記マイグレーションネットワーク帯域幅、Ｎ０は、予め設定された最大転送回数、Ｎは、
【数４】
2016537705.tif 000131
が予め設定されたメモリダーティページしきい値未満になるという条件を満たす最小整数値、ＣＶｉｊは、前記マイグレーション予定の仮想マシンのメモリ圧縮率である場合に、
マイグレーション元のコンピューティングノードｉからマイグレーション先のコンピューティングノードｊへと前記マイグレーション予定の仮想マシンをマイグレーションさせるために必要な
【数１】
2016537705.tif 000132
で表されるマイグレーション時間、および、
【数２】
2016537705.tif 000133
で表される転送回数を算出する方法
のいずれかに係る計算によって取得される
請求項１３に記載の仮想マシンマイグレーション管理システム。
【国際調査報告】
2016537705.tif 000134
2016537705.tif 000135
2016537705.tif 000136
2016537705.tif 000137