(57)【特許請求の範囲】
【請求項１】
ＴＣＰ／ＩＰプロトコルを適用するネットワークに接続された主系サーバであって、前記ネットワークを介してクライアントから送信された特定のリクエストに応じたサービスを当該クライアントに提供する主系サーバと、前記主系サーバの障害を検知した場合、前記主系サーバが提供するサービスと当該サービスで使用される特定ＩＰアドレスとを引き継ぐ待機系サーバとを具備し、
前記待機系サーバは、
前記主系サーバが提供するサービスで使用される前記特定ＩＰアドレスをターゲットＩＰアドレスとするクライアントからのＡＲＰ要求の情報を登録するための管理テーブルと、
前記主系サーバの障害を検知した結果、前記主系サーバが提供するサービスで使用される前記特定ＩＰアドレスを引き継ぐ際に、偽の物理アドレス及び前記管理テーブルに登録されている情報の示すＡＲＰ要求の送信元ＩＰアドレスが、それぞれ送信元物理アドレス及び送信元ＩＰアドレスとして設定された第１のＡＲＰ応答を送信し、且つ前記管理テーブルに登録されている情報の示すＡＲＰ要求の送信元のクライアントに対し、前記待機系サーバ自身の物理アドレス及び前記特定ＩＰアドレスが、それぞれ送信元物理アドレス及び送信元ＩＰアドレスとして設定された第２のＡＲＰ応答を送信する通信制御手段とを含む
ことを特徴とするクラスタシステム。
【請求項２】
前記通信制御手段は、前記特定ＩＰアドレスを引き継いだ後、当該特定ＩＰアドレスがターゲットＩＰアドレスとして設定されたクライアントからのＡＲＰ要求を受信した場合、偽の物理アドレス及び前記管理テーブルに登録されている情報の示すＡＲＰ要求の送信元ＩＰアドレスが、それぞれ送信元物理アドレス及び送信元ＩＰアドレスとして設定された第３のＡＲＰ応答を送信し、且つ前記管理テーブルに登録されている情報の示すＡＲＰ要求の送信元のクライアントに対し、前記待機系サーバ自身の物理アドレス及び前記特定ＩＰアドレスが、それぞれ送信元物理アドレス及び送信元ＩＰアドレスとして設定された第４のＡＲＰ応答を送信することを特徴とする請求項１記載のクラスタシステム。
【請求項３】
前記管理テーブルに登録される前記ＡＲＰ要求の情報は、当該ＡＲＰ要求の送信元物理アドレス及び送信元ＩＰアドレスを含み、
前記通信制御手段は、前記特定ＩＰアドレスを宛先とするＡＲＰ要求を受信するＡＲＰ要求受信手段であって、当該ＡＲＰ要求の受信に応じて当該ＡＲＰ要求に含まれている送信元物理アドレス及び送信元ＩＰアドレスを前記管理テーブルに登録するＡＲＰ要求受信手段を含む
ことを特徴とする請求項１または２記載のクラスタシステム。
【請求項４】
前記通信制御手段は、前記特定ＩＰアドレスを引き継ぐ際に、前記第１のＡＲＰ応答及び前記第２のＡＲＰ応答を定期的に送信することを特徴とする請求項３記載のクラスタシステム。
【請求項５】
前記通信制御手段は、前記特定ＩＰアドレスを引き継いだ後、前記第３のＡＲＰ応答及び前記第４のＡＲＰ応答を定期的に送信することを特徴とする請求項４記載のクラスタシステム。
【請求項６】
クライアントからＴＣＰ／ＩＰネットワークを介して送信された特定のリクエストを受信することにより当該特定のリクエストに応じたサービスを当該クライアントに提供する主系サーバと共に前記ＴＣＰ／ＩＰネットワークに接続されてクラスタシステムを構成する待機系サーバであって、前記主系サーバの障害の検知した場合には、前記主系サーバが提供するサービスと当該サービスで使用される特定ＩＰアドレスとを引き継ぐ待機系サーバに、
前記主系サーバが提供するサービスで使用される前記特定ＩＰアドレスをターゲットＩＰアドレスとするクライアントからのＡＲＰ要求を受信して、当該受信されたＡＲＰ要求の情報を管理テーブルに登録するステップと、
前記主系サーバの障害を検知した結果、前記主系サーバが提供するサービスで使用される前記特定ＩＰアドレスを引き継ぐ際に、偽の物理アドレス及び前記管理テーブルに登録されている情報の示すＡＲＰ要求の送信元ＩＰアドレスが、それぞれ送信元物理アドレス及び送信元ＩＰアドレスとして設定された第１のＡＲＰ応答を送信するステップと、
前記第１のＡＲＰ応答の送信の後、前記管理テーブルに登録されている情報の示すＡＲＰ要求の送信元のクライアントに対し、前記待機系サーバ自身の物理アドレス及び前記特定ＩＰアドレスが、それぞれ送信元物理アドレス及び送信元ＩＰアドレスとして設定された第２のＡＲＰ応答を送信するステップと
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クライアントからＴＣＰ／ＩＰネットワークを介して送信された特定のリクエストを受信することにより当該特定のリクエストの示すサービスを当該特定のリクエストを送信したクライアントに提供する主系サーバと、当該主系サーバの障害の検知した場合に、当該主系サーバが提供するサービスと当該サービスで使用する特定ＩＰアドレスとを引き継ぐ待機系サーバとから構成されるクラスタシステム及びプログラムに関する。
【背景技術】
【０００２】
近年、サーバの冗長性を高めるため、主系サーバと待機系サーバとを用意し、主系サーバでの障害発生時に、主系サーバがクライアントに提供していたサービス（サービスを提供する機能）を待機系サーバに引き継がせるシステム（いわゆるクラスタシステム）が広く普及している。このようなシステムにおいて、待機系サーバはサービスの引き継ぎ時に、例えば特許文献１に記載されているように、主系サーバが使用していた特定ＩＰアドレス（引き継ぎＩＰアドレス）も同時に引き継ぐ。これによりクライアントは、サーバ間のサービスの引き継ぎを意識することなく、サービスを引き継いだ待機系サーバ（つまり新たに稼動系として機能するサーバ）にアクセスすることができる。
【特許文献１】特開平１０−１０５４２４公報（段落０００８、００１１−００１３）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上述のようなシステムでは、主系サーバの障害発生時に、当該主系サーバが上記特定ＩＰアドレス（引き継ぎＩＰアドレス）の使用を停止することが前提となる。しかし実際には、主系サーバが例えば高負荷状態でスローダウンしているような場合に、当該主系サーバで特定ＩＰアドレスの使用を停止できない状態が発生する。このような状態でも、待機系サーバは障害を検知して特定ＩＰアドレスを引き継ぐため、主系・待機系の両サーバが同一の特定ＩＰアドレスを使用するＩＰアドレス競合状態となる。
【０００４】
ＩＰアドレス競合状態が発生した場合、以下の２つの問題が発生する。
【０００５】
待機系サーバは、ＩＰアドレス（引き継ぎＩＰアドレス）を引き継ぐと、ＩＰアドレスの変更（引き継ぎＩＰアドレスへの変更）を当該待機系サーバが属するセグメント上の全てのノード（サーバ及びクライアント）に通知するためのＧｒａｔｕｉｔｏｕｓ  ＡＲＰ（アドレス解決プロトコル）要求を、例えばブロードキャストで送信する。障害が発生した主系サーバは、当該主系サーバのＡＲＰ要求、ＡＲＰ応答を処理する機能が有効な場合、待機系サーバからのＧｒａｔｕｉｔｏｕｓ  ＡＲＰに対して、ＩＰアドレス競合を通知するためのＡＲＰ応答を待機系サーバに送信する。これにより待機系サーバでのＩＰアドレスの引き継ぎ（引き継ぎＩＰアドレスの設定）は失敗となる。更に主系サーバは、待機系サーバのアドレス変更を無効にするために、Ｇｒａｔｕｉｔｏｕｓ  ＡＲＰを上記セグメント上の全てのノードに送信する。これにより、引き継ぎＩＰアドレスは主系サーバに戻されてしまう。
【０００６】
ＩＰアドレス（引き継ぎＩＰアドレス）の引き継ぎ後、クライアント（またはルータを経由している場合ルータ）が、引き継ぎＩＰアドレスにアクセスするためＡＲＰ要求を送信すると、主系・待機系の両サーバからＡＲＰ応答が送信される。もし、クライアントが障害状態にある主系サーバのＡＲＰ応答を後に受信したならば、当該クライアントは主系サーバに対し通信を行うことになり、通信障害が発生する。
【０００７】
本発明は上記事情を考慮してなされたものでその目的は、障害が発生した主系サーバ上でＩＰアドレスの使用を停止できない場合でも、待機系サーバが主系サーバから引き継ぐＩＰアドレスを確実に使用できるクラスタシステム及びプログラムを提供することにある。
【課題を解決するための手段】
【０００８】
本発明の１つの観点によれば、ＴＣＰ／ＩＰネットワークに接続された主系サーバであって、前記ＴＣＰ／ＩＰネットワークにより接続されたクライアントから送信された特定のリクエストを受信した場合、当該特定のリクエストの示すサービスを当該特定のリクエストを送信した前記クライアントに提供する主系サーバと、前記主系サーバと通信を行うことにより前記主系サーバを監視して、前記主系サーバの障害の検知した場合には、前記主系サーバが提供するサービスと当該サービスで使用するＩＰアドレスとを引き継ぐ待機系サーバとを具備するクラスタシステムが提供される。前記待機サーバは、前記主系サーバの前記サービスで使用するＩＰアドレスを宛先とするＡＲＰ要求の情報を登録するための管理テーブルと、前記主系サーバの障害を検知した結果、前記主系サーバが提供するサービスで使用するＩＰアドレスを引き継ぐ際に、偽の物理アドレス及び前記管理テーブルに登録されている情報の示すＡＲＰ要求の送信元ＩＰアドレスが、それぞれ送信元物理アドレス及び送信元ＩＰアドレスとして設定された第１のＡＲＰ応答を送信し、且つ前記管理テーブルに登録されている情報の示すＡＲＰ要求の送信元に対し、前記待機系サーバ自身の物理アドレス及び前記引き継いだＩＰアドレスが、それぞれ送信元物理アドレス及び送信元ＩＰアドレスとして設定された第２のＡＲＰ応答を送信する通信制御手段とを含む。
【発明の効果】
【０００９】
本発明によれば、主系サーバが提供するサービスで使用される特定ＩＰアドレスを待機系サーバが引き継ぐ際に、偽の物理アドレス及び管理テーブルに登録されている情報の示すＡＲＰ要求の送信元ＩＰアドレスが、それぞれ送信元物理アドレス及び送信元ＩＰアドレスとして設定された第１のＡＲＰ応答が送信されるため、主系サーバによる特定ＩＰアドレスを使用した送信を無効にすることができる。つまり主系サーバがＡＲＰ要求に応答することを防ぐことができる。更に本発明によれば、待機系サーバが上記特定ＩＰアドレスを引き継ぐ際に、待機系サーバ自身の物理アドレス及び特定ＩＰアドレスが、それぞれ送信元物理アドレス及び送信元ＩＰアドレスとして設定された第２のＡＲＰ応答を管理テーブルに登録されている情報の示すＡＲＰ要求の送信元（クライアント）に送信することで、特定ＩＰアドレスを待機系サーバで引き継いだことを、当該ＡＲＰ要求の送信元に通知することができる。
【００１０】
これにより本発明においては、障害が発生した主系サーバ上でＩＰアドレス（特定ＩＰアドレス）の使用を停止できない場合でも、主系サーバがＡＲＰ要求に応答することを防ぐと共に、ＡＲＰ要求の送信元（クライアント）が主系サーバに通信データを送信することを防ぎ、待機系サーバが当該ＩＰアドレス（つまり主系サーバから引き継ぐＩＰアドレス）を確実に使用でき、ＡＲＰ要求の送信元が待機系サーバに通信データを送信することができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施の形態につき図面を参照して説明する。  
図１は本発明の一実施形態に係るクラスタシステムの構成を示すブロック図である。図１のクラスタシステムは、主系サーバ１０と待機系サーバ２０とから構成される。主系サーバ１０と待機系サーバ２０は、例えばＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）プロトコルを適用するネットワーク（ＴＣＰ／ＩＰネットワーク）３０によって相互接続される。ネットワーク３０には、クライアント（クライアント端末）４０を含む複数のクライアントが接続されている。つまり、主系サーバ１０、待機系サーバ２０及び、クライアント４０を含む複数のクライアントは、同一セグメント上に存在する。但し、図１では、クライアント４０以外のクライアントは省略されている。
【００１２】
主系サーバ１０及び待機系サーバ２０はサーバコンピュータである。図１では、サーバコンピュータ（サーバ）１０及び２０を、それぞれ便宜的に主系サーバ１０及び待機系サーバ２０と表記している。但し、主系サーバ１０及び待機系サーバ２０の両サーバの状態は固定的なものではない。例えば、あるサービスの提供については、サーバ１０及び２０のうちの一方が主系サーバとして、他方が待機系サーバとして機能し、別のサービスの提供については、上記一方が待機系サーバとして、上記他方が主系サーバとして機能することも可能である。また、主系サーバ１０に障害が発生したならば、待機系サーバ２０が新たに主系サーバとして機能して、主系サーバ１０がクライアントに提供していたサービスとと当該サービスで使用されるＩＰアドレス（特定ＩＰアドレス）とを引き継ぐ。
【００１３】
クライアント４０は例えばパーソナルコンピュータ（ＰＣ）である。クライアント４０は、ネットワーク３０を経由して、サーバ１０または２０を利用する。。
【００１４】
サーバ１０及び２０上では、それぞれサービスプロセス１１及び２１が動作する。サービスプロセス１１及び２１は、ネットワーク３０上のクライアント４０のようなＰＣから利用可能なサービス（例えば、Ｗｅｂサービス、データベースサービスなど）を提供する。図１では、サーバ１０及び２０上に、それぞれ１つのサービスプロセス１１及び２１が存在するが、複数のサービスプロセスが存在することも可能である。また、サービスプロセス１１及び２１が提供するサービスの内容が異なっていてもよい。
【００１５】
主系サーバ１０は、クラスタ制御装置１２、通信制御装置１３及びネットワークインタフェース（ネットワークＩＦ）１４を含む。待機系サーバ２０は、クラスタ制御装置２２、通信制御装置２３及びネットワークＩＦ２４を含む。
【００１６】
クラスタ制御装置１２及び２２は、例えば専用の通信路を介して相互に通信することで通信相手となる（クラスタ制御装置を含む）サーバの障害発生を検知する。クラスタ制御装置１２及び２２は、障害が発生したサーバが主系サーバとして機能している場合、当該主系サーバから待機系サーバへのサービスプロセスと当該サービスプロセスで使用されるＩＰアドレス（特定ＩＰアドレス）の引き継ぎを制御する。このクラスタ制御装置１２及び２２間の通信はハートビート通信と呼ばれる。
【００１７】
主系サーバ（図１では主系サーバ１０）で障害が発生した場合、この引き継ぎ制御により、当該主系サーバ上で起動していたサービスプロセス（図１ではサービスプロセス１１）及び当該サービスプロセスの提供するサービスで使用していたＩＰアドレス（サービスに対応付けられたＩＰアドレス）が待機系サーバ（図１では待機系サーバ２０）に引き継がれる。これにより待機系サーバは（新たに稼動系サーバとして機能して）、クライアントに対し主系サーバから待機系サーバのサービスの引き継ぎを意識させずにサービスを提供する。
【００１８】
サーバの障害には様々な種類があり、その検出方法も様々である。本実施形態では、主系サーバ１０での障害の発生のためにクラスタ制御装置１２及び２２間の通信（ハートビート通信）が途絶えて、クラスタ制御装置２２が主系サーバ１０の障害を検知する場合を想定する。
【００１９】
通信制御装置１３及び２３は、自身を含むサーバが主系サーバとして機能している場合には動作しない。図１の状態では、通信制御装置１３は動作しない。一方、通信制御装置２３は、主系サーバ１０（主系サーバとして機能しているサーバ）のＭＡＣ（Media Access Control）アドレス（物理アドレス）を問い合わせる通信（つまり引き継ぎＩＰアドレスをターゲットＩＰアドレスとする通信）をネットワークＩＦ２４を介して監視することにより、当該主系サーバ１０の通信相手となるクライアントのリストを保持する。通信制御装置２３は、主系サーバ１０で障害が発生した場合に、引き継ぎＩＰアドレスを待機系サーバ２０で使用できるように、上記リストに基づき、主系サーバ１０及びクライアントに対し、通信を制御するための通信データを送信する。
【００２０】
本実施形態の特徴は、従来主系サーバの障害により待機系サーバがＩＰアドレスを引き継いだ際に発生する可能性のあるＩＰアドレス競合の問題を解決することにある。この問題の解決のために本実施形態で適用される待機系サーバ２０は、主系サーバ１０の通信を無効にする妨害パケットと、クライアント４０を含むクライアント群にアドレスの引き継ぎを通知するＡＲＰ応答とを送信する仕組みを有している。以下、この仕組みの概要について図１を参照して説明する。
【００２１】
まず、主系サーバ１０で図１において障害５１が発生したものとする。すると、待機系サーバ２０上のクラスタ制御装置２２は主系サーバ１０の障害検知５２を行う。クラスタ制御装置２２は、通信制御装置２３に対しアドレス制御要求５３を送出する。
【００２２】
通信制御装置２３は、クラスタ制御装置２２からのアドレス制御要求５３を受け取ると、主系サーバ１０がクライアント４０を含むクライアント群（以下の説明では、煩雑さを避けるために単にクライアント４０と表現する）に通信データを送信するのを妨害するために、当該主系サーバ１０に妨害パケット５４を送信する。この妨害パケット５４には、存在しないＭＡＣアドレス（物理アドレス）を使用したＡＲＰ応答が用いられる。続いて通信制御装置２３は、クライアント４０が、引き継ぎＩＰアドレス宛の通信データを、待機系サーバ２０に送信するようにするため、当該待機系サーバ２０のＭＡＣアドレスを使用したＡＲＰ応答５５をクライアント４０に対し送信する。
【００２３】
次に、本実施形態で適用されるＩＰアドレス引き継ぎ時の通信シーケンスについて、図２のシーケンスチャート、及び図３乃至図５を参照して説明する。図３はＡＲＰ要求のフォーマットと当該ＡＲＰ要求に含まれている送信元ＭＡＣアドレス及び送信元ＩＰアドレスが登録されるリストとの関係を示す図、図４は妨害パケットのフォーマット、図５はＡＲＰ応答のフォーマットである。
【００２４】
クライアント４０は、ＭＡＣアドレスが不明なサーバ（図１では主系サーバ１０）との間の通信を開始する際には、引き継ぎＩＰアドレスに対応するＭＡＣアドレスを取得するため、当該引き継ぎＩＰアドレスをターゲットＩＰアドレスとする図３に示すフォーマットのＡＲＰ要求をブロードキャストで送信する（ステップＳ１）。待機系サーバ２０は、クライアント４０が送信したＡＲＰ要求（引き継ぎＩＰアドレスをターゲットＩＰアドレスとするＡＲＰ要求）に含まれている送信元ＭＡＣアドレス及び送信元ＩＰアドレスを、それぞれ図３において矢印Ａ１１及びＡ１２で示されるように、引き継ぎＩＰアドレスの通信相手のリスト（後述するアドレス管理テーブル２３３に保持されるリスト）に追加する（ステップＳ２）。このリストには、クライアント４０を含む複数のクライアント（ここでは３つのクライアント）の送信元ＭＡＣアドレス及び送信元ＩＰアドレスが登録される。
【００２５】
このように本実施形態においては、主系サーバ１０が引き継ぎＩＰアドレスを使用している状態において、当該引き継ぎＩＰアドレスに対応付けられたサービス（当該引き継ぎＩＰアドレスを使用するサービス）の提供を受けるクライアントを待機系サーバ２０が検出するのに、当該クライアントによる通信開始時にブロードキャストで送信されるＡＲＰ要求が利用される。これにより、クライアントを待機系サーバ２０が検出するのに、特別なネットワーク機器等を必要としない。またＡＲＰ要求（ＡＲＰパケット）は、ルータを超えた先に存在するクライアント（つまり待機系サーバ２０とはネットワークアドレスが異なるクライアント）の場合、ルータが全て代わりに実行する。このため、待機系サーバ２０が管理する上記リストに登録される送信元ＭＡＣアドレス及び送信元ＩＰアドレスの数を少なくできる。
【００２６】
主系サーバ１０は、クライアント４０からのＡＲＰ要求に応じて、自身のＭＡＣアドレスを通知するためのＡＲＰ応答を送信する（ステップＳ３）。クライアント４０は、主系サーバ１０からのＡＲＰ応答で通知されたＭＡＣアドレスを用いて、当該通知されたＭＡＣアドレスを宛先ＭＡＣアドレスとすると共に、引き継ぎＩＰアドレスを宛先ＩＰアドレスとする通信データを、当該主系サーバ１０に送信する（ステップＳ４）。このようにして主系サーバ１０とクライアント４０との間で通信が行われる。この主系サーバ１０とクライアント４０との間の通信は、通常のＴＣＰ／ＩＰにおける通信と同様である。
【００２７】
やがて主系サーバ１０で障害５１が発生したものとする。すると待機系サーバ２０は、主系サーバ１０の障害を検知して（ステップＳ５）、当該主系サーバ１０が上記リストに登録されているクライアント（例えばクライアント４０）に通信データを送信するのを妨害するための図４に示すフォーマットの妨害パケットを送信する（ステップＳ６）。図４から明らかなように、本実施形態では妨害パケットに、送信元ＭＡＣアドレスとして偽のＭＡＣアドレスが設定された、主系サーバ１０宛のＡＲＰ応答が使用される。ここで偽のＭＡＣアドレスとは、実在しないＭＡＣアドレスを指す。本実施形態では、ＭＡＣアドレスの上位３バイトであるベンダＩＤに存在しない値が設定されたＭＡＣアドレスを、偽のＭＡＣアドレスとして用いる。この妨害パケットの送信元ＩＰアドレスには、上記リストに登録されているクライアントのＩＰアドレスが設定される。
【００２８】
主系サーバ１０は、ＡＲＰ応答を受信すると、自身が保持しているＡＲＰテーブル（ＭＡＣアドレスとＩＰアドレスとを対応付けたテーブル）を、当該パケットに含まれている送信元ＭＡＣアドレス及び送信元ＩＰアドレスにより書き換える。したがって主系サーバ１０が、本実施形態のように待機系サーバ２０からの妨害パケット、つまり送信元ＭＡＣアドレスとして偽のＭＡＣアドレスが設定されたＡＲＰ応答を受信した場合には、妨害パケット（ＡＲＰ応答）に含まれている送信元ＩＰアドレスに対応してＡＲＰテーブルに登録されているＭＡＣアドレスが、当該妨害パケットに含まれている偽のＭＡＣアドレスに書き換えられる。これにより主系サーバ１０のＡＲＰテーブルは無効化される。
【００２９】
主系サーバ１０は、妨害パケットを受信すると、通信データを偽のＭＡＣアドレス宛に送信する（ステップＳ８）。このため、主系サーバ１０（つまりＡＲＰテーブルが無効化された主系サーバ１０）は図２において記号×で示されるように、妨害パケットに含まれている送信元ＩＰアドレスのクライアントと通信できない状態となる。
【００３０】
一方、待機系サーバ２０は妨害パケットを送信すると（ステップＳ６）、上記リストに登録されているクライアント（例えばクライアント４０）が引き継ぎＩＰアドレス宛の通信データを当該待機系サーバ２０に送信するようにするため、当該クライアント（クライアント４０）に対し送信元ＭＡＣアドレスとして待機系サーバ２０のＭＡＣアドレスが設定された図５に示すフォーマットのＡＲＰ応答を、Ｇｒａｔｕｉｔｏｕｓ  ＡＲＰ（以下、Ｇ−ＡＲＰと称する）の代わりに送信する（ステップＳ７）。
【００３１】
待機系サーバ２０は、妨害パケットの送信（ステップＳ６）とＡＲＰ応答の送信（ステップＳ７）とを、上記リストに登録されている全てのＩＰアドレス（クライアントのＩＰアドレス）について繰り返す。
【００３２】
周知のように、Ｇ−ＡＲＰは、指定されたＩＰアドレスとＭＡＣアドレスの対応付けを、ネットワーク上の（同一のネットワークアドレスを持つ）各ノードに通知するためブロードキャストで送信される。そのため、Ｇ−ＡＲＰは主系サーバにも送信され、ＩＰアドレス競合の問題が発生する。そこで本実施形態では、引き継ぎＩＰアドレスに対する（主系サーバ１０から待機系サーバ２０への）ＭＡＣアドレスの変更を、当該引き継ぎＩＰアドレス（のサーバ）と通信していたクライアントのみに通知するために、ＡＲＰ応答が使用される。これによりＩＰアドレス競合が発生するのを防止できる。
【００３３】
次に、本実施形態で適用される、ＩＰアドレス引き継ぎ後におけるクライアント４０と待機系サーバ２０との間の通信の開始時の通信シーケンスについて、図６のシーケンスチャートを参照して説明する。なお、待機系サーバ２０はＩＰアドレス引き継ぎ後、主系サーバとして機能する。しかし、以降の説明では便宜的に、待機系サーバ２０の名称を変えずに、待機系サーバ２０と表現する。
【００３４】
クライアント（例えばクライアント４０）は、ＭＡＣアドレスが不明なサーバとの間で引き継ぎＩＰアドレスを宛先ＩＰアドレスとする通信を開始する際には、前記ステップＳ１と同様に、引き継ぎＩＰアドレスに対応するＭＡＣアドレスを取得するため、当該引き継ぎＩＰアドレスをターゲットＩＰアドレスとするＡＲＰ要求をブロードキャストで送信する（ステップＳ１１）。待機系サーバ２０は、クライアント（クライアント４０）が送信した引き継ぎＩＰアドレスをターゲットＩＰアドレスとするＡＲＰ要求を受信して、当該ＡＲＰ要求に含まれている送信元ＭＡＣアドレス及び送信元ＩＰアドレスを、前記リスト（引き継ぎＩＰアドレスの通信相手のリスト）に追加する。
【００３５】
次に待機系サーバ２０は、主系サーバ１０に対し妨害パケットを送信する（ステップＳ１２）。この妨害パケットは、前記ステップＳ６で用いられる図４に示す妨害パケットと同一のものである。即ちステップＳ１２で主系サーバ１０に送信される妨害パケットには、ターゲットＭＡＣアドレスとして偽のＭＡＣアドレスが設定されたＡＲＰ応答が用いられる。これにより、以降に主系サーバ１０がクライアント（クライアント４０）に対して送信するＡＲＰ応答（ステップＳ１５）を、図６において記号×で示されるように無効にすることができる。
【００３６】
その後、待機系サーバ２０は、クライアント（クライアント４０）からのＡＲＰ要求（ステップＳ１１）に対するＡＲＰ応答（つまり自身のＭＡＣアドレスを通知するためのＡＲＰ応答）を当該クライアント（クライアント４０）に対して送信する（ステップＳ１３）。クライアント４０は、待機系サーバ２０からのＡＲＰ応答で通知されたＭＡＣアドレスを用いて、引き継ぎＩＰアドレスを宛先ＩＰアドレスとする通信データを当該待機系サーバ２０に送信する。このようにして待機系サーバ２０とクライアント４０との間で通信が行われる（ステップＳ１４）。この待機系サーバ２０（つまり主系サーバとして機能しているサーバ２０）とクライアント４０との間の通信は、通常のＴＣＰ／ＩＰにおける通信と同様である。
【００３７】
以上の説明から明らかなように本実施形態によれば、待機系サーバ２０のＩＰアドレス引き継ぎ時に主系サーバ１０とＩＰアドレス競合することなく、引き継ぎＩＰアドレスと通信しているクライアントに、アドレスの引き継ぎを通知することができる。
【００３８】
図７は、待機系サーバ２０が有する通信制御装置２３の構成を示すブロック図である。なお、主系サーバ１０が有する通信制御装置１３も図７の通信制御装置２３と同様の構成を有している。
【００３９】
図７の通信制御装置２３は、通信制御部２３１、サーバ情報テーブル２３２、アドレス管理テーブル２３３及びアドレス引き継ぎ状態テーブル２３４を含む。サーバ情報テーブル２３２、アドレス管理テーブル２３３及びアドレス引き継ぎ状態テーブル２３４は、記憶部２３５に保持される。
【００４０】
通信制御部２３１は、待機系サーバ２０（サーバコンピュータ）が当該サーバ２０のオペレーティングシステム（ＯＳ）上で動作する特定のソフトウェアプログラムを例えば当該サーバ２０の外部記憶装置から主記憶装置に読み込んで実行することにより実現されるものとする。通信制御部２３１は、ネットワークＩＦ２４から通信データを受け取り、処理を行う。通信制御部２３１はまた、クラスタ制御装置２２からのアドレスの制御要求を受け処理を行う。
【００４１】
サーバ情報テーブル２３２は、サーバ情報を保持・管理するのに用いられる。本実施形態においてサーバ情報テーブル２３２は、当該サーバ情報テーブル２３２を有する待機系サーバ２０の情報（自系サーバ情報）としての自系のＭＡＣアドレス、及び他のサーバ（ここでは主系サーバ１０）の情報（他系サーバ情報）としての他系のＭＡＣアドレス、及び引き継ぎＩＰアドレスを保持する。サーバ情報テーブル２３２は、通信制御装置２３内の後述するＡＲＰ要求受信部２３１ａがクラスタ制御装置２２から当該通信制御装置２３を機能させるための初期設定情報を受け取ることにより、当該ＡＲＰ要求受信部２３１ａによって初期設定される。この初期設定情報は、自系のＭＡＣアドレス、他系のＭＡＣアドレス及び引き継ぎＩＰアドレスを含む。図８はサーバ情報テーブル２３２のデータ構造例を示す。
【００４２】
アドレス管理テーブル２３３は、引き継ぎＩＰアドレス（を引き継いでいるサーバ）の通信相手のリストを管理するのに用いられる。本実施形態においてアドレス管理テーブル２３３は、通信相手の情報として当該通信相手のＭＡＣアドレス及びＩＰアドレスの対を保持する。アドレス管理テーブル２３３には、引き継ぎＩＰアドレスをターゲットＩＰアドレスとするＡＲＰ要求（つまり引き継ぎＩＰアドレスに対するＡＲＰ要求）をＡＲＰ要求受信部２３１ａが受信した際に、当該ＡＲＰ要求に含まれている送信元ＭＡＣアドレス及び送信元ＩＰアドレスが、当該通信制御部２３１によって追加設定される。つまりアドレス管理テーブル２３３には、引き継ぎＩＰアドレスをターゲットＩＰアドレスとするＡＲＰ要求の情報が登録される。図９はアドレス管理テーブル２３３のデータ構造例を示す。
【００４３】
図７には１つのアドレス管理テーブル２３３だけが示されている。しかし実際には、異なる引き継ぎＩＰアドレス毎にアドレス管理テーブル２３３が用意される。その理由は、図１に示すクラスタシステムがクライアントに対して提供可能なサービス毎に引き継ぎＩＰアドレスが使用されるためである。但し、本実施形態では説明の簡略化のために、待機系サーバ２０の通信制御装置２３が、図７に示すように１つのアドレス管理テーブル２３３を有しているものとする。
【００４４】
アドレス引き継ぎ状態テーブル２３４は、自系のサーバ（ここでは待機系サーバ２０）のＩＰアドレス引き継ぎ状態を示すフラグ情報、即ち自系サーバが引き継ぎＩＰアドレスを引き継いだ状態（引き継ぎＩＰアドレスが使用可能な状態）であるかどうかを示すフラグ情報を保持する。本実施形態では、引き継ぎＩＰアドレスが使用可能な状態を「ｙｅｓ」のように表記し、引き継ぎＩＰアドレスが使用可能でない状態を「ｎｏ」のように表記する。アドレス引き継ぎ状態テーブル２３４は、サーバ情報テーブル２３２と同様に、ＡＲＰ要求受信部２３１ａがクラスタ制御装置２２から上記初期設定情報を受け取ることにより、当該ＡＲＰ要求受信部２３１ａによって初期設定される。ここではアドレス引き継ぎ状態テーブル２３４は、「ｎｏ」を示すＩＰアドレス引き継ぎ状態に初期設定される。この引き継ぎ状態は、主系サーバ（図１では主系サーバ１０）で障害が発生すると、クラスタ制御装置２２からのアドレスの制御要求を受けて、ＡＲＰ要求受信部２３１ａによって「ｙｅｓ」に変更される。図１０はアドレス引き継ぎ状態テーブル２３４のデータ構造例を示す。図１０の例では、アドレス引き継ぎ状態テーブル２３４は、引き継ぎＩＰアドレスが使用可能な状態であることを示す「ｙｅｓ」に設定されている。
【００４５】
通信制御部２３１はＡＲＰ要求受信部２３１ａ及び妨害パケット・ＡＲＰ応答送信部２３１ｂから構成される。  
ＡＲＰ要求受信部２３１ａは、クラスタ制御装置２２からの通信制御装置２３を機能させるための要求に従い、サーバ情報テーブル２３２及びアドレス引き継ぎ状態テーブル２３４の初期設定を行う（処理Ｐ１）。
【００４６】
ＡＲＰ要求受信部２３１ａはまた、クラスタ制御装置２２からアドレスの制御要求を受け取り、アドレス引き継ぎ状態テーブル２３４の示す状態を「ｙｅｓ」に変更する（処理Ｐ２）。この処理Ｐ２は、後述するように、図２に示されるステップＳ６，Ｓ７に相当する処理を含む。
【００４７】
ＡＲＰ要求受信部２３１ａは更に、ネットワークＩＦ２４からＡＲＰ要求を受け取り、当該ＡＲＰ要求に応じてアドレス管理テーブル２３３の更新を行うと共に、妨害パケット・ＡＲＰ応答送信部２３１ｂにパケット送信を要求する（処理Ｐ３）。
【００４８】
次にＡＲＰ要求受信部２３１ａによる上記処理Ｐ１の手順について、図１１のフローチャート、及び図１２乃至図１４を参照して説明する。図１２は初期設定情報の一例を示す図、図１３は図１２に示す初期設定情報に従って初期設定されたサーバ情報テーブル２３２の一例を示す図、図１４は初期設定されたアドレス引き継ぎ状態テーブル２３４の一例を示す図である。
【００４９】
まずＡＲＰ要求受信部２３１ａが、クラスタ制御装置２２からの通信制御装置２３を機能させるための要求に従い当該クラスタ制御装置２２から初期設定情報を受け取った（入力した）ものとする。この初期設定情報は、図１２に示すように、自系サーバ（待機系サーバ２０）のＭＡＣアドレス、他系サーバ（主系サーバ１０）のＭＡＣアドレス及び引き継がＩＰアドレスを含む。
【００５０】
ＡＲＰ要求受信部２３１ａはクラスタ制御装置２２からの初期設定情報に従い、サーバ情報テーブル２３２に、自系サーバのＭＡＣアドレス、他系サーバのＭＡＣアドレス及び引き継ぎＩＰアドレスを初期設定する（ステップＳ２１）。これにより、サーバ情報テーブル２３２は図１３のように初期設定される。またＡＲＰ要求受信部２３１ａは、アドレス引き継ぎ状態テーブル２３４の示す状態を図１４に示すように「ｎｏ」に初期設定する（ステップＳ２２）。
【００５１】
次に、ＡＲＰ要求受信部２３１ａによる上記処理Ｐ２の手順について、図１５のフローチャートを参照して説明する。
【００５２】
まず、アドレス管理テーブル２３３及びアドレス引き継ぎ状態テーブル２３４が、それぞれ図９及び図１４に示す状態にあるものとする。このような状態で、ＡＲＰ要求受信部２３１ａがクラスタ制御装置２２からアドレスの制御要求を受け取ったものとする。するとＡＲＰ要求受信部２３１ａは、アドレス引き継ぎ状態テーブル２３４の示す状態を「ｎｏ」（図１４参照）から図１０に示すように「ｙｅｓ」に変更する（ステップＳ３１）。これにより待機系サーバ２０は、引き継ぎＩＰアドレスを当該サーバ２０内に設定して当該ＩＰアドレスを引き継いだ状態、つまり主系サーバとして機能できる状態となる。
【００５３】
次にＡＲＰ要求受信部２３１ａは、図９に示すアドレス管理テーブル２３３の全てのエントリのデータ（つまりＭＡＣアドレス及びＩＰアドレスの対）に基づき以下の処理を行う。
【００５４】
まずＡＲＰ要求受信部２３１ａは、アドレス管理テーブル２３３から未処理のＭＡＣアドレス及びＩＰアドレスの対を１つ取り出す（ステップＳ３２ａ）。次にＡＲＰ要求受信部２３１ａは、取り出されたＭＡＣアドレス及びＩＰアドレスの対を妨害パケット・ＡＲＰ応答送信部２３１ｂに渡して、パケット（妨害パケット及びＡＲＰ応答）の送信を要求する（ステップＳ３２ｂ）。ＡＲＰ要求受信部２３１ａは、上記ステップＳ３２ａ及び３２ｂを、アドレス管理テーブル２３３に保持されている全てのＭＡＣアドレス及びＩＰアドレスの対について繰り返し実行する（ステップＳ３２）。このステップＳ３２の実行により、ＡＲＰ要求受信部２３１ａは処理Ｐ２を終了する。
【００５５】
図１６は、図９に示すアドレス管理テーブル２３３に基づいて上記ステップＳ３２が繰り返される場合に、ＡＲＰ要求受信部２３１ａから妨害パケット・ＡＲＰ応答送信部２３１ｂに順次送られるＭＡＣアドレス及びＩＰアドレスの対の列を示す。
【００５６】
次に、ＡＲＰ要求受信部２３１ａによる上記処理Ｐ３の手順について、図１７のフローチャート、及び図１８のＡＲＰ要求パケットとアドレス管理テーブル２３３と妨害パケット・ＡＲＰ応答送信部２３１ｂに送られるデータとの対応関係を示す図を参照して説明する。
【００５７】
まずＡＲＰ要求受信部２３１ａがネットワークＩＦ２４からＡＲＰ要求パケットを受信したものとする。するとＡＲＰ要求受信部２３１ａは、受信されたＡＲＰ要求パケットに含まれているターゲットＩＰアドレスがサーバ情報テーブル２３２に保持されている引き継ぎＩＰアドレスであるかを判定する（ステップＳ４１）。ターゲットＩＰアドレスが引き継ぎＩＰアドレスでない場合、ＡＲＰ要求受信部２３１ａは処理を終了する。
【００５８】
これに対し、ターゲットＩＰアドレスが引き継ぎＩＰアドレスである場合、ＡＲＰ要求受信部２３１ａは受信されたＡＲＰ要求パケットに含まれている送信元ＭＡＣアドレス及び送信元ＩＰアドレスを、それぞれ図１８において矢印Ａ２１及びＡ２２で示すように、アドレス管理テーブル２３３（つまりＭＡＣアドレス及びＩＰアドレスの対のリスト）に追加登録する（ステップＳ４２）。このステップＳ４２は、図２のステップＳ２に相当する。ステップＳ４２はまた、図６のステップＳ１１でクライアントから送信されたＡＲＰ要求を待機系サーバ２０が受信した場合の処理にも相当する。
【００５９】
次にＡＲＰ要求受信部２３１ａは、アドレス引き継ぎ状態テーブル２３４を参照して、当該テーブル２３４の示す状態が「ｙｅｓ」であるかを判定する（ステップＳ４３）。アドレス引き継ぎ状態テーブル２３４の示す状態が「ｎｏ」の場合、ＡＲＰ要求受信部２３１ａは処理を終了する。
【００６０】
これに対し、アドレス引き継ぎ状態テーブル２３４の示す状態が「ｙｅｓ」である場合、ＡＲＰ要求受信部２３１ａは妨害パケット・ＡＲＰ応答送信部２３１ｂに、ステップＳ４２でアドレス管理テーブル２３３に登録されたＭＡＣアドレス及びＩＰアドレス、つまり受信されたＡＲＰ要求パケットに含まれている送信元ＭＡＣアドレス及び送信元ＩＰアドレスを、それぞれ図１８において矢印Ａ２３及びＡ２４で示すように渡して、パケットの送信を要求する（ステップＳ４４）。これによりＡＲＰ要求受信部２３１ａは処理を終了する。
【００６１】
次に、妨害パケット・ＡＲＰ応答送信部２３１ｂの処理手順について、図１９のフローチャート、及び図２０の入力データと妨害パケットとサーバ情報テーブル２３２とＡＲＰ応答との関係を示す図を参照して説明する。
【００６２】
まず妨害パケット・ＡＲＰ応答送信部２３１ｂが、ＡＲＰ要求受信部２３１ａによる前記ステップＳ３２ｂの実行に応じて、当該ＡＲＰ要求受信部２３１ａからＭＡＣアドレス及びＩＰアドレスを受け取ったものとする。すると妨害パケット・ＡＲＰ応答送信部２３１ｂは、ＡＲＰ要求受信部２３１ａから受け取った（入力された）ＭＡＣアドレス及びＩＰアドレスのうちのＩＰアドレスと、サーバ情報テーブル２３２とに基づき、他系のサーバ（ここでは主系サーバ１０）宛ての妨害パケットを生成し、当該妨害パケットをネットワークＩＦ２４を介して当該他系のサーバ（主系サーバ１０）に送信する（ステップＳ５１）。ここで、妨害パケットには、図２０に示すように、送信元ＭＡＣアドレスとして既に述べたような偽のＭＡＣアドレスが設定された、主系サーバ１０宛のＡＲＰ応答パケットが使用される。この妨害パケット（ＡＲＰ応答パケット）の宛先ＭＡＣアドレス及びターゲットＭＡＣアドレスとして、それぞれ図２０において矢印Ａ３１及びＡ３２で示すように、サーバ情報テーブル２３２に登録されている他系のＭＡＣアドレスが設定される。また、妨害パケットの宛先ターゲットＩＰアドレスとして、図２０において矢印Ａ３３で示すように、サーバ情報テーブル２３２に登録されている引き継ぎＩＰアドレスが設定される。また、妨害パケットの送信元ＩＰアドレスとして、図２０において矢印Ａ３４で示すように、ＡＲＰ要求受信部２３１ａから受け取ったＩＰアドレス（図２０の例では、１０２．１６８．１０．２０）が設定される。
【００６３】
次に妨害パケット・ＡＲＰ応答送信部２３１ｂは、ＡＲＰ要求受信部２３１ａから受け取ったＭＡＣアドレス及びＩＰアドレスと、サーバ情報テーブル２３２とに基づき、クライアント宛てのＡＲＰ応答パケットを生成して、当該ＡＲＰ応答パケットをクライアントに対し送信する（ステップＳ５２）。ここで、ＡＲＰ応答パケットの宛先ＭＡＣアドレス及びターゲットＭＡＣアドレスとして、それぞれ図２０において矢印Ａ３５及びＡ３６で示すように、ＡＲＰ要求受信部２３１ａから受け取ったＭＡＣアドレス（図２０の例では、ｃｃ：ｃｃ：ｃｃ：ｃｃ：ｃｃ：ｃｃ）が設定される。また、ＡＲＰ応答のターゲットＩＰアドレスとして、図２０において矢印Ａ３７で示すように、ＡＲＰ要求受信部２３１ａから受け取ったＩＰアドレスが設定される。また、ＡＲＰ応答の送信元ＭＡＣアドレスとして、図２０において矢印Ａ３８で示すように、サーバ情報テーブル２３２に登録されている自系のＭＡＣアドレスが設定される。また、ＡＲＰ応答の送信元ＩＰアドレスとして、図２０において矢印Ａ３９で示すように、サーバ情報テーブル２３２に登録されている引き継ぎＩＰアドレスが設定される。
【００６４】
［変形例］
上記実施形態では、主系サーバ１０に送信される妨害パケットが当該主系サーバ１０で受信されない状態、或いはクライアントに送信されるＡＲＰ応答が当該クライアントで受信されない状態が発生すると、システムとして正しく動作しなくなる可能性がある。このような状態は、例えば妨害パケットまたはＡＲＰ応答がネットワーク３０上で消失するような場合に発生する。また、主系サーバ１０が、引き継ぎＩＰアドレスの使用を停止できないような、高負荷状態に代表されるスローダウン状態に陥っている場合にも、当該主系サーバ１０で妨害パケットが受信されない可能性がある。
【００６５】
そこで、妨害パケット及びＡＲＰ応答が、それぞれ主系サーバ及びクライアントで受信されない状態が発生した場合に対処可能とする、上記実施形態の変形例について説明する。本変形例の特徴は、妨害パケット及びＡＲＰ応答を、待機系サーバ２０（内の妨害パケット・ＡＲＰ応答送信部２３１ｂ）から定期的に繰り返し送信することにある。本変形例で適用されるシステムの構成、及びサーバの構成は上記実施形態と同様であるものとする。そこで、以下の説明では、図１及び図７を援用する。但し、本変形例で適用されるサーバ情報テーブル２３２のデータ構造は、後述するように、上記実施形態で適用されるサーバ情報テーブル２３２のそれと相違する。
【００６６】
次に、上記実施形態の変形例で適用されるＩＰアドレス引き継ぎ時の通信シーケンスについて、図２１のシーケンスチャートを参照して説明する。図２１において、図２のシーケンスチャートと同様の部分には、同一参照符号を付してある。
【００６７】
まず、本変形例においても、上記実施形態の図２のシーケンスチャートと同様に、ステップＳ１乃至Ｓ８が行われる。本変形例が上記実施形態と相違するのは、待機系サーバ２０が妨害パケット及びＡＲＰ応答を、それぞれステップＳ６及びＳ７で送信した後、一定の時間間隔で、妨害パケットの送信（ステップＳ６ａ）及びＡＲＰ応答の送信（ステップＳ７ａ）を繰り返す点である。この時間間隔（定期送信間隔）の情報は、サーバ１０及び２０の初期設定時に当該設定されるものとする。
【００６８】
次に、上記実施形態の変形例で適用されるアドレス引き継ぎ後におけるクライアント４０と待機系サーバ２０との間の通信の開始時の通信シーケンスについて、図２２のシーケンスチャートを参照して説明する。図２２において、図６のシーケンスチャートと同様の部分には、同一参照符号を付してある。
【００６９】
まず、本変形例においても、上記実施形態の図６のシーケンスチャートと同様に、ステップＳ１１乃至Ｓ１６が行われる。本変形例が上記実施形態と相違するのは、待機系サーバ２０が妨害パケット及びＡＲＰ応答を、それぞれステップＳ１２及びＳ１３で送信した後、一定の時間間隔で、妨害パケットの送信（ステップＳ１２ａ）及びＡＲＰ応答の送信（ステップＳ１３ａ）を繰り返す点である。この時間間隔（定期送信間隔）の情報は、サーバ１０及び２０の初期設定時に設定されるものとする。
【００７０】
上記定期送信間隔の設定を可能とするために、本変形例では、上記実施形態とは異なるデータ構造のサーバ情報テーブルが用いられる。但し便宜的に、本変形例で適用されるサーバ情報テーブルも、上記実施形態で適用されるサーバ情報テーブル２３２と同様に、サーバ情報テーブル２３２と称する。
【００７１】
図２３は、本変形例で適用されるサーバ情報テーブル２３２のデータ構造例を示す。図２３に示されるように、本変形例で適用されるサーバ情報テーブル２３２は、自系のＭＡＣアドレス、他系のＭＡＣアドレス及び、引き継ぎＩＰアドレスに加えて、定期送信間隔を示す情報（定期送信間隔情報）を保持する。つまり、本変形例で適用されるサーバ情報テーブル２３２に保持される情報は、上記実施形態で適用されるサーバ情報テーブル２３２に保持される情報に、定期送信間隔情報が追加されたものである。この定期送信間隔情報は、図２１における妨害パケットの送信（ステップＳ６ａ）及びＡＲＰ応答の送信（ステップＳ７ａ）を繰り返す時間間隔と、図２２における妨害パケットの送信（ステップＳ１２ａ）及びＡＲＰ応答の送信（ステップＳ１３ａ）を繰り返す時間間隔を示す。
【００７２】
サーバ情報テーブル２３２は、通信制御装置２３内のＡＲＰ要求受信部２３１ａがクラスタ制御装置２２から当該通信制御装置２３を機能させるための初期設定情報を受け取ることにより、当該ＡＲＰ要求受信部２３１ａによって初期設定される。この初期設定情報は、上記実施形態と異なり、自系のＭＡＣアドレス、他系のＭＡＣアドレス及び引き継ぎＩＰアドレスに加えて定期送信間隔情報を含む。
【００７３】
次に、本変形例で適用されるＡＲＰ要求受信部２３１ａの動作について説明する。ＡＲＰ要求受信部２３１ａは、以下に述べる処理Ｐ１１乃至Ｐ１４を実行する。  
まずＡＲＰ要求受信部２３１ａは、クラスタ制御装置２２からの通信制御装置２３を機能させるための要求に従い、サーバ情報テーブル２３２及びアドレス引き継ぎ状態テーブル２３４の初期設定を行う（処理Ｐ１１）。
【００７４】
ＡＲＰ要求受信部２３１ａはまた、クラスタ制御装置２２からアドレスの制御要求を受け取り、アドレス引き継ぎ状態テーブル２３４の示す状態を「ｙｅｓ」に変更する（処理Ｐ１２）。この処理Ｐ１２は、図２に示されるステップＳ６，Ｓ７に相当する処理を含む。
【００７５】
ＡＲＰ要求受信部２３１ａはまた、ネットワークＩＦ２４からＡＲＰ要求を受け取り、アドレス管理テーブル２３３の更新を行うと共に、妨害パケット・ＡＲＰ応答送信部２３１ｂにパケット送信を要求する（処理Ｐ１３）。
【００７６】
ＡＲＰ要求受信部２３１ａは更に、サーバ情報テーブル２３２に登録されている全アドレスに対し、妨害パケット及びＡＲＰ応答を、サーバ情報テーブル２３２に登録されている定期送信間隔情報の示す時間間隔（定期送信間隔）で妨害パケット・ＡＲＰ応答送信部２３１ｂによって送信（定期送信）させるために、当該送信部２３１ｂにパケット送信を要求する（処理Ｐ１４）。以下の説明では、妨害パケット及びＡＲＰ応答を、妨害パケット・ＡＲＰ応答と表現することもある。
【００７７】
ここで、上記処理Ｐ１１は、ＡＲＰ要求受信部２３１ａがクラスタ制御装置２２から受け取る情報（初期設定情報）に、妨害パケット・ＡＲＰ応答の定期送信間隔を示す情報が追加されている点と、ＡＲＰ要求受信部２３１ａがサーバ情報テーブル２３２に設定する情報として定期送信間隔情報が追加されている点を除き、上記実施形態における処理Ｐ１と同様である。上記処理Ｐ１２及びＰ１３は、上記実施形態における処理Ｐ２及びＰ３と同様である。
【００７８】
上記処理Ｐ１４は、本変形例で追加された処理である。そこで、ＡＲＰ要求受信部２３１ａによる上記処理Ｐ１４の手順について、図２４のフローチャートを参照して説明する。
【００７９】
ＡＲＰ要求受信部２３１ａは、妨害パケット・ＡＲＰ応答の定期送信のために、以下の処理を繰り返し実行する。この繰り返しは、通信制御装置２３自体が停止または再起動されるまで終了することなく実行されるものとする。
【００８０】
ＡＲＰ要求受信部２３１ａは、アドレス引き継ぎ状態テーブル２３４を参照して、当該テーブル２３４の示す状態が「ｙｅｓ」であるかを判定する（ステップＳ６１）。アドレス引き継ぎ状態テーブル２３４の示す状態が「ｎｏ」の場合、ＡＲＰ要求受信部２３１ａは後述するステップＳ６４を実行する。
【００８１】
これに対し、アドレス引き継ぎ状態テーブル２３４の示す状態が「ｙｅｓ」の場合、ＡＲＰ要求受信部２３１ａは、主系サーバ１０及びクライアント（アドレス管理テーブル２３３に登録されている全てのＭＡＣアドレス及びＩＰアドレスの対で指定されるクライアント）に、それぞれ、妨害パケット及びＡＲＰ応答を妨害パケット・ＡＲＰ応答送信部２３１ｂによって送信させる処理を実行する（ステップＳ６２）。このステップＳ６２は、以下に詳述するように、上記実施形態のステップＳ３２（図１５参照）と同様である。
【００８２】
まずＡＲＰ要求受信部２３１ａは、アドレス管理テーブル２３３から、未処理のＭＡＣアドレス及びＩＰアドレスの対を１つ取り出す（ステップＳ６２ａ）。次にＡＲＰ要求受信部２３１ａは、取り出されたＭＡＣアドレス及びＩＰアドレスの対を妨害パケット・ＡＲＰ応答送信部２３１ｂに渡して、パケット（妨害パケット・ＡＲＰ応答）の送信を要求する（ステップＳ６２ｂ）。このＡＲＰ要求受信部２３１ａからのパケットの送信の要求に対する妨害パケット・ＡＲＰ応答送信部２３１ｂの処理は、上記実施形態と同様に図１９のフローチャートに従って実行される。
【００８３】
ＡＲＰ要求受信部２３１ａは、上記ステップＳ６２ａ及び６２ｂを、アドレス管理テーブル２３３に保持されている全てのＭＡＣアドレス及びＩＰアドレスの対について繰り返し実行する（ステップＳ６２）。するとＡＲＰ要求受信部２３１ａは、サーバ情報テーブル２３２に設定されている定期送信間隔情報の示す時間間隔（定期送信間隔）の期間だけ待機する（ステップＳ６３）。  
ＡＲＰ要求受信部２３１ａは、以上のステップＳ６１乃至６３を繰り返し実行する。
【００８４】
このように本変形例においては、主系サーバ１０の障害発生時通信中であったクライアントに対しては、待機系サーバ２０のＭＡＣアドレスが送信元ＭＡＣアドレスとして設定されたＡＲＰ応答パケットを、待機系サーバ２０に対しては、偽のＭＡＣアドレスが送信元ＭＡＣアドレスとして設定されたＡＲＰ応答パケット（妨害パケット）を、待機系サーバ２０から定期的に送信することで、例えば一時的に両ＡＲＰ応答パケットがネットワーク３０上で消失するといった要因でクライアント及び待機系サーバ２０に受信されない状態が発生しても、クライアントが待機系サーバ２０に通信データを送信することを防ぐことができる。
【００８５】
なお、本発明は、上記実施形態またはその変形例そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態またはその変形例に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態またはその変形例に示される全構成要素から幾つかの構成要素を削除してもよい。
【図面の簡単な説明】
【００８６】
【図１】本発明の一実施形態に係るクラスタシステムの構成を示すブロック図。
【図２】同実施形態で適用されるＩＰアドレス引き継ぎ時の通信シーケンスを示すシーケンスチャート。
【図３】ＡＲＰ要求のフォーマットと当該ＡＲＰ要求に含まれている送信元ＭＡＣアドレス及び送信元ＩＰアドレスが登録されるリストとの関係を示す図。
【図４】妨害パケットのフォーマット。
【図５】ＡＲＰ応答のフォーマット。
【図６】同実施形態で適用される、ＩＰアドレス引き継ぎ後におけるクライアントと待機系サーバとの間の通信の開始時の通信シーケンスを示すシーケンスチャート。
【図７】図１に示される待機系サーバが有する通信制御装置の構成を示すブロック図
【図８】図７に示されるサーバ情報テーブルのデータ構造例を示す図。
【図９】図７に示されるアドレス管理テーブルのデータ構造例を示す図。
【図１０】図７に示されるアドレス引き継ぎ状態テーブルのデータ構造例を示す図。
【図１１】同実施形態で適用される、ＡＲＰ要求受信部による処理Ｐ１の手順を示すフローチャート。
【図１２】クラスタ制御装置からＡＲＰ要求受信部に渡される初期設定情報の一例を示す図。
【図１３】図１２に示す初期設定情報に従って初期設定されたサーバ情報テーブルの一例を示す図。
【図１４】初期設定されたアドレス引き継ぎ状態テーブルの一例を示す図。
【図１５】同実施形態で適用される、ＡＲＰ要求受信部による処理Ｐ２の手順を示すフローチャート。
【図１６】ＡＲＰ要求受信部から妨害パケット・ＡＲＰ応答送信部に順次送られるＭＡＣアドレス及びＩＰアドレスの対の列を示す図。
【図１７】同実施形態で適用される、ＡＲＰ要求受信部による処理Ｐ３の手順を示すフローチャート。
【図１８】ＡＲＰ要求パケットとアドレス管理テーブルと妨害パケット・ＡＲＰ応答送信部に送られるデータとの対応関係を示す図。
【図１９】同実施形態で適用される、妨害パケット・ＡＲＰ応答送信部の処理手順を示すフローチャート。
【図２０】妨害パケット・ＡＲＰ応答送信部への入力データと妨害パケットとサーバ情報テーブルとＡＲＰ応答との関係を示す図。
【図２１】同実施形態の変形例で適用されるＩＰアドレス引き継ぎ時の通信シーケンスを示すシーケンスチャート。
【図２２】同実施形態の変形例で適用されるアドレス引き継ぎ後におけるクライアントと待機系サーバとの間の通信の開始時の通信シーケンスを示すシーケンスチャート。
【図２３】同変形例で適用されるサーバ情報テーブルのデータ構造例を示す図。
【図２４】同変形例で適用されるＡＲＰ要求受信部による処理Ｐ１４の手順を示すフローチャート。
【符号の説明】
【００８７】
１０…主系サーバ、１１，１２…サービスプロセス、１２，２２…クラスタ制御装置、１３，２３…通信制御装置、１４，２４…ネットワークＩＦ、２０…待機系サーバ、３０…ネットワーク、４０…クライアント、２３１…通信制御部、２３１ａ…ＡＲＰ要求受信部、２３１ｂ…妨害パケット・ＡＲＰ応答送信部、２３２…サーバ情報テーブル、２３３…アドレス管理テーブル、２３４…アドレス引き継ぎ状態テーブル。
【図１】
0004703682.tif 000002
【図２】
0004703682.tif 000003
【図３】
0004703682.tif 000004
【図４】
0004703682.tif 000005
【図５】
0004703682.tif 000006
【図６】
0004703682.tif 000007
【図７】
0004703682.tif 000008
【図８】
0004703682.tif 000009
【図９】
0004703682.tif 000010
【図１０】
0004703682.tif 000011
【図１１】
0004703682.tif 000012
【図１２】
0004703682.tif 000013
【図１３】
0004703682.tif 000014
【図１４】
0004703682.tif 000015
【図１５】
0004703682.tif 000016
【図１６】
0004703682.tif 000017
【図１７】
0004703682.tif 000018
【図１８】
0004703682.tif 000019
【図１９】
0004703682.tif 000020
【図２０】
0004703682.tif 000021
【図２１】
0004703682.tif 000022
【図２２】
0004703682.tif 000023
【図２３】
0004703682.tif 000024
【図２４】
0004703682.tif 000025