(57)【特許請求の範囲】
【請求項１】
複数の物理サーバと、
仮想マシンの種別を入力するための端末と、
ネットワークを介して前記複数の物理サーバ及び前記端末と接続され、ポジション情報データベースを備えて前記複数の物理サーバに仮想マシンを配置する仮想マシン制御サーバと、
を有し、
前記ポジション情報データベースは、仮想マシンの種別ごとに、当該仮想マシンの種別に対応して設定される、前記物理サーバと当該物理サーバ上での仮想ＣＰＵコアの物理ＣＰＵコアへの割当との組み合わせが区画として登録され、
前記仮想マシンの種別は、処理能力に関する物理特性と、該当する物理サーバの物理配置に関する物理特性と、他資源との共有状態に関する物理特性と、の組み合わせを示すものであり、
前記端末に仮想マシンの種別が入力された場合に、前記仮想マシン制御サーバは、前記入力された仮想マシンの種別を前記ネットワークを介して受け取り、受け取った仮想マシンの種別に応じて前記ポジション情報データベースを検索して候補となる区画を抽出し、抽出した区画に基づいて、前記物理サーバに、前記入力された仮想マシンの種別に対応する仮想マシンを配置する、仮想マシン制御システム。
【請求項２】
請求項１に記載の仮想マシン制御システムにおいて、
前記仮想マシン制御サーバは、前記端末に入力された仮想マシンの種別に対応する区画が前記ポジション情報データベースにおいて複数登録されて複数の物理サーバに対応する場合、当該複数の物理サーバのうち仮想マシンが最も多く配置されている物理サーバ上に、前記入力された仮想マシンの種別に対応する仮想マシンを配置する、仮想マシン制御システム。
【請求項３】
ネットワークを介して複数の物理サーバ及び端末に接続され、ポジション情報データベースを備えて前記複数の物理サーバに仮想マシンを配置する仮想マシン制御装置であって、
仮想マシンの種別ごとに、当該仮想マシンの種別に対応して設定される、前記物理サーバと当該物理サーバ上での仮想ＣＰＵコアの物理ＣＰＵコアへの割当との組み合わせを区画として前記ポジション情報データベースに登録するポジション登録手段と、
前記ネットワークを介して前記端末から前記仮想マシンの種別が指定された場合、指定された仮想マシンの種別に応じて前記ポジション情報データベースを検索して候補となる区画を抽出し、抽出した区画に基づいて、前記物理サーバに、前記指定された仮想マシンの種別に対応する仮想マシンを配置する仮想マシン作成手段と、
を有し、
前記仮想マシンの種別は、処理能力に関する物理特性と、該当する物理サーバの物理配置に関する物理特性と、他資源との共有状態に関する物理特性と、の組み合わせを示すものである、仮想マシン制御装置。
【請求項４】
請求項３に記載の仮想マシン制御装置において、
前記仮想マシン作成手段は、前記ポジション情報データベースにおいて前記指定された仮想マシンの種別に対応する区画が複数登録されて複数の物理サーバに対応する場合、当該複数の物理サーバのうち仮想マシンが最も多く配置されている物理サーバ上に、前記指定された仮想マシンの種別に対応する仮想マシンを配置する仮想マシン制御装置。
【請求項５】
ネットワークを介して複数の物理サーバ及び端末に接続され、ポジション情報データベースを備えて前記複数の物理サーバに仮想マシンを配置する仮想マシン制御装置における仮想マシン制御方法であって、
ポジション登録手段が、仮想マシンの種別ごとに、当該仮想マシンの種別に対応して設定される、前記物理サーバと当該物理サーバ上での仮想ＣＰＵコアの物理ＣＰＵコアへの割当との組み合わせを区画として前記ポジション情報データベースに登録するポジション登録処理と、
前記ネットワークを介して前記端末から前記仮想マシンの種別が指定された場合に、仮想マシン作成手段が、指定された仮想マシンの種別に応じて前記ポジション情報データベースを検索して候補となる区画を抽出し、抽出した区画に基づいて、前記物理サーバに、前記指定された仮想マシンの種別に対応する仮想マシンを配置する仮想マシン作成処理と、
を有し、
前記仮想マシンの種別は、処理能力に関する物理特性と、該当する物理サーバの物理配置に関する物理特性と、他資源との共有状態に関する物理特性と、の組み合わせを示すものである、仮想マシン制御方法。
【請求項６】
請求項５に記載の仮想マシン制御方法において、
前記仮想マシン作成処理は、前記ポジション情報データベースにおいて前記指定された仮想マシンの種別に対応する区画が複数設定されて複数の物理サーバに対応する場合、当該複数の物理サーバのうち仮想マシンが最も多く配置されている物理サーバ上に、前記指定された仮想マシンの種別に対応する仮想マシンを配置する仮想マシン制御方法。
【請求項７】
ネットワークを介して複数の物理サーバ及び端末に接続され、ポジション情報データベースを備えて前記複数の物理サーバに仮想マシンを配置する仮想マシン制御装置として機能するコンピュータに、
仮想マシンの種別ごとに、当該仮想マシンの種別に対応して設定される、前記物理サーバと当該物理サーバ上での仮想ＣＰＵコアの物理ＣＰＵコアへの割当との組み合わせを区画として前記ポジション情報データベースに登録するポジション登録手順と、
前記ネットワークを介して前記端末から前記仮想マシンの種別が指定された場合、指定された仮想マシンの種別に応じて前記ポジション情報データベースを検索して候補となる区画を抽出し、抽出した区画に基づいて、前記物理サーバに、前記指定された仮想マシンの種別に対応する仮想マシンを配置する仮想マシン作成手順と、
を実行させ、
前記仮想マシンの種別は、処理能力に関する物理特性と、該当する物理サーバの物理配置に関する物理特性と、他資源との共有状態に関する物理特性と、の組み合わせを示すものである、プログラム。
【請求項８】
請求項７に記載のプログラムにおいて、
前記仮想マシン作成手順は、前記ポジション情報データベースにおいて前記指定された仮想マシンの種別に対応する区画が複数登録されて複数の物理サーバに対応する場合、当該複数の物理サーバのうち仮想マシンが最も多く配置されている物理サーバ上に、前記指定された仮想マシンの種別に対応する仮想マシンを配置するプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の物理サーバに仮想マシンを配置する仮想マシン制御システム、仮想マシン制御装置、仮想マシン制御方法及びプログラムに関する。
【背景技術】
【０００２】
従来より、ハイパーバイザと呼ばれるソフトウェアで、一台の物理サーバ上に複数の仮想的な計算機となる仮想マシンを実現する技術が知られている。この仮想マシンは、それぞれが独立にオペレーティングシステムを動作させることができる。複数の仮想マシンが動作する物理サーバである仮想マシンサーバは、ワークステーションやパーソナルコンピュータ等のコンピュータである。また、仮想マシンサーバがネットワークを介して複数台接続された環境においては、仮想マシンサーバ上に実現された仮想マシンもネットワークを介して通信することができる。
【０００３】
このような仮想マシンサーバが複数台接続された環境において、仮想マシンを生成する場合にその仮想マシンを配置する場所を選択、決定する方法がいくつか知られている。
【０００４】
例えば、特許文献１には、仮想マシン配置決定手段が、仮想マシンの起動要求時に利用者が指定する仮想マシン種別、ＣＰＵ種別、割当ＣＰＵ使用率及び割当メモリ使用量を用いて、予め登録された物理サーバの中から、利用者が指定したＣＰＵ種別が合致し、ＣＰＵ使用率とメモリ使用量が空いている物理サーバを取り出し、それらの中から仮想マシン種別の組合せ毎にその組合せの仮想マシン種別どうしが同じ物理サーバに配置される適切度を示すスコアを記憶する配置規則表を用いて、最適な物理サーバを選択する技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】国際公開第２００７／１３６０２１号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
通常、仮想マシンの用途によって処理能力に対する要件は異なる。一定時間内に応答することが要求されるアプリケーションを動作させる場合やアプリケーションの性能を測定する場合は、他の仮想マシンの負荷による予期できない計算機の処理能力のゆらぎが問題となる。一方で、標準的なアプリケーションを動作させる場合は、計算機の処理能力の多少のゆらぎは問題とならず、得られる処理能力の期待値が大きいことが望まれる。
【０００７】
仮想マシンのＣＰＵコア数とメモリサイズが一定であっても、その仮想マシンに割り当てられた物理サーバの専有状態によって仮想マシンが得る処理能力の期待値は異なる。専有状態には、仮想マシンが物理サーバを専有している状態、仮想マシンが物理サーバのＣＰＵコア等の一部のリソースを専有している状態、仮想マシンが物理サーバの特定のリソースを専有せずに他の仮想マシンと共有する状態がある。
【０００８】
物理サーバを専有している状態では、割り当てられた物理サーバが持つＣＰＵコアの計算処理能力とメモリ等の入出力処理能力が得られ、他の仮想マシンの負荷によって処理能力がゆらぐ恐れもない。しかし、リソースを他の仮想マシンと共有しないため、利用効率は低いままとなる。
【０００９】
また、物理サーバの特定のＣＰＵコアのみを専有している状態では、割り当てられたＣＰＵコアの計算処理能力は得られるが、メモリ等の入出力処理能力が他の仮想マシンにも利用されるため、仮想マシンが得る処理能力がゆらぐ可能性があり、処理の内容によっては大きな影響を与える可能性がある。
【００１０】
また、物理サーバのリソースを専有せずに他の仮想マシンと共有する状態では、ＣＰＵコアの計算処理能力とメモリの入出力処理能力が他の仮想マシンにも利用されるため、物理サーバのリソースの利用効率は高くなるが、仮想マシンが得る処理能力が大きくゆらぐ可能性がある。
【００１１】
上述した特許文献１に開示された技術においては、ＣＰＵ種別、割当ＣＰＵ使用率及び割当メモリ使用量といった仮想マシンの要求仕様を基準として、仮想マシンサーバの選択と、仮想マシン種別を用いた他の仮想マシンの影響を加味した仮想マシンサーバの順位づけを行うことができるが、専有状態といった仮想マシンサーバの物理的な属性を用いた仮想マシンの配置制御を実現することができないという問題点がある。
【００１２】
本発明は、上述したような従来の技術が有する問題点に鑑みてなされたものであって、利用者が要求する仮想マシンの水準と仮想マシンサーバの物理的な属性に応じて仮想マシンを配置することができる、仮想マシン制御システム、仮想マシン制御装置、仮想マシン制御方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記目的を達成するために本発明は、
複数の物理サーバと、
仮想マシンの種別を入力するための端末と、
仮想マシンの種別と前記物理サーバと当該物理サーバ上の物理的な属性要素とに対応づけた区画を設定しておき、前記端末に仮想マシンの種別が入力された場合、前記物理サーバの当該仮想マシンの種別に設定された区画に当該仮想マシンを配置する仮想マシン制御サーバとを有する。
【００１４】
また、複数の物理サーバに仮想マシンを配置する仮想マシン制御装置であって、
仮想マシンの種別と前記物理サーバと当該物理サーバ上の物理的な属性要素とに対応づけた区画を設定しておくポジション登録手段と、
前記仮想マシンの種別が指定された場合、前記ポジション登録手段にて当該仮想マシンの種別に設定された区画に当該仮想マシンを配置する仮想マシン作成手段とを有する。
【００１５】
また、複数の物理サーバに仮想マシンを配置する仮想マシン制御方法であって、
仮想マシンの種別と前記物理サーバと当該物理サーバ上の物理的な属性要素とに対応づけた区画を設定しておくポジション登録処理と、
前記仮想マシンの種別が指定された場合、前記ポジション登録処理にて当該仮想マシンの種別に設定された区画に当該仮想マシンを配置する仮想マシン作成処理とを有する。
【００１６】
また、複数の物理サーバに仮想マシンを配置する仮想マシン制御装置に実行させるためのプログラムであって、
仮想マシンの種別と前記物理サーバと当該物理サーバ上の物理的な属性要素とに対応づけた区画を設定しておくポジション登録手順と、
前記仮想マシンの種別が指定された場合、前記ポジション登録手順にて当該仮想マシンの種別に設定された区画に当該仮想マシンを配置する仮想マシン作成手順とを有する。
【発明の効果】
【００１７】
以上説明したように本発明においては、複数の物理サーバに仮想マシンを配置する場合に、仮想マシンの種別と物理サーバと物理サーバ上の物理的な属性要素とに対応づけた区画を設定しておき、仮想マシンの種別が指定された場合、その仮想マシンの種別に設定された区画にその仮想マシンを配置する構成としたため、物理サーバの専有状態によって仮想マシンを区別しながらも複数の物理サーバから構成されるシステムを統一的に管理し、自動で仮想マシンの配置を決定することができる。それにより、仮想マシンの利用者の処理能力に対する様々な要求水準を考慮して仮想マシンを配置することができる。また、物理サーバやその物理ＣＰＵコアの専有状態が異なることで、処理性能のみならずセキュリティの安全性が異なり、仮想マシンの利用者のセキュリティに対する要求水準を考慮して仮想マシンを配置することができる。また、物理サーバの専有状態のみならず、物理サーバの物理的な属性を考慮して仮想マシンを配置することができる。例えば、物理サーバが収容されているラックや電源系統で物理サーバを区別し、それぞれに異なったマシン種別を対応づけることで、複数の仮想マシンから構成されるシステムの冗長化による高信頼化を実現できる。また、物理サーバの構成部品の仕様の差異といった物理的な属性によって物理サーバを区別し、それぞれに異なったマシン種別を対応づけることで、詳細な要求水準を考慮して仮想マシンを配置することができる。さらには、仮想マシンの配置を自動で行うことで、手動で行うことに比べ、運用にかかる稼働を削減することができ、仮想マシンを利用可能な状態とするまでにかかる時間を短縮することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の仮想マシン制御システムの実施の一形態を示す図であり、（ａ）は全体の構成を示す図、（ｂ）は（ａ）に示した仮想マシン制御サーバの構成を示す図である。
【図２】図１に示したマシン種別データベースに登録されたマシン種別情報の例を示す図である。
【図３】図１に示したサーバ情報データベースに登録されたマシン情報の例を示す図である。
【図４】図１に示したポジション情報データベースに登録されたポジション情報の例を示す図である。
【図５】図１に示した仮想マシン情報データベースに登録された仮想マシン情報の例を示す図である。
【図６】図１〜図５に示した仮想マシン制御システムにて仮想マシンを配置する仮想マシン制御方法を説明するためのフローチャートである。
【発明を実施するための形態】
【００１９】
以下に、本発明の実施の形態について図面を参照して説明する。
【００２０】
図１は、本発明の仮想マシン制御システムの実施の一形態を示す図であり、（ａ）は全体の構成を示す図、（ｂ）は（ａ）に示した仮想マシン制御サーバ２０の構成を示す図である。
【００２１】
本形態は図１に示すように、複数の仮想マシンサーバ３０ａ〜３０ｄと、操作用端末１０と、仮想マシン制御サーバ２０とがコンピュータネットワーク４０を介して接続されて構成されており、仮想マシンを借り受ける利用者と、仮想マシンを貸し出す提供者がおり、事前に提供者が登録した仮想マシンサーバ３０ａ〜３０ｄを管理し、利用者の要求に応じて要求の水準にあった仮想マシンサーバを選択し、仮想マシンが提供できるように仮想マシンサーバと仮想マシンを制御するシステムである。
【００２２】
仮想マシンサーバ３０ａ〜３０ｄは、仮想マシンの実体が動作する物理サーバである。仮想マシンサーバ３０ａ〜３０ｄ上でハイパーバイザが動作し、ハイパーバイザが仮想マシンを制御する。
【００２３】
仮想マシン制御サーバ２０は、操作用端末１０に入力指示された要求を受け付け、仮想マシンサーバ３０ａ〜３０ｄの中から仮想マシンを配置する仮想マシンサーバを選択し、その仮想マシンサーバに対して、仮想マシンを操作するための制御信号・データを送出する制御プログラムが動作する計算機である。仮想マシン制御サーバ２０は、マシン種別登録・削除部２１と、仮想マシンサーバ登録・削除部２２と、ポジション登録・削除部２３と、仮想マシン作成・削除部２４とを有しており、これらは、仮想マシン制御サーバ２０上の制御プログラムで機能する。
【００２４】
マシン種別登録・削除部２１は、入力として、マシン種別識別子、仮想ＣＰＵコア数及び仮想メモリサイズを受け付け、入力情報をマシン種別情報としてマシン種別データベース２１ａに登録する。また、マシン種別登録・削除部２１は、入力としてマシン種別識別子を受け付け、そのマシン種別識別子が、ポジション情報データベース２３ａに登録されたポジション情報に含まれていないことを確認し、マシン種別データベース２１ａから該当するレコードを削除する。
【００２５】
図２は、図１に示したマシン種別データベース２１ａに登録されたマシン種別情報の例を示す図である。
【００２６】
図２に示すように、マシン種別データベース２１ａには、マシンの種別毎に仮想ＣＰＵコア数と仮想メモリサイズとがマシン種別識別子に対応づけて登録されており、マシン種別が指定された仮想マシンが具備する仮想ＣＰＵコア数と仮想メモリサイズとが定められる。これにより、仮想ＣＰＵコア数と仮想メモリサイズは、生成される仮想マシンに具備され、ゲストＯＳに認識されるＣＰＵコアの数とメモリサイズを規定する。本例においては、３つのマシン種別が登録されており、マシン種別識別子がShared_LargeとPrivate_Largeとは、同じ仮想ＣＰＵコア数と仮想メモリサイズであるが、専有状態が異なる２つの要求水準を区別するものとして登録されている。
【００２７】
仮想マシンサーバ登録・削除部２２は、入力として、仮想マシンサーバ識別子と制御用ネットワークアドレスを受け付け、入力情報を仮想マシンサーバ情報としてサーバ情報データベース２２ａに登録する。また、仮想マシンサーバ登録・削除部２２は、入力として仮想マシンサーバ識別子を受け付け、その仮想マシンサーバ識別子が、ポジション情報データベース２３ａに登録されたポジション情報に含まれていないことを確認し、サーバ情報データベース２２ａから該当するレコードを削除する。
【００２８】
図３は、図１に示したサーバ情報データベース２２ａに登録されたマシン情報の例を示す図である。
【００２９】
図３に示すように、サーバ情報データベース２２ａには、仮想マシンサーバ３０ａ〜３０ｄのそれぞれについて、仮想マシン制御サーバ２０から仮想マシンサーバ３０ａ〜３０ｄにデータと制御信号を送出するために用いる制御用ネットワークアドレスが仮想マシンサーバ識別子に対応づけて登録されている。
【００３０】
ポジション登録・削除部２３は、入力として、ポジション識別子、マシン種別識別子、仮想マシンサーバ識別子、並びに仮想ＣＰＵコアと物理ＣＰＵコアの割当を受け付け、そのマシン種別識別子と仮想マシンサーバ識別子がそれぞれ、マシン情報データベース２１ａに登録されたマシン種別情報と、サーバ情報データベース２２ａに登録された仮想マシンサーバ情報に含まれていることを確認し、入力情報をポジション情報としてポジション情報データベース２３ａに登録する。また、ポジション登録・削除部２３は、入力として、ポジション識別子を受け付け、そのポジション識別子が、仮想マシン情報データベース２４ａに登録された仮想マシン情報に含まれていないことを確認し、ポジション情報データベース２３ａから該当するレコードを削除する。
【００３１】
図４は、図１に示したポジション情報データベース２３ａに登録されたポジション情報の例を示す図である。
【００３２】
図４に示すように、ポジション情報データベース２３ａには、ポジション識別子と、マシン種別識別子と、仮想マシンサーバ識別子と、仮想ＣＰＵコアと物理ＣＰＵコアの割当とが対応づけて登録されており、ポジションに配置される仮想マシンに適用すべきマシン種別、仮想マシンサーバ、並びに、仮想マシンサーバ３０ａ〜３０ｄ上の物理的な属性要素となる仮想ＣＰＵコアと物理ＣＰＵコアの割当を定めている。すなわち、仮想マシンの種別と仮想マシンサーバ３０ａ〜３０ｄと仮想マシンサーバ３０ａ〜３０ｄ上の物理的な属性要素とに対応づけた区画となるポジションが設定されている。なお、ポジション情報に含まれる仮想ＣＰＵコアと物理ＣＰＵコアの割当は、ハイパーバイザが仮想マシンのＣＰＵコアに割り当てる仮想マシンサーバのＣＰＵコアを規定する。また、図４においては、便宜的に、仮想ＣＰＵと物理ＣＰＵの番号の対応関係を区切り文字「＝」で連結して表し、それを区切り文字「，」で繰り返した文字列で示すものとする。本例においては、８つのポジションが登録されており、この状態ではマシン種別がSmallである仮想マシンを４台、Shared_Largeである仮想マシンを２台、Private_Largeである仮想マシンを２台まで提供可能である。マシン種別としてSmallとShared_Largeが指定された場合は、仮想マシンサーバVM_Server_1かVM_Server_2が用いられ、マシン種別としてPrivate_Largeが指定された場合は、仮想マシンサーバVM_Server_3かVM_Server_4が用いられる。Private_Largeの仮想マシンは仮想マシンサーバを専有する。また、マシン種別がSmallである仮想マシンの仮想ＣＰＵコアは、仮想マシンサーバの物理ＣＰＵコア０番と１番に割り当てられる。これらの物理ＣＰＵコアは他の仮想マシンにも割り当てられるため、Smallの仮想マシンは仮想マシンサーバの特定の物理ＣＰＵコアを共有する。マシン種別がShared_Largeである仮想マシンの仮想ＣＰＵコアは、物理ＣＰＵコア２番から５番までに割り当てられる。これらの物理ＣＰＵコアは他の仮想マシンには割り当てられないため、Shared_Largeの仮想マシンは仮想マシンサーバの特定の物理ＣＰＵコアを専有する。一方で、SmallとShared_Largeの仮想マシンは同じ仮想マシンサーバに配置されるため、メモリ等の入出力処理能力を共有する。このように、仮想マシンサーバの専有状態が異なる仮想マシンの要求水準を表すマシン種別を設定することが可能であり、仮想マシンの専有状態によって仮想マシンを区別しながらも複数の仮想マシンサーバから構成されるシステムを統一的に管理し、自動で仮想マシンの配置を決定することが可能となる。
【００３３】
仮想マシン作成・削除部２４は、仮想マシンの種別が指定された場合、ポジション登録・削除部２３にてその仮想マシンの種別に設定されてポジション情報データベース２３ａに登録されたポジションにその仮想マシンを配置する処理を行い、仮想マシン情報として仮想マシン情報データベース２４ａに登録する。
【００３４】
図５は、図１に示した仮想マシン情報データベース２４ａに登録された仮想マシン情報の例を示す図である。
【００３５】
図５に示すように、仮想マシン情報データベース２４ａには、仮想マシン識別子と、ポジション識別子とが対応づけて登録されており、これにより、仮想マシンが配置されているポジションが示される。
【００３６】
このように、仮想マシン制御サーバ２０は、仮想マシン制御システム全体の状態を示す情報が登録された、マシン情報データベース２１ａ、サーバ情報データベース２２ａ、ポジション情報データベース２３ａ及び仮想マシン情報データベース２４ａを有しており、仮想マシンの初期状態を規定するデータである仮想マシンイメージを保持している。
【００３７】
操作用端末１０は、利用者が要求を入力するためのものであって、入力された要求に応じた信号を仮想マシン制御サーバ２０に対して送る計算機である。
【００３８】
コンピュータネットワーク４０は、操作用端末１０と仮想マシンサーバ２０と仮想マシン制御サーバ３０ａ〜３０ｄを通信可能とする通信網である。
【００３９】
以下に、上記のように構成された仮想マシン制御システムにて仮想マシンを配置する仮想マシン制御方法について説明する。
【００４０】
図６は、図１〜図５に示した仮想マシン制御システムにて仮想マシンを配置する仮想マシン制御方法を説明するためのフローチャートである。
【００４１】
まず、操作用端末１０からの入力によって、仮想マシン制御サーバ２０は、上述したマシン情報データベース２１ａ、サーバ情報データベース２２ａ、ポジション情報データベース２３ａにそれぞれの情報を登録、設定しておく。マシン種別登録・削除部２１は、マシン種別識別子、仮想ＣＰＵコア数及び仮想メモリサイズを受け付け、これらの入力情報をマシン種別情報としてマシン種別データベース２１ａに登録する。仮想マシンサーバ登録・削除部２２は、仮想マシンサーバ識別子と制御用ネットワークアドレスを受け付け、これらの入力情報を仮想マシンサーバ情報としてサーバ情報データベース２２ａに登録する。ポジション登録・削除部２３は、ポジション識別子、マシン種別識別子、仮想マシンサーバ識別子、並びに、仮想マシンサーバ３０ａ〜３０ｄ上の物理的な属性要素となる仮想ＣＰＵコアと物理ＣＰＵコアの割当を受け付け、仮想マシンの種別と仮想マシンサーバ３０ａ〜３０ｄと仮想マシンサーバ３０ａ〜３０ｄ上における仮想ＣＰＵコアと物理ＣＰＵコアの割当とに対応づけた区画となるポジションを設定し、これらの入力情報をポジション情報としてポジション情報データベース２３ａに登録する。
【００４２】
このようにして、マシン情報データベース２１ａ、サーバ情報データベース２２ａ、ポジション情報データベース２３ａに情報が登録された後、仮想マシンの種別を示すマシン種別識別子と仮想マシン識別子が操作用端末１０に入力されることによって指定されると、これらの情報が仮想マシン制御サーバ２０に送られる。
【００４３】
そして、仮想マシン制御サーバ２０が、これら仮想マシン識別子とマシン種別識別子を受け付けると（ステップ１）、まず、仮想マシン作成・削除部２４が、受け付けたマシン種別識別子が、マシン情報データベース２１ａに登録されたマシン種別情報に含まれていることを確認する（ステップ２）。
【００４４】
受け付けたマシン種別識別子が、マシン情報データベース２１ａに登録されたマシン種別情報に含まれている場合は、仮想マシン作成・削除部２４は、受け付けたマシン種別の仮想ＣＰＵコア数と仮想メモリサイズをマシン種別情報から取得する（ステップ３）。
【００４５】
次に、仮想マシン作成・削除部２４は、ポジション情報データベース２３ａに登録されたポジション情報の中から、ステップ１にて受け付けたマシン種別識別子と一致するポジションを候補ポジションとして抽出する（ステップ４）。
【００４６】
次に、仮想マシン作成・削除部２４は、ステップ４にて抽出した候補ポジションから、仮想マシン情報データベース２４ａに登録された仮想マシン情報に含まれるポジションを除外する（ステップ５）。
【００４７】
ステップ４にて抽出した候補ポジションから、仮想マシン情報データベース２４ａに登録された仮想マシン情報に含まれるポジションを除外した結果、候補ポジションが１つもなくなった場合は（ステップ６）、仮想マシン作成・削除部２４は、操作用端末１０に対して異常応答を返し処理を終了する（ステップ７）。また、ステップ２にて、受け付けたマシン種別識別子が、マシン情報データベース２１ａに登録されたマシン種別情報に含まれていない場合も、仮想マシン作成・削除部２４は、操作用端末１０に対して異常応答を返し処理を終了する。
【００４８】
ステップ４にて抽出した候補ポジションから、仮想マシン情報データベース２４ａに登録された仮想マシン情報に含まれるポジションを除外した結果、候補ポジションが１つ以上ある場合は、仮想マシン作成・削除部２４は、仮想マシン情報データベース２４ａに登録された仮想マシン情報と、ポジション情報データベース２３ａに登録されたポジション情報とから、仮想マシンサーバ３０ａ〜３０ｄ毎に配置されている仮想マシンの数を算出する（ステップ８）。これは、例えば、図５に示した仮想マシン情報から、仮想マシンVM_1がPosition_S1に配置されていることがわかり、図４に示したポジション情報から、Position_S1には仮想マシンサーバVM_Server_1が割り当てられていることがわかるため、仮想マシンVM_1が仮想マシンサーバVM_Server_1に配置されていることがわかり、これを全ての仮想マシンサーバ３０ａ〜３０ｄについて行うことにより、仮想マシンサーバ３０ａ〜３０ｄ毎に配置されている仮想マシンの数を算出することができる。
【００４９】
そして、仮想マシン作成・削除部２４は、仮想マシンを配置する優先度として上述した算出値を設定する（ステップ９）。
【００５０】
次に、仮想マシン作成・削除部２４は、候補ポジションの中で優先度が最も大きなポジションを配置ポジションとする。すなわち、仮想マシン作成・削除部２４は、ポジション情報データベース２３ａに登録されたポジション情報において、ステップ２にて受け付けたマシン種別識別子によって識別されるマシン種別に設定されたポジションが複数ある場合は、そのポジションのうち、仮想マシンが最も多く配置されている仮想マシンサーバにあるポジションを配置ポジションとして選択する（ステップ１０）。なお、仮想マシンが配置された数が同じ仮想マシンサーバが存在する場合は、ポジション情報データベース２３ａにおけるレコード順で先頭にある仮想マシンサーバのポジションを選択することが考えられる。
【００５１】
次に、仮想マシン作成・削除部２４は、ポジション情報データベース２３ａに登録されたポジション情報と、サーバ情報データベース２２ａに登録された仮想マシンサーバ情報とから、仮想マシンを配置するポジションの制御用ネットワークアドレスと仮想ＣＰＵコアと物理ＣＰＵコアの割当を取得する（ステップ１１）
そして、仮想マシン作成・削除部２４は、取得した制御用ネットワークアドレスに対し、仮想マシンを配置するために、仮想マシンイメージのデータを送出し、仮想ＣＰＵコア数と、仮想メモリサイズと、仮想ＣＰＵコアと物理ＣＰＵコアの割当とを適用した仮想マシンの作成起動の制御信号を送出する（ステップ１２）。
【００５２】
最後に、仮想マシン作成・削除部２４は、ステップ１にて受け付けた仮想マシン識別子と、上述した処理にて仮想マシンが配置されるポジションの識別子とを仮想マシン情報データベース２４ａに登録し（ステップ１３）、また、その旨を操作用端末１０に正常応答として返す（ステップ１４）。
【００５３】
また、仮想マシン作成・削除部２４は、仮想マシン情報データベース２４ａに登録された仮想マシン情報を削除する場合は、操作用端末１０に入力された仮想マシン識別子を入力として受け付けると、まず、その仮想マシン識別子が、仮想マシン情報データベース２４ａに登録されている仮想マシン情報に含まれていることを確認する。そして、仮想マシン情報データベース２４ａに登録された仮想マシン情報と、ポジション情報データベース２３ａに登録されたポジション情報と、サーバ情報データベース２２ａに登録された仮想マシンサーバ情報とから、入力された仮想マシンが動作する仮想マシンサーバの制御用ネットワークアドレスを取得し、その制御用ネットワークアドレスに対し、仮想マシンの停止削除の制御信号を送出する。最後に、入力された仮想マシン識別子に該当する仮想マシン情報のレコードを仮想マシン情報データベース２４ａから削除する。
【００５４】
図５に示した仮想マシン情報の例においては、生成されている仮想マシンがシステム内に３台存在する。それぞれの仮想マシンのポジション識別子と、図４に示したポジション情報とを合わせて見ると、仮想マシンサーバVM_Server_1上に仮想マシンVM_1とVM_2が配置され、VM_Server_3上に仮想マシンVM_3が配置されている。
【００５５】
上述したように、仮想マシン作成・削除部２４は、マシン種別が一致して、かつ、その時点で仮想マシンが最も多く配置されている仮想マシンサーバを仮想マシンの配置対象として選択する。仮想マシンサーバを無作為に選択する方法や固定的な順番で選択する方法に比べて、仮想マシンがいくつかの仮想マシンサーバに片寄った配置になり、仮想マシンが配置されている仮想マシンサーバの数が少なくなる。例えば、図５にある状態において、新たにマシン種別Smallの仮想マシンVM_4を生成する場合、候補ポジションとしてPosition_S2、Position_S3とPosition_S4が選択され、その中で、配置されている仮想マシンの数が最も多い仮想マシンサーバVM_Server_1のポジションPosition_S2が配置ポジションとされ、仮想マシンVM_4が仮想マシンサーバVM_Server_1上に配置、生成される。仮に、仮想マシンVM_4が仮想マシンサーバVM_Server_2上に配置、生成される場合、仮想マシンが配置されている仮想マシンサーバ数は３台に増えるが、本機能の配置ではPosition_S1と同じVM_Server_1上に生成されるため、仮想マシンサーバ数は２台のままとなり、新たな仮想マシンVM_4を生成しても仮想マシンサーバ数は変わらない。これにより、仮想マシンが配置されていない仮想マシンサーバを電源オフといった非稼働状態にすることで、システムの消費電力を削減することができる。なお、サーバ情報データベース２２ａに登録された仮想マシンサーバ情報に仮想マシンサーバの電源状態を管理するための項目を追加し、仮想マシン生成・削除部２４ａにおいて、仮想マシンサーバに対してデータや制御信号を送出する前に必要に応じてＷａｋｅ  Ｏｎ  ＬＡＮ機能等を用いた電源投入を行う処理を追加し、仮想マシンを削除する際に、仮想マシンサーバに対して制御信号を送出した後に必要に応じて電源停止を行う処理を追加してもよい。
【００５６】
上述したように本形態においては、仮想マシンのＣＰＵコア数とメモリサイズを含み、利用者が要求する仮想マシンの水準を区別する識別子であるマシン種別がデータベースに保持されており、利用者が仮想マシンの生成要求を行う際にマシン種別を選択すると、仮想マシンを配置する仮想マシンサーバ上の論理的な区画であるポジションの設定に従って、そこに配置される仮想マシンのマシン種別と物理的な属性が決定する。具体的には、ポジションの物理的な属性は、仮想マシンサーバと仮想ＣＰＵコアが割り当てられる仮想マシンサーバの物理ＣＰＵコアを含む。利用者は、ポジション登録時に、マシン種別に、仮想マシンサーバの専有状態、仮想マシンサーバのＣＰＵクロック数、仮想マシンサーバが収容されているラックや電源系統といった仮想マシンサーバの物理的な属性に依存した特徴を対応づけることができる。
【００５７】
そして、仮想マシンの生成時に要求されたマシン種別に合致するポジションが仮想マシンに１つ割り当てられ、その物理的な属性が仮想マシンに適用されるというように、ポジションを用いて仮想マシンの配置選択と機器制御が行われるため、専有状態といった仮想マシンサーバの物理的な属性を用いた仮想マシンの配置制御を実現できる。
【００５８】
さらに、仮想マシン生成時に、マシン種別が一致して、かつ、仮想マシンが最も多く配置されている仮想マシンサーバに仮想マシンを配置することにより、仮想マシンがいくつかの仮想マシンサーバに片寄った配置になり、仮想マシンが配置されていない仮想マシンサーバを電源オフといった非稼働状態にすることで、システムの消費電力を削減することができる。そして、仮想マシンの生成起動と停止削除を繰り返すことで、仮想マシンの配置は片寄った状態へ収束していき、動作中の仮想マシンに性能上の影響を与えるライブマイグレーション機能等を用いずにシステムの消費電力が可能となる。
【００５９】
なお、本発明においては、仮想マシン制御サーバ２０内の処理は上述の専用のハードウェアにより実現されるもの以外に、その機能を実現するためのプログラムを仮想マシン制御サーバ２０にて読取可能な記録媒体に記録し、この記録媒体に記録されたプログラムを仮想マシン制御サーバ２０に読み込ませ、実行するものであっても良い。仮想マシン制御サーバ２０にて読取可能な記録媒体とは、ＩＣカードやメモリカード、あるいは、フロッピーディスク（登録商標）、光磁気ディスク、ＤＶＤ、ＣＤ等の移設可能な記録媒体の他、仮想マシン制御サーバ２０に内蔵されたＨＤＤ等を指す。この記録媒体に記録されたプログラムは、例えば、制御ブロックにて読み込まれ、制御ブロックの制御によって、上述したものと同様の処理が行われる。
【符号の説明】
【００６０】
１０    操作用端末
２０    仮想マシン制御サーバ
２１    マシン種別登録・削除部
２１ａ    マシン種別データベース
２２    仮想マシンサーバ登録・削除部
２２ａ    サーバ情報データベース
２３    ポジション登録・削除部
２３ａ    ポジション情報データベース
２４    仮想マシン作成・削除部
２４ａ    仮想マシン情報データベース
３０ａ〜３０ｄ    仮想マシンサーバ
４０    コンピュータネットワーク
【図１】
0005519583.tif 000002
【図２】
0005519583.tif 000003
【図３】
0005519583.tif 000004
【図４】
0005519583.tif 000005
【図５】
0005519583.tif 000006
【図６】
0005519583.tif 000007