(57)【要約】  管理対象であるコンピュータシステムの可用性要件が入力されると、コンピュータシステムの構成を示す情報であるシステム構成情報およびコンピュータシステムが備える物理サーバで稼動可能な処理プログラムの数を制限するための制約情報を参照し、可用性要件を満たす物理サーバに対する処理プログラムの配置を決定する。
2009081736.tif 000002
【特許請求の範囲】
【請求項１】
管理対象であるコンピュータシステムの可用性要件を入力するための入力手段と、
前記コンピュータシステムの構成を示す情報であるシステム構成情報および前記コンピュータシステムが備える物理サーバで稼動可能な処理プログラムの数を制限するための制約情報を参照して、前記可用性要件を満たす前記物理サーバに対する前記処理プログラムの配置を決定する冗長構成設計手段と、
を有する冗長構成管理システム。
【請求項２】
前記処理プログラムは、仮想サーバを実現するためのものである請求項１記載の冗長構成管理システム。
【請求項３】
前記冗長構成設計手段で決定した前記仮想サーバの配置を示す冗長構成情報に基づいて前記物理サーバに配置された前記仮想サーバを管理するための制御要求を出力する仮想サーバ管理手段と、
前記制御要求にしたがって前記物理サーバに配置した前記仮想サーバの構成を制御する仮想サーバ制御手段と、
をさらに有する請求項２記載の冗長構成管理システム。
【請求項４】
障害が発生した前記物理サーバの情報、前記システム構成情報および前記制約情報を参照して、前記可用性要件を満たす縮退構成を決定する縮退構成決定手段をさらに有し、
前記仮想サーバ管理手段は、
前記冗長構成情報および前記縮退構成決定手段で決定した前記仮想サーバの配置を示す縮退構成情報に基づいて前記物理サーバに配置された前記仮想サーバを管理するための制御要求を出力する請求項３記載の冗長構成管理システム。
【請求項５】
前記冗長構成設計手段は、
前記可用性要件を満たす、前記コンピュータシステムの冗長化に必要な前記仮想サーバの数を計算する必要サーバ台数計算手段と、
同一の物理サーバに対して、同一のサブシステムに対応する稼動系の仮想サーバおよび冗長系の仮想サーバを配置しないように前記仮想サーバの配置を決定する仮想サーバ配置決定手段と、
を有する請求項２から４のいずれか１項記載の冗長構成管理システム。
【請求項６】
前記冗長構成設計手段は、
前記物理サーバで障害が発生した時、前記可用性要件、前記システム構成情報および前記制約情報を参照して、前記コンピュータシステムを継続して運用できる前記仮想サーバの台数を示す最大同時故障可能数を計算する最大同時故障可能数計算手段を有する請求項２から５のいずれか１項記載の冗長構成管理システム。
【請求項７】
前記可用性要件として入力されるサービスレベルやビジネス要件を、該サービスレベルやビジネス要件で必要な最小の仮想サーバ台数に換算するための換算情報が格納されたサーバ台数換算情報格納部を有し、
前記冗長構成設計手段は、
前記サーバ台数換算情報格納部に格納された換算情報を参照し、前記可用性要件として入力されたサービスレベルやビジネス要件を前記最小の仮想サーバ台数に換算する最小サーバ台数計算手段を有する請求項２から６のいずれか１項記載の冗長構成管理システム。
【請求項８】
管理対象であるコンピュータシステムの可用性要件が入力されると、前記コンピュータシステムの構成を示す情報であるシステム構成情報および前記コンピュータシステムが備える物理サーバで稼動可能な処理プログラムの数を制限するための制約情報を参照して、前記可用性要件を満たす前記物理サーバに対する前記処理プログラムの配置を決定する冗長構成管理方法。
【請求項９】
前記処理プログラムは、仮想サーバを実現するためのものである請求項８記載の冗長管理方法。
【請求項１０】
前記決定した仮想サーバの配置を示す冗長構成情報に基づいて冗長構成を構築すると共に前記物理サーバに配置された前記仮想サーバを管理する請求項９記載の冗長構成管理方法。
【請求項１１】
障害が発生した前記物理サーバの情報が入力されると、該物理サーバの情報、前記システム構成情報および前記制約情報を参照して、前記可用性要件を満たす縮退構成を決定し、
該決定した仮想サーバの配置を示す縮退構成情報に基づいて縮退構成を構築する請求項１０記載の冗長構成管理方法。
【請求項１２】
前記可用性要件を満たす、前記コンピュータシステムの冗長化に必要な前記仮想サーバの数を計算し、
同一の物理サーバに対して、同一のサブシステムに対応する稼動系の仮想サーバおよび冗長系の仮想サーバを配置しないように前記仮想サーバの配置を決定する請求項９から１１のいずれか１項記載の冗長構成管理方法。
【請求項１３】
前記物理サーバで障害が発生した時、前記可用性要件、前記システム構成情報および前記制約情報を参照して、前記コンピュータシステムを継続して運用できる前記仮想サーバの台数を示す最大同時故障可能数を計算する請求項９から１２のいずれか１項記載の仮想サーバ冗長構成管理方法。
【請求項１４】
前記可用性要件として入力されるサービスレベルやビジネス要件を該サービスレベルやビジネス要件で必要な最小の仮想サーバ台数に換算するための換算情報を記憶装置に格納しておき、
前記可用性要件としてサービスレベルやビジネス要件が入力されると、前記換算情報を参照して該サービスレベルやビジネス要件を前記最小の仮想サーバ台数に換算する請求項９から１３のいずれか１項記載の冗長構成管理方法。
【請求項１５】
管理対象であるコンピュータシステムの可用性要件が入力されると、前記コンピュータシステムの構成を示す情報であるシステム構成情報および前記コンピュータシステムが備える物理サーバで稼動可能な処理プログラムの数を制限するための制約情報を参照して、前記可用性要件を満たす前記物理サーバに対する前記処理プログラムの配置を決定する処理をコンピュータに実行させるためのプログラム。
【請求項１６】
前記処理プログラムは、仮想サーバを実現するためのものである請求項１５記載のプログラム。
【請求項１７】
前記決定した仮想サーバの配置を示す冗長構成情報に基づいて冗長構成を構築すると共に前記物理サーバに配置された前記仮想サーバを管理する処理をコンピュータに実行させるための請求項１６記載のプログラム。
【請求項１８】
障害が発生した前記物理サーバの情報が入力されると、該物理サーバの情報、前記システム構成情報および前記制約情報を参照して、前記可用性要件を満たす縮退構成を決定し、
該決定した仮想サーバの配置を示す縮退構成情報に基づいて縮退構成を構築する処理をコンピュータに実行させるための請求項１７記載のプログラム。
【請求項１９】
前記可用性要件を満たす、前記コンピュータシステムの冗長化に必要な前記仮想サーバの数を計算し、
同一の物理サーバに対して、同一のサブシステムに対応する稼動系の仮想サーバおよび冗長系の仮想サーバを配置しないように前記仮想サーバの配置を決定する処理をコンピュータに実行させるための請求項１６から１８のいずれか１項記載のプログラム。
【請求項２０】
前記物理サーバで障害が発生した時、前記可用性要件、前記システム構成情報および前記制約情報を参照して、前記コンピュータシステムを継続して運用できる前記仮想サーバの台数を示す最大同時故障可能数を計算する処理をコンピュータに実行させるための請求項１６から１９のいずれか１項記載のプログラム。
【請求項２１】
前記可用性要件として入力されるサービスレベルやビジネス要件を該サービスレベルやビジネス要件で必要な最小の仮想サーバ台数に換算するための換算情報を記憶装置に格納しておき、
前記可用性要件としてサービスレベルやビジネス要件が入力されると、前記換算情報を参照して該サービスレベルやビジネス要件を前記最小の仮想サーバ台数に換算する処理をコンピュータに実行させるための請求項１６から２０のいずれか１項記載のプログラム。
【請求項２２】
仮想マシン技術を利用したコンピュータシステムの冗長構成を管理するための冗長構成管理サーバに接続された、前記コンピュータシステムを構成する物理サーバであって、
前記冗長構成管理サーバから出力される、仮想サーバを管理するための制御要求にしたがって、前記仮想サーバの構成を制御する仮想サーバ制御手段を備えた物理サーバ。
【請求項２３】
管理対象であるコンピュータシステムの可用性要件および障害が発生した物理サーバの情報を入力するための入力手段と、
前記コンピュータシステムの構成を示す情報であるシステム構成情報および前記コンピュータシステムが備える物理サーバで稼動可能な仮想サーバの数を制限するための制約情報を参照して、前記可用性要件を満たす前記物理サーバに対する前記仮想サーバの配置を決定する冗長構成設計手段と、
前記障害が発生した前記物理サーバの情報、前記システム構成情報および前記制約情報を参照して、前記可用性要件を満たす縮退構成を決定する縮退構成決定手段と、
前記冗長構成情報および前記縮退構成決定手段で決定した前記仮想サーバの配置を示す縮退構成情報に基づいて前記物理サーバに配置された前記仮想サーバを管理するための制御要求を出力する仮想サーバ管理手段と、
を有する冗長構成管理サーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想マシン技術を用いて複数の物理サーバから構成されるコンピュータシステムを冗長化するための冗長構成管理システム及び方法に関する。
【背景技術】
【０００２】
データセンタや企業の基幹システム等、常時安定稼動が求められるコンピュータシステムでは、サーバを冗長化することで信頼性を高めている。このようなコンピュータシステムでは、必要最低限のサーバに加えて冗長サーバを稼動させることで、一部のサーバで障害が発生しても残りのサーバを利用してサービスを安定して提供できる。【０００３】
背景技術のサーバの冗長化手法としては、例えば特許文献１（特開２００２−５５８４０号公報）に、２重化、Ｎ＋Ｍ構成およびＮ＋１構成が記載されている。２重化とは全てのサーバに対して冗長用の物理サーバを用意する手法である。Ｎ＋Ｍ構成は、Ｎ台のサーバに対してＭ台の冗長用の物理サーバを用意する手法であり、Ｍ＝１の場合を特にＮ＋１構成と呼ぶ。【０００４】
特許文献１に記載された冗長化手法では、冗長用の物理サーバを用意するために該物理サーバの分だけシステムのコストが上昇する。特にサービスを提供するサブシステム（アプリケーションプログラム（以下、単にアプリケーションと称す））を複数備えたコンピュータシステムでは、サブシステム（アプリケーション）毎に冗長用の物理サーバを必要とするため、冗長化のためのコストが増大する。したがって、複数のサブシステム（アプリケーション）で冗長用の物理サーバを共有する等のコスト削減の工夫が必要となる。【０００５】
一方、近年のデータセンタや企業の基幹システムでは、仮想マシン技術を用いて、物理サーバ上に複数の仮想サーバを構築する形態が採用されつつある。【０００６】
例えば非特許文献１（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.）には、物理サーバが備える計算機資源（ＣＰＵやメモリデバイス等）を所要の処理プログラムによって実現される複数の仮想サーバとして利用する技術が公開されている。このような仮想マシン技術を利用すれば、新たな物理サーバを導入することなく、仮想サーバを増設することでサブシステム（アプリケーション）毎に冗長用のサーバを設けることが可能であり、より少ないコストでコンピュータシステムの冗長化を実現できる。【０００７】
上述したように、特許文献１に記載された冗長化手法では、サブシステム（アプリケーション）毎に冗長化のための物理サーバを必要とするため、複数のサブシステム（アプリケーション）を備えたコンピュータシステムを冗長化すると、冗長化のためにコンピュータシステムのコストが増大する問題がある。【０００８】
一方、仮想マシン技術を利用した冗長化手法は、少ないコストでコンピュータシステムの冗長化を実現できるが、物理サーバで障害が発生すると、複数の仮想サーバが同時に故障する可能性があるため、冗長化による効果（コンピュータシステムの復旧や継続稼動等）が得られない問題がある。例えば、同一のサブシステム（アプリケーション）に割り当てられた稼動中の仮想サーバ（稼動サーバ）および冗長用の仮想サーバ（冗長サーバ）が同一の物理サーバ上に配置されている場合、該物理サーバで障害が発生すると、冗長化によるコンピュータシステムの復旧や継続稼動が不可能となる。すなわち、仮想マシン技術では、同一のサブシステム（アプリケーション）に割り当てる稼動サーバおよび冗長サーバを異なる物理サーバ上に配置する必要がある。【０００９】
上記非特許文献１の仮想マシン技術では、コンピュータシステムで必要な冗長サーバの台数を求めることはできるが、物理サーバに対して仮想サーバをどのように配置するかは示していない。
【発明の開示】
【００１０】
そこで、本発明は、コンピュータシステムの復旧や継続稼動等の冗長化の効果が得られる、仮想マシン技術を利用したコンピュータシステムの冗長化を実現できる冗長構成管理システムおよび方法を提供することを目的とする。
【００１１】
上記目的を達成するため本発明の冗長構成管理システムは、管理対象であるコンピュータシステムの可用性要件を入力するための入力手段と、
前記コンピュータシステムの構成を示す情報であるシステム構成情報および前記コンピュータシステムが備える物理サーバで稼動可能な処理プログラムの数を制限するための制約情報を参照して、前記可用性要件を満たす前記物理サーバに対する前記処理プログラムの配置を決定する冗長構成設計手段と、
を有する。
【００１２】
一方、本発明の冗長構成管理方法は、管理対象であるコンピュータシステムの可用性要件が入力されると、前記コンピュータシステムの構成を示す情報であるシステム構成情報および前記コンピュータシステムが備える物理サーバで稼動可能な処理プログラムの数を制限するための制約情報を参照して、前記可用性要件を満たす前記物理サーバに対する前記処理プログラムの配置を決定する方法である。
【図面の簡単な説明】
【００１３】
【図１】図１は、本発明の一実施形態の冗長構成管理システムの構成を示すブロック図である。
【図２】図２は、第１の実施の形態の冗長構成管理システムの構成を示すブロック図である。
【図３】図３は、第１の実施の形態の冗長構成設計手段の構成を示すブロック図である。
【図４】図４は、図１に示した冗長構成管理システムおよび図２に示した冗長構成管理サーバを実現する一構成例を示すブロック図である。
【図５】図５は、第１の実施の形態の冗長構成設計手段の処理手順を示すフローチャートである。
【図６】図６は、第１の実施の形態の仮想サーバ管理手段および仮想サーバ制御手段による冗長構成設計時における処理手順を示すフローチャートである。
【図７】図７は、第１の実施の形態の縮退構成決定手段の処理手順を示すフローチャートである。
【図８】図８は、第１の実施の形態の仮想サーバ管理手段および仮想サーバ制御手段による縮退構成設計時の処理手順を示すフローチャートである。
【図９】図９は、冗長構成設計手段で用いる可用性要件の一例を示す表である。
【図１０】図１０は、冗長構成設計手段で用いる仮想サーバ制約情報の一例を示す表である。
【図１１】図１１は、冗長構成設計手段で用いる仮想サーバ配置情報の一例を示す表である。
【図１２】図１２は、冗長構成設計手段で用いる縮退構成情報の一例を示す表である。
【図１３】図１３は、第２の実施の形態の冗長構成設計手段の構成を示すブロック図である。
【図１４】図１４は、第２の実施の形態の冗長構成設計手段の処理手順を示すフローチャートである。
【図１５】図１５は、第３の実施の形態の冗長構成設計手段の構成を示すブロック図である。
【図１６】図１６は、第３の実施の形態の冗長構成設計手段の処理手順を示すフローチャートである。
【図１７】図１７は、冗長構成設計手段で用いる換算情報の一例を示す表である。
【図１８】図１８は、冗長構成管理システムの実施例の構成を示すブロック図である。
【図１９】図１９は、図１８に示した冗長構成管理システムに入力される可用性要件の一例を示す表である。
【図２０】図２０は、図１８に示した冗長構成管理システムで用いる仮想サーバ制約情報の一例を示す表である。
【図２１】図２１は、図１８に示した冗長構成管理システムで用いるシステム構成情報の一例を示す表である。
【図２２】図２２は、図１８に示した冗長構成設計手段による必要サーバ台数の計算手順を示すフローチャートである。
【図２３】図２３は、図２２に示した処理手順にしたがって求めた故障余裕および必要冗長サーバ数の一例を示す表である。
【図２４】図２４は、図１８に示した冗長構成設計手段による仮想サーバの配置決定手順を示すフローチャートである。
【図２５】図２５は、図２４に示した処理手順にしたがった冗長構成の決定過程を示す模式図である。
【図２６】図２６は、図２４に示した処理手順にしたがって得られる仮想サーバ配置情報の一例を示す表である。
【図２７】図２７は、障害が発生した物理サーバの情報の一例を示す模式図である。
【図２８】図２８は、図１８に示した縮退構成決定手段から出力される縮退構成情報の一例を示す表である。
【発明を実施するための最良の形態】
【００１４】
次に本発明について図面を参照して説明する。
（第１の実施の形態）
図１は本発明の一実施形態の冗長構成管理システムの構成を示すブロック図である。図２は第１の実施の形態の冗長構成管理システムの構成を示すブロック図であり、図３は第１の実施の形態の冗長構成設計手段の構成を示すブロック図である。【００１５】
図１に示すように、本発明の一実施形態の冗長構成管理システムは、入力手段１１および冗長構成設計手段１２を有する構成である。【００１６】
図１に示す冗長構成管理システムは、図２に示すように複数の物理サーバ２および該物理サーバ２上に構築される仮想サーバ３を備えたコンピュータシステムの冗長構成を管理するためのものである。【００１７】
図１に示す入力手段１１および冗長構成設計手段１２は、例えば図２に示すような冗長構成管理サーバ１によって実現される。冗長構成管理サーバ１と冗長構成管理システムの管理対象である複数の物理サーバ２とは、例えばネットワーク２２を介して接続される。【００１８】
物理サーバ２は、仮想サーバ制御手段２１を備え、仮想サーバ制御手段２１によって自物理サーバ２上に構築された０個以上の仮想サーバ３を制御する。【００１９】
図２に示す冗長構成管理サーバ１は、入力手段１１、冗長構成設計手段１２、縮退構成決定手段１３、仮想サーバ管理手段１４、仮想サーバ制約情報格納部１５およびシステム構成情報格納部１６を備えている。なお、図２では仮想サーバ制御手段２１を各物理サーバ２に備える構成例を示しているが、仮想サーバ制御手段２１は冗長構成管理サーバ１に備えていてもよい。【００２０】
図３に示すように、第１の実施の形態の冗長構成設計手段１２は、必要サーバ台数計算手段１２１および仮想サーバ配置決定手段１２２を備えている。【００２１】
入力手段１１は、例えばコンピュータシステムを管理する管理者が該コンピュータシステムに対して要求する可用性要件を入力するために用いられる。また、入力手段１１は、物理サーバ２の障害有無を監視する不図示の監視システムあるいはコンピュータシステムの管理者が、障害が発生した物理サーバ２の情報を入力するために用いられる。【００２２】
可用性要件には、例えば複数の物理サーバ２で同時に障害が発生してもコンピュータシステムを継続して運用できる仮想サーバ３の台数を示す最大同時故障可能数、あるいは各サブシステム（アプリケーション）が提供するサービスで必要な仮想サーバ３の最小台数を示す最小稼動レベル等の情報が含まれる。【００２３】
冗長構成設計手段１２は、必要サーバ台数計算手段１２１により、入力手段１１を介して入力された可用性要件、システム構成情報格納部１６に格納されたシステム構成情報および仮想サーバ制約情報格納部１５に格納された仮想サーバ制約情報（制約情報）を参照して、管理対象のコンピュータシステムの冗長化に必要な物理サーバ２および仮想サーバ３の数を計算する。【００２４】
システム構成情報は、コンピュータシステムの現在の構成を示す情報であり、管理対象のコンピュータシステムが備える物理サーバ２の数、サブシステム（アプリケーション）の数、物理サーバ２に配置した仮想サーバの情報、物理サーバ２の障害有無等の情報を含む。仮想サーバ制約情報（制約情報）は、各物理サーバ２で稼動する仮想サーバ３の数に制限を与える情報であり、物理サーバ２上で稼動できる仮想サーバ（稼動サーバ）の数および冗長用の仮想サーバ（冗長サーバ）の数の情報を含む。【００２５】
また、冗長構成設計手段１２は、仮想サーバ配置決定手段１２２により、各物理サーバ２に対する仮想サーバ３の配置を決定し、その結果を示す情報（仮想サーバ配置情報）を出力する。仮想サーバ配置決定手段１２２は、サブシステム（アプリケーション）毎に対応する稼動サーバおよび冗長サーバを、物理サーバ上に配置する。このとき、仮想サーバ配置決定手段１２２は、同一のサブシステム（アプリケーション）に割り当てる稼動サーバおよび冗長サーバが同一の物理サーバ２に配置されないように仮想サーバ３の配置を決定する。【００２６】
仮想サーバ管理手段１４は、冗長構成設計手段１２から出力された仮想サーバ配置情報に基づいて各物理サーバ２上に構築される仮想サーバ３を管理する。【００２７】
仮想サーバ制御手段２１は、仮想サーバ管理手段１４からの各種の制御要求を受け付け、該制御要求にしたがって自物理サーバ２内の仮想サーバ３を制御する。仮想サーバ３に対する制御要求には、例えば、仮想サーバ３の生成、仮想サーバ３の稼動停止、稼動サーバと冗長サーバの切り替え等がある。【００２８】
冗長構成の構築後に物理サーバ２で障害が発生した場合、該障害が発生した物理サーバ２の情報は、コンピュータシステムの管理者あるいは物理サーバ２の障害有無を監視している不図示の監視システムから入力手段１１を介して入力される。【００２９】
縮退構成決定手段１３は、入力手段１１を介して入力された障害が発生した物理サーバ２の情報、可用性要件、およびシステム構成情報格納部１６に格納されたシステム構成情報を参照して可用性要件を満たす縮退構成を決定し、その結果を示す情報（縮退構成情報）を出力する。縮退構成は、障害が発生した物理サーバ２を除いた、残りの物理サーバ２を用いて構築された冗長構成であり、縮退構成情報は該縮退構成を示す情報である。【００３０】
仮想サーバ管理手段１４は、縮退構成決定手段１３から出力された縮退構成情報に基づき、仮想サーバ制御手段２１を用いて物理サーバ２上に構築した仮想サーバ３の配置を変更する。【００３１】
図１に示した冗長構成管理システムおよび図２に示した冗長構成管理サーバ装置１は、例えば図４に示すコンピュータによって実現できる。【００３２】
図４に示すコンピュータは、プログラムにしたがって所定の処理を実行する処理装置４と、処理装置４に対してコマンドや情報等を入力するための入力装置５と、処理装置４の処理結果をモニタするための出力装置６とを有する構成である。【００３３】
処理装置４は、ＣＰＵ４１と、ＣＰＵ４１の処理で必要な情報を一時的に保持する主記憶装置４２と、ＣＰＵ４１に、上記冗長構成設計手段１２、縮退構成決定手段１３および仮想サーバ管理手段１４の処理を実行させるためのプログラムが記録された記録媒体４３と、上記仮想サーバ制約情報格納部１５、システム構成情報格納部１６および後述するサーバ台数換算情報格納部１７として用いられるデータ蓄積装置４４と、主記憶装置４２、記録媒体４３およびデータ蓄積装置４４とのデータ転送を制御するメモリ制御インタフェース部４５と、入力装置５および出力装置６とのインタフェース装置であるＩ／Ｏインタフェース部４６と、管理対象である複数の物理サーバ２との通信を制御するインタフェースである通信制御装置４７とを備え、それらがバス４８を介して接続された構成である。【００３４】
処理装置４は、記録媒体４３に記録されたプログラムにしたがって、冗長構成設計手段１２、縮退構成決定手段１３および仮想サーバ管理手段１４の処理を実行する。なお、記録媒体４３は、磁気ディスク、半導体メモリ、光ディスクあるいはその他の記録媒体であってもよい。また、データ蓄積装置４４は、冗長構成管理サーバ装置１内に備える必要はなく、独立した装置であってもよい。図２に示した物理サーバ２も動作するプログラムが異なることを除けば図４に示したコンピュータによって実現できる。したがって、ここではその説明を省略する。【００３５】
次に本実施形態の冗長構成の設計方法について図面を用いて説明する。【００３６】
冗長構成の設計とは、複数の物理サーバ２に対して、各サブシステム（アプリケーション）の処理を実行する仮想サーバ３から成る稼動サーバおよび冗長サーバの配置を決定する処理を指す。【００３７】
図５は第１の実施の形態の冗長構成設計手段の処理手順を示すフローチャートであり、図６は第１の実施の形態の仮想サーバ管理手段および仮想サーバ制御手段による冗長構成設計時における処理手順を示すフローチャートである。【００３８】
図５に示すように、例えば管理者が入力手段１１を用いて可用性要件を入力すると（ステップ１０００）、冗長構成設計手段１２は、システム構成情報格納部１６を参照して現在のシステム構成情報を取得する（ステップ１００１）。【００３９】
可用性要件は管理対象のコンピュータシステムに要求される信頼性のレベルを示す要件である。図９にその一例を示す。図９は可用性要件である上記最大同時故障可能数および最小稼動レベルの一例を示している。【００４０】
最大同時故障可能数は、コンピュータシステム全体で許容できる物理サーバ２の故障数であり、物理サーバ２の故障数が最大同時故障可能数以内であれば、縮退処理によりシステムを継続して稼動できることを示す指標である。最小稼動レベルは、コンピュータシステムを継続して運用するのに必要な最小要件を定義した値であり、例えばサブシステム（アプリケーション）毎に必要な最小の仮想サーバ数が設定される。仮想マシン技術を利用して冗長構成を設計する場合、これらの可用性要件を満たすように、障害の発生に備えて冗長サーバを準備しておく必要がある。【００４１】
冗長構成設計手段１２は、現在のシステム構成情報を取得すると、仮想サーバ制約情報格納部１５を参照して仮想サーバ制約情報を取得する（ステップ１００２）。【００４２】
仮想サーバ制約情報は、各物理サーバ２上で動作可能な仮想サーバ３に対する制約を示す情報である。その一例を図１０に示す。図１０は各物理サーバ２上で動作可能な仮想サーバ数の一例を示している。【００４３】
図１０に示すように、本実施形態の仮想サーバ３には稼動系と冗長系とがある。稼動系はユーザに対してサービスを提供する仮想サーバ（稼動サーバ）であり、冗長系は、通常、待機状態にあり、稼動サーバが故障した場合に用いられる仮想サーバ（冗長サーバ）である。稼動サーバにはユーザに提供するサービスに応じた十分な計算機資源が割り当てられ、冗長サーバには待機状態に必要な最低限の計算機資源が割り当てられる。稼動系および冗長系の仮想サーバに割り当てる計算機資源の量は、周知の仮想化機能を提供するプログラムによって制御できる。【００４４】
冗長構成設計手段１２は、取得した各種情報を参照して可用性要件を満たす仮想サーバ３の台数を計算する（ステップ１００３）。そして、コンピュータシステムの冗長化に必要な仮想サーバ３の数が、現在利用可能な仮想サーバ３の数以内であるか否かを調べ、冗長構成の設計が可能であるか否かを判定する（ステップ１００４）。【００４５】
冗長構成設計手段１２は、冗長構成の設計が可能と判定した場合、仮想サーバ制約情報を参照し、同一のサブシステム（アプリケーション）に割り当てる稼動サーバおよび冗長サーバが同一の物理サーバ２に配置されないように仮想サーバ３の配置を決定し、その結果を示す情報（仮想サーバ配置情報）を出力する（ステップ１００５）。冗長構成の設計が不可能と判定した場合は、例えば冗長化に必要な追加すべき物理サーバ２の数を出力して処理を終了する。【００４６】
冗長構成設計手段１２から出力された仮想サーバ配置情報（冗長構成）に問題がなければ、仮想サーバ管理手段１５および仮想サーバ制御手段２１により冗長構成を構築する処理が開始される。【００４７】
冗長構成の構築は、冗長構成設計手段１２から出力された仮想サーバ配置情報を管理者が確認した後に開始してもよく、管理者が確認することなく開始してもよい。何れの場合も仮想サーバ管理手段１５に仮想サーバ配置情報が入力されることで冗長構成の構築が開始される。【００４８】
仮想サーバ配置情報の一例を図１１に示す。図１１は各物理サーバ２上で動作させる仮想サーバ３を定義した一例を示している。図１１に示す例では、各物理サーバ２上で稼動系および冗長系の２種類の仮想サーバ３が動作し、各仮想サーバ３にサブシステム（アプリケーション）が割り当てられている。また、同一のアプリケーションを実行する稼動系の仮想サーバ３および冗長系の仮想サーバ３は異なる物理サーバ２上に割り当てられている。【００４９】
図６に示すように、仮想サーバ管理手段１５は、仮想サーバ配置情報が入力されると（ステップ２０００）、該仮想サーバ配置情報に基づいて各物理サーバ２上の仮想サーバ制御手段２１に対して制御要求を送信する（ステップ２００１）。【００５０】
制御要求には、上述したように、仮想サーバ３の生成、稼動停止、稼動サーバから冗長サーバへの変更、冗長サーバから稼動サーバへの変更等が含まれる。【００５１】
仮想サーバ制御手段２１は、仮想サーバ３に対する制御要求を受信すると（ステップ２００２）、要求された制御を実行し（ステップ２００３）、その制御結果を仮想サーバ管理手段１５に送信する（ステップ２００４）。【００５２】
仮想サーバ管理手段１５は、各物理サーバ２が備える全ての仮想サーバ制御手段２１からの制御結果を受信した時点で冗長構成の構築処理を終了する（ステップ２００５）。【００５３】
次に、物理サーバ２で障害が発生したときに実行する縮退処理について図７および図８を用いて説明する。【００５４】
図７は第１の実施の形態の縮退構成決定手段の処理手順を示すフローチャートであり、図８は第１の実施の形態の仮想サーバ管理手段および仮想サーバ制御手段による縮退構成設計時の処理手順を示すフローチャートである。【００５５】
図７に示すように、物理サーバで障害が発生すると、入力手段１１を介して障害が発生した物理サーバ２の情報が縮退構成決定手段１３に入力される（ステップ３０００）。縮退処理では、障害が発生した物理サーバ２を除く、残りの物理サーバ２で可用性要件である最小稼動レベルを満たす冗長構成（縮退構成）を設計する必要がある。【００５６】
縮退構成決定手段１３は、障害が発生した物理サーバ２の数と可用性要件である最大同時故障可能数とを比較し、縮退処理が可能か否かを判定する（ステップ３００１）。障害が発生した物理サーバ２の数が最大同時故障可能数を越えている場合は縮退処理が実行できないため、縮退構成決定手段１３は、縮退処理の不可を示すメッセージを出力して処理を終了する。【００５７】
一方、障害が発生した物理サーバ２の数が最大同時故障可能数を越えていない場合は縮退処理が可能であるため、縮退構成決定手段１３は、障害が発生した物理サーバ２を除く、残りの物理サーバ２に対する可用性要件を満たす縮退構成を決定し、その結果（縮退構成情報）を出力する（ステップ３００２）。【００５８】
縮退構成情報の一例を図１２に示す。図１２は、第１の物理サーバ（物理サーバ１）で障害が発生し、第３の物理サーバ（物理サーバ３）に配置したアプリケーションＡに割り当てた仮想サーバを冗長系から稼動系に切り替え、アプリケーションＣに割り当てた仮想サーバを稼動系から冗長系に切り替える縮退処理の一例を示している。【００５９】
縮退構成決定手段１３から出力された縮退構成情報は、仮想サーバ管理手段１５に入力され、縮退処理が開始される。このとき、縮退処理は管理者の承認を得た後に開始してもよく、管理者の承認を得ることなく開始してもよい。【００６０】
図８に示すように、仮想サーバ管理手段１５は、縮退構成情報が入力されると（ステップ４０００）、該縮退構成情報に基づいて制御要求を仮想サーバ制御手段２１に送信する（ステップ４００１）。【００６１】
仮想サーバ制御手段２１は、制御要求を受信すると（ステップ４００２）、要求された制御を実行し（ステップ４００３）、その制御結果を仮想サーバ管理手段１５に送信する（ステップ４００４）。仮想サーバ管理手段１５は、各物理サーバ２が備える全ての仮想サーバ制御手段２１からの制御結果を受信した時点で縮退処理を終了する（ステップ４００５）。【００６２】
第１の実施の形態によれば、冗長構成設計手段１２により、仮想サーバ制約情報を参照して、同一のサブシステム（アプリケーション）に割り当てる稼動サーバおよび冗長サーバが同一の物理サーバ２に配置されないように仮想サーバ３の配置を決定するため、コンピュータシステムの復旧や継続稼動等の冗長化の効果が得られる、仮想マシン技術を利用したコンピュータシステムの冗長化を実現できる。【００６３】
また、管理者が入力した可用性要件を満たすように冗長構成を決定し、物理サーバ２で障害が発生した場合は該可用性要件を満たすように縮退構成を決定するため、要求された可用性要件を満たす仮想マシン技術を適用した冗長構成を設計できる。【００６４】
さらに、仮想サーバ３に対する計算機資源の割り当て量を変更するだけで、稼動系の仮想サーバと冗長系の仮想サーバとを切り替えることができるため、コンピュータシステムを停止することなく、かつ高速に縮退処理を実行できる。
（第２の実施の形態）
第２の実施の形態は、冗長構成設計手段１２に最大同時故障可能数計算手段を備えた点で第１の実施の形態の冗長構成管理システムと異なっている。その他の構成は第１の実施の形態と同様であるため、その説明は省略する。【００６５】
図１３は第２の実施の形態の冗長構成設計手段の構成を示すブロック図である。【００６６】
図１３に示すように、第２の実施の形態の冗長構成設計手段１２は、最大同時故障可能数計算手段１２３、必要サーバ台数計算手段１２１および仮想サーバ配置決定手段１２２を備えている。【００６７】
第２の実施の形態では、管理者から、可用性要件として最小稼動レベルの情報のみが入力手段１１を介して入力される。最大同時故障可能数は、最大同時故障可能数計算手段１２３によりコンピュータシステムの構成に応じて求めるため、可用性要件として入力する必要はない。【００６８】
最大同時故障可能数計算手段１２３は、入力された最小稼動レベル、システム構成情報格納部１６に格納されたシステム構成情報および仮想サーバ制約格納部１５に格納された仮想サーバ制約情報を参照し、複数の物理サーバ２で同時に故障が発生した場合でも縮退処理によりコンピュータシステムが継続して運用可能な仮想サーバ３の台数（最大同時故障可能数）を計算する。【００６９】
必要サーバ台数計算手段１２１は、最大同時故障可能数計算手段１２３で求めた最大同時故障可能数に基づいて可用性要件を満たす物理サーバ２および仮想サーバ３の台数を計算する。【００７０】
仮想サーバ配置決定手段１２２は、仮想サーバ制約格納部１５に格納された仮想サーバ制約情報を参照し、可用性要件を満たすように各物理サーバ３に対する仮想サーバ３の配置を決定し、その結果（仮想サーバ配置情報）を出力する。【００７１】
図１４は第２の実施の形態の冗長構成設計手段の処理手順を示すフローチャートである。【００７２】
図１４に示すように、管理者が入力手段１１を用いて最小稼動レベルの情報を入力すると（ステップ５０００）、冗長構成設計手段１２はシステム構成情報格納部１６を参照して現在のシステム構成情報を取得する（ステップ５００１）。【００７３】
冗長構成設計手段１２は、現在のシステム構成情報を取得すると、仮想サーバ制約情報格納部１５を参照して仮想サーバ制約情報を取得し（ステップ５００２）、最大同時故障可能数計算手段１２３により最大同時故障可能数を計算する（ステップ５００３）。このとき、仮想サーバ制約情報によって配置可能な冗長系の仮想サーバ３の数が制限されるため、最大同時故障可能数も制限される。【００７４】
冗長構成設計手段１２は、求めた最大同時故障可能数に基づいて冗長化に必要な仮想サーバ３の台数を計算し（ステップ５００４）、仮想サーバ制約情報に基づいて物理サーバ２に対する仮想サーバ３の配置を決定し、その結果を示す情報（仮想サーバ配置情報）を出力する（ステップ５００５）。【００７５】
ここで、最大同時故障可能数の計算方法について説明する。【００７６】
まず、障害が発生した物理サーバ２の数をｋと定義し、残りの稼動系の仮想サーバ３の数をＲ＿ｋと定義する。また、どの物理サーバ２で障害が発生したかによってＲ＿ｋの値が異なるため、Ｒ＿ｋの最大値をＭａｘ  Ｒ＿ｋと定義する。【００７７】
このとき、管理者によって指定された可用性要件である最小稼動レベルを満たすためには、上記Ｒ＿ｋの値が最小稼動レベルを満たす仮想サーバ３の台数Ｍ以上である必要がある。すなわち、Ｍａｘ  Ｒ＿ｋ≧Ｍを満たす必要がある。【００７８】
Ｍａｘ  Ｒ＿ｋは、ｋの値に応じて単調に増大する値であるため、この条件を満たすｋの最大値を求めれば最大同時故障可能数の候補が得られる。【００７９】
仮想サーバ配置情報に基づいて冗長構成を構築する手順は図６に示した第１の実施の形態の処理手順と同様である。また、障害が発生した場合に実施する縮退処理についても図７に示した第１の実施の形態と同様である。したがって、ここでは、その説明を省略する。【００８０】
第２の実施の形態の冗長構成管理システムによれば、第１の実施の形態と同様の効果に加えて、管理者による最大同時故障可能数の入力を必要としないため、管理者の負担が軽減する。また、可用性要件である最小稼動レベル、システム構成情報および仮想サーバ制約情報に基づいて最大同時故障可能数を計算するため、与えられた条件下で最もフォールトトレランス性（同時故障可能数）が高い冗長構成を設計できる。
（第３の実施の形態）
第３の実施の形態は、冗長構成設計手段１２に最小サーバ台数計算手段を備えた点で第１の実施の形態および第２の実施の形態の冗長構成管理システムと異なっている。また、第３の実施の形態では、冗長構成管理サーバ１にサーバ台数換算情報格納部１７を備えている。その他の構成は第１の実施の形態と同様であるため、その説明は省略する。【００８１】
図１５は第３の実施の形態の冗長構成設計手段の構成を示すブロック図である。【００８２】
図１５に示すように、第３の実施の形態の冗長構成設計手段１２は、最小サーバ台数計算手段１２４、必要サーバ台数計算手段１２１および仮想サーバ配置決定手段１２２を備えた構成である。【００８３】
第３の実施の形態では、管理者から、可用性要件として、最大同時故障可能数およびサービスレベルやビジネス要件が入力される。【００８４】
最小サーバ台数計算手段１２４は、入力手段１１を介して入力された可用性要件に基づいて各サブシステム（アプリケーション）の可用性要件を満たす最小の仮想サーバ台数を計算する。このとき、最小サーバ台数計算手段１２４は、サーバ台数換算情報格納部１７に格納された換算情報を参照し、入力されたサービスレベルやビジネス要件を、該サービスレベルやビジネス要件で必要な最小の仮想サーバ台数に換算する。サーバ台数換算情報格納部１７に格納された換算情報の一例を図１７に示す。図１７は、アプリケーションＡについて、許容クライアント数と、該許容クライアント数に対応して必要となる最小の仮想サーバ台数の関係の一例を示している。図１７に示す表を参照することで、管理者やユーザから許容クライアント数が可用性要件として指定された場合でも、可用性要件を満たす最小の仮想サーバ台数を計算できる。【００８５】
必要サーバ台数計算手段１２１は、可用性要件として入力された最大同時故障可能数に基づいて、可用性要件を満たす冗長化に必要な仮想サーバ３の台数を計算する。【００８６】
仮想サーバ配置決定手段１２２は、仮想サーバ制約格納部１５に格納された仮想サーバ制約情報を参照して各物理サーバ２に対する仮想サーバ３の配置を決定し、その結果（仮想サーバ配置情報）を出力する。【００８７】
図１６は第３の実施の形態の冗長構成設計手段の処理手順を示すフローチャートである。【００８８】
図１６に示すように、管理者が入力手段１１を用いて可用性要件を入力すると（ステップ６０００）、冗長構成設計手段１２は、最小サーバ台数計算手段１２４により、サーバ台数換算情報格納部１７に格納された情報を参照してサービスレベルやビジネス要件に対応して必要となる仮想サーバ３の台数を計算する（ステップ６００１）。【００８９】
以降の処理は図５のステップ１００１〜１００５に示した第１の実施の形態と同様である。すなわち、図１６に示すステップ６００２〜６００６は図５に示したステップ１００１〜１００５に対応する。【００９０】
また、冗長構成を構築する手順は図６に示した第１の実施の形態の処理手順と同様である。さらに、障害が発生した場合に実施する縮退処理についても図７に示した第１の実施の形態と同様である。したがって、ここでは、その説明を省略する。【００９１】
第３の実施の形態の冗長構成管理システムによれば、第１の実施の形態と同様の効果に加えて、サービスレベルやビジネス要件として入力された可用性要件を最小の仮想サーバ台数に換算して冗長構成を決定するため、システムの構成を詳細に把握していない管理者やコンピュータシステムのユーザから要求されたサービスレベルやビジネス要件を最小の仮想サーバ台数に換算して冗長構成に反映させることができる。【００９２】
なお、第３の実施の形態の冗長構成設計手段１２には、第２の実施の形態で示した最大同時故障可能数計算手段１２３を備えていてもよい。その場合、上記効果に加えて、第２の実施の形態の冗長構成管理システムと同様の効果も得ることができる。
（実施例）
次に本発明を実施例について図面を用いて説明する。【００９３】
図１８は冗長構成管理システムの実施例の構成を示すブロック図である。【００９４】
図１８に示す冗長構成管理システムは、管理対象として６台の物理サーバ２を備え、各物理サーバ２上でそれぞれ２つの仮想サーバを稼動できる構成である。【００９５】
図２０は図１８に示した冗長構成管理システムで用いる仮想サーバ制約情報の一例を示す表である。【００９６】
図２０に示すように、本実施例の冗長構成管理システムでは、各物理サーバ上に稼動系と冗長系の仮想サーバをそれぞれ一台ずつ配置可能であることを制約条件とする。【００９７】
図２１は図１８に示した冗長構成管理システムで用いるシステム構成情報の一例を示す表である。【００９８】
図２１に示すように、本実施例の冗長構成管理システムは、物理サーバ２が６台であり、３つのサブシステム（アプリケーション）を備え、各物理サーバ２に対して稼動系の仮想サーバ３が割り当てられているものとする。ここでは、管理者によって入力された可用性要件を満たすように冗長系の仮想サーバ３の配置を決定する。【００９９】
図１８に示した冗長構成管理システムに対して図１９に示す可用性要件が入力手段１１を介して入力されたとする。すなわち、最大同時故障可能数が３であり、最小稼動レベルは各アプリケーションに対応して少なくとも１つの仮想サーバ３が稼動している状態である。【０１００】
図１８に示した冗長構成設計手段１２により冗長系の仮想サーバ（冗長サーバ）の配置を決定する手順について図５のフローチャートを参照して説明する。【０１０１】
図５に示したように、冗長構成設計手段１２は、可用性要件が入力されると（ステップ１０００）、システム構成情報格納部１５によりシステム構成情報を取得し（ステップ１００１）、仮想サーバ制約格納部１６により仮想サーバ制約情報を取得する（ステップ１００２）。【０１０２】
冗長構成設計手段１２は、これらの情報に基づいて可用性要件を満たす冗長化に必要な仮想サーバ３の台数をアプリケーション毎に算出する（ステップ１００３）。【０１０３】
図２２は図１８に示した冗長構成設計手段による必要サーバ台数の計算手順を示すフローチャートである。【０１０４】
図２２に示すように、冗長構成設計手段１２は、システム構成情報に基づいて各アプリケーションａ＿ｉに対応する稼動系の仮想サーバの数σ（ａ＿ｉ）を算出し、可用性要件に基づいて最小の仮想サーバ台数μ（ａ＿ｉ）を算出する（ステップ７０００）。【０１０５】
次に、冗長構成設計手段１２は、σ（ａ＿ｉ）とμ（ａ＿ｉ）の差を求めることで、現時点における障害の許容度を示す故障余裕ρ（ａ＿ｉ）を計算する（ステップ７００１）。【０１０６】
次に、冗長構成設計手段１２は、可用性要件である最大同時故障可能数ｋを参照する（ステップ７００２）。可用性要件として最大同時故障可能数が指定されていない場合は利用可能な冗長サーバの数を示す限界値を計算する。【０１０７】
最後に、冗長構成設計手段１２は、各アプリケーションに対応するｋとρ（ａ＿ｉ）の差を求め、必要な冗長サーバ数を求める。【０１０８】
ρ（ａ＿ｉ）がｋ以上である場合、新たに冗長サーバを追加することなく、アプリケーションａ＿ｉに対する冗長性を保つことができるため、冗長構成設計手段１２は、λ(ａ＿ｉ)＝０とする（ステップ７００３）。【０１０９】
図２３は、図１８に示したコンピュータシステムを例にして、図２２に示した処理手順にしたがって求めた故障余裕および必要な冗長サーバ数の一例を示している。【０１１０】
ここで、Σλ（ａ＿ｉ）＝６はシステム全体で必要な冗長サーバの数を示している。Σλ（ａ＿ｉ）は、管理対象となるコンピュータシステムの構成や仮想サーバ制約情報として指定された仮想サーバ数を越えてはならない。【０１１１】
利用可能な冗長サーバの数がΣλ（ａ＿ｉ）以上である場合、冗長構成を設計できるが、冗長サーバの数がΣλ（ａ＿ｉ）より少ない場合は可用性要件を満たす冗長構成を設計できない（図５のステップ１００４）。【０１１２】
冗長構成設計手段１２は、冗長構成を設計できると判定した場合、仮想サーバ制約情報に基づいて仮想サーバ３の配置を決定する（ステップ１００５）。【０１１３】
仮想サーバの配置決定手順について図２４を用いて説明する。【０１１４】
図２４に示すように、冗長構成設計手段１２は、まずアプリケーションａ＿ｉをρ（ａ＿ｉ）の昇順でソートし、ソート後の各アプリケーションを｛ｂ＿１，ｂ＿２，…，ｂ＿ｎ｝として保持する（ステップ８０００）。続いて、ｐ＝１としてアプリケーションｂ＿ｐから順に仮想サーバ３の配置を決定する（ステップ８００１）。【０１１５】
次に、冗長構成設計手段１２は、λ（ｂ＿ｐ）＝０を判定し、冗長サーバが必要であるか否かを判定する（ステップ８００３）。【０１１６】
λ（ｂ＿ｐ）＝０である場合、ｐを１だけインクリメントし（ステップ８００４）、次のアプリケーションの評価に移行する。ｐ＞ｎ、すなわち全てのアプリケーションｂ＿ｐについて評価が完了した場合は処理を終了する（ステップ８００５）。【０１１７】
λ(ｂ＿ｐ)＞０の場合、すなわち冗長サーバが必要である場合は、ｑ＝ｐ＋１とし（ステップ８００６）、アプリケーションｂ＿ｑをアプリケーションｂ＿ｐのペアとして選択する（ステップ８００７）。このとき、同一の物理サーバ２に対して同一のアプリケーションの稼動系および冗長系の仮想サーバを配置しないように、異なるアプリケーションをペアとして選択する。【０１１８】
冗長構成設計手段１２は、ペアとして選ばれたアプリケーションｂ＿ｑに稼動サーバを割り当て、冗長サーバに空きがある物理サーバｓ＿ｊを探索する（ステップ８００８）。冗長サーバに空きがある物理サーバｓ＿ｊがある場合、冗長構成設計手段１２は、該物理サーバｓ＿ｊの冗長サーバにアプリケーションｂ＿ｐを割り当てる。このとき、冗長構成設計手段１２はλ（ｂ＿ｐ）の値をデクリメントする（ステップ８０１１）。【０１１９】
冗長サーバに空きがある物理サーバｓ＿ｊが無い場合は、冗長構成設計手段１２は、ｑをインクリメントして新しいペアを選択し、ステップ８００８の処理に戻ってステップ８０１２までの処理を繰り返す。【０１２０】
ステップ８０１１の処理にて、λ（ｂ＿ｐ）＝０となったら、冗長構成設計手段１２は、アプリケーションｂ＿ｐに対する割り当て処理を終了する。【０１２１】
図２４に示した処理手順にしたがった冗長構成の決定過程を図２５に模式的に示す。【０１２２】
まず、冗長構成設計手段１２は、各アプリケーションを故障余裕の昇順でソートする。図２５に示す例では｛アプリケーションＣ、アプリケーションＢ、アプリケーションＡ｝の配列が得られる。【０１２３】
この場合、冗長構成設計手段１２は、最初にアプリケーションＣを選択し、そのペアとしてアプリケーションＢを選択する。冗長構成設計手段１２は、アプリケーションＢの稼動サーバが割り当てられた第４の物理サーバ（物理サーバ４）および第５の物理サーバ（物理サーバ５）にそれぞれアプリケーションＣの冗長サーバを割り当てる。この時点では、λ（アプリケーションＣ）＝１であるため、冗長構成設計手段１２は新しいペアとしてアプリケーションＡを選択する。【０１２４】
次に、冗長構成設計手段１２は、アプリケーションＡの稼動サーバが割り当てられた第３の物理サーバ（物理サーバ３）にアプリケーションＣの冗長サーバを割り当てる。なお、アプリケーションＣの冗長サーバは第１の物理サーバ（物理サーバ１）または第２の物理サーバ（物理サーバ２）に割り当ててもよい。この時点では、λ（アプリケーションＣ)＝０となるため、冗長構成設計手段１２はアプリケーションＣに対する冗長系の割り当てを終了する。【０１２５】
次に、冗長構成設計手段１２は、ソート結果からアプリケーションＢを選択し、そのペアとしてアプリケーションＡを選択する。ここでは、第１の物理サーバおよび第２の物理サーバにアプリケーションＡの稼動サーバが割り当てられ、冗長サーバを割り当てることができる、空いている第１の物理サーバおよび第２の物理サーバが見つかる。したがって、冗長構成設計手段１２は、これら第１の物理サーバおよび第２の物理サーバにアプリケーションＢの冗長サーバを割り当てる。この時点でλ（アプリケーションＢ）＝０となるため、冗長構成設計手段１２はアプリケーションＢに対する冗長系の割り当てを終了する。【０１２６】
最後に、冗長構成設計手段１２は、ソート結果からアプリケーションＡを選択し、そのペアとしてアプリケーションＣを選択する。ここでは、第６の物理サーバ（物理サーバ６）にアプリケーションＣの稼動サーバが割り当てられ、冗長サーバを割り当てることができる、空いている第６の物理サーバが見つかる。したがって、冗長構成設計手段１２は、第６の物理サーバにアプリケーションＡの冗長サーバを割り当てる。この時点でλ（アプリケーションＡ）＝０となるため、冗長構成設計手段１２はアプリケーションＡに対する冗長系の割り当てを終了する。【０１２７】
以上の処理により、全てのアプリケーションに対して冗長系の仮想サーバを割り当てる物理サーバが決定する。最終的に得られる仮想サーバ配置情報は図２６に示すようになる。【０１２８】
冗長構成の設計が終了すると、仮想サーバ管理手段１４および仮想サーバ制御手段２１により図６に示した処理手順にしたがって冗長構成が構築される。【０１２９】
次に、物理サーバ２で障害が発生した場合の縮退処理について図７のフローチャートを参照して説明する。【０１３０】
図７に示したように、縮退構成決定手段１３は、入力手段１１を介して障害が発生した物理サーバの情報が入力されると（ステップ３０００）、該物理サーバを除いた残りの物理サーバで要求された可用性要件を満たす縮退構成を設計しなければならない。縮退構成決定手段１３は、最初に縮退処理によって可用性要件を満たす冗長構成に変更可能か否かを判断する（ステップ３００１）。【０１３１】
図２７は障害が発生した物理サーバの情報の一例を示している。ここでは、図２７に示すように第２の物理サーバ、第５の物理サーバおよび第６の物理サーバで障害が発生した場合を考える。【０１３２】
縮退構成決定手段１３は、障害が発生した物理サーバの数が３台であり、図１９に示したように可用性要件として入力された最大同時故障可能数が「３」であることから、縮退が可能と判定する。【０１３３】
縮退構成決定手段１３は、各アプリケーションの処理で必要な最小の仮想サーバの数を満たす縮退構成を決定する（ステップ３００２）。本実施例では、アプリケーションＡに対応して２台の稼動サーバが動作し、アプリケーションＢに対応して１台の稼動サーバが動作しているが、最小稼動レベルを満たすためにはアプリケーションＣを実行する稼動サーバが１台必要である。【０１３４】
そこで、縮退構成決定手段１３は、アプリケーションＣの冗長サーバを探索し、第３の物理サーバおよび第４の物理サーバ上の冗長サーバを検出する。ここでは、アプリケーションＡの稼動サーバを１台減らしても最小稼動レベルの要件に違反しないため、縮退構成決定手段１３は、第３の物理サーバ３に配置されたアプリケーションＡの稼動サーバを冗長サーバに変更し、アプリケーションＣの冗長サーバを稼動サーバに変更する。【０１３５】
以上の縮退処理により全てのアプリケーションに対する最小稼動レベルの要件を満たすことになる。縮退構成決定手段１３から出力される縮退構成情報の一例を図２８に示す。【０１３６】
縮退構成の設計後、図８に示した手順にしたがって冗長構成を変更する。本実施例では、第３の物理サーバに配置した仮想サーバに対する計算機資源の割り当て量を変更して稼動系と冗長系を入れ替える。計算機資源の割り当ての変更はすぐに終了するため、縮退処理を高速に実行できる。【０１３７】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されものではない。本願発明の構成や詳細は本願発明のスコープ内で当業者が理解し得る様々な変更が可能である。【０１３８】
この出願は、２００７年１２月２６日に出願された特願２００７−３３４４４１号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【図１】
2009081736.tif 000003
【図２】
2009081736.tif 000004
【図３】
2009081736.tif 000005
【図４】
2009081736.tif 000006
【図５】
2009081736.tif 000007
【図６】
2009081736.tif 000008
【図７】
2009081736.tif 000009
【図８】
2009081736.tif 000010
【図９】
2009081736.tif 000011
【図１０】
2009081736.tif 000012
【図１１】
2009081736.tif 000013
【図１２】
2009081736.tif 000014
【図１３】
2009081736.tif 000015
【図１４】
2009081736.tif 000016
【図１５】
2009081736.tif 000017
【図１６】
2009081736.tif 000018
【図１７】
2009081736.tif 000019
【図１８】
2009081736.tif 000020
【図１９】
2009081736.tif 000021
【図２０】
2009081736.tif 000022
【図２１】
2009081736.tif 000023
【図２２】
2009081736.tif 000024
【図２３】
2009081736.tif 000025
【図２４】
2009081736.tif 000026
【図２５】
2009081736.tif 000027
【図２６】
2009081736.tif 000028
【図２７】
2009081736.tif 000029
【図２８】
2009081736.tif 000030
【国際調査報告】
2009081736.tif 000031
2009081736.tif 000032
2009081736.tif 000033