JP2006253900A - Ipアドレス引き継ぎ方法、ipアドレスアドレス引き継ぎプログラム、サーバおよびネットワークシステム - Google Patents

Ipアドレス引き継ぎ方法、ipアドレスアドレス引き継ぎプログラム、サーバおよびネットワークシステム Download PDF

Info

Publication number
JP2006253900A
JP2006253900A JP2005065565A JP2005065565A JP2006253900A JP 2006253900 A JP2006253900 A JP 2006253900A JP 2005065565 A JP2005065565 A JP 2005065565A JP 2005065565 A JP2005065565 A JP 2005065565A JP 2006253900 A JP2006253900 A JP 2006253900A
Authority
JP
Japan
Prior art keywords
server
address
execution mode
standby mode
arp
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2005065565A
Other languages
English (en)
Inventor
Yutaka Nakamura
豊 中村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2005065565A priority Critical patent/JP2006253900A/ja
Priority to US11/359,373 priority patent/US20060206611A1/en
Publication of JP2006253900A publication Critical patent/JP2006253900A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection

Abstract

【課題】 同じサービスを提供するサーバに、同じIPアドレスが重複割り当てされないようにする。
【解決手段】 待機モードのサーバが、所定期間、実行モードのサーバからハートビート通信のメッセージを受信しなかったとき、待機モードのサーバの記憶装置に記憶されたIPアドレスを自己のサーバに割り当て、実行モードに切り替える。このとき、自己のサーバに割り当てたIPアドレスと、自己のサーバのMACアドレスとを含むメッセージを、ブロードキャスト形式で、所定期間送信する。また、実行モードのサーバが、自己のサーバに割り当てられたIPアドレスと同じIPアドレスと、待機モードのサーバのMACアドレスとを含むメッセージを受信したとき、自己のサーバに割り当てられていたIPアドレスを削除し、待機モードに切り替えるステップを実行する。
【選択図】 図2

Description

本発明は、IPアドレス引き継ぎ方法、IPアドレスアドレス引き継ぎプログラム、サーバおよびネットワークシステムに関する。
コンピュータを接続して構成されるネットワークシステムにおいて、クライアント・サーバモデルに基づいて分散処理を行う際に、システムの可用性を確保するために、同じサービスを提供できるサーバコンピュータをネットワークシステム内に複数台備える構成が採用されている。
この場合、複数台のサーバコンピュータのうち1台が実行系サーバとして動作し、他は待機系のサーバとなっている。
このような高可用性システムが、インターネットプロトコル(IP)を用いたネットワークにより実現されている場合、クライアントの立場からは、同じサービスを提供するサーバコンピュータには同じIPアドレスが割り当てられていることが望ましい。
しかし、IPアドレスが或る時点において重複して割り当てられ、1つのIPアドレスに対して複数のMACアドレス(Media Access Control Address)が対応すると、送信元は、どのMACアドレスを指定してパケットを送るべきかが決定できない。
そこで、従来の高可用性ネットワークシステムでは、ネットワークに接続され同一のサービスを提供できるサーバコンピュータのうち、実行系サーバ(実行モードのサーバコンピュータ)にはIPアドレスを割り当てるが、待機系サーバ(待機モードのサーバコンピュータ)にはIPアドレスを割り当てないようにしている。
ここで、待機系サーバは、ハートビート通信(相手側コンピュータの状態を確認するための定期的なメッセージ交換)を行い、実行系サーバのシステムダウンや通信不能等を検出すると、実行系サーバに割り当てられていたIPアドレスを引き継いで自己のIPアドレスとして設定する。
その後、待機系サーバは、自己のIPアドレスとMACアドレスとを設定したARP(Address Resolution Protocol)リクエストをブロードキャスト形式で送信し、これを受けたクライアントは、受信したARPリクエストに基づき、ARPキャッシュにおけるIPアドレスとMACアドレスとの対応を更新する。
以後、待機系サーバは、サービスを提供するためのアプリケーションプロセスを起動し、実行系サーバとして動作するようになり、クライアントは実行系サーバ(元待機系サーバ)に対して各種データを要求し、サービスの提供を受ける。このようにしてサーバ切り替え(IPアドレス引き継ぎ)が行われる。
特許文献1には、前記したサーバ切り替え方法において、実行モードと待機モードとの切り替えを短時間で行うための技術が開示されている。
特開平10−320323号公報
しかし、前記した技術はいずれも、ハートビート用通信路の障害や遅延により、相手方のサーバの動作状態が把握できなかった場合の考慮がなされていない。つまり、ハートビート用通信路に障害や遅延が発生したが、サーバ自体には障害が発生していないとき、それぞれのサーバが「実行モードに遷移すべき」と判断して、実行系サーバと待機系サーバとにIPアドレスが重複して割り当てられてしまうという問題がある。
本発明は、同じサービスを提供できる複数のサーバを有し、高可用性を確保するネットワークシステムにおいて、ハートビート通信による互いの動作状態が確認できない場合でも、IPアドレスが重複して割り当てられることなくサーバ切り替えを行うことができるIPアドレスの引き継ぎ方法等を提供することを課題とする。
前記した課題を解決するため、本発明は、ネットワークを介してサービスを提供する実行モードのサーバと、このサーバに障害が発生したとき、このサーバのIPアドレスを引き継ぎ実行モードに切り替わる1以上の待機モードのサーバとを含むネットワークシステムにおいて、前記待機モードのサーバが、所定期間、前記実行モードのサーバからハートビート通信のメッセージを受信しなかったとき、前記待機モードのサーバの記憶装置に記憶されたIPアドレスを自己のサーバに割り当て、実行モードに切り替えるステップと、前記自己のサーバに割り当てたIPアドレスと、自己のサーバのMACアドレスとを含むメッセージを、ブロードキャスト形式で、所定期間送信するステップとを実行するようにした。
一方、前記実行モードのサーバは、自己のサーバに割り当てられたIPアドレスと同じIPアドレスと、前記待機モードのサーバのMACアドレスとを含むメッセージを受信したとき、前記自己のサーバに割り当てられていたIPアドレスを削除し、待機モードに切り替えるステップを実行する構成とした。
その他の構成については、後記する実施の形態で述べる。
本発明によれば、ハートビート用通信路の障害等で互いの動作状態が確認できない場合でも、同じサービスを提供できるサーバのうち、いずれか1つのサーバにIPアドレスが割り当てられるので、複数のサーバに同じIPアドレスが重複して割り当てられることによるサービスの提供不可を防止できる。
以下、図面を参照しつつ、本発明を実施するための最良の形態(以下、実施の形態とする)について説明する。
図1は、本発明の実施の形態であるサーバコンピュータを用いて構築されたネットワークシステムのブロック図である。
このネットワークシステムでは、同じサービスを提供できる2台のサーバコンピュータ1(1A,B)と、このサーバコンピュータ1(1A,B)のいずれかに対してサービスの提供を要求するクライアントコンピュータ(クライアント)3とがローカルエリアネットワーク(LAN)13で接続された構成となっている。
なお、以下サーバコンピュータは、サーバと略す。
サーバ1(1A,B)は、例えば、Webサーバやファイルサーバ等であり、クライアント3等のリクエストに応じてLAN13経由で各種データの送信や配信等を行う。つまり、クライアント3へサービスを提供する。
LAN13は、サーバ1(1A,B)およびクライアント3を接続するネットワークであり、例えばインターネット網や地域IP網であってもよい。
クライアント3は、サーバ1(1A,B)から各種データの受信や配信を受ける端末装置であり、例えばPC(Personal Computer)である。
サーバ1(1A,B)は、CPU(Central Processing Unit)4、メモリ5、ハードディスク装置(HD)6およびネットワークインタフェースコントローラ(NIC)7,8で構成される。
NIC7は、ハートビート用通信路14に接続されるネットワークインタフェースの制御を行い、NIC8は、LAN13に接続されるネットワークインタフェースの制御を行う。
サーバ1(1A,B)のCPU4は、メモリ5に格納された所定のプログラムを実行することにより、LAN13に対する制御を含むオペレーティングシステム(OS)9の機能、監視プロセス11およびIPアドレス割り当てプロセス15の機能を実現する。
また、前記所定のプログラムは、クライアント3に各種サービスを提供するアプリケーションプロセス(図示せず)を実現している。
また、このネットワークシステムでは、インターネットプロトコル(IP)を用いた通信が行われ、通信相手を特定するためのIPアドレスに対応するMACアドレス(サーバ1の識別情報)を獲得するためにARPが使用される。OS9には、ARPリクエストの送信および受信、ARPリプライの送信および受信等、ARPに関する各種処理を行うARPハンドラ10が含まれる。
なお、IPアドレス引き継ぎプログラムは、前記したARPハンドラ10、監視プロセス11およびIPアドレス割り当てプロセス15により実現される。
IPアドレス割り当てプロセス15は、自己のサーバ1(1A,B)に対するIPアドレスの割り当ておよびIPアドレス削除を行う。
監視プロセス11は、ハートビート用通信路14経由でサーバ1(1A,B)とハートビート通信を行い、相手方となるサーバ1(1A,B)の動作状態を監視する。そして、所定期間、相手方のサーバ1(1A,B)からハートビート通信のメッセージを受信しなかったとき、IPアドレス割り当てプロセス15に自己のサーバ1(1A,B)に対しIPアドレスを割り当てさせる。
つまり、所定期間、相手方のサーバ1(1A,B)からハートビート通信のメッセージを受信しなかったとき、相手方のサーバ1(1A,B)に障害が発生したとみなして、自己のサーバ1(1A,B)を実行モードに遷移させる。
なお、本実施の形態において、サーバ1を「実行モードに遷移させる」とは、サーバ1にIPアドレスを割り当て、クライアント3からの要求に応じてLAN13経由で各種データを送信可能な状態にすることをいう。一方、サーバ1を「待機モードに遷移させる」とは、サーバ1からIPアドレスを削除し、クライアント3へのデータ送信を行なわない(サービスを提供しない)状態にすることをいう。
また、監視プロセス11は、サーバ1(1A,B)が実行モードに遷移したとき、相手方のサーバ1(1A,B)の動作状態が確認できるまでARPハンドラ10にLAN13経由でARPリクエストを送信させる。つまり、相手のサーバ1(1A,B)に自己のサーバ1(1A,B)が実行モードに遷移したことを通知する。
また、監視プロセス11は、ARPハンドラ10で相手方のサーバ1(1A,B)からのARPリクエストを受信したときは、IPアドレス割り当てプロセス15に自己のサーバ1(1A,B)のIPアドレス削除を行わせる。すなわち、相手方のサーバ1(1A,B)が実行モードに遷移したことを確認して、自己のサーバ1(1A,B)を待機モードに遷移させる。
HD6(またはメモリ5)は、サーバ1(1A,B)に設定されるIPアドレスと、ハートビート通信を行う相手のサーバ1(1B)のMACアドレスとを記憶している。
なお、サーバ1(1A,B)は同じサービスを提供するサーバであり、それぞれのHD6(またはメモリ5)には同じIPアドレスが記憶されるものとする。このIPアドレスの入力は、ネットワークシステムの管理者がキーボードやマウス等により手動で入力してもよい。ARPハンドラ10は、このHD6(またはメモリ5)に記憶されたIPアドレスおよびMACアドレスを読み出してARPリクエストおよびARPリプライの送信を行う。また、ARPリクエストを受信したときには、このHD6(またはメモリ5)を参照して、そのARPリクエストが同じサービスを提供するサーバ1、つまりハートビート通信のペアとなるサーバ1から送信されたものか否かを判断する。
ちなみに、HD6(またはメモリ5)は、請求項における記憶装置に相当する。
さらに、サーバ1(1A,B)の間にはLAN13とは別に両者を直接に接続するハートビート用通信路14が設けられている。
サーバ1(1A,B)は、このハートビート用通信路14を用いて所定期間毎(例えば、10分間以下の間隔で)にメッセージ交換し合う「ハートビート通信」を行うことにより、互いに相手の動作状態を把握する。
本実施の形態では、このハートビート用通信路14は、LANによって実現するものとするが、例えばRS232C等のシリアル回線であってもよい。また、サーバ1(1A)とサーバ1(1B)とにハードディスク等の外部記憶装置を共有させることにより実現してもよい。
ちなみに、このハートビート用通信路14は、1本であってもよいし、複数本であってもよい。
一方、クライアント3は、ARPによってIPアドレスとMACアドレスとの対応情報を取得すると、クライアント3の記憶部(図示せず)のARPキャッシュ12を更新する。このARPキャッシュ12は、IPアドレスごとに、当該IPアドレスに対応するMACアドレスを示したテーブルである。
例えば、図1に示すクライアント3のARPキャッシュ12は、IPアドレス「1」のサーバ1は、「A」というMACアドレスを持つことを示す。
なお、このクライアント3は、図1では1台しか描いていないが、複数台であってもよい。
ここでは、サーバ1Aは、クライアント3に対してLAN13経由でサービスを提供する「実行モード」のサーバであり、サーバ1Bは、サービスを提供することなく待機している「待機モード」のサーバであるものとして説明する。
本実施の形態のネットワークシステムにおいて、実行モードのサーバ1Aがシステムダウン等によりサービスの提供ができなくなった場合には、待機モードのサーバ1Bは、これをハートビート通信によって認識し、実行モードへと遷移する。すなわち、サーバの動作モードの切り替えが行われる。
前記したネットワークシステムの各構成要素の詳細は、フローチャートを用いて後記する。
図2は、図1のサーバのIPアドレスの引き継ぎ方法(IPアドレス引き継ぎプログラムの動作)を示すフローチャートである。
以下、適宜図1を参照しつつ、図2を用いて、サーバ1のIPアドレスの引き継ぎ方法について説明する。
まず、ステップS21において、サーバ1に電源がONされると、サーバ1は、OS9および監視プロセス11を起動する。
そして、ステップS22において、監視プロセス11が自己の初期動作モードを決定する。これは、予めHD6またはメモリ5に自己のサーバ1の初期動作モード(実行モード/待機モード)が記憶されており、監視プロセス11が、この初期動作モードの情報を参照して決定する。
ここで、自己のサーバ1の動作モードが実行モードであれば(ステップS23のYES)、ステップS24において監視プロセス11は、IPアドレス割り当てプロセス15に自己のIPアドレスを割り当てさせ、ARPハンドラ10にブロードキャストの形式でARPリクエストを送信させる。
なお、このステップS24でARPリクエストを送信するのは、クライアント3等のARPキャッシュ12におけるIPアドレスとMACアドレスとの対応を更新させる必要があるからである。その後、サーバ1は、アプリケーションプロセスを起動して、クライアント3等にサービスを提供する。
一方、ステップS23において、自己のサーバ1の動作モードが待機モードの場合(ステップS23のNO)、ステップS25に進み、監視プロセス11が相手方のサーバ1とハートビート通信を行い、相手方のサーバ1の動作状態を監視する。また、このとき、サーバ1は自己のサーバ1にIPアドレスの割り当てを行わない。
ここで、サーバ1の監視プロセス11が、他のサーバ1のハートビート未受信と判断したとき(ステップS26のYES)、つまりシステムダウンやハートビート用通信路14の障害等により、相手方のサーバ1から所定時間ハートビート通信のメッセージを受信しなかったとき、ステップS27において、自己のサーバ1が実行モードへ遷移すべきか否かを判定する。
具体的には、監視プロセス11は、自己のサーバ1の動作モードが待機モードで、相手方のサーバ1の動作モードが実行モードの場合、自己が実行モードへ遷移すべきと判定する(ステップS27のYES)。
一方、自己のサーバ1の動作モードが実行モードの場合、監視プロセス11は、実行モードへの遷移が不要と判定する(ステップS27のNO)。つまり、監視プロセス11は、ステップS25に戻り、相手方のサーバ1とハートビート通信を行い、アプリケーションプロセスによりクライアント3等にサービスを提供する。
ステップS27において実行モードへ遷移すべきと判定された場合は(ステップS27のYES)、ステップS28へ進んで自己のサーバ1を実行モードへと遷移させる。すなわち、監視プロセス11は、IPアドレス割り当てプロセス15により自己のサーバ1にIPアドレスを割り当てる。また、ARPハンドラ10が、ブロードキャスト形式でARPリクエストを送信して、ネットワーク内の各ノードに自己のサーバ1のMACアドレスを通知する。その後、サーバ1は、アプリケーションプロセスを起動してサービスを提供する。
なお、監視プロセス11(またはIPアドレス割り当てプロセス15)は、自己のサーバ1の実行モード/待機モードの切り替えを行ったとき、HD6またはメモリ5に現在サーバ1が実行モードか待機モードかを示す情報を記憶しておくものとする。
そして、サーバ1のARPハンドラ10は、相手方のサーバ1の状態が確認できるまで、所定間隔でLAN13を介してARPリクエストを送信する(ステップS29)。
以降、ステップS25およびステップS26というループを繰り返し実行しつつ、実行モードのサーバ1は、起動したアプリケーションプロセスにより所定のサービスをクライアント3に提供する。
一方、サーバ1(1B)の監視プロセス11は、ARPハンドラ10でハートビート通信の相手方のサーバ1(1A)からARPリクエストを受信したことを検知すると、IPアドレス割り当てプロセス15に自己のサーバ1を待機モードに切り替えさせる。つまり、自己のサーバ1(1B)からIPアドレスを削除する。すなわち、サーバ1(1B)はハートビート通信は継続するが、サービスの提供(クライアントからのデータ送信要求に応じたデータの送信)は停止する。
このようにすることで、ハートビート通信の障害や遅延等により、サーバ1(1A,B)の双方にIPアドレスが重複して割り当てられたときでも、最初に、相手方のサーバ1からのARPリクエストを受信した方のサーバ1が、すぐに待機モードに切り替わるので、IPアドレスの重複割り当てを一時的なものとすることができる。
よって、クライアント3からのサーバ1宛のパケットが、どちらのサーバ1(1A,B)に送られるか特定されず、クライアント3がサーバ1(1A,B)から正常なサービス提供を受けられなくなる可能性を低減することができる。
次に、図3を用いて、稼働中(実行モード)のサーバ1がARPリクエストを受信したときの動作を説明する。図3は、図1の実行モードのサーバがARPリクエストを受信したときの動作を示すフローチャートである。
まず、稼動中のサーバ1(1A)は、ARPハンドラ10でARPリクエストを受信すると、監視プロセス11で、このARPリクエストの送信元が、ハートビート通信の相手方のサーバ1(1B)か否かを判断する(ステップS31)。このときの判定は、監視プロセス11が、HD6に記憶されたハートビート通信の相手方となるサーバ1(1B)のMACアドレスと、受信したARPリクエストの送信元のMACアドレスとを参照して行う。
ここで、サーバ1(1A)が、ARPリクエストの送信元のMACアドレスを確認するのは、誤ってネットワークシステム外のノード(サーバ)に同じIPアドレスが割り当てられたときに、自己のサーバ1(1A)が待機モードに遷移してしまうと、ネットワークシステムが継続してサービスを提供することができなくなるからである。
このとき、ARPリクエストの送信元が、ハートビート通信が不可能となった相手のサーバ1(1B)であったとき(ステップS31のYES)、ステップS32へ進む。
そして、ステップS32では、監視プロセス11が、IPアドレス割り当てプロセス15により、自己のサーバ1(1A)を待機モードへ遷移させ、自己のサーバ1(1A)に割り当てたIPアドレスを削除して、IPアドレス未割り当ての状態とする。
すなわち、サーバ1(1B)で動作モードの切り替えが行われ、サーバ1(1A)に割り当てられていたIPアドレスが割り当てられた(引き継いだ)と、サーバ1(1A)の監視プロセス11が判断すると、自己のサーバ1(1A)のアプリケーションプロセスを停止し、IPアドレスを割り当てないようにする。
なお、このとき、ステップS31で受信したARPリクエストに対するARPレスポンスは送信しないものとする。
このようにすることで、ハートビート通信が不能になった場合でも、サーバ1(1A,B)の双方に同じIPアドレスが割り当てられたままの状態になるのを防ぐことができる。そして、ステップS33において、サーバ1(1A)の監視プロセス11は、サーバ1(1B)に対し、自己のサーバ1(1A)が待機モードに遷移してIPアドレスを削除したことを通知する。このときの通知は、LAN13またはハートビート用通信路14を介して行うものとする。通知を受けたサーバ1(1B)は、サーバ1(1A)の状態が確認できたため、最後にARPリクエストを送信することで、他のクライアント3のARPキャッシュ12を更新させる。
これは、クライアント3がサーバ1(1A)からARPリクエストを受信していたとき(既にARPキャッシュ12にサーバ1(1A)のMACアドレスが記憶されていたとき)も、確実にARPキャッシュ12にサーバ1(1A)のMACアドレスを設定するためである。そして、監視プロセス11は、ARPハンドラ10に所定間隔で送信させていたARPリクエストの送信を止めるようにする。
一方、ステップS31において、サーバ1(1A)が受信したARPリクエストの送信元が、相手方のサーバ1(1B)でない場合は(ステップS31のNO)、ステップS34へ進む。つまり、受信したARPリクエストの送信元のMACアドレスが、ハートビート通信の相手のサーバ1(1B)のMACアドレスとは異なる場合は、ステップS34へ進む。
ステップS34では、サーバ1(1A)の監視プロセス11が、IPアドレス重複のエラーメッセージを出力する。このときのエラーメッセージは、サーバ1(1A)のモニタ等の表示手段に出力するようにしてもよいし、メール等で通知するようにしてもよい。
このようにすることで、ネットワークシステムの管理者は、他のノードが誤ってサーバ1(1A,B)と同じIPアドレスを設定したことや、IPアドレスが不正使用されたことを知ることができる。
ステップS35では、サーバ1(1A)のARPハンドラ10は、受信したARPリクエストの送信元のノードに、自己のIPアドレスおよびMACアドレスを設定したARPリプライを応答し、前記送信元のノードにIPアドレスの重複割り当てを通知する。また、サーバ1(1A)のARPハンドラ10は、自己のサーバ1(1A)のMACアドレスを設定したARPリクエストをブロードキャスト送信し、クライアント3のARPキャッシュ12における当該IPアドレスに対するMACアドレスを、サーバ1(1A)のものに更新させる。
このようにすることで、ARPキャッシュ12に他のノードのMACアドレスが設定されることを防止することができる。つまり、ネットワークトラフィックが混乱するのを防止できる。
以上の説明したように、待機モードのサーバ1(1B)は、他のサーバ1(1A)とのハートビート通信不能を検出した場合は、動作モードを実行モードに切り替えて、IPアドレスを設定する。つまり、サーバ1(1A)に設定されていたIPアドレスを引き継ぐようにする。また、このとき、サーバ1(1B)は、他のサーバ1(1A)の状態が確認できるまで、ブロードキャストの形式でARPリクエストを送信し、サーバ1(1A)が、他のサーバ1(1B)からのARPリクエストを受信したときに、待機モードへの切り替えをするので、ハートビート用通信路14の障害等で互いサーバ1(1A,B)の動作状態が分からない場合でも、同じIPアドレスが重複して割り当てられることがなくなる。
また、サーバ1(1A,B)の間で、実行モード(稼動サーバ)の切り替えがあった場合でも、クライアント3は、同じIPアドレスを設定してサーバ1にアクセスすればよいので、サーバ1の切り替えは透過的なものとすることができる。
前記した実施の形態では、待機モードのサーバ1(1B)が、IPアドレスを引き継ぎ、サービスを継続するものとして説明したが、事前に定義した優先度に基づき実行モードのサーバ1(1A)がサービスを継続するようにしてもよい。
つまり、図2のステップS27において、自己のサーバ1が既に実行モードであった場合でも、監視プロセス11が自己のサーバ1の優先度と相手方のサーバ1の優先度とを比較して、自己のサーバ1の優先度が高ければ、ステップS29およびステップS28を実行する。
一方、実行モードのサーバ1が、他のサーバ1のハートビート未受信と判断し、かつ監視プロセス11が自己のサーバ1の優先度と相手方のサーバ1の優先度とを比較して、自己のサーバ1の優先度が低いと判断したときは、待機モードに切り替える。つまり、ステップS32と同様にIPアドレスを削除し、ステップS33と同様に待機モードに遷移したことを通知する。
なお、このときの優先度比較は、監視プロセス11が、HD6またはメモリ5に記憶されたサーバ1(1A,B)の優先度を示す優先度テーブルを参照して行う。
以下の表1は、サーバ1(1A)の優先度テーブルの例である。
Figure 2006253900
表1に示すように、優先度テーブルは、ハートビート通信を行うサーバ1(1A,B)のIPアドレス、MACアドレス、実行モードに切り替えるときの優先度に関する項目で構成される。
なお、この優先度テーブルは、サーバ1(1A,B)の現在の動作モード(実行モード/待機モードの別)に関する項目を含んでいてもよい。
例えば、表1において、IPアドレス「1」のサーバのうち、MACアドレス「A」のサーバ1(1A)の優先度は「1」であり、現在の動作モードは「実行モード」であることを示している。また、MACアドレス「B」のサーバ1(1B)の優先度は「2」であり、こちらも現在の動作モードは「実行モード」であることを示している。
ここで、表1に示すように、自己のサーバ1(1A)の優先度が他のサーバ1(1B)よりも高いときは、監視プロセス11は、動作モードを実行モードのままとし、ARPハンドラ10にARPリクエストを送信させる。一方、自己のサーバ1(1A)の優先度が低いときは、監視プロセス11はIPアドレス割り当てプロセス15にIPアドレス削除を行わせ、自己のサーバ1(1A)を待機モードに遷移させる。
なお、自己のサーバ1(1A)が「待機モード」に切り替わったとき、監視プロセス11が動作モードの欄の情報を「待機モード」に書き換えるようにしてもよい。また、他のサーバ1(1B)が待機モードに遷移した旨の通知を受信したときには、このサーバ1(1B)の動作モードの欄を「待機モード」に書き換えるようにしてもよい。
ちなみに、この優先度テーブルの情報は、ネットワークシステムの管理者等が、サーバ1(1A,B)に接続されたキーボードやマウス等を用いて手動入力するようにしてもよい。また、管理者等が、各サーバ1の動作モードを確認できるように、優先度テーブルの情報をモニタ等の表示手段で表示するようにしてもよい。
なお、図2のステップS29において、ARPハンドラ10がARPリクエストを送信する間隔は、クライアント3のARPキャッシュ12における該当IPアドレスに対するエントリーが無効とならない間隔にすることが望ましい。
つまり、誤って他のノードに同じIPアドレスが設定された場合、この間にARPキャッシュ12がクリアされ、クライアント3がARPリクエストを送信すると、ARPキャッシュ12に他のノードのMACアドレスに書き換えるおそれがあるからである。
また、サーバ1が他のノードにIPアドレスが重複割り当てされたことを検出すると、サーバ1が自己のMACアドレスを設定したARPリクエストをブロードキャスト送信する。つまり、クライアント3のARPキャッシュ12のMACアドレスを訂正することができる。その結果、ネットワークトラヒックの混乱により生じるクライアント3へのサービス提供の不可を防止することができ、従来よりも可用性の高いネットワークシステムの構築が可能となる。
なお、前記した実施の形態では、同じサービスを提供するサーバ1が2台の場合について説明したが、このサーバ1は3台以上で構成されていてもよい。
この場合には、前記した優先度テーブル(表1参照)において、複数の待機モードのサーバ1の情報が記述されることになる。そして、待機モードのサーバ1は、実行モードのサーバ1とのハートビート通信が不可能になったとき、この優先度テーブルを参照する。ここで、この優先度テーブルに記述された待機モードのサーバ1の中で、自己の優先度が最も高ければ、サーバ1は実行モードへの切り替えを行い、自己の優先度が2番目以降であれば実行モードへの切り替えは行わない。
このようにすることで、待機モードのサーバ1が2台以上あるときも、1台のサーバ1が実行モードに切り替わる(IPアドレスの引き継ぎをする)ようにすることができる。
本発明は、前記した実施の形態に限定されず、発明の趣旨を逸脱しない範囲で応用可能である。
例えば、前記した実施の形態では、図2のステップS29(ステップS28)で、自己のサーバ1(1B)は、相手方のサーバ1(1A)の状態が確認できるまで、ARPリクエストを送信することとしたが、このとき送信するメッセージは、サーバ1(1B)のMACアドレスが含まれるメッセージであれば、ARPリクエスト以外のものであってもよい。
つまり、サーバ1(1A)が、サーバ1(1B)からのメッセージであることを識別できる情報であればよい。
本実施の形態に係るサーバ1(1A,B)は、前記したような処理を実行させるIPアドレス引き継ぎプログラムによって実現することができ、そのプログラムをコンピュータによる読み取り可能な記憶媒体(CD−ROM等)に記憶して提供することが可能である。また、そのプログラムを、ネットワークを通して提供することも可能である。
本発明の実施の形態であるサーバコンピュータを用いて構築されたネットワークシステムのブロック図である。 図1のサーバの動作モードの切り替えの動作(IPアドレス引き継ぎプログラム)を示すフローチャートである。 図1の実行モードのサーバがARPリクエストを受信したときの動作を示すフローチャートである。
符号の説明
1(1A,B) サーバ
10 ARPハンドラ
11 監視プロセス
15 IPアドレス割り当てプロセス

Claims (10)

  1. ネットワークを介してサービスを提供する実行モードのサーバと、このサーバに障害が発生したとき、このサーバのIPアドレスを引き継ぎ実行モードに切り替わる1以上の待機モードのサーバとを含むネットワークシステムにおける、IPアドレス引き継ぎ方法であって、
    前記待機モードのサーバが、
    所定期間、前記実行モードのサーバからハートビート通信のメッセージを受信しなかったとき、前記待機モードのサーバの記憶装置に記憶されたIPアドレスを自己のサーバに割り当て、実行モードに切り替えるステップと、
    前記自己のサーバに割り当てたIPアドレスと、自己のサーバのMACアドレスとを含むメッセージを、ブロードキャスト形式で、所定期間送信するステップとを実行し、
    前記実行モードのサーバが、
    自己のサーバに割り当てられたIPアドレスと同じIPアドレスと、前記待機モードのサーバのMACアドレスとを含むメッセージを受信したとき、前記自己のサーバに割り当てられていたIPアドレスを削除し、待機モードに切り替えるステップを実行することを特徴とするIPアドレス引き継ぎ方法。
  2. 前記各サーバは、その記憶装置にハートビート通信を行うサーバの識別情報ごとに前記各サーバが実行モードに切り替えるときの優先度を示す優先度テーブルを格納し、
    前記待機モードのサーバは、
    所定期間、前記実行モードのサーバからハートビート通信のメッセージを受信せず、かつ前記優先度テーブルにおいて自己のサーバの優先度が他のサーバよりも高かったとき、前記自己のサーバを実行モードへ切り替えることを特徴とする請求項1に記載のIPアドレス引き継ぎ方法。
  3. 前記実行モードから待機モードに切り替えたサーバは、
    前記自己のサーバのMACアドレスを含む待機モード切り替えメッセージを送信するステップをさらに実行し、
    前記待機モードから実行モードに切り替えたサーバは、
    前記待機モード切り替えメッセージを受信したとき、前記自己のサーバに割り当てたIPアドレスと自己のサーバのMACアドレスとを含むメッセージの送信を停止することを特徴とする請求項1または請求項2に記載のIPアドレス引き継ぎ方法。
  4. 前記待機モードのサーバが送信する前記自己のサーバに割り当てたIPアドレスと前記自己のサーバのMACアドレスとを含むメッセージは、ARPリクエストであることを特徴とする請求項1または請求項2に記載のIPアドレス引き継ぎ方法。
  5. 前記実行モードのサーバは、
    前記待機サーバ以外のサーバを送信元とするARPリクエストを受信したとき、前記サーバへ、前記実行モードのサーバIPアドレスとMACアドレスとを設定したARPリプライを送信することを特徴とする請求項4に記載のIPアドレス引き継ぎ方法。
  6. コンピュータに、請求項1に記載のIPアドレス引き継ぎ方法を実行させることを特徴とするIPアドレス引き継ぎプログラム。
  7. 同じサービスを提供する他のサーバとハートビート通信を行って、互いの動作状態を確認するとともにIPアドレスの引き継ぎを行うサーバであって、
    前記各サーバに割り当てるべきIPアドレスおよび前記各サーバのMACアドレスを示すテーブルを記憶する記憶装置と、
    前記テーブルから読み出したIPアドレスと自己のサーバのMACアドレスとを含むARPリクエストを、ブロードキャスト形式で送信するとともに、前記各サーバからのARPリクエストを受信するARPハンドラと、
    前記自己のサーバに前記テーブルから読み出したIPアドレスを割り当てと、前記自己のサーバからのIPアドレス削除とを行うIPアドレス割り当てプロセスと、
    前記ハートビート通信を行うための通信路経由で、前記同じサービスを提供する他のサーバと前記ハートビート通信を行い、所定期間、前記他のサーバからハートビート通信のメッセージを受信しなかったとき、前記IPアドレス割り当てプロセスにIPアドレスの割り当てさせるとともに、前記ARPハンドラに前記他のサーバの動作状態が確認できるまでARPリクエストを送信させる監視プロセスと、
    を備えることを特徴とするサーバ。
  8. 前記監視プロセスは、
    前記同じサービスを提供する他のサーバからARPリクエストを受信したとき、前記IPアドレス割り当てプロセスに前記自己のサーバからIPアドレスの削除させるよう構成されていることを特徴とする請求項7に記載のサーバ。
  9. 前記監視プロセスは、
    前記同じサービスを提供する他のサーバ以外のノードからARPリクエストを受信したとき、前記ARPハンドラに、前記ノードへ、前記自己のサーバのIPアドレスとMACアドレスとを設定したARPリプライを送信させるとともに、前記自己のサーバのIPアドレスとMACアドレスとを設定したARPリクエストを送信させるよう構成されていることを特徴とする請求項8に記載のサーバ。
  10. 請求項7ないし請求項9のいずれか1項に記載のサーバを複数備えることを特徴とするネットワークシステム。
JP2005065565A 2005-03-09 2005-03-09 Ipアドレス引き継ぎ方法、ipアドレスアドレス引き継ぎプログラム、サーバおよびネットワークシステム Pending JP2006253900A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005065565A JP2006253900A (ja) 2005-03-09 2005-03-09 Ipアドレス引き継ぎ方法、ipアドレスアドレス引き継ぎプログラム、サーバおよびネットワークシステム
US11/359,373 US20060206611A1 (en) 2005-03-09 2006-02-23 Method and system for managing programs with network address

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005065565A JP2006253900A (ja) 2005-03-09 2005-03-09 Ipアドレス引き継ぎ方法、ipアドレスアドレス引き継ぎプログラム、サーバおよびネットワークシステム

Publications (1)

Publication Number Publication Date
JP2006253900A true JP2006253900A (ja) 2006-09-21

Family

ID=36972335

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005065565A Pending JP2006253900A (ja) 2005-03-09 2005-03-09 Ipアドレス引き継ぎ方法、ipアドレスアドレス引き継ぎプログラム、サーバおよびネットワークシステム

Country Status (2)

Country Link
US (1) US20060206611A1 (ja)
JP (1) JP2006253900A (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008172678A (ja) * 2007-01-15 2008-07-24 Hitachi Communication Technologies Ltd 冗長切り替え方法
JP2008289146A (ja) * 2007-05-18 2008-11-27 Nvidia Corp ネットワークトラフィックのインテリジェントロードバランシング及びフェイルオーバー
JP2008295043A (ja) * 2007-05-18 2008-12-04 Nvidia Corp ネットワークトラフィックのインテリジェントロードバランシング及びフェイルオーバー
JP2008305070A (ja) * 2007-06-06 2008-12-18 Hitachi Communication Technologies Ltd 情報処理装置および情報処理装置システム
JP2009003491A (ja) * 2007-06-19 2009-01-08 Hitachi Ltd クラスタシステムにおけるサーバ切り替え方法
JP2010026714A (ja) * 2008-07-17 2010-02-04 Toshiba Corp クラスタシステムを構成する計算機及びプログラム
WO2010090325A1 (ja) 2009-02-09 2010-08-12 日本電気株式会社 通信システム、通信装置、制御装置、制御方法及びプログラム
JP2011501331A (ja) * 2007-10-31 2011-01-06 アルカテル−ルーセント 非同期的にファイルを二重バックアップするための方法
US8134928B1 (en) 2005-12-15 2012-03-13 Nvidia Corporation Technique for identifying a failed network interface card within a team of network interface cards
US8432788B2 (en) 2007-05-18 2013-04-30 Nvidia Corporation Intelligent failback in a load-balanced networking environment
JP2018136794A (ja) * 2017-02-22 2018-08-30 日本電信電話株式会社 ルータおよび通信制御方法

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8265073B2 (en) * 2006-10-10 2012-09-11 Comcast Cable Holdings, Llc. Method and system which enables subscribers to select videos from websites for on-demand delivery to subscriber televisions via a television network
US7792018B2 (en) * 2007-05-18 2010-09-07 Nvidia Corporation Intelligent load balancing and failover of network traffic
US7756012B2 (en) * 2007-05-18 2010-07-13 Nvidia Corporation Intelligent failover in a load-balanced network environment
US7760619B2 (en) * 2007-05-18 2010-07-20 Nvidia Corporation Intelligent failover in a load-balanced networking environment
US8606940B2 (en) * 2008-02-06 2013-12-10 Alcatel Lucent DHCP address conflict detection/enforcement
CN101938758B (zh) * 2009-07-02 2015-05-13 中兴通讯股份有限公司 用户面连接状态获取方法及装置
CN102215272B (zh) * 2010-04-02 2014-03-12 中兴通讯股份有限公司 一种应急切换的方法和系统
US20120131197A1 (en) * 2010-11-23 2012-05-24 Sensormatic Electronics, LLC Method and apparatus for automatically resolving conflicting devices on a network
US9154367B1 (en) * 2011-12-27 2015-10-06 Google Inc. Load balancing and content preservation
CN104185220B (zh) * 2013-05-22 2018-05-01 中国电信股份有限公司 Ims核心网设备失效切换方法和边缘接入控制设备
TW201517568A (zh) * 2013-10-23 2015-05-01 Synology Inc 伺服器操作系統及其操作方法
US9483369B2 (en) * 2014-01-24 2016-11-01 Verizon Patent And Licensing Inc. Method and apparatus for failover detection and recovery using gratuitous address resolution messages
US10855644B1 (en) * 2019-09-09 2020-12-01 Vmware, Inc. Address resolution protocol entry verification
US11575646B2 (en) 2020-03-12 2023-02-07 Vmware, Inc. Domain name service (DNS) server cache table validation
CN111651291B (zh) * 2020-04-23 2023-02-03 国网河南省电力公司电力科学研究院 一种共享存储集群防脑裂的方法、系统、计算机存储介质
US11297385B1 (en) * 2021-01-12 2022-04-05 Roku, Inc. Content-modification system with feature for managing multiple content-modification requests

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7315960B2 (en) * 2002-05-31 2008-01-01 Hitachi, Ltd. Storage area network system
FR2844941B1 (fr) * 2002-09-24 2005-02-18 At & T Corp Demande d'acces securise aux ressources d'un reseau intranet
US20050010837A1 (en) * 2003-07-10 2005-01-13 International Business Machines Corporation Method and apparatus for managing adapters in a data processing system
JP4462969B2 (ja) * 2004-03-12 2010-05-12 株式会社日立製作所 フェイルオーバクラスタシステム及びフェイルオーバ方法
JP4462024B2 (ja) * 2004-12-09 2010-05-12 株式会社日立製作所 ディスク引き継ぎによるフェイルオーバ方法
JP2006189963A (ja) * 2004-12-28 2006-07-20 Hitachi Ltd ストレージアクセス制御方法、クラスタシステム、パス接続スイッチおよびストレージアクセス制御プログラム
US20070041327A1 (en) * 2005-08-16 2007-02-22 Cisco Technology, Inc. Multicast heartbeat signaling
JP4625473B2 (ja) * 2007-01-15 2011-02-02 株式会社日立製作所 冗長切り替え方法

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8134928B1 (en) 2005-12-15 2012-03-13 Nvidia Corporation Technique for identifying a failed network interface card within a team of network interface cards
JP2008172678A (ja) * 2007-01-15 2008-07-24 Hitachi Communication Technologies Ltd 冗長切り替え方法
JP4625473B2 (ja) * 2007-01-15 2011-02-02 株式会社日立製作所 冗長切り替え方法
US7995465B2 (en) 2007-05-18 2011-08-09 Nvidia Corporation Intelligent load balancing and failover of network traffic
JP2008289146A (ja) * 2007-05-18 2008-11-27 Nvidia Corp ネットワークトラフィックのインテリジェントロードバランシング及びフェイルオーバー
JP2008295043A (ja) * 2007-05-18 2008-12-04 Nvidia Corp ネットワークトラフィックのインテリジェントロードバランシング及びフェイルオーバー
US8432788B2 (en) 2007-05-18 2013-04-30 Nvidia Corporation Intelligent failback in a load-balanced networking environment
US8300647B2 (en) 2007-05-18 2012-10-30 Nvidia Corporation Intelligent load balancing and failover of network traffic
JP4651692B2 (ja) * 2007-05-18 2011-03-16 エヌヴィディア コーポレイション ネットワークトラフィックのインテリジェントロードバランシング及びフェイルオーバー
JP4722157B2 (ja) * 2007-05-18 2011-07-13 エヌヴィディア コーポレイション ネットワークトラフィックのインテリジェントロードバランシング及びフェイルオーバー
JP2008305070A (ja) * 2007-06-06 2008-12-18 Hitachi Communication Technologies Ltd 情報処理装置および情報処理装置システム
US8032786B2 (en) 2007-06-06 2011-10-04 Hitachi, Ltd. Information-processing equipment and system therefor with switching control for switchover operation
JP2009003491A (ja) * 2007-06-19 2009-01-08 Hitachi Ltd クラスタシステムにおけるサーバ切り替え方法
JP2011501331A (ja) * 2007-10-31 2011-01-06 アルカテル−ルーセント 非同期的にファイルを二重バックアップするための方法
JP4599435B2 (ja) * 2008-07-17 2010-12-15 株式会社東芝 クラスタシステムを構成する計算機及びプログラム
JP2010026714A (ja) * 2008-07-17 2010-02-04 Toshiba Corp クラスタシステムを構成する計算機及びプログラム
WO2010090325A1 (ja) 2009-02-09 2010-08-12 日本電気株式会社 通信システム、通信装置、制御装置、制御方法及びプログラム
US8713353B2 (en) 2009-02-09 2014-04-29 Nec Corporation Communication system including a switching section for switching a network route, controlling method and storage medium
JP2018136794A (ja) * 2017-02-22 2018-08-30 日本電信電話株式会社 ルータおよび通信制御方法

Also Published As

Publication number Publication date
US20060206611A1 (en) 2006-09-14

Similar Documents

Publication Publication Date Title
JP2006253900A (ja) Ipアドレス引き継ぎ方法、ipアドレスアドレス引き継ぎプログラム、サーバおよびネットワークシステム
KR100636186B1 (ko) 양방향 터널 설정 방법 및 시스템
US8467303B2 (en) Method and apparatus for preventing network conflict
US20060256801A1 (en) Gateway system
KR100703488B1 (ko) 라우터 이중화 시스템에서 백업 라우터의 상태 천이 방법및 장치
JP2007156569A (ja) クラスタシステム、ロードバランサ、ノード振替方法およびノード振替プログラム
JP5255035B2 (ja) フェイルオーバシステム、記憶処理装置及びフェイルオーバ制御方法
JP2009290888A (ja) 省電力支援装置
JP2008186238A (ja) 電源管理方法、管理システム、クライアントサーバシステム、電源制御画面の表示方法及び表示システム
JP5039975B2 (ja) ゲートウェイ装置
TW200417261A (en) An apparatus and method for coupling a network data device to a digital network
JPH10320327A (ja) 二重化された通信アダプタの切替方法、切替方式、および切替用プログラムを格納した記録媒体
JP2009021921A (ja) IPv4/IPv6デュアルスタック対応端末のための情報提示システム
JP2010086137A (ja) メッセージキューイング方法及びプログラム
JP2010193015A (ja) 通信装置およびその通信方法
JP4133738B2 (ja) 高速ネットワークアドレス引継ぎ方法、ネットワーク装置及びプログラム
JP2007249659A (ja) システム切替方法、その計算機システム及びプログラム
JP2009075710A (ja) 冗長化システム
KR100977399B1 (ko) 동적 아이피 주소 할당시 네트워크 부하 감소를 위한 dhcp 패킷 처리 방법 및 장치
JP2001230788A (ja) 多重化DHCP(DynamicHostConfigurationProtocol)サーバ
JPH10257105A (ja) Lan間通信システム
JP3743419B2 (ja) 設定システム、電子機器、及びプログラム
US9019964B2 (en) Methods and systems for routing application traffic
JP2009278436A (ja) 通信システム及び冗長構成管理方法
JP2005012599A (ja) ネットワーク構成制御システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071221

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091026

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100105

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100309