(57)【要約】【課題】  耐障害性システムで効率的にハードウェアリソースを利用しつつ、耐障害性を向上する。【解決手段】  リソース管理装置２０は、複数のコンピュータＣ５〜Ｃ８のリソースの使用状況を示す情報を記憶したコンピュータテーブル２３と、所定のコンピュータでアプリケーションＡＰ５が所定の処理を行うために必要なリソースに関する情報を記憶したＡＰテーブル２２と、アプリケーションＡＰ５のＡＰモジュール１０５をバックアップするために待機していたＡＰモジュール２０５が、ＡＰモジュール１０５に代わって動作を開始する切り替えを検出すると、ＡＰテーブル２２及びコンピュータテーブル２３を参照して、コンピュータＣ５〜Ｃ８の中から一のコンピュータを選択し、選択されたコンピュータで動作している所定のコンピュータをエミュレートしたエミュレータ上で、ＡＰモジュール２０５をバックアップするためのＡＰモジュールを起動するよう指示をするコンピュータ選択部２１と、を備える。【選択図】  図５
2005250840.tif 000002
【特許請求の範囲】
【請求項１】
複数のコンピュータのリソースの使用状況を示す情報を記憶した第１の記憶手段と、
所定のコンピュータで、アプリケーションが所定の処理を行うために必要なリソースに関する情報を記憶した第２の記憶手段と、
前記アプリケーションの第１のモジュールをバックアップするために待機していた第２のモジュールが、第１のモジュールに代わって前記所定の処理を開始する切り替えを検出する手段と、
前記検出手段が前記切り替えを検出すると、前記第１及び第２の記憶手段を参照して、前記複数のコンピュータの中から一のコンピュータを選択する手段と、
選択された前記一のコンピュータで動作している前記所定のコンピュータをエミュレートしたエミュレータ上で、第２のモジュールをバックアップするための第３のモジュールを起動するよう指示をする手段と、を備える耐障害システムのための情報処理装置。
【請求項２】
前記複数のコンピュータのそれぞれから、各コンピュータのリソースの使用状況を示す情報を定期または不定期に収集し、前記記憶手段を更新する手段を、さらに備える請求項１記載の耐障害システムのための情報処理装置。
【請求項３】
前記選択手段は、
前記複数のコンピュータのリソースの空き状況と、前記アプリケーションで必要なリソースとを比較して、前記一のコンピュータを選択する請求項１記載の耐障害システムのための情報処理装置。
【請求項４】
前記第２のモジュールが、第１のモジュールをバックアップするために待機しているときは、第１のモジュールが使用しているよりも少ないリソースを使用している、請求項１記載の耐障害システムのための情報処理装置。
【請求項５】
リソース管理装置と、
所定のコンピュータをエミュレートした第１、第２及び第３のエミュレータを備えた第１、第２及び第３のコンピュータとを備えた耐障害システムであって、
第１のコンピュータは、
第１のエミュレータ上で、所定の処理を実行するための第１のモジュールを備え、
第２のコンピュータは、
第２のエミュレータ上で、前記所定の処理を実行するための第２のモジュールを備え、
第２のモジュールは、第１のモジュールが使用しているよりも少ないリソースを使用しながら待機しているときに、第１のモジュールでの障害発生を検知すると、第１のモジュールが使用しているリソースと同程度のリソースを確保し、
前記リソース管理装置は、
第２のモジュールが前記リソースの確保を行うと、第３のコンピュータに対して、第３のエミュレータ上で、前記所定の処理を実行するための第３のモジュールが、第２のモジュールが使用しているよりも少ないリソースを使用して、待機状態で起動するよう指示する手段を備える、耐障害システム。
【請求項６】
複数のコンピュータのリソースの使用状況を示す情報を第１の記憶手段に格納し、
所定のコンピュータで、アプリケーションが所定の処理を行うために必要なリソースに関する情報を第２の記憶手段に格納し、
前記アプリケーションの第１のモジュールをバックアップするために待機していた第２のモジュールが、第１のモジュールに代わって前記所定の処理を開始する切り替えを検出し、
前記切り替えを検出すると、前記第１及び第２の記憶手段を参照して、前記複数のコンピュータの中から一のコンピュータを選択し、
選択された前記一のコンピュータで動作している前記所定のコンピュータをエミュレートしたエミュレータ上で、第２のモジュールをバックアップするための第３のモジュールを起動するよう指示をする、耐障害性のための方法。
【請求項７】
コンピュータに実行されると、
複数のコンピュータのリソースの使用状況を示す情報を第１の記憶手段に格納し、
所定のコンピュータで、アプリケーションが所定の処理を行うために必要なリソースに関する情報を第２の記憶手段に格納し、
前記アプリケーションの第１のモジュールをバックアップするために待機していた第２のモジュールが、第１のモジュールに代わって前記所定の処理を開始する切り替えを検出し、
前記切り替えを検出すると、前記第１及び第２の記憶手段を参照して、前記複数のコンピュータの中から一のコンピュータを選択し、
選択された前記一のコンピュータで動作している前記所定のコンピュータをエミュレートしたエミュレータ上で、第２のモジュールをバックアップするための第３のモジュールを起動するよう指示をする、耐障害性のためのコンピュータプログラム。
【請求項８】
リソース管理装置と、所定のコンピュータをエミュレートしたエミュレータが動作している第１，第２及び第３のコンピュータとを備えた情報処理システムにおいて、
第１のコンピュータの前記エミュレータ上で、所定の処理を実行するための第１のモジュールを動作させ、
第２のコンピュータの前記エミュレータ上で、前記第１のモジュールをバックアップするために、前記所定の処理を実行するための第２のモジュールが、第１のモジュールが使用しているよりも少ないリソースを使用しながら待機しているときに、第１のモジュールでの障害発生を検知すると、第２のモジュールは第１のモジュールが使用しているリソースと同程度のリソースを確保し、
前記リソース管理装置は、第３のコンピュータに対して、第３のコンピュータの前記エミュレータ上で、前記第２のモジュールをバックアップするために、前記所定の処理を実行するための第３のモジュールを、第２のモジュールが使用しているよりも少ないリソースを使用して、待機状態で起動するよう指示する、耐障害性のための方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、障害発生時でも停止しない耐障害性システムに関し、特に、ハードウェアリソースを効率的に利用した耐障害性システムに関する。
【背景技術】
【０００２】
耐障害性システムでは、一台のコンピュータであるアプリケーションを実行する場合、それをバックアップするためにバックアップ用のコンピュータを用意していることが多い。そして、ハードウェアの障害などにより現在動作しているアプリケーションが停止してしまうと、バックアップ用のコンピュータにおいて、同じアプリケーションが直ちに動作を開始して、外見上、業務処理などが停止しないようにしている。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
この場合、バックアップ用のコンピュータは、障害が発生しない限りほとんど利用されることはない。つまり、障害が発生しない限り、バックアップのために待機するのみである。障害が発生しないことは、システムの運用上は非常に好ましいことではあるが、システム全体のハードウェアリソースの利用効率が低くなるという問題が生じる。これは、システム投資に対する費用対効果という点からみてもよくない。
【０００４】
障害が発生して、バックアップ用のコンピュータでアプリケーションが処理を開始すると、障害が回復するまでの間はさらなるバックアップがないことになり、耐障害性が低下する。これを克服するために、さらにバックアップ用のコンピュータを備えると、ハードウェアリソースの利用効率はさらに低下する。
【０００５】
上記の問題は、コンピュータの台数が増えるに従ってより深刻になる。
【０００６】
そこで、本発明の目的は、耐障害性システムでのハードウェアリソースの利用効率を向上することである。
【０００７】
本発明の他の目的は、耐障害性システムで効率的にハードウェアリソースを利用しつつ、耐障害性を向上することである。
【課題を解決するための手段】
【０００８】
本発明の一つの態様に従う耐障害システムのための情報処理装置は、複数のコンピュータのリソースの使用状況を示す情報を記憶した第１の記憶手段と、所定のコンピュータで、アプリケーションが所定の処理を行うために必要なリソースに関する情報を記憶した第２の記憶手段と、前記アプリケーションの第１のモジュールをバックアップするために待機していた第２のモジュールが、第１のモジュールに代わって前記所定の処理を開始する切り替えを検出する手段と、前記検出手段が前記切り替えを検出すると、前記第１及び第２の記憶手段を参照して、前記複数のコンピュータの中から一のコンピュータを選択する手段と、選択された前記一のコンピュータで動作している前記所定のコンピュータをエミュレートしたエミュレータ上で、第２のモジュールをバックアップするための第３のモジュールを起動するよう指示をする手段と、を備える。
【０００９】
好適な実施形態では、前記複数のコンピュータのそれぞれから、各コンピュータのリソースの使用状況を示す情報を定期または不定期に収集し、前記記憶手段を更新する手段を、さらに備えることができる。
【００１０】
好適な実施形態では、前記選択手段は、前記複数のコンピュータのリソースの空き状況と、前記アプリケーションで必要なリソースとを比較して、前記一のコンピュータを選択するようにしてもよい。
【００１１】
好適な実施形態では、前記第２のモジュールが、第１のモジュールをバックアップするために待機しているときは、第１のモジュールが使用しているよりも少ないリソースを使用しているようにしてもよい。
【００１２】
本発明の一つの態様に従う耐障害システムは、リソース管理装置と、所定のコンピュータをエミュレートした第１、第２及び第３のエミュレータを備えた第１、第２及び第３のコンピュータとを備える。そして、第１のコンピュータは、第１のエミュレータ上で、所定の処理を実行するための第１のモジュールを備える。第２のコンピュータは、第２のエミュレータ上で、前記所定の処理を実行するための第２のモジュールを備える。このとき、第２のモジュールは、第１のモジュールが使用しているよりも少ないリソースを使用しながら待機しているときに、第１のモジュールでの障害発生を検知すると、第１のモジュールが使用しているリソースと同程度のリソースを確保する。前記リソース管理装置は、第２のモジュールが前記リソースの確保を行うと、第３のコンピュータに対して、第３のエミュレータ上で、前記所定の処理を実行するための第３のモジュールが、第２のモジュールが使用しているよりも少ないリソースを使用して、待機状態で起動するよう指示する手段を備える。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の一実施形態に係る耐障害機能を備えた情報処理システムついて、図面を用いて説明する。
【００１４】
第１の実施形態に係る耐障害システムは、図１に示すように、複数台のコンピュータＣ１〜Ｃ４と、ＲＡＩＤ（Redundant Arrays of Inexpensive Disks）などで実現されたデータベースシステム１０とを備え、ネットワーク９を介して接続されている。各コンピュータＣ１〜Ｃ４は、いずれも例えば汎用的なコンピュータシステムにより構成され、以下に説明する各コンピュータＣ１〜Ｃ４内の個々の構成要素または機能は、例えば、コンピュータプログラムを実行することにより実現される。
【００１５】
本システムでは、所定の業務処理を行うアプリケーションＡＰ１、ＡＰ２、ＡＰ３が動作している。各アプリケーションＡＰ１〜ＡＰ３は、例えば、データベースシステム１０からデータを取得して処理を実行し、処理結果をデータベースシステム１０へ格納する。本実施形態では、各アプリケーションＡＰ１〜ＡＰ３は、それぞれ機種が異なるコンピュータＣ１〜Ｃ３上で動作するように実装されている。
【００１６】
さらに、本システムは耐障害機能を備えている。すなわち、各アプリケーションは、実際に動作している運用系のＡＰモジュール１００（１０１，１０２，１０３）と、何らかの障害で運用系が正常に動作しなくなったときにそれをバックアップするために待機している待機系のＡＰモジュール２００（２０１，２０２，２０３）とを備える。
【００１７】
運用系の各ＡＰモジュール１００は、それぞれ、所定の業務処理を実行すると共に、定期的または不定期に、対応する待機系の各ＡＰモジュール２００に対して所定の通知を行う。ここでは、この通知をハートビートと呼ぶ。待機系の各ＡＰモジュール２００は、このハートビートを受信することにより、運用系ＡＰモジュール１００が正常に動作していることを認識する。
【００１８】
本実施形態では、ハートビートには、例えば、各ＡＰモジュールが使用しているハードウェアリソース（以下、単にリソースということがある）に関する情報を含む。ハードウェアリソースには、例えば、ＣＰＵ（Central Processing Unit）、メインメモリ、ディスクなどの外部記憶装置およびネットワークなどを含む。ここで、ハートビートのフォーマットの一例を図２に示す。ハートビート５０は、例えば、同図に示すように、それぞれのＡＰモジュールでのＣＰＵ使用率５１と、利用しているメモリ容量５２と、利用しているディスク容量５３と、利用しているネットワークの帯域幅５４とを含む。運用系の各ＡＰモジュール１００は、これらの情報を取得して、ハートビートとして、それぞれ対応する待機系のＡＰモジュール２００へ通知する。
【００１９】
再び図１を参照すると、待機系の各ＡＰモジュール２００は、いずれもコンピュータＣ４上に実現されている。コンピュータＣ４は、コンピュータＣ１〜Ｃ３のいずれとも機種が異なる。このため、コンピュータＣ４では、コンピュータＣ１をエミュレートしたエミュレータＶＭ１と、コンピュータＣ２をエミュレートしたエミュレータＶＭ２と、コンピュータＣ３をエミュレートしたエミュレータＶＭ３とが動作している。そして、ＡＰモジュール１０１の待機系ＡＰモジュール２０１がエミュレータＶＭ１、ＡＰモジュール１０２の待機系ＡＰモジュール２０２がエミュレータＶＭ２、およびＡＰモジュール１０３の待機系ＡＰモジュール２０３がエミュレータＶＭ３の上でそれぞれ待機している。なお、コンピュータＣ４がコンピュータＣ１〜Ｃ３のいずれかと同一機種であれば、同一機種用のエミュレータは不要である。
【００２０】
これにより、コンピュータＣ１上で動作するためのＡＰモジュール２０１であっても、コンピュータＣ４上で動作可能である。ＡＰモジュール２０２，２０３についても同様である。
【００２１】
なお、以下の説明において、コンピュータとエミュレータとの対比を明確にするために、それぞれを「物理コンピュータ」及び「仮想コンピュータ」と言うことがある。
【００２２】
待機系ＡＰモジュール２００は、それぞれの運用系ＡＰモジュール１００に代わってすべての業務処理を実行する機能を備えている。しかし、待機している（待機系でいる）間は業務処理を実行せず、対応する運用系１００からのハートビートを受信し、運用系１００の動作状態を監視するための処理のみを実行している。従って、待機系２００は、ハートビートの受信に関連する処理に必要なリソースのみを使用していて、業務処理を開始するとき（運用系になるとき）に、必要なリソースを確保する。これにより、待機系のＡＰモジュールが使用するリソースは、運用系のＡＰモジュールが使用しているリソースより少なくて済む。
【００２３】
ここで、本システムは耐障害システムであるが、耐障害の考え方は種々ある。例えば、複数台のコンピュータが同時にハードウェア障害を起こす確率は極めて低いと考えられる。そこで、同時に複数台で障害が発生することを想定しない場合、コンピュータＣ４は、最もリソースを使用するアプリケーションのＡＰモジュールが一つ動作し、且つ、他の待機系ＡＰモジュールなどが動作可能なリソースを備えていればよい。これにより、待機系のために必要なリソースを節約できる。
【００２４】
コンピュータＣ４には、さらに、エミュレータ管理部１１と、リソーステーブル１２とを含む。
【００２５】
エミュレータ管理部１１は、各エミュレータＶＭ１〜ＶＭ３へのリソースの割り当てなどを行う。詳細な処理については後述する。
【００２６】
リソーステーブル１２は、運用系の各ＡＰモジュール１００が使用しているリソースを記憶する。例えば、図３に示すように、運用系の各ＡＰモジュールのＣＰＵ使用率１２１、利用メモリ容量１２２、利用ディスク容量１２３、利用ネットワーク帯域幅１２４を、それぞれ記憶する。リソーステーブル１２に記憶されている情報は、待機系の各ＡＰモジュール２００が受信したハートビート５０に含まれている情報を格納したものである。
【００２７】
次に、コンピュータＣ４で待機している各ＡＰモジュール２００が運用系に切り替わるときの処理手順について、図４のフローチャートを用いて説明する。この処理は、各ＡＰモジュール２０１，２０２，２０３について、それぞれ独立に行われる処理である。ここでは、アプリケーションＡＰ１（運用系１０１、待機系２０１）について説明する。
【００２８】
待機系のＡＰモジュール２０１は、運用系のＡＰモジュール１０１で障害が発生したかどうかを監視する（Ｓ１１）。例えば、ＡＰモジュール２０１が、ＡＰモジュール１０１から障害発生を知らせるための電文を受信したとき、あるいは、所定時間以上、ＡＰモジュール１０１からのハートビートを受信しないときなどは、ＡＰモジュール１０１で障害が発生したと判断する。この障害には、コンピュータＣ１のハードウェア障害によりＡＰモジュール１０１が動作しなくなる場合を含む。
【００２９】
ＡＰモジュール１０１で障害が発生すると（Ｓ１１：Ｙｅｓ）、ＡＰモジュール２０１は、待機状態から運用系として動作可能な状態になるために、エミュレータ管理部１１へリソースを確保するよう要求する。エミュレータ管理部１１は、リソース確保の要求を受けると、リソーステーブル１２を参照して、ＡＰモジュール１０１（ＡＰ１）で使用していたリソースの容量を取得する（Ｓ１２）。そして、エミュレータ管理部１１は、コンピュータＣ４のリソースを、ステップＳ１２で取得した容量だけ確保する（Ｓ１３）。
【００３０】
リソースが確保されると、ＡＰモジュール２０１は運用系として動作可能となる。そして、ＡＰモジュール２０１はデータベースシステム１０を参照し、データの更新状況などに基づいて処理の進行状況を判定し、ＡＰモジュール１０１が行っていた業務処理を引き継いで行う（Ｓ１４）。
【００３１】
これにより、１台の物理コンピュータ上に複数の仮想コンピュータを実現し、この物理コンピュータ上に複数のアプリケーションの待機系を実現できる。これにより、待機系のため用意しなければならないリソースを節約しつつ、耐障害性の高いシステムを実現できる。
【００３２】
次に、本発明の第２の実施形態に係る耐障害性を備えた情報処理システムについて説明する。第２の実施形態に係るシステムは、複数台の物理コンピュータのいずれかに、複数のアプリケーションの運用系及び待機系のＡＰモジュールを分散する。なお、第１の実施形態と同様の構成については、同一の符号を付して説明を省略する。
【００３３】
本システムは、例えば図５に示すように、複数台のコンピュータＣ５〜Ｃ８とデータベースシステム１０と、リソース管理装置２０とがネットワーク９を介して接続されている。本実施形態では、二つのアプリケーション（ＡＰ５、ＡＰ６）の運用系と待機系とがいずれかのコンピュータで動作している場合について説明するが、三つ以上のアプリケーションが動作する場合も同様である。なお、運用系と待機系との関係は、第１の実施形態と同様である。
【００３４】
アプリケーションＡＰ５、ＡＰ６は、いずれも、コンピュータＣ５〜Ｃ８のいずれとも異なる機種のコンピュータＣ１０、Ｃ１１（図示しない）で動作可能に実装されているものとする。このため、コンピュータＣ５〜Ｃ８では、それぞれ、コンピュータＣ１０をエミュレートしたエミュレータＶＭ５、およびコンピュータＣ１１をエミュレートしたエミュレータＶＭ６が動作している。コンピュータＣ５〜Ｃ８は、さらに、エミュレータ管理部１１及びリソーステーブル１２を備える。
【００３５】
ここで、コンピュータＣ５上のエミュレータＶＭ５では、ＡＰ５の運用系ＡＰモジュール１０５が動作している。コンピュータＣ６上のエミュレータＶＭ６では、ＡＰ６の運用系ＡＰモジュール１０６が動作している。一方、コンピュータＣ６上のエミュレータＶＭ５では、ＡＰ５の待機系ＡＰモジュール２０５が動作している。コンピュータＣ７上のエミュレータＶＭ６では、ＡＰ６の待機系ＡＰモジュール２０６が動作している。
【００３６】
運用系ＡＰモジュール１０５、１０６は、第１の実施形態と同様にハートビートを出力する。本実施形態では、ハートビートは、それぞれ対応する待機系ＡＰモジュール２０５、２０６および以下に説明するリソース管理装置２０が受信する。
【００３７】
リソース管理装置２０は、例えば汎用的なコンピュータシステムにより構成され、以下に説明するリソース管理装置２０内の個々の構成要素または機能は、例えば、コンピュータプログラムを実行することにより実現される。
【００３８】
リソース管理装置２０は、コンピュータ選択部２１と、ＡＰテーブル２２と、コンピュータテーブル２３と、ステータステーブル２４とを有する。
【００３９】
コンピュータ選択部２１は、コンピュータＣ５〜Ｃ８の中から待機系のＡＰモジュールを割り当てるコンピュータを一つ選択する。その詳細な処理は後述する。
【００４０】
ＡＰテーブル２２は、運用系の各ＡＰモジュールについて、それぞれの動作状態に関する情報を記憶する。例えば、ＡＰテーブル２２は、図６に示すように、運用系の各ＡＰモジュールが動作しているコンピュータ名２２１と、エミュレータ名２２２と、そのエミュレータがエミュレートしているコンピュータのＣＰＵに関する情報２２３と、そのＡＰモジュールが動作するときに利用する可能性がある最大リソースに関する情報２２４と、そのＡＰモジュールが現在利用しているリソースに関する情報２２５とを、データ項目として含む。
【００４１】
最大リソースに関する情報２２４は、例えば、過去の実績の最大値でもよいし、過去の実績に基づいて統計的に算出し、適宜更新してもよいし、ジョブスケジュールなどに応じて時間帯ごとに変更してもよい。
【００４２】
現在利用しているリソースに関する情報２２５は、運用系ＡＰモジュールから受信したハートビートに含まれるリソースに関する情報に基づいて更新される。
【００４３】
コンピュータテーブル２３は、それぞれの物理コンピュータに関する情報を記憶する。例えば、コンピュータテーブル２３は、図７に示すように、コンピュータ名２３１と、コンピュータのリソースに関する仕様の情報２３２と、現在の空きリソースに関する情報２３３と、過去の故障回数２３４と、前回修理を行った日２３５と、ネットワーク距離２３６とを、データ項目として含む。
【００４４】
現在の空きリソースに関する情報２３３は、各運用系ＡＰモジュールから受信したハートビートに含まれるリソースに関する情報と、待機系ＡＰモジュールが使用しているリソースに基づいて更新される。
【００４５】
ステータステーブル２４は、各アプリケーションの運用系及び待機系のＡＰモジュールが、どの物理コンピュータ上に存在するかを記憶する。ステータステーブル２４の一例を図８に示す。
【００４６】
運用系のＡＰモジュールで何らかの障害が発生した場合、待機系のＡＰモジュールが必要なリソースを確保して運用系に切り替わる。このときの切り替えの手順は、第１の実施形態と同様に行われる。このとき、待機系であったＡＰモジュールが運用系に切り替わると、このＡＰモジュールをバックアップするための待機系が存在しないことになり、耐障害性が低下する。そこで、本実施形態では、新たに運用系となったＡＰモジュールの待機系ＡＰモジュールを起動する。以下、コンピュータＣ５の障害でＡＰモジュール１０５が停止し、ＡＰモジュール２０５が運用系に切り替わった場合を例にとり、その処理手順を図９のフローチャートを用いて説明する。
【００４７】
まず、ＡＰモジュール（ＡＰ５）２０５は、自らが運用系に切り替わると、リソース管理装置２０へその旨を通知する。リソース管理装置２０では、コンピュータ選択部２１がこの通知を受信する（Ｓ２１）。コンピュータ選択部２１がこの通知により待機系から運用系への切り替えを検出すると、ＡＰテーブル２２及びコンピュータテーブル２３を参照して、アプリケーションＡＰ５の待機系ＡＰモジュールを動作させるコンピュータを選択する（Ｓ２２）。
【００４８】
コンピュータ選択部２１は、例えば、ステータステーブル２４において、アプリケーションＡ５の運用系及び待機系となっていないコンピュータ（ここではコンピュータＣ７、Ｃ８）を対象にして、最大リソース情報２２４と空きリソース情報２３３とを比較して、最大リソース以上の空きリソースを有するコンピュータを選択する。ＣＰＵの処理能力は、仕様２３２に含まれるＣＰＵ種別により定まるＭＩＰＳ値及び周波数と、空きリソース２３３に含まれる空きＣＰＵ使用率とに基づいて判断する。ここで、複数の候補があがったときは、その中から信頼度の高いコンピュータを選択してもよい。例えば、故障回数２３４が少ないもの、前回修理日２３５からの経過日数が少ないものが、信頼度が高い。
【００４９】
ここでは、ステップＳ２２でコンピュータＣ８が選択されたものとする。コンピュータ選択部２１は、選択されたコンピュータＣ８に対して、アプリケーションＡＰ５の待機系の立ち上げを指示する（Ｓ２３）。
【００５０】
立ち上げ指示を受けると、コンピュータＣ８のエミュレータ管理部１１がエミュレータＶＭ５上に待機系として新たにアプリケーションＡＰ５のＡＰモジュールを立ち上げる。
【００５１】
コンピュータ選択部２１は、ステータステーブル２４において、アプリケーションＡＰ５の運用系をコンピュータＣ６、待機系をコンピュータＣ８に更新する。そして、新たに運用系となったＡＰモジュール２０５へ、待機系のアドレス情報（例えば、コンピュータＣ８のコンピュータ名、エミュレータ名、ＩＰアドレスなど）を通知する（Ｓ２４）。
【００５２】
上述のようにエミュレータを利用することにより、ハードウェアの制約を受けず、リソースの利用効率の高い耐障害性システムを実現できる。
【００５３】
上述した本発明の実施形態は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。
【図面の簡単な説明】
【００５４】
【図１】本発明の第１の実施形態に係る耐障害システムの構成図である。
【図２】ハートビートのフォーマットの一例を示す図である。
【図３】リソーステーブルの一例を示す図である。
【図４】待機系から運用系への切り替え処理のフローチャートである。
【図５】本発明の第２の実施形態に係る耐障害システムの構成図である。
【図６】ＡＰテーブルの一例を示す図である。
【図７】コンピュータテーブルの一例を示す図である。
【図８】ステータステーブルの一例を示す図である。
【図９】新たな待機系の割り当て処理のフローチャートである。
【符号の説明】
【００５５】
Ｃ１〜Ｃ８…コンピュータ、ＶＭ１〜６…エミュレータ、１０…データベースシステム、２０…リソース管理装置、１０１〜１０６、２０１〜２０６…ＡＰモジュール。
【図１】
2005250840.tif 000003
【図２】
2005250840.tif 000004
【図３】
2005250840.tif 000005
【図４】
2005250840.tif 000006
【図５】
2005250840.tif 000007
【図６】
2005250840.tif 000008
【図７】
2005250840.tif 000009
【図８】
2005250840.tif 000010
【図９】
2005250840.tif 000011