(57)【要約】【課題】経路が複製処理の遅延の要因となっている場合に、複製処理の遅延を抑制すること。【解決手段】管理サーバ１０は、複数の経路それぞれの負荷と、複数の複製処理仮想計算機それぞれが実行する複製処理の進捗度とを取得する。管理サーバ１０は、進捗度に基づいて、使用帯域に基づいて経路を選択し、選択した経路を用いる複製処理が規定時間内に終了しないことを検知したとき、次の処理を行う。すなわち、管理サーバ１０は、選択した経路を用いて複製処理を行う複製処理仮想計算機のいずれかを、処理装置から複数の物理装置のいずれかに移動する。移動先の物理装置は、移動対象の複製処理仮想計算機が移動した場合に、移動する複製処理仮想計算機が実行する複製処理が規定時間内に終了することが進捗度に基づいて予測されることを条件として決定される。【選択図】図２
2015108899.tif 000002
【特許請求の範囲】
【請求項１】
それぞれ仮想計算機が動作する複数の物理装置と、前記複数の物理装置のそれぞれと複数の経路で接続された、前記複数の仮想計算機が用いるデータを前記複数の物理装置と異なる記憶装置に複製する複製処理を実行する複数の複製処理仮想計算機が動作する処理装置と、に接続されたコンピュータに、
前記複数の経路それぞれの負荷と、前記複数の複製処理仮想計算機それぞれが実行する前記複製処理の進捗度とを取得し、
前記進捗度に基づいて、使用帯域に基づいて前記経路を選択し、選択した経路を用いる前記複製処理が規定時間内に終了しないことを検知したとき、選択した経路を用いて前記複製処理を行う複製処理仮想計算機のいずれかを、前記処理装置から前記複数の物理装置のいずれかに移動する、
処理を実行させ、
移動先の前記物理装置は、移動対象の前記複製処理仮想計算機が移動した場合に、移動する前記複製処理仮想計算機が実行する複製処理が規定時間内に終了することが前記進捗度に基づいて予測されることを条件として決定される、
ことを特徴とする制御プログラム。
【請求項２】
前記移動先の物理装置は、さらに、前記移動先の前記物理装置が有する空きリソースが、前記条件を満たす前記複数の物理装置の中で最小となる物理装置である、
ことを特徴とする請求項１に記載の制御プログラム。
【請求項３】
前記選択した経路を用いて前記複製処理を行う複製処理仮想計算機のいずれかを、前記処理装置から前記複数の物理装置のいずれかに移動する処理は、
前記進捗度に基づいて、前記選択した経路を用いる前記複製処理が規定時間内に終了しないことを検知したとき、前記複数の経路のそれぞれと該経路を用いて前記複製処理を行う複製処理仮想計算機との対応関係に基づいて、前記選択した経路を用いて前記複製処理を行う複製処理仮想計算機のいずれかを特定し、
前記進捗度に基づいて、前記複数の物理装置の中から、特定された複製処理仮想計算機が移動した場合に、移動後の複製処理仮想計算機が実行する前記複製処理が規定時間内に終了するという条件を満たす物理装置を特定し、
前記処理装置から、特定した物理装置に、特定した複製処理仮想計算機を移動する
ことを特徴とする請求項１または２に記載の制御プログラム。
【請求項４】
前記複製処理仮想計算機のいずれかを特定する処理は、前記進捗度に基づいて、前記選択した経路を用いる前記複製処理が規定時間内に終了しないことを検知し、かつ、前記選択した経路を用いる前記複製処理の進捗度の変化率が負の値であることを検知すると、前記対応関係に基づいて、前記複製処理の進捗度の変化率が負の値である複製処理仮想計算機を特定する
ことを特徴とする請求項３に記載の制御プログラム。
【請求項５】
それぞれ仮想計算機が動作する複数の物理装置と、前記複数の物理装置のそれぞれと複数の経路で接続された、前記複数の仮想計算機が用いるデータを前記複数の物理装置と異なる記憶装置に複製する複製処理を実行する複数の複製処理仮想計算機が動作する処理装置と、に接続された制御装置であって、
前記複数の経路それぞれの負荷と、前記複数の複製処理仮想計算機それぞれが実行する前記複製処理の進捗度とを取得する取得部と、
前記進捗度に基づいて、使用帯域に基づいて前記経路を選択し、選択した経路を用いる前記複製処理が規定時間内に終了しないことを検知したとき、選択した経路を用いて前記複製処理を行う複製処理仮想計算機のいずれかを、前記処理装置から前記複数の物理装置のいずれかに移動する移動制御部と、
を有し、
移動先の前記物理装置は、移動対象の前記複製処理仮想計算機が移動した場合に、移動する前記複製処理仮想計算機が実行する複製処理が規定時間内に終了することが前記進捗度に基づいて予測されることを条件として決定される、
ことを特徴とする制御装置。
【請求項６】
それぞれ仮想計算機が動作する複数の物理装置と、前記複数の物理装置のそれぞれと複数の経路で接続された、前記複数の仮想計算機が用いるデータを前記複数の物理装置と異なる記憶装置に複製する複製処理を実行する複数の複製処理仮想計算機が動作する処理装置と、に接続されたコンピュータが、
前記複数の経路それぞれの負荷と、前記複数の複製処理仮想計算機それぞれが実行する前記複製処理の進捗度を取得し、
前記進捗度に基づいて、使用帯域に基づいて前記経路を選択し、選択した経路を用いる前記複製処理が規定時間内に終了しないことを検知したとき、選択した経路を用いて前記複製処理を行う複製処理仮想計算機のいずれかを、前記処理装置から前記複数の物理装置のいずれかに移動する、
処理を実行し、
移動先の前記物理装置は、移動対象の前記複製処理仮想計算機が移動した場合に、移動する前記複製処理仮想計算機が実行する複製処理が規定時間内に終了することが前記進捗度に基づいて予測されることを条件として決定される、
ことを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御プログラム、制御装置及び制御方法に関する。
【背景技術】
【０００２】
従来、物理装置上に生成される仮想計算機（Virtual  Machine，仮想マシン）を備えたシステムにおいて、仮想計算機が使用する記憶領域の複製（バックアップ）処理を実行する技術がある。例えば、かかるシステムに物理装置であるバックアップ装置が設けられ、バックアップ装置が複製処理を実行する技術がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１２３２０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで、バックアップ装置の処理の負荷が増加したことによる複製処理の遅延を抑止するために、上述したシステムにおいて、次のような処理を実行することが考えられる。例えば、バックアップ装置において、複製処理ごとに、複製処理を実行する仮想計算機である複製処理仮想計算機を動作させ、複製処理が遅延する場合には、遅延の要因となる複製処理仮想計算機を、バックアップ装置以外の物理装置に移動させることが考えられる。
【０００５】
複製処理の遅延の要因を特定するための指標としては、バックアップ装置上で動作する複製処理仮想計算機のＣＰＵ（Central  Processing  Unit）及びメモリの負荷の他、装置間を接続する経路の負荷が挙げられる。例えば、負荷が閾値以上のＣＰＵ、メモリを有する複製処理仮想計算機が複製処理の遅延の要因として考えられる。
【０００６】
ここで、バックアップ装置と、複製処理による複製先の記憶装置とを接続する経路が冗長化される場合が考えられる。この場合には、バックアップ装置で動作する複数の複製処理仮想計算機は、冗長化された複数の経路のいずれも使用することができる。そのため、経路が冗長化された態様では、負荷が閾値以上の経路を複製処理の遅延の要因として特定できたとしても、特定した経路を使用する複製処理仮想計算機を特定することが困難である。よって、経路が冗長化された態様では、遅延の要因となる経路を特定するだけでは、バックアップ装置以外の物理装置に移動させる複製処理仮想計算機を特定することが困難である。したがって、経路が冗長化された態様では、経路が複製処理の遅延の要因となっている場合には、規定の時間内に複製処理を完了させることが出来ない場合があるという問題がある。
【０００７】
１つの側面では、本発明は、経路が複製処理の遅延の要因となっている場合に、複製処理の遅延を抑制することを目的とする。
【課題を解決するための手段】
【０００８】
１態様では、制御プログラムが以下の処理を実行させるコンピュータは、それぞれ仮想計算機が動作する複数の物理装置に接続されている。また、コンピュータは、複数の物理装置のそれぞれと複数の経路で接続された、複数の仮想計算機が用いるデータを複数の物理装置と異なる記憶装置に複製する複製処理を実行する複数の複製処理仮想計算機が動作する処理装置に接続されている。そして、制御プログラムは、コンピュータに、複数の経路それぞれの負荷と、複数の複製処理仮想計算機それぞれが実行する複製処理の進捗度とを取得する処理を実行させる。そして、制御プログラムは、コンピュータに、進捗度に基づいて、使用帯域に基づいて経路を選択し、選択した経路を用いる複製処理が規定時間内に終了しないことを検知したとき、次の処理を実行させる。すなわち、制御プログラムは、コンピュータに、選択した経路を用いて複製処理を行う複製処理仮想計算機のいずれかを、処理装置から複数の物理装置のいずれかに移動する処理を実行させる。移動先の物理装置は、移動対象の複製処理仮想計算機が移動した場合に、移動する複製処理仮想計算機が実行する複製処理が規定時間内に終了することが進捗度に基づいて予測されることを条件として決定される。
【発明の効果】
【０００９】
経路が複製処理の遅延の要因となっている場合に、複製処理の遅延を抑制することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施例に係る管理サーバを有するシステムの構成の一例を示す図である。
【図２】図２は、実施例に係る制御装置の一例である管理サーバの機能構成の一例を示す図である。
【図３】図３は、負荷許容量テーブルのデータ構造の一例を示す図である。
【図４】図４は、対応関係テーブルのデータ構造の一例を示す図である。
【図５】図５は、負荷情報のデータ構造の一例を示す図である。
【図６】図６は、バックアップ情報のデータ構造の一例を示す図である。
【図７】図７は、サイズ情報のデータ構造の一例を示す図である。
【図８】図８は、実施例に係る管理サーバが実行する処理の一例を説明するための図である。
【図９】図９は、実施例に係る制御処理の手順を示すフローチャートである。
【図１０】図１０は、実施例に係る対応関係テーブル生成処理の手順を示すフローチャートである。
【図１１】図１１は、制御プログラムを実行するコンピュータのハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下に、本願の開示する制御装置の一例である管理サーバ、制御プログラム及び制御方法の実施例を図面に基づいて詳細に説明する。なお、実施例は開示の技術を限定するものではない。
【実施例】
【００１２】
［システム１の構成の一例］
図１は、実施例に係る管理サーバ１０を有するシステム１の構成の一例を示す図である。図１の例に示すように、システム１は、端末５、管理サーバ１０、ＬＡＮ（Local  Area  Network）スイッチ２０、バックアップサーバ２１、管理対象サーバ２２，２３，２４、ＦＣ（Fibre  Channel）スイッチ２５を有する。また、システム１は、ストレージサーバ２６，２７を有する。
【００１３】
端末５は、システム１の管理者などのユーザが利用する端末である。例えば、端末５は、ユーザからの指示を受け付けるキーボードやマウスなどの図示しない受付部を有し、受け付けた指示を管理サーバ１０に送信する。かかる指示の一例としては、仮想マシンの各種の設定などを行う指示などが挙げられる。
【００１４】
管理サーバ１０は、システム１の各種の装置を管理する。例えば、管理サーバ１０は、仮想マシンの各種の設定を行う指示をＬＡＮスイッチ２０を介して管理対象サーバ２２〜２４に送信する。また、管理サーバ１０は、バックアップサーバ２１上で稼働する仮想マシン２１ａ〜２１ｄによる後述するバックアップ処理が規定の時間内に終了するように、次の処理を行う。すなわち、管理サーバ１０は、バックアップ処理が規定の時間内に終わらないと予測された仮想マシン２１ａ〜２１ｄを３つの管理対象サーバ２２〜２４のうち何れかの管理対象サーバに移動させるように制御する。例えば、管理サーバ１０は、仮想マシン２１ａ〜２１ｄを動作させる制御を行うＶＭホスト２１ｅに、バックアップ処理が規定の時間内に終わらないと予測された仮想マシンを管理対象サーバに移動させるマイグレーション指示を送信する。
【００１５】
バックアップサーバ２１は、ＬＡＮスイッチ２０を介して管理サーバ１０に接続されている。また、バックアップサーバ２１は、ストレージサーバ２６に接続されている。また、バックアップサーバ２１は、２本の回線２８ａ，２８ｂを介してＦＣスイッチ２５に接続されている。ここで、ＦＣスイッチ２５は、バックアップ処理によるデータのバックアップ先の記憶装置であるストレージサーバ２７と接続されている。このように、システム１では、バックアップサーバ２１と、バックアップ処理によるデータのバックアップ先のストレージサーバ２７とを接続する経路が２つ存在する。すなわち、システム１では、バックアップサーバ２１とストレージサーバ２７とを接続する経路が冗長化されている。複数の仮想マシン２１ａ〜２１ｄは、冗長化された複数の回線２８ａ，２８ｂのいずれも使用することができる。
【００１６】
バックアップサーバ２１は、ＶＭ（Virtual  Machine，仮想マシン）ホスト２１ｅを有する。ＶＭホスト２１ｅは、コンピュータシステムの動作環境を仮想的に実現する仮想化ソフトウェアの制御プログラムであり、仮想マシン２１ａ〜２１ｄを動作させる制御を行う。また、ＶＭホスト２１ｅは、管理サーバ１０から受信したマイグレーション指示に応じて、管理対象サーバ２２〜２４との間での仮想マシン２１ａ〜２１ｄのマイグレーションの制御を行う。
【００１７】
仮想マシン２１ａ〜２１ｄのそれぞれは、管理対象サーバ２２〜２４で動作する仮想マシンのそれぞれのシステム領域のデータをバックアップするバックアップ処理を行うためのバックアッププログラムを実行する。例えば、仮想マシン２１ａは、管理対象サーバ２２上で動作する仮想マシン２２ａのシステム領域のデータをバックアップするバックアップ処理を行うためのバックアッププログラムＡを実行する。また、仮想マシン２１ｂは、管理対象サーバ２２上で動作する仮想マシン２２ｂのシステム領域のデータをバックアップするバックアップ処理を行うためのバックアッププログラムＢを実行する。また、仮想マシン２１ｃは、管理対象サーバ２３上で動作する仮想マシン２３ａのシステム領域のデータをバックアップするバックアップ処理を行うためのバックアッププログラムＣを実行する。また、仮想マシン２１ｄは、管理対象サーバ２４上で動作する仮想マシン２４ａのシステム領域のデータをバックアップするバックアップ処理を行うためのバックアッププログラムＤを実行する。バックアップ処理は、後述するが、ストレージ２６ａに記憶されたシステム領域のデータを後述するバックアップ用ストレージ２７ａに格納することにより、システム領域のデータを複製する処理であるため、複製処理とも称される。また、バックアップ処理を実行する仮想マシン２１ａ〜２１ｄは、複製処理仮想計算機の一例である。
【００１８】
管理対象サーバ２２〜２４は、管理サーバ１０の管理対象の装置である。管理対象サーバ２２〜２４では、所定のアプリケーションを実行する仮想マシンが動作し、管理サーバ１０から送信された仮想マシンの各種の設定を行う指示にしたがって、仮想マシンの設定が行われる。
【００１９】
管理対象サーバ２２は、ＶＭホスト２２ｃを有する。ＶＭホスト２２ｃは、コンピュータシステムの動作環境を仮想的に実現する仮想化ソフトウェアの制御プログラムであり、２つの仮想マシン２２ａ，２２ｂを動作させる制御を行う。また、ＶＭホスト２２ｃは、管理サーバ１０から送信された仮想マシン２２ａ，２２ｂの各種の設定を行う指示を受信すると、受信した指示にしたがって、仮想マシン２２ａ，２２ｂの各種の設定を行う。仮想マシン２２ａは、所定のアプリケーションを実行する。また、仮想マシン２２ａは、仮想マシン２２ａのシステム領域のデータをストレージサーバ２６に送信する。これにより、後述するように、ストレージサーバ２６のストレージ２６ａに仮想マシン２２ａのシステム領域のデータが記憶される。また、仮想マシン２２ｂは、所定のアプリケーションを実行する。また、仮想マシン２２ｂは、仮想マシン２２ｂのシステム領域のデータをストレージサーバ２６に送信する。これにより、後述するように、ストレージ２６ａに仮想マシン２２ｂのシステム領域のデータが記憶される。
【００２０】
管理対象サーバ２３は、ＶＭホスト２３ｃを有する。ＶＭホスト２３ｃは、コンピュータシステムの動作環境を仮想的に実現する仮想化ソフトウェアの制御プログラムであり、仮想マシン２３ａを動作させる制御を行う。また、ＶＭホスト２３ｃは、管理サーバ１０から送信された仮想マシン２３ａの各種の設定を行う指示を受信すると、受信した指示にしたがって、仮想マシン２３ａの各種の設定を行う。仮想マシン２３ａは、所定のアプリケーションを実行する。また、仮想マシン２３ａは、仮想マシン２３ａのシステム領域のデータをストレージサーバ２６に送信する。これにより、後述するように、ストレージ２６ａに仮想マシン２３ａのシステム領域のデータが記憶される。
【００２１】
管理対象サーバ２４は、ＶＭホスト２４ｃを有する。ＶＭホスト２４ｃは、コンピュータシステムの動作環境を仮想的に実現する仮想化ソフトウェアの制御プログラムであり、仮想マシン２４ａを動作させる制御を行う。また、ＶＭホスト２４ｃは、管理サーバ１０から送信された仮想マシン２４ａの各種の設定を行う指示を受信すると、受信した指示にしたがって、仮想マシン２４ａの各種の設定を行う。仮想マシン２４ａは、所定のアプリケーションを実行する。また、仮想マシン２４ａは、仮想マシン２４ａのシステム領域のデータをストレージサーバ２６に送信する。これにより、後述するように、ストレージ２６ａに仮想マシン２４ａのシステム領域のデータが記憶される。
【００２２】
ＦＣスイッチ２５は、データを中継する中継装置である。ＦＣスイッチ２５は、ファイバチャネルファブリックにより、回線２８ａ，２８ｂを介してバックアップサーバ２１に接続されている。また、ＦＣスイッチ２５は、ファイバチャネルファブリックにより、回線２８ｃを介して管理対象サーバ２２に接続され、回線２８ｄを介して管理対象サーバ２３に接続され、回線２８ｅを介して管理対象サーバ２４に接続されている。また、ＦＣスイッチ２５は、ファイバチャネルファブリックにより、ストレージサーバ２７に接続されている。このように、システム１では、ＳＡＮ（Storage  Area  Network）が構築されている。
【００２３】
ストレージサーバ２６は、ＨＤＤ（Hard  Disk  Drive）などのストレージ２６ａを有し、仮想マシン２２ａ，２２ｂ，２３ａ，２４ａから送信されたシステム領域のデータを受信すると、受信したシステム領域のデータをストレージ２６ａに格納する。これにより、ストレージ２６ａに仮想マシン２２ａ，２２ｂ，２３ａ，２４ａのシステム領域のデータが記憶される。
【００２４】
ストレージサーバ２７は、仮想マシン２２ａ，２２ｂ，２３ａ，２４ａのシステム領域のデータのバックアップ先の記憶装置である。また、ストレージサーバ２７は、ＨＤＤなどのバックアップ用ストレージ２７ａを有する。ストレージサーバ２７は、ＦＣスイッチ２５を介して、バックアッププログラムＡを実行する仮想マシン２１ａから送信された仮想マシン２２ａのシステム領域のデータを受信すると、受信したデータをバックアップ用ストレージ２７ａに格納する。また、ストレージサーバ２７は、ＦＣスイッチ２５を介して、バックアッププログラムＢを実行する仮想マシン２１ｂから送信された仮想マシン２２ｂのシステム領域のデータを受信すると、受信したデータをバックアップ用ストレージ２７ａに格納する。また、ストレージサーバ２７は、ＦＣスイッチ２５を介して、バックアッププログラムＣを実行する仮想マシン２１ｃから送信された仮想マシン２３ａのシステム領域のデータを受信すると、受信したデータをバックアップ用ストレージ２７ａに格納する。また、ストレージサーバ２７は、ＦＣスイッチ２５を介して、バックアッププログラムＤを実行する仮想マシン２１ｄから送信された仮想マシン２４ａのシステム領域のデータを受信すると、受信したデータをバックアップ用ストレージ２７ａに格納する。
【００２５】
図２は、実施例に係る制御装置の一例である管理サーバ１０の機能構成の一例を示す図である。図２に示すように、管理サーバ１０は、表示部１１、通信部１２、記憶部１３及び制御部１４を有する。
【００２６】
表示部１１は、各種の情報を表示する。表示部１１のデバイスの一例としては、液晶ディスプレイなどが挙げられる。
【００２７】
通信部１２は、管理サーバ１０以外の装置から送信された各種の指示などのデータを受信すると、受信したデータを制御部１４に送信する。また、通信部１２は、制御部１４から各種のデータを受信すると、受信したデータを指定された装置へ送信する。例えば、制御部１４は、端末５から送信されたユーザの指示を受信すると、受信した指示を制御部１４へ送信する。また、通信部１２は、制御部１４から送信されたＶＭホスト２２ｃ，２２ｄ，２２ｅへ各種の指示を受信すると、受信した指示を指定されたＶＭホストへ送信する。通信部１２のデバイスとしては、ネットワークカードが挙げられる。
【００２８】
記憶部１３は、各種情報を記憶する。例えば、記憶部１３は、負荷許容量テーブル１３ａ、対応関係テーブル１３ｂ、負荷情報１３ｃ、バックアップ情報１３ｄ及びサイズ情報１３ｅを記憶する。
【００２９】
負荷許容量テーブル１３ａは、バックアップサーバ２１及び管理対象サーバ２２〜２４の各サーバの各種のリソース（resource）の負荷の最大許容量が登録されたテーブルである。図３は、負荷許容量テーブルのデータ構造の一例を示す図である。図３の例に示す負荷許容量テーブル１３ａは、「物理サーバ名」、「ＣＰＵ性能」、「メモリ容量」及び「ネットワーク帯域（ＳＡＮ）」の各項目を有する。
【００３０】
「物理サーバ名」の項目には、物理サーバであるバックアップサーバ２１及び管理対象サーバ２２〜２４の各サーバを識別するための各サーバの名称が登録されている。図３に示すように、負荷許容量テーブル１３ａの１番目のレコードの「物理サーバ名」の項目には、バックアップサーバ２１の名称であるバックアップサーバが登録されている。図３に示すように、負荷許容量テーブル１３ａの２番目のレコードの「物理サーバ名」の項目には、管理対象サーバ２２の名称である管理対象サーバＡが登録されている。図３に示すように、負荷許容量テーブル１３ａの３番目のレコードの「物理サーバ名」の項目には、管理対象サーバ２３の名称である管理対象サーバＢが登録されている。図３に示すように、負荷許容量テーブル１３ａの４番目のレコードの「物理サーバ名」の項目には、管理対象サーバ２４の名称である管理対象サーバＣが登録されている。
【００３１】
「ＣＰＵ性能」の項目には、バックアップサーバ２１及び管理対象サーバ２２〜２４の各サーバが有するＣＰＵの処理性能を示す動作周波数とコアの数とが登録されている。図３に示すように、負荷許容量テーブル１３ａの１番目のレコードの「ＣＰＵ性能」の項目には、名称がバックアップサーバであるバックアップサーバ２１のＣＰＵの動作周波数４ＧＨｚと、コアの数３２とが登録されている。図３に示すように、負荷許容量テーブル１３ａの２番目のレコードの「ＣＰＵ性能」の項目には、名称が管理対象サーバＡである管理対象サーバ２２のＣＰＵの動作周波数４ＧＨｚと、コアの数１２とが登録されている。図３に示すように、負荷許容量テーブル１３ａの３番目のレコードの「ＣＰＵ性能」の項目には、名称が管理対象サーバＢである管理対象サーバ２３のＣＰＵの動作周波数４ＧＨｚと、コアの数２４とが登録されている。図３に示すように、負荷許容量テーブル１３ａの４番目のレコードの「ＣＰＵ性能」の項目には、名称が管理対象サーバＣである管理対象サーバ２４のＣＰＵの動作周波数４ＧＨｚと、コアの数８とが登録されている。
【００３２】
「メモリ容量」の項目には、バックアップサーバ２１及び管理対象サーバ２２〜２４の各サーバが有するメモリの性能を示す容量が登録されている。図３に示すように、負荷許容量テーブル１３ａの１番目のレコードの「メモリ容量」の項目には、名称がバックアップサーバであるバックアップサーバ２１のメモリの容量１２８ＧＢ（Giga  Byte）が登録されている。図３に示すように、負荷許容量テーブル１３ａの２番目のレコードの「メモリ容量」の項目には、名称が管理対象サーバＡである管理対象サーバ２２のメモリの容量３２ＧＢが登録されている。図３に示すように、負荷許容量テーブル１３ａの３番目のレコードの「メモリ容量」の項目には、名称が管理対象サーバＢである管理対象サーバ２３のメモリの容量６４ＧＢが登録されている。図３に示すように、負荷許容量テーブル１３ａの４番目のレコードの「メモリ容量」の項目には、名称が管理対象サーバＣである管理対象サーバ２４のメモリの容量１６ＧＢが登録されている。
【００３３】
「ネットワーク帯域（ＳＡＮ）」の項目には、バックアップサーバ２１及び管理対象サーバ２２〜２４の各サーバに接続された回線２８ａ〜２８ｅのいずれかの回線の帯域が登録されている。図３に示すように、負荷許容量テーブル１３ａの１番目のレコードの「ネットワーク帯域（ＳＡＮ）」の項目には、次の内容が登録されている。すなわち、名称がバックアップサーバであるバックアップサーバ２１に接続された、名称が経路１である回線２８ａの帯域８Ｇｂｐｓ（Giga  bit  per  second）が登録されている。また、図３に示すように、負荷許容量テーブル１３ａの１番目のレコードの「ネットワーク帯域（ＳＡＮ）」の項目には、名称がバックアップサーバであるバックアップサーバ２１に接続された、名称が経路２である回線２８ｂの帯域８Ｇｂｐｓが登録されている。図３に示すように、負荷許容量テーブル１３ａの２番目のレコードの「ネットワーク帯域（ＳＡＮ）」の項目には、名称が管理対象サーバＡである管理対象サーバ２２に接続された、名称が経路３である回線２８ｃの帯域８Ｇｂｐｓが登録されている。図３に示すように、負荷許容量テーブル１３ａの３番目のレコードの「ネットワーク帯域（ＳＡＮ）」の項目には、名称が管理対象サーバＢである管理対象サーバ２３に接続された、名称が経路４である回線２８ｄの帯域８Ｇｂｐｓが登録されている。図３に示すように、負荷許容量テーブル１３ａの４番目のレコードの「ネットワーク帯域（ＳＡＮ）」の項目には、名称が管理対象サーバＣである管理対象サーバ２４に接続された、名称が経路５である回線２８ｅの帯域４Ｇｂｐｓが登録されている。
【００３４】
図２の説明に戻る。対応関係テーブル１３ｂには、仮想マシン２１ａ〜２１ｄのそれぞれが実行する各バックアッププログラムＡ〜Ｄの識別子と、仮想マシン２１ａ〜２１ｄのそれぞれが各バックアッププログラムＡ〜Ｄを実行する際に使用する回線の名称とが対応付けて登録される。図４は、対応関係テーブルのデータ構造の一例を示す図である。図４の例に示す対応関係テーブル１３ｂは、「バックアッププログラム」及び「ネットワーク経路（ＳＡＮ）」の各項目を有する。
【００３５】
「バックアッププログラム」の項目には、仮想マシン２１ａ〜２１ｄのそれぞれが実行する各バックアッププログラムＡ〜Ｄの識別子が制御部１４により登録される。図４に示すように、対応関係テーブル１３ｂの１番目のレコードの「バックアッププログラム」の項目には、仮想マシン２１ａが実行するバックアッププログラムＡの識別子Ａが登録されている。図４に示すように、対応関係テーブル１３ｂの２番目のレコードの「バックアッププログラム」の項目には、仮想マシン２１ｂが実行するバックアッププログラムＢの識別子Ｂが登録されている。図４に示すように、対応関係テーブル１３ｂの３番目のレコードの「バックアッププログラム」の項目には、仮想マシン２１ｃが実行するバックアッププログラムＣの識別子Ｃが登録されている。図４に示すように、対応関係テーブル１３ｂの４番目のレコードの「バックアッププログラム」の項目には、仮想マシン２１ｄが実行するバックアッププログラムＤの識別子Ｄが登録されている。
【００３６】
「ネットワーク経路（ＳＡＮ）」の項目には、各バックアッププログラムＡ〜Ｄを実行する仮想マシン２１ａ〜２１ｄのそれぞれが各バックアッププログラムＡ〜Ｄを実行する際に使用する回線の名称が制御部１４により登録される。図４に示すように、対応関係テーブル１３ｂの１番目のレコードの「ネットワーク経路（ＳＡＮ）」の項目には、回線２８ａの名称である経路１が登録されている。図４に示すように、対応関係テーブル１３ｂの２番目のレコードの「ネットワーク経路（ＳＡＮ）」の項目には、回線２８ｂの名称である経路２が登録されている。図４に示すように、対応関係テーブル１３ｂの３番目のレコードの「ネットワーク経路（ＳＡＮ）」の項目には、回線２８ａの名称である経路１が登録されている。図４に示すように、対応関係テーブル１３ｂの４番目のレコードの「ネットワーク経路（ＳＡＮ）」の項目には、回線２８ｂの名称である経路２が登録されている。
【００３７】
すなわち、図４の例に示す対応関係テーブル１３ｂの１番目のレコードは、識別子がＡであるバックアッププログラムＡを実行する仮想マシン２１ａは、バックアッププログラムＡを実行する際に、名称が経路１である経路２８ａを使用することを示す。また、図４の例に示す対応関係テーブル１３ｂの２番目のレコードは、識別子がＢであるバックアッププログラムＢを実行する仮想マシン２１ｂは、バックアッププログラムＢを実行する際に、名称が経路２である経路２８ｂを使用することを示す。また、図４の例に示す対応関係テーブル１３ｂの３番目のレコードは、識別子がＣであるバックアッププログラムＣを実行する仮想マシン２１ｃは、バックアッププログラムＣを実行する際に、名称が経路１である経路２８ａを使用することを示す。また、図４の例に示す対応関係テーブル１３ｂの４番目のレコードは、識別子がＤであるバックアッププログラムＤを実行する仮想マシン２１ｄは、バックアッププログラムＤを実行する際に、名称が経路２である経路２８ｂを使用することを示す。
【００３８】
図２の説明に戻る。負荷情報１３ｃには、各仮想マシン２１ａ〜２１ｄが各バックアッププログラムＡ〜Ｄを実行する際の各種のリソースの負荷が登録される。図５は、負荷情報のデータ構造の一例を示す図である。図５の例に示す負荷情報１３ｃは、「バックアッププログラム」、「ＣＰＵ負荷（％）」、「メモリ負荷（％）」及び「ＳＡＮの負荷（％）」の各項目を有する。
【００３９】
「バックアッププログラム」の項目には、仮想マシン２１ａ〜２１ｄのそれぞれが実行する各バックアッププログラムＡ〜Ｄの識別子が制御部１４により登録される。図５に示すように、負荷情報１３ｃの１番目のレコードの「バックアッププログラム」の項目には、仮想マシン２１ａが実行するバックアッププログラムＡの識別子Ａが登録されている。図５に示すように、負荷情報１３ｃの２番目のレコードの「バックアッププログラム」の項目には、仮想マシン２１ｂが実行するバックアッププログラムＢの識別子Ｂが登録されている。図５に示すように、負荷情報１３ｃの３番目のレコードの「バックアッププログラム」の項目には、仮想マシン２１ｃが実行するバックアッププログラムＣの識別子Ｃが登録されている。図５に示すように、負荷情報１３ｃの４番目のレコードの「バックアッププログラム」の項目には、仮想マシン２１ｄが実行するバックアッププログラムＤの識別子Ｄが登録されている。
【００４０】
「ＣＰＵ負荷（％）」の項目には、仮想マシン２１ａ〜２１ｄのそれぞれが各バックアッププログラムＡ〜Ｄを実行する際の各仮想マシン２１ａ〜２１ｄのＣＰＵの負荷が制御部１４により登録される。例えば、「ＣＰＵ負荷（％）」の項目には、後述のＣＰＵの平均負荷（％）が制御部１４により登録される。図５の例に示す負荷情報１３ｃの１番目のレコードの「ＣＰＵ負荷（％）」の項目には、後述するＣＰＵの平均負荷１０％が制御部１４により登録された場合が示されている。図５の例に示す負荷情報１３ｃの２番目のレコードの「ＣＰＵ負荷（％）」の項目には、後述するＣＰＵの平均負荷２０％が制御部１４により登録された場合が示されている。図５の例に示す負荷情報１３ｃの３番目のレコードの「ＣＰＵ負荷（％）」の項目には、後述するＣＰＵの平均負荷３０％が制御部１４により登録された場合が示されている。図５の例に示す負荷情報１３ｃの４番目のレコードの「ＣＰＵ負荷（％）」の項目には、後述するＣＰＵの平均負荷１０％が制御部１４により登録された場合が示されている。
【００４１】
「メモリ負荷（％）」の項目には、仮想マシン２１ａ〜２１ｄのそれぞれが各バックアッププログラムＡ〜Ｄを実行する際の各仮想マシン２１ａ〜２１ｄのメモリの負荷が制御部１４により登録される。例えば、「メモリ負荷（％）」の項目には、後述のメモリの平均負荷（％）が制御部１４により登録される。図５の例に示す負荷情報１３ｃの１番目のレコードの「メモリ負荷（％）」の項目には、後述するメモリの平均負荷２０％が制御部１４により登録された場合が示されている。図５の例に示す負荷情報１３ｃの２番目のレコードの「メモリ負荷（％）」の項目には、後述するメモリの平均負荷２０％が制御部１４により登録された場合が示されている。図５の例に示す負荷情報１３ｃの３番目のレコードの「メモリ負荷（％）」の項目には、後述するメモリの平均負荷３０％が制御部１４により登録された場合が示されている。図５の例に示す負荷情報１３ｃの４番目のレコードの「メモリ負荷（％）」の項目には、後述するメモリの平均負荷２０％が制御部１４により登録された場合が示されている。
【００４２】
「ＳＡＮの負荷（％）」の項目には、後述の仮想マシンによる回線の平均負荷（％）が制御部１４により登録される。図５に示す負荷情報１３ｃの１番目のレコードの「ＳＡＮの負荷（％）」の項目には、後述の仮想マシン２１ａによる回線２８ａの平均負荷１０（％）が制御部１４により登録された場合が示されている。図５に示す負荷情報１３ｃの２番目のレコードの「ＳＡＮの負荷（％）」の項目には、後述の仮想マシン２１ｂによる回線２８ｂの平均負荷５（％）が制御部１４により登録された場合が示されている。図５に示す負荷情報１３ｃの３番目のレコードの「ＳＡＮの負荷（％）」の項目には、後述の仮想マシン２１ｃによる回線２８ａの平均負荷３０（％）が制御部１４により登録された場合が示されている。図５に示す負荷情報１３ｃの４番目のレコードの「ＳＡＮの負荷（％）」の項目には、後述の仮想マシン２１ｄによる回線２８ｂの平均負荷９５（％）が制御部１４により登録された場合が示されている。
【００４３】
図２の説明に戻る。バックアップ情報１３ｄには、仮想マシン２２ａ，２２ｂ，２３ａ，２４ａのシステム領域のデータのバックアップを行う曜日と時間帯とが登録されている。
【００４４】
図６は、バックアップ情報のデータ構造の一例を示す図である。
【００４５】
図６の例に示すバックアップ情報１３ｄは、「曜日」及び「バックアップ時間帯」の各項目を有する。「曜日」の項目には、月曜日、火曜日、水曜日、木曜日、金曜日、土曜日、日曜日のいずれかの曜日を示す情報が登録されている。例えば、図６に示すように、バックアップ情報１３ｄの１番目のレコードの「曜日」の項目には、月曜日を示す「月」が登録されている。図６に示すように、バックアップ情報１３ｄの２番目のレコードの「曜日」の項目には、火曜日を示す「火」が登録されている。図６に示すように、バックアップ情報１３ｄの３番目のレコードの「曜日」の項目には、水曜日を示す「水」が登録されている。図６に示すように、バックアップ情報１３ｄの４番目のレコードの「曜日」の項目には、木曜日を示す「木」が登録されている。図６に示すように、バックアップ情報１３ｄの５番目のレコードの「曜日」の項目には、金曜日を示す「金」が登録されている。図６に示すように、バックアップ情報１３ｄの６番目のレコードの「曜日」の項目には、土曜日を示す「土」が登録されている。図６に示すように、バックアップ情報１３ｄの７番目のレコードの「曜日」の項目には、日曜日を示す「日」が登録されている。
【００４６】
また、「バックアップ時間帯」の項目には、バックアップの時間帯が登録されている。例えば、図６に示すように、バックアップ情報１３ｄの１番目のレコードの「バックアップ時間帯」の項目には、午前０時０分から午前５時０分までのバックアップの時間帯が登録されている。図６に示すように、バックアップ情報１３ｄの２番目のレコードの「バックアップ時間帯」の項目には、午前２時０分から午前５時０分までのバックアップの時間帯が登録されている。図６に示すように、バックアップ情報１３ｄの３番目のレコードの「バックアップ時間帯」の項目には、午前２時０分から午前５時０分までのバックアップの時間帯と、午後１０時０分から午前０時０分までのバックアップの時間帯とが登録されている。図６に示すように、バックアップ情報１３ｄの４番目のレコードの「バックアップ時間帯」の項目には、午前０時０分から午前５時０分までのバックアップの時間帯が登録されている。図６に示すように、バックアップ情報１３ｄの５番目のレコードの「バックアップ時間帯」の項目には、午前２時０分から午前５時０分までのバックアップの時間帯が登録されている。図６に示すように、バックアップ情報１３ｄの６番目のレコードの「バックアップ時間帯」の項目には、午前４時０分から午前７時０分までのバックアップの時間帯と、午後９時０分から午前０時までのバックアップの時間帯とが登録されている。図６に示すように、バックアップ情報１３ｄの７番目のレコードの「バックアップ時間帯」の項目には、午前０時０分から午前７時０分までのバックアップの時間帯と、午後９時０分から午前０時までのバックアップの時間帯とが登録されている。
【００４７】
すなわち、図６の例に示すバックアップ情報１３ｄの１番目のレコードは、月曜日に、午前０時０分から午前５時０分までの規定の時間内で仮想マシン２２ａ，２２ｂ，２３ａ，２４ａのシステム領域のデータのバックアップを行うことを示す。図６の例に示すバックアップ情報１３ｄの２番目のレコードは、火曜日に、午前２時０分から午前５時０分までの規定の時間内で仮想マシン２２ａ，２２ｂ，２３ａ，２４ａのシステム領域のデータのバックアップを行うことを示す。図６の例に示すバックアップ情報１３ｄの３番目のレコードは、水曜日に、午前２時０分から午前５時０分までの規定の時間内で仮想マシン２２ａ，２２ｂ，２３ａ，２４ａのシステム領域のデータのバックアップを行うことを示す。さらに、図６の例に示すバックアップ情報１３ｄの３番目のレコードは、水曜日に、午後１０時０分から午前０時０分までの規定の時間内で仮想マシン２２ａ，２２ｂ，２３ａ，２４ａのシステム領域のデータのバックアップを行うことを示す。図６の例に示すバックアップ情報１３ｄの４番目のレコードは、木曜日に、午前０時０分から午前５時０分までの規定の時間内で仮想マシン２２ａ，２２ｂ，２３ａ，２４ａのシステム領域のデータのバックアップを行うことを示す。図６の例に示すバックアップ情報１３ｄの５番目のレコードは、金曜日に、午前２時０分から午前５時０分までの規定の時間内で仮想マシン２２ａ，２２ｂ，２３ａ，２４ａのシステム領域のデータのバックアップを行うことを示す。図６の例に示すバックアップ情報１３ｄの６番目のレコードは、土曜日に、午前４時０分から午前７時０分までの規定の時間内で仮想マシン２２ａ，２２ｂ，２３ａ，２４ａのシステム領域のデータのバックアップを行うことを示す。さらに、図６の例に示すバックアップ情報１３ｄの６番目のレコードは、土曜日に、午後９時０分から午前０時０分までの規定の時間内で仮想マシン２２ａ，２２ｂ，２３ａ，２４ａのシステム領域のデータのバックアップを行うことを示す。図６の例に示すバックアップ情報１３ｄの７番目のレコードは、日曜日に、午前０時０分から午前７時０分までの規定の時間内で仮想マシン２２ａ，２２ｂ，２３ａ，２４ａのシステム領域のデータのバックアップを行うことを示す。さらに、図６の例に示すバックアップ情報１３ｄの７番目のレコードは、日曜日に、午後９時０分から午前０時０分までの規定の時間内で仮想マシン２２ａ，２２ｂ，２３ａ，２４ａのシステム領域のデータのバックアップを行うことを示す。
【００４８】
図２の説明に戻る。サイズ情報１３ｅには、仮想マシン２２ａ，２２ｂ，２３ａ，２４ａの名称と、仮想マシン２２ａ，２２ｂ，２３ａ，２４ａのシステム領域のデータのサイズとが登録されている。
【００４９】
図７は、サイズ情報のデータ構造の一例を示す図である。図７の例に示すサイズ情報１３ｅは、「バックアップ対象の仮想マシン名」及び「システム領域のデータのサイズ」の各項目を有する。「バックアップ対象の仮想マシン名」の項目には、仮想マシン２２ａ，２２ｂ，２３ａ，２４ａのいずれかの仮想マシンの名称が登録されている。例えば、図７に示すように、バックアップ情報１３ｄの１番目のレコードの「バックアップ対象の仮想マシン名」の項目には、仮想マシン２２ａの名称である業務Ａが登録されている。図７に示すように、バックアップ情報１３ｄの２番目のレコードの「バックアップ対象の仮想マシン名」の項目には、仮想マシン２２ｂの名称である業務Ｂが登録されている。図７に示すように、バックアップ情報１３ｄの３番目のレコードの「バックアップ対象の仮想マシン名」の項目には、仮想マシン２３ａの名称である業務Ｃが登録されている。図７に示すように、バックアップ情報１３ｄの４番目のレコードの「バックアップ対象の仮想マシン名」の項目には、仮想マシン２４ａの名称である業務Ｄが登録されている。
【００５０】
「システム領域のデータのサイズ」の項目には、バックアップの対象である仮想マシン２２ａ，２２ｂ，２３ａ，２４ａのシステム領域のデータのサイズが登録されている。例えば、図７に示すように、バックアップ情報１３ｄの１番目のレコードの「システム領域のデータのサイズ」の項目には、名称が業務Ａである仮想マシン２２ａのシステム領域のデータのサイズ２０ＧＢが登録されている。図７に示すように、バックアップ情報１３ｄの２番目のレコードの「システム領域のデータのサイズ」の項目には、名称が業務Ｂである仮想マシン２２ｂのシステム領域のデータのサイズ３０ＧＢが登録されている。図７に示すように、バックアップ情報１３ｄの３番目のレコードの「システム領域のデータのサイズ」の項目には、名称が業務Ｃである仮想マシン２３ａのシステム領域のデータのサイズ１０ＧＢが登録されている。図７に示すように、バックアップ情報１３ｄの４番目のレコードの「システム領域のデータのサイズ」の項目には、名称が業務Ｄである仮想マシン２４ａのシステム領域のデータのサイズ５０ＧＢが登録されている。
【００５１】
記憶部１３は、例えば、フラッシュメモリなどの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。
【００５２】
図２の説明に戻り、制御部１４は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。図２に示すように、制御部１４は、取得部１４ａと、第１の特定部１４ｂと、第２の特定部１４ｃと、移動制御部１４ｄとを有する。
【００５３】
取得部１４ａは、複数の回線２８ａ，２８ｂそれぞれの帯域負荷と、複数の管理対象サーバ２２〜２４それぞれのリソース使用量と、複数の仮想マシン２１ａ〜２１ｄそれぞれが実行するバックアップ処理の進捗の度合いを示す進捗度とを取得する。
【００５４】
取得部１４ａの一態様について説明する。取得部１４ａは、所定時間間隔（例えば３０秒間隔）で、バックアップ情報１３ｄを参照し、現在の時刻がバックアップ情報１３ｄに登録されたバックアップ処理を行う時間帯に含まれるか否かを判定する。
【００５５】
現在の時刻がバックアップ情報１３ｄ登録されたバックアップ処理を行う時間帯に含まれると判定した場合、すなわち、仮想マシン２１ａ〜２１ｄがバックアップ処理を行う時間帯であると判定した場合には、取得部１４ａは、次の処理を行う。すなわち、取得部１４ａは、負荷許容量テーブル１３ａから、バックアップサーバ２１及び管理対象サーバ２２〜２４の各サーバの各種のリソース（ＣＰＵ、メモリ、各サーバに接続された回線）の負荷の最大許容量を取得する。例えば、図３の例に示す負荷許容量テーブル１３ａが記憶部１３に記憶されている場合には、取得部１４ａは、次の処理を行う。すなわち、取得部１４ａは、「物理サーバ名」の項目にバックアップサーバが登録されたレコードを特定し、特手したレコードの「ＣＰＵ性能」の項目に登録されたＣＰＵの動作周波数４ＧＨｚとコアの数３２とを、バックアップサーバ２１のＣＰＵの負荷の最大許容量として取得する。また、取得部１４ａは、特定したレコードの「メモリ」の項目に登録されたメモリの容量１２８ＧＢを、バックアップサーバ２１のメモリの負荷の最大許容量として取得する。また、取得部１４ａは、特定したレコードの「ネットワーク帯域（ＳＡＮ）」の項目に登録された、名称が経路１である回線２８ａの帯域８Ｇｂｐｓと、名称が経路２である回線２８ｂの帯域８Ｇｂｐｓとを、次のような値として取得する。すなわち、取得部１４ａは、名称が経路１である回線２８ａの帯域８Ｇｂｐｓと、名称が経路２である回線２８ｂの帯域８Ｇｂｐｓとを、バックアップサーバ２１に接続された回線の負荷の最大許容量として取得する。
【００５６】
また、取得部１４ａは、「物理サーバ名」の項目に管理対象サーバＡが登録されたレコードを特定する。そして、取得部１４ａは、特定したレコードに対して上述した処理と同様の処理を行うことで、ＣＰＵの動作周波数４ＧＨｚとコアの数１２とを、管理対象サーバ２２のＣＰＵの負荷の最大許容量として取得する。また、取得部１４ａは、特定したレコードに対して上述した処理と同様の処理を行うことで、メモリの容量３２ＧＢを、管理対象サーバ２２のメモリの負荷の最大許容量として取得する。また、取得部１４ａは、特定したレコードに対して上述した処理と同様の処理を行うことで、名称が経路３である回線２８ｃの帯域８Ｇｂｐｓを、管理対象サーバ２２に接続された回線の負荷の最大許容量として取得する。
【００５７】
また、取得部１４ａは、「物理サーバ名」の項目に管理対象サーバＢが登録されたレコードを特定する。そして、取得部１４ａは、特定したレコードに対して上述した処理と同様の処理を行うことで、ＣＰＵの動作周波数４ＧＨｚとコアの数２４とを、管理対象サーバ２３のＣＰＵの負荷の最大許容量として取得する。また、取得部１４ａは、特定したレコードに対して上述した処理と同様の処理を行うことで、メモリの容量６４ＧＢを、管理対象サーバ２３のメモリの負荷の最大許容量として取得する。また、取得部１４ａは、特定したレコードに対して上述した処理と同様の処理を行うことで、名称が経路４である回線２８ｄの帯域８Ｇｂｐｓを、管理対象サーバ２３に接続された回線の負荷の最大許容量として取得する。
【００５８】
また、取得部１４ａは、「物理サーバ名」の項目に管理対象サーバＣが登録されたレコードを特定する。そして、取得部１４ａは、特定したレコードに対して上述した処理と同様の処理を行うことで、ＣＰＵの動作周波数４ＧＨｚとコアの数８とを、管理対象サーバ２４のＣＰＵの負荷の最大許容量として取得する。また、取得部１４ａは、特定したレコードに対して上述した処理と同様の処理を行うことで、メモリの容量１６ＧＢを、管理対象サーバ２４のメモリの負荷の最大許容量として取得する。また、取得部１４ａは、特定したレコードに対して上述した処理と同様の処理を行うことで、名称が経路５である回線２８ｅの帯域４Ｇｂｐｓを、管理対象サーバ２４に接続された回線の負荷の最大許容量として取得する。
【００５９】
上述したような方法で、取得部１４ａは、負荷許容量テーブル１３ａから、バックアップサーバ２１及び管理対象サーバ２２〜２４の各サーバの各種のリソースの負荷の最大許容量を取得する。
【００６０】
次に、取得部１４ａは、対応関係テーブル１３ｂに各種の情報を登録して、対応関係テーブル１３ｂを生成する対応関係テーブル生成処理を実行する。対応関係テーブル生成処理では、取得部１４ａは、まず、バックアップサーバ２１に接続された回線２８ａ，２８ｂの最大帯域の合計を算出する。例えば、取得部１４ａは、既に取得した回線２８ａ，２８ｂのそれぞれの帯域の合計を算出する。図３の例に示す負荷許容量テーブル１３ａが記憶部１３に記憶されている場合には、取得部１４ａは、回線２８ａ，２８ｂのそれぞれの帯域の合計１６Ｇｂｐｓ（（８＋８）Ｇｂｐｓ）を算出する。
【００６１】
そして、対応関係テーブル生成処理では、取得部１４ａは、算出した帯域の合計に対する各回線２８ａ，２８ｂの帯域の割合を算出する。図３の例に示す負荷許容量テーブル１３ａが記憶部１３に記憶されている場合には、取得部１４ａは、合計に対する回線２８ａの帯域の割合として８／１６を算出する。また、取得部１４ａは、合計に対する回線２８ｂの帯域の割合として８／１６を算出する。
【００６２】
そして、対応関係テーブル生成処理では、取得部１４ａは、バックアップ処理を実行する仮想マシンを特定する。例えば、図１に示すように、４台の仮想マシン２１ａ〜２１ｄがバックアップ処理を実行する場合には、取得部１４ａは、バックアップ処理を実行する仮想マシン２１ａ〜２１ｄを特定する。
【００６３】
そして、対応関係テーブル生成処理では、取得部１４ａは、特定した全ての仮想マシンを１つずつ選択する。そして、取得部１４ａは、仮想マシンを選択するたびに、算出した割合に応じて、選択した仮想マシンを回線２８ａ，２８ｂに対応付ける。例えば、合計に対する回線２８ａの帯域の割合として８／１６を算出し、合計に対する回線２８ｂの帯域の割合として８／１６を算出した場合には、取得部１４ａは、次の処理を行う。すなわち、取得部１４ａは、回線２８ａに対して５０％、回線２８ｂに対して５０％の確率で選択した仮想マシンを回線２８ａまたは回線２８ｂのいずれかの回線に対応付ける。これにより、特定した全ての仮想マシンに対して回線が対応付けられる。
【００６４】
そして、対応関係テーブル生成処理では、取得部１４ａは、対応付けられた仮想マシンと回線とを対応付けて対応関係テーブル１３ｂに登録する。例えば、回線２８ａに対して、仮想マシン２１ａ，２１ｃが対応付けられ、回線２８ｂに対して、仮想マシン２１ｂ，２１ｄが対応付けられた場合には、取得部１４ａは、次の処理を行う。すなわち、取得部１４ａは、先の図４に示すように、対応関係テーブル１３ｂの「バックアッププログラム」の項目に、仮想マシン２１ａが実行するバックアッププログラムＡの識別子Ａを登録する。そして、取得部１４ａは、「バックアッププログラム」の項目に識別子Ａが登録されたレコードの「ネットワーク経路（ＳＡＮ）」の項目に、回線２８ａの名称である経路１を登録する。また、取得部１４ａは、先の図４に示すように、対応関係テーブル１３ｂの「バックアッププログラム」の項目に、仮想マシン２１ｂが実行するバックアッププログラムＢの識別子Ｂを登録する。そして、取得部１４ａは、「バックアッププログラム」の項目に識別子Ｂが登録されたレコードの「ネットワーク経路（ＳＡＮ）」の項目に、回線２８ｂの名称である経路２を登録する。また、取得部１４ａは、先の図４に示すように、対応関係テーブル１３ｂの「バックアッププログラム」の項目に、仮想マシン２１ｃが実行するバックアッププログラムＣの識別子Ｃを登録する。そして、取得部１４ａは、「バックアッププログラム」の項目に識別子Ｃが登録されたレコードの「ネットワーク経路（ＳＡＮ）」の項目に、回線２８ａの名称である経路１を登録する。また、取得部１４ａは、先の図４に示すように、対応関係テーブル１３ｂの「バックアッププログラム」の項目に、仮想マシン２１ｄが実行するバックアッププログラムＤの識別子Ｄを登録する。そして、取得部１４ａは、「バックアッププログラム」の項目に識別子Ｄが登録されたレコードの「ネットワーク経路（ＳＡＮ）」の項目に、回線２８ｂの名称である経路２を登録する。
【００６５】
このようにして、対応関係テーブル生成処理が実行されることにより、対応関係テーブル１３ｂが生成される。
【００６６】
対応関係テーブル１３ｂが生成されると、取得部１４ａは、仮想マシン２１ａ〜２１ｄがバックアップ処理を開始するように制御する。例えば、対応関係テーブル１３ｂが生成されると、取得部１４ａは、仮想マシン２１ａがバックアッププログラムＡを実行する指示をＶＭホスト２１ｅに送信する。かかる指示を受信したＶＭホスト２１ｅは、仮想マシン２１ａにバックアッププログラムＡを実行する指示を送信する。バックアッププログラムＡを実行する指示を受信した仮想マシン２１ａは、指示にしたがって、バックアッププログラムＡを実行する。すなわち、仮想マシン２１ａは、バックアップ処理を実行する。バックアップ処理において、仮想マシン２１ａは、仮想マシン２２ａのシステム領域のデータをストレージサーバ２６のストレージ２６ａから取得し、取得したシステム領域のデータを回線２８ａ及びＦＣスイッチ２５を介してストレージサーバ２７に送信する。これにより、バックアップ用ストレージ２７ａに仮想マシン２２ａのシステム領域のデータが記憶され、仮想マシン２２ａのシステム領域のデータが複製される。
【００６７】
また、対応関係テーブル１３ｂが生成されると、取得部１４ａは、仮想マシン２１ｂがバックアッププログラムＢを実行する指示をＶＭホスト２１ｅに送信する。かかる指示を受信したＶＭホスト２１ｅは、仮想マシン２１ｂにバックアッププログラムＢを実行する指示を送信する。バックアッププログラムＢを実行する指示を受信した仮想マシン２１ｂは、指示にしたがって、バックアッププログラムＢを実行する。すなわち、仮想マシン２１ｂは、バックアップ処理を実行する。バックアップ処理において、仮想マシン２１ｂは、仮想マシン２２ｂのシステム領域のデータをストレージサーバ２６のストレージ２６ａから取得し、取得したシステム領域のデータを回線２８ｂ及びＦＣスイッチ２５を介してストレージサーバ２７に送信する。これにより、バックアップ用ストレージ２７ａに仮想マシン２２ｂのシステム領域のデータが記憶され、仮想マシン２２ｂのシステム領域のデータが複製される。
【００６８】
また、対応関係テーブル１３ｂが生成されると、取得部１４ａは、仮想マシン２１ｃがバックアッププログラムＣを実行する指示をＶＭホスト２１ｅに送信する。かかる指示を受信したＶＭホスト２１ｅは、仮想マシン２１ｃにバックアッププログラムＣを実行する指示を送信する。バックアッププログラムＣを実行する指示を受信した仮想マシン２１ｃは、指示にしたがって、バックアッププログラムＣを実行する。すなわち、仮想マシン２１ｃは、バックアップ処理を実行する。バックアップ処理において、仮想マシン２１ｃは、仮想マシン２３ａのシステム領域のデータをストレージサーバ２６のストレージ２６ａから取得し、取得したシステム領域のデータを回線２８ａ及びＦＣスイッチ２５を介してストレージサーバ２７に送信する。これにより、バックアップ用ストレージ２７ａに仮想マシン２３ａのシステム領域のデータが記憶され、仮想マシン２３ａのシステム領域のデータが複製される。
【００６９】
また、対応関係テーブル１３ｂが生成されると、取得部１４ａは、仮想マシン２１ｄがバックアッププログラムＤを実行する指示をＶＭホスト２１ｅに送信する。かかる指示を受信したＶＭホスト２１ｅは、仮想マシン２１ｄにバックアッププログラムＤを実行する指示を送信する。バックアッププログラムＤを実行する指示を受信した仮想マシン２１ｄは、指示にしたがって、バックアッププログラムＤを実行する。すなわち、仮想マシン２１ｄは、バックアップ処理を実行する。バックアップ処理において、仮想マシン２１ｄは、仮想マシン２４ａのシステム領域のデータをストレージサーバ２６のストレージ２６ａから取得し、取得したシステム領域のデータを回線２８ｂ及びＦＣスイッチ２５を介してストレージサーバ２７に送信する。これにより、バックアップ用ストレージ２７ａに仮想マシン２４ａのシステム領域のデータが記憶され、仮想マシン２４ａのシステム領域のデータが複製される。
【００７０】
そして、取得部１４ａは、各仮想マシン２１ａ〜２１ｄが各バックアッププログラムＡ〜Ｄを実行する際の各種のリソースの負荷の計測を開始する。そして、取得部１４ａは、計測した各種のリソースの負荷を負荷情報１３ｃに登録する。例えば、取得部１４ａは、所定時間間隔（例えば３秒間隔）で、バックアッププログラムＡを実行する仮想マシン２１ａのＣＰＵの使用量（ＧＨｚ）を計測することを開始する。そして、取得部１４ａは、ＣＰＵの使用量（ＧＨｚ）を計測するたびに、次の処理を行う。すなわち、取得部１４ａは、現在から過去５分間計測されたＣＰＵの使用量の平均値を算出し、算出した平均値をバックアップサーバ２１のＣＰＵの動作周波数４ＧＨｚで除した値に、１００を乗じた値を仮想マシン２１ａのＣＰＵの平均負荷（％）として算出する。例えば、現在から過去５分間計測された仮想マシン２１ａのＣＰＵの使用量の平均値が０．４ＧＨｚである場合には、取得部１４ａは、仮想マシン２１ａのＣＰＵの平均負荷１０％を算出する。そして、取得部１４ａは、バックアッププログラムＡの識別子Ａと対応付けて仮想マシン２１ａのＣＰＵの平均負荷を負荷情報１３ｃに上書きして登録する。
【００７１】
また、取得部１４ａは、所定時間間隔（例えば３秒間隔）で、バックアッププログラムＢを実行する仮想マシン２１ｂのＣＰＵの使用量（ＧＨｚ）を計測することを開始する。そして、取得部１４ａは、ＣＰＵの使用量（ＧＨｚ）を計測するたびに、次の処理を行う。すなわち、取得部１４ａは、現在から過去５分間計測されたＣＰＵの使用量の平均値を算出し、算出した平均値をバックアップサーバ２１のＣＰＵの動作周波数４ＧＨｚで除した値に、１００を乗じた値を仮想マシン２１ｂのＣＰＵの平均負荷（％）として算出する。そして、取得部１４ａは、バックアッププログラムＢの識別子Ｂと対応付けて仮想マシン２１ｂのＣＰＵの平均負荷を負荷情報１３ｃに上書きして登録する。
【００７２】
また、取得部１４ａは、所定時間間隔（例えば３秒間隔）で、バックアッププログラムＣを実行する仮想マシン２１ｃのＣＰＵの使用量（ＧＨｚ）を計測することを開始する。そして、取得部１４ａは、ＣＰＵの使用量（ＧＨｚ）を計測するたびに、次の処理を行う。すなわち、取得部１４ａは、現在から過去５分間計測されたＣＰＵの使用量の平均値を算出し、算出した平均値をバックアップサーバ２１のＣＰＵの動作周波数４ＧＨｚで除した値に、１００を乗じた値を仮想マシン２１ｃのＣＰＵの平均負荷（％）として算出する。そして、取得部１４ａは、バックアッププログラムＣの識別子Ｃと対応付けて仮想マシン２１ｃのＣＰＵの平均負荷を負荷情報１３ｃに上書きして登録する。
【００７３】
また、取得部１４ａは、所定時間間隔（例えば３秒間隔）で、バックアッププログラムＤを実行する仮想マシン２１ｄのＣＰＵの使用量（ＧＨｚ）を計測することを開始する。そして、取得部１４ａは、ＣＰＵの使用量（ＧＨｚ）を計測するたびに、次の処理を行う。すなわち、取得部１４ａは、現在から過去５分間計測されたＣＰＵの使用量の平均値を算出し、算出した平均値をバックアップサーバ２１のＣＰＵの動作周波数４ＧＨｚで除した値に、１００を乗じた値を仮想マシン２１ｄのＣＰＵの平均負荷（％）として算出する。そして、取得部１４ａは、バックアッププログラムＤの識別子Ｄと対応付けて仮想マシン２１ｄのＣＰＵの平均負荷を負荷情報１３ｃに上書きして登録する。
【００７４】
また、取得部１４ａは、所定時間間隔（例えば３秒間隔）で、バックアッププログラムＡを実行する仮想マシン２１ａのメモリの使用量（ＧＢ）を計測することを開始する。そして、取得部１４ａは、メモリの使用量（ＧＢ）を計測するたびに、次の処理を行う。すなわち、取得部１４ａは、現在から過去５分間計測されたメモリの使用量の平均値を算出し、算出した平均値をバックアップサーバ２１のメモリの容量１２８ＧＢで除した値に、１００を乗じた値を仮想マシン２１ａのメモリの平均負荷（％）として算出する。例えば、現在から過去５分間計測された仮想マシン２１ａのメモリの使用量の平均値が２５．６ＧＢである場合には、取得部１４ａは、仮想マシン２１ａのメモリの平均負荷２０％を算出する。そして、取得部１４ａは、バックアッププログラムＡの識別子Ａと対応付けて仮想マシン２１ａのメモリの平均負荷を負荷情報１３ｃに上書きして登録する。
【００７５】
また、取得部１４ａは、所定時間間隔（例えば３秒間隔）で、バックアッププログラムＢを実行する仮想マシン２１ｂのメモリの使用量（ＧＢ）を計測することを開始する。そして、取得部１４ａは、メモリの使用量（ＧＢ）を計測するたびに、次の処理を行う。すなわち、取得部１４ａは、現在から過去５分間計測されたメモリの使用量の平均値を算出し、算出した平均値をバックアップサーバ２１のメモリの容量１２８ＧＢで除した値に、１００を乗じた値を仮想マシン２１ｂのメモリの平均負荷（％）として算出する。そして、取得部１４ａは、バックアッププログラムＢの識別子Ｂと対応付けて仮想マシン２１ｂのメモリの平均負荷を負荷情報１３ｃに上書きして登録する。
【００７６】
また、取得部１４ａは、所定時間間隔（例えば３秒間隔）で、バックアッププログラムＣを実行する仮想マシン２１ｃのメモリの使用量（ＧＢ）を計測することを開始する。そして、取得部１４ａは、メモリの使用量（ＧＢ）を計測するたびに、次の処理を行う。すなわち、取得部１４ａは、現在から過去５分間計測されたメモリの使用量の平均値を算出し、算出した平均値をバックアップサーバ２１のメモリの容量１２８ＧＢで除した値に、１００を乗じた値を仮想マシン２１ｃのメモリの平均負荷（％）として算出する。そして、取得部１４ａは、バックアッププログラムＣの識別子Ｃと対応付けて仮想マシン２１ｃのメモリの平均負荷を負荷情報１３ｃに上書きして登録する。
【００７７】
また、取得部１４ａは、所定時間間隔（例えば３秒間隔）で、バックアッププログラムＤを実行する仮想マシン２１ｄのメモリの使用量（ＧＢ）を計測することを開始する。そして、取得部１４ａは、メモリの使用量（ＧＢ）を計測するたびに、次の処理を行う。すなわち、取得部１４ａは、現在から過去５分間計測されたメモリの使用量の平均値を算出し、算出した平均値をバックアップサーバ２１のメモリの容量１２８ＧＢで除した値に、１００を乗じた値を仮想マシン２１ｄのメモリの平均負荷（％）として算出する。そして、取得部１４ａは、バックアッププログラムＤの識別子Ｄと対応付けて仮想マシン２１ｄのメモリの平均負荷を負荷情報１３ｃに上書きして登録する。
【００７８】
また、取得部１４ａは、所定時間間隔（例えば３秒間隔）で、次の処理を行う。例えば、取得部１４ａは、バックアッププログラムＡを実行する仮想マシン２１ａがバックアップ処理を実行する際に使用する回線２８ａに、バックアップ対象のデータが１秒間あたり流れるデータ量（Ｇｂｐｓ）を計測することを開始する。ここで、バックアップ対象のデータとは、仮想マシン２２ａのシステム領域のデータを指す。そして、取得部１４ａは、データ量を計測するたびに、次の処理を行う。すなわち、取得部１４ａは、現在から過去５分間計測されたデータ量の平均値を算出し、算出したデータ量の平均値を回線２８ａの帯域８Ｇｂｐｓで除した値に、１００を乗じた値を仮想マシン２１ａによる回線２８ａの平均負荷（％）として算出する。例えば、現在から過去５分間計測されたバックアップ対象のデータが１秒間あたり流れるデータ量の平均値が０．８Ｇｂｐｓである場合には、取得部１４ａは、仮想マシン２１ａによる回線２８ａの平均負荷１０％を算出する。そして、取得部１４ａは、バックアッププログラムＡの識別子Ａと対応付けて仮想マシン２１ａによる回線２８ａの平均負荷を負荷情報１３ｃに上書きして登録する。
【００７９】
また、取得部１４ａは、所定時間間隔（例えば３秒間隔）で、次の処理を行う。例えば、取得部１４ａは、バックアッププログラムＢを実行する仮想マシン２１ｂがバックアップ処理を実行する際に使用する回線２８ｂに、バックアップ対象のデータが１秒間あたり流れるデータ量（Ｇｂｐｓ）を計測することを開始する。ここで、バックアップ対象のデータとは、仮想マシン２２ｂのシステム領域のデータを指す。そして、取得部１４ａは、データ量を計測するたびに、次の処理を行う。すなわち、取得部１４ａは、現在から過去５分間計測されたデータ量の平均値を算出し、算出したデータ量の平均値を回線２８ｂの帯域８Ｇｂｐｓで除した値に、１００を乗じた値を仮想マシン２１ｂによる回線２８ｂの平均負荷（％）として算出する。そして、取得部１４ａは、バックアッププログラムＢの識別子Ｂと対応付けて仮想マシン２１ｂによる回線２８ｂの平均負荷を負荷情報１３ｃに上書きして登録する。
【００８０】
また、取得部１４ａは、所定時間間隔（例えば３秒間隔）で、次の処理を行う。例えば、取得部１４ａは、バックアッププログラムＣを実行する仮想マシン２１ｃがバックアップ処理を実行する際に使用する回線２８ａに、バックアップ対象のデータが１秒間あたり流れるデータ量（Ｇｂｐｓ）を計測することを開始する。ここで、バックアップ対象のデータとは、仮想マシン２３ａのシステム領域のデータを指す。そして、取得部１４ａは、データ量を計測するたびに、次の処理を行う。すなわち、取得部１４ａは、現在から過去５分間計測されたデータ量の平均値を算出し、算出したデータ量の平均値を回線２８ａの帯域８Ｇｂｐｓで除した値に、１００を乗じた値を仮想マシン２１ｃによる回線２８ａの平均負荷（％）として算出する。そして、取得部１４ａは、バックアッププログラムＣの識別子Ｃと対応付けて仮想マシン２１ｃによる回線２８ａの平均負荷を負荷情報１３ｃに上書きして登録する。
【００８１】
また、取得部１４ａは、所定時間間隔（例えば３秒間隔）で、次の処理を行う。例えば、取得部１４ａは、バックアッププログラムＤを実行する仮想マシン２１ｄがバックアップ処理を実行する際に使用する回線２８ｂに、バックアップ対象のデータが１秒間あたり流れるデータ量（Ｇｂｐｓ）を計測することを開始する。ここで、バックアップ対象のデータとは、仮想マシン２４ａのシステム領域のデータを指す。そして、取得部１４ａは、データ量を計測するたびに、次の処理を行う。すなわち、取得部１４ａは、現在から過去５分間計測されたデータ量の平均値を算出し、算出したデータ量の平均値を回線２８ｂの帯域８Ｇｂｐｓで除した値に、１００を乗じた値を仮想マシン２１ｄによる回線２８ｂの平均負荷（％）として算出する。そして、取得部１４ａは、バックアッププログラムＤの識別子Ｄと対応付けて仮想マシン２１ｄによる回線２８ｂの平均負荷を負荷情報１３ｃに上書きして登録する。
【００８２】
上述したような方法で、取得部１４ａは、各仮想マシン２１ａ〜２１ｄが各バックアッププログラムＡ〜Ｄを実行する際の各種のリソースの負荷の計測を開始し、負荷情報１３ｃにおける各種のリソースの負荷の更新を開始する。
【００８３】
また、取得部１４ａは、負荷情報１３ｃに登録された各種の平均負荷のうち、所定値（例えば、９０％）を超える平均負荷があると後述の第１の特定部１４ｂにより判定された場合に、次の処理を行う。すなわち、取得部１４ａは、サイズ情報１３ｅから、仮想マシン２２ａ，２２ｂ，２３ａ，２４ａのそれぞれのシステム領域のデータのサイズを取得する。次に、取得部１４ａは、ストレージ２７へ転送済みの仮想マシン２２ａのシステム領域のデータのデータ量を特定する。そして、取得部１４ａは、特定したデータ量を仮想マシン２２ａのシステム領域のデータのサイズで除した値に１００を乗じた値を、仮想マシン２１ａのバックアップ処理の進捗度（％）として算出する。また、取得部１４ａは、ストレージ２７へ転送済みの仮想マシン２２ｂのシステム領域のデータのデータ量を特定する。そして、取得部１４ａは、特定したデータ量を仮想マシン２２ｂのシステム領域のデータのサイズで除した値に１００を乗じた値を、仮想マシン２１ｂのバックアップ処理の進捗度（％）として算出する。また、取得部１４ａは、ストレージ２７へ転送済みの仮想マシン２３ａのシステム領域のデータのデータ量を特定する。そして、取得部１４ａは、特定したデータ量を仮想マシン２３ａのシステム領域のデータのサイズで除した値に１００を乗じた値を、仮想マシン２１ｃのバックアップ処理の進捗度（％）として算出する。また、取得部１４ａは、ストレージ２７へ転送済みの仮想マシン２４ａのシステム領域のデータのデータ量を特定する。そして、取得部１４ａは、特定したデータ量を仮想マシン２４ａのシステム領域のデータのサイズで除した値に１００を乗じた値を、仮想マシン２１ｄのバックアップ処理の進捗度（％）として算出する。なお、バックアップ処理の進捗度は、バックアップ処理の進捗の度合いを示す値である。このようにして、取得部１４ａは、バックアップ処理の進捗度を取得する。
【００８４】
第１の特定部１４ｂは、複数の回線２８ａ，２８ｂの少なくとも１つの使用帯域が増加したことを検知し、かつ、使用帯域が増加したことが検知された回線を用いるバックアップ処理が遅延することを検知すると、次の処理を行う。すなわち、第１の特定部１４ｂは、使用帯域が増加したことが検知された回線を用いてバックアップ処理を行ういずれかの仮想マシンを特定する。この際、第１の特定部１４ｂは、複数の回線２８ａ，２８ｂのそれぞれと、回線２８ａ，２８ｂを用いてバックアップ処理を行う仮想マシン２１ａ〜２１ｄとの対応関係に基づいて、仮想マシンを特定する。ここで、バックアップ処理が遅延するとは、例えば、バックアップ処理が規定の時間内に終了しないことである。
【００８５】
第１の特定部１４ｂの一態様について説明する。例えば、第１の特定部１４ｂは、上述した各種のリソースの負荷の計測、及び、負荷情報１３ｃにおける各種のリソースの負荷の更新が取得部１４ａにより開始されると、次の処理を行う。すなわち、第１の特定部１４ｂは、負荷情報１３ｃに登録された仮想マシン２１ａ〜２１ｄのそれぞれのＣＰＵの平均負荷のうち、所定値、例えば、９０％を超える平均負荷があるか否かを判定する。また、第１の特定部１４ｂは、負荷情報１３ｃに登録された仮想マシン２１ａ〜２１ｄのそれぞれのメモリの平均負荷のうち、所定値、例えば、９０％を超える平均負荷があるか否かを判定する。これに加えて、第１の特定部１４ｂは、負荷情報１３ｃに登録された仮想マシン２１ａによる回線２８ａの平均負荷と仮想マシン２１ｃによる回線２８ａの平均負荷との合計を回線２８ａの平均負荷として算出する。また、第１の特定部１４ｂは、負荷情報１３ｃに登録された仮想マシン２１ｂによる回線２８ｂの平均負荷と仮想マシン２１ｄによる回線２８ｂの平均負荷との合計を回線２８ｂの平均負荷として算出する。そして、第１の特定部１４ｂは、回線２８ａの平均負荷、及び、回線２８ｂの平均負荷の中に、所定値、例えば、９０％を超える平均負荷があるか否かを判定する。
【００８６】
所定値（例えば、９０％）を超える平均負荷があると判定した場合には、第１の特定部１４ｂは、次の処理を行う。すなわち、第１の特定部１４ｂは、仮想マシン２１ａ〜２１ｄの中から、平均負荷が所定値を超えた仮想マシンを特定し、特定した仮想マシンのバックアップ処理の進捗度の中に、閾値以下の進捗度があるか否かを判定する。ここで、かかる閾値は、取得部１４ａにより算出される値であり、バックアップ処理が開始されてから現在の時刻までの経過時間を、バックアップの予定時間で除した値に、１００を乗じた値である。例えば、図６の例に示すバックアップ情報１３ｄが記憶部１３に記憶されており、現在の曜日が月曜日で、現在の時刻が午前２時０分である場合には、取得部１４ａは、次のようにして閾値を計算する。すなわち、取得部１４ａは、バックアップ処理が開始されてから現在の時刻までの経過時間である２時間を、バックアップの予定時間である５時間で除した値に、１００を乗じて閾値４０％を算出する。
【００８７】
特定した仮想マシンのバックアップ処理の進捗度の中に、閾値以下の進捗度があると判定した場合には、第１の特定部１４ｂは、進捗度が閾値以下であるバックアップ処理の進捗加速度（％／ｓ＊ｓ）の中に、負の値の進捗加速度があるか否かを判定する。ここで、進捗加速度は、取得部１４ａにより算出される値である。取得部１４ａは、特定した仮想マシンのバックアップ処理の進捗度の中に、閾値以下の進捗度があると第１の特定部１４ｂにより判定されると、現在から過去５分間の進捗度の変化率を進捗速度（％／ｓ）として算出する。そして、取得部１４ａは、現在から過去５分間の進捗速度の変化率を進捗加速度（％／ｓ＊ｓ）として算出する。
【００８８】
進捗度が閾値以下であるバックアップ処理の進捗加速度の中に、負の値の進捗加速度があると判定した場合には、第１の特定部１４ｂは、次の処理を行う。すなわち、第１の特定部１４ｂは、所定値（例えば、９０％）を超える平均負荷が、回線２８ａの平均負荷、または、回線２８ｂの平均負荷であるか否かを判定する。
【００８９】
所定値（例えば９０％）を超える平均負荷が、回線２８ａの平均負荷、又は、回線２８ｂの平均負荷であると判定した場合には、第１の特定部１４ｂは次の処理を行う。すなわち、第１の特定部１４ｂは、対応関係テーブル１３ｂから、平均負荷が所定値を超えた回線に対応する仮想マシンを特定する。第１の特定部１４ｂは、特定した仮想マシンが１台である場合には、特定した仮想マシンを移動対象の仮想マシンとして特定する。一方、第１の特定部１４ｂは、特定した仮想マシンが複数台である場合には、負荷情報１３ｃを参照し、特定した複数台の仮想マシンの中から、平均負荷が所定値を超えた回線に対する平均負荷が最も高い仮想マシンを移動対象の仮想マシンとして特定する。例えば、回線２８ｂの平均負荷が所定値を超え、対応関係テーブル１３ｂから、名称が経路２である回線２８ｂに対応する、バックアッププログラムＢ，Ｄを実行する仮想マシン２１ｂ，２１ｄを特定した場合には、第１の特定部１４ｂは、次の処理を行う。すなわち、第１の特定部１４ｂは、図５に示す負荷情報１３ｃを参照し、仮想マシン２１ｂ，２１ｄの中から、平均負荷が所定値を超えた回線２８ｂに対する平均負荷が高い仮想マシン２１ｄを移動対象の仮想マシンとして特定する。ここで、仮想マシン２１ｂ，２１ｄの中から、仮想マシン２１ｄが特定された理由は、図５の負荷情報１３ｃが示すように、仮想マシン２１ｄによる回線２８ｂの平均負荷９５％のほうが、仮想マシン２１ｂによる回線２８ｂの平均負荷５％よりも高いからである。
【００９０】
一方、所定値（例えば９０％）を超える平均負荷が、回線２８ａの平均負荷、及び、回線２８ｂの平均負荷ではないと判定した場合には、第１の特定部１４ｂは次の処理を行う。すなわち、第１の特定部１４ｂは、平均負荷が所定値を超えた仮想マシンを移動対象の仮想マシンとして特定する。
【００９１】
第２の特定部１４ｃは、バックアップ処理の進捗の度合いに基づいて、次の処理を行う。すなわち、第２の特定部１４ｃは、複数の管理対象サーバ２２〜２４の中から、特定された移動対象の仮想マシンが移動した場合に、移動後の仮想マシンが実行するバックアップ処理が遅延しないという条件を満たす管理対象サーバを特定する。
【００９２】
第２の特定部１４ｃの一態様について説明する。例えば、第２の特定部１４ｃは、移動対象の仮想マシンが第１の特定部１４ｂにより特定されると、取得部１４ａにより計測されたバックアップ処理が開始されてから現在までの移動対象の仮想マシンのＣＰＵの使用量の平均値を算出する。そして、第２の特定部１４ｃは、算出した平均値をストレージ２７へ転送済みの移動対象の仮想マシンのシステム領域のデータのデータ量で除した第１の値を算出する。そして、第２の特定部１４ｃは、算出した第１の値にストレージ２７へ転送されていない移動対象の仮想マシンのシステム領域のデータのデータ量を乗じた第２の値を、次のような内容の値として算出する。すなわち、第２の特定部１４ｃは、第２の値を、移動対象の仮想マシンのバックアップ処理を規定の時間内に完了させるのに要する移動先の管理対象サーバのＣＰＵの使用量（ＧＨｚ）として算出する。
【００９３】
また、第２の特定部１４ｃは、移動対象の仮想マシンが第１の特定部１４ｂにより特定されると、取得部１４ａにより計測されたバックアップ処理が開始されてから現在までの移動対象の仮想マシンのメモリの使用量の平均値を算出する。そして、第２の特定部１４ｃは、算出した平均値をストレージ２７へ転送済みの移動対象の仮想マシンのシステム領域のデータのデータ量で除した第３の値を算出する。そして、第２の特定部１４ｃは、算出した第３の値にストレージ２７へ転送されていない移動対象の仮想マシンのシステム領域のデータのデータ量を乗じた第４の値を、次のような内容の値として算出する。すなわち、第２の特定部１４ｃは、第４の値を、移動対象の仮想マシンのバックアップ処理を規定の時間内に完了させるのに要する移動先の管理対象サーバのメモリの使用量（ＧＢ）として算出する。
【００９４】
また、第２の特定部１４ｃは、移動対象の仮想マシンが第１の特定部１４ｂにより特定されると、次の処理を行う。すなわち、第２の特定部１４ｃは、バックアップ処理が開始されてから現在までの移動対象の仮想マシンがバックアップ処理を実行する際に使用する回線に１秒間あたり流れるバックアップ対象のデータのデータ量（Ｇｂｐｓ）の平均値を算出する。なお、バックアップ処理が開始されてから現在までの移動対象の仮想マシンがバックアップ処理を実行する際に使用する回線に１秒間あたり流れるバックアップ対象のデータのデータ量は、取得部１４ａにより計測されている。そして、第２の特定部１４ｃは、算出した平均値をストレージ２７へ転送済みの移動対象の仮想マシンのシステム領域のデータのデータ量で除した第５の値を算出する。そして、第２の特定部１４ｃは、算出した第５の値にストレージ２７へ転送されていない移動対象の仮想マシンのシステム領域のデータのデータ量を乗じた第６の値を、次のような内容の値として算出する。すなわち、第２の特定部１４ｃは、第６の値を、移動対象の仮想マシンのバックアップ処理を規定の時間内に完了させるのに要する移動先の管理対象サーバに接続された回線の帯域（Ｇｂｐｓ）として算出する。
【００９５】
そして、第２の特定部１４ｃは、管理対象サーバ２２〜２４の中から、以下に説明する３つの条件を満たす管理対象サーバを検索する。１つ目の条件は、算出した移動先の管理対象サーバのＣＰＵの使用量（ＧＨｚ）以上の使用量が使用が可能なＣＰＵを有するという条件である。２つ目の条件は、算出した移動先の管理対象サーバのメモリの使用量（ＧＢ）以上の使用量が使用可能なメモリを有するという条件である。３つ目の条件は、算出した回線の帯域（Ｇｂｐｓ）以上の帯域が使用可能な回線に接続されているという条件である。検索の結果、３つの条件を満たす管理対象サーバが１台得られた場合には、第２の特定部１４ｃは、得られた管理対象サーバを移動対象の仮想マシンを移動させる管理対象サーバとして特定する。
【００９６】
また、検索の結果、３つの条件を満たす管理対象サーバが複数得られた場合には、第２の特定部１４ｃは、次の処理を行う。すなわち、第２の特定部１４ｃは、得られた複数の管理対象サーバの中から、ＣＰＵの空き使用量及びメモリの空き使用量が最も少ない管理対象サーバを移動対象の仮想マシンを移動させる管理対象サーバとして特定する。ここで、ＣＰＵの空き使用量及びメモリの空き使用量が最も少ない管理対象サーバを移動対象の仮想マシンを移動させる管理対象サーバとして特定する理由の一例について説明する。バックアップ処理に求められる要件は、規定の時間内で終了することであり、早く終了することではない。そのため、第２の特定部１４ｃは、規定の時間内でバックアップ処理が終了する管理対象サーバのうち、ＣＰＵの空き使用量及びメモリの空き使用量が最も少ない管理対象サーバのような、使用可能なリソース量が少ない管理対象サーバを特定する。これにより、そもそも管理対象サーバで実行されている仮想マシンの処理の性能が、バックアップ処理を実行する仮想マシンが移動されたことにより低下することを抑制することができる。
【００９７】
一方、検索の結果、３つの条件を満たす管理対象サーバが得られなかった場合には、第２の特定部１４ｃは、次の処理を行う。すなわち、第２の特定部１４ｃは、管理対象サーバ２２〜２４で動作する仮想マシン２２ａ，２２ｂ，２３ａ，２４ａを特定の管理対象サーバに移動させて、管理対象サーバ２２〜２４のいずれかの管理対象サーバのリソースの空きが大きくなるように制御する。そして、第２の特定部１４ｃは、再び、上記３つの条件を満たす管理対象サーバを検索する処理を行う。検索の結果、３つの条件を満たす管理対象サーバが１台得られた場合には、第２の特定部１４ｃは、得られた管理対象サーバを移動対象の仮想マシンを移動させる管理対象サーバとして特定する。また、検索の結果、３つの条件を満たす管理対象サーバが複数得られた場合には、第２の特定部１４ｃは、次の処理を行う。すなわち、第２の特定部１４ｃは、得られた複数の管理対象サーバの中から、ＣＰＵの空き使用量及びメモリの空き使用量が最も少ない管理対象サーバを移動対象の仮想マシンを移動させる管理対象サーバとして特定する。
【００９８】
移動制御部１４ｄは、回線２８ａ，２８ｂの少なくとも１つの使用帯域が増加したことを検知し、バックアップ処理の進捗の度合いに基づいて、使用帯域が増加したことが検知された回線を用いるバックアップ処理が遅延することを検知すると、次の処理を行う。すなわち、移動制御部１４ｄは、使用帯域が増加したことが検知された回線を用いてバックアップ処理を行う仮想マシンのいずれかを、バックアップサーバ２１から複数の管理対象サーバ２２〜２４のいずれかの管理対象サーバに移動する。
【００９９】
移動制御部１４ｄの一態様について説明する。例えば、移動制御部１４ｄは、第１の特定部１４ｂにより特定された移動対象の仮想マシンを、第２の特定部１４ｃにより特定された管理対象サーバに移動させるマイグレーション指示をＶＭホスト２１ｅに送信する。これにより、移動対象の仮想マシンが、動対象の仮想マシンを移動させる管理対象サーバに移動される。例えば、第１の特定部１４ｂにより仮想マシン２１ｄが移動対象の仮想マシンとして特定され、第２の特定部１４ｃにより管理対象サーバ２３が移動対象の仮想マシンを移動させる管理対象サーバとして特定された場合には、移動制御部１４ｄは、次の処理を行う。すなわち、移動制御部１４ｄは、仮想マシン２１ｄを管理対象サーバ２３に移動させるマイグレーション指示をＶＭホスト２１ｅに送信する。これにより、図８に示すように、仮想マシン２１ｄが、管理対象サーバ２３に移動される。そして、移動制御部１４ｄは、移動対象の仮想マシンが実行するバックアッププログラムの識別子に対して、移動対象の仮想マシンが移動された管理対象サーバに接続された回線の名称が対応付けられて登録されるように、対応関係テーブル１３ｂを更新する。
【０１００】
制御部１４は、ＣＰＵなどの回路である。
【０１０１】
［処理の流れ］
次に、本実施例に係る管理サーバ１０が実行する処理の流れについて説明する。図９は、実施例に係る制御処理の手順を示すフローチャートである。実施例に係る制御処理は、例えば、取得部１４ａが、バックアップ情報１３ｄを参照し、現在の時刻がバックアップ情報１３ｄに登録されたバックアップ処理を行う時間帯に含まれると判定した場合に実行される。
【０１０２】
図９に示すように、取得部１４ａは、負荷許容量テーブル１３ａから、バックアップサーバ２１及び管理対象サーバ２２〜２４の各サーバの各種のリソース（ＣＰＵ、メモリ、各サーバに接続された回線）の負荷の最大許容量を取得する（Ｓ１０１）。
【０１０３】
次に、取得部１４ａは、対応関係テーブル生成処理を実行する（Ｓ１０２）。対応関係テーブル生成処理について説明する。図１０は、実施例に係る対応関係テーブル生成処理の手順を示すフローチャートである。図１０に示すように、取得部１４ａは、バックアップサーバ２１に接続された回線２８ａ，２８ｂの最大帯域の合計を算出する（Ｓ２０１）。
【０１０４】
そして、取得部１４ａは、算出した帯域の合計に対する各回線２８ａ，２８ｂの帯域の割合を算出する（Ｓ２０２）。そして、取得部１４ａは、バックアップ処理を実行する仮想マシンを特定する（Ｓ２０３）。
【０１０５】
そして、取得部１４ａは、特定した仮想マシンの中に、未選択の仮想マシンがあるか否かを判定する（Ｓ２０４）。未選択の仮想マシンがあると判定した場合（Ｓ２０４；Ｙｅｓ）には、取得部１４ａは、未選択の仮想マシンを１つ選択する（Ｓ２０５）。
【０１０６】
そして、取得部１４ａは、算出した割合に応じて、選択した仮想マシンを回線２８ａ，２８ｂに対応付け（Ｓ２０６）、Ｓ２０４に戻る。
【０１０７】
一方、未選択の仮想マシンがないと判定した場合（Ｓ２０４；Ｎｏ）には、取得部１４ａは、対応付けられた仮想マシンと回線とを対応付けて対応関係テーブル１３ｂに登録し（Ｓ２０７）、処理結果を制御部１４の内部メモリに格納し、リターンする。
【０１０８】
図９の説明に戻り、取得部１４ａは、仮想マシン２１ａ〜２１ｄがバックアップ処理を開始するように制御する（Ｓ１０３）。そして、取得部１４ａは、各仮想マシン２１ａ〜２１ｄが各バックアッププログラムＡ〜Ｄを実行する際の各種のリソースの負荷の計測を開始し、負荷情報１３ｃにおける各種のリソースの負荷の更新を開始する（Ｓ１０４）。
【０１０９】
そして、第１の特定部１４ｂは、負荷情報１３ｃに登録された仮想マシン２１ａ〜２１ｄのそれぞれのＣＰＵの平均負荷のうち、所定値（例えば９０％）を超える平均負荷があるか否かを判定する。また、第１の特定部１４ｂは、負荷情報１３ｃに登録された仮想マシン２１ａ〜２１ｄのそれぞれのメモリの平均負荷のうち、所定値、例えば、９０％を超える平均負荷があるか否かを判定する。これに加えて、第１の特定部１４ｂは、負荷情報１３ｃに登録された仮想マシン２１ａによる回線２８ａの平均負荷と仮想マシン２１ｃによる回線２８ａの平均負荷との合計を回線２８ａの平均負荷として算出する。また、第１の特定部１４ｂは、負荷情報１３ｃに登録された仮想マシン２１ｂによる回線２８ｂの平均負荷と仮想マシン２１ｄによる回線２８ｂの平均負荷との合計を回線２８ｂの平均負荷として算出する。そして、第１の特定部１４ｂは、回線２８ａの平均負荷、及び、回線２８ｂの平均負荷の中に、所定値、例えば、９０％を超える平均負荷があるか否かを判定する（Ｓ１０５）。所定値（例えば、９０％）を超える平均負荷がないと判定した場合（Ｓ１０５；Ｎｏ）には、第１の特定部１４ｂは、後述のＳ１２１に進む。
【０１１０】
一方、所定値（例えば、９０％）を超える平均負荷があると判定した場合（Ｓ１０５；Ｙｅｓ）には、第１の特定部１４ｂは、次の処理を行う。すなわち、第１の特定部１４ｂは、仮想マシン２１ａ〜２１ｄの中から、平均負荷が所定値を超えた仮想マシンを特定し、特定した仮想マシンのバックアップ処理の進捗度の中に、閾値以下の進捗度があるか否かを判定する（Ｓ１０６）。特定した仮想マシンのバックアップ処理の進捗度の中に、閾値以下の進捗度がないと判定した場合（Ｓ１０６；Ｎｏ）には、第１の特定部１４ｂは、後述のＳ１２１に進む。
【０１１１】
一方、特定した仮想マシンのバックアップ処理の進捗度の中に、閾値以下の進捗度があると判定した場合（Ｓ１０６；Ｙｅｓ）には、第１の特定部１４ｂは、次の処理を行う。すなわち、第１の特定部１４ｂは、進捗度が閾値以下であるバックアップ処理の進捗加速度（％／ｓ＊ｓ）の中に、負の値の進捗加速度があるか否かを判定する（Ｓ１０７）。負の値の進捗加速度がないと判定した場合（Ｓ１０７；Ｎｏ）には、第１の特定部１４ｂは、後述のＳ１２１に進む。
【０１１２】
一方、負の値の進捗加速度があると判定した場合（Ｓ１０７；Ｙｅｓ）には、第１の特定部１４ｂは、次の処理を行う。すなわち、第１の特定部１４ｂは、所定値（例えば９０％）を超える平均負荷が、回線２８ａの平均負荷、または、回線２８ｂの平均負荷であるか否かを判定する（Ｓ１０８）。
【０１１３】
所定値（例えば９０％）を超える平均負荷が、回線２８ａの平均負荷、又は、回線２８ｂの平均負荷であると判定した場合（Ｓ１０８；Ｙｅｓ）には、第１の特定部１４ｂは、次の処理を行う。すなわち、第１の特定部１４ｂは、対応関係テーブル１３ｂから、平均負荷が所定値を超えた回線に対応する仮想マシンを特定する（Ｓ１０９）。
【０１１４】
そして、第１の特定部１４ｂは、特定した仮想マシンが１台である場合には、特定した仮想マシンを移動対象の仮想マシンとして特定する。また、第１の特定部１４ｂは、特定した仮想マシンが複数台である場合には、負荷情報１３ｃを参照し、特定した複数台の仮想マシンの中から、平均負荷が所定値を超えた回線に対する平均負荷が最も高い仮想マシンを移動対象の仮想マシンとして特定する（Ｓ１１０）。
【０１１５】
一方、所定値（例えば９０％）を超える平均負荷が、回線２８ａの平均負荷、及び、回線２８ｂの平均負荷ではないと判定した場合（Ｓ１０８；Ｎｏ）には、第１の特定部１４ｂは次の処理を行う。すなわち、第１の特定部１４ｂは、平均負荷が所定値を超えた仮想マシンを移動対象の仮想マシンとして特定する（Ｓ１１１）。
【０１１６】
そして、第２の特定部１４ｃは、移動対象の仮想マシンのバックアップ処理を規定の時間内に完了させるのに要する移動先の管理対象サーバのＣＰＵの使用量（ＧＨｚ）を算出する。また、第２の特定部１４ｃは、移動対象の仮想マシンのバックアップ処理を規定の時間内に完了させるのに要する移動先の管理対象サーバのメモリの使用量（ＧＢ）を算出する。また、第２の特定部１４ｃは、移動対象の仮想マシンのバックアップ処理を規定の時間内に完了させるのに要する移動先の管理対象サーバに接続された回線の帯域（Ｇｂｐｓ）を算出する（Ｓ１１２）。
【０１１７】
そして、第２の特定部１４ｃは、管理対象サーバ２２〜２４の中から、上述した３つの条件を満たす管理対象サーバを検索する（Ｓ１１３）。そして、第２の特定部１４ｃは、検索の結果、３つの条件を満たす管理対象サーバが得られたか否かを判定する（Ｓ１１４）。３つの条件を満たす管理対象サーバが得られたと判定した場合（Ｓ１１４；Ｙｅｓ）には、第２の特定部１４ｃは、得られた管理対象サーバの台数が、複数であるか否かを判定する（Ｓ１１５）。得られた管理対象のサーバの台数が１台である場合（Ｓ１１５；Ｎｏ）には、第２の特定部１４ｃは、得られた管理対象サーバを移動対象の仮想マシンを移動させる管理対象サーバとして特定し（Ｓ１１６）、後述のＳ１１９へ進む。
【０１１８】
一方、得られた管理対象サーバの台数が複数であると判定した場合（Ｓ１１５；Ｙｅｓ）には、第２の特定部１４ｃは、次の処理を行う。すなわち、第２の特定部１４ｃは、得られた複数の管理対象サーバの中から、ＣＰＵの空き使用量及びメモリの空き使用量が最も少ない管理対象サーバを移動対象の仮想マシンを移動させる管理対象サーバとして特定し（Ｓ１１７）、後述のＳ１１９へ進む。
【０１１９】
また、検索の結果、３つの条件を満たす管理対象サーバが得られなかったと判定した場合（Ｓ１１４；Ｎｏ）には、第２の特定部１４ｃは、次の処理を行う。すなわち、第２の特定部１４ｃは、仮想マシン２２ａ，２２ｂ，２３ａ，２４ａを特定の管理対象サーバに移動させて、管理対象サーバ２２〜２４のいずれかの管理対象サーバのリソースの空きが大きくなるように制御し（Ｓ１１８）、Ｓ１１３に戻る。
【０１２０】
そして、移動制御部１４ｄは、第１の特定部１４ｂにより特定された移動対象の仮想マシンを、第２の特定部１４ｃにより特定された管理対象サーバに移動させるマイグレーション指示をＶＭホスト２１ｅに送信する（Ｓ１１９）。そして、移動制御部１４ｄは、移動対象の仮想マシンが実行するバックアッププログラムの識別子に対して、移動対象の仮想マシンが移動された管理対象サーバに接続された回線の名称が対応付けられて登録されるように、次の処理を行う。すなわち、移動制御部１４ｄは、対応関係テーブル１３ｂを更新する（Ｓ１２０）。
【０１２１】
そして、移動制御部１４ｄは、バックアップ処理が実行中であるか否かを判定する（Ｓ１２１）。バックアップ処理が実行中であると判定した場合（Ｓ１２１；Ｙｅｓ）には、移動制御部１４ｄは、Ｓ１０５に戻る。一方、バックアップ処理が実行中でないと判定した場合（Ｓ１２１；Ｎｏ）には、移動制御部１４ｄは、制御処理を終了する。
【０１２２】
上述してきたように、本実施例に係る管理サーバ１０は、回線２８ａ，２８ｂそれぞれの帯域負荷と、複数の管理対象サーバ２２〜２４それぞれのリソース使用量と、仮想マシン２１ａ〜２１ｄそれぞれが実行するバックアップ処理の進捗の度合いとを取得する。そして、管理サーバ１０は、回線２８ａ，２８ｂの少なくとも１つの使用帯域が増加したことを検知し、かつ、進捗の度合いに基づいて、使用帯域が増加したことが検知された回線を用いるバックアップ処理が遅延することを検知すると、次の処理を行う。すなわち、管理サーバ１０は、使用帯域が増加したことが検知された回線を用いてバックアップ処理を行う仮想マシン２１ａ〜２１ｄのいずれかを、バックアップサーバ２１から複数の管理対象サーバ２２〜２４のいずれかに移動する。そして、移動対象の仮想マシンの移動先の管理対象サーバは、移動対象の仮想マシンが移動した場合に、移動する仮想マシンが実行するバックアップ処理が遅延しないことが進捗の度合いに基づいて予測されることを条件として決定される。したがって、管理サーバ１０によれば、経路がバックアップ処理の遅延の要因となっている場合に、バックアップ処理の遅延を抑制することができる。
【０１２３】
また、管理サーバ１０は、上述した条件を満たす管理対象サーバの中で空きリソースが最小となる管理対象サーバを、移動対象の仮想マシンの移動先の管理対象サーバとして特定する。これにより、そもそも管理対象サーバで実行されている仮想マシンの処理の性能が、バックアップ処理を実行する仮想マシンが移動されたことにより低下することを抑制することができる。
【０１２４】
また、管理サーバ１０は、使用帯域が増加したことが検知された回線を用いるバックアップ処理の進捗の度合いを示す進捗度に基づいた進捗加速度に基づいて、バックアップ処理が遅延傾向であることを検知すると、次の処理を行う。すなわち、管理サーバ１０は、対応関係テーブル１３ｂの登録内容に基づいて、仮想マシン２１ａ〜２１ｄの中から、バックアップ処理の進捗の度合いが遅延傾向である仮想マシンを移動対象の仮想マシンとして特定する。したがって、管理サーバ１０は、バックアップ処理の進捗の度合いが遅延傾向であるかどうかを示す指標である進捗加速率を加味して移動対象の仮想マシンを特定できるので、遅延傾向を加味して移動対象の仮想マシンを特定することができる。
【０１２５】
さて、これまで開示のシステム、開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。
【０１２６】
例えば、バックアップサーバ２１と複数の管理対象サーバ２２〜２４のそれぞれとが冗長化された複数の回線で接続され、各管理対象サーバ上で動作する仮想マシンのそれぞれが、システム領域のデータをバックアップサーバ２１に送信するようにしてもよい。この場合、バックアップサーバ２１上で動作するバックアップ処理を行う仮想マシンは、各管理対象サーバ上で動作する仮想マシンから送信されたシステム領域のデータを用いて、上述した内容と同様の方法でバックアップ処理を行うことができる。
【０１２７】
また、各実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともできる。また、各実施例において説明した各処理のうち、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。
【０１２８】
また、各種の負荷や使用状況などに応じて、各実施例において説明した各処理の各ステップでの処理を任意に細かくわけたり、あるいはまとめたりすることができる。また、ステップを省略することもできる。
【０１２９】
また、各種の負荷や使用状況などに応じて、各実施例において説明した各処理の各ステップでの処理の順番を変更できる。
【０１３０】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的状態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【０１３１】
［制御プログラム］
また、上記の実施例で説明した管理サーバ１０の各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、図１１を用いて、上記の実施例で説明した管理サーバ１０と同様の機能を有する制御プログラムを実行するコンピュータの一例を説明する。図１１は、制御プログラムを実行するコンピュータを示す図である。
【０１３２】
図１１に示すように、コンピュータ３００は、ＣＰＵ３１０、ＲＯＭ３２０、ＨＤＤ３３０、ＲＡＭ３４０、表示装置３５０、通信装置３６０を有する。これら各機器３１０〜３６０は、バス３７０を介して接続されている。
【０１３３】
表示装置３５０は、例えば、液晶ディスプレイなどである。表示装置３５０は、表示部１１に対応する。通信装置３６０は、ネットワークカードなどである。通信装置３６０は、通信部１２に対応する。
【０１３４】
ＲＯＭ３２０には、ＯＳ（Operating  System）などの基本プログラムが記憶されている。また、ＨＤＤ３３０には、上記の実施例で示す取得部１４ａ、第１の特定部１４ｂ、第２の特定部１４ｃ、移動制御部１４ｄと同様の機能を発揮する制御プログラム３３０ａが予め記憶される。また、ＨＤＤ３３０には、記憶部１３に記憶された各種のデータが設けられる。
【０１３５】
そして、ＣＰＵ３１０が、制御プログラム３３０ａをＨＤＤ３３０から読み出して実行する。
【０１３６】
そして、ＣＰＵ３１０は、ＨＤＤ３３０から各種のデータを読み出してＲＡＭ３４０に格納する。さらに、ＣＰＵ３１０は、ＲＡＭ３４０に格納された各種のデータを用いて、制御プログラム３３０ａを実行する。なお、ＲＡＭ３４０に格納されるデータは、常に全てのデータがＲＡＭ３４０に格納されなくともよい。処理に用いられるデータがＲＡＭ３４０に格納されれば良い。
【０１３７】
なお、上記した制御プログラム３３０ａについては、必ずしも最初からＨＤＤ３３０に記憶させなくともよい。
【０１３８】
例えば、コンピュータ３００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」にプログラムを記憶させておく。そして、コンピュータ３００がこれらからプログラムを読み出して実行するようにしてもよい。
【０１３９】
さらには、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ３００に接続される「他のコンピュータ（またはサーバ）」などにプログラムを記憶させておく。そして、コンピュータ３００がこれらからプログラムを読み出して実行するようにしてもよい。
【符号の説明】
【０１４０】
１０    管理サーバ
１３    記憶部
１３ａ  負荷許容量テーブル
１３ｂ  対応関係テーブル
１３ｃ  負荷情報
１３ｄ  バックアップ情報
１３ｅ  サイズ情報
１４    制御部
１４ａ  取得部
１４ｂ  第１の特定部
１４ｃ  第２の特定部
１４ｄ  移動制御部
【図１】
2015108899.tif 000003
【図２】
2015108899.tif 000004
【図３】
2015108899.tif 000005
【図４】
2015108899.tif 000006
【図５】
2015108899.tif 000007
【図６】
2015108899.tif 000008
【図７】
2015108899.tif 000009
【図８】
2015108899.tif 000010
【図９】
2015108899.tif 000011
【図１０】
2015108899.tif 000012
【図１１】
2015108899.tif 000013