(57)【要約】【課題】運用系の縮退に同期させて待機系の装置が縮退状態となっているときに運用系から待機系に系切替が発生した場合に、待機系の装置が縮退状態のまま動作し続ける事態を回避する。【解決手段】系が切り替えられ、待機系の物理サーバ装置４２１が運用系の物理サーバ装置４０１の処理を引き継いだ際に、ＶＭ状態回復部４２７は、系の切替前にＶＭ状態管理部４２８が縮退状態にしたゲストＯＳが存在するか否かを判断し、縮退状態のゲストＯＳが存在する場合に、縮退状態のゲストＯＳを縮退状態から回復させる。【選択図】図１
2013254354.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ装置が冗長化されたコンピュータシステムで運用系として用いられる運用系コンピュータ装置に実装されているソフトウェアと共通するソフトウェアが実装され、前記コンピュータシステムで待機系として用いられるコンピュータ装置であって、
前記運用系コンピュータ装置内のいずれかのソフトウェアが縮退状態となった際に、前記運用系コンピュータ装置内で縮退状態となったソフトウェアに対応する前記コンピュータ装置内のソフトウェアを縮退状態にする縮退実施部と、
系が切り替えられ、前記コンピュータ装置が前記運用系コンピュータの処理を引き継いだ際に、系の切替前に前記縮退実施部が縮退状態にした縮退状態ソフトウェアが存在するか否かを判断し、前記縮退状態ソフトウェアが存在する場合に、前記縮退状態ソフトウェアを縮退状態から回復させる状態回復部とを有することを特徴とするコンピュータ装置。
【請求項２】
前記状態回復部は、
前記縮退状態ソフトウェアが存在する場合に、前記縮退状態ソフトウェアが専有できるハードウェア資源が前記コンピュータ装置内にあるか否かを判断し、前記縮退状態ソフトウェアが専有できるハードウェア資源がない場合に、前記コンピュータ装置内の他のソフトウェアが利用しているハードウェア資源を前記縮退状態ソフトウェアと前記コンピュータ装置内の他のソフトウェアとで共有させて、前記縮退状態ソフトウェアを縮退状態から回復させることを特徴とする請求項１に記載のコンピュータ装置。
【請求項３】
前記状態回復部は、
前記縮退状態ソフトウェアが専有できるハードウェア資源がない場合に、前記コンピュータ装置内の他のソフトウェアが利用しているハードウェア資源に前記縮退状態ソフトウェアに割り当て可能な余剰資源があれば、前記ハードウェア資源の余剰資源を前記縮退状態ソフトウェアに割り当てて、前記縮退状態ソフトウェアを縮退状態から回復させることを特徴とする請求項２に記載のコンピュータ装置。
【請求項４】
前記状態回復部は、
前記コンピュータ装置内の他のソフトウェアが利用しているハードウェア資源に前記縮退状態ソフトウェアに割り当て可能な余剰資源がなければ、前記コンピュータ装置内のいずれかのソフトウェアのハードウェア資源の利用を制限して前記ハードウェア資源に余剰資源を発生させ、発生させた前記ハードウェア資源の余剰資源を前記縮退状態ソフトウェアに割り当てて、前記縮退状態ソフトウェアを縮退状態から回復させることを特徴とする請求項３に記載のコンピュータ装置。
【請求項５】
前記状態回復部は、
前記コンピュータ装置内の他のソフトウェアが利用しているハードウェア資源に前記縮退状態ソフトウェアに割り当て可能な余剰資源がなければ、前記縮退状態ソフトウェアよりも優先度が低いソフトウェアのハードウェア資源の利用を制限して前記ハードウェア資源に余剰資源を発生させることを特徴とする請求項４に記載のコンピュータ装置。
【請求項６】
前記コンピュータ装置は、
仮想マシンモニタを有し、前記仮想マシンモニタ上に、
前記運用系コンピュータ装置の仮想マシンモニタ上に実装されているゲストＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）と共通するゲストＯＳが実装されており、
前記縮退実施部は、
前記運用系コンピュータ装置内のいずれかのゲストＯＳが縮退状態となった際に、前記運用系コンピュータ装置内で縮退状態となったゲストＯＳに対応する前記コンピュータ装置内のゲストＯＳを縮退状態にし、
前記状態回復部は、
系が切り替えられ、前記コンピュータ装置が前記運用系コンピュータの処理を引き継いだ際に、系の切替前に前記縮退実施部が縮退状態にした縮退状態ゲストＯＳが存在するか否かを判断し、前記縮退状態ゲストＯＳが存在する場合に、前記縮退状態ゲストＯＳを縮退状態から回復させることを特徴とする請求項１〜５のいずれかに記載のコンピュータ装置。
【請求項７】
前記縮退実施部と前記状態回復部とが、前記仮想マシンモニタに含まれていることを特徴とする請求項６に記載のコンピュータ装置。
【請求項８】
コンピュータ装置が冗長化されたコンピュータシステムで運用系として用いられる運用系コンピュータ装置に実装されているソフトウェアと共通するソフトウェアが実装され、前記コンピュータシステムで待機系として用いられるコンピュータ装置が行うソフトウェア管理方法であって、
前記運用系コンピュータ装置内のいずれかのソフトウェアが縮退状態となった際に、前記コンピュータ装置が、前記運用系コンピュータ装置内で縮退状態となったソフトウェアに対応する前記コンピュータ装置内のソフトウェアを縮退状態にする縮退実施ステップと、
系が切り替えられ、前記コンピュータ装置が前記運用系コンピュータの処理を引き継いだ際に、前記コンピュータ装置が、系の切替前に前記縮退実施ステップにより縮退状態にされた縮退状態ソフトウェアが存在するか否かを判断し、前記縮退状態ソフトウェアが存在する場合に、前記縮退状態ソフトウェアを縮退状態から回復させる状態回復ステップとを有することを特徴とするソフトウェア管理方法。
【請求項９】
コンピュータ装置が冗長化されたコンピュータシステムで運用系として用いられる運用系コンピュータ装置に実装されているソフトウェアと共通するソフトウェアが実装され、前記コンピュータシステムで待機系として用いられるコンピュータ装置に、
前記運用系コンピュータ装置内のいずれかのソフトウェアが縮退状態となった際に、前記運用系コンピュータ装置内で縮退状態となったソフトウェアに対応する前記コンピュータ装置内のソフトウェアを縮退状態にする縮退実施ステップと、
系が切り替えられ、前記コンピュータ装置が前記運用系コンピュータの処理を引き継いだ際に、系の切替前に前記縮退実施ステップにより縮退状態にされた縮退状態ソフトウェアが存在するか否かを判断し、前記縮退状態ソフトウェアが存在する場合に、前記縮退状態ソフトウェアを縮退状態から回復させる状態回復ステップとを実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ装置が冗長化されたコンピュータシステムに関する。
例えば、仮想マシン（ＶＭ）同期技術を用いて冗長化されたコンピュータシステムに関する。
【背景技術】
【０００２】
従来の仮想マシン同期技術は、図１１のような構成を取り運用・待機の二重系構成が組まれたサーバ上で仮想マシンを動作させている。
図１１の構成では、運用系サーバ上で動作する仮想マシンのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）レジスタやメモリの内容を、待機系サーバ上で一時停止状態となっている仮想マシンに定期的にコピーする。
これにより、運用系と待機系の仮想マシンの状態を同期し、運用系サーバのサーバ障害発生後も、待機系での動作継続を実現している。
ＣＰＵレジスタやメモリ内容のコピー処理は、仮想マシン内部の入出力処理における入力を契機とし、コピー処理を実行する方式（非特許文献１）や、一定間隔の周期制御によりコピー処理を実行する方式（非特許文献２）がある。
【０００３】
また、従来のＣＰＵ異常検知技術には、たとえば、ＵＮＩＸ（登録商標）においては、プロセッサの異常を検知後、ダイナミック・プロセッサ・デアロケーション（非特許文献３）を利用することで、異常が発生したプロセッサを切り離し、システムを縮退させることで動作の継続を可能とする技術がある。
この技術は、将来ｘ８６ＣＰＵを搭載したＬｉｎｕｘ（登録商標）システムにおいても実現すると想定される。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】ＫＶＭを利用した耐故障クラスタリング技術の開発、情報処理学会研究報告．  ［システムソフトウェアとオペレーティング・システム］  ２０１０−ＯＳ−１１５（２０），  １−８，  ２０１０−０７−２７
【非特許文献２】Ｒｅｍｕｓ：  Ｈｉｇｈ  Ａｖａｉｌａｂｉｌｉｔｙ  ｖｉａ  Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ  Ｒｅｐｌｉｃａｔｉｏｎ、ＵＳＥＮＩＸ  ＮＳＤＩ’０８（Ａｐｒｉｌ．  ２０１０）
【非特許文献３】ＰＯＷＥＲ７（Ｒ）システムのＲＡＳ  Ｐｏｗｅｒ  ＳｙｓｔｅｍＴＭの信頼性・可用性・保守性の重要な特徴、Ｄａｎｉｅｌ  Ｈｅｎｄｅｒｓｏｎ、Ｊｉｍ  Ｍｉｔｃｈｅｌｌ、およびＧｅｏｒｇｅ  Ａｈｒｅｎｓ、  ２０１０年１１月１日
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＣＰＵ異常検知技術をＶＭ技術と組み合わせることで、図１２のようなシステムが構築可能となる。
図１２のようなシステムでは、ＶＭが保持する仮想ＣＰＵ（以下、「ｖＣＰＵ」と記す）に物理ＣＰＵ（以下、「ＣＰＵ」と記す）が割り当てられた構成をとり、ＣＰＵの異常を、そのＣＰＵを利用しているＶＭ及びｖＣＰＵに通知することができるようになる。
仮想マシンが複数のｖＣＰＵを保持している場合、ＣＰＵ異常時に異常が発生したＣＰＵに割り当てられているｖＣＰＵをＶＭから切り離すことで、ＶＭを縮退状態にすることが可能となる。
【０００６】
上記のＣＰＵ異常検知技術とＶＭ技術を組み合わせたシステムにＶＭ同期技術を適用したシステムは、図１３に示すような動作を行う。
図１３では、運用系のＣＰＵで異常が発生した場合、そのＣＰＵに割り当てられているＶＭは、異常が発生したＣＰＵに割り当てられているｖＣＰＵを切り離すことで縮退状態になる。
このとき、ＶＭ同期により、ＶＭの状態が待機系にコピーされ、待機系のＣＰＵに異常が発生していないにも関わらず、待機系サーバ上で一時停止状態となっているＶＭは縮退状態となる。
待機系のＶＭが縮退状態となっている状態で、運用系から待機系に系切替が発生した場合、待機系のＶＭは縮退状態のまま動作を開始し、縮退状態が継続されてしまう、という課題がある。
【０００７】
この発明は、上記のような課題を解決することを主な目的の一つとしており、待機系のコンピュータ装置が縮退状態のまま動作し続ける事態を回避することを主な目的とする。
【課題を解決するための手段】
【０００８】
本発明に係るコンピュータ装置は、
コンピュータ装置が冗長化されたコンピュータシステムで運用系として用いられる運用系コンピュータ装置に実装されているソフトウェアと共通するソフトウェアが実装され、前記コンピュータシステムで待機系として用いられるコンピュータ装置であって、
前記運用系コンピュータ装置内のいずれかのソフトウェアが縮退状態となった際に、前記運用系コンピュータ装置内で縮退状態となったソフトウェアに対応する前記コンピュータ装置内のソフトウェアを縮退状態にする縮退実施部と、
系が切り替えられ、前記コンピュータ装置が前記運用系コンピュータの処理を引き継いだ際に、系の切替前に前記縮退実施部が縮退状態にした縮退状態ソフトウェアが存在するか否かを判断し、前記縮退状態ソフトウェアが存在する場合に、前記縮退状態ソフトウェアを縮退状態から回復させる状態回復部とを有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、系が切り替えられた際に、縮退状態ソフトウェアが存在するか否かを判断し、縮退状態ソフトウェアが存在する場合に、縮退状態ソフトウェアを縮退状態から回復させるため、待機系のコンピュータ装置が縮退状態のまま動作し続ける事態を回避することができる。
【図面の簡単な説明】
【００１０】
【図１】実施の形態１に係るコンピュータシステムの構成例を示す図。
【図２】実施の形態１に係る運用系の正常運転時の動作を示すフローチャート図。
【図３】実施の形態１に係る運用系の正常運転時の動作を示すフローチャート図。
【図４】実施の形態１に係る運用系のＣＰＵ異常発生時の動作を示すフローチャート図。
【図５】実施の形態１に係る待機系の正常運転時の動作を示すフローチャート図。
【図６】実施の形態１に係る待機系の正常運転時の動作を示すフローチャート図。
【図７】実施の形態１に係る待機系の系切替後の動作を示すフローチャート図。
【図８】実施の形態１に係るＣＰＵの割当パターン例を示す図。
【図９】実施の形態１に係る優先度に基づくＣＰＵの割当パターン例を示す図。
【図１０】実施の形態１に係る物理サーバ装置のハードウェア構成例を示す図。
【図１１】仮想マシン同期技術を説明する図。
【図１２】ＣＰＵ異常発生時の縮退処理を説明する図。
【図１３】系の切替後の待機系で縮退状態が継続することを説明する図。
【図１４】物理ＣＰＵに空きがなくリソース不足になる場合を説明する図。
【発明を実施するための形態】
【００１１】
実施の形態１．
本実施の形態では、図１３を用いて説明した課題に対して、待機系サーバにＶＭの系切替が行われた後に、縮退によって減少した数のｖＣＰＵを系が切り替わった後のＶＭに追加し、運用系サーバで正常に動作（縮退状態ではない）していたときと同じｖＣＰＵ数にし、追加したｖＣＰＵに対して、未使用のＣＰＵ（ハードウェア資源）を割り当てることで、縮退状態からの回復を行う構成を説明する。
【００１２】
例えば、図１４のように３つのＶＭＭ（仮想マシンモニタ）が存在し、各ＶＭＭが物理ＣＰＵ６個で動作し、各ＶＭは２個のｖＣＰＵで動作している環境を想定する。
この環境において、運用系のＶＭ  Ｃの物理ＣＰＵで異常が発生し、運用系のＶＭ  Ｃと待機系のＶＭ  Ｃが縮退状態になった後に、系の切替が発生した場合は、系の切替後に待機系のＶＭ  Ｃは上記方法で縮退状態から正常状態に回復可能である。
しかし、更に、運用系のＶＭ  Ｄの物理ＣＰＵで異常が発生し、運用系のＶＭ  Ｄと待機系のＶＭ  Ｄが縮退状態になった後に、系の切替が発生した場合は、未使用の物理ＣＰＵが存在せず、待機系のＶＭ  ＤのｖＣＰＵに未使用の物理ＣＰＵを割り当てることができない。
【００１３】
本実施の形態では、この課題に対応するために、システムの継続動作の優先度を示す可用性保証優先度を導入し、ＶＭにｖＣＰＵを追加し、ｖＣＰＵに割り当てるＣＰＵの割当パターンおよび割当時間を制御することで、可用性保証優先度の高いＶＭから順に動作継続を保証する。
【００１４】
図１は、本実施の形態に係るコンピュータシステムの構成例を示す。
【００１５】
ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）４００上には、２台の物理サーバ装置４０１、４２１が配置されている。
物理サーバ装置４０１は、運用系のサーバ装置として動作するものとする。
このため、物理サーバ装置４０１は、運用系コンピュータ装置の例に相当する。
また、物理サーバ装置４２１は、待機系のサーバ装置として動作するものとする。
このため、物理サーバ装置４２１は、コンピュータ装置の例に相当する。
【００１６】
物理サーバ装置４０１は３基のＣＰＵ１１、１２、１３を搭載しており、物理サーバ装置４２１は３基のＣＰＵ２１、２２、２３を搭載している。
それぞれの物理サーバ装置上では、仮想マシンモニタ４０２、４２２が動作している。
仮想マシンモニタ４０２上では、仮想ＣＰＵ（ｖＣＰＵ）１５、１６を有するゲストＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）４０３とｖＣＰＵ１４を有するゲストＯＳ４０４が動作しており、仮想マシンモニタ４２２上では、ｖＣＰＵ２４、２５を有するゲストＯＳ４２３とｖＣＰＵ２６を有するゲストＯＳ４２４が動作している。
仮想マシンモニタ４０２、４２２は、ＶＭ縮退可否判定部４０５、４２５、ＣＰＵ異常検知部４０６、４２６、ＶＭ状態回復部４０７、４２７、ＶＭ状態管理部４０８、４２８、ＶＭスケジューラ４０９、４２９、ＶＭ系切替部４１０、４３０、ＶＭ同期部４１１、４３１、ＣＰＵ利用状況管理部４１２、４３２、異常箇所判定部４１３、４３３、ＶＭ設定ファイル４１４、４３４を有している。
物理サーバ装置４０１を運用系物理サーバ装置とし、物理サーバ装置４２１を待機系物理サーバ装置としているため、ゲストＯＳ４０３は運用系ＶＭとして動作し、ゲストＯＳ４２３はゲストＯＳ４０３に対応する待機系ＶＭとして起動しており、一時停止状態となっている。
同様に、ゲストＯＳ４０４も運用系ＶＭとして動作し、ゲストＯＳ４０４に対応する待機系ＶＭとしてゲストＯＳ４２４が起動しており、一時停止状態となっている。
【００１７】
ここで、仮想マシンモニタ４０２、４２２の構成要素のうち、本実施の形態の特徴的な動作と関連する要素を説明する。
【００１８】
ＶＭ設定ファイル４１４、４３４は、正常運転時の保有する仮想ＣＰＵ（ｖＣＰＵ）数と縮退可否設定、可用性保証優先度の設定が書かれたＶＭ（ゲストＯＳ）毎の設定ファイルである。
【００１９】
異常箇所判定部４１３、４３３は、ＣＰＵ異常が発生した場合に、異常が発生したＣＰＵと異常が発生したＣＰＵに割り当てられているＶＭを識別する。
【００２０】
ＶＭ系切替部４１０、４３０は、運用系の物理サーバ装置４０１に異常が発生した場合に、系の切替を行う。
【００２１】
ＶＭ状態管理部４０８、４２８は、ＶＭ毎のｖＣＰＵ利用状況と、可用性保証優先度の情報を収集・管理し、運用系の仮想マシンモニタと待機系の仮想マシンモニタ間で共有する。
具体的には、ＣＰＵ異常が発生していずれかのＶＭが縮退状態になった場合に、ＶＭ状態管理部４０８は、縮退状態になったＶＭ、切り離されたｖＣＰＵ等の情報をＶＭ状態管理部４２８に通知する。
そして、ＶＭ状態管理部４２８は、ＶＭ状態管理部４０８から通知された情報に基づき、待機系の物理サーバ装置４２１内の対応するＶＭを縮退状態にする。
ＶＭ状態管理部４２８は、縮退実施部の例に相当する。
【００２２】
ＶＭ状態回復部４０７、４２７は、運用系から待機系への系切替後に不足分のｖＣＰＵを追加し、ＶＭ状態管理部４０８、４２８が管理しているＶＭ毎のｖＣＰＵ利用状況と可用性保証優先度を元に、追加後の各ｖＣＰＵに割り当てるＣＰＵ割当時間を制御する。
つまり、ＶＭ状態回復部４２７は、系が切り替えられ、待機系の物理サーバ装置４２１が運用系の物理サーバ装置４０１の処理を引き継いだ際に、系の切替前にＶＭ状態回復部４２７が縮退状態にしたＶＭ（縮退状態ソフトウェア）が存在するか否かを判断し、縮退状態のＶＭが存在する場合に、縮退状態のＶＭを縮退状態から回復させる。
また、ＶＭ状態回復部４２７は、縮退状態のＶＭが専有できる物理ＣＰＵがあるか否かを判断し、縮退状態のＶＭが専有できる物理ＣＰＵがない場合に、他のＶＭが利用している物理ＣＰＵを縮退状態のＶＭと当該他のＶＭとで共有させて、縮退状態のＶＭを縮退状態から回復させる。
また、ＶＭ状態回復部４２７は、物理ＣＰＵの利用状況によっては、縮退状態のＶＭよりも可用性保証優先度が低いＶＭの物理ＣＰＵの利用を制限して、縮退状態のＶＭに割り当てる物理ＣＰＵを確保する場合もある。
ＶＭ状態回復部４２７は、状態回復部の例に相当する。
【００２３】
次に動作について、正常運転時の運用系と待機系の動作、ＣＰＵ異常発生時の運用系の動作、系切替実施直後の待機系の動作、に分けて説明する。
【００２４】
最初に正常運転時の運用系と待機系の動作について説明する。
図２及び図３が、運用系の物理サーバ装置４０１の正常運転時の動作を示すフローチャート図である。
図５及び図６が、待機系の物理サーバ装置４２１の正常運転時の動作を示すフローチャート図である。
【００２５】
運用系の物理サーバ装置４０１では、Ｓ５０１にてＶＭ同期部４１１が動作を開始した後、Ｓ５０２にてＶＭのＣＰＵ・メモリ内容を待機系のＶＭ同期部４３１に送信する。
以後、定期的にＳ５０２の動作を繰り返す。
また、ＶＭ同期部４１１の動作と並行して、Ｓ５０３でＶＭ状態管理部４０８が動作を開始した後、Ｓ５０４にてＶＭ設定ファイル４１４を読み込み、ＶＭ毎の可用性保証優先度の情報を待機系のＶＭ状態管理部４２８と共有し、Ｓ５０５にて動作中（一時停止状態は動作中には含まない）のＶＭのｖＣＰＵ利用状況を収集し、待機系のＶＭ状態管理部４２８と共有する。
以後、定期的にＳ５０５の動作を繰り返す。
【００２６】
また、待機系では、Ｓ７０１にてＶＭ同期部４３１が動作を開始した後、Ｓ７０２にて、Ｓ５０２で運用系のＶＭ同期部４１１から送信されたＶＭのＣＰＵ・メモリ内容を受信し、待機系の一時停止中のＶＭに反映する。
また、ＶＭ同期部４３１の動作と並行して、Ｓ７０３でＶＭ状態管理部４２８が動作を開始した後、Ｓ７０４にてＶＭ設定ファイル４３４を読み込み、ＶＭ毎の可用性保証優先度の情報を運用系のＶＭ状態管理部４０８と共有し、Ｓ７０５にて動作中（一時停止状態は動作中には含まない）のＶＭのｖＣＰＵ利用状況を収集し、運用系のＶＭ状態管理部４０８と共有する。
以後、定期的にＳ７０５の動作を繰り返す。
以上が正常運転時の運用系と待機系の動作である。
【００２７】
次に、ＣＰＵ異常発生時の運用系の動作について説明する（図４）。
【００２８】
Ｓ６０１にて、運用系の物理サーバ装置４０１にてＣＰＵ異常が発生すると、Ｓ６０２にてＣＰＵ異常検知部４０６がＣＰＵ異常を検知し、Ｓ６０３にて、異常箇所判定部４１３が呼び出され、異常が発生したＣＰＵと異常が発生したＣＰＵに割り当てられているＶＭを識別する。
次にＳ６０４にて、ＶＭ縮退可否判定部４０５が、Ｓ６０３で識別したＶＭに対して縮退可能設定がされているかどうかをＶＭ設定ファイル４１４にアクセスし確認する。
このとき縮退可能設定がされていない場合は、Ｓ６０９に処理が進み、ＶＭ系切替部４１０によって系切替を実施し、運用系のＶＭを停止させ、待機系の一時停止中のＶＭの動作を再開させる。
縮退可能設定がされている場合は、ＶＭ縮退可否判定部４０５は、Ｓ６０５にて、当該ＶＭが縮退可能かどうかをＶＭ状態管理部４０８が管理している情報にアクセスし確認する。
このとき、縮退不可能である場合は、Ｓ６０９に処理が進み、ＶＭ系切替部４１０によって系切替を実施し、運用系のＶＭを停止させ、待機系の一時停止中のＶＭの動作を再開させる。
縮退可能である場合は、Ｓ６０６にてＣＰＵ異常検知部４０６が該当するＶＭに対してＣＰＵ異常を通知する。
次に、Ｓ６０７にて、ＣＰＵ異常通知を受信したＶＭが、異常が発生したＣＰＵに割り当てられているｖＣＰＵを切り離し、縮退状態になる。
Ｓ６０８にて、ＶＭが縮退状態になり、ＶＭの保有するｖＣＰＵ数が減少したことをＶＭ状態管理部４０８が検知し、待機系のＶＭ状態管理部４２８と共有する。
つまり、ＶＭ状態管理部４０８は、縮退状態になったＶＭと切り離されたｖＣＰＵを待機系のＶＭ状態管理部４２８に通知する。
ＶＭ状態管理部４２８は、ＶＭ状態管理部４０８から通知されたｖＣＰＵに対応するｖＣＰＵの切り離しを行い、待機系の物理サーバ装置４２１内の対応するＶＭを縮退状態にする。
【００２９】
以上が運用系でＣＰＵ異常が発生した時の動作である。Ｓ６０５、Ｓ６０６、Ｓ６０７、Ｓ６０８の処理を経て、ＶＭが縮退状態となった後で更にＣＰＵ異常が発生した場合は、再度Ｓ６０２からの処理を実施する。
【００３０】
最後に系切替直後の待機系の動作について説明する（図７）。
【００３１】
運用系の動作Ｓ６０９（図４）にて系切替が行われ、Ｓ８０１にて系切替が完了後、Ｓ８０２にてＶＭ状態回復部４２７が系切替の直後のＶＭが縮退状態かどうかをＶＭ状態管理部４２８の管理する情報にアクセスし、確認する。
つまり、ＶＭ状態回復部４２７は、系の切替前にＶＭ状態管理部４２８が縮退状態にしたＶＭがあるか否かを判断する。
縮退状態のＶＭがない場合は、Ｓ８０９に処理が移り、処理が完了する。
縮退状態のＶＭがあるときは、処理はＳ８０３に移り、ＶＭ状態回復部４２７が、縮退によって不足しているｖＣＰＵを追加する。
次に、ＶＭ状態回復部４２７は、Ｓ８０４にて、追加したｖＣＰＵに割り当てるための未使用のＣＰＵがあるかどうかをＣＰＵ利用状況管理部４３２の情報を用いて確認する。
このとき、追加したｖＣＰＵの数だけ未使用のＣＰＵがある場合は、ＶＭ状態回復部４２７は、Ｓ８０５にてｖＣＰＵに未使用のＣＰＵを割り当て、Ｓ８０９に処理が移り、処理が完了する。
【００３２】
未使用物理ＣＰＵが無い場合は、ＶＭ状態回復部４２７は、Ｓ８０６にて待機系で動作中のＶＭのｖＣＰＵ利用状況と、Ｓ７０５にて待機系のＶＭ状態管理部４２８が運用系のＶＭ状態管理部４０８と共有した運用系のｖＣＰＵ利用状況を比較して、ＣＰＵ割当パターン変更で回復可能かどうかを確認する。
ＣＰＵ割当パターン変更で回復可能である場合には、ＶＭ状態回復部４２７は、Ｓ８０７にてＶＭ状態管理部４２８から系切替直前まで待機系で動作していたその他のＶＭのｖＣＰＵ利用状況を取得し、系切替直後の余剰ＣＰＵリソース量を算出し、ｖＣＰＵ（追加したｖＣＰＵ含む）へのＣＰＵ割当パターンを変更し、Ｓ８０９に処理が移り、処理が完了する。
一方、ＣＰＵ割当パターン変更で回復不可能な場合には、Ｓ８０８に処理が移り、ＶＭ状態回復部４２７は、可用性保証優先度に基づき、可用性保証優先度が低いＶＭに割り当てられているＣＰＵの割り当て時間を減らし、可用性保証優先度が高いＶＭにＣＰＵ割当時間を多く割り当て、Ｓ８０９に処理が移り、処理が完了する。
以上が系切替直後の待機系の動作である。
【００３３】
Ｓ８０７では、ＶＭ状態回復部４２７は、図８のように余剰ＣＰＵ量を算出し、縮退状態のＶＭが正常状態で動作するために必要なＣＰＵ量を提供できるＣＰＵを他のＶＭと共有するように割当パターンを変更する、という処理を行う。
図８の例では、ｖＣＰＵ３が縮退状態のＶＭのｖＣＰＵであり、このｖＣＰＵ３は、ＣＰＵ時間の３０％が割り当てられれば実現でき、物理ＣＰＵ２にはＣＰＵ時間の５０％が余っているので、このうちの３０％をｖＣＰＵ３に割り当てることで、縮退状態のＶＭを正常状態に回復させる。
【００３４】
Ｓ８０８では、ＶＭ状態回復部４２７は、図９のように、可用性保証優先度の低いＶＭに割り当てられているＣＰＵ量を減らすことで、余剰ＣＰＵ量を増やし、可用性保証優先度の高いＶＭに割り当てる、という処理を行う。
図９の例では、ｖＣＰＵ３が縮退状態のＶＭのｖＣＰＵであり、このｖＣＰＵ３は、ＣＰＵ時間の３０％が割り当てられれば実現できる。
物理ＣＰＵ１、物理ＣＰＵ２ともに余剰は２５％のみであり、図８のＣＰＵ割当パターン変更では回復できない。
このため、縮退状態のＶＭ（ｖＣＰＵ３を使用）よりも可用性保証優先度が低いＶＭ（ｖＣＰＵ１を使用）に割り当てられているＣＰＵ量を５％減らして、余剰ＣＰＵ量を３０％にし、この３０％をｖＣＰＵ３に割り当てて、縮退状態のＶＭを正常状態に回復させる。
【００３５】
以上のように、ＶＭ毎のｖＣＰＵ利用状況の収集やＶＭが縮退状態であるかどうかの管理を行うＶＭ状態管理部と、Ｓ８０７の処理およびＳ８０８の処理を実行するＶＭ状態回復部により、可用性保証優先度と系切替直後のＣＰＵ割当状況に基づき、ｖＣＰＵへのＣＰＵ割当パターンおよびＣＰＵ割当量の変更を行うことで可用性保証優先度の高いものから順に縮退状態から回復し系切替後の動作が保証される、という効果を得る。
【００３６】
以上、本実施の形態では、
ＶＭ同期における同期元のＶＭと、同期元ＶＭを管理する仮想マシンモニタが動作する運用系物理サーバ装置と、
ＶＭ同期における同期先のＶＭと、同期先ＶＭを管理する仮想マシンモニタが動作する待機系物理サーバ装置とを備え、
仮想マシンモニタ内部に、
ＣＰＵ異常発生時に異常を検知するＣＰＵ異常検知部と、
異常が発生したＣＰＵに割り当てられているｖＣＰＵおよびＶＭを特定する異常箇所判定部と、
ＶＭ毎の可用性保証優先度と縮退可否設定が書かれたＶＭ設定ファイルと、
現在のＶＭの縮退状況とｖＣＰＵ利用状況を管理し、待機系とＶＭの縮退状況とｖＣＰＵ利用状況を共有するＶＭ状態管理部と、
系切替後に運用系のＶＭ状態管理部と共有したＶＭの縮退状況とｖＣＰＵ利用状況を元に切替後のＶＭにｖＣＰＵを追加し、未使用ＣＰＵの割り当て、ＣＰＵ割当パターンおよびＣＰＵ割当量の変更を行うＶＭ状態回復部を備え、
運用系物理サーバ装置で動作するＶＭがＣＰＵ異常によって縮退状態となり、ＶＭ同期によって縮退状態が引き継がれているＶＭに対して、運用系で正常に稼働して時のｖＣＰＵ利用状況と可用性保証優先度情報をＶＭ状態管理部より取得し、可用性保証優先度と系切替直後のＣＰＵ割当状況に基づき、ｖＣＰＵへのＣＰＵ割当パターンおよびＣＰＵ割当量の変更を行うことで可用性保証優先度の高いものから順に縮退状態から回復し系切替後の動作を保証する、
仮想マシン同期装置および異常検知・系切替手法を説明した。
【００３７】
なお、上記では、仮想マシンが構築されているコンピュータシステムを例にして説明を行ったが、本実施の形態の適用対象はこれに限られない。
運用系コンピュータ装置内のいずれかのソフトウェアが縮退状態となった際に、運用系コンピュータ装置内で縮退状態となったソフトウェアに対応する待機系コンピュータ装置内のソフトウェアを縮退状態にするコンピュータシステムであれば、本実施の形態に示した方式を適用できる。
そして、本実施の形態に示した方式を適用すれば、系の切替後に待機系コンピュータ装置に縮退状態ソフトウェアが存在するか否かを判断し、縮退状態ソフトウェアが存在する場合には、縮退状態ソフトウェアを縮退状態から回復させることが可能である。
【００３８】
最後に、本実施の形態に示した物理サーバ装置４０１、４２１のハードウェア構成例について説明する。
図１０は、本実施の形態に示す物理サーバ装置４０１、４２１のハードウェア資源の一例を示す図である。
なお、図１０の構成は、あくまでも物理サーバ装置４０１、４２１のハードウェア構成の一例を示すものであり、物理サーバ装置４０１、４２１のハードウェア構成は図１０に記載の構成に限らず、他の構成であってもよい。
【００３９】
図１０において、物理サーバ装置４０１、４２１は、プログラムを実行するＣＰＵ９１１を備えている。
ＣＰＵ９１１は、バス９１２を介して、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９１３、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９１４、通信ボード９１５、表示装置９０１、キーボード９０２、マウス９０３、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。
更に、ＣＰＵ９１１は、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）、コンパクトディスク装置９０５（ＣＤＤ）と接続していてもよい。
また、磁気ディスク装置９２０の代わりに、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）を用いてもよい。
ＲＡＭ９１４は、揮発性メモリの一例である。
ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
通信ボード９１５、キーボード９０２、マウス９０３、ＦＤＤ９０４などは、入力装置の一例である。
また、通信ボード９１５、表示装置９０１などは、出力装置の一例である。
【００４０】
通信ボード９１５は、図１に示すように、ＬＡＮ４００に接続される。
【００４１】
磁気ディスク装置９２０には、仮想マシンモニタ９２１、ゲストＯＳ９２２、プログラム群９２３、ファイル群９２４が記憶されている。
プログラム群９２３のプログラムは、ＣＰＵ９１１、仮想マシンモニタ９２１、ゲストＯＳ９２２により実行される。
仮想マシンモニタ９２１には、図１の仮想マシンモニタ４０２、４２２内の各要素が含まれる。
【００４２】
ＲＯＭ９１３には、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）プログラムが格納され、磁気ディスク装置９２０にはブートプログラムが格納されている。
物理サーバ装置４０１、４２１の起動時には、ＲＯＭ９１３のＢＩＯＳプログラム及び磁気ディスク装置９２０のブートプログラムが実行され、ＢＩＯＳプログラム及びブートプログラムにより仮想マシンモニタ９２１、ゲストＯＳ９２２が起動される。
【００４３】
更に、ファイル群９２４には、本実施の形態の説明において、「〜の判断」、「〜の判定」、「〜の検出」、「〜の同期」、「〜の識別」、「〜の制御」、「〜の設定」、「〜の選択」、「〜の確認」、「〜の割り当て」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのＣＰＵの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、本実施の形態で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ９１４のメモリ、ＦＤＤ９０４のフレキシブルディスク、ＣＤＤ９０５のコンパクトディスク、磁気ディスク装置９２０の磁気ディスク、その他光ディスク、ブルーレイ（登録商標）ディスク、ＤＶＤ等の記録媒体に記録される。
また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【００４４】
また、本実施の形態の説明において「〜部」として説明しているものは「〜ステップ」、「〜手順」、「〜処理」であってもよい。
すなわち、本実施の形態で説明したフローチャートに示すステップ、手順、処理により、本発明に係る「ソフトウェア管理方法」を実現することができる。
また、「〜部」として説明しているものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。
或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアとソフトウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ（登録商標）ディスク、ＤＶＤ等の記録媒体に記憶される。
【符号の説明】
【００４５】
１１  ＣＰＵ、１２  ＣＰＵ、１３  ＣＰＵ、１４  ｖＣＰＵ、１５  ｖＣＰＵ、１６  ｖＣＰＵ、２１  ＣＰＵ、２２  ＣＰＵ、２３  ＣＵＰ、２４  ｖＣＰＵ、２５  ｖＣＰＵ、２６  ｖＣＰＵ、４００  ＬＡＮ、４０１  物理サーバ装置、４０２  仮想マシンモニタ、４０３  ゲストＯＳ、４０４  ゲストＯＳ、４０５  ＶＭ縮退可否判定部、４０６  ＣＰＵ異常検知部、４０７  ＶＭ状態回復部、４０８  ＶＭ状態管理部、４０９  ＶＭスケジューラ、４１０  ＶＭ系切替部、４１１  ＶＭ同期部、４１２  ＣＰＵ利用状況管理部、４１３  異常箇所判定部、４１４  ＶＭ設定ファイル、４２１  物理サーバ装置、４２２  仮想マシンモニタ、４２３  ゲストＯＳ、４２４  ゲストＯＳ、４２５  ＶＭ縮退可否判定部、４２６  ＣＰＵ異常検知部、４２８  ＶＭ状態管理部、４２７  ＶＭ状態回復部、４２９  ＶＭスケジューラ、４３０  ＶＭ系切替部、４３１  ＶＭ同期部、４３２  ＣＰＵ利用状況管理部、４３３  異常箇所判定部、４３４  ＶＭ設定ファイル。
【図１】
2013254354.tif 000003
【図２】
2013254354.tif 000004
【図３】
2013254354.tif 000005
【図４】
2013254354.tif 000006
【図５】
2013254354.tif 000007
【図６】
2013254354.tif 000008
【図７】
2013254354.tif 000009
【図８】
2013254354.tif 000010
【図９】
2013254354.tif 000011
【図１０】
2013254354.tif 000012
【図１１】
2013254354.tif 000013
【図１２】
2013254354.tif 000014
【図１３】
2013254354.tif 000015
【図１４】
2013254354.tif 000016