(57)【特許請求の範囲】
【請求項１】
所定の負荷状態を超える負荷を仮想マシンに与える処理を行うダミープロセスと，前記仮想マシンの負荷状態が所定の負荷状態より低い期間が所定の待機時間以上継続した場合に起動するアシストプロセスとが実行される仮想マシンを制御する仮想マシン制御装置であって，
複数の仮想マシン各々の資源の使用状況の情報を取得する取得部と，
前記資源の使用状況の情報に基づく負荷状態が所定の負荷状態以上である仮想マシンを特定する判断部と，
前記特定された仮想マシンの数に応じて，前記複数の仮想マシン各々で実行されるダミープロセスの稼動状態をアイドル状態またはアクティブ状態のいずれかに制御する制御部とを備え，
前記アイドル状態は，前記ダミープロセスが実行指示を待つ稼動状態であり，前記アクティブ状態は，前記ダミープロセスが前記所定の負荷状態を超える負荷を仮想マシンに与える処理を前記待機時間より短い間隔で実行する稼動状態である
ことを特徴とする仮想マシン制御装置。
【請求項２】
前記制御部は，前記所定の負荷状態以上であると特定された仮想マシンの数が第１の基準数以上かつ前記第１の基準数より大きい第２の基準数以下である場合に，前記所定の負荷状態以上であると特定された仮想マシンにおいて実行されるダミープロセスの稼動状態を前記アイドル状態に制御し，前記所定の負荷状態以上であると特定された仮想マシン以外の仮想マシンにおいて実行されるダミープロセスの稼動状態を前記アクティブ状態に制御する
ことを特徴とする請求項１に記載の仮想マシン制御装置。
【請求項３】
前記制御部は，前記所定の負荷状態以上であると特定された仮想マシンの数が前記第２の基準数以上である場合に，前記複数の仮想マシン全てにおいて実行されるダミープロセスの稼動状態を前記アクティブ状態に制御する
ことを特徴とする請求項１または請求項２に記載の仮想マシン制御装置。
【請求項４】
所定の負荷状態を超える負荷を仮想マシンに与える処理を行うダミープロセスと，前記仮想マシンの負荷状態が所定の負荷状態より低い期間が所定の待機時間以上継続した場合に起動するアシストプロセスとが実行される仮想マシンを制御するコンピュータに，
複数の仮想マシン各々の資源の使用状況の情報を取得し，
前記資源の使用状況の情報に基づく負荷状態が所定の負荷状態以上である仮想マシンを特定し，
前記特定された仮想マシンの数に応じて，前記複数の仮想マシン各々で実行されるダミープロセスの稼動状態をアイドル状態またはアクティブ状態のいずれかに制御する処理を実行させ，
前記アイドル状態は，前記ダミープロセスが実行指示を待つ稼動状態であり，前記アクティブ状態は，前記ダミープロセスが前記所定の負荷状態を超える負荷を仮想マシンに与える処理を前記待機時間より短い間隔で実行する稼動状態である
ことを特徴とする仮想マシン制御プログラム。
【請求項５】
所定の負荷状態を超える負荷を仮想マシンに与える処理を行うダミープロセスと，前記仮想マシンの負荷状態が所定の負荷状態より低い期間が所定の待機時間以上継続した場合に起動するアシストプロセスとが実行される仮想マシンを制御するコンピュータが，
複数の仮想マシン各々の資源の使用状況の情報を取得し，
前記資源の使用状況の情報に基づく負荷状態が所定の負荷状態以上である仮想マシンを特定し，
前記特定された仮想マシンの数に応じて，前記複数の仮想マシン各々で実行されるダミープロセスの稼動状態をアイドル状態またはアクティブ状態のいずれかに制御する処理を実行し，
前記アイドル状態は，前記ダミープロセスが実行指示を待つ稼動状態であり，前記アクティブ状態は，前記ダミープロセスが前記所定の負荷状態を超える負荷を仮想マシンに与える処理を前記待機時間より短い間隔で実行する稼動状態である
ことを特徴とする仮想マシン制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，仮想マシンの動作を制御する仮想マシン制御装置，仮想マシン制御プログラムおよび仮想マシン制御方法に関するものである。
【背景技術】
【０００２】
１台の物理マシンの資源で複数の仮想マシンを動作させる仮想マシンシステムの技術がある。仮想マシンシステムでは，複数の仮想マシンが，１台の物理マシンが備えるＣＰＵ（Central Processing Unit ）やメモリなどの資源を共有する。このような仮想マシンシステムにおいて，物理マシン上で動作する各仮想マシンに対して，該物理マシンの資源を動的に割り当てる技術が知られている。
【０００３】
なお，待機中に起動されるアイドルタスクに代わってダミータスクを起動させることにより，待機中のＣＰＵから発生する電磁波ノイズを抑制する技術が知られている。また，ＬＰＡＲ（Logical PARtitioning）処理よりも優先度の高い共有処理を，アイドル状態のＬＰＡＲに割り当てられているＣＰＵに優先的に割り当てることで，全ビジー状態のＬＰＡＲ処理を沈み込ませることを防止する技術が知られている。また，各ＯＳ（Operating System）で実行しているプロセスの優先順位を計算機内で共通の優先順位に変換し，より高い優先順位を有するＯＳを優先的に実行させる技術が知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１８１５７８号公報
【特許文献２】特開２０００−２９３２５４号公報
【特許文献３】特開２００８−１８６１３６号公報
【特許文献４】特開２０００−２４２５１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
マシン上で動作するプロセスには，該マシンが長期間に渡って低負荷の状況にある場合に起動されるプロセスがある。このようなプロセスには，例えば，デスクトップ検索用のインデックスを作成するツールのプロセスなどがある。ここでは，このようなプロセスを，アシストプロセスと呼ぶものとする。アシストプロセスには，大量の資源を使用する高負荷なアシストプロセスもある。
【０００６】
アシストプロセスは，マシンが低負荷のときに動作するので，大抵の場合，他のプロセスの処理にほとんど影響しない。しかし，各仮想マシンに対して物理マシンの資源を動的に割り当てる環境では，ある仮想マシンでアシストプロセスが動作すると，その仮想マシンが，物理マシンの資源を大量に消費してしまう可能性がある。そのため，ある仮想マシンで動作するアシストプロセスが，同じ物理マシン上で動作する他の仮想マシン上のプロセスの動きを妨げる可能性がある。
【０００７】
デスクトップ検索用のインデックスを作成するツールなどのように，アシストプロセスのアプリケーションには便利なものも多く，他の仮想マシンで動作するプロセスへの影響が少ないタイミングでアシストプロセスが動作する分には，問題はない。そのため，仮想マシンシステムにおいて，各仮想マシンの動作状況に応じてアシストプロセスの実行を制御するために，各仮想マシンの負荷状況を制御する仕組みが望まれる。
【０００８】
一側面では，本発明は，仮想マシンシステムにおいて，各仮想マシンの動作状況に応じて，各仮想マシンの負荷状況を制御する技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の一態様では，仮想マシン制御装置は，所定の負荷状態を超える負荷を仮想マシンに与える処理を行うダミープロセスと，前記仮想マシンの負荷状態が所定の負荷状態より低い期間が所定の待機時間以上継続した場合に起動するアシストプロセスとが実行される仮想マシンを制御する仮想マシン制御装置であって，複数の仮想マシン各々の資源の使用状況の情報を取得する取得部と，資源の使用状況の情報に基づく負荷状態が所定の負荷状態以上である仮想マシンを特定する判断部と，特定された仮想マシンの数に応じて，複数の仮想マシン各々で実行されるダミープロセスの稼動状態をアイドル状態またはアクティブ状態のいずれかに制御する制御部とを備える。ダミープロセスのアイドル状態は，ダミープロセスが実行指示を待つ稼動状態であり，アクティブ状態は，ダミープロセスが所定の負荷状態を超える負荷を仮想マシンに与える処理を待機時間より短い間隔で実行する稼動状態である。
【発明の効果】
【００１０】
１態様では，仮想マシンシステムにおいて，各仮想マシンの動作状況に応じて，各仮想マシンの負荷状況を制御することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】本実施の形態による仮想マシンシステムの構成例を示す図である。
【図２】本実施の形態による仮想マシンシステムの物理マシンを実現するコンピュータのハードウェア構成例を示す図である。
【図３】本実施の形態のダミープロセスの稼動状態の制御によるアシストプロセスの実行制御の例を説明する図である。
【図４】本実施の形態による各ＶＭの負荷状況に応じたダミープロセスの稼動状態の制御を説明する図である。
【図５】本実施の形態によるダミープロセス管理テーブルの例を示す図である。
【図６】実施の形態の仮想マシン制御部による仮想マシン制御処理フローチャートである。
【発明を実施するための形態】
【００１２】
以下，本実施の形態について，図を用いて説明する。
【００１３】
図１は，本実施の形態による仮想マシンシステムの構成例を示す図である。
【００１４】
仮想マシンシステムは，１台の物理マシン上で複数台の仮想マシンが動作するシステムである。以下では，仮想マシンを，ＶＭ（Virtual Machine ）とも呼ぶ。図１に示す仮想マシンシステム１０の例では，ＣＰＵ（Central Processing Unit ）やメモリなどの物理マシン１１の資源を使用して，３台のＶＭ１３，すなわちＶＭ（＃１）１３ａ，ＶＭ（＃２）１３ｂ，ＶＭ（＃３）１３ｃが動作している。
【００１５】
各ＶＭ１３ａ〜ｃは，それぞれ，ゲストＯＳ（Operating System）などとも呼ばれるＯＳ１３１ａ〜ｃを備える。各ＶＭ１３ａ〜ｃでは，それぞれ，ＯＳ１３１ａ〜ｃ上で，通常プロセス１３２ａ〜ｃ，アシストプロセス１３３ａ〜ｃ，ダミープロセス１３４ａ〜ｃなどの各プロセスが動作する。なお，本実施の形態では，通常プロセス１３２は，アシストプロセス１３３やダミープロセス１３４以外のプロセスを示すものとする。
【００１６】
本実施の形態によるアシストプロセス１３３は，ＶＭ１３が長期間に渡って低負荷の状況にある場合に起動されるプロセスである。アシストプロセスのアプリケーションとしては，例えば，デスクトップ検索用のインデックスを作成するツールなどがある。アシストプロセスには，大量の資源を消費する高負荷なアシストプロセスもある。
【００１７】
ダミープロセス１３４は，ＶＭ１３に所定の負荷を与えるプロセスである。本実施の形態によるダミープロセス１３４の稼動状態には，アイドル状態とアクティブ状態とがある。稼動状態がアイドル状態のときには，ダミープロセス１３４は，外部からの制御指示を待つ。稼動状態がアクティブ状態のときには，ダミープロセス１３４は，所定の時間間隔で所定以上の資源を使用する処理を実行する。
【００１８】
ハイパーバイザ１２は，仮想マシンモニタなどとも呼ばれ，ＣＰＵ（Central Processing Unit ）やメモリなどの物理マシン１１の資源管理や，各ＶＭ１３の管理・制御などを行う。ハイパーバイザ１２において，資源管理部１２１は，各ＶＭ１３が使用する物理マシン１１の資源を管理する。
【００１９】
仮想マシンシステム１０において，物理マシン１１を管理するハイパーバイザ１２は，資源管理部１２１によって，各ＶＭ１３の資源の使用状況を得ることができる。しかし，各ＶＭ１３による資源の使用状況から，各ＶＭ１３内部で動作しているプロセスが，通常プロセス１３２であるのか，アシストプロセス１３３であるのかを識別することはできない。ハイパーバイザ１２が，各ＶＭ１３で動作するプロセスがアシストプロセス１３３であるか否かを判断するには，各ＶＭ１３の内部情報を取得し，その内部情報から具体的にプロセスを識別する仕組みが必要となる。このような仕組みの構築は容易ではなく，ハイパーバイザ１２が，各ＶＭ１３の内部情報からアシストプロセス１３３の稼動を識別して，アシストプロセス１３３の実行を制御することは難しい。
【００２０】
本実施の形態では，各ＶＭ１３で動作するプロセスがアシストプロセス１３３であるか否かを識別できなくても，仮想マシンシステム１０の状況に応じて，各ＶＭ１３におけるアシストプロセス１３３の実行を制御することが可能となる技術を提案する。
【００２１】
本実施の形態のハイパーバイザ１２は，仮想マシン制御部１２２を備える。仮想マシン制御部１２２は，各ＶＭ１３による資源の使用状況から，各ＶＭ１３の負荷状況を判断し，各ＶＭ１３の負荷状況に基づいて各ＶＭ１３のダミープロセス１３４の稼動状態を制御することにより，各ＶＭ１３におけるアシストプロセス１３３の実行を制御する。仮想マシン制御部１２２は，取得部１２３，判断部１２４，制御部１２５，管理情報記憶部１２６を備える。
【００２２】
取得部１２３は，資源管理部１２１から，複数のＶＭ１３のそれぞれによる資源の使用状況の情報を取得する。取得する資源の使用状況の情報としては，例えば，各ＶＭ１３のＣＰＵ使用率や，メモリ使用量，Ｉ／Ｏ使用量などの情報がある。
【００２３】
判断部１２４は，取得部１２３により取得された資源の使用状況の情報に基づいて，各ＶＭ１３の負荷状況を判断する。このとき，判断部１２４は，資源の使用量が設定された基準値以上であるＶＭ１３を，高負荷なＶＭ１３であると判断する。なお，負荷状況の判断に用いる資源については，任意の設計が可能である。
【００２４】
制御部１２５は，高負荷なＶＭ１３の数に応じて，各ＶＭ１３において動作するダミープロセス１３４の稼動状態を制御する。例えば，制御部１２５は，高負荷なＶＭ１３の数が所定の第１の基準数以上である場合に，高負荷なＶＭ１３が有するダミープロセス１３４の稼動状態をアイドル状態に制御し，高負荷なＶＭ１３以外のＶＭ１３が有するダミープロセス１３４の稼動状態をアクティブ状態に制御する。また，例えば，制御部１２５は，高負荷なＶＭ１３の数が所定の第２の基準数以上である場合に，全ＶＭ１３が有するダミープロセス１３４の稼動状態をアクティブ状態に制御する。
【００２５】
管理情報記憶部１２６は，各ＶＭ１３のダミープロセス１３４の稼動状態を管理する情報を記憶する記憶部である。
【００２６】
図２は，本実施の形態による仮想マシンシステムの物理マシンを実現するコンピュータのハードウェア構成例を示す図である。
【００２７】
図１に示す本実施の形態の仮想マシンシステム１０の物理マシン１１を実現するコンピュータ１は，例えば，ＣＰＵ２，主記憶となるメモリ３，記憶装置４，通信装置５，媒体読取・書込装置６，入力装置７，出力装置８等を備える。記憶装置４は，例えばＨＤＤ（Hard Disk Drive ）などである。媒体読取・書込装置６は，例えばＣＤ−Ｒ（Compact Disc Recordable ）ドライブやＤＶＤ−Ｒ（Digital Versatile Disc Recordable ）ドライブなどである。入力装置７は，例えばキーボード・マウスなどである。出力装置８は，例えばディスプレイ等の表示装置などである。
【００２８】
図１に示す各ＶＭ１３，ハイパーバイザ１２およびハイパーバイザ１２が備える各機能部は，コンピュータ１が備えるＣＰＵ２，メモリ３等のハードウェアと，ソフトウェアプログラムとによって実現することが可能である。コンピュータ１が実行可能なプログラムは，記憶装置４に記憶され，その実行時にメモリ３に読み出され，ＣＰＵ２により実行される。
【００２９】
コンピュータ１は，可搬型記録媒体から直接プログラムを読み取り，そのプログラムに従った処理を実行することもできる。また，コンピュータ１は，サーバコンピュータからプログラムが転送されるごとに，逐次，受け取ったプログラムに従った処理を実行することもできる。さらに，このプログラムは，コンピュータ１で読み取り可能な記録媒体に記録しておくことができる。
【００３０】
図３は，本実施の形態のダミープロセスの稼動状態の制御によるアシストプロセスの実行制御の例を説明する図である。
【００３１】
ここでは，図３を用いて，あるＶＭ１３について，通常プロセス１３２の動作終了後に，ダミープロセス１３４の稼動状態によって，アシストプロセス１３３の実行がどのように制御されるかを説明する。このＶＭ１３では，通常プロセス１３２の動作終了後に，ＶＭ１３の資源使用量が破線で示すライン以下となったものとする。なお，当初の通常プロセス１３２の動作している状態では，ダミープロセス１３４の稼動状態が，アイドル状態であったものとする。
【００３２】
図３に示す各グラフは，時間の経過におけるＶＭ１３の資源使用量の変化を示している。図３に示す各グラフにおいて，破線で示す資源使用量のラインは，アシストプロセス１３３の実行を判断する資源使用量のラインを示す。ここでは，ＶＭ１３において，資源使用量が破線で示すラインの値以下である状況が所定の時間間隔△Ｔ1 以上続いた場合に，ＶＭ１３が長期間に渡って低負荷の状況にあると判断され，アシストプロセス１３３の動作が開始されるものとする。
【００３３】
図３（Ａ）は，通常プロセス１３２の動作終了後に，ダミープロセス１３４がアイドル状態のままである場合の例を示す。本実施の形態では，ダミープロセス１３４がアイドル状態である場合には，制御指示を待つだけの処理しか行われていないので，ダミープロセス１３４による資源の使用量は，ごく少ない。ダミープロセス１３４がアイドル状態のままである場合には，ＶＭ１３の資源使用量は，そのまま破線で示すライン以下の状態で推移する。
【００３４】
図３（Ａ）に示すように，ＶＭ１３の資源使用量が破線で示すライン以下である状態が△Ｔ1 続いたところで，アシストプロセス１３３の動作が開始され，ＶＭ１３の資源使用量が上昇する。このように，ダミープロセス１３４をアイドル状態に制御することで，アシストプロセス１３３を実行可能に制御することができる。
【００３５】
図３（Ｂ）は，通常プロセス１３２の動作終了後に，ダミープロセス１３４の稼動状態がアクティブ状態に制御された場合の例を示す。ここでは，ＶＭ１３において，通常プロセス１３２の動作終了後に，ダミープロセス１３４がアイドル状態からアクティブ状態に制御変更されたものとする。
【００３６】
本実施の形態では，アクティブ状態であるダミープロセス１３４は，所定の時間間隔△Ｔ2 で，所定以上の資源を使用する演算処理を実行する。所定の時間間隔△Ｔ2 は，△Ｔ1 より短い時間間隔である。また，所定以上の資源を使用する演算処理は，破線で示すライン以上の資源を使用する演算処理である。所定の時間間隔△Ｔ2 の設定や，所定以上の資源を使用する演算処理の設計については，アシストプロセス１３３の実行を抑制できる程度であれば，任意の設計が可能である。
【００３７】
図３（Ｂ）に示すように，ダミープロセス１３４がアクティブ状態である間は，△Ｔ2 の時間間隔で，ＶＭ１３の資源使用量が破線のラインを超える。そのため，ＶＭ１３の資源使用量が破線で示すライン以下である状態が続かず，アシストプロセス１３３は動作しない。このように，ダミープロセス１３４をアクティブ状態に制御することで，アシストプロセス１３３の実行を抑制することができる。
【００３８】
なお，通常プロセス１３２の実行にはアシストプロセス１３３実行時のような資源使用量の条件がないので，ダミープロセス１３４の稼動状態がアクティブ状態であっても，通常プロセス１３２の実行は随時可能である。また，ダミープロセス１３４がアクティブ状態であっても，△Ｔ2 の時間間隔で一時的に資源使用量が上がるだけであるので，通常プロセス１３２に対するダミープロセス１３４による処理負荷の影響は，ほとんどない。
【００３９】
図４は，本実施の形態による各ＶＭの負荷状況に応じたダミープロセスの稼動状態の制御を説明する図である。
【００４０】
図４では，図１に示す仮想マシンシステム１０における各ＶＭ１３の負荷状況の具体的なパターンごとに，各ＶＭ１３のダミープロセス１３４に対する具体的な稼動状態の制御の例が示されている。ここでは，高負荷なＶＭ１３の数のしきい値を示す所定の第１の基準数が１台であり，高負荷なＶＭ１３の数のしきい値を示す所定の第２の基準数が２台であるものとする。なお，図４における各ＶＭ１３の負荷状況では，判断部１２４により高負荷なＶＭ１３であると判断されなかったＶＭ１３については，すべて低負荷なＶＭ１３として記されており，このことは特別に低負荷であることを意味するものではない。
【００４１】
図４のパターン１は，高負荷なＶＭ１３の数が０台である場合におけるダミープロセス１３４の稼動状態制御の例を示す。この例は，高負荷なＶＭ１３の数が第１の基準数未満である場合の例である。高負荷なＶＭ１３の数が第１の基準数未満である場合には，制御部１２５は，すべてのＶＭ１３のダミープロセス１３４の稼動状態を，アイドル状態に制御する。図４のパターン１に示すように，すべてのＶＭ１３のダミープロセス１３４の稼動状態が，アイドル状態に制御される。
【００４２】
高負荷なＶＭ１３の数が第１の基準数未満である場合には，すべてのＶＭ１３のダミープロセス１３４の稼動状態がアイドル状態に制御されるので，いずれのＶＭ１３でも，新たなアシストプロセス１３３の実行が可能となる。
【００４３】
図４のパターン２は，高負荷なＶＭ１３の数が１台である場合におけるダミープロセス１３４の稼動状態制御の例を示す。この例は，高負荷なＶＭ１３の数が第１の基準数以上，第２の基準数未満である場合の例である。高負荷なＶＭ１３の数が第１の基準数以上，第２の基準数未満である場合には，制御部１２５は，高負荷なＶＭ１３のダミープロセス１３４の稼動状態をアイドル状態に制御し，その他のＶＭ１３のダミープロセス１３４の稼動状態をアクティブ状態に制御する。図４のパターン２に示すように，高負荷なＶＭ（＃１）１３ａのダミープロセス１３４ａのみがアイドル状態に制御され，他のＶＭ（＃２）１３ｂ，ＶＭ（＃３）１３ｃのＶＭ１３のダミープロセス１３４ｂ，ｃはアクティブ状態に制御される。
【００４４】
高負荷なＶＭ１３の数が第１の基準数以上，第２の基準数未満である場合には，新たなアシストプロセス１３３の実行が抑制される。ただし，すでに高負荷なＶＭ１３のいずれかでアシストプロセス１３３が動作していても問題ないものとして，そのアシストプロセス１３３の動作は妨げられない。このように，本実施の形態による第１の基準数は，新たなアシストプロセス１３３の実行を許容するか否かを判定する基準数を示している。
【００４５】
図４のパターン３は，高負荷なＶＭ１３の数が２台である場合におけるダミープロセス１３４の稼動状態制御の例を示す。この例は，高負荷なＶＭ１３の数が第２の基準数以上である場合の例である。高負荷なＶＭ１３の数が第２の基準数以上である場合には，制御部１２５は，すべてのＶＭ１３のダミープロセス１３４の稼動状態を，アクティブ状態に制御する。図４のパターン３に示すように，すべてのＶＭ１３のダミープロセス１３４の稼動状態が，アクティブ状態に制御される。
【００４６】
高負荷なＶＭ１３の数が第２の基準数以上である場合には，新たなアシストプロセス１３３の実行が抑制される。さらに，すでに高負荷なＶＭ１３でアシストプロセス１３３が動作している場合でも，そのアシストプロセス１３３の動作が停止される。なお，ダミープロセス１３４がアクティブ状態であっても，一時的に資源使用量が上がるだけであるので，すでに動作している通常プロセス１３２に対する影響はほとんどない。このように，本実施の形態による第２の基準数は，すでに実行されているアシストプロセス１３３の動作を停止するか否かを判定する基準数を示している。
【００４７】
なお，第１の基準数や第２の基準数については，任意の設定が可能である。例えば，１台の物理マシン１１上で１０台のＶＭ１３が動作する仮想マシンシステム１０において，第１の基準数を３台に設定し，第２の基準数を５台に設定するなどは任意である。
【００４８】
また，図４に示す例では，第１の基準数の条件と第２の基準数の条件とを同時に用いた，ダミープロセス１３４の稼動状態の制御の例を示した。第１の基準数と第２の基準数とのいずれか一方の条件のみを用いて，ダミープロセス１３４の稼動状態を制御するようにしてもよい。例えば，第１の基準数の条件のみを用いる場合には，図４のパターン３に示す制御が行われず，高負荷なＶＭ１３の数が第１の基準数以上で，すべて図４のパターン２に示す制御が行われる。また，例えば，第２の基準数の条件のみを用いる場合には，図４のパターン２に示す制御が行われず，高負荷なＶＭ１３の数が第２の基準数未満で，すべて図４のパターン１に示す制御が行われる。
【００４９】
図５は，本実施の形態によるダミープロセス管理テーブルの例を示す図である。
【００５０】
図５に示すダミープロセス管理テーブル１２７は，管理情報記憶部１２６に記憶された，各ＶＭ１３のダミープロセス１３４の稼動状態を管理する情報の一例である。ダミープロセス管理テーブル１２７は，仮想マシン名，稼動状態の情報を持つ。仮想マシン名は，ＶＭ１３を一意に識別する識別情報である。稼動状態は，ＶＭ１３が有するダミープロセス１３４の稼動状態を示す。
【００５１】
制御部１２５は，管理情報記憶部１２６に記憶されたダミープロセス管理テーブル１２７に，各ＶＭ１３のダミープロセス１３４の稼動状態を記録しておく。本実施の形態の制御部１２５は，ダミープロセス管理テーブル１２７を参照し，稼動状態の制御変更が必要なＶＭ１３のダミープロセス１３４に対してのみ，稼動状態変更の制御指示を送ることで，ダミープロセス１３４の稼動状態を制御する。
【００５２】
例えば，アクティブ状態の制御指示を受けたアイドル状態のダミープロセス１３４は，自身の稼動状態をアクティブ状態に変更する。また，例えば，アイドル状態の制御指示を受けたアクティブ状態のダミープロセス１３４は，自身の稼動状態をアイドル状態に変更する。
【００５３】
図６は，本実施の形態の仮想マシン制御部による仮想マシン制御処理フローチャートである。
【００５４】
本実施の形態の仮想マシン制御部１２２は，図６のフローチャートに示す仮想マシン制御処理を，一定の時間間隔で繰り返し実行する。
【００５５】
ハイパーバイザ１２の仮想マシン制御部１２２において，取得部１２３は，資源管理部１２１から，各ＶＭ１３の資源の使用状況の情報を取得する（ステップＳ１０）。
【００５６】
判断部１２４は，取得された資源の使用状況の情報から，各ＶＭ１３の負荷状況を判断する（ステップＳ１１）。ここでは，判断部１２４は，資源の使用量が所定以上のＶＭ１３を，高負荷なＶＭ１３であると判断する。
【００５７】
制御部１２５は，高負荷なＶＭ１３の数が１台以上であるかを判定する（ステップＳ１２）。この判定は，第１の基準数による判定の例である。ここでは，第１の基準数が１台であるものとする。
【００５８】
高負荷なＶＭ１３の数が１台以上でなければ（ステップＳ１２のＮＯ），すなわち高負荷なＶＭ１３の数が０台であれば，制御部１２５は，全ＶＭ１３のダミープロセス１３４の稼動状態をアイドル状態に制御する（ステップＳ１３）。例えば，制御部１２５は，ダミープロセス管理テーブル１２７を参照し，稼動状態がアクティブ状態であるダミープロセス１３４に対して，アイドル状態に制御する信号を送る。制御部１２５は，ダミープロセス１３４の稼動状態の変更に従って，ダミープロセス管理テーブル１２７を更新する（ステップＳ１８）。
【００５９】
高負荷なＶＭ１３の数が１台以上であれば（ステップＳ１２のＹＥＳ），制御部１２５は，高負荷なＶＭ１３の数が２台以上であるかを判定する（ステップＳ１４）。この判定は，第２の基準数による判定の例である。ここでは，第２の基準数が２台であるものとする。
【００６０】
高負荷なＶＭ１３の数が２台以上でなければ（ステップＳ１４のＮＯ），すなわち高負荷なＶＭ１３の数が１台であれば，制御部１２５は，高負荷なＶＭ１３のダミープロセス１３４の稼動状態をアイドル状態に制御する（ステップＳ１５）。また，制御部１２５は，高負荷なＶＭ１３以外のＶＭ１３のダミープロセス１３４の稼動状態をアクティブ状態に制御する（ステップＳ１６）。例えば，制御部１２５は，ダミープロセス管理テーブル１２７を参照し，高負荷なＶＭ１３のダミープロセス１３４の稼動状態がアクティブ状態であれば，そのダミープロセス１３４に対してアイドル状態に制御する信号を送る。また，制御部１２５は，高負荷なＶＭ１３以外のＶＭ１３のダミープロセス１３４の稼動状態がアイドル状態であれば，そのダミープロセス１３４に対してアクティブ状態に制御する信号を送る。制御部１２５は，ダミープロセス１３４の稼動状態の変更に従って，ダミープロセス管理テーブル１２７を更新する（ステップＳ１８）。
【００６１】
高負荷なＶＭ１３の数が２台以上であれば（ステップＳ１４のＹＥＳ），制御部１２５は，全ＶＭ１３のダミープロセス１３４の稼動状態をアクティブ状態に制御する（ステップＳ１７）。例えば，制御部１２５は，ダミープロセス管理テーブル１２７を参照し，稼動状態がアイドル状態であるダミープロセス１３４に対して，アクティブ状態に制御する信号を送る。制御部１２５は，ダミープロセス１３４の稼動状態の変更に従って，ダミープロセス管理テーブル１２７を更新する（ステップＳ１８）。
【００６２】
以上説明した技術によって，各ＶＭ１３の動作状況に応じて各ＶＭ１３の負荷状況を制御することで，各ＶＭ１３におけるアシストプロセス１３３の実行状況が分からなくても，各ＶＭ１３の動作状況に応じて，アシストプロセス１３３の実行を制御することが可能となる。これにより，あるＶＭ１３でアシストプロセス１３３が動作することによる，他の高負荷なＶＭ１３の処理性能低下を，抑制することが可能となる。
【００６３】
以上，本実施の形態について説明したが，本発明はその主旨の範囲において種々の変形が可能であることは当然である。
【符号の説明】
【００６４】
１０  仮想マシンシステム
１１  物理マシン
１２  ハイパーバイザ
１２１  資源管理部
１２２  仮想マシン制御部
１２３  取得部
１２４  判断部
１２５  制御部
１２６  管理情報記憶部
１３  ＶＭ
１３１  ＯＳ
１３２  通常プロセス
１３３  アシストプロセス
１３４  ダミープロセス
【図１】
0005737087.tif 000002
【図２】
0005737087.tif 000003
【図３】
0005737087.tif 000004
【図４】
0005737087.tif 000005
【図５】
0005737087.tif 000006
【図６】
0005737087.tif 000007