(57)【要約】【課題】現用系サーバと予備系サーバとの間でヘルスチェックによる障害を検出した場合に、二重化サーバが両系とも現用系になるのを防ぐことにある。【解決手段】現用系サーバ１は、監視部１１３のヘルスチェックにより待機系サーバ２の異常を検出するとＬＡＮ９０１を介してクライアント３の接続確認を行うことで自サーバの孤立の判定を行う孤立判定部１１２と、孤立と判定した場合に共通ＩＰアドレスを無効化するＩＰフローティング制御部１１１とを有し、サーバ２は、監視部２１３のヘルスチェックによりサーバ１の異常を検出するとＬＡＮ９０１を介してサーバ１の接続確認を行うことでサーバ１のダウンと判定した場合にＬＡＮ９０１を介してクライアント３の接続確認を行うことで自サーバの孤立の判定を行う孤立判定部２１２と、孤立でないと判定した場合に共通ＩＰアドレスを有効化するＩＰフローティング制御部２１１とを有する。【選択図】      図１
2004171370.tif 000002
【特許請求の範囲】
【請求項１】
第１のネットワークに複数のクライアントが接続され、同一のＩＰアドレスを持つ現用系サーバと待機系サーバにより構成され、第２のネットワークを介して現用系サーバと待機系サーバとの間でお互いにヘルスチェックを行う冗長構成におけるクライアント／サーバ間のアドレス制御方式において、前記現用系サーバは、前記ヘルスチェックにより待機系サーバの異常を検出すると、前記第１のネットワークを介して前記クライアントの接続確認を行うことで自サーバが孤立しているかどうかの判定を行う第１の孤立判定手段と、
前記第１の孤立判定手段で孤立していると判定した場合に前記ＩＰアドレスを無効化することで待機状態に遷移する第１の遷移手段と、を有し、
前記待機系サーバは、前記ヘルスチェックにより待機系サーバの異常を検出すると、前記第１のネットワークを介して前記現用系サーバの接続確認を行うことで現用系サーバがダウンしているかどうかを判定するダウン判定手段と、
前記ダウン判定手段でダウンと判定した場合に前記第１のネットワークを介して前記クライアントの接続確認を行うことで自サーバが孤立しているかどうかの判定を行う第２の孤立判定手段と、
前記第２の孤立判定手段で孤立していないと判定した場合に前記ＩＰアドレスを有効化することで現用状態に遷移する第２の遷移手段と、を有することを特徴とする冗長構成におけるクライアント／サーバ間のアドレス制御方式。
【請求項２】
前記第１の孤立判定手段は、ｐｉｎｇコマンドを実行することにより前記クライアントの接続確認を行う手段を有し、
前記ダウン判定手段は、前記ｐｉｎｇコマンドを実行することにより前記現用系のサーバの接続確認を行う手段を有し、
前記第２の孤立判定手段は、前記ｐｉｎｇコマンドを実行することにより前記クライアントの接続確認を行う手段を有することを特徴とする請求項１記載の冗長構成におけるクライアント／サーバ間のアドレス制御方式。
【請求項３】
前記第１の遷移手段は、前記第１の孤立判定手段で孤立していると判定した場合にＭＡＣアドレスを無効化する手段を有し、
前記第２の遷移手段は、前記第２の孤立判定手段で孤立していないと判定した場合に前記ＭＡＣアドレスを有効化する手段を有することを特徴とする請求項１記載の冗長構成におけるクライアント／サーバ間のアドレス制御方式。
【請求項４】
前記第１および第２の孤立判定手段は、複数の前記クライアントうち１台でも確認が取れれば自サーバが孤立していないと判断する手段を有することを特徴とする請求項１，２，または３記載の冗長構成におけるクライアント／サーバ間のアドレス制御方式。
【請求項５】
前記第１および第２の孤立判定手段は、複数の前記クライアントうち１台でも確認が取れなければ自サーバが孤立していると判断する手段を有することを特徴とする請求項１，２，または３記載の冗長構成におけるクライアント／サーバ間のアドレス制御方式。
【請求項６】
前記第１および第２の孤立判定手段は、複数の前記クライアントうち予め決められた台数以上の確認が取れなければ自サーバが孤立していると判断する手段を有することを特徴とする請求項１，２，または３記載の冗長構成におけるクライアント／サーバ間のアドレス制御方式。
【請求項７】
第１のネットワークに複数のクライアントが接続され、同一のＩＰアドレスを持つ現用系サーバと待機系サーバにより構成され、第２のネットワークを介して現用系サーバと待機系サーバとの間でお互いにヘルスチェックを行う冗長構成におけるクライアント／サーバ間のアドレス制御方法であって、前記現用系サーバは、前記ヘルスチェックにより待機系サーバの異常を検出すると、前記第１のネットワークを介して前記クライアントの接続確認を行うことで自サーバが孤立しているかどうかの第１の判定を行い、
前記第１の判定の結果、孤立していると判定した場合に前記ＩＰアドレスを無効化することで待機状態に遷移し、
前記待機系サーバは、前記ヘルスチェックにより待機系サーバの異常を検出すると、前記第１のネットワークを介して前記現用系サーバの接続確認を行うことで現用系サーバがダウンしているかどうかを第２の判定を行い、
前記第２の判定の結果、ダウンと判定した場合に前記第１のネットワークを介して前記クライアントの接続確認を行うことで自サーバが孤立しているかどうかの第３の判定を行い、
前記第３の判定の結果、孤立していないと判定した場合に前記ＩＰアドレスを有効化することで現用状態に遷移することを特徴とする冗長構成におけるクライアント／サーバ間のアドレス制御方法。
【請求項８】
前記第１の判定は、ｐｉｎｇコマンドを実行することにより前記クライアントの接続確認を行い、
前記第２の判定は、前記ｐｉｎｇコマンドを実行することにより前記現用系のサーバの接続確認を行い、
前記第３の判定は、前記ｐｉｎｇコマンドを実行することにより前記クライアントの接続確認を行うことを特徴とする請求項７記載の冗長構成におけるクライアント／サーバ間のアドレス制御方法。
【請求項９】
前記待機状態に遷移する場合は、前記第１の判定で孤立している判定した場合にＭＡＣアドレスを無効化にし、
前記現用状態に遷移する場合は、前記第３の判定で孤立していないと判定した場合に前記ＭＡＣアドレスを有効化することを特徴とする請求項７記載の冗長構成におけるクライアント／サーバ間のアドレス制御方法。
【請求項１０】
前記第１および第３の判定は、複数の前記クライアントうち１台でも確認が取れれば自サーバが孤立していないと判断することを特徴とする請求項７，８，または９記載の冗長構成におけるクライアント／サーバ間のアドレス制御方法。
【請求項１１】
前記第１および第３判定は、複数の前記クライアントうち１台でも確認が取れなければ自サーバが孤立していると判断することを特徴とする請求項７，８，または９記載の冗長構成におけるクライアント／サーバ間のアドレス制御方法。
【請求項１２】
前記第１および第３の判定は、複数の前記クライアントうち予め決められた台数以上の確認が取れなければ自サーバが孤立していると判断することを特徴とする請求項７，８，または９記載の冗長構成におけるクライアント／サーバ間のアドレス制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、冗長構成におけるクライアント／サーバ間のアドレス制御方式および方法に関し、特に、現用系サーバおよび待機系サーバとの間でヘルスチェックを行う冗長構成におけるクライアント／サーバ間のアドレス制御方式および方法に関する。
【０００２】
【従来の技術】
従来、サーバの二重化構成でサーバ間のヘルスチェックを行って待機系のサーバを現用系に切り替える方式として、例えば、特開２００１−３４４１２５号公報および特開２００１−３４４１２５号公報に開示されている。この特開２００１−３４４１２５号公報によれば、予備系のサーバが現用系のサーバのヘルスチェックを行い、ヘルスチェックによりダウンと認識した場合には、自サーバの論理アドレスの活性化を行うことで自サーバを予備系から現用系に切り替え、ＬＡＮ伝送路と別の複数の回線を介して相手のサーバの論理アドレスの活性化を行うことで相手サーバを現用系から予備系に切り替えている。
【０００３】
また、特開２０００−３２４１２１号公報によれば、ヘルスチェック用の回線を介して現用系サーバおよび予備系サーバともお互いにヘルスチェックを行い、障害を検出すると、複数のＬＡＮ経路を介してヘルスチェックを行い、全て失敗したときに相手サーバの障害と判断する。待機系のサーバが相手サーバと判断した場合には、予備系から現用系に切り替える。
【０００４】
【特許文献１】
特開２００１−３４４１２５号公報
【特許文献２】
特開２０００−３２４１２１号公報
【０００５】
【発明が解決しようとする課題】
しかしながら、上記の特開２００１−３４４１２５号公報によると、待機系のサーバがヘルスチェックにより相手サーバの障害を検出した後、相手のサーバに対して複数の経路を使用して現用系から予備系に切り替えるように指示を出すが、相手サーバの通信障害の場合、相手サーバに切替の指示が伝達されないため、両方のサーバが現用系になるという問題点が発生する。
【０００６】
また、上記の特開２００１−３４４１２５号公報によると、ＬＡＮと違う複数の回線を準備する必要があるため、通信ソフトおよび通信ソフトに対応したハードウェアを数種類揃える必要があるため、コスト高となる問題点がある。
【０００７】
また、上記の特開２０００−３２４１２１号公報によると、現用系のサーバに通信障害が発生した場合、サーバ間のヘルスチェックがエラーとなるため、ＬＡＮ経路を介してヘルスチェックを行う。ところがＬＡＮ経路を介してヘルスチェックを行っても相手サーバの障害と判断するため、両方のサーバは相手方がダウンしたと判断し、両方のサーバがともに現用系に遷移する。すなわち、二重化されたサーバが両系とも現用系になるため、ＩＰフローティング制御方式を使用した二重化構成では、２重化された２台のサーバが同じＩＰアドレスを持つという問題点が発生する。
【０００８】
本発明の目的は、上記問題点を鑑み、現用系サーバと予備系サーバとの間でヘルスチェックによる障害を検出した場合に、二重化サーバが両系とも現用系になるのを防ぐことにある。
【０００９】
【課題を解決するための手段】
上記目的を達成するために、本発明の冗長構成におけるクライアント／サーバ間のアドレス制御方式は、第１のネットワークに複数のクライアントが接続され、同一のＩＰアドレスを持つ現用系サーバと待機系サーバにより構成され、第２のネットワークを介して現用系サーバと待機系サーバとの間でお互いにヘルスチェックを行う冗長構成におけるクライアント／サーバ間のアドレス制御方式において、前記現用系サーバは、前記ヘルスチェックにより待機系サーバの異常を検出すると、前記第１のネットワークを介して前記クライアントの接続確認を行うことで自サーバが孤立しているかどうかの判定を行う第１の孤立判定手段と、前記第１の孤立判定手段で孤立していると判定した場合に前記ＩＰアドレスを無効化することで待機状態に遷移する第１の遷移手段と、を有し、前記待機系サーバは、前記ヘルスチェックにより待機系サーバの異常を検出すると、前記第１のネットワークを介して前記現用系サーバの接続確認を行うことで現用系サーバがダウンしているかどうかを判定するダウン判定手段と、前記ダウン判定手段でダウンと判定した場合に前記第１のネットワークを介して前記クライアントの接続確認を行うことで自サーバが孤立しているかどうかの判定を行う第２の孤立判定手段と、前記第２の孤立判定手段で孤立していないと判定した場合に前記ＩＰアドレスを有効化することで現用状態に遷移する第２の遷移手段と、を有することを特徴としている。
【００１０】
更に、上記の冗長構成におけるクライアント／サーバ間のアドレス制御方式において、前記第１の孤立判定手段は、ｐｉｎｇコマンドを実行することにより前記クライアントの接続確認を行う手段を有し、前記ダウン判定手段は、前記ｐｉｎｇコマンドを実行することにより前記現用系のサーバの接続確認を行う手段を有し、前記第２の孤立判定手段は、前記ｐｉｎｇコマンドを実行することにより前記クライアントの接続確認を行う手段を有することを特徴としている。
【００１１】
更に、上記の冗長構成におけるクライアント／サーバ間のアドレス制御方式において、前記第１の遷移手段は、前記第１の孤立判定手段で孤立していると判定した場合にＭＡＣアドレスを無効化する手段を有し、前記第２の遷移手段は、前記第２の孤立判定手段で孤立していないと判定した場合に前記ＭＡＣアドレスを有効化する手段を有することを特徴としている。
【００１２】
更に、上記の冗長構成におけるクライアント／サーバ間のアドレス制御方式において、前記第１および第２の孤立判定手段は、複数の前記クライアントうち１台でも確認が取れれば自サーバが孤立していないと判断する手段を有することを特徴としている。
【００１３】
更に、上記の冗長構成におけるクライアント／サーバ間のアドレス制御方式において、前記第１および第２の孤立判定手段は、複数の前記クライアントうち１台でも確認が取れなければ自サーバが孤立していると判断する手段を有することを特徴としている。
【００１４】
更に、上記の冗長構成におけるクライアント／サーバ間のアドレス制御方式において、前記第１および第２の孤立判定手段は、複数の前記クライアントうち予め決められた台数以上の確認が取れなければ自サーバが孤立していると判断する手段を有することを特徴としている。
【００１５】
また、本発明の冗長構成におけるクライアント／サーバ間のアドレス制御方法は、第１のネットワークに複数のクライアントが接続され、同一のＩＰアドレスを持つ現用系サーバと待機系サーバにより構成され、第２のネットワークを介して現用系サーバと待機系サーバとの間でお互いにヘルスチェックを行う冗長構成におけるクライアント／サーバ間のアドレス制御方法であって、前記現用系サーバは、前記ヘルスチェックにより待機系サーバの異常を検出すると、前記第１のネットワークを介して前記クライアントの接続確認を行うことで自サーバが孤立しているかどうかの第１の判定を行い、前記第１の判定の結果、孤立していると判定した場合に前記ＩＰアドレスを無効化することで待機状態に遷移し、前記待機系サーバは、前記ヘルスチェックにより待機系サーバの異常を検出すると、前記第１のネットワークを介して前記現用系サーバの接続確認を行うことで現用系サーバがダウンしているかどうかを第２の判定を行い、前記第２の判定の結果、ダウンと判定した場合に前記第１のネットワークを介して前記クライアントの接続確認を行うことで自サーバが孤立しているかどうかの第３の判定を行い、前記第３の判定の結果、孤立していないと判定した場合に前記ＩＰアドレスを有効化することで現用状態に遷移することを特徴としている。
【００１６】
更に、上記の冗長構成におけるクライアント／サーバ間のアドレス制御方法において、前記第１の判定は、ｐｉｎｇコマンドを実行することにより前記クライアントの接続確認を行い、前記第２の判定は、前記ｐｉｎｇコマンドを実行することにより前記現用系のサーバの接続確認を行い、前記第３の判定は、前記ｐｉｎｇコマンドを実行することにより前記クライアントの接続確認を行うことを特徴としている。
【００１７】
更に、上記の冗長構成におけるクライアント／サーバ間のアドレス制御方法において、前記待機状態に遷移する場合は、前記第１の判定で孤立している判定した場合にＭＡＣアドレスを無効化にし、前記現用状態に遷移する場合は、前記第３の判定で孤立していないと判定した場合に前記ＭＡＣアドレスを有効化することを特徴としている。
【００１８】
更に、上記の冗長構成におけるクライアント／サーバ間のアドレス制御方法において、前記第１および第３の判定は、複数の前記クライアントうち１台でも確認が取れれば自サーバが孤立していないと判断することを特徴としている。
【００１９】
更に、上記の冗長構成におけるクライアント／サーバ間のアドレス制御方法において、前記第１および第３判定は、複数の前記クライアントうち１台でも確認が取れなければ自サーバが孤立していると判断することを特徴としている。
【００２０】
更に、上記の冗長構成におけるクライアント／サーバ間のアドレス制御方法において、前記第１および第３の判定は、複数の前記クライアントうち予め決められた台数以上の確認が取れなければ自サーバが孤立していると判断することを特徴としている。
【００２１】
【発明の実施の形態】
次に、本発明の実施の形態について、図面を参照して説明する。
【００２２】
図１を参照すると、２台の二重化構成されたサーバ１、サーバ２と、ユーザの操作端末であるクライアント３と、既存運用の運用ＬＡＮ９０１と、二重化構成されたサーバ１とサーバ２の間のヘルスチェック用のＬＡＮ９０２と、通信機器４とから構成されている。
【００２３】
サーバ１は、図示していないプロセッサ（ＣＰＵ）によりプログラム制御で動作する制御部１１と、ＬＡＮ９０１とのデータやり取りを行うＬＡＮインタフェース部１２と、ＬＡＮ９０１とのデータやり取りを行うＬＡＮインタフェース部１３と、サーバ２とのデータのやり取りを行うＬＡＮインタフェース部１４と、時間監視を行うタイマ１５とか構成される。
【００２４】
サーバ２は、図示していないプロセッサ（ＣＰＵ）によりプログラム制御で動作する制御部２１と、ＬＡＮ９０１とのデータやり取りを行うＬＡＮインタフェース部２２と、ＬＡＮ９０１とのデータやり取りを行うＬＡＮインタフェース部２３と、サーバ１とのデータのやり取りを行うＬＡＮインタフェース部２４と、時間監視を行うタイマ２５とか構成される。
【００２５】
２重化されたサーバ１およびサーバ２は、同一のＩＰアドレスでＬＡＮ９０１と接続されており、現用状態（現用系）となるサーバがそのＩＰアドレスを有効にするＩＰアドレスの制御方式を持ち（以降、本制御方式のことを、ＩＰフローティング方式と呼び、そのＩＰアドレスをフローティングＩＰアドレスと呼ぶ）、待機状態（待機系）となるサーバがフローティングＩＰアドレスを無効にする。従って、クライアント３は、そのフローティングＩＰアドレスに接続することにより、現用状態のサーバへ接続可能な構成となっている。
【００２６】
サーバ１の制御部１１は、ＩＰフローティング制御部１１１と、孤立判定部１１２と、監視部１１３とを含んでいる。
【００２７】
サーバ１のＩＰフローティング部１１１は、立ち上げ時に現用状態にする場合にはＬＡＮインタフェース部１３にフローティングＩＰアドレスを割り当て（有効化して）ＬＡＮインタフェース部１３内部の送受信回路を有効化にする手段と、待機状態で孤立判定部１１２がサーバ２を孤立していると判断した場合にはＬＡＮインタフェース部１３にフローティングＩＰアドレスを割り当て（有効化して）ＬＡＮインタフェース部１３内部の送受信回路を有効化にする手段と、現用状態で孤立判定部１１２がサーバ１自身孤立していると判断した場合にはフローティングＩＰアドレスを解除（無効化）してＬＡＮインタフェース部１３内部の送受信回路を無効化することで待機状態にする手段と、を有する。
【００２８】
サーバ１の孤立判定部１１２は、待機状態で監視部１１３がサーバ２の異常を検出した場合にサーバ２がダウンしていないかの判定を、ｐｉｎｇコマンドを実行することによりＬＡＮ９０１を介してサーバ２の接続確認を行う手段と、待機状態でサーバ２がダウンしていると判定した場合または現用状態で監視部１１３がサーバ２の異常を検出した場合にｐｉｎｇコマンドを実行することによりＬＡＮ９０１を介してクライアント３との接続状態を確認することでサーバ１自身が孤立していないかを判定する手段と、を有する。
【００２９】
サーバ１の監視部１１３は、タイマ１５のタイマ割り込みにより、ヘルスチェック用のＬＡＮ９０２を介してｐｉｎｇコマンドを使用（実行）してサーバ２のヘルスチェックを行う手段を有する。ｐｉｎｇ（Ｐａｃｋｅｔ  Ｉｎｔｅｒｎｅｔ  Ｇｒｏｐｅｒ）コマンドとは、ネットワーク上で機器が繋がっているかを確認するコマンドである。すなわち、監視部１１３がｐｉｎｇコマンドを実行することでＩＣＭＰ（Ｉｎｔｅｒｎｅｔ  Ｍｅｓｓａｇｅ  Ｐｒｏｔｏｃｏｌ）エコー要求を出し、その応答としてサーバ２が返すＩＣＭＰエコー応答の確認を行う。
【００３０】
サーバ１のＬＡＮインタフェース部１２は、サーバ２と区別するためにサーバ１の実ＩＰアドレスおよびその実ＩＰアドレスに対応したＭＡＣアドレスが割り当てられている。なお、本発明では、このＬＡＮインタフェース部１２が存在しなくても良い。
【００３１】
サーバ１のＬＡＮインタフェース部１３には、ＬＡＮインタフェース部２３と同じＭＡＣアドレスが割り当てられており、サーバ１が現用状態になる場合に、フローティングＩＰアドレスが割り当て送受信回路を有効化（ＬＡＮインタフェース部１３内の送受信回路を有効化することでＭＡＣアドレスも有効化となる）する。この場合、フローティングＩＰアドレスをＬＡＮインタフェース部１３内に予め設定し、待機状態すなわちフローティングＩＰアドレスを無効化（ＬＡＮインタフェース部１３内の送受信回路の無効化すなわちＭＡＣアドレスの無効化も含む）にしておき、現用状態になる場合にフローティングＩＰアドレスを有効化（ＬＡＮインタフェース部１３内の送受信回路の有効化すなわちＭＡＣアドレスの有効化も含む）してＬＡＮ９０１と送受信ができるようにしても良い。
【００３２】
サーバ１のＬＡＮインタフェース部１４は、ヘルスチェック用としてのサーバ１のＩＰアドレスおよびそのＩＰアドレスに対応したＭＡＣアドレスが割り当てられている。
【００３３】
サーバ１のタイマ１５は、起動をかけられると、予め決められた時間後に制御部１１に割り込みをかける。
【００３４】
サーバ２の制御部２１は、ＩＰフローティング制御部２１１と、孤立判定部２１２と、監視部２１３とを含んでいる。
【００３５】
サーバ２のＩＰフローティング部２１１は、立ち上げ時に現用状態にする場合にはＬＡＮインタフェース部２３にフローティングＩＰアドレスを割り当て（有効化して）ＬＡＮインタフェース部２３内部の送受信回路を有効化にする手段と、待機状態で孤立判定部２１２がサーバ１を孤立していると判断した場合にはＬＡＮインタフェース部２３にフローティングＩＰアドレスを割り当て（有効化して）ＬＡＮインタフェース部２３内部の送受信回路を有効化にする手段と、現用状態で孤立判定部２１２がサーバ２自身孤立していると判断した場合にはフローティングＩＰアドレスを解除（無効化）してＬＡＮインタフェース部２３内部の送受信回路を無効化することで待機状態にする手段と、を有する。
【００３６】
サーバ２の孤立判定部２１２は、待機状態で監視部２１３がサーバ１の異常を検出した場合にサーバ１がダウンしていないかの判定を、ｐｉｎｇコマンドを実行することによりＬＡＮ９０１を介してサーバ１の接続確認を行う手段と、待機状態でサーバ１がダウンしていると判定した場合または現用状態で監視部２１３がサーバ１の異常を検出した場合にｐｉｎｇコマンドを実行することによりＬＡＮ９０１を介してクライアント３との接続状態を確認することでサーバ２自身が孤立していないかを判定する手段と、を有する。
【００３７】
サーバ２の監視部２１３は、タイマ２５のタイマ割り込みにより、ヘルスチェック用のＬＡＮ９０２を介してｐｉｎｇコマンドを使用（実行）してサーバ２のヘルスチェックを行う手段を有する。すなわち、監視部２１３がｐｉｎｇコマンドを実行することでＩＣＭＰ（Ｉｎｔｅｒｎｅｔ  Ｍｅｓｓａｇｅ  Ｐｒｏｔｏｃｏｌ）エコー要求を出し、その応答としてサーバ２が返すＩＣＭＰエコー応答の確認を行う。
【００３８】
サーバ２のＬＡＮインタフェース部２２は、サーバ１と区別するためにサーバ１の実ＩＰアドレスおよびその実ＩＰアドレスに対応したＭＡＣアドレスが割り当てられている。なお、本発明では、このＬＡＮインタフェース部２２が存在しなくても良い。
【００３９】
サーバ２のＬＡＮインタフェース部２３には、ＬＡＮインタフェース部１３と同じＭＡＣアドレスが割り当てられており、サーバ２が現用状態になる場合に、フローティングＩＰアドレスが割り当て送受信回路を有効化（送受信回路を有効化することでＭＡＣアドレスも有効化となる）する。この場合、フローティングＩＰアドレスをＬＡＮインタフェース部２３内に予め設定し、待機状態すなわちフローティングＩＰアドレスを無効化（ＬＡＮインタフェース部２３内の送受信回路の無効化すなわちＭＡＣアドレスの無効化も含む）にしておき、現用状態になる場合にはフローティングＩＰアドレスを有効化（ＬＡＮインタフェース部２３内の送受信回路の有効化すなわちＭＡＣアドレスの有効化も含む）してＬＡＮ９０１と送受信ができるようにしても良い。
【００４０】
サーバ２のＬＡＮインタフェース部２４は、ヘルスチェック用としてのサーバ２のＩＰアドレスおよびそのＩＰアドレスに対応したＭＡＣアドレスが割り当てられている。
【００４１】
サーバ２のタイマ２５は、起動をかけられると、予め決められた時間後に制御部２１に割り込みをかける。
【００４２】
なお、ＬＡＮインタフェース部１３とＬＡＮインタフェース部２３には、運用状態になる場合は、どちらかが有効となり、同じフローティングＩＰアドレスと同じＭＡＣアドレスが使用されることになる。
【００４３】
クライアント３は、例えば、サーバ１とサーバ２が管理している共有データベースにアクセスするための通信用アプリケーションソフトウェアであるアプリケーション３１を搭載している。
【００４４】
次に、図１〜図３を参照して、本発明の実施の形態の動作について図面を参照して説明する。
【００４５】
０系側のサーバ１が起動されると、サーバ１の制御部１１は、ＬＡＮインタフェース部１２に対してサーバ１の実ＩＰアドレスを割り当て、ＩＰフローティング制御部１１１を起動する。ＩＰフローティング制御部１１１がＬＡＮインタフェース部１３に対してフローティングＩＰアドレスを割り当てることで、制御部１１は、ＩＰフローティング制御部１１１が正常に立ちあがったことを確認すると現用状態へ遷移する。更に、制御部１１は、タイマ１５を起動することにより、孤立判定部１１２および監視部１１３を起動する（図２のステップＡ１１〜Ａ１５）。
【００４６】
一方、１系側のサーバ２が起動されると、サーバ２の制御部２１は、ＬＡＮインタフェース部２２に対してサーバ１の実ＩＰアドレスを割り当て、ＩＰフローティング制御部２１１を起動する。ＩＰフローティング制御部２１１がＬＡＮインタフェース部２３に対してフローティングＩＰアドレスを割り当てないことで、制御部２１は、ＩＰフローティング制御部４が正常に立ちあがったことを確認すると待機状態へ遷移する。更に、制御部２１は、タイマ２５を起動することにより、孤立判定部２１２および監視部２１３を起動する（図４のステップＢ１１〜Ｂ１４）。
【００４７】
アプリケーション３１を実行するクライアント３は、サーバと通信を行うために、フローティングＩＰアドレスを使用してサーバにアクセスすることになるが、サーバの状態を意識することなく、現用状態のサーバ１へアクセス可能になる。
【００４８】
一方、サーバ１の監視部１１３は、定期的にタイマ１５のタイマ割り込みによりサーバ２のヘルスチェックを行うために、ｐｉｎｇコマンドを実行すると、ＬＡＮインタフェース部１４、ＬＡＮ９０２を介して、サーバ２宛にＩＣＭＰエコー要求を送信する。サーバ２の制御部２１は、ＬＡＮインタフェース部９０２を介してＩＣＭＰエコー要求を受信するとＩＣＭＰエコー応答を返す。すると、サーバ１の監視部１１３は、正常と判断し、タイマ１５を再起動して終了する（図３のステップＡ２１，Ａ２２，Ａ２９）。
【００４９】
同様に、サーバ２の監視部２１３は、定期的にタイマ２５のタイマ割り込みによりサーバ１のヘルスチェックを行うために、ｐｉｎｇコマンドを実行すると、ＬＡＮインタフェース部２４、ＬＡＮ９０２を介して、サーバ１宛にＩＣＭＰエコー要求を送信する。サーバ１の制御部１１は、ＬＡＮインタフェース部９０２を介してＩＣＭＰエコー要求を受信するとＩＣＭＰエコー応答を返す。すると、サーバ２の監視部２１３は、正常と判断し、タイマ２５を再起動して終了する（図５のステップＢ２１，Ｂ２２，Ｂ２９）。
【００５０】
このように、ヘルスチェックの結果が正常であれば、サーバ１の監視部およびサーバ２の監視部２１３は、定期的にタイマ割り込みによりヘルスチェックを行っているが、今、サーバ１に通信障害が発生したと仮定する。
【００５１】
現用状態となっているサーバ１において、タイマ１５によるタイマ割込みが制御部１１に発生すると、制御部１１の監視部１１３は、サーバ２のヘルスチェックを行うために、サーバ２に対してＬＡＮインタフェース部１４およびＬＡＮ９０２を介してｐｉｎｇコマンドを発行すると、サーバ２から応答が返って来ないため、異常と判断して、孤立判定部１１２へ通知する（ステップＡ２１，Ａ２２，Ａ２３）。
【００５２】
通知を受けた孤立判定部１１２は、ｐｉｎｇコマンドを実行して、クライアント３に対してＬＡＮインタフェース部１３およびＬＡＮ９０１を介してＩＣＭＰエコー要求を送信すると、サーバ１の通信障害のため、クライアント３からＩＣＭＰエコー応答が返って来ないため、自分自身が孤立し、サーバ２が現用状態に遷移したと判断して、ＩＰフローティング制御部１１１へ通知する（異常通知による処理）。異常通知を受けたＩＰフローティング制御部１１は、ＬＡＮインタフェース部１３に対して、フローティングＩＰアドレスを無効化すると共に、受信できないように送受信回路の無効化も行う。すると、制御部１１は、待機状態に遷移して終了する（ステップＡ２４〜Ａ２８）。
【００５３】
一方、待機状態となっているサーバ２において、タイマ２５によるタイマ割込みが制御部２１に発生すると、制御部２１の監視部２１３は、サーバ１のヘルスチェックを行うために、ｐｉｎｇコマンドを実行すると、サーバ１に対してＬＡＮインタフェース部２４およびＬＡＮ９０２を介してＩＣＭＰエコー要求を送信しても、サーバ１から応答が返って来ないため、異常と判断して、孤立判定部２１２へ通知する（ステップＢ２１，Ｂ２２，Ｂ２３）。
【００５４】
通知を受けた孤立判定部２１２は、ｐｉｎｇコマンドを実行することによりサーバ１に対してＬＡＮインタフェース部２３およびＬＡＮ９０１を介してＩＣＭＰエコー要求を送信すると、サーバ１からＩＣＭＰエコー応答が返って来ないため、サーバ１がダウンしたと判断し、更に、ｐｉｎｇコマンドを実行することによりクライアント３に対してＬＡＮインタフェース部２３およびＬＡＮ９０１を介してＩＣＭＰエコー要求送信することでサーバ２自身の孤立の確認を行う（ステップＢ２４〜Ｂ２７）。
【００５５】
ステップＢ２７において、クライアント３からＩＣＭＰエコー応答が返ってくると、サーバ２の孤立判定部２１２は、サーバ２自身は正常と判断し、ＩＰフローティング制御部２１１へ通知する（正常通知による処理）。サーバ２自身の正常通知を受けたＩＰフローティング制御部２１１は、ＬＡＮインタフェース部２３に対して、フローティングＩＰアドレスを有効化すると共に、受信できるように送受信回路の有効化も行う。すると、制御部２１は、現用状態に遷移して、監視部２１３にタイマ２５を再起動させて終了する（ステップＢ２６〜Ｂ３１）。
【００５６】
一方、アプリケーション３１を実行するクライアント３は、前回と同じようにサーバと通信を行うために、フローティングＩＰアドレスを使用してサーバにアクセスすることになるが、サーバの状態を意識することなく、今度は現用状態に切り替わったサーバ２へアクセス可能になる。
【００５７】
ステップＢ２７において、サーバ１からＩＣＭＰエコー応答が返ってくると、サーバ２の孤立判定部２１２は、サーバ１は正常だと判断し、タイマを再起動して終了する（ステップＢ３１）。
【００５８】
すなわち、図６で示すように、サーバ１は現用状態から待機状態に遷移し、サーバ２は待機状態から現用状態に遷移するが、フローティングＩＰアドレスおよびＭＡＣアドレスがサーバ１からサーバ２も遷移したことになるので、クライアント３は、フローティングＩＰアドレス（およびＭＡＣアドレス）で、サーバにアクセスしたとしても、異常なサーバ１にアクセスすることなく、正常なサーバ２にアクセスすることができる。
【００５９】
更に、ダウンしたサーバ１を修理し、立ち上げると、サーバ１は、待機状態となり、その後サーバ２で以上が検出されるとサーバ１とサーバ２が逆になるだけで上記で説明した動作と同じになることは言うまでもない。
【００６０】
上記説明では、孤立判定の為に現用状態のサーバ１とクライアント３との間でｐｉｎｇコマンドを使用して接続確認を行っているが、現用状態のサーバ１からの接続確認を行う機器は、サーバ１またはサーバ２との通信を行うクライアントに限定する必要なく、ＬＡＮ９０１に接続された通信機器であれば良く、現用状態のサーバ１からのｐｉｎｇコマンドによるＩＣＭＰエコー要求に応答できる通信機器に置換え可能であることは言うまでもない。
【００６１】
また、現用状態のサーバ１が孤立判定する際にｐｉｎｇコマンドによる接続確認は、複数のクライアントおよびその他通信機器に対してＬＡＮ９０１上の現用状態のサーバ１からのｐｉｎｇコマンドによる接続確認を行うことにより、孤立判定の信頼性が向上することは言うまでもない。この場合、例えば、ステップＡ２５（およびステップＢ２７）において、サーバ１（およびサーバ２）が複数のクライアント３にｐｉｎｇコマンドを使用してエコー要求を送信した場合に、１台でも応答があれば正常にするようにしても良いし、全て応答があれば正常（１台でも応答がなければ正常ではない）にしても良いし、予め決められた台数（この場合の台数は図示していないメモリ等の記憶部に予め保存）以上の応答があれば正常としても良い。
【００６２】
以上説明したように、現用状態（現用系）のサーバ１に致命的な障害が発生したと仮定した場合、サーバ１が、ヘルスチェックにより待機状態（待機系）のサーバ２の異常を検出するとＬＡＮ９０１を介してクライアント３の接続確認を行うことで自サーバ１が孤立していると判定した場合に共通のフローティングＩＰアドレスを無効化することにより待機状態にし、サーバ２が、ヘルスチェックによるサーバ２の異常を検出するとＬＡＮ９０１を介してサーバ１の接続確認を行うことでダウンと判定し更にクラアント３との接続確認を行うことで自サーバ１が孤立していないと判定した場合に共通のフローティングＩＰアドレスを有効化することにより現用状態に遷移するようにしているため、サーバ１およびサーバ２の両方が現用状態になるのを防ぐことができる。
【００６３】
【発明の効果】
以上説明したように、本発明は、二重化されたサーバ間のヘルスチェック機能に加え、現用系サーバが、ヘルスチェックによる待機系サーバの異常を検出するとクライアントとの接続確認を行うことでサーバ自身孤立しているかの判定を行い、孤立と判定すると待機状態に遷移するようにし、待機系サーバが、ヘルスチェックによる現用系のサーバの異常を検出すると現用系サーバの接続確認およびクライアントとの接続確認を行うことで現用系サーバのダウンおよびサーバ自身孤立しているかの判定を行い、現用系サーバのダウンおよび自サーバの孤立でないと判定した場合に現用状態に遷移するようにしているため、２重化サーバが両系とも現用状態になるのを防ぐことができるという効果がある。
【図面の簡単な説明】
【図１】本発明の実施の形態の構成を示すブロック図である。
【図２】現用状態となる図１のサーバの起動時の動作を示すフローチャートである。
【図３】図１の現用状態のサーバのタイマ割り込みによる動作を示すフローチャートである。
【図４】待機状態となる図１のサーバの起動時の動作を示すフローチャートである。
【図５】図１の待機状態のサーバのタイマ割り込みによる動作を示すフローチャートである。
【図６】図１のサーバの状態におけるクライアント側のサーバの見え方を示す構成概略図である。
【符号の説明】
１，２    サーバ
３    クライアント
１１，２１    制御部
１２，１３，１４，２２，２３，２４    ＬＡＮインタフェース部
１５，２５    タイマ
３１    アプリケーション
１１１，２１１    ＩＰフローティング制御部
１１２，２１２    孤立判定部
１１３，２１３    監視部
９０１，９０２    ＬＡＮ
【図１】
2004171370.tif 000003
【図２】
2004171370.tif 000004
【図３】
2004171370.tif 000005
【図４】
2004171370.tif 000006
【図５】
2004171370.tif 000007
【図６】
2004171370.tif 000008