(57)【要約】【課題】マイグレーション処理を効率化する。【解決手段】  記憶装置は、仮想マシンに割り当てられている計算機資源を示す割り当て情報と、仮想マシンが使用している計算機資源を示す使用情報とを記憶する。情報処理装置は、装置内で稼働中の仮想マシンが使用している計算機資源の使用情報を記憶装置から取得する。次に、情報処理装置は、計算機資源の使用量の指標が閾値を超えており、装置内で仮想マシンに追加で割り当てる計算機資源が不足している場合、引き継ぎ先の情報処理装置を選択する。このとき、記憶装置内の割り当て情報に基づいて、仮想マシンに割り当てられている計算機資源よりも多くの未使用である計算機資源を有する情報処理装置が選択される。そして、第１の情報処理装置は、仮想マシンに割り当てられている計算機資源よりも多くの計算機資源を割り当てる割り当て情報を記憶装置に書き込み、選択した情報処理装置に仮想マシンの処理を引き継がせる。【選択図】図３
2016038888.tif 000002
【特許請求の範囲】
【請求項１】
１以上の仮想マシンを実行可能な複数の情報処理装置を備える情報処理システムであって、
前記情報処理システムは、
前記１以上の仮想マシンに割り当てられている計算機資源を示す割り当て情報と、前記１以上の仮想マシンが使用している計算機資源を示す使用情報とを記憶する記憶装置を備え、
前記複数の情報処理装置のうち第１の情報処理装置は、
前記第１の情報処理装置内で稼働中の仮想マシンが使用している計算機資源の前記使用情報を前記記憶装置から取得する取得部と、
前記使用情報に基づく計算機資源の使用量の指標が所定の閾値を超えており、前記第１の情報処理装置内で前記稼働中の仮想マシンに追加で割り当てる計算機資源が不足している場合、前記記憶装置が記憶する前記割り当て情報に基づいて、前記複数の情報処理装置のうち、前記稼働中の仮想マシンに割り当てられている計算機資源よりも多くの未使用である計算機資源を有する第２の情報処理装置を、前記稼働中の仮想マシンの処理を引き継ぐ情報処理装置として選択する選択部と、
前記稼働中の仮想マシンに割り当てられている計算機資源よりも多くの計算機資源を前記稼働中の仮想マシンに割り当てる割り当て情報を前記記憶装置に書き込み、前記第２の情報処理装置に前記稼働中の仮想マシンの処理を引き継がせる処理部と、
を備える情報処理システム。
【請求項２】
前記第２の情報処理装置は、前記記憶装置に書き込まれた前記割り当て情報に基づいて、前記稼働中の仮想マシンの処理を引き継ぐ
ことを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記取得部は、前記第１の情報処理装置内で稼働中の仮想マシンが使用している計算機資源の前記使用情報を取得し、所定の契機で前記記憶装置の前記使用情報を更新する
ことを特徴とする請求項１に記載の情報処理システム。
【請求項４】
１以上の仮想マシンを実行可能な複数の情報処理装置を備えるシステムにおいて、
前記システムは、前記１以上の仮想マシンに割り当てられている計算機資源を示す割り当て情報と、前記１以上の仮想マシンが使用している計算機資源を示す使用情報とを記憶する記憶装置を備え、
前記複数の情報処理装置のうち第１の情報処理装置が、
前記第１の情報処理装置内で稼働中の仮想マシンが使用している計算機資源の前記使用情報を前記記憶装置から取得し、
前記使用情報に基づく計算機資源の使用量の指標が所定の閾値を超えており、前記第１の情報処理装置内で前記稼働中の仮想マシンに追加で割り当てる計算機資源が不足している場合、前記記憶装置が記憶する前記割り当て情報に基づいて、前記複数の情報処理装置のうち、前記稼働中の仮想マシンに割り当てられている計算機資源よりも多くの未使用である計算機資源を有する第２の情報処理装置を、前記稼働中の仮想マシンの処理を引き継ぐ情報処理装置として選択し、
前記稼働中の仮想マシンに割り当てられている計算機資源よりも多くの計算機資源を前記稼働中の仮想マシンに割り当てる割り当て情報を前記記憶装置に書き込み、前記第２の情報処理装置に前記稼働中の仮想マシンの処理を引き継がせる、
ことを特徴とする情報処理方法。
【請求項５】
前記第２の情報処理装置は、前記記憶装置に書き込まれた前記割り当て情報に基づいて、前記稼働中の仮想マシンの処理を引き継ぐ
ことを特徴とする請求項４に記載の情報処理方法。
【請求項６】
１以上の仮想マシンを実行可能な複数の情報処理装置を備えるシステムにおいて、
前記システムは、前記１以上の仮想マシンに割り当てられている計算機資源を示す割り当て情報と、前記１以上の仮想マシンが使用している計算機資源を示す使用情報とを記憶する記憶装置を備え、
前記複数の情報処理装置のうち第１の情報処理装置に、
前記第１の情報処理装置内で稼働中の仮想マシンが使用している計算機資源の前記使用情報を前記記憶装置から取得し、
前記使用情報に基づく計算機資源の使用量の指標が所定の閾値を超えており、前記第１の情報処理装置内で前記稼働中の仮想マシンに追加で割り当てる計算機資源が不足している場合、前記記憶装置が記憶する前記割り当て情報に基づいて、前記複数の情報処理装置のうち、前記稼働中の仮想マシンに割り当てられている計算機資源よりも多くの未使用である計算機資源を有する第２の情報処理装置を、前記稼働中の仮想マシンの処理を引き継ぐ情報処理装置として選択し、
前記稼働中の仮想マシンに割り当てられている計算機資源よりも多くの計算機資源を前記稼働中の仮想マシンに割り当てる割り当て情報を前記記憶装置に書き込み、前記第２の情報処理装置に前記稼働中の仮想マシンの処理を引き継がせる処理を、
実行させる情報処理プログラム。
【請求項７】
前記第２の情報処理装置は、前記記憶装置に書き込まれた前記割り当て情報に基づいて、前記稼働中の仮想マシンの処理を引き継ぐ
ことを特徴とする請求項６に記載の情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理方法及び情報処理プログラムに関する。
【背景技術】
【０００２】
近年、仮想化技術の進化に伴い、サーバを仮想化して運営するデータセンタや企業が増えてきている。仮想化したサーバを複数運営するデータセンタでは、複数の仮想サーバを一括して管理することが望まれる。
【０００３】
図１は、管理サーバを用いた仮想化システムの例を説明する図である。図１の仮想化システム１００は、サーバ１１０ａ、サーバ１１０ｂ、及び管理サーバ１２０を備える。サーバ１１０ａ、サーバ１１０ｂ、及び管理サーバ１２０は、通信ネットワークで接続されている。サーバ１１０ａは、Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ（ＶＭ）１１１ａ〜ＶＭ１１１ｃとハイパーバイザー１１２ａを備える。サーバ１１０ｂは、ＶＭ１１１ｄ、ＶＭ１１１ｅ、及びハイパーバイザー１１２ｂを備える。ＶＭ１１１は、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＣＰＵ）、メモリ、及びＩＯ機器を含む各種デバイスを実装した１つのサーバ１１０を、あたかも複数のサーバであるかのように論理的に分割して運用される仮想マシンである。ＶＭ１１１ａ〜ＶＭ１１１ｃは、サーバ１１０ａ内で動作する仮想マシンである。ＶＭ１１１ｄ〜ＶＭ１１１ｅは、サーバ１１０ｂ内で動作する仮想マシンである。ＶＭ１１１の各々は、Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ（ＯＳ）やアプリケーションを動作させることができる。ハイパーバイザー１１２は、各ＶＭ１１１を管理する。例えば、ハイパーバイザー１１２ａは、ＶＭ１１１ａ〜ＶＭ１１１ｃを管理する。ハイパーバイザー１１２ｂは、ＶＭ１１１ｄ〜ＶＭ１１１eを管理する。
【０００４】
管理サーバ１２０は、サーバ１１０ａとサーバ１１０ｂを管理するサーバである。管理サーバ１２０は、定期的に、各サーバ１１０に問い合わせを行い、ハイパーバイザー１１２又は各ＶＭ１１１から各種デバイスの使用情報を取得し、記憶する。また、管理サーバ１２０は、サーバ１１０ａとサーバ１１０ｂのＶＭ１１１の管理情報及び各種デバイスの割り当て情報、各ＶＭの使用情報などを保持することで、各ＶＭ１１１を管理する。各種デバイスの割り当て情報は、例えば、ＶＭ１１１が使用可能なデバイスであるＣＰＵ、メモリ、ＩＯ機器などの割り当て量の割り当て情報も含む。
【０００５】
管理サーバ１２０は、保持している使用情報を用いて、稼働中のＶＭ１１１に割り当てられているデバイスの割り当て量と、ＶＭ１１１に割り当てられているデバイスの割り当て量のうちの使用しているデバイス量である使用量を監視する。例えば、実行している処理量が多いＶＭ１１１ａは、処理量に伴いデバイスの使用量も増える。ＶＭ１１１ａの処理性能を高めるため、管理サーバ１２０が、ＶＭ１１１ａのデバイスの使用量が所定の閾値よりも大きい場合に、サーバ１１０ａ内で追加のデバイスを割り当てるのが好ましい。追加のデバイスを割り当てる際に、サーバ１１０ａ内で、ＶＭ１１１に追加のデバイスを割り当てられない場合、管理サーバ１２０は、ＶＭ１１１ａの処理を他のサーバ１１０ｂに引き継ぐマイグレーション処理をする。マイグレーションは、ＶＭ１１１の割り当て情報と実行する処理を、他のサーバ１１０ｂに移行する処理である。
【０００６】
管理サーバ１２０が、ＶＭ１１１が使用するデバイスの使用量などを監視し、ＶＭ１１１が使用するデバイスを制御する。このようにすることで、データセンタは、人手を用いることなく管理される。
【０００７】
仮想マシンを動作させる情報処理装置に障害があることを検知すると、別の仮想マシンに処理を引き継ぐ技術が知られている（例えば、特許文献１を参照）。
【０００８】
サーバの管理方法として、各処理装置の処理量を管理する技術が知られている（例えば、特許文献２を参照）。
【０００９】
管理サーバが負荷（CPU使用量、メモリ使用量）を監視し、マイグレーションを行う技術が知られている（例えば、特許文献３を参照）。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００９−８０７０４号公報
【特許文献２】特開平１１−８５５９２号公報
【特許文献３】特開２００８−２１７３０２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
図１の仮想化システム１００において、管理サーバ１２０は、定期的に使用情報を取得し、各種デバイスの使用状態を判定している。この取得処理は定期的に行われるため、管理サーバ１２０がＶＭ１１１のデバイスの使用量が所定の閾値を超えたことをすぐに検知することは困難である。同様に、管理サーバ１２０は、サーバ１１０ａ内でＶＭ１１１に追加で割り当てるデバイスが不足したとしても、すぐにデバイスの不足を検知することは困難である。言い換えると、ＶＭ１１１のデバイスの使用量が所定の閾値を超え、マイグレーションを実行したほうがよいにも関わらず、実際にマイグレーション処理が開始されるまでに時間がかかるという問題がある。
【００１２】
１つの側面において、本発明はマイグレーション処理を効率化することを目的とする。
【課題を解決するための手段】
【００１３】
情報処理システムは、１以上の仮想マシンを実行可能な複数の情報処理装置と記憶装置を備える。記憶装置は、１以上の仮想マシンに割り当てられている計算機資源を示す割り当て情報と、１以上の仮想マシンが使用している計算機資源を示す使用情報とを記憶する。複数の情報処理装置のうち第１の情報処理装置は、取得部、選択部、及び処理部を備える。取得部は、第１の情報処理装置内で稼働中の仮想マシンが使用している計算機資源の使用情報を記憶装置から取得する。選択部は、使用情報に基づく計算機資源の使用量の指標が所定の閾値を超えており、第１の情報処理装置内で稼働中の仮想マシンに追加で割り当てる計算機資源が不足している場合に処理をする。選択部は、記憶装置が記憶する割り当て情報に基づいて、複数の情報処理装置のうち、仮想マシンに割り当てられている計算機資源よりも多くの未使用である計算機資源を有する第２の情報処理装置を、仮想マシンの処理を引き継ぐ情報処理装置として選択する。処理部は、稼働中の仮想マシンに割り当てられている計算機資源よりも多くの計算機資源を稼働中の仮想マシンに割り当てる割り当て情報を記憶装置に書き込む。処理部は、第２の情報処理装置に稼働中の仮想マシンの処理を引き継がせる。
【発明の効果】
【００１４】
マイグレーション処理を効率化することができる。
【図面の簡単な説明】
【００１５】
【図１】管理サーバを用いた仮想化システムの例を説明する図である。
【図２】管理サーバを用いた仮想化システムの問題点の例を説明する図である。
【図３】本実施形態に係る仮想化システムの例を説明する図である。
【図４】サーバのハードウェア構成の例を示す。
【図５】管理情報の例を説明する図（その１）である。
【図６】マイグレーション元サーバの処理の例を説明するフローチャートである。
【図７】マイグレーション先サーバの処理の例を説明するフローチャートである。
【図８】管理情報の例を説明する図（その２）である。
【図９】予約閾値と上限閾値を用いたマイグレーションの例（その１）を説明するフローチャートである。
【図１０】予約閾値と上限閾値を用いたマイグレーションの例（その２）を説明するフローチャートである。
【発明を実施するための形態】
【００１６】
以下、図面を参照しながら、実施形態を詳細に説明する。
図２は、管理サーバを用いた仮想化システムの問題点の例を説明する図である。図２の仮想化システム１００において、図１と同じ構成要素には、図１と同じ符号を付す。仮想化システム１００は、サーバ１１０ａ、サーバ１１０ｂ、及び管理サーバ１２０を備える情報処理システムである。サーバ１１０は、更に複数あってもよい。サーバ１１０ａ、サーバ１１０ｂ、及び管理サーバ１２０は、通信ネットワークで接続されている。サーバ１１０ａは、ＶＭ１１１ａ〜ＶＭ１１１ｃ、ハイパーバイザー１１２ａ、及びプール１１３ａを備える。サーバ１１０ｂは、ＶＭ１１１ｄ、ＶＭ１１１ｅ、ハイパーバイザー１１２ｂ、及びプール１１３ｂを備える。
【００１７】
ＶＭ１１１は、ＣＰＵ、メモリ、ＩＯ機器を含む各種デバイスを計算機資源として実装した１つのサーバ１１０を、あたかも複数のサーバであるかのように論理的に分割して運用される仮想マシンである。ＶＭ１１１ａ〜ＶＭ１１１ｃは、サーバ１１０ａで動作する仮想マシンである。ＶＭ１１１ｄ〜ＶＭ１１１ｅは、サーバ１１０ｂで動作する仮想マシンである。ＶＭ１１１の各々は、ＯＳやアプリケーションを動作させることができる。ハイパーバイザー１１２は、取得部１１４及び処理部１１５を備え、各ＶＭ１１１を管理する。例えば、ハイパーバイザー１１２ａは、ＶＭ１１１ａ〜ＶＭ１１１ｃを管理する。ハイパーバイザー１１２ｂは、ＶＭ１１１ｄ〜ＶＭ１１１eを管理する。プール１１３は、サーバ１１０に搭載されている計算機資源のうち、ＶＭ１１１に割り当てられていない計算機資源の集合体である。
【００１８】
管理サーバ１２０は、サーバ１１０ａとサーバ１１０ｂを管理するサーバである。管理サーバ１２０は、管理部１２１及び記憶部１２２を備える。記憶部１２２は、ＶＭ１１１のドメイン情報、割り当て情報、及び使用情報を記憶している。ドメイン情報は、ドメイン名、ドメイン番号などＶＭ１１１を特定するための情報である。割り当て情報は、各ＶＭ１１１に割り当てられる計算機資源を示す情報である。使用情報は、ＶＭ１１１が使用している計算機資源を示す情報である。記憶部１２２が記憶している各情報は、管理部１２１が使用する情報である。管理部１２１は、監視部１２３、判定部１２４、選択部１２５、及び指示部１２６を備える。監視部１２３は、所定の契機で、稼働中のＶＭ１１１に割り当てられている計算機資源の割り当て量と、計算機資源の割り当て量のうちＶＭ１１１が使用している計算機資源の使用量とを監視する。監視部１２３は、所定の契機として例えば、所定の時間毎に監視をしてもよい。使用量の指標として、ＶＭ１１１が使用している計算機資源の個数を用いてもよく、割り当てられている計算機資源の個数のうちの使用している計算機資源の個数の割合を用いてもよい。監視部１２３の監視は、取得部１１４が取得した各サーバ１１０内のＶＭ１１１の使用情報を取得することで実現される。監視部１２３は、取得した使用情報を、記憶部１２２に記憶する。判定部１２４は、記憶部１２２に記憶された使用情報に基づいて、各ＶＭ１１１の計算機資源の使用量の指標が所定の閾値を超えているかを判定する。ここで、使用量の指標が、ＶＭ１１１が使用している計算機資源の個数である場合、閾値には、計算機資源の個数が設定される。使用量の指標が、割り当てられている計算機資源の個数のうちの使用している計算機資源の個数の割合である場合、閾値には、何らかの割合を示す値が設定される。選択部１２５は、計算機資源の使用量の指標が所定の閾値を超えているＶＭ１１１がある場合に、マイグレーション先のサーバを、使用情報を元に選択する。指示部１２６は、ＶＭ１１１に割り当てる計算機資源の割り当て量や、マイグレーションの指示をサーバ１１０に送信する。
【００１９】
ハイパーバイザー１１２の取得部１１４は、サーバ１１０内のＶＭ１１１の稼動状態として、計算機資源の使用情報を取得する。処理部１１５は、管理サーバ１２０側の指示に従い、計算機資源の割り当て量の変更やマイグレーション処理を実行する。
【００２０】
図２の仮想化システム１００において、管理サーバ１２０は、所定の契機で、使用情報を取得し、使用状態を判定している。この取得処理は所定の契機として、所定の時間毎に行われるため、管理サーバ１２０は、ＶＭ１１１の計算機資源の使用量の指標が所定の閾値を超えたことをすぐに検知することは困難である。同様に、管理サーバ１２０は、サーバ１１０ａ内でＶＭ１１１に追加で割り当てる計算機資源が不足したとしても、すぐに計算機資源の不足を検知することは困難である。更に、仮想化システム１００において、管理サーバ１２０が管理するサーバ１１０の台数が増えれば増えるほど、取得処理及び判定処理に時間がかかる。ＶＭ１１１の計算機資源の使用量の指標が所定の閾値を超え、マイグレーションを実行したほうがよいにも関わらず、実際にマイグレーション処理が開始されるまでに時間がかかるという問題がある。
【００２１】
更に、このような仮想化システム１００において、ＶＭ１１１が使用する計算機資源の使用量の指標が所定の閾値よりも大きく、追加で割り当てる計算機資源がサーバ１１０内で不足している場合に、管理サーバ１２０がすぐに検知できるのが好ましい。そのためには、管理サーバ１２０が、監視部１２３の監視処理の頻度を多くすればよい。しかし、多くのサーバ１１０やＶＭ１１１を保持するデータセンタでは、管理サーバ１２０が、監視処理の頻度を多くすると、ネットワーク負荷が高くなるという問題がある。一方、監視頻度が低い場合、管理サーバ１２０が、追加で割り当てる計算機資源がサーバ１１０内で不足していることを検知するまでに時間がかかるという問題がある。
【００２２】
図３は、本実施形態に係る仮想化システムの例を説明する図である。図３の仮想化システム２００は、サーバ２１０ａ、サーバ２１０ｂ、及び記憶装置２２０を備える情報処理システムである。仮想化システム２００は、サーバ２１０を更に備えていてもよい。サーバ２１０ａ、サーバ２１０ｂ、及び記憶装置２２０は、通信ネットワークで接続されている。記憶装置２２０は、サーバ２１０ａとサーバ２１０ｂとが共有して情報の書き込み及び読み出しができるメモリ領域として、記憶部２２１を備える。サーバ２１０ａは、ＶＭ２１１ａ〜ＶＭ２１１ｃ、ハイパーバイザー２１２ａ、及びプール２１３ａを備える。サーバ２１０ｂは、ＶＭ２１１ｄ、ＶＭ２１１ｅ、ハイパーバイザー２１２ｂ、及びプール２１３ｂを備える。
【００２３】
ＶＭ２１１は、ＣＰＵ、メモリ、及びＩＯ機器を含む各種計算機資源を実装した１つのサーバ２１０を、あたかも複数のサーバであるかのように論理的に分割して運用される仮想マシンである。ＶＭ２１１ａ〜ＶＭ２１１ｃは、サーバ２１０ａで動作する仮想マシンである。ＶＭ２１１ｄ〜ＶＭ２１１ｅは、サーバ２１０ｂで動作する仮想マシンである。サーバ２１０ａ、及びサーバ２１０ｂは、更に複数のＶＭを稼動してもよい。ＶＭ２１１の各々は、ＯＳやアプリケーションを動作させることができる。ハイパーバイザー２１２は、各サーバ内のＶＭ２１１を管理する。例えば、ハイパーバイザー２１２ａは、ＶＭ２１１ａ〜ＶＭ２１１ｃを管理する。ハイパーバイザー２１２ｂは、ＶＭ２１１ｄ〜ＶＭ２１１eを管理する。プール２１３は、各サーバ２１０に搭載されている計算機資源のうち、ＶＭ２１１に割り当てられていない計算機資源の集合体である。
【００２４】
記憶装置２２０は、記憶部２２１を備える。記憶部２２１は、サーバ２１０毎の管理情報を記憶している。管理情報は、例えば、サーバ２１０で実行されているＶＭ２１１のドメイン情報、割り当て情報、及び使用情報などを含む。なお、本実施形態に係る記憶装置２２０は、図２の管理サーバ１２０のようにサーバの管理をしない。記憶装置２２０は、各サーバ２１０で各種情報を共有するために用いられる記憶領域である。割り当て情報は、例えば、各ＶＭ２１１への計算機資源の割り当て量、及び、各ＶＭ２１１に計算機資源を追加する場合の計算機資源の割り当て増減量などの情報を含む。ＶＭ２１１への計算機資源の割り当て量は、ＶＭ２１１が使用可能と設定される計算機資源量である。ＶＭ２１１に計算機資源を追加する場合の計算機資源の割り当て増減量は、ＶＭ２１１に割り当てられている計算機資源量のうち、所定の閾値の個数又は割合まで計算機資源を使用している場合に、追加でＶＭ２１１に割り当てる計算機資源の量である。
【００２５】
本実施形態に係るハイパーバイザー２１２の処理として、サーバ２１０ａ内の処理を例に詳細を説明する。本実施形態に係るハイパーバイザー２１２ａは、取得部２３１、判定部２３２、選択部２３３、及び処理部２３４を備える。取得部２３１は、所定の契機として、例えば、所定の時間毎にサーバ２１０ａ内のＶＭ２１１の使用情報を取得する。取得部２３１は、取得した情報を、記憶装置２２０の記憶部２２１に格納する。判定部２３２は、記憶部２２１に記憶されている管理情報に基づいて、最新のＶＭ２１１が使用する計算機資源の使用量の指標が、所定の閾値を超えているかを判定する。判定部２３２が記憶部２２１に記憶されている管理情報に用いる際には、取得部２３１が記憶装置２２０から管理情報を取得する。判定部２３２は、更に、サーバ２１０内でＶＭ２１１に追加で計算機資源を割り当てることが可能かを判定する。
【００２６】
ここで、ＶＭ２１１ａへの計算機資源の割り当て量の例として、割り当てられているＣＰＵが１０個であるとする。以降、ＶＭ２１１に割り当てられる計算機資源の例として、ＣＰＵを用いる。次に、ＶＭ２１１ａに割り当てられるＣＰＵの割り当て増減量は、２個とする。また、ＣＰＵの所定の閾値をＣＰＵ８個とする。判定部２３２は、記憶部２２１に記憶されている管理情報に基づいて、最新のＶＭ２１１ａのＣＰＵの使用量の指標が、所定の閾値である８個を超えているかを判定する。ＶＭ２１１ａのＣＰＵの使用量の指標が、所定の閾値である８個を超えている場合、判定部２３２は、サーバ２１０ａ内でＶＭ２１１ａに追加でＣＰＵを割り当てることが可能かを判定する。言い換えると、判定部２３２は、サーバ２１０ａ内で、ＣＰＵの割り当て増減量であるＣＰＵを２個割り当てることが可能かを判定する。プール２１３ａに、未使用のＣＰＵが２個以上ある場合、判定部２３２は、サーバ２１０ａ内でＶＭ２１１ａに追加でＣＰＵを割り当てることが可能と判定する。すると、処理部２３４は、ＶＭ２１１ａにＣＰＵ２個を割り当てる。ＣＰＵを追加で割り当てることで、実行している処理量が多いＶＭ２１１ａの処理性能を高めることができる。なお、一例として、使用量の指標は、割り当てられているＣＰＵの個数のうちの、使用しているＣＰＵの個数を用いている。別の実施例として、使用量の指標は、例えば、割り当てられているＣＰＵの数のうちの使用しているＣＰＵの数の割合でもよい。
【００２７】
プール２１３ａに余剰のＣＰＵがない場合、選択部２３３は、サーバ２１０ａ以外のサーバ２１０のうち、少なくともＶＭ２１１ａに割り当てるＣＰＵ１２個をプール２１３に保持するサーバ２１０を検索し、マイグレーション先のサーバとして選択する。図３の仮想化システム２００の例では、サーバ２１０ｂのプール２１３ｂがＣＰＵを１２個以上保持しているとする。選択部２３３は、ＶＭ２１１ａのマイグレーション先のサーバとして、サーバ２１０ｂを選択する。
【００２８】
処理部２３４は、記憶装置２２０内の記憶部２２１に記憶されているマイグレーション先サーバ２１０ｂに対応する管理情報に、ＣＰＵ１２個をマイグレーションすることを示す情報と、マイグレーションをすることを示すフラグ情報とを書き込む。サーバ２１０ｂは、所定の契機として、所定の時間毎に記憶装置２２０と通信をしている。サーバ２１０ｂは、自身がマイグレーション先に選択されたことを検知すると、ＶＭ２１１ａを受け入れるために、ＶＭ２１１ａに割り当てるＣＰＵを確保する。サーバ２１０ｂの処理部は、サーバ２１０ｂの最新の割り当て情報を管理情報に書き込む。サーバ２１０ａの処理部２３４は、マイグレーション先サーバ２１０ｂ側で、ＶＭ２１１ａ用のＣＰＵが割り当てられたことを確認すると、ＶＭ２１１ａのマイグレーションを実行する。なお、ＶＭ２１１ａは、マイグレーション先サーバ２１０ｂでＣＰＵ１２個が割り当てられる。
【００２９】
処理部２３４は、マイグレーション処理が完了すると、記憶装置２２０内の記憶部２２１の管理情報を最新の状態に更新する。なお、ハイパーバイザー２１２ｂもハイパーバイザー２１２ａと同様に、各ＶＭ２１１の監視を行い、ＶＭ２１１の使用量の指標が所定の閾値を超える場合、マイグレーション処理を行う。
【００３０】
図３の仮想化システム２００は、各サーバ２１０内のハイパーバイザー２１２が自身のＶＭ２１１の稼動状態を監視しているため、計算機資源の使用量の指標が所定の閾値を超えたらすぐにマイグレーションを実行可能である。また、各サーバ２１０内のハイパーバイザー２１２が自身のＶＭ２１１の稼動状態を監視しているため、サーバ２１０の数が増えても、解析時間が増えない。図３の仮想化システム２００は、ＶＭ２１１の計算機資源の使用量の指標が実際に所定の閾値を超えてから、マイグレーションされるまでの時間を短縮することができる。
【００３１】
図４は、サーバ２１０のハードウェア構成の例を示す。サーバ２１０は、例えば、図４のような情報処理装置（コンピュータ）を用いて実現可能であり、プロセッサ１１、メモリ１２、バス１５、外部記憶装置１６、及びネットワーク接続装置１９を備える。さらにオプションとして、サーバ２１０は、入力装置１３、出力装置１４、又は媒体駆動装置１７を備えても良い。
【００３２】
プロセッサ１１ａ〜プロセッサ１１ｎは、ＣＰＵを含む任意の処理回路とすることができる。図４のプロセッサ１１は、プロセッサの数を制限するものではない。例えば、プロセッサ１１ａ〜プロセッサ１１ｃは、ＶＭ２１１を実行するプロセッサである。各ＶＭ２１１は、少なくとも１つのプロセッサ１１を使用する。プロセッサ１１ｄは、取得部２３１、判定部２３２、選択部２３３、及び処理部２３４などを含むハイパーバイザー２１２として動作する。プロセッサ１１ｅ〜プロセッサ１１ｎは、ＶＭ２１１とハイパーバイザー２１２に割り当てられておらず、未使用のプロセッサ１１である。プロセッサ１１ｅ〜プロセッサ１１ｎは、プール２１３に保持される。なお、プロセッサ１１は、例えば、外部記憶装置１６に記憶されたプログラムを実行することができる。メモリ１２は、プロセッサ１１の動作により得られたデータや、プロセッサ１１の処理に用いられるデータも、適宜、記憶する。ネットワーク接続装置１９は、他の装置との通信に使用される。
【００３３】
入力装置１３は、例えば、ボタン、キーボード、又はマウス等として実現され、出力装置１４は、ディスプレイなどとして実現される。バス１５は、プロセッサ１１、メモリ１２、入力装置１３、出力装置１４、外部記憶装置１６、媒体駆動装置１７、及びネットワーク接続装置１９の間を相互にデータの受け渡しが行えるように接続する。外部記憶装置１６は、プログラムやデータなどを格納し、格納している情報を、適宜、プロセッサ１１などに提供する。媒体駆動装置１７は、メモリ１２や外部記憶装置１６のデータを可搬記憶媒体１８に出力することができ、また、可搬記憶媒体１８からプログラムやデータ等を読み出すことができる。ここで、可搬記憶媒体１８は、フロッピイディスク、Ｍａｇｎｅｔ−Ｏｐｔｉｃａｌ（ＭＯ）ディスク、Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅｃｏｒｄａｂｌｅ（ＣＤ−Ｒ）、及びＤｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ  Ｒｅｃｏｒｄａｂｌｅ（ＤＶＤ−Ｒ）を含む、持ち運びが可能な任意の記憶媒体とすることができる。
【００３４】
図５は、管理情報の例を説明する図（その１）である。管理情報は、サーバ毎のドメイン情報、割り当て情報、使用情報、及びマイグレーション情報を含む。ドメイン情報は、サーバ２１０に搭載されているＣＰＵ数、ドメイン番号、及びドメイン名などの情報を含む。図５の例では、サーバ２１０ａは、３２個のＣＰＵを搭載している。サーバ２１０ａは、サーバ内に複数のＶＭを実行しており、各ＶＭの設定に、ドメイン番号１−１〜ドメイン番号１−４と、及びドメイン名（Ｌｄｏｍ１１〜Ｌｄｏｍ１４）とが設定されている。サーバ２１０ｂは、サーバ内に複数のＶＭを実行しており、各ＶＭの設定に、ドメイン番号２−１〜ドメイン番号２−３と、及びドメイン名（Ｌｄｏｍ２１〜Ｌｄｏｍ２３）とが設定されている。なお、ドメイン番号１−１のＶＭを、図３のＶＭ２１１ａとする。
【００３５】
割り当て情報は、ＶＭ２１１毎の、優先順位、割り当て量、維持量、増減量、下限閾値、及び上限閾値などの情報を含む。優先順位は、サーバ２１０が搭載しているＣＰＵを割り当てるために用いられる優先度である。割り当て量は、ＶＭ２１１が使用可能と設定されているＣＰＵの数である。維持量は、ＶＭ２１１を稼動させるために最低限維持するＣＰＵの数である。増減量は、ＶＭ２１１が割り当て量のＣＰＵを使用しているにも関わらず、ＣＰＵの使用量が高い場合に、追加でＶＭ２１１に割り当てるＣＰＵの数である。下限閾値は、ＶＭ２１１が使用するＣＰＵの個数を制御するために用いられる。ＣＰＵ使用量の指標が下限閾値よりも低い場合、ハイパーバイザー２１２は、ＶＭ２１１に割り当てているＣＰＵの個数を減らす処理をする。上限閾値は、ＶＭ２１１が使用するＣＰＵの個数を制御するために用いられる閾値である。ＣＰＵ使用量の指標が上限閾値よりも高い場合、ハイパーバイザー２１２は、ＶＭ２１１に割り当てるＣＰＵの個数を増やす処理をする。使用情報は、ＣＰＵの使用個数及び、ＶＭ２１１に割り当てられているＣＰＵの個数のうちの、使用しているＣＰＵの個数の割合を示すＣＰＵの使用率を含む。
【００３６】
マイグレーション情報は、予約先、フラグ、及び割り当て量などの情報を含む。予約先は、マイグレーションによるＶＭ２１１の移動先のドメイン番号情報である。フラグは、マイグレーション元となるサーバ２１０ａが、マイグレーション処理の対象サーバとして選択したことを示す情報である。割り当て量は、マイグレーション処理後にＶＭ２１１ａに割り当てられるＣＰＵの数である。
【００３７】
図５の管理情報は、ドメイン番号１−１であるＶＭ２１１ａのＣＰＵ使用量の指標である個数が７個から９個に増加した場合の例である。言い換えると、ＶＭ２１１ａのＣＰＵの使用率は、７０％から９０％に増加している。判定部２３２は、ＶＭ２１１ａのＣＰＵ使用率が、上限閾値８０％を超えているかを判定する。ＶＭ２１１ａのＣＰＵ使用率は、上限閾値８０％を超えている。そのため、ハイパーバイザー２１２ａは、ＶＭ２１１ａに割り当てるＣＰＵの数を増やそうとする。判定部２３２は、プール２１３ａに未使用のＣＰＵがあるかを判定する。サーバ２１０ａ内に未使用のＣＰＵがある場合、処理部２３４は、ＶＭ２１１ａに未使用のＣＰＵを割り当てる。サーバ２１０ａ内に未使用のＣＰＵがない場合、ハイパーバイザー２１２ａは、他のサーバ２１０にＶＭ２１１aを移動するマイグレーション処理を開始する。選択部２３３は、未使用のＣＰＵを備えるプールを持つサーバ２１０ｂを検知する。図５の管理情報の例では、サーバ２１０ｂのプール２１３ｂには未使用のＣＰＵが１６個ある。そのため、選択部２３３は、マイグレーション先としてサーバ２１０ｂを選択する。図５の例において、判定部２３２は、ＣＰＵ使用量の指標であるＣＰＵ使用率（％）と、上限閾値（％）とを比較しているものの、ＣＰＵ使用量の指標としてＣＰＵの個数と上限閾値（個数）を比較してもよい。
【００３８】
処理部２３４は、マイグレーション元のサーバ２１０ａに対応する管理情報の予約先に、マイグレーション先のドメイン番号を設定する。処理部２３４は、選択したサーバ２１０ｂに対応する管理情報内のフラグと、マイグレーション先のサーバ２１０ｂでＶＭ２１１ａに割り当てるＣＰＵの数を設定する。図５の例では、処理部２３４は、マイグレーション元のサーバ２１０ａに対応する管理情報の予約先に、マイグレーション先のドメイン番号２−４を設定する。処理部２３４は、選択したサーバ２１０ｂに対応する管理情報内のフラグとして１を設定し、マイグレーション先のサーバ２１０ｂでＶＭ２１１ａに割り当てるＣＰＵの数１２個を設定する。
【００３９】
サーバ２１０ｂのハイパーバイザー２１２ｂは、所定の契機で記憶装置２２０と通信をしている。ハイパーバイザー２１２ｂは、サーバ２１０ｂに対応するフラグにマイグレーション先であることを示す値“１”が設定されていることを検知する。ハイパーバイザー２１２ｂは、ＶＭ２１１ａ用のＣＰＵを割り当てる設定をする。ハイパーバイザー２１２ｂは、設定変更を、管理情報に書き込む。サーバ２１０ａの処理部２３４は、ＶＭ２１１ａ用のＣＰＵが割り当てられたことを確認する。サーバ２１０ａの処理部２３４は、サーバ２１０ａからサーバ２１０ｂへのＶＭ２１１ａのマイグレーションを実行する。なお、ＶＭ２１１ａは、マイグレーション先サーバ２１０ｂでＣＰＵ１２個が割り当てられる。ＶＭ２１１ａには、ドメイン番号２−４、ドメイン名Ｌｄｏｍ１１が割り当てられる。処理部２３４は、マイグレーション処理が完了すると、マイグレーション情報をクリアし、最新の管理情報に更新する。図５の管理情報の例は、ＣＰＵの使用量の指標に対して用いられるものの、メモリやＩＯ機器などの管理情報であってもよい。
【００４０】
図６は、マイグレーション元サーバの処理の例を説明するフローチャートである。取得部２３１は、サーバ２１０ａ内のＶＭ２１１の使用情報を取得し、記憶装置２２０の記憶部２２１に格納する（ステップＳ１０１）。判定部２３２は、記憶部２２１に記憶されている管理情報に基づいて、最新のＶＭ２１１のＣＰＵの使用量の指標が、所定の閾値を超えているかを判定する（ステップＳ１０２）。ＶＭ２１１のＣＰＵの使用量の指標が、所定の閾値を超えている場合（ステップＳ１０２でＹＥＳ）、判定部２３２は、サーバ２１０ａ内でＶＭ２１１に追加でＣＰＵを割り当てることが不可能かを判定する（ステップＳ１０３）。サーバ２１０ａ内でＶＭ２１１に追加でＣＰＵを割り当てることができる場合（ステップＳ１０３でＮＯ）、サーバ２１０ａ内でＶＭ２１１に追加でＣＰＵを割り当てる（ステップＳ１０９）。サーバ２１０ａ内でＶＭ２１１に追加でＣＰＵを割り当てられない場合（ステップＳ１０３でＹＥＳ）、選択部２３３は、他のサーバに、少なくとも割り当て予定個数以上の未使用ＣＰＵがあるかを判定する（ステップＳ１０４）。他のサーバに割り当て予定個数の未使用ＣＰＵがある場合（ステップＳ１０４でＹＥＳ）、処理部２３４は、記憶装置２２０内の記憶部２２１に記憶されている管理情報に、マイグレーションすることを示す情報と、フラグ情報とを書き込む（ステップＳ１０５）。処理部２３４は、記憶部２２１のマイグレーション先のサーバ２１０ｂに対応する管理情報が更新されているかを確認することで、マイグレーション先でマイグレーション準備が完了したかを確認する（ステップＳ１０６）。マイグレーション先でマイグレーション準備が完了していない場合（ステップＳ１０６でＮＯ）、処理部２３４は、ステップＳ１０６の処理を繰り返す。マイグレーション先でマイグレーション準備が完了している場合（ステップＳ１０６でＹＥＳ）、処理部２３４は、マイグレーション処理を実行する（ステップＳ１０７）。処理部２３４は、記憶装置２２０内の記憶部２２１に記憶されている管理情報を、最新のＶＭに関する情報で更新する（ステップＳ１０８）。ステップＳ１０８の処理が終了すると、ハイパーバイザー２１２は、処理を終了する。Ｓ１０９の処理が終了すると、処理部２３４は、処理をＳ１０８に渡す。他のサーバに割り当て予定個数の未使用ＣＰＵがない場合（ステップＳ１０３でＮＯ）、選択部２３３は、他のサーバ候補があるかを判定する（ステップＳ１１０）。他のサーバ候補がある場合（ステップＳ１１０でＹＥＳ）、選択部２３３は、処理をステップＳ１０４に戻す。他のサーバ候補がない場合（ステップＳ１１０でＮＯ）、ハイパーバイザー２１２は、処理を終了する。ＶＭ２１１が使用する計算機資源の使用量の指標が、所定の閾値を超えていない場合（ステップＳ１０２でＮＯ）、ハイパーバイザー２１２は、処理を終了する。
【００４１】
このように、各サーバ２１０内のハイパーバイザー２１２がサーバ内におけるＶＭ２１１の計算機資源の使用状態を監視しているため、計算機資源の使用量の指標が所定の閾値を超えたらすぐにマイグレーションを実行可能である。また、各サーバ２１０内のハイパーバイザー２１２がサーバ内におけるＶＭ２１１の計算機資源の使用状態を監視しているため、サーバ２１０の数が増えても、解析時間が増えない。図３の仮想化システム２００は、ＶＭ２１１の計算機資源の使用量の指標が実際に所定の閾値を超えてから、マイグレーションされるまでの時間を短縮することができる。
【００４２】
図７は、マイグレーション先サーバの処理の例を説明するフローチャートである。サーバ２１０ｂのハイパーバイザー２１２ｂは、記憶装置２２０内の記憶部２２１に記憶されている管理情報内のサーバ２１０ｂに対応するフラグ情報に情報が含まれているかを判定する（ステップＳ２０１）。フラグ情報がない場合（ステップＳ２０１でＮＯ）、サーバ２１０ｂのハイパーバイザー２１２ｂは、処理を終了する。フラグ情報がある場合（ステップＳ２０１でＹＥＳ）、サーバ２１０ｂのハイパーバイザー２１２ｂは、マイグレーションしてくるＶＭ２１１ａ用にＣＰＵを割り当てる（ステップＳ２０２）。サーバ２１０ｂのハイパーバイザー２１２ｂは、記憶装置２２０内の記憶部２２１に記憶されている管理情報を更新する（ステップＳ２０３）。サーバ２１０ｂのハイパーバイザー２１２ｂは、Ｓ２０３が終了すると、処理を終了する。
【００４３】
＜その他＞
図８は、管理情報の例を説明する図（その２）である。図８の管理情報内の割り当て情報は、図５の管理情報から更に、予約閾値を含む。図８の管理情報内のマイグレーション情報は、図５の管理情報から更に、監視時間を含む。予約閾値は、上限閾値よりも先に、ＣＰＵ使用量の指標が増えてきている予兆を検出するために用いられる。監視時間は、取得部２２１が使用情報を取得し、記憶装置に情報を書き込むために記憶装置と通信する時間の間隔である。
【００４４】
図８の管理情報において、ドメイン番号１−１であるＶＭ２１１ａのＣＰＵ使用率が、９０％に増加していく場合の例である。判定部２３２は、まず、ＶＭ２１１ａのＣＰＵ使用率が、予約閾値７０％を超えているかを判定する。ＶＭ２１１ａのＣＰＵ使用率は、予約閾値７０％を超えている。選択部２３３は、未使用のＣＰＵを多く持つサーバ２１０ｂをマイグレーション先として予約する。処理部２３４は、ＣＰＵ使用率が閾値７０％を超えているため、ＶＭ２１１ａを要監視とする。そのため、監視間隔を短くする設定を行う。処理部２３４は、管理情報内のマイグレーション元及びマイグレーション先のサーバに対応する監視時間を３０ｓ（秒）と設定する。３０ｓは、一例であり、通常の監視間隔よりも短い時間の例である。図８の例では、管理情報の上限閾値、予約閾値は、ＣＰＵの個数であってもよい。その場合、判定部２３２は、ＶＭ２１１ａのＣＰＵ使用量の指標であるＣＰＵの個数と、上限閾値及び予約閾値に設定されているＣＰＵの個数とを比較する。
【００４５】
次に、判定部２３２は、通常の監視間隔よりも短い時間間隔で、ＶＭ２１１ａのＣＰＵ使用率が、上限閾値８０％を超えているかを判定する。ＶＭ２１１ａのＣＰＵ使用率が８０％を超えると、ハイパーバイザー２１２ａは、ＶＭ２１１ａに割り当てるＣＰＵの数を増やそうとする。判定部２３２は、プール２１３ａに未使用のＣＰＵがあるかを判定する。サーバ２１０ａ内に未使用のＣＰＵがある場合、処理部２３４は、ＶＭ２１１ａに未使用のＣＰＵを割り当てる。サーバ２１０ａ内に未使用のＣＰＵがない場合、ハイパーバイザー２１２ａは、他のサーバ２１０にＶＭ２１１aを移動するマイグレーション処理を開始する。選択部２３３は、予約したマイグレーション先のサーバ２１０ｂのプール２１３ｂに、まだ未使用のＣＰＵが十分にあるかを判定する。予約したマイグレーション先のサーバ２１０ｂのプール２１３ｂに、まだ未使用のＣＰＵが十分にある場合、処理部２３４は、マイグレーション処理を実行する。このマイグレーション処理が完了すると、処理部２３４は、監視間隔を元に戻す。
【００４６】
図９は、予約閾値と上限閾値を用いたマイグレーションの例（その１）を説明するフローチャートである。取得部２３１は、サーバ２１０ａ内のＶＭ２１１の使用情報を取得し、記憶装置２２０の記憶部２２１に格納する（ステップＳ３０１）。判定部２３２は、記憶部２２１に記憶されている管理情報に基づいて、最新のＶＭ２１１のＣＰＵの使用量の指標が、予約閾値を超えているかを判定する（ステップＳ３０２）。ＶＭ２１１のＣＰＵの使用量の指標が、予約閾値を超えている場合（ステップＳ３０２でＹＥＳ）、選択部２３３は、ＶＭ２１１に割り当てる予定のＣＰＵよりも多い、未使用のＣＰＵを持つサーバがあるかを判定する（ステップＳ３０３）。ＶＭ２１１に割り当てる予定のＣＰＵよりも多い、未使用のＣＰＵを持つサーバがある場合（ステップＳ３０３でＹＥＳ）、選択部２３３は、そのサーバ２１０ｂをマイグレーション先として予約する（ステップＳ３０４）。処理部２３４は、マイグレーション元及びマイグレーション先のサーバ２１０の監視間隔を短く設定する（ステップＳ３０５）。ＶＭ２１１のＣＰＵの使用量の指標が、予約閾値を超えていない場合（ステップＳ３０２でＮＯ）、ハイパーバイザー２１２は、処理を終了する。ＶＭ２１１に割り当てる予定のＣＰＵよりも多い、未使用のＣＰＵを持つサーバがない場合（ステップＳ３０３でＮＯ）、ハイパーバイザー２１２は、処理を終了する。
【００４７】
図１０は予約閾値と上限閾値を用いたマイグレーションの例（その２）を説明するフローチャートである。取得部２３１は、サーバ２１０ａ内のＶＭ２１１の使用情報を取得し、記憶装置２２０の記憶部２２１に格納する（ステップＳ４０１）。判定部２３２は、記憶部２２１に記憶されている管理情報に基づいて、最新のＶＭ２１１のＣＰＵの使用量の指標が、所定の閾値を超えているかを判定する（ステップＳ４０２）。ＶＭ２１１のＣＰＵの使用量の指標が、所定の閾値を超えている場合（ステップＳ４０２でＹＥＳ）、判定部２３２は、サーバ２１０ａ内でＶＭ２１１に追加でＣＰＵを割り当てることが不可能かを判定する（ステップＳ４０３）。サーバ２１０ａ内でＶＭ２１１に追加でＣＰＵを割り当てることができる場合（ステップＳ４０３でＮＯ）、サーバ２１０ａ内でＶＭ２１１に追加でＣＰＵを割り当てる（ステップＳ４０９）。サーバ２１０ａ内でＶＭ２１１に追加でＣＰＵを割り当てられない場合（ステップＳ４０３でＹＥＳ）、選択部２３３は、マイグレーション先予約サーバに、少なくとも割り当て予定個数以上の未使用ＣＰＵがあるかを判定する（ステップＳ４０４）。マイグレーション先予約サーバに割り当て予定個数の未使用ＣＰＵがある場合（ステップＳ４０４でＹＥＳ）、処理部２３４は、記憶装置２２０内の記憶部２２１に記憶されている管理情報に、マイグレーションすることを示す情報と、フラグ情報とを書き込む（ステップＳ４０５）。処理部２３４は、記憶部２２１のマイグレーション先のサーバ２１０ｂに対応する管理情報が更新されているかを確認することで、マイグレーション先でマイグレーション準備が完了したかを確認する（ステップＳ４０６）。マイグレーション先でマイグレーション準備が完了していない場合（ステップＳ４０６でＮＯ）、処理部２３４は、ステップＳ４０６の処理を繰り返す。マイグレーション先でマイグレーション準備が完了している場合（ステップＳ４０６でＹＥＳ）、処理部２３４は、マイグレーション処理を実行する（ステップＳ４０７）。処理部２３４は、記憶装置２２０内の記憶部２２１に記憶されている管理情報を、最新のＶＭに関する情報で更新する（ステップＳ４０８）。処理部２３４は、監視間隔を元に戻す（ステップＳ４１１）。ステップＳ４１１の処理が終了すると、ハイパーバイザー２１２は、処理を終了する。Ｓ４０９の処理が終了すると、処理部２３４は、処理をＳ４０８に渡す。マイグレーション先予約サーバに割り当て予定個数の未使用ＣＰＵがない場合（ステップＳ４０３でＮＯ）、選択部２３３は、他のサーバ候補があるかを判定する（ステップＳ４１０）。他のサーバ候補がある場合（ステップＳ４１０でＹＥＳ）、選択部２３３は、処理をステップＳ４０４に戻す。他のサーバ候補がない場合（ステップＳ４１０でＮＯ）、ハイパーバイザー２１２は、処理を終了する。ＶＭ２１１が使用する計算機資源の使用量の指標が、所定の閾値を超えていない場合（ステップＳ４０２でＮＯ）、ハイパーバイザー２１２は、処理を終了する。
【００４８】
このように、各サーバ２１０内のハイパーバイザー２１２が自身のＶＭ２１１の稼動状態を監視しているため、計算機資源の使用量の指標が所定の閾値を超えたらすぐにマイグレーションを実行可能である。また、各サーバ２１０内のハイパーバイザー２１２が自身のＶＭ２１１の稼動状態を監視しているため、サーバ２１０の数が増えても、解析時間が増えない。図３の仮想化システム２００は、ＶＭ２１１の計算機資源の使用量の指標が実際に所定の閾値を超えてから、マイグレーションされるまでの時間を短縮することができる。
【図１】
2016038888.tif 000003
【図２】
2016038888.tif 000004
【図３】
2016038888.tif 000005
【図４】
2016038888.tif 000006
【図５】
2016038888.tif 000007
【図６】
2016038888.tif 000008
【図７】
2016038888.tif 000009
【図８】
2016038888.tif 000010
【図９】
2016038888.tif 000011
【図１０】
2016038888.tif 000012