(57)【要約】【課題】従来のクラスタシステムでは、現用系のコンピュータと予備系のコンピュータとの系切替処理を簡単に行なうことができない。【解決手段】クラスタシステム１は第１のコンピュータ１１と第２のコンピュータ１２と通信処理装置１３とを有し、第１のコンピュータ１１は第１の電文を通信処理装置１３へ送信する第１の実行部１０２を含み、第２のコンピュータ１２は第２の電文を通信処理装置１３へ送信する第２の実行部２０２を含み、通信処理装置１３は第１の電文に対する第１の応答と第２の電文に対する第２の応答とを現用系のコンピュータに送信し、第１の実行部１０２は、第１の応答又は第２の応答を受信した場合、第１のコンピュータ１１が現用系のコンピュータであると判断し、第２の実行部２０２は、第１の応答又は第２の応答を受信した場合、第２のコンピュータ１２が現用系のコンピュータであると判断する。【選択図】図１
2010128741.tif 000002
【特許請求の範囲】
【請求項１】
データを処理する機能及び電文を送受信する機能をそれぞれ有する第１及び第２のデータ処理手段と、前記第１及び前記第２のデータ処理手段からそれぞれ送信された電文の少なくとも一方に対する応答を前記第１及び前記第２のデータ処理手段のいずれか一方にのみ送信する通信処理手段とを備え、
前記第１及び前記第２のデータ処理手段は、それぞれ、前記応答を受信した場合に自らを現用系であると判断し、前記応答を受信しなかった場合に自らを予備系であると判断する
ことを特徴とするクラスタシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、第１のコンピュータと第２のコンピュータとを有するクラスタシステムに関する。
【背景技術】
【０００２】
現在、第１のコンピュータと第２のコンピュータとを有するとともに、仮想インターネットプロトコル（ＩＰ）プログラムが実装された通信処理装置を有するクラスタシステムが使用されている。クラスタシステムでは、第１のコンピュータにも第２のコンピュータにも実質上同一のプログラムが実装されており、２個のコンピュータのうちの一方が使用されていて、他方が待機している。使用されているコンピュータを現用系のコンピュータといい、待機しているコンピュータを予備系のコンピュータという。
【０００３】
クラスタシステムには、現用系のコンピュータに電源異常又はメモリエラー等のハードウェアに関する障害が発生した場合のその障害を検出するためのハートビート（死活監視）機能が実装されている。ハートビート機能により障害が検出された場合、その機能により、使用されているコンピュータが現用系のコンピュータから予備系のコンピュータに切り替えられる。これにより、クラスタシステムの全体の稼働率の向上と安全性とが図られる。
【０００４】
なお、本願に関し、出願人は先行技術文献に関する情報を持たない。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、第１のコンピュータ及び第２のコンピュータに実装されるプログラムにクラスタシステムに実装されているハートビート機能を組み込んで現用系のコンピュータと予備系のコンピュータとの系切替処理を実現しようとする場合、以下に示す問題が生じる。
【０００６】
すなわち、クラスタシステムがＡ社により製造されており、Ｂ社によって製造されたプログラムにハートビート機能を組み込む場合、クラスタシステムへのアクセスが制限されたり、Ｂ社のプログラムへの影響を避けることを要求されることがある。つまり、クラスタシステムの製造会社と第１のコンピュータ及び第２のコンピュータに実装されるプログラムの製造会社とが異なる場合、そのプログラムにハートビート機能を組み込むことは困難であり、又は有効な手段ではない。
【０００７】
また、第１のコンピュータ及び第２のコンピュータに実装されるプログラムにハートビート機能を組み込んで系切替処理を実現しようとする場合、クラスタシステムに実装されているハートビート機能を製造会社毎に解析し、理解しなければならない。かつ、ハートビート機能を上記プログラムに組み込む方法を検討しなければならない。クラスタシステムによっては、第１のコンピュータ及び第２のコンピュータに実装されるプログラムにハートビート機能を組み込む際に多くの工数がかかるという問題がある。
【０００８】
本発明は、上記課題を考慮し、ハートビート機能によらない簡易な手段により、現用系のデータ処理手段と予備系のデータ処理手段との系切替処理を行なうクラスタシステムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決し上記目的を達成するために、本発明のクラスタシステムは、データを処理する機能及び電文を送受信する機能をそれぞれ有する第１及び第２のデータ処理手段と、前記第１及び前記第２のデータ処理手段からそれぞれ送信された電文の少なくとも一方に対する応答を前記第１及び前記第２のデータ処理手段のいずれか一方にのみ送信する通信処理手段とを備え、前記第１及び前記第２のデータ処理手段が、それぞれ、前記応答を受信した場合に自らを現用系であると判断し、前記応答を受信しなかった場合に自らを予備系であると判断する。
【００１０】
このように、本発明のクラスタシステムでは、前記第１及び前記第２のデータ処理手段が、それぞれ、前記応答を受信した場合に自らを現用系であると判断し、前記応答を受信しなかった場合に自らを予備系であると判断する。すなわち、本発明のクラスタシステムでは、従来のクラスタシステムに実装されているハートビート機能によらない簡易な手段により、現用系のデータ処理手段と予備系のデータ処理手段との系切替処理を行なうことができる。
【発明の効果】
【００１１】
本発明は、ハートビート機能によらない簡易な手段により、現用系のデータ処理手段と予備系のデータ処理手段との系切替処理を行なうクラスタシステムを提供することができる。
【発明を実施するための最良の形態】
【００１２】
以下に、本発明を実施するための最良の形態を図面を参照して説明する。
【００１３】
（構成）
先ず、本実施の形態のクラスタシステム１の構成を説明する。
【００１４】
図１は、本実施の形態のクラスタシステム１の構成図である。クラスタシステム１は、第１のコンピュータ１１と、第２のコンピュータ１２と、通信処理装置１３とを有する。第１のコンピュータ１１と通信処理装置１３とは、Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ（ＬＡＮ）１４により接続されており、第２のコンピュータ１２と通信処理装置１３とはＬＡＮ１５により接続されている。
【００１５】
第１のコンピュータ１１及び第２のコンピュータ１２は、データを処理する装置であり、通信処理装置１３は、第１のコンピュータ１１及び第２のコンピュータ１２と通信する装置である。
【００１６】
第１のコンピュータ１１は、第１のプログラムＡが格納される第１の記憶部１０１と、第１のプログラムＡを実行する第１の実行部１０２とを有する。
【００１７】
第１の記憶部１０１は、ハードディスクドライブや半導体メモリ等により実現される。第１のプログラムＡは、第１の電文を通信処理装置１３へ定期的に送信させることを第１の実行部１０２に実行させるとともに、第１のコンピュータ１１が使用されている（つまり現用系の）コンピュータであるか否かを第１の実行部１０２に判断させるプログラムである。
【００１８】
第１の実行部１０２は、第１の電文を通信処理装置１３へ定期的に送信するとともに、通信処理装置１３からの情報を受信する機能を有し、更に、第１のコンピュータ１１が現用系のコンピュータであるか否かを判断する。第１の実行部１０２は、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＣＰＵ）等により実現される。
【００１９】
第２のコンピュータ１２は、第２のプログラムＢが格納される第２の記憶部２０１と、第２のプログラムＢを実行する第２の実行部２０２とを有する。
【００２０】
第２の記憶部２０１は、ハードディスクドライブや半導体メモリ等により実現される。第２のプログラムＢは、第１のプログラムＡと同様のプログラムであって、第２の電文を通信処理装置１３へ定期的に送信させることを第２の実行部２０２に実行させるとともに、第２のコンピュータ１２が現用系のコンピュータであるか否かを第２の実行部２０２に判断させるプログラムである。
【００２１】
第２の実行部２０２は、第２の電文を通信処理装置１３へ定期的に送信するとともに、通信処理装置１３からの情報を受信する機能を有し、更に、第２のコンピュータ１２が現用系のコンピュータであるか否かを判断する。第２の実行部２０２はＣＰＵ等により実現される。
【００２２】
通信処理装置１３は、クラスタシステム１に割り当てられたＩＰアドレス（以下、「仮想ＩＰアドレス」という。）を有する装置であって、第１のコンピュータ１１からの第１の電文と第２のコンピュータ１２からの第２の電文とを受信する。仮想ＩＰアドレスは、物理的インターフェースに通常割り当てられるＩＰアドレスとは異なる。通信処理装置１３は、第１のコンピュータ１１が現用系のコンピュータである場合、第１の電文に対する第１の応答と第２の電文に対する第２の応答とを第１のコンピュータ１１の第１の実行部１０２にのみ送信する。第２のコンピュータ１２が現用系のコンピュータである場合、通信処理装置１３は、第１の応答及び第２の応答を第２の実行部２０２にのみ送信する。
【００２３】
なお、第１の実行部１０２は、通信処理装置１３から第１の応答及び第２の応答を受信した場合、第１のコンピュータ１１が現用系のコンピュータであると判断し、第１の電文を通信処理装置１３へ送信してから所定の期間が経過しても第１の応答及び第２の応答を受信しなかった場合、第１のコンピュータ１１が待機している予備のコンピュータであると判断する。
【００２４】
同様に、第２の実行部２０２は、通信処理装置１３から第１の応答及び第２の応答を受信した場合、第２のコンピュータ１２が現用系のコンピュータであると判断し、第２の電文を通信処理装置１３へ送信してから所定の期間が経過しても第１の応答及び第２の応答を受信しなかった場合、第２のコンピュータ１２が待機している予備のコンピュータであると判断する。
【００２５】
また、図１には、クラスタシステム１と接続されている第３のコンピュータ２も示されている。クラスタシステム１と第３のコンピュータ２とはＬＡＮ３により接続されている。第３のコンピュータ２から見た場合、クラスタシステム１は、仮想ＩＰアドレスが割り当てられた１個の機器として理解される。クラスタシステム１と通信する場合、第３のコンピュータ２は、ＬＡＮ３を通してクラスタシステム１の通信処理装置１３にアクセスするのみである。
【００２６】
（フローチャートを用いた動作の説明）
次に、本実施の形態のクラスタシステム１の動作を説明する。
【００２７】
動作を説明する前に以下のことを前提とする。すなわち、クラスタシステム１の内部では、第１のコンピュータ１１と第２のコンピュータ１２とのうちの一方が使用されている現用系のコンピュータであり、他方が待機している予備系のコンピュータである。現用系のコンピュータと通信処理装置１３とがリンクしており、予備系のコンピュータと通信処理装置１３とはリンクされていない。
【００２８】
そのため、現用系のコンピュータが第１のコンピュータ１１である場合、ＬＡＮ１４を通して通信処理装置１３と第１のコンピュータ１１とが通信し、ＬＡＮ３を通して第１のコンピュータ１１と第３のコンピュータ２とが通信する。通信処理装置１３と第２のコンピュータ１２とは通信せず、第２のコンピュータ１２と第３のコンピュータ２とは通信しない。
【００２９】
他方、現用系のコンピュータが第２のコンピュータ１２である場合、ＬＡＮ１５を通して通信処理装置１３と第２のコンピュータ１２とが通信し、ＬＡＮ３を通して第２のコンピュータ１２と第３のコンピュータ２とが通信する。通信処理装置１３と第１のコンピュータ１１とは通信せず、第１のコンピュータ１１と第３のコンピュータ２とは通信しない。
【００３０】
次に、第１のコンピュータ１１と第２のコンピュータ１２とのうちのいずれが現用系のコンピュータであるのかを判断するクラスタシステム１の動作を説明する。つまり、２個のコンピュータのいずれが現用系のコンピュータであるのかを判断するための第１のプログラムＡに基づく第１の実行部１０２の動作と、それと同じ目的を有する第２のプログラムＢに基づく第２の実行部２０２の動作とを説明する。
【００３１】
第１の実行部１０２の動作と第２の実行部２０２の動作とは実質上同一であるので、図２を用いてそれらを説明する。図２は、第１の実行部１０２の動作と第２の実行部２０２の動作とを示すフローチャートである。
【００３２】
第１の実行部１０２は、受信ポートを開設するとともに、第１の電文を通信処理装置１３に送信し（Ｓ１）、第２の実行部２０２は、受信ポートを開設するとともに、第２の電文を通信処理装置１３に送信する（Ｓ１）。通信処理装置１３は、第１のコンピュータ１１の第１の実行部１０２からの第１の電文を受信するとともに、第２のコンピュータ１２の第２の実行部２０２からの第２の電文を受信する。そして、通信処理装置１３は、第１の電文に対する第１の応答と、第２の電文に対する第２の応答とを現用系のコンピュータのみに送信する。仮に、現用系のコンピュータが第１のコンピュータ１１である場合、通信処理装置１３は、第１の応答と第２の応答とを第１のコンピュータ１１の受信ポートのみに送信する。
【００３３】
第１の実行部１０２は、通信処理装置１３からの第１の応答と第２の応答とを受信したか否かを判断する（Ｓ２）。第１の応答と第２の応答とを受信した場合（Ｓ２でＹｅｓ）、第１の実行部１０２は、自らが設けられている第１のコンピュータ１１が現用系のコンピュータであると判断する（Ｓ３）。そして、第１の実行部１０２の動作はステップＳ６へ移行する。同様に、第２の実行部２０２は、通信処理装置１３からの第１の応答と第２の応答とを受信したか否かを判断する（Ｓ２）。そして、第２の実行部２０２は、第１の応答と第２の応答とを受信した場合（Ｓ２でＹｅｓ）、第２のコンピュータ１２が現用系のコンピュータであると判断し（Ｓ３）、第２の実行部２０２の動作はステップＳ６へ移行する。
【００３４】
他方、第１の実行部１０２は、第１の応答も第２の応答も受信しなかった場合（Ｓ２でＮｏ）、第１の電文を通信処理装置１３に送信してから所定の期間内にそれらを受信しなかったかどうかを判断する（Ｓ４）。所定の期間内に第１の応答及び第２の応答を受信しなかった場合（Ｓ４でＹｅｓ）。第１の実行部１０２は、自らが設けられている第１のコンピュータ１１が予備系のコンピュータであると判断し（Ｓ５）、第１の実行部１０２の動作はステップＳ６へ移行する。
【００３５】
同様に、第２の実行部２０２は、第１の応答も第２の応答も受信しなかった場合（Ｓ２でＮｏ）、第２の電文を通信処理装置１３に送信してから所定の期間内にそれらを受信しなかったかどうかを判断する（Ｓ４）。所定の期間内に第１の応答及び第２の応答を受信しなかった場合（Ｓ４でＹｅｓ）。第２の実行部２０２は、自らが設けられている第２のコンピュータ１２が予備系のコンピュータであると判断し（Ｓ５）、第２の実行部２０２の動作はステップＳ６へ移行する。
【００３６】
なお、第１のコンピュータ１１の第１の記憶部１０１に第１のプログラムＡとは異なるプログラムＣが記憶されていた場合、第１の実行部１０２は、第１のコンピュータ１１が現用系のコンピュータであると判断したとき（Ｓ３）、プログラムＣの実行を開始する、又はプログラムＣを有効化する。他方、第１のコンピュータ１１が予備系のコンピュータであると判断した場合（Ｓ５）、第１の実行部１０２は、プログラムＣの実行を停止する、又はプログラムＣを無効化する。
【００３７】
同様に、第２のコンピュータ１２の第２の記憶部２０１に第２のプログラムＢとは異なるプログラムＤが記憶されていた場合、第２の実行部２０２は、第２のコンピュータ１２が現用系のコンピュータであると判断したとき（Ｓ３）、プログラムＤの実行を開始する、又はプログラムＤを有効化する。他方、第２のコンピュータ１２が予備系のコンピュータであると判断した場合（Ｓ５）、第２の実行部２０２は、プログラムＤの実行を停止する、又はプログラムＤを無効化する。
【００３８】
ステップＳ６では、第１の実行部１０２及び第２の実行部２０２は、ユーザによって停止を指示されたか否かを判断し、停止が指示された場合（Ｓ６でＹｅｓ）、動作を終了する。他方、停止が指示されなければ（Ｓ６でＮｏ）、動作はステップＳ１に移行する。
【００３９】
（シーケンス図を用いた動作の説明）
以上に説明した動作を、シーケンス図を用いて別の視点で説明する。
【００４０】
図３及び図４は、クラスタシステム１の動作を示すシーケンス図である。なお、図３はその動作の前半部を示し、図４はその動作の後半部を示す。また、説明の便宜上、動作の開始時では、第１のコンピュータ１１が現用系のコンピュータであると仮定する。更に、第１の記憶部１０１にプログラムＣが記憶されており、第２の記憶部２０１にプログラムＤが記憶されていることを想定する。初めに図３のシーケンス図を用いてクラスタシステム１の動作を説明する。
【００４１】
先ず、第１の実行部１０２は第１の電文を通信処理装置１３に送信し（Ｓ１１）、第２の実行部２０２は第２の電文を通信処理装置１３に送信する（Ｓ１２）。通信処理装置１３は、第１の電文及び第２の電文を受信し（Ｓ１１，Ｓ１２）、第１のコンピュータ１１が現用系のコンピュータであるので、第１の電文に対する第１の応答を第１のコンピュータ１１のみに送信するとともに（Ｓ１３）、第２の電文に対する第２の応答を第１のコンピュータ１１のみに送信する（Ｓ１４）。
【００４２】
第１のコンピュータ１１の第１の実行部１０２は、通信処理装置１３からの第１の応答と第２の応答とを受信すると（Ｓ１３，Ｓ１４）、自らが設けられている第１のコンピュータ１１が現用系のコンピュータであると判断する（Ｓ１５）。そして、第１の実行部１０２は、プログラムＣの実行を開始する、又はプログラムＣを有効化する（Ｓ１６）。
【００４３】
ステップＳ１１の内容が実行されてから所定の第１の期間が経過した後、第１の実行部１０２は第１の電文を通信処理装置１３に送信し（Ｓ１７）、ステップＳ１２の内容が実行されてから所定の第１の期間が経過した後、第２の実行部２０２は第２の電文を通信処理装置１３に送信する（Ｓ１８）。通信処理装置１３は、第１の電文及び第２の電文を受信し（Ｓ１７，Ｓ１８）、現用系のコンピュータがまだ第１のコンピュータ１１であるので、第１の電文に対する第１の応答を第１のコンピュータ１１のみに送信するとともに（Ｓ１９）、第２の電文に対する第２の応答を第１のコンピュータ１１のみに送信する（Ｓ２０）。
【００４４】
第１のコンピュータ１１の第１の実行部１０２は、通信処理装置１３からの第１の応答と第２の応答とを受信し（Ｓ１９，Ｓ２０）、自らが設けられている第１のコンピュータ１１が現用系のコンピュータであると判断し（Ｓ２１）、プログラムＣの実行を開始する、又はプログラムＣを有効化する（Ｓ２２）。
【００４５】
ステップＳ１２の内容が実行されてから所定の第１の期間より長い所定の第２の期間が経過しても、第２のコンピュータ１２の第２の実行部２０２は第１の応答及び第２の応答を受信していない。そのため、ステップＳ１２の内容が実行されてから所定の第２の期間が経過したとき、第２の実行部２０２は、第２のコンピュータ１２が予備系のコンピュータであると判断し（Ｓ２３）、プログラムＤの実行を停止する、又はプログラムＤを無効化する（Ｓ２４）。
【００４６】
第３のコンピュータ２は、制御電文をクラスタシステム１に送信する（Ｓ２５）。クラスタシステム１では、通信処理装置１３が第３のコンピュータ２からの制御電文を受信する（Ｓ２５）。第１のコンピュータ１１が現用系のコンピュータであるので、通信処理装置１３は、制御電文を第１のコンピュータ１１の第１の実行部１０２に送信し（Ｓ２６）、それにより、第１の実行部１０２は、プログラムＣを利用して制御電文に対応する処理を実行する。
【００４７】
ここで、第１のコンピュータ１１に電源異常又はメモリエラー等のハードウェアに関する障害が発生し、現用系のコンピュータが第１のコンピュータ１１から第２のコンピュータ１２に切り替えられたと仮定する。その場合、通信処理装置１３と第１のコンピュータ１１とのリンクは切断され、通信処理装置１３と第２のコンピュータ１２とが接続される。以下のクラスタシステム１の動作を図４を用いて説明する。
【００４８】
第１の実行部１０２は第１の電文を通信処理装置１３に送信し（Ｓ２７）、第２の実行部２０２は第２の電文を通信処理装置１３に送信する（Ｓ２８）。通信処理装置１３は、第１の電文及び第２の電文を受信し（Ｓ２７，Ｓ２８）、第２のコンピュータ１１が現用系のコンピュータであるので、第１の電文に対する第１の応答を第２のコンピュータ１２のみに送信するとともに（Ｓ２９）、第２の電文に対する第２の応答を第２のコンピュータ１２のみに送信する（Ｓ３０）。
【００４９】
第２のコンピュータ１２の第２の実行部２０２は、通信処理装置１３からの第１の応答と第２の応答とを受信すると（Ｓ２９，Ｓ３０）、自らが設けられている第２のコンピュータ１２が現用系のコンピュータであると判断する（Ｓ３１）。そして、第２の実行部２０２は、プログラムＤの実行を開始する、又はプログラムＤを有効化する（Ｓ３２）。
【００５０】
ステップＳ２７の内容が実行されてから所定の第１の期間が経過した後、第１の実行部１０２は第１の電文を通信処理装置１３に送信し（Ｓ３３）、ステップＳ２８の内容が実行されてから所定の第２の期間が経過した後、第２の実行部２０２は第２の電文を通信処理装置１３に送信する（Ｓ３４）。通信処理装置１３は、第１の電文及び第２の電文を受信し（Ｓ３３，Ｓ３４）、現用系のコンピュータが第２のコンピュータ１２であるので、第１の電文に対する第１の応答を第２のコンピュータ１２のみに送信するとともに（Ｓ３５）、第２の電文に対する第２の応答を第２のコンピュータ１２のみに送信する（Ｓ３６）。
【００５１】
ステップＳ２７の内容が実行されてから所定の第２の期間が経過しても、第１のコンピュータ１１の第１の実行部１０２は、第１の応答及び第２の応答を受信していない。そのため、ステップＳ２７の内容が実行されてから所定の第２の期間が経過したとき、第１の実行部１０２は、第１のコンピュータ１１が予備系のコンピュータであると判断し（Ｓ３７）、プログラムＣの実行を停止する、又はプログラムＣを無効化する（Ｓ３８）。
【００５２】
第２のコンピュータ１２の第２の実行部２０２は、通信処理装置１３からの第１の応答と第２の応答とを受信すると（Ｓ３５，Ｓ３６）、自らが設けられている第２のコンピュータ１１が現用系のコンピュータであると判断し（Ｓ３９）、プログラムＤの実行を開始する、又はプログラムＤを有効化する（Ｓ４０）。
【００５３】
第３のコンピュータ２は、制御電文をクラスタシステム１に送信する（Ｓ４１）。クラスタシステム１では、通信処理装置１３が第３のコンピュータ２からの制御電文を受信する（Ｓ４１）。第２のコンピュータ１２が現用系のコンピュータであるので、通信処理装置１３は、制御電文を第２のコンピュータ１２の第２の実行部２０２に送信し（Ｓ４２）、それにより、第２の実行部２０２は、プログラムＤを利用して制御電文に対応する処理を実行する。
【００５４】
その後は、上述した動作が繰り返される。
【００５５】
上述したように、本実施の形態のクラスタシステム１では、第１のコンピュータ１１の第１の実行部１０２は、第１の電文を定期的に通信処理装置１３に送信し、第２のコンピュータ１２の第２の実行部２０２は、第２の電文を定期的に通信処理装置１３に送信する。そして、第１の実行部１０２は、第１の電文を送信した後に第１の応答及び第２の応答を受信すると、自らが設けられている第１のコンピュータ１１が現用系のコンピュータであると判断する。他方、第１の電文を送信してから所定の期間が経過しても第１の応答及び第２の応答を受信しなければ、第１の実行部１０２は、自らが設けられている第１のコンピュータ１１は予備系のコンピュータであると判断する。
【００５６】
同様に、第２のコンピュータ１２の第２の実行部２０２は、第２の電文を送信した後に第１の応答及び第２の応答を受信すると、自らが設けられている第２のコンピュータ１２が現用系のコンピュータであると判断する。他方、第２の電文を送信してから所定の期間が経過しても第１の応答及び第２の応答を受信しなければ、第２の実行部２０２は、自らが設けられている第２のコンピュータ１２は予備系のコンピュータであると判断する。
【００５７】
このように、本実施の形態のクラスタシステム１では、従来のクラスタシステムに実装されているハートビート機能によらない簡易な手段により、現用系のコンピュータと予備系のコンピュータとの系切替処理を行なうことができる。これにより、クラスタシステム１の製造会社と第１のプログラムＡ及び第２のプログラムＢの製造会社とが異なっても、クラスタシステム１に実装されているハートビート機能を使用することなく、現用系のコンピュータと予備系のコンピュータとの系切替判断を行なうことができる。すなわち、系切替処理を可能にするためのクラスタシステム１に施す工数（手段）及びコストを従来よりも少なくすることができる。
【００５８】
更にいうと、クラスタシステム１に実装されているハートビート機能を使用しないので、その機能と独立して第１のプログラムＡ及び第２のプログラムＢを第１のコンピュータ１１及び第２のコンピュータ１２それぞれに組み込むことができる。つまり、他のクラスタシステムへ与える影響を少なくすることができる。また、クラスタシステム１で用意されている機能を使用しないため、別のクラスタシステムへの対応をより簡単に行なうことができる。更に、系切替処理に使用されるアルゴリズムが簡単なため、比較的簡易なプログラムにおいても、機能の追加を簡単に行なうことができ、機能の追加に伴なうコストを抑えることができる。
【００５９】
なお、上述した実施の形態では、第１の実行部１０２は、第１の応答及び第２の応答を受信した場合、自らが設けられている第１のコンピュータ１１が現用系のコンピュータであると判断する。しかしながら、第１の実行部１０２は、第１の応答と第２の応答とのうちの一方を受信した場合、自らが設けられている第１のコンピュータ１１が現用系のコンピュータであると判断してもよい。例えば、第２のコンピュータ１２に障害が発生すると、第１の実行部１０２は、第１の応答を受信することはできるが、第２の応答を受信することができないからである。
【００６０】
同様に、第２の実行部２０２は、第１の応答及び第２の応答を受信した場合、自らが設けられている第２のコンピュータ１２が現用系のコンピュータであると判断する。しかしながら、第２の実行部２０２は、第１の応答と第２の応答とのうちの一方を受信した場合、自らが設けられている第２のコンピュータ１２が現用系のコンピュータであると判断してもよい。例えば、第１のコンピュータ１１に障害が発生すると、第２の実行部２０２は、第２の応答を受信することはできるが、第１の応答を受信することができないからである。
【００６１】
また、上述した実施の形態では、第１のコンピュータ１１は、本発明のクラスタシステムの第１のデータ処理手段の一例であり、第２のコンピュータ１２は、本発明のクラスタシステムの第２のデータ処理手段の一例である。また、通信処理装置１３は、本発明のクラスタシステムの通信処理手段の一例である。
【００６２】
更に、上述した説明から明らかなように、本発明のクラスタシステムの第１及び第２のデータ処理手段の機能は、その機能の内容を有するプログラムがＣＰＵ等の実行手段によって実行されることにより実現されてもよい。
【図面の簡単な説明】
【００６３】
【図１】クラスタシステム１の構成図
【図２】クラスタシステム１の動作を示すフローチャート
【図３】クラスタシステム１の動作の前半部を示すシーケンス図
【図４】クラスタシステム１の動作の前半部を示すシーケンス図
【符号の説明】
【００６４】
１  クラスタシステム
１１  第１のコンピュータ
１２  第２のコンピュータ
１３  通信処理装置
１０１  第１の記憶部
１０２  第１の実行部
２０１  第２の記憶部
２０２  第２の実行部
Ａ  第１のプログラム
Ｂ  第２のプログラム
【図１】
2010128741.tif 000003
【図２】
2010128741.tif 000004
【図３】
2010128741.tif 000005
【図４】
2010128741.tif 000006