(57)【特許請求の範囲】
【請求項１】
複数の物理計算機上で複数の仮想計算機が動作する仮想計算機システムを管理する情報処理装置であって、
前記複数の仮想計算機を同一の物理計算機上で動作させるべき度合を示す関係値を有する仮想計算機関係表と、仮想計算機のソフトウェア特性情報と前記関係値及び物理計算機の維持コストを変数として評価点を算出する判定式を有するリソース割り当て元判定関数表とを記憶した記憶部と、
前記複数の仮想計算機のうちのいずれかの仮想計算機に計算機リソースの割り当てが必要な場合に、物理計算機ごとに、前記計算機リソースの割り当て先の仮想計算機及び前記物理計算機上で動作している仮想計算機の前記ソフトウェア特性情報と前記関係値及び前記物理計算機の維持コストを変数として前記判定式に当てはめて前記評価点の合計を算出し、前記複数の物理計算機の中で前記評価点の合計が最も高い物理計算機を前記計算機リソースの割り当て元の物理計算機として選択するリソース割り当て元選択部と、
前記リソース割り当て元選択部により選択された物理計算機の計算機リソースを前記割り当て先の仮想計算機に割り当てるリソース割り当て部とを有する
情報処理装置。
【請求項２】
前記リソース割り当て元判定関数表は、カーネル共有メモリに対応した仮想計算機が動作しているか否かを変数として評価点を算出する判定式を有し、
前記リソース割り当て元選択部は、前記評価点の合計に前記カーネル共有メモリに対応した仮想計算機が動作しているか否かを変数として判定式に当てはめた評価点を加える
請求項１に記載の情報処理装置。
【請求項３】
前記記憶部は、前記物理計算機のリソース量及び前記仮想計算機に割り当てられているリソース量を示すリソース管理表と、前記割り当て先の仮想計算機の性能諸元として要求される要求性能諸元とを記憶し、
前記リソース割り当て元選択部は、前記リソース管理表の中で前記要求性能諸元を満たすために必要なリソース量分の計算機リソースを割り当て可能な物理計算機を抽出し、前記抽出した物理計算機ごとに、前記評価点の合計を算出する
請求項２に記載の情報処理装置。
【請求項４】
複数の物理計算機上で複数の仮想計算機が動作する仮想計算機システムを管理するコンピュータが、
前記複数の仮想計算機を同一の物理計算機上で動作させるべき度合を示す関係値を有する仮想計算機関係表と、仮想計算機のソフトウェア特性情報と前記関係値及び物理計算機の維持コストを変数として評価点を算出する判定式を有するリソース割り当て元判定関数表とを記憶し、
前記複数の仮想計算機のうちのいずれかの仮想計算機に計算機リソースの割り当てが必要な場合に、物理計算機ごとに、前記計算機リソースの割り当て先の仮想計算機及び前記物理計算機上で動作している仮想計算機の前記ソフトウェア特性情報と前記関係値及び前記物理計算機の維持コストを変数として前記判定式に当てはめて前記評価点の合計を算出し、前記複数の物理計算機の中で前記評価点の合計が最も高い物理計算機を前記計算機リソースの割り当て元の物理計算機として選択し、
選択した物理計算機の計算機リソースを前記割り当て先の仮想計算機に割り当てる
リソース割り当て方法。
【請求項５】
複数の物理計算機上で複数の仮想計算機が動作する仮想計算機システムを管理するコンピュータに、
前記複数の仮想計算機を同一の物理計算機上で動作させるべき度合を示す関係値を有する仮想計算機関係表と、仮想計算機のソフトウェア特性情報と前記関係値及び物理計算機の維持コストを変数として評価点を算出する判定式を有するリソース割り当て元判定関数表とを記憶した記憶処理と、
前記複数の仮想計算機のうちのいずれかの仮想計算機に計算機リソースの割り当てが必要な場合に、物理計算機ごとに、前記計算機リソースの割り当て先の仮想計算機及び前記物理計算機上で動作している仮想計算機の前記ソフトウェア特性情報と前記関係値及び前記物理計算機の維持コストを変数として前記判定式に当てはめて前記評価点の合計を算出し、前記複数の物理計算機の中で前記評価点の合計が最も高い物理計算機を前記計算機リソースの割り当て元の物理計算機として選択するリソース割り当て元選択処理と、
前記リソース割り当て元選択処理により選択された物理計算機の計算機リソースを前記割り当て先の仮想計算機に割り当てるリソース割り当て処理とを実行させる
リソース割り当てプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想計算機システムに関する。
【背景技術】
【０００２】
クラウドサービスやＶＰＳ（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｓｅｒｖｅｒ）サービスのように、複数の物理計算機で動作する、１台または複数台の仮想計算機を利用者に提供するサービスがある。
このようなサービスでは、仮想計算機の数や仮想計算機に割り当てた計算機リソース（以下、単にリソースともいう）の量に応じて課金される。
そのため、ＩＴ（Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ）投資効果を最適化するために、サービスの契約時は小規模な仮想計算機の構成にし、リソース使用量が閾値を超えた際にリソースの追加（スケールアップ）や仮想計算機の追加（スケールアウト）を行う方法が一般的に採られる。
この方法では、リソース使用量が閾値を超えればスケールアップ又はスケールアウトされるため、仮想計算機の性能が利用者の要求レベルに合致していても、リソース使用量が閾値を超えると必ずスケールアップ又はスケールアウトが行われる。
このため、利用者の要求レベルに対して過度に仮想計算機に計算機リソースが割り当てられるという課題がある。【０００３】
このような課題に対して、特許文献１では、性能監視装置が、ウェブシステムの性能予測を行い、ウェブシステムでリソースが不足している場合に、予備のサーバの空きリソースをウェブシステムに割り当てることが開示されている。
また、特許文献２では、１台の物理計算機上で複数の仮想計算機が動作するシステムにおいて、仮想化による性能劣化を加味して精度の高い性能予測を行う方法が提案されている。
これらの方法により、利用者が求める性能を満足できるリソース配分を導出することができる。
また、特許文献３では、システムモデルに性能改善策を適用した際の効果を反映させ、更に性能予測を実施することで、想定される性能改善策の中から最も効果の大きい性能改善策を選出する方法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２６５２４４号公報
【特許文献２】特開２０１４−１３２４１９号公報
【特許文献３】特開昭６３−１８９９６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
複数の物理計算機上で複数の仮想計算機が動作している仮想計算機システムでは、いずれかの仮想計算機に計算機リソースを追加で割り当てる場合に、計算機リソースの割り当て元の物理計算機が選択されるが、物理計算機の選択にあたって、物理計算機と仮想計算機との関係、仮想計算機間の関係を考慮する必要がある。
例えば、可用性を高めるために複数の仮想計算機で冗長構成が構築されている場合に、可用性を維持するために、冗長構成に含まれる複数の仮想計算機はそれぞれ異なる物理計算機上で動作する必要がある。
また、仮想計算機間で通信を行う場合、通信を行う仮想計算機が同じ物理計算機上で動作すれば、通信ネットワーク上のオーバヘッドを最小化することができ、物理的なネットワークリソースを節約することができる。
特許文献１〜３では、計算機リソースの割り当て元の物理計算機を選択する際に、上記のような物理計算機と仮想計算機との関係、仮想計算機間の関係が考慮されないので、計算機リソースの適切な割り当てが行われないという課題がある。【０００６】
本発明は、上記の課題を解決することを主な目的とし、物理計算機と仮想計算機との関係、仮想計算機間の関係を考慮して適切な計算機リソースの割り当てを行う構成を得ることを主な目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る情報処理装置は、複数の物理計算機上で複数の仮想計算機が動作する仮想計算機システムを管理する情報処理装置であって、複数の仮想計算機を同一の物理計算機上で動作させるべき度合を示す関係値を有する仮想計算機関係表と、仮想計算機のソフトウェア特性情報と関係値及び物理計算機の維持コストを変数として評価点を算出する判定式を有するリソース割り当て元判定関数表とを記憶した記憶部と、複数の仮想計算機のうちのいずれかの仮想計算機に計算機リソースの割り当てが必要な場合に、物理計算機ごとに、計算機リソースの割り当て先の仮想計算機及び物理計算機上で動作している仮想計算機のソフトウェア特性情報と関係値及び物理計算機の維持コストを変数として判定式に当てはめて評価点の合計を算出し、複数の物理計算機の中で評価点の合計が最も高い物理計算機を計算機リソースの割り当て元の物理計算機として選択するリソース割り当て元選択部と、リソース割り当て元選択部により選択された物理計算機の計算機リソースを割り当て先の仮想計算機に割り当てるリソース割り当て部とを有する。
【発明の効果】
【０００８】
本発明では、複数の仮想計算機を同一の物理計算機上で動作させるべき度合を示す関係値を有する仮想計算機関係表と、仮想計算機のソフトウェア特性情報と関係値及び物理計算機の維持コストを変数として評価点を算出する判定式を有するリソース割り当て元判定関数表とを記憶した記憶し、物理計算機ごとに、割り当て先の仮想計算機及び物理計算機上で動作している仮想計算機のソフトウェア特性情報と関係値及び物理計算機の維持コストを変数として判定式に当てはめて評価点の合計を算出し、複数の物理計算機の中で評価点の合計が最も高い物理計算機を計算機リソースの割り当て元の物理計算機として選択する。
このため、本発明によれば、物理計算機と仮想計算機との関係、割り当て先の仮想計算機と物理計算機上で動作している仮想計算機との関係、物理計算機の維持コストの低減を考慮して適切な計算機リソースの割り当てを行うことができる。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１に係る仮想計算機システムの構成例を示す図。
【図２】実施の形態１に係るシステム拡張方法導出装置の機能構成例を示す図。
【図３】実施の形態１に係るリソース管理表の例を示す図。
【図４】実施の形態１に係る仮想計算機関係表の例を示す図。
【図５】実施の形態１に係るリソース割り当て元判定関数の例を示す図。
【図６】実施の形態１に係る情報処理装置のハードウェア構成例を示す図。
【図７】実施の形態１に係る情報処理装置の処理例を示すフローチャート図。
【図８】実施の形態１に係るリソース割り当て元選択処理の例を示す図。
【図９】実施の形態１に係る仮想計算機と物理計算機の配置例を示す図。
【図１０】実施の形態１に係るスコアの算出結果の例を示す図。
【図１１】実施の形態１に係る更新後の仮想計算機関係表の例を示す図。
【発明を実施するための形態】
【００１０】
実施の形態１．
＊＊＊構成の説明＊＊＊
図１は、本実施の形態に係る仮想計算機システム１００の構成例を示す。
【００１１】
図１に示すように、本実施の形態に係る仮想計算機システム１００では、複数の物理計算機１０１が、ネットワーク１０２を介して接続されている。
各物理計算機１０１では、１つ以上の仮想計算機１１０が動作する。
このように、本実施の形態に係る仮想計算機システム１００では、複数の物理計算機１０１上で複数の仮想計算機１１０が動作する。
仮想計算機１１０は、物理計算機１０１が備えるＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等の計算機リソースを用いて、データ処理を行う。
【００１２】
図２は、本実施の形態に係るシステム拡張方法導出装置２００の機能構成例を示す。
システム拡張方法導出装置２００は、仮想計算機システム１００と情報処理装置２０１で構成される。
【００１３】
仮想計算機システム１００は、図１に示したものである。
仮想計算機１１０には、特性取得部２１１が含まれる。
特性取得部２１１は、仮想計算機１１０のソフトウェア特性を取得し、取得したソフトウェア特性を示すソフトウェア特性情報を情報処理装置２０１に送信する。
ソフトウェア特性の詳細は後述する。
また、物理計算機１０１には、性能取得部２１２が含まれる。
性能取得部２１２は、仮想計算機１１０の性能諸元を取得し、取得した性能諸元を示す性能諸元情報を情報処理装置２０１に送信する。
性能諸元の詳細は後述する。
なお、図２では、作図上の理由から図１に示すネットワーク１０２の図示が省略されているが、図２の仮想計算機システム１００にもネットワーク１０２が含まれているものとする。
【００１４】
情報処理装置２０１において、リソース量見積もり部２０４は、性能取得部２１２から性能諸元情報を受信する。
また、リソース量見積もり部２０４は、受信した性能諸元情報に示される性能諸元が仮想計算機１１０に要求される要求性能諸元を満たすか否かを判定する。
そして、性能諸元情報に示される性能諸元が要求性能諸元を満たさない場合は、リソース量見積もり部２０４は、仮想計算機１１０に追加で割り当てるリソース量を見積もる。
【００１５】
リソース割り当て元選択部２０３は、物理計算機１０１ごとに、計算機リソースの割り当て先の仮想計算機である割り当て先仮想計算機と、物理計算機１０１上で動作している仮想計算機１１０との関係を解析して、計算機リソースの割り当て元の物理計算機１０１を選択する。
具体的には、リソース割り当て元選択部２０３は、物理計算機１０１ごとに、割り当て先仮想計算機と同じ冗長構成に属する仮想計算機１１０が動作しているか否か、割り当て先仮想計算機と通信を行う仮想計算機１１０が動作しているか否かを解析する。
また、リソース割り当て元選択部２０３は、物理計算機１０１ごとに、割り当て先仮想計算機と同じ共有ストレージを利用する仮想計算機１１０が動作しているか否かを解析してもよい。
また、リソース割り当て元選択部２０３は、割り当て先仮想計算機と同じ種類の仮想計算機１１０が動作しているか否かを解析してもよい。
更に、リソース割り当て元選択部２０３は、物理計算機１０１ごとに、割り当て先仮想計算機と同じ物理計算機１０１上で動作することが望ましいと仮想計算機システム１００の利用者により指定されている仮想計算機が動作しているか否かを解析してもよい。
リソース割り当て元選択部２０３は、上記の解析を、特性取得部２１１から受信したソフトウェア特性情報に示されるソフトウェア特性、記憶部２０５で記憶されているパラメータを用いて行う。
【００１６】
リソース割り当て部２０２は、リソース割り当て元選択部２０３により選択された物理計算機１０１の計算機リソースを割り当て先仮想計算機に割り当てる。
つまり、リソース割り当て元選択部２０３により選択された物理計算機１０１が、割り当て先仮想計算機が現在動作している物理計算機１０１である場合は、リソース割り当て部２０２は、スケールアップを行う。
一方、リソース割り当て元選択部２０３により選択された物理計算機１０１が、割り当て先仮想計算機が現在動作している物理計算機１０１でない場合は、リソース割り当て部２０２は、スケールアウトを行う。
【００１７】
記憶部２０５には、リソース割り当て部２０２、リソース割り当て元選択部２０３、リソース量見積もり部２０４で用いられるパラメータが記憶されている。
記憶部２０５は、具体的には、リソース管理表、仮想計算機関係表、リソース割り当て元判定関数を記憶している。
以下、リソース管理表、仮想計算機関係表、リソース割り当て元判定関数を説明する。
【００１８】
図３は、リソース管理表４００の例を示す。
リソース管理表４００には、計算機リソースの一覧４０１と、物理計算機１０１に搭載されているリソース量４０２ａ、４０２ｂ、４０２ｃ．．．と、仮想計算機１１０に割り当てられているリソース量４０３ａ、４０３ｂ、４０３ｃ．．．が記述される。
リソース管理表４００は、リソース割り当て部２０２、リソース割り当て元選択部２０３、リソース量見積もり部２０４で利用される。
【００１９】
図４は、仮想計算機関係表５００の例を示す。
仮想計算機関係表５００は、仮想計算機１１０の一覧５０１と、仮想計算機１１０間の関係値５０２で構成される。
関係値５０２は、２つの仮想計算機１１０を同一の物理計算機１０１上で動作させることが望ましいか否かを示す。
関係値５０２は、仮想計算機システム１００の利用者が利用者端末３００を用いて指定した値である。
プラスの関係値５０２は、２つの仮想計算機１１０を同一の物理計算機１０１上で動作させるべき度合を示す。
関係値５０２が大きいほど、２つの仮想計算機１１０を同一の物理計算機１０１上で動作させるべき度合が強い。
例えば、仮想計算機＃ａと仮想計算機＃ｂは、仮想計算機＃ａと仮想計算機＃ｄよりも同一の物理計算機１０１上で動作させるべき度合が強い。
マイナスの関係値５０２は、２つの仮想計算機１１０を同一の物理計算機上で動作させるべきでない度合を示す。
関係値５０２の絶対値が大きいほど、２つの仮想計算機１１０を同一の物理計算機１０１上で動作させるべきでない度合が強い。
例えば、仮想計算機＃ａと仮想計算機＃ｃは、仮想計算機＃ｂと仮想計算機＃ｅよりも同一の物理計算機１０１上で動作させるべきでない度合が強い。
仮想計算機関係表５００は、リソース割り当て元選択部２０３で利用される。
【００２０】
図５は、リソース割り当て元判定関数６００の例を示す。
リソース割り当て元判定関数６００は、関数名６０１と、判定式６０２、スコア６０３で構成される。
図５では、理解のしやすさを考慮して、判定式６０２で判定される内容を文章化しているが、実際には、リソース割り当て元判定関数６００では、論理式の形式で判定式６０２が記述されている。
リソース割り当て元判定関数６００は、複数の物理計算機１０１の中から、計算機リソースの割り当て元の物理計算機１０１を選択するための情報である。
リソース割り当て元判定関数６００は、リソース割り当て元選択部２０３で利用される。
リソース割り当て元選択部２０３は、１行目の判定式６０２を用いて、物理計算機１０１ごとに、割り当て先仮想計算機と同じ冗長構成に属する仮想計算機が動作しているか否かを解析する。
また、リソース割り当て元選択部２０３は、２行目の判定式６０２を用いて、物理計算機１０１ごとに、割り当て先仮想計算機と通信を行う仮想計算機が動作しているか否かを解析する。
また、リソース割り当て元選択部２０３は、３行目の判定式６０２を用いて、物理計算機１０１ごとに、割り当て先仮想計算機と同じ共有ストレージを利用する仮想計算機が動作しているか否かを解析する。
また、リソース割り当て元選択部２０３は、４行目の判定式６０２を用いて、物理計算機１０１ごとに、割り当て先仮想計算機と同じ種類の（同じＯＳを用いる）仮想計算機が動作しているか否かを解析する。
また、リソース割り当て元選択部２０３は、５行目の判定式６０２を用いて、物理計算機１０１間で維持コストを比較する。
【００２１】
また、仮想計算機システム１００の利用者は利用者端末３００を介して、仮想計算機１１０の要求性能諸元を事前に記憶部２０５に格納する。
要求性能諸元は、リソース量見積もり部２０４で利用される。
【００２２】
図６は、情報処理装置２０１のハードウェア７００の例を示す。
情報処理装置２０１はコンピュータであり、情報処理装置２０１のハードウェア７００は、ＣＰＵ７０１、ＲＡＭ７０２、通信インタフェース７０３、補助記憶装置７０４、コントローラＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）７０５で構成される。
通信インタフェース７０３には、データを受信するレシーバー及びデータを送信するトランスミッターが含まれる。
通信インタフェース７０３は、例えば、通信チップ又はＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）である。
コントローラＬＳＩ７０５は、マウス、キーボード又はタッチパネル等からデータを受信する。
補助記憶装置７０４は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリ、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）である。
補助記憶装置７０４には、図２に示すリソース割り当て部２０２、リソース割り当て元選択部２０３、リソース量見積もり部２０４（以下、リソース割り当て部２０２、リソース割り当て元選択部２０３、リソース量見積もり部２０４をまとめて「部」と表記する）の機能を実現するプログラムが記憶されている。
このプログラムは、ＲＡＭ７０２にロードされ、ＣＰＵ７０１に読み込まれ、ＣＰＵ７０１によって実行される。
更に、補助記憶装置７０４には、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）も記憶されている。
そして、ＯＳの少なくとも一部がＲＡＭ７０２にロードされ、ＣＰＵ７０１はＯＳを実行しながら、「部」の機能を実現するプログラムを実行する。
図７では、１つのＣＰＵ７０１が図示されているが、情報処理装置２０１が複数のＣＰＵ７０１を備えていてもよい。
そして、複数のＣＰＵ７０１が「部」の機能を実現するプログラムを連携して実行してもよい。
また、「部」の処理の結果を示す情報やデータや信号値や変数値が、ＲＡＭ７０２、補助記憶装置７０４、又は、ＣＰＵ７０１内のレジスタ又はキャッシュメモリに記憶される。
「部」を「サーキットリー」で提供してもよい。
また、「部」を「回路」又は「工程」又は「手順」又は「処理」に読み替えてもよい。
「回路」及び「サーキットリー」は、ＣＰＵ７０１だけでなく、ロジックＩＣ又はＧＡ（Ｇａｔｅ  Ａｒｒａｙ）又はＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）又はＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）といった他の種類の処理回路をも包含する概念である。
【００２３】
また、物理計算機１０１も、図７に示すハードウェア７００で実現してもよいし、他のハードウェア構成で実現してもよい。
【００２４】
＊＊＊動作の説明＊＊＊
次に、図７を参照して、本実施の形態に係る情報処理装置２０１の動作を説明する。
図７は、情報処理装置２０１の処理手順を表したフローチャートである。
図７に示す処理手順は、リソース割り当て方法及びリソース割り当てプログラムの処理手順の例に相当する。
【００２５】
まず、リソース量見積もり部２０４が、仮想計算機１１０の性能取得部２１２から定期的に性能諸元情報を受信する（Ｓ１０００）。
前述したように性能諸元情報には、性能取得部２１２が取得した仮想計算機１１０の性能諸元が記述されている。
性能諸元情報に記述される性能諸元は、例えば、処理に対するラウンドトリップタイム、スループット、リソースの利用率である。
【００２６】
次に、リソース量見積もり部２０４は、性能諸元情報に記述される性能諸元が、記憶部２０５で記憶されている要求性能諸元を満たしているか否かを確認する（Ｓ１００１）。
要求性能諸元は、性能諸元についての要求レベルである。
【００２７】
性能諸元情報に記述される性能諸元が要求性能諸元を満たしている場合（Ｓ１００１でＹＥＳ）は、リソース量見積もり部２０４は、次の性能諸元情報の受信を待つ。
一方、性能諸元情報に記述される性能諸元が要求性能諸元を満たしていない場合（Ｓ１００１でＮＯ）は、リソース量見積もり部２０４は、割り当て先仮想計算機が要求諸元を満たすために必要なリソース量を見積もる（Ｓ１００２）。
割り当て先仮想計算機は、性能諸元情報の性能諸元が要求諸元を満たさないと判定された仮想計算機１１０である。
リソース量見積もり部２０４は、具体的には、記憶部２０５からリソース管理表４００を読み出し、リソース管理表４００から、割り当て先仮想計算機に現在割り当てられているリソース量を取得する。
そして、リソース量見積もり部２０４は、割り当て先仮想計算機が要求性能諸元を満たすために必要なリソース量を見積もる。
リソース量の見積もりは、どのような方法で実現してもよい。
例えば、待ち行列モデルなどによる性能予測方法を利用してリソース量を見積もることが考えられる。
【００２８】
次に、リソース割り当て元選択部２０３が、リソース量見積もり部２０４より、割り当て先仮想計算機の名称、割り当て先仮想計算機に必要なリソース量の情報を取得する。
そして、リソース割り当て元選択部２０３は、リソース割り当て元の物理計算機１０１を選択する（Ｓ１００３）（リソース割り当て元選択処理）。
リソース割り当て元選択部２０３は、具体的には、記憶部２０５から仮想計算機関係表５００、リソース割り当て元判定関数６００を読み出し、また、特性取得部２１１からソフトウェア特性情報を受信する。
そして、リソース割り当て元選択部２０３は、仮想計算機関係表５００、リソース割り当て元判定関数６００、ソフトウェア特性情報を用いて、リソース割り当て元の物理計算機１０１を選択する。
なお、本処理の詳細は図８を参照して後述する。
【００２９】
次に、リソース割り当て部２０２は、リソース割り当て元選択部２０３より、割り当て先仮想計算機１１０の名称、割り当て先仮想計算機に必要なリソース量の情報、Ｓ１００３で選択された物理計算機１０１の名称を取得する。
そして、リソース割り当て部２０２は、割り当て先仮想計算機が現在動作している物理計算機１０１の名称と、Ｓ１００３で選択された物理計算機１０１の名称を比較し、２つの物理計算機１０１が同じであるか否かを判定する（Ｓ１００４）。
２つの物理計算機１０１が同じである場合（Ｓ１００４でＹＥＳ）は、リソース割り当て部２０２は、割り当て先仮想計算機に、Ｓ１００３で選択された物理計算機１０１の計算機リソースを割り当てる（Ｓ１００５）（リソース割り当て処理）。
Ｓ１００５で割り当て先仮想計算機に割り当てられるリソース量は、Ｓ１００２で見積もられたリソース量である。
【００３０】
また、２つの物理計算機１０１が異なる場合（Ｓ１００４でＮＯ）は、リソース割り当て部２０２は、Ｓ１００３で選択された物理計算機１０１に新たな仮想計算機１１０を生成する（Ｓ１００６）。
これにより、割り当て先仮想計算機にＳ１００３で選択された物理計算機１０１の計算機リソースが割り当てられる（リソース割り当て処理）。
Ｓ１００６では、リソース割り当て部２０２は、仮想計算機１１０を動作させるために必要なリソース量と要求性能諸元を満たすために必要なリソース量とを加えたリソース量分の計算機リソースを用いて、Ｓ１００３で選択された物理計算機１０１に新たな仮想計算機１１０を生成する。
【００３１】
また、リソース割り当て部２０２は、仮想計算機関係表５００に、Ｓ１００６で生成した新たな仮想計算機１１０のエントリを追加して、仮想計算機関係表５００を更新する（Ｓ１００７）。
新たな仮想計算機１１０の関係値５０２は、割り当て先仮想計算機と同じ値とする。
例えば、図４に示す仮想計算機＃ａに対してＳ１００６で新たな仮想計算機＃ｆが生成された場合は、Ｓ１００７において、仮想計算機関係表５００は、図１１のように更新される。
【００３２】
最後に、リソース割り当て部２０２が、リソース管理表４００に、Ｓ１００５で割り当て先仮想計算機に追加したリソース又はＳ１００６で生成された新たな仮想計算機１１０の情報を追加して、リソース管理表４００を更新する（Ｓ１００８）。
以上で、情報処理装置２０１の処理は終了する。
【００３３】
次に、図８を参照して、リソース割り当て元の物理計算機１０１を選択する処理（Ｓ１００３）の詳細を説明する。
【００３４】
まず、リソース割り当て元選択部２０３は、特性取得部２１１を呼び出し、特性取得部２１１から割り当て先仮想計算機１１０のソフトウェア特性情報を受信する（Ｓ１１００）。
ソフトウェア特性情報には、ソフトウェア特性として、リソース割り当て元判定関数６００の判定式からスコアを導出するためのパラメータが記述されている。
例えば、ソフトウェア特性情報には、割り当て先仮想計算機に冗長構成を構築するためのミドルウェアが存在するか否か、ミドルウェアが存在する場合には、冗長構成に含まれる他の仮想計算機の名称が記述される。
更に、ソフトウェア特性情報には、割り当て先仮想計算機が通信を行っている他の仮想計算機の通信アドレスが記述される。
また、ソフトウェア特性情報には、割り当て先仮想計算機上のアプリケーションプログラムが通信している仮想計算機の数、割り当て先仮想計算機がマウントしている共有ストレージ、割り当て先仮想計算機がカーネル共有メモリに対応しているか否か等が記述される。
【００３５】
次に、リソース割り当て元選択部２０３は、リソース管理表４００より、各物理計算機１０１の空きリソース量を算出する。
更に、リソース割り当て元選択部２０３は、図７のＳ１００２で見積もられたリソース量分の計算機リソースを割り当て可能な物理計算機１０１を抽出する（Ｓ１１０１）。
【００３６】
次に、リソース割り当て元選択部２０３は、Ｓ１１０１で抽出された物理計算機１０１の中から１つの物理計算機１０１を選出する（Ｓ１１０２）。
そして、リソース割り当て元選択部２０３は、選出された物理計算機１０１で動作している全ての仮想計算機１１０に対して、特性取得部２１１からソフトウェア特性情報を受信する（Ｓ１１０３）。
Ｓ１１０３のソフトウェア特性情報に記述されるソフトウェア特性は、Ｓ１１００のソフトウェア特性情報に記述されるソフトウェア特性と同じである。
【００３７】
次に、リソース割り当て元選択部２０３は、仮想計算機関係表５００より割り当て先仮想計算機と、選出された物理計算機１０１で動作している仮想計算機１１０との間の関係値を取得する（Ｓ１１０４）。
【００３８】
そして、リソース割り当て元選択部２０３は、Ｓ１１００で受信したソフトウェア特性情報に記述されるソフトウェア特性と、Ｓ１１０３で受信したソフトウェア特性情報に記述されるソフトウェア特性を、Ｓ１１０４で取得した関係値をリソース割り当て元判定関数６００の判定式に当てはめる（Ｓ１１０５）。
Ｓ１１０２、Ｓ１１０３、Ｓ１１０４、Ｓ１１０５は、Ｓ１１０１で抽出された物理計算機１０１ごとに行われる（Ｓ１１０６）。
Ｓ１１０１で抽出された物理計算機１０１に対してＳ１１０２〜Ｓ１１０５の処理が行われた後に、リソース割り当て元選択部２０３は、リソース割り当て元判定関数の判定式に従って、物理計算機１０１ごとにスコアを算出する。
そして、リソース割り当て元選択部２０３は、最もスコア合計が高い物理計算機をリソース割り当て元として選択する（Ｓ１１０７）。
【００３９】
次に、リソース割り当て元選択部２０３の動作の具体例を図３、図４、図５、図９、図１０を用いて説明する。
図９は、リソースを追加する前の物理計算機１０１ａ、１０１ｂ、１０１ｃと、仮想計算機１１０ａ、１１０ｂ、１１０ｃ、１１０ｄ、１１０ｅの配置を表す。
ここでは、リソース量見積もり部２０４により、仮想計算機＃ａ１１０ａへリソースの追加割り当てが必要と判定された場合のリソース割り当て元選択部２０３の動作例を説明する。
つまり、仮想計算機＃ａ１１０ａが割り当て先仮想計算機である。
また、図１０は、リソース割り当て元判定関数６００の判定結果を表す。
【００４０】
まず、リソース割り当て元選択部２０３は、特性取得部２１１を呼び出し、仮想計算機＃ａ１１０ａのソフトウェア特性情報を受信する（図８のＳ１１００）。
リソース割り当て元選択部２０３は、ソフトウェア特性情報から、仮想計算機＃ａ１１０ａに冗長構成を構築するためのミドルウェアが存在し、仮想計算機＃ａ１１０ａと仮想計算機＃ｃ１１０ｃとの間で冗長構成が構築されていることを導出する。
更に、リソース割り当て元選択部２０３は、ソフトウェア特性情報に記述される通信アドレスより、仮想計算機＃ａ１１０ａが、仮想計算機＃ｂ１１０ｂと仮想計算機＃ｃ１１０ｃと通信していることを導出する。
【００４１】
次に、リソース割り当て元選択部２０３は、リソース管理表４００より、各物理計算機１０１の空きリソース量を算出する。
そして、リソース割り当て元選択部２０３は、必要なリソース量を調達可能な物理計算機として、物理計算機＃Ａ１０１ａ、物理計算機＃Ｂ１０１ｂ、物理計算機＃Ｃ１０１ｃを抽出する（図８のＳ１１０１）。
【００４２】
次に、リソース割り当て元選択部２０３は、物理計算機＃Ａ１０１ａを選出する（図８のＳ１１０２）。
そして、リソース割り当て元選択部２０３は、物理計算機＃Ａ１０１ａで動作している全ての仮想計算機１１０に対して、特性取得部２１１からソフトウェア特性情報を受信する（図８のＳ１１０３）。
リソース割り当て元選択部２０３は、ソフトウェア特性情報から、物理計算機＃Ａ１０１ａには、仮想計算機＃ａ１１０ａと冗長構成となっている仮想計算機＃ｃ１０１ｃが存在しないことを導出する。
更に、リソース割り当て元選択部２０３は、ソフトウェア特性情報から、物理計算機＃Ａ１０１ａには、仮想計算機＃ａ１１０ａの通信先である仮想計算機＃ｂ１１０ｂが存在することを導出する。
また、リソース割り当て元選択部２０３は、仮想計算機＃ａ１１０ａと、物理計算機＃Ａ１０１ａで動作している仮想計算機＃ｂ１１０ｂとの関係値を取得する（図８のＳ１１０４）。
図４の仮想計算機関係表５００では、仮想計算機＃ａ１１０ａと仮想計算機＃ｂ１１０ｂとの関係値は「９０」である。
そして、リソース割り当て元選択部２０３は、Ｓ１１００で受信したソフトウェア特性情報に記述されるソフトウェア特性と、Ｓ１１０３で受信したソフトウェア特性情報に記述されるソフトウェア特性と、Ｓ１１０４で取得した関係値をリソース割り当て元判定関数６００の判定式に当てはめる（Ｓ１１０５）。
【００４３】
引き続き、リソース割り当て元選択部２０３は、物理計算機＃Ｂ１０１ｂを選出する。
そして、物理計算機＃Ｂ１０１ｂには、仮想計算機＃ａ１１０ａと冗長構成となっている仮想計算機＃ｃ１０１ｃが存在することを導出する。
更に、リソース割り当て元選択部２０３は、仮想計算機＃ａ１１０ａと仮想計算機＃ｃ１１０ｃとの関係値の合計が「−３０」であることを導出する。
【００４４】
次に、リソース割り当て元選択部２０３は、物理計算機＃Ｃ１０１ｃを選出する。
そして、物理計算機＃Ｃ１０１ｃには、仮想計算機＃ａ１１０ａと冗長構成となっている仮想計算機＃ｃ１０１ｃが存在しないこと、仮想計算機＃ａ１１０ａの通信先である仮想計算機＃ｅ１１０ｅが存在することを導出する。
更に、リソース割り当て元選択部２０３は、仮想計算機＃ａ１１０ａと仮想計算機＃ｄ１１０ｄとの関係値の合計が「２０」であること、仮想計算機＃ａ１１０ａと仮想計算機＃ｅ１１０ｅとの関係値の合計が「４０」であることを導出する。
【００４５】
最後に、リソース割り当て元選択部２０３は、リソース割り当て元判定関数の判定式に従って、物理計算機１０１ごとにスコアを算出し、最もスコア合計が高い物理計算機をリソース割り当て元として選択する（図８のＳ１１０７）。
図１０の例では、リソース割り当て元選択部２０３は、最もスコア合計が高い物理計算機＃Ａ１０１ａをリソース割り当て元の物理計算機として選択する。
また、リソース管理表４００より、仮想計算機＃ａ１１０ａは、物理計算機＃Ａ１０１ａで動作していることが分かるため、リソース割り当て元選択部２０３は、リソース割り当て部２０２に対して、物理計算機＃Ａ１０１ａのリソースを、仮想計算機＃ａ１１０ａに追加（スケールアップ）するよう指示する。
【００４６】
ここで、図１０について説明する。
図１０の各行においてハッチングを施している物理計算機にスコアが付与される。
「ＨＡ（）」については、物理計算機＃Ａ１０１ａと物理計算機＃Ｃ１０１ｃでは、仮想計算機＃ａ１１０ａと同じ冗長構成に含まれる仮想計算機が動作していない。
このため、この項目については、物理計算機＃Ａ１０１ａと物理計算機＃Ｃ１０１ｃがリソースの調達元として最も望ましく、物理計算機＃Ａ１０１ａと物理計算機＃Ｃ１０１ｃに、それぞれ１０点が付与される。
「Ｎｅｔｗｏｒｋ（）」については、物理計算機＃Ａ１０１ａと物理計算機＃Ｃ１０１ｃでは、仮想計算機＃ａ１１０ａの通信先の仮想計算機がそれぞれ１台ずつ動作している。
このため、この項目については、物理計算機＃Ａ１０１ａと物理計算機＃Ｃ１０１ｃがリソースの調達元として最も望ましく、物理計算機＃Ａ１０１ａと物理計算機＃Ｃ１０１ｃに、それぞれ３点が付与される。
「Ｄｉｓｋｃａｃｈｅ（）」については、物理計算機＃Ａ１０１ａ、物理計算機＃Ｂ１０１ｂ、物理計算機＃Ｃ１０１ｃのいずれにも、仮想計算機＃ａ１１０ａと同じ共有ストレージを利用する仮想計算機が動作していない。
このため、いずれの物理計算機にも、スコアは付与されない。
「Ｍｅｍｏｒｙ（）」については、物理計算機＃Ａ１０１ａ、物理計算機＃Ｂ１０１ｂ、物理計算機＃Ｃ１０１ｃのいずれにも、仮想計算機＃ａ１１０ａのカーネル共有メモリに対応している仮想計算機が動作していない。
このため、いずれの物理計算機にも、スコアは付与されない。
「Ｃｏｓｔ（）」については、物理計算機＃Ｂ１０１ｂの維持コストが最も低い。
このため、この項目については、物理計算機＃Ｂ１０１ｂがリソースの調達として最も望ましく、物理計算機＃Ｂ１０１ｂに０．５点が付与される。
「仮想計算機の配置関係」については、仮想計算機＃ａ１１０ａと仮想計算機＃ｂ１１０ｂとの関係値が「９０」で最も高い。
このため、この項目については、物理計算機＃Ａ１０１ａがリソースの調達元として最も望ましく、物理計算機＃Ａ１０１ａに２点が付与される。
各項目でのスコアを合計すると、図１０に示すように、物理計算機＃Ａ１０１ａのスコア合計が最も高い。
従って、リソース割り当て元選択部２０３は、物理計算機＃Ａ１０１ａをリソースの割り当て元として選択する。
【００４７】
このように、リソース割り当て元選択部２０３は、物理計算機１０１ごとに、割り当て先仮想計算機と、物理計算機上で動作している仮想計算機との関係を解析し、解析結果に基づき物理計算機ごとに評価点を算出し、算出した評価点に基づき、計算機リソースの割り当て元の物理計算機を選択する。
【００４８】
＊＊＊実施の形態の効果＊＊＊
以上のように、本実施の形態では、情報処理装置２０１は、物理計算機１０１ごとに、物理計算機１０１上で動作する仮想計算機１１０と、割り当て先仮想計算機との関係を解析して、仮想計算機１１０が要求性能諸元を満たすために必要な計算機リソースの調達元の物理計算機１０１を選択する。
このため、物理計算機と仮想計算機との関係、仮想計算機間の関係を考慮して適切な計算機リソースの割り当てを行うことができる。
【００４９】
また、事業者としては、同じ性能を実現できる方策が複数ある場合は、最も維持コストを低減できる方策が望ましい。
本実施の形態では、リソースの割り当て元の物理計算機を選択する際の選択基準に、物理計算機の維持コストも含まれている（図５のＣｏｓｔ（））。
【符号の説明】
【００５０】
１００  仮想計算機システム、１０１  物理計算機、１０２  ネットワーク、１１０  仮想計算機、２００  システム拡張方法導出装置、２０１  情報処理装置、２０２  リソース割り当て部、２０３  リソース割り当て元選択部、２０４  リソース量見積もり部、２０５  記憶部、２１１  特性取得部、２１２  性能取得部、３００  利用者端末、４００  リソース管理表、５００  仮想計算機関係表、６００  リソース割り当て元判定関数。
【要約】
リソース割り当て元選択部（２０３）は、複数の仮想計算機（１１０）のうちのいずれかの仮想計算機（１１０）に計算機リソースの割り当てが必要な場合に、物理計算機（１０１）ごとに、計算機リソースの割り当て先の仮想計算機である割り当て先仮想計算機と、物理計算機（１０１）上で動作している仮想計算機（１１０）との関係を解析して、計算機リソースの割り当て元の物理計算機（１０１）を選択する。リソース割り当て部（２０２）は、リソース割り当て元選択部（２０３）により選択された物理計算機（１０１）の計算機リソースを割り当て先仮想計算機に割り当てる。【図１】
0005968563.tif 000002
【図２】
0005968563.tif 000003
【図３】
0005968563.tif 000004
【図４】
0005968563.tif 000005
【図５】
0005968563.tif 000006
【図６】
0005968563.tif 000007
【図７】
0005968563.tif 000008
【図８】
0005968563.tif 000009
【図９】
0005968563.tif 000010
【図１０】
0005968563.tif 000011
【図１１】
0005968563.tif 000012