(57)【要約】      （修正有）【課題】複数の物理マシン上で複数のユーザの仮想マシンが動作している環境において、他の物理マシンの保有している物理リソースの状況や、他のユーザの仮想マシンに割り当てられている物理リソースの状況も考慮する必要のないシステムおよび管理方法を提供する。【解決手段】仮想ＶＩ（ＶＩ：Ｖｉｒｔｕａｌｉｚａｔｉｏｎ  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ）構成手段１０２が、各ユーザ対応に生成された複数の仮想マシン２０１と、それらが動作する１つの仮想ＶＩ２０４と、該仮想ＶＩ対応の仮想リソース管理テーブル１０４とで構成された仮想の環境を各ユーザの管理者に提示する。【選択図】図６
2015094975.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ対応に生成された仮想マシンと、前記仮想マシンが動作する仮想化手段とを含む物理マシンと、
前記仮想マシンをユーザ毎にグループ化し、グループ化した各該仮想マシンが動作する仮想の仮想化手段を構成する仮想ＶＩ構成手段と、前記仮想の仮想化手段対応で設けられ、グループ化した各前記仮想マシンに割り当てられた第１の物理リソースの値および前記仮想の仮想化手段で使用可能な第２の物理リソースの値を記憶する仮想リソース記憶手段とを含む仮想マシン管理装置と
から構成され、
前記仮想ＶＩ構成手段は、グループ化した各前記仮想マシンと、それらが動作する前記仮想の仮想化手段と、前記仮想リソース記憶手段とを、グループ化した各前記仮想マシンを管理するユーザに提示する手段を備える
ことを特徴とする仮想マシン管理システム。
【請求項２】
前記物理マシンは、
各前記仮想マシンに割り当てられた第１の物理リソースの値と、該物理マシンが保有する物理リソースの値と、仮想マシンに割り当て可能な第３の物理リソースの値とを記憶するリソース記憶手段を含み、
前記仮想ＶＩ構成手段は、
グループ化した各前記仮想マシンが動作する複数の前記物理マシンの前記リソース記憶手段に記憶された、前記第３の物理リソースの値のうちの最小の値を、該グループに対応した仮想の仮想化手段が使用可能な前記第２の物理リソースの値として前記仮想リソース記憶手段に記憶する手段を備える
ことを特徴とする請求項１記載の仮想マシン管理システム。
【請求項３】
前記仮想マシン管理装置は、
仮想マシンの追加要求と、該仮想マシンに割り当てるリソース量情報とを入力する処理と、
前記各物理マシンのリソース記憶手段の前記第３の物理リソースの値が、前記追加する仮想マシンに割り当てるリソース量情報で示される物理リソースの値以上である全ての物理マシンを選択する処理と、
選択した前記物理マシンに前記追加する仮想マシンを追加した場合の各々で、全てのユーザの仮想リソース記憶手段の、前記第２の物理リソースの値の合計を算出する処理と、
前記算出した前記第２の物理リソースの値の合計が最も大きい場合の、該仮想マシンを追加する物理マシンに、該仮想マシンの追加を要求する処理と
を備え、
前記物理マシンは、
前記仮想マシン管理装置の前記追加要求に従い仮想マシンを追加する処理を備える
ことを特徴とする、請求項１乃至２に記載の仮想マシン管理システム。
【請求項４】
前記仮想マシン管理装置が、前記追加する仮想マシンに割り当てるリソース量は、前記仮想リソース記憶手段に記憶された、前記第２の物理リソースの値以下である
ことを特徴とする請求項１乃至３記載の仮想マシン管理システム。
【請求項５】
前記物理マシンは、
前記リソース記憶手段に、追加した仮想マシンに割り当てられた物理リソースの値を記憶する処理と、
該物理マシンが保有する物理リソースの値から前記第１の物理リソースの値を差し引いた値を、新たに前記第３の物理リソースの値として記憶する処理と
を備え、
前記仮想マシン管理装置は、
追加した仮想マシンのユーザ対応に設けられた前記仮想リソース記憶手段に、該仮想マシンに割り当てられた物理リソースの値を記憶する処理と、
該ユーザ毎にグループ化した各前記仮想マシンが動作する複数の前記物理マシンの前記リソース記憶手段に記憶された、前記第３の物理リソースの値のうちの最小の値を、新たに前記第２の物理リソースの値として記憶する処理と
を備える
ことを特徴とする請求項１乃至３記載の仮想マシン管理システム。
【請求項６】
ユーザ対応に生成された仮想マシンが動作する少なくとも１つの物理マシンで、前記物理マシンに設けられたリソース記憶手段に記憶された、仮想マシンに割り当て可能な第１の物理リソースの値のうちの最小の値を選択する第１の選択ステップと、
前記第１の選択ステップで選択した値を、前記ユーザ毎にグループ化した前記仮想マシンが動作する仮想の仮想化手段対応で設けられた仮想リソース記憶手段に第２の物理リソースの値として記憶する第１の記憶ステップと
を含むことを特徴とする仮想マシン管理方法。
【請求項７】
前記各物理マシンの前記第１の物理リソースの値が、追加する仮想マシンに割り当てる物理リソースの値以上である全ての物理マシンを選択する第２の選択ステップと、
前記第２の選択ステップで選択した各物理マシンに、前記追加する仮想マシンを追加した場合の各々で、全てのユーザの前記仮想リソース記憶手段の前記第２の物理リソースの値の合計を算出する算出ステップと、
前記算出ステップで算出した合計が最も大きい場合を選択する第３の選択ステップと
を含むことを特徴とする請求項６記載の仮想マシン管理方法。
【請求項８】
前記追加する仮想マシンに割り当てる物理リソースの値を前記リソース記憶手段に記憶する第２の記憶ステップと、
該物理マシンが保有する物理リソースの値から該物理マシン上で動作している仮想マシンに割り当てられている物理リソースの合計の値を差し引いた値を、新たに前記第１の物理リソースの値として記憶する第３の記憶ステップと、
前記追加する仮想マシンのユーザ対応に設けられた前記仮想リソース記憶手段に、該仮想マシンに割り当てられた物理リソースの値を記憶する第４の記憶ステップと、
該ユーザ毎にグループ化した各前記仮想マシンが動作する複数の前記物理マシンのリソース記憶手段に記憶された、前記第１の物理リソースの値のうちの最小の値を、新たに前記第２の物理リソースの値として前記仮想リソース記憶手段に記憶する第５の記憶ステップと
を含むことを特徴とする請求項６乃至７記載の仮想マシン管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想マシン管理システムおよび仮想マシン管理方法に関し、特に、複数の仮想マシンが動作する仮想の仮想化ソフトウェアを設けるよう構成された仮想マシン管理システムおよび仮想マシン管理方法に関する。
【背景技術】
【０００２】
物理コンピュータ（以下、「物理マシン」と言う。）上で少なくとも一つの仮想的なコンピュータ（以下、「仮想マシン（ＶＭ：Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）」とも言う。）を動作させる仮想化技術が一般的に知られている。
【０００３】
仮想化技術では、物理マシン上で実行される仮想化ソフトウェア（以下、「ＶＩ：Ｖｉｒｔｕａｌｉｚａｔｉｏｎ  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ」とも言う。）が、仮想マシンの動作を制御し、物理マシンが備える物理リソース（例えば、メモリやＣＰＵ（「Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ」の略称）など。）を各仮想マシンに割り当てる。
【０００４】
仮想化技術を利用して複数のユーザが共同で複数の物理マシンを利用するデータセンタやクラウドシステム等においては、一般的に、ある１つの物理マシン上で実行されている仮想化プログラムの上で、複数のユーザの仮想マシンが動作している。
【０００５】
特許文献１には、ユーザ毎に複数の仮想計算機を設定し、各仮想計算機にて使用可能な処理演算能力の上限を設定し、前記処理演算能力の上限の範囲内で、各前記仮想計算機に対して物理計算機の処理演算能力を配分し、有効利用する技術について記載されている。
【０００６】
また、特許文献２には、複数の仮想マシンを複数のサーバ上で稼働させ、各該仮想マシンの所定時間毎のパフォーマンスを示す実測データを取得し、当該データに基づいて求めた仮想マシンの最適配置に従い当該仮想マシンの再配置を行い、複数の仮想マシンを複数のサーバ上で効率良く稼働させることができる技術について記載されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１２−１９８６９８号広報
【特許文献２】特開２００５−１１５６５３号広報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、複数の物理マシン上で複数のユーザの仮想マシンが動作している環境において、ユーザ毎に仮想マシンの管理をするためには、当該ユーザの管理者が、自ユーザの仮想マシンが動作している各物理マシンの保有している物理リソースの使用状況を認識していなくてはならない。また、自ユーザの仮想マシンを追加しようとする場合、他のユーザへの影響を考慮して、追加する仮想マシンの物理マシンへの配置や、該仮想マシンへ割り当てる物理リソース量を決定しなければならないという問題点がある。
【０００９】
特許文献１および特許文献２には、複数の物理マシン上で動作する仮想計算機をグループ化し、当該グループ毎に仮想リソース管理テーブルを設け、該仮想リソース管理テーブルで使用可能な物理リソース量を管理する技術について何ら記載されていない。
【００１０】
本発明の目的は、上述した問題点を解決できる仮想マシン管理システムおよび仮想マシン管理方法を提供することにある。
【課題を解決するための手段】
【００１１】
本発明の仮想マシン管理システムは、
ユーザ対応に生成された仮想マシンと、前記仮想マシンが動作する仮想化手段とを含む物理マシンと、
前記仮想マシンをユーザ毎にグループ化し、グループ化した各該仮想マシンが動作する仮想の仮想化手段を構成する仮想ＶＩ構成手段と、前記仮想の仮想化手段対応で設けられ、グループ化した各前記仮想マシンに割り当てられた第１の物理リソースの値および前記仮想の仮想化手段で使用可能な第２の物理リソースの値を記憶する仮想リソース記憶手段とを含む仮想マシン管理装置と
から構成され、
前記仮想ＶＩ構成手段は、グループ化した各前記仮想マシンと、それらが動作する前記仮想の仮想化手段と、前記仮想リソース記憶手段とを、グループ化した各前記仮想マシンを管理するユーザに提示する手段
を備える。
【００１２】
また、本発明の仮想マシン管理方法は、
ユーザ対応に生成された仮想マシンが動作する少なくとも１つの物理マシンで、前記物理マシンに設けられたリソース記憶手段に記憶された、仮想マシンに割り当て可能な第１の物理リソースの値のうちの最小の値を選択する第１の選択ステップと、
前記第１の選択ステップで選択した値を、前記ユーザ毎にグループ化した前記仮想マシンが動作する仮想の仮想化手段対応で設けられた仮想リソース記憶手段に第２の物理リソースの値として記憶する第１の記憶ステップと
を含む。
【発明の効果】
【００１３】
本発明には、あるユーザの管理者が、各物理マシンが保有する物理リソース量の状況や他のユーザ対応で生成された仮想マシンが使用している物理リソース量の状況等を考慮する必要はなく、自ユーザ対応の仮想マシンのみを管理すればよいという効果がある。
【図面の簡単な説明】
【００１４】
【図１】図１は、本発明の実施形態を示すブロック図である。
【図２】図２は、本発明の実施形態におけるリソース管理テーブル２０３の構成を示す図である。
【図３】図３は、本発明の実施形態における仮想リソース管理テーブル１０４の構成を示す図である。
【図４】図４は、本発明の実施形態における仮想リソース管理テーブル１０４に設定する使用可能なリソース量の値の算出処理の動作を示すフローチャートである。
【図５】図５は、本発明の実施形態における仮想リソース管理テーブル１０４に設定する使用可能なリソース量の値の算出方法を示す模式図である。
【図６】図６は、本発明の実施形態における仮想ＶＩ２０４と仮想リソース管理テーブル１０４との構成を示すブロック図である。
【図７】図７は、本発明の実施形態における仮想マシンの追加処理の動作を示すフローチャートである。
【図８】図８は、本発明の実施形態における、仮想マシンを物理マシン＃１に追加した場合の仮想リソース管理テーブル１０４に設定する値の算出処理の動作を示す模式図である。
【図９】図９は、本発明の実施形態における、仮想マシンを物理マシン＃２に追加した場合の仮想リソース管理テーブル１０４に設定する値の算出処理の動作を示す模式図である。
【図１０】図１０は、本発明の実施形態における、仮想マシンを物理マシン＃３に追加した場合の仮想リソース管理テーブル１０４に設定する値の算出処理の動作を示す模式図である。
【図１１】図１１は、本発明の実施形態における、仮想マシンを物理マシン＃２に追加した場合のブロック図である。
【図１２】図１２は、本発明の実施形態における、仮想マシンを物理マシン＃２に追加した場合の仮想ＶＩ２０４と仮想リソース管理テーブル１０４との構成を示すブロック図である。
【発明を実施するための形態】
【００１５】
次に、本発明の実施形態について図面を参照して詳細に説明する。
【００１６】
図１は本発明の実施形態を示すブロック図である。
【００１７】
図１を参照すると、本実施形態は、仮想マシン管理装置１００と、少なくとも１つの物理マシン２００と、少なくとも一つの端末３００とから構成される。
【００１８】
物理マシン２００は、仮想化ソフトウェア２０２と、該仮想化ソフトウェア２０２上で動作する複数の仮想マシン２０１と、各仮想マシン２０１に割り当てられた各種物理リソースの量と示す値と使用可能な物理リソースの量を示す値とを登録したリソース管理テーブル２０３とを含む。
【００１９】
ここで、物理マシン２００にはそれぞれ識別番号が付与されており、本実施形態では、１番の識別番号が付与された物理マシンの名称を「物理マシン＃１」とし、２番の識別番号が付与された物理マシンの名称を「物理マシン＃２」・・・とする。
【００２０】
また、仮想マシン２０１にはそれぞれを識別する名称が付与されており、本実施形態では、該名称を「ＶＭ１」、「ＶＭ２」・・・とする。さらに、仮想マシン２０１はそれぞれ１つのユーザ対応に生成されており、本実施形態では、該ユーザを識別する名称を、「ユーザＡ」、「ユーザＢ」・・・とする。
【００２１】
仮想マシン管理装置１００は、仮想マシン２０１をどの物理マシン２００上に配置するべきかを判断して配置するＶＭ配置手段１０１と、各仮想マシン２０１をユーザ毎にグループ化し、グループ化した各該仮想マシンが動作する仮想の仮想化ソフトウェア（以下、「仮想ＶＩ」と言う。）を構成する仮想ＶＩ構成手段１０２と、仮想化ソフトウェア２０２に対して行われる操作と上記仮想ＶＩに対して行われる操作とを変換する仮想ＶＩマッピング手段１０３と、仮想マシン２０１に割り当てられた各種物理リソースの量を示す値と上記仮想ＶＩで使用可能なリソースの量を示す値とを登録した仮想リソース管理テーブル１０４とを含む。
【００２２】
端末３００は、ユーザが情報を入力するためのキーボード等の入力手段と、各種の情報を表示するためのディスプレイ等の出力手段とを備える。ここで、端末３００としては、例えば、パーソナルコンピュータ、タブレット型端末またはＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）端末が考えられるが、これらに限定されるものではない。
【００２３】
図２は、各物理マシン２００対応のリソース管理テーブル２０３の構成を示す図である。
【００２４】
図２に示すテーブルにおいて、１行目は項目名を示し、２行目以降が１行目の各項目名で示される項目の内容の一例である。
【００２５】
図２を参照すると、テーブル２０３は、登録内容欄と、物理マシンのＣＰＵリソースの量を示す値が登録されるＣＰＵ欄と、メモリリソースの量を示す値が登録されるメモリ欄と、ディスクリソースの量を示す値が登録されるディスク欄と、該物理マシン上で動作している仮想マシンを識別する名称が登録されるＶＭ名欄と、該仮想マシンがどのユーザ対応のものかを示すためのユーザを識別する名称が登録されるユーザ欄とから構成される。
【００２６】
例えば、物理マシン＃１対応のリソース管理テーブル２０３の２行目を見ると、登録内容欄には、当該行は１つ目の仮想マシンへ割り当てられたリソース量の情報であることを示す「割り当て１」が登録され、ＣＰＵリソースの量が「２」コア、メモリリソースの量が「４」ＧＢ、ディスクリソースの量が「１００」ＧＢであり、該仮想マシンの識別名は「ＶＭ１」、そして、該仮想マシンは「ユーザＡ」対応で生成されたものであることが判る。
【００２７】
該テーブル２０３の３行目を見ると、登録内容欄には、当該行は物理マシン＃１が保有する物理リソースの総量が登録されていることを示す「全体」が登録され、ＣＰＵリソースの量が「１２」コア、メモリリソースの量が「２０」ＧＢ、ディスクリソースの量が「５００」ＧＢであることが判る。
【００２８】
そして、該テーブル２０３の４行目を見ると、登録内容欄には、当該行は仮想マシンに現在割り当て可能な物理リソースの量（すなわち、物理マシン＃１が保有する物理リソースの総量から該物理マシン上で動作している仮想マシンに割り当てられている物理リソースの合計を差し引いた量）が登録されていることを示す「使用可」が登録され、ＣＰＵリソースの量が「１０」コア、メモリリソースの量が「１６」ＧＢ、ディスクリソースの量が「４００」ＧＢであることが判る。
【００２９】
なお、登録内容欄が「割り当て１」である行は、当該行に対応する仮想マシンが生成される際に仮想化ソフトウェア２０２によって登録される。複数の仮想マシンが生成されている場合は複数の行が登録され、当該行の登録内容欄にはそれぞれ「割り当て１」、「割り当て２」・・・が登録される。
【００３０】
登録内容欄が「全体」である行は、当該物理マシンの管理者により初期値として設定される。
【００３１】
登録内容欄が「使用可」である行は、仮想マシンが生成されるたびに仮想化ソフトウェア２０２により値が算出され、設定される。
【００３２】
図３は、上述の仮想ＶＩ対応に設けられた仮想リソース管理テーブル１０４の構成を示す図である。
【００３３】
仮想リソース管理テーブル１０４は、各物理マシン２００上に配置されている少なくとも１つの仮想マシン２０１をユーザ毎にグループ化し、グループ化した各該仮想マシンが動作する仮想ＶＩ対応に仮想マシン管理装置１００に設けられ、グループ化した各該仮想マシンに割り当てられた物理リソース各種の量を示す値と該仮想ＶＩで使用可能なリソース量を示す値とが格納される。
【００３４】
図３に示すテーブルにおいて、１行目は項目名を示し、２行目以降が１行目の各項目名で示される項目の内容の一例である。
【００３５】
図３を参照すると、テーブル１０４は、登録内容欄と、ＣＰＵリソースの量を示す値が登録されるＣＰＵ欄と、メモリリソースの量を示す値が登録されるメモリ欄と、ディスクリソースの量を示す値が登録されるディスク欄と、仮想マシンを識別する名称が登録されるＶＭ名欄と、該仮想マシンがどの物理マシン２００上で動作しているかを示す物理マシンの名称が登録される物理マシン欄とから構成される。
【００３６】
例えば、ユーザＡの仮想ＶＩ（すなわち、ユーザＡ対応の仮想マシンのグループに含まれる仮想マシンが動作する仮想ＶＩ）に対応する仮想リソース管理テーブル１０４の２行目を見ると、登録内容欄には、当該行は１つ目の仮想マシンへ割り当てられた物理リソース量の情報であることを示す「割り当て１」が登録され、ＣＰＵリソースの量が「２」コア、メモリリソースの量が「４」ＧＢ、ディスクリソースの量が「１００」ＧＢであり、該仮想マシンの識別名は「ＶＭ１」、そして、該仮想マシンは「物理マシン＃１」上で動作していることが判る。
【００３７】
該テーブル１０４の５行目を見ると、登録内容欄には、当該仮想ＶＩで現在割り当て可能なリソースの量が登録されていることを示す「使用可」が登録され、ＣＰＵリソースの量が「１０」コア、メモリリソースの量が「１０」ＧＢ、ディスクリソースの量が「４００」ＧＢであることが判る。
【００３８】
なお、テーブル１０４には、当該仮想マシングループに含まれる仮想マシンの数と同じ数の「割り当て」行が登録され、それぞれ登録内容欄には「割り当て１」、「割り当て２」・・・が登録される。
【００３９】
なお、登録内容欄が「割り当て１」、「割り当て２」・・・である行は、当該行に対応する仮想マシンが生成される際に仮想ＶＩ構成手段１０２によって登録される。
【００４０】
登録内容欄が「使用可」である行は、仮想マシンが生成されるたびに仮想ＶＩ構成手段１０２により後述する算出方法に従い値が算出され、設定される。
【００４１】
次に、本実施形態の動作について詳細に説明する。
【００４２】
まず、図４に示すフローチャートを参照して、仮想リソース管理テーブル１０４の登録内容欄が「使用可」である行のＣＰＵ欄、メモリ欄およびディスク欄に設定する値の算出処理の動作について説明する。
【００４３】
図４を参照すると、まず、仮想ＶＩ構成手段１０２は、あるユーザの仮想マシンが動作する複数の物理マシンのリソース管理テーブル２０３を参照し、各該テーブル２０３の登録内容欄が「使用可」である行のＣＰＵ欄に登録されている使用可能なＣＰＵリソース量を示す値のうち、最小の値を、当該ユーザの仮想マシンのグループに対応した仮想ＶＩの使用可能なＣＰＵリソース量を示す値とする（ステップＳ１００）。
【００４４】
次に、メモリ欄およびディスク欄についても上述のステップＳ１００と同様の処理を行う（ステップＳ１０１、１０２）。
【００４５】
そして、全てのユーザについて上述のステップＳ１００乃至ステップＳ１０２の処理を繰り返す（ステップＳ１０３）。
【００４６】
次に、上述の図４のフローチャートを参照して説明した、仮想リソース管理テーブル１０４の登録内容欄が「使用可」である行の各欄の値の設定方法を、図２に示すリソース管理テーブルの構成図と図５に示す模式図とを参照して、具体的に説明する。
【００４７】
図２を参照すると、ユーザＡに対応した仮想マシンの名称（すなわち、ユーザ欄に「ユーザＡ」が登録されている行のＶＭ名欄に登録されている値）は、物理マシン＃１上で動作している「ＶＭ１」と、物理マシン＃２上で動作している「ＶＭ２」および「ＶＭ３」との３つである。
【００４８】
そして、図２から仮想マシン「ＶＭ１」が動作している物理マシン＃１の使用可能なリソース量は、ＣＰＵリソースが「１０」コアであり、メモリリソースが「１６」ＧＢであり、ディスクリソースが「４００」ＧＢであることが判る。
【００４９】
同様に、「ＶＭ２」および「ＶＭ３」が動作している物理マシン＃２の使用可能なリソース量は、ＣＰＵリソースが「２０」コアであり、メモリリソースが「１０」ＧＢであり、ディスクリソースが「６００」ＧＢであることが判る。
【００５０】
従って、図５の模式図を参照すると、仮想マシン「ＶＭ１」が動作している物理マシン＃１の使用可能なＣＰＵリソース量の「１０」コアと、「ＶＭ２」および「ＶＭ３」が動作している物理マシン＃２の使用可能なリソース量の「２０」コアとを比較し、小さい方は物理マシン＃１の「１０」コアであるので、ユーザＡでグループ化した仮想マシンが動作する仮想ＶＩ対応の仮想リソース管理テーブル１０４（仮想リソース管理テーブル＃１）の登録内容欄が「使用可」である行のＣＰＵ欄に設定するＣＰＵリソース量を示す値は「１０」コアとなる。
【００５１】
同様に、メモリ欄に設定するメモリリソース量を示す値は「１０」ＧＢとなり、ディスク欄に設定するディスクリソース量を示す値は「４００」ＧＢとなる。
【００５２】
さらに、ユーザＢについても上述と同様に、ユーザＢでグループ化した仮想マシンが動作する仮想ＶＩ対応の仮想リソース管理テーブル１０４（仮想リソース管理テーブル＃２）の登録内容欄が「使用可」である行のＣＰＵ欄に設定するＣＰＵリソース量を示す値は「３５」コアとなり、メモリ欄に設定するメモリリソース量を示す値は「２４」ＧＢ、ディスク欄に設定するディスクリソース量を示す値は「５００」ＧＢとなる。
【００５３】
図６は、仮想ＶＩ構成手段１０２を通して各ユーザの管理者に示される、仮想ＶＩ２０４と仮想リソース管理テーブル１０４との構成を示すブロック図である。
【００５４】
図６を参照すると、各ユーザの管理者が端末３００から仮想マシン管理装置１００にアクセスすると、仮想ＶＩ構成手段１０２は、各該管理者が担当するユーザ対応に生成された複数の仮想マシン２０１と、それらが動作する１つの仮想ＶＩ２０４と、該仮想ＶＩ対応の仮想リソース管理テーブル１０４とで構成された仮想の環境を当該管理者に提示する。
【００５５】
例えば、ユーザＡの管理者が仮想マシン管理装置１００にアクセスすると、当該管理者には、ユーザＡ対応で生成された仮想マシン（すなわち、「ＶＭ１」、「ＶＭ２」および「ＶＭ３」）と、それらが動作する１つの仮想ＶＩ（すなわち仮想ＶＩ＃１）と、仮想ＶＩ＃１対応の仮想リソース管理テーブル＃１とで構成された環境が提示される。
【００５６】
従って、ユーザＡの管理者は、物理マシンが保有する物理リソース量の状況や他のユーザ対応で生成された仮想マシンが使用している物理リソース量の状況等を考慮する必要はなく、仮想リソース管理テーブル＃１を参照して、ユーザＡ対応の仮想マシンのみを管理すればよい。
【００５７】
次に、図７のフローチャートを参照して、仮想マシン追加処理の動作について説明する。
【００５８】
図７を参照すると、まず、ユーザの管理者は、仮想マシン管理装置１００にアクセスし、自ユーザの仮想リソース管理テーブル１０４の登録内容欄が「使用可」である行のＣＰＵ欄、メモリ欄およびディスク欄を参照し、追加する仮想マシンに割り当てる物理リソースの量を決定する。
【００５９】
このとき、該管理者は上述のＣＰＵ欄、メモリ欄およびディスク欄に格納されている値以下で当該仮想マシンに割り当てる量を自由に設定することができる。その場合、該管理者は、各物理マシンが保有する使用可能な物理リソースの量や他のユーザ対応で生成された仮想マシンが使用している物理リソースの量を考慮する必要はない。
【００６０】
そして、管理者は端末３００から仮想マシンの追加要求と上述の割り当てリソース量の情報とを入力する（ステップＳ２００）。
【００６１】
次に、仮想ＶＩマッピング手段１０３は、入力された仮想マシンの追加要求とリソース情報とを受け取り、該仮想マシンの最適な物理マシンへの追加をＶＭ配置手段１０１に要求する。
【００６２】
要求を受けたＶＭ配置手段１０１は、各物理マシン２００のリソース管理テーブル２０３の登録内容欄が「使用可」である行のＣＰＵ欄、メモリ欄およびディスク欄を参照し、追加する仮想マシンに割り当てるリソース量が確保可能な物理マシン（すなわち、「使用可」である行のＣＰＵ欄、メモリ欄およびディスク欄に格納されている値が、追加する仮想マシンに割り当てる各リソース量を示す値以上である物理マシン）を１つ選択する。そして、選択した物理マシンに該仮想マシンを追加した場合の、仮想リソース管理テーブル１０４の登録内容欄が「使用可」である行の各欄に設定する値の算出を仮想ＶＩ構成手段１０２に要求する。
【００６３】
該要求を受けた仮想ＶＩ構成手段１０２は、前述の図４のフローチャートで示した処理により、全てのユーザの仮想リソース管理テーブル１０４の登録内容欄が「使用可」である行のＣＰＵ欄、メモリ欄およびディスク欄に設定する値を算出する（ステップＳ２０１）。
【００６４】
ＶＭ配置手段１０１は、追加する仮想マシンに割り当てるリソース量が確保可能な物理マシンに該仮想マシンを追加する全ての配置について、上述のステップＳ２０１の算出処理を実施したか否かを判断し（ステップＳ２０２）、まだ実施していない配置がある場合は（ステップＳ２０２で「ＮＯ」の場合）、該物理マシンについて上述のステップＳ２０１の算出処理を実施する。
【００６５】
追加する仮想マシンに割り当てるリソース量が確保可能な物理マシンに該仮想マシンを追加する全ての配置について、上述のステップＳ２０１の算出処理を実施した場合（ステップＳ２０２で「ＹＥＳ」の場合）、ＶＭ配置手段１０１は、それぞれの配置において、全てのユーザの仮想リソース管理テーブル１０４の登録内容欄が「使用可」である行のＣＰＵ欄の合計と、メモリ欄の合計と、ディスク欄の合計とを算出する（ステップＳ２０３）。
【００６６】
次に、ＶＭ配置手段１０１は、上述のステップＳ２０３で算出した全てのユーザの仮想リソース管理テーブル１０４の登録内容欄が「使用可」である行のＣＰＵ欄の合計が、最も大きい値である配置が複数あるか否かを判断する（ステップＳ２０４）。
【００６７】
ＣＰＵ欄の合計が最も大きい値である配置が１つの場合（ステップＳ２０４で「ＮＯ」の場合）、ＶＭ配置手段１０１はその配置を選択し（ステップＳ２０５）、ステップＳ２１１に処理を移す。
【００６８】
ＣＰＵ欄の合計が最も大きい値である配置が複数ある場合（ステップＳ２０４で「ＹＥＳ」の場合）、ＶＭ配置手段１０１は、それらの複数の配置のうち、メモリ欄の合計が最も大きい値である配置が複数あるか否かを判断する（ステップＳ２０６）。
【００６９】
メモリ欄の合計が最も大きい値である配置が１つの場合（ステップＳ２０６で「ＮＯ」の場合）、ＶＭ配置手段１０１はその配置を選択し（ステップＳ２０７）、ステップＳ２１１に処理を移す。
【００７０】
メモリ欄の合計が最も大きい値である配置が複数ある場合（ステップＳ２０６で「ＹＥＳ」の場合）、ＶＭ配置手段１０１は、それらの複数の配置のうち、ディスク欄の合計が最も大きい値である配置が複数あるか否かを判断する（ステップＳ２０８）。
【００７１】
ディスク欄の合計が最も大きい値である配置が１つの場合（ステップＳ２０８で「ＮＯ」の場合）、ＶＭ配置手段１０１はその配置を選択する（ステップＳ２０９）。
【００７２】
ディスク欄の合計が最も大きい値である配置が複数ある場合（ステップＳ２０８で「ＹＥＳ」の場合）、ＶＭ配置手段１０１は、それらの複数の配置のうち、一番若い番号の物理マシンに仮想マシンを追加する配置を選択する（ステップＳ２１０）。
【００７３】
そして、ＶＭ配置手段１０１は選択された配置に従って、仮想マシンを追加する物理マシンの仮想化ソフトウェア２０２に対し、該仮想マシンの追加を要求する。
【００７４】
仮想化ソフトウェア２０２は、該要求に従い仮想マシンを追加するとともに、リソース管理テーブル２０３の登録内容欄が「割り当てｎ」である行を新しく追加する。このとき、「ｎ」は数字であり、既に存在する番号の次の番号を使用する。そして、該仮想マシンに割り当てられたリソース量の値を、上記「割り当てｎ」の行のそれぞれのリソースの欄に登録し、ＶＭ名欄には該仮想マシンの名称を登録し、ユーザ欄には該仮想マシンの対応ユーザを識別する名称を登録する。
【００７５】
さらに、仮想化ソフトウェア２０２は、仮想マシンに割り当て可能な物理リソースの量を示す値（すなわち、登録内容欄が「全体」である行に格納されている値から、「割り当てｎ」である各行に格納されている値を差し引いた値）を算出し、登録内容欄が「使用可」である行のＣＰＵ欄、メモリ欄およびディスク欄を、算出した各値で更新する（ステップＳ２１１）。
【００７６】
なお、仮想化ソフトウェア２０２による仮想マシンの追加処理については、一般的な仮想化技術による処理なので詳細な説明は省略する。
【００７７】
次に、仮想ＶＩ構成手段１０２は、追加した仮想マシンのユーザの仮想リソース管理テーブル１０４に、登録内容欄が「割り当てｎ」である行を新しく追加する。このとき、「ｎ」は数字であり、既に存在する番号の次の番号を使用する。
【００７８】
そして、該仮想マシンに割り当てられたリソース量の値を、上記「割り当てｎ」の行のそれぞれのリソースの欄に登録し、ＶＭ名欄には該仮想マシンの名称を登録し、物理マシン欄には該仮想マシンを追加した物理マシンの名称を登録する。
【００７９】
さらに、上述のステップＳ２０１で算出したリソース量の値で、登録内容欄が「使用可」である行のＣＰＵ欄、メモリ欄およびディスク欄を更新する（ステップＳ２１２）。
【００８０】
ここで、上述の図７のフローチャートを参照して説明した仮想マシンの追加処理を、図１のブロック図と、図２のリソース管理テーブル２０３の構成図と、図３の仮想リソース管理テーブル１０４の構成図と、図８乃至図１０の模式図とを参照して具体的に説明する。
【００８１】
図１のブロック図に示す状態のときに、名称が「ＶＭ６」であるユーザＡの仮想マシンを追加する場合を考える。該仮想マシンに割り当てる物理リソース量は、図３のユーザＡに対応した仮想リソース管理テーブル＃１の、登録内容欄が「使用可」である行のＣＰＵ欄、メモリ欄およびディスク欄に格納されている値以下である、ＣＰＵリソース「１０」コア、メモリリソース「１０」ＧＢおよびディスクリソース「４００」ＧＢとする。
【００８２】
図２を参照すると、ユーザＡに対応した仮想マシンの名称（すなわち、ユーザ欄に「ユーザＡ」が登録されている行のＶＭ名欄に登録されている値）は、物理マシン＃１上で動作している「ＶＭ１」と、物理マシン＃２上で動作している「ＶＭ２」および「ＶＭ３」との３つである。
【００８３】
図２から、仮想マシン「ＶＭ１」が動作している物理マシン＃１の使用可能なリソース量を示す値は、ＣＰＵリソースが「１０」コアであり、メモリリソースが「１６」ＧＢであり、ディスクリソースが「４００」ＧＢであることが判る。
【００８４】
同様に、「ＶＭ２」および「ＶＭ３」が動作している物理マシン＃２の使用可能なリソース量を示す値は、ＣＰＵリソースが「２０」コアであり、メモリリソースが「１０」ＧＢであり、ディスクリソースが「６００」ＧＢであることが判る。
【００８５】
また、ユーザＢに対応した仮想マシンの名称は「ＶＭ４」および「ＶＭ５」であり、当該仮想マシンが動作している物理マシン＃３の使用可能なリソース量を示す値は、ＣＰＵリソースが「３５」コアであり、メモリリソースが「２４」ＧＢであり、ディスクリソースが「５００」ＧＢであることが判る。
【００８６】
この状態のときに、上記のユーザＡの仮想マシン「ＶＭ６」を物理マシン＃１に追加した場合の各仮想リソース管理テーブルに設定する値およびそれらの合計値の算出方法を図８に示す。
【００８７】
「ＶＭ６」を物理マシン＃１に追加した後の該物理マシンの使用可能な物理リソース量は、上述の、図２に示される物理マシン＃１の使用可能なリソース量を示す値から、「ＶＭ６」に割り当てられた各リソースの量を示す値を差し引いた値になる。すなわち、ＣＰＵリソースが「０」コアになり、メモリリソースが「６」ＧＢになり、ディスクリソースが「０」ＧＢになる。
【００８８】
また、物理マシン＃２の使用可能なリソース量を示す値は、前述の通りＣＰＵリソースが「２０」コアであり、メモリリソースが「１０」ＧＢであり、ディスクリソースが「６００」ＧＢである。
【００８９】
図８の模式図を参照すると、ユーザＡの仮想マシンが動作する仮想ＶＩ対応の仮想リソース管理テーブル１０４（仮想リソース管理テーブル＃１）の登録内容欄が「使用可」である行のＣＰＵ欄に設定するＣＰＵリソース量を示す値は、図４のフローチャートを参照して説明したように、ユーザＡの仮想マシン「ＶＭ１」および「ＶＭ６」が動作する物理マシン＃１の使用可能なＣＰＵリソース量を示す値の「０」コアと、「ＶＭ２」および「ＶＭ３」が動作する物理マシン＃２の使用可能なリソース量を示す値の「２０」コアと比較し、小さい方の「０」コアとなる。
【００９０】
同様に、メモリ欄に設定する値は「６」ＧＢとなり、ディスク欄に設定する値は「０」ＧＢとなる。
【００９１】
さらに、ユーザＢについては、仮想リソース管理テーブル＃２の登録内容欄が「使用可」である行の各欄に設定する値は、物理マシン＃３の使用可能なリソース量を示す値と同じである。すなわち、ＣＰＵ欄に設定する値は「３５」コアであり、メモリ欄に設定する値は「２４」ＧＢ、ディスク欄に設定する値は「５００」ＧＢである。
【００９２】
そして、ユーザＡの仮想リソース管理テーブル＃１とユーザＢの仮想リソース管理テーブル＃２との、登録内容欄が「使用可」である行のＣＰＵ欄、メモリ欄およびディスク欄に設定された値の合計は、それぞれ「３５」コア、「３０」ＧＢおよび「５００」ＧＢとなり、これらの合計の値を他の配置の合計の値と比較することになる。
【００９３】
次に、図１乃至図３の状態のときに、上記のユーザＡの仮想マシン「ＶＭ６」を物理マシン＃２に追加した場合の各仮想リソース管理テーブルに設定する値およびそれらの合計値の算出方法を図９に示す。
【００９４】
「ＶＭ６」を物理マシン＃２に追加した後の該物理マシンの使用可能な物理リソース量は、前述の、図２に示される物理マシン＃２の使用可能なリソース量を示す値から、「ＶＭ６」に割り当てられた各リソースの量を示す値を差し引いた値になる。すなわち、ＣＰＵリソースが「１０」コアになり、メモリリソースが「０」ＧＢになり、ディスクリソースが「２００」ＧＢになる。
【００９５】
また、物理マシン＃１の使用可能なリソース量を示す値は、前述のようにＣＰＵリソースが「１０」コアであり、メモリリソースが「１６」ＧＢであり、ディスクリソースが「４００」ＧＢである。
【００９６】
図９の模式図を参照すると、ユーザＡの仮想マシンが動作する仮想ＶＩ対応の仮想リソース管理テーブル１０４（仮想リソース管理テーブル＃１）の登録内容欄が「使用可」である行のＣＰＵ欄に設定するＣＰＵリソース量を示す値は、図４のフローチャートを参照して説明したように、ユーザＡの仮想マシン「ＶＭ１」が動作する物理マシン＃１の使用可能なＣＰＵリソース量の「１０」コアと、「ＶＭ２」、「ＶＭ３」および「ＶＭ６」が動作する物理マシン＃２の使用可能なリソース量の「１０」コアと比較し、どちらも同じ値であるので、「１０」コアとなる。
【００９７】
メモリ欄に設定する値は、同様に比較すると、小さい方である物理マシン＃２の「０」ＧＢとなり、同様に、ディスク欄に設定する値も物理マシン＃２の「２００」ＧＢとなる。
【００９８】
さらに、ユーザＢについては、仮想リソース管理テーブル＃２の登録内容欄が「使用可」である行の各欄に設定する値は、物理マシン＃３の使用可能なリソース量を示す値と同じである。すなわち、ＣＰＵ欄に設定する値は「３５」コアであり、メモリ欄に設定する値は「２４」ＧＢ、ディスク欄に設定する値は「５００」ＧＢである。
【００９９】
そして、ユーザＡの仮想リソース管理テーブル＃１とユーザＢの仮想リソース管理テーブル＃２との、登録内容欄が「使用可」である行のＣＰＵ欄、メモリ欄およびディスク欄に設定された値の合計は、それぞれ「４５」コア、「２４」ＧＢおよび「７００」ＧＢとなり、これらの合計の値を他の配置の合計の値と比較することになる。
【０１００】
次に、図１乃至図３の状態のときに、上記の仮想マシン「ＶＭ６」を物理マシン＃３に追加した場合の各仮想リソース管理テーブルに設定する値およびそれらの合計値の算出方法を図１０に示す。
【０１０１】
「ＶＭ６」を物理マシン＃３に追加した後の該物理マシンの使用可能な物理リソース量は、前述の、図２に示される物理マシン＃３の使用可能なリソース量を示す値から、「ＶＭ６」に割り当てられた各リソースの量を示す値を差し引いた値になる。すなわち、ＣＰＵリソースが「２５」コアになり、メモリリソースが「１４」ＧＢになり、ディスクリソースが「１００」ＧＢになる。
【０１０２】
また、物理マシン＃１の使用可能なリソース量を示す値は、前述のようにＣＰＵリソースが「１０」コアであり、メモリリソースが「１６」ＧＢであり、ディスクリソースが「４００」ＧＢであり、同様に、物理マシン＃２の使用可能なリソース量を示す値は、ＣＰＵリソースが「２０」コアであり、メモリリソースが「１０」ＧＢであり、ディスクリソースが「６００」ＧＢである
図１０の模式図を参照すると、ユーザＡの仮想マシンが動作する仮想ＶＩ対応の仮想リソース管理テーブル１０４（仮想リソース管理テーブル＃１）の登録内容欄が「使用可」である行のＣＰＵ欄に設定するＣＰＵリソース量を示す値は、図４のフローチャートを参照して説明したように、ユーザＡの仮想マシン「ＶＭ１」が動作する物理マシン＃１の使用可能なＣＰＵリソース量の「１０」コアと、「ＶＭ２」および「ＶＭ３」が動作する物理マシン＃２の使用可能なリソース量の「２０」コアと、「ＶＭ６」が動作する物理マシン＃３の使用可能なリソース量の「２５」コアとを比較し、最も小さい値である物理マシン＃１の「１０」コアとなる。
【０１０３】
同様に、メモリ欄に設定する値は「１０」ＧＢとなり、ディスク欄に設定する値は「１００」ＧＢとなる。
【０１０４】
さらに、ユーザＢについては、仮想リソース管理テーブル＃２の登録内容欄が「使用可」である行の各欄に設定する値は、物理マシン＃３の使用可能なリソース量を示す値と同じである。すなわち、ＣＰＵ欄に設定する値は「２５」コアであり、メモリ欄に設定する値は「１４」ＧＢ、ディスク欄に設定する値は「１００」ＧＢである。
【０１０５】
そして、ユーザＡの仮想リソース管理テーブル＃１とユーザＢの仮想リソース管理テーブル＃２との、登録内容欄が「使用可」である行のＣＰＵ欄、メモリ欄およびディスク欄に設定された値の合計は、それぞれ「３５」コア、「２４」ＧＢおよび「２００」ＧＢとなり、これらの合計の値を他の配置の合計の値と比較することになる。
【０１０６】
次に、ここまで図８乃至図１０の模式図を参照して説明した、ユーザＡの仮想マシンである「ＶＭ６」を各物理マシンに追加するそれぞれの配置の、ユーザＡの仮想リソース管理テーブル＃１とユーザＢの仮想リソース管理テーブル＃２との、登録内容欄が「使用可」である行のＣＰＵ欄に設定された値の合計を比較すると、図９を参照して説明した、物理マシン＃２に該仮想マシンを追加する場合が最も大きくなるので、仮想ＶＩ構成手段１０２は、追加する仮想マシン「ＶＭ６」を物理マシン＃２に追加する配置を選択することになる。
【０１０７】
図１１は、ユーザＡ対応で生成された仮想マシンである「ＶＭ６」を物理マシン＃２に追加した後の、物理マシン２００と、仮想マシン管理装置１００と、端末３００との構成を示すブロック図である。
【０１０８】
図１１を参照すると、仮想マシン「ＶＭ６」を物理マシン＃２に追加する前のブロック図である図１との違いは、物理マシン＃２の仮想化ソフトウェア２０２の上で動作する仮想マシンが、「ＶＭ２」および「ＶＭ３」に加え、「ＶＭ６」が追加されている点と、物理マシン＃２の使用可能なリソース量を示す値（すなわち、物理マシン＃２のリソース管理テーブル２０３の登録内容欄が「使用可」である行の各欄に格納されている値）が、ＣＰＵリソースが「１０」コアであり、メモリリソースが「０」ＧＢであり、ディスクリソースが「２００」ＧＢである点である。
【０１０９】
そして、図１２は、ユーザＡ対応で生成された仮想マシンである「ＶＭ６」を物理マシン＃２に追加した後の、仮想ＶＩ２０４と仮想リソース管理テーブル１０４との構成を示すブロック図である。
【０１１０】
図１２を参照すると、仮想マシン「ＶＭ６」を物理マシン＃２に追加する前のブロック図である図６との違いは、ユーザＡ対応の仮想ＶＩ＃１の上で動作する仮想マシンが、「ＶＭ１」、「ＶＭ２」および「ＶＭ３」に加え、「ＶＭ６」が追加されている点と、仮想ＶＩ＃１の使用可能なリソース量を示す値（すなわち、仮想リソース管理テーブル２０５の登録内容欄が「使用可」である行の各欄に格納されている値）が、ＣＰＵリソースが「１０」コアであり、メモリリソースが「０」ＧＢであり、ディスクリソースが「２００」ＧＢである点である。
【０１１１】
なお、本実施形態では、新しい仮想マシンを追加するときに、追加後の各仮想リソース管理テーブル１０４の使用可能なＣＰＵリソース量の値の合計が最大になるかという判断と、メモリリソース量の値の合計が最大になるかという判断と、ディスクリソース量の値の合計が最大になるかという判断とを順番に行い、当該仮想マシンの配置先の物理マシンを選択している（すなわち、図７のフローチャートのステップＳ２０４乃至Ｓ２０８）が、これらの判断の条件を、さまざまに変更可能な「ＶＭ配置ポリシ」として別途設定し、ＶＭ配置手段１０１が該「ＶＭ配置ポリシ」を参照して、仮想マシンを追加する物理マシンを選択するようにしてもよい。
【０１１２】
以上、説明したように、本実施形態では、あるユーザの管理者が、各物理マシン２００が保有する物理リソース量の状況や他のユーザ対応で生成された仮想マシン２０１が使用している物理リソース量の状況等を考慮する必要はなく、自ユーザ対応に設けられた仮想リソース管理テーブル１０４を参照して、自ユーザ対応の仮想マシン２０１のみを管理すればよいという効果がある。
【０１１３】
その理由は、仮想ＶＩ構成手段１０２が、各ユーザ対応に生成された複数の仮想マシン２０１と、それらが動作する１つの仮想ＶＩ２０４と、該仮想ＶＩ対応の仮想リソース管理テーブル１０４とで構成された仮想の環境を各ユーザの管理者に提示するからである。
【符号の説明】
【０１１４】
１００    仮想マシン管理装置
１０１    ＶＭ配置手段
１０２    仮想ＶＩ構成手段
１０３    仮想ＶＩマッピング手段
１０４    仮想リソース管理テーブル
２００    物理マシン
２０１    仮想マシン
２０２    仮想化ソフトウェア
２０３    リソース管理テーブル
３００    端末
【図１】
2015094975.tif 000003
【図２】
2015094975.tif 000004
【図３】
2015094975.tif 000005
【図４】
2015094975.tif 000006
【図５】
2015094975.tif 000007
【図６】
2015094975.tif 000008
【図７】
2015094975.tif 000009
【図８】
2015094975.tif 000010
【図９】
2015094975.tif 000011
【図１０】
2015094975.tif 000012
【図１１】
2015094975.tif 000013
【図１２】
2015094975.tif 000014