(57)【特許請求の範囲】
【請求項１】
障害が発生した物理サーバの情報を入力するための入力手段と、
コンピュータシステムで実行するサブシステム毎に、予め要求された可用性要件を満たすのに不足する仮想サーバの数を計算し、前記仮想サーバに対する計算機資源の割り当て量を変更することで前記可用性要件を満たす縮退構成を決定する縮退構成決定手段と、
前記縮退構成を示す縮退構成情報に基づいて前記物理サーバに配置された前記仮想サーバを管理するための制御要求を出力する仮想サーバ管理手段と、
前記制御要求にしたがって前記物理サーバに配置された前記仮想サーバの構成を制御する仮想サーバ制御手段と、
を有する縮退構成設計システム。
【請求項２】
前記コンピュータシステムを冗長化すると共に前記可用性要件を満たすように前記物理サーバに対する前記仮想サーバの配置を決定する冗長構成設計手段をさらに有し、
前記仮想サーバ管理手段は、
前記縮退構成情報および前記冗長構成設計手段で決定した前記仮想サーバの配置を示す冗長構成情報に基づいて前記物理サーバに配置された前記仮想サーバを管理するための制御要求を出力する請求項１記載の縮退構成設計システム。
【請求項３】
前記縮退構成決定手段は、
前記可用性要件を満たすのに不足する前記サブシステム毎の仮想サーバの数を計算する不足サーバ台数計算手段と、
前記不足する前記サブシステム毎の仮想サーバの数が零となるように前記仮想サーバに対する計算機資源の割り当て量を変更する資源割り当て変更決定手段と、
前記計算機資源の割り当て量の変更によって発生する、前記可用性要件を満たすのに不足する前記サブシステム毎の仮想サーバの数を再度計算する不足サーバ台数補正手段と、
を有する請求項１または２記載の縮退構成設計システム。
【請求項４】
縮退構成管理サーバが、
障害が発生した物理サーバの情報が入力されると、コンピュータシステムで実行するサブシステム毎に、予め要求された可用性要件を満たすのに不足する仮想サーバの数を計算し、
前記仮想サーバに対する計算機資源の割り当て量を変更することで前記可用性要件を満たす縮退構成を決定し、
前記縮退構成を示す縮退構成情報に基づいて前記物理サーバに配置された前記仮想サーバを管理するための制御要求を出力し、
前記制御要求にしたがって前記物理サーバに配置された前記仮想サーバの構成を制御する縮退構成設計方法。
【請求項５】
前記縮退構成管理サーバが、
前記コンピュータシステムを冗長化すると共に前記可用性要件を満たすように前記物理サーバに対する前記仮想サーバの配置を決定し、
前記縮退構成情報および前記決定した仮想サーバの配置を示す冗長構成情報に基づいて前記物理サーバに配置された前記仮想サーバを管理する請求項４記載の縮退構成設計方法。
【請求項６】
前記縮退構成管理サーバが、
前記可用性要件を満たすのに不足する前記サブシステム毎の仮想サーバの数を計算し、
前記不足する前記サブシステム毎の仮想サーバの数が零となるように前記仮想サーバに対する計算機資源の割り当て量を変更し、
前記計算機資源の割り当て量の変更によって発生する、前記可用性要件を満たすのに不足する前記サブシステム毎の仮想サーバの数を再度計算する請求項４または５記載の縮退構成設計方法。
【請求項７】
障害が発生した物理サーバの情報が入力されると、前記物理サーバを含むコンピュータシステムで実行するサブシステム毎に、予め要求された可用性要件を満たすのに不足する仮想サーバの数を計算し、
前記仮想サーバに対する計算機資源の割り当て量を変更することで前記可用性要件を満たす縮退構成を決定し、
前記縮退構成を示す縮退構成情報に基づいて前記物理サーバに配置された前記仮想サーバを管理するための制御要求を出力し、
前記制御要求にしたがって前記物理サーバに配置された前記仮想サーバの構成を制御する処理をコンピュータに実行させるためのプログラム。
【請求項８】
前記コンピュータシステムを冗長化すると共に前記可用性要件を満たすように前記物理サーバに対する前記仮想サーバの配置を決定し、
前記縮退構成情報および前記決定した仮想サーバの配置を示す冗長構成情報に基づいて前記物理サーバに配置された前記仮想サーバを管理する処理をコンピュータに実行させるための請求項７記載のプログラム。
【請求項９】
前記可用性要件を満たすのに不足する前記サブシステム毎の仮想サーバの数を計算し、
前記不足する前記サブシステム毎の仮想サーバの数が零となるように前記仮想サーバに対する計算機資源の割り当て量を変更し、
前記計算機資源の割り当て量の変更によって発生する、前記可用性要件を満たすのに不足する前記サブシステム毎の仮想サーバの数を再度計算する処理をコンピュータに実行させるための請求項７または８記載のプログラム。
【請求項１０】
コンピュータシステムの可用性要件および障害が発生した物理サーバの情報を入力するための入力手段と、
前記コンピュータシステムを冗長化すると共に前記可用性要件を満たすように前記物理サーバに対する前記仮想サーバの配置を決定する冗長構成設計手段と、
前記コンピュータシステムで実行するサブシステム毎に、前記可用性要件を満たすのに不足する仮想サーバの数を計算し、前記仮想サーバに対する計算機資源の割り当て量を変更することで前記可用性要件を満たす縮退構成を決定する縮退構成決定手段と、
前記縮退構成を示す縮退構成情報に基づいて前記物理サーバに配置された前記仮想サーバを管理するための制御要求を出力する仮想サーバ管理手段と、
前記制御要求にしたがって前記物理サーバに配置された前記仮想サーバの構成を制御する仮想サーバ制御手段と、
を有する縮退構成管理サーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想マシン技術を利用して構築された、冗長化されたコンピュータシステムを、障害発生時に縮退するための縮退構成設計システムおよび方法に関する。
【背景技術】
【０００２】
データセンタや企業の基幹システム等、常時安定稼動が求められるコンピュータシステムでは、サーバを冗長化することで信頼性を高めている。このようなコンピュータシステムでは、必要最低限のサーバに加えて冗長サーバを稼動させることで、一部のサーバで障害が発生しても残りのサーバを利用してサービスを安定して提供できる。【０００３】
背景技術のサーバの冗長化手法としては、例えば特許文献１（特開２００２−５５８４０号公報）に、２重化、Ｎ＋Ｍ構成およびＮ＋１構成が記載されている。２重化とは全てのサーバに対して冗長用のサーバ（物理サーバ）を用意する手法である。Ｎ＋Ｍ構成は、Ｎ台のサーバに対してＭ台の冗長用の物理サーバを用意する手法であり、Ｍ＝１の場合を特にＮ＋１構成と呼ぶ。【０００４】
特許文献１に記載された冗長化手法では、物理サーバで障害が発生したとき、障害が発生した物理サーバをコンピュータシステムから切り離すことで、該コンピュータシステムを継続して運用できる。このような障害が発生した物理サーバを除いた、残りの物理サーバでコンピュータシステムを構築することを縮退と称し、縮退後の構成を縮退構成と称す。【０００５】
一方、近年のデータセンタや企業の基幹システムでは、仮想マシン技術を用いて物理サーバ上に複数の仮想サーバを構築する形態が採用されつつある。【０００６】
例えば非特許文献１（B.  Dragovic,  K.  Fraser,  S.  Hand,  T.  Harris,  A.  Ho,  I.  Pratt,  A.  Warfield,  P.  Barham  and  R.  Neugebauer,  Xen  and  the  Art  of  Virtualization,  19th  ACM  Symposium  on  Operating  Systems  Principles  (SOSP19),  2003.）には、物理サーバが備える計算機資源（ＣＰＵやメモリデバイス等）を所要の処理プログラムによって実現される複数の仮想サーバとして利用する技術が公開されている。【０００７】
この非特許文献１では、各仮想サーバに割り当てる計算機資源の量を、提供するサービスに応じて動的に変更することを提案している。このような仮想マシン技術を利用すれば、新たな物理サーバを導入することなく、仮想サーバを増設するだけでサービスを提供するサブシステム（アプリケーションプログラム（以下、単にアプリケーションと称す））毎に冗長サーバを設けることが可能であり、より少ないコストでコンピュータシステムの冗長化を実現できる。【０００８】
一般に、物理サーバ上で利用可能な計算機資源の全体量は限られている。そのため、上述した仮想マシン技術を利用した冗長化手法では、冗長系として待機させていた仮想サーバに対する計算機資源の割り当て量を増やすと、計算機資源が削減されてサービスの提供に必要な計算機資源量を満たさない仮想サーバが生じる可能性がある。【０００９】
特に、サブシステム（アプリケーション）を複数備えたコンピュータシステムでは、各サブシステム（アプリケーション）に要求される可用性要件に応じてサブシステム（アプリケーション）毎に必要な仮想サーバの最小台数が決まるため、縮退構成に移行した結果、該可用性要件に違反するサブシステム（アプリケーション）が生じないように注意する必要がある。【００１０】
しかしながら、非特許文献１に記載された冗長化手法では、任意の仮想サーバに対する計算機資源の割り当て量の変更に伴う他の仮想サーバへの影響を考慮していないため、仮想マシン技術を利用した冗長化手法にそのまま適用することができない。すなわち、コンピュータシステムで動作するサブシステム（アプリケーション）毎に要求された可用性要件を満たす縮退構成への移行手法が必要になる。【００１１】
また、背景技術の冗長化手法では、仮想サーバに対する計算機資源の割り当て量を変更して縮退構成に移行するための手法を備えていないため、障害が発生した物理サーバに応じた縮退構成を決定できない。
【発明の開示】
【００１２】
そこで、本発明は、仮想マシン技術を利用して冗長化されたコンピュータシステムにおいて、サブシステム（アプリケーション）毎に要求される可用性要件を満たす縮退構成に移行できる縮退構成設計システムおよび方法を提供することを目的とする。
【００１３】
上記目的を達成するため本発明の縮退構成設計システムは、障害が発生した物理サーバの情報を入力するための入力手段と、
コンピュータシステムで実行するサブシステム毎に、予め要求された可用性要件を満たすのに不足する仮想サーバの数を計算し、前記仮想サーバに対する計算機資源の割り当て量を変更することで前記可用性要件を満たす縮退構成を決定する縮退構成決定手段と、
前記縮退構成を示す縮退構成情報に基づいて前記物理サーバに配置された前記仮想サーバを管理するための制御要求を出力する仮想サーバ管理手段と、
前記制御要求にしたがって前記物理サーバに配置された前記仮想サーバの構成を制御する仮想サーバ制御手段と、
を有する。
【００１４】
一方、本発明の縮退構成設計方法は、縮退構成管理サーバが、
障害が発生した物理サーバの情報が入力されると、コンピュータシステムで実行するサブシステム毎に、予め要求された可用性要件を満たすのに不足する仮想サーバの数を計算し、
前記仮想サーバに対する計算機資源の割り当て量を変更することで前記可用性要件を満たす縮退構成を決定し、
前記縮退構成を示す縮退構成情報に基づいて前記物理サーバに配置された前記仮想サーバを管理するための制御要求を出力し、
前記制御要求にしたがって前記物理サーバに配置された前記仮想サーバの構成を制御する方法である。
【図面の簡単な説明】
【００１５】
【図１】図１は、本発明の一実施形態の縮退構成設計システムの構成を示すブロック図である。
【図２】図２は、縮退構成設計システムの他の構成例を示すブロック図である。
【図３】図３は、図１および図２に示した縮退構成決定手段の一構成例を示すブロック図である。
【図４】図４は、図１に示した縮退構成設計システムおよび図２に示した縮退構成管理サーバを実現する一構成例を示すブロック図である。
【図５】図５は、図２に示した冗長構成設計手段の処理手順を示すフローチャートである。
【図６】図６は、図２に示した仮想サーバ管理手段および仮想サーバ制御手段による冗長構成設計時における処理手順を示すフローチャートである。
【図７】図７は、図１および図２に示した縮退構成決定手段の処理手順を示すフローチャートである。
【図８】図８は、図２に示した仮想サーバ管理手段および仮想サーバ制御手段による縮退構成設計時の処理手順を示すフローチャートである。
【図９】図９は、図２に示した冗長構成設計手段で用いる可用性要件の一例を示す表である。
【図１０】図１０は、図２に示した冗長構成設計手段で用いる仮想サーバ配置情報の一例を示す表である。
【図１１】図１１は、図１および図２に示した縮退構成決定手段で用いる不足サーバ台数情報の一例を示す表である。
【図１２】図１２は、図１および図２に示した縮退構成決定手段から出力される縮退構成情報の一例を示す表である。
【図１３】図１３は、縮退構成設計システムの実施例の構成を示すブロック図である。
【図１４】図１４は、図１３に示した縮退構成設計システムで用いるシステム構成情報の一例を示す表である。
【図１５】図１５は、図１３に示した縮退構成設計システムに入力される可用性要件の一例を示す表である
【図１６】図１６は、図１３に示した冗長構成設計手段から出力される仮想サーバ配置情報の一例を示す表である。
【図１７】図１７は、図１３に示した縮退構成設計システムに入力される障害情報の一例を示す表である。
【図１８】図１８は、図１７に示した障害情報の入力時に計算された不足サーバ台数情報の一例を示す表である。
【図１９】図１９は、図１３に示した縮退構成決定手段による縮退構成の設計手順を示すフローチャートである。
【図２０】図２０は、不足サーバ台数の再計算によって得られた不足サーバ台数情報の一例を示す表である。
【図２１】図２１は、不足サーバ台数の再計算によって得られた不足サーバ台数情報の一例を示す表である。
【図２２】図２２は、図１３に示した縮退構成決定手段から出力される縮退構成情報の一例を示す表である。
【発明を実施するための最良の形態】
【００１６】
次に本発明について図面を参照して説明する。【００１７】
図１は本発明の一実施形態の縮退構成設計システムの構成を示すブロック図である。【００１８】
図２は縮退構成設計システムの他の構成例を示すブロック図であり、図３は図１および図２に示した縮退構成決定手段の一構成例を示すブロック図である。【００１９】
図１に示すように、本発明の一実施形態の縮退構成設計システムは、入力手段１１および縮退構成決定手段１３を有する構成である。【００２０】
図１に示す縮退構成設計システムは、図２に示すように複数の物理サーバ２および該物理サーバ２上に構築される仮想サーバ３を備えたコンピュータシステムの冗長構成を管理するために用いられる。【００２１】
図１に示す入力手段１１および縮退構成決定手段１３は、例えば図２に示す縮退構成管理サーバ１によって実現される。縮退構成管理サーバ１と縮退構成設計システムの管理対象である複数の物理サーバ２とは、例えばネットワーク２２を介して接続される。【００２２】
物理サーバ２は、仮想サーバ制御手段２１を備え、仮想サーバ制御手段２１により自物理サーバ２上に構築する０個以上の仮想サーバ３を制御する。【００２３】
図２に示す縮退構成管理サーバ１は、入力手段１１、冗長構成設計手段１２、縮退構成決定手段１３、仮想サーバ管理手段１４、システム構成情報格納部１６および不足サーバ台数情報格納部１８を備えている。なお、図２では仮想サーバ制御手段２１を各物理サーバ２に備える構成例を示しているが、仮想サーバ制御手段２１は縮退構成管理サーバ１に備えていてもよい。【００２４】
入力手段１１は、例えばコンピュータシステムを管理する管理者が該コンピュータシステムに対して要求する可用性要件を入力するために用いられる。また、入力手段１１は、物理サーバ２の障害有無を監視する不図示の監視システムあるいはコンピュータシステムの管理者が、障害が発生した物理サーバ２の情報（障害情報）を入力するために用いられる。【００２５】
可用性要件には、例えば複数の物理サーバ２で同時に障害が発生してもコンピュータシステムを継続して運用できる仮想サーバ３の台数を示す最大同時故障可能数、あるいは各サブシステム（アプリケーション）が提供するサービスで必要な仮想サーバ３の最小台数を示す最小稼動レベル等の情報が含まれる。【００２６】
冗長構成設計手段１２は、管理者によって入力された可用性要件、およびシステム構成情報格納部１６に格納されたシステム構成情報を参照して、コンピュータシステムを冗長化すると共に上記可用性要件を満たすように物理サーバに対する仮想サーバの配置を決定し、その結果を示す情報（仮想サーバ配置情報）を出力する。【００２７】
システム構成情報は、管理対象のコンピュータシステムの現在の構成を示す情報であり、該コンピュータシステムが備える物理サーバ２の数、サブシステム（アプリケーション）の数、物理サーバ２に配置した各仮想サーバの情報等を含む。【００２８】
仮想サーバ管理手段１４は、冗長構成設計手段１２から出力された仮想サーバ配置情報に基づいて各物理サーバ２上に構築される仮想サーバ３を管理する。【００２９】
仮想サーバ制御手段２１は、仮想サーバ管理手段１４からの各種の制御要求を受け付け、該制御要求にしたがって自物理サーバ２内の仮想サーバ３を制御する。仮想サーバ３に対する制御要求には、例えば仮想サーバ３の生成、仮想サーバ３の稼動停止、稼動系の仮想サーバと冗長系の仮想サーバの切り替え等がある。【００３０】
冗長構成の構築後に物理サーバ２で障害が発生した場合、該障害が発生した物理サーバ２の情報は、コンピュータシステムの管理者あるいは物理サーバ２の障害有無を監視している不図示の監視システムから入力手段１１を介して縮退構成決定手段１３に入力される。【００３１】
図３に示すように、縮退構成決定手段１３は、不足サーバ台数計算手段１３１、資源割り当て変更決定手段１３２および不足サーバ台数補正手段１３３を備えている。【００３２】
不足サーバ台数計算手段１３１は、例えば管理者によって入力された障害情報、可用性要件およびシステム構成情報格納部１６に格納されたシステム構成情報を参照し、可用性要件を満たすのに不足するサブシステム（アプリケーション）毎の仮想サーバ（以下、不足サーバと称す）の数を計算する。【００３３】
資源割り当て変更決定手段１３２は、不足サーバ台数計算手段１３１で計算された不足サーバが「０」となるように各仮想サーバ３に対する計算機資源の割り当て量を変更し、その結果を示す情報（縮退構成情報）を出力する。【００３４】
不足サーバ台数補正手段１３３は、計算機資源の割り当て量の変更に伴うサブシステム（アプリケーション）毎の不足サーバの数の変動を監視し、不足サーバ台数情報格納部１８に格納された情報を書き換える。【００３５】
仮想サーバ管理手段１４は、縮退構成決定手段１３から出力された縮退構成情報に基づき、仮想サーバ制御手段２１を用いて物理サーバ２上に構築した仮想サーバ３の配置を変更する。【００３６】
図１に示した縮退構成設計システムおよび図２に示した縮退構成管理サーバ装置１は、例えば図４に示すコンピュータによって実現できる。【００３７】
図４に示すコンピュータは、プログラムにしたがって所定の処理を実行する処理装置４と、処理装置４に対してコマンドや情報等を入力するための入力装置５と、処理装置４の処理結果をモニタするための出力装置６とを有する構成である。【００３８】
処理装置４は、ＣＰＵ４１と、ＣＰＵ４１の処理で必要な情報を一時的に保持する主記憶装置４２と、ＣＰＵ４１に、上記冗長構成設計手段１２、縮退構成決定手段１３および仮想サーバ管理手段１４の処理を実行させるためのプログラムが記録された記録媒体４３と、上記システム構成情報格納部１６および不足サーバ台数情報格納部１８として用いられるデータ蓄積装置４４と、主記憶装置４２、記録媒体４３およびデータ蓄積装置４４とのデータ転送を制御するメモリ制御インタフェース部４５と、入力装置５および出力装置６とのインタフェース装置であるＩ／Ｏインタフェース部４６と、管理対象である複数の物理サーバ２との通信を制御するインタフェースである通信制御装置４７とを備え、それらがバス４８を介して接続された構成である。【００３９】
処理装置４は、記録媒体４３に記録されたプログラムにしたがって、冗長構成設計手段１２、縮退構成決定手段１３および仮想サーバ管理手段１４の処理を実行する。なお、記録媒体４３は、磁気ディスク、半導体メモリ、光ディスクあるいはその他の記録媒体であってもよい。また、データ蓄積装置４４は、冗長構成管理サーバ装置１内に備える必要はなく、独立した装置であってもよい。図２に示した物理サーバ２も動作するプログラムが異なることを除けば図４に示したコンピュータによって実現できる。したがって、ここではその説明を省略する。【００４０】
次に本実施形態の縮退構成の設計方法について図面を用いて説明する。【００４１】
図５は図２に示した冗長構成設計手段の処理手順を示すフローチャートであり、図６は図２に示した仮想サーバ管理手段および仮想サーバ制御手段による冗長構成設計時における処理手順を示すフローチャートである。【００４２】
図５に示すように、管理者が入力手段１１を用いて可用性要件を入力すると（ステップ１０００）、冗長構成設計手段１２は、システム構成情報格納部１６を参照して現在のシステム構成情報を取得し、入力された可用性要件を満たす仮想サーバ３の台数を計算してコンピュータシステムの冗長化に必要な仮想サーバ３の数が現在利用可能な仮想サーバ３の数以内であるか否かを調べ、冗長構成の設計が可能であるか否かを判定する（ステップ１００１）。【００４３】
可用性要件は管理対象のコンピュータシステムに要求される信頼性のレベルを示す要件である。図９にその一例を示す。図９は可用性要件である上記最大同時故障可能数および最小稼動レベルの一例を示している。【００４４】
最大同時故障可能数は、コンピュータシステム全体で許容できる物理サーバ２の故障数であり、物理サーバ２の故障数が最大同時故障可能数以内であれば、縮退処理によりシステムを継続して稼動できることを示す指標である。最小稼動レベルは、コンピュータシステムを継続して運用するのに必要な最小要件を定義した値であり、例えばサブシステム（アプリケーション）毎に必要な最小の仮想サーバ数（以下、最小サーバ台数と称す）が設定される。仮想マシン技術を利用して冗長構成を設計する場合、これらの可用性要件を満たすように、障害の発生に備えて冗長系の仮想サーバ３を準備しておく必要がある。【００４５】
冗長構成設計手段１２は、冗長構成の設計が可能と判定した場合、物理サーバ２に対する仮想サーバ３の配置を決定し、その結果を示す情報（仮想サーバ配置情報）を出力する（ステップ１００２）。冗長構成の設計が不可能と判定した場合は、例えば冗長化に必要な追加すべき物理サーバ２の数を出力して処理を終了する。【００４６】
冗長構成設計手段１２から出力された仮想サーバ配置情報（冗長構成）に問題がなければ、仮想サーバ管理手段１５および仮想サーバ制御手段２１により冗長構成を構築する処理が開始される。【００４７】
冗長構成の構築は、冗長構成設計手段１２から出力された仮想サーバ配置情報を管理者が確認した後に開始してもよく、管理者が確認することなく開始してもよい。何れの場合も仮想サーバ管理手段１５に仮想サーバ配置情報が入力されることで冗長構成の構築が開始される。【００４８】
仮想サーバ配置情報の一例を図１０に示す。図１０は各物理サーバ２上で動作させる仮想サーバ３を定義した一例を示している。図１０に示す例では、各物理サーバ２上で稼動系および冗長系の２種類の仮想サーバ３が動作し、各仮想サーバ３に３種類のサブシステム（アプリケーション）が割り当てられている。また、同一のアプリケーションを実行する稼動系の仮想サーバ３および冗長系の仮想サーバ３が異なる物理サーバ２上に配置されている。具体的には、第１の物理サーバ（物理サーバ１）にアプリケーションＡで動作する稼動系の仮想サーバおよびアプリケーションＢで動作する冗長系の仮想サーバが配置され、第２の物理サーバ（物理サーバ２）にアプリケーションＢで動作する稼動系の仮想サーバおよびアプリケーションＣで動作する冗長系の仮想サーバが配置されている。また、第３の物理サーバ（物理サーバ３）にアプリケーションＣで動作する稼動系の仮想サーバおよびアプリケーションＡで動作する冗長系の仮想サーバが配置されている。【００４９】
図６に示すように、仮想サーバ管理手段１５は、仮想サーバ配置情報が入力されると（ステップ２０００）、該仮想サーバ配置情報に基づいて各物理サーバ２上の仮想サーバ制御手段２１に対して制御要求を送信する（ステップ２００１）。【００５０】
制御要求には、上述したように、仮想サーバ３の生成、稼動停止、稼動系の仮想サーバから冗長系の仮想サーバへの変更、冗長系の仮想サーバから稼動系の仮想サーバへの変更等が含まれる。【００５１】
仮想サーバ制御手段２１は、仮想サーバ３に対する制御要求を受信すると（ステップ２００２）、要求された制御を実行し（ステップ２００３）、その制御結果を仮想サーバ管理手段１５に送信する（ステップ２００４）。【００５２】
仮想サーバ管理手段１５は、各物理サーバ２が備える全ての仮想サーバ制御手段２１からの制御結果を受信した時点で冗長構成の構築処理を終了する（ステップ２００５）。【００５３】
次に、物理サーバ２で障害が発生したときに実行する縮退処理について図７および図８を用いて説明する。【００５４】
図７は図１および図２に示した縮退構成決定手段の処理手順を示すフローチャートであり、図８は図２に示した仮想サーバ管理手段および仮想サーバ制御手段による縮退構成設計時の処理手順を示すフローチャートである。【００５５】
図７に示すように、物理サーバで障害が発生すると、入力手段１１を介して障害が発生した物理サーバ２の情報が縮退構成決定手段１３に入力される（ステップ３０００）。縮退処理では、障害が発生した物理サーバ２を除く、残りの物理サーバ２で可用性要件である最小稼動レベルを満たす冗長構成（縮退構成）を設計する必要がある。【００５６】
縮退構成決定手段１３は、まず障害が発生した物理サーバ２の数と可用性要件である最大同時故障可能数とを比較し、縮退が可能か否かを判定する（ステップ３００１）。障害が発生した物理サーバ２の数が最大同時故障可能数を越えている場合は縮退構成に移行できないため、縮退の不可を示すメッセージを出力して処理を終了する。【００５７】
一方、障害が発生した物理サーバ２の数が最大同時故障可能数を越えていない場合は縮退が可能であるため、縮退構成決定手段１３は、不足サーバ台数計算手段１３１により、可用性要件を満たすのに不足するサブシステム（アプリケーション）毎の仮想サーバ３の数（以下、不足サーバ台数と称す）を計算し、該計算結果（不足サーバ台数情報）を不足サーバ台数情報格納部１８に格納する（ステップ３００２）。【００５８】
不足サーバの数は、可用性要件として入力されたサブシステム（アプリケーション）毎に必要な仮想サーバ３の最小台数（最小サーバ台数）から障害発生後に残っている稼動系の仮想サーバの台数を減じることで求める。【００５９】
不足サーバ台数情報の一例を図１１に示す。図１１に示す例では、アプリケーションＡの最小サーバ台数が「１」であるのに対し、残りの仮想サーバの数（以下、残サーバ台数と称す）が「０」であるため、不足サーバ台数は「１」となる。縮退構成決定手段１３は、この不足サーバを補充する縮退構成を設計する。【００６０】
次に、縮退構成決定手段１３は、サブシステム（アプリケーション）毎に求めた不足する仮想サーバを冗長系の仮想サーバを用いて補充する処理を開始する。【００６１】
縮退構成決定手段１３は、資源割り当て変更決定手段１３２により、仮想サーバ３が不足しているサブシステム（アプリケーション）を一つ選択し（ステップ３００３）、該サブシステム（アプリケーション）に割り当てられた冗長系の仮想サーバ３を探索する（ステップ３００４）。資源割り当て変更決定手段１３２は、選択したサブシステム（アプリケーション）に割り当てられた冗長系の仮想サーバを検出すると、該冗長系の仮想サーバに対する計算機資源の割り当て量を変更する（ステップ３００５）。【００６２】
上述したように、冗長系の仮想サーバに対する計算機資源の割り当て量を変更すると、他のサブシステム（アプリケーション）に割り当てられた仮想サーバの計算機資源量が削減され、不足サーバが発生する可能性がある。【００６３】
そのため、縮退構成決定手段１３は、不足サーバ台数補正手段１３３により可用性要件を満たすのに不足するサブシステム（アプリケーション）毎の仮想サーバ３の数を再度計算し、不足サーバ台数情報格納部１８に格納する不足サーバ台数の情報を更新する（ステップ３００６）。【００６４】
不足サーバ台数補正手段１３３は、不足サーバ台数が「０」であるか否かを判定し（ステップ３００７）、不足サーバ台数が「１」以上である場合はステップ３００３の処理に戻ってステップ３００３〜３００７の処理を繰り返す。不足サーバ台数補正手段１３３は、これらステップ３００３〜３００７の処理を不足サーバ台数が「０」になるまで繰り返すことで縮退構成を決定し、該縮退構成を示す縮退構成情報を出力する。【００６５】
縮退構成情報の一例を図１２に示す。図１２は、図１０に示した冗長構成において、第１の物理サーバ（物理サーバ１）で障害が発生し、第３の物理サーバ（物理サーバ３）に配置されたアプリケーションＡに割り当てた仮想サーバを冗長系から稼動系に切り替え、アプリケーションＣに割り当てた仮想サーバを稼動系から冗長系に切り替える縮退処理の一例を示している。【００６６】
縮退構成決定手段１３から出力された縮退構成情報は、仮想サーバ管理手段１５に入力され、縮退処理が開始される。このとき、縮退処理は管理者の承認を得た後に開始してもよく、管理者の承認を得ることなく開始してもよい。【００６７】
図８に示すように、仮想サーバ管理手段１５は、縮退構成情報が入力されると（ステップ４０００）、該縮退構成情報に基づいて制御要求を仮想サーバ制御手段２１に送信する（ステップ４００１）。【００６８】
仮想サーバ制御手段２１は、制御要求を受信すると（ステップ４００２）、要求された制御を実行し（ステップ４００３）、その制御結果を仮想サーバ管理手段１５に送信する（ステップ４００４）。仮想サーバ管理手段１５は、各物理サーバ２が備える全ての仮想サーバ制御手段２１からの制御結果を受信した時点で縮退処理を終了する（ステップ４００５）。【００６９】
本実施形態の縮退構成設計システムによれば、障害発生時に、可用性要件に基づいてサブシステム（アプリケーション）毎に不足サーバ台数を計算し、残った仮想サーバに対する計算機資源の割り当て量を変更することで縮退構成を決定するため、障害が発生した物理サーバに依存することなく可用性要件を満たす縮退構成に移行できる。【００７０】
また、計算機資源の割り当て量を変更することで発生する不足サーバの数を計算し、新たに発生した不足サーバ台数が「０」になるように計算機資源の割り当て量の変更を繰り返すため、サブシステム（アプリケーション）毎に要求される可用性要件を満たす縮退構成を決定できる。【００７１】
さらに、仮想サーバ３に対する計算機資源の割り当て量を変更するだけで、稼動系の仮想サーバと冗長系の仮想サーバとを切り替えるため、コンピュータシステムを停止することなく、かつ高速に縮退構成を設計できる。
（実施例）
次に本発明の実施例について図面を用いて説明する。【００７２】
図１３は縮退構成設計システムの実施例の構成を示すブロック図である。【００７３】
図１３に示す縮退構成設計システムは、管理対象として６台の物理サーバ２を備え、各物理サーバ２上でそれぞれ２つの仮想サーバが稼動する構成である。【００７４】
図１４は図１３に示した縮退構成設計システムで用いるシステム構成情報の一例を示す表である。【００７５】
図１４に示すように、本実施例のシステム構成情報は、３種類のサブシステム（アプリケーション）で動作する稼動系の仮想サーバ３が６台の物理サーバ２に対してそれぞれ割り当てられている情報を含む。【００７６】
図１４に示す例では、第１の物理サーバ（物理サーバ１）〜第３の物理サーバ（物理サーバ３）にアプリケーションＡの稼動系の仮想サーバが割り当てられ、第４の物理サーバ（物理サーバ４）および第５の物理サーバ（物理サーバ５）にアプリケーションＢの稼動系の仮想サーバが割り当てられ、第６の物理サーバ（物理サーバ６）にアプリケーションＣの稼動系の仮想サーバが割り当てられている。【００７７】
また、本実施例では、図１３に示した縮退構成設計システムに対して図１５に示す可用性要件が入力されると仮定する。図１５に示すように、本実施例の可用性要件は、最大同時故障可能数が「３」であり、最小稼動レベルとして指定されるアプリケーション毎の最小サーバ台数が「１」である。【００７８】
冗長構成設計手段１２は、図１５に示す可用性要件を満たす、物理サーバ２に対する仮想サーバ３の配置を決定し、例えば図１６に示すような仮想サーバ配置情報を出力するものとする。図１６に示す例では、第１の物理サーバ（物理サーバ１）および第２の物理サーバ（物理サーバ２）にアプリケーションＢの冗長系の仮想サーバが割り当てられ、第３の物理サーバ（物理サーバ３）〜第５の物理サーバ（物理サーバ５）にアプリケーションＣの冗長系の仮想サーバが割り当てられ、第６の物理サーバ（物理サーバ６）にアプリケーションＡの冗長系の仮想サーバが割り当てられている。【００７９】
図１６に示す仮想サーバ配置情報によれば、図１３に示した縮退構成設計システムでは、いずれか３台の物理サーバで障害が発生した場合でも、仮想サーバに対する計算機資源の割り当て量を変更するだけで、可用性要件を満たす縮退構成に移行できる。【００８０】
次に物理サーバで障害が発生した場合の縮退処理について図７に示したフローチャートを参照して説明する。【００８１】
図７に示したように、縮退構成決定手段１３は、例えば管理者が入力手段１１を用いて障害が発生した物理サーバの情報を入力すると（ステップ３０００）、可用性要件を満たす縮退構成への移行が可能であるか否かを判定する（ステップ３００１）。【００８２】
図１７は障害が発生した物理サーバを特定するための障害情報の一例を示している。図１７に示すように、ここでは図１３に示した縮退構成設計システムが備える６台の物理サーバのうち、第１の物理サーバ（物理サーバ１）、第２の物理サーバ（物理サーバ２）および第３の物理サーバ（物理サーバ３）で障害が発生したものとする。【００８３】
縮退構成決定手段１３は、障害が発生した物理サーバの数が３台であり、図１５に示した可用性要件である最大同時故障可能数以下であるため、縮退が可能と判定する。【００８４】
次に、縮退構成決定手段１３は、不足サーバ台数計算手段１３１により、可用性要件を満たすのに不足する仮想サーバ３の数（不足サーバ台数）をサブシステム（アプリケーション）毎に計算し、該計算結果を示す情報（不足サーバ台数情報）を不足サーバ台数情報格納部１８に格納する（ステップ３００２）。【００８５】
図１８に不足サーバ台数計算手段１３１で計算した不足サーバ台数情報の一例を示す。【００８６】
図１８に示すように、本実施例では、アプリケーションＡで１台の不足サーバが発生しているため、縮退構成決定手段１３は、資源割り当て変更決定手段１３２によりアプリケーションＡを選択し（ステップ３００３）、該サブシステム（アプリケーションＡ）に割り当てられた冗長系の仮想サーバ３を探索する（ステップ３００４）。【００８７】
資源割り当て変更決定手段１３２は、アプリケーションＡに割り当てられた冗長系の仮想サーバを検出すると、該冗長系の仮想サーバに対する計算機資源の割り当て量を変更する（ステップ３００５）。【００８８】
資源割り当て変更決定手段１３２によって計算機資源の割り当て量を変更すると、新たに他のサブシステム（アプリケーション）で不足サーバが発生する可能性がある。そのため、縮退構成決定手段１３は、不足サーバ台数補正手段１３３によりサブシステム（アプリケーション）毎の不足サーバ台数を再度計算し、その計算結果を不足サーバ台数情報格納部１８に格納して不足サーバ台数情報を更新する（ステップ３００６）。【００８９】
次に、縮退構成決定手段１３は、不足サーバ台数が「０」であるか否かを判定し、不足サーバ台数が「０」でない場合はステップ３００３の処理に戻ってステップ３００３〜３００７の処理を繰り返す。これらステップ３００３〜３００７の処理を不足サーバ台数が「０」になるまで繰り返すことで移行後の縮退構成が得られる。【００９０】
より詳細な縮退構成の設計手順について図１９を用いて説明する。【００９１】
図１９に示すように、縮退構成決定手段１３は、まず変数ｉの値を初期化（ｉ＝１）する（ステップ５０００）。ここでは、各アプリケーションをａ＿ｉと定義し、アプリケーションＡをａ＿１とし、アプリケーションＢをａ＿２とし、アプリケーションＣをａ＿３とする。また、各アプリケーションａ＿ｉで発生する不足サーバ台数をγ（ａ＿ｉ）とする。【００９２】
次に、縮退構成決定手段１３は、アプリケーションａ＿１を選択し（ステップ５００１）、選択したアプリケーションの不足サーバ台数γ（ａ＿１）が「０」であるか否かを判定する（ステップ５００２）。【００９３】
本実施例では図１８に示した例のようにγ（ａ＿１）＝１であるため、縮退構成決定手段１３は、アプリケーションａ＿１の冗長系の仮想サーバが割り当てられ、稼働系の仮想サーバがアプリケーションの処理を実行していない物理サーバＳｈを探索する（ステップ５００６）。【００９４】
縮退構成決定手段１３は、物理サーバＳｈが有るか否かを判定し（ステップ５００７）、物理サーバＳｈが無い場合はステップ５００３の処理へ移行する。【００９５】
ここでは、第６の物理サーバ（物理サーバ６）を検出するため、縮退構成決定手段１３は、第６の物理サーバにおける計算機資源の割り当て量の変更を決定する（ステップ５００８）。【００９６】
第６の物理サーバは、稼働系の仮想サーバによりアプリケーションＣ（ａ＿３）の処理を実行しているため、縮退構成決定手段１３は、計算機資源の割り当て量を変更することで、アプリケーションａ＿３の残サーバ台数を「１」だけ削減し、アプリケーションａ＿１の残サーバ台数を「１」だけ増加する（ステップ５００９）。【００９７】
計算機資源の割り当て量を変更すると、縮退構成決定手段１３は、不足サーバ台数を再度計算する（ステップ５０１０）。このとき、再計算後の不足サーバ台数情報は図２０に示すようになる。図２０に示す例では、計算機資源の割り当て量を変更することで、新たにアプリケーションＣ（ａ＿３）で不足サーバが発生している。再計算後の不足サーバ台数情報は不足サーバ台数格納部１８に格納される。【００９８】
次に、縮退構成決定手段１３は、選択したアプリケーション（ここでは、ａ＿１）の不足サーバ台数γ（ａ＿１）が「０」であるか否かを判定する（ステップ５０１１）。ここではγ（ａ＿１）＝０となるため、縮退構成決定手段１３は、アプリケーションａ＿１を処理済みと判定し（ステップ５０１２）、ステップ５００３の処理に移行してｉ＝２とし、ｉの値がアプリケーション数ｎを越えたか否かを判定する（ステップ５００４）。【００９９】
本実施例ではｎ＝３であるため、縮退構成決定手段１３は、ステップ５００１の処理に戻り、アプリケーションａ＿２に対して上記と同様の処理を実行する。【０１００】
縮退構成決定手段１３は、まずアプリケーションａ＿２を選択し（ステップ５００１）、選択したアプリケーションの不足サーバ台数γ（ａ＿２）が「０」であるか否かを判定する（ステップ５００２）。【０１０１】
本実施例では図１８に示した例のようにγ（ａ＿２）＝０であるため、縮退構成決定手段１３は、ステップ５００３の処理に移行してｉ＝３とし、ｉの値がアプリケーション数ｎを越えたか否かを判定する（ステップ５００４）。【０１０２】
本実施例ではｎ＝３であるため、縮退構成決定手段１３は、ステップ５００１の処理に戻り、アプリケーションａ＿３に対して上記と同様の処理を実行する。【０１０３】
縮退構成決定手段１３は、まずアプリケーションａ＿３を選択し（ステップ５００１）、選択したアプリケーションの不足サーバ台数γ（ａ＿２）が「０」であるか否かを判定する（ステップ５００２）。【０１０４】
本実施例では、図２０に示したように、不足サーバ台数を再度計算することで、アプリケーションａ＿３の不足サーバ台数γ（ａ＿３）が「１」となっているため、縮退構成決定手段１３は、アプリケーションａ＿３の冗長系の仮想サーバが割り当てられ、稼働系の仮想サーバがアプリケーションを実行していない物理サーバＳｈを探索する（ステップ５００６）。【０１０５】
縮退構成決定手段１３は、物理サーバＳｈが有るか否かを判定し（ステップ５００７）、物理サーバＳｈが無い場合はステップ５００３の処理へ移行する。【０１０６】
ここでは、第４の物理サーバ（物理サーバ４）を検出するため、縮退構成決定手段１３は、第４の物理サーバにおける計算機資源の割り当て量の変更を決定する（ステップ５００８）。【０１０７】
第４の物理サーバは、稼働系の仮想サーバによりアプリケーションＢ（ａ＿２）の処理を実行しているため、縮退構成決定手段１３は、計算機資源の割り当て量を変更することで、アプリケーションａ＿２の残サーバ台数を「１」だけ削減し、アプリケーションａ＿３の残サーバ台数を「１」だけ増加する（ステップ５００９）。【０１０８】
計算機資源の割り当て量を変更すると、縮退構成決定手段１３は、不足サーバ台数を再度計算する（ステップ５０１０）。このとき、再計算後の不足サーバ台数情報は図２１に示すようになる。
図２１に示す例では、計算機資源の割り当て量を変更することで全てのアプリケーションで不足サーバ台数が「０」になっている。再計算後の不足サーバ台数情報は不足サーバ台数格納部１８に格納される。【０１０９】
次に、縮退構成決定手段１３は、選択したアプリケーション（ここでは、ａ＿３）の不足サーバ台数γ（ａ＿３）が「０」であるか否かを判定する（ステップ５０１１）。ここではγ（ａ＿３）＝０となるため、縮退構成決定手段１３は、アプリケーションａ＿３を処理済みと判定し（ステップ５０１２）、ステップ５００３の処理に移行してｉ＝４とし、ｉの値がアプリケーション数ｎを越えたか否かを判定する（ステップ５００４）。【０１１０】
本実施例ではｎ＝３であるため、縮退構成決定手段１３は、ステップ５００５の処理に移行し、全てのアプリケーションの不足サーバ台数の総和を計算する。そして、不足サーバ台数の総和が「０」であるか否かを判定し、不足サーバ台数の総和が「０」である場合は処理を終了する。不足サーバ台数の総和が「０」でない場合はステップ５００１の処理に戻ってステップ５００１〜５０１２の処理を繰り返す。【０１１１】
以上の処理により、第４の物理サーバおよび第６の物理サーバにて計算機資源の割り当て量が変更され、例えば図２２に示すような縮退構成情報が得られる。図２２に示す例では、第４の物理サーバ（物理サーバ４）にアプリケーションＣの稼動系の仮想サーバおよびアプリケーションＢの冗長系の仮想サーバが割り当てられ、第６の物理サーバ（物理サーバ６）にアプリケーションＡの稼動系の仮想サーバおよびアプリケーションＣの冗長系の仮想サーバが割り当てられている。【０１１２】
縮退構成情報が得られると、図８に示した手順にしたがってコンピュータシステムの冗長構成が変更される。本実施例では、第４の物理サーバおよび第６の物理サーバに配置された仮想サーバの計算機資源の割り当て量を変更して稼動系と冗長系を入れ替える。計算機資源の割り当て量の変更はすぐに終了するため、縮退処理を高速に実行できる。【０１１３】
本実施例の縮退構成設計システムによれば、仮想サーバに対する計算機資源の割り当て量を変更することで他のアプリケーションで不足サーバが生じても、不足サーバ台数情報を更新して計算機資源の割り当て量を変更する仮想サーバを繰り返し探索するため、可用性要件を満たす縮退構成を決定できる。【０１１４】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されものではない。本願発明の構成や詳細は本願発明のスコープ内で当業者が理解し得る様々な変更が可能である。【０１１５】
この出願は、２００７年１２月２６日に出願された特願２００７−３３４４４２号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【図１】
0005526784.tif 000002
【図２】
0005526784.tif 000003
【図３】
0005526784.tif 000004
【図４】
0005526784.tif 000005
【図５】
0005526784.tif 000006
【図６】
0005526784.tif 000007
【図７】
0005526784.tif 000008
【図８】
0005526784.tif 000009
【図９】
0005526784.tif 000010
【図１０】
0005526784.tif 000011
【図１１】
0005526784.tif 000012
【図１２】
0005526784.tif 000013
【図１３】
0005526784.tif 000014
【図１４】
0005526784.tif 000015
【図１５】
0005526784.tif 000016
【図１６】
0005526784.tif 000017
【図１７】
0005526784.tif 000018
【図１８】
0005526784.tif 000019
【図１９】
0005526784.tif 000020
【図２０】
0005526784.tif 000021
【図２１】
0005526784.tif 000022
【図２２】
0005526784.tif 000023