(57)【要約】【課題】様々の割り付け条件を考慮しつつ、物理サーバが持っているリソースを仮想サーバ上に効率よく割り振る。【解決手段】負荷割り付け装置６は、仮想サーバ２ａ、２ｂ、・・・、２ｍ、３ａ、３ｂ、・・・、３ｍ、４ａ、４ｂ、・・・、４ｍ、５ａ、５ｂ、・・・、５ｍ上で稼動されるシステムの負荷状況を複数の物理サーバ１ａ、１ｂ・・・、１ｎから収集し、仮想サーバ２ａ、２ｂ、・・・、２ｍ、３ａ、３ｂ、・・・、３ｍ、４ａ、４ｂ、・・・、４ｍ、５ａ、５ｂ、・・・、５ｍで稼動されるシステムの負荷容量が遺伝子配列で表現された遺伝的アルゴリズムに従って、物理サーバ１ａ、１ｂ・・・、１ｎにかかる負荷を割り付け、負荷分散装置７は、負荷割り付け装置６にて算出された負荷を物理サーバ１ａ、１ｂ・・・、１ｎに分散させる。【選択図】      図１
2008269250.tif 000002
【特許請求の範囲】
【請求項１】
仮想サーバ上で稼動されるシステムの負荷状況を複数の物理サーバから収集する負荷状況収集手段と、
前記仮想サーバで稼動されるシステムの負荷容量が遺伝子配列で表現された遺伝的アルゴリズムに従って、前記物理サーバにかかる負荷を割り付ける負荷割付手段と、
前記負荷割付手段にて割り付けられた負荷を前記物理サーバに分散する負荷分散手段とを備えることを特徴とする負荷分散装置。
【請求項２】
前記負荷割付手段は、前記物理サーバにかかる負荷が前記物理サーバの処理能力の所定の範囲内にそれぞれ収まるように負荷を割り付けることを特徴とする請求項１記載の負荷分散装置。
【請求項３】
前記負荷割付手段は、現在稼動されている物理サーバにかかる負荷が上限値を超えている場合、前記物理サーバにかかる負荷が上限値を超えないように、前記物理サーバにかかる負荷を割り付け直すことを特徴とする請求項１記載の負荷分散装置。
【請求項４】
前記負荷割付手段は、前記仮想サーバ上で前記システムが稼動される物理サーバの停止予定がある場合、前記停止予定がある物理サーバ上で稼動されるシステムの負荷を他の物理サーバに割り付け直すことを特徴とする請求項１記載の負荷分散装置。
【請求項５】
前記負荷割付手段は、
プロセッサの処理能力を分割した基準単位を１つの遺伝子として、前記仮想サーバで稼動されるシステムの負荷容量が前記遺伝子の配列で表現された固体を生成し、
遺伝的アルゴリズムに従って淘汰および交叉を繰り返しながら得られた固体の遺伝子を、割り付け対象となる物理サーバに設定された負荷容量の範囲内で前記物理サーバに順次割り付けることを特徴とする請求項１から４のいずれか１項記載の負荷分散装置。
【請求項６】
複数の物理サーバと、
前記物理サーバ上でそれぞれ起動される複数の仮想サーバと、
前記仮想サーバで稼動されるシステムの負荷容量が遺伝子配列で表現された遺伝的アルゴリズムに従って、前記物理サーバごとに割り付けられる負荷を算出し、前記算出した負荷を前記物理サーバに分散する負荷分散装置とを備えることを特徴とする仮想サーバ管理システム。
【請求項７】
仮想サーバ上で稼動されるシステムの負荷状況を複数の物理サーバから収集するステップと、
前記仮想サーバで稼動されるシステムの負荷容量が遺伝子配列で表現された遺伝的アルゴリズムに従って、前記物理サーバごとに割り付けられる負荷を算出するステップと、
前記物理サーバごとに割り付けられた負荷を前記物理サーバに分散するステップとを備えることを特徴とする負荷分散方法。
【請求項８】
仮想サーバ上で稼動されるシステムの負荷状況を複数の物理サーバから収集するステップと、
前記仮想サーバで稼動されるシステムの負荷容量が遺伝子配列で表現された遺伝的アルゴリズムに従って、前記物理サーバごとに割り付けられる負荷を算出するステップと、
前記物理サーバごとに割り付けられた負荷を前記物理サーバに分散するステップとをコンピュータに実行させることを特徴とする負荷分散プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は負荷分散装置、仮想サーバ管理システム、負荷分散方法および負荷分散プログラムに関し、特に、物理サーバ上で稼働される仮想サーバの稼働状況に基づいて物理サーバの負荷分散を行う方法に適用して好適なものである。
【背景技術】
【０００２】
複数台の物理サーバが必要だった業務を１台の物理サーバ上で実行できるようにするために、１台の物理サーバ上で複数台分の仮想サーバを動作させ、各仮想サーバ上でアプリケーションを使用できるようにするサーバ仮想化技術が普及してきている。また、このサーバ仮想化技術では、１台の物理サーバ上で複数台分の仮想サーバを動作させることができるため、リソース要求の変化に柔軟に対応しながら、１台または複数台の物理サーバが持っているリソースを仮想サーバ上で効率よく割る振ることができる。
【０００３】
また、例えば、特許文献１には、クライアントからの要求量の多寡に応じてサーバ台数を増減するＣｏＤシステムにおいて、クライアントとＣｏＤシステムとの間に中継制御装置を設け、受け付けた処理要求をいったん蓄積するとともに、現在の処理能力を超える要求がＣｏＤシステムに流入しないよう制御することで、要求量の突発増に伴うシステムの過負荷、ひいてはそれに伴う応答時間の悪化、要求の破棄、システムの不安定化などを回避する方法が開示されている。
【０００４】
また、例えば、特許文献２には、要求量予測値が示す量のトラフィックが当該ネットワークサービスに到着した場合に、利用者端末に対する応答時間の平均が運用管理者が予め定めた応答閾値以下となるように、当該ネットワークサービスに割り当てられるサーバの量を制御することで、データセンタ内のサーバの各ネットワークサービスへの配分を負荷分散装置に対して人手によらずにリアルタイムに自動的に行う方法が開示されている。
【特許文献１】特開２００５−２５０５４８号公報
【特許文献２】ＷＯ２００４／０９２９７１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来のサーバ仮想化技術では、リソース要求を考慮しながら物理サーバが持っているリソースを仮想サーバ上で割り振ることはできるが、物理サーバの処理能力や消費電力、物理サーバの割り付け台数や異常時の縮退容量などの様々の条件を考慮しながら、物理サーバが持っているリソースを仮想サーバ上に効率よく割り振ることができないという問題があった。
そこで、本発明の目的は、様々の割り付け条件を考慮しつつ、物理サーバが持っているリソースを仮想サーバ上に効率よく割り振ることが可能な負荷分散装置、仮想サーバ管理システム、負荷分散方法および負荷分散プログラムを提供することである。
【課題を解決するための手段】
【０００６】
上述した課題を解決するために、請求項１記載の負荷分散装置によれば、仮想サーバ上で稼動されるシステムの負荷状況を複数の物理サーバから収集する負荷状況収集手段と、前記仮想サーバで稼動されるシステムの負荷容量が遺伝子配列で表現された遺伝的アルゴリズムに従って、前記物理サーバにかかる負荷を割り付ける負荷割付手段とを備えることを特徴とする。
また、請求項２記載の負荷分散装置によれば、前記負荷割付手段は、前記物理サーバにかかる負荷が前記物理サーバの処理能力の所定の範囲内にそれぞれ収まるように負荷を割り付けることを特徴とする。
【０００７】
また、請求項３記載の負荷分散装置によれば、前記負荷割付手段は、現在稼動されている物理サーバにかかる負荷が上限値を超えている場合、前記物理サーバにかかる負荷が上限値を超えないように、前記物理サーバにかかる負荷を割り付け直すことを特徴とする。
また、請求項４記載の負荷分散装置によれば、前記負荷割付手段は、前記仮想サーバ上で前記システムが稼動される物理サーバの停止予定がある場合、前記停止予定がある物理サーバ上で稼動されるシステムの負荷を他の物理サーバに割り付け直すことを特徴とする。
【０００８】
また、請求項５記載の負荷分散装置によれば、前記負荷割付手段は、プロセッサの処理能力を分割した基準単位を１つの遺伝子として、前記仮想サーバで稼動されるシステムの負荷容量が前記遺伝子の配列で表現された固体を生成し、遺伝的アルゴリズムに従って淘汰および交叉を繰り返しながら得られた固体の遺伝子を、割り付け対象となる物理サーバに設定された負荷容量の範囲内で前記物理サーバに順次割り付けることを特徴とする。
【０００９】
また、請求項６記載の仮想サーバ管理システムによれば、複数の物理サーバと、前記物理サーバ上でそれぞれ起動される複数の仮想サーバと、前記仮想サーバで稼動されるシステムの負荷容量が遺伝子配列で表現された遺伝的アルゴリズムに従って、前記物理サーバごとに割り付けられる負荷を算出し、前記算出した負荷を前記物理サーバに分散する負荷分散装置とを備えることを特徴とする。
【００１０】
また、請求項７記載の負荷分散方法によれば、仮想サーバ上で稼動されるシステムの負荷状況を複数の物理サーバから収集するステップと、前記仮想サーバで稼動されるシステムの負荷容量が遺伝子配列で表現された遺伝的アルゴリズムに従って、前記物理サーバごとに割り付けられる負荷を算出するステップと、前記物理サーバごとに割り付けられた負荷を前記物理サーバに分散するステップとを備えることを特徴とする。
【００１１】
また、請求項８記載の負荷分散プログラムによれば、仮想サーバ上で稼動されるシステムの負荷状況を複数の物理サーバから収集するステップと、前記仮想サーバで稼動されるシステムの負荷容量が遺伝子配列で表現された遺伝的アルゴリズムに従って、前記物理サーバごとに割り付けられる負荷を算出するステップと、前記物理サーバごとに割り付けられた負荷を前記物理サーバに分散するステップとをコンピュータに実行させることを特徴とする。
【発明の効果】
【００１２】
以上説明したように、本発明によれば、遺伝的アルゴリズムに従って、仮想サーバで稼動されるシステムに割り付けられる負荷を所定の割り付け条件を満たすように物理サーバごとに算出することができ、様々の割り付け条件を考慮しつつ、物理サーバが持っているリソースを仮想サーバ上に効率よく割り振ることが可能となる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施形態に係る負荷分散装置について図面を参照しながら説明する。
図１は、本発明の第１実施形態に係る負荷分散装置が適用される仮想サーバ管理システムの概略構成を示すブロック図である。
図１において、仮想サーバ管理システムには、ｎ（ｎは２以上の整数）台の物理サーバ１ａ、１ｂ・・・、１ｎが設けられている。そして、物理サーバ１ａは、ｍ（ｍは２以上の整数）台の仮想サーバ２ａ、２ｂ、・・・、２ｍを起動できるように構成され、物理サーバ１ｂは、ｍ台の仮想サーバ３ａ、３ｂ、・・・、３ｍを起動できるように構成され、物理サーバ１ｃは、ｍ台の仮想サーバ４ａ、４ｂ、・・・、４ｍを起動できるように構成され、物理サーバ１ｎはｍ台の仮想サーバ５ａ、５ｂ、・・・、５ｍを起動できるように構成されている。
【００１４】
なお、物理サーバとは、ハードウェアによってそれぞれ１台のサーバとして動作するように構成されたものをいい、仮想サーバとは、シフトウェアによってそれぞれ１台のサーバとして動作するように物理サーバ上に構成されたものをいう。そして、仮想サーバ上では、Ｗｉｎｄｏｗｓ（登録商標）などのオペレーティングシステムを個別に立ち上げることができる。このため、物理サーバ上に複数の仮想サーバを搭載することで、１台の物理サーバ上に複数のオペレーティングシステムを個別に立ち上げることができる。
そして、１台の物理サーバ上で複数台の仮想サーバを起動できるように構成する場合、例えば、サーバ仮想化ソフトを物理サーバ上にインストールすることにより実現することができる。
【００１５】
また、仮想サーバ管理システムには、物理サーバ１ａ、１ｂ・・・、１ｎにかかる負荷を仮想サーバ２ａ、２ｂ、・・・、２ｍ、３ａ、３ｂ、・・・、３ｍ、４ａ、４ｂ、・・・、４ｍ、５ａ、５ｂ、・・・、５ｍに分散する負荷分散装置６が設けられている。そして、負荷分散装置６には、仮想サーバ２ａ、２ｂ、・・・、２ｍ、３ａ、３ｂ、・・・、３ｍ、４ａ、４ｂ、・・・、４ｍ、５ａ、５ｂ、・・・、５ｍ上で稼動されるシステムの負荷状況を複数の物理サーバ１ａ、１ｂ・・・、１ｎから収集する負荷状況収集手段７、仮想サーバ２ａ、２ｂ、・・・、２ｍ、３ａ、３ｂ、・・・、３ｍ、４ａ、４ｂ、・・・、４ｍ、５ａ、５ｂ、・・・、５ｍで稼動されるシステムの負荷容量が遺伝子配列で表現された遺伝的アルゴリズムに従って、物理サーバ１ａ、１ｂ・・・、１ｎごとに割り付けられる負荷を算出する負荷割付手段８および負荷割付手段８にて算出された負荷を物理サーバ１ａ、１ｂ・・・、１ｎに分散する負荷分散手段９が設けられている。
【００１６】
なお、ここで言う仮想サーバとは、ｗｅｂサーバ上で動作するアプリケーションであってもよいし、業務向けのシステムであってもよい。
そして、負荷状況収集手段７は、仮想サーバ２ａ、２ｂ、・・・、２ｍ、３ａ、３ｂ、・・・、３ｍ、４ａ、４ｂ、・・・、４ｍ、５ａ、５ｂ、・・・、５ｍ上で稼動されるシステムの負荷状況を複数の物理サーバ１ａ、１ｂ・・・、１ｎから収集し、その負荷状況を負荷割付手段８に通知する。そして、負荷割付手段８は、仮想サーバ２ａ、２ｂ、・・・、２ｍ、３ａ、３ｂ、・・・、３ｍ、４ａ、４ｂ、・・・、４ｍ、５ａ、５ｂ、・・・、５ｍで稼動されるシステムの負荷容量が遺伝子配列で表現された遺伝的アルゴリズムに従って、物理サーバ１ａ、１ｂ・・・、１ｎにかかる負荷を割り付け、その割り付け結果を負荷分散手段９に通知する。そして、負荷分散手段９は、負荷割付手段８にて割り付けられた負荷を物理サーバ１ａ、１ｂ・・・、１ｎに分散することができる。
【００１７】
すなわち、物理サーバ１ａ、１ｂ・・・、１ｎにかかる負荷を割り付ける場合、負荷割付手段８は、プロセッサの処理能力を分割した基準単位を１つの遺伝子として、仮想サーバ２ａ、２ｂ、・・・、２ｍ、３ａ、３ｂ、・・・、３ｍ、４ａ、４ｂ、・・・、４ｍ、５ａ、５ｂ、・・・、５ｍで稼動されるシステムの負荷容量が遺伝子の配列で表現された固体を生成することができる。
そして、遺伝的アルゴリズムに従って固体の淘汰および交叉を繰り返し、その時に得られた固体の遺伝子を、割り付け対象となる物理サーバ１ａ、１ｂ・・・、１ｎに設定された負荷容量の範囲内で物理サーバ１ａ、１ｂ・・・、１ｎに順次割り付けることができる。
【００１８】
そして、物理サーバ１ａ、１ｂ・・・、１ｎに固体の遺伝子が割り付けられると、それらの物理サーバ１ａ、１ｂ・・・、１ｎに割り付けられた固体の遺伝子に基づいて、仮想サーバ２ａ、２ｂ、・・・、２ｍ、３ａ、３ｂ、・・・、３ｍ、４ａ、４ｂ、・・・、４ｍ、５ａ、５ｂ、・・・、５ｍで稼動されるシステムに割り付けられる負荷を物理サーバ１ａ、１ｂ・・・、１ｎごとに算出することができる。
そして、物理サーバ１ａ、１ｂ・・・、１ｎごとにシステムに割り付けられる負荷が所定の割り付け条件を満たすようになるまで、遺伝的アルゴリズムに従って固体の淘汰および交叉を繰り返すことができる。
【００１９】
そして、物理サーバ１ａ、１ｂ・・・、１ｎにかかる負荷が負荷割付手段８にて割り付けられると、負荷分散手段９は、負荷割付手段８にて算出された負荷を物理サーバ１ａ、１ｂ・・・、１ｎに分散することができる。そして、物理サーバ１ａ、１ｂ・・・、１ｎは、負荷割付手段８にて算出された負荷に従って、仮想サーバ２ａ、２ｂ、・・・、２ｍ、３ａ、３ｂ、・・・、３ｍ、４ａ、４ｂ、・・・、４ｍ、５ａ、５ｂ、・・・、５ｍ上でシステムを稼動させることができる。
なお、物理サーバ１ａ、１ｂ・・・、１ｎにかかる負荷を割り付ける条件としては、例えば、物理サーバ１ａ、１ｂ・・・、１ｎにかかる負荷が物理サーバ１ａ、１ｂ・・・、１ｎの処理能力の所定の範囲内にそれぞれ収まるように負荷を割り付けることができる。
【００２０】
あるいは、物理サーバ１ａ、１ｂ・・・、１ｎが稼動されている状態で、例えば、物理サーバ１ａにかかる負荷が上限値を超えている場合、物理サーバ１ａにかかる負荷が上限値を超えないように、物理サーバ１ａ、１ｂ・・・、１ｎにかかる負荷を割り付け直すことができる。
あるいは、例えば、仮想サーバ２ａ、２ｂ、・・・、２ｍ上でシステムが稼動される物理サーバ１ａの停止予定がある場合、その物理サーバ１ａ上で稼動されるシステムの負荷を他の物理サーバ１ｂ・・・、１ｎに割り付け直すことができる。
【００２１】
これにより、遺伝的アルゴリズムに従って、仮想サーバ２ａ、２ｂ、・・・、２ｍ、３ａ、３ｂ、・・・、３ｍ、４ａ、４ｂ、・・・、４ｍ、５ａ、５ｂ、・・・、５ｍで稼動されるシステムに割り付けられる負荷を所定の割り付け条件を満たすように物理サーバ１ａ、１ｂ・・・、１ｎごとに算出することができ、様々の割り付け条件を考慮しつつ、物理サーバ１ａ、１ｂ・・・、１ｎが持っているリソースを仮想サーバ２ａ、２ｂ、・・・、２ｍ、３ａ、３ｂ、・・・、３ｍ、４ａ、４ｂ、・・・、４ｍ、５ａ、５ｂ、・・・、５ｍ上に効率よく割り振ることが可能となる。
【００２２】
図２は、本発明の一実施形態に係る仮想サーバ上で動作されるシステムの物理サーバ上への割り付け方法の一例を示す図である。
図２において、例えば、Ａ社のａシステムが図１の物理サーバ１ａ上で稼動され、Ｂ社のｂシステムが図１の物理サーバ１ｂ上で稼動され、Ｃ社のｃシステムが図１の物理サーバ１ｃ上で稼動されているものとする。
【００２３】
そして、図１の負荷割り付け装置６は、Ａ社のａシステム、Ｂ社のｂシステムおよびＣ社のｃシステムの物理サーバ１ａ、１ｂ、１ｃ上での負荷容量を時刻単位または日単位で収集することができる。そして、物理サーバ１ａ上におけるＡ社のａシステムの負荷容量が月の前半で高く、物理サーバ１ｂ上におけるＢ社のｂシステムの負荷容量が月の中間で高く、物理サーバ１ｃ上におけるＣ社のｃシステムの負荷容量が月の後半で高いものとすると、負荷割り付け装置６は、Ａ社のａシステム、Ｂ社のｂシステムおよびＣ社のｃシステムの負荷容量を１台の物理サーバ１ａに割り付け、Ａ社のａシステム、Ｂ社のｂシステムおよびＣ社のｃシステムの負荷容量を１台の物理サーバ１ａに負担させることができる。
【００２４】
そして、Ａ社のａシステム、Ｂ社のｂシステムおよびＣ社のｃシステムの負荷容量が物理サーバ１ａに割り付けられると、物理サーバ１ａは仮想サーバ２ａ、２ｂ、２ｃを起動し、Ａ社のａシステムを仮想サーバ２ａ上で動作させ、Ｂ社のｂシステムを仮想サーバ２ｂ上で動作させ、Ｃ社のｃシステムを仮想サーバ２ｃ上で動作させることができる。
【００２５】
図３は、本発明の第２実施形態に係る負荷分散装置が適用される仮想サーバ管理システムの概略構成を示すブロック図である。
図３において、仮想サーバ管理システムには、ｎ台の物理サーバ１１ａ、１１ｂ・・・、１１ｎが設けられている。そして、物理サーバ１１ａは、ｍ台の仮想サーバ１２ａ、１２ｂ、・・・、１２ｍを起動できるように構成され、物理サーバ１１ｂは、ｍ台の仮想サーバ１３ａ、１３ｂ、・・・、１３ｍを起動できるように構成され、物理サーバ１１ｃは、ｍ台の仮想サーバ１４ａ、１４ｂ、・・・、１４ｍを起動できるように構成され、物理サーバ１１ｎはｍ台の仮想サーバ１５ａ、１５ｂ、・・・、１５ｍを起動できるように構成されている。
【００２６】
そして、物理サーバ１１ａには、仮想マシン管理マネージャ１６、稼動状況収集手段１７、稼動実績送信手段１８、稼動実績データ１９、稼動実績収集手段２０、仮想マシン制御手段２１、仮想マシン電源制御指示手段２２が設けられている。なお、図３には示してないが、他の物理サーバ１１ｂ・・・、１１ｎにも、物理サーバ１１ａと同様に、仮想マシン管理マネージャ１６、稼動状況収集手段１７、稼動実績送信手段１８、稼動実績データ１９、稼動実績収集手段２０、仮想マシン制御手段２１を設けることができる。
【００２７】
ここで、仮想マシン管理マネージャ１６は、仮想サーバ１２ａ、１２ｂ、・・・、１２ｍの負荷容量を管理したり、仮想サーバ１２ａ、１２ｂ、・・・、１２ｍの起動や停止を物理サーバ１１ａに指示したりすることができる。稼動状況収集手段１７は、物理サーバ１１ａや仮想サーバ１２ａ、１２ｂ、・・・、１２ｍの稼動状況を収集し、それらの稼動状況の送信要求を負荷分散装置３１に行うことができる。稼動実績送信手段１８は、物理サーバ１１ａや仮想サーバ１２ａ、１２ｂ、・・・、１２ｍの稼動実績の送信要求を負荷分散装置３１に定期的に行うことができる。
【００２８】
稼動実績収集手段２０は、物理サーバ１１ａおよび仮想サーバ１２ａ、１２ｂ、・・・、１２ｍの稼動実績を収集し、稼動実績データ１９を生成することができる。仮想マシン制御手段２１は、物理サーバ１１ａや仮想サーバ１２ａ、１２ｂ、・・・、１２ｍに割り付けられた負荷に基づいて、仮想サーバ１２ａ、１２ｂ、・・・、１２ｍの起動や停止を仮想マシン管理マネージャ１６に指示することができる。送受信制御手段２３は、物理サーバ１１ａと負荷分散装置３１との間のデータの送受信の制御を行うことができる。
【００２９】
また、稼動実績データ１９は、物理サーバ１１ａおよび仮想サーバ１２ａ、１２ｂ、・・・、１２ｍのシステム単位での稼動実績を示すもので、稼動実績データ１９における管理項目としては、以下の例を挙げることができる。
・仮想サーバ名キー
・物理サーバ１１ａおよび仮想サーバ１２ａ、１２ｂ、・・・、１２ｍが稼動された時のシステム単位でのＣＰＵ負荷
・物理サーバ１１ａおよび仮想サーバ１２ａ、１２ｂ、・・・、１２ｍが稼動された時のシステム単位でのメモリ使用率
【００３０】
なお、仮想マシン管理マネージャ１６、稼動状況収集手段１７、稼動実績送信手段１８、稼動実績収集手段２０、仮想マシン制御手段２１は、これらの手段で行われる処理を遂行させる命令が記述されたプログラムをコンピュータに実行させることにより実現することができる。また、稼動実績データ１９は、物理サーバ１１ａ内のメモリに格納することができる。
【００３１】
そして、このプログラムをＣＤ−ＲＯＭなどの記憶媒体に記憶しておけば、物理サーバ１１ａのコンピュータに記憶媒体を装着し、そのプログラムをコンピュータにインストールすることにより、仮想マシン管理マネージャ１６、稼動状況収集手段１７、稼動実績送信手段１８、稼動実績収集手段２０、仮想マシン制御手段２１で行われる処理を実現することができる。
【００３２】
また、仮想サーバ管理システムには負荷分散装置３１が設けられ、負荷分散装置３１は、仮想サーバ１２ａ、１２ｂ、・・・、１２ｍ、１３ａ、１３ｂ、・・・、１３ｍ、１４ａ、１４ｂ、・・・、１４ｍ、１５ａ、１５ｂ、・・・、１５ｍで稼動されるシステムの負荷状況に基づいて、物理サーバ１１ａ、１１ｂ・・・、１１ｎにかかる負荷を割り付けるとともに、物理サーバ１１ａ、１１ｂ・・・、１１ｎに割り付けられた負荷に基づいて物理サーバ１１ａ、１１ｂ・・・、１１ｎの電源をオフするように物理サーバ１１ａ、１１ｂ・・・、１１ｎに指示することができる。
【００３３】
そして、負荷分散装置３１には、送受信制御手段３２、負荷分散装置３１、稼動状態受信手段３３、稼動実績受信手段３４、仮想マシン状態テーブル３５、稼動実績データ３６、仮想マシン異常監視手段３７、物理マシン管理テーブル３８、割り付けシステム管理テーブル３９、仮想マシン割り付けスケジューラ４０、時間別稼動実績データ４１、仮想マシン切換スケジュールデータ４２、仮想マシン制御指示手段４３、負荷分散手段４５が設けられている。
【００３４】
ここで、送受信制御手段３２は、物理サーバ１１ａと負荷分散装置３１との間のデータの送受信の制御を行うことができる。稼動状態受信手段３３は、物理サーバ１１ａ、１１ｂ・・・、１１ｎや仮想サーバ１２ａ、１２ｂ、・・・、１２ｍ、１３ａ、１３ｂ、・・・、１３ｍ、１４ａ、１４ｂ、・・・、１４ｍ、１５ａ、１５ｂ、・・・、１５ｍの稼動状態を受信し、仮想マシン状態テーブル３５に登録させることができる。
【００３５】
稼動実績受信手段３４は、物理サーバ１１ａ、１１ｂ・・・、１１ｎや仮想サーバ１２ａ、１２ｂ、・・・、１２ｍ、１３ａ、１３ｂ、・・・、１３ｍ、１４ａ、１４ｂ、・・・、１４ｍ、１５ａ、１５ｂ、・・・、１５ｍの稼動実績を受信し、稼動実績データ３６として登録させることができる。
仮想マシン異常監視手段３７は、仮想マシン状態テーブル３５を定期的に参照しながら、仮想サーバ１２ａ、１２ｂ、・・・、１２ｍ、１３ａ、１３ｂ、・・・、１３ｍ、１４ａ、１４ｂ、・・・、１４ｍ、１５ａ、１５ｂ、・・・、１５ｍについての稼動状況の異常や負荷容量の突出などを検出し、その仮想サーバ１２ａ、１２ｂ、・・・、１２ｍ、１３ａ、１３ｂ、・・・、１３ｍ、１４ａ、１４ｂ、・・・、１４ｍ、１５ａ、１５ｂ、・・・、１５ｍについての稼動スケジュールの再設定を行うことができる。
【００３６】
仮想マシン割り付けスケジューラ４０は、仮想サーバ１２ａ、１２ｂ、・・・、１２ｍ、１３ａ、１３ｂ、・・・、１３ｍ、１４ａ、１４ｂ、・・・、１４ｍ、１５ａ、１５ｂ、・・・、１５ｍの稼動実績に基づいて、仮想サーバ１２ａ、１２ｂ、・・・、１２ｍ、１３ａ、１３ｂ、・・・、１３ｍ、１４ａ、１４ｂ、・・・、１４ｍ、１５ａ、１５ｂ、・・・、１５ｍに対する負荷の割り当てスケジュールを設定することができる。
【００３７】
ここで、仮想マシン割り付けスケジューラ４０は、仮想サーバ１２ａ、１２ｂ、・・・、１２ｍ、１３ａ、１３ｂ、・・・、１３ｍ、１４ａ、１４ｂ、・・・、１４ｍ、１５ａ、１５ｂ、・・・、１５ｍに対する負荷の割り当てスケジュールを設定する場合、仮想サーバ１２ａ、１２ｂ、・・・、１２ｍ、１３ａ、１３ｂ、・・・、１３ｍ、１４ａ、１４ｂ、・・・、１４ｍ、１５ａ、１５ｂ、・・・、１５ｍで稼動されるシステムの負荷容量が遺伝子配列で表現された遺伝的アルゴリズムに従って、仮想サーバ１２ａ、１２ｂ、・・・、１２ｍ、１３ａ、１３ｂ、・・・、１３ｍ、１４ａ、１４ｂ、・・・、１４ｍ、１５ａ、１５ｂ、・・・、１５ｍに対する負荷を割り当てることができる。
【００３８】
仮想マシン制御指示手段４３は、仮想マシン切換スケジュールデータ４２を定期的に監視し、物理サーバ１１ａ、１１ｂ・・・、１１ｎや仮想サーバ１２ａ、１２ｂ、・・・、１２ｍ、１３ａ、１３ｂ、・・・、１３ｍ、１４ａ、１４ｂ、・・・、１４ｍ、１５ａ、１５ｂ、・・・、１５ｍに割り付けられた負荷に基づいて、それらの物理サーバ１１ａ、１１ｂ・・・、１１ｎや仮想サーバ１２ａ、１２ｂ、・・・、１２ｍ、１３ａ、１３ｂ、・・・、１３ｍ、１４ａ、１４ｂ、・・・、１４ｍ、１５ａ、１５ｂ、・・・、１５ｍがそれぞれ動作されるように物理サーバ１１ａ、１１ｂ・・・、１１ｎにそれぞれ指示することができる。
【００３９】
負荷分散手段４５は、仮想マシン切換スケジュールデータ４２に基づいて、仮想サーバ１２ａ、１２ｂ、・・・、１２ｍ、１３ａ、１３ｂ、・・・、１３ｍ、１４ａ、１４ｂ、・・・、１４ｍ、１５ａ、１５ｂ、・・・、１５ｍに負荷を分散することができる。
また、仮想マシン状態テーブル３５は、仮想サーバ１２ａ、１２ｂ、・・・、１２ｍ、１３ａ、１３ｂ、・・・、１３ｍ、１４ａ、１４ｂ、・・・、１４ｍ、１５ａ、１５ｂ、・・・、１５ｍ上の各システムの管理情報を示すもので、仮想マシン状態テーブル３５における管理項目としては、以下の例を挙げることができる。
・仮想サーバ名キー
・各システムの稼動状態
・各システムの状態コード
・各システムの状態メッセージ内容
・各システムの状態メッセージの詳細
【００４０】
稼動実績データ３６は、物理サーバ１１ａ、１１ｂ・・・、１１ｎおよび仮想サーバ１２ａ、１２ｂ、・・・、１２ｍ、１３ａ、１３ｂ、・・・、１３ｍ、１４ａ、１４ｂ、・・・、１４ｍ、１５ａ、１５ｂ、・・・、１５ｍのシステム単位での稼動実績を示すもので、稼動実績データ３６における管理項目としては、以下の例を挙げることができる。
・仮想サーバ名キー
・物理サーバ１１ａ、１１ｂ・・・、１１ｎおよび仮想サーバ１２ａ、１２ｂ、・・・、１２ｍ、１３ａ、１３ｂ、・・・、１３ｍ、１４ａ、１４ｂ、・・・、１４ｍ、１５ａ、１５ｂ、・・・、１５ｍが稼動された時のシステム単位でのＣＰＵ負荷
・システム単位でのメモリ使用率
【００４１】
物理マシン管理テーブル３８は、実際にシステムが稼動される物理サーバ１１ａ、１１ｂ・・・、１１ｎの管理情報を示すもので、物理マシン管理テーブル３８における管理項目としては、以下の例を挙げることができる。
・物理サーバ名キー
・物理サーバの稼動状態
・物理サーバの割り付け優先順序
・物理サーバの状態コード
・物理サーバの状態メッセージ内容
・物理サーバの状態メッセージの詳細
・物理サーバのＣＰＵ容量（マシンスペック・現容量状態）
・物理サーバのメモリ容量（マシンスペック・現容量状態）
【００４２】
割り付けシステム管理テーブル３９は、仮想サーバ１２ａ、１２ｂ、・・・、１２ｍ、１３ａ、１３ｂ、・・・、１３ｍ、１４ａ、１４ｂ、・・・、１４ｍ、１５ａ、１５ｂ、・・・、１５ｍ上で動作されるシステムの管理情報を示すもので、割り付けシステム管理テーブル３９における管理項目としては、以下の例を挙げることができる。
・アプリケーションシステム単位キー
・会社コードおよび会社名
・システム名
・スケジュールパターン（前週、前月、前年など）
・各システムの最大ＣＰＵ負荷
・各システムの最大メモリ容量
・各システムごとのＣＰＵしきい値
・各システムごとのメモリしきい値
・各システムの最大トランザクション時間（停止待ち時間）
・各システムの強制切断可否
・各システムの停止時の通知の有無
・各システムの停止時のメッセージ内容
・起動不可物理サーバ
【００４３】
時間別稼動実績データ４１は、物理サーバ１１ａ、１１ｂ・・・、１１ｎおよび仮想サーバ１２ａ、１２ｂ、・・・、１２ｍ、１３ａ、１３ｂ、・・・、１３ｍ、１４ａ、１４ｂ、・・・、１４ｍ、１５ａ、１５ｂ、・・・、１５ｍのシステム単位での時間別の稼動実績を示すもので、時間別稼動実績データ４１における管理項目としては、以下の例を挙げることができる。
・アプリケーションシステム単位キー
・会社コードおよび会社名
・システム名
・システム稼動時の年月日および時刻
・物理サーバ１１ａ、１１ｂ・・・、１１ｎおよび仮想サーバ１２ａ、１２ｂ、・・・、１２ｍ、１３ａ、１３ｂ、・・・、１３ｍ、１４ａ、１４ｂ、・・・、１４ｍ、１５ａ、１５ｂ、・・・、１５ｍが稼動された時のシステム単位での最大ＣＰＵ負荷
・システム単位での最大メモリ使用率
・システム単位での平均ＣＰＵ負荷
・システム単位での平均メモリ使用率
【００４４】
仮想マシン切換スケジュールデータ４２は、どの仮想サーバ１２ａ、１２ｂ、・・・、１２ｍ、１３ａ、１３ｂ、・・・、１３ｍ、１４ａ、１４ｂ、・・・、１４ｍ、１５ａ、１５ｂ、・・・、１５ｍ上でどのシステムをどれだけの負荷容量を割り当てながらいつ実行させるかについての稼動計画データを示すもので、仮想マシン切換スケジュールデータ４２における管理項目としては、以下の例を挙げることができる。
・仮想サーバキー
・仮想サーバの起動／停止日時
・仮想サーバの起動時のＣＰＵ容量
・仮想サーバの起動時のメモリ容量
【００４５】
なお、送受信制御手段２３、送受信制御手段３２、負荷分散装置３１、稼動状態受信手段３３、稼動実績受信手段３４、仮想マシン異常監視手段３７、仮想マシン割り付けスケジューラ４０、仮想マシン制御指示手段４３、負荷分散手段４５は、これらの手段で行われる処理を遂行させる命令が記述されたプログラムをコンピュータに実行させることにより実現することができる。また、仮想マシン状態テーブル３５、稼動実績データ３６、物理マシン管理テーブル３８、割り付けシステム管理テーブル３９、時間別稼動実績データ４１、仮想マシン切換スケジュールデータ４２は、負荷分散装置３１内のメモリに格納することができる。
【００４６】
そして、このプログラムをＣＤ−ＲＯＭなどの記憶媒体に記憶しておけば、負荷分散装置３１のコンピュータに記憶媒体を装着し、そのプログラムをコンピュータにインストールすることにより、送受信制御手段２３、送受信制御手段３２、負荷分散装置３１、稼動状態受信手段３３、稼動実績受信手段３４、仮想マシン異常監視手段３７、仮想マシン割り付けスケジューラ４０、仮想マシン制御指示手段４３、負荷分散手段４５で行われる処理を実現することができる。
【００４７】
そして、物理サーバ１１ａにおいて、稼動状況収集手段１７は、物理サーバ１１ａや仮想サーバ１２ａ、１２ｂ、・・・、１２ｍの稼動状況を収集し、それらの稼動状況を送受信制御手段２３を介して負荷分散装置３１に送信する。また、稼動実績収集手段２０は、物理サーバ１１ａや仮想サーバ１２ａ、１２ｂ、・・・、１２ｍの稼動実績を収集し、それらの稼動実績を稼動実績データ１９として物理サーバ１１ａに保持させる。そして、稼動実績データ１９が物理サーバ１１ａに保持されると、稼動実績送信手段１８は、稼動実績データ１９を送受信制御手段２３を介して負荷分散装置３１に送信する。
【００４８】
なお、他の物理サーバ１１ｂ・・・、１１ｎについても、物理サーバ１１ａと同様に動作することができる。
そして、物理サーバ１１ａ、１１ｂ、・・・、１１ｎの稼動状況が負荷分散装置３１にそれぞれ送信されると、稼動状態受信手段３３は、それらの物理サーバ１１ａ、１１ｂ、・・・、１１ｎの稼動状況を送受信制御手段３３を介して受信し、仮想マシン状態テーブル３５に登録する。
また、物理サーバ１１ａ、１１ｂ、・・・、１１ｎの稼動実績が負荷分散装置３１にそれぞれ送信されると、稼動実績受信手段３４は、それらの物理サーバ１１ａ、１１ｂ、・・・、１１ｎの稼動実績を送受信制御手段３３を介して受信し、稼動実績データ３６として保持させる。
【００４９】
そして、仮想マシン異常監視手段３７は、仮想マシン状態テーブル３５および稼動実績データ３６を定期的に参照しながら、仮想サーバ１２ａ、１２ｂ、・・・、１２ｍ、１３ａ、１３ｂ、・・・、１３ｍ、１４ａ、１４ｂ、・・・、１４ｍ、１５ａ、１５ｂ、・・・、１５ｍについての稼動状況の異常や負荷容量の突出などを検出する。そして、仮想マシン異常監視手段３７は、仮想サーバ１２ａ、１２ｂ、・・・、１２ｍ、１３ａ、１３ｂ、・・・、１３ｍ、１４ａ、１４ｂ、・・・、１４ｍ、１５ａ、１５ｂ、・・・、１５ｍ稼動状況の異常や負荷容量の突出などに応じて稼動スケジュールの再設定を行い、仮想マシン切換スケジュールデータ４２として保持させる。
【００５０】
また、仮想マシン割り付けスケジューラ４０は、物理マシン管理テーブル３８および割り付けシステム管理テーブル３９を参照しながら、稼動実績データ３６に基づいて、仮想サーバ１２ａ、１２ｂ、・・・、１２ｍ、１３ａ、１３ｂ、・・・、１３ｍ、１４ａ、１４ｂ、・・・、１４ｍ、１５ａ、１５ｂ、・・・、１５ｍに対する負荷の割り当てスケジュールを設定し、仮想マシン切換スケジュールデータ４２として保持させる。
【００５１】
ここで、仮想マシン割り付けスケジューラ４０は、仮想サーバ１２ａ、１２ｂ、・・・、１２ｍ、１３ａ、１３ｂ、・・・、１３ｍ、１４ａ、１４ｂ、・・・、１４ｍ、１５ａ、１５ｂ、・・・、１５ｍに対する負荷の割り当てスケジュールを設定する場合、プロセッサの処理能力を分割した基準単位を１つの遺伝子として、仮想サーバ２ａ、２ｂ、・・・、２ｍ、３ａ、３ｂ、・・・、３ｍ、４ａ、４ｂ、・・・、４ｍ、５ａ、５ｂ、・・・、５ｍで稼動されるシステムの負荷容量が遺伝子の配列で表現された固体を生成することができる。
【００５２】
そして、仮想マシン割り付けスケジューラ４０は、遺伝的アルゴリズムに従って固体の淘汰および交叉を繰り返し、その時に得られた固体の遺伝子を物理マシン管理テーブル３８を参照しながら物理サーバ１ａ、１ｂ・・・、１ｎに順次割り付けることができる。
そして、仮想マシン割り付けスケジューラ４０は、物理サーバ１ａ、１ｂ・・・、１ｎに固体の遺伝子を割り付けると、それらの物理サーバ１ａ、１ｂ・・・、１ｎに割り付けられた固体の遺伝子に基づいて、仮想サーバ２ａ、２ｂ、・・・、２ｍ、３ａ、３ｂ、・・・、３ｍ、４ａ、４ｂ、・・・、４ｍ、５ａ、５ｂ、・・・、５ｍで稼動されるシステムに割り付けられる負荷を物理サーバ１ａ、１ｂ・・・、１ｎごとに算出することができる。
【００５３】
そして、仮想マシン割り付けスケジューラ４０は、物理サーバ１ａ、１ｂ・・・、１ｎごとにシステムに割り付けられる負荷が所定の割り付け条件を満たすようになるまで、遺伝的アルゴリズムに従って固体の淘汰および交叉を繰り返すことができる。
そして、仮想マシン制御指示手段４３は、仮想マシン切換スケジュールデータ４２を定期的に監視し、物理サーバ１１ａ、１１ｂ・・・、１１ｎや仮想サーバ１２ａ、１２ｂ、・・・、１２ｍ、１３ａ、１３ｂ、・・・、１３ｍ、１４ａ、１４ｂ、・・・、１４ｍ、１５ａ、１５ｂ、・・・、１５ｍに割り付けられた負荷に基づいて、それらの物理サーバ１１ａ、１１ｂ・・・、１１ｎや仮想サーバ１２ａ、１２ｂ、・・・、１２ｍ、１３ａ、１３ｂ、・・・、１３ｍ、１４ａ、１４ｂ、・・・、１４ｍ、１５ａ、１５ｂ、・・・、１５ｍがそれぞれ動作されるように、送受信制御手段３３を介して物理サーバ１１ａ、１１ｂ・・・、１１ｎにそれぞれ指示する。
【００５４】
そして、例えば、仮想マシン制御指示手段４３による指示が物理サーバ１１ａに行われると、仮想マシン制御手段２１は、送受信制御手段２３を介して仮想マシン制御指示手段４３からの指示を受信し、物理サーバ１１ａや仮想サーバ１２ａ、１２ｂ、・・・、１２ｍに割り付けられた負荷に基づいて、仮想サーバ１２ａ、１２ｂ、・・・、１２ｍの起動や停止を仮想マシン管理マネージャ１６に指示する。
【００５５】
また、負荷分散手段４５は、仮想マシン切換スケジュールデータ４２に基づいて、仮想サーバ１２ａ、１２ｂ、・・・、１２ｍ、１３ａ、１３ｂ、・・・、１３ｍ、１４ａ、１４ｂ、・・・、１４ｍ、１５ａ、１５ｂ、・・・、１５ｍに負荷を分散する。
そして、例えば、負荷分散手段４５にて物理サーバ１１ａに負荷が分散されると、仮想マシン管理マネージャ１６は、仮想サーバ１２ａ、１２ｂ、・・・、１２ｍの負荷容量を管理しながら、仮想サーバ１２ａ、１２ｂ、・・・、１２ｍの起動や停止を物理サーバ１１ａに指示する。
【００５６】
図４は、本発明の一実施形態に係る遺伝的アルゴリズムを用いた仮想サーバ上で動作されるシステムの物理サーバ上への割り付け方法を示すフローチャートである。
図４において、遺伝的アルゴリズムにて負荷を割り当てる場合、初期固体の生成を行った後（ステップＳ１）、物理サーバ１１ａ、１１ｂ・・・、１１ｎへのシステムの配置を実施する（ステップＳ２）。
そして、遺伝的アルゴリズムにて生成された固体の評価及び優良解の保存を行いながら（ステップＳ３）、所定の割り付け条件を満たすようになるまで（ステップＳ７）、固体の淘汰、交叉および突然変異を繰り返すことができる（ステップＳ４〜Ｓ６）。
【００５７】
ここで、遺伝的アルゴリズムにおける固体を生成する場合、プロセッサの処理能力を分割した基準単位を１つの遺伝子として、仮想サーバ１２ａ、１２ｂ、・・・、１２ｍ、１３ａ、１３ｂ、・・・、１３ｍ、１４ａ、１４ｂ、・・・、１４ｍ、１５ａ、１５ｂ、・・・、１５ｍで稼動されるシステムの負荷容量に応じて割り振られた遺伝子の配列を固体とすることができる。
【００５８】
なお、１固体当たりの遺伝子の個数はシステムの定数として管理することができる。また、１つの固体の中には同一の遺伝子が複数存在したり、システム内には複数個の固体が存在したりすることができる。
例えば、３ＧＨｚの周波数で動作するインテル製のペンティアム（登録商標）プロセッサのＣＰＵ容量を１００とすると、そのＣＰＵ容量が１０分割されたＣＰＵ容量を１つの遺伝子とすることができる。そして、負荷の割り付け対象となるシステムごとに固有の遺伝子を生成し、そのシステムの負荷容量分に対応した個数分の遺伝子をそのシステムに割り振ることができる。
【００５９】
ここで、初期固体の生成では、具体的には、以下の手順をとることができる。
（１）負荷の割り付け対象となるシステムの負荷容量を、１つの遺伝子分のＣＰＵ容量ごとに分割し、そのシステムに固有の遺伝子をその分割数分だけ付与する。
（２）システムの優先順および物理サーバ１１ａ、１１ｂ・・・、１１ｎの優先順に従って遺伝子を配列する。
（３）（２）の方法で生成した固体以外は、初期固体選択幅および乱数を用いて初期固体を生成する。具体的には、
ａ）初期固体生成順序に従って初期固体選択幅の遺伝子の中から乱数を用いて遺伝子を選択する。
ｂ）初期固体選択幅における順序が最も早い遺伝子がそのシステムの個数分だけ選択されると、選択対象の遺伝子を次の遺伝子に変更する。
ｃ）固体に割り付けられた遺伝子の個数が、負荷の割り付け対象となる全てのシステムの遺伝子の総数に一致するまで、ａ）およびｂ）の処理を繰り返す。
【００６０】
一方、負荷容量が割り付けられる物理サーバ１１ａ、１１ｂ、・・・、１１ｎの初期条件として、５台の物理サーバ１１ａ、１１ｂ、・・・、１１ｅが設定されたものとする。そして、物理サーバ１１ａのスペック容量が２８０、物理サーバ１１ｂのスペック容量が１９０、物理サーバ１１ｃのスペック容量が４４０、物理サーバ１１ｄのスペック容量が７０、物理サーバ１１ｅのスペック容量が１７０であるとし、物理サーバ１１ａ、１１ｂ、・・・、１１ｅにそれぞれ割り付ける負荷容量の初期値がスペック容量の７０％であるとする。
【００６１】
この場合、物理サーバ１１ａに割り付け可能な負荷容量は１９６≒１９０、物理サーバ１１ｂに割り付け可能な負荷容量は１３３≒１３０、物理サーバ１１ｃに割り付け可能な負荷容量は３０８≒３００、物理サーバ１１ｄに割り付け可能な負荷容量は４９≒４０、物理サーバ１１ｅに割り付け可能な負荷容量は１１９≒１１０となる。
そして、負荷容量の割り付け時の物理サーバ１１ａ、１１ｂ、・・・、１１ｅ優先順がそれぞれ２、３、１、４、５であるとすると、物理サーバ１１ｃ→物理サーバ１１ａ→物理サーバ１１ｂ→物理サーバ１１ｄ→物理サーバ１１ｅの順序で負荷を割り付けることができる。
【００６２】
例えば、負荷の割り付け対象となるシステムとして、Ａ社ａシステム、Ａ社ｂシステム、Ｃ社ｃシステムおよびＤ社ｄシステムの４個のシステムがあるものとし、Ａ社ａシステムの負荷容量が８０、Ａ社ｂシステムの負荷容量が１４０、Ｃ社ｃシステムの負荷容量が２００、Ｄ社ｄシステムの負荷容量が８０であるとする。
この場合、Ａ社ａシステムには“ａ”という遺伝子を付与し、Ａ社ａシステムの負荷容量を“ａ”という８個の遺伝子で表現することができる。また、Ａ社ｂシステムには“ｂ”という遺伝子を付与し、Ａ社ｂシステムの負荷容量を“ｂ”という１４個の遺伝子で表現することができる。また、Ｃ社ｃシステムには“ｃ”という遺伝子を付与し、Ｃ社ｃシステムの負荷容量を“ｃ”という２０個の遺伝子で表現することができる。また、Ｄ社ｄシステムには“ｄ”という遺伝子を付与し、Ｄ社ｄシステムの負荷容量を“ｄ”という８個の遺伝子で表現することができる。
【００６３】
そして、Ａ社ａシステム、Ａ社ｂシステム、Ｃ社ｃシステムおよびＤ社ｄシステムの遺伝子を、システムの優先順に従って各システムの個数分（Ａ社ａシステム＝８個、Ａ社ｂシステム＝１４個、Ｃ社ｃシステム＝２０個、Ｄ社ｄシステム＝８個）づつ配列することにより、“ａａａａａａａａｂｂｂｂｂｂｂｂｂｂｂｂｂｂｃｃｃｃｃｃｃｃｃｃｃｃｃｃｃｃｃｃｃｃｄｄｄｄｄｄｄｄ”という５０個の遺伝子配列を生成することができる。
そして、固体長が１０であるとすると、“ａａａａａａａａｂｂｂｂｂｂｂｂｂｂｂｂｂｂｃｃｃｃｃｃｃｃｃｃｃｃｃｃｃｃｃｃｃｃｄｄｄｄｄｄｄｄ”という５０個の遺伝子配列から（３）のａ）、ｂ）、ｃ）の方法に従って１０個づつ遺伝子を選択することによって、５個の固体Ｋ１、Ｋ２、Ｋ３、Ｋ４、Ｋ５を初期固体として生成することができる。
【００６４】
そして、初期固体生成順序が“ａｂｃｄ”、初期固体選択幅が３であるとすると、選択対象の遺伝子として“ａｂｃ”が指定され、遺伝子“ａｂｃ”の中から乱数を用いて１０個の遺伝子を選択することで、初期の固体Ｋ１として、例えば、“ｃａａｂｂｃｂｃａａ”という１０個の遺伝子配列を生成することができる。また、遺伝子“ａｂｃ”の中から乱数を用いて１０個の遺伝子を選択することで、初期の固体Ｋ２として、例えば、“ａｃａｂａｃｂｂｂａ”という１０個の遺伝子配列を生成することができる。ここで、固体Ｋ１、Ｋ２において、Ａ社ａシステムに付与された８個分の遺伝子“ａ”が選択されたので、初期固体選択幅における選択対象の遺伝子を次の遺伝子に変更し、選択対象の遺伝子として“ｂｃｄ”を指定する。
【００６５】
そして、遺伝子“ｂｃｄ”の中から乱数を用いて１０個の遺伝子を選択することで、初期の固体Ｋ３として、例えば、“ｄｃｃｃｄｂｂｃｂｄ”という１０個の遺伝子配列を生成することができる。また、遺伝子“ｂｃｄ”の中から乱数を用いて１０個の遺伝子を選択することで、初期の固体Ｋ４として、例えば、“ｄｃｃｄｂｂｃｃｂｄ”という１０個の遺伝子配列を生成することができる。また、遺伝子“ｂｃｄ”の中から乱数を用いて１０個の遺伝子を選択することで、初期の固体Ｋ５として、例えば、“ｃｂｂｂｄｂｂｂｂｄ”という１０個の遺伝子配列を生成することができる。
【００６６】
そして、遺伝的アルゴリズムに従って固体の淘汰、交叉および突然変異を繰り返すことで、ある世代において、固体Ｋ１、Ｋ２、Ｋ３、Ｋ４、Ｋ５として以下の遺伝子配列を生成することができる。
固体Ｋ１＝“ｃｄｄｂａｂｂｃｃａ”
固体Ｋ２＝“ｃｃｂｂｃｃａｂｃｄ”
固体Ｋ３＝“ａｃｄｄｂｂｃａｃｃ”
固体Ｋ４＝“ｂｂｃａｂｄｂｃｃａ”
固体Ｋ５＝“ｃｃｃａｂｃｂｃｄｄ”
そして、ある世代における固体Ｋ１、Ｋ２、Ｋ３、Ｋ４、Ｋ５が生成されると、物理サーバ１１ａ、１１ｂ、・・・、１１ｅの優先順に従って、各物理サーバ１１ａ、１１ｂ、・・・、１１ｅの割り付け可能な負荷容量に達するように、固体Ｋ１、Ｋ２、Ｋ３、Ｋ４、Ｋ５の遺伝子を物理サーバ１１ａ、１１ｂ、・・・、１１ｅに順次割り付けることができる。
【００６７】
例えば、上述した割り付け優先順の１位は物理サーバ１１ｃなので、物理サーバ１１ｃに割り付け可能な負荷容量≒３００に達するまで、固体Ｋ１、Ｋ２、Ｋ３、Ｋ４、Ｋ５の遺伝子を順次割り付けると、物理サーバ１１ｃに割り付けられた遺伝子は“ｃｄｄｂａｂｂｃｃａｃｃｂｂｃｃａｂｃｄａｃｄｄｂｂｃａｃｃ”となる。そして、物理サーバ１１ｃに固体Ｋ１、Ｋ２、Ｋ３、Ｋ４、Ｋ５の遺伝子が割り付けられると、割り付け優先順が２位の物理サーバ１１ａを選択する。そして、物理サーバ１１ａに割り付け可能な負荷容量≒１９０に達するまで、残った固体Ｋ４、Ｋ５の遺伝子を順次割り付けると、物理サーバ１１ａに割り付けられた遺伝子は“ｂｂｃａｂｄｂｃｃａｃｃｃａｂｃｂｃｄ”となる。そして、物理サーバ１１ａに固体Ｋ４、Ｋ５の遺伝子が割り付けられると、割り付け優先順が３位の物理サーバ１１ｂを選択する。そして、残った固体Ｋ５の遺伝子を物理サーバ１１ｂに割り付けると、物理サーバ１１ｂに割り付けられた遺伝子は“ｄ”となる。
【００６８】
そして、これらの物理サーバ１１ｃ、１１ａ、１１ｂに割り付けられた遺伝子をシステム単位で並べ替えると、物理サーバ１１ｃ→“ａａａａａｂｂｂｂｂｂｂｂｃｃｃｃｃｃｃｃｃｃｃｃｄｄｄｄｄ”、物理サーバ１１ａ→“ａａａｂｂｂｂｂｂｃｃｃｃｃｃｃｃｄｄ”、物理サーバ１１ｂ→“ｄ”となる。
この結果、物理サーバ１１ｃには、５個の遺伝子“ａ”、８個の遺伝子“ｂ”、１２個の遺伝子“ｃ”および５個の遺伝子“ｄ”が割り付けられ、物理サーバ１１ｃ上では、Ａ社ａシステムに対して５０のＣＰＵ容量、Ａ社ｂシステムに対して８０のＣＰＵ容量、Ｃ社ｃシステムに対して１２０のＣＰＵ容量、Ｄ社ｄシステムに対して５０のＣＰＵ容量が割り付けられる。
【００６９】
また、物理サーバ１１ａには、３個の遺伝子“ａ”、６個の遺伝子“ｂ”、８個の遺伝子“ｃ”および２個の遺伝子“ｄ”が割り付けられ、物理サーバ１１ａ上では、Ａ社ａシステムに対して３０のＣＰＵ容量、Ａ社ｂシステムに対して６０のＣＰＵ容量、Ｃ社ｃシステムに対して８０のＣＰＵ容量、Ｄ社ｄシステムに対して２０のＣＰＵ容量が割り付けられる。
【００７０】
また、物理サーバ１１ｂには、１個の遺伝子“ｄ”が割り付けられ、物理サーバ１１ｂ上では、Ｄ社ｄシステムに対して１０のＣＰＵ容量が割り付けられる。
そして、物理サーバ１１ａ、１１ｂ・・・、１１ｎへのシステムの配置が実施されると、物理サーバ１１ａ、１１ｂ・・・、１１ｎに割り付けられたＣＰＵ容量が所定の割り付け条件を満たすかどうかを判断する。ここで、例えば、各物理サーバ１１ａ、１１ｂ・・・、１１ｎに割り付け可能な負荷容量は８０％を上限とし、目標とする割り付け可能な負荷容量は７０％に設定することができる。
【００７１】
図５は、本発明の一実施形態に係る仮想サーバ上で動作されるシステムに対して物理サーバの負荷を割り付ける方法を示すフローチャートである。
図５において、図４のステップＳ２の物理サーバ１１ａ、１１ｂ・・・、１１ｎへの配置の実施では、目標とする割り付け可能な負荷容量の算出処理（ステップＳ１１）および物理サーバ１１ａ、１１ｂ・・・、１１ｎへの負荷容量の割り付け処理（ステップＳ１２）が行われる。
【００７２】
そして、目標とする割り付け可能な負荷容量の算出処理では、前回に各物理サーバ１１ａ、１１ｂ・・・、１１ｎに割り付けられた負荷容量および平均割り付け容量を獲得する（ステップＳ２１）。そして、物理サーバ１１ａ、１１ｂ・・・、１１ｎに割り付けられた負荷容量のいずれかが５０％以下で、物理サーバ１１ａ、１１ｂ・・・、１１ｎの平均割り付け容量が７０％以下の場合（ステップＳ２２）、割り付け対象となる物理サーバ１１ａ、１１ｂ・・・、１１ｎを１台分だけ減らしてから（ステップＳ２３）、目標とする割り付け可能な負荷容量を再算出し（ステップＳ２４）、次処理に進む（ステップＳ３１）。
【００７３】
一方、物理サーバ１１ａ、１１ｂ・・・、１１ｎに割り付けられた負荷容量のいずれかが５０％以下で、物理サーバ１１ａ、１１ｂ・・・、１１ｎの平均割り付け容量が７０％以下という条件を満たさない場合（ステップＳ２２）、割り付け対象となる物理サーバ１１ａ、１１ｂ・・・、１１ｎの台数に対して、割り付けられるシステムの負荷容量がオーバーフローしたかどうかを判断する（ステップＳ２５）。
【００７４】
そして、割り付け対象となる物理サーバ１１ａ、１１ｂ・・・、１１ｎの台数に対して、割り付けられるシステムの負荷容量がオーバーフローした場合、割り付け対象となる物理サーバ１１ａ、１１ｂ・・・、１１ｎを１台分だけ増やしてから（ステップＳ２３）、目標とする割り付け可能な負荷容量を最算出し（ステップＳ２４）、次処理に進む（ステップＳ３１）。
【００７５】
一方、割り付け対象となる物理サーバ１１ａ、１１ｂ・・・、１１ｎの台数に対して、割り付けられるシステムの負荷容量がオーバーフローしてない場合、物理サーバ１１ａ、１１ｂ・・・、１１ｎに割り付けられた負荷容量が目標値より小さいかどうかを判断し（ステップＳ２７）、物理サーバ１１ａ、１１ｂ・・・、１１ｎに割り付けられた負荷容量が目標値より小さい場合、目標とする割り付け可能な負荷容量を２％だけ減らしてから（ステップＳ２８）、次処理に進む（ステップＳ３１）。
【００７６】
一方、物理サーバ１１ａ、１１ｂ・・・、１１ｎに割り付けられた負荷容量が目標値より大きい場合（ステップＳ２９）、目標とする割り付け可能な負荷容量を１％だけ増やしてから（ステップＳ３０）、次処理に進む（ステップＳ３１）。
そして、物理サーバ１１ａ、１１ｂ・・・、１１ｎに負荷が割り付けられると、所定の割り付け条件に従って固体の評価を行う。ここで、物理サーバ１１ａ、１１ｂ・・・、１１ｎへの負荷の割り付け条件としては、例えば、以下の項目を挙げることができる。
・物理サーバ１１ａ、１１ｂ・・・、１１ｎの異常時の対応を考慮して、システムの分割数は２以上とする。なお、この条件は絶対条件で、遺伝的アルゴリズム上で適用することができる。
【００７７】
・仮想サーバ１２ａ、１２ｂ、・・・、１２ｍ、１３ａ、１３ｂ、・・・、１３ｍ、１４ａ、１４ｂ、・・・、１４ｍ、１５ａ、１５ｂ、・・・、１５ｍのオーバーヘッドを考慮して、システムの分割数は３→４→２→５→６→・・・とする。なお、この条件は任意条件で、遺伝的アルゴリズム上で適用することができる。
・省電力化を考慮して、消費電力の小さい物理サーバ１１ａ、１１ｂ・・・、１１ｎの優先順を上げる。なお、この条件は任意条件で、遺伝的アルゴリズムの前処理で適用することができる。
【００７８】
・物理サーバ１１ａ、１１ｂ・・・、１１ｎの異常時の縮退容量を確保するために、各システムが物理サーバ１１ａ、１１ｂ・・・、１１ｎに均等に割り付ける。なお、この条件は任意条件で、遺伝的アルゴリズム上で適用することができる。
・各物理サーバ１１ａ、１１ｂ・・・、１１ｎの総使用メモリ量を超えないようにする。なお、この条件は絶対条件で、遺伝的アルゴリズム上で適用することができる。
・メンテナンスが予定されている物理サーバ１１ａ、１１ｂ・・・、１１ｎは割り当て対象から除外する。なお、この条件は絶対条件で、遺伝的アルゴリズムの前処理で適用することができる。
【００７９】
・余裕代の均等化を図るため、負荷が割り付けられた物理サーバ１１ａ、１１ｂ・・・、１１ｎのＣＰＵ容量の空きを均等にする。なお、この条件は任意条件で、遺伝的アルゴリズム上で適用することができる。
・省電力化を考慮して、負荷が割り付けられた物理サーバ１１ａ、１１ｂ・・・、１１ｎの総消費電力を小さくする。なお、この条件は任意条件で、遺伝的アルゴリズム上で適用することができる。
【００８０】
図６は、本発明の一実施形態に係る物理サーバの過負荷時において、仮想サーバ上で動作されるシステムに対して物理サーバの負荷を割り付ける方法を示すフローチャートである。
図６において、図３の仮想マシン異常監視手段３７は、一定時間待ちを行った後（ステップＳ４１）、優先順に従って次会社を選択し（ステップＳ４２）、さらに優先順に従って次システムを選択する（ステップＳ４３）。そして、仮想マシン異常監視手段３７は、次会社および次システムを選択すると、そのシステムのＭ分間分の負荷容量を計算する（ステップＳ４４）。そして、割り付けシステム管理テーブル３９に登録されているＮ％のＣＰＵしきい値がＭ分間以上続いた場合（ステップＳ４５）、そのシステムに割り当てられる負荷の増強量を計算し（ステップＳ４６）、空きのある仮想サーバ１２ａ、１２ｂ、・・・、１２ｍ、１３ａ、１３ｂ、・・・、１３ｍ、１４ａ、１４ｂ、・・・、１４ｍ、１５ａ、１５ｂ、・・・、１５ｍを獲得する（ステップＳ４７）。
【００８１】
そして、獲得した仮想サーバ１２ａ、１２ｂ、・・・、１２ｍ、１３ａ、１３ｂ、・・・、１３ｍ、１４ａ、１４ｂ、・・・、１４ｍ、１５ａ、１５ｂ、・・・、１５ｍに溢れたシステムの負荷を割り付け（ステップＳ４８）、仮想マシン切換スケジュールデータ４２に書き込む（ステップＳ４９）。
そして、仮想マシン異常監視手段３７は、一定時間待ちを行った後（ステップＳ５０）、仮想マシン切換スケジュールデータ４２から仮想サーバ１２ａ、１２ｂ、・・・、１２ｍ、１３ａ、１３ｂ、・・・、１３ｍ、１４ａ、１４ｂ、・・・、１４ｍ、１５ａ、１５ｂ、・・・、１５ｍの稼動計画データを獲得する（ステップＳ５１）。そして、稼動の即時要求のあるものを優先させながら、起動・停止時刻の過ぎているものがある場合（ステップＳ５２）、そのことを仮想マシン制御指示手段４３に通知する（ステップＳ５３）。
【００８２】
図７は、本発明の一実施形態に係る物理サーバまたは仮想サーバの異常時において、仮想サーバ上で動作されるシステムに対して物理サーバの負荷を割り付ける方法を示すフローチャートである。
図７において、図３の仮想マシン異常監視手段３７は、物理サーバ１１ａ、１１ｂ・・・、１１ｎまたは仮想サーバ１２ａ、１２ｂ、・・・、１２ｍ、１３ａ、１３ｂ、・・・、１３ｍ、１４ａ、１４ｂ、・・・、１４ｍ、１５ａ、１５ｂ、・・・、１５ｍの異常を検知すると（ステップＳ１５１）、その異常が物理サーバ１１ａ、１１ｂ・・・、１１ｎで発生したものかどうかを判断する（ステップＳ１５２）。
【００８３】
そして、その異常が物理サーバ１１ａ、１１ｂ・・・、１１ｎで発生したものである場合、仮想マシン異常監視手段３７は、その物理サーバ１１ａ、１１ｂ・・・、１１ｎで動作していた全ての仮想サーバ１２ａ、１２ｂ、・・・、１２ｍ、１３ａ、１３ｂ、・・・、１３ｍ、１４ａ、１４ｂ、・・・、１４ｍ、１５ａ、１５ｂ、・・・、１５ｍの負荷容量を収集する（ステップＳ１５４）。
【００８４】
一方、その異常が仮想サーバ１２ａ、１２ｂ、・・・、１２ｍ、１３ａ、１３ｂ、・・・、１３ｍ、１４ａ、１４ｂ、・・・、１４ｍ、１５ａ、１５ｂ、・・・、１５ｍで発生したものである場合、仮想マシン異常監視手段３７は、その仮想サーバ１２ａ、１２ｂ、・・・、１２ｍ、１３ａ、１３ｂ、・・・、１３ｍ、１４ａ、１４ｂ、・・・、１４ｍ、１５ａ、１５ｂ、・・・、１５ｍの負荷容量を収集する（ステップＳ１５３）。
【００８５】
そして、異常の発生した物理サーバ１１ａ、１１ｂ・・・、１１ｎまたは仮想サーバ１２ａ、１２ｂ、・・・、１２ｍ、１３ａ、１３ｂ、・・・、１３ｍ、１４ａ、１４ｂ、・・・、１４ｍ、１５ａ、１５ｂ、・・・、１５ｍで稼動していたシステムに割り当てられる負荷の増強量を計算し（ステップＳ１５５）、空きのある仮想サーバ１２ａ、１２ｂ、・・・、１２ｍ、１３ａ、１３ｂ、・・・、１３ｍ、１４ａ、１４ｂ、・・・、１４ｍ、１５ａ、１５ｂ、・・・、１５ｍを獲得する（ステップＳ１５６）。
【００８６】
そして、獲得した仮想サーバ１２ａ、１２ｂ、・・・、１２ｍ、１３ａ、１３ｂ、・・・、１３ｍ、１４ａ、１４ｂ、・・・、１４ｍ、１５ａ、１５ｂ、・・・、１５ｍに溢れたシステムの負荷を割り付け（ステップＳ１５７）、仮想マシン切換スケジュールデータ４２に書き込む（ステップＳ１５８）。
そして、仮想マシン異常監視手段３７は、一定時間待ちを行った後（ステップＳ６０）、仮想マシン切換スケジュールデータ４２から仮想サーバ１２ａ、１２ｂ、・・・、１２ｍ、１３ａ、１３ｂ、・・・、１３ｍ、１４ａ、１４ｂ、・・・、１４ｍ、１５ａ、１５ｂ、・・・、１５ｍの稼動計画データを獲得する（ステップＳ６１）。そして、稼動の即時要求のあるものを優先させながら、起動・停止時刻の過ぎているものがある場合（ステップＳ６２）、そのことを仮想マシン制御指示手段４３に通知する（ステップＳ６３）。
【００８７】
図８は、本発明の一実施形態に係る物理サーバのメンテナンス移行時のまたは仮想サーバの異常時において、仮想サーバ上で動作されるシステムに対して物理サーバの負荷を割り付ける方法を示す図である。
図８において、物理サーバ１１ａ、１１ｂ・・・、１１ｎのメンテナンス移行処理では、時刻ｔ０において、代替サーバの起動処理が行われる。そして、時刻ｔ１において、メンテナンス予定の物理サーバ１１ａ、１１ｂ・・・、１１ｎに対する新規要求の受付が中止され、時刻ｔ２において、クライアント端末に対して物理サーバ１１ａ、１１ｂ・・・、１１ｎの停止の通知が行われ、時刻ｔ３において、メンテナンス予定の物理サーバ１１ａ、１１ｂ・・・、１１ｎの停止が行われる。
【００８８】
例えば、メンテナンス開始予定時刻から端末通知開始時刻までの時間を１０分とすることができる。また、メンテナンス予定の物理サーバ１１ａ上でＡ社のａシステムが稼動しており、Ａ社のａシステムの最大トランザクション時間が２５分とすると、メンテナンス開始予定時刻から新規要求受付中止までの時間を２５分とすることができ、メンテナンス開始予定時刻から代替サーバ起動処理までの時間を１時間２５分とすることができる。
【００８９】
そして、図３の仮想マシン切換スケジュールデータ４２に従って代替サーバの起動処理が行われ、メンテナンス予定の物理サーバ１１ａに対する新規要求の受付が中止されると、物理サーバ１１ａ上で稼動されている仮想サーバ１２ａ、１２ｂ、・・・、１２ｍが順次減少する。
そして、端末通知開始時刻において動作しているクライアント端末に対してポップアップメッセージにてアラームが通知され、メンテナンス予定開始時刻になると、メンテナンス予定の物理サーバ１１ａの停止が行われる。ここで、物理サーバ１１ａ上において処理が行われている場合には、管理者にメッセージを通知し、その処理を保留または強制停止させることができる。
【００９０】
図９は、本発明の一実施形態に係る物理サーバのメンテナンス移行時における新規要求受付停止時の動作を示すフローチャートである。
図９において、図３の仮想マシン異常監視手段３７は、割り付けシステム管理テーブル３９からメンテナンス予定の物理サーバ１１ａ、１１ｂ・・・、１１ｎの稼動スケジュールを読み込み（ステップＳ７１）、（メンテナンス開始予定時刻−最大トランザクション時間）＜現在時刻であるかどうかを判断する（ステップＳ７２）。
【００９１】
そして、（メンテナンス開始予定時刻−最大トランザクション時間）＜現在時刻である場合、物理マシン管理テーブル３８のマシン状態という項目を“メンテナンス停止要求中”に変更する（ステップＳ７３）。そして、負荷分散手段４５は、物理マシン管理テーブル３８のマシン状態が“メンテナンス停止要求中”に変更されると、その物理サーバ１１ａ、１１ｂ・・・、１１ｎの仮想サーバ１２ａ、１２ｂ、・・・、１２ｍ、１３ａ、１３ｂ、・・・、１３ｍ、１４ａ、１４ｂ、・・・、１４ｍ、１５ａ、１５ｂ、・・・、１５ｍへの新規の負荷の割り当てを中止する（ステップＳ７４）。
【００９２】
図１０は、本発明の一実施形態に係る物理サーバのメンテナンス移行時における動作を示すフローチャートである。
図１０において、図３の仮想マシン異常監視手段３７は、割り付けシステム管理テーブル３９からメンテナンス予定の物理サーバ１１ａ、１１ｂ・・・、１１ｎの稼動スケジュールを読み込み（ステップＳ８１）、（メンテナンス開始予定時刻−端末通知開始時刻）＜現在時刻であるかどうかを判断する（ステップＳ８２）。
【００９３】
そして、（メンテナンス開始予定時刻−端末通知開始時刻）＜現在時刻である場合、物理マシン管理テーブル３８のマシン状態という項目を“メンテナンス停止要求中＆メッセージ通知”に変更する（ステップＳ８３）。そして、各社のアプリケーションは、物理マシン管理テーブル３８のマシン状態が“メンテナンス停止要求中＆メッセージ通知”に変更されると、メンテナンス開始予定時刻に物理サーバ１１ａ、１１ｂ・・・、１１ｎを停止するというメッセージをクライアント端末に通知する（ステップＳ８４）。
【００９４】
図１１は、本発明の一実施形態に係る物理サーバのメンテナンス移行時における動作を示すフローチャートである。
図１１において、図３の仮想マシン異常監視手段３７は、割り付けシステム管理テーブル３９からメンテナンス予定の物理サーバ１１ａ、１１ｂ・・・、１１ｎの稼動スケジュールを読み込み（ステップＳ９１）、メンテナンス開始予定時刻＜現在時刻であるかどうかを判断する（ステップＳ９２）。
【００９５】
そして、メンテナンス開始予定時刻＜現在時刻である場合、メンテナンス予定の物理サーバ１１ａ、１１ｂ・・・、１１ｎ上で稼動している仮想サーバ１２ａ、１２ｂ、・・・、１２ｍ、１３ａ、１３ｂ、・・・、１３ｍ、１４ａ、１４ｂ、・・・、１４ｍ、１５ａ、１５ｂ、・・・、１５ｍへの要求がなくなったかを判断しながら、要求がなくなった仮想サーバ１２ａ、１２ｂ、・・・、１２ｍ、１３ａ、１３ｂ、・・・、１３ｍ、１４ａ、１４ｂ、・・・、１４ｍ、１５ａ、１５ｂ、・・・、１５ｍを停止させる（ステップＳ９３、Ｓ９４）。
【００９６】
そして、メンテナンス予定の物理サーバ１１ａ、１１ｂ・・・、１１ｎ上で稼動している全ての仮想サーバ１２ａ、１２ｂ、・・・、１２ｍ、１３ａ、１３ｂ、・・・、１３ｍ、１４ａ、１４ｂ、・・・、１４ｍ、１５ａ、１５ｂ、・・・、１５ｍが停止されると（ステップＳ９５）、その物理サーバ１１ａ、１１ｂ・・・、１１ｎの停止要求を仮想マシン切換スケジュールデータ４２に書き込む（ステップＳ９６）。
【００９７】
そして、仮想マシン制御指示手段４３は、仮想マシン切換スケジュールデータ４２を定期的に参照し、仮想サーバ１２ａ、１２ｂ、・・・、１２ｍ、１３ａ、１３ｂ、・・・、１３ｍ、１４ａ、１４ｂ、・・・、１４ｍ、１５ａ、１５ｂ、・・・、１５ｍの停止要求を発見すると、その仮想サーバ１２ａ、１２ｂ、・・・、１２ｍ、１３ａ、１３ｂ、・・・、１３ｍ、１４ａ、１４ｂ、・・・、１４ｍ、１５ａ、１５ｂ、・・・、１５ｍの停止を指示する（ステップＳ９８）。
【図面の簡単な説明】
【００９８】
【図１】本発明の第１実施形態に係る負荷分散装置が適用される仮想サーバ管理システムの概略構成を示すブロック図である。
【図２】本発明の一実施形態に係る仮想サーバ上で動作されるシステムの物理サーバ上への割り付け方法の一例を示す図である。
【図３】本発明の第２実施形態に係る負荷分散装置が適用される仮想サーバ管理システムの概略構成を示すブロック図である。
【図４】本発明の一実施形態に係る遺伝的アルゴリズムを用いた仮想サーバ上で動作されるシステムの物理サーバ上への割り付け方法を示すフローチャートである。
【図５】本発明の一実施形態に係る仮想サーバ上で動作されるシステムに対して物理サーバの負荷を割り付ける方法を示すフローチャートである。
【図６】本発明の一実施形態に係る物理サーバの過負荷時において、仮想サーバ上で動作されるシステムに対して物理サーバの負荷を割り付ける方法を示すフローチャートである。
【図７】本発明の一実施形態に係る物理サーバまたは仮想サーバの異常時において、仮想サーバ上で動作されるシステムに対して物理サーバの負荷を割り付ける方法を示すフローチャートである。
【図８】本発明の一実施形態に係る物理サーバのメンテナンス移行時のまたは仮想サーバの異常時において、仮想サーバ上で動作されるシステムに対して物理サーバの負荷を割り付ける方法を示す図である。
【図９】本発明の一実施形態に係る物理サーバのメンテナンス移行時における新規要求受付停止時の動作を示すフローチャートである。
【図１０】本発明の一実施形態に係る物理サーバのメンテナンス移行時における端末通知開始時の動作を示すフローチャートである。
【図１１】本発明の一実施形態に係る物理サーバのメンテナンス移行時における動作を示すフローチャートである。
【符号の説明】
【００９９】
１ａ、１ｂ、・・・、１ｎ、１１ａ、１１ｂ、・・・、１１ｎ  物理サーバ
２ａ、２ｂ、・・・、２ｍ、３ａ、３ｂ、・・・、３ｍ、４ａ、４ｂ、・・・、４ｍ、５ａ、５ｂ、・・・、５ｍ、１２ａ、１２ｂ、・・・、１２ｍ、１３ａ、１３ｂ、・・・、１３ｍ、１４ａ、１４ｂ、・・・、１４ｍ、１５ａ、１５ｂ、・・・、１５ｍ  仮想サーバ
６  負荷状況収集手段
７  負荷割付手段
８  負荷分散手段
９  負荷分散装置
１６  仮想マシン管理マネージャ
１７  稼動状況収集手段
１８  稼動実績送信手段
１９、３６  稼動実績データ
２０  稼動実績収集手段
２１  仮想マシン制御手段
２３、３２  送受信制御手段
３１  負荷分散装置
３３  稼動状態受信手段
３４  稼動実績受信手段
３５  仮想マシン状態テーブル
３７  仮想マシン異常監視手段
３８  物理マシン管理テーブル
３９  割り付けシステム管理テーブル
４０  仮想マシン割り付けスケジューラ
４１  時間別稼動実績データ
４２  仮想マシン切換スケジュールデータ
４３  仮想マシン制御指示手段
４５  負荷分散手段
【図１】
2008269250.tif 000003
【図２】
2008269250.tif 000004
【図３】
2008269250.tif 000005
【図４】
2008269250.tif 000006
【図５】
2008269250.tif 000007
【図６】
2008269250.tif 000008
【図７】
2008269250.tif 000009
【図８】
2008269250.tif 000010
【図９】
2008269250.tif 000011
【図１０】
2008269250.tif 000012
【図１１】
2008269250.tif 000013