(57)【特許請求の範囲】
【請求項１】
仮想マシンが動作可能な複数の物理マシンを有する仮想マシンシステムにおいて，物理マシン間での仮想マシンの移動の制御をコンピュータに実行させるためのプログラムであって，
前記コンピュータに，
前記コンピュータがアクセス可能な記憶装置に記憶された，前記物理マシンごとの仮想マシンに対する資源割当量の情報を含む資源割当情報と，前記仮想マシンを負荷分散により同じ処理を行う仮想マシンごとにグループ化した情報とに基づいて，移動対象仮想マシンが動作する移動元物理マシン上で動作する他のグループに所属する仮想マシンを資源割当量の削減対象である減調整仮想マシンとして，前記減調整仮想マシンと同じグループに所属かつ前記移動元物理マシン以外の物理マシンで動作する仮想マシンを資源割当量の増加対象である増調整仮想マシンとして，それぞれ選択する手順と，
前記増調整仮想マシンに対し前記移動対象仮想マシンの移動に必要な所定の資源量を追加して割り当て，前記減調整仮想マシンから前記所定の資源量を削減する調整を行い，前記調整後に前記移動元物理マシンにおいて前記移動対象仮想マシンの移動用の資源として前記所定の資源量を確保する手順とを
実行させるための仮想マシン移動制御プログラム。
【請求項２】
前記減調整仮想マシンと増調整仮想マシンとの組合せを選択する手順は，
前記移動対象仮想マシンを前記減調整仮想マシンとして選択し，前記移動対象仮想マシンと同じグループに属する，前記移動元物理マシン以外の物理マシンで動作する仮想マシンを前記増調整仮想マシンとして選択する手順と，
前記移動対象仮想マシンを前記減調整仮想マシンとして選択すると仮想マシン移動に用いる所定量の資源が確保できない場合に，前記移動元物理マシン上の前記移動対象仮想マシン以外の仮想マシンを前記減調整仮想マシンとして選択し，前記減調整仮想マシンと同じグループに属する，前記移動元物理マシン以外の物理マシンで動作する仮想マシンを前記増調整仮想マシンとして選択する手順とを有する
ことを特徴とする請求項１に記載の仮想マシン移動制御プログラム。
【請求項３】
前記コンピュータに，
前記コンピュータがアクセス可能な記憶装置に，前記減調整仮想マシンおよび前記増調整仮想マシンの資源割当量の調整に関する情報である一時資源割当情報を記憶する手順と，
仮想マシン移動の実行後に，前記一時資源割当情報に基づいて，前記減調整仮想マシンの資源割当量と前記増調整仮想マシンの資源割当量とを，資源割当量の調整前の量に復元する手順とを
さらに実行させるための請求項１または請求項２に記載の仮想マシン移動制御プログラム。
【請求項４】
仮想マシンが動作可能な複数の物理マシンを有する仮想マシンシステムにおいて，物理マシン間での仮想マシンの移動を制御する仮想マシン移動制御装置であって，
前記物理マシンごとの仮想マシンに対する資源割当量の情報を含む資源割当情報と，前記仮想マシンを負荷分散により同じ処理を行う仮想マシンごとにグループ化した情報とを記憶する記憶部と，
前記資源割当情報と前記仮想マシンをグループ化した情報とに基づいて，移動対象仮想マシンが動作する移動元物理マシン上で動作する他のグループに所属する仮想マシンを資源割当量の削減対象である減調整仮想マシンとして，前記減調整仮想マシンと同じグループに所属かつ前記移動元物理マシン以外の物理マシンで動作する仮想マシンを資源割当量の増加対象である増調整仮想マシンとして，それぞれ選択する資源割当量調整対象仮想マシン選択部と，
前記増調整仮想マシンに対し前記移動対象仮想マシンの移動に必要な所定の資源量を追加して割り当て，前記減調整仮想マシンから前記所定の資源量を削減する調整を行い，前記調整後に前記移動元物理マシンにおいて前記移動対象仮想マシンの移動用の資源として前記所定の資源量を確保する仮想マシン移動資源確保部とを備える
ことを特徴とする仮想マシン移動制御装置。
【請求項５】
仮想マシンが動作可能な複数の物理マシンを有する仮想マシンシステムにおいて，物理マシン間での仮想マシンの移動を制御する仮想マシン移動制御方法であって，
前記仮想マシンシステムが備えるコンピュータが，
前記コンピュータがアクセス可能な記憶装置に記憶された，前記物理マシンごとの仮想マシンに対する資源割当量の情報を含む資源割当情報と，前記仮想マシンを負荷分散により同じ処理を行う仮想マシンごとにグループ化した情報とに基づいて，移動対象仮想マシンが動作する移動元物理マシン上で動作する他のグループに所属する仮想マシンを資源割当量の削減対象である減調整仮想マシンとして，前記減調整仮想マシンと同じグループに所属かつ前記移動元物理マシン以外の物理マシンで動作する仮想マシンを資源割当量の増加対象である増調整仮想マシンとして，それぞれ選択する過程と，
前記増調整仮想マシンに対し前記移動対象仮想マシンの移動に必要な所定の資源量を追加して割り当て，前記減調整仮想マシンから前記所定の資源量を削減する調整を行い，前記調整後に前記移動元物理マシンにおいて前記移動対象仮想マシンの移動用の資源として前記所定の資源量を確保する過程とを実行する
ことを特徴とする仮想マシン移動制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
ある物理マシン上の仮想マシンを他の物理マシンに移動する仮想マシン移動の制御を行う仮想マシン移動制御プログラム，仮想マシン移動制御装置および仮想マシン移動制御方法に関するものである。
【背景技術】
【０００２】
複数の物理マシン上で複数の仮想マシンが動作する仮想マシンシステムにおいて，ある物理マシン上の仮想マシンを他の物理マシンに移動させる，仮想マシン移動の技術がある。仮想マシン移動は，例えば，移動元の物理マシンのメモリ上の仮想マシンのイメージを，移動先の物理マシンのメモリにコピーすることにより行われる。
【０００３】
仮想マシン移動は，例えば，仮想マシンシステムにおいて，物理障害からの復旧や，資源割当の効率化，他の仮想マシンに悪影響を及ぼす高負荷な仮想マシンの分離などを目的として行われる。仮想マシン移動が行われる仮想マシンシステムでは，各仮想マシンの負荷を監視して，物理マシンの総リソースが飽和する前に仮想マシンを他の物理マシンに移動することにより，過負荷状態に陥ることが避けられている。
【０００４】
仮想マシン移動の技術として，仮想マシンを稼動させたままで物理マシン間を移動させるライブマイグレーション（Live Migration）という技術が開発され，利用されている。ライブマイグレーションの技術によって，移動対象の仮想マシンによるサービスを停止させずに，仮想マシン移動を行うことができる。
【０００５】
なお，サービスの負荷に応じて，ブレードサーバの割り当てを変更する技術が知られている。また，仮想マシンの移動等による資源調整の技術が知られている。また，負荷に応じてグリッド構成を拡大縮小することで，サーバ資源を有効に活用する技術が知られている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００４−１１０７９１号公報
【特許文献２】特表２００７−５０８６２３号公報
【特許文献３】特表２００８−５２７５１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ライブマイグレーションの技術では，仮想マシン移動の実行時に，仮想マシンシステムに対して無視できない量の資源を消費することが知られている（参考文献１参照）。
【０００８】
〔参考文献１〕
W. Huang，Q. Gao，J. Liu，and D.K. Panda（Ohio State University ），Jiuxing Liu （IBM T. J. Watson Research Center），“High Performance Virtual Machine Migration with RDMA over Modern Interconnects”，IEEE International Conference on Cluster Computing（Cluster'07），Austin，TX，September 2007，Selected as a BEST Paper. ，http://nowlab.cse.ohio-state.edu/publications/conf-papers/2007/huang-cluster07.pdf
そのため，物理マシンの資源が飽和しているときなどにライブマイグレーションを行うと，ライブマイグレーションのために必要なＣＰＵ（Central Processing Unit ）資源等が不足しているために，仮想マシン移動の時間の増大や，稼働中の仮想マシンのサービスレベルの低下が起こりうる。
【０００９】
ライブマイグレーションを開始するきっかけとしては，例えば，次のようなきっかけが考えられる。
【００１０】
［Ａ］物理マシン資源の余裕がゼロになった時点で，ライブマイグレーションを開始する（ゼロ閾値）。
【００１１】
［Ｂ］物理マシン資源の余裕がライブマイグレーションに必要なコストまで減少した時点で，ライブマイグレーションを開始する（ライブマイグレーション負荷閾値）。
【００１２】
しかし，［Ａ］の場合には，物理マシンの資源が飽和状態で仮想マシン移動を開始することになるため，ライブマイグレーション負荷の分だけ，本来のサービス性能が低下してしまう。
【００１３】
［Ｂ］の場合には，ライブマイグレーション負荷分の資源が常時予約されることになるため，資源利用効率が悪くなってしまう。また，ライブマイグレーション負荷閾値を少しだけ超過したような場合など，本来仮想マシン移動の必要がないような場合でも，無駄な仮想マシン移動が発生してしまう。
【００１４】
本発明は，上記の問題点の解決を図り，仮想マシン移動に必要な資源をあらかじめ予約しておかなくても，仮想マシン移動時に，仮想マシン移動に必要な資源を確保することが可能となる技術を提供することを目的とする。
【課題を解決するための手段】
【００１５】
開示するプログラムは，仮想マシンが動作可能な複数の物理マシンを有する仮想マシンシステムにおいて，物理マシン間での仮想マシンの移動の制御を行うコンピュータを，次のように機能させる。
【００１６】
すなわち，前記プログラムは，前記プログラムがインストールされて実行されるコンピュータに，コンピュータがアクセス可能な記憶装置に記憶された，物理マシンごとの仮想マシンに対する資源割当量の情報を含む資源割当情報と，仮想マシンを負荷分散により同じ処理を行う仮想マシンごとにグループ化した情報とに基づいて，移動対象仮想マシンが動作する移動元物理マシン上で動作する他のグループに所属する仮想マシンを資源割当量の削減対象である減調整仮想マシンとして，減調整仮想マシンと同じグループに所属かつ移動元物理マシン以外の物理マシンで動作する仮想マシンを資源割当量の増加対象である増調整仮想マシンとして，それぞれ選択する手順と，増調整仮想マシンに対し移動対象仮想マシンの移動に必要な所定の資源量を追加して割り当て，減調整仮想マシンから所定の資源量を削減する調整を行い，調整後に移動元物理マシンにおいて移動対象仮想マシンの移動用の資源として所定の資源量を確保する手順とを実行させる。
【発明の効果】
【００１７】
上記の技術により，仮想マシン移動時に，仮想マシン移動に必要な資源の確保が，必要に応じてできるようになる。そのため，物理マシンが飽和している状態であっても，仮想マシンによるサービス全体の性能に影響を及ぼさずに，仮想マシン移動が行われるようになる。また，仮想マシン移動に必要な資源を常時確保しておく必要がなくなるため，各物理マシンの資源が有効に活用されるようになる。
【図面の簡単な説明】
【００１８】
【図１】本実施の形態によるデータセンタシステムの構成例を示す図である。
【図２】本実施の形態によるインスタンスの移動を説明する図（１）である。
【図３】本実施の形態によるインスタンスの移動を説明する図（２）である。
【図４】本実施の形態によるマイグレーション制御部の構成例を示す図である。
【図５】本実施の形態による資源管理データの例を示す図である。
【図６】本実施の形態によるマイグレーション資源割当範囲データの例を示す図である。
【図７】本実施の形態による一時資源割当データの構成例を示す図である。
【図８】本実施の形態のマイグレーション制御部によるマイグレーション資源確保処理フローチャートである。
【図９】本実施の形態の移動対象所属クラスタインスタンス選択部による移動対象所属クラスタインスタンス選択処理フローチャートである。
【図１０】本実施の形態の移動対象外所属クラスタインスタンス選択部による移動対象外所属クラスタインスタンス選択処理フローチャートである。
【図１１】本実施の形態のマイグレーション資源確保判定部，移動対象所属クラスタインスタンス選択部，移動対象外所属クラスタインスタンス選択部によるマイグレーション資源確保判定処理フローチャートである。
【図１２】本実施の形態のマイグレーション資源解放部によるマイグレーション資源解放処理フローチャートである。
【図１３】実施例１において，マイグレーション実行前の状態を示す図である。
【図１４】実施例１において，マイグレーション資源が確保された状態を示す図である。
【図１５】実施例１において，マイグレーション実行の状態を示す図である。
【図１６】実施例１において，マイグレーション資源が解放された状態を示す図である。
【図１７】実施例２において，マイグレーション実行前の状態を示す図である。
【図１８】実施例２において，マイグレーション資源が確保された状態を示す図である。
【図１９】実施例２において，マイグレーション実行の状態を示す図である。
【図２０】実施例２において，マイグレーション資源が解放された状態を示す図である。
【発明を実施するための形態】
【００１９】
以下，本実施の形態について，図を用いて説明する。
【００２０】
図１は，本実施の形態によるデータセンタシステムの構成例を示す図である。
【００２１】
図１に示すデータセンタシステム１は，計算機をテナントに貸し出すホスティングサービスを行うデータセンタのシステムである。テナントは，データセンタのホスティングサービスを利用して，エンドユーザに対してサービスを行うサービス提供者である。エンドユーザは，テナントが運用するサービスの利用者である。
【００２２】
本実施の形態のデータセンタは，物理マシンを複数のテナントで共有させるために，仮想化機構を利用する。すなわち，図１に示すデータセンタシステム１は，仮想マシンシステムであり，データセンタがテナントに貸し出す計算機は，仮想マシンである。また，データセンタは，仮想マシン以外にも，負荷分散装置や仮想マシン間ネットワーク／インターネット接続等，サービスに必要なインフラの提供も合わせて行う。
【００２３】
データセンタシステム１は，管理機構装置１０，物理サーバ２０，ＳＬＢ（Server Load Balancer）３０，サービス用ネットワーク４０，管理用ネットワーク５０を備える。
【００２４】
管理機構装置１０は，管理用ネットワーク５０等を介して，データセンタシステム１全体の管理・制御を行うコンピュータである。データセンタの管理者は，管理機構装置１０を操作することにより，データセンタシステム１の管理を行うことができる。
【００２５】
物理サーバ２０は，複数の仮想マシンが動作可能な物理マシンである。データセンタシステム１には，複数の物理サーバ２０が備えられている。物理サーバ２０は，仮想化機構制御部２１，インスタンス２２を備える。
【００２６】
仮想化機構制御部２１は，ハイパーバイザや仮想マシンモニタなどとも呼ばれ，物理サーバ２０上で動作するインスタンス２２の管理・制御を行う。仮想化機構制御部２１は，例えば，自物理サーバ２０で動作するインスタンス２２への資源割当や，自物理サーバ２０と他物理サーバ２０間のインスタンス２２の移動制御などを行う。
【００２７】
インスタンス２２は，テナントのサービスを構成する計算機である。すなわち，テナントに対して仮想マシンを貸し出す本実施の形態のデータセンタにおいては，インスタンス２２は，物理サーバ２０上で動作する仮想マシンとなる。
【００２８】
ＳＬＢ３０は，エンドユーザによるテナントサービスへのアクセスを，複数の同じサービスの処理を行うインスタンス２２に分散する負荷分散装置である。本実施の形態では，同一の処理を行い，同一のＳＬＢ３０の配下に接続されるインスタンス２２をグループ化したものを，クラスタと呼ぶものとする。すなわち，ＳＬＢ３０は，同じクラスタに属するインスタンス２２への負荷分散を行う。
【００２９】
テナント端末２は，データセンタシステム１を利用してサービスを行うテナントが，サービス管理を行うためのコンピュータである。テナント端末２は，ＶＰＮ（Virtual Private Network ）などのサービス管理網４を介して，テナントサービスの処理を行うインスタンス２２にアクセスできる。テナントは，テナント端末２を用いてデータセンタから借りたインスタンス２２にアクセスし，自らが提供するサービスを管理する。
【００３０】
エンドユーザ端末３は，テナントサービスを受けようとするエンドユーザが，テナントサービスの処理を行うインスタンス２２にアクセスするためのコンピュータである。エンドユーザ端末３は，インターネット５およびサービス用ネットワーク４０を介して，テナントサービスの処理を行うインスタンス２２にアクセスできる。エンドユーザは，エンドユーザ端末３を用いて，テナントサービスの処理を行うインスタンス２２にアクセスし，テナントがデータセンタシステム１を利用して提供するサービスを受ける。
【００３１】
例えば，図１において，あるテナントが，物理サーバ２０Ａのインスタンス２２Ａと，物理サーバ２０Ｂのインスタンス２２Ｃとをデータセンタから借りて，サービスを行っているものとする。そのテナントは，図１の点線矢印が示すように，テナント端末２を用いてインスタンス２２Ａとインスタンス２２Ｃとにアクセスし，インスタンス２２Ａとインスタンス２２Ｃとによるサービスを管理する。この場合，インスタンス２２Ａとインスタンス２２Ｃとは，１つの同じサービスの処理を行うインスタンス２２であるので，図１の破線枠が示すように，同じクラスタに属するインスタンス２２となる。すなわち，これらのインスタンス２２によるサービスへのエンドユーザ端末３からのアクセスは，図１の実線矢印が示すように，ＳＬＢ３０によって，インスタンス２２Ａとインスタンス２２Ｃとに分散される。
【００３２】
データセンタシステム１では，１台の物理サーバ２０上で，複数のテナントがそれぞれ利用するインスタンス２２が実行されている。このような環境において，あるテナントが利用するインスタンス２２の負荷が上昇することで，同一の物理サーバ２０を共有する他のテナントのインスタンス２２に悪影響を及ぼしてしまうことも考えられる。データセンタシステム１では，各インスタンス２２の負荷を監視して，物理サーバ２０の総リソースが飽和する前にインスタンス２２を他の物理サーバ２０に移動することにより，過負荷状態に陥ることが避けられている。
【００３３】
例えば，図１において，物理サーバ２０Ａのリソースが飽和しそうな状態にあるものとする。このとき，データセンタシステム１では，リソースが飽和しそうな物理サーバ２０Ａから，リソースにまだ余裕がある物理サーバ２０Ｂへのインスタンス２２の移動が行われる。例えば，物理サーバ２０Ａ上で動作するインスタンス２２Ｂが，図１の一点鎖線に示すように，物理サーバ２０Ｂに移動される。
【００３４】
このような物理サーバ２０間のインスタンス２２の移動，すなわち仮想マシン移動の技術として，上述したように，インスタンス２２を稼動させたままで物理サーバ２０間を移動させるライブマイグレーションと呼ばれる技術がある。本実施の形態では，ライブマイグレーションの技術によって，移動対象のインスタンス２２によるサービスが停止されずに，インスタンス２２の移動が行われる。
【００３５】
ライブマイグレーションでは，物理サーバ２０に，インスタンス２２の移動のための資源が必要となる。そのため，上述したように，物理サーバ２０が飽和状態になってからライブマイグレーションを行うと，ライブマイグレーションに資源を割くために稼動中のインスタンス２２の資源が削減されるので，サービスレベルが低下してしまうという問題がある。また，上述したように，物理サーバ２０であらかじめライブマイグレーションに必要な資源を予約しておくと，資源の利用効率が悪くなってしまうという問題がある。
【００３６】
このような問題に対処するために，本実施の形態によるデータセンタシステム１では，インスタンス２２の移動に必要な資源の予約は行われず，インスタンス２２の移動時に，インスタンス２２の移動に必要なだけの資源の確保が行われる。
【００３７】
管理機構装置１０は，マイグレーション制御部１００を備える。マイグレーション制御部１００は，データセンタシステム１全体について，インスタンス２２の移動の管理・制御等を行う。マイグレーション制御部１００は，管理機構装置１０のコンピュータが備えるＣＰＵ，メモリ等のハードウェアと，ソフトウェアプログラムとにより実現される。
【００３８】
マイグレーション制御部１００は，インスタンス２２の移動が発生したときに，そのインスタンス２２の移動に必要なだけの資源を物理サーバ２０上に確保する制御を行う。以下では，本実施の形態のマイグレーション制御部１００によってインスタンス２２の移動に必要な資源を確保する技術について，説明する。
【００３９】
なお，以下では，本実施の形態による仮想マシン移動，すなわち本実施の形態によるインスタンス２２の移動を，単にマイグレーションと呼ぶものとする。また，物理サーバ２０の資源としては，ＣＰＵ資源やメモリ資源など様々な資源があるが，本実施の形態では，主にＣＰＵ資源を指すものとする。
【００４０】
図２は，本実施の形態によるインスタンスの移動を説明する図（１）である。
【００４１】
図２において，各物理サーバ２０における太線の細長い枠は，各物理サーバ２０が有する資源量を表しているものとする。また，各物理サーバ２０の資源量を表す太線枠の上にある細線の枠は，各物理サーバ２０上で動作する各インスタンス２２とその資源割当量とを表しているものとする。各インスタンスを表す細線枠内の括弧内には，各インスタンス２２が属するクラスタが示されている。
【００４２】
図２（Ａ）は，マイグレーションの実行前の状態を示す。
【００４３】
図２（Ａ）において，インスタンス２２ａが，今回のマイグレーションにおける移動対象のインスタンス２２であるものとする。図２（Ａ）に示すように，インスタンス２２ａは，クラスタａに属する。
【００４４】
図２（Ａ）に示すように，移動対象のインスタンス２２ａが動作する物理サーバ２０が，今回のマイグレーションにおける移動元物理サーバ２０ｂとなる。また，移動先物理サーバ２０ａが，移動対象のインスタンス２２ａの移動先となる物理サーバ２０である。
【００４５】
移動元物理サーバ２０ｂは，図２（Ａ）に示すように，インスタンス２２ａとインスタンス２２ｂとにより，資源が飽和した状態となっており，移動元物理サーバ２０ｂには，マイグレーションに必要な資源が残っていない。マイグレーションに必要な資源を捻出するためにインスタンス２２ａやインスタンス２２ｂの資源割当量が減らされてしまうと，インスタンス２２ａやインスタンス２２ｂによるサービスの質が低下してしまう。
【００４６】
マイグレーション制御部１００は，インスタンス２２の移動によるサービス品質の低下を起こさずに，移動元物理サーバ２０ｂ上にマイグレーションに必要な資源を確保するための処理を行う。具体的には，図２に示す本実施の形態の例において，マイグレーション制御部１００は，インスタンス２２ａと同じクラスタａに属するインスタンス２２が動作する物理サーバ２０で，資源に余裕がある物理サーバ２０の探索を行う。ここでは，マイグレーション制御部１００が，余裕あり物理サーバ２０ｃとして，インスタンス２２ａと同じクラスタａに属するインスタンス２２ｃが動作する物理サーバ２０を検出したものとする。
【００４７】
本実施の形態では，同じクラスタａに属するインスタンス２２ａとインスタンス２２ｃとは，同じテナントサービスを提供するインスタンス２２であるものとする。図２（Ａ）に示すように，ＳＬＢ３０は，クラスタａの負荷分散において，通常の運用時にはインスタンス２２ａの負荷とインスタンス２２ｃの負荷とが同じになるように，負荷配分を行っている。
【００４８】
図２（Ｂ）は，マイグレーションに必要な資源の確保を示す。
【００４９】
本実施の形態では，インスタンス２２によるサービスの品質を低下させずにマイグレーションに必要な資源を確保するために，インスタンス２２の資源割当量の調整が行われる。図２に示す例では，移動元物理サーバ２０ｂ上の移動対象のインスタンス２２ａの資源割当量と，余裕あり物理サーバ２０ｃ上のインスタンス２２ｃの資源割当量との調整により，移動元物理サーバ２０ｂにマイグレーションに必要な資源が確保される。
【００５０】
マイグレーション制御部１００は，余裕あり物理サーバ２０ｃの仮想化機構制御部２１に対して，移動対象のインスタンス２２ａと同じクラスタａに属するインスタンス２２ｃの資源割当量を，マイグレーションに必要な資源量Δの分だけ増加するように指示する。余裕あり物理サーバ２０ｃの仮想化機構制御部２１は，図２（Ｂ）に示すように，インスタンス２２ｃの資源割当量を，マイグレーションに必要な資源量Δの分だけ増加する。
【００５１】
マイグレーション制御部１００は，ＳＬＢ３０に対して，インスタンス２２ａとインスタンス２２ｃとの間の負荷配分比の設定を変更するように指示する。ＳＬＢ３０は，図２（Ｂ）に示すように，インスタンス２２ａとインスタンス２２ｃとの間の負荷配分比の設定を変更する。なお，変更後の負荷配分比は，元のインスタンス２２ａの資源割当量−Δ：元のインスタンス２２ｃの資源割当量＋Δとなる。
【００５２】
マイグレーション制御部１００は，資源が飽和している移動元物理サーバ２０ｂの仮想化機構制御部２１に対して，移動対象のインスタンス２２ａの資源割当量を，マイグレーションに必要な資源量Δの分だけ削減するように指示する。移動元物理サーバ２０ｂの仮想化機構制御部２１は，図２（Ｂ）に示すように，移動対象のインスタンス２２ａの資源割当量を，マイグレーションに必要な資源量Δの分だけ削減する。
【００５３】
このようなマイグレーション制御部１００の制御により，移動元物理サーバ２０ｂにマイグレーションに必要な資源が確保される。このとき，移動元物理サーバ２０ｂに資源を確保するためのインスタンス２２ａの資源削減分は，インスタンス２２ａと同じサービス処理を行うインスタンス２２ｃの資源増加で対処するため，これらのインスタンス２２によるサービスの品質は低下しない。
【００５４】
図２（Ｃ）は，マイグレーションの実行を示す。
【００５５】
移動元物理サーバ２０ｂの仮想化機構制御部２１と，移動先物理サーバ２０ａの仮想化機構制御部２１とは，マイグレーション制御部１００からの指示により，マイグレーションを実行する。このとき，移動元物理サーバ２０ｂと移動先物理サーバ２０ａでは，図２（Ｃ）のハッチング部分に示すように，マイグレーションの実行に用いる資源が割り当てられる。以下では，マイグレーションの実行に用いる資源を，マイグレーション資源と呼ぶものとする。
【００５６】
マイグレーションにより，図２（Ｃ）に示すように，移動元物理サーバ２０ｂ上のインスタンス２２ａが，移動先物理サーバ２０ａに移動する。
【００５７】
図２（Ｄ）は，マイグレーション終了後の資源割当の復元を示す。
【００５８】
図２（Ｃ）に示すマイグレーションが終了した段階では，移動先物理サーバ２０ａ上のインスタンス２２ａの資源割当量は，元の資源割当量−Δのままであり，余裕あり物理サーバ２０ｃ上のインスタンス２２ｃの資源割当量は，元の資源割当量＋Δのままである。このままインスタンス２２ａ，インスタンス２２ｃを動作させることも可能ではあるが，本実施の形態では，マイグレーション制御部１００により，資源割当量を変更したインスタンス２２ａとインスタンス２２ｃの資源割当量の復元が行われる。
【００５９】
マイグレーション制御部１００は，移動先物理サーバ２０ａの仮想化機構制御部２１に対して，インスタンス２２ａの資源割当量を元の資源割当量に復元するように，すなわちインスタンス２２ａの資源割当量をΔ分だけ増加するように指示する。移動先物理サーバ２０ａの仮想化機構制御部２１は，図２（Ｄ）に示すように，インスタンス２２ａの資源割当量をΔの分だけ増加する。
【００６０】
マイグレーション制御部１００は，ＳＬＢ３０に対して，インスタンス２２ａとインスタンス２２ｃとの間の負荷配分比の設定を復元するように指示する。ＳＬＢ３０は，図２（Ｄ）に示すように，インスタンス２２ａとインスタンス２２ｃとの間の負荷配分比の設定を復元する。なお，復元後の負荷配分比は，元のインスタンス２２ａの資源割当量：元のインスタンス２２ｃの資源割当量となる。
【００６１】
マイグレーション制御部１００は，余裕あり物理サーバ２０ｃの仮想化機構制御部２１に対して，インスタンス２２ｃの資源割当量を元の資源割当量に復元するように，すなわちインスタンス２２ｃの資源割当量をΔ分だけ削減するように指示する。余裕あり物理サーバ２０ｃの仮想化機構制御部２１は，図２（Ｄ）に示すように，インスタンス２２ｃの資源割当量をΔの分だけ削減する。
【００６２】
このようなマイグレーション制御部１００の制御により，マイグレーション資源の確保のために資源割当量が変更されたインスタンス２２ａとインスタンス２２ｃの資源割当量が，マイグレーション発生前の状態に復元される。
【００６３】
図３は，本実施の形態によるインスタンスの移動を説明する図（２）である。
【００６４】
図２に示す例では，移動対象のインスタンス２２ａが属するクラスタａ内でインスタンス２２の資源割当量の調整を行うことにより，移動元物理サーバ２０ｂにマイグレーション資源が確保された。しかし，移動対象のインスタンス２２ａと同じクラスタに属するインスタンス２２が存在しない場合も考えられる。また，移動対象のインスタンス２２ａと同じクラスタに属するインスタンス２２が存在しても，その移動対象のインスタンス２２ａと同じクラスタに属するインスタンス２２が動作する物理サーバ２０に資源の余裕がない場合も考えられる。
【００６５】
ここでは，図３を用いて，移動対象のインスタンス２２が属するクラスタ以外のクラスタに属するインスタンス２２の資源割当量の調整を行うことにより，移動元の物理サーバ２０にマイグレーション資源を確保する例を説明する。
【００６６】
図３において，各物理サーバ２０における太線の細長い枠は，図２に示す例と同様に，各物理サーバ２０が有する資源量を表しているものとする。また，各物理サーバ２０の資源量を表す太線枠の上にある細線の枠は，各物理サーバ２０上で動作する各インスタンス２２とその資源割当量とを表しているものとする。各インスタンスを表す細線枠内の括弧内には，各インスタンス２２が属するクラスタが示されている。
【００６７】
図３（Ａ）は，マイグレーションの実行前の状態を示す。
【００６８】
図３（Ａ）において，図２に示す例と同様に，インスタンス２２ａが，今回のマイグレーションにおける移動対象のインスタンス２２であるものとする。図３（Ａ）に示すように，インスタンス２２ａは，クラスタａに属する。
【００６９】
図３（Ａ）に示すように，移動対象のインスタンス２２ａが動作する物理サーバ２０が，移動元物理サーバ２０ｂとなる。また，移動先物理サーバ２０ａが，移動対象のインスタンス２２ａの移動先となる物理サーバ２０である。
【００７０】
移動元物理サーバ２０ｂは，図３（Ａ）に示すように，インスタンス２２ａとインスタンス２２ｂとにより，資源が飽和した状態となっており，このままではマイグレーション資源が確保できない。
【００７１】
ここで，移動対象のインスタンス２２ａと同じクラスタａに属するインスタンスが存在しないものとすると，上述の図２で説明した手順では，移動元物理サーバ２０ｂ上にマイグレーション資源を確保することができない。そこで，図３に示す本実施の形態の例では，マイグレーション制御部１００が，移動元物理サーバ２０ｂ上で動作する，移動対象でないインスタンス２２ｂの資源割当量を調整することにより，移動元物理サーバ２０ｂ上にマイグレーション資源を確保する。
【００７２】
具体的には，マイグレーション制御部１００は，インスタンス２２ｂと同じクラスタｂに属するインスタンス２２が動作する物理サーバ２０で，資源に余裕がある物理サーバ２０の探索を行う。ここでは，マイグレーション制御部１００が，余裕あり物理サーバ２０ｄとして，インスタンス２２ｂと同じクラスタｂに属するインスタンス２２ｄが動作する物理サーバ２０を検出したものとする。
【００７３】
本実施の形態では，同じクラスタｂに属するインスタンス２２ｂとインスタンス２２ｄとは，同じテナントサービスを提供するインスタンス２２であるものとする。図３（Ａ）に示すように，ＳＬＢ３０は，クラスタｂの負荷分散において，通常の運用時にはインスタンス２２ｂの負荷とインスタンス２２ｄの負荷とが同じになるように，負荷配分を行っている。
【００７４】
図３（Ｂ）は，マイグレーションに必要な資源の確保を示す。
【００７５】
図３に示す例では，移動元物理サーバ２０ｂ上の移動対象でないインスタンス２２ｂの資源割当量と，余裕あり物理サーバ２０ｄ上のインスタンス２２ｄの資源割当量との調整により，移動元物理サーバ２０ｂにマイグレーション資源が確保される。
【００７６】
マイグレーション制御部１００は，余裕あり物理サーバ２０ｄの仮想化機構制御部２１に対して，インスタンス２２ｂと同じクラスタｂに属するインスタンス２２ｄの資源割当量を，マイグレーション資源量Δの分だけ増加するように指示する。余裕あり物理サーバ２０ｄの仮想化機構制御部２１は，図３（Ｂ）に示すように，インスタンス２２ｄの資源割当量を，マイグレーション資源量Δの分だけ増加する。
【００７７】
マイグレーション制御部１００は，ＳＬＢ３０に対して，インスタンス２２ｂとインスタンス２２ｄとの間の負荷配分比の設定を変更するように指示する。ＳＬＢ３０は，図３（Ｂ）に示すように，インスタンス２２ｂとインスタンス２２ｄとの間の負荷配分比の設定を変更する。なお，変更後の負荷配分比は，元のインスタンス２２ｂの資源割当量−Δ：元のインスタンス２２ｄの資源割当量＋Δとなる。
【００７８】
マイグレーション制御部１００は，資源が飽和している移動元物理サーバ２０ｂの仮想化機構制御部２１に対して，移動対象でないインスタンス２２ｂの資源割当量を，マイグレーションに必要な資源量Δの分だけ削減するように指示する。移動元物理サーバ２０ｂの仮想化機構制御部２１は，図３（Ｂ）に示すように，移動対象でないインスタンス２２ｂの資源割当量を，マイグレーションに必要な資源量Δの分だけ削減する。
【００７９】
このようなマイグレーション制御部１００の制御により，移動元物理サーバ２０ｂにマイグレーション資源が確保される。このとき，移動元物理サーバ２０ｂに資源を確保するためのインスタンス２２ｂの資源削減分は，インスタンス２２ｂと同じサービス処理を行うインスタンス２２ｄの資源増加で対処するため，これらのインスタンス２２によるサービスの品質は低下しない。
【００８０】
図３（Ｃ）は，マイグレーションの実行を示す。
【００８１】
移動元物理サーバ２０ｂの仮想化機構制御部２１と，移動先物理サーバ２０ａの仮想化機構制御部２１とは，マイグレーション制御部１００からの指示により，マイグレーションを実行する。このとき，移動元物理サーバ２０ｂと移動先物理サーバ２０ａでは，図３（Ｃ）のハッチング部分に示すように，マイグレーション資源が割り当てられる。
【００８２】
マイグレーションにより，図３（Ｃ）に示すように，移動元物理サーバ２０ｂ上のインスタンス２２ａが，移動先物理サーバ２０ａに移動する。
【００８３】
図３（Ｄ）は，マイグレーション終了後の資源割当の復元を示す。
【００８４】
図３（Ｃ）に示すマイグレーションが終了した段階では，移動元物理サーバ２０ｂ上のインスタンス２２ｂの資源割当量は，元の資源割当量−Δのままであり，余裕あり物理サーバ２０ｄ上のインスタンス２２ｄの資源割当量は，元の資源割当量＋Δのままである。このままインスタンス２２ｂ，インスタンス２２ｄを動作させることも可能ではあるが，本実施の形態では，マイグレーション制御部１００により，資源割当量を変更したインスタンス２２ｂとインスタンス２２ｄの資源割当量の復元が行われる。
【００８５】
マイグレーション制御部１００は，移動元物理サーバ２０ｂの仮想化機構制御部２１に対して，インスタンス２２ｂの資源割当量を元の資源割当量に復元するように，すなわちインスタンス２２ｂの資源割当量をΔ分だけ増加するように指示する。移動元物理サーバ２０ｂの仮想化機構制御部２１は，図３（Ｄ）に示すように，インスタンス２２ｂの資源割当量をΔの分だけ増加する。
【００８６】
マイグレーション制御部１００は，ＳＬＢ３０に対して，インスタンス２２ｂとインスタンス２２ｄとの間の負荷配分比の設定を復元するように指示する。ＳＬＢ３０は，図３（Ｄ）に示すように，インスタンス２２ｂとインスタンス２２ｄとの間の負荷配分比の設定を復元する。なお，復元後の負荷配分比は，元のインスタンス２２ｂの資源割当量：元のインスタンス２２ｄの資源割当量となる。
【００８７】
マイグレーション制御部１００は，余裕あり物理サーバ２０ｄの仮想化機構制御部２１に対して，インスタンス２２ｄの資源割当量を元の資源割当量に復元するように，すなわちインスタンス２２ｄの資源割当量をΔ分だけ削減するように指示する。余裕あり物理サーバ２０ｄの仮想化機構制御部２１は，図３（Ｄ）に示すように，インスタンス２２ｄの資源割当量をΔの分だけ削減する。
【００８８】
このようなマイグレーション制御部１００の制御により，マイグレーション資源の確保のために資源割当量が変更されたインスタンス２２ｂとインスタンス２２ｄの資源割当量が，マイグレーション発生前の状態に復元される。
【００８９】
図４は，本実施の形態によるマイグレーション制御部の構成例を示す図である。
【００９０】
図４において，実線の矢印は制御の流れを示し，破線の矢印はデータの流れを示すものとする。
【００９１】
マイグレーション制御部１００は，図１に示すデータセンタシステム１において，物理サーバ２０間のインスタンス２２の移動を制御する。本実施の形態では，マイグレーション制御部１００は，図１に示す管理機構装置１０内に設けられる。
【００９２】
マイグレーション制御部１００は，移動対象／移動先取得部１０１，マイグレーション資源確保判定部１０２，調整対象インスタンス選択部１０３，マイグレーション資源確保部１０６，マイグレーション実行部１０７，マイグレーション資源解放部１０８を備える。またマイグレーション制御部１００は，管理情報記憶部１１０，マイグレーション資源割当範囲情報記憶部１２０，一時資源割当情報記憶部１３０を備える。マイグレーション制御部１００が備える各機能部は，管理機構装置１０のコンピュータが備えるＣＰＵ，メモリ等のハードウェアと，ソフトウェアプログラムとにより実現される。
【００９３】
移動対象／移動先取得部１０１は，移動対象のインスタンス２２や移動先の物理サーバ２０の選択情報を取得する。
【００９４】
本実施の形態では，データセンタシステム１の管理者が，移動対象のインスタンス２２と移動先の物理サーバ２０とを選択し，その選択の指示を管理機構装置１０に入力する。移動対象／移動先取得部１０１は，その管理者により入力された移動対象のインスタンス２２と移動先の物理サーバ２０の指示を取得する。
【００９５】
なお，管理機構制御装置１０や各物理サーバ２０の仮想化機構制御部２１等が，各物理サーバ２０のリソース状況に応じて，自動的に移動対象のインスタンス２２や移動先の物理サーバ２０を選択するようにしてもよい。この場合には，移動対象／移動先取得部１０１は，管理機構制御装置１０や仮想化機構制御部２１により選択された移動対象のインスタンス２２や移動先の物理サーバ２０の情報を取得する。
【００９６】
マイグレーション資源確保判定部１０２は，管理情報記憶部１１０に記憶された資源管理情報に基づいて，インスタンス２２の移動元の物理サーバ２０と移動先の物理サーバ２０とに，所定量のマイグレーション資源の確保が可能なだけの十分な資源の余裕があるかを判定する。移動元の物理サーバ２０と移動先の物理サーバ２０とに十分な資源の余裕があれば，上述の図２，図３で説明したようなインスタンス２２の資源割当量を変更する処理を行わなくても，マイグレーションの実行が可能である。なお，マイグレーション資源の所定量は，あらかじめ適当と考えられる量または範囲量が設定されており，その設定情報がマイグレーション資源割当範囲情報記憶部１２０に記憶されている。
【００９７】
管理情報記憶部１１０は，各物理サーバ２０の資源の状況を管理する資源管理情報や，インスタンス２２をグループ化したクラスタの情報などの，データセンタシステム１の管理情報を記憶する，コンピュータがアクセス可能な記憶装置である。
【００９８】
図５は，本実施の形態による資源管理データの例を示す図である。
【００９９】
図５に示す資源管理データ１１１は，管理情報記憶部１１０に記憶された資源管理情報の例である。図５に示す資源管理データ１１１には，インスタンス２２をグループ化したクラスタの情報も含まれている。
【０１００】
図５に示す資源管理データ１１１は，物理サーバ，資源量，インスタンス，所属クラスタ，資源割当量などの情報を持つ。図５に示す資源管理データ１１１において，物理サーバには，データセンタシステム１が備える物理サーバ２０の名称などの，物理サーバ２０を特定する識別情報が記録される。資源量には，各物理サーバ２０が有する資源の総量を示す情報が記録される。インスタンスには，各物理サーバ２０上で動作しているインスタンス２２の名称などの，インスタンス２２を特定する識別情報が記録される。所属クラスタには，各インスタンス２２が所属するクラスタの名称などの，クラスタを特定する識別情報が記録されている。資源割当量は，各インスタンス２２に対して割り当てられた資源量が記録されている。
【０１０１】
例えば，図５に示す資源管理データ１１１において，SVR#2 の物理サーバ２０の資源量は１０である。それに対して，SVR#2 の物理サーバ２０上で動作しているINS#1 のインスタンス２２と，INS#2 のインスタンス２２の資源割当量は，それぞれ８と２である。すなわち，INS#1 のインスタンス２２とINS#2 のインスタンス２２との資源割当量の合計が１０となるので，SVR#2 の物理サーバ２０は，資源が飽和した状態であることがわかる。
【０１０２】
図４において，マイグレーション資源割当範囲情報記憶部１２０は，マイグレーション資源として適当であると考えられる量または範囲量が設定された設定情報を記憶する，コンピュータがアクセス可能な記憶装置である。
【０１０３】
図６は，本実施の形態によるマイグレーション資源割当範囲データの例を示す図である。
【０１０４】
図６に示すマイグレーション資源割当範囲データ１２１は，マイグレーション資源割当範囲情報記憶部１２０に記憶された，マイグレーション資源の範囲量が設定された設定情報の例である。
【０１０５】
マイグレーションに必要な資源量は，一定値を仮定して設定されてもよいが，図６に示すように，範囲量を仮定して設定されてもよい。
【０１０６】
マイグレーション資源として多い資源量を割り当てるように設定すると，高速なインスタンス２２の転送が可能となるが，設定された資源量の確保が難しいケースも発生する。マイグレーション資源として少ない資源量を割り当てるように設定すると，設定された資源量の確保は容易となるが，インスタンス２２の転送時間が長くなってしまう。
【０１０７】
本実施の形態では，マイグレーションに必要な資源量を範囲で設定し，その範囲の中で，可能な限り多くの資源量がマイグレーションに割り当てられるように，マイグレーション割当の制御が行われる。
【０１０８】
図６に示すマイグレーション資源割当範囲データ１２１において，Δmin は，マイグレーション資源として設定された範囲の最小値を示す。Δmax は，マイグレーション資源として設定された範囲の最大値を示す。
【０１０９】
Δmin には，妥当な時間でマイグレーションを実行するのに，最低限必要と考えられる資源量が設定される。また，Δmax には，これ以上の資源を割り当てても，マイグレーションの速度が上がらなくなると考えられる資源量が設定される。
【０１１０】
図４において，調整対象インスタンス選択部１０３は，マイグレーション資源を確保するために資源割当量を調整するインスタンス２２を選択する。
【０１１１】
より具体的には，調整対象インスタンス選択部１０３は，移動対象のインスタンス２２が動作する物理サーバ２０上で動作するインスタンス２２から，資源割当量を削減する調整を行う対象のインスタンス２２を選択する。以下では，資源割当量を削減する調整を行う対象のインスタンス２２を減調整インスタンスと呼ぶものとする。
【０１１２】
また，調整対象インスタンス選択部１０３は，減調整インスタンスと同じクラスタに属し，資源に余裕がある物理サーバ２０上で動作するインスタンス２２を，資源割当量を増加する調整を行う対象のインスタンス２２として選択する。以下では，資源割当量を増加する調整を行う対象のインスタンス２２を増調整インスタンスと呼ぶものとする。なお，移動対象のインスタンス２２が動作する物理サーバ２０には資源の余裕がないことが前提となっているので，増調整インスタンスが動作する物理サーバ２０は，移動対象のインスタンス２２が動作する物理サーバ２０以外の物理サーバ２０となる。
【０１１３】
調整対象インスタンス選択部１０３は，移動対象所属クラスタインスタンス選択部１０４と，移動対象外所属クラスタインスタンス選択部１０５とを備える。
【０１１４】
移動対象所属クラスタインスタンス選択部１０４は，図２の例に示すように，移動対象のインスタンス２２を，減調整インスタンスとして選択する。また，移動対象所属クラスタインスタンス選択部１０４は，資源の余裕がある物理サーバ２０上で動作する，移動対象のインスタンス２２と同じクラスタに属するインスタンス２２を，増調整インスタンスとして選択する。
【０１１５】
移動対象外所属クラスタインスタンス選択部１０５は，図３の例に示すように，移動対象のインスタンス２２以外の，移動元の物理サーバ２０上で動作するインスタンス２２を減調整インスタンスとして選択する。また，移動対象外クラスタインスタンス選択部１０５は，資源の余裕がある物理サーバ２０上で動作する，減調整インスタンスと同じクラスタに属するインスタンス２２を増調整インスタンスとして選択する。
【０１１６】
調整対象インスタンス選択部１０３は，まず，移動対象所属クラスタインスタンス選択部１０４によって，資源割当量の調整対象となるインスタンス２２の選択を試みる。調整対象インスタンス選択部１０３は，移動対象所属クラスタインスタンス選択部１０４によって適当なインスタンス２２が選択できなかったときに，移動対象外所属クラスタインスタンス選択部１０５によって，資源割当量の調整対象となるインスタンス２２の選択を試みる。
【０１１７】
調整対象インスタンス選択部１０３は，選択された資源割当量の調整対象となるインスタンスに基づいて，一時的な資源割当の調整状況を管理する情報を生成し，一時資源割当情報記憶部１３０に記憶する。
【０１１８】
一時資源割当情報記憶部１３０は，一時的な資源割当量の調整状況を管理する情報を記憶する，コンピュータがアクセス可能な記憶装置である。
【０１１９】
図７は，本実施の形態による一時資源割当データの構成例を示す図である。
【０１２０】
図７に示す一時資源割当データ１３１は，一時資源割当情報記憶部１３０に記憶された，一時的な資源割当量の調整状況を管理する情報の例である。
【０１２１】
図７に示す一時資源割当データ１３１において，移動対象インスタンスには，移動対象のインスタンス２２の識別情報が記録される。割当変更インスタンスには，資源割当量の調整対象となるインスタンス２２，すなわち減調整インスタンスとして選択されたインスタンス２２の識別情報と，増調整インスタンスとして選択されたインスタンス２２の識別情報とが記録される。
【０１２２】
図７に示す一時資源割当データ１３１において，移動前割当サーバには，減調整インスタンスがマイグレーション実行前に動作する物理サーバ２０の識別情報と，増調整インスタンスがマイグレーション実行前に動作する物理サーバ２０の識別情報とが記録される。移動後割当サーバには，減調整インスタンスがマイグレーション実行後に動作する物理サーバ２０の識別情報と，増調整インスタンスがマイグレーション実行後に動作する物理サーバ２０の識別情報とが記録される。
【０１２３】
図７に示す一時資源割当データ１３１において，本来の資源割当量には，減調整インスタンスに対してマイグレーション発生前に割り当てられていた本来の資源量と，増調整インスタンスに対してマイグレーション発生前に割り当てられていた本来の資源量とが記録される。移動中の資源割当量には，マイグレーション資源を確保するために調整された減調整インスタンスの資源割当量と，マイグレーション資源を確保するために調整された増調整インスタンスの資源割当量とが記録される。
【０１２４】
図４において，マイグレーション資源確保部１０６は，選択された資源割当量の調整対象となるインスタンス２２の資源割当量を変更し，移動元の物理サーバ２０と移動先の物理サーバ２０とにマイグレーション資源を確保する。
【０１２５】
より具体的には，マイグレーション資源確保部１０６は，一時資源割当情報記憶部１３０に記憶された一時資源割当データ１３１を参照し，増調整インスタンスの資源割当量を増加する。マイグレーション資源確保部１０６は，ＳＬＢ３０における減調整インスタンスと増調整インスタンス間の負荷配分比を変更する。マイグレーション資源確保部１０６は，減調整インスタンスの資源割当量を削減する。マイグレーション資源確保部１０６は，移動元の物理サーバ２０と移動先の物理サーバ２０とに，マイグレーション資源を確保する。マイグレーション資源確保部１０６は，資源割当量の調整結果やマイグレーション資源確保の結果を，管理情報記憶部１１０に記憶された資源管理データ１１１に記録する。
【０１２６】
マイグレーション実行部１０７は，移動対象のインスタンス２２を移動元の物理サーバ２０から移動先の物理サーバ２０に移動する，マイグレーションを実行する。マイグレーション実行部１０７は，マイグレーションの実行結果を，管理情報記憶部１１０に記憶された資源管理データ１１１に記録する。
【０１２７】
マイグレーション資源解放部１０８は，マイグレーション終了後に，移動元の物理サーバ２０と移動先の物理サーバ２０とのマイグレーション資源を解放し，資源割当量の調整対象となったインスタンス２２の資源割当量を復元する。
【０１２８】
より具体的には，マイグレーション資源解放部１０８は，移動元の物理サーバ２０と移動先の物理サーバ２０とのマイグレーション資源を解放する。マイグレーション資源解放部１０８は，一時資源割当情報記憶部１３０に記憶された一時資源割当データ１３１を参照し，減調整インスタンスの資源割当量を復元，すなわち減調整インスタンスの資源割当量を元の資源割当量になるように増加する。マイグレーション資源解放部１０８は，ＳＬＢ３０における減調整インスタンスと増調整インスタンス間の負荷配分比を復元する。マイグレーション資源解放部１０８は，増調整インスタンスの資源割当量を復元，すなわち増調整インスタンスの資源割当量を元の資源割当量になるように減少する。マイグレーション資源解放部１０８は，マイグレーション資源解放の結果や資源割当量の復元結果を，管理情報記憶部１１０に記憶された資源管理データ１１１に記録する。
【０１２９】
以下，図８〜図１２を用いて，本実施の形態のマイグレーション制御部１００による処理の流れを説明する。
【０１３０】
図８は，本実施の形態のマイグレーション制御部によるマイグレーション資源確保処理フローチャートである。
【０１３１】
マイグレーション制御部１００において，マイグレーション資源確保判定部１０２は，移動対象のインスタンス２２の移動元の物理サーバ２０と移動先の物理サーバ２０とを，調査対象の物理サーバ２０として，マイグレーション資源確保判定処理を実行する（ステップＳ１０）。マイグレーション資源確保判定処理の詳細については，後述する。マイグレーション資源確保判定部１０２は，移動元の物理サーバ２０と移動先の物理サーバ２０とに，マイグレーション資源が確保可能であるかを判定する（ステップＳ１１）。
【０１３２】
マイグレーション資源が確保可能であれば（ステップＳ１１のＹＥＳ），マイグレーション資源確保部１０６は，移動元の物理サーバ２０と移動先の物理サーバ２０とに，マイグレーション資源を確保する（ステップＳ２１）。
【０１３３】
マイグレーション資源が確保可能でなければ（ステップＳ１１のＮＯ），調整対象インスタンス選択部１０３において，移動対象所属クラスタインスタンス選択部１０４は，移動対象所属クラスタインスタンス選択処理を実行する（ステップＳ１２）。移動対象所属クラスタインスタンス選択処理の詳細については，後述する。調整対象インスタンス選択部１０３は，移動対象所属クラスタインスタンス選択処理によって，調整対象となるインスタンス２２が選択されたかを判定する（ステップＳ１３）。
【０１３４】
調整対象となるインスタンス２２が選択されれば（ステップＳ１３のＹＥＳ），調整対象インスタンス選択部１０３は，移動対象所属クラスタインスタンス選択処理による選択結果に基づいて，一時資源割当データ１３１を作成する（ステップＳ１７）。作成された一時資源割当データ１３１は，一時資源割当情報記憶部１３０に記憶される。
【０１３５】
調整対象となるインスタンス２２が選択されなければ（ステップＳ１３のＮＯ），調整対象インスタンス選択部１０３において，移動対象外所属クラスタインスタンス選択部１０５は，移動対象外所属クラスタインスタンス選択処理を実行する（ステップＳ１４）。移動対象外所属クラスタインスタンス選択処理の詳細については，後述する。調整対象インスタンス選択部１０３は，移動対象外所属クラスタインスタンス選択処理によって，調整対象となるインスタンス２２が選択されたかを判定する（ステップＳ１５）。
【０１３６】
調整対象となるインスタンス２２が選択されなければ（ステップＳ１５のＮＯ），マイグレーション制御部１００は，マイグレーション資源の確保失敗を通知し（ステップＳ１６），処理を終了する。
【０１３７】
調整対象となるインスタンス２２が選択されれば（ステップＳ１５のＹＥＳ），調整対象インスタンス選択部１０３は，移動対象外所属クラスタインスタンス選択処理による選択結果に基づいて，一時資源割当データ１３１を作成する（ステップＳ１７）。作成された一時資源割当データ１３１は，一時資源割当情報記憶部１３０に記憶される。
【０１３８】
マイグレーション資源確保部１０６は，一時資源割当情報記憶部１３０に記憶された一時資源割当データ１３１を参照し，増調整インスタンスの資源割当量を増加する（ステップＳ１８）。マイグレーション資源確保部１０６は，一時資源割当情報記憶部１３０に記憶された一時資源割当データ１３１を参照し，ＳＬＢ３０における減調整インスタンスと増調整インスタンスとの間の負荷配分比を変更する（ステップＳ１９）。マイグレーション資源確保部１０６は，一時資源割当情報記憶部１３０に記憶された一時資源割当データ１３１を参照し，減調整インスタンスの資源割当量を削減する（ステップＳ２０）。マイグレーション資源確保部１０６は，移動元の物理サーバ２０と移動先の物理サーバ２０とに，マイグレーション資源を確保する（ステップＳ２１）。
【０１３９】
図９は，本実施の形態の移動対象所属クラスタインスタンス選択部による移動対象所属クラスタインスタンス選択処理フローチャートである。
【０１４０】
移動対象所属クラスタインスタンス選択部１０４は，Δを０に初期化する（ステップＳ３０）。また，移動対象所属クラスタインスタンス選択部１０４は，調整ins/svr をnullに初期化する（ステップＳ３１）。
【０１４１】
移動対象所属クラスタインスタンス選択部１０４は，管理情報記憶部１１０に記憶された資源管理データ１１１を参照し，移動対象のインスタンス２２と同じクラスタに所属する未処理のインスタンス２２を１つ選択する（ステップＳ３２）。
【０１４２】
移動対象所属クラスタインスタンス選択部１０４は，未処理のインスタンス２２が選択されたかを判定する（ステップＳ３３）。
【０１４３】
未処理のインスタンス２２が選択されなければ（ステップＳ３３のＮＯ），移動対象所属クラスタインスタンス選択部１０４は，すべてのインスタンス２２について処理が終了したと判断し，処理を終了する。このときのΔの値がマイグレーション資源に割り当てられる資源量であり，調整ins/svr に設定されたインスタンス２２が増調整インスタンスとなる。なお，減調整インスタンスは，移動対象のインスタンス２２である。このとき，Δ＝０，調整ins/svr ＝nullであれば，移動対象所属クラスタインスタンス選択処理によって，調整対象となるインスタンス２２が選択されなかったことになる。
【０１４４】
未処理のインスタンス２２が選択されれば（ステップＳ３３のＹＥＳ），移動対象所属クラスタインスタンス選択部１０４は，マイグレーション資源確保判定処理を実行する（ステップＳ３４）。このとき，移動対象所属クラスタインスタンス選択部１０４は，選択されたインスタンス２２が動作する物理サーバ２０と，移動先の物理サーバ２０とを，調査対象の物理サーバ２０とする。移動対象所属クラスタインスタンス選択部１０４は，マイグレーション資源確保判定処理の戻り値を，ret Δに代入する。マイグレーション資源確保判定処理の詳細については，後述する。
【０１４５】
移動対象所属クラスタインスタンス選択部１０４は，マイグレーション資源確保判定処理の結果において，マイグレーション資源が確保可能であるかを判定する（ステップＳ３５）。
【０１４６】
マイグレーション資源が確保可能でなければ（ステップＳ３５のＮＯ），移動対象所属クラスタインスタンス選択部１０４は，ステップＳ３２に戻り，次のインスタンス２２について処理を行う。
【０１４７】
マイグレーション資源が確保可能であれば（ステップＳ３５のＹＥＳ），移動対象所属クラスタインスタンス選択部１０４は，ret Δ＞Δであるかを判定する（ステップＳ３６）。この判定は，マイグレーション資源としてできるだけ多くの資源が割り当てられるように資源割当量を調整することが可能となる増調整インスタンスを選択するための判定である。
【０１４８】
ret Δ＞Δでなければ（ステップＳ３６のＮＯ），移動対象所属クラスタインスタンス選択部１０４は，ステップＳ３２に戻り，次のインスタンス２２について処理を行う。
【０１４９】
ret Δ＞Δであれば（ステップＳ３６のＹＥＳ），移動対象所属クラスタインスタンス選択部１０４は，Δにret Δを代入する（ステップＳ３７）。また，移動対象所属クラスタインスタンス選択部１０４は，調整ins/svr に現在の処理対象のインスタンス２２の識別情報を設定する（ステップＳ３８）。移動対象所属クラスタインスタンス選択部１０４は，ステップＳ３２に戻り，次のインスタンス２２について処理を行う。
【０１５０】
図１０は，本実施の形態の移動対象外所属クラスタインスタンス選択部による移動対象外所属クラスタインスタンス選択処理フローチャートである。
【０１５１】
移動対象外所属クラスタインスタンス選択部１０５は，Δを０に初期化する（ステップＳ４０）。また，移動対象外所属クラスタインスタンス選択部１０５は，減調整ins/svr をnullに初期化し，増調整ins/svr をnullに初期化する（ステップＳ４１）。
【０１５２】
移動対象外所属クラスタインスタンス選択部１０５は，管理情報記憶部１１０に記憶された資源管理データ１１１を参照し，移動対象のインスタンス２２と同じ物理サーバ２０上で動作する未処理のインスタンス２２を１つ選択する（ステップＳ４２）。ステップＳ４２で選択された未処理のインスタンス２２を，ins αとする。
【０１５３】
移動対象外所属クラスタインスタンス選択部１０５は，未処理のins αが選択されたかを判定する（ステップＳ４３）。
【０１５４】
未処理のins αが選択されなければ（ステップＳ４３のＮＯ），移動対象外所属クラスタインスタンス選択部１０５は，すべてのインスタンス２２について処理が終了したと判断し，処理を終了する。このときのΔの値がマイグレーション資源に割り当てられる資源量であり，減調整ins/svr に設定されたインスタンス２２が減調整インスタンス，増調整ins/svr に設定されたインスタンス２２が増調整インスタンスとなる。このとき，Δ＝０，減調整ins/svr ＝null，増調整ins/svr ＝nullであれば，移動対象外所属クラスタインスタンス選択処理によって，調整対象となるインスタンス２２が選択されなかったことになる。
【０１５５】
未処理のins αが選択されれば（ステップＳ４３のＹＥＳ），移動対象外所属クラスタインスタンス選択部１０５は，管理情報記憶部１１０に記憶された資源管理データ１１１を参照し，ins αと同じクラスタに所属する未処理のインスタンス２２を１つ選択する（ステップＳ４４）。ステップＳ４４で選択された未処理のインスタンス２２を，ins βとする。
【０１５６】
移動対象外所属クラスタインスタンス選択部１０５は，未処理のins βが選択されたかを判定する（ステップＳ４５）。
【０１５７】
未処理のins βが選択されなければ（ステップＳ４５のＮＯ），移動対象外所属クラスタインスタンス選択部１０５は，ins αと同じクラスタに所属するすべてのインスタンス２２について処理が終了したと判断する。移動対象外所属クラスタインスタンス選択部１０５は，ステップＳ４２に戻り，次のins αについて処理を行う。
【０１５８】
未処理のins βが選択されれば（ステップＳ４５のＹＥＳ），移動対象外所属クラスタインスタンス選択部１０５は，マイグレーション資源確保判定処理を実行する（ステップＳ４６）。このとき，移動対象外所属クラスタインスタンス選択部１０５は，ins αが動作する物理サーバ２０と，ins βが動作する物理サーバ２０と，移動先の物理サーバ２０とを，調査対象の物理サーバ２０とする。移動対象外所属クラスタインスタンス選択部１０５は，マイグレーション資源確保判定処理の戻り値を，ret Δに代入する。マイグレーション資源確保判定処理の詳細については，後述する。
【０１５９】
移動対象外所属クラスタインスタンス選択部１０５は，マイグレーション資源確保判定処理の結果において，マイグレーション資源が確保可能であるかを判定する（ステップＳ４７）。
【０１６０】
マイグレーション資源が確保可能でなければ（ステップＳ４７のＮＯ），移動対象外所属クラスタインスタンス選択部１０５は，ステップＳ４４に戻り，次のins βについて処理を行う。
【０１６１】
マイグレーション資源が確保可能であれば（ステップＳ４７のＹＥＳ），移動対象外所属クラスタインスタンス選択部１０５は，ret Δ＞Δであるかを判定する（ステップＳ４８）。この判定は，マイグレーション資源としてできるだけ多くの資源が割り当てられるように資源割当量を調整することが可能となる，減調整インスタンスと増調整インスタンスとの組合せを選択するための判定である。
【０１６２】
ret Δ＞Δでなければ（ステップＳ４８のＮＯ），移動対象外所属クラスタインスタンス選択部１０５は，ステップＳ４４に戻り，次のins βについて処理を行う。
【０１６３】
ret Δ＞Δであれば（ステップＳ４８のＹＥＳ），移動対象外所属クラスタインスタンス選択部１０５は，Δにret Δを代入する（ステップＳ４９）。また，移動対象外所属クラスタインスタンス選択部１０５は，減調整ins/svr に現在のins αの識別情報を設定し，増調整ins/svr に現在のins βの識別情報を設定する（ステップＳ５０）。移動対象外所属クラスタインスタンス選択部１０５は，ステップＳ４４に戻り，次のins βについて処理を行う。
【０１６４】
図１１は，本実施の形態のマイグレーション資源確保判定部，移動対象所属クラスタインスタンス選択部，移動対象外所属クラスタインスタンス選択部によるマイグレーション資源確保判定処理フローチャートである。
【０１６５】
本実施の形態では，マイグレーション資源確保判定部１０２，移動対象所属クラスタインスタンス選択部１０４，移動対象外所属クラスタインスタンス選択部１０５によるマイグレーション資源確保判定処理は，同じアルゴリズムであるものとする。以下では，マイグレーション資源確保判定部１０２によるマイグレーション資源確保判定処理として，図１１に示すフローチャートの説明を行う。
【０１６６】
マイグレーション資源確保判定部１０２は，Δを無限大に初期化する（ステップＳ６０）。
【０１６７】
マイグレーション資源確保判定部１０２は，調査対象の物理サーバ２０から未処理の物理サーバ２０を１つ選択する（ステップＳ６１）。マイグレーション資源確保判定部１０２は，未処理の調査対象の物理サーバ２０が選択されたかを判定する（ステップＳ６２）。
【０１６８】
未処理の調査対象の物理サーバ２０が選択されれば（ステップＳ６２のＹＥＳ），マイグレーション資源確保判定部１０２は，選択された調査対象の物理サーバ２０が，移動対象のインスタンス２２の移動先の物理サーバ２０であるかを判定する（ステップＳ６３）。
【０１６９】
調査対象の物理サーバ２０が移動先の物理サーバ２０であれば（ステップＳ６３のＹＥＳ），移動先の物理サーバ２０の残資源量から，移動対象のインスタンス２２の資源割当量の分を差し引き（ステップＳ６４），マイグレーション資源として確保可能な資源量とする。なお，移動先の物理サーバ２０以外の物理サーバ２０については，残資源量をそのままマイグレーション資源として確保可能な資源量とする。
【０１７０】
マイグレーション資源確保判定部１０２は，マイグレーション資源割当範囲情報記憶部１２０に記憶されたマイグレーション資源割当範囲データ１２１を参照し，確保可能な資源量がΔmin 以上であるかを判定する（ステップＳ６５）。
【０１７１】
確保可能な資源量がΔmin 以上でなければ（ステップＳ６５のＮＯ），マイグレーション資源確保判定部１０２は，マイグレーション資源の確保が失敗したものと判定し，その旨を返す（ステップＳ６６）。
【０１７２】
確保可能な資源量がΔmin 以上であれば（ステップＳ６５のＹＥＳ），マイグレーション資源確保判定部１０２は，確保可能な資源量がΔより少ないかを判定する（ステップＳ６７）。確保可能な資源量がΔより少なければ（ステップＳ６７のＹＥＳ），マイグレーション資源確保判定部１０２は，Δに確保可能な資源量を代入する（ステップＳ６８）。マイグレーション資源確保判定部１０２は，ステップＳ６１に戻り，次の調査対象の物理サーバ２０について処理を行う。
【０１７３】
未処理の調査対象の物理サーバ２０が選択されなければ（ステップＳ６２のＮＯ），マイグレーション資源確保判定部１０２は，すべての調査対象の物理サーバ２０について処理が終了したと判断する。マイグレーション資源確保判定部１０２は，マイグレーション資源割当範囲情報記憶部１２０に記憶されたマイグレーション資源割当範囲データ１２１を参照し，Δ＞Δmax であるかを判定する（ステップＳ６９）。マイグレーション資源確保判定部１０２は，Δ＞Δmax であれば（ステップＳ６９のＹＥＳ），ΔにΔmax を代入する（ステップＳ７０）。マイグレーション資源確保判定部１０２は，マイグレーション資源の確保が成功したものと判定し，その戻り値としてΔを返す（ステップＳ７１）。
【０１７４】
図１２は，本実施の形態のマイグレーション資源解放部によるマイグレーション資源解放処理フローチャートである。
【０１７５】
マイグレーション資源解放部１０８は，移動元の物理サーバ２０と移動先の物理サーバ２０とのマイグレーション資源を解放する（ステップＳ８０）。
【０１７６】
マイグレーション資源解放部１０８は，一時資源割当情報記憶部１３０に記憶された一時資源割当データ１３１を参照し，減調整インスタンスの資源割当量を復元する（ステップＳ８１）。
【０１７７】
マイグレーション資源解放部１０８は，一時資源割当情報記憶部１３０に記憶された一時資源割当データ１３１を参照し，ＳＬＢ３０における減調整インスタンスと増調整インスタンスとの間の負荷配分比を復元する（ステップＳ８２）。
【０１７８】
マイグレーション資源解放部１０８は，一時資源割当情報記憶部１３０に記憶された一時資源割当データ１３１を参照し，増調整インスタンスの資源割当量を復元する（ステップＳ８３）。
【０１７９】
〔実施例１〕
以下，図１３から図１６を用いて，本実施の形態のマイグレーション制御部１００によるインスタンス２２の移動の，より具体的な実施例１を説明する。
【０１８０】
実施例１は，移動対象のインスタンス２２の資源割当量を調整して，移動元の物理サーバ２０にマイグレーション資源を確保する例である。ここでは，INS#1 のインスタンス２２が移動対象のインスタンス２２として選択され，SVR#1 の物理サーバ２０が移動先の物理サーバ２０として選択されたものとする。
【０１８１】
図１３は，実施例１において，マイグレーション実行前の状態を示す図である。
【０１８２】
図１３（Ａ）は，各物理サーバ２０，ＳＬＢ３０の状態を示す。図１３（Ａ）において，各物理サーバ２０における太線の細長い枠は，各物理サーバ２０が有する資源量を表しているものとする。また，各物理サーバ２０の資源量を表す太線枠の上にある細線の枠は，各物理サーバ２０上で動作する各インスタンス２２とその資源割当量とを表しているものとする。図１３（Ｂ）は，管理情報記憶部１１０に記憶された資源管理データ１１１を示す。図１３（Ｃ）は，一時資源割当情報記憶部１３０に記憶された一時資源割当データ１３１を示す。これらのことは，図１４〜図１６についても同様である。
【０１８３】
図１３（Ａ）に示すように，SVR#1 の物理サーバ２０が移動先物理サーバである。また，移動対象インスタンスであるINS#1 のインスタンス２２が動作するSVR#2 の物理サーバ２０が移動元物理サーバである。
【０１８４】
図１３（Ａ），図１３（Ｂ）に示すように，移動元物理サーバ（SVR#2 ）は，資源が飽和した状態である。そのため，マイグレーション制御部１００は，マイグレーション資源を確保するための資源割当量の調整を行う。マイグレーション制御部１００において，調整対象インスタンス選択部１０３は，資源割当量の調整を行うインスタンス２２を選択する。
【０１８５】
図１３（Ｂ）に示すように，移動対象インスタンス（INS#1 ）は，CLU-a のクラスタに所属する。図１３（Ｂ）の資源管理データ１１１に示すように，移動対象インスタンス（INS#1 ）と同じクラスタ（CLU-a ）に属するINS#3 のインスタンス２２が動作するSVR#3 の物理サーバ２０に，資源の余裕がある。調整対象インスタンス選択部１０３は，移動対象インスタンス（INS#1 ）を減調整インスタンスとして選択し，INS#3 のインスタンス２２を増調整インスタンスとして選択する。図１３（Ａ），図１３（Ｂ）に示すように，INS#3 のインスタンス２２が動作するSVR#3 の物理サーバ２０が，余裕あり物理サーバとなる。
【０１８６】
なお，この段階では，ＳＬＢ３０では，クラスタ（CLU-a ）におけるINS#1 のインスタンス２２とINS#3 のインスタンス２２との間の負荷配分比が，８対８となっている。また，図１３（Ｃ）に示すように，この段階では，一時資源割当データ１３１は，空データである。
【０１８７】
図１４は，実施例１において，マイグレーション資源が確保された状態を示す図である。
【０１８８】
調整対象インスタンス選択部１０３は，調整対象のインスタンス２２の選択結果に基づいて，図１４（Ｃ）に示すような一時資源割当データ１３１を作成する。なお，調整対象インスタンス選択部１０３によって，マイグレーション資源の量Δとして，マイグレーション資源割当範囲の最大値Δmax である資源量１が確保されている。
【０１８９】
マイグレーション制御部１００において，マイグレーション資源確保部１０６は，減調整インスタンス（INS#1 ）と増調整インスタンス（INS#3 ）の資源割当量を調整し，移動先物理サーバ（SVR#1 ）と移動元物理サーバ（SVR#2 ）とにマイグレーション資源を確保する。
【０１９０】
すなわち，マイグレーション資源確保部１０６は，図１４（Ｃ）に示す一時資源割当データ１３１に基づいて，図１４（Ａ）に示すように，余裕あり物理サーバ（SVR#3 ）の増調整インスタンス（INS#3 ）の資源割当量を，Δ分だけ，すなわち１だけ増加する。マイグレーション資源確保部１０６は，図１４（Ｃ）に示す一時資源割当データ１３１に基づいて，図１４（Ａ）に示すように，ＳＬＢ３０のクラスタ（CLU-a ）におけるINS#1 のインスタンス２２とINS#3 のインスタンス２２との間の負荷配分比を，７対９に変更する。マイグレーション資源確保部１０６は，図１４（Ｃ）に示す一時資源割当データ１３１に基づいて，図１４（Ａ）に示すように，移動元物理サーバ（SVR#2 ）の減調整インスタンス（INS#1 ）の資源割当量を，Δ分だけ，すなわち１だけ減少する。マイグレーション資源確保部１０６は，図１４（Ａ）のハッチング部分に示すように，移動先物理サーバ（SVR#1 ）と移動元物理サーバ（SVR#2 ）とに，資源割当量Δの，すなわち資源割当量１のマイグレーション資源を確保する。
【０１９１】
マイグレーション資源確保部１０６は，これらの資源割当量の調整状況を，資源管理データ１１１に反映する。マイグレーション資源確保後の資源管理データ１１１は，図１４（Ｂ）に示す通りとなる。なお，図１４（Ｂ）において，Mig 資源は，マイグレーション資源を示している。
【０１９２】
図１５は，実施例１において，マイグレーション実行の状態を示す図である。
【０１９３】
マイグレーション制御部１００において，マイグレーション実行部１０７は，図１５（Ａ）に示すように，移動対象インスタンス（INS#1 ）を，移動元物理サーバ（SVR#2 ）から移動先物理サーバ（SVR#1 ）に移動する。なお，移動対象インスタンス（INS#1 ）は，資源割当量がΔ分だけ減少された状態が維持されたまま移動される。
【０１９４】
マイグレーション実行部１０７は，マイグレーション実行の結果を，資源管理データ１１１に反映する。マイグレーション実行直後の資源管理データ１１１は，図１５（Ｂ）に示す通りとなる。
【０１９５】
図１６は，実施例１において，マイグレーション資源が解放された状態を示す図である。
【０１９６】
マイグレーション制御部１００において，マイグレーション資源解放部１０８は，移動先物理サーバ（SVR#1 ）と移動元物理サーバ（SVR#2 ）とのマイグレーション資源を解放し，減調整インスタンス（INS#1 ）と増調整インスタンス（INS#3 ）の資源割当量を復元する。
【０１９７】
すなわち，マイグレーション資源解放部１０８は，図１６（Ａ）に示すように，移動先物理サーバ（SVR#1 ）と移動元物理サーバ（SVR#2 ）とのマイグレーション資源を解放する。マイグレーション資源解放部１０８は，図１６（Ｃ）に示す一時資源割当データ１３１に基づいて，図１６（Ａ）に示すように，移動先物理サーバ（SVR#1 ）に移動された減調整インスタンス（INS#1 ）の資源割当量を，Δ分だけ，すなわち１だけ増加する。マイグレーション資源解放部１０８は，図１６（Ｃ）に示す一時資源割当データ１３１に基づいて，図１６（Ａ）に示すように，ＳＬＢ３０のクラスタ（CLU-a ）におけるINS#1 のインスタンス２２とINS#3 のインスタンス２２との間の負荷配分比を，８対８に復元する。マイグレーション資源解放部１０８は，図１６（Ｃ）に示す一時資源割当データ１３１に基づいて，図１６（Ａ）に示すように，余裕あり物理サーバ（SVR#3 ）の増調整インスタンス（INS#3 ）の資源割当量を，Δ分だけ，すなわち１だけ減少する。
【０１９８】
マイグレーション資源解放部１０８は，これらの資源割当量の復元状況を，資源管理データ１１１に反映する。マイグレーション資源復元後の資源管理データ１１１は，図１６（Ｂ）に示す通りとなる。
【０１９９】
マイグレーション制御部１００は，マイグレーション資源解放部１０８による一連の解放処理の終了後，図１６（Ｃ）に示す一時資源割当データ１３１をクリアする。
【０２００】
〔実施例２〕
以下，図１７から図２０を用いて，本実施の形態のマイグレーション制御部１００によるインスタンス２２の移動の，より具体的な実施例２を説明する。
【０２０１】
実施例２は，移動元の物理サーバ２０で動作する，移動対象のインスタンス２２以外のインスタンス２２の資源割当量を調整して，移動元の物理サーバ２０にマイグレーション資源を確保する例である。ここでは，INS#4 のインスタンス２２が移動対象のインスタンス２２として選択され，SVR#4 の物理サーバ２０が移動先の物理サーバ２０として選択されたものとする。
【０２０２】
図１７は，実施例２において，マイグレーション実行前の状態を示す図である。
【０２０３】
図１７（Ａ）は，各物理サーバ２０，ＳＬＢ３０の状態を示す。図１７（Ａ）において，各物理サーバ２０における太線の細長い枠は，各物理サーバ２０が有する資源量を表しているものとする。また，各物理サーバ２０の資源量を表す太線枠の上にある細線の枠は，各物理サーバ２０上で動作する各インスタンス２２とその資源割当量とを表しているものとする。図１７（Ｂ）は，管理情報記憶部１１０に記憶された資源管理データ１１１を示す。図１７（Ｃ）は，一時資源割当情報記憶部１３０に記憶された一時資源割当データ１３１を示す。これらのことは，図１８〜図２０についても同様である。
【０２０４】
図１７（Ａ）に示すように，SVR#4 の物理サーバ２０が移動先物理サーバである。また，移動対象インスタンスであるINS#4 のインスタンス２２が動作するSVR#5 の物理サーバ２０が移動元物理サーバである。
【０２０５】
図１７（Ａ），図１７（Ｂ）に示すように，移動元物理サーバ（SVR#5 ）は，資源が飽和した状態である。そのため，マイグレーション制御部１００は，マイグレーション資源を確保するための資源割当量の調整を行う。マイグレーション制御部１００において，調整対象インスタンス選択部１０３は，資源割当量の調整を行うインスタンス２２を選択する。
【０２０６】
図１７（Ｂ）に示すように，移動対象インスタンス（INS#4 ）は，CLU-c のクラスタに所属する。図１７（Ｂ）の資源管理データ１１１に示すように，移動対象インスタンス（INS#4 ）と同じクラスタ（CLU-c ）に属するインスタンス２２は存在しない。そのため，実施例２では，移動対象インスタンス（INS#4 ）は，資源割当量の調整対象のインスタンス２２にならない。
【０２０７】
図１７（Ｂ）に示すように，移動対象インスタンス（INS#4 ）と同じ移動元物理サーバで動作するINS#5 のインスタンス２２は，移動対象インスタンス（INS#4 ）とは異なるCLU-d のクラスタに所属する。図１７（Ｂ）の資源管理データ１１１に示すように，INS#5 のインスタンス２２と同じクラスタ（CLU-d ）に属するINS#6 のインスタンス２２が動作するSVR#6 の物理サーバ２０に，資源の余裕がある。調整対象インスタンス選択部１０３は，INS#5 のインスタンス２２を減調整インスタンスとして選択し，INS#6 のインスタンス２２を増調整インスタンスとして選択する。図１７（Ａ），図１７（Ｂ）に示すように，INS#6 のインスタンス２２が動作するSVR#6 の物理サーバ２０が，余裕あり物理サーバとなる。
【０２０８】
なお，この段階では，ＳＬＢ３０では，クラスタ（CLU-d ）におけるINS#5 のインスタンス２２とINS#6 のインスタンス２２との間の負荷配分比が，４対４となっている。また，図１７（Ｃ）に示すように，この段階では，一時資源割当データ１３１は，空データである。
【０２０９】
図１８は，実施例２において，マイグレーション資源が確保された状態を示す図である。
【０２１０】
調整対象インスタンス選択部１０３は，調整対象のインスタンス２２の選択結果に基づいて，図１８（Ｃ）に示すような一時資源割当データ１３１を作成する。なお，調整対象インスタンス選択部１０３によって，マイグレーション資源の量Δとして，マイグレーション資源割当範囲の最大値Δmax である資源量１が確保されている。
【０２１１】
マイグレーション制御部１００において，マイグレーション資源確保部１０６は，減調整インスタンス（INS#5 ）と増調整インスタンス（INS#6 ）の資源割当量を調整し，移動先物理サーバ（SVR#4 ）と移動元物理サーバ（SVR#5 ）とにマイグレーション資源を確保する。
【０２１２】
すなわち，マイグレーション資源確保部１０６は，図１８（Ｃ）に示す一時資源割当データ１３１に基づいて，図１８（Ａ）に示すように，余裕あり物理サーバ（SVR#6 ）の増調整インスタンス（INS#6 ）の資源割当量を，Δ分だけ，すなわち１だけ増加する。マイグレーション資源確保部１０６は，図１８（Ｃ）に示す一時資源割当データ１３１に基づいて，図１８（Ａ）に示すように，ＳＬＢ３０のクラスタ（CLU-d ）におけるINS#5 のインスタンス２２とINS#6 のインスタンス２２との間の負荷配分比を，３対５に変更する。マイグレーション資源確保部１０６は，図１８（Ｃ）に示す一時資源割当データ１３１に基づいて，図１８（Ａ）に示すように，移動元物理サーバ（SVR#5 ）の減調整インスタンス（INS#5 ）の資源割当量を，Δ分だけ，すなわち１だけ減少する。マイグレーション資源確保部１０６は，図１８（Ａ）のハッチング部分に示すように，移動先物理サーバ（SVR#4 ）と移動元物理サーバ（SVR#5 ）とに，資源割当量Δの，すなわち資源割当量１のマイグレーション資源を確保する。
【０２１３】
マイグレーション資源確保部１０６は，これらの資源割当量の調整状況を，資源管理データ１１１に反映する。マイグレーション資源確保後の資源管理データ１１１は，図１８（Ｂ）に示す通りとなる。なお，図１８（Ｂ）において，Mig 資源は，マイグレーション資源を示している。
【０２１４】
図１９は，実施例２において，マイグレーション実行の状態を示す図である。
【０２１５】
マイグレーション制御部１００において，マイグレーション実行部１０７は，図１９（Ａ）に示すように，移動対象インスタンス（INS#4 ）を，移動元物理サーバ（SVR#5 ）から移動先物理サーバ（SVR#4 ）に移動する。
【０２１６】
マイグレーション実行部１０７は，マイグレーション実行の結果を，資源管理データ１１１に反映する。マイグレーション実行直後の資源管理データ１１１は，図１９（Ｂ）に示す通りとなる。
【０２１７】
図２０は，実施例２において，マイグレーション資源が解放された状態を示す図である。
【０２１８】
マイグレーション制御部１００において，マイグレーション資源解放部１０８は，移動先物理サーバ（SVR#4 ）と移動元物理サーバ（SVR#5 ）とのマイグレーション資源を解放し，減調整インスタンス（INS#5 ）と増調整インスタンス（INS#6 ）の資源割当量を復元する。
【０２１９】
すなわち，マイグレーション資源解放部１０８は，図２０（Ａ）に示すように，移動先物理サーバ（SVR#4 ）と移動元物理サーバ（SVR#5 ）とのマイグレーション資源を解放する。マイグレーション資源解放部１０８は，図２０（Ｃ）に示す一時資源割当データ１３１に基づいて，図２０（Ａ）に示すように，移動元物理サーバ（SVR#5 ）上で動作する減調整インスタンス（INS#5 ）の資源割当量を，Δ分だけ，すなわち１だけ増加する。マイグレーション資源解放部１０８は，図２０（Ｃ）に示す一時資源割当データ１３１に基づいて，図２０（Ａ）に示すように，ＳＬＢ３０のクラスタ（CLU-d ）におけるINS#5 のインスタンス２２とINS#6 のインスタンス２２との間の負荷配分比を，４対４に復元する。マイグレーション資源解放部１０８は，図２０（Ｃ）に示す一時資源割当データ１３１に基づいて，図２０（Ａ）に示すように，余裕あり物理サーバ（SVR#6 ）の増調整インスタンス（INS#6 ）の資源割当量を，Δ分だけ，すなわち１だけ減少する。
【０２２０】
マイグレーション資源解放部１０８は，これらの資源割当量の復元状況を，資源管理データ１１１に反映する。マイグレーション資源復元後の資源管理データ１１１は，図２０（Ｂ）に示す通りとなる。
【０２２１】
マイグレーション制御部１００は，マイグレーション資源解放部１０８による一連の解放処理の終了後，図２０（Ｃ）に示す一時資源割当データ１３１をクリアする。
【０２２２】
以上説明したマイグレーション制御部１００による処理は，コンピュータが備えるＣＰＵ，メモリ等のハードウェアとソフトウェアプログラムとにより実現することができ，そのプログラムをコンピュータ読み取り可能な記録媒体に記録することも，ネットワークを通して提供することも可能である。
【０２２３】
以上，本実施の形態について説明したが，本発明はその主旨の範囲において種々の変形が可能であることは当然である。
【０２２４】
例えば，本実施の形態では，調整対象インスタンス選択部１０３が，移動対象のインスタンス２２を減調整インスタンスとすることが可能である場合には，優先的に移動対象のインスタンス２２を減調整インスタンスとして選択する処理を行っている。例えば，移動対象のインスタンス２２であるか否かに関わらず，移動元の物理サーバ２０上で動作するインスタンス２２の内，資源割当量の調整によって最も多くのマイグレーション資源が確保可能なインスタンス２２が，減調整インスタンスとして選択されるようにしてもよい。移動対象のインスタンス２２が減調整インスタンスとなる場合には，資源割当量の調整によりマイグレーション実行時に移動するインスタンス２２の資源割当量が減少するため，マイグレーション実行時間を短縮することが可能となる。
【符号の説明】
【０２２５】
１  データセンタシステム
２  テナント端末
３  エンドユーザ端末
４  サービス管理網
５  インターネット
１０  管理機構装置
２０  物理サーバ
２１  仮想化機構制御部
２２  インスタンス
３０  ＳＬＢ
４０  サービス用ネットワーク
５０  管理用ネットワーク
１００  マイグレーション制御部
１０１  移動対象／移動先取得部
１０２  マイグレーション資源確保判定部
１０３  調整対象インスタンス選択部
１０４  移動対象所属クラスタインスタンス選択部
１０５  移動対象外所属クラスタインスタンス選択部
１０６  マイグレーション資源確保部
１０７  マイグレーション実行部
１０８  マイグレーション資源解放部
１１０  管理情報記憶部
１２０  マイグレーション資源割当範囲情報記憶部
１３０  一時資源割当情報記憶部
【図１】
0005471292.tif 000002
【図２】
0005471292.tif 000003
【図３】
0005471292.tif 000004
【図４】
0005471292.tif 000005
【図５】
0005471292.tif 000006
【図６】
0005471292.tif 000007
【図７】
0005471292.tif 000008
【図８】
0005471292.tif 000009
【図９】
0005471292.tif 000010
【図１０】
0005471292.tif 000011
【図１１】
0005471292.tif 000012
【図１２】
0005471292.tif 000013
【図１３】
0005471292.tif 000014
【図１４】
0005471292.tif 000015
【図１５】
0005471292.tif 000016
【図１６】
0005471292.tif 000017
【図１７】
0005471292.tif 000018
【図１８】
0005471292.tif 000019
【図１９】
0005471292.tif 000020
【図２０】
0005471292.tif 000021