JP3930516B2 - Server apparatus, server system, and server system load balancing method - Google Patents

Server apparatus, server system, and server system load balancing method Download PDF

Info

Publication number
JP3930516B2
JP3930516B2 JP2005072990A JP2005072990A JP3930516B2 JP 3930516 B2 JP3930516 B2 JP 3930516B2 JP 2005072990 A JP2005072990 A JP 2005072990A JP 2005072990 A JP2005072990 A JP 2005072990A JP 3930516 B2 JP3930516 B2 JP 3930516B2
Authority
JP
Japan
Prior art keywords
server
node
service
client
packet
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.)
Expired - Fee Related
Application number
JP2005072990A
Other languages
Japanese (ja)
Other versions
JP2006259845A (en
Inventor
淳一 中里
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.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Solutions Corp
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 Toshiba Corp, Toshiba Solutions Corp filed Critical Toshiba Corp
Priority to JP2005072990A priority Critical patent/JP3930516B2/en
Publication of JP2006259845A publication Critical patent/JP2006259845A/en
Application granted granted Critical
Publication of JP3930516B2 publication Critical patent/JP3930516B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

この発明は、クライアント装置に対するサービスの提供を複数のサーバ装置で行うクライアント−サーバモデルの計算機システムにおける負荷分散技術に関する。   The present invention relates to a load distribution technique in a computer system of a client-server model in which a service to a client device is provided by a plurality of server devices.

クライアント−サーバモデルにてクライアントにサービスを提供する計算機システムでは、複数のサーバ上で同一のサービスを動作させ、クライアントからの当該サービスへのアクセスをこれら複数のサーバの何れかに振り分ける手法が用いられることが多い。負荷分散、スケーラビリティの確保、信頼性の確保が可能だからである。   In a computer system that provides a service to a client in a client-server model, a method is used in which the same service is operated on a plurality of servers and access to the service from the client is distributed to any of the plurality of servers. There are many cases. This is because load distribution, scalability, and reliability can be ensured.

このようなメリットがある一方、複数のサーバのうち、どのサーバにアクセスすべきかをクライアントが決定するような仕組みでは、クライアントが行うべきアクセス方法が煩雑になってしまう。よって、クライアントからのアクセスの利便性を考慮すると、物理的に複数のサーバを論理的に単一のサーバであるかのようにクライアントに見せることは必須であり、現在広く使用されているTCP/IPベースのネットワークにおいては、DNSによるサーバの名前解決時に、クライアントに対して異なるIPアドレス(何れかのサーバのIPアドレス)を返す方法や、サーバ群の前段(フロントエンド)に負荷分散装置を設置する方法などが用いられることが多い。   On the other hand, in a mechanism in which the client determines which server to access from among a plurality of servers, the access method to be performed by the client becomes complicated. Therefore, in consideration of the convenience of access from the client, it is essential to make the plurality of servers physically appear to the client as if they were a single server, and currently widely used TCP / In an IP-based network, when a server name is resolved by DNS, a method of returning a different IP address (IP address of any server) to the client, or a load balancer is installed in the front stage (front end) of the server group In many cases, a method is used.

(1)DNSによる名前解決時に異なるIPアドレスをクライアントへ返す方法
複数のサーバはそれぞれ異なるIPアドレスを持っており、一方、これらサーバ群に対する名前(URL)はただ1つとし、それをクライアントに対して公開する。
(1) A method of returning different IP addresses to the client at the time of name resolution by DNS A plurality of servers have different IP addresses. On the other hand, there is only one name (URL) for these server groups, and this is sent to the client. And make it public.

クライアントは、サーバにアクセスするときに、公開されたサーバの名前(URL)を使用してアクセスすることになるが、DNSによる名前解決を行う時点で、DNSサーバが、サーバの名前解決を問い合わせてきたクライアントに対して、複数存在するサーバのうちの何れかのサーバのIPアドレスを返す。   When a client accesses a server, it accesses using the name (URL) of the published server. At the time of performing name resolution by DNS, the DNS server inquires about name resolution of the server. The IP address of any one of a plurality of existing servers is returned to the client.

即ち、異なるクライアントに対して異なるIPアドレスを返すことで、実際には複数サーバ構成でサービスを実現しているが、クライアントに対しては単一のサーバ(名前)であるかのように見せることが出来る。   In other words, by returning different IP addresses to different clients, the service is actually realized in a multi-server configuration, but it appears to the clients as if it were a single server (name). I can do it.

(2)負荷分散装置を用いる方法
クライアントは負荷分散装置のIPアドレスに対してアクセスを行う。つまり、クライアントからは負荷分散装置がサーバに見えるが、負荷分散装置が、クライアントからのアクセスを各サーバに振り分けることにより、複数サーバによるクライアントへのサービス提供を実現する。
(2) Method using load balancer The client accesses the IP address of the load balancer. In other words, the load balancer appears as a server to the client, but the load balancer distributes access from the client to each server, thereby realizing service provision to the client by a plurality of servers.

しかしながら、これらの方法には、それぞれに以下のような問題がある。   However, these methods have the following problems.

まず、前者の方法では、複数の(実際に存在するサーバの数だけ)IPアドレスが必要になるため、十分なIPアドレスを用意することが出来ない状況では、クライアントからのアクセス増大に対応すべくサーバを増やすことが容易ではなく、スケーラビリティの確保が難しい。また、DNSサーバに処理が集中するため、DNSサービスの信頼性の確保のための投資も必要となる。   First, since the former method requires a plurality of IP addresses (the number of servers that actually exist), in a situation where sufficient IP addresses cannot be prepared, it is necessary to cope with an increase in access from clients. It is not easy to increase the number of servers, and it is difficult to ensure scalability. Further, since the processing is concentrated on the DNS server, an investment for ensuring the reliability of the DNS service is also required.

一方、後者の方法では、負荷分散装置に処理が集中するため、負荷分散装置の性能がボトルネックとなり得る。また、負荷分散処理の高信頼化のためには複数の負荷分散装置を用意するための投資も必要である。更に、複数の負荷分散装置を用いる場合は、それぞれの負荷分散装置にIPアドレスが必要になるため、前述のDNSによる方法と同様の問題も生じる。   On the other hand, in the latter method, the processing is concentrated on the load balancer, so the performance of the load balancer can become a bottleneck. Further, in order to make the load distribution process highly reliable, it is necessary to make an investment for preparing a plurality of load distribution apparatuses. Further, when a plurality of load balancers are used, since an IP address is required for each load balancer, the same problem as the above-described DNS method occurs.

この発明は、このような事情を考慮してなされたものであり、サーバ群の前段に負荷分散装置を設置すること無く、かつ、単一のIPアドレスのみの使用で、複数サーバを論理的に単一のサーバに見せることを可能としたサーバ装置、サーバシステムおよびサーバシステムの負荷分散方法を提供することを目的とする。   The present invention has been made in consideration of such circumstances, and a plurality of servers can be logically configured by using only a single IP address without installing a load distribution device in the preceding stage of the server group. It is an object of the present invention to provide a server device, a server system, and a load distribution method for the server system that can be shown as a single server.

本目的を達成するために、この発明は、単一のIPアドレスを共有する他のサーバ装置と協働してクライアント装置に対するサービスの提供を行うサーバ装置であって、前記クライアント装置からのパケットを前記他のサーバ装置に転送するパケット転送手段と、前記パケット転送手段によるパケットの転送が行われた場合に、そのパケットの送信元である前記クライアント装置のMACアドレスを送信先アドレスとし、かつ、そのパケットの転送先である前記他のサーバ装置のMACアドレスを送信元MACアドレスとするGratuitousARP(Address Resolution Protocol)を、そのパケットの送信元である前記クライアント装置に送信するARP処理手段とを具備することを特徴とする。 In order to achieve this object, the present invention provides a server device that provides a service to a client device in cooperation with another server device that shares a single IP address, and that receives packets from the client device. A packet transfer means for transferring to the other server device, and when a packet is transferred by the packet transfer means, the MAC address of the client device that is the transmission source of the packet is set as a transmission destination address, and ARP processing means for transmitting Gratuitous ARP (Address Resolution Protocol) having the MAC address of the other server device as a packet transfer destination as a source MAC address to the client device as the packet source. It is characterized by.

また、この発明のサーバシステムは、単一のIPアドレスを共有する複数の前記サーバ装置と、前記複数のサーバ装置間を接続するための第1のネットワークと、サービスの提供を受けるクライアント装置と前記複数のサーバ装置との間を接続するための第2のネットワークとを具備することを特徴とする。   The server system of the present invention includes a plurality of the server devices sharing a single IP address, a first network for connecting the plurality of server devices, a client device receiving a service, And a second network for connecting a plurality of server devices.

また、この発明は、単一のIPアドレスを共有する複数のサーバ装置でクライアント装置に対するサービスの提供を行うサーバシステムの負荷分散方法であって、前記複数のサーバ装置それぞれが、前記クライアント装置からのパケットを他のサーバ装置に転送するステップと、前記パケットの転送を行った場合に、そのパケットの送信元である前記クライアント装置のMACアドレスを送信先アドレスとし、かつ、そのパケットの転送先である前記他のサーバ装置のMACアドレスを送信元MACアドレスとするGratuitousARPを、そのパケットの送信元である前記クライアント装置に送信するステップとを具備することを特徴とする。 According to another aspect of the present invention, there is provided a server system load distribution method for providing a service to a client device by a plurality of server devices sharing a single IP address, wherein each of the plurality of server devices is provided by the client device. A step of transferring a packet to another server device, and when the packet is transferred, the MAC address of the client device that is the transmission source of the packet is set as a transmission destination address, and the transfer destination of the packet Transmitting Gratuitous ARP using the MAC address of the other server device as a transmission source MAC address to the client device that is the transmission source of the packet .

この発明によれば、サーバ群の前段に負荷分散装置を設置すること無く、かつ、単一のIPアドレスのみの使用で、複数サーバを論理的に単一のサーバに見せることを可能としたサーバ装置、サーバシステムおよびサーバシステムの負荷分散方法を提供することができる。   According to the present invention, a server capable of logically showing a plurality of servers as a single server by using only a single IP address without installing a load distribution device in the preceding stage of the server group. An apparatus, a server system, and a server system load distribution method can be provided.

以下、図面を参照してこの発明の一実施形態を説明する。   An embodiment of the present invention will be described below with reference to the drawings.

図1は、本実施形態に係るサーバシステムの全体構成を示す図である。なお、以下の説明では、現在広く普及している、レイヤ2(リンクレベル)にはイーサネット(登録商標)を、レイヤ3にはIP(InternetProtocol)を使用したネットワークを想定している。   FIG. 1 is a diagram illustrating an overall configuration of a server system according to the present embodiment. In the following description, it is assumed that a network using Ethernet (registered trademark) for layer 2 (link level) and IP (Internet Protocol) for layer 3 is widely used.

図1において、ノード1は、クライアント2に対して各種サービスを提供する計算機、いわゆるクライアント−サーバモデルにおいてサーバと呼ばれるものである。なお、本発明では、ノード数に制限は無い。また、各ノードは一意なノード識別子(0,1,…)を持つ。   In FIG. 1, a node 1 is a computer that provides various services to a client 2, that is, a server in a so-called client-server model. In the present invention, the number of nodes is not limited. Each node has a unique node identifier (0, 1,...).

サービス用ネットワーク3は、ノード1とクライアント2の双方が接続しているネットワークであり、サーバ1とクライアント2との間の通信に使用される単一イーサネット(登録商標)セグメントである。一方、制御用ネットワーク4は、単一のIPアドレスを共有する全てのノード1が接続され、ノード1間の制御情報等のやり取りや、クライアント2のアクセスをノード1間で転送する場合に使用されるものである。   The service network 3 is a network to which both the node 1 and the client 2 are connected, and is a single Ethernet (registered trademark) segment used for communication between the server 1 and the client 2. On the other hand, the control network 4 is used when all the nodes 1 sharing a single IP address are connected, and exchange of control information between the nodes 1 and the access of the client 2 are transferred between the nodes 1. Is.

この制御用ネットワーク4のネットワークの種類は特に制限は無いが、一般的にコスト面で有利なイーサネット(登録商標)が用いられることが想定される。また、制御用ネットワーク4での通信に用いる上位プロトコルは特に制限は無い。つまり、IPを使わない場合は、制御用ネットワーク4に接続しているネットワークインタフェースにはIPアドレスを付与する必要もない。本発明では、この制御用ネットワーク4での具体的な通信手段(プロトコル)には言及しない。   The type of network of the control network 4 is not particularly limited, but it is assumed that Ethernet (registered trademark) which is generally advantageous in terms of cost is used. Further, the upper protocol used for communication in the control network 4 is not particularly limited. That is, when IP is not used, it is not necessary to assign an IP address to the network interface connected to the control network 4. In the present invention, specific communication means (protocol) in the control network 4 is not mentioned.

ノード1の種別には、マスタとスレーブがある。制御用ネットワーク4に接続されているノードのうち、ただひとつのノードがマスタとなり、それ以外のノードは全てスレーブとなる。マスタであるノードは特別な役割を持つ(後述)。なお、マスタの選出方法には各種方法が考えられるが、マスタ選出方法は本発明の主旨では無いため、ここでは何らかの方法でただ1つのノードがマスタに選出されることとする。   Node 1 types include master and slave. Of the nodes connected to the control network 4, only one node is a master, and all other nodes are slaves. The master node has a special role (see below). Various methods are conceivable as master selection methods. However, since the master selection method is not the gist of the present invention, it is assumed here that only one node is selected as the master by some method.

各ノード1内のサービスとは、ノード1がクライアント2に対して提供するサービスであり、例えば、NFS(Network File System)やCIFS(Common Internet File System)のようなネットワーク越しのファイルシステムサービスを提供するプログラムであったり、あるいは、データベース、Webサービス等を提供するプログラムである。なお、本発明では、サービスの内容に制約は無い。また、各ノード1上では異なるサービスを動作させることも同一のサービスを動作させることもでき、これについても制約は無い。なお、各サービスは、サービスの種別を識別するためのサービス識別子を持つ(同一サービスは同一サービス識別子を持つ)。   The service in each node 1 is a service that the node 1 provides to the client 2 and provides, for example, a file system service over a network such as NFS (Network File System) and CIFS (Common Internet File System). Or a program that provides a database, a Web service, or the like. In the present invention, there is no restriction on the contents of the service. In addition, different services can be operated on each node 1 or the same service can be operated, and there is no restriction on this. Each service has a service identifier for identifying the type of service (the same service has the same service identifier).

また、各ノード1のサービス用ネットワーク3に接続しているネットワークインタフェースは、それぞれ別個のMACアドレスを持つ(MAC-A〜MAC-Z)が、一方で、全て同一のIPアドレスを持つ(IP-A)。   The network interface connected to the service network 3 of each node 1 has a separate MAC address (MAC-A to MAC-Z), but on the other hand, all have the same IP address (IP- A).

図2は、ノード1の構成を表す図である。このノード1上では、サービス(0)からサービス(N−1)の合計N個のサービス20が動作している。   FIG. 2 is a diagram illustrating the configuration of the node 1. On this node 1, a total of N services 20 from service (0) to service (N-1) are operating.

SSマップ21は、サーバ−サービスマップ(Server-Serviceマップ)の略で、どのノード(サーバ)1でどのサービス20が動作しているかの一覧を保持するテーブルである。各ノード1は、それぞれのノード1上で動作しているサービス20の情報を他ノード1と交換し、各々のSSマップ21を最新の状態に保つ。詳細を図3に示す。   The SS map 21 is an abbreviation for server-service map (Server-Service map), and is a table that holds a list of which services 20 are operating on which nodes (servers) 1. Each node 1 exchanges information of the service 20 operating on the node 1 with the other node 1, and keeps each SS map 21 in the latest state. Details are shown in FIG.

CSマップ22は、クライアント−サービスマップ(Client-Serviceマップ)の略で、どのクライアント2がどのノード1上のどのサービス20にアクセスしているかの一覧を保持するテーブルである。このCSマップ22に関しても、SSマップ21と同様、ノード1間で情報を交換し、各々のCSマップ22の状態を最新の状態に保つ。詳細を図4に示す。   The CS map 22 is an abbreviation for a client-service map, and is a table that holds a list of which clients 2 are accessing which services 20 on which nodes 1. Also regarding this CS map 22, as with the SS map 21, information is exchanged between the nodes 1, and the state of each CS map 22 is maintained in the latest state. Details are shown in FIG.

MACアドレステーブル23は、制御用ネットワーク4に接続されている全ノード1について、サービス用ネットワーク3に接続しているNICに付与されているMACアドレスの一覧を保持するテーブルである。このMACアドレステーブル23に関しても、SSマップ21、CSマップ22と同様、ノード1間で情報を交換し、各々のMACアドレステーブル23の状態を最新の状態に保つ。詳細を図5に示す。   The MAC address table 23 is a table that holds a list of MAC addresses assigned to NICs connected to the service network 3 for all nodes 1 connected to the control network 4. Also regarding the MAC address table 23, as in the SS map 21 and CS map 22, information is exchanged between the nodes 1, and the state of each MAC address table 23 is kept up-to-date. Details are shown in FIG.

次に、ノード1内のネットワーク関連プロトコルを説明する。本来は、下位層から上位層へ、ネットワークインタフェース11,18、イーサネット(登録商標)ドライバ12,17、イーサネット(登録商標)層14、TCP/IP層15というプロトコルスタックとなるのが一般的であるが、本発明では、クライアント2から各ノード1上のサービス20へのアクセスの送信先等を制御する仮想イーサネット(登録商標)層13が、イーサネット(登録商標)ドライバ12とイーサネット(登録商標)層14との間に位置する。以下、個々のプロトコル層について説明する。   Next, a network related protocol in the node 1 will be described. Originally, from the lower layer to the upper layer, the protocol stack generally includes the network interfaces 11 and 18, the Ethernet (registered trademark) drivers 12 and 17, the Ethernet (registered trademark) layer 14, and the TCP / IP layer 15. However, in the present invention, the virtual Ethernet (registered trademark) layer 13 for controlling the transmission destination of the access from the client 2 to the service 20 on each node 1 includes the Ethernet (registered trademark) driver 12 and the Ethernet (registered trademark) layer. 14. Hereinafter, individual protocol layers will be described.

イーサネット(登録商標)ドライバ12、および17は、サービス用ネットワーク3、制御用ネットワーク4に接続するネットワークインタフェースそれぞれに対して存在し、ネットワークインタフェースを制御して、実際のイーサネット(登録商標)フレームの送受信処理を行うソフトウェアである。本発明ではイーサネット(登録商標)ドライバには特別な機能は不要であり、一般的な機能を持つものとする。   The Ethernet (registered trademark) drivers 12 and 17 exist for each of the network interfaces connected to the service network 3 and the control network 4, and control the network interface to transmit and receive an actual Ethernet (registered trademark) frame. Software that performs processing. In the present invention, the Ethernet (registered trademark) driver does not require a special function and has a general function.

イーサネット(登録商標)層14は、下位層からイーサネット(登録商標)フレームを受信、あるいは、下位層へイーサネット(登録商標)フレームを送信する等、イーサネット(登録商標)プロトコルの各種処理を行うプロトコル層である。本発明では、仮想イーサネット(登録商標)層13の上位層に位置する(本来であればイーサネット(登録商標)ドライバ12の上位に位置する)ことを除けば、イーサネット(登録商標)層14に特別な機能は不要であり、一般的な機能を持つものとする。   The Ethernet (registered trademark) layer 14 is a protocol layer that performs various processes of the Ethernet (registered trademark) protocol such as receiving an Ethernet (registered trademark) frame from a lower layer or transmitting an Ethernet (registered trademark) frame to a lower layer. It is. In the present invention, the Ethernet (registered trademark) layer 14 is specially provided except that it is positioned above the virtual Ethernet (registered trademark) layer 13 (originally positioned above the Ethernet (registered trademark) driver 12). These functions are not necessary and have general functions.

TCP/IP層15は、IP、TCP、UDP等のプロトコル処理を行うプロトコル層であって、本発明では、特別な機能は不要であり、一般的な機能を持つものとする。   The TCP / IP layer 15 is a protocol layer that performs protocol processing such as IP, TCP, and UDP. In the present invention, a special function is not necessary, and a general function is assumed.

そして、仮想イーサネット(登録商標)層13は、本発明において特徴的な処理部であり、イーサネット(登録商標)ドライバ12の上位、イーサネット(登録商標)層14の下位に位置する仮想的なイーサネット(登録商標)プロトコル層である。クライアント2または制御用ネットワーク4経由で他ノード1からサービス20へのアクセスを受信し、その後の動作を決定するための処理を行う。その際、SSマップ21、CSマップ22の情報を利用する。   The virtual Ethernet (registered trademark) layer 13 is a processing unit characteristic of the present invention, and is a virtual Ethernet (located above the Ethernet (registered trademark) driver 12 and below the Ethernet (registered trademark) layer 14 (see FIG. 2). (Registered trademark) protocol layer. The access to the service 20 is received from the other node 1 via the client 2 or the control network 4 and processing for determining the subsequent operation is performed. At that time, the information of the SS map 21 and the CS map 22 is used.

まず、図6および図7のフローチャートを参照しながら、この仮想イーサネット(登録商標)層13の基本的な動作手順を説明する。なお、以後の説明において、”パケット”とは、ノード1上のサービス20を利用するためのクライアント2からのIPパケット(及びUDPまたはTCPのデータ)を格納したイーサネット(登録商標)フレームを指す。   First, a basic operation procedure of the virtual Ethernet (registered trademark) layer 13 will be described with reference to the flowcharts of FIGS. 6 and 7. In the following description, “packet” refers to an Ethernet (registered trademark) frame storing an IP packet (and UDP or TCP data) from the client 2 for using the service 20 on the node 1.

図6は、仮想イーサネット(登録商標)層13で実行される制御情報の処理フローである。   FIG. 6 is a processing flow of control information executed in the virtual Ethernet (registered trademark) layer 13.

自ノード1上で新たなサービス20が動作開始したら(ステップA1のYes)、その動作開始したサービス20のサービス識別子と自身のノード識別子との組をSSマップ21に登録する(ステップA2)。また、同サービス識別子およびノード識別子からSSマップ登録メッセージを作成し、制御用ネットワーク4にブロードキャスト(全ての他ノードへの送信)する(ステップA3)。   When the operation of the new service 20 starts on the own node 1 (Yes in Step A1), a set of the service identifier of the service 20 that started the operation and its own node identifier is registered in the SS map 21 (Step A2). Also, an SS map registration message is created from the service identifier and the node identifier, and broadcast (transmitted to all other nodes) to the control network 4 (step A3).

一方、自ノード1上で動作していたサービス20が終了した場合には(ステップA4のYes)、その動作終了したサービス20のサービス識別子と自身のノード識別子との組に一致するエントリをSSマップ21から削除する(ステップA5)。また、同サービス識別子およびノード識別子からSSマップ削除メッセージを作成し、制御用ネットワーク4にブロードキャストする(ステップA6)。   On the other hand, when the service 20 that has been operating on the own node 1 is terminated (Yes in step A4), an entry that matches the set of the service identifier of the service 20 that has terminated the operation and its own node identifier is displayed in the SS map. (Step A5). Also, an SS map deletion message is created from the service identifier and the node identifier, and broadcast to the control network 4 (step A6).

また、制御用ネットワーク4からイーサネット(登録商標)ドライバ17経由でSSマップ登録メッセージを受信すると(ステップA7のYes)、受け取ったSSマップ登録メッセージに含まれるノード識別子とサービス識別子との組に一致するエントリが自身のSSマップ21に存在するか調べ(ステップA8)、存在しなければ(ステップA8のNo)、それらの情報をSSマップ21に登録する(ステップA9)。既に存在すれば(ステップA8のYes)、ここでは特に何もしない。   When an SS map registration message is received from the control network 4 via the Ethernet (registered trademark) driver 17 (Yes in step A7), the node identifier and service identifier included in the received SS map registration message coincide with each other. It is checked whether an entry exists in its own SS map 21 (step A8). If not (No in step A8), the information is registered in the SS map 21 (step A9). If it already exists (Yes at step A8), nothing is done here.

一方、制御用ネットワーク4からイーサネット(登録商標)ドライバ12経由でSSマップ削除メッセージを受信すると(ステップA10のYes)、受け取ったSSマップ削除メッセージに含まれるノード識別子とサービス識別子との組に一致するエントリが自身のSSマップ21に存在するか調べ(ステップA11)、存在すれば(ステップA11のYes)、それらの情報をSSマップ21から削除する(ステップA12)。存在しなければ(ステップA11のNo)、ここでは特に何もしない。   On the other hand, when the SS map deletion message is received from the control network 4 via the Ethernet (registered trademark) driver 12 (Yes in step A10), it matches the set of the node identifier and service identifier included in the received SS map deletion message. It is checked whether the entry exists in its own SS map 21 (step A11). If it exists (Yes in step A11), the information is deleted from the SS map 21 (step A12). If it does not exist (No in step A11), nothing is done here.

さらに、制御用ネットワーク4からイーサネット(登録商標)ドライバ17経由でCSマップ登録メッセージを受け取ると(ステップA13のYes)、受け取ったCSマップ登録メッセージに含まれるクライアント情報、ノード識別子およびサービス識別子の組に一致するエントリが自身のCSマップ22に存在するか調べ(ステップA14)、存在しなければ(ステップA14のNo)、それらの情報をCSマップ22に登録する(ステップA15)。既に存在すれば(ステップA14のYes)、ここでは特に何もしない。   Further, when a CS map registration message is received from the control network 4 via the Ethernet (registered trademark) driver 17 (Yes in step A13), a set of client information, node identifier and service identifier included in the received CS map registration message is obtained. It is checked whether or not a matching entry exists in its own CS map 22 (step A14). If it does not exist (No in step A14), the information is registered in the CS map 22 (step A15). If it already exists (Yes in step A14), nothing is done here.

また、図7は、仮想イーサネット(登録商標)層13で実行されるクライアント2からのアクセス(パケット)の処理フローである。   FIG. 7 is a processing flow of access (packet) from the client 2 executed in the virtual Ethernet (registered trademark) layer 13.

パケットを受信すると、まず、パケットを送信したクライアント2が既知、即ち、CSマップ22に登録されたクライアント2かどうかを調べる(ステップB1)。もし、未知のクライアント2であれば(ステップB1のNo)、SSマップ21を参照し、以下の処理(ステップB2〜ステップB13)を行う。   When a packet is received, first, it is checked whether or not the client 2 that transmitted the packet is known, that is, the client 2 registered in the CS map 22 (step B1). If the client 2 is unknown (No in step B1), the SS map 21 is referred to and the following processing (step B2 to step B13) is performed.

クライアント2がアクセスしようとしているサービス20が自ノード1上のみで動作している場合(ステップB2のYes)、クライアント2からのパケットを上位層(イーサネット(登録商標)層14)に渡す(ステップB3)。即ち、自ノード1上で動作している該当サービス20へクライアント2からのアクセスを引き渡すことになる。そして、当該クライアント2、当該クライアント2がアクセスしようとしたノード識別子、サービス識別子の組からなる情報をCSマップ22に登録する(ステップB4)。この時、これらの情報からCSマップ登録メッセージを作成し、制御用ネットワーク4にブロードキャストする。   When the service 20 that the client 2 is trying to access is operating only on the own node 1 (Yes in Step B2), the packet from the client 2 is passed to the upper layer (Ethernet (registered trademark) layer 14) (Step B3). ). That is, the access from the client 2 is handed over to the corresponding service 20 operating on the own node 1. Then, information including a set of the client 2, a node identifier that the client 2 tried to access, and a service identifier is registered in the CS map 22 (step B4). At this time, a CS map registration message is created from these pieces of information and broadcast to the control network 4.

クライアント2がアクセスしようとしているサービス20が他ノード1上のみで動作している場合であって、かつ、ただ1つのノード1上で動作している場合(ステップB5のYes)、このクライアント2からのパケットをサービス20が動作しているノード1へ転送する(ステップB6)。即ち、クライアント2からのパケットの宛先MACアドレスを当該ノード1の制御用ネットワーク4に接続しているネットワークインタフェースのものに置き換え、制御用ネットワーク4側のイーサネット(登録商標)ドライバ17に渡す。また、当該クライアント2のMACアドレス、転送先ノード1のサービス用ネットワーク3側のネットワークインタフェース18のMACアドレスを格納し、“根拠の無いARP(GratuitousARP)”の送信要求をARP処理部19に対して発行する(ステップB7)。以後、当該クライアント2から他ノード1上のサービス20へのアクセスが、自ノード1を経由しないようにするための措置である。そして、その後、ステップB4の手順で、CSマップ22への登録を行う。   If the service 20 that the client 2 is trying to access is operating only on the other node 1 and is operating on only one node 1 (Yes in step B5), the client 2 Are transferred to the node 1 where the service 20 is operating (step B6). That is, the destination MAC address of the packet from the client 2 is replaced with that of the network interface connected to the control network 4 of the node 1 and passed to the Ethernet (registered trademark) driver 17 on the control network 4 side. In addition, the MAC address of the client 2 and the MAC address of the network interface 18 on the service network 3 side of the transfer destination node 1 are stored, and a transmission request for “unfounded ARP (Gratuitous ARP)” is sent to the ARP processing unit 19. Issue (step B7). Thereafter, this is a measure for preventing access from the client 2 to the service 20 on the other node 1 via the node 1 itself. Then, registration to the CS map 22 is performed in the procedure of step B4.

クライアント2がアクセスしようとしているサービス20が他ノード1上のみで動作している場合であって、かつ、複数のノード1上で動作している場合(ステップB8のYes)、CSマップ22を参照し、当該サービス20が動作しているノード1の内、クライアント2からのアクセスが最も少ないサービス20が動作しているノード1を選択し(ステップB9)、前述のステップB6〜ステップB7の手順で、当該クライアント2からのパケットを転送し、ステップB4の手順で、CSマップ22への登録を行う。なお、アクセス頻度が同じであれば、転送先ノード1はランダムに選択する。   If the service 20 that the client 2 is trying to access is operating only on the other node 1 and operating on a plurality of nodes 1 (Yes in step B8), refer to the CS map 22 Then, among the nodes 1 where the service 20 is operating, the node 1 where the service 20 with the least access from the client 2 is operating is selected (step B9), and the above steps B6 to B7 are followed. Then, the packet from the client 2 is transferred, and registration to the CS map 22 is performed in the procedure of Step B4. If the access frequency is the same, the transfer destination node 1 is selected at random.

クライアント2がアクセスしようとしているサービス20が自ノード1および他ノード1の両方で動作している場合(ステップB10のYes)、CSマップ22を参照し、当該サービス20が動作しているノードの内、クライアント2からのアクセスが最も少ないサービス20が動作しているノードを選択する(ステップB11)。そして、そのノード1が自ノード1でなければ(ステップB12のNo)、前述のステップB6〜ステップB7の手順で、当該クライアントからのパケットを転送する。一方、クライアント2からのアクセスが最も少ないサービス20が動作しているノード1が自ノード1であれば(ステップB12のYes)、前述のステップB3〜ステップB4の手順で、自ノード1上の上位層(イーサネット(登録商標)層14)に当該クライアント2からのパケットを渡すと共に、CSマップ22への登録を行う。なお、アクセス頻度が同じであれば自ノード1を選択する。   When the service 20 that the client 2 is trying to access is operating on both the own node 1 and the other node 1 (Yes in Step B10), the CS map 22 is referred to, and the service 20 that the service 20 is operating is selected. The node on which the service 20 with the least access from the client 2 is operating is selected (step B11). If the node 1 is not its own node 1 (No in step B12), the packet from the client is transferred in the above-described steps B6 to B7. On the other hand, if the node 1 on which the service 20 with the least access from the client 2 is operating is the own node 1 (Yes in Step B12), the upper level on the own node 1 is determined by the procedure from Step B3 to Step B4 described above. The packet from the client 2 is transferred to the layer (Ethernet (registered trademark) layer 14), and registration to the CS map 22 is performed. If the access frequency is the same, the local node 1 is selected.

なお、ステップB2,B5,B8,B10のいずれの条件にも該当しない場合(ステップB10のNo)、そのサービス20はいずれにも存在しないので、クライアント2からのパケットを上位層(イーサネット(登録商標)層14)に渡し、TCP/IP15にエラー処理を実行させる(ステップB13)。   If none of the conditions in steps B2, B5, B8, and B10 is satisfied (No in step B10), the service 20 does not exist in any of the conditions, and the packet from the client 2 is sent to the upper layer (Ethernet (registered trademark)). ) Layer 14) and cause TCP / IP 15 to execute error processing (step B13).

また、クライアント2が既知であった場合(ステップB1のYes)、CSマップを参照し、以下の処理(ステップB14〜ステップB18)を行う。   If the client 2 is known (Yes in step B1), the CS map is referred to and the following processing (step B14 to step B18) is performed.

クライアント2が自ノード1上のサービス20にアクセスしようとしている場合(ステップB14のYes)、このクライアント2からのパケットを上位層(イーサネット(登録商標)層14)に渡す(ステップB15)。即ち、前述のステップB3と同様、自ノード1上で動作している該当サービスへクライアント2からのアクセスを引き渡すことになる。   When the client 2 is going to access the service 20 on the own node 1 (Yes in Step B14), the packet from the client 2 is passed to the upper layer (Ethernet (registered trademark) layer 14) (Step B15). That is, as in step B3 described above, access from the client 2 is handed over to the corresponding service operating on the node 1 itself.

一方、クライアント2が他ノード1上のサービスにアクセスしようとしている場合(ステップB14のNo)、CSマップ22からアクセス先のノード1を同定し(ステップB16)、当該アクセスをそのノード1へ転送する(ステップB17)。即ち、前述のステップB6と同様、クライアント2からのパケットの宛先MACアドレスを上記選択したノード1の制御用ネットワーク4に接続しているネットワークインタフェースのものに置き換え、制御用ネットワーク4側のイーサネット(登録商標)ドライバ17に渡す。また、前述のステップB7と同様、当該クライアント2のMACアドレス、転送先ノード1のサービス用ネットワーク3側のネットワークインタフェースのMACアドレスを格納し、“根拠の無いARP(GratuitousARP)”の送信要求をARP処理部19に対して発行する(ステップB18)。   On the other hand, when the client 2 is trying to access the service on the other node 1 (No in Step B14), the access destination node 1 is identified from the CS map 22 (Step B16), and the access is transferred to the node 1. (Step B17). That is, as in the above-described step B6, the destination MAC address of the packet from the client 2 is replaced with that of the network interface connected to the control network 4 of the selected node 1, and the Ethernet (registration) on the control network 4 side is replaced. Trademark) to the driver 17. Similarly to the above-described step B7, the MAC address of the client 2 and the MAC address of the network interface on the service network 3 side of the transfer destination node 1 are stored, and a transmission request for “unfounded ARP (Gratuitous ARP)” is sent to the ARP. Issued to the processing unit 19 (step B18).

以上のように動作する、イーサネット(登録商標)ドライバ12とイーサネット(登録商標)層14との間に介在して設けられる仮想イーサネット(登録商標)層13の働きにより、ノード1群の前段に負荷分散装置を設置すること無く、かつ、単一のIPアドレスのみの使用で、複数ノード1を論理的に単一のノード1に見せることが可能となる。   The operation of the virtual Ethernet (registered trademark) layer 13 provided between the Ethernet (registered trademark) driver 12 and the Ethernet (registered trademark) layer 14 that operates as described above causes a load on the front stage of the node 1 group. It is possible to make a plurality of nodes 1 logically appear as a single node 1 without using a distributed device and using only a single IP address.

なお、ARP処理部19は、ARP要求の受信、ARP応答の送信および仮想イーサネット(登録商標)層13からの指示に基づき“根拠の無いARP(GratuitousARP)”の送信を行う部分であり、MACアドレステーブルを利用する。具体的には、以下の処理を行う。   The ARP processing unit 19 is a part that performs reception of an ARP request, transmission of an ARP response, and transmission of “Unfounded ARP (Gratuitous ARP)” based on an instruction from the virtual Ethernet (registered trademark) layer 13, and a MAC address Use a table. Specifically, the following processing is performed.

未知のクライアント2、即ち、CSマップ22に登録されていないクライアント2からARP要求を受信すると、自身がマスタならば自身のMACアドレスを送信元MACアドレスフィールドに設定したARP応答をそのクライアント2へ送信する。一方、自身がスレーブならば何もしない。   When an ARP request is received from an unknown client 2, that is, a client 2 that is not registered in the CS map 22, if it is the master, an ARP response with its own MAC address set in the source MAC address field is transmitted to that client 2. To do. On the other hand, if it is a slave, it does nothing.

一方、既知のクライアント2、即ち、CSマップ22に登録されているクライアント2からARP要求を受信すると、当該クライアント2が自ノード1上で動作しているサービス20にアクセスしているのであれば、自身のMACアドレスを送信元MACアドレスフィールドに設定したARP応答をそのクライアント2へ送信する。一方、そうでない場合は何もしない。   On the other hand, when an ARP request is received from a known client 2, that is, a client 2 registered in the CS map 22, if the client 2 is accessing the service 20 operating on the own node 1, An ARP response in which its own MAC address is set in the source MAC address field is transmitted to the client 2. On the other hand, if not, do nothing.

また、仮想イーサネット(登録商標)層13から“根拠の無いARP(GratuitousARP)”の送信要求を受け取ると、サービス用ネットワーク3に“根拠の無いARP(GratuitousARP)”を送信する。この時の宛先MACアドレスフィールドおよび送信元MACアドレスフィールドは、仮想イーサネット(登録商標)層13からの指示によるが、送信元MACアドレスフィールドは、クライアント2がアクセスしようとしたサービス20が動作しているノード1のMACアドレスであり、仮想イーサネット(登録商標)層13から受け取ったノード情報からMACアドレステーブル23を参照して取得する。一方、宛先MACアドレスフィールドは、当該ノード1上のサービス20にアクセスしようとしたクライアント2のMACアドレスである。   Further, upon receiving a transmission request for “unfounded ARP (Gratuitous ARP)” from the virtual Ethernet (registered trademark) layer 13, it transmits “unfounded ARP (Gratuitous ARP)” to the service network 3. The destination MAC address field and the transmission source MAC address field at this time are based on an instruction from the virtual Ethernet (registered trademark) layer 13, but the service 20 that the client 2 tried to access is operating in the transmission source MAC address field. The MAC address of the node 1 is obtained by referring to the MAC address table 23 from the node information received from the virtual Ethernet (registered trademark) layer 13. On the other hand, the destination MAC address field is the MAC address of the client 2 trying to access the service 20 on the node 1.

なお、以上のARP応答、“根拠の無いARP(GratuitousARP)”の送信元IPアドレスフィールドは、すべてノード1群が共有するIPアドレスである。   Note that the source IP address field of the above ARP response, “Unconditional ARP (Gratuitous ARP)” is an IP address shared by the node 1 group.

また、生存確認処理部16は、他ノード1との間の定期的な生存確認メッセージのやり取りを行う。あるノード1との生存確認が途切れた場合、SSマップ21、CSマップ22、MACアドレステーブル23の当該ノード1に関するエントリを全て破棄する。具体的には以下の処理を行う。   In addition, the survival confirmation processing unit 16 exchanges a periodic survival confirmation message with another node 1. When the existence confirmation with a certain node 1 is interrupted, all entries related to the node 1 in the SS map 21, CS map 22, and MAC address table 23 are discarded. Specifically, the following processing is performed.

ノード1が起動した後、定期的な生存確認メッセージの送信を開始する。つまり、制御用ネットワーク4に生存確認メッセージをブロードキャストする。生存確認メッセージに自身のノード識別子と、サービス用ネットワーク3に接続しているネットワークインタフェースに付与されているMACアドレスとを含める。このようにすることで、他のノード1へ自身のMACアドレスを通知する。   After node 1 is activated, transmission of a periodic survival confirmation message is started. That is, a survival confirmation message is broadcast to the control network 4. The existence confirmation message includes its own node identifier and the MAC address assigned to the network interface connected to the service network 3. In this way, the other node 1 is notified of its own MAC address.

一方、制御用ネットワーク4から生存確認メッセージを受信したら、この生存確認メッセージからノード識別子とMACアドレスを取り出し、これらのエントリがMACアドレステーブル23になければ登録し、既に登録されていれば何もしない。   On the other hand, when the existence confirmation message is received from the control network 4, the node identifier and the MAC address are extracted from the existence confirmation message, and if these entries are not in the MAC address table 23, they are registered. If they are already registered, nothing is done. .

そして、一定時間以上、あるノード1から生存確認メッセージを受信しなかったら、SSマップ21、CSマップ22、MACアドレステーブル23のそのノード1に関するエントリを全て削除する。   If a survival confirmation message is not received from a certain node 1 for a certain time or longer, all entries related to that node 1 in the SS map 21, CS map 22, and MAC address table 23 are deleted.

ここで、より具体的な例を挙げて、各クライアント2およびノード1間の相互作用、各種情報の流れを説明する。以下の説明で使用する構成の全体を図8に、その時点での各ノード1のSSマップ21、CSマップ22、MACアドレステーブル23の状態をそれぞれ図9(ノード(0)1の状態)および図10(ノード(1)1の状態)に示す。   Here, the interaction between each client 2 and the node 1 and the flow of various information will be described with a more specific example. The entire configuration used in the following description is shown in FIG. 8, and the SS map 21, CS map 22, and MAC address table 23 of each node 1 at that time are shown in FIG. 9 (state of the node (0) 1) and This is shown in FIG. 10 (state of node (1) 1).

図8に示す通り、ここでは、ノード1は2つで、MACアドレスとして、それぞれMAC-A、MAC-Bを持つ。一方、IPアドレスは、192.168.1.1で、2つのノード1はこれを共有している。また、ノード(0)1がマスタである。   As shown in FIG. 8, here, there are two nodes 1, each having MAC-A and MAC-B as MAC addresses. On the other hand, the IP address is 192.168.1.1, and the two nodes 1 share this. Node (0) 1 is the master.

また、図9、図10に示す通り、双方のノード1上でNFSサービス20、CIFSサービス20が、ノード(0)1上でHTTPサービス20が、ノード(1)1上でDNSサービス20が動作しており、更に、クライアント(0)2はノード(0)1上のサービス(0)20、即ち、NFSサービス20に、クライアント(1)2はノード(1)1上のサービス(1)20、即ち、CIFSサービス20にアクセスしている状態である。一方、クライアント(2)2、クライアント(3)2は何れのノード1上のサービス20にもアクセスしていない状態である。なお、各サービスの概要は以下の通りである。   Further, as shown in FIGS. 9 and 10, the NFS service 20 and the CIFS service 20 operate on both nodes 1, the HTTP service 20 operates on the node (0) 1, and the DNS service 20 operates on the node (1) 1. Further, the client (0) 2 is the service (0) 20 on the node (0) 1, that is, the NFS service 20, and the client (1) 2 is the service (1) 20 on the node (1) 1. That is, the CIFS service 20 is being accessed. On the other hand, the client (2) 2 and the client (3) 2 are not accessing the service 20 on any node 1. The outline of each service is as follows.

(a)NFSサービス(サービス識別子=0)
NFS(Network File System)を提供するサーバプログラム。
(A) NFS service (service identifier = 0)
A server program that provides NFS (Network File System).

(b)CIFSサービス(サービス識別子=1)
CIFS(Common Internet File System)を提供するサーバプログラム。
(B) CIFS service (service identifier = 1)
A server program that provides CIFS (Common Internet File System).

(c)HTTPサービス(サービス識別子=2)
HTTP(Hyper Text Transfer Protocol)サービスを提供するプログラム。
(C) HTTP service (service identifier = 2)
A program that provides HTTP (Hyper Text Transfer Protocol) services.

(d)DNSサービス(サービス識別子=3)
DNS(Domain Name service)サービスを提供するプログラム。
(D) DNS service (service identifier = 3)
A program that provides DNS (Domain Name service) services.

次に、クライアント2からのアクセスに応じたノード(0)1およびノード(1)1の動作手順と生存確認処理部16関連の動作手順とをケース別に説明する。なお、ノード1内の各機能の処理については既述の通りであるので、ここでは詳述しない。   Next, the operation procedure of the node (0) 1 and the node (1) 1 according to the access from the client 2 and the operation procedure related to the survival confirmation processing unit 16 will be described for each case. Since the processing of each function in the node 1 is as described above, it will not be described in detail here.

(1)既知のクライアント2からARP要求を受信した場合
クライアント(0)2が192.168.1.1に対するARP要求をサービス用ネットワーク3へブロードキャストした場合、ノード(0)1、ノード(1)1はそれぞれ以下の処理を行う。
(1) When ARP request is received from known client 2 When client (0) 2 broadcasts an ARP request for 192.168.1.1 to service network 3, node (0) 1 and node (1) 1 are respectively Perform the process.

(a)ノード(0)1
CSマップ22を参照し、クライアント(0)2が自ノード1上のサービス(0)20にアクセスしていることから、送信元MACアドレスフィールドを自ノードのMACアドレスMAC-Aに、宛先MACアドレスフィールドをクライアント(0)2のMACアドレスに設定し、ARP応答を送信する。
(A) Node (0) 1
Since the client (0) 2 is accessing the service (0) 20 on the own node 1 with reference to the CS map 22, the source MAC address field is set to the MAC address MAC-A of the own node, and the destination MAC address The field is set to the MAC address of the client (0) 2 and an ARP response is transmitted.

(b)ノード(1)1
CSマップ22を参照し、クライアント(0)が自ノード1上のサービス20にはアクセスしていないことから、何もしない。
(B) Node (1) 1
With reference to the CS map 22, the client (0) does not access the service 20 on the own node 1, so nothing is done.

(2)未知のクライアント2からARP要求を受信した場合
クライアント(2)2が192.168.1.1に対するARP要求をサービス用ネットワーク3へブロードキャストした場合、ノード(0)1、ノード(1)1はそれぞれ以下の処理を行う。
(2) When an ARP request is received from an unknown client 2 When the client (2) 2 broadcasts an ARP request for 192.168.1.1 to the service network 3, the node (0) 1 and the node (1) 1 are respectively Perform the process.

(a)ノード(0)1
ノード(0)1はマスタなので、送信元MACアドレスフィールドを自ノード1のMACアドレスMAC-Aに、宛先MACアドレスフィールドをクライアント(2)2のMACアドレスに設定し、ARP応答を送信する。
(A) Node (0) 1
Since the node (0) 1 is a master, the source MAC address field is set to the MAC address MAC-A of the own node 1, the destination MAC address field is set to the MAC address of the client (2) 2, and an ARP response is transmitted.

(b)ノード(1)1
ノード(1)はスレーブなので、未知の(CSマップ22に登録されていない)クライアント(2)2からのARP要求を受信しても何もしない。
(B) Node (1) 1
Since the node (1) is a slave, it does nothing even if it receives an ARP request from an unknown client (2) 2 (not registered in the CS map 22).

(3)既知のクライアント2から自ノード1上のサービス20へのパケットを受信した場合
クライアント(0)2のARPテーブル(各クライアント2がARP処理を行うために備えるテーブル)にて、192.168.1.1に対するMACアドレスとしてMAC-Aのエントリがある状態で、クライアント(0)2がサービス(0:NFSサービス)20にアクセスした場合、ノード(0)1がクライアント(0)2からのパケットを受信する。
(3) When a packet from the known client 2 to the service 20 on the own node 1 is received In the ARP table of the client (0) 2 (a table prepared for each client 2 to perform ARP processing), 192.168.1.1 When the client (0) 2 accesses the service (0: NFS service) 20 with the MAC-A entry as the MAC address for the node, the node (0) 1 receives the packet from the client (0) 2 .

ノード(0)1はCSマップ22を参照し、クライアント(0)2が自ノード1上のサービス(0)20にアクセス中であることを確認し、当該パケットを自ノード1上のサービス(0)20に送信する。つまり、ノード(0)1がクライアント(0)2に対してサービス(0)20のサービスを提供することとなる。   The node (0) 1 refers to the CS map 22, confirms that the client (0) 2 is accessing the service (0) 20 on the own node 1, and sends the packet to the service (0 on the own node 1). ) 20. That is, the node (0) 1 provides the service (0) 20 to the client (0) 2.

(4)既知のクライアント2から他ノード1上のサービス20へのパケットを受信した場合
クライアント1のARPテーブルにて、192.168.1.1に対するMACアドレスとしてMAC-Aのエントリがある状態で、クライアント(1)2がサービス(1:CIFSサービス)20にアクセスした場合、ノード(0)1がクライアント(1)2からのパケットを受信する。
(4) When a packet from the known client 2 to the service 20 on the other node 1 is received In the client 1 ARP table, with the MAC-A entry as the MAC address for 192.168.1.1, the client (1 ) 2 accesses the service (1: CIFS service) 20, the node (0) 1 receives the packet from the client (1) 2.

ノード(0)1はCSマップ22を参照し、クライアント(1)2がノード(1)1上のサービス(1)20にアクセス中であることを確認し、制御用ネットワーク4経由で当該パケットをノード1に転送する。   The node (0) 1 refers to the CS map 22, confirms that the client (1) 2 is accessing the service (1) 20 on the node (1) 1, and sends the packet via the control network 4. Transfer to node 1.

また、MACアドレステーブル23からノード(1)1のMACアドレスを読み出し、送信元MACアドレスフィールドをノード(1)1のMACアドレスに、宛先MACアドレスフィールドをクライアント(1)2のMACアドレスに設定し、“根拠の無いARP(GratuitousARP)”を送信する。   Also, the MAC address of the node (1) 1 is read from the MAC address table 23, the source MAC address field is set to the MAC address of the node (1) 1, and the destination MAC address field is set to the MAC address of the client (1) 2. , “Unfounded ARP (Gratuitous ARP)” is transmitted.

このように“根拠の無いARP(GratuitousARP)”を送信することで、次回のクライアント(1)2からの192.168.1.1のサービス(1)20へのパケットはノード(1)1で受信されるはずである。一方、ノード(0)1から、クライアント(1)2からのパケットを転送されたノード(1)1は、そのパケットを自ノード1上のサービス(1)20に送信する。つまり、ノード(1)1がクライアント(1)2に対してサービス(1)20のサービスを提供することとなる。   In this way, by transmitting “Unconditional ARP (Gratuitous ARP)”, the next packet from the client (1) 2 to the service (1) 20 of 192.168.1.1 should be received by the node (1) 1 It is. On the other hand, the node (1) 1 to which the packet from the client (1) 2 is transferred from the node (0) 1 transmits the packet to the service (1) 20 on the own node 1. That is, the node (1) 1 provides the service (1) 20 to the client (1) 2.

なお、サービス(1)20からのクライアント(1)2への折り返しのパケットは、ノード(1)1から直接クライアント(1)2に送信し、ノード(0)1への転送は行わない。   The return packet from the service (1) 20 to the client (1) 2 is directly transmitted from the node (1) 1 to the client (1) 2, and is not transferred to the node (0) 1.

(5)未知のクライアント2から自ノード1上のみにあるサービス20へのパケットを受信した場合
クライアント(2)2のARPテーブルにて、192.168.1.1に対するMACアドレスとしてMAC-Aのエントリがある状態で、クライアント(2)2がサービス(2:HTTPサービス)20にアクセスした場合、ノード(0)1がクライアント(2)2からのパケットを受信する。
(5) When a packet is received from an unknown client 2 to the service 20 only on its own node 1 In the ARP table of client (2) 2, there is an entry for MAC-A as the MAC address for 192.168.1.1 When the client (2) 2 accesses the service (2: HTTP service) 20, the node (0) 1 receives the packet from the client (2) 2.

ノード(0)1は、CSマップ22を参照し、クライアント(2)2は何れのノード1上のサービス20にもアクセス中ではないことを確認する。次に、ノード(0)1は、SSマップ21を参照し、自ノード1上でサービス(2)20が動作していることを確認すると、クライアント(2)2からのパケットをサービス(2)20へ送信する。つまり、ノード(0)1がクライアント(2)2に対してサービス(2)20のサービスを提供することとなる。また、クライアント(2)2、自ノード1のノード識別子、サービス識別子(2)のエントリを自ノード1のCSマップ22に登録すると共に、これらの情報をCSマップ登録メッセージに格納し、制御用ネットワーク4経由で他ノード1に送信する。   The node (0) 1 refers to the CS map 22 and confirms that the client (2) 2 is not accessing the service 20 on any node 1. Next, when the node (0) 1 refers to the SS map 21 and confirms that the service (2) 20 is operating on the node 1 itself, the node (0) 1 sends the packet from the client (2) 2 to the service (2). 20 is transmitted. That is, the node (0) 1 provides the service (2) 20 to the client (2) 2. The client (2) 2, the node identifier of the own node 1, and the service identifier (2) entry are registered in the CS map 22 of the own node 1, and the information is stored in the CS map registration message, and the control network 4 to the other node 1.

制御用ネットワーク4経由でCSマップ登録メッセージを受け取った他ノード1(ここではノード(1)1)は、CSマップ登録メッセージからクライアント、ノード識別子、サービス識別子の情報を取り出し、これらのエントリが自ノード1上のCSマップ22に登録されていなければ登録し、既に登録されていれば登録を行わない。   The other node 1 (here, node (1) 1) that has received the CS map registration message via the control network 4 extracts the client, node identifier, and service identifier information from the CS map registration message. If it is not registered in the CS map 22 on 1, it is registered. If it is already registered, registration is not performed.

以上の処理が完了した後のノード(0)1、ノード(1)1双方のCSマップ22は、図11のようになる。   The CS maps 22 of both the node (0) 1 and the node (1) 1 after the above processing is completed are as shown in FIG.

(6)未知のクライアント2から他ノード1上のみにあるサービス20へのパケットを受信した場合
クライアント(3)2のARPテーブルにて、192.168.1.1に対するMACアドレスとしてMAC-Aのエントリがある状態で、クライアント(3)2がサービス(3:DNSサービス)20にアクセスした場合、ノード(0)1がクライアント(3)2からのパケットを受信する。
(6) When a packet is received from an unknown client 2 to the service 20 that is only on the other node 1 In the ARP table of the client (3) 2, there is an entry for MAC-A as the MAC address for 192.168.1.1 When the client (3) 2 accesses the service (3: DNS service) 20, the node (0) 1 receives the packet from the client (3) 2.

ノード(0)1は、CSマップ22を参照し、クライアント(3)2は何れのノード1上のサービス20にもアクセス中ではないことを確認する。次に、ノード(0)1は、SSマップ21を参照し、ノード(1)1上でサービス(3)20が動作していることを確認すると、クライアント(3)2からのパケットを制御用ネットワーク4経由でノード(1)1へ転送する。   The node (0) 1 refers to the CS map 22 and confirms that the client (3) 2 is not accessing the service 20 on any node 1. Next, the node (0) 1 refers to the SS map 21, confirms that the service (3) 20 is operating on the node (1) 1, and controls the packet from the client (3) 2 for control. Transfer to node (1) 1 via network 4.

また、MACアドレステーブルからノード(1)1のMACアドレスを読み出し、送信元MACアドレスフィールドをノード(1)1のMACアドレスに、宛先MACアドレスフィールドをクライアント(3)2のMACアドレスに設定し、“根拠の無いARP(GratuitousARP)”を送信する。   Further, the MAC address of the node (1) 1 is read from the MAC address table, the source MAC address field is set to the MAC address of the node (1) 1, and the destination MAC address field is set to the MAC address of the client (3) 2. “Unfounded ARP (Gratuitous ARP)” is transmitted.

このように“根拠の無いARP(GratuitousARP)”を送信することで、次回のクライアント(3)2からの192.168.1.1のサービス(3)20へのパケットはノード(1)1で受信されるはずである。一方、ノード(0)1から、クライアント(3)2からのパケットを転送されたノード(1)1は、そのパケットを自ノード1上のサービス(3)20に送信する。つまり、ノード(1)1がクライアント(3)2に対してサービス(3)20のサービスを提供することとなる。   In this way, by transmitting “Gratuitous ARP”, the packet from the next client (3) 2 to the service (3) 20 of 192.168.1.1 should be received by the node (1) 1 It is. On the other hand, the node (1) 1 to which the packet from the client (3) 2 has been transferred from the node (0) 1 transmits the packet to the service (3) 20 on its own node 1. That is, the node (1) 1 provides the service (3) 20 to the client (3) 2.

なお、サービス(3)20からのクライアント(3)2への折り返しのパケットは、ノード(1)1から直接クライアント(3)2に送信し、ノード(0)1への転送は行わない。更に、ノード(1)1は、クライアント(3)2、自ノード1のノード識別子、サービス識別子(3)のエントリを自ノード1のCSマップ22に登録すると共に、これらの情報をCSマップ登録メッセージに格納し、制御用ネットワーク4経由で他ノード1に送信する。   Note that the return packet from the service (3) 20 to the client (3) 2 is transmitted directly from the node (1) 1 to the client (3) 2, and is not transferred to the node (0) 1. Further, the node (1) 1 registers the entry of the client (3) 2, the node identifier of the own node 1, and the service identifier (3) in the CS map 22 of the own node 1, and sends these information to the CS map registration message. And transmitted to the other node 1 via the control network 4.

制御用ネットワーク4経由でCSマップ登録メッセージを受け取った他ノード1(ここではノード(0)1)は、CSマップ登録メッセージからクライアント、ノード識別子、サービス識別子の情報を取り出し、これらのエントリが自ノード1上のCSマップ22に登録されていなければ登録し、既に登録されていれば登録を行わない。   The other node 1 (here, node (0) 1) that has received the CS map registration message via the control network 4 extracts the client, node identifier, and service identifier information from the CS map registration message. If it is not registered in the CS map 22 on 1, it is registered. If it is already registered, registration is not performed.

以上の処理が完了した後のノード(0)1、ノード(1)1双方のCSマップ22は、図12のようになる。   The CS map 22 of both the node (0) 1 and the node (1) 1 after the above processing is completed is as shown in FIG.

(7)未知のクライアント2から自ノード1および他ノード1上にあるサービス20へのパケットを受信した場合であって、かつ、自ノード1上のサービス20へは他のクライアント2がアクセス中である場合
クライアント(4)2のARPテーブルにて、192.168.1.1に対するMACアドレスとしてMAC-Aのエントリがある状態で、クライアント(4)2がサービス(0:NFSサービス)20にアクセスした場合、ノード(0)1がクライアント(4)2からのパケットを受信する。
(7) When a packet from the unknown client 2 to the service 20 on the own node 1 and the other node 1 is received, and another client 2 is accessing the service 20 on the own node 1 When there is an entry of MAC-A as the MAC address for 192.168.1.1 in the ARP table of client (4) 2, when client (4) 2 accesses service (0: NFS service) 20, (0) 1 receives a packet from client (4) 2.

ノード(0)1は、CSマップ22を参照し、クライアント(4)2は何れのノード1上のサービス20にもアクセス中ではないことを確認する。次に、ノード(0)1は、SSマップ21を参照し、ノード(0)1、ノード(1)1双方でサービス(0)20が動作していることを確認する。更に、ノード(0)1は、CSマップ22を参照し、ノード(0:自ノード)1上のサービス(0)20には既に他のクライアント2(クライアント(0)2)がアクセスしており、一方、ノード(1)1上のサービス(0)20にはクライアント2からのアクセスが無いことを確認する。その結果、ノード(1)1上のサービス(0)20の方がクライアント2からのアクセスが少ないので、クライアント(4)20からのパケットを制御用ネットワーク4経由でノード(1)1へ転送する。   The node (0) 1 refers to the CS map 22 and confirms that the client (4) 2 is not accessing the service 20 on any node 1. Next, the node (0) 1 refers to the SS map 21, and confirms that the service (0) 20 is operating in both the node (0) 1 and the node (1) 1. Further, the node (0) 1 refers to the CS map 22, and the other client 2 (client (0) 2) has already accessed the service (0) 20 on the node (0: own node) 1. On the other hand, it is confirmed that the service (0) 20 on the node (1) 1 has no access from the client 2. As a result, since the service (0) 20 on the node (1) 1 has less access from the client 2, the packet from the client (4) 20 is transferred to the node (1) 1 via the control network 4. .

また、MACアドレステーブルからノード(1)1のMACアドレスを読み出し、送信元MACアドレスフィールドをノード(1)のMACアドレスに、宛先MACアドレスフィールドをクライアント(4)2のMACアドレスに設定し、“根拠の無いARP(GratuitousARP)”を送信する。   Also, the MAC address of the node (1) 1 is read from the MAC address table, the source MAC address field is set to the MAC address of the node (1), the destination MAC address field is set to the MAC address of the client (4) 2, and “ Send ARP (Gratuitous ARP) ".

このように“根拠の無いARP(GratuitousARP)”を送信することで、次回のクライアント(4)2からの192.168.1.1のサービス(0)20へのパケットはノード(1)1で受信されるはずである。一方、ノード(0)1から、クライアント(4)2からのパケットを転送されたノード(1)1は、そのパケットを自ノード1上のサービス(0)20に送信する。つまり、ノード(1)1がクライアント(4)2に対してサービス(0)20のサービスを提供することとなる。   In this way, by transmitting “Unconditional ARP (Gratuitous ARP)”, the next packet from the client (4) 2 to the service (0) 20 of 192.168.1.1 should be received by the node (1) 1 It is. On the other hand, the node (1) 1 to which the packet from the client (4) 2 is transferred from the node (0) 1 transmits the packet to the service (0) 20 on its own node 1. That is, the node (1) 1 provides the service (0) 20 to the client (4) 2.

なお、サービス(0)20からのクライアント(4)2への折り返しのパケットは、ノード(1)1から直接クライアント(4)2に送信し、ノード(0)1への転送は行わない。更に、ノード(1)1は、クライアント(4)2、自ノード1のノード識別子、サービス識別子(0)のエントリを自ノード1のCSマップ22に登録すると共に、これらの情報をCSマップ登録メッセージに格納し、制御用ネットワーク4経由で他ノード1に送信する。   Note that the return packet from the service (0) 20 to the client (4) 2 is transmitted directly from the node (1) 1 to the client (4) 2, and is not transferred to the node (0) 1. Further, the node (1) 1 registers the entry of the client (4) 2, the node identifier of the own node 1, and the service identifier (0) in the CS map 22 of the own node 1, and sends these information to the CS map registration message. And transmitted to the other node 1 via the control network 4.

制御用ネットワーク4経由でCSマップ登録メッセージを受け取った他ノード1(ここではノード(0)1)は、CSマップ登録メッセージからクライアント、ノード識別子、サービス識別子の情報を取り出し、これらのエントリが自ノード1上のCSマップ22に登録されていなければ登録し、既に登録されていれば登録を行わない。   The other node 1 (here, node (0) 1) that has received the CS map registration message via the control network 4 extracts the client, node identifier, and service identifier information from the CS map registration message. If it is not registered in the CS map 22 on 1, it is registered. If it is already registered, registration is not performed.

以上の処理が完了した後のノード(0)1、ノード(1)1双方のCSマップ22は、図13のようになる。   The CS maps 22 of both the node (0) 1 and the node (1) 1 after the above processing is completed are as shown in FIG.

なお、クライアント2からのアクセスを自ノード1のサービス20に送信するか、制御用ネットワーク4経由で他ノード1に転送するかを決定するアルゴリズムとして、上記では、アクセスを受けたサービス20へ既にアクセスしているクライアント2の数を判断基準にしたものを用いているが、他のアルゴリズムも使用可能であり、例えば、単純にラウンドロビンで転送先ノードを決めたり、上記のようなサービス単位のクライアント2からのアクセス数ではなく、ノード1単位のクライアント2からのアクセス数を元に判断することも可能である。   Note that, as an algorithm for determining whether the access from the client 2 is transmitted to the service 20 of the own node 1 or transferred to the other node 1 via the control network 4, the access to the service 20 that has received the access has already been described above. However, other algorithms can also be used. For example, the transfer destination node is simply determined by round robin, or the above-mentioned service unit client. It is also possible to make a determination based on the number of accesses from the client 2 in the unit of node 1 instead of the number of accesses from 2.

(8)未知のクライアント2から自ノード1および他ノード1上にあるサービス20へのパケットを受信した場合であって、かつ、他ノード1上のサービス20へは他のクライアント2がアクセス中である場合
クライアント(5)2のARPテーブルにて、192.168.1.1に対するMACアドレスとしてMAC-Aのエントリがある状態で、クライアント(5)2がサービス(1:CIFSサービス)20にアクセスした場合、ノード(0)1がクライアント(5)2からのパケットを受信する。
(8) When a packet from the unknown client 2 to the service 20 on the own node 1 and the other node 1 is received, and another client 2 is accessing the service 20 on the other node 1 When there is an entry of MAC-A as the MAC address for 192.168.1.1 in the ARP table of client (5) 2, when client (5) 2 accesses service (1: CIFS service) 20, (0) 1 receives the packet from client (5) 2.

ノード(0)1は、CSマップ22を参照し、クライアント(5)2は何れのノード1上のサービス20にもアクセス中ではないことを確認する。次に、ノード(0)1は、SSマップ21を参照し、ノード(0)1、ノード(1)1双方でサービス(1)20が動作していることを確認する。更に、ノード(0)1は、CSマップ22を参照し、ノード(1:他ノード)1上のサービス(1)20には既に他のクライアント2(クライアント(1)2)がアクセスしており、一方、自ノード1上のサービス(1)20にはクライアント2からのアクセスが無いことを確認する。その結果、自ノード1上のサービス(1)20の方がクライアント2からのアクセスが少ないので、クライアント(5)2からのパケットを自ノード1のサービス(1)20へ送信する。つまり、ノード(0)1がクライアント(5)2に対してサービス(1)20のサービスを提供することとなる。   The node (0) 1 refers to the CS map 22 and confirms that the client (5) 2 is not accessing the service 20 on any node 1. Next, the node (0) 1 refers to the SS map 21 and confirms that the service (1) 20 is operating in both the node (0) 1 and the node (1) 1. Further, the node (0) 1 refers to the CS map 22, and the other client 2 (client (1) 2) has already accessed the service (1) 20 on the node (1: other node) 1. On the other hand, it is confirmed that there is no access from the client 2 to the service (1) 20 on the own node 1. As a result, since the service (1) 20 on the own node 1 has less access from the client 2, the packet from the client (5) 2 is transmitted to the service (1) 20 of the own node 1. That is, the node (0) 1 provides the service (1) 20 to the client (5) 2.

また、クライアント(5)2、自ノード1のノード識別子、サービス識別子1のエントリを自ノード1のCSマップ22に登録すると共に、これらの情報をCSマップ登録メッセージに格納し、制御用ネットワーク4経由で他ノード1に送信する。   In addition, the client (5) 2, the node identifier of the own node 1, and the entry of the service identifier 1 are registered in the CS map 22 of the own node 1, and these pieces of information are stored in the CS map registration message and passed through the control network 4. To the other node 1.

制御用ネットワーク4経由でCSマップ登録メッセージを受け取った他ノード1(ここではノード(1)1)は、CSマップ登録メッセージからクライアント、ノード識別子、サービス識別子の情報を取り出し、これらのエントリが自ノード1上のCSマップ22に登録されていなければ登録し、既に登録されていれば登録を行わない。   The other node 1 (here, node (1) 1) that has received the CS map registration message via the control network 4 extracts the client, node identifier, and service identifier information from the CS map registration message. If it is not registered in the CS map 22 on 1, it is registered. If it is already registered, registration is not performed.

以上の処理が完了した後のノード(0)1、ノード(1)1双方のCSマップ22は、図14のようになる。   The CS maps 22 of both the node (0) 1 and the node (1) 1 after the above processing is completed are as shown in FIG.

(9)ノード1がダウンした場合
ノード(0)1は、ノード(1)1からの生存確認メッセージを一定時間以上受信しないため、自身のSSマップ21、CSマップ22、MACアドレステーブル23からノード(1)に関するエントリを全て削除する。
(9) When node 1 goes down Since node (0) 1 does not receive the survival confirmation message from node (1) 1 for a certain period of time, the node from its own SS map 21, CS map 22, and MAC address table 23 Delete all entries related to (1).

以上の処理が完了した後のノード(0)1のSSマップ21、CSマップ22、MACアドレステーブル23は、図15のようになる。   The SS map 21, CS map 22, and MAC address table 23 of the node (0) 1 after the above processing is completed are as shown in FIG.

なお、ノード(1)1ダウン後も、このノード(1)1上のみで動作していたサービス(3)20以外のサービス20については、ノード(0)1にて引き継いでクライアント2に提供することが可能である。   Note that the service 20 other than the service (3) 20 operating only on the node (1) 1 even after the node (1) 1 is down is taken over by the node (0) 1 and provided to the client 2. It is possible.

このように、本サーバシステムでは、各ノード(サーバ)1が協働して、クライアント2に対するサービス20の提供を負荷分散し、ノード1群の前段に負荷分散装置を設置すること無く、かつ、単一のIPアドレスのみの使用で、複数ノード1を論理的に単一のノード1に見せることを可能とする。   In this way, in this server system, each node (server) 1 cooperates to load distribute the provision of the service 20 to the client 2, without installing a load distribution device in the preceding stage of the node 1 group, and Using only a single IP address allows multiple nodes 1 to appear logically to a single node 1.

なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。   Note that the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying the components without departing from the scope of the invention in the implementation stage. In addition, various inventions can be formed by appropriately combining a plurality of components disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, constituent elements over different embodiments may be appropriately combined.

本発明の一実施形態に係るサーバシステムの全体構成を示す図The figure which shows the whole structure of the server system which concerns on one Embodiment of this invention. 同実施形態のサーバシステムのノード(サーバ)の構成を表す図The figure showing the structure of the node (server) of the server system of the embodiment 同実施形態のサーバシステムのノードが備えるSS(サーバ−サービス)マップの構成を示す図The figure which shows the structure of SS (server-service) map with which the node of the server system of the embodiment is provided. 同実施形態のサーバシステムのノードが備えるCS(クライアント−サービス)マップの構成を示す図The figure which shows the structure of CS (client-service) map with which the node of the server system of the embodiment is provided. 同実施形態のサーバシステムのノードが備えるMACアドレステーブルの構成を示す図The figure which shows the structure of the MAC address table with which the node of the server system of the embodiment is provided. 同実施形態のサーバシステムのノードの仮想イーサネット(登録商標)層で実行される制御情報の処理フローProcessing flow of control information executed in virtual Ethernet (registered trademark) layer of node of server system of same embodiment 同実施形態のサーバシステムのノードの仮想イーサネット(登録商標)層で実行されるクライアントからのアクセス(パケット)の処理フローProcessing flow of access (packet) from client executed in virtual Ethernet (registered trademark) layer of node of server system of same embodiment 同実施形態のサーバシステムにおける各クライアントおよびノード間の相互作用、各種情報の流れを説明するための全体構成図Overall configuration diagram for explaining the interaction between each client and node and the flow of various information in the server system of the embodiment 図8のサーバシステムにおけるノード(0)のSSマップ、CSマップ、MACアドレステーブルの状態を示す図The figure which shows the state of SS map, CS map, and MAC address table of the node (0) in the server system of FIG. 図9のサーバシステムにおけるノード(1)のSSマップ、CSマップ、MACアドレステーブルの状態を示す図The figure which shows the state of SS map, CS map, and MAC address table of the node (1) in the server system of FIG. ノード(0)が未知のクライアント(2)から自ノード(0)上のみにあるサービス(2)へのパケットを受信した場合の処理後のノード(0)、ノード(1)のCSマップの状態を示す図State of CS map of node (0) and node (1) after processing when node (0) receives a packet from unknown client (2) to service (2) only on its own node (0) Figure showing ノード(0)が未知のクライアント(3)から他ノード(1)上のみにあるサービス(3)へのパケットを受信した場合の処理後のノード(0)、ノード(1)のCSマップの状態を示す図Status of CS map of node (0) and node (1) after processing when node (0) receives a packet from unknown client (3) to service (3) only on other node (1) Figure showing ノード(0)が未知のクライアント(4)から自ノード(0)および他ノード(1)上にあるサービス(4)へのパケットを受信した場合であって、かつ、自ノード(0)上のサービス(4)へは他のクライアント(0)がアクセス中である場合の処理後のノード(0)、ノード(1)のCSマップの状態を示す図When node (0) receives a packet from unknown client (4) to service (4) on its own node (0) and other node (1), and on its own node (0) The figure which shows the state of CS map of the node (0) after a process in case the other client (0) is accessing the service (4), and a node (1) ノード(0)が未知のクライアント(5)から自ノード(0)および他ノード(1)上にあるサービス(1)へのパケットを受信した場合であって、かつ、他ノード(1)上のサービス(1)へは他のクライアント(1)がアクセス中である場合の処理後のノード(0)、ノード(1)のCSマップの状態を示す図When the node (0) receives a packet from the unknown client (5) to the service (1) on the own node (0) and the other node (1), and on the other node (1) The figure which shows the state of CS map of node (0) after a process in case the other client (1) is accessing service (1) and node (1) ノード(1)がダウンした場合におけるノード(0)のSSマップ、CSマップ、MACアドレステーブルの状態を示す図The figure which shows the state of SS map, CS map, and MAC address table of node (0) when node (1) goes down

符号の説明Explanation of symbols

1…ノード、2…クライアント、3…サービス用ネットワーク、4…制御用ネットワーク、11…ネットワークインタフェース、12…イーサネット(登録商標)ドライバ、13…仮想イーサネット(登録商標)層、14…イーサネット(登録商標)層、15…TCP/IP、16…生存確認処理部、17…イーサネット(登録商標)ドライバ、18…ネットワークインタフェース、19…ARP処理部、20…サービス、21…SSマップ、22…CSマップ、23…MACアドレステーブル。   DESCRIPTION OF SYMBOLS 1 ... Node, 2 ... Client, 3 ... Service network, 4 ... Control network, 11 ... Network interface, 12 ... Ethernet (trademark) driver, 13 ... Virtual Ethernet (trademark) layer, 14 ... Ethernet (trademark) ) Layer, 15 ... TCP / IP, 16 ... survival check processing unit, 17 ... Ethernet (registered trademark) driver, 18 ... network interface, 19 ... ARP processing unit, 20 ... service, 21 ... SS map, 22 ... CS map, 23: MAC address table.

Claims (16)

単一のIPアドレスを共有する他のサーバ装置と協働してクライアント装置に対するサービスの提供を行うサーバ装置であって、
前記クライアント装置からのパケットを前記他のサーバ装置に転送するパケット転送手段と、
前記パケット転送手段によるパケットの転送が行われた場合に、そのパケットの送信元である前記クライアント装置のMACアドレスを送信先アドレスとし、かつ、そのパケットの転送先である前記他のサーバ装置のMACアドレスを送信元MACアドレスとするGratuitousARP(Address Resolution Protocol)を、そのパケットの送信元である前記クライアント装置に送信するARP処理手段と
を具備することを特徴とするサーバ装置。
A server device that provides a service to a client device in cooperation with another server device sharing a single IP address,
Packet transfer means for transferring a packet from the client device to the other server device;
When a packet is transferred by the packet transfer means, the MAC address of the client device that is the transmission source of the packet is used as a transmission destination address, and the MAC of the other server device that is the transfer destination of the packet A server apparatus comprising: ARP processing means for transmitting Gratuitous ARP (Address Resolution Protocol) having an address as a transmission source MAC address to the client apparatus that is a transmission source of the packet .
前記IPアドレスを共有するすべてのサーバ装置とそのサーバ装置が提供するサービスとの対応づけを示すマッピング情報を管理するSSマップ管理手段を具備し、
前記パケット転送手段は、前記クライアント装置が要求するサービスを提供するサーバ装置を前記SSマップ管理手段で管理されるマッピング情報から取得し、そのサーバ装置にパケットを転送することを特徴とする請求項1記載のサーバ装置。
Comprising SS map management means for managing mapping information indicating the correspondence between all server devices sharing the IP address and the service provided by the server device;
2. The packet transfer unit acquires a server device that provides a service requested by the client device from mapping information managed by the SS map management unit, and transfers the packet to the server device. The server apparatus of description.
サービスの提供を受けているクライアント装置とそのクライアント装置にサービスを提供するサーバ装置との対応づけを示すマッピング情報を管理するCSマップ管理手段を具備し、
前記パケット転送手段は、サービスを提供するクライアント装置の総数が最も少ないサーバ装置を前記CSマップ管理手段で管理されるマッピング情報から取得し、そのサーバ装置にパケットを転送することを特徴とする請求項1記載のサーバ装置。
CS map management means for managing mapping information indicating a correspondence between a client device receiving a service and a server device providing the service to the client device;
The packet transfer means acquires a server apparatus having the smallest total number of client apparatuses providing a service from mapping information managed by the CS map management means, and transfers the packet to the server apparatus. 1. The server device according to 1.
前記IPアドレスを共有するすべてのサーバ装置とそのサーバ装置が提供するサービスとの対応づけを示すマッピング情報を管理するSSマップ管理手段と、
サービスの提供を受けているクライアント装置とそのクライアント装置にサービスを提供するサーバ装置との対応づけを示すマッピング情報を管理するCSマップ管理手段と
を具備し、
前記パケット転送手段は、前記クライアント装置が要求するサービスを提供するサーバ装置のうち、サービスを提供するクライアント装置の総数が最も少ないサーバ装置を前記SSマップ管理手段で管理されるマッピング情報と前記CSマップ管理手段で管理されるマッピング情報とから取得し、そのサーバ装置にパケットを転送することを特徴とする請求項1記載のサーバ装置。
SS map management means for managing mapping information indicating associations between all server devices sharing the IP address and services provided by the server devices;
CS map management means for managing mapping information indicating a correspondence between a client device receiving a service and a server device providing the service to the client device;
The packet transfer means includes mapping information managed by the SS map management means and the CS map for a server apparatus having the smallest total number of client apparatuses that provide services among server apparatuses that provide services requested by the client apparatuses. 2. The server apparatus according to claim 1, wherein the server apparatus acquires the mapping information managed by the management means and transfers the packet to the server apparatus.
他のサーバ装置との間で生存確認メッセージを送受信する生存確認手段を具備し、
前記SSマップ管理手段は、前記生存確認手段による前記生存確認メッセージの受信が一定期間以上無い他のサーバ装置に関するマッピング情報を削除することを特徴とする請求項2または4記載のサーバ装置。
A survival confirmation means for transmitting / receiving a survival confirmation message to / from another server device is provided,
5. The server device according to claim 2, wherein the SS map management unit deletes mapping information related to another server device that has not received the survival confirmation message by the survival confirmation unit for a certain period of time.
他のサーバ装置との間で生存確認メッセージを送受信する生存確認手段を具備し、
前記CSマップ管理手段は、前記生存確認手段による前記生存確認メッセージの受信が一定期間以上無い他のサーバ装置に関するマッピング情報を削除することを特徴とする請求項3または4記載のサーバ装置。
A survival confirmation means for transmitting / receiving a survival confirmation message to / from another server device is provided,
5. The server apparatus according to claim 3, wherein the CS map management unit deletes mapping information related to another server apparatus that has not received the survival confirmation message by the survival confirmation unit for a predetermined period or longer.
前記生存確認手段による前記生存確認メッセージの受信が一定期間以上無い他のサーバ装置が提供していたサービスの提供を引き継ぐサービス引継手段を具備することを特徴とする請求項5または6記載のサーバ装置。   7. The server apparatus according to claim 5, further comprising a service takeover means that takes over a service provided by another server apparatus that has not received the existence confirmation message by the existence confirmation means for a certain period of time. . 前記パケット転送手段は、前記パケットを転送する他のサーバ装置をラウンドロビンアルゴリズムを用いて選択することを特徴とする請求項1記載のサーバ装置。   2. The server apparatus according to claim 1, wherein the packet transfer unit selects another server apparatus that transfers the packet using a round robin algorithm. 前記パケット転送手段は、前記パケットを転送する他のサーバ装置をランダムに選択することを特徴とする請求項1記載のサーバ装置。   2. The server apparatus according to claim 1, wherein the packet transfer unit randomly selects another server apparatus that transfers the packet. 他のサーバ装置との間で各サーバ装置の状態を示すパラメータを送受信するパラメータ送受信手段を具備し、
前記パケット転送手段は、前記パラメータにより示される各サーバ装置の状態により前記パケットを転送する他のサーバ装置を選択することを特徴とする請求項1記載のサーバ装置。
Comprising parameter transmission / reception means for transmitting / receiving parameters indicating the state of each server device to / from other server devices;
2. The server apparatus according to claim 1, wherein the packet transfer unit selects another server apparatus that transfers the packet according to a state of each server apparatus indicated by the parameter.
前記パラメータは、各サーバ装置のCPU負荷を含み、
前記パケット転送手段は、前記パラメータにより示されるCPU負荷が最も小さいサーバ装置にパケットを転送することを特徴とする請求項10記載のサーバ装置。
The parameter includes the CPU load of each server device,
11. The server apparatus according to claim 10, wherein the packet transfer means transfers a packet to a server apparatus having the smallest CPU load indicated by the parameter.
前記パラメータは、各サーバ装置の記憶媒体に対する入出力負荷を含み、
前記パケット転送手段は、前記パラメータにより示される入出力負荷が最も小さいサーバ装置にパケットを転送することを特徴とする請求項10記載のサーバ装置。
The parameter includes an input / output load on the storage medium of each server device,
11. The server apparatus according to claim 10, wherein the packet transfer means transfers a packet to a server apparatus having the smallest input / output load indicated by the parameter.
マスタおよびスレーブのうちマスタとして動作する場合、前記ARP処理手段は、未知のクライアント装置からのARP要求に対して、自サーバ装置のMACアドレスを送信元MACアドレスとするARP応答を返送することを特徴とする請求項1、2、3、4、5、6、7、8、9、10、11または12記載のサーバ装置。   When operating as a master of a master and a slave, the ARP processing means returns an ARP response with the MAC address of its own server device as a source MAC address in response to an ARP request from an unknown client device. The server apparatus according to claim 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 or 12. 単一のIPアドレスを共有する、請求項1乃至13のいずれかに記載の複数のサーバ装置と、
前記複数のサーバ装置間を接続するための第1のネットワークと、
サービスの提供を受けるクライアント装置と前記複数のサーバ装置との間を接続するための第2のネットワークと
を具備することを特徴とするサーバシステム。
A plurality of server devices according to any one of claims 1 to 13, which share a single IP address;
A first network for connecting the plurality of server devices;
A server system comprising: a client device receiving service provision; and a second network for connecting the plurality of server devices.
単一のIPアドレスを共有する、請求項1乃至13のいずれかに記載の複数のサーバ装置と、
前記複数のサーバ装置間を接続すると共に、サービスの提供を受けるクライアント装置と前記複数のサーバ装置との間を接続するためのネットワークと
を具備することを特徴とするサーバシステム。
A plurality of server devices according to any one of claims 1 to 13, which share a single IP address;
A server system comprising: a connection between the plurality of server devices, and a network for connecting a client device receiving a service and the plurality of server devices.
単一のIPアドレスを共有する複数のサーバ装置でクライアント装置に対するサービスの提供を行うサーバシステムの負荷分散方法であって、
前記複数のサーバ装置それぞれが、
前記クライアント装置からのパケットを他のサーバ装置に転送するステップと、
前記パケットの転送を行った場合に、そのパケットの送信元である前記クライアント装置のMACアドレスを送信先アドレスとし、かつ、そのパケットの転送先である前記他のサーバ装置のMACアドレスを送信元MACアドレスとするGratuitousARPを、そのパケットの送信元である前記クライアント装置に送信するステップと
を具備することを特徴とする負荷分散方法。
A load distribution method for a server system for providing a service to a client device with a plurality of server devices sharing a single IP address,
Each of the plurality of server devices
Transferring a packet from the client device to another server device;
When the packet is transferred, the MAC address of the client device that is the transmission source of the packet is used as the transmission destination address, and the MAC address of the other server device that is the transfer destination of the packet is the transmission source MAC Transmitting a gratuitous ARP as an address to the client device that is the transmission source of the packet .
JP2005072990A 2005-03-15 2005-03-15 Server apparatus, server system, and server system load balancing method Expired - Fee Related JP3930516B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005072990A JP3930516B2 (en) 2005-03-15 2005-03-15 Server apparatus, server system, and server system load balancing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005072990A JP3930516B2 (en) 2005-03-15 2005-03-15 Server apparatus, server system, and server system load balancing method

Publications (2)

Publication Number Publication Date
JP2006259845A JP2006259845A (en) 2006-09-28
JP3930516B2 true JP3930516B2 (en) 2007-06-13

Family

ID=37099073

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005072990A Expired - Fee Related JP3930516B2 (en) 2005-03-15 2005-03-15 Server apparatus, server system, and server system load balancing method

Country Status (1)

Country Link
JP (1) JP3930516B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013183287A (en) * 2012-03-01 2013-09-12 Nec Corp Information processing system, server system, controller, information processing method and program

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008219530A (en) * 2007-03-06 2008-09-18 Kddi Corp System and program transferring user route advertisement to virtual closed-area network
JP4498406B2 (en) * 2007-11-21 2010-07-07 株式会社東芝 Network virtualization system, relay device, and program
US8782160B2 (en) 2008-12-03 2014-07-15 Nec Corporation Cluster control system, cluster control method, and program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013183287A (en) * 2012-03-01 2013-09-12 Nec Corp Information processing system, server system, controller, information processing method and program

Also Published As

Publication number Publication date
JP2006259845A (en) 2006-09-28

Similar Documents

Publication Publication Date Title
US6345294B1 (en) Methods and apparatus for remote configuration of an appliance on a network
US8477609B1 (en) Method and system for scaling network traffic managers
TWI384812B (en) Apparatus and method for providing peer-to-peer proxy service with temporary storage management and traffic load balancing mechanism in peer-to-peer communication
US8527635B2 (en) Contents delivery system and method, web server and contents provider DNS server thereof
US8606874B2 (en) System and method of binding a client to a server
US20040093416A1 (en) Method and system for reestablishing connection information on a switch connected to plural servers in a computer network
JP2004533687A (en) Dynamic deployment of services in computer networks
US7836142B2 (en) System and method for updating a dynamic domain name server
WO2001040954A1 (en) System and method for directing a client to a content source
JP2007207231A (en) Method for accessing distributed service in network
US20120191769A1 (en) Site-aware distributed file system access from outside enterprise network
US20110173344A1 (en) System and method of reducing intranet traffic on bottleneck links in a telecommunications network
US8396062B2 (en) System for switching between communication devices, switching method, and switching program
US7965630B1 (en) Load balancing port proxy for dynamically controlling routing of query requests
JP5620881B2 (en) Transaction processing system, transaction processing method, and transaction processing program
CN113364741A (en) Application access method and proxy server
US8099506B2 (en) Communication system, node device, node process program and a message transmitting and receiving method
JP3930516B2 (en) Server apparatus, server system, and server system load balancing method
US9760370B2 (en) Load balancing using predictable state partitioning
EP2656591B1 (en) DNS proxy service for multi-core platforms
CN115242882B (en) Method and device for accessing k8s container environment based on transport layer route
WO2022206667A1 (en) Routing method, and device
JP3676714B2 (en) Priority selection name server system and client terminal
KR20110063083A (en) Method for constructing publish-subscribe network and supporting communication using hash function
KR20050003598A (en) Domain name service provide system and method using dual domain name server

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061212

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070202

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: 20070306

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070308

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100316

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110316

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120316

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130316

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140316

Year of fee payment: 7

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees