(57)【要約】  本発明は、例えば、仮想計算機に対する負荷の上昇に迅速に対応できるよう、リソース配分のための重み付けの設定を行う仮想計算機システムを提供することを目的とする。本発明に係る仮想計算機システム１０００は、重み付け値３０１と、最大重み付け実績値Ｗｍａｘを記憶装置９２０に記憶する記憶部１０１と、所定の算出方法により特権仮想計算機２００に対して設定すべき必要重み付け値Ｗを算出する重み付け値算出部１０２と、必要重み付け値Ｗと最大重み付け実績値Ｗｍａｘと比較する重み付け値比較部１０３と、必要重み付け値Ｗが最大重み付け実績値Ｗｍａｘより大きいと判断した場合、重み付け値３０１を必要重み付け値Ｗに変更し、最大重み付け実績値Ｗｍａｘを必要重み付け値Ｗに更新する重み付け値設定部１０４とを備えることを特徴とする。
2009066481.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵ（中央処理装置：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）と記憶装置とを含むリソースを有する物理計算機を備え、前記物理計算機を複数の仮想計算機として使用し、前記物理計算機のリソースを複数の仮想計算機として配分する際に用いる重み付け値を設定重み付け値として前記ＣＰＵを用いて設定する仮想計算機システムにおいて、
仮想計算機に対して設定された設定重み付け値と、前記仮想計算機に対する過去に設定した設定重み付け値の最大値である最大重み付け実績値Ｗｍａｘとを前記複数の仮想計算機の各仮想計算機に対応して前記記憶装置に前記ＣＰＵを用いて記憶する記憶部と、
前記仮想計算機が前記物理計算機のリソースを実際に利用している利用率Ｕを、前記ＣＰＵを用いて求め、前記利用率Ｕを基に所定の算出方法により前記仮想計算機に対して設定すべき必要重み付け値Ｗを前記複数の仮想計算機の各仮想計算機に対応して前記ＣＰＵを用いて算出する重み付け値算出部と、
前記重み付け値算出部が算出した前記必要重み付け値Ｗと、前記記憶部が記憶する前記最大重み付け実績値Ｗｍａｘとを前記複数の仮想計算機の各仮想計算機に対応して前記ＣＰＵを用いて比較する重み付け値比較部と、
前記必要重み付け値Ｗが前記最大重み付け実績値Ｗｍａｘより大きいと前記重み付け値比較部が判断した場合、前記必要重み付け値Ｗが前記最大重み付け実績値Ｗｍａｘより大きいと判断された仮想計算機に対応して前記記憶部が前記記憶装置に記憶している前記設定重み付け値を、前記必要重み付け値Ｗに前記ＣＰＵを用いて変更し、前記必要重み付け値Ｗが前記最大重み付け実績値Ｗｍａｘより大きいと判断された仮想計算機に対応して前記記憶部が前記記憶装置に記憶している前記最大重み付け実績値Ｗｍａｘを前記必要重み付け値Ｗに前記ＣＰＵを用いて更新する重み付け値設定部と
を備えることを特徴とする仮想計算機システム。
【請求項２】
前記重み付け値設定部は、
前記必要重み付け値Ｗが前記最大重み付け実績値Ｗｍａｘ以下であると前記重み付け値比較部が判断した場合、前記必要重み付け値Ｗが前記最大重み付け実績値Ｗｍａｘ以下であると判断された仮想計算機に対応して前記記憶部が記憶している設定重み付け値を、前記最大重み付け実績値Ｗｍａｘに前記ＣＰＵを用いて変更する
ことを特徴とする請求項１記載の仮想計算機システム。
【請求項３】
前記記憶部は、更に、
前記設定重み付け値の上限値である重み付け上限値Ｗｕｐを前記複数の仮想計算機の各仮想計算機に対応して前記記憶装置に前記ＣＰＵを用いて記憶し、
前記重み付け値比較部は、
前記重み付け値算出部が前記所定の算出方法により算出した前記必要重み付け値Ｗと、前記記憶部が記憶する前記設定重み付け値とを前記ＣＰＵを用いて比較し、
前記重み付け値設定部は、
前記必要重み付け値Ｗが、設定重み付け値以上であると前記重み付け値比較部が判断した場合、設定重み付け値を、重み付け上限値Ｗｕｐに前記ＣＰＵを用いて変更し、所定の時間経過後、設定重み付け値を所定の時間経過後の利用率Ｕに応じて前記ＣＰＵを用いて変更する
ことを特徴とする請求項１記載の仮想計算機システム。
【請求項４】
前記記憶部は、更に、
前記設定重み付け値の上限値である重み付け上限値Ｗｕｐを前記複数の仮想計算機の各仮想計算機に対応して前記記憶装置に前記ＣＰＵを用いて記憶し、
前記重み付け値比較部は、
前記重み付け値算出部が前記所定の算出方法により算出した前記必要重み付け値Ｗと、前記記憶部が記憶する前記重み付け上限値Ｗｕｐとを前記ＣＰＵを用いて比較し、
前記仮想計算機システムは、更に、
前記必要重み付け値Ｗが前記重み付け上限値Ｗｕｐを超えたと前記重み付け値比較部が判断した場合、所定のメッセージを前記ＣＰＵを用いて出力するメッセージ出力部を備えた
ことを特徴とする請求項１記載の仮想計算機システム。
【請求項５】
前記仮想計算機システムは、
所定の周期で前記仮想計算機に対して前記設定重み付け値を設定し、
前記重み付け値算出部は、
前記利用率Ｕを、各周期において前記仮想計算機が前記物理計算機のリソースを利用した時間の割合に基づいて前記ＣＰＵを用いて求め、前記利用率Ｕと他の仮想計算機に対する設定重み付け値の総和Ｗｅとから以下の式により前記必要重み付け値Ｗを、前記ＣＰＵを用いて算出する
ことを特徴とする請求項１記載の仮想計算機システム。
Ｗ＝Ｕ×Ｗｅ／（１−Ｕ）
【請求項６】
前記重み付け値設定部は、
前記仮想計算機の起動時に、前記設定重み付け値を前記記憶部が記憶する最大重み付け実績値Ｗｍａｘに前記ＣＰＵを用いて設定する
ことを特徴とする請求項１記載の仮想計算機システム。
【請求項７】
ＣＰＵ（中央処理装置：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）と記憶装置とを含むリソースを有する物理計算機を備え、前記物理計算機を複数の仮想計算機として使用し、前記物理計算機のリソースを複数の仮想計算機として配分する際に用いる重み付け値を設定重み付け値として前記ＣＰＵを用いて設定する仮想計算機重み付け設定処理方法であって、
記憶部が、仮想計算機に対して設定された設定重み付け値と、前記仮想計算機に対する過去に設定した設定重み付け値の最大値である最大重み付け実績値Ｗｍａｘとを前記複数の仮想計算機の各仮想計算機に対応して前記記憶装置に前記ＣＰＵを用いて記憶する記憶処理を行い、
重み付け値算出部が、前記仮想計算機が前記物理計算機のリソースを実際に利用している利用率Ｕを、前記ＣＰＵを用いて求め、前記利用率Ｕを基に所定の算出方法により前記仮想計算機に対して設定すべき必要重み付け値Ｗを前記複数の仮想計算機の各仮想計算機に対応して前記ＣＰＵを用いて算出する重み付け値算出処理を行い、
重み付け値比較部が、前記重み付け値算出部が算出した前記必要重み付け値Ｗと、前記記憶部が記憶する前記最大重み付け実績値Ｗｍａｘとを前記複数の仮想計算機の各仮想計算機に対応して前記ＣＰＵを用いて比較する重み付け値比較処理を行い、
重み付け値設定部が、前記必要重み付け値Ｗが前記最大重み付け実績値Ｗｍａｘより大きいと前記重み付け値比較部が判断した場合、前記必要重み付け値Ｗが前記最大重み付け実績値Ｗｍａｘより大きいと判断された仮想計算機に対応して前記記憶部が前記記憶装置に記憶している前記設定重み付け値を、前記必要重み付け値Ｗに前記ＣＰＵを用いて変更し、前記必要重み付け値Ｗが前記最大重み付け実績値Ｗｍａｘより大きいと判断された仮想計算機に対応して前記記憶部が前記記憶装置に記憶している前記最大重み付け実績値Ｗｍａｘを前記必要重み付け値Ｗに前記ＣＰＵを用いて更新する重み付け値設定処理を行うことを特徴とする仮想計算機重み付け設定処理方法。
【請求項８】
請求項７記載の仮想計算機重み付け設定処理方法をコンピュータに実行させる仮想計算機重み付け設定処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、物理計算機を複数の仮想計算機として使用する仮想計算機システムに関する。とくに、複数の仮想計算機としてリソースを配分するために設定する重み付けの設定方法に関する。
【背景技術】
【０００２】
従来の仮想計算機へのリソース割付を行う設定方法又は仮想計算機システムとして、以下のものがあった。
特許文献１は、ＣＰＵリソース配分を設定、監視して、仮想計算機へのＣＰＵリソース割り付け配分の変更を行う仮想計算機モニターである。仮想計算機に割り当てられたＣＰＵリソースの配分量と実際に使用したＣＰＵリソース量の差を求め、その差が基準値より上回った場合はリソースの配分量を増やし、基準値より下回った場合はＣＰＵリソースの配分量を減らす。
特許文献２は、ＣＰＵリソース配分量が多い順番に仮想計算機にＣＰＵを割り当てると、マルチプロセッサ構成の計算機では、ＣＰＵリソース配分量が少ない仮想計算機に対して、配分した量より多いＣＰＵリソースが与えられる場合が発生する問題を解決する。スケジューリングされた回数を仮想計算機の管理情報として保持し、その回数が少ない方の仮想計算機を優先的にスケジュールする。
特許文献３は、論理区画化方式の仮想計算機で、各論理区画のリソース使用率、物理装置のリソース使用率に基づいてリソースを配分する仮想計算機モニターである。仮想計算機に割り付けられたリソースと実際に使用したリソースの比率が、各仮想計算機間で同じ割合になるように自動的に設定する。
特許文献４は、仮想計算機のアクティビティをモニターし、リソース配分の増減が必要で、かつ他の仮想計算機と競合しない場合にリソースの再割り当てを行う仮想計算機システムである。
非特許文献１は、仮想計算機ごとに重み付けを設定することができ、また、特権仮想計算機上でＩ／Ｏ処理を行う仮想計算機モニターの例である。重み付けに従った割合でＣＰＵリソースが配分される。仮想計算機でのＩ／Ｏ処理が増加すると、それにしたがって特権仮想計算機上での処理量も増加する。
【特許文献１】特開平４−３０７６３１号公報
【特許文献２】特開平５−３２４３６１号公報
【特許文献３】特開２００４−２５２９８８号公報
【特許文献４】特表２００７−５１２６３２号公報
【非特許文献１】Ａ  ＸｅｎＳｕｒｃｅ  Ｗｈｉｔｅ  Ｐａｐｅｒ  ＵＲＬ：  ｈｔｔｐ：／／ｘｅｎ．ｘｅｎｓｏｕｒｃｅ．ｃｏｍ／ｆｉｌｅｓ／ｘｅｎｓｏｕｒｃｅ＿ｗｐ２．ｐｄｆ            ｈｔｔｐ：／／ｗｉｋｉ．ｘｅｎｓｏｕｒｃｅ．ｃｏｍ／ｘｅｎｗｉｋｉ／ＣｒｅｄｉｔＳｃｈｅｄｕｌｅｒ
【発明の開示】
【発明が解決しようとする課題】
【０００３】
非特許文献１で示した仮想計算機の特権仮想計算機は、特権仮想計算機以外の仮想計算機のＩ／Ｏ処理をエミュレーションするため、ＣＰＵリソースを必要とする。そのため、特権仮想計算機の重み付けが低いと、この部分がボトルネックとなり処理が遅くなる等の課題があった。
また、重み付けを特許文献１、３、４で示された方法で、変更することもできるが、これらの方法では割り当てられたリソースをすべて使い切ったかどうかを監視して重み付けを漸増していくため、特権仮想計算機の重み付けが低いときに、特権仮想計算機の負荷が急に上がると、負荷への追随が遅れることになるという課題があった。
本発明は、例えば、上記のような課題を解決するためになされたもので、非特許文献１の仮想計算機モニターを利用した場合、以前に設定した最大の重み付けの値と、許容される最大の重み付け値を利用することで、特権仮想計算機に設定する重み付けの値を、特権仮想計算機の急激な負荷の上昇に対処可能とするものである。
【課題を解決するための手段】
【０００４】
本発明に係る仮想計算機システムは、ＣＰＵ（中央処理装置：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）と記憶装置とを含むリソースを有する物理計算機を備え、前記物理計算機を複数の仮想計算機として使用し、前記物理計算機のリソースを複数の仮想計算機として配分する際に用いる重み付け値を設定重み付け値として前記ＣＰＵを用いて設定する仮想計算機システムにおいて、
仮想計算機に対して設定された設定重み付け値と、前記仮想計算機に対する過去に設定した設定重み付け値の最大値である最大重み付け実績値Ｗｍａｘとを前記複数の仮想計算機の各仮想計算機に対応して前記記憶装置に前記ＣＰＵを用いて記憶する記憶部と、
前記仮想計算機が前記物理計算機のリソースを実際に利用している利用率Ｕを、前記ＣＰＵを用いて求め、前記利用率Ｕを基に所定の算出方法により前記仮想計算機に対して設定すべき必要重み付け値Ｗを前記複数の仮想計算機の各仮想計算機に対応して前記ＣＰＵを用いて算出する重み付け値算出部と、
前記重み付け値算出部が算出した前記必要重み付け値Ｗと、前記記憶部が記憶する前記最大重み付け実績値Ｗｍａｘとを前記複数の仮想計算機の各仮想計算機に対応して前記ＣＰＵを用いて比較する重み付け値比較部と、
前記必要重み付け値Ｗが前記最大重み付け実績値Ｗｍａｘより大きいと前記重み付け値比較部が判断した場合、前記必要重み付け値Ｗが前記最大重み付け実績値Ｗｍａｘより大きいと判断された仮想計算機に対応して前記記憶部が前記記憶装置に記憶している前記設定重み付け値を、前記必要重み付け値Ｗに前記ＣＰＵを用いて変更し、前記必要重み付け値Ｗが前記最大重み付け実績値Ｗｍａｘより大きいと判断された仮想計算機に対応して前記記憶部が前記記憶装置に記憶している前記最大重み付け実績値Ｗｍａｘを前記必要重み付け値Ｗに前記ＣＰＵを用いて更新する重み付け値設定部と
を備えることを特徴とする。【０００５】
前記重み付け値設定部は、
前記必要重み付け値Ｗが前記最大重み付け実績値Ｗｍａｘ以下であると前記重み付け値比較部が判断した場合、前記必要重み付け値Ｗが前記最大重み付け実績値Ｗｍａｘ以下であると判断された仮想計算機に対応して前記記憶部が記憶している設定重み付け値を、前記最大重み付け実績値Ｗｍａｘに前記ＣＰＵを用いて変更する
ことを特徴とする。【０００６】
前記記憶部は、更に、
前記設定重み付け値の上限値である重み付け上限値Ｗｕｐを前記複数の仮想計算機の各仮想計算機に対応して前記記憶装置に前記ＣＰＵを用いて記憶し、
前記重み付け値比較部は、
前記重み付け値算出部が前記所定の算出方法により算出した前記必要重み付け値Ｗと、前記記憶部が記憶する前記設定重み付け値とを前記ＣＰＵを用いて比較し、
前記重み付け値設定部は、
前記必要重み付け値Ｗが、設定重み付け値以上であると前記重み付け値比較部が判断した場合、設定重み付け値を、重み付け上限値Ｗｕｐに前記ＣＰＵを用いて変更し、所定の時間経過後、設定重み付け値を所定の時間経過後の利用率Ｕに応じて前記ＣＰＵを用いて変更する
ことを特徴とする。【０００７】
前記記憶部は、更に、
前記設定重み付け値の上限値である重み付け上限値Ｗｕｐを前記複数の仮想計算機の各仮想計算機に対応して前記記憶装置に前記ＣＰＵを用いて記憶し、
前記重み付け値比較部は、
前記重み付け値算出部が前記所定の算出方法により算出した前記必要重み付け値Ｗと、前記記憶部が記憶する前記重み付け上限値Ｗｕｐとを前記ＣＰＵを用いて比較し、
前記仮想計算機システムは、更に、
前記必要重み付け値Ｗが前記重み付け上限値Ｗｕｐを超えたと前記重み付け値比較部が判断した場合、所定のメッセージを前記ＣＰＵを用いて出力するメッセージ出力部を備えた
ことを特徴とする。【０００８】
前記仮想計算機システムは、
所定の周期で前記仮想計算機に対して前記設定重み付け値を設定し、
前記重み付け値算出部は、
前記利用率Ｕを、各周期において前記仮想計算機が前記物理計算機のリソースを利用した時間の割合に基づいて前記ＣＰＵを用いて求め、前記利用率Ｕと他の仮想計算機に対する設定重み付け値の総和Ｗｅとから以下の式により前記必要重み付け値Ｗを、前記ＣＰＵを用いて算出する
ことを特徴とする。
Ｗ＝Ｕ×Ｗｅ／（１−Ｕ）【０００９】
前記重み付け値設定部は、
前記仮想計算機の起動時に、前記設定重み付け値を前記記憶部が記憶する最大重み付け実績値Ｗｍａｘに前記ＣＰＵを用いて設定する
ことを特徴とする。【００１０】
本発明に係る仮想計算機重み付け設定処理方法は、ＣＰＵ（中央処理装置：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）と記憶装置とを含むリソースを有する物理計算機を備え、前記物理計算機を複数の仮想計算機として使用し、前記物理計算機のリソースを複数の仮想計算機として配分する際に用いる重み付け値を設定重み付け値として前記ＣＰＵを用いて設定する仮想計算機重み付け設定処理方法であって、
記憶部が、仮想計算機に対して設定された設定重み付け値と、前記仮想計算機に対する過去に設定した設定重み付け値の最大値である最大重み付け実績値Ｗｍａｘとを前記複数の仮想計算機の各仮想計算機に対応して前記記憶装置に前記ＣＰＵを用いて記憶する記憶処理を行い、
重み付け値算出部が、前記仮想計算機が前記物理計算機のリソースを実際に利用している利用率Ｕを、前記ＣＰＵを用いて求め、前記利用率Ｕを基に所定の算出方法により前記仮想計算機に対して設定すべき必要重み付け値Ｗを前記複数の仮想計算機の各仮想計算機に対応して前記ＣＰＵを用いて算出する重み付け値算出処理を行い、
重み付け値比較部が、前記重み付け値算出部が算出した前記必要重み付け値Ｗと、前記記憶部が記憶する前記最大重み付け実績値Ｗｍａｘとを前記複数の仮想計算機の各仮想計算機に対応して前記ＣＰＵを用いて比較する重み付け値比較処理を行い、
重み付け値設定部が、前記必要重み付け値Ｗが前記最大重み付け実績値Ｗｍａｘより大きいと前記重み付け値比較部が判断した場合、前記必要重み付け値Ｗが前記最大重み付け実績値Ｗｍａｘより大きいと判断された仮想計算機に対応して前記記憶部が前記記憶装置に記憶している前記設定重み付け値を、前記必要重み付け値Ｗに前記ＣＰＵを用いて変更し、前記必要重み付け値Ｗが前記最大重み付け実績値Ｗｍａｘより大きいと判断された仮想計算機に対応して前記記憶部が前記記憶装置に記憶している前記最大重み付け実績値Ｗｍａｘを前記必要重み付け値Ｗに前記ＣＰＵを用いて更新する重み付け値設定処理を行うことを特徴とする。【００１１】
本発明に係る仮想計算機重み付け設定処理プログラムは、前記仮想計算機重み付け設定処理方法をコンピュータに実行させる。
【発明の効果】
【００１２】
本発明に係る仮想計算機システムは、記憶部が過去に設定した設定重み付け値の最大値である最大重み付け実績値Ｗｍａｘを記憶しており、必要重み付け値Ｗが最大重み実績値Ｗｍａｘより大きい場合に、設置重み付け値を必要重み付け値Ｗと変更するため、仮想計算機に対する負荷が、再度上昇して必要重み付け値により配分されたリソースが必要となった場合に、迅速に仮想計算機に対してリソースを割り当てることが可能となるという効果を奏する。
【発明を実施するための最良の形態】
【００１３】
実施の形態１．
以下、本発明の実施の形態について、図１〜図６を用いて説明する。【００１４】
図１は、以下で説明する実施の形態１に係る仮想計算機システム１０００の構成を示すブロック構成図である。図２は、実施の形態１に係る仮想計算機システム１０００のハードウェア（物理計算機）の構成の一例を示す図である。図３は、実施の形態１に係る仮想計算機システム１０００の仮想計算機モニター４００が仮想計算機に第１物理ＣＰＵ５０１、第２物理ＣＰＵ５０２を割り当てるスケジューリング処理のフローチャートである。図４は、実施の形態１に係る仮想計算機システム１０００が行う特権仮想計算機重み付け設定処理の一例を示すフローチャートである。図５は、実施の形態１に係る仮想計算機システム１０００が行う特権仮想計算機に必要重み付け値Ｗの算出処理の一例を示すフローチャートである。図６は、実施の形態１に係る仮想計算機システム１０００により、特権仮想計算機２００が必要とする重み付け値と、従来の重み付け設定処理方法で設定した場合の特権仮想計算機の重み付け値と、特権仮想計算機２００に割り当てられた重み付け値の変化を示す図である。【００１５】
まず、本実施の形態に係る仮想計算機システム１０００の構成について図１を用いて説明する。図１において、仮想計算機システム１０００は、複数の仮想計算機（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ：以下ではＶＭと略して示す場合がある。）を備えている。仮想計算機とは一台の物理マシンをソフトウェアで多重化し，仮想的で独立した複数台のマシンとして使用できるようにしたものである。【００１６】
複数の仮想計算機の１つは、ハードディスクやネットワークなどへの物理Ｉ／Ｏデバイスへのアクセスや、他の仮想計算機の起動・停止を行う特権を持つ特権仮想計算機２００である。特権仮想計算機２００以外の仮想計算機は、ソフトウェアで仮想的に使用できるようにした仮想計算機であって、第１仮想計算機２０１、第２仮想計算機２０２と表示する。図１では、二つの仮想計算機（第１仮想計算機２０１、第２仮想計算機２０２）のみを示しているが、この実施の形態では二つ以上の仮想計算機を備えているものとする。【００１７】
また、仮想計算機システム１０００は、仮想計算機モニター４００、第１物理ＣＰＵ５０１、第２物理ＣＰＵ５０２を備えている。仮想計算機モニター４００は、特権仮想計算機２００や第１仮想計算機２０１等をモニターしており、物理ＣＰＵの割り当てや、監視等を行っている。
ｒｅａｄｙ  ｑｕｅｕｅ４０１は、第１物理ＣＰＵ５０１および第２物理ＣＰＵ５０２の利用を要求する仮想計算機のキューである。仮想計算機に物理ＣＰＵが割り当てられた時間に応じてその仮想計算機のｃｒｅｄｉｔ３０３の値が減少する。ｗａｉｔ  ｑｕｅｕｅ４０２は、第１物理ＣＰＵ５０１および第２物理ＣＰＵ５０２の利用を必要としない仮想計算機のキューである。仮想計算機システムの記憶装置９２０には、各仮想計算機に与えられる重み付け値３０１と、各仮想計算機に物理ＣＰＵが割り当てられた累積時間３０２と、物理ＣＰＵが割り当てられた時間に応じて変化するｃｒｅｄｉｔ３０３が記憶されている。また、記憶装置９２０には、特権仮想計算機２００の重み付けの設定を許す重み付け上限値Ｗｕｐ３０４、特権仮想計算機２００に設定された重み付けのこれまでの最大の値である最大重み付け実績値Ｗｍａｘ３０５が記憶されている。重み付け設定処理部１００は、本実施の形態における特権仮想計算機２００の重み付け値を算出し、設定する処理部である。重み付け設定処理部１００は、記憶部１０１、重み付け値算出部１０２、重み付け値比較部１０３、重み付け値設定部１０４、メッセージ出力部１０５を備えている。重み付け設定処理部１００が備える各部の動作の詳細については後述する。【００１８】
図２を用いて、仮想計算機システム１０００のハードウェア資源（物理計算機）の一例について説明する。
図２において、仮想計算機システム１０００は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理装置、処理装置、演算装置ともいう）を備えている。ＣＰＵ９１１は、バス９１２を介してＲＯＭ９１３、ＲＡＭ９１４、通信ボード９１５、表示装置９１６、入力機器９０２、記憶装置９２０と接続され、これらのハードウェアデバイスを制御する。記憶装置９２０は、例えば、図１では、ＲＡＭなどの計算機の主記憶である。或いは、磁気ディスク装置、光ディスク装置、メモリカード読み書き装置などの場合もある。
ＲＡＭは、揮発性メモリの一例である。ＲＯＭ９１３、磁気ディスク、光ディスク、メモリカード読み書き装置は、不揮発性メモリの一例である。これらは、記憶部の一例である。
通信ボード９１５、入力機器９０２などは、入力部、入力装置の一例である。
また、通信ボード９１５、表示装置９１６などは、出力部、出力装置の一例である。【００１９】
通信ボード９１５は、例えば、ファクシミリ機、電話器、ＬＡＮ等に接続されている。通信ボード９１５は、ＬＡＮに限らず、インターネット網７００、ＩＳＤＮ等のＷＡＮ（ワイドエリアネットワーク）などに接続されていても構わない。
記憶装置９２０には、オペレーティングシステム９２１（ＯＳ）、プログラム群９２２、ファイル群９２３が記憶されている。プログラム群９２２のプログラムは、ＣＰＵ９１１、オペレーティングシステム９２１により実行される。【００２０】
上記プログラム群９２２には、実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
ファイル群９２３には、実施の形態の説明において、「〜の判定結果」、「〜の計算結果」、「〜の処理結果」として説明するデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
また、各実施の形態の説明において説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、記憶装置９２０であるＲＡＭ、磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ
Ｄｉｓｋ）等の記録媒体に記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体によりオンライン伝送される。【００２１】
また、以下に述べる実施の形態の説明において「〜部」として説明するものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、ハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。すなわち、プログラムは、以下に述べる「〜部」としてコンピュータを機能させるものである。あるいは、以下に述べる「〜部」の手順をコンピュータに実行させるものである。【００２２】
次に、本実施の形態に係る仮想計算機システム１０００の仮想計算機モニター４００のスケジューリングの動作の概略について図３を用いて説明する。【００２３】
仮想計算機モニター４００のスケジューリング処理は、スケジューリングのための周期的な割り込み、あるいは物理ＣＰＵを割り付けられていた仮想計算機がＩ／Ｏ待ちなどで物理ＣＰＵを必要としなくなった場合に呼び出される。ステップＳ５０１において、それまで物理ＣＰＵが割り当てられていた仮想計算機について、前回のスケジューリングにより割り当てられたときから今回のスケジューリングまでに使用したＣＰＵ時間に応じて、その仮想計算機のｃｒｅｄｉｔ３０３の値を減らす。また、仮想計算機が物理ＣＰＵを必要としなくなって仮想計算機モニターのスケジューリング処理が呼び出された場合は、その仮想計算機をｒｅａｄｙ  ｑｕｅｕｅ４０１からｗａｉｔ  ｑｕｅｕｅ４０２につなぎ変える。【００２４】
次にステップＳ５０２でｒｅａｄｙ  ｑｕｅｕｅ４０１につながれている仮想計算機の中からｃｒｅｄｉｔの値が０より大きい仮想計算機を選び出す。
ステップＳ５０３で、もし０より大きいｃｒｅｄｉｔの値を持つ仮想計算機がｒｅａｄｙ
ｑｕｅｕｅ４０１の中に無ければ（Ｙｅｓの場合）、ステップＳ５０５に移り、すべての仮想計算機のｃｒｅｄｉｔ３０３の値に、各仮想計算機の重み付け値３０１を設定し、再びステップＳ５０２の処理を行う。
ステップＳ５０３で０より大きなｃｒｅｄｉｔの値を持つ仮想計算機がｒｅａｄｙ  ｑｕｅｕｅ４０１の中にあれば（Ｎｏの場合）、ステップＳ５０４でその仮想計算機を物理ＣＰＵに割り当て、スケジューリング処理を終了する。
ステップＳ５０１からステップＳ５０５までのスケジューリング処理は、一定時間毎に、周期的に、あるいは仮想計算機が物理ＣＰＵリソースを手放すときに呼び出される。【００２５】
次に、図４を用いて本実施の形態に係る重み付け設定処理部１００が行う特権仮想計算機２００に対する特権仮想計算機重み付け設定処理の動作について説明する。図４に示すフローチャートの処理は、特権仮想計算機２００の重み付け値を更新したい周期Ｔで実行するものとする。
記憶部１０１は、フローチャートの処理を実行する前に、記憶部１０１が記憶装置９２０に、特権仮想計算機の重み付け値の上限である重み付け上限値Ｗｕｐ３０４と、過去に特権仮想計算機２００に設定した重み付け値の最大値を最大重み付け実績値Ｗｍａｘ３０５として予め記憶しているものとする（記憶処理）。【００２６】
ステップＳ１０１では、重み付け値算出部１０２が後述する所定の算出方法に従って、特権仮想計算機２００を実行するに必要な重み付け値である必要重み付け値Ｗを求める（重み付け算出処理）。【００２７】
ステップＳ１０１で、重み付け値算出部１０２が特権仮想計算機の必要重み付け値Ｗを求めた後、ステップＳ１０２で、重み付け値比較部１０３が、重み付け値算出部１０２が算出した必要重み付け値Ｗと、現在の周期において設定されている特権仮想計算機２００の重み付け値３０１（設定重み付け値、Ｗｎと略す場合がある。）とを比較する。必要重み付け値Ｗが、現在の周期で設定されている重み付け値３０１よりも小さい場合（Ｗ＜Ｗｎの場合）、ステップＳ１０５に移動する。必要重み付け値Ｗが重み付け値３０１以上である場合（Ｗ≧Ｗｎ）、ステップＳ１０３に移動する。【００２８】
ステップＳ１０２で必要重み付け値Ｗが特権仮想計算機２００の重み付け値３０１（設定重み付け値、Ｗｎ）より大きい場合（Ｗ≧Ｗｎの場合）、重み付け値比較部１０３は、ステップＳ１０３で、特権仮想計算機２００の重み付け値３０１が重み付け上限値Ｗｕｐ３０４より大きいかどうかを比較する（重み付け値比較処理）。【００２９】
ステップＳ１０３で、重み付け値比較部１０３が、特権仮想計算機の重み付け値３０１は重み付け上限値Ｗｕｐ３０４より大きいと判断した場合（Ｗｎ＞Ｗｕｐの場合）、メッセージ出力部１０５は、ステップＳ１０９で重み付け上限値Ｗｕｐ３０４を超えるＣＰＵリソースを特権仮想計算機２００が必要としている旨を示すメッセージを表示装置９１６等に出力する（メッセージ出力処理）。【００３０】
ステップＳ１０３で、重み付け値比較部１０３が、特権仮想計算機２００の重み付け値３０１が重み付け上限値Ｗｕｐ３０４以下である（Ｗｕｐ≧Ｗｎの場合）と判断した場合は、重み付け値設定部１０４が、ステップＳ１０４で特権仮想計算機２００の重み付け値３０１を一時的に重み付け上限値Ｗｕｐ３０４の値に設定する（どれくらい重み付けを上げる必要があるのかを次の重み付け設定処理周期に算出するため、一時的に重み付けを重み付け上限値Ｗｕｐ３０４にまで上げる）。【００３１】
ステップＳ１０２で必要重み付け値Ｗが特権仮想計算機２００の重み付け値３０１以下の場合（Ｗ＜Ｗｎの場合）は、１つ前の周期で実行したステップＳ１０４で一時的に特権仮想計算機２００の重み付け値３０１を重み付け上限値Ｗｕｐ３０４にした場合もあるので、重み付け値比較部１０３は、ステップＳ１０５で特権仮想計算機２００の重み付け値３０１と重み付け上限値Ｗｕｐ３０４とを比較する。【００３２】
重み付け値比較部１０３が、設定重み付け値Ｗｎと重み付け上限値Ｗｕｐ３０４とが等しくないと判断した場合（Ｗｕｐ≠Ｗｎの場合）は、重み付け値を変更する必要が無いので、処理を終了する。【００３３】
ステップＳ１０５において、特権仮想計算機２００の重み付け値３０１が重み付け上限値Ｗｕｐ３０４と等しい場合（Ｗｕｐ＝Ｗｎの場合）は、前の周期で実行したステップＳ１０４で特権仮想計算機２００の重み付け値３０１を重み付け上限値Ｗｕｐ３０４に設定したことによるものなので、必要重み付け値Ｗは新たに設定すべき重み付け値になる。
しかし、急に特権仮想計算機２００に対する負荷が下がり、特権仮想計算機２００に対する最大重み付け実績値Ｗｍａｘ３０５より低い重み付けになっている場合もある。そのような場合、ステップＳ１０６で、重み付け値比較部１０３は、必要重み付け値Ｗと最大重み付け実績値Ｗｍａｘ３０５とを比較する。比較した結果、必要重み付け値Ｗが最大重み付け実績値Ｗｍａｘ３０５以下の場合（Ｗ≦Ｗｍａｘの場合、）は、ステップＳ１０８で特権仮想計算機２００の重み付け値３０１を元の値（例えば、現在記録されている最大重み付け実績値Ｗｍａｘ３０５）に戻して処理が終わる。【００３４】
ステップＳ１０６で必要重み付け値Ｗが最大重み付け実績値Ｗｍａｘ３０５より大きな値の場合（Ｗ＞Ｗｍａｘの場合）は、ステップＳ１０７で重み付け値設定部１０４が最大重み付け実績値Ｗｍａｘ３０５を必要な重み付け値Ｗの値に更新し、ステップＳ１０８で特権仮想計算機２００の重み付け値３０１（設定重み付け値）に最大重み付け実績値Ｗｍａｘを変更・設定する（重み付け値設定処理）。【００３５】
ステップＳ１０１で、特権仮想計算機２００に必要な重み付け値Ｗを算出する所定の算出方法について、図５を用いて説明する。【００３６】
所定の算出方法として、例えば、以下の算出方法がある。図５のステップＳ２０１では、前回の周期で、特権仮想計算機重み付け設定処理Ｓ１０１が呼び出されたときの特権仮想計算機のＣＰＵ使用累積時間３０２を取り出し、この値をＰｘとする。また、今回（現在の周期）の特権仮想計算機重み付け設定処理Ｓ１００が呼び出されたときの特権仮想計算機のＣＰＵ使用累積時間３０２を取り出し、この値をＰｙとする。特権仮想計算機重み付け設定処理Ｓ１００の呼び出し周期をＴとすると、Ｔの周期の間に特権仮想計算機２００が使用したＣＰＵ時間をＰｙ−Ｐｘとして求める。ステップＳ２０２では、特権仮想計算機２００のＣＰＵ利用率Ｕを、Ｔの周期の間に特権仮想計算機２００が使用したＣＰＵ時間Ｐを周期Ｔで除算（Ｕ＝Ｐ／Ｔ）することにより求める。【００３７】
次に、ステップＳ２０３で前回重み付け設定処理Ｓ１００を呼び出したときから今回重み付け設定処理Ｓ１００を呼び出したときまでに特権仮想計算機に必要であった重み付け値Ｗを求める。特権仮想計算機２００以外の仮想計算機（例えば第１仮想計算機２０１と、第２仮想計算機２０２）に設定された重み付け値３０１の総和をＷｅとすると、必要重み付け値Ｗは、
Ｗ≧Ｕ×Ｗｅ／（１−Ｕ）
で求められる。必要重み付け値Ｗを、上記計算式により求められる値以上としているのは、小数点以下を切り上げるためである。また、上記計算式により求めた値は、必要重み付け値Ｗの最低限度の値であって、必要重み付け値Ｗは、その値以上であっても構わないことを意味する。【００３８】
以上のように、本実施の形態に係る仮想計算機システム１０００では、特権仮想計算機２００の重み付け上限値Ｗｕｐ３０４を設け、特権仮想計算機２００の負荷が上昇したときに特権仮想計算機２００の重み付け値３０１を一時的に、設けた重み付け上限値Ｗｕｐ３０４に設定し、その後に、実際に必要な重み付け値Ｗを算出しているので、特権仮想計算機２００の負荷の変動に速く追随することができる。特権仮想計算機２００の重み付け値３０１を、重み付け上限値Ｗｕｐ３０４に設定する時間（所定の時間）は、任意に設定するものとする。所定の時間は一瞬であってもよい。又は所定の周期の倍数（例えば、２Ｔ，３Ｔ）であっても構わない。【００３９】
図６を用いて本実施の形態に係る仮想計算機システム１０００の効果について説明する。図６の実線は、特権仮想計算機２００に対する負荷の変動に伴い必要となる重み付け値を示している。点線は従来の方法で割り当てた重み付け値を示す。破線は本発明で割り当てられた重み付け値を示す。横軸は時間で、一定周期ごとに重み付けの処理が行われる。縦軸は重み付け値である。【００４０】
特権仮想計算機２００への負荷が上昇し、必要な重み付け値が（ａ）になったとき、次の重み付け設定処理周期において、従来の処理であれば、一定の割合にしたがって重み付け値を増やすため、（ｂ）の値に設定されるのに対し、本実施の形態の仮想計算機システム１０００ではステップＳ１０４により重み付け上限値Ｗｕｐ３０４の値まで一度に上昇させ（ｃ）の値とする。これにより、一時的に、リソースを特権仮想計算機に割り当てることができるため、特権仮想計算機２００の負荷上昇にすばやく対応できる。特権仮想計算機２００の重み付け値を（ｃ）に設定すると、次の重み付け設定周期において実際に必要なＣＰＵリソース量がステップＳ１０１で得られ、必要重み付け値ＷをステップＳ１０７で（ｄ）の値に設定することが可能となる。【００４１】
従来の仮想計算機に対する重み付けの設定方法では、特権仮想計算機２００に対する負荷が上昇した後の重み付け設定周期において、引き続き一定割合で重み付けを増やし、必要な重み付け値以上に到達するまで順次重み付けを増加する。次に、特権仮想計算機２００の負荷が下がり、必要な重み付け値が（ｅ）になると、従来の設定方法では重み付け値を（ｆ）の値に戻す。
しかし、本実施の形態に係る仮想計算機システム１０００の重み付け設定処理Ｓ１００によれば、ステップＳ１０２とステップＳ１０５により、特権仮想計算機２００に対する重み付け値３０１は変更せず（ｇ）で示す値を保つ。このため、特権仮想計算機２００の負荷が後の周期において再び上昇し（ｈ）の重み付け値を必要とする場合でも、本実施の形態に係る仮想計算機システム１０００によれば、仮想計算機システム１０００が備えるＣＰＵリソースを、すぐに特権仮想計算機２００に割り当てることができるの。一方、従来の方法では（ｉ）のように再び一定の割合で特権仮想計算機２００に対する重み付けを上昇させることになるため、短時間でリソースを配分することができず必要な処理を行えない可能性がある。【００４２】
本実施の形態で説明した仮想計算機システムは、
ＣＰＵ（中央処理装置：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）と記憶装置とを含むリソースを有する物理計算機を備え、前記物理計算機を複数の仮想計算機として使用し、前記物理計算機のリソースを複数の仮想計算機として配分する際に用いる重み付け値を設定重み付け値として前記ＣＰＵを用いて設定する仮想計算機システムにおいて、
仮想計算機に対して設定された設定重み付け値と、前記仮想計算機に対する過去に設定した設定重み付け値の最大値である最大重み付け実績値Ｗｍａｘとを前記複数の仮想計算機の各仮想計算機に対応して前記記憶装置に前記ＣＰＵを用いて記憶する記憶部と、
前記仮想計算機が前記物理計算機のリソースを実際に利用している利用率Ｕを、前記ＣＰＵを用いて求め、前記利用率Ｕを基に所定の算出方法により前記仮想計算機に対して設定すべき必要重み付け値Ｗを前記複数の仮想計算機の各仮想計算機に対応して前記ＣＰＵを用いて算出する重み付け値算出部と、
前記重み付け値算出部が算出した前記必要重み付け値Ｗと、前記記憶部が記憶する前記最大重み付け実績値Ｗｍａｘとを前記複数の仮想計算機の各仮想計算機に対応して前記ＣＰＵを用いて比較する重み付け値比較部と、
前記必要重み付け値Ｗが前記最大重み付け実績値Ｗｍａｘより大きいと前記重み付け値比較部が判断した場合、前記必要重み付け値Ｗが前記最大重み付け実績値Ｗｍａｘより大きいと判断された仮想計算機に対応して前記記憶部が前記記憶装置に記憶している前記設定重み付け値を、前記必要重み付け値Ｗに前記ＣＰＵを用いて変更し、前記必要重み付け値Ｗが前記最大重み付け実績値Ｗｍａｘより大きいと判断された仮想計算機に対応して前記記憶部が前記記憶装置に記憶している前記最大重み付け実績値Ｗｍａｘを前記必要重み付け値Ｗに前記ＣＰＵを用いて更新する重み付け値設定部と
を備えることを特徴とする。【００４３】
本実施の形態の仮想計算機システム１０００は、仮想計算機に対して設定した過去の重み付け値を記憶する記憶部を有している。また、仮想計算機がリソースを利用した利用率Ｕを基にした所定の算出方法により必要重み付け値Ｗと過去に設定した最大重み付け値Ｗｍａｘと比較することにより仮想計算機のリソースを配分するための最適な重み付け値を設定していることから、仮想計算機の負荷の上昇にすばやく対応することができるという効果を奏する。【００４４】
本実施の形態で説明した前記仮想計算機システムの前記重み付け値設定部は、
前記必要重み付け値Ｗが前記最大重み付け実績値Ｗｍａｘ以下であると前記重み付け値比較部が判断した場合、前記必要重み付け値Ｗが前記最大重み付け実績値Ｗｍａｘ以下であると判断された仮想計算機に対応して前記記憶部が記憶している設定重み付け値を、前記最大重み付け実績値Ｗｍａｘに前記ＣＰＵを用いて変更することを特徴とする。【００４５】
仮想計算機に対する負荷が上昇している場合、仮想計算機に対する重み付け値は最大重み付け実績値Ｗｍａｘに維持されるため、一時的に負荷が減少し、その後、再度上昇した場合でも、負荷の上昇にすばやく対応することができるという効果を奏する。【００４６】
本実施の形態で説明した前記仮想計算機システムの前記記憶部は、更に、
前記設定重み付け値の上限値である重み付け上限値Ｗｕｐを前記複数の仮想計算機の各仮想計算機に対応して前記記憶装置に前記ＣＰＵを用いて記憶し、
前記重み付け値比較部は、
前記重み付け値算出部が前記所定の算出方法により算出した前記必要重み付け値Ｗと、前記記憶部が記憶する前記設定重み付け値とを前記ＣＰＵを用いて比較し、
前記重み付け値設定部は、
前記必要重み付け値Ｗが、設定重み付け値以上であると前記重み付け値比較部が判断した場合、設定重み付け値を、重み付け上限値Ｗｕｐに前記ＣＰＵを用いて変更し、所定の時間経過後、設定重み付け値を所定の時間経過後の利用率Ｕに応じて前記ＣＰＵを用いて変更する
ことを特徴とする。【００４７】
本実施の形態の仮想計算機システム１０００は、必要重み付け値Ｗが設定重み付け値以上であると判断した場合に、設定重み付け値を重み付け上限値Ｗｕｐに変更するため、仮想計算機の負荷の変動に速く追随することができるという効果を奏する。【００４８】
本実施の形態で説明した前記仮想計算機システムの前記記憶部は、更に、
前記設定重み付け値の上限値である重み付け上限値Ｗｕｐを前記複数の仮想計算機の各仮想計算機に対応して前記記憶装置に前記ＣＰＵを用いて記憶し、
前記重み付け値比較部は、
前記重み付け値算出部が前記所定の算出方法により算出した前記必要重み付け値Ｗと、前記記憶部が記憶する前記重み付け上限値Ｗｕｐとを前記ＣＰＵを用いて比較し、
前記仮想計算機システムは、更に、
前記必要重み付け値Ｗが前記重み付け上限値Ｗｕｐを超えたと前記重み付け値比較部が判断した場合、所定のメッセージを前記ＣＰＵを用いて出力するメッセージ出力部を備えた
ことを特徴とする。【００４９】
必要重み付け値Ｗが重み付け上限値Ｗｕｐを超えた場合、メッセージを出力するメッセージ出力部を備えているため、仮想計算機システムの利用者は、仮想計算機システムの負荷の状況を的確に把握できるという効果を奏する。【００５０】
本実施の形態で説明した前記仮想計算機システムは、
所定の周期で前記仮想計算機に対して前記設定重み付け値を設定し、
前記重み付け値算出部は、
前記利用率Ｕを、各周期において前記仮想計算機が前記物理計算機のリソースを利用した時間の割合に基づいて前記ＣＰＵを用いて求め、前記利用率Ｕと他の仮想計算機に対する設定重み付け値の総和Ｗｅとから以下の式により前記必要重み付け値Ｗを、前記ＣＰＵを用いて算出する
ことを特徴とする。
Ｗ＝Ｕ×Ｗｅ／（１−Ｕ）【００５１】
本実施の形態に係る仮想計算機システム１０００が行う特権仮想計算機重み付け設定処理Ｓ１００で利用する必要重み付け値Ｗを上記の式により求めるため、複雑な処理を必要としない。そのためＣＰＵ利用時間が短くリソースに負担・負荷をかけることなく、必要重み付け値Ｗを算出することができ、リソースを仮想計算機に配分できるという効果を奏する。【００５２】
実施の形態２．
本実施の形態について、図７を用いて説明する。図７は、本実施の形態に係る仮想計算機システムが行う特権仮想計算機２００の起動時の重み付け設定処理の一例を示すフローチャートである。本実施の形態に係る仮想計算機システム１０００の構成や、ハードウェア構成は、実施の形態１と同様であるので説明を省略する。本実施の形態では、実施の形態１の仮想計算機システムが、特権仮想計算機２００を起動するときの処理について特徴がある。【００５３】
実施の形態１で説明した仮想計算機システム１０００において、特権仮想計算機２００に対して設定された最大重み付け実績値Ｗの値は、特権仮想計算機２００の起動時において十分な重み付け値が与えられていない場合がある。特権仮想計算機２００に対する負荷（ＣＰＵリソース使用量等）が増加することにより、特権仮想計算機２００に対応した重み付け値が増加していくこととなる。そのため、特権仮想計算機２００の起動時において、負荷が高い場合であっても十分なＣＰＵリソースを割り当てるのに時間がかかる課題があった。【００５４】
そこで、本実施の形態に係る仮想計算機システム１０００では、最大重み付け実績値Ｗｍａｘ３０５を磁気ディスク又はメモリカードなどの不揮発性メモリを用いた記憶装置９２０に保持するものとし、特権仮想計算機２００を起動する際に、最大重み付け実績値Ｗｍａｘ３０５を特権仮想計算機２００に対する重み付け値３０１（設定重み付け値、Ｗｎ）に設定することとした。図７は特権仮想計算機２００を起動時の重み付け設定処理を示すフローチャートである。ステップＳ３０１において、重み付け値設定部１０４は、記憶装置９２０に記憶されている特権仮想計算機２００に対して過去に設定された重み付け実績値Ｗｍａｘの値を読取り、特権仮想計算機２００の重み付け値として設定する。その後、仮想計算機システム１０００は、実施の形態１で説明した特権仮想計算機重み付け設定処理Ｓ１００を行うようにする。【００５５】
本実施の形態に係る仮想計算機システムの重み付け値設定部は、
仮想計算機の起動時に、設定重み付け値を記憶部が記憶する最大重み付け実績値Ｗｍａｘに前記ＣＰＵを用いて設定することを特徴とする。【００５６】
本実施の形態で説明した、仮想計算機システム１０００によれば、特権仮想計算機２００に対して起動時から十分な重み付けを設定することが可能となる。そのため、特権仮想計算機２００を起動した直後においても、十分なリソースを特権仮想計算機２００に割り当てられ、従来の重み付け設定方法と比較して処理の遅延発生等が少なくなるという効果を奏する。【００５７】
尚、実施の形態１及び実施の形態２の仮想計算機システムは、特権仮想計算機２００に対して重み付け処理を行うものとして説明したが、重み付け処理は特権仮想計算機２００以外の仮想計算機に対して重み付け処理を行っても構わない。例えば、特権仮想計算機２００は、物理Ｉ／Ｏデバイスへのアクセスや、他の仮想計算機の起動を行うものであるため重点的に処理されていたが、他の第１仮想計算機が、重要な処理を行うものであれば、第１仮想計算機２０１に対して行っても構わない。また、２つ以上の仮想計算機を対象としてもよい。第１仮想計算機及び第２仮想計算機の両方に対しても重み付けを設定しても構わないし、特権仮想計算機２００と第１仮想計算機とを組み合わせて重み付け設定処理を行っても構わない。【００５８】
また、図３，４，５，７のフローチャートに示した動作は、仮想計算機システム１０００を実現するコンピュータ上で実行される処理手順に相当するものとする。
本発明の実施の形態で示した構成は、一例であって、例示した構成と同一若しくは類似の目的を達成する別の構成、例示した構成と同一若しくは類似の効果を奏する別の構成など可能である。
【図面の簡単な説明】
【００５９】
【図１】実施の形態１に係る仮想計算機システム１０００の構成の一例を示すブロック構成図。
【図２】実施の形態１に係る仮想計算機システム１０００のハードウェア構成の一例を示す図。
【図３】実施の形態１に係る仮想計算機システム１０００が行う仮想計算機のスケジュール処理の一例を示すフローチャート。
【図４】実施の形態１に係る仮想計算機システム１０００が行う特権仮想計算機重み付け設定処理の一例を示すフローチャート。
【図５】実施の形態１に係る仮想計算機システム１０００が行う特権仮想計算機の必要重み付け値Ｗの算出処理の一例を示すフローチャート。
【図６】実施の形態１に係る仮想計算機システム１０００による時間と設定した重み付け値との関係の一例を表したグラフ。
【図７】実施の形態２に係る仮想計算機システム１０００が行う特権仮想計算機の起動時の重み付け設定処理の一例を示すフローチャート。
【符号の説明】
【００６０】
１０１  記憶部、１０２  重み付け値算出部、１０３  重み付け値比較部、１０４  重み付け値設定部、１０５  メッセージ出力部、２００  特権仮想計算機、２０１  第１仮想計算機、２０２  第２仮想計算機、３０１  重み付け値、３０２  累積時間、３０３  ｃｒｅｄｉｔ、３０４  重み付け上限値Ｗｕｐ、３０５  最大重み付け実績値Ｗｍａｘ、４０１  ｒｅａｄｙ  ｑｕｅｕｅ、４００  仮想計算機モニター、４０２  ｗａｉｔ  ｑｕｅｕｅ、５０１  第１物理ＣＰＵ、５０２  第２物理ＣＰＵ、９１１  ＣＰＵ、９１２  バス、９１６  表示装置、９１３  ＲＯＭ、９１４  ＲＡＭ、９０２  入力機器、９１５  通信ボード、９２０  記憶装置、９２１  オペレーティングシステム、９２２  プログラム群、９２３  ファイル群。
【図１】
2009066481.tif 000003
【図２】
2009066481.tif 000004
【図３】
2009066481.tif 000005
【図４】
2009066481.tif 000006
【図５】
2009066481.tif 000007
【図６】
2009066481.tif 000008
【図７】
2009066481.tif 000009
【国際調査報告】
2009066481.tif 000010
2009066481.tif 000011
2009066481.tif 000012
2009066481.tif 000013