(57)【要約】  本発明の実施形態は、仮想マシンを割り当てるための方法および装置を規定している。方法は、アプリケーションソフトウェアの設定情報を取得するステップであって、設定情報は、アプリケーションソフトウェアが利用可能な複数の仮想マシンタイプと、仮想マシンタイプの優先度とを含む、ステップと、アプリケーションソフトウェアが仮想マシン上で動作することができるように、設定情報内の仮想マシンタイプの優先度に従って、高優先度の仮想マシンタイプに対応する仮想マシンをアプリケーションソフトウェアに優先的に割り当てるステップとを含む。本発明の実施形態によって規定されている技術的解決手法によれば、高優先度の仮想マシンタイプに対応する仮想マシンを、アプリケーションソフトウェアの設定情報におけるアプリケーションソフトウェアが利用可能な仮想マシンタイプの優先度に基づいて、アプリケーションソフトウェアに優先的に割り当てることができ、それによって、アプリケーションソフトウェアの動作効果を改善している。
2015537318.tif 000002
【特許請求の範囲】
【請求項１】
仮想マシンを割り当てるための方法であって、
アプリケーションソフトウェアの設定情報を取得するステップであって、前記設定情報は、前記アプリケーションソフトウェアが利用可能な複数の仮想マシンタイプと、前記仮想マシンタイプの優先度とを含む、ステップと、
前記アプリケーションソフトウェアが前記仮想マシン上で動作することができるように、前記設定情報内の前記仮想マシンタイプの前記優先度に従って、高優先度の仮想マシンタイプに対応する仮想マシンを前記アプリケーションソフトウェアに優先的に割り当てるステップとを含む、方法。
【請求項２】
前記仮想マシンタイプの前記優先度は、高優先度と低優先度とを含む、請求項1に記載の方法。
【請求項３】
前記仮想マシンタイプの前記優先度は、複数の優先度レベルの優先度を含む、請求項1に記載の方法。
【請求項４】
前記設定情報内の前記仮想マシンタイプの前記優先度に従って、高優先度の仮想マシンタイプに対応する仮想マシンを前記アプリケーションソフトウェアに優先的に割り当てるステップは、
前記設定情報内の前記高優先度の仮想マシンタイプに対応する前記仮想マシンを割り当てることができるかどうかを決定するステップと、
前記高優先度の仮想マシンタイプに対応する前記仮想マシンを割り当てることができる場合には、前記高優先度の仮想マシンタイプに対応する前記仮想マシンを前記アプリケーションソフトウェアに割り当てるステップと、
前記高優先度の仮想マシンタイプに対応する前記仮想マシンを割り当てることができない場合には、前記高優先度の仮想マシンタイプより低い優先度を有している少なくとも1つの仮想マシンタイプのうちの仮想マシンを、前記アプリケーションソフトウェアに高優先度から低優先度の順番で割り当てるステップとを含む、請求項1から3のいずれか一項に記載の方法。
【請求項５】
前記設定情報は、複数の設定サブ情報を特に含み、各設定サブ情報は、前記アプリケーションソフトウェアが利用可能な複数の仮想マシンタイプと、前記仮想マシンタイプの優先度とを含み、
前記設定情報内の前記仮想マシンタイプの前記優先度に従って、高優先度の仮想マシンタイプに対応する仮想マシンを前記アプリケーションソフトウェアに優先的に割り当てるステップは、
前記設定サブ情報内の前記仮想マシンタイプの前記優先度に従って、各設定サブ情報内の高優先度の仮想マシンタイプに対応する仮想マシンを前記アプリケーションソフトウェアに優先的に割り当てるステップを含む、請求項1から3のいずれか一項に記載の方法。
【請求項６】
仮想マシンを割り当てるための装置であって、
アプリケーションソフトウェアの設定情報を取得するように構成される設定情報取得モジュールであって、前記設定情報は、前記アプリケーションソフトウェアが利用可能な複数の仮想マシンタイプと、前記仮想マシンタイプの優先度とを含む、設定情報取得モジュールと、
前記アプリケーションソフトウェアが前記仮想マシン上で動作することができるように、前記設定情報内の前記仮想マシンタイプの前記優先度に従って、高優先度の仮想マシンタイプに対応する仮想マシンを前記アプリケーションソフトウェアに優先的に割り当てるように構成される、仮想マシン割り当てモジュールとを備える、装置。
【請求項７】
前記仮想マシンタイプの前記優先度は、高優先度と低優先度とを含む、請求項6に記載の装置。
【請求項８】
前記仮想マシンタイプの前記優先度は、複数の優先度レベルの優先度を含む、請求項6に記載の装置。
【請求項９】
前記仮想マシン割り当てモジュールは、
前記設定情報内の前記高優先度の仮想マシンタイプに対応する前記仮想マシンを割り当てることができるかどうかを決定するように構成される、決定ユニットと、
前記高優先度の仮想マシンタイプに対応する前記仮想マシンを割り当てることができる場合には、前記高優先度の仮想マシンタイプに対応する前記仮想マシンを前記アプリケーションソフトウェアに割り当てるように構成される、第1の割り当てユニットと、
前記高優先度の仮想マシンタイプに対応する前記仮想マシンを割り当てることができない場合には、前記高優先度の仮想マシンタイプより低い優先度を有している少なくとも1つの仮想マシンタイプのうちの仮想マシンを、前記アプリケーションソフトウェアに高優先度から低優先度の順番で割り当てるように構成される、第2の割り当てユニットとを備える、請求項6から8のいずれか一項に記載の装置。
【請求項１０】
前記設定情報は、複数の設定サブ情報を特に含み、各設定サブ情報は、前記アプリケーションソフトウェアが利用可能な複数の仮想マシンタイプと、前記仮想マシンタイプの優先度とを含み、
前記仮想マシン割り当てモジュールは、前記設定サブ情報内の前記仮想マシンタイプの前記優先度に従って、各設定サブ情報内の高優先度の仮想マシンタイプに対応する仮想マシンを前記アプリケーションソフトウェアに優先的に割り当てるように特に構成される、請求項6から8のいずれか一項に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、その全体が参照により本明細書に組み込まれている、2012年12月11日に中国専利局に出願した、「METHOD AND APPARATUS FOR ALLOCATING A VIRTUAL MACHINE」と題する、中国特許出願第201210532071.7の優先権を主張する。
【０００２】
本発明の実施形態は、コンピュータ技術に関し、具体的には、仮想マシンを割り当てるための方法および装置に関する。
【背景技術】
【０００３】
コンピュータ技術の発展は、ますますクラウドコンピューティングシステムなどの仮想化システムの幅広い利用をもたらしている。一般的には複数のタイプのハードウェアが仮想化システムに含まれており、各タイプのハードウェアは、ハードウェアによって規定される仮想マシン上でアプリケーションソフトウェアが動作することができるように、異なるタイプの仮想マシンを規定し得る。
【０００４】
現在、仮想化システムに基づいて動作するアプリケーションソフトウェアがデプロイされる前に、アプリケーションソフトウェアが利用可能な仮想マシンタイプが、そのアプリケーションソフトウェアに対して定義されている。このように、アプリケーションソフトウェアを使用する場合には、仮想マシンシステムは、アプリケーションソフトウェアが仮想マシン上で動作することができるように、アプリケーションソフトウェアが利用可能な仮想マシンタイプに従って、アプリケーションソフトウェアの要件を満たす1つの仮想マシンをアプリケーションソフトウェアに割り当てている。仮想マシンをアプリケーションソフトウェアに割り当てる場合には、仮想化システムは、現在のハードウェアリソースの利用状況を考慮して、ランダムに、または同一の規定に従って、1つの仮想マシンをアプリケーションソフトウェアに割り当てている。
【０００５】
しかしながら、従来技術では、仮想化システムが仮想マシンをアプリケーションソフトウェアに割り当てる場合には、アプリケーションソフトウェアに割り当てられた仮想マシンが、アプリケーションソフトウェアの要求を満たすことができない可能性があり、それによって、システムによって割り当てられた仮想マシン上でアプリケーションソフトウェアを動作させることに悪影響を与えることになる。
【発明の概要】
【課題を解決するための手段】
【０００６】
本発明の実施形態は、仮想マシンを割り当てるための方法および装置を規定しており、従来技術における仮想化システムが仮想マシンをアプリケーションソフトウェアに割り当てる課題を解決し得る。
【０００７】
第1の態様によれば、本発明の実施形態は、仮想マシンを割り当てるための方法を規定しており、方法は、
アプリケーションソフトウェアの設定情報を取得するステップであって、設定情報は、アプリケーションソフトウェアが利用可能な複数の仮想マシンタイプと、仮想マシンタイプの優先度とを含む、ステップと、
アプリケーションソフトウェアが仮想マシン上で動作することができるように、設定情報内の仮想マシンタイプの優先度に従って、高優先度の仮想マシンタイプに対応する仮想マシンをアプリケーションソフトウェアに優先的に割り当てるステップとを含む。
【０００８】
第1の態様に準拠している、第1の可能な実施形態において、仮想マシンタイプの優先度は、高優先度と低優先度とを含む。
【０００９】
第1の態様に準拠している、第2の可能な実施形態において、仮想マシンタイプの優先度は、複数の優先度レベルの優先度を含む。
【００１０】
第1の態様、または第1の態様の第1もしくは第2の可能な実施形態に準拠している、第3の可能な実施形態において、設定情報内の仮想マシンタイプの優先度に従って、高優先度の仮想マシンタイプに対応する仮想マシンをアプリケーションソフトウェアに優先的に割り当てるステップは、
設定情報内の高優先度の仮想マシンタイプに対応する仮想マシンを割り当てることができるかどうかを決定するステップと、
高優先度の仮想マシンタイプに対応する仮想マシンを割り当てることができる場合には、高優先度の仮想マシンタイプに対応する仮想マシンをアプリケーションソフトウェアに割り当てるステップと、
高優先度の仮想マシンタイプに対応する仮想マシンを割り当てることができない場合には、高優先度の仮想マシンタイプより低い優先度を有している少なくとも1つの仮想マシンタイプのうちの仮想マシンを、アプリケーションソフトウェアに高優先度から低優先度の順番で割り当てるステップとを含む。
【００１１】
第1の態様、または第1の態様の第1もしくは第2の可能な実施形態に準拠している、第4の可能な実施形態において、設定情報は、複数の設定サブ情報を特に含み、各設定サブ情報は、アプリケーションソフトウェアが利用可能な複数の仮想マシンタイプと、仮想マシンタイプの優先度とを含み、
設定情報内の仮想マシンタイプの優先度に従って、高優先度の仮想マシンタイプに対応する仮想マシンをアプリケーションソフトウェアに優先的に割り当てるステップは、
設定サブ情報内の仮想マシンタイプの優先度に従って、各設定サブ情報内の高優先度の仮想マシンタイプに対応する仮想マシンをアプリケーションソフトウェアに優先的に割り当てるステップを含む。
【００１２】
第2の態様によれば、本発明の実施形態は、仮想マシンを割り当てるための装置を規定しており、装置は、
アプリケーションソフトウェアの設定情報を取得するように構成される設定情報取得モジュールであって、設定情報は、アプリケーションソフトウェアが利用可能な複数の仮想マシンタイプと、仮想マシンタイプの優先度とを含む、設定情報取得モジュールと、
アプリケーションソフトウェアが仮想マシン上で動作することができるように、設定情報内の仮想マシンタイプの優先度に従って、高優先度の仮想マシンタイプに対応する仮想マシンをアプリケーションソフトウェアに優先的に割り当てるように構成される、仮想マシン割り当てモジュールとを備える。
【００１３】
第2の態様に準拠している、第1の可能な実施形態において、仮想マシンタイプの優先度は、高優先度と低優先度とを含む。
【００１４】
第2の態様に準拠している、第2の可能な実施形態において、仮想マシンタイプの優先度は、複数の優先度レベルの優先度を含む。
【００１５】
第2の態様、または第2の態様の第1もしくは第2の可能な実施形態に準拠している、第3の可能な実施形態において、仮想マシン割り当てモジュールは、
設定情報内の高優先度の仮想マシンタイプに対応する仮想マシンを割り当てることができるかどうかを決定するように構成される、決定ユニットと、
高優先度の仮想マシンタイプに対応する仮想マシンを割り当てることができる場合には、高優先度の仮想マシンタイプに対応する仮想マシンをアプリケーションソフトウェアに割り当てるように構成される、第1の割り当てユニットと、
高優先度の仮想マシンタイプに対応する仮想マシンを割り当てることができない場合には、高優先度の仮想マシンタイプより低い優先度を有している少なくとも1つの仮想マシンタイプのうちの仮想マシンを、アプリケーションソフトウェアに高優先度から低優先度の順番で割り当てるように構成される、第2の割り当てユニットとを備える。
【００１６】
第2の態様、または第2の態様の第1もしくは第2の可能な実施形態に準拠している、第4の可能な実施形態において、設定情報は、複数の設定サブ情報を特に含み、各設定サブ情報は、アプリケーションソフトウェアが利用可能な複数の仮想マシンタイプと、仮想マシンタイプの優先度とを含み、
仮想マシン割り当てモジュールは、設定サブ情報内の仮想マシンタイプの優先度に従って、各設定サブ情報内の高優先度の仮想マシンタイプに対応する仮想マシンをアプリケーションソフトウェアに優先的に割り当てるように特に構成される。
【００１７】
本発明の実施形態においては、高優先度の仮想マシンタイプに対応する仮想マシンを、アプリケーションソフトウェアの設定情報内のアプリケーションソフトウェアが利用可能な仮想マシンタイプの優先度に従って、アプリケーションソフトウェアに優先的に割り当てることができる。このように、仮想マシンを、アプリケーションソフトウェアの要求に従って、アプリケーションソフトウェアに割り当てることができ、それによって、アプリケーションソフトウェアが割り当てられた仮想マシン上でより望ましい動作で動作することを可能としている。
【００１８】
本発明の実施形態の技術的解決手法をより明確に記載するために、実施形態または従来技術を記載するのに必要となる添付の図面を以下に簡単に説明する。添付の図面以下の記載においては、いくつかの本発明の実施形態を示したにすぎず、当業者は、創造的努力をすることなくこれらの添付の図面から他の図面をさらに導出し得ることは明らかであろう。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施形態1による、仮想マシンを割り当てるための方法の概略フローチャートである。
【図２】本発明の実施形態2による、仮想マシンを割り当てるための方法の概略フローチャートである。
【図３】本発明の実施形態3による、仮想マシンを割り当てるための方法の概略フローチャートである。
【図４】本発明の実施形態4による、仮想化システムの配置構造の概略図である。
【図５】本発明の実施形態5による、仮想マシンを割り当てるための装置の概略構造図である。
【図６】本発明の実施形態6による、仮想マシンを割り当てるための装置の概略構造図である。
【図７】本発明の実施形態7による、仮想マシン割り当てモジュールの概略構造図である。
【発明を実施するための形態】
【００２０】
本発明の実施形態の添付の図面を参照して、本発明の実施形態の技術的解決手法を以下に明確かつ完全に記載する。記載した実施形態が本発明の実施形態のすべてではなくむしろ一部にすぎないことは明らかであろう。創造的努力をすることなく本発明の実施形態に基づいて当業者によって得られる他の実施形態のすべては、本発明の保護範囲に含まれるものとする。
【００２１】
図1は、本発明の実施形態1による、仮想マシンを割り当てるための方法の概略フローチャートである。本実施形態は、仮想マシンを仮想化システムにデプロイされたアプリケーションソフトウェアに割り当てるように仮想化システムに適用され得る。特に、図1に示したように、本実施形態によって規定されている方法は、以下のステップを含み得る。
【００２２】
ステップ101: アプリケーションソフトウェアの設定情報であって、アプリケーションソフトウェアが利用可能な複数の仮想マシンタイプと、仮想マシンタイプの優先度とを含む、設定情報を取得する。
【００２３】
ステップ102: アプリケーションソフトウェアが仮想マシン上で動作することができるように、設定情報内の仮想マシンタイプの優先度に従って、高優先度の仮想マシンタイプに対応する仮想マシンをアプリケーションソフトウェアに優先的に割り当てる。
【００２４】
本実施形態においては、仮想化システムは、複数のタイプのハードウェアリソースを有し、各タイプのハードウェアリソースは、異なる仮想マシンをサポートし得る。仮想マシンタイプは、ハードウェアリソースのタイプまたは仮想マシンのタイプを参照する。特に、仮想マシンタイプは、ハードウェアリソース構成情報を参照していてもよいし、または仮想マシンを参照していてもよい。仮想化システムは、アプリケーションソフトウェアが仮想マシン上で動作することができるように、仮想マシンタイプに従って対応するハードウェアリソースを決定して、ハードウェアリソース上の対応する仮想マシンにデプロイし得る。
【００２５】
設定情報がアプリケーションソフトウェアに対してユーザによって事前に設定された情報であり、設定情報が必要に応じてユーザによって変更され得ることを、当業者は理解されよう。実際の適用においては、設定情報は、設定ファイルとして保存されていてもよいし、または特定のデータベースに記憶されていてもよい。加えて、アプリケーションソフトウェアがデプロイされる必要がある場合には、設定情報は、仮想化システムにアップロードされてもよいし、仮想化システムは、一般的には、前述のステップに従って、仮想マシンをアプリケーションソフトウェアに割り当てて使用する。
【００２６】
本実施形態においては、割り当て情報内のアプリケーションソフトウェアが利用可能な仮想マシンタイプの優先度は、特に、アプリケーションソフトウェアのプリファレンスに従って、アプリケーションソフトウェアのために設定された利用可能な仮想マシンタイプの優先度を参照する。例えば、CPUに負担をかけるアプリケーションソフトウェアの場合には、アプリケーションソフトウェアは、高いCPU処理性能と比較的小さいメモリ構成およびハードディスク構成を有する仮想マシンタイプを優先的に使用するように設定され得る。すなわち、アプリケーションソフトウェアの設定情報では、高いCPU処理性能と比較的小さいメモリ構成およびハードディスク構成とを有する仮想マシンタイプが高優先度に割り当てられる。アプリケーションソフトウェアがメモリ不足になる場合には、アプリケーションソフトウェアは、大きなメモリ構成と比較的遅いCPU処理性能と比較的小さいハードディスク構成とを有する仮想マシンタイプを優先的に使用するように設定され得る。すなわち、アプリケーションソフトウェアの設定情報では、大きなメモリ構成と比較的遅いCPU処理性能と比較的小さいハードディスク構成とを有する仮想マシンタイプが高優先度に割り当てられる。高優先度の仮想マシンタイプに対応する仮想マシン上で動作するときにアプリケーションソフトウェアはより望ましい性能を提供し得ることを、当業者は理解されよう。
【００２７】
本実施形態によって規定されている仮想マシンを割り当てるための方法によれば、高優先度の仮想マシンタイプに対応する仮想マシンを、アプリケーションソフトウェアの設定情報におけるアプリケーションソフトウェアの仮想マシンタイプの優先度に従って、アプリケーションソフトウェアに優先的に割り当てることができる。このように、仮想マシンを、アプリケーションソフトウェアの要求に従って、アプリケーションソフトウェアに割り当てることができ、それによって、アプリケーションソフトウェアが割り当てられた仮想マシン上でより望ましい動作することを可能としている。
【００２８】
図2は、本発明の実施形態2による、仮想マシンを割り当てるための方法の概略フローチャートである。図2に示したように、本実施形態によって規定されている方法は、以下のステップを含み得る。
【００２９】
ステップ201: アプリケーションソフトウェアの設定情報であって、アプリケーションソフトウェアが利用可能な複数の仮想マシンタイプと、仮想マシンタイプの優先度とを含む、設定情報を取得する。
【００３０】
ステップ202: 設定情報内の高優先度の仮想マシンタイプに対応する仮想マシンを割り当てることができるかどうかを決定して、高優先度の仮想マシンタイプに対応する仮想マシンを割り当てることができる場合にはステップ203を実行して、そうでない場合にはステップ204を実行する。
【００３１】
ステップ203: 高優先度の仮想マシンタイプに対応する仮想マシンをアプリケーションソフトウェアに割り当てる。
【００３２】
ステップ204: 高優先度の仮想マシンタイプより低い優先度を有している少なくとも1つの仮想マシンタイプのうちの仮想マシンを、アプリケーションソフトウェアに高優先度から低優先度の順番で割り当てる。
【００３３】
本実施形態においては、仮想マシンタイプの優先度は、特に高優先度と低優先度との2つの優先度レベルを含んでいてもよいし、また、仮想マシンタイプの優先度は、例えば0から6の数字を使用して優先度を表すというように、その数字によって表され得る複数の優先度レベルを有する優先度を参照するようにしてもよい。ここで、0は最低優先度を表し、6は最高優先度を表す。
【００３４】
前述のステップ202においては、アプリケーションソフトウェアの設定情報内の高優先度の仮想マシンタイプに対応する仮想マシンを割り当てることができない場合には、すなわち、仮想化システム内の仮想マシンに対応するハードウェアリソースが不十分な場合には、少なくとも1つの低優先度の仮想マシンタイプのうちの対応する仮想マシンがアプリケーションソフトウェアに割り当てられ得る。複数の仮想マシンタイプが同一の優先度を有している場合、且つ複数の仮想マシンのうちの1つをアプリケーションソフトウェアに割り当てる必要がある場合には、仮想マシンを割り当てるための従来の方法を、仮想マシンをアプリケーションソフトウェアに割り当てるために使用し得ることを、当業者は理解されよう。例えば、仮想マシンは、仮想化システムのハードウェアリソースの利用状況を考慮して、ランダムに、または同一の規定に従って、アプリケーションソフトウェアに割り当てられる。
【００３５】
図3は、本発明の実施形態3による、仮想マシンを割り当てるための方法の概略フローチャートである。本実施形態においては、前述の設定情報は、複数の設定サブ情報を含んでいてもよいし、各設定サブ情報は、アプリケーションソフトウェアが利用可能な複数の仮想マシンタイプと、仮想マシンタイプの優先度とを含んでいてもよい。このように、仮想化システムは、設定サブ情報内の仮想マシンタイプの優先度に従って、各設定サブ情報内の高優先度の仮想マシンタイプに対応する仮想マシンをアプリケーションソフトウェアに優先的に割り当てることができる。特に、図3に示したように、本実施形態によって規定されている方法は、以下のステップを含み得る。
【００３６】
ステップ301: アプリケーションソフトウェアの設定情報を取得する。
【００３７】
ステップ302: 設定情報内の設定サブ情報の数n、すなわち、アプリケーションソフトウェアが使用する必要がある仮想マシンの数を取得する。
【００３８】
ステップ303: 設定情報内の1つの設定サブ情報を選択する。
【００３９】
ステップ304: 設定サブ情報内の仮想マシンタイプの優先度に従って、設定サブ情報内の高優先度の仮想マシンタイプに対応する仮想マシンをアプリケーションソフトウェアに優先的に割り当てて、nから1を引いてn-1とし、設定サブ情報に完了した設定として設定する。
【００４０】
ステップ305: n-1が0であるかどうかを決定して、n-1が0である場合には処理は終了し、n-1が0でない場合には設定情報内の設定が完了していない別の設定サブ情報を選択してステップ304を続けて実行する。
【００４１】
本実施形態においては、アプリケーションソフトウェアは、複数の仮想マシン上で同時に実行する必要がある。したがって、複数の設定サブ情報は、アプリケーションソフトウェアが複数の仮想マシンをアプリケーションソフトウェアに割り当てるために仮想化システムを要求していることを表すために設定情報に設定され得る。このように、仮想マシンをアプリケーションソフトウェアに割り当てる場合には、仮想化システムは、各設定サブ情報内の仮想マシンタイプに基づいて、仮想マシンをアプリケーションソフトウェアに割り当て得る。
【００４２】
本実施形態を、複数の仮想マシン上で動作する必要があるアプリケーションソフトウェアに対する仮想マシン割り当てに適用してもよいし、設定情報は、アプリケーションソフトウェアが使用する必要がある仮想マシンの数も含んでいてもよい。
【００４３】
本発明の実施形態によって規定されている技術的解決手法をより理解しやすくするために、一例として、特定の適用シナリオを使用することによって、以下に記載する。
【００４４】
図4は、本発明の実施形態4による、仮想マシンを割り当てるための方法に適用される仮想化システムの配置構造を図示する概略図である。図4に示したように、仮想化システムは、HT1と、HT2と、HT3との3つのタイプのハードウェアリソースを備えている。HT1は仮想マシンVT1を提供し得るし、HT2は仮想マシンVT2を提供し得るし、およびHT3は仮想マシンVT3を提供し得る。加えて、VT1、VT2、およびVT3は、CPU、メモリ、およびハードディスク容量などの必須のハードウェアリソースを有するようにすべてが構成されている。例えば、VT1のハードウェアリソース構成は、次のように、CPU=1.5GHz、メモリが8G、およびハードディスク容量が100GBであってもよい。すべてのタイプの仮想マシンのハードウェアリソースは同一であり、同一のタイプの1つまたは複数の仮想マシンが各ハードウェアリソース上で動作し得る。本実施形態においては、アプリケーションソフトウェアAPP1が仮想化システムにデプロイされる場合には、設定情報ファイルがAPP1のために設定され得る。特に、設定情報ファイルは、オープン仮想化フォーマット(Open Virtualization Format、OVF)ファイルであってもよい。OVFファイルは、アプリケーションソフトウェアが利用可能な仮想マシンの関連情報を記載しているファイルであり、例えば、OVFファイルは、アプリケーションソフトウェアによって要求される仮想マシンの仕様、数、およびデプロイメント方法などの情報を記載し得る。OVFファイルは、ユーザによって仮想化システムにアップロードされ得る。
【００４５】
特に、APP1が利用可能な仮想マシンタイプを、OVFファイル内の仮想マシンシステム(VirtualSystem)に定義してもよい。加えて、APP1が利用可能な各仮想マシンタイプの優先度をVirtualSystemに追加している。例えば、デフォルトパラメータDefaultをVirtualSystemに追加してもよい。仮想マシンタイプのDefaultが真、すなわち、Default=Trueの場合には、定義されている仮想マシンタイプが高優先度を有していることを表しており、仮想マシンタイプのDefaultが偽、すなわち、Default=falseである場合、またはDefaultパラメータが存在しない場合には、定義されている仮想マシンタイプが低優先度を有していることを表している。VirtualSystemは、OVFファイルの機能であり、アプリケーションソフトウェアが利用可能な仮想マシンタイプを定義するために使用され、アプリケーションソフトウェアが利用可能な仮想マシンタイプを、VirtualSystemに機能(VirtualHardwareSection)を定義している仮想マシンタイプによって定義している。各VirtualHardwareSectionは、1つの仮想マシンタイプを定義し得る。各VirtualSystemは、一般的には複数のVirtualHardwareSectionを含み、パラメータDefaultもVirtualHardwareSectionに設定されている。APP1についてユーザが設定したOVFファイルにおいて、機能を定義している仮想マシンタイプを使用することによってAPP1に割り当てられ得る仮想マシンがVT1、VT2、およびVT3であり、VT1が高優先度を有しており、VT2およびVT3が低優先度を有していると仮定する。仮想化システムがAPP1のOVFファイルを得ると、OVFファイルを構文解析することによって、APP1が利用可能な仮想マシンタイプがVT1、VT2、およびVT3であることを知ることができる。その後、APP1が仮想化システムで使用するためのアイドル状態のVT1が存在しているかどうかを決定する。APP1が仮想化システムで使用するためのアイドル状態のVT1が存在している場合には、VT1がAPP1に優先的に割り当てられ、APP1が仮想化システムで使用す
るためのアイドル状態のVT1が存在していない場合には、VT2またはVT3が、VT2およびVT3のリソース占有状態に応じてAPP1に割り当てられる。
【００４６】
実際の適用においては、APP1が複数の仮想マシン上で動作する必要がある場合には、APP1によって使用されることになる仮想マシンの数は、OVFファイルの仮想マシンコレクション(VirtualSystemCollection)機能によって定義されてもよいし、APP1が利用可能な仮想マシンタイプは、仮想マシンと同数のVirtualSystemによって定義されてもよい。VirtualSystemCollectionは、OVFファイルの仮想マシン機能であり、複数の仮想マシンの使用を定義するために使用されるし、VirtualSystemCollectionは、複数のVirtualSystemを含み得る。例えば、APP1が2つの仮想マシンを使用する必要があると仮定する。したがって、APP1が利用可能な仮想マシンタイプは、2つのVirtualSystemを使用することによって、OVFファイルに定義される。加えて、APP1が利用可能な仮想マシン、すなわち、VT1、VT2、およびVT3は、VT1が高優先度を有している、あるVirtualSystemに定義されている。また、APP1が利用可能な仮想マシン、すなわち、VT1、VT2、およびVT3は、VT2が高優先度を有している、他のVirtualSystemに定義されている。このように、仮想化システムがAPP1のOVFファイルを得ると、VT1およびVT2が、APP1に優先的に割り当てられ得る。
【００４７】
実際の適用においては、Priorityパラメータも仮想マシンタイプの優先度を表すためにOVFファイルに設定され得ることを、当業者は理解されよう。Priorityパラメータの値は0以上の整数であり、例えば、その値は0から6の範囲内に存在し得る。Priorityの値が0である場合には、対応する仮想マシンタイプの優先度が最低であることを表し、Priorityの値が6である場合には、対応する仮想マシンタイプの優先度が最高であることを表す。このように、仮想化システムは、Priorityパラメータに従って、APP1が利用可能な仮想マシンタイプの優先度も定義し得るし、優先度に従って、高優先度の仮想マシンタイプに対応する仮想マシンをAPP1に優先的に割り当て得る。
【００４８】
図5は、本発明の実施形態5による、仮想マシンを割り当てるための装置の概略構造図である。図5に示したように、本実施形態によって規定されている装置は、設定情報取得モジュール11と、仮想マシン割り当てモジュール12とを備え得る。
設定情報取得モジュール11は、アプリケーションソフトウェアの設定情報であって、アプリケーションソフトウェアが利用可能な複数の仮想マシンタイプと、仮想マシンタイプの優先度とを含む、設定情報を取得するように構成される。
仮想マシン割り当てモジュール12は、アプリケーションソフトウェアが仮想マシン上で動作することができるように、設定情報内の仮想マシンタイプの優先度に従って、高優先度の仮想マシンタイプに対応する仮想マシンをアプリケーションソフトウェアに優先的に割り当てるように構成される。
【００４９】
本実施形態によって規定されている装置は、仮想化システムに適用され、仮想マシンをアプリケーションソフトウェアに割り当てるために使用され得る。装置の具体的な実施形態については、本発明の前述の方法の実施形態の記載を参照し得るので、その詳細を本明細書では再び記載しない。
【００５０】
図6は、本発明の実施形態6による、仮想マシンを割り当てるための装置の概略構造図である。図5に示した前述の技術的解決手法に基づいて、図6に示したように、前述の仮想マシン割り当てモジュール12は、決定ユニット121と、第1の割り当てユニット122と、第2の割り当てユニット123とを特に備え得る。
決定ユニット121は、設定情報内の高優先度の仮想マシンタイプに対応する仮想マシンを割り当てることができるかどうかを決定するように構成される。
第1の割り当てユニット122は、高優先度の仮想マシンタイプに対応する仮想マシンを割り当てることができる場合には、高優先度の仮想マシンタイプに対応する仮想マシンをアプリケーションソフトウェアに割り当てるように構成される。
第2の割り当てユニット123は、高優先度の仮想マシンタイプに対応する仮想マシンを割り当てることができない場合には、高優先度の仮想マシンタイプより低い優先度を有している少なくとも1つの仮想マシンタイプのうちの仮想マシンを、アプリケーションソフトウェアに高優先度から低優先度の順番で割り当てるように構成される。
【００５１】
本実施形態においては、仮想マシンタイプの優先度は、高優先度と低優先度とを特に含み得る。また、仮想マシンタイプの優先度は、複数の優先度レベルの優先度も含んでいてもよい。
【００５２】
図5に示した前述の実施形態において、設定情報は、複数の設定サブ情報を含んでいてもよいし、各設定サブ情報は、アプリケーションソフトウェアが利用可能な複数の仮想マシンタイプと、仮想マシンタイプの優先度とを含んでいてもよい。前述の仮想マシン割り当てモジュール12は、設定サブ情報内の仮想マシンタイプの優先度に従って、各設定サブ情報内の高優先度の仮想マシンタイプに対応する仮想マシンをアプリケーションソフトウェアに優先的に割り当てるように特に構成され得る。装置は、複数の仮想マシンを必要とするアプリケーションソフトウェアについての仮想マシン割り当てに適用することができる。装置の具体的な実施形態については、本発明の前述の方法の実施形態3または4を参照されたい。
【００５３】
図7は、本発明の実施形態7による、仮想マシン割り当てモジュールの概略構造図である。図7に示したように、本実施形態によって規定されている仮想マシン割り当てモジュールは、プロセッサ10と、メモリ20とを備える。プロセッサ10は、バスを使用することによって、メモリ20に接続され得る。メモリ20は、命令を記憶するように構成され得るし、プロセッサ10は、命令を実行して関連処理を実行するように構成される。特に、プロセッサ10は、メモリ20に記憶されている命令を実行して、アプリケーションソフトウェアの設定情報であって、アプリケーションソフトウェアが利用可能な複数の仮想マシンタイプと、仮想マシンタイプの優先度とを含む、設定情報を取得し得る。プロセッサ10は、アプリケーションソフトウェアが仮想マシン上で動作することができるように、設定情報内の仮想マシンタイプの優先度に従って、高優先度の仮想マシンタイプに対応する仮想マシンをアプリケーションソフトウェアに優先的に割り当てるように構成される。アプリケーションソフトウェアの設定情報は、メモリ20に記憶されていてもよい。仮想マシンタイプの優先度は、高優先度と低優先度とを含む。また、仮想マシンタイプの優先度は、複数の優先度レベルの優先度も含んでいてもよい。
【００５４】
本実施形態においては、プロセッサ10は、設定情報内の高優先度の仮想マシンタイプに対応する仮想マシンを割り当てることができるかどうかを決定して、高優先度の仮想マシンタイプに対応する仮想マシンを割り当てることができる場合には、高優先度の仮想マシンタイプに対応する仮想マシンをアプリケーションソフトウェアに割り当てて、高優先度の仮想マシンタイプに対応する仮想マシンを割り当てることができない場合には、高優先度の仮想マシンタイプより低い優先度を有している少なくとも1つの仮想マシンタイプのうちの仮想マシンを、アプリケーションソフトウェアに高優先度から低優先度の順番で割り当てるように特に構成され得る。
【００５５】
本実施形態においては、前述の設定情報は、複数の設定サブ情報を含んでいてもよいし、各設定サブ情報は、アプリケーションソフトウェアが利用可能な複数の仮想マシンタイプと、仮想マシンタイプの優先度とを含んでいてもよい。前述のプロセッサ10は、設定サブ情報内の仮想マシンタイプの優先度に従って、設定サブ情報内の高優先度の仮想マシンタイプに対応する仮想マシンをアプリケーションソフトウェアに優先的に割り当てるように特に構成され得る。
【００５６】
本実施形態によって規定されている仮想マシン割り当てモジュールにおいては、プロセッサ10は、メモリ20に記憶されている命令を実行することによって、図5または図6に示した前述の機能モジュールの機能を実装し得る。仮想マシン割り当てモジュールの具体的な実施形態については、本発明の前述の方法の実施形態の記載を参照し得るので、その詳細を本明細書では再び記載しない。
【００５７】
前述の実施形態の記載に基づいて、当業者は、本発明がハードウェア、ファームウェア、またはその組合せによって実装され得ることを明確に理解されよう。本発明がソフトウェアによって実装される場合には、前述の機能は、コンピュータ可読媒体に記憶されてもよいし、またはコンピュータ可読媒体に1つまたは複数の命令またはコードとして伝送されてもよい。コンピュータ可読媒体は、コンピュータ記憶媒体と通信媒体とを含み、通信媒体は、コンピュータプログラムをある場所から別の場所へ伝送することを可能とする任意の媒体を含む。記憶媒体は、コンピュータにアクセス可能な任意の利用可能な媒体であり得る。コンピュータ可読媒体は、制約するわけではないが例として、RAM、ROM、EEPROM、CD-ROM、または別の光学ディスクストレージもしくはディスクストレージメディア、または別の磁気ストレージデバイス、または任意の他の媒体であって、命令もしくはデータ構造の形式で指定したプログラムコードを含むもしくは記憶し得る、もしくはコンピュータによってアクセスされ得る、媒体を含み得る。加えて、任意の接続が、コンピュータ可読媒体として適切に定義され得る。例えば、ソフトウェアが、同軸ケーブル、光ファイバ/ケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、電波、およびマイクロ波などの無線技術を使用することによって、ウェブサイト、サーバ、または別のリモートソースから伝送される場合には、同軸ケーブル、光ファイバ/ケーブル、ツイストペア、DSL、または赤外線、電波、およびマイクロ波などの無線技術は、それらが属する媒体のフィクセーション(fixation)に含まれる。例えば、本発明によって使用されるディスク(Disk)およびディスク(disc)は、コンパクトディスクCD、レーザーディスク(登録商標)、光学ディスク、デジタル多用途ディスク(DVD)、フロッピー(登録商標)ディスク、およびブルーレイディスクを含む。ここで、ディスク(Disk)は磁気手段によってデータを一般的に複製し、ディスク(disc)はレーザー手段によって光学的にデータを複製する。前述の組合せも、コンピュータ可読媒体についての保護範囲に含まれるものとする。
【００５８】
本明細書の実施形態は、プログレッシブ形式ですべて記載しており、実施形態において同一または類似の部分については、これらの実施形態を参照し得るので、各実施形態は他の実施形態との差異に焦点をあてていることに留意されたい。特に、装置の実施形態は、方法の実施形態に基本的に類似しており、したがって、各ユニットの特定の機能の実行プロセスについては、方法の実施形態の記載の一部を参照し得るので、簡潔に記載している。記載した装置の実施形態は、例示的なものにすぎない。独立した部分として記載したユニットは、物理的に独立していてもしていなくてもよい。ユニットとして図示された部分は、物理ユニットであってもなくてもよいし、一箇所に位置していてもよいし、複数のネットワークユニットに分散されていてもよい。モジュールの一部またはすべては、実施形態の解決手法の目的を実現するために、実際の要求に応じて選択され得る。当業者は、創造的努力をすることなく、本発明の実施形態を理解および実施し得る。
【００５９】
前述したことは、本発明の技術的解決手法の例示的な実施形態にすぎず、本発明の保護範囲を限定することは意図していない。本発明の精神および原理から逸脱することなくなされる、任意の修正、均等物との置換、または改良は、本発明の保護範囲に含まれるものとする。
【符号の説明】
【００６０】
10  プロセッサ
11  設定情報取得モジュール
12  仮想マシン割り当てモジュール
20  メモリ
121  決定ユニット
122  第1の割り当てユニット
123  第2の割り当てユニット
【図１】
2015537318.tif 000003
【図２】
2015537318.tif 000004
【図３】
2015537318.tif 000005
【図４】
2015537318.tif 000006
【図５】
2015537318.tif 000007
【図６】
2015537318.tif 000008
【図７】
2015537318.tif 000009
【手続補正書】
【提出日】平成27年7月14日(2015.7.14)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
仮想マシンを割り当てるための方法であって、
アプリケーションソフトウェアの設定情報を取得するステップであって、前記設定情報は、前記アプリケーションソフトウェアが利用可能な複数の仮想マシンタイプと、前記仮想マシンタイプの優先度とを含む、ステップと、
前記アプリケーションソフトウェアが前記仮想マシン上で動作することができるように、前記設定情報内の前記仮想マシンタイプの前記優先度に従って、高優先度の仮想マシンタイプに対応する仮想マシンを前記アプリケーションソフトウェアに優先的に割り当てるステップとを含む、方法。
【請求項２】
前記設定情報内の前記仮想マシンタイプの前記優先度に従って、高優先度の仮想マシンタイプに対応する仮想マシンを前記アプリケーションソフトウェアに優先的に割り当てるステップは、
前記設定情報内の前記高優先度の仮想マシンタイプに対応する前記仮想マシンを割り当てることができるかどうかを決定するステップと、
前記高優先度の仮想マシンタイプに対応する前記仮想マシンを割り当てることができる場合には、前記高優先度の仮想マシンタイプに対応する前記仮想マシンを前記アプリケーションソフトウェアに割り当てるステップと、
前記高優先度の仮想マシンタイプに対応する前記仮想マシンを割り当てることができない場合には、前記高優先度の仮想マシンタイプより低い優先度を有している少なくとも1つの仮想マシンタイプのうちの仮想マシンを、前記アプリケーションソフトウェアに高優先度から低優先度の順番で割り当てるステップとを含む、請求項1に記載の方法。
【請求項３】
前記設定情報は、複数の設定サブ情報を特に含み、各設定サブ情報は、前記アプリケーションソフトウェアが利用可能な複数の仮想マシンタイプと、前記仮想マシンタイプの優先度とを含み、
前記設定情報内の前記仮想マシンタイプの前記優先度に従って、高優先度の仮想マシンタイプに対応する仮想マシンを前記アプリケーションソフトウェアに優先的に割り当てるステップは、
前記設定サブ情報内の前記仮想マシンタイプの前記優先度に従って、各設定サブ情報内の高優先度の仮想マシンタイプに対応する仮想マシンを前記アプリケーションソフトウェアに優先的に割り当てるステップを含む、請求項1または2に記載の方法。
【請求項４】
仮想マシンを割り当てるための装置であって、
アプリケーションソフトウェアの設定情報を取得するように構成される設定情報取得モジュールであって、前記設定情報は、前記アプリケーションソフトウェアが利用可能な複数の仮想マシンタイプと、前記仮想マシンタイプの優先度とを含む、設定情報取得モジュールと、
前記アプリケーションソフトウェアが前記仮想マシン上で動作することができるように、前記設定情報内の前記仮想マシンタイプの前記優先度に従って、高優先度の仮想マシンタイプに対応する仮想マシンを前記アプリケーションソフトウェアに優先的に割り当てるように構成される、仮想マシン割り当てモジュールとを備える、装置。
【請求項５】
前記仮想マシン割り当てモジュールは、
前記設定情報内の前記高優先度の仮想マシンタイプに対応する前記仮想マシンを割り当てることができるかどうかを決定するように構成される、決定ユニットと、
前記高優先度の仮想マシンタイプに対応する前記仮想マシンを割り当てることができる場合には、前記高優先度の仮想マシンタイプに対応する前記仮想マシンを前記アプリケーションソフトウェアに割り当てるように構成される、第1の割り当てユニットと、
前記高優先度の仮想マシンタイプに対応する前記仮想マシンを割り当てることができない場合には、前記高優先度の仮想マシンタイプより低い優先度を有している少なくとも1つの仮想マシンタイプのうちの仮想マシンを、前記アプリケーションソフトウェアに高優先度から低優先度の順番で割り当てるように構成される、第2の割り当てユニットとを備える、請求項4に記載の装置。
【請求項６】
前記設定情報は、複数の設定サブ情報を特に含み、各設定サブ情報は、前記アプリケーションソフトウェアが利用可能な複数の仮想マシンタイプと、前記仮想マシンタイプの優先度とを含み、
前記仮想マシン割り当てモジュールは、前記設定サブ情報内の前記仮想マシンタイプの前記優先度に従って、各設定サブ情報内の高優先度の仮想マシンタイプに対応する仮想マシンを前記アプリケーションソフトウェアに優先的に割り当てるように特に構成される、請求項4または5に記載の装置。
【請求項７】
仮想マシンを割り当てるための装置であって、前記装置は、プロセッサと、前記プロセッサに接続されたメモリとを備え、前記プロセッサは、請求項1から3のいずれか一項に記載の方法を実行するように構成される、装置。
【請求項８】
プログラムが記録されているコンピュータ可読記憶媒体であって、前記プログラムは、請求項1から3のいずれか一項に記載の方法をコンピュータに実行させる、コンピュータ可読記憶媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００４
【補正方法】変更
【補正の内容】
【０００４】
現在、仮想化システムに基づいて動作するアプリケーションソフトウェアがデプロイされる前に、アプリケーションソフトウェアが利用可能な仮想マシンタイプが、そのアプリケーションソフトウェアに対して定義されている。このように、アプリケーションソフトウェアを使用する場合には、仮想化システムは、アプリケーションソフトウェアが仮想マシン上で動作することができるように、アプリケーションソフトウェアが利用可能な仮想マシンタイプに従って、アプリケーションソフトウェアの要件を満たす1つの仮想マシンをアプリケーションソフトウェアに割り当てている。仮想マシンをアプリケーションソフトウェアに割り当てる場合には、仮想化システムは、現在のハードウェアリソースの利用状況を考慮して、ランダムに、または同一の規定に従って、1つの仮想マシンをアプリケーションソフトウェアに割り当てている。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００２６
【補正方法】変更
【補正の内容】
【００２６】
本実施形態においては、設定情報内のアプリケーションソフトウェアが利用可能な仮想マシンタイプの優先度は、特に、アプリケーションソフトウェアのプリファレンスに従って、アプリケーションソフトウェアのために設定された利用可能な仮想マシンタイプの優先度を参照する。例えば、CPUに負担をかけるアプリケーションソフトウェアの場合には、アプリケーションソフトウェアは、高いCPU処理性能と比較的小さいメモリ構成およびハードディスク構成を有する仮想マシンタイプを優先的に使用するように設定され得る。すなわち、アプリケーションソフトウェアの設定情報では、高いCPU処理性能と比較的小さいメモリ構成およびハードディスク構成とを有する仮想マシンタイプが高優先度に割り当てられる。アプリケーションソフトウェアがメモリ不足になる場合には、アプリケーションソフトウェアは、大きなメモリ構成と比較的遅いCPU処理性能と比較的小さいハードディスク構成とを有する仮想マシンタイプを優先的に使用するように設定され得る。すなわち、アプリケーションソフトウェアの設定情報では、大きなメモリ構成と比較的遅いCPU処理性能と比較的小さいハードディスク構成とを有する仮想マシンタイプが高優先度に割り当てられる。高優先度の仮想マシンタイプに対応する仮想マシン上で動作するときにアプリケーションソフトウェアはより望ましい性能を提供し得ることを、当業者は理解されよう。
【国際調査報告】
2015537318.tif 000010
2015537318.tif 000011
2015537318.tif 000012
2015537318.tif 000013