(57)【要約】      （修正有）【課題】冗長構成を有するシステムにおいて異常が発生した際に速やかに処理を引き継ぐ。【解決手段】他の情報処理装置上で動作する他の仮想マシンにおいて異常が発生した場合、他の仮想マシンの状態を示す状態情報を格納するデータ格納部から、状態情報を取得し、状態情報が、他の仮想マシンが処理を実行できない状態であることを示す場合、他の仮想マシンから情報処理装置上で動作する仮想マシンに処理を引き継ぐ。他の情報処理装置から状態情報を受信し、データ格納部に格納する処理、他の情報処理装置から、他の仮想マシンにおいて異常が発生したことを示す通知を受信する処理をさらに含んでもよい。【選択図】図７
2017016462.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置のプロセッサに、
他の情報処理装置上で動作する他の仮想マシンにおいて異常が発生した場合、前記他の仮想マシンの状態を示す状態情報を格納するデータ格納部から、前記状態情報を取得し、
前記状態情報が、前記他の仮想マシンが処理を実行できない状態であることを示す場合、前記他の仮想マシンから前記情報処理装置上で動作する仮想マシンに前記処理を引き継ぐ、
処理を実行させる引き継ぎ処理プログラム。
【請求項２】
前記プロセッサに、
前記他の情報処理装置から前記状態情報を受信し、前記データ格納部に格納する、
処理をさらに実行させる請求項１記載の引き継ぎ処理プログラム。
【請求項３】
前記プロセッサに、
前記他の情報処理装置から、前記他の仮想マシンにおいて異常が発生したことを示す通知を受信する、
処理をさらに実行させる請求項１又は２記載の引き継ぎ処理プログラム。
【請求項４】
前記プロセッサに、
前記情報処理装置上で動作する仮想マシンにおいて異常が発生した場合、当該仮想マシンにおいて異常が発生したことを示す第２の通知を、前記他の情報処理装置に送信し、
前記情報処理装置上で動作する仮想マシンの状態を特定し、
前記情報処理装置上で動作する仮想マシンの状態を示す第２の状態情報を、前記他の情報処理装置に送信する、
処理をさらに実行させる請求項１乃至３のいずれか１つ記載の引き継ぎ処理プログラム。
【請求項５】
情報処理装置のプロセッサが、
他の情報処理装置上で動作する他の仮想マシンにおいて異常が発生した場合、前記他の仮想マシンの状態を示す状態情報を格納するデータ格納部から、前記状態情報を取得し、
前記状態情報が、前記他の仮想マシンが処理を実行できない状態であることを示す場合、前記他の仮想マシンから前記情報処理装置上で動作する仮想マシンに前記処理を引き継ぐ、
処理を実行する引き継ぎ処理方法。
【請求項６】
他の情報処理装置上で動作する他の仮想マシンの状態を示す状態情報を格納するデータ格納部と、
前記他の情報処理装置上で動作する前記他の仮想マシンにおいて異常が発生した場合、前記データ格納部から、前記状態情報を取得する取得部と、
前記状態情報が、前記他の仮想マシンが処理を実行できない状態であることを示す場合、前記他の仮想マシンから情報処理装置上で動作する仮想マシンに前記処理を引き継ぐ引き継ぎ部と、
を有する情報処理装置。
【請求項７】
情報処理装置のプロセッサに、
前記情報処理装置上で動作する第１の仮想マシンにおいて異常が発生した場合、前記第１の仮想マシンの状態を示す状態情報を格納するデータ格納部から、前記状態情報を取得し、
前記状態情報が、前記第１の仮想マシンが処理を実行できない状態であることを示す場合、前記第１の仮想マシンから前記情報処理装置上で動作する第２の仮想マシンに前記処理を引き継ぐ、
処理を実行させる引き継ぎ処理プログラム。
【請求項８】
情報処理装置のプロセッサが、
前記情報処理装置上で動作する第１の仮想マシンにおいて異常が発生した場合、前記第１の仮想マシンの状態を示す状態情報を格納するデータ格納部から、前記状態情報を取得し、
前記状態情報が、前記第１の仮想マシンが処理を実行できない状態であることを示す場合、前記第１の仮想マシンから前記情報処理装置上で動作する第２の仮想マシンに前記処理を引き継ぐ、
処理を実行する引き継ぎ処理方法。
【請求項９】
情報処理装置であって、
前記情報処理装置上で動作する第１の仮想マシンの状態を示す状態情報を格納するデータ格納部と、
前記第１の仮想マシンにおいて異常が発生した場合、前記データ格納部から、前記状態情報を取得する取得部と、
前記状態情報が、前記第１の仮想マシンが処理を実行できない状態であることを示す場合、前記第１の仮想マシンから前記情報処理装置上で動作する第２の仮想マシンに前記処理を引き継ぐ引き継ぎ部と、
を有する情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、冗長化技術に関する。
【背景技術】
【０００２】
コンピュータシステムは、障害への耐性を高めるために冗長化される。例えば或る文献は、物理的なコンピュータシステムを２台用意し、それぞれのコンピュータシステムにおいて仮想マシンを動作させることによって、運用系の仮想マシンに障害が発生した場合に備える技術を開示する。
【０００３】
例えば運用系の仮想マシンと待機系の仮想マシンとが稼働中である場合に、運用系の仮想マシンに障害が発生すると、運用系の仮想マシンが実行していた処理は待機系の仮想マシンに自動的に引き継がれる。この仕組みはフェイルオーバーと呼ばれる。
【０００４】
運用系の仮想マシンから待機系の仮想マシンへの引き継ぎが完了して待機系の仮想マシンがアプリケーションプログラムの実行を開始するまでの間は、アプリケーションプログラムが実行されないため、業務処理が停止することになる。業務処理が停止する時間を短くするためには、引き継ぎにかかる時間を短くしなければならないが、上記文献においてはこの点について十分に検討がなされていない。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】国際公開第２０１０／０７９５８７号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従って、本発明の目的は、１つの側面では、冗長構成を有するシステムにおいて異常が発生した際に速やかに処理を引き継ぐための技術を提供することである。
【課題を解決するための手段】
【０００７】
本発明の第１の態様に係る引き継ぎ処理方法は、他の情報処理装置上で動作する他の仮想マシンにおいて異常が発生した場合、他の仮想マシンの状態を示す状態情報を格納するデータ格納部から、状態情報を取得し、状態情報が、他の仮想マシンが処理を実行できない状態であることを示す場合、他の仮想マシンから情報処理装置上で動作する仮想マシンに処理を引き継ぐ処理を含む。
【０００８】
本発明の第２の態様に係る引き継ぎ処理方法は、情報処理装置上で動作する第１の仮想マシンにおいて異常が発生した場合、第１の仮想マシンの状態を示す状態情報を格納するデータ格納部から、状態情報を取得し、状態情報が、第１の仮想マシンが処理を実行できない状態であることを示す場合、第１の仮想マシンから情報処理装置上で動作する第２の仮想マシンに処理を引き継ぐ処理を含む。
【発明の効果】
【０００９】
１つの側面では、冗長構成を有するシステムにおいて異常が発生した際に速やかに処理を引き継ぐことができるようになる。
【図面の簡単な説明】
【００１０】
【図１】図１は、システムの一例を示す図である。
【図２】図２は、サーバのハードウエア構成図である。
【図３】図３は、異常発生時に行われる処理の一例を示す図である。
【図４】図４は、第１の実施の形態におけるシステムの概要を示す図である。
【図５】図５は、状態データ格納部に格納されるデータの一例を示す図である。
【図６】図６は、更新待ちフラグの一例を示す図である。
【図７】図７は、第１の実施の形態において異常発生時に行われる処理について説明するための図である。
【図８】図８は、第１の実施の形態のメインの処理フローを示す図である。
【図９】図９は、第１の実施の形態のメインの処理フローを示す図である。
【図１０】図１０は、仮想サーバの状態の遷移図である。
【図１１】図１１は、仮想サーバの状態の遷移図である。
【図１２】図１２は、第２の実施の形態におけるシステムの概要を示す図である。
【図１３】図１３は、第２の実施の形態において異常発生時に行われる処理について説明するための図である。
【図１４】図１４は、第２の実施の形態のメインの処理フローを示す図である。
【図１５】図１５は、第２の実施の形態のメインの処理フローを示す図である。
【発明を実施するための形態】
【００１１】
まず、図１に示すようなシステムを考える。図１に示したシステムは、例えば物理サーバであるサーバＡとサーバＢとを有する。サーバＡは、サーバＡ内のハードウエアの監視等を行うサービスプロセッサ１０ａを有し、サーバＡにおいては、仮想化機構２０ａと、仮想化機構２０ａによって実現される仮想サーバ３０ａとが実行される。同様に、サーバＢは、サーバＢ内のハードウエアの監視等を行うサービスプロセッサ１０ｂを有し、サーバＢにおいては、仮想化機構２０ｂと、仮想化機構２０ｂによって実現される仮想サーバ３０ｂとが実行される。仮想化機構２０ａ及び２０ｂは、例えばハイパバイザである。ここでは、各サーバにおいて実行される仮想サーバの数は１であるが、数に限定は無い。
【００１２】
サーバＡとサーバＢとの間には、例えばＬＡＮ（Local Area Network）スイッチであるスイッチ４０が配置されており、サービスプロセッサ１０ａ、サービスプロセッサ１０ｂ、仮想化機構２０ａ、及び仮想化機構２０ｂは、管理ＬＡＮ６０を使用して互いに通信を行うことができる。スイッチ４０には、コンソール５０が接続される。サービスプロセッサ１０ａ、サービスプロセッサ１０ｂ、仮想化機構２０ａ、仮想化機構２０ｂ、及びスイッチ４０における縦長の長方形の図形は、ＬＡＮのインタフェースを表す。
【００１３】
仮想サーバ３０ａと仮想サーバ３０ｂとは、クラスタインタコネクト３５０によって接続される。仮想サーバ３０ａは冗長化のための処理等を実行するクラスタ処理部３０１ａとＯＳ（Operating System）３０２ａとを有し、仮想サーバ３０ｂは冗長化のための処理等を実行するクラスタ処理部３０１ｂとＯＳ３０２ｂとを有する。仮想サーバ３０ａ及び仮想サーバ３０ｂによって、クラスタシステム３００が実現される。仮想サーバ３０ａ及び仮想サーバ３０ｂは、業務処理を実行する。
【００１４】
図２に、サーバＡ及びＢのハードウエア構成図の一例を示す。図２の例では、サーバＡ及びＢは、ＣＰＵ（Central Processing Unit）１００１とメモリ１００２とＩＯ（Input Output）１００３とを有するサービスプロセッサ、及び複数のＣＰＵ３００１と複数のメモリ３００２と複数のＩＯ３００３とを有する仮想サーバ用ハードウエアリソースを有する。処理を実行するためのプログラムはメモリ１００２及び３００２に格納されている。メモリ１００２に格納されたプログラムはＣＰＵ１００１に実行され且つメモリ３００２に格納されたプログラムはＣＰＵ３００１に実行されることで、以下で説明するような処理が実現される。
【００１５】
図３を用いて、図１に示したシステムにおいて異常発生時に行われる処理について説明する。例えば、運用ノードである仮想サーバ３０ａにおいて異常（例えばＯＳ３０２ａのパニック）が発生したとする。この場合、仮想化機構２０ａが異常の発生を検出し、サービスプロセッサ１０ａに通知する。サービスプロセッサ１０ａは、仮想サーバ３０ａにおいて異常が発生したことを示すＳＮＭＰ（Simple Network Management Protocol）トラップを生成し、待機ノードである仮想サーバ３０ｂに送信する。これにより、待機ノードである仮想サーバ３０ｂは、運用ノードである仮想サーバ３０ａの異常を検知する。ここまでの処理は、太い実線の矢印で表されている。
【００１６】
仮想サーバ３０ｂのクラスタ処理部３０１ｂは、仮想サーバ３０ａが停止又はパニックの状態にあるか確認するために、サーバＡのサービスプロセッサ１０ａにログインし、運用ノードの状態情報を要求する状態要求を送信する。サービスプロセッサ１０ａは、状態要求を受信すると、仮想化機構２０ａを介して仮想サーバ３０ａの状態を確認する。ここまでの処理は、白色部分及び黒色部分を交互に含む矢印で表されている。ログイン先は、予め管理者等によって設定されているものとする。
【００１７】
サービスプロセッサ１０ａは、仮想化機構２０ａを介して仮想サーバ３０ａの状態を確認すると、仮想サーバ３０ａの状態を示す状態応答を仮想サーバ３０ｂに送信する。仮想サーバ３０ｂのクラスタ処理部３０１ｂは、仮想サーバ３０ａが停止又はパニックの状態である場合には引き継ぎのための処理を実行し、仮想サーバ３０ａが停止又はパニックの状態以外の状態である場合には引き継ぎの処理を実行しない。ここまでの処理は、太い破線で表されている。
【００１８】
図３を用いて説明したように、仮想サーバ３０ｂのクラスタ処理部３０１ｂは、ＳＮＭＰトラップを１回受信しただけでは引き継ぎを開始しない。これは、たとえ運用ノードの業務処理が正常に実行されていたとしても、ＯＳ３０２ａの部分的な異常によって、仮想化機構２０ａが異常と判定してしまうことがあるからである。仮にこの段階で仮想サーバ３０ｂが引き継ぎを実行すると、共有ディスクへの書き込みが仮想サーバ３０ａ及び仮想サーバ３０ｂの両方から行われ、二重書き込みによるデータ破壊が発生し、業務に多大な影響を及ぼしてしまう。
【００１９】
そのため、仮想サーバ３０ｂのクラスタ処理部３０１ｂは、状態要求によって仮想サーバ３０ａの状態を調べ、仮想サーバ３０ａの処理が停止したことを確認できるまでは引き継ぎを行わない。従って、図３を用いて説明した処理の場合、ＳＮＭＰトラップ以外に、管理ＬＡＮ６０を介した通信が２回行われることになる。また、最初から最後まで処理がシリアルに実行される。
【００２０】
なお、サービスプロセッサは、サービスプロセッサ間においては通常の通信を行うことは可能であるが、サービスプロセッサ以外（例えば、仮想サーバ）との通信は、ＳＮＭＰトラップの送信のみに限られる。よって、仮想サーバが２回目の確認もＳＮＭＰによって行うことも可能ではあるが、同じ手段による通知を２回受けることになるので、二重確認としては不十分である。
【００２１】
以上のような点を踏まえ、第１及び第２の実施の形態においては、引き継ぎが完了するまでの時間がより短縮されるような方法について説明する。
【００２２】
［実施の形態１］
図４に、第１の実施の形態におけるシステムの概要を示す。図４に示したシステムは、例えば物理サーバであるサーバＡとサーバＢとを有する。サーバＡは、サーバＡ内のハードウエアの監視等を行うサービスプロセッサ１０ａを有し、サーバＡにおいては、仮想化機構２０ａと、仮想化機構２０ａによって実現される仮想サーバ３０ａとが実行される。同様に、サーバＢは、サーバＢ内のハードウエアの監視等を行うサービスプロセッサ１０ｂを有し、サーバＢにおいては、仮想化機構２０ｂと仮想化機構２０ｂによって実現される仮想サーバ３０ｂとが実行される。仮想化機構２０ａ及び２０ｂは、例えばハイパバイザである。ここでは、各サーバにおいて実行される仮想サーバの数は１であるが、数に限定は無い。
【００２３】
サーバＡとサーバＢとの間には、例えばＬＡＮスイッチであるスイッチ４０が配置されており、サービスプロセッサ１０ａ、サービスプロセッサ１０ｂ、仮想化機構２０ａ、及び仮想化機構２０ｂは、管理ＬＡＮ６０を使用して互いに通信を行うことができる。スイッチ４０には、コンソール５０が接続される。なお、サービスプロセッサ１０ａ、サービスプロセッサ１０ｂ、仮想化機構２０ａ、仮想化機構２０ｂ、及びスイッチ４０における縦長の長方形の図形は、ＬＡＮのインタフェースを表す。
【００２４】
サービスプロセッサ１０ａは、状態データ格納部１０１ａと通知処理部１０２ａとを有する。状態データ格納部１０１ａは、システム内における仮想サーバの状態を示す状態情報を仮想サーバ毎に格納する。通知処理部１０２ａは、ＳＮＭＰトラップを送信する処理及び運用ノードである仮想サーバ３０ａの状態を示す状態通知をサービスプロセッサ１０ｂに送信する処理等を実行する。
【００２５】
サービスプロセッサ１０ｂは、状態データ格納部１０１ｂと待合せ処理部１０３ｂとを有する。状態データ格納部１０１ｂは、システム内における仮想サーバの状態を示す状態情報を仮想サーバ毎に格納する。待合せ処理部１０３ｂは、通知処理部１０２ａから状態通知を受信した場合に、更新待ちフラグを更新し、待機ノードである仮想マシン３０ｂに状態応答を送信する処理等を実行する。
【００２６】
仮想サーバ３０ａと仮想サーバ３０ｂとは、クラスタインタコネクト３５０によって接続される。仮想サーバ３０ａは冗長化のための処理等を実行するクラスタ処理部３０１ａとＯＳ３０２ａとを有し、仮想サーバ３０ｂは冗長化のための処理等を実行するクラスタ処理部３０１ｂとＯＳ３０２ｂとを有する。仮想サーバ３０ａ及び仮想サーバ３０ｂによってクラスタシステム３００が実現される。仮想サーバ３０ａ及び仮想サーバ３０ｂは、業務処理を実行する。
【００２７】
なお、サーバＡ及びＢは図２に示したハードウエア構成を有している。第１の実施の形態の処理を実行するためのプログラムはメモリ１００２及び３００２に格納されている。メモリ１００２に格納されたプログラムはＣＰＵ１００１に実行され且つメモリ３００２に格納されたプログラムはＣＰＵ３００１に実行されることで、以下で説明するような処理が実現される。
【００２８】
図５に、状態データ格納部１０１ａ及び１０１ｂに格納されるデータの一例を示す。図５の例では、仮想サーバの識別情報と、状態情報とが格納される。本実施の形態においては、状態情報は、「Ａｃｔｉｖｅ」、「Ｐａｎｉｃ」、「Ｓｔｏｐ」、又は「Ｉｎｉｔｉａｌｉｚｉｎｇ」に設定される。「Ａｃｔｉｖｅ」は、仮想サーバが正常な状態であり且つ稼働中であることを表す。「Ｐａｎｉｃ」は、仮想サーバがパニック状態であることを表す。「Ｓｔｏｐ」は、仮想サーバが停止した状態であることを表す。「Ｉｎｉｔｉａｌｉｚｉｎｇ」は、仮想サーバが初期化処理を実行中であることを表す。
【００２９】
図６に、待合せ処理部１０３ｂが管理する更新待ちフラグの一例を示す。更新待ちフラグは、「オン」又は「オフ」に設定される。更新待ちフラグが「オン」である間、待合せ処理部１０３ｂは、仮想サーバ３０ｂから受信した状態要求に対する応答である状態応答を仮想サーバ３０ｂに送信しない。更新待ちフラグが「オフ」に設定されると、待合せ処理部１０３ｂは、状態応答を仮想サーバ３０ｂに送信する。
【００３０】
図７を用いて、図４に示したシステムにおいて異常発生時に行われる処理について説明する。例えば、運用ノードである仮想サーバ３０ａにおいて異常（例えばパニック）が発生したとする。この場合、仮想化機構２０ａが異常の発生を検出し、サービスプロセッサ１０ａに通知する。サービスプロセッサ１０ａは、状態データ格納部１０１ａに格納されている、仮想サーバ３０ａの状態情報を「Ａｃｔｉｖｅ」から「Ｐａｎｉｃ」に変更する。また、サービスプロセッサ１０ａは、仮想サーバ３０ａにおいて異常が発生したことを示すＳＮＭＰトラップを生成し、サービスプロセッサ１０ｂ及び待機ノードである仮想サーバ３０ｂに送信する。これにより、待機ノードである仮想サーバ３０ｂは、運用ノードである仮想サーバ３０ａの異常を検知する。ここで、サービスプロセッサ１０ａは、仮想化機構２０ａに運用ノードである仮想サーバ３０ａの状態情報を要求する状態要求を送信し、仮想化機構２０ａからの状態応答を受信するまで待機する。
【００３１】
サービスプロセッサ１０ｂの待合せ処理部１０３ｂは、ＳＮＭＰトラップを受信すると、更新待ちフラグを「オン」に設定する。また、サービスプロセッサ１０ｂは、状態データ格納部１０１ｂに格納された、仮想サーバ３０ａの状態情報を「Ａｃｔｉｖｅ」から「Ｐａｎｉｃ」に変更する。仮想サーバ３０ｂのクラスタ処理部３０１ｂは、ＳＮＭＰトラップを受信すると、仮想サーバ３０ａの処理が停止していることを確認するため、サービスプロセッサ１０ｂに対し、仮想サーバ３０ａの状態を確認することを要求する状態要求を送信する。そして、クラスタ処理部３０１ｂは、サービスプロセッサ１０ｂから状態応答を受信するまで待機する。ここまでの処理は、太い実線の矢印で表されている。なお、サービスプロセッサ１０ｂは、更新待ちフラグが「オン」である場合に状態要求を受信したとしても、状態応答を送信しない。
【００３２】
一方、サービスプロセッサ１０ａは、仮想化機構２０ａから状態応答を受信すると待機状態を解除する。サービスプロセッサ１０ａは、状態応答が示す仮想サーバ３０ａの状態が「Ｐａｎｉｃ」又は「Ｓｔｏｐ」である場合、仮想サーバ３０ａの状態情報を「Ｓｔｏｐ」に設定し、仮想サーバ３０ａの状態が「Ｐａｎｉｃ」又は「Ｓｔｏｐ」以外である場合、仮想サーバ３０ａの状態情報を状態応答が示す状態に設定する。そして、サービスプロセッサ１０ａは、サービスプロセッサ１０ｂにログインし、状態データ格納部１０１ａに設定された、仮想サーバ３０ａの状態情報を含む状態通知をサービスプロセッサ１０ｂに送信する。
【００３３】
サービスプロセッサ１０ｂは、サービスプロセッサ１０ａから状態通知を受信すると、状態通知に従って状態データ格納部１０１ｂに格納された状態情報を更新する。サービスプロセッサ１０ｂは、状態データ格納部１０１ｂに格納された状態情報を更新すると、更新待ちフラグを「オフ」に設定する。そして、サービスプロセッサ１０ｂは、仮想サーバ３０ａの状態情報を含む状態応答を仮想サーバ３０ｂのクラスタ処理部３０１ｂに送信する。
【００３４】
仮想サーバ３０ｂのクラスタ処理部３０１ｂは、状態応答が示す仮想サーバ３０ａの状態が「Ｓｔｏｐ」である場合、引き継ぎ処理を実行する。クラスタ処理部３０１ｂは、仮想サーバ３０ａの状態が「Ｓｔｏｐ」ではない場合、引き継ぎ処理を実行せず、仮想サーバ３０ｂの待機状態が維持される。ここまでの処理は、太い破線で示されている。
【００３５】
以上のような処理を実行すると、ＳＮＭＰトラップ以外に、管理ＬＡＮ６０を介した通信が１回しか行われず、管理ＬＡＮ６０を介した通信より短時間で行えるサーバ内通信が代わりに行われる。また、一部の処理が並行で実行される。これにより、引き継ぎにかかる時間を短縮し、業務処理の停止時間を短くすることができるようになる。
【００３６】
次に、図８及び図９を用いて、第１の実施の形態におけるシステムにおいて行われる処理についてより詳細に説明する。
【００３７】
前提として、仮想サーバ３０ａにおいてパニックが発生したとする。すると、仮想化機構２０ａは、仮想サーバ３０ａにおいてパニックが発生したことを検出し、仮想サーバ３０ａにおいてパニックが発生したことを示すパニック通知をサービスプロセッサ１０ａに送信する（図８：ステップＳ１）。これに応じ、サービスプロセッサ１０ａにおける通知処理部１０２ａは、パニック通知を受信する（ステップＳ３）。
【００３８】
通知処理部１０２ａは、状態データ格納部１０１ａに格納された、仮想サーバ３０ａの状態情報を「Ａｃｔｉｖｅ」から「Ｐａｎｉｃ」に変更する（ステップＳ５）。そして、通知処理部１０２ａは、仮想サーバ３０ａにおいて異常が発生したことを示すＳＮＭＰトラップを、サーバＢのサービスプロセッサ１０ｂ及び仮想サーバ３０ｂに送信する（ステップＳ７）。ＳＮＭＰトラップの送信先は、予め管理者等によって設定されているものとする。
【００３９】
通知処理部１０２ａは、仮想サーバ３０ａの状態を確認することを要求する状態要求を仮想化機構２０ａに送信し（ステップＳ９）、状態要求に対する応答である状態応答を受信するまで待機する（ステップＳ１５）。
【００４０】
仮想化機構２０ａは、状態要求を受信し（ステップＳ１１）、仮想サーバ３０ａの状態を確認する。そして、仮想化機構２０ａは、仮想サーバ３０ａの状態を示す状態応答をサービスプロセッサ１０ａに送信する（ステップＳ１３）。
【００４１】
一方、サーバＢのサービスプロセッサ１０ｂ及び待機ノードである仮想サーバ３０ｂは、通知処理部１０２ａからＳＮＭＰトラップを受信する（ステップＳ３１及びＳ３３）。仮想サーバ３０ｂは、仮想サーバ３０ａの状態を確認することを要求する状態要求を、仮想化機構２０ｂを介してサービスプロセッサ１０ｂに送信する（ステップＳ３９）。
【００４２】
サービスプロセッサ１０ｂの待合せ処理部１０３ｂは、ＳＮＭＰトラップを受信すると、更新待ちフラグを「オン」に設定する（ステップＳ３５）。また、待合せ処理部１０３ｂは、状態データ格納部１０１ｂに格納された、仮想サーバ３０ａの状態情報を「Ａｃｔｉｖｅ」から「Ｐａｎｉｃ」に変更する（ステップＳ３７）。そして、待合せ処理部１０３ｂは、状態要求を仮想サーバ３０ｂから受信する（ステップＳ４１）。待合せ処理部１０３ｂは、状態通知を受信するまで待機し（ステップＳ４３）、状態通知を受信して更新待ちフラグが更新されるまでは状態応答を仮想サーバ３０ｂに送信しない。
【００４３】
一方、サーバＡのサービスプロセッサ１０ａにおける通知処理部１０２ａは、仮想化機構２０ａから状態応答を受信すると、仮想サーバ３０ａの状態がパニック状態又は停止状態であるか判定する（ステップＳ１７）。仮想サーバ３０ａの状態がパニック状態又は停止状態ではない場合（ステップＳ１７：Ｎｏルート）、通知処理部１０２ａは、状態データ格納部１０１ａに格納された、仮想サーバ３０ａの状態情報を「Ｐａｎｉｃ」から状態応答が示す状態（例えば「Ａｃｔｉｖｅ」）に変更する（ステップＳ１９）。
【００４４】
仮想サーバ３０ａの状態がパニック状態又は停止状態である場合（ステップＳ１７：Ｙｅｓルート）、通知処理部１０２ａは、状態データ格納部１０１ａに格納された、仮想サーバ３０ａの状態情報を「Ｐａｎｉｃ」から「Ｓｔｏｐ」に変更する（ステップＳ２１）。本実施の形態の仮想サーバは、パニック発生後に停止状態になるため、ステップＳ２１のような処理が実行される。そして、通知処理部１０２ａは、仮想サーバ３０ａの状態を示す状態通知を、サーバＢのサービスプロセッサ１０ｂに送信する（ステップＳ２３）。
【００４５】
サービスプロセッサ１０ｂの待合せ処理部１０３ｂは、状態通知を受信するまで待機しているが（ステップＳ４３）、状態通知を受信すると、処理は端子Ａ及びＢを介して図９の説明に移行する。
【００４６】
図９の説明に移行し、待合せ処理部１０３ｂは、状態データ格納部１０１ｂに格納された、仮想サーバ３０ａの状態情報を「Ｐａｎｉｃ」から状態通知が示す状態に変更する（図９：ステップＳ４５）。待合せ処理部１０３ｂは、更新待ちフラグを「オフ」に設定し（ステップＳ４７）、待機ノードである仮想サーバ３０ｂに対して状態応答を送信する（ステップＳ４９）。
【００４７】
待機ノードである仮想サーバ３０ｂのクラスタ処理部３０１ｂは、状態応答を受信し（ステップＳ５１）、運用ノードの状態が停止状態であるか判定する（ステップＳ５３）。運用ノードの状態が停止状態ではない場合（ステップＳ５３：Ｎｏルート）、クラスタ処理部３０１ｂは、仮想サーバ３０ｂの待機状態を維持する（ステップＳ５５）。一方、運用ノードの状態が停止状態である場合（ステップＳ５３：Ｙｅｓルート）、クラスタ処理部３０１ｂは、引き継ぎ処理を実行する（ステップＳ５７）。引き継ぎ処理はよく知られた処理であるので、ここでは説明を省略する。
【００４８】
以上のようにすれば、管理ＬＡＮ６０を介した通信の回数を１回減らすことができ、また、管理ＬＡＮ６０を介した通信とサーバ内通信とを並行で実行できるので、引き継ぎを速やかに完了することができるようになる。
【００４９】
図１０に、サーバＡにおいて管理される仮想サーバ３０ａの状態の遷移図を示す。状態が「Ａｃｔｉｖｅ」である場合には、仮想化機構２０ａによってパニック通知が発生すると「Ｐａｎｉｃ」に遷移し、仮想化機構２０ａによって「パワーオフ」の通知が発生すると「Ｓｔｏｐ」に遷移する。状態が「Ｐａｎｉｃ」である場合には、初期化処理が実行されていると「Ｉｎｉｔｉａｌｉｚｉｎｇ」に遷移し、仮想化機構２０ａからの状態応答によって状態がパニック状態又は停止状態であることが確認されると「Ｓｔｏｐ」に遷移し、仮想化機構２０ａからの状態応答によって状態が稼働状態であることが確認されると「Ａｃｔｉｖｅ」に遷移する。状態が「Ｓｔｏｐ」である場合には、仮想化機構２０ａによって「初期化中」の通知が発生すると「Ｉｎｉｔｉａｌｉｚｉｎｇ」に遷移する。状態が「Ｉｎｉｔｉａｌｉｚｉｎｇ」である場合には、仮想化機構２０ａによって「ＯＳブート完了及びＯＳ Ｒｅａｄｙ」の通知が発生すると「Ａｃｔｉｖｅ」に遷移する。
【００５０】
図１１に、サーバＢにおいて管理される仮想サーバ３０ａの状態の遷移図を示す。状態が「Ａｃｔｉｖｅ」である場合には、ＳＮＭＰトラップによってパニックが発生したことが通知されると「Ｐａｎｉｃ」に遷移し、仮想サーバ３０ａがパワーオフされたことをサービスプロセッサ１０ａから通知されると「Ｓｔｏｐ」に遷移する。状態が「Ｐａｎｉｃ」である場合には、初期化処理が実行されていると「Ｉｎｉｔｉａｌｉｚｉｎｇ」に遷移し、仮想サーバ３０ａがパニック状態又は停止状態にあることをサービスプロセッサ１０ａから通知されると「Ｓｔｏｐ」に遷移し、仮想サーバ３０ａが稼働状態にあることをサービスプロセッサ１０ａから通知されると「Ａｃｔｉｖｅ」に遷移する。状態が「Ｓｔｏｐ」である場合には、仮想サーバ３０ａの初期化処理が実行されていることをサービスプロセッサ１０ａから通知されると「Ｉｎｉｔｉａｌｉｚｉｎｇ」に遷移する。状態が「Ｉｎｉｔｉａｌｉｚｉｎｇ」である場合には、仮想サーバ３０ａのＯＳ３０２ａがブートを完了し、稼働開始できることをサービスプロセッサ１０ａから通知されると「Ａｃｔｉｖｅ」に遷移する。
【００５１】
［実施の形態２］
図１２に、第２の実施の形態におけるシステムの概要を示す。図１２に示したシステムは、例えば物理サーバであるサーバＡを有する。サーバＡは、サーバＡ内のハードウエアの監視等を行うサービスプロセッサ１０ａを有し、サーバＡにおいては仮想化機構２０ａと仮想化機構２０ａによって実現される仮想サーバ３０ａ及び３０ｂとが実行される。仮想化機構２０ａは、例えばハイパバイザである。図１２の例では、サーバＡにおいて実行される仮想サーバの数は２であるが、数に限定は無い。
【００５２】
サーバＡには、例えばＬＡＮスイッチであるスイッチ４０が接続されており、サービスプロセッサ１０ａと仮想化機構２０ａとは、管理ＬＡＮ６０を使用して互いに通信を行うことができる。スイッチ４０には、コンソール５０が接続される。なお、サービスプロセッサ１０ａ、仮想化機構２０ａ、及びスイッチ４０における縦長の長方形の図形は、ＬＡＮのインタフェースを表す。
【００５３】
サービスプロセッサ１０ａは、状態データ格納部１０１ａと通知処理部１０２ａと待合せ処理部１０３ｂとを有する。状態データ格納部１０１ａは、サーバＡ内における仮想サーバの状態を示す状態情報を仮想サーバ毎に格納する。通知処理部１０２ａは、ＳＮＭＰトラップを送信する処理及び仮想サーバの状態に応じて状態データ格納部１０１ａに格納された状態情報を更新する処理等を実行する。待合せ処理部１０３ｂは、通知処理部１０２ａによって状態情報が更新された場合に、更新待ちフラグを更新し、待機ノードである仮想マシン３０ｂに状態応答を送信する処理等を実行する。
【００５４】
仮想サーバ３０ａと仮想サーバ３０ｂとは、クラスタインタコネクト３５０によって接続される。仮想サーバ３０ａは冗長化のための処理等を実行するクラスタ処理部３０１ａとＯＳ３０２ａとを有し、仮想サーバ３０ｂは冗長化のための処理等を実行するクラスタ処理部３０１ｂとＯＳ３０２ｂとを有する。仮想サーバ３０ａ及び仮想サーバ３０ｂによってクラスタシステム３００が実現される。仮想サーバ３０ａ及び仮想サーバ３０ｂは、業務処理を実行する。
【００５５】
なお、サーバＡは図２に示したハードウエア構成を有している。第２の実施の形態の処理を実行するためのプログラムはメモリ１００２及び３００２に格納されている。メモリ１００２に格納されたプログラムはＣＰＵ１００１に実行され且つメモリ３００２に格納されたプログラムはＣＰＵ３００１に実行されることで、以下で説明するような処理が実現される。
【００５６】
図１３を用いて、図１２に示したシステムにおいて異常発生時に行われる処理について説明する。例えば、運用ノードである仮想サーバ３０ａにおいて異常（例えばパニック）が発生したとする。この場合、仮想化機構２０ａが異常の発生を検出し、サービスプロセッサ１０ａに通知する。サービスプロセッサ１０ａは、状態データ格納部１０１ａに格納されている、仮想サーバ３０ａの状態情報を「Ａｃｔｉｖｅ」から「Ｐａｎｉｃ」に変更する。また、サービスプロセッサ１０ａは、更新待ちフラグを「オン」に設定し、仮想サーバ３０ａにおいて異常が発生したことを示すＳＮＭＰトラップを待機ノードである仮想サーバ３０ｂに送信する。ＳＮＭＰトラップは、管理ＬＡＮ６０を介してクラスタ処理部３０１ｂに中継される。これにより、待機ノードである仮想サーバ３０ｂは、運用ノードである仮想サーバ３０ａの異常を検知する。ここで、サービスプロセッサ１０ａは、仮想化機構２０ａに運用ノードである仮想サーバ３０ａの状態情報を要求する状態要求を送信し、仮想化機構２０ａからの状態応答を受信するまで待機する。ここまでの処理は、太い実線の矢印で表されている。
【００５７】
仮想サーバ３０ｂのクラスタ処理部３０１ｂは、ＳＮＭＰトラップを受信すると、仮想サーバ３０ａの処理が停止していることを確認するため、サービスプロセッサ１０ａに対し、仮想サーバ３０ａの状態を確認することを要求する状態要求を送信する。そして、クラスタ処理部３０１ｂは、サービスプロセッサ１０ａから状態応答を受信するまで待機する。なお、サービスプロセッサ１０ａは、更新待ちフラグが「オン」である場合に状態要求を受信したとしても、状態応答を送信しない。
【００５８】
一方、サービスプロセッサ１０ａは、仮想化機構２０ａから状態応答を受信すると待機状態を解除する。サービスプロセッサ１０ａは、状態応答が示す仮想サーバ３０ａの状態が「Ｐａｎｉｃ」又は「Ｓｔｏｐ」である場合、仮想サーバ３０ａの状態情報を「Ｓｔｏｐ」に設定し、仮想サーバ３０ａの状態が「Ｐａｎｉｃ」又は「Ｓｔｏｐ」以外である場合、仮想サーバ３０ａの状態情報を状態応答が示す状態に設定する。そして、サービスプロセッサ１０ａは、更新待ちフラグを「オフ」に設定し、状態応答を仮想化機構２０ａを介して仮想サーバ３０ｂに送信する。
【００５９】
仮想サーバ３０ｂのクラスタ処理部３０１ｂは、状態応答が示す仮想サーバ３０ａの状態が「Ｓｔｏｐ」である場合、引き継ぎ処理を実行する。クラスタ処理部３０１ｂは、仮想サーバ３０ａの状態が「Ｓｔｏｐ」ではない場合、引き継ぎ処理を実行せず、仮想サーバ３０ｂの待機状態が維持される。ここまでの処理は、太い破線で示されている。
【００６０】
以上のような処理を実行すると、ＳＮＭＰトラップ以外に、管理ＬＡＮ６０を介した通信は行われない。よって、引き継ぎにかかる時間を短縮し、業務処理の停止時間を短くすることができるようになる。
【００６１】
次に、図１４及び図１５を用いて、第２の実施の形態におけるシステムにおいて行われる処理についてより詳細に説明する。
【００６２】
前提として、仮想サーバ３０ａにおいてパニックが発生したとする。すると、仮想化機構２０ａは、仮想サーバ３０ａにおいてパニックが発生したことを検出し、仮想サーバ３０ａにおいてパニックが発生したことを示すパニック通知をサービスプロセッサ１０ａに送信する（図１４：ステップＳ６１）。これに応じ、サービスプロセッサ１０ａにおける通知処理部１０２ａは、パニック通知を受信する（ステップＳ６３）。
【００６３】
通知処理部１０２ａは、状態データ格納部１０１ａに格納された、仮想サーバ３０ａの状態情報を「Ａｃｔｉｖｅ」から「Ｐａｎｉｃ」に変更し、更新待ちフラグを「オン」に設定する（ステップＳ６５）。そして、通知処理部１０２ａは、仮想サーバ３０ａにおいて異常が発生したことを示すＳＮＭＰトラップを、管理ＬＡＮ６０を介して仮想サーバ３０ｂに送信する（ステップＳ６７）。
【００６４】
通知処理部１０２ａは、仮想サーバ３０ａの状態を確認することを要求する状態要求を仮想化機構２０ａに送信し（ステップＳ７１）、仮想化機構２０ａは状態要求を受信する（ステップＳ７３）。通知処理部１０２ａは、状態要求に対する応答である状態応答を受信するまで待機する（ステップＳ７７）。仮想化機構２０ａが状態応答を送信し（ステップＳ７５）、通知処理部１０２ａが状態応答を受信すると、次の処理に移行する。
【００６５】
一方、待機ノードである仮想サーバ３０ｂはＳＮＭＰトラップを受信する（ステップＳ６９）。仮想サーバ３０ｂは、仮想サーバ３０ａの状態を確認することを要求する状態要求を、仮想化機構２０ａを介してサービスプロセッサ１０ａに送信する（ステップＳ７９）。これに応じ、サービスプロセッサ１０ａは、状態要求を受信する（ステップＳ８１）。サービスプロセッサ１０ａが仮想サーバ３０ｂから状態要求を受信し、且つ仮想化機構２０ａから状態応答を受信した場合、処理は端子Ｃ及びＤを介して図１５の処理に移行する。
【００６６】
図１５の説明に移行し、通知処理部１０２ａは、仮想化機構２０ａから状態応答を受信すると、仮想サーバ３０ａの状態がパニック状態又は停止状態であるか判定する（図１５：ステップＳ８３）。仮想サーバ３０ａの状態がパニック状態又は停止状態ではない場合（ステップＳ８３：Ｎｏルート）、通知処理部１０２ａは、状態データ格納部１０１ａに格納された、仮想サーバ３０ａの状態情報を「Ｐａｎｉｃ」から状態応答が示す状態（例えば「Ａｃｔｉｖｅ」）に変更する（ステップＳ８５）。
【００６７】
仮想サーバ３０ａの状態がパニック状態又は停止状態である場合（ステップＳ８３：Ｙｅｓルート）、通知処理部１０２ａは、状態データ格納部１０１ａに格納された、仮想サーバ３０ａの状態情報を「Ｐａｎｉｃ」から「Ｓｔｏｐ」に変更する（ステップＳ８７）。そして、待合せ処理部１０３ｂは、状態情報が更新されると、更新待ちフラグを「オン」から「オフ」に変更する（ステップＳ８９）。
【００６８】
そして、待合せ処理部１０３ｂは、仮想サーバ３０ａの状態情報に従って状態応答を生成し、仮想サーバ３０ｂに送信する（ステップＳ９１）。仮想サーバ３０ｂは、状態応答を受信し（ステップＳ９３）、運用ノードの状態が停止状態であるか判定する（ステップＳ９５）。運用ノードの状態が停止状態ではない場合（ステップＳ９５：Ｎｏルート）、クラスタ処理部３０１ｂは、仮想サーバ３０ｂの待機状態を維持する（ステップＳ９７）。一方、運用ノードの状態が停止状態である場合（ステップＳ９５：Ｙｅｓルート）、クラスタ処理部３０１ｂは、引き継ぎ処理を実行する（ステップＳ９９）。引き継ぎ処理はよく知られた処理であるので、ここでは説明を省略する。
【００６９】
以上のようにすれば、管理ＬＡＮ６０を介した通信はＳＮＭＰトラップだけになり、仮想サーバ３０ｂによる状態の確認はサーバ内通信によって完結する。これにより、通信に要する時間を減らし、引き継ぎを速やかに完了することができるようになる。
【００７０】
なお、サーバＡにおいて管理される仮想サーバ３０ａの状態の遷移図は、図１０を用いて説明をしたとおりであるので、ここでは説明を省略する。
【００７１】
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上で説明したサービスプロセッサ１０ａ及び１０ｂ並びに仮想サーバ３０ａ及び３０ｂの機能ブロック構成は実際のプログラムモジュール構成に一致しない場合もある。
【００７２】
また、上で説明したデータ保持構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
【００７３】
また、仮想サーバ間で冗長構成を実現したシステムではなく、物理サーバ間で冗長構成を実現したシステムに対して本実施の形態を適用することも可能である。
【００７４】
以上述べた本発明の実施の形態をまとめると、以下のようになる。
【００７５】
本実施の形態の第１の態様に係る引き継ぎ処理方法は、（Ａ）他の情報処理装置上で動作する他の仮想マシンにおいて異常が発生した場合、他の仮想マシンの状態を示す状態情報を格納するデータ格納部から、状態情報を取得し、（Ｂ）状態情報が、他の仮想マシンが処理を実行できない状態であることを示す場合、他の仮想マシンから情報処理装置上で動作する仮想マシンに処理を引き継ぐ処理を含む。
【００７６】
このようにすれば、異常が発生した場合に、他の仮想マシンの状態を確認するための要求を他の情報処理装置に対して送らなくてもよいので、他の仮想マシンとの通信の回数を減らすことができる。これにより、異常発生時に速やかに処理を引き継げるようになる。
【００７７】
また、本引き継ぎ処理方法は、（Ｃ）他の情報処理装置から状態情報を受信し、データ格納部に格納する処理をさらに含んでもよい。このようにすれば、他の仮想マシンの状態を確認するための要求を他の情報処理装置に対して異常発生時に送らなくて済む。
【００７８】
また、本引き継ぎ処理方法は、（Ｄ）他の情報処理装置から、他の仮想マシンにおいて異常が発生したことを示す通知を受信する処理をさらに含んでもよい。このようにすれば、他の仮想マシンにおいて異常が発生したことを検出できるようになる。
【００７９】
また、本引き継ぎ処理方法は、（Ｅ）情報処理装置上で動作する仮想マシンにおいて異常が発生した場合、当該仮想マシンにおいて異常が発生したことを示す第２の通知を、他の情報処理装置に送信し、（Ｆ）情報処理装置上で動作する仮想マシンの状態を特定し、（Ｇ）情報処理装置上で動作する仮想マシンの状態を示す第２の状態情報を、他の情報処理装置に送信する処理をさらに含んでもよい。このようにすれば、情報処理装置上で動作する仮想マシンの処理を他の仮想マシンが速やかに引き継げるようになる。
【００８０】
また、上で述べた通知は、ＳＮＭＰ（Simple Network Management Protocol）トラップであってもよい。
【００８１】
本実施の形態の第２の態様に係る引き継ぎ処理方法は、（Ｈ）情報処理装置上で動作する第１の仮想マシンにおいて異常が発生した場合、第１の仮想マシンの状態を示す状態情報を格納するデータ格納部から、状態情報を取得し、（Ｉ）状態情報が、第１の仮想マシンが処理を実行できない状態であることを示す場合、第１の仮想マシンから情報処理装置上で動作する第２の仮想マシンに処理を引き継ぐ処理を含む。
【００８２】
なお、上記方法による処理をプロセッサに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
【００８３】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００８４】
（付記１）
情報処理装置のプロセッサに、
他の情報処理装置上で動作する他の仮想マシンにおいて異常が発生した場合、前記他の仮想マシンの状態を示す状態情報を格納するデータ格納部から、前記状態情報を取得し、
前記状態情報が、前記他の仮想マシンが処理を実行できない状態であることを示す場合、前記他の仮想マシンから前記情報処理装置上で動作する仮想マシンに前記処理を引き継ぐ、
処理を実行させる引き継ぎ処理プログラム。
【００８５】
（付記２）
前記プロセッサに、
前記他の情報処理装置から前記状態情報を受信し、前記データ格納部に格納する、
処理をさらに実行させる付記１記載の引き継ぎ処理プログラム。
【００８６】
（付記３）
前記プロセッサに、
前記他の情報処理装置から、前記他の仮想マシンにおいて異常が発生したことを示す通知を受信する、
処理をさらに実行させる付記１又は２記載の引き継ぎ処理プログラム。
【００８７】
（付記４）
前記プロセッサに、
前記情報処理装置上で動作する仮想マシンにおいて異常が発生した場合、当該仮想マシンにおいて異常が発生したことを示す第２の通知を、前記他の情報処理装置に送信し、
前記情報処理装置上で動作する仮想マシンの状態を特定し、
前記情報処理装置上で動作する仮想マシンの状態を示す第２の状態情報を、前記他の情報処理装置に送信する、
処理をさらに実行させる付記１乃至３のいずれか１つ記載の引き継ぎ処理プログラム。
【００８８】
（付記５）
前記通知は、ＳＮＭＰ（Simple Network Management Protocol）トラップである、
付記３記載の引き継ぎ処理プログラム。
【００８９】
（付記６）
情報処理装置のプロセッサが、
他の情報処理装置上で動作する他の仮想マシンにおいて異常が発生した場合、前記他の仮想マシンの状態を示す状態情報を格納するデータ格納部から、前記状態情報を取得し、
前記状態情報が、前記他の仮想マシンが処理を実行できない状態であることを示す場合、前記他の仮想マシンから前記情報処理装置上で動作する仮想マシンに前記処理を引き継ぐ、
処理を実行する引き継ぎ処理方法。
【００９０】
（付記７）
他の情報処理装置上で動作する他の仮想マシンの状態を示す状態情報を格納するデータ格納部と、
前記他の情報処理装置上で動作する前記他の仮想マシンにおいて異常が発生した場合、前記データ格納部から、前記状態情報を取得する取得部と、
前記状態情報が、前記他の仮想マシンが処理を実行できない状態であることを示す場合、前記他の仮想マシンから情報処理装置上で動作する仮想マシンに前記処理を引き継ぐ引き継ぎ部と、
を有する情報処理装置。
【００９１】
（付記８）
情報処理装置のプロセッサに、
前記情報処理装置上で動作する第１の仮想マシンにおいて異常が発生した場合、前記第１の仮想マシンの状態を示す状態情報を格納するデータ格納部から、前記状態情報を取得し、
前記状態情報が、前記第１の仮想マシンが処理を実行できない状態であることを示す場合、前記第１の仮想マシンから前記情報処理装置上で動作する第２の仮想マシンに前記処理を引き継ぐ、
処理を実行させる引き継ぎ処理プログラム。
【００９２】
（付記９）
情報処理装置のプロセッサが、
前記情報処理装置上で動作する第１の仮想マシンにおいて異常が発生した場合、前記第１の仮想マシンの状態を示す状態情報を格納するデータ格納部から、前記状態情報を取得し、
前記状態情報が、前記第１の仮想マシンが処理を実行できない状態であることを示す場合、前記第１の仮想マシンから前記情報処理装置上で動作する第２の仮想マシンに前記処理を引き継ぐ、
処理を実行する引き継ぎ処理方法。
【００９３】
（付記１０）
情報処理装置であって、
前記情報処理装置上で動作する第１の仮想マシンの状態を示す状態情報を格納するデータ格納部と、
前記第１の仮想マシンにおいて異常が発生した場合、前記データ格納部から、前記状態情報を取得する取得部と、
前記状態情報が、前記第１の仮想マシンが処理を実行できない状態であることを示す場合、前記第１の仮想マシンから前記情報処理装置上で動作する第２の仮想マシンに前記処理を引き継ぐ引き継ぎ部と、
を有する情報処理装置。
【符号の説明】
【００９４】
１００１，３００１  ＣＰＵ    １００２，３００２  メモリ
１００３，３００３  ＩＯ    １０ａ，１０ｂ  サービスプロセッサ
１０１ａ，１０１ｂ  状態データ格納部    １０２ａ  通知処理部
１０３ｂ  待合せ処理部    ２０ａ，２０ｂ  仮想化機構
３０ａ，３０ｂ  仮想サーバ    ３０１ａ，３０１ｂ  クラスタ処理部
３００  クラスタシステム    ３５０  クラスタインタコネクト
４０  スイッチ    ５０  コンソール
６０  管理ＬＡＮ
【図１】
2017016462.tif 000003
【図２】
2017016462.tif 000004
【図３】
2017016462.tif 000005
【図４】
2017016462.tif 000006
【図５】
2017016462.tif 000007
【図６】
2017016462.tif 000008
【図７】
2017016462.tif 000009
【図８】
2017016462.tif 000010
【図９】
2017016462.tif 000011
【図１０】
2017016462.tif 000012
【図１１】
2017016462.tif 000013
【図１２】
2017016462.tif 000014
【図１３】
2017016462.tif 000015
【図１４】
2017016462.tif 000016
【図１５】
2017016462.tif 000017