JP2008028456A - Computer system capable of taking over service and ip address, and program - Google Patents
Computer system capable of taking over service and ip address, and program Download PDFInfo
- Publication number
- JP2008028456A JP2008028456A JP2006195779A JP2006195779A JP2008028456A JP 2008028456 A JP2008028456 A JP 2008028456A JP 2006195779 A JP2006195779 A JP 2006195779A JP 2006195779 A JP2006195779 A JP 2006195779A JP 2008028456 A JP2008028456 A JP 2008028456A
- Authority
- JP
- Japan
- Prior art keywords
- server
- address
- tcp
- packet
- network
- 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.)
- Granted
Links
Images
Abstract
Description
本発明は、TCP/IPプロトコルを適用するネットワークによって相互接続される第1及び第2のサーバから構成され、当該第1及び第2のサーバ間でサービス及びIPアドレスの引き継ぎが可能なコンピュータシステム及びプログラムに関する。 The present invention includes a computer system that includes first and second servers interconnected by a network that applies the TCP / IP protocol, and that can take over services and IP addresses between the first and second servers. Regarding the program.
近年のクライアントサーバシステムでは、サーバ(サーバコンピュータ)の冗長性を高めるため、主系サーバと待機系サーバとが用意されるのが主流となっている。このようなシステムでは、主系サーバでの障害発生時に、待機系サーバにその機能(=サービス:機能によりクライアントにサービスを提供するという意味)を引き継がせることができる。 In recent client server systems, a main server and a standby server are mainly used in order to increase server (server computer) redundancy. In such a system, when a failure occurs in the primary server, the standby server can take over the function (= service: meaning that the service is provided to the client by the function).
また、例えば特許文献1には、クライアント(クライアント端末)がサーバ間のサービスを引き継ぎを意識せずに待機系サーバにアクセス可能とするため、待機系サーバはサービスの引き継ぎ時に、主系サーバが使用していたIP(Internet Protocol)アドレスも同時に引き継ぐことが開示されている。以下の説明では、主系サーバから待機系サーバに引き継がれるIPアドレスを特定IPアドレスと呼ぶ。
上述のクライアントサーバシステムでは、主系サーバの障害発生時、主系サーバが特定IPアドレスの使用を停止することが前提となっている。しかし主系サーバが、例えば高負荷状態でスローダウンしている場合、特定IPアドレスの使用を停止できないことがある。一方、待機系サーバは主系サーバの障害を検知して特定IPアドレスを引き継ぐ。このような場合、主系・待機系の両サーバが同一の特定IPアドレスを使用する状態(IPアドレス競合)が発生する。 In the above-described client server system, it is assumed that the primary server stops using the specific IP address when a failure occurs in the primary server. However, when the main server is slowed down under a high load condition, for example, the use of the specific IP address may not be stopped. On the other hand, the standby server detects the failure of the primary server and takes over the specific IP address. In such a case, a state (IP address conflict) occurs in which both the primary and standby servers use the same specific IP address.
上記の状態が発生した場合、以下の2つの問題が発生する。
クライアント(またはルータを経由している場合ルータ)が、特定IPアドレスにアクセスするためARP(Address Resolution Protocol:アドレス解決プロトコル)要求を送信する場合、主系・待機系の両サーバからARP応答が送信される。この場合クライアントが、障害状態にある主系サーバのARP応答を受信すると、クライアントは、主系サーバに対し通信を行うため、通信障害が発生する。
When the above situation occurs, the following two problems occur.
When a client (or a router via a router) sends an ARP (Address Resolution Protocol) request to access a specific IP address, an ARP response is sent from both the primary and standby servers Is done. In this case, when the client receives the ARP response of the primary server in the failure state, the client communicates with the primary server, and thus a communication failure occurs.
待機系サーバは、IPアドレスを引き継ぐとTCP(Transmission Control Protocol)/IP層にIPアドレスを設定する。このとき待機系サーバのTCP/IPモジュールでは、Gratuitous ARPと呼ばれる特別のARP(以下、G−ARPと称する)によるIPアドレス競合のチェックが行われる。既に他のマシン(主系サーバ)がIPアドレスを使用している場合、G−ARPに対して当該他のマシン(主系サーバ)からIPアドレス競合を通知するARP応答が返され、待機系サーバはIPアドレス設定に失敗する。 When the standby server takes over the IP address, it sets the IP address in the TCP (Transmission Control Protocol) / IP layer. At this time, the TCP / IP module of the standby server checks for an IP address conflict by a special ARP (hereinafter referred to as G-ARP) called Gravitational ARP. When another machine (primary server) already uses an IP address, an ARP response notifying IP address conflict from the other machine (primary server) is returned to G-ARP, and the standby server Fails to set the IP address.
本発明は上記事情を考慮してなされたものでその目的は、障害が発生した主系サーバ上でIPアドレスの使用を停止できない場合でも、待機系サーバが主系サーバから引き継ぐIPアドレスの競合状態を回避できるコンピュータシステム及びプログラムを提供することにある。 The present invention has been made in consideration of the above circumstances, and its purpose is to provide an IP address contention state that the standby server takes over from the primary server even when the use of the IP address cannot be stopped on the failed primary server. It is an object of the present invention to provide a computer system and a program that can avoid the problem.
本発明の1つの観点によれば、TCP/IPプロトコルを適用するネットワークによって相互接続される第1のサーバ及び第2のサーバから構成され、前記第1及び第2のサーバの一方のサーバが主系サーバとして機能して前記ネットワークを介してクライアントから与えられたリクエストに応じたサービスを当該クライアントに提供する場合、前記第1及び第2のサーバの他方のサーバは待機系サーバとして機能し、前記一方のサーバの障害を検知した場合、前記一方のサーバが提供するサービスと当該サービスで使用される特定IPアドレスとを引き継ぐコンピュータシステムが提供される。このコンピュータシステムの前記第1及び第2のサーバは、TCP/IP通信におけるデータリンク層の処理を行うネットワークドライバと、TCP/IP通信におけるTCP/IP層の処理を行うTCP/IPモジュールと、前記ネットワークドライバと前記TCP/IPモジュールとの間に位置し、前記ネットワークドライバと前記TCP/IPモジュールとの間のデータ送受信を制御する中間ドライバとを具備する。前記第2のサーバの前記中間ドライバは、前記第2のサーバが前記待機系サーバとして機能して前記第1のサーバの障害を検知した場合に、前記特定IPアドレスの使用停止を当該第1のサーバに要求するための停止パケットを前記第2のサーバの前記ネットワークドライバ及び前記ネットワークを介して当該第1のサーバ宛てに送信する。前記第1のサーバの前記中間ドライバは、前記停止パケットを受信した場合に、前記第1のサーバを前記ネットワークドライバと前記TCP/IPモジュールとの間のデータ送受信が不可となる特定状態に設定する。 According to one aspect of the present invention, a first server and a second server are interconnected by a network to which a TCP / IP protocol is applied, and one of the first and second servers is a main server. When functioning as a system server and providing a service corresponding to a request given from a client via the network to the client, the other server of the first and second servers functions as a standby system server, When a failure of one server is detected, a computer system that takes over the service provided by the one server and the specific IP address used in the service is provided. The first and second servers of the computer system include a network driver that performs data link layer processing in TCP / IP communication, a TCP / IP module that performs processing in the TCP / IP layer in TCP / IP communication, An intermediate driver is provided between the network driver and the TCP / IP module and controls data transmission / reception between the network driver and the TCP / IP module. The intermediate driver of the second server stops using the specific IP address when the second server functions as the standby server and detects a failure of the first server. A stop packet for requesting the server is transmitted to the first server via the network driver of the second server and the network. When the intermediate driver of the first server receives the stop packet, the intermediate driver sets the first server to a specific state in which data transmission / reception between the network driver and the TCP / IP module is disabled. .
本発明によれば、主系サーバの障害が待機系サーバによって検知された場合、当該待機系サーバが主系サーバの提供するサービスで使用される特定IPアドレスを引き継ぐ前に当該主系サーバ宛てに停止パケットを送信して、当該主系サーバのネットワークドライバとTCP/IPモジュールとの間のデータ送受信が不可となる特定状態に当該主系サーバを強制的に設定することができる。これにより、主系サーバが高負荷状態でスローダウンしている等の要因で直ちに特定IPアドレスの使用を停止できない場合でも、待機系サーバが特定IPアドレスを使用する際のIPアドレス競合状態を回避することができる。 According to the present invention, when a failure of the primary server is detected by the standby server, the standby server is addressed to the primary server before taking over the specific IP address used in the service provided by the primary server. By transmitting a stop packet, the main server can be forcibly set to a specific state in which data transmission / reception between the network driver of the main server and the TCP / IP module is disabled. This avoids an IP address race condition when the standby server uses a specific IP address even if the use of the specific IP address cannot be stopped immediately due to factors such as the main server slowing down due to a heavy load. can do.
以下、本発明の実施の形態につき図面を参照して説明する。
[第1の実施形態]
図1は本発明の第1の実施形態に係るコンピュータシステムを含むクライアントサーバシステムの基本構成と動作原理を説明するための図である。図1において、サーバ(サーバコンピュータ)1-1及び1-2は、TCP/IPネットワークのようなTCP/IPプロトコルを適用するネットワーク3によって接続されている。
Embodiments of the present invention will be described below with reference to the drawings.
[First Embodiment]
FIG. 1 is a diagram for explaining a basic configuration and an operation principle of a client server system including a computer system according to the first embodiment of the present invention. In FIG. 1, servers (server computers) 1-1 and 1-2 are connected by a
ネットワーク3にはクライアント(クライアント端末)2も接続されている。クライアント2は、サーバ1-1及び1-2をネットワーク3を経由して利用する例えばパーソナルコンピュータである。クライアント2は、システム内のサーバ(例えばサーバ1-1)から所望のサービスの提供を受けるため特定のリクエストを当該サービスに対応付けられた(当該サービスで使用される)IPアドレ宛てに送信する。図1のシステムでは、作図の都合上、1台のクライアント2がネットワーク3に接続されているが、一般には複数のクライアントがネットワーク3に接続されている。
A client (client terminal) 2 is also connected to the
サーバ1-1は、図1のシステムの状態では主系サーバとして機能して、クライアント(クライアント2)からのリクエストに応じたサービスをリクエスト元のクライアントに提供する。そこで以降の説明では、サーバ1-1を主系サーバ1-1と呼ぶこともある。 The server 1-1 functions as a main server in the system state of FIG. 1, and provides a service corresponding to a request from the client (client 2) to the requesting client. Therefore, in the following description, the server 1-1 may be referred to as the primary server 1-1.
サーバ1-2は、図1のシステムの状態では待機サーバとして機能する。そこで以降の説明では、サーバ1-2を待機系サーバ1-2と呼ぶこともある。待機系サーバ1-2は、主系サーバ1-1での障害発生時に、主系サーバ1-1が提供するサービスと当該サービスで使用するIPアドレス(特定IPアドレス)とを引き継ぐ。つまり、サーバ1-1及び1-2は、クラスタシステムのようなコンピュータシステムを構成する。 The server 1-2 functions as a standby server in the system state of FIG. Therefore, in the following description, the server 1-2 may be referred to as a standby server 1-2. When a failure occurs in the primary server 1-1, the standby server 1-2 takes over the service provided by the primary server 1-1 and the IP address (specific IP address) used for the service. That is, the servers 1-1 and 1-2 constitute a computer system such as a cluster system.
図1のシステムでは、説明を容易にするために、サーバ1-1を主系サーバ1-1、サーバ1-2を待機系サーバ1-2と呼んでいる。しかし、主系サーバと待機系サーバとに本質的な違いはなく、サーバ1-1及び1-2は、それぞれ別の処理を独立に行うことが可能である。つまり、あるサービスの実行に関して、サーバ1-1が主系サーバ、サーバ1-2が待機系サーバとして機能し、別のサービスの実行に関して、サーバ1-1が待機系サーバ、サーバ1-2が主系サーバとして機能することも可能である。 In the system of FIG. 1, for ease of explanation, the server 1-1 is called the primary server 1-1, and the server 1-2 is called the standby server 1-2. However, there is no essential difference between the primary server and the standby server, and the servers 1-1 and 1-2 can perform different processes independently. In other words, the server 1-1 functions as a primary server and the server 1-2 functions as a standby server for execution of a certain service, and the server 1-1 functions as a standby server and the server 1-2 for execution of another service. It can also function as a main server.
主系サーバ1-1及び待機系サーバ1-2上では、サービスプロセス11が実行される。サービスプロセス11は、ネットワーク3上のクライアント2から利用可能な、例えばWebサービス、或いはデータベースサービスのようなサービスを提供する。サービスプロセス11は主系サーバ1-1及び待機系サーバ1-2上に複数存在でき、主系サーバ1-1と待機系サーバ1-2とでそのサービスの内容が異なっても良い。
A
サーバ1-1及び1−2は、それぞれクラスタ制御部12を有する。サーバ1-1及び1−2のクラスタ制御部12は相互に通信を行うことにより、当該クラスタ制御部12が置かれるサーバ(以下、自系サーバと称する)及び他のサーバ(以下、他系サーバと称する)上での障害の検知、並びにサービスプロセス及びIPアドレスの引き継ぎを制御する。つまりクラスタ制御部12は、主系サーバ1-1で障害が発生した場合に、当該主系サーバ1-1上で起動していたサービスプロセス11及び当該サービスプロセス11(によって提供されるサービス)で使用されていたIPアドレスを待機系サーバ1-2に引き継ぎ、クライアント2に対し主系サーバ1-1から待機系サーバ1-2への代替制御を意識させずにサービスを提供する。障害には様々種類があり、その検出方法も様々である。本実施形態においては、主系サーバ1-1のクラスタ制御部12及び待機系サーバ1-2のクラスタ制御部12との間における通信が停滞することにより、待機系サーバ1-2のクラスタ制御部12が主系サーバ1-1の障害を検知する場合を想定する。
Each of the servers 1-1 and 1-2 has a
サーバ1-1及び1-2は、それぞれ、ネットワークインタフェース(ネットワークIF)13、ネットワークドライバ14、中間ドライバ15及びTCP/IPモジュール16を有する。
Each of the servers 1-1 and 1-2 includes a network interface (network IF) 13, a
ネットワークIF13は、ネットワーク3とのインタフェースをなす。ネットワークドライバ14は、TCP/IP通信におけるデータリンク層の処理を行う。TCP/IPモジュール16はオペレーティングシステム(OS)の一機能であり、TCP/IP通信におけるTCP/IP層の処理(IP層以上のネットワーク階層の処理)を行う。
The
中間ドライバ15は、ネットワークドライバ14とTCP/IPモジュール16との間に設けられ、当該ネットワークドライバ14とTCP/IPモジュール16との間のデータ送受信を制御する。ここでは中間ドライバ15は、ネットワークドライバ14とTCP/IPモジュール16との間で送受信されるデータを制御する。つまり中間ドライバ15は、ネットワークドライバ14とTCP/IPモジュール16とを論理的に接続する。従来のシステムでは、ネットワークドライバ14とTCP/IPモジュール16との間で直接データが送受信されており、この点で図1のシステムは従来のシステムと異なる。中間ドライバ15は、主系サーバ1-1及び待機系サーバ1-2の物理アドレスとしてのMAC(Media Access Control)アドレスと、主系サーバ1-1から待機系サーバ1-2に引き継がれるIPアドレス(特定IPアドレス)の情報を持つ。本実施形態において、主系サーバ1-1及び待機系サーバ1-2の中間ドライバ15は、例えばディスク記憶装置のような記憶装置に格納されている特定のプログラムを当該サーバ1-1及1-2が読み込んで実行することにより実現されるものとする。
The
さて、主系サーバ1-1上で障害が発生したものとする(ステップS1)。待機系サーバ1-2のクラスタ制御部12は、主系サーバ1-1の障害を検知する(ステップS2)。待機系サーバ1-2のクラスタ制御部12は、主系サーバ1-1にIPアドレスの使用を停止させるため、当該サーバ1-2の中間ドライバ15に対し停止処理を要求する(ステップS3)。すると待機系サーバ1-2の中間ドライバ15は、クラスタ制御部12からの要求(停止要求)に応じて停止パケットを生成し、当該停止パケットを主系サーバ1-1に対して送信する(ステップS4)。この停止パケットの生成の詳細については後述する。
Assume that a failure has occurred on the primary server 1-1 (step S1). The
主系サーバ1-1の中間ドライバ15は停止パケットを受信すると、以後主系サーバ1-1上の全ネットワーク処理を強制的にブロックする(ステップS5)。即ち主系サーバ1-1の中間ドライバ15は、ネットワークドライバ14からTCP/IPモジュール16に渡すために当該中間ドライバ15に入力される全てのパケットを破棄する。同様に中間ドライバ15は、TCP/IPモジュール16からネットワークドライバ14に渡すために当該中間ドライバ15に入力される全てのパケットを破棄する。このように主系サーバ1-1は、当該サーバ1-1の中間ドライバ15が停止パケットを受信することにより、ネットワークドライバ14とTCP/IPモジュール16との間のデータ送受信が不可となる(抑止される)特定状態に設定される。
When receiving the stop packet, the
さて、待機系サーバ1-2の中間ドライバ15は、停止パケットを主系サーバ1-1に送信した後、IPアドレス(特定IPアドレス)の競合を確認するために(つまり主系サーバ1-1がIPアドレスの使用を停止しているかを確認するために)G−ARP(G−ARPパケット)をブロードキャストでネットワーク3に送信する(ステップS6)。このG−ARPの生成の詳細については後述する。
Now, the
前記したように、主系サーバ1-1の中間ドライバ15は停止パケットを受信すると、以後ネットワークドライバ14からTCP/IPモジュール16に渡される全てのパケットを破棄する。このため、待機系サーバ1-2が送信したG−ARPも主系サーバ1-1の中間ドライバ15によって破棄される(ステップS7)。よって、待機系サーバ1-2が送信したG−ARPが主系サーバ1-1のTCP/IPモジュール16に渡されることはなく、主系サーバ1-1から待機系サーバ1-2にG−ARPに対するARP応答が返信されることはない。これにより待機系サーバ1-2は、主系サーバ1-1からIPアドレス(特定IPアドレス)を引き継ぐことができる。
As described above, when the
このように本実施形態においては、待機系サーバ1-2がIPアドレスを引継ぐ前に主系サーバ1-1宛てに停止パケットを送信し、当該サーバ1-1の全ネットワーク処理を強制的にブロック(停止)させることで、待機系サーバ1-2が当該IPアドレスを使用する際のIPアドレス競合状態(つまり主系サーバ1-1及び待機系サーバ1-2が同一のIPアドレスを使用する状態)を防ぐことができる。 As described above, in this embodiment, before the standby server 1-2 takes over the IP address, a stop packet is transmitted to the primary server 1-1, and all network processing of the server 1-1 is forcibly blocked. (Stopped), the IP address conflict state when the standby server 1-2 uses the IP address (that is, the state where the primary server 1-1 and the standby server 1-2 use the same IP address) ) Can be prevented.
一方、待機系サーバ1-2のクラスタ制御部12は、当該サーバ1-2の中間ドライバ15に対し停止処理を要求した後、上記IPアドレス(特定IPアドレス)の設定を当該サーバ1-2のTCP/IPモジュール16に対して行う(ステップS8)。
On the other hand, the
待機系サーバ1-2のTCP/IPモジュール16は、IPアドレスが設定されると、当該IPアドレスの競合の確認のためにG−ARPをブロードキャストでネットワーク3に送信する。このTCP/IPモジュール16によるG−ARPの送信を、上記中間ドライバ15によるG−ARPの送信(ステップS6)に代えて用いることも可能である。
When the IP address is set, the TCP /
ここで、待機系サーバ1-2によって送信された停止パケット(図1のステップS4)が例えばネットワーク3上で消失したなどの要因により、主系サーバ1-1の中間ドライバ15が当該停止パケットを受信できなかった場合について、図2のパケットの流れを示す図を参照して説明する。
Here, due to a cause such as the stop packet (step S4 in FIG. 1) transmitted by the standby server 1-2 being lost on the
まず、主系サーバ1-1の中間ドライバ15が停止パケットを受信できなかった場合、当該主系サーバ1-1上のネットワーク処理は中間ドライバ15によってブロックされない。待機系サーバ1-2の中間ドライバ15は、停止パケットを送信すると、G−ARP(G−ARPパケット)をブロードキャストでネットワーク3に送信する(ステップS11)。このステップS11は、図1のステップS6に相当する。
First, when the
待機系サーバ1-2からのG−ARPが主系サーバ1-1のネットワークIF13で受信され、当該サーバ1-1のネットワークドライバ14から中間ドライバ15に入力されたものとする。このとき主系サーバ1-1の中間ドライバ15は、先に待機系サーバ1-2から送信された停止パケットを受信していないため、G−ARPを破棄せずに、当該サーバ1-1のTCP/IPモジュール16に通過させる。
It is assumed that G-ARP from the standby server 1-2 is received by the network IF 13 of the primary server 1-1 and is input from the
すると主系サーバ1-1のTCP/IPモジュール16は、待機系サーバ1-2にIPアドレスの重複を警告するARP応答を返信する(ステップS12)。待機系サーバ1-2は、主系サーバ1-1から送信されたARP応答を受信すると、当該待機系サーバ1-2の中間ドライバ15が停止パケットの送信に失敗したと判断する。
Then, the TCP /
そこで待機系サーバ1-2の中間ドライバ15は、主系サーバ1-1からのARP応答を当該待機系サーバ1-2のTCP/IPモジュール16に渡さずに破棄し、停止パケットを再度主系サーバ1-1に対して送信する(ステップS13)。次に待機系サーバ1-2の中間ドライバ15は、主系サーバ1-1がIPアドレスの使用を停止しているかを確認するため、主系サーバ1-1に対して再びG−ARPを送信する(ステップS14)。
Therefore, the
このように待機系サーバ1-2の中間ドライバ15は、主系サーバ1-1からARP応答を受信すると、当該ARP応答を破棄して上記ステップS13及びS14の処理を実行する。これにより待機系サーバ1-2は、主系サーバ1-1からIPアドレスを引き継ぐことができる。
As described above, when the
なお、主系サーバ1-1のTCP/IPモジュール16は、待機系サーバ1-2にIPアドレス(特定IPアドレス)の重複を警告するARP応答を返信した場合(ステップS12)、当該主系サーバ1-1が特定IPアドレスの正当な使用者であることを宣言するためにG−ARPをサブネット上に送信するのが一般的である。この場合、特定IPアドレスに関し、サブネット上の各マシンのARPテーブル(MACアドレスとIPアドレスとの対を含むアドレス情報が格納されるテーブル)が書き換えられる可能性がある。
When the TCP /
しかし本実施形態では、待機系サーバ1-2の中間ドライバ15は、主系サーバ1-1からARP応答を受信すると、ステップS13及びS14の処理、即ち停止パケットを主系サーバ1-1に送信する動作とG−ARPをブロードキャストで送信する動作とを実行する。この待機系サーバ1-2の中間ドライバ15による、停止パケット送信後のG−ARPの送信により、サブネット上の各マシンのARPテーブルが書き換えられた状態を修正することができる。また、停止パケットが主系サーバ1-1の中間ドライバ15で受信された段階で、当該サーバ1-1の全ネットワーク処理がブロックされるため、IPアドレス競合状態を解消することができる。
However, in this embodiment, when the
次に、待機系サーバ1-2の中間ドライバ15による停止パケット及びG−ARPの定期送信について、図3のシーケンスチャートを参照して説明する。
まず、待機系サーバ1-2から主系サーバ1-1に停止パケットが送信され(ステップS21)、その後当該待機系サーバ1-2からG−ARPがブロードキャストで送信されたものとする(ステップS22)。もし、主系サーバ1-1の中間ドライバ15が、停止パケット及びG−ARPを共に受信できなかった場合、主系サーバ1-1はIPアドレスの使用を停止できない。しかし、主系サーバ1-1から待機系サーバ1-2にARP応答は返されない。
Next, stop packet and G-ARP periodic transmission by the
First, a stop packet is transmitted from the standby server 1-2 to the main server 1-1 (step S21), and then G-ARP is transmitted from the standby server 1-2 by broadcast (step S22). ). If the
この場合、待機系サーバ1-2は、主系サーバ1-1が稼動していることを検知できない。そこで待機系サーバ1-2の中間ドライバ15は、停止パケットを送信する動作とG−ARPを送信する動作とを含む動作を例えば一定間隔で繰り返す(ステップS23,S24,S25,S26…)。つまり待機系サーバ1-2の中間ドライバ15は、停止パケット及びG−ARPを定期的に送信する。
In this case, the standby server 1-2 cannot detect that the primary server 1-1 is operating. Therefore, the
以上により、主系サーバ1-1で障害が発生した結果、待機系サーバ1-2から送信される停止パケット及びG−ARPを、主系サーバ1-1の中間ドライバ15が全て受信できる場合、或いは停止パケット及びG−ARPのうちの停止パケットを受信できない場合、或いは停止パケット及びG−ARP共に受信できない場合のいずれにおいても、待機系サーバ1-2はIPアドレスの競合状態を回避して、主系サーバ1-1から当該IPアドレスを引き継ぐことが可能となる。
As described above, when the
本実施形態において、中間ドライバ15がTCP/IPモジュール16とネットワークドライバ14との間に存在することは重要である。このことについて以下に述べる。
一般にサーバはクライアント等からのARP要求に応答する。しかし、障害が発生した主系サーバ1-1がARP要求に応答すると、従来技術では、[発明が解決しようとする課題]の欄で述べたように通信障害が発生する。また、主系サーバ1-1が待機系サーバ1-2からのG−ARPにARP応答を返信すると、従来技術では、待機系サーバ1-2はIPアドレス設定に失敗する。
In the present embodiment, it is important that the
In general, the server responds to an ARP request from a client or the like. However, when the failed primary server 1-1 responds to the ARP request, a communication failure occurs in the prior art as described in the section “Problems to be solved by the invention”. When the primary server 1-1 returns an ARP response to the G-ARP from the standby server 1-2, the standby server 1-2 fails in the IP address setting in the prior art.
上記ARPに関する処理は、OSに含まれているTCP/IPモジュール16を介して行われる。このため、ARPの処理が発生することは、TCP/IPモジュール16だけでなく、TCP/IPモジュール16とネットワークドライバ14との間に位置する中間ドライバ15もまた動作可能な状態にあることを意味する。中間ドライバ15が動作可能である場合、ARPの処理が発生しても、上述のように、待機系サーバ1-2はIPアドレスの競合状態を回避して、主系サーバ1-1から当該IPアドレスを引き継ぐことが可能となる。
The processing related to the ARP is performed via the TCP /
一方、中間ドライバ15が動作しない場合、ネットワークドライバ14から当該中間ドライバ15に渡されたパケットは、当該中間ドライバ15からTCP/IPモジュール16に渡すことができない。同様にTCP/IPモジュール16から中間ドライバ15に渡されたパケットは、当該中間ドライバ15からネットワークドライバ14に渡すことができない。このように中間ドライバ15が動作できない場合、当該中間ドライバ15が存在するサーバ上の通信機能は停止し、上記ARPの問題も発生しない。
On the other hand, when the
図4は、サーバ1-i(i=1,2)の特に中間ドライバ15の詳細な構成を示すブロック図である。中間ドライバ15は、サーバ1-iのネットワークドライバ14から通信パケット(データリンク層ヘッダを含むデータリンク層パケット)を受信して、当該中間ドライバ15内部でデータ処理を行い、当該サーバ1-1のTCP/IPモジュール16にIPパケットを送る。また中間ドライバ15は、サーバ1-iのTCP/IPモジュール16からIPパケットを受信し、当該中間ドライバ15内部でデータ処理を行い、当該サーバ1-iのネットワークドライバ14に通信パケット(データリンク層パケット)を送る。
FIG. 4 is a block diagram showing a detailed configuration of the server 1-i (i = 1, 2), particularly the
中間ドライバ15は、上述したようにネットワークドライバ14及びTCP/IPモジュール16の間に設けらており、データリンク入力部151、データリンク出力部152、停止パケット処理部153、IP入力部154、IP出力部155、パケット通過状態テーブルTBL1、サーバ情報テーブルTBL2及び他系サーバ状態テーブルTBL3を含む。
As described above, the
以下、中間ドライバ15内のデータリンク入力部151、データリンク出力部152、停止パケット処理部153、IP入力部154及びIP出力部155の動作を順次説明する。
Hereinafter, operations of the data
まず、中間ドライバ15内のデータリンク入力部151の動作について、図5のフローチャート、図6のデータフォーマット及び図7のパケット通過状態テーブルTBL1のデータ構造例を参照して説明する。
First, the operation of the data
データリンク入力部151は、ネットワークドライバ14から図6(a)、図6(b)または図6(c)に示されるようなパケット(ARPパケット)61,パケット(停止パケット)62またはパケット(データリンク層パケット)63を入力データとして渡された場合、パケット通過状態テーブルTBL1をチェックする(ステップS31)。パケット通過状態テーブルTBL1は、図7に示すように、中間ドライバ15内をパケットが通過可能か否かを示すフラグを保持する。このフラグは、停止パケットを受信していない場合にパケット通過可能(パケット通過可能モード)を示す状態に設定され、停止パケットを受信するとパケット通過不可(パケット通過不可モード)を示す状態に設定される。
The data
データリンク入力部151は、パケット通過状態テーブルTBL1によって通過不可(パケット通過不可モード)が示されている場合(ステップS32)、入力データ(入力パケット)を破棄する(ステップS33)。
The data
一方、パケット通過状態テーブルTBL1によってパケット通過可能(パケット通過可能モード)が示されている場合、データリンク入力部151は、入力データがARPパケットか否かを判定する(ステップS34)。もし、入力データが図6(a)に示すようなARPパケット61である場合、データリンク入力部151は当該入力データ(つまりARPパケット61)を、そのまま図6(d)に示すARPパケット64として停止パケット処理部153に送り(ステップS35)、処理を終了する。
On the other hand, when the packet passage state table TBL1 indicates that the packet can be passed (packet passable mode), the data
一方、入力データがARPパケットではない場合(ステップS34)、データリンク入力部151は当該入力データが停止パケットか否かを判定する(ステップS36)。もし、入力データが図6(b)に示すような停止パケット62である場合、データリンク入力部151は当該入力データ(つまり停止パケット62)を、そのまま図6(e)に示す停止パケット65として停止パケット処理部153に送り(ステップS35)、処理を終了する。
On the other hand, when the input data is not an ARP packet (step S34), the data
これに対し、入力データが停止パケットではない場合、つまり入力データがARPパケット及び停止パケット以外の図6(c)に示すようなパケット(データリンク層パケット)63の場合(ステップS36)、データリンク入力部151はステップS37に進む。このステップS37において、データリンク入力部151は、入力データ(データリンク層パケット63)からデータリンク層ヘッダを除いた部分、つまりIPヘッダとIPペイロードとから構成されるIPパケットを、図6(f)に示すIPパケット66としてIP入力部154に送る。
On the other hand, when the input data is not a stop packet, that is, when the input data is a packet (data link layer packet) 63 as shown in FIG. 6C other than the ARP packet and the stop packet (step S36), the data link The
次に、中間ドライバ15内のデータリンク出力部152の動作について、図8のフローチャート及び図9のデータフォーマットを参照して説明する。
Next, the operation of the data
データリンク出力部152には、停止パケット処理部153またはIP出力部155から、図9(a)に示す宛先MACアドレス91(宛先サーバの物理アドレス)と通信データ(データリンク層のペイロード)92が送られる。この場合、データリンク出力部152は、宛先MACアドレス91及び通信データ(データリンク層のペイロード)92を、そのまま図9(b)に示す宛先MACアドレス93及び通信データ(データリンク層のペイロード)94としてネットワークドライバ14に送り(ステップS41)、処理を終える。
The data
次に、中間ドライバ15内の停止パケット処理部153の動作について説明する。
停止パケット処理部153は、以下に示す4つの処理
<処理A1>
クラスタ制御部12からの要求による、パケット通過状態テーブルTBL1、サーバ情報テーブルTBL2及び他系サーバ状態テーブルTBL3を初期設定する処理
<処理A2>
クラスタ制御部12から停止要求を受け取った場合に行われる処理(停止パケット生成及び停止パケット送信を含む処理)
<処理A3>
データリンク入力部151からパケット(ARPパケットまたは停止パケット)を受信した場合の処理。
Next, the operation of the stop
The stop
Processing to initialize packet passing state table TBL1, server information table TBL2, and other server state table TBL3 in response to a request from
Processing performed when a stop request is received from the cluster control unit 12 (processing including stop packet generation and stop packet transmission)
<Process A3>
Processing when a packet (ARP packet or stop packet) is received from the data
<処理A4>
停止パケット及びG−ARPの定期送信処理。
<Process A4>
Stop packet and G-ARP periodic transmission processing.
を実行する。 Execute.
次に、停止パケット処理部153によって実行される上記処理A1について、図10のフローチャートと、図11のサーバ情報テーブルTBL2及び図12の他系サーバ状態テーブルTBL3のデータ構造例とを参照して説明する。
Next, the processing A1 executed by the stop
クラスタ制御部12は、例えばサーバ1-iへのプログラムのインストール時に中間ドライバ15を機能させるために、テーブルTBL1,TBL2及びTBL3の初期設定を要求する。この際、クラスタ制御部12は、初期設定のための情報として、自系サーバ及び他系サーバ各々のMACアドレスと、引き継がれる特定IPアドレス(引き継ぎIPアドレス)と、停止パケットを定期送信する際の送信間隔(定期送信間隔)の情報とを停止パケット処理部153に与える。
For example, the
ここでは、
自系サーバのMACアドレス:AA:BB:CC:DD:EE:FF
他系サーバのMACアドレス:FF:EE:DD:CC:BB:AA
引き継ぎIPアドレス :192.168.10.10
定期送信間隔 :10秒
が与えられたものとする。
here,
Local server MAC address: AA: BB: CC: DD: EE: FF
MAC address of other server: FF: EE: DD: CC: BB: AA
Takeover IP address: 192.168.10.10.
Periodic transmission interval: It is assumed that 10 seconds is given.
すると停止パケット処理部153は、クラスタ制御部12から与えられた、自系サーバ及び他系サーバ各々のMACアドレスと、引き継ぎIPアドレスと、定期送信間隔の情報とをサーバ情報テーブルTBL2に設定する(ステップS51)。図11は、このときのサーバ情報テーブルTBL2(ここでは待機系サーバ1-2のサーバ情報テーブルTBL2)の設定内容の一例を示す。ここで、主系サーバ1-1のサーバ情報テーブルTBL2に設定される自系サーバのMACアドレス及び他系サーバのMACアドレスは、それぞれ、待機系サーバ1-2のサーバ情報テーブルTBL2に設定される他系サーバのMACアドレス及び自系サーバのMACアドレスに一致することに注意されたい。
Then, the stop
次に停止パケット処理部153は、他系サーバ状態テーブルTBL3を初期設定する(ステップS52)。テーブルTBL3は、他系サーバが正常状態または故障状態のいずれにあるかを示すフラグを保持する。ステップS52では、テーブルTBL3に保持されるフラグが、他系サーバが正常状態にあることを示す状態に初期設定される。図12は、このときの他系サーバ状態テーブルTBL3の設定内容の一例を示す。
Next, the stop
最後に停止パケット処理部153は、パケット通過状態テーブルTBL1に保持されるフラグを通過可能を示す状態(図7に示す状態)に初期設定して(ステップS53)、処理A1を終了する。
Finally, the stop
次に、停止パケット処理部153(待機系サーバ1-2の中間ドライバ15が有する停止パケット処理部153)によって実行される上記処理A2について、図13のフローチャートと、図14のデータフォーマットとを参照して説明する。
Next, for the processing A2 executed by the stop packet processing unit 153 (the stop
停止パケット処理部153は、クラスタ制御部12から停止要求を受け取った場合、図13のフローチャートに従う処理A2を開始する。まず停止パケット処理部153は、他系サーバ状態テーブルTBL3に保持されるフラグを他系サーバが故障状態にあることを示す状態に設定する(ステップS61)。
When the stop
次に停止パケット処理部153は、停止パケットを生成する(ステップS62)。この停止パケットは、データリンク層のペイロードに、少なくとも停止パケットと識別できるデータが格納されていれば、どのような形式でもよい。図14は、停止パケットとしてIPパケット142が使用されている例を示す。IPパケット(停止パケット)142は、IPヘッダとIPペイロードとから構成される。ここでは、IPパケット(停止パケット)142のIPペイロードに停止パケットと識別できるデータが格納される。IPパケット(停止パケット)142のIPヘッダは、送信元IPアドレス及び宛先IPアドレスを含む。図14の例では、送信元IPアドレス及び宛先IPアドレスに、サーバ情報テーブルTBL2に設定されている引き継ぎIPアドレス(192.168.10.10)が用いられている。しかし本実施形態のように、IPペイロードに停止パケットと識別できるデータが格納されてさえいれば、他のIPアドレスでも構わない。
Next, the stop
停止パケット処理部153は、サーバ情報テーブルTBL2に設定されている他系サーバのMACアドレスを、上記生成された停止パケット142の宛先MACアドレス141(図14参照)として取得する。停止パケット処理部153は、この宛先MACアドレス141及び停止パケット142をデータリンク出力部152に送る(ステップS63)。
The stop
次に、停止パケット処理部153は、サーバ情報テーブルTBL2に設定されている情報を利用してG−ARPパケットを生成する(ステップS64)。次に停止パケット処理部153は、生成されたG−ARPパケットを宛先MACアドレスとしてのブロードキャストアドレスと共にデータリンク出力部152に送って(ステップS65)、処理A2を終了する。この場合、G−ARPパケットがネットワーク3上にブロードキャストで送信される。G−ARPパケットの生成方法については、後述する図15のフローチャートのステップS79の処理で図18を参照して詳述する。
Next, the stop
このように本実施形態によれば、中間ドライバ15(待機系サーバ1-2の中間ドライバ15)はサーバ情報テーブルTBL2に基づいて停止パケットを生成して、TCP/IPモジュール16を経由せずに当該停止パケットを他系サーバ(主系サーバ1-1)の宛先MACアドレス141宛てに送信することができる。同様に中間ドライバ15は、サーバ情報テーブルTBL2に基づいてG−ARPパケットを生成して、TCP/IPモジュール16を経由せずに当該G−ARPパケットをブロードキャストで送信することができる。
As described above, according to the present embodiment, the intermediate driver 15 (the
次に、停止パケット処理部153によって実行される上記処理A3について、図15のフローチャートと、図16乃至図19のデータフォーマットとを参照して説明する。
Next, the process A3 executed by the stop
停止パケット処理部153は、データリンク入力部151からパケット(データリンク層パケット)を受信した場合、図15のフローチャートに従う処理A3を開始する。まず停止パケット処理部153は、入力データ(入力パケット)がARP要求パケットであるかを判定する(ステップS71)。もし、入力データが図16(a)に示すようなARPパケット161であって且つ当該ARPパケット161がARP要求を示すARPパケット(つまりARP要求パケット)である場合、停止パケット処理部153は、当該入力データ(ARP要求パケット)からデータリンク層ヘッダを除いた部分を、ARP要求を示す図16(e)に示すARPパケット167としてIP入力部154に送り(ステップS72)、処理A3を終了する。
When the stop
これに対し、入力データがARP要求パケットでない場合、停止パケット処理部153は、入力データがARP応答パケットであるかを判定する(ステップS73)。もし、入力データが図16(a)に示すようなARPパケット161であって且つ当該ARPパケット161がARP応答を示すARPパケットである場合、つまり図17に示すARP応答パケット170の場合、停止パケット処理部153は、当該ARP応答パケット170に含まれている送信元MACアドレス(送信元のサーバの物理アドレス)がサーバ情報テーブルTBL2に設定されている他系サーバのMACアドレスであるかを判定する(ステップS74)。もし、送信元MACアドレスが他系サーバのMACアドレスである場合、停止パケット処理部153は、ARP応答パケット170に含まれている送信元IPアドレス及びターゲットIPアドレスが同一であるかを判定する(ステップS75)。もし、送信元IPアドレス及びターゲットIPアドレスが同一である場合、停止パケット処理部153はターゲットIPアドレス(=送信元IPアドレス)が引き継ぎIPアドレス(特定IPアドレス)であるかをサーバ情報テーブルTBL2に設定されている引き継ぎIPアドレスと比較することによって判定する(ステップS76)。もし、ターゲットIPアドレス(=送信元IPアドレス)が引き継ぎIPアドレスである場合、停止パケット処理部153はステップS77に進む。
On the other hand, if the input data is not an ARP request packet, the stop
このように、入力データがARP応答パケット170であり、当該ARP応答パケット170の送信元MACアドレスが他系サーバのMACアドレスであり、且つ当該ARP応答パケット170の送信元IPアドレス及びターゲットIPアドレスが引き継ぎIPアドレスである場合、停止パケット処理部153はARP応答パケット170が自系サーバ(ここでは待機系サーバ1-2)のG−ARPに対するARP応答(ここでは主系サーバ1-1からのARP応答)であるとして、ステップS77に進む。
Thus, the input data is the
ステップS77において、停止パケット処理部153は、(図14に示される停止パケット142に相当する)図16(c)に示すような停止パケット164を、クラスタ制御部12及びTCP/IPモジュール16から独立に生成する。次に停止パケット処理部153は、サーバ情報テーブルTBL2に設定されている他系サーバのMACアドレスを、上記生成された停止パケット164の宛先MACアドレス163(図16(c)参照)として取得する。停止パケット処理部153は、この宛先MACアドレス163及び停止パケット164をデータリンク出力部152に送る(ステップS78)。
In step S77, the stop
このように本実施形態においては、図13のフローチャートに従って送信された他系サーバ(主系サーバ1-1)宛ての停止パケットが、例えばネットワーク3上で消失するなどの要因で、当該他系サーバの中間ドライバ15で受信されずにIPアドレスの使用を停止できず、G−ARPに対して当該他系サーバの中間ドライバ15からIPアドレス競合(IPアドレスの重複)を警告するARP応答が返された場合、当該他系サーバ宛てに停止パケットを再送することができる。
As described above, in the present embodiment, the stop packet addressed to the other system server (primary server 1-1) transmitted according to the flowchart of FIG. The
次に、停止パケット処理部153は、サーバ情報テーブルTBL2に設定されている情報を利用して、図16(d)に示されるG−ARPパケット166を生成する(ステップS79)。ここではG−ARPパケット166の送信元MACアドレスには、図18に示すように、サーバ情報テーブルTBL2に設定されている自系サーバのMACアドレスが用いられる。また、G−ARPパケット166のターゲットMACアドレスには、図18に示すように0アドレス(00:00:00:00:00:00)が用いられる。またG−ARPパケット166の送信元IPアドレス及びターゲットIPアドレスには、図18に示すように、サーバ情報テーブルTBL2に設定されている引き継ぎIPアドレスが用いられる。
Next, the stop
次に停止パケット処理部153は、ブロードキャストアドレス(FF:FF:FF:FF:FF:FF)を図16(d)及び図18に示す宛先MACアドレス165として取得する。停止パケット処理部153は、この宛先MACアドレス165及び生成されたG−ARPパケット166をデータリンク出力部152に送って(ステップS80)、処理A3を終了する。
Next, the stop
一方、入力データがARP応答パケット170であっても(ステップS73)、当該ARP応答パケット170の送信元MACアドレスが他系サーバのMACアドレスでないか(ステップS74)、或いは当該ARP応答パケット170の送信元IPアドレス及びターゲットIPアドレスが同一でないか(ステップS75)、或いは同一であっても引き継ぎIPアドレスでない場合(ステップS76)、停止パケット処理部153はARP応答パケット170が自系サーバからのG−ARPに対するARP応答ではないと判断する。この場合、停止パケット処理部153は、ARP応答パケットからデータリンク層ヘッダを除いた部分を、図16(e)に示すARPパケット(ARP応答パケット)167としてIP入力部154に送り(ステップS72)、処理を終了する。
On the other hand, even if the input data is the ARP response packet 170 (step S73), the transmission source MAC address of the
また、入力データがARP応答パケットでない場合(ステップS73)、つまり入力データがARP要求パケット及びARP応答パケットのいずれでもない場合、停止パケット処理部153は、入力データが停止パケットであるかを判定する(ステップS81)。もし、入力データが図16(b)に示すような停止パケット162である場合、停止パケット処理部153は図19に示すように、当該停止パケット162に含まれている送信元MACアドレスがサーバ情報テーブルTBL2に設定されている他系サーバのMACアドレスに一致するかを判定する(ステップS82)。もし、送信元MACアドレスが他系サーバのMACアドレスに一致する場合、停止パケット処理部153は図19に示すように、停止パケット162(のIPヘッダ)に含まれている送信元IPアドレス及び宛先IPアドレスがサーバ情報テーブルTBL2に設定されている引き継ぎアドレスに一致するかを判定する(ステップS83,S84)。もし、送信元IPアドレス及び宛先IPアドレスが引き継ぎアドレスに一致する場合、停止パケット処理部153はステップS85に進む。
If the input data is not an ARP response packet (step S73), that is, if the input data is neither an ARP request packet nor an ARP response packet, the stop
このように、入力データが当該停止パケット162であり、当該停止パケット162の送信元MACアドレスが他系サーバのMACアドレスであり、且つ当該停止パケット162の送信元IPアドレス及び宛先IPアドレスが引き継ぎIPアドレスである場合、停止パケット処理部153は停止パケット162が自系サーバに対するものとして、ステップS85に進む。
Thus, the input data is the
ステップS85において、停止パケット処理部153は、パケット通過状態テーブルTBL1に保持されるフラグをパケット通過不可を示す状態(図7に示す状態とは逆の状態)に変更して(ステップS85)、処理A3を終了する。
In step S85, the stop
一方、入力データが停止パケット162でないか(ステップS81)、停止パケット162であっても送信元MACアドレス、送信元IPアドレス及び宛先IPアドレスのうち1つでもサーバ情報テーブルTBL2に設定されているデータと異なる場合(ステップSS82,S83,S84)、停止パケット処理部153は入力データが自系サーバに対するものではないと判断する。この場合、停止パケット処理部153は入力データを破棄して(ステップS86)、処理A3を終了する。
On the other hand, whether the input data is not the stop packet 162 (step S81), or even if it is the
次に、停止パケット処理部153によって実行される上記処理A4について、図20のフローチャートと、図21のデータフォーマットとを参照して説明する。この処理A4は、サーバ情報テーブルTBL2で設定されている定期送信間隔毎に実行される。
Next, the process A4 executed by the stop
停止パケット処理部153は、他系サーバ状態テーブルTBL3を参照して他系サーバの状態をチェックする(ステップS91)。もし、他系サーバが正常状態である場合(ステップS92)、停止パケット処理部153は何もせずに処理A4を終了する。
The stop
これに対し、他系サーバが故障状態である場合(ステップS92)、つまり他系サーバに障害が発生している場合、停止パケット処理部153は(図14に示される停止パケット142に相当する)図21(a)に示すような停止パケット212を生成する(ステップS93)。次に停止パケット処理部153は、サーバ情報テーブルTBL2に設定されている他系サーバのMACアドレスを、上記生成された停止パケット212の宛先MACアドレス211(図21(a)参照)として取得する。停止パケット処理部153は、この宛先MACアドレス211及び停止パケット212をデータリンク出力部152に送る(ステップS94)。
On the other hand, if the other server is in a failure state (step S92), that is, if a failure has occurred in the other server, the stop packet processing unit 153 (corresponds to the
次に、停止パケット処理部153は、サーバ情報テーブルTBL2の情報に基づいて、(図18に示されるG−ARP166に相当する)図21(b)に示すようなG−ARP(G−ARPパケット)214を生成する(ステップS95)。停止パケット処理部153は、ブロードキャストアドレス(FF:FF:FF:FF:FF:FF)を図21(b)に示す宛先MACアドレス213として取得する。停止パケット処理部153は、この宛先MACアドレス213及び生成されたG−ARPパケット214をデータリンク出力部152に送って(ステップS96)、処理A4を終了する。
Next, the stop
次に、IP入力部154の動作について、図22のフローチャート及び図23のデータフォーマットを参照して説明する。
Next, the operation of the
IP入力部154には、データリンク入力部151または停止パケット処理部153によって、図23(a)または図23(b)に示されるようなIPパケット231またはARPパケット232が送られる。IP入力部154は、IPパケット231またはARPパケット232を受信した場合、その受信パケットを図23(c)または図23(d)に示されるようなIPパケット233またはARPパケット234としてTCP/IPモジュール16に送って(ステップS101)、処理を終了する。
An
次に、IP出力部155の動作について、図24のフローチャート及び図25のデータフォーマットを参照して説明する。
Next, the operation of the
IP出力部155には、TCP/IPモジュール16によって、図25(a)に示されるようなIPパケット252及び宛先MACアドレス251、または図25(b)に示されるようなARPパケット254及び宛先MACアドレス253が送られる。IP出力部155は、このようなデータ(宛先MACアドレス251+IPパケット252または宛先MACアドレス253+ARPパケット254)を受信した場合、パケット通過状態テーブルTBL1をチェックする(ステップS111)。
The
もし、パケット通過状態テーブルTBL1によってパケット通過不可が示されている場合(ステップS112)、IP出力部155は入力データを破棄する(ステップS113)。これに対し、パケット通過状態テーブルTBL1によってパケット通過可能が示されている場合(ステップS112)、IP出力部155は入力データをそのままデータリンク出力部152に送り(ステップS114)、処理を終了する。ここでは、入力データが図25(a)に示す宛先MACアドレス251+IPパケット252の場合には、当該入力データが図25(c)に示す宛先MACアドレス255+IPパケット256としてデータリンク出力部152に送られる。同様に、入力データが図25(b)に示す宛先MACアドレス253+ARPパケット254の場合には、当該入力データが図25(d)に示す宛先MACアドレス257+ARPパケット258としてデータリンク出力部152に送られる。
If the packet passage state table TBL1 indicates that packet passage is impossible (step S112), the
[第2の実施形態]
図26は本発明の第2の実施形態に係るコンピュータシステムを含むクライアントサーバシステムの基本構成と動作原理を説明するための図である。図26において、図1と同様の要素には便宜的に同一参照符号を付してある。
[Second Embodiment]
FIG. 26 is a diagram for explaining the basic configuration and operation principle of a client server system including a computer system according to the second embodiment of the present invention. In FIG. 26, elements similar to those in FIG.
第2の実施形態で適用される図26のシステムは、第1の実施形態で適用された図1のシステムと異なって、サーバ1-1及び1-2によって共有されるストレージとしての共有ディスク(共有ディスク装置)4を有する。このようなシステムにおいて、主系サーバ1-1が例えば高負荷状態でスローダウンしている等の要因で、IPアドレスの使用を停止できないものとする。この状態では、スローダウンしている主系サーバ1-1上でサービスプロセス11が動作しているため、主系サーバ1-1と待機系サーバ1-2とが共有ディスク4を共有していると、当該共有ディスク4のデータ領域を破壊してしまう恐れがある。
The system of FIG. 26 applied in the second embodiment is different from the system of FIG. 1 applied in the first embodiment, and a shared disk (storage) shared by the servers 1-1 and 1-2 ( Shared disk device) 4. In such a system, it is assumed that the use of the IP address cannot be stopped due to, for example, the main server 1-1 being slowed down in a high load state. In this state, since the
この点を考慮して、第2の実施形態は、主系サーバ1-1の中間ドライバ15が待機系サーバ1-2からの停止パケットを受信すると、OSが提供する緊急停止機能を使用して、当該中間ドライバ15が直ちに主系サーバ1-1全体を停止させることを特徴とする。
Considering this point, the second embodiment uses an emergency stop function provided by the OS when the
次に、図26のシステムの動作について、図1のシステムと相違する点を中心に説明する。
まず、主系サーバ1-1上で障害が発生したものとする(ステップS121)。待機系サーバ1-2のクラスタ制御部12は、主系サーバ1-1の障害を検知すると(ステップS122)、主系サーバ1-1にIPアドレスの使用を停止させるため、当該サーバ1-2の中間ドライバ15に対し停止処理を要求する(ステップS123)。待機系サーバ1-2の中間ドライバ15は停止パケットを生成し、当該停止パケットを主系サーバ1-1に対して送信する(ステップS124)。ここまでは、図1のステップS1〜S4と同様である。
Next, the operation of the system of FIG. 26 will be described with a focus on differences from the system of FIG.
First, it is assumed that a failure has occurred on the primary server 1-1 (step S121). When the
主系サーバ1-1の中間ドライバ15は停止パケットを受信すると、OSが提供する緊急停止機能を使用して、直ちに主系サーバ1-1全体を強制的に停止させる(ステップS125)。この点で、図26のシステムは、主系サーバ1-1上の全ネットワーク処理をブロックする図1のシステムと異なる。
When the
このように本実施形態においては、主系サーバ1-1の中間ドライバ15が停止パケットを受信すると、直ちに主系サーバ1-1全体を停止させることにより、主系サーバ1-1によって提供されていたサービスを待機系サーバ1-2が引き継ぐ際の共有ディスク4(共有データ領域)の破壊を防ぐことができる。
As described above, in the present embodiment, when the
さて、待機系サーバ1-2の中間ドライバ15は、停止パケットを主系サーバ1-1に送信した後、IPアドレス(特定IPアドレス)の競合を確認するために、図1のステップS6と同様に、G−ARP(G−ARPパケット)をブロードキャストでネットワーク3に送信する(ステップS126)。
The
一方、待機系サーバ1-2のクラスタ制御部12は、当該サーバ1-2の中間ドライバ15に対し停止処理を要求した後、図1のステップS8と同様に、上記IPアドレスの設定を当該サーバ1-2のTCP/IPモジュール16に対して行う(ステップS127)。
On the other hand, after requesting the stop process to the
第2の実施形態において、中間ドライバ15の構成自体は前記第1の実施形態と同様である。このため、以下の説明では図4を適宜援用する。
第2の実施形態では、中間ドライバ15内のデータリンク入力部151及びIP出力部155の機能(動作)が前記第1の実施形態と一部異なる。一方、中間ドライバ15内のデータリンク出力部152、停止パケット処理部153及びIP入力部154の機能(動作)は前記第1の実施形態と同様である。そこで、第2の実施形態におけるデータリンク入力部151及びIP出力部155の動作について順次説明する。
In the second embodiment, the configuration of the
In the second embodiment, the functions (operations) of the data
まず、データリンク入力部151の動作について前記第1の実施形態との相違点を中心に、図27のフローチャート及び図28のデータフォーマットを参照して説明する。
データリンク入力部151は、ネットワークドライバ14から図28(a)、図28(b)または図28(c)に示されるようなパケット(ARPパケット)281,パケット(停止パケット)282またはパケット(データリンク層パケット)283を入力データとして渡された場合、パケット通過状態テーブルTBL1をチェックする(ステップS131)。
First, the operation of the data
The data
データリンク入力部151は、パケット通過状態テーブルTBL1によってパケット通過不可が示されている場合(ステップS132)、入力データ(入力パケット)を破棄する(ステップS133)。そしてデータリンク入力部151は、第1の実施形態とは異なって、OSが提供している緊急停止機能を使用して自系サーバ全体を停止させる(ステップS134)。
The data
一方、パケット通過状態テーブルTBL1によってパケット通過可能が示されている場合には(ステップS132)、データリンク入力部151は前記第1の実施形態と同様の動作を行う。即ちデータリンク入力部151は、図5のフローチャートのステップS34〜S37に相当する処理(ステップS135〜S138)を実行する。これにより、入力データが図28(a)に示すARPパケット281または図28(b)に示す停止パケット282の場合には、当該ARPパケット281または停止パケット282が、そのまま図28(c)に示すARPパケット284または図28(d)に示す停止パケット285として停止パケット処理部153に送られる。また、入力データがARPパケット及び停止パケット以外の図28(c)に示すようなパケット(データリンク層パケット)283の場合には、データリンク層ヘッダを除いたIPパケットが、図28(f)に示すIPパケット286としてIP入力部154に送られる。
On the other hand, when the packet passage state table TBL1 indicates that packet passage is possible (step S132), the data
次に、IP出力部155の動作について前記第1の実施形態との相違点を中心に、図29のフローチャートを参照して説明する。ここでは、図25のデータフォーマットを援用する。
Next, the operation of the
IP出力部155には、TCP/IPモジュール16によって、図25(a)または図25(b)に示されるようなデータ(宛先MACアドレス251+IPパケット252または宛先MACアドレス253+ARPパケット254)が送られる。IP出力部155は、このようなデータを受信した場合、パケット通過状態テーブルTBL1をチェックする(ステップS141)。
Data (
もし、パケット通過状態テーブルTBL1によってパケット通過不可が示されている場合(ステップS142)、IP出力部155は入力データを破棄する(ステップS143)。そしてIP出力部155は、第1の実施形態とは異なって、OSが提供している緊急停止機能を使用して自系サーバ全体を停止させる(ステップS144)。
If the packet passage state table TBL1 indicates that packet passage is impossible (step S142), the
一方、パケット通過状態テーブルTBL1によってパケット通過可能が示されている場合には(ステップS142)、IP出力部155は前記第1の実施形態と同様の動作を行う。即ちIP出力部155は、図24のフローチャートのステップS114に相当する処理(ステップS145)を実行する。
On the other hand, when the packet passage state table TBL1 indicates that the packet can be passed (step S142), the
[第3の実施形態]
図30は本発明の第3の実施形態に係るコンピュータシステムを含むクライアントサーバシステムの基本構成と動作原理を説明するための図である。図30において、図1と同様の要素には便宜的に同一参照符号を付してある。
[Third Embodiment]
FIG. 30 is a diagram for explaining the basic configuration and operation principle of a client server system including a computer system according to the third embodiment of the present invention. In FIG. 30, the same elements as those in FIG.
第3の実施形態で適用される図30のシステムの基本構成自体は、第1の実施形態で適用された図1のシステムと同様である。第3の実施形態の特徴は、第1の実施形態で適用された停止パケットに代えて、TCP/IPモジュール16(待機系サーバ1-2内のTCP/IPモジュール16)によって送信されるG−ARPを停止パケットとして使用する点にある。
The basic configuration of the system of FIG. 30 applied in the third embodiment is the same as the system of FIG. 1 applied in the first embodiment. The feature of the third embodiment is that G-- sent by the TCP / IP module 16 (the TCP /
次に、図30のシステムの動作について、図1のシステムと相違する点を中心に説明する。
まず、主系サーバ1-1上で障害が発生したものとする(ステップS151)。待機系サーバ1-2のクラスタ制御部12は、主系サーバ1-1の障害を検知すると(ステップS152)、IPアドレスの設定を当該サーバ1-2のTCP/IPモジュール16に対して行う(ステップS153)。
Next, the operation of the system of FIG. 30 will be described focusing on the differences from the system of FIG.
First, it is assumed that a failure has occurred on the primary server 1-1 (step S151). When the
待機系サーバ1-2のTCP/IPモジュール16は、IPアドレスが設定されると、主系サーバ1-1が当該IPアドレスの使用を停止しているかを確認するため、G−ARP(G−ARPパケット)をブロードキャストでネットワーク3に送信する(ステップS154)。
When the IP address is set, the TCP /
主系サーバ1-1の中間ドライバ15は待機系サーバ1-2からG−ARPを受信すると、IPアドレスの使用停止が要求されたものとして、前記第1の実施形態において待機系サーバ1-2から停止パケットを受信した場合と同様に、以後主系サーバ1-1上の全ネットワーク処理をブロックする(ステップS155)。即ち主系サーバ1-1の中間ドライバ15は、ネットワークドライバ14からTCP/IPモジュール16に渡すために当該中間ドライバ15に入力される全てのパケットを破棄する。同様に中間ドライバ15は、TCP/IPモジュール16からネットワークドライバ14に渡すために当該中間ドライバ15に入力される全てのパケットを破棄する。よって、待機系サーバ1-2が送信したG−ARPが主系サーバ1-1のTCP/IPモジュール16に渡されることはなく、主系サーバ1-1から待機系サーバ1-2にARP応答が返信されることはない。これにより待機系サーバ1-2は、主系サーバ1-1からIPアドレスを引き継ぐ際のIPアドレス競合状態を防ぐことができる。
When the
次に、待機系サーバ1-2の中間ドライバ15によるG−ARPの定期送信について、図31のシーケンスチャートを参照して説明する。
まず、待機系サーバ1-2のTCP/IPモジュール16からG−ARPがブロードキャストで送信されたものとする(ステップS161)。もし、主系サーバ1-1の中間ドライバ15がG−ARPを受信できなかった場合、主系サーバ1-1はIPアドレスの使用を停止できない。しかし、主系サーバ1-1から待機系サーバ1-2にARP応答は返されない。
Next, periodic transmission of G-ARP by the
First, it is assumed that G-ARP is broadcasted from the TCP /
この場合、待機系サーバ1-2の中間ドライバ15は、主系サーバ1-1が稼動していることを検知できない。そこで待機系サーバ1-2中間ドライバ15は、TCP/IPモジュール16から独立に、G−ARPをブロードキャストで例えば一定間隔で(つまり定期的に)送信する(ステップS162,S163…)。
In this case, the
以上により、主系サーバ1-1で障害が発生した結果、待機系サーバ1-2から送信されるG−ARPを、主系サーバ1-1の中間ドライバ15が受信できても或いはできなくても、待機系サーバ1-2はIPアドレスの競合状態を回避して、主系サーバ1-1からIPアドレスを引き継ぐことが可能となる。
As described above, as a result of the failure in the primary server 1-1, the G-ARP transmitted from the standby server 1-2 may or may not be received by the
第3の実施形態において、中間ドライバ15の構成自体は前記第1の実施形態と同様である。このため、以下の説明では図4を適宜援用する。
第3の実施形態では、中間ドライバ15内のデータリンク入力部151及び停止パケット処理部153の機能(動作)が前記第1の実施形態と一部異なる。一方、中間ドライバ15内のデータリンク出力部152、IP入力部154及びIP出力部155の機能は前記第1の実施形態と同様である。そこで、第3の実施形態におけるデータリンク入力部151及び停止パケット処理部153の動作について順次説明する。
In the third embodiment, the configuration of the
In the third embodiment, the functions (operations) of the data
まず、データリンク入力部151の動作について前記第1の実施形態との相違点を中心に、図32のフローチャート及び図33のデータフォーマットを参照して説明する。
データリンク入力部151は、ネットワークドライバ14から図33(a)または図33(b)に示されるようなパケット(ARPパケット)331またはパケット(データリンク層パケット)332を入力データとして渡された場合、パケット通過状態テーブルTBL1をチェックする(ステップS171)。
First, the operation of the data
When the data
データリンク入力部151は、パケット通過状態テーブルTBL1によってパケット通過可能が示されている場合(ステップS172)、入力データがARPパケットか否かを判定する(ステップS174)。
If the packet passage state table TBL1 indicates that the packet can be passed (step S172), the data
もし、入力データがARPパケットでない場合、データリンク入力部151は、第1の実施形態とは異なって入力データが停止パケットか否かの判定を行わずに、無条件で図5のステップS37に相当する処理(ステップS176)を行う。即ちデータリンク入力部151は、入力データがARPパケット以外の図33(b)に示すようなパケット(データリンク層パケット)332の場合、当該入力データ(データリンク層パケット332)からデータリンク層ヘッダを除いた部分、つまりIPパケットを、図33(d)に示すIPパケット334としてIP入力部154に送る。なお、入力データが図33(a)に示すようなARPパケット331の場合、データリンク入力部151は当該ARPパケット331を、そのまま図33(c)に示すARPパケット333として停止パケット処理部153に送る(ステップS175)。
If the input data is not an ARP packet, the data
次に、中間ドライバ15内の停止パケット処理部153の動作について説明する。
停止パケット処理部153は、以下に示す3つの処理
<処理B1>
クラスタ制御部12からの要求による、パケット通過状態テーブルTBL1、サーバ情報テーブルTBL2及び他系サーバ状態テーブルTBL3を初期設定する処理
<処理B2>
データリンク入力部151からARPパケットを受信した場合の処理
<処理B3>
G−ARPの定期送信処理。
Next, the operation of the stop
The stop
Processing to initialize packet passing state table TBL1, server information table TBL2, and other server state table TBL3 in response to a request from
Process when ARP packet is received from data
G-ARP periodic transmission processing.
を実行する。
上記処理B1は前記第1の実施形態における処理A1と同一であることから、説明を省略する。
Execute.
Since the process B1 is the same as the process A1 in the first embodiment, a description thereof will be omitted.
次に、停止パケット処理部153によって実行される上記処理B2について、図34のフローチャートと、図35及び図36のデータフォーマットとを参照して説明する。
停止パケット処理部153は、データリンク入力部151から図35(a)に示すようなARPパケット351を受信した場合、図36に示すように、当該ARPパケット351に含まれている送信元MACアドレスがサーバ情報テーブルTBL2に設定されている他系サーバのMACアドレスであるかを判定する(ステップS181)。
Next, the process B2 executed by the stop
When the stop
もし、送信元MACアドレスが他系サーバのMACアドレスである場合、停止パケット処理部153は、ARPパケットに含まれている送信元IPアドレス及びターゲットIPアドレスが同一であるかを判定する(ステップS182)。もし、送信元IPアドレス及びターゲットIPアドレスが同一である場合、停止パケット処理部153は図36に示すように、ターゲットIPアドレス(=送信元IPアドレス)が引き継ぎIPアドレスであるかをサーバ情報テーブルTBL2に設定されている引き継ぎIPアドレスと比較することによって判定する(ステップS183)。もし、ターゲットIPアドレス(=送信元IPアドレス)が引き継ぎIPアドレスである場合、停止パケット処理部153はステップS184に進む。
If the source MAC address is the MAC address of the other server, the stop
このように、データリンク入力部151から受信したARPパケット351の送信元MACアドレスが他系サーバのMACアドレスであり、且つ当該ARPパケット351の送信元IPアドレス及びターゲットIPアドレスが引き継ぎIPアドレスである場合、停止パケット処理部153は当該ARPパケット351が他系サーバからのG−ARP(G−ARPパケット)であるとして、ステップS184に進む。このステップS184において、停止パケット処理部153は、パケット通過状態テーブルTBL1に保持されるフラグをパケット通過不可を示す状態(図7に示す状態とは逆の状態)に変更して、処理B2を終了する。
Thus, the transmission source MAC address of the
一方、ARPパケット351の送信元MACアドレスが他系サーバのMACアドレスでないか(ステップS181)、或いは当該ARPパケット351の送信元IPアドレス及びターゲットIPアドレスが同一でないか(ステップS182)、或いは同一であっても引き継ぎIPアドレスでない場合(ステップS183)、停止パケット処理部153はステップS185に進む。このステップS185において、停止パケット処理部153は、ARPパケット351からデータリンク層ヘッダを除いた部分(IPパケット)を、図35(b)に示すARPパケット352としてIP入力部154に送り、処理B2を終了する。
On the other hand, the source MAC address of the
次に、停止パケット処理部153によって実行される上記処理B3について、図37のフローチャート及び図38のデータフォーマットを参照して説明する。この処理B3は、サーバ情報テーブルTBL2で設定されている定期送信間隔毎に実行される。
Next, the process B3 executed by the stop
停止パケット処理部153は、他系サーバ状態テーブルTBL3を参照して他系サーバの状態をチェックする(ステップS191)。もし、他系サーバが正常状態である場合(ステップS192)、停止パケット処理部153は何もせずに処理を終了する。
The stop
これに対し、他系サーバが故障状態である場合(ステップS192)、停止パケット処理部153は前記第1の実施形態とは異なり、停止パケットの生成と送信を行わずに、図38に示すようなG−ARP(G−ARPパケット)382を生成する(ステップS193)。このG−ARPパケット382は、サーバ情報テーブルTBL2に設定されている情報を利用して次のように生成される。まず、G−ARPパケット382の送信元MACアドレスには、図38に示すように、サーバ情報テーブルTBL2に設定されている自系サーバのMACアドレスが用いられる。また、G−ARPパケット382のターゲットMACアドレスには、図38に示すように0アドレスが用いられる。またG−ARPパケット382の送信元IPアドレス及びターゲットIPアドレスには、図38に示すように、サーバ情報テーブルTBL2に設定されている引き継ぎIPアドレスが用いられる。
On the other hand, when the other system server is in a failure state (step S192), the stop
次に停止パケット処理部153は、ブロードキャストアドレス(FF:FF:FF:FF:FF:FF)を図38に示す宛先MACアドレス381として取得する。停止パケット処理部153は、この宛先MACアドレス381及び生成されたG−ARPパケット381をデータリンク出力部152に送って(ステップS194)、処理を終了する。
Next, the stop
[第4の実施形態]
図39は本発明の第4の実施形態に係るコンピュータシステムを含むクライアントサーバシステムの基本構成と動作原理を説明するための図である。図39において、図1または図26と同様の要素には便宜的に同一参照符号を付してある。
[Fourth Embodiment]
FIG. 39 is a diagram for explaining the basic configuration and operation principle of a client server system including a computer system according to the fourth embodiment of the present invention. In FIG. 39, elements similar to those in FIG. 1 or FIG.
第4の実施形態で適用される図39のシステムの基本構成自体は、第2の実施形態で適用された図26のシステムと同様である。第4の実施形態の特徴は、第2の実施形態で適用された停止パケットに代えて、第3の実施形態と同様にG−ARPを停止パケットとして使用する点にある。 The basic configuration of the system of FIG. 39 applied in the fourth embodiment is the same as the system of FIG. 26 applied in the second embodiment. A feature of the fourth embodiment is that G-ARP is used as a stop packet in the same manner as in the third embodiment, instead of the stop packet applied in the second embodiment.
次に、図39のシステムの動作について、図26のシステムと相違する点を中心に説明する。
まず、主系サーバ1-1上で障害が発生したものとする(ステップS201)。待機系サーバ1-2のクラスタ制御部12は、主系サーバ1-1の障害を検知すると(ステップS202)、IPアドレスの設定を当該サーバ1-2のTCP/IPモジュール16に対して行う(ステップS203)。
Next, the operation of the system of FIG. 39 will be described focusing on the differences from the system of FIG.
First, it is assumed that a failure has occurred on the primary server 1-1 (step S201). When the
待機系サーバ1-2のTCP/IPモジュール16は、IPアドレスが設定されると、主系サーバ1-1が当該IPアドレスの使用を停止しているかを確認するため、G−ARP(G−ARPパケット)をブロードキャストでネットワーク3に送信する(ステップS204)。
When the IP address is set, the TCP /
主系サーバ1-1の中間ドライバ15は待機系サーバ1-2からG−ARPを受信すると、前記第2の実施形態において待機系サーバ1-2から停止パケットを受信した場合と同様に、OSが提供する緊急停止機能を使用して、直ちに主系サーバ1-1全体を停止させる(ステップS205)。
When receiving the G-ARP from the standby server 1-2, the
このように本実施形態においては、主系サーバ1-1の中間ドライバ15がG−ARPを受信すると、直ちに主系サーバ1-1全体を停止させることにより、主系サーバ1-1によって提供されていたサービスを待機系サーバ1-2が引き継ぐ際の共有ディスク4(共有データ領域)の破壊を防ぐことができる。
As described above, in this embodiment, when the
第4の実施形態において、中間ドライバ15の構成自体は前記第1の実施形態と同様である。このため、以下の説明では図4を適宜援用する。
第4の実施形態では、中間ドライバ15内のデータリンク入力部151の機能(動作)が前記第1乃至第3の実施形態と一部異なる。一方、中間ドライバ15内のデータリンク出力部152の機能は前記第1(乃至第3)の実施形態と同様であり、停止パケット処理部153の機能は前記第3の実施形態と同様である。また、中間ドライバ15内のIP入力部154の機能は前記第1(乃至第3)の実施形態と同様であり、IP出力部155の機能は前記第3の実施形態と同様である。そこで、第4の実施形態のデータリンク入力部151の動作について前記第2の実施形態との相違点を中心に、図40のフローチャート及び図41のデータフォーマットを参照して説明する。
In the fourth embodiment, the configuration of the
In the fourth embodiment, the function (operation) of the data
データリンク入力部151は、ネットワークドライバ14から図41(a)または図41(b)に示されるようなパケット(ARPパケット)411またはパケット(データリンク層パケット)412を入力データとして渡された場合、パケット通過状態テーブルTBL1をチェックする(ステップS211)。
When the data
データリンク入力部151は、パケット通過状態テーブルTBL1によってパケット通過可能が示されている場合(ステップS212)、入力データがARPパケットか否かを判定する(ステップS215)。
When the packet passage state table TBL1 indicates that the packet can pass (step S212), the data
もし、入力データがARPパケットでない場合、データリンク入力部151は、第2の実施形態とは異なって入力データが停止パケットか否かの判定を行わずに、無条件で図5のステップS138に相当する処理(ステップS217)を行う。即ちデータリンク入力部151は、入力データがARPパケット以外の図41(b)に示すようなパケット(データリンク層パケット)412の場合、当該入力データ(データリンク層パケット412)からデータリンク層ヘッダを除いた部分、つまりIPパケットを、図41(d)に示すIPパケット414としてIP入力部154に送る。
If the input data is not an ARP packet, the data
一方、パケット通過状態テーブルTBL1によってパケット通過不可が示されている場合(ステップS212)、データリンク入力部151は第2の実施形態と同様に、入力データ(入力パケット)を破棄すると共にOSが提供している緊急停止機能を使用して自系サーバ全体を停止させる(ステップ213,S214)。
On the other hand, if the packet passage state table TBL1 indicates that packet passage is impossible (step S212), the data
なお、本発明は、上記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記各実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、各実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。 Note that the present invention is not limited to the above-described embodiments as they are, and can be embodied by modifying constituent elements without departing from the scope of the invention in the implementation stage. Moreover, various inventions can be formed by appropriately combining a plurality of constituent elements disclosed in the above embodiments. For example, some components may be deleted from all the components shown in each embodiment.
1-1…サーバ(主系サーバ、第1のサーバコンピュータ)、1-2…サーバ(待機系サーバ、第2のサーバコンピュータ)、1-i…サーバ、2…クライアント(クライアント端末)、3…ネットワーク、4…共有ディスク、11…サービスプロセス、12…クラスタ制御部、13…ネットワークIF、14…ネットワークドライバ、15…中間ドライバ、16…TCP/IPモジュール、151…データリンク入力部、152…データリンク出力部、153…停止パケット処理部、154…IP入力部、155…IP出力部、TBL1…パケット通過状態テーブル、TBL2…サーバ情報テーブル、TBL3…他系サーバ状態テーブル。 1-1 ... server (primary server, first server computer), 1-2 ... server (standby server, second server computer), 1-i ... server, 2 ... client (client terminal), 3 ... Network, 4 ... Shared disk, 11 ... Service process, 12 ... Cluster control unit, 13 ... Network IF, 14 ... Network driver, 15 ... Intermediate driver, 16 ... TCP / IP module, 151 ... Data link input unit, 152 ... Data Link output unit, 153... Stop packet processing unit, 154... IP input unit, 155... IP output unit, TBL1... Packet passing state table, TBL2... Server information table, TBL3.
Claims (14)
前記第1及び第2のサーバは、
TCP/IP通信におけるデータリンク層の処理を行うネットワークドライバと、
TCP/IP通信におけるTCP/IP層の処理を行うTCP/IPモジュールと、
前記ネットワークドライバと前記TCP/IPモジュールとの間に位置し、前記ネットワークドライバと前記TCP/IPモジュールとの間のデータ送受信を制御する中間ドライバと
を具備し、
前記第2のサーバの前記中間ドライバは、前記第2のサーバが前記待機系サーバとして機能して前記第1のサーバの障害を検知した場合に、前記特定IPアドレスの使用停止を当該第1のサーバに要求するための停止パケットを前記第2のサーバの前記ネットワークドライバ及び前記ネットワークを介して当該第1のサーバ宛てに送信し、
前記第1のサーバの前記中間ドライバは、前記停止パケットを受信した場合に、前記第1のサーバを前記ネットワークドライバと前記TCP/IPモジュールとの間のデータ送受信が不可となる特定状態に設定する
ことを特徴とするコンピュータシステム。 The first server and the second server are interconnected by a network to which the TCP / IP protocol is applied, and one of the first and second servers functions as a main server via the network. When providing a service corresponding to a request given by a client to the client, the other server of the first and second servers functions as a standby server, and when a failure of the one server is detected, In the computer system that takes over the service provided by the one server and the specific IP address used in the service,
The first and second servers are
A network driver that performs data link layer processing in TCP / IP communication;
A TCP / IP module that performs processing of the TCP / IP layer in TCP / IP communication;
An intermediate driver located between the network driver and the TCP / IP module and controlling data transmission / reception between the network driver and the TCP / IP module;
The intermediate driver of the second server stops using the specific IP address when the second server functions as the standby server and detects a failure of the first server. Sending a stop packet for requesting the server to the first server via the network driver of the second server and the network;
The intermediate driver of the first server sets the first server to a specific state in which data transmission / reception between the network driver and the TCP / IP module is disabled when the stop packet is received. A computer system characterized by that.
前記第2のサーバの前記中間ドライバは、前記サーバ情報テーブルに格納されている前記第1のサーバの物理アドレスを前記停止パケットの宛先物理アドレスとする
ことを特徴とする請求項1記載のコンピュータシステム。 The intermediate driver of the second server includes a server information table storing a physical address of the first server;
The computer system according to claim 1, wherein the intermediate driver of the second server uses the physical address of the first server stored in the server information table as a destination physical address of the stop packet. .
前記第1のサーバの前記中間ドライバは前記通過可能状態において前記特別のアドレス解決プロトコル要求を受信した場合、当該特別のアドレス解決プロトコル要求を前記第1のサーバの前記TCP/IPモジュールに送信し、
前記第1のサーバの前記TCP/IPモジュールは、前記特別のアドレス解決プロトコル要求を受信した場合、当該特別のアドレス解決プロトコル要求に対する応答である前記特定IPアドレスの重複を警告するアドレス解決プロトコル応答を前記第2のサーバに返し、
前記第2のサーバの前記中間ドライバは、前記特別のアドレス解決プロトコル要求に対する前記アドレス解決プロトコル応答を受信した場合、前記停止パケットを前記第1のサーバ宛てに再度送信し、しかる後に前記特別のアドレス解決プロトコル要求をブロードキャストで前記ネットワークに送信する
ことを特徴とする請求項3記載のコンピュータシステム。 The intermediate driver of the second server transmits the stop packet, and then broadcasts a special address resolution protocol request for confirming the conflict of the specific IP address to the network,
When the intermediate driver of the first server receives the special address resolution protocol request in the passable state, the intermediate driver transmits the special address resolution protocol request to the TCP / IP module of the first server;
When the TCP / IP module of the first server receives the special address resolution protocol request, the TCP / IP module sends an address resolution protocol response warning the duplication of the specific IP address, which is a response to the special address resolution protocol request. Return to the second server,
When the intermediate driver of the second server receives the address resolution protocol response to the special address resolution protocol request, the intermediate driver transmits the stop packet again to the first server, and then the special address. The computer system according to claim 3, wherein a resolution protocol request is broadcast to the network.
前記第2のサーバの前記中間ドライバは、前記サーバ情報テーブルに格納されている前記第1のサーバの物理アドレスを前記停止パケットの宛先物理アドレスとし、前記サーバ情報テーブルに格納されている前記第2のサーバの物理アドレス及び前記特定IPアドレスをそれぞれ前記特別のアドレス解決プロトコル要求の送信元物理アドレス及びターゲットIPアドレスとする
ことを特徴とする請求項4記載のコンピュータシステム。 The intermediate driver of the first and second servers includes a server information table storing physical addresses of the first and second servers and the specific IP address,
The intermediate driver of the second server uses the physical address of the first server stored in the server information table as the destination physical address of the stop packet, and stores the second driver stored in the server information table. 5. The computer system according to claim 4, wherein a physical address of the server and the specific IP address are a source physical address and a target IP address of the special address resolution protocol request, respectively.
前記第2のサーバの前記中間ドライバは、前記サーバ情報テーブルに格納されている前記第1のサーバの物理アドレスを前記停止パケットの宛先物理アドレスとし、前記サーバ情報テーブルに格納されている前記第2のサーバの物理アドレス及び前記特定IPアドレスをそれぞれ前記特別のアドレス解決プロトコル要求の送信元物理アドレス及びターゲットIPアドレスとする
ことを特徴とする請求項6記載のコンピュータシステム。 The intermediate driver of the first and second servers includes a server information table storing physical addresses of the first and second servers and the specific IP address,
The intermediate driver of the second server uses the physical address of the first server stored in the server information table as the destination physical address of the stop packet, and stores the second driver stored in the server information table. The computer system according to claim 6, wherein a physical address of the server and the specific IP address are a source physical address and a target IP address of the special address resolution protocol request, respectively.
前記第1及び第2のサーバは、
TCP/IP通信におけるデータリンク層の処理を行うネットワークドライバと、
TCP/IP通信におけるTCP/IP層の処理を行うTCP/IPモジュールと、
前記ネットワークドライバと前記TCP/IPモジュールとの間で送受信されるデータを制御する中間ドライバと
を具備し、
前記第2のサーバの前記TCP/IPモジュールは、前記第2のサーバが前記待機系サーバとして機能して前記第1のサーバの障害を検知した場合に、前記特定IPアドレスの競合を確認するための特別のアドレス解決プロトコル要求をブロードキャストで前記ネットワークに送信し、
前記第1のサーバの前記中間ドライバは、前記特別のアドレス解決プロトコル要求を受信した場合に、前記第1のサーバが提供するサービスで使用される前記特定IPアドレスの使用停止が要求されたものとして、前記第1のサーバを前記ネットワークドライバと前記TCP/IPモジュールとの間のデータ送受信が不可となる特定状態に設定する
ことを特徴とするコンピュータシステム。 The first server and the second server are interconnected by a network to which the TCP / IP protocol is applied, and one of the first and second servers functions as a main server via the network. When providing a service corresponding to a request given by a client to the client, the other server of the first and second servers functions as a standby server, and when a failure of the one server is detected, In the computer system that takes over the service provided by the one server and the specific IP address used in the service,
The first and second servers are
A network driver that performs data link layer processing in TCP / IP communication;
A TCP / IP module that performs TCP / IP layer processing in TCP / IP communication;
An intermediate driver for controlling data transmitted and received between the network driver and the TCP / IP module;
The TCP / IP module of the second server confirms the contention of the specific IP address when the second server functions as the standby server and detects a failure of the first server. Broadcast a special address resolution protocol request to the network,
When the intermediate driver of the first server receives the special address resolution protocol request, the intermediate driver is requested to stop using the specific IP address used in the service provided by the first server. The computer system is characterized in that the first server is set in a specific state in which data transmission / reception between the network driver and the TCP / IP module is disabled.
前記サーバコンピュータに、
前記サーバコンピュータが前記待機系サーバとして機能して、前記他のサーバコンピュータが前記主系サーバとして機能している状態で、前記他のサーバコンピュータで障害が発生したことが前記サーバコンピュータで検知された場合に、前記特定IPアドレスの使用停止を前記他のサーバコンピュータに要求するための停止パケットを、前記ネットワークドライバ及び前記ネットワークを介して当該他のバコンピュータ宛てに送信するステップと、
前記サーバコンピュータが前記主系サーバとして機能して、前記他のサーバコンピュータが前記待機系サーバとして機能している状態で、前記特定IPアドレスの使用停止を要求するための停止パケットが前記他のサーバコンピュータから前記サーバコンピュータ宛てに送信されて前記サーバコンピュータで受信された場合に、前記サーバコンピュータを前記ネットワークドライバと前記TCP/IPモジュールとの間のデータ送受信が不可となる特定状態に設定するステップと
前記ネットワークドライバと前記TCP/IPモジュールとの間のデータ送受信が必要な場合に、前記サーバコンピュータが前記特定状態に設定されているかを判定するステップと、
前記サーバコンピュータが前記特定状態に設定されている場合、前記ネットワークドライバと前記TCP/IPモジュールとの間のデータ送受信を抑止するステップと
を実行させるためのプログラム。 A network driver connected to a network to which the TCP / IP protocol is applied and capable of functioning as either a primary server or a standby server, and performing data link layer processing in TCP / IP communication; and TCP A server computer including a TCP / IP module that performs TCP / IP layer processing in IP / IP communication, and functions as the main server in response to a request given from a client via the network When providing a service to the client and functioning as the standby server, the other server computer provides the service by detecting a failure of the other server computer connected to the network and functioning as the primary server Services and special features used in those services A program executed by a server computer to take over the IP address,
In the server computer,
The server computer detects that a failure has occurred in the other server computer while the server computer functions as the standby server and the other server computer functions as the primary server. A stop packet for requesting the other server computer to stop using the specific IP address is sent to the other computer via the network driver and the network;
In the state where the server computer functions as the primary server and the other server computer functions as the standby server, a stop packet for requesting the use stop of the specific IP address is sent to the other server. Setting the server computer to a specific state in which data transmission / reception between the network driver and the TCP / IP module is disabled when transmitted from the computer to the server computer and received by the server computer; Determining whether the server computer is set to the specific state when data transmission / reception between the network driver and the TCP / IP module is required;
When the server computer is set in the specific state, a program for executing a step of suppressing data transmission / reception between the network driver and the TCP / IP module.
前記サーバコンピュータに、
前記サーバコンピュータが前記主系サーバとして機能して、前記他のサーバコンピュータが前記待機系サーバとして機能している状態で、前記サーバコンピュータで障害が発生した結果、前記他のサーバコンピュータが引き継ぐ前記特定IPアドレスの競合を確認するために前記他のサーバコンピュータによりブロードキャストで前記ネットワークに送信された特別のアドレス解決プロトコル要求が前記サーバコンピュータで受信された場合に、前記特定IPアドレスの使用停止が要求されたものとして、前記サーバコンピュータを前記ネットワークドライバと前記TCP/IPモジュールとの間のデータ送受信が不可となる特定状態に設定するステップと、
前記ネットワークドライバと前記TCP/IPモジュールとの間のデータ送受信が必要な場合に、前記サーバコンピュータが前記特定状態に設定されているかを判定するステップと、
前記サーバコンピュータが前記特定状態に設定されている場合、前記ネットワークドライバと前記TCP/IPモジュールとの間のデータ送受信を抑止するステップと
を実行させるためのプログラム。 A network driver connected to a network to which the TCP / IP protocol is applied and capable of functioning as either a primary server or a standby server, and performing data link layer processing in TCP / IP communication; and TCP A server computer including a TCP / IP module that performs TCP / IP layer processing in IP / IP communication, and functions as the main server in response to a request given from a client via the network When providing a service to the client and functioning as the standby server, the other server computer provides the service by detecting a failure of the other server computer connected to the network and functioning as the primary server Services and special features used in those services A program executed by a server computer to take over the IP address,
In the server computer,
The identification that the other server computer takes over as a result of a failure in the server computer in a state where the server computer functions as the primary server and the other server computer functions as the standby server When the server computer receives a special address resolution protocol request broadcast to the network by the other server computer in order to confirm an IP address conflict, the use of the specific IP address is requested. For example, setting the server computer to a specific state in which data transmission / reception between the network driver and the TCP / IP module is disabled;
Determining whether the server computer is set to the specific state when data transmission / reception between the network driver and the TCP / IP module is required;
When the server computer is set in the specific state, a program for executing a step of suppressing data transmission / reception between the network driver and the TCP / IP module.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006195779A JP4279298B2 (en) | 2006-07-18 | 2006-07-18 | Computer system and program capable of taking over service and IP address |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006195779A JP4279298B2 (en) | 2006-07-18 | 2006-07-18 | Computer system and program capable of taking over service and IP address |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008028456A true JP2008028456A (en) | 2008-02-07 |
JP4279298B2 JP4279298B2 (en) | 2009-06-17 |
Family
ID=39118700
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006195779A Expired - Fee Related JP4279298B2 (en) | 2006-07-18 | 2006-07-18 | Computer system and program capable of taking over service and IP address |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4279298B2 (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009265690A (en) * | 2008-04-21 | 2009-11-12 | Toshiba Corp | Cluster system and program |
WO2010090325A1 (en) * | 2009-02-09 | 2010-08-12 | 日本電気株式会社 | Communication system, communication device, control device, control method, and program |
JP2013003711A (en) * | 2011-06-14 | 2013-01-07 | Shindengen Electric Mfg Co Ltd | Monitor, monitoring method, monitoring program and monitoring system |
JP2013122700A (en) * | 2011-12-12 | 2013-06-20 | Nippon Telegr & Teleph Corp <Ntt> | Virtual ip address management method and dual server system |
JP2015011472A (en) * | 2013-06-27 | 2015-01-19 | 富士通株式会社 | Control method, control program, and information processing system |
JP2015106385A (en) * | 2013-12-02 | 2015-06-08 | 富士通株式会社 | Information processor and recovery management method |
US9405629B2 (en) | 2014-02-14 | 2016-08-02 | Fujitsu Limited | Information processing system, method for controlling information processing system, and storage medium |
-
2006
- 2006-07-18 JP JP2006195779A patent/JP4279298B2/en not_active Expired - Fee Related
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009265690A (en) * | 2008-04-21 | 2009-11-12 | Toshiba Corp | Cluster system and program |
JP4703682B2 (en) * | 2008-04-21 | 2011-06-15 | 株式会社東芝 | Cluster system and program |
WO2010090325A1 (en) * | 2009-02-09 | 2010-08-12 | 日本電気株式会社 | Communication system, communication device, control device, control method, and program |
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 |
JP5630269B2 (en) * | 2009-02-09 | 2014-11-26 | 日本電気株式会社 | COMMUNICATION SYSTEM, COMMUNICATION DEVICE, CONTROL DEVICE, CONTROL METHOD, AND PROGRAM |
JP2013003711A (en) * | 2011-06-14 | 2013-01-07 | Shindengen Electric Mfg Co Ltd | Monitor, monitoring method, monitoring program and monitoring system |
JP2013122700A (en) * | 2011-12-12 | 2013-06-20 | Nippon Telegr & Teleph Corp <Ntt> | Virtual ip address management method and dual server system |
JP2015011472A (en) * | 2013-06-27 | 2015-01-19 | 富士通株式会社 | Control method, control program, and information processing system |
US9319460B2 (en) | 2013-06-27 | 2016-04-19 | Fujitsu Limited | Information processing method, computer-readable recording medium, and information processing system |
US9886358B2 (en) | 2013-06-27 | 2018-02-06 | Fujitsu Limited | Information processing method, computer-readable recording medium, and information processing system |
JP2015106385A (en) * | 2013-12-02 | 2015-06-08 | 富士通株式会社 | Information processor and recovery management method |
US9405629B2 (en) | 2014-02-14 | 2016-08-02 | Fujitsu Limited | Information processing system, method for controlling information processing system, and storage medium |
Also Published As
Publication number | Publication date |
---|---|
JP4279298B2 (en) | 2009-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4279298B2 (en) | Computer system and program capable of taking over service and IP address | |
US7885180B2 (en) | Address resolution request mirroring | |
JP7009560B2 (en) | Methods and equipment for providing redundancy for process control systems | |
US9413652B2 (en) | Systems and methods for path maximum transmission unit discovery | |
US8156491B2 (en) | Fault tolerant virtual machine | |
EP1697843B1 (en) | System and method for managing protocol network failures in a cluster system | |
US20090245242A1 (en) | Virtual Fibre Channel Over Ethernet Switch | |
US10581967B2 (en) | Chandra-Toueg consensus in a content centric network | |
US20110058482A1 (en) | Monitoring apparatus and monitoring method | |
US8938516B1 (en) | Switch provided failover | |
CN101252604A (en) | Equipment and method to add IPV6 and DHCP support to the network support package | |
CN101252583B (en) | Method to enable Infiniband network bootstrap and Infiniband host computer equipment | |
JP5255035B2 (en) | Failover system, storage processing apparatus, and failover control method | |
JP4703682B2 (en) | Cluster system and program | |
JP2012515490A (en) | System and method for recovering from gateway server failures | |
US20080144634A1 (en) | Selective passive address resolution learning | |
JP2006246152A (en) | Packet transfer apparatus, packet transfer network, and method for transferring packet | |
US20110286451A1 (en) | Method, apparatus and computer product for sending or receiving data over multiple networks | |
JP2009130405A (en) | Receiver, and communicating system | |
US20080301229A1 (en) | Client device, communication method and computer readable medium | |
US9674319B2 (en) | Detection method in network system and related apparatus | |
JP5170000B2 (en) | Redundant pair detection method, communication device, redundant pair detection program, recording medium | |
JP2010226177A (en) | Packet transfer device, and program to be executed by the device | |
CN117201575A (en) | Data transmission method, device, equipment and medium | |
JP2000151663A (en) | Failure detecting device and failure detecting method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080715 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080729 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080919 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090224 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090311 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120319 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |