(57)【要約】【課題】他の仮想計算機の動作に悪影響を与えることを回避する。【解決手段】仮想計算機の資源の消費量を測定する測定部と、前記測定部における測定により前記仮想計算機の資源の消費量が閾値を越えていることが検出されると前記仮想計算機の資源の消費量の制限を行ない、その後、前記測定部における測定により前記仮想計算機の資源の消費量が前記制限された値を下回ることが検出されると、前記制限を緩和した後に前記制限の解除を行なう制御部とを有する監視制御装置を提供する。【選択図】図１
2014059918.tif 000002
【特許請求の範囲】
【請求項１】
計算機資源の消費量を測定する測定部と、
前記測定部の測定により前記消費量が閾値を以上の値となっていることが検出されると、前記消費量の制限を行い、その後、前記消費量が前記制限された値未満であることが検出されると前記制限を緩和する制御部と
を備える監視制御装置。
【請求項２】
前記制御部は、前記制限が緩和された後、前記消費量が、該制限が緩和された値以上、になったことが検出されると、再度該消費量を制限する、
請求項１に記載の監視制御装置。
【請求項３】
前記緩和された後に再度制限する値は、該緩和前に制限する値と同値である請求項２に記載の監視制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、資源を共有しているソフトウェア論理区画の資源の消費量を監視し、資源の割り当ての制御を行なう監視制御装置などに関する。
【背景技術】
【０００２】
計算機を仮想化し、仮想化された計算機に対応させてソフトウェア論理区画を動作させる仮想化技術が知られている（例えば、特許文献１−４参照。）。このような仮想化技術においては、１台のハードウェアである計算機上に複数の仮想化された計算機を動作させ、それぞれの仮想化された計算機に対応させてシステム（ゲスト）をソフトウェア論理区画として動作させることが可能となる。
【０００３】
これにより、システムを個別のハードウェアである計算機で動作させたように、システムを独立させて動作させ、一つのシステムに対する不正侵入などの影響が他のシステムに波及することを防止することができる。また、システムを独立させて動作させつつ、本来であればシステムの数に応じた複数台のハードウェアの導入が必要であったものが、より少ない台数のハードウェアの導入で済ませることができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許第４，５６４，９０３号明細書
【特許文献２】特開２００２−１８２９３４号公報
【特許文献３】特開平０９−０８１４０１号公報
【特許文献４】特開２００４−１９９５６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ハードウェアの台数よりも多くのシステムを動作させる場合には、それぞれのシステムへのハードウェア資源の割り当てを考慮する必要がある。例えば、あるシステムのＣＰＵの消費量が増大した場合に、もしその増大の理由がシステムの不具合などによるものである場合には、その増大を放置すると他のシステムの動作に悪影響を与えるのでＣＰＵの割り当てを減少させるよう制御を行なう必要がある。しかし、その増大がシステムの動作の特性上において一時的なものである場合には、同様にＣＰＵの割り当てを減少させると、そのシステムの処理に要する時間が長引いてしまい、この場合も他のシステムの動作に影響を与えてしまい、全体のパフォーマンスが低下するという課題が生じる。
【課題を解決するための手段】
【０００６】
本発明の一実施形態として、仮想計算機の資源の消費量を測定する測定部と、前記測定部における測定により前記仮想計算機の資源の消費量が閾値を越えていることが検出されると前記仮想計算機の資源の消費量の制限を行ない、その後、前記測定部における測定により前記仮想計算機の資源の消費量が前記制限された値を下回ることが検出されると、前記制限を緩和した後に前記制限の解除を行なう制御部とを有する監視制御装置を提供する。
【０００７】
本発明の一実施形態として、監視制御装置と計算機とを備える計算機システムであって、前記計算機は、前記計算機で動作する仮想計算機への物理的な資源の割当を制御する管理部を有し、前記監視制御装置は、前記計算機において仮想計算機の資源の消費量を測定する測定部と、前記測定部における測定により前記仮想計算機の資源の消費量が閾値を越
えていることが検出されると前記仮想計算機の資源の消費量の制限を行ない、その後、前記測定部における測定により前記仮想計算機の資源の消費量が前記制限された値を下回ることが検出されると、前記制限を緩和した後に前記制限の解除を行なうように前記管理部を制御する制御部とを有することを特徴とする計算機システムを提供する。
【０００８】
本発明の一実施形態として、計算機で動作する仮想計算機の資源の消費量を制御する計算機システムの動作方法であって、仮想計算機の資源の消費量を測定し、前記測定により前記仮想計算機の資源の消費量が閾値を越えていることが検出されると前記仮想計算機の資源の消費量の制限を行ない、その後、前記測定により前記仮想計算機の資源の消費量が前記制限された値を下回ることが検出されると、前記制限を緩和した後に前記制限の解除を行なうことを含む計算機システムの動作方法を提供する。
【発明の効果】
【０００９】
本発明によれば、ＣＰＵなどの資源の消費量が増大したときに消費量を制限し、その後における資源の消費量が所定の値以下であれば、資源の消費量の制限を解除するので、従来よりも他のシステムの動作に影響を与えることを回避することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態に係る計算機システムの機能ブロック図
【図２】本発明の一実施形態に係る計算機システムの監視制御装置の記憶する表データの例を示す図
【図３】本発明の一実施形態に係る計算機システムの監視制御装置の処理のフローチャート
【図４】本発明の一実施形態に係る計算機システムの監視制御装置の処理のフローチャート
【図５】本発明の一実施形態に係るキャッピング制御の実施例を説明する図
【図６】本発明の一実施形態に係るキャッピング制御の実施例を説明する図
【図７】本発明の一実施形態において監視閾値の算出について説明するための図
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態について説明を行なう。なお、本発明は以下の説明に限定されることはなく、種々に変形をして実施することが可能である。
【００１２】
図１は本発明の一実施形態に係る監視制御装置を備える計算機システムの機能ブロック図を示す。計算機システム１００は、計算機１０１と監視制御装置１０２とを備える。計算機１０１は複数のＣＰＵとして、ＣＰＵ１（１０３−１）、ＣＰＵ２（１０３−２）、…、ＣＰＵＮ（１０３−Ｎ）を有する。また、計算機１０１は、複数の区画として、区画１（１０４−１）、区画２（１０４−２）、…区画Ｍ（１０４−Ｍ）を有する。
【００１３】
区画（ｐａｒｔｉｔｉｏｎ）とは、仮想的な計算機を意味する。すなわち、区画それぞれは、計算機１０１で動作するプロセスとして実現され、プロセスそれぞれにおいては、仮想化されたオペレーティングシステムが動作し、仮想化されたオペレーティングシステム上で、仮想化されたオペレーティングシステムのプロセスを動作させることができる。
【００１４】
また、計算機１０１は、区画管理プログラム１０５を有する。区画管理プログラム１０５は、区画それぞれの起動、停止を行ない、また、計算機１０１の有する物理的な資源を区画それぞれに割り当てる。例えば、ＣＰＵ１−ＣＰＵＮは物理的な資源であるので、区画管理プログラム１０５は、ＣＰＵ１−ＣＰＵＮを区画それぞれに割り当てることを行なう。区画が動作可能状態であれば、区画にＣＰＵが割り当てられると、動作状態に遷移する。また、動作状態において、ＣＰＵの割り当てが解除されると、区画は待ち状態または
動作可能状態に遷移する。したがって、区画管理プログラム１０５は、区画それぞれのスケジューリングを行なう。また、区画それぞれにＣＰＵを割り当てる優先度に基づいてスケジューリングを行なうこともできる。例えば、区画に０から２５５までの優先度を表す数値を割り当て、数値が大きければ優先的にＣＰＵを割り当てる。
【００１５】
図１には図示されていないが、計算機はＣＰＵ以外の物理的な資源を有する。例えば、メモリ、二次記憶などの物理的な資源を有する。したがって、区画管理プログラム１０５は、ＣＰＵを区画それぞれに割り当てるスケジューリング以外に、ＣＰＵ以外のハードウェア資源を区画それぞれに割り当てることも行なう。また、図１において、ＣＰＵ、区画が複数示されているが、ＣＰＵが一つである場合もあり、また、区画が一つである場合もある。なお、区間管理プログラム１０５により実現される実体を管理部という場合がある。
【００１６】
また、管理部は、資源の割当により生じる、区画による資源の消費量は監視制御装置１０２に伝達される。
【００１７】
監視制御装置１０２は、パラメータ記憶部１０６を有する。パラメータ記憶部１０６は、物理的な資源を区画それぞれへの配分に関するパラメータを記憶する。例えは、区画それぞれへの割り当てが保証される第１の割当量、区画全体で共有される第２の割当量がある。
【００１８】
例えば物理的な資源のうちＣＰＵについては、第１の割当量は、区画それぞれが同時に消費できるＣＰＵ量の上限を意味する。例えば、図２（Ａ）に示すように、区画１、区画２、区画３および区画４それぞれの第１の割当量が２．０、１．０、２．０および３．０であれば、ＣＰＵ量として、区画１が２．０を消費し、区画２が１．０を消費し、区画３が２．０を消費し、区画４が３．０を消費することが同時に行なわれてもよいことを意味する。なお、ＣＰＵ量として、区画がＮを消費するとは、区画に対して数値Ｎに応じたＣＰＵを割り当てることを意味する。例えば、区画に対してＮ個のＣＰＵを割り当てることを意味する。また、第１の割当量のことをＥＣ（Ｅｎｔｉｔｌｅｄ  Ｃａｐａｃｉｔｙ）値という場合がある。
【００１９】
また、物理的な資源がＣＰＵである場合には、第２の割当量は、区画それぞれが第１の割当量のＣＰＵを消費している時に、区画全体でさらに消費できるＣＰＵ量を意味する。例えば、区画１、区画２、区画３および区画４それぞれの第１の割当量が２．０、１．０、２．０および３．０であり、第２の割当量が１．６であれば、区画１、区画２、区画３および区画４のそれぞれが、ＣＰＵ量として２．０、１．０、２．０および３．０を消費している場合に、さらに区画１、区画２、区画３および区画４の少なくとも一つが、ＣＰＵ量として合計１．６を消費することが可能である。
【００２０】
監視制御装置１０２は、また、測定部１０７と、キャッピング制御部１０８と、キャッピング部１０９とを有する。測定部１０７は、計算機１０１内において、区画それぞれの資源の消費量を測定する。例えば、区画それぞれが消費しているＣＰＵ量を管理部より割当量を受信することにより測定する。区画の資源の消費量の測定は、連続的に行なわれてもよいし、時間間隔を置いて行なわれてもよい。例えば、１分毎に測定が行なわれてもよい。また、測定部１０７は、測定した消費量およびパラメータ記憶部１０６に記憶されたパラメータ値に応じて、キャッピング制御部１０８の動作を制御する。
【００２１】
キャッピング制御部１０８は、測定部１０７が測定した消費量およびパラメータ記憶部１０６に記憶されたパラメータ値に応じて、区画それぞれに割り当てられる消費量を制御する。消費量の制御としては、区画それぞれの資源の消費量の上限を定めるものがある。
例えば、区画それぞれに割り当てることができるＣＰＵの上限を定める。このように上限を定め、資源の消費量を制限することを「キャッピングを行なう」という場合がある。また、上限値のことを「キャップ値」という場合がある。さらに、より大きなキャップ値を緩和されたキャップ値といい、キャップ値を大きくすることを、キャッピングを緩和するという場合もある。また、キャップ値を小さくすることを、さらなる制限を行なうという場合がある。
【００２２】
キャッピング部１０９は、キャッピング制御部１０８の制御に応じて、区画それぞれに割り当てられる資源の量を制御する。具体的には、監視制御装置１０２と計算機１０１との通信経路を通じて、区画管理プログラム１０５に制御信号を送信し、区画それぞれに割り当てられる資源の量を制御し、資源の消費量を制御する。
【００２３】
図３および図４は、本実施形態に係る監視制御装置の処理を説明するフローチャートである。特に、図３は区画それぞれの資源の消費量を測定し、キャッピングを開始するための処理を説明するフローチャートである。また、図４はキャッピングを開始した後の処理を説明するフローチャートである。
【００２４】
図３を参照すると、ステップＳ３０１の処理として、区画それぞれの監視閾値を算出する。監視閾値とは、区画の資源の消費量を測定した場合、越えていることが続けて検出されるとキャッピングを開始する値をいう。監視閾値は、パラメータ記憶部１０６に記憶されているパラメータ値を用いて算出する。また、図３においては、監視閾値を毎回算出しているが、区画が起動するときに一回だけ算出するようにしてもよい。監視閾値の算出の例については後に示す。
【００２５】
ステップＳ３０２の処理として、測定部１０７により、区画それぞれの資源の消費量を測定する。図３のフローチャートにおいては、ステップＳ３０３の処理として、測定の結果、監視閾値を越えている区画に対応するカウント値を増加させる。なお、区画に対応するカウント値は、例えば、図２（Ｂ）に示されるような表データとして格納することができる。区画の起動時に、区画の番号に対応するカウント値が０に初期化される。そして、区画それぞれの資源の消費量の測定の結果、監視閾値を越えていれば、カウント値を１増加させる。
【００２６】
また、ステップＳ３０４の処理として、監視閾値を越えていない区画に対応するカウント値を０にクリアする。ステップＳ３０３およびＳ３０４の処理により、資源の消費量を測定したとき、続けて監視閾値以上であることが検出されるとカウント値が増加し、一度でも監視閾値以下となるとカウント値が０となる。なお、一度でも監視閾値以下となればカウント値を０とするかわりに、所定の回数続けて監視閾値以下となればカウント値を０としてもよい。あるいは、監視閾値の移動平均などの平均値を求め、その平均値が監視閾値を下回ったときにカウント値を０とし、その平均値が監視閾値を越えていればカウント値を増加させてもよい。
【００２７】
ステップＳ３０５の処理として、カウント値が所定の値を越えた区画に対してキャッピングを行なう。すなわち、図３に示すフローチャートにより、消費量が続けて監視閾値以上であることが検出されるとキャッピングが行なわれる。キャッピングの処理の具体的な内容は、図４を参照して説明する。
【００２８】
ステップＳ３０６の処理として、図３のフローチャートによる処理を終了させるかどうかを判断する。例えば、監視制御装置１０２を停止させるかどうかを判断する。図３のフローチャートによる処理を終了させなければ、ステップＳ３０１に戻る。なお、ステップＳ３０２における区画それぞれの資源の消費量の測定を、時間間隔をあけて（例えば、一
定時間毎に）行なうために、スリープなどの処理をステップＳ３０６などで行なってもよい。
【００２９】
次に図４を参照すると、ステップＳ４０１の処理として、区画に対して、所定のキャップ値にキャッピングを行なう。キャッピングの対象となる区画は、資源の消費量が監視閾値を越えたことが検出された区画である。図３に示す処理では、資源の消費量を測定し、続けて監視閾値を越えたことが検出された区画がキャッピングの対象となる。また、所定のキャップ値は、一般的には、監視閾値よりも小さい値となる。例えば、監視閾値をＥＣ値の１．５倍とした場合、所定のキャップ値はＥＣ値となる。
【００３０】
ステップＳ４０２の処理として、キャッピングを行なった後の区画の資源の消費量を測定する。ステップＳ４０３の処理として、区画の資源の消費量を測定した値が、所定の時間の間、キャップ値よりも小さい状態が継続しているかどうかを判断する。この判断は、図２（Ｂ）に示すような表データに記憶されるカウント値を用い、測定を行ない、キャップ値（あるいはキャップ値と所定の関係のある値（例えば、キャップ値の９５％の値））を下回っていることが所定の回数検出されるかどうかにより判断することができる。もし、所定の時間の間、資源の消費量がキャップ値よりも小さいと判断した場合には、監視閾値を越えたのは一時的な現象であると判断される。そこでステップＳ４０４へ処理を移行させる。また、所定の時間の間、資源の消費量がキャップ値（あるいはキャップ値と所定の関係のある値）以上であると判断すると、不具合などにより区画が無限ループなどに陥り、無駄に資源を消費している可能性が高い。そこで、ステップＳ４０１へ処理を移行させ、キャッピングを継続する。これにより、他の区画に影響が及ぶことを抑制することができる。
【００３１】
ステップＳ４０４の処理として、キャップ値を緩和する。例えば、ＥＣ値の１．２倍とする。その後、ステップＳ４０５の処理として、キャップ値の緩和後の区画の資源の消費量を測定する。その結果、所定の時間以上、消費量が緩和されたキャップ値（あるいは緩和されたキャップ値と所定の関係のある値）より小さいと判断した場合には、やはり監視閾値を越えたのは一時的な現象であったと判断できる。そこで、ステップＳ４０７へ処理を移行させ、キャッピングを解除する。また、所定の時間以上、消費量が緩和されたキャップ値（あるいは緩和されたキャップ値と所定の関係のある値）以上であれば、不具合により資源の消費量が高くなっている可能性が高いので、ステップＳ４０１へ処理を移行させ、キャッピングを再開する。
【００３２】
なお、本実施形態に係る監視制御装置は、計算機を用いて実現することが可能である。計算機はＣＰＵ、メモリ、二次記憶装置、入出力装置などを有する。そこで、パラメータ記憶部１０６は、メモリあるいは二次記憶装置に対応させ、測定部１０７は、入出力装置を介して計算機１０１より資源の消費量を受信するプログラムをＣＰＵにより実行することに対応させることができる。キャッピング制御部１０８は、測定部１０７に対応するプログラムより測定の結果を表す情報を取得するプログラムをＣＰＵにより実行することに対応させることができる。また、キャッピング部１０９は、キャッピング制御部１０８に対応するプログラムより制御情報を取得し、入出力装置を介して資源の消費量を制御する制御命令を送信するプログラムをＣＰＵにより実行させることに対応させることができる。
【００３３】
（実施例１）
図５は、キャッピング制御部１０８によるキャッピングの制御の一例を示す。Ｔｈを監視閾値であるとする。時間ｔ１からｔ２の間、図３に示すフローチャートの処理により、ある区画の資源の消費量がＴｈを越えていることが検出されたとする。すると、ｔ２から図４に示すフローチャートの処理により、キャップ値Ｃ１へのキャッピングが行なわれる
。これにより、その区画の資源の消費量の上限がＣ１となる。もし、その区画が不具合により無駄に資源を消費しているとすれば、資源の消費量がＣ１となりつづける。一方、一時的に資源の消費量が増加しているのであれば、そのうち、資源の消費量がキャップ値Ｃ１を下回ることになる。すなわち、時間ｔ２からｔ３の間において、資源の消費量がＣ１を下回る。そそこで、時刻ｔ３において、キャップ値をＣ２へ緩和する。その後もｔ３からｔ４の間の資源の消費量がＣ２を下回っていれば、不具合による資源の消費量の増大ではなかったと判断して、時刻ｔ４にキャッピングを解除する。すなわち制限を行なわないようにする。
【００３４】
もし、ｔ３からｔ４において、資源の消費量がＣ２となれば、不具合である可能性があると判断し、Ｃ１へキャッピングを行なうようにすることができる。
【００３５】
（実施例２）
図６は、キャッピング制御部１０８によるキャッピングの制御の別の一例を示す。図５に示す例では、ある区画の資源の消費量が継続して監視閾値Ｔｈを越えていると、キャッピングを行ない、その後、その区画の資源の消費量がキャップ値を下回るとキャップ値を緩和している。それに対して、図６に示す例では、監視閾値Ｔｈを継続して越えているとキャッピングを行ない、その後、さらに厳しくキャッピングを行ない、キャッピングを緩和してキャッピングを解除する。
【００３６】
すなわち、時間ｔ１からｔ２の間、図３に示すフローチャートの処理により、ある区画の資源の消費量が継続してＴｈを越えていることが検出されたとする。すると、ｔ２からキャップ値Ｃ１へのキャッピングを行なう。ｔ２からｔ３の間において、その区画の資源の消費量が継続してＣ１より小さいことが確認されると、ｔ３からＣ１より小さいキャップ値Ｃ２へキャッピングを行なう。これは、不具合などにより資源の消費量の減少と増大とを繰り返す可能性があるので、ｔ１からｔ２までの間の資源の消費量の増大が一時的なものであったことを確認するためである。また、区画の処理において資源の消費量の増大が一時的なものであれば、資源の消費量が時間とともに減少するので、厳しくキャッピングを行なっても、処理の時間が長引くことはないと考えられるためである。
【００３７】
その後、ｔ３からｔ４の間において、その区画の資源の消費量が継続してＣ２より小さいことが確認されると、ｔ４からキャップ値を緩和する。例えば、図６に示すように、キャップ値をＣ１へ戻す。ｔ３からｔ４の間において、その区画の資源の消費量がキャップ値より小さいことが確認されると、キャッピングを解除する。また、ｔ３からｔ４の間において、その区画が資源の消費量がキャップ値になれば、不具合などにより資源の消費量の減少と増大とを繰り返す可能性が高いと判断し、キャップ値をＣ２にするようにしてもよい。
【００３８】
（実施例３）
図５、図６においては、キャップ値を用いて資源の消費量を制限していたが、ＣＰＵが資源である場合には、キャッピングの別の実施例としてＣＰＵの割当の優先度を変化させてもよい。例えば、ある区画の資源の消費量が継続してＴｈを越えていることが検出されると、その区画に対するＣＰＵの割当の優先度を下げてもよい。これにより、他の区画に優先してＣＰＵが割り当てられることになる。しかし、他の区画がＣＰＵを必要としなければ、優先度が下げられたその区画にＣＰＵが割り当てられることになり、もし、一時的にその区画のＣＰＵの消費量が大きくなっているのであれば、必要なＣＰＵを割り当てることにより、処理を早く終了させることができ、他の区画に影響を及ぼさないようにすることができる。もし、優先度を一定の時間の間下げても、ＣＰＵの消費量がＴｈを越えていれば、不具合である可能性があるので、キャッピングを行なう。
【００３９】
（監視閾値の算出について）
図７は、監視閾値の算出の一例を説明するための図である。図７においては、区画１、区画２、区画３および区画４の資源の消費量は、面積で表現される。そこで、区画１、区画２、区画３および区画４それぞれのＥＣ値（第１の割当量）は、矩形７０１、矩形７０２、矩形７０３および矩形７０４それぞれの面積により表現することにする。さらに、矩形７０１、矩形７０２、矩形７０３および矩形７０４の高さを、図７に示すようにそろえ、１とすれば、矩形７０１、矩形７０２、矩形７０３および矩形７０４それぞれの幅が区画それぞれのＥＣ値を表すとすることができる。また、上述した第２の割当量を、矩形７０１、矩形７０２、矩形７０３および矩形７０４の上辺と点線７０８との間の面積として表すことができる。
【００４０】
今、区画１の資源の消費量が監視閾値Ｔｈ１に達したとする。また、第２の割当量から一つの区画が消費しても問題が生じない比率をαとすると、
（矩形７０５の面積）＝（区画１の資源消費量）−（区画１のＥＣ値）
（矩形７０６の面積）＝（（区画１以外のＥＣ値の和）／（全区画のＥＣ値の和））＊（第２の割当量）＊（１−α）
となる。（矩形７０５の面積）＋（矩形７０６の面積）＝（第２の割当量）であるので、
（矩形７０５の面積）＝（第２の割当量）−（矩形７０６の面積）、
すなわち、
（矩形７０５の面積）＝（第２の割当量）＊（１−（（区画１以外のＥＣ値の和）／（全区画のＥＣ値の和））＊（１−α））
となる。ここで、矩形７０１の高さを１としたので、矩形７０５の面積は、（Ｔｈ１−１）＊（区画１のＥＣ値）となる。したがって、
Ｔｈ１−１＝（第２の割当量）＊（１−（（区画１以外のＥＣ値の和）／（全区画のＥＣ値の和））＊（１−α））／（区画１のＥＣ値）
すなわち、
Ｔｈ１＝（第２の割当量）＊（１−（（区画１以外のＥＣ値の和）／（全区画のＥＣ値の和））＊（１−α））／（区画１のＥＣ値）＋１
として、区画１の監視閾値Ｔｈ１を算出することができる。
【００４１】
具体的な数値を求めてみる。例えば、区画１、区画２、区画３および区画４のＥＣ値（第１の割当量）が図２（Ａ）に示す通りであるとし、第２の割当量を１．６とする。また、α＝０．５とすると、
Ｔｈ１＝１．６＊（１−（（１．０＋２．０＋３．０）／（２．０＋１．０＋２．０＋３．０））＊（１−０．５））／２．０＋１＝１．５
となる。したがって、区画１の資源の消費量が、続けてＥＣ値の１．５を越えていることが検出されると、キャッピングを行なったり、ＣＰＵの割り当ての優先度を下げたりするなどして、資源の消費量の制限を行なう。
【００４２】
なお、上記において、αの値は全区画において同じ値であると仮定したが、区画ごとに異なる値となってもよい。この場合には、矩形７０６の面積が、（（（区画２のＥＣ値）＊（１−α２）＋（区画３のＥＣ値）＊（１−α３）＋（区画４のＥＣ値）＊（１−α４））＊（第２の割当量））／（全区画のＥＣ値の和）となる。ここにαｎは、区画ｎのαの値である。
【００４３】
また、本発明者らが出願人が実際に使用している計算機において区画それぞれのＣＰＵの消費量の時間変化を測定したところ、ＣＰＵの消費量が増大した全ての場合について５分以内にはもとの消費量に戻っていることが確認された。そこで、区画１のＣＰＵの消費量を測定し、５分以上継続して監視閾値を越えていれば、図４に示すフローチャートの処理を実行し、キャッピングを行なったりＣＰＵの割り当ての優先度を下げたりして、資源
の消費量の制限を行なうことができる。このとき、区画１のキャッピングを緩和するために、ＣＰＵ消費量がキャップ値未満である時間の長さをＷ１分とすると
Ｗ１＊（（（区画１のＥＣ値）／（全区画のＥＣ値の和））＊（第２の割当量）＋（区画１のＥＣ値））≦Ｔｈ１＊（区画１のＥＣ値）＊５
となるので、
Ｗ１≦Ｔｈ１＊５／（（１／（全区画のＥＣ値の和））＊（第２の割当量）＋１）
と算出される。一般的にＴｈ１／（（１／（全区画のＥＣ値の和））＊（第２の割当量）＋１）の値は１より大きくなるので、Ｗ１は５分より大きな時間となる。したがって、キャッピングを緩和するための、ＣＰＵ消費量がキャップ値未満である時間の長さは、５分より長くすればよいこととなる。
【００４４】
具体的な数値を求めてみると、
Ｗ１≦１．５＊５／（（１／（２．０＋１．０＋２．０＋３．０））＊１．６＋１）＝６．２５
となる。したがって、５分を単位とすれば、１０分継続してＣＰＵ消費量がキャップ値未満であれば、資源の消費量の制限の緩和をすればよいこととなる。
【００４５】
（まとめ）  ［１］仮想計算機の資源の消費量を測定する測定部と、
前記測定部における測定により前記仮想計算機の資源の消費量が閾値を越えていることが検出されると前記仮想計算機の資源の消費量の制限を行ない、その後、前記測定部における測定により前記仮想計算機の資源の消費量が前記制限された値を下回ることが検出されると、前記制限を緩和した後に前記制限の解除を行なう制御部と
を有する監視制御装置。
【００４６】
［２］前記制御部は、前記仮想計算機の資源の消費量の制限を行なった後、前記測定部における測定により前記仮想計算機の資源の消費量が前記制限された値を下回ることが検出されると、前記仮想計算機の資源の消費量のさらなる制限を行ない、前記測定部における測定により前記仮想計算機の資源の消費量が前記さらなる制限された値を下回ることが検出されると、前記解除を行なうことを特徴とする［１］に記載の監視制御装置。
【００４７】
［３］前記消費量の制限は、前記仮想計算機の資源の消費量の上限を定めることにより行なわれることを特徴とする［１］または［２］に記載の監視制御装置。
【００４８】
［４］前記消費量は、前記仮想計算機が使用できる物理的実体を有するＣＰＵの量であり、前記消費量の制限は、前記ＣＰＵの割り当ての優先度の変更により行なわれることを特徴とする［１］または［２］に記載の監視制御装置。
【００４９】
［５］前記制御部は、前記測定部における測定において、続けて前記仮想計算機の資源の消費量が閾値を越えていることが検出された場合に、前記制限を行なうことを特徴とする［１］から［４］のいずれか一に記載の監視制御装置。
【００５０】
［６］前記制御部は、前記測定部における測定において、続けて前記仮想計算機の資源の消費量が前記制限された値を下回ることが検出されると、前記制限を緩和した後に前記制限を解除することを特徴とする［５］に記載の監視制御装置。
【００５１】
［７］前記制御部は、前記仮想計算機の資源の消費量が閾値を越えていることを検出するための前記消費量の測定の時間間隔が、前記仮想計算機の資源の消費量が前記制限された値を下回ることを検出するための前記消費量の測定の時間間隔よりも小さいことを特徴とする［６］に記載の監視制御装置。
【００５２】
［８］監視制御装置と計算機とを備える計算機システムであって、
前記計算機は、
前記計算機で動作する仮想計算機への物理的な資源の割当を制御する管理部を有し、
前記監視制御装置は、
前記計算機における仮想計算機の資源の消費量を測定する測定部と、
前記測定部における測定により前記仮想計算機の資源の消費量が閾値を越えていることが検出されると前記仮想計算機の資源の消費量の制限を行ない、その後、前記測定部における測定により前記仮想計算機の資源の消費量が前記制限された値を下回ることが検出されると、前記制限を緩和した後に前記制限の解除を行なうように前記管理部を制御する制御部と
を有することを特徴とする計算機システム。
【００５３】
［９］計算機で動作する仮想計算機の資源の消費量を制御する計算機システムの動作方法であって、
仮想計算機の資源の消費量を測定し、
前記測定により前記仮想計算機の資源の消費量が閾値を越えていることが検出されると前記仮想計算機の資源の消費量の制限を行ない、その後、前記測定により前記仮想計算機の資源の消費量が前記制限された値を下回ることが検出されると、前記制限を緩和した後に前記制限の解除を行なうことを含む計算機システムの動作方法。
【図１】
2014059918.tif 000003
【図２】
2014059918.tif 000004
【図３】
2014059918.tif 000005
【図４】
2014059918.tif 000006
【図５】
2014059918.tif 000007
【図６】
2014059918.tif 000008
【図７】
2014059918.tif 000009