JP6131710B2 - COMMUNICATION SYSTEM, LOAD DISTRIBUTION DEVICE, AND LOAD DISTRIBUTION PROGRAM - Google Patents

COMMUNICATION SYSTEM, LOAD DISTRIBUTION DEVICE, AND LOAD DISTRIBUTION PROGRAM Download PDF

Info

Publication number
JP6131710B2
JP6131710B2 JP2013104511A JP2013104511A JP6131710B2 JP 6131710 B2 JP6131710 B2 JP 6131710B2 JP 2013104511 A JP2013104511 A JP 2013104511A JP 2013104511 A JP2013104511 A JP 2013104511A JP 6131710 B2 JP6131710 B2 JP 6131710B2
Authority
JP
Japan
Prior art keywords
packet
information
server
unit
header
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
JP2013104511A
Other languages
Japanese (ja)
Other versions
JP2014225157A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013104511A priority Critical patent/JP6131710B2/en
Publication of JP2014225157A publication Critical patent/JP2014225157A/en
Application granted granted Critical
Publication of JP6131710B2 publication Critical patent/JP6131710B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ネットワークで行われる負荷分散に関する。   The present invention relates to load balancing performed in a network.

クライアントサーバシステムでは、クライアントとなっている端末がサーバにリクエストを送信し、サーバは、リクエストに応じた処理結果を端末に送信する。端末の数が多くなると、サーバへの負荷が大きくなる。このため、ネットワーク中に、複数のサーバと負荷分散装置が設置されることがある。複数のサーバと負荷分散装置を備えるネットワークにおいて、負荷分散装置は、システムを効率的に運用するために、端末からのリクエストを、そのリクエストの処理に適したサーバに振り分ける。   In the client server system, a terminal serving as a client transmits a request to the server, and the server transmits a processing result corresponding to the request to the terminal. As the number of terminals increases, the load on the server increases. For this reason, a plurality of servers and a load balancer may be installed in the network. In a network including a plurality of servers and a load distribution device, the load distribution device distributes requests from terminals to servers suitable for processing the requests in order to operate the system efficiently.

負荷分散技術に関連する技術として、一意性保障技術がある。一意性保障技術は、同一の端末から送信されてくるリクエストの中で関連のあるリクエストを同じサーバに振り分けることにより、1つのセッションを維持するための技術である。図1は、一意性を保障できる負荷分散システムで行われる処理の例を示す図である。   There is a uniqueness guarantee technology as a technology related to the load balancing technology. The uniqueness assurance technique is a technique for maintaining one session by distributing related requests among the requests transmitted from the same terminal to the same server. FIG. 1 is a diagram illustrating an example of processing performed in a load distribution system that can ensure uniqueness.

(A)端末が初めてサーバにアクセスするときに、負荷分散装置は、予め設定されている分散方式に基づいて、リクエストを振り分けるサーバを決定する。   (A) When a terminal accesses a server for the first time, the load balancer determines a server that distributes requests based on a preset distribution method.

(B)リクエストが振り分けられたサーバは、付加情報を生成し、端末への応答データに挿入する。ここで、付加情報は、例えば、cookie情報など、リクエストが振り分けられたサーバを一意に識別できる情報である。サーバからの応答データを含むパケットは、負荷分散装置に送信される。負荷分散装置は、パケットから付加情報を取得し、付加情報に対応付けて、負荷分散装置に付加情報を含むパケットを送信してきた装置を識別する情報を記憶する。図1の場合、負荷分散装置は応答データを作成したサーバから、直接、付加情報を含むパケットを受信しているので、リクエストが振り分けられたサーバの識別情報が、付加情報と対応付けて記憶される。負荷分散装置は、応答データを含むパケットを、端末に送信する。   (B) The server to which the request is distributed generates additional information and inserts it into response data to the terminal. Here, the additional information is information that can uniquely identify the server to which the request is distributed, such as cookie information. A packet including response data from the server is transmitted to the load balancer. The load distribution apparatus acquires additional information from the packet, and stores information identifying the apparatus that has transmitted the packet including the additional information to the load distribution apparatus in association with the additional information. In the case of FIG. 1, since the load distribution apparatus receives a packet including additional information directly from the server that created the response data, the identification information of the server to which the request is distributed is stored in association with the additional information. The The load balancer transmits a packet including response data to the terminal.

(C)端末は、サーバから付加された付加情報を記憶し、次にサーバにアクセスするときのリクエストに、付加情報を含める。   (C) The terminal stores additional information added from the server, and includes the additional information in a request for accessing the server next time.

(D)端末からリクエストパケットを受信した負荷分散装置は、リクエストパケットから付加情報を取得する。負荷分散装置は、付加情報に対応付けられたサーバを、リクエストパケットの送信先とする。   (D) The load distribution apparatus that has received the request packet from the terminal acquires additional information from the request packet. The load distribution apparatus uses a server associated with the additional information as a transmission destination of the request packet.

近年、システムの規模やサーバ規模の拡大に伴って、複数の負荷分散装置を備えるネットワークも使用されている。この場合、複数の負荷分散装置が、多段階に配置される。   In recent years, a network including a plurality of load distribution apparatuses is also used with the expansion of the system scale and the server scale. In this case, a plurality of load distribution devices are arranged in multiple stages.

関連する技術として、ネットワークに接続された前段負荷分散装置と、前段負荷分散装置に接続された複数の後段負荷分散装置を備える多段負荷分散装置が考案されている。多段負荷分散装置では、後段負荷分散装置ごとに、1つ以上のサーバが接続されている(例えば、特許文献1)。   As a related technique, a multi-stage load distribution apparatus has been devised that includes a pre-stage load distribution apparatus connected to a network and a plurality of post-stage load distribution apparatuses connected to the pre-stage load distribution apparatus. In the multistage load distribution apparatus, one or more servers are connected to each subsequent stage load distribution apparatus (for example, Patent Document 1).

また、移動端末が接続されるネットワークで負荷分散を行うシステムも提案されている。負荷分散装置は、一連の通信内のパケットを、サービス提供サーバとの間に設置されている複数のゲートウェイのうちの同じゲートウェイに振り分ける。パケットが振り分けられたゲートウェイは、一連の通信内のパケットを、同一のサービスを実行可能なサービス提供サーバのいずれかに振り分ける(例えば、特許文献2)。   There has also been proposed a system that performs load distribution in a network to which mobile terminals are connected. The load distribution apparatus distributes packets in a series of communications to the same gateway among a plurality of gateways installed between the service providing servers. The gateway to which the packets are distributed distributes the packets in a series of communications to one of service providing servers that can execute the same service (for example, Patent Document 2).

特開2006−227963号公報JP 2006-227963 A 特開2007−312434号公報JP 2007-31434 A

負荷分散装置が多段階に設置される場合、アプリケーションレベルでの一意性を保障するために、前段の負荷分散装置と後段の負荷分散装置の両方で、パケットの解析が行われる。このため、各負荷分散装置において、パケットのバッファリング、パケットの解析、サーバの振り分けの判別の処理が行われることになる。このため、ネットワーク中の負荷分散装置の台数に比例して、システム全体での負荷分散のための処理負荷が高くなるという問題がある。   When the load balancer is installed in multiple stages, in order to ensure uniqueness at the application level, packets are analyzed in both the upstream load balancer and the subsequent load balancer. For this reason, packet buffering, packet analysis, and server distribution determination processing are performed in each load distribution apparatus. For this reason, there is a problem that the processing load for load distribution in the entire system increases in proportion to the number of load distribution apparatuses in the network.

1つの側面では、本発明は、負荷分散のための処理負荷を軽減することを目的とする。   In one aspect, the present invention aims to reduce the processing load for load distribution.

実施形態に係る通信システムは、通信装置、複数のサーバ、複数の負荷分散装置を備える。通信装置は、サービスを要求する。複数のサーバは、前記サービスの提供に使用される。複数の負荷分散装置は、前記サービスの要求による負荷を前記複数のサーバに分散させる。ここで、受信装置は、前記複数の負荷分散装置のうち、通信装置から要求パケットを受信する負荷分散装置である。受信装置は、前記要求パケット中のデータから、前記複数のサーバのうちで前記要求パケットを処理するサーバである処理サーバから付加された情報である付加情報を抽出する。受信装置は、前記付加情報に対応付けられたサーバを特定する情報である特定情報を、前記要求パケットのヘッダ中に付加することにより、前記要求パケットを転送パケットに変換する。受信装置は、前記受信装置から前記処理サーバまでに至る経路に含まれている負荷分散装置に、前記転送パケットを転送する。   The communication system according to the embodiment includes a communication device, a plurality of servers, and a plurality of load distribution devices. The communication device requests a service. A plurality of servers are used to provide the service. The plurality of load distribution apparatuses distribute the load due to the service request to the plurality of servers. Here, the receiving device is a load balancing device that receives a request packet from a communication device among the plurality of load balancing devices. The receiving device extracts, from the data in the request packet, additional information that is information added from a processing server that is a server that processes the request packet among the plurality of servers. The reception device converts the request packet into a transfer packet by adding identification information, which is information for identifying a server associated with the additional information, into a header of the request packet. The receiving device transfers the transfer packet to a load distribution device included in a path from the receiving device to the processing server.

負荷分散のための処理負荷が軽減される。   The processing load for load distribution is reduced.

一意性を保障できる負荷分散システムで行われる処理の例を示す図である。It is a figure which shows the example of the process performed with the load distribution system which can ensure uniqueness. 一意性を保障できる負荷分散システムで行われる処理の例を示す図である。It is a figure which shows the example of the process performed with the load distribution system which can ensure uniqueness. 負荷分散装置の構成の例を示す図である。It is a figure which shows the example of a structure of a load distribution apparatus. 負荷分散装置のハードウェア構成の例を示す図である。It is a figure which shows the example of the hardware constitutions of a load distribution apparatus. IPヘッダのフォーマットの例を示す図である。It is a figure which shows the example of a format of an IP header. 故障監視パケットの送受信の例を示すシーケンス図である。It is a sequence diagram which shows the example of transmission / reception of a failure monitoring packet. 接続テーブルの例を示す図である。It is a figure which shows the example of a connection table. IPヘッダのフォーマットの例を示す図である。It is a figure which shows the example of a format of an IP header. サーバから端末あての応答パケットの転送処理の例を説明する図である。It is a figure explaining the example of the transfer process of the response packet addressed to a terminal from a server. 端末から付加情報を含むパケットが送信されたときの処理の例を示す。The example of a process when the packet containing additional information is transmitted from the terminal is shown. 負荷分散装置の処理の例を説明するフローチャートである。It is a flowchart explaining the example of a process of a load distribution apparatus. 負荷分散装置の処理の例を説明するフローチャートである。It is a flowchart explaining the example of a process of a load distribution apparatus. 負荷分散装置の処理の例を説明するフローチャートである。It is a flowchart explaining the example of a process of a load distribution apparatus. 負荷分散装置の処理の例を説明するフローチャートである。It is a flowchart explaining the example of a process of a load distribution apparatus. 第2の実施形態での故障監視パケットの送受信の例を示すシーケンス図である。It is a sequence diagram which shows the example of transmission / reception of the failure monitoring packet in 2nd Embodiment. 第2の実施形態でのパケットの送受信の例を示すシーケンス図である。It is a sequence diagram which shows the example of transmission / reception of the packet in 2nd Embodiment. 負荷分散装置の処理の例を説明するフローチャートである。It is a flowchart explaining the example of a process of a load distribution apparatus. 負荷分散装置の処理の例を説明するフローチャートである。It is a flowchart explaining the example of a process of a load distribution apparatus. アプリケーションレベルの故障監視を行う場合のパケットの送受信の例を示すシーケンス図である。It is a sequence diagram which shows the example of transmission / reception of the packet in the case of performing failure monitoring of application level. 第4の実施形態で使用されるパケットに含まれるIPヘッダの例である。It is an example of the IP header contained in the packet used in 4th Embodiment. 索引値を用いたときの通知パケットの転送処理の例を示すシーケンス図である。It is a sequence diagram which shows the example of the transfer process of a notification packet when using an index value. 転送パケットの転送処理の例を示すシーケンス図である。It is a sequence diagram which shows the example of the transfer process of a transfer packet. 負荷分散装置の処理の例を説明するフローチャートである。It is a flowchart explaining the example of a process of a load distribution apparatus. 負荷分散装置の処理の例を説明するフローチャートである。It is a flowchart explaining the example of a process of a load distribution apparatus. 負荷分散装置の処理の例を説明するフローチャートである。It is a flowchart explaining the example of a process of a load distribution apparatus. 索引値を用いたときの転送パケットの転送処理の例を示すシーケンス図である。It is a sequence diagram which shows the example of the transfer process of the transfer packet when an index value is used. TCPヘッダのフォーマットの例を示す図である。It is a figure which shows the example of a format of a TCP header.

図2は、一意性を保障できる負荷分散システムで行われる処理の例を示す図である。図2の例では、端末2とサーバ5(5a〜5f)の間に、2段階の負荷分散装置が含まれているものとする。以下、複数の負荷分散装置を区別し易くするため、端末と通信する負荷分散装置10aを前段の負荷分散装置、サーバと通信する負荷分散装置(10b、10c)を後段の負荷分散装置と記載する。負荷分散装置10bはサーバ5a〜5cに接続され、負荷分散装置10cはサーバ5d〜5fに接続されているものとする。なお、以下の説明では、パケットの「ヘッダ」は、ネットワーク層やトランスポート層での処理で使用されるヘッダを指すものとする。従って、負荷分散装置10は、例えば、Internet Protocol(IP)ヘッダやTransmission Control Protocol(TCP)ヘッダを参照して処理を行うことができる。   FIG. 2 is a diagram illustrating an example of processing performed in a load distribution system that can ensure uniqueness. In the example of FIG. 2, it is assumed that a two-stage load balancer is included between the terminal 2 and the server 5 (5a to 5f). Hereinafter, in order to make it easy to distinguish between a plurality of load balancers, the load balancer 10a that communicates with a terminal is referred to as a preceding load balancer, and the load balancers (10b, 10c) that communicate with a server are referred to as subsequent load balancers. . The load balancer 10b is connected to the servers 5a to 5c, and the load balancer 10c is connected to the servers 5d to 5f. In the following description, a “header” of a packet refers to a header used in processing in a network layer or a transport layer. Therefore, the load balancer 10 can perform processing with reference to, for example, an Internet Protocol (IP) header or a Transmission Control Protocol (TCP) header.

(1)端末2は、初めてサーバにアクセスする場合、アクセス可能なサーバ5a〜5fのグループに対応付けられた仮想IPアドレス宛に、サービスのリクエストに使用されるパケット(要求パケット)を送信する。仮想IPアドレスは、負荷分散装置10aに設定されているため、負荷分散装置10aが要求パケットを受信する。負荷分散装置10aは、要求パケットを受信すると、予め設定されている分散方式に基づいて、後段の負荷分散装置(10b、10c)の中から、要求パケットを振り分ける負荷分散装置を決定する。ここでは、負荷分散装置10bに要求パケットが振り分けられたものとする。   (1) When the terminal 2 accesses the server for the first time, the terminal 2 transmits a packet (request packet) used for a service request to a virtual IP address associated with the group of accessible servers 5a to 5f. Since the virtual IP address is set in the load balancer 10a, the load balancer 10a receives the request packet. When receiving the request packet, the load balancer 10a determines a load balancer that distributes the request packet from the subsequent load balancers (10b, 10c) based on a preset distribution method. Here, it is assumed that the request packet is distributed to the load balancer 10b.

(2)負荷分散装置10bは、要求パケットをサーバ5a〜5cのいずれかに割り振ることができる。そこで、予め設定されている分散方式に基づいて、受信した要求パケットを振り分けるサーバを決定する。ここでは、サーバ5bに要求パケットが振り分けられたものとする。   (2) The load distribution apparatus 10b can allocate the request packet to any of the servers 5a to 5c. Therefore, a server that distributes the received request packet is determined based on a preset distribution method. Here, it is assumed that the request packet is distributed to the server 5b.

(3)サーバ5bは、要求パケットを処理し、要求パケットに応答するデータを含む応答パケットを生成する。このとき、サーバ5bは、付加情報を生成し、応答パケット中の応答データに挿入する。付加情報は、端末2からの次の要求パケットを処理するサーバ5を特定するときに使用される。サーバ5bは、端末宛のパケットとして、応答パケットを負荷分散装置10bに送信する。   (3) The server 5b processes the request packet and generates a response packet including data responding to the request packet. At this time, the server 5b generates additional information and inserts it into the response data in the response packet. The additional information is used when the server 5 that processes the next request packet from the terminal 2 is specified. The server 5b transmits a response packet as a packet addressed to the terminal to the load balancer 10b.

(4)負荷分散装置10bは、サーバ5bから応答パケットを受信すると、サーバ5bから端末に宛てて送信されたパケット中の応答データから、付加情報を取得する。負荷分散装置10bは、付加情報と、応答データを生成したサーバ5bを識別する情報を対応付けて記憶する。さらに、負荷分散装置10bは、応答パケットのヘッダ中に、応答パケットを生成したサーバ5bを識別する情報と、付加情報を含める。以下、応答データを生成したサーバ5を識別する情報をヘッダに含むパケットのことを「通知パケット」と記載することがある。負荷分散装置10bは、通知パケットを前段の負荷分散装置10aに送信する。   (4) When receiving the response packet from the server 5b, the load distribution apparatus 10b acquires additional information from the response data in the packet transmitted from the server 5b to the terminal. The load balancer 10b stores the additional information and information for identifying the server 5b that generated the response data in association with each other. Furthermore, the load balancer 10b includes information identifying the server 5b that generated the response packet and additional information in the header of the response packet. Hereinafter, a packet including information identifying the server 5 that generated the response data in the header may be referred to as a “notification packet”. The load balancer 10b transmits the notification packet to the preceding load balancer 10a.

(5)通知パケットを受信した負荷分散装置10は、通知パケットから、付加情報と応答パケットを生成したサーバ5の情報を取得して記憶する。例えば、負荷分散装置10aは、負荷分散装置10bから通知パケットを受信すると、ヘッダから、応答パケットがサーバ5bで生成されたことと、サーバ5bで生成された付加情報を特定する。負荷分散装置10aは、付加情報に対応付けて、サーバ5bを識別する情報と、通知パケットを転送してきた負荷分散装置10bを識別する情報を記憶する。さらに、負荷分散装置10aは、通知パケットから、付加情報とサーバ5bを識別する情報を削除することにより、通知パケットを応答パケットに変換する。負荷分散装置10aは、応答パケットを端末に送信する。   (5) The load distribution apparatus 10 that has received the notification packet acquires and stores the additional information and the information of the server 5 that generated the response packet from the notification packet. For example, when receiving the notification packet from the load distribution apparatus 10b, the load distribution apparatus 10a specifies from the header that the response packet is generated by the server 5b and the additional information generated by the server 5b. The load balancer 10a stores information identifying the server 5b and information identifying the load balancer 10b that has transferred the notification packet in association with the additional information. Furthermore, the load balancer 10a converts the notification packet into a response packet by deleting the additional information and the information for identifying the server 5b from the notification packet. The load distribution apparatus 10a transmits a response packet to the terminal.

(6)端末は、応答パケットを処理することにより、応答データと付加情報を取得する。端末は、サーバ5bから付加された付加情報を記憶する。   (6) The terminal acquires response data and additional information by processing the response packet. The terminal stores additional information added from the server 5b.

(7)次に、端末は、再度サーバにアクセスするために、第2の要求パケットを生成したとする。端末は第2の要求パケットに付加情報を含める。   (7) Next, it is assumed that the terminal generates a second request packet in order to access the server again. The terminal includes additional information in the second request packet.

(8)端末から第2の要求パケットを受信すると、負荷分散装置10aは、第2の要求パケットに含まれているデータから付加情報を取得する。負荷分散装置10aは、付加情報に対応付けられたサーバを検索する。ここでは、手順(4)により、付加情報にサーバ5bと負荷分散装置10bが対応付けられている。そこで、負荷分散装置10aは、第2の要求パケットのヘッダに、サーバ5bの識別情報を書き込む。以下、要求パケットのヘッダ中に要求パケットの処理を行うサーバの情報が含まれているパケットを「転送パケット」と記載する。負荷分散装置10aは、転送パケットを負荷分散装置10bに転送する。   (8) When receiving the second request packet from the terminal, the load distribution apparatus 10a acquires the additional information from the data included in the second request packet. The load balancer 10a searches for a server associated with the additional information. Here, the server 5b and the load balancer 10b are associated with the additional information by the procedure (4). Therefore, the load balancer 10a writes the identification information of the server 5b in the header of the second request packet. Hereinafter, a packet in which information of a server that processes the request packet is included in the header of the request packet is referred to as a “forwarding packet”. The load distribution apparatus 10a transfers the transfer packet to the load distribution apparatus 10b.

(9)転送パケットを受信した負荷分散装置10は、転送パケットのヘッダから転送先のサーバ5を特定する。例えば、負荷分散装置10bは、負荷分散装置10aから転送パケットを受信すると、転送パケットのヘッダを参照することにより、転送パケットに含まれているデータがサーバ5bで処理されることを特定する。負荷分散装置10bは、転送パケットのヘッダからサーバ5bの識別情報を消去することにより、転送パケットを第2の要求パケットに変換する。さらに、負荷分散装置10bは、第2の要求パケットをサーバ5bに転送する。サーバ5bは、受信したパケットを処理する。   (9) The load balancer 10 that has received the transfer packet specifies the transfer destination server 5 from the header of the transfer packet. For example, when receiving the transfer packet from the load distribution device 10a, the load distribution device 10b refers to the header of the transfer packet to specify that the data included in the transfer packet is processed by the server 5b. The load balancer 10b converts the transfer packet into the second request packet by deleting the identification information of the server 5b from the header of the transfer packet. Furthermore, the load distribution apparatus 10b transfers the second request packet to the server 5b. The server 5b processes the received packet.

このように、実施形態にかかる方法では、端末から要求パケットを受信した負荷分散装置が、要求パケットを処理するサーバの情報をヘッダに記録することにより、要求パケットを転送パケットに変換する。このため、後段の負荷分散装置は、転送パケットのヘッダを参照することにより、転送パケットの転送先のサーバに転送することができるので、後段の負荷分散装置での処理負担が軽減される。   As described above, in the method according to the embodiment, the load distribution apparatus that has received the request packet from the terminal records the information of the server that processes the request packet in the header, thereby converting the request packet into a transfer packet. For this reason, the subsequent load distribution apparatus can transfer the transfer packet to the transfer destination server by referring to the header of the transfer packet, thereby reducing the processing load on the subsequent load distribution apparatus.

<装置構成>
図3は、負荷分散装置10の構成の例を示す。負荷分散装置10は、故障監視部11、パケット処理部20、解析部30、付加情報処理部40、記憶部50を備える。パケット処理部20は、受信部21、パケットバッファ22、選択部23、書き換え部24、送信部25を有する。解析部30は、取得部31と抽出部32を有する。付加情報処理部40は、検索部41、振り分けリスト管理部42、情報付加部43、変換部44を有する。記憶部50は、振り分けリスト51と接続テーブル52を保持し、さらに、負荷分散装置10での処理に使用されるデータなどを記憶する。
<Device configuration>
FIG. 3 shows an example of the configuration of the load distribution apparatus 10. The load distribution apparatus 10 includes a failure monitoring unit 11, a packet processing unit 20, an analysis unit 30, an additional information processing unit 40, and a storage unit 50. The packet processing unit 20 includes a reception unit 21, a packet buffer 22, a selection unit 23, a rewriting unit 24, and a transmission unit 25. The analysis unit 30 includes an acquisition unit 31 and an extraction unit 32. The additional information processing unit 40 includes a search unit 41, a distribution list management unit 42, an information addition unit 43, and a conversion unit 44. The storage unit 50 holds a distribution list 51 and a connection table 52, and further stores data used for processing in the load balancer 10.

受信部21は、端末、他の負荷分散装置10、またはサーバ5から送信されたパケットを受信する。受信部21は、受信したパケットを、パケットバッファ22と取得部31に出力する。パケットバッファ22は、取得部31からの要求に応じて、受信されたパケットを格納する。ここで、取得部31は、抽出部32がパケット中のデータを解析する場合に、パケットバッファ22に受信パケットの格納を要求する。例えば、抽出部32がHTTPメッセージを解析する場合、パケットバッファ22は、取得部31からの要求に応じて、パケットをバッファリングする。パケットバッファ22は、バッファリングしたデータを抽出部32に出力する。   The receiving unit 21 receives a packet transmitted from a terminal, another load distribution apparatus 10, or the server 5. The reception unit 21 outputs the received packet to the packet buffer 22 and the acquisition unit 31. The packet buffer 22 stores received packets in response to requests from the acquisition unit 31. Here, the acquisition unit 31 requests the packet buffer 22 to store the received packet when the extraction unit 32 analyzes the data in the packet. For example, when the extraction unit 32 analyzes an HTTP message, the packet buffer 22 buffers the packet in response to a request from the acquisition unit 31. The packet buffer 22 outputs the buffered data to the extraction unit 32.

受信したパケットがサーバ5宛ての要求パケットであって、かつ、受信パケットを処理するサーバ5で生成された付加情報を含まない場合、選択部23は、予め、記憶している振分けアルゴリズムに応じて、パケットの振分け先を選択する。前段の負荷分散装置10に含まれている選択部23は、受信パケットを転送する後段の負荷分散装置10を選択する。一方、後段の負荷分散装置10に含まれている選択部23は、受信パケットを処理するサーバ5を選択する。ここで、振り分けアルゴリズムは、ラウンドロビン、重み付けラウンドロビンなどを含む任意のアルゴリズムを使用できる。   When the received packet is a request packet addressed to the server 5 and does not include additional information generated by the server 5 that processes the received packet, the selection unit 23 responds to a distribution algorithm stored in advance. Select the packet distribution destination. The selection unit 23 included in the preceding stage load distribution apparatus 10 selects the subsequent stage load distribution apparatus 10 to which the received packet is transferred. On the other hand, the selection unit 23 included in the subsequent load distribution apparatus 10 selects the server 5 that processes the received packet. Here, any algorithm including round robin, weighted round robin, and the like can be used as the distribution algorithm.

書き換え部24は、パケットの転送を行うために、適宜、アドレス情報を書き換える。書き換え部24は、アドレス情報を設定したパケットを、送信部25に出力する。送信部25は、入力されたパケットを、宛先に向けて送信する。   The rewriting unit 24 appropriately rewrites the address information in order to transfer the packet. The rewriting unit 24 outputs the packet in which the address information is set to the transmission unit 25. The transmission unit 25 transmits the input packet toward the destination.

取得部31は、入力されたパケットのヘッダに付加情報やサーバの識別情報が含まれているかを判定する。入力されたパケットが転送パケットである場合、取得部31は、転送パケットのヘッダから、転送パケットに含まれているデータを処理するサーバ5の識別情報を取得する。また、入力されたパケットが通知パケットである場合、取得部31は、付加情報とサーバの識別情報の両方を、通知パケットから取得する。取得部31は、通知パケットから取得した付加情報とサーバの識別情報の両方を、振り分けリスト管理部42に出力する。一方、取得部31は、転送パケットから取得した識別情報を、書き換え部24に出力する。   The acquisition unit 31 determines whether additional information or server identification information is included in the header of the input packet. When the input packet is a transfer packet, the acquisition unit 31 acquires identification information of the server 5 that processes data included in the transfer packet from the header of the transfer packet. If the input packet is a notification packet, the acquisition unit 31 acquires both the additional information and the server identification information from the notification packet. The acquisition unit 31 outputs both the additional information acquired from the notification packet and the server identification information to the distribution list management unit 42. On the other hand, the acquisition unit 31 outputs the identification information acquired from the transfer packet to the rewriting unit 24.

一方、入力されたパケットが受信パケットか応答パケットである場合は、パケットのヘッダに付加情報とサーバの識別情報のいずれも含まれていないので、取得部31は、パケットが抽出部32によって処理されると判定する。そこで、取得部31は、パケットバッファ22に、パケットの格納を要求するとともに、抽出部32にパケットの処理を要求する。   On the other hand, if the input packet is a received packet or a response packet, neither the additional information nor the server identification information is included in the packet header, so that the acquisition unit 31 processes the packet by the extraction unit 32. It is determined that. Therefore, the acquisition unit 31 requests the packet buffer 22 to store the packet and requests the extraction unit 32 to process the packet.

抽出部32は、取得部31からの要求に応じて、パケットバッファ22に格納されたパケットのデータを解析する。例えば、抽出部32は、データ中のHypertext Transfer Protocol(HTTP)ヘッダを解析し、付加情報の有無を判定する。さらに、抽出部32は、処理対象のパケットが端末2からサーバ5に送信されたパケットと、サーバ5から端末2に送信されたパケットのいずれであるかも判定する。このとき、抽出部32は、適宜、接続テーブル52を参照することができる。また、抽出部32は、処理対象のパケットがHTTPリクエストとHTTPレスポンスのいずれであるかによって、処理対象のパケットがサーバ5から端末2に送信されたパケットであるかを判定しても良い。HTTPリクエストなど、端末2からサーバ5に向けて送信されたパケットのデータ中に付加情報が含まれている場合、抽出部32は、付加情報を検索部41に出力する。一方、HTTPレスポンスなど、サーバ5から端末2に向けて送信されたパケットに付加情報が含まれている場合、抽出部32は、抽出した付加情報を、送信元の識別情報とともに、振り分けリスト管理部42と情報付加部43に出力する。送信元の識別情報は、例えば、送信元IPアドレスと送信元ポート番号の組合せとすることができる。   In response to a request from the acquisition unit 31, the extraction unit 32 analyzes the packet data stored in the packet buffer 22. For example, the extraction unit 32 analyzes a Hypertext Transfer Protocol (HTTP) header in the data and determines the presence / absence of additional information. Further, the extraction unit 32 determines whether the packet to be processed is a packet transmitted from the terminal 2 to the server 5 or a packet transmitted from the server 5 to the terminal 2. At this time, the extraction unit 32 can refer to the connection table 52 as appropriate. The extraction unit 32 may determine whether the processing target packet is a packet transmitted from the server 5 to the terminal 2 depending on whether the processing target packet is an HTTP request or an HTTP response. When additional information is included in the packet data transmitted from the terminal 2 to the server 5 such as an HTTP request, the extraction unit 32 outputs the additional information to the search unit 41. On the other hand, when additional information is included in a packet transmitted from the server 5 to the terminal 2 such as an HTTP response, the extraction unit 32 includes the extracted additional information together with the transmission source identification information as a distribution list management unit. 42 and the information adding unit 43. The source identification information can be, for example, a combination of a source IP address and a source port number.

振り分けリスト管理部42は、抽出部32から通知された付加情報を、付加情報に対応する後段の負荷分散装置10の識別子や、付加情報を生成したサーバ5の識別情報に対応付けて、振り分けリスト51に記憶する。振り分けリスト51の例については後述する。   The distribution list management unit 42 associates the additional information notified from the extraction unit 32 with the identifier of the subsequent load distribution apparatus 10 corresponding to the additional information and the identification information of the server 5 that generated the additional information, and distributes the distribution list. 51. An example of the distribution list 51 will be described later.

検索部41は、抽出部32から入力された付加情報を用いて、付加情報に対応付けられている負荷分散装置10やサーバ5の情報を、振り分けリスト51から取得する。検索部41に付加情報が入力される場合、入力されたパケットは、端末2から受信した要求パケットである。このため、検索部41は、振り分けリスト51から得られた情報を変換部44に出力する。   The search unit 41 uses the additional information input from the extraction unit 32 to acquire information about the load balancer 10 and the server 5 associated with the additional information from the distribution list 51. When additional information is input to the search unit 41, the input packet is a request packet received from the terminal 2. Therefore, the search unit 41 outputs information obtained from the distribution list 51 to the conversion unit 44.

変換部44は、検索部41から入力された付加情報を、要求パケットのヘッダに格納することにより、要求パケットを転送パケットに変換する。変換部44は、生成した転送パケットを、書き換え部24に出力する。   The conversion unit 44 converts the request packet into a transfer packet by storing the additional information input from the search unit 41 in the header of the request packet. The conversion unit 44 outputs the generated transfer packet to the rewriting unit 24.

情報付加部43に付加情報とサーバ5の識別情報が抽出部32から入力される場合は、負荷分散装置10が応答パケットを受信している。このため、情報付加部43は、抽出部32から付加情報が入力されると、応答パケットのヘッダに付加情報と識別情報を加えることにより、応答パケットを通知パケットに変換する。情報付加部43は、通知パケットを書き換え部24に出力する。   When the additional information and the identification information of the server 5 are input from the extracting unit 32 to the information adding unit 43, the load distribution apparatus 10 has received the response packet. Therefore, when the additional information is input from the extracting unit 32, the information adding unit 43 converts the response packet into a notification packet by adding the additional information and the identification information to the header of the response packet. The information adding unit 43 outputs the notification packet to the rewriting unit 24.

故障監視部11は、サーバ5または負荷分散装置10が正常に動作しているかを判定するための故障監視パケットを生成し、送信部25に出力する。前段の負荷分散装置10に含まれている故障監視部11は、後段の負荷分散装置10のそれぞれに、故障監視パケットを送信する。サーバ5に接続されている負荷分散装置10は、サーバ5に故障監視パケットを送信する。このため、故障監視部11は、故障監視パケットの送受信を用いて、他の負荷分散装置10に対して前段と後段のいずれであるかを特定する。例えば、負荷分散装置10bが負荷分散装置10aからの故障監視パケットを受信すると、負荷分散装置10bの故障監視部11は、負荷分散装置10bが負荷分散装置10aの後段に位置していると判定する。故障監視部11は、負荷分散装置10が正常に動作している場合、受信した故障監視パケットに対して、確認応答を返信する。故障監視部11は、得られた接続情報を接続テーブル52に記録する。故障監視部11の動作と故障監視パケット、接続テーブル52の例については後述する。   The failure monitoring unit 11 generates a failure monitoring packet for determining whether the server 5 or the load distribution apparatus 10 is operating normally, and outputs the failure monitoring packet to the transmission unit 25. The failure monitoring unit 11 included in the preceding load distribution apparatus 10 transmits a failure monitoring packet to each of the subsequent load distribution apparatuses 10. The load balancer 10 connected to the server 5 transmits a failure monitoring packet to the server 5. For this reason, the failure monitoring unit 11 uses the transmission / reception of the failure monitoring packet to specify which one of the preceding and succeeding stages is to the other load distribution apparatus 10. For example, when the load balancer 10b receives a failure monitoring packet from the load balancer 10a, the failure monitoring unit 11 of the load balancer 10b determines that the load balancer 10b is located at the subsequent stage of the load balancer 10a. . When the load distribution device 10 is operating normally, the failure monitoring unit 11 returns a confirmation response to the received failure monitoring packet. The failure monitoring unit 11 records the obtained connection information in the connection table 52. An example of the operation of the failure monitoring unit 11, the failure monitoring packet, and the connection table 52 will be described later.

図4は、負荷分散装置10のハードウェア構成の例を示す。負荷分散装置10は、プロセッサ61、メモリ62、バス65、外部記憶装置66、ネットワーク接続装置69を備える。さらにオプションとして、負荷分散装置10は、入力装置63、出力装置64、媒体駆動装置67を備えても良い。負荷分散装置10は、例えば、コンピュータなどで実現されることがある。   FIG. 4 shows an example of the hardware configuration of the load distribution apparatus 10. The load balancer 10 includes a processor 61, a memory 62, a bus 65, an external storage device 66, and a network connection device 69. Further, as an option, the load distribution apparatus 10 may include an input device 63, an output device 64, and a medium driving device 67. The load balancer 10 may be realized by a computer, for example.

プロセッサ61は、Central Processing Unit(CPU)を含む任意の処理回路とすることができる。プロセッサ61は、故障監視部11、選択部23、書き換え部24、解析部30、付加情報処理部40として動作する。なお、プロセッサ61は、例えば、外部記憶装置66に記憶されたプログラムを実行することができる。メモリ62は、プロセッサ61の動作により得られたデータや、プロセッサ61の処理に用いられるデータも、適宜、記憶する。ネットワーク接続装置69は、他の装置との通信に使用され、受信部21、送信部25として動作する。   The processor 61 can be any processing circuit including a Central Processing Unit (CPU). The processor 61 operates as the failure monitoring unit 11, the selection unit 23, the rewriting unit 24, the analysis unit 30, and the additional information processing unit 40. The processor 61 can execute a program stored in the external storage device 66, for example. The memory 62 also stores data obtained by the operation of the processor 61 and data used for the processing of the processor 61 as appropriate. The network connection device 69 is used for communication with other devices and operates as the reception unit 21 and the transmission unit 25.

入力装置63は、例えば、ボタン、キーボードやマウスとして実現され、出力装置64は、ディスプレイなどとして実現される。バス65は、プロセッサ61、メモリ62、入力装置63、出力装置64、外部記憶装置66、媒体駆動装置67、ネットワーク接続装置69の間を相互にデータの受け渡しが行えるように接続する。外部記憶装置66は、プログラムやデータなどを格納し、格納している情報を、適宜、プロセッサ61などに提供する。媒体駆動装置67は、メモリ62や外部記憶装置66のデータを可搬記憶媒体68に出力することができ、また、可搬記憶媒体68からプログラムやデータ等を読み出すことができる。ここで、可搬記憶媒体68は、フロッピイディスク、Magneto-Optical(MO)ディスク、Compact Disc Recordable(CD−R)やDigital Versatile Disk Recordable(DVD−R)を含む、持ち運びが可能な任意の記憶媒体とすることができる。   The input device 63 is realized as, for example, a button, a keyboard, or a mouse, and the output device 64 is realized as a display or the like. The bus 65 connects the processor 61, the memory 62, the input device 63, the output device 64, the external storage device 66, the medium drive device 67, and the network connection device 69 so that data can be exchanged between them. The external storage device 66 stores programs, data, and the like, and provides the stored information to the processor 61 and the like as appropriate. The medium driving device 67 can output the data of the memory 62 and the external storage device 66 to the portable storage medium 68, and can read programs, data, and the like from the portable storage medium 68. Here, the portable storage medium 68 is an arbitrary portable storage medium including a floppy disk, a Magneto-Optical (MO) disk, a Compact Disc Recordable (CD-R), and a Digital Versatile Disk Recordable (DVD-R). It can be a medium.

<第1の実施形態>
以下、第1の実施形態を、故障監視パケットを用いた接続関係の特定と、負荷分散装置10によって行われる転送処理に分けて説明する。以下の説明では、図2を用いて説明したネットワークを例として用いる。すなわち、端末2と負荷分散装置10aが接続され、負荷分散装置10aには、負荷分散装置10bと負荷分散装置10cが接続されている。さらに、負荷分散装置10bはサーバ5a〜5cに接続され、負荷分散装置10cはサーバ5d〜5fに接続されている。なお、第1の実施形態では、負荷分散装置10同士での情報の交換にIPヘッダが用いられる場合を例とする。負荷分散装置10同士での通信に用いられるTCPヘッダは、規定に沿ったフォーマットであって、コネクションの制御のために、SYN、ACK、FINなどの制御ビットを含むものとする。
<First Embodiment>
Hereinafter, the first embodiment will be described by dividing the connection relationship specification using the failure monitoring packet and the transfer processing performed by the load balancer 10. In the following description, the network described with reference to FIG. 2 is used as an example. That is, the terminal 2 and the load balancer 10a are connected, and the load balancer 10b and the load balancer 10c are connected to the load balancer 10a. Furthermore, the load balancer 10b is connected to the servers 5a to 5c, and the load balancer 10c is connected to the servers 5d to 5f. In the first embodiment, an example in which an IP header is used for exchanging information between the load balancers 10 is taken as an example. The TCP header used for communication between the load balancers 10 has a format that conforms to the regulations, and includes control bits such as SYN, ACK, FIN, etc. for connection control.

さらに、以下の説明では、負荷分散装置10aと負荷分散装置10bのいずれの動作であるかを分り易くするために、負荷分散装置10中の部分の番号の後ろに、その処理を行っている負荷分散装置10の番号に含まれているアルファベットを記載するものとする。例えば、故障監視部11aは負荷分散装置10aに含まれている故障監視部11である。   Furthermore, in the following description, in order to make it easy to understand which operation is performed by the load balancer 10a or the load balancer 10b, the load on which the process is performed after the part number in the load balancer 10 The alphabet contained in the number of the dispersion apparatus 10 shall be described. For example, the failure monitoring unit 11a is the failure monitoring unit 11 included in the load distribution apparatus 10a.

〔接続関係の特定〕
図5は、IPヘッダのフォーマットの例を示す図である。図5は、故障監視パケットと、確認応答に使用されるIPヘッダの例を示す。IPヘッダのオプション部以外には、バージョン、ヘッダ長、サービスタイプ、データグラム長、ID、フラグ、フラグメントオフセット、TTL(Time to live)、プロトコル番号、ヘッダチェックサム、送信元IPアドレス、宛先IPアドレスが含まれる。IPヘッダのオプション部以外に含まれている情報要素は、プロトコルの規定に沿って設定される。オプション部には、オプションタイプ、オプション長、送信元IPアドレス、パディングが含まれる。オプションタイプには、パケットの種類を特定するための情報が記録される。例えば、故障監視パケットに含まれているオプションタイプフィールドには、故障監視パケットであることを表す値が設定される。オプション長は、オプション部に含まれている情報要素の長さを指定する。故障監視パケットのオプション部の送信元IPアドレスフィールドには、故障監視パケットの送信元の負荷分散装置10に割り当てられているIPアドレスが記録される。一方、確認応答のオプション部の送信元IPアドレスフィールドには、確認応答の送信元のIPアドレスが記録される。オプション長は予め決められた値に設定される。
[Identification of connection]
FIG. 5 is a diagram illustrating an example of the format of the IP header. FIG. 5 shows an example of a failure monitoring packet and an IP header used for an acknowledgment. Other than the optional part of the IP header, version, header length, service type, datagram length, ID, flag, fragment offset, TTL (Time to live), protocol number, header checksum, source IP address, destination IP address Is included. Information elements included other than the optional part of the IP header are set in accordance with the protocol specifications. The option part includes an option type, an option length, a source IP address, and padding. In the option type, information for specifying the type of packet is recorded. For example, a value indicating that the packet is a failure monitoring packet is set in the option type field included in the failure monitoring packet. The option length specifies the length of the information element included in the option part. In the transmission source IP address field of the option part of the failure monitoring packet, the IP address assigned to the load balancer 10 that is the transmission source of the failure monitoring packet is recorded. On the other hand, the IP address of the transmission source of the confirmation response is recorded in the transmission source IP address field of the option part of the confirmation response. The option length is set to a predetermined value.

図6は、故障監視パケットの送受信の例を示すシーケンス図である。以下、図6を参照しながら、ポートチェックによる故障監視が行われる場合を説明する。図6は、見やすくするために、負荷分散装置10aと負荷分散装置10bの間での故障監視パケットを用いた通信と、負荷分散装置10bとサーバ5bの間での通信を例として示している。   FIG. 6 is a sequence diagram illustrating an example of transmission / reception of a failure monitoring packet. Hereinafter, a case where failure monitoring by port check is performed will be described with reference to FIG. FIG. 6 shows communication using the failure monitoring packet between the load balancer 10a and the load balancer 10b and communication between the load balancer 10b and the server 5b as an example for the sake of clarity.

(a1)負荷分散装置10aの故障監視部11aは、負荷分散装置10bに対して故障監視パケットを送信する。このとき、故障監視部11aは、故障監視パケットとして、IPヘッダ中のアドレス等を以下のように設定し、さらに、TCPヘッダ中のSYNビット=1に設定したパケットを生成する。
送信元IPアドレス:負荷分散装置10aのIPアドレス
宛先IPアドレス :負荷分散装置10bのIPアドレス
オプションタイプ :故障監視パケット
オプション部中の送信元IPアドレス:負荷分散装置10aのIPアドレス
なお、宛先IPアドレスとして設定される仮想IPアドレスは、サーバ5a〜5cへのパケットの振り分けに使用されるアドレスである。故障監視部11aは、生成した故障監視パケットを、送信部25aを介して、負荷分散装置10bに送信する。
(A1) The failure monitoring unit 11a of the load balancer 10a transmits a failure monitoring packet to the load balancer 10b. At this time, the failure monitoring unit 11a sets an address or the like in the IP header as a failure monitoring packet as follows, and further generates a packet in which the SYN bit in the TCP header is set to 1.
Source IP address: IP address of load balancer 10a Destination IP address: IP address of load balancer 10b Option type: Failure monitoring packet Source IP address in option part: IP address of load balancer 10a Destination IP address The virtual IP address set as is an address used for distributing packets to the servers 5a to 5c. The failure monitoring unit 11a transmits the generated failure monitoring packet to the load distribution apparatus 10b via the transmission unit 25a.

(a2)負荷分散装置10bの受信部21bは、故障監視パケットを取得部31bに出力する。取得部31bは、受信したパケットのオプションタイプの値が故障監視パケットを示す値になっていることから、故障監視パケットが入力されたと判定し、入力されたパケットを、故障監視部11bに出力する。このとき、故障監視部11bは、故障監視パケットの送信元を示す情報要素に記録されている送信元IPアドレスの値が、オプション部に含まれている送信元IPアドレスの値と一致するかを判定する。両者が一致すると、故障監視部11bは、前段の負荷分散装置10から故障監視パケットを受信したと判定する。また、オプション部に送信元IPアドレスが含まれていることから、故障監視パケットの送信元の負荷分散装置10aが、IPヘッダのオプション部の情報を処理できると判定する。そこで、故障監視部11bは、図7(a)のNo.1に示すように、負荷分散装置10aが負荷分散装置10bの前段にあることと、負荷分散装置10aがオプション部の処理を行うことを、接続テーブル52bに記録する。   (A2) The reception unit 21b of the load distribution apparatus 10b outputs a failure monitoring packet to the acquisition unit 31b. Since the value of the option type of the received packet is a value indicating the failure monitoring packet, the acquisition unit 31b determines that the failure monitoring packet has been input, and outputs the input packet to the failure monitoring unit 11b. . At this time, the failure monitoring unit 11b determines whether the value of the transmission source IP address recorded in the information element indicating the transmission source of the failure monitoring packet matches the value of the transmission source IP address included in the option unit. judge. If the two match, the failure monitoring unit 11b determines that a failure monitoring packet has been received from the preceding load distribution device 10. Further, since the source IP address is included in the option part, it is determined that the load balancer 10a that is the source of the failure monitoring packet can process the information in the option part of the IP header. Therefore, the failure monitoring unit 11b is configured as No. 1 in FIG. As shown in FIG. 1, it is recorded in the connection table 52b that the load balancer 10a is in the preceding stage of the load balancer 10b and that the load balancer 10a performs processing of an optional part.

(b1)負荷分散装置10bは、負荷分散装置10bに接続されているサーバ5のいずれか1つ以上が正常に動作している場合、負荷分散装置10aからのパケットをサーバ5に転送できるので、正常に動作している旨の確認応答を返送できる。そこで、負荷分散装置10bが負荷分散装置10aから故障監視パケットを受信すると、故障監視部11bは、負荷分散装置10bに接続されているサーバ5a〜5cに故障監視パケットを送信する。サーバ5bに送信される故障監視パケットでは、IPヘッダ中のアドレス等の情報は以下のように設定され、TCPヘッダ中のSYNビット=1に設定されている。
送信元IPアドレス:負荷分散装置10bのIPアドレス
宛先IPアドレス :サーバ5bのIPアドレス
オプションタイプ :故障監視パケット
オプション部中の送信元IPアドレス:負荷分散装置10bのIPアドレス
故障監視部11bは、生成した故障監視パケットを、送信部25bを介して、サーバ5bに送信する。
(B1) When any one or more of the servers 5 connected to the load balancer 10b are operating normally, the load balancer 10b can transfer the packet from the load balancer 10a to the server 5, An acknowledgment that it is operating normally can be sent back. Therefore, when the load distribution device 10b receives the failure monitoring packet from the load distribution device 10a, the failure monitoring unit 11b transmits the failure monitoring packet to the servers 5a to 5c connected to the load distribution device 10b. In the failure monitoring packet transmitted to the server 5b, information such as an address in the IP header is set as follows, and the SYN bit in the TCP header is set to 1.
Source IP address: IP address of the load balancer 10b Destination IP address: IP address of the server 5b Option type: Fault monitoring packet Source IP address in the option part: IP address fault monitor 11b of the load balancer 10b The failure monitoring packet thus transmitted is transmitted to the server 5b via the transmission unit 25b.

(b2)サーバ5bは、負荷分散装置10bから故障監視パケットを受信する。サーバ5bは、IPヘッダのオプション部についての処理を行わない。このため、サーバ5bは、単に負荷分散装置10bから接続を要求するために、SYNビット=1のパケットが送信されてきたと解釈する。サーバ5bは、負荷分散装置10bとの間で新たな通信を開始できる場合、TCPヘッダ中のSYNビットとACKビットの両方を1に設定した確認応答を、負荷分散装置10bに返送する。なお、サーバ5bは、IPヘッダのオプション部の処理を行わないため、サーバ5bが負荷分散装置10bに送信する確認応答では、IPヘッダには送信元IPアドレスが格納されていない。   (B2) The server 5b receives a failure monitoring packet from the load balancer 10b. The server 5b does not perform processing for the option part of the IP header. For this reason, the server 5b interprets that a packet with SYN bit = 1 has been transmitted simply to request a connection from the load balancer 10b. When the server 5b can start a new communication with the load balancer 10b, the server 5b returns an acknowledgment with both the SYN bit and the ACK bit in the TCP header set to 1 to the load balancer 10b. Since the server 5b does not perform processing of the option part of the IP header, the source IP address is not stored in the IP header in the confirmation response that the server 5b transmits to the load balancer 10b.

(b3)負荷分散装置10bがサーバ5bからの確認応答を受信したとする。負荷分散装置10bの故障監視部11bは、取得部31bと受信部21bを介して、確認応答を取得する。故障監視部11bは、確認応答の送信元を示す情報要素に記録されている送信元IPアドレスの値が、オプション部に含まれている送信元IPアドレスの値と一致するかを判定する。サーバ5bから受信した確認応答のIPヘッダには、オプション部に送信元アドレスが格納されていない。このため、故障監視部11bは、サーバ5bではIPヘッダ内のオプション部の処理が行われていないと判定する。さらに、故障監視部11bは、判定結果を、接続関係とともに接続テーブル52bに記録する。故障監視部11bは、確認応答の送信元であるサーバ5bを接続先ノードとする。このとき、故障監視部11bは、サーバ5bが負荷分散装置10bの後段に位置することも合わせて記憶する。このため、そこで、故障監視部11bは、図7(a)のNo.2に示す情報を記憶する。   (B3) It is assumed that the load distribution apparatus 10b receives the confirmation response from the server 5b. The failure monitoring unit 11b of the load distribution apparatus 10b acquires a confirmation response via the acquisition unit 31b and the reception unit 21b. The failure monitoring unit 11b determines whether the value of the transmission source IP address recorded in the information element indicating the transmission source of the confirmation response matches the value of the transmission source IP address included in the option unit. In the IP header of the confirmation response received from the server 5b, the source address is not stored in the option part. For this reason, the failure monitoring unit 11b determines that the server 5b has not performed the processing of the option unit in the IP header. Furthermore, the failure monitoring unit 11b records the determination result in the connection table 52b together with the connection relationship. The failure monitoring unit 11b sets the server 5b that is the transmission source of the confirmation response as the connection destination node. At this time, the failure monitoring unit 11b also stores that the server 5b is located at the subsequent stage of the load distribution apparatus 10b. For this reason, the failure monitoring unit 11b therefore receives the No. 1 in FIG. 2 is stored.

(a3)負荷分散装置10bは、手順(b3)でACK=1、SYN=1となっている確認応答を受信したので少なくとも、サーバ5bには、データを転送できると判定する。そこで、手順(a2)で受信した故障監視パケットに対する確認応答を、負荷分散装置10aに送信する。このとき、故障監視部11bは、確認応答に含まれているTCPヘッダのSYNビットとACKビットの両方を1に設定した上で、確認応答のIPヘッダ中のアドレスの情報を以下のように設定する。
送信元IPアドレス:負荷分散装置10bのIPアドレス
宛先IPアドレス :負荷分散装置10aのIPアドレス
オプション部中の送信元IPアドレス:負荷分散装置10bのIPアドレス
故障監視部11bは、生成した確認応答を、送信部25bを介して、負荷分散装置10aに送信する。
(A3) Since the load distribution apparatus 10b receives the confirmation response in which ACK = 1 and SYN = 1 in the procedure (b3), it determines that data can be transferred to at least the server 5b. Therefore, a confirmation response to the failure monitoring packet received in the procedure (a2) is transmitted to the load balancer 10a. At this time, the failure monitoring unit 11b sets both the SYN bit and the ACK bit of the TCP header included in the confirmation response to 1, and sets the address information in the IP header of the confirmation response as follows: To do.
Source IP address: IP address of the load balancer 10b Destination IP address: IP address of the load balancer 10a Source IP address in the option part: IP address failure monitoring unit 11b of the load balancer 10b Then, the data is transmitted to the load distribution device 10a via the transmission unit 25b.

(a4)負荷分散装置10aの故障監視部11aは、負荷分散装置10bで生成された確認応答を、受信部21aや取得部31aを介して受信する。故障監視部11aは、確認応答の送信元を示す情報要素に記録されている送信元IPアドレスの値が、オプション部に含まれている送信元IPアドレスの値と一致するかを判定する。両者が一致すると、故障監視部11aは、確認応答を生成した後段の負荷分散装置10は、IPヘッダ中のオプション部を処理できると判定する。そこで、故障監視部11aは、手順(b3)での故障監視部11bと同様の処理により、図7(b)のNo.1に示す情報を記憶する。さらに、故障監視部11aは、負荷分散装置10bから負荷分散装置10aに向かう通信路を確保するために、ACKビット=1に設定した確認応答を負荷分散装置10bに送信する。   (A4) The failure monitoring unit 11a of the load distribution device 10a receives the confirmation response generated by the load distribution device 10b via the reception unit 21a and the acquisition unit 31a. The failure monitoring unit 11a determines whether the value of the transmission source IP address recorded in the information element indicating the transmission source of the confirmation response matches the value of the transmission source IP address included in the option unit. If the two match, the failure monitoring unit 11a determines that the subsequent load distribution apparatus 10 that has generated the confirmation response can process the optional part in the IP header. Therefore, the failure monitoring unit 11a performs the same processing as that of the failure monitoring unit 11b in the procedure (b3) in No. 7 of FIG. 1 is stored. Further, the failure monitoring unit 11a transmits an acknowledgment set with ACK bit = 1 to the load balancer 10b in order to secure a communication path from the load balancer 10b to the load balancer 10a.

(a5)故障監視部11aは、負荷分散装置10bとの間の接続関係を取得し、負荷分散装置10bが正常に動作していると判定すると、負荷分散装置10bとの間の通信を終了する。このため、故障監視部11aは、TCPヘッダ中のFINビット=1、ACKビット=1に指定したパケットを生成し、送信部25aを介して負荷分散装置10bに送信する。このとき、IPヘッダの設定は、手順(a1)と同様に行われる。   (A5) The failure monitoring unit 11a acquires a connection relationship with the load balancer 10b, and when determining that the load balancer 10b is operating normally, ends the communication with the load balancer 10b. . For this reason, the failure monitoring unit 11a generates a packet designated with FIN bit = 1 and ACK bit = 1 in the TCP header, and transmits the packet to the load distribution apparatus 10b via the transmission unit 25a. At this time, the IP header is set in the same manner as in the procedure (a1).

(b5)負荷分散装置10bの故障監視部11bは、負荷分散装置10aから通信の終了が要求された場合、負荷分散装置10bに接続されているサーバ5のうちで、負荷分散装置10aとの通信路を確立しているサーバ5bに、通信の終了を通知する。このとき、負荷分散装置10bも手順(a5)での故障監視部11aと同様に、FINビット=1、ACKビット=1に指定したパケットを、サーバ5bに送信する。   (B5) The failure monitoring unit 11b of the load balancer 10b communicates with the load balancer 10a among the servers 5 connected to the load balancer 10b when the end of communication is requested from the load balancer 10a. The end of communication is notified to the server 5b that has established the path. At this time, similarly to the failure monitoring unit 11a in the procedure (a5), the load balancer 10b also transmits a packet designated with FIN bit = 1 and ACK bit = 1 to the server 5b.

(b6)サーバ5bは、故障監視のための通信の切断が要求されると、負荷分散装置10bとの間の通信を終了するために、FINビット=1、ACKビット=1に指定したパケットを、負荷分散装置10bに送信する。   (B6) When the server 5b is requested to disconnect the communication for failure monitoring, the server 5b transmits a packet designated with FIN bit = 1 and ACK bit = 1 in order to terminate communication with the load balancer 10b. To the load balancer 10b.

(a6)負荷分散装置10bがサーバ5bから通信の切断のためのパケットを受信すると、故障監視部11bは、負荷分散装置10aあてに、通信の切断を要求するためのパケットを生成する。このときに生成されるパケットは、FINビット=1、ACKビット=1であり、手順(a3)で生成されたパケットと同様のIPヘッダを含む。負荷分散装置10aが負荷分散装置10bからのパケットを受信することにより、負荷分散装置10aと負荷分散装置10bの間のコネクションが終了される。   (A6) When the load distribution device 10b receives a packet for disconnecting communication from the server 5b, the failure monitoring unit 11b generates a packet for requesting disconnection of communication to the load distribution device 10a. The packet generated at this time has FIN bit = 1 and ACK bit = 1, and includes the same IP header as the packet generated in the procedure (a3). When the load balancer 10a receives the packet from the load balancer 10b, the connection between the load balancer 10a and the load balancer 10b is terminated.

図6を参照しながら説明した処理と同様の処理が、負荷分散装置10aと負荷分散装置10cの間でも行われるため、接続テーブル52aは、図7(b)に示すようになる。また、負荷分散装置10bとサーバ5a、5cの間でも同様の処理が行われるので、故障監視部11bは、図7(c)に示す接続テーブル52bを生成する。さらに、負荷分散装置10cとサーバ5d〜5fの間でも同様の処理が行われる。   Since processing similar to that described with reference to FIG. 6 is also performed between the load balancer 10a and the load balancer 10c, the connection table 52a is as shown in FIG. 7B. Further, since the same processing is performed between the load balancer 10b and the servers 5a and 5c, the failure monitoring unit 11b generates a connection table 52b shown in FIG. 7C. Further, similar processing is performed between the load balancer 10c and the servers 5d to 5f.

〔転送処理の例〕
図8(a)と図8(b)は、IPヘッダのフォーマットの例を示す。図8(a)に示すIPヘッダは、通知パケットで使用される。図8(a)に示すIPヘッダの情報要素のうち、IPヘッダのオプション部以外は、図5を参照しながら説明したIPヘッダの情報要素と同様である。オプション部は、オプションタイプ、オプション長、処理サーバポート番号、処理サーバIPアドレス、付加情報を含む。オプションタイプは、パケットが通知パケットであることを示す値が設定される。通知パケットは、サーバ5で生成された応答パケットを受信した負荷分散装置10が、その負荷分散装置10よりも前段に位置している他の負荷分散装置10に、付加情報と、付加情報を生成したサーバ5の情報を通知するために用いられる。このため、処理サーバIPアドレスフィールドには、応答パケットを生成したサーバ5のIPアドレスが格納される。また、処理サーバポート番号フィールドには、応答パケットを生成したアプリケーションにアクセスするときに使用されるポート番号が格納される。付加情報フィールドには、応答パケットのデータに含まれている付加情報が格納される。
[Example of transfer processing]
FIG. 8A and FIG. 8B show examples of the IP header format. The IP header shown in FIG. 8A is used in the notification packet. Of the information elements of the IP header shown in FIG. 8A, except for the optional part of the IP header, it is the same as the information element of the IP header described with reference to FIG. The option part includes an option type, an option length, a processing server port number, a processing server IP address, and additional information. In the option type, a value indicating that the packet is a notification packet is set. As for the notification packet, the load distribution apparatus 10 that has received the response packet generated by the server 5 generates additional information and additional information in another load distribution apparatus 10 that is positioned upstream of the load distribution apparatus 10. Used to notify the server 5 of the information. Therefore, the IP address of the server 5 that generated the response packet is stored in the processing server IP address field. The processing server port number field stores a port number used when accessing the application that generated the response packet. In the additional information field, additional information included in the response packet data is stored.

従って、応答パケットを受信した負荷分散装置10bは、応答パケットのIPヘッダを、図8(a)に示すフォーマットに変換することにより、応答パケットを通知パケットに変換する。以下の説明で、応答パケットを通知パケットに変換する負荷分散装置10のことを「通知装置」と呼ぶことがある。通知装置は、サーバ5と直接パケットを送受信する負荷分散装置10である。   Accordingly, the load balancer 10b that has received the response packet converts the response packet into a notification packet by converting the IP header of the response packet into the format shown in FIG. In the following description, the load distribution device 10 that converts a response packet into a notification packet may be referred to as a “notification device”. The notification device is a load distribution device 10 that directly transmits and receives packets to and from the server 5.

図8(b)に示すIPヘッダは、転送パケットで使用される。図8(b)に示すIPヘッダでも、IPヘッダのオプション部以外の情報要素は、図5を参照しながら説明したIPヘッダと同様である。オプション部は、オプションタイプ、オプション長、処理サーバポート番号、処理サーバIPアドレス、パディングを含む。オプションタイプフィールドには、パケットが転送パケットであることを示す値が設定される。転送パケットは、端末2から要求パケットを受信した負荷分散装置10が、その負荷分散装置10よりも後段に位置する負荷分散装置10に、要求パケット中のデータを処理するサーバ5の情報を通知するために使用される。このため、処理サーバIPアドレスは、要求パケットのデータ中の付加情報を生成したサーバ5のIPアドレスとなる。また、処理サーバポート番号は、処理サーバにおいて、付加情報を含む応答パケット中のデータを生成したアプリケーションにアクセスするためのポート番号である。   The IP header shown in FIG. 8B is used in the transfer packet. Also in the IP header shown in FIG. 8B, the information elements other than the option part of the IP header are the same as those in the IP header described with reference to FIG. The option part includes an option type, an option length, a processing server port number, a processing server IP address, and padding. A value indicating that the packet is a transfer packet is set in the option type field. As for the transfer packet, the load balancer 10 that has received the request packet from the terminal 2 notifies the load balancer 10 that is positioned downstream of the load balancer 10 of the information of the server 5 that processes the data in the request packet. Used for. Therefore, the processing server IP address is the IP address of the server 5 that generated the additional information in the data of the request packet. The processing server port number is a port number for accessing the application that generated the data in the response packet including the additional information in the processing server.

以下、負荷分散装置10a、10b、および、サーバ5a〜5fの間で接続関係の特定が終わった後に、端末2がサーバ5にサービスを要求した場合について説明する。端末2が新規にサーバ5との通信を開始する場合、端末2からの要求パケットは、サーバ5a〜5fのいずれによって処理されても良い。以下の説明では、負荷分散装置10aは、端末2からの要求パケットを負荷分散装置10bに振り分け、負荷分散装置10bは、端末2からの要求をサーバ5bに振り分けたとする。   Hereinafter, a case where the terminal 2 requests a service from the server 5 after specifying the connection relationship between the load balancers 10a and 10b and the servers 5a to 5f will be described. When the terminal 2 newly starts communication with the server 5, the request packet from the terminal 2 may be processed by any of the servers 5a to 5f. In the following description, it is assumed that the load distribution apparatus 10a distributes the request packet from the terminal 2 to the load distribution apparatus 10b, and the load distribution apparatus 10b distributes the request from the terminal 2 to the server 5b.

図9は、サーバ5bから端末2あての応答パケットの転送処理の例を示す。なお、以下の手順の番号は、図9中の番号と同じである。なお、以下の説明では、応答パケットを生成したサーバ5のことを「処理サーバ」と記載することがある。図9では、サーバ5bが処理サーバとして動作する。さらに、図面を見やすくするために、負荷分散装置10bがサーバ5a〜5cへの振り分けに使用しているIPアドレスとポートをあわせた情報を、図9では「SLB#B」と記載する。同様に、負荷分散装置10cがサーバ5d〜5fへの振り分けに使用しているIPアドレスとポートをあわせた情報を「SLB#C」と表す。   FIG. 9 shows an example of transfer processing of a response packet addressed to the terminal 2 from the server 5b. The following procedure numbers are the same as those in FIG. In the following description, the server 5 that generated the response packet may be referred to as a “processing server”. In FIG. 9, the server 5b operates as a processing server. Furthermore, in order to make the drawing easy to see, information including the IP address and port used by the load distribution apparatus 10b for distribution to the servers 5a to 5c is described as “SLB # B” in FIG. Similarly, information including the IP address and port used by the load distribution apparatus 10c for distribution to the servers 5d to 5f is represented as “SLB # C”.

(11)サーバ5bは、端末2で生成された要求パケットを処理し、端末2に送信する応答データを生成する。さらに、サーバ5bは、今回の要求パケットに関連する以後のサービスを要求する要求パケットを、サーバ5bが処理することができるようにするため、付加情報を生成する。付加情報は、例えば、Cookie情報、セッションIDなどとすることができ、ネットワークに含まれているサーバ群から、要求パケットを処理するサーバを一意に決定するために使用可能な任意の情報である。サーバ5bは、応答データと付加情報をデータ中に含む応答パケット81a〜81cを生成する。このとき、サーバ5bは、応答パケット81a〜81cのIPヘッダのオプション部には、情報を格納しない。サーバ5bは、応答パケット81a〜81cを、端末2に向けて送信する。   (11) The server 5 b processes the request packet generated by the terminal 2 and generates response data to be transmitted to the terminal 2. Further, the server 5b generates additional information so that the server 5b can process a request packet for requesting a subsequent service related to the current request packet. The additional information can be, for example, cookie information, session ID, and the like, and is arbitrary information that can be used to uniquely determine a server that processes a request packet from a server group included in the network. The server 5b generates response packets 81a to 81c including response data and additional information in the data. At this time, the server 5b does not store information in the option part of the IP header of the response packets 81a to 81c. The server 5b transmits response packets 81a to 81c toward the terminal 2.

(12)負荷分散装置10bの受信部21bは、サーバ5bから応答パケット81aを受信する。受信部21bは、応答パケット81aを取得部31bに出力する。取得部31bは、応答パケット81aのIPヘッダのオプション部を参照する。応答パケット81aのIPヘッダのオプション部には、付加情報や処理サーバの識別情報などが含まれていないので、取得部31bはパケットバッファ22bに応答パケット81aの格納を要求する。さらに、取得部31bは、送信元IPアドレスをキーとして接続テーブル52bを参照することにより、送信元が負荷分散装置10bの前段と後段のいずれに位置しているかを判定する。応答パケット81aの送信元はサーバ5bであり、サーバ5bは負荷分散装置10の後段に位置している。そこで、取得部31bは、抽出部32bに、応答パケット81aのデータの解析を要求するとともに、応答パケット81を負荷分散装置10bの後段に位置する装置から受信したことを通知する。   (12) The receiving unit 21b of the load distribution apparatus 10b receives the response packet 81a from the server 5b. The reception unit 21b outputs the response packet 81a to the acquisition unit 31b. The acquisition unit 31b refers to the option part of the IP header of the response packet 81a. Since the optional part of the IP header of the response packet 81a does not include additional information or processing server identification information, the acquisition unit 31b requests the packet buffer 22b to store the response packet 81a. Further, the acquisition unit 31b refers to the connection table 52b using the transmission source IP address as a key, and determines whether the transmission source is located in the front stage or the rear stage of the load distribution apparatus 10b. The transmission source of the response packet 81a is the server 5b, and the server 5b is located at the subsequent stage of the load distribution apparatus 10. Therefore, the acquisition unit 31b requests the extraction unit 32b to analyze the data of the response packet 81a and notifies that the response packet 81 has been received from a device located at the subsequent stage of the load distribution device 10b.

取得部31bは、応答パケット81aを生成したサーバ5bの識別情報として、IPヘッダから送信元IPアドレス、TCPヘッダから送信元ポート番号を取得する。さらに、取得部31bは、IPヘッダから取得した送信元IPアドレスと、TCPヘッダから取得した送信元ポート番号を、サービスを要求するためのパケットの転送先として特定する。従って、取得部31bは、以下の情報を取得する。
処理サーバの識別情報:サーバ5bに割り当てられたIPアドレスとポート番号
転送先 :サーバ5bに割り当てられたIPアドレスとポート番号
取得部31bは、取得した識別情報と転送先の情報を抽出部32bに出力する。応答パケット81b、81cも、同様の処理により、パケットバッファ22bに格納される。
The acquisition unit 31b acquires the transmission source IP address from the IP header and the transmission source port number from the TCP header as identification information of the server 5b that generated the response packet 81a. Furthermore, the acquisition unit 31b specifies the transmission source IP address acquired from the IP header and the transmission source port number acquired from the TCP header as a transfer destination of a packet for requesting a service. Therefore, the acquisition unit 31b acquires the following information.
Processing server identification information: IP address and port number assigned to the server 5b Transfer destination: IP address and port number acquisition unit 31b assigned to the server 5b sends the acquired identification information and transfer destination information to the extraction unit 32b Output. The response packets 81b and 81c are also stored in the packet buffer 22b by the same processing.

(13)抽出部32bは、応答パケット81aのデータを解析することにより、応答パケット81aに含まれている付加情報を抽出する。図9の例では、応答パケット81a中の付加情報は、「クライアントA」という情報である。抽出部32bは、応答パケット81aの送信元が負荷分散装置10bよりも後段の装置であるため、付加情報を、処理サーバの識別情報、および、転送先の情報とともに、振り分けリスト管理部42bに出力する。さらに、抽出部32bは、サーバの識別情報とともに、抽出した付加情報を、情報付加部43bに出力する。   (13) The extraction unit 32b extracts additional information included in the response packet 81a by analyzing the data of the response packet 81a. In the example of FIG. 9, the additional information in the response packet 81a is information “client A”. The extraction unit 32b outputs the additional information to the distribution list management unit 42b together with the processing server identification information and the transfer destination information because the transmission source of the response packet 81a is a device subsequent to the load distribution device 10b. To do. Further, the extraction unit 32b outputs the extracted additional information together with the server identification information to the information addition unit 43b.

(14)振り分けリスト管理部42bは、抽出部32bから入力された情報を振り分けリスト51bに記録する。このため、振り分けリスト51bには以下の情報が記録される。
付加情報:クライアントA
処理サーバの識別情報:サーバ5bに割り当てられたIPアドレスとポート番号
転送先 :サーバ5bに割り当てられたIPアドレスとポート番号
(14) The distribution list management unit 42b records the information input from the extraction unit 32b in the distribution list 51b. For this reason, the following information is recorded in the distribution list 51b.
Additional information: Client A
Processing server identification information: IP address and port number assigned to server 5b Transfer destination: IP address and port number assigned to server 5b

(15)情報付加部43bは、抽出部32bから入力された付加情報と識別情報を応答パケット81aのIPヘッダのオプション部に加える。すなわち、情報付加部43bは、図8(a)に示すIPヘッダのオプション部内の送信元IPアドレスフィールドに、サーバ5bに割り当てられたIPアドレスを格納する。さらに、情報付加部43bは、IPヘッダのオプション部内の送信元ポート番号フィールドに、サーバ5bが応答パケット81aを生成するために使用したアプリケーションに対応するポート番号を記録する。このとき、情報付加部43bは、IPヘッダのオプション部内の送信元ポート番号フィールドに、応答パケット81aのTCPヘッダ中の送信元ポート番号と同じ値を記録するものとする。これらの処理により、情報付加部43bは、応答パケット81aを通知パケット82aに変換する。情報付加部43bは、得られた通知パケット82aを書き換え部24bに出力する。   (15) The information addition unit 43b adds the additional information and the identification information input from the extraction unit 32b to the option part of the IP header of the response packet 81a. That is, the information adding unit 43b stores the IP address assigned to the server 5b in the source IP address field in the option part of the IP header shown in FIG. Furthermore, the information adding unit 43b records the port number corresponding to the application used by the server 5b to generate the response packet 81a in the transmission source port number field in the option part of the IP header. At this time, the information adding unit 43b records the same value as the source port number in the TCP header of the response packet 81a in the source port number field in the option part of the IP header. Through these processes, the information adding unit 43b converts the response packet 81a into a notification packet 82a. The information adding unit 43b outputs the obtained notification packet 82a to the rewriting unit 24b.

(16)書き換え部24は、通知パケット82aの宛先IPアドレスをキーとして接続テーブル52を検索する。接続テーブル52に該当するエントリがない場合、書き換え部24bは、前段の負荷分散装置10aに転送するパケットであると判定し、送信元IPアドレスを負荷分散装置10bに割り当てられた仮想IPアドレスに書き換える。書き換え部24bでの処理が終わると、通知パケット82aは、送信部25bを介して負荷分散装置10aに送信される。   (16) The rewriting unit 24 searches the connection table 52 using the destination IP address of the notification packet 82a as a key. If there is no corresponding entry in the connection table 52, the rewriting unit 24b determines that the packet is to be transferred to the preceding load balancer 10a, and rewrites the transmission source IP address with the virtual IP address assigned to the load balancer 10b. . When the processing in the rewriting unit 24b is completed, the notification packet 82a is transmitted to the load distribution apparatus 10a via the transmission unit 25b.

(17)負荷分散装置10aの受信部21aは、負荷分散装置10bから通知パケット82aを受信する。受信部21aは、通知パケット82aを取得部31aに出力する。取得部31aは、通知パケット82aのIPヘッダのオプション部から、付加情報と、処理サーバの識別情報、送信元IPアドレスを取得する。取得部31aは、取得した情報を振り分けリスト管理部42aに出力する。図9の例では、抽出部32aは、通知パケット82aから以下の情報を取得して、振り分けリスト管理部42aに出力する。
付加情報:クライアントA
処理サーバの識別情報:サーバ5bに割り当てられたIPアドレスとポート番号
送信元 :負荷分散装置10bに割り当てられたIPアドレスとポート番号
振り分けリスト管理部42aは、取得部31aから入力された情報を振り分けリスト51aに記録する。
(17) The receiving unit 21a of the load balancer 10a receives the notification packet 82a from the load balancer 10b. The reception unit 21a outputs the notification packet 82a to the acquisition unit 31a. The acquisition unit 31a acquires additional information, processing server identification information, and a source IP address from the option part of the IP header of the notification packet 82a. The acquisition unit 31a outputs the acquired information to the distribution list management unit 42a. In the example of FIG. 9, the extraction unit 32a acquires the following information from the notification packet 82a and outputs it to the distribution list management unit 42a.
Additional information: Client A
Identification information of the processing server: IP address and port number assigned to the server 5b Source: IP address assigned to the load balancer 10b and port number distribution list management unit 42a distributes information input from the acquisition unit 31a Record in the list 51a.

(18)取得部31aは、振り分けリスト管理部42aに出力する情報を取得すると、通知パケット82aを書き換え部24aに出力する。書き換え部24aは、通知パケット82aの宛先IPアドレスをキーとして接続テーブル52を検索する。負荷分散装置10aの接続テーブル52a(図7(b))には、負荷分散装置10aよりも前段に位置する負荷分散装置10が記録されていない。書き換え部24aは、接続テーブル52aに該当するエントリがない場合、端末2に転送するパケットであると判定し、送信元IPアドレスを負荷分散装置10aに割り当てられた仮想IPアドレスに書き換える。さらに、書き換え部24aは、IPヘッダのオプション部に含まれている情報を削除する。従って、書き換え部24aは、通知パケット82aを応答パケット81dに変換している。応答パケット81dのデータは、応答パケット81aのデータと同じである。しかし、応答パケット81dでは、送信元IPアドレスと送信元ポート番号は負荷分散装置10aがサーバ5a〜5fへの負荷分散を行うために使用するアドレスとポート番号となっている。書き換え部24aは、応答パケット81dを送信部25aに出力する。送信部25aは、応答パケット81dを端末2に送信する。   (18) Upon acquiring information to be output to the distribution list management unit 42a, the acquisition unit 31a outputs a notification packet 82a to the rewriting unit 24a. The rewriting unit 24a searches the connection table 52 using the destination IP address of the notification packet 82a as a key. The connection table 52a (FIG. 7B) of the load balancer 10a does not record the load balancer 10 positioned in the previous stage of the load balancer 10a. When there is no corresponding entry in the connection table 52a, the rewriting unit 24a determines that the packet is to be transferred to the terminal 2, and rewrites the transmission source IP address with the virtual IP address assigned to the load balancer 10a. Furthermore, the rewriting unit 24a deletes the information included in the option part of the IP header. Accordingly, the rewriting unit 24a converts the notification packet 82a into a response packet 81d. The data of the response packet 81d is the same as the data of the response packet 81a. However, in the response packet 81d, the transmission source IP address and the transmission source port number are the addresses and port numbers used by the load distribution device 10a for load distribution to the servers 5a to 5f. The rewriting unit 24a outputs the response packet 81d to the transmission unit 25a. The transmission unit 25a transmits the response packet 81d to the terminal 2.

(19)端末2は、応答パケット81dを受信する。端末2は、応答パケット81dの送信元IPアドレスと送信元ポート番号に対応付けて、付加情報を保存する。応答パケット81dでは、送信元IPアドレスと送信元ポート番号は、負荷分散装置10aがサーバ5a〜5fへの負荷分散を行うために使用するアドレスとポート番号である。なお、端末2は、適宜、応答パケット81dの送信元アドレスとポート番号から特定できるアプリケーションに対応付けて、付加情報を記憶しても良い。   (19) The terminal 2 receives the response packet 81d. The terminal 2 stores the additional information in association with the transmission source IP address and the transmission source port number of the response packet 81d. In the response packet 81d, the transmission source IP address and the transmission source port number are an address and a port number used by the load distribution apparatus 10a to perform load distribution to the servers 5a to 5f. The terminal 2 may store additional information in association with an application that can be identified from the transmission source address and the port number of the response packet 81d as appropriate.

応答パケット81b、81cについても、同様に処理が行われる。このため、応答パケット81a〜81cがサーバ5bから端末2に送信される間に、各パケットについて1回ずつ、パケット中のデータの解析が行われるだけですむ。換言すると、サーバ5から応答パケットを受信している負荷分散装置10b以外は、パケット中のデータを処理しない。このため、ネットワークの処理負荷が小さくなる。   The same processing is performed for the response packets 81b and 81c. Therefore, while the response packets 81a to 81c are transmitted from the server 5b to the terminal 2, it is only necessary to analyze the data in the packets once for each packet. In other words, data other than the load distribution device 10b receiving the response packet from the server 5 does not process the data in the packet. This reduces the processing load on the network.

図10は、端末2から付加情報を含むパケットが送信されたときの処理の例を示す。
(21)次に、端末2が、応答パケット81dの宛先ポート番号で特定されるアプリケーションから、サーバ5に再度、サービスを要求したとする。端末2は、サービスを要求するために、要求パケット83aを生成する。要求パケット83aのデータ中には、「クライアントA」という付加情報が含まれている。また、要求パケット83aの送信先IPアドレスと送信先ポート番号は、負荷分散装置10aがサーバ5a〜5fへの振り分けに使用する値に設定される。端末2は、負荷分散装置10aに要求パケット83aを送信する。なお、端末2はIPヘッダのオプション部を処理しないので、要求パケット83aのIPヘッダのオプション部には、情報が格納されていない。
FIG. 10 shows an example of processing when a packet including additional information is transmitted from the terminal 2.
(21) Next, it is assumed that the terminal 2 requests the service from the server 5 again from the application specified by the destination port number of the response packet 81d. The terminal 2 generates a request packet 83a in order to request a service. The data of the request packet 83a includes additional information “Client A”. Further, the transmission destination IP address and the transmission destination port number of the request packet 83a are set to values used by the load distribution apparatus 10a for distribution to the servers 5a to 5f. The terminal 2 transmits a request packet 83a to the load balancer 10a. Since the terminal 2 does not process the option part of the IP header, no information is stored in the option part of the IP header of the request packet 83a.

(22)負荷分散装置10aの受信部21aは、端末2から要求パケット83aを受信すると、要求パケット83aを取得部31aに出力する。取得部31aは、要求パケット83aのIPヘッダのオプション部に情報に転送先のサーバ5を識別するためのIPアドレスとポート番号が含まれていないので、パケットバッファ22aに要求パケット83aの格納を要求する。取得部31aは、抽出部32aに、要求パケット83aのデータの解析を要求する。なお、要求パケット83aの処理中にさらに負荷分散装置10aがさらに要求パケット83b、83cを受信した場合、要求パケット83b、83cは、適宜、パケットバッファ22aに格納される。   (22) When receiving the request packet 83a from the terminal 2, the receiving unit 21a of the load distribution apparatus 10a outputs the request packet 83a to the acquiring unit 31a. The acquisition unit 31a requests the packet buffer 22a to store the request packet 83a because the option part of the IP header of the request packet 83a does not include the IP address and port number for identifying the transfer destination server 5 in the information. To do. The acquisition unit 31a requests the extraction unit 32a to analyze the data of the request packet 83a. When the load distribution apparatus 10a further receives the request packets 83b and 83c during the processing of the request packet 83a, the request packets 83b and 83c are stored in the packet buffer 22a as appropriate.

(23)抽出部32aは、要求パケット83aのデータを解析することにより、要求パケット83aに含まれている付加情報を抽出する。図10の例では、要求パケット83a中の付加情報は、「クライアントA」という情報である。抽出部32aは、得られた付加情報を検索部41aに出力する。   (23) The extraction unit 32a extracts the additional information included in the request packet 83a by analyzing the data of the request packet 83a. In the example of FIG. 10, the additional information in the request packet 83a is information “client A”. The extraction unit 32a outputs the obtained additional information to the search unit 41a.

(24)検索部41aは、抽出部32aから入力された付加情報に対応付けられているエントリを、振り分けリスト51a中で検索することにより、転送先の負荷分散装置10と処理サーバの情報を取得する。図10の例では、「クライアントA」という付加情報に対して以下の情報が対応付けられている。
付加情報:クライアントA
処理サーバの識別情報:サーバ5bに割り当てられたIPアドレスとポート番号
送信元 :負荷分散装置10bに割り当てられたIPアドレスとポート番号
そこで、検索部41aは、処理サーバの識別情報を変換部44aに出力し、送信先の情報を書き換え部24aに出力する。
(24) The search unit 41a acquires information on the load distribution device 10 and the processing server as the transfer destination by searching the distribution list 51a for an entry associated with the additional information input from the extraction unit 32a. To do. In the example of FIG. 10, the following information is associated with the additional information “client A”.
Additional information: Client A
Processing server identification information: IP address and port number assigned to the server 5b Source: IP address and port number assigned to the load balancer 10b The search unit 41a sends the processing server identification information to the conversion unit 44a. To output the destination information to the rewriting unit 24a.

(25)変換部44aは、処理サーバの識別情報を抽出部32aから取得すると、取得した情報を要求パケット83aのIPヘッダのオプション部に加える。すなわち、変換部44aは、図8(b)に示すIPヘッダのオプション部内の処理サーバIPアドレスフィールドに、サーバ5bに割り当てられたIPアドレスを格納する。さらに、変換部44aは、抽出部32aから通知されたポート番号を、IPヘッダのオプション部内の処理サーバポート番号フィールドに記録する。これらの処理により、変換部44aは、要求パケット83aを転送パケット84aに変換する。変換部44aは、送信先のアドレスを設定するために、得られた転送パケット84を書き換え部24bに出力する。   (25) When acquiring the processing server identification information from the extraction unit 32a, the conversion unit 44a adds the acquired information to the option part of the IP header of the request packet 83a. That is, the conversion unit 44a stores the IP address assigned to the server 5b in the processing server IP address field in the option part of the IP header shown in FIG. 8B. Furthermore, the conversion unit 44a records the port number notified from the extraction unit 32a in the processing server port number field in the option part of the IP header. Through these processes, the conversion unit 44a converts the request packet 83a into the transfer packet 84a. The conversion unit 44a outputs the obtained transfer packet 84 to the rewriting unit 24b in order to set the destination address.

(26)書き換え部24aは、変換部44aから入力された転送パケット84aの宛先IPアドレスと宛先ポート番号を、検索部41aから通知された値に変更する。このため、転送パケット84aには、以下の情報が設定される。
送信元 :端末2
宛先IPアドレス:負荷分散装置10bに設定されたIPアドレス
宛先ポート番号 :サーバ5a〜5cへの負荷分散用のポート番号
オプション部の処理サーバIPアドレス:サーバ5bに設定されたIPアドレス
オプション部の処理サーバポート番号:サーバ5bのアプリケーションのポート番号
書き換え部24aは、宛先の情報の設定が終わると、転送パケット84aを送信部25aに出力する。
(26) The rewrite unit 24a changes the destination IP address and destination port number of the transfer packet 84a input from the conversion unit 44a to the values notified from the search unit 41a. For this reason, the following information is set in the transfer packet 84a.
Source: Terminal 2
Destination IP address: IP address set in the load distribution apparatus 10b Destination port number: Port number for load distribution to the servers 5a to 5c Option part processing server IP address: IP address set in the server 5b Option part processing Server port number: The port number rewriting unit 24a of the application of the server 5b outputs the transfer packet 84a to the transmitting unit 25a when the destination information setting is completed.

(27)負荷分散装置10bの受信部21bは、転送パケット84aを受信する。受信部21bは、転送パケット84aを取得部31bに出力する。取得部31bは、IPヘッダのオプション部に処理サーバIPアドレスと処理サーバポート番号が含まれているかを判定する。取得部31bは、転送パケット84aのIPヘッダのオプション部から、処理サーバIPアドレスと処理サーバポート番号を取得する。   (27) The receiving unit 21b of the load distribution apparatus 10b receives the transfer packet 84a. The reception unit 21b outputs the transfer packet 84a to the acquisition unit 31b. The acquiring unit 31b determines whether the processing server IP address and the processing server port number are included in the option part of the IP header. The acquisition unit 31b acquires the processing server IP address and the processing server port number from the option part of the IP header of the transfer packet 84a.

さらに、取得部31bは、転送パケット84aの送信元IPアドレスをキーとして、接続テーブル52b(図7(c))を検索することにより、前段側と後段側のいずれの装置からパケットを受信したかを判定する。取得部31bは、転送パケット84bの送信元は負荷分散装置10aであり、負荷分散装置10aは負荷分散装置10bの前段側に位置すると判定する。そこで、取得部31bは、転送パケット84aから取得した処理サーバIPアドレスおよび処理サーバポート番号を検索部41bに出力する。ここでは、取得部31bは、処理サーバの識別情報として、サーバ5bのIPアドレスとポート番号を検索部41bに通知する。   Further, the acquisition unit 31b searches the connection table 52b (FIG. 7 (c)) using the transmission source IP address of the transfer packet 84a as a key, and has received the packet from either the upstream side device or the downstream side device. Determine. The acquisition unit 31b determines that the transmission source of the transfer packet 84b is the load balancer 10a, and the load balancer 10a is located on the upstream side of the load balancer 10b. Therefore, the acquisition unit 31b outputs the processing server IP address and processing server port number acquired from the transfer packet 84a to the search unit 41b. Here, the acquisition unit 31b notifies the search unit 41b of the IP address and port number of the server 5b as the processing server identification information.

(28)検索部41bは、転送パケット84aから取得した処理サーバIPアドレスおよび処理サーバポート番号をキーとして、振り分けリスト51bを検索することにより、転送先のIPアドレスとポート番号を特定する。図10に示すように、振り分けリスト51bでは、処理サーバがサーバ5bである場合の転送先は、サーバ5bとなっている。このため、検索部41bは、負荷分散装置10bが処理サーバに直接パケットを送信できると判定する。さらに、検索部41bは、転送先となるサーバ5bでは、IPヘッダのオプション部の処理ができるかを、接続テーブル52bを用いて判定する。ここでは、検索部41bは、転送先のノードでは、IPヘッダのオプション部を処理できないと判定する。検索部41bは、転送先であるサーバ5bのIPアドレスおよびポート番号、および、転送先ではIPヘッダのオプション部を処理できないことを、書き換え部24bに通知する。   (28) The search unit 41b specifies the transfer destination IP address and port number by searching the distribution list 51b using the processing server IP address and processing server port number acquired from the transfer packet 84a as keys. As shown in FIG. 10, in the distribution list 51b, the transfer destination when the processing server is the server 5b is the server 5b. For this reason, the search part 41b determines with the load distribution apparatus 10b being able to transmit a packet directly to a processing server. Further, the search unit 41b uses the connection table 52b to determine whether the server 5b serving as the transfer destination can process the option part of the IP header. Here, the search unit 41b determines that the transfer destination node cannot process the option part of the IP header. The search unit 41b notifies the rewriting unit 24b that the IP address and port number of the server 5b that is the transfer destination and that the option part of the IP header cannot be processed at the transfer destination.

(29)書き換え部24bは、検索部41bから通知された転送先の情報に従い、サーバ5bの情報を、IPヘッダ中の宛先IPアドレスと、宛先ポート番号に設定する。さらに、書き換え部24bは、サーバ5bがIPヘッダのオプション部の処理を行わないため、IPヘッダのオプション部の情報を削除する。従って、書き換え部24bは、転送パケット84aを要求パケット83dに変換しているといえる。要求パケット83dのデータは、要求パケット83aのデータと同じである。書き換え部24bは、要求パケット83dを送信部25bに出力する。送信部25bは、要求パケット83dをサーバ5bに送信する。   (29) The rewriting unit 24b sets the information of the server 5b to the destination IP address and the destination port number in the IP header according to the transfer destination information notified from the search unit 41b. Further, the rewriting unit 24b deletes the information of the option part of the IP header because the server 5b does not process the option part of the IP header. Therefore, it can be said that the rewriting unit 24b converts the transfer packet 84a into the request packet 83d. The data of the request packet 83d is the same as the data of the request packet 83a. The rewriting unit 24b outputs the request packet 83d to the transmission unit 25b. The transmission unit 25b transmits the request packet 83d to the server 5b.

(30)サーバ5bは、要求パケット83dを受信する。サーバ5bは、要求パケット83dのデータを処理する。   (30) The server 5b receives the request packet 83d. The server 5b processes the data of the request packet 83d.

要求パケット83b、83cについても、同様に処理が行われる。このため、要求パケット83a〜83cが端末2からサーバ5bに送信される間に、各パケットについて1回ずつ、パケット中のデータの解析が行われるだけですむ。換言すると、端末2から要求パケット83a〜83cを受信している負荷分散装置10a以外は、パケット中のデータを処理しない。このため、ネットワークの処理負荷が小さくなる。   The request packets 83b and 83c are similarly processed. Therefore, while the request packets 83a to 83c are transmitted from the terminal 2 to the server 5b, it is only necessary to analyze the data in the packet once for each packet. In other words, data other than the load balancer 10a receiving the request packets 83a to 83c from the terminal 2 is not processed. This reduces the processing load on the network.

図11は、負荷分散装置10の処理の例を説明するフローチャートである。図11は、前段の負荷分散装置10が要求パケット83を受信したときに行う処理の例を示している。図11は、要求パケット83がHTTPリクエストを含むパケットである場合を例としているが、端末2側からサーバ5に送信される他の要求パケット83についても、同様に処理が行われる。   FIG. 11 is a flowchart for explaining an example of processing of the load distribution apparatus 10. FIG. 11 shows an example of processing that is performed when the load distribution apparatus 10 in the previous stage receives the request packet 83. FIG. 11 shows an example in which the request packet 83 is a packet including an HTTP request, but the same processing is performed for other request packets 83 transmitted from the terminal 2 side to the server 5.

受信部21は、要求パケット83を受信する(ステップS1)。前段の負荷分散装置10が受信する要求パケット83には、IPヘッダのオプション部にサーバの識別情報が含まれていない。そこで、取得部31からの要求に応じて、パケットバッファ22は、要求パケット83をバッファリングする(ステップS2)。抽出部32は、パケットバッファ22にバッファリングされている要求パケット83のデータからHTTPヘッダを特定し、HTTPヘッダを解析する(ステップS3)。抽出部32は、解析の結果、HTTPヘッダ中に付加情報が含まれているかを判定する(ステップS4)。付加情報がHTTPヘッダ中に含まれていない場合、選択部23は、要求パケット83の振り分け先を決定する(ステップS4でNo、ステップS7)。書き換え部24は、選択部23で決定された転送先に応じて、要求パケット83のIPヘッダ中の宛先IPアドレスと宛先ポート番号を変更する(ステップS8)。送信部25は、書き換え部24での処理後の要求パケット83を転送先に送信する(ステップS12)。   The receiving unit 21 receives the request packet 83 (step S1). The request packet 83 received by the preceding load distribution apparatus 10 does not include server identification information in the option part of the IP header. Therefore, in response to a request from the acquisition unit 31, the packet buffer 22 buffers the request packet 83 (step S2). The extraction unit 32 identifies the HTTP header from the data of the request packet 83 buffered in the packet buffer 22, and analyzes the HTTP header (step S3). As a result of the analysis, the extraction unit 32 determines whether additional information is included in the HTTP header (step S4). When the additional information is not included in the HTTP header, the selection unit 23 determines a distribution destination of the request packet 83 (No in Step S4, Step S7). The rewriting unit 24 changes the destination IP address and the destination port number in the IP header of the request packet 83 according to the transfer destination determined by the selection unit 23 (step S8). The transmission unit 25 transmits the request packet 83 processed by the rewriting unit 24 to the transfer destination (step S12).

一方、付加情報が含まれている場合、抽出部32は、付加情報を検索部41に出力し、検索部41は、振り分けリスト51中から付加情報に対応付けられたエントリを検索する(ステップS4でYes、ステップS5)。付加情報に対応付けられたエントリが振り分けリスト51にない場合、ステップS7以降の処理が行われる(ステップS6でNo)。振り分けリスト51から、付加情報を含むエントリを取得できた場合、検索部41は、付加情報に対応付けられている転送先と、処理サーバの識別情報を取得する(ステップS6でYes、ステップS9)。なお、処理サーバの識別情報は、処理サーバに割り当てられたIPアドレスと、要求パケット83に含まれているデータを処理するアプリケーションを指定するポート番号である。検索部41は、処理サーバの識別情報を変換部44、転送先の情報を書き換え部24に出力する。変換部44は、処理サーバについての識別情報をIPヘッダのオプション部に格納することにより、要求パケット83を転送パケット84に変換する(ステップS10)。送信部25は、書き換え部24での処理後の要求パケット83を転送先に送信する(ステップS12)。   On the other hand, if additional information is included, the extraction unit 32 outputs the additional information to the search unit 41, and the search unit 41 searches the distribution list 51 for an entry associated with the additional information (step S4). Yes, step S5). If there is no entry associated with the additional information in the distribution list 51, the processing after step S7 is performed (No in step S6). When an entry including additional information can be acquired from the distribution list 51, the search unit 41 acquires the transfer destination associated with the additional information and the identification information of the processing server (Yes in step S6, step S9). . The identification information of the processing server is an IP address assigned to the processing server and a port number that designates an application that processes data included in the request packet 83. The search unit 41 outputs the processing server identification information to the conversion unit 44 and the transfer destination information to the rewriting unit 24. The conversion unit 44 converts the request packet 83 into the transfer packet 84 by storing the identification information about the processing server in the option part of the IP header (step S10). The transmission unit 25 transmits the request packet 83 processed by the rewriting unit 24 to the transfer destination (step S12).

図12は、負荷分散装置10の処理の例を説明するフローチャートである。図12は、後段の負荷分散装置10が、前段の負荷分散装置10からパケットを受信したときに行う処理の例を示している。   FIG. 12 is a flowchart for explaining an example of processing of the load distribution apparatus 10. FIG. 12 illustrates an example of processing that is performed when the subsequent load distribution apparatus 10 receives a packet from the previous load distribution apparatus 10.

受信部21は、パケットを受信する(ステップS21)。後段の負荷分散装置10が受信するパケットには、ヘッダのオプション部にサーバの識別情報が含まれている可能性がある。そこで、取得部31は、受信したパケットのヘッダに処理サーバを特定する情報が含まれているかを判定する(ステップS22)。処理サーバの情報がヘッダに含まれていない場合、パケットバッファ22は、取得部31からの要求に応じて、パケットをバッファリングする(ステップS23)。その後、図11を参照しながら説明したステップS7、S8、S12と同様の処理によって、パケットの転送が行われる(ステップS26、S27、S31)。   The receiving unit 21 receives a packet (step S21). There is a possibility that the packet received by the subsequent load distribution apparatus 10 includes the server identification information in the option part of the header. Therefore, the acquisition unit 31 determines whether information specifying the processing server is included in the header of the received packet (step S22). If the processing server information is not included in the header, the packet buffer 22 buffers the packet in response to a request from the acquisition unit 31 (step S23). Thereafter, the packet is transferred by the same processing as steps S7, S8, and S12 described with reference to FIG. 11 (steps S26, S27, and S31).

一方、後段の負荷分散装置10が転送パケット84を受信した場合、受信したヘッダのオプション部には処理サーバの識別情報が含まれている。ヘッダのオプション部にサーバの識別情報が含まれている場合、取得部31は、パケットのヘッダから処理サーバの情報を取得する(ステップS24)。取得部31は、処理サーバの情報を検索部41に出力する。検索部41は、取得部31から通知された処理サーバの情報を含むエントリを、振り分けリスト51から検索する(ステップS25)。処理サーバの情報を含むエントリがある場合、そのエントリに含まれている転送先のIPアドレスとポート番号を取得し、書き換え部24に出力する(ステップS25でYes、ステップS28)。書き換え部24は、パケットのヘッダに含まれている処理サーバの情報を削除することにより、転送パケット84を要求パケット83に変換する(ステップS29)。さらに、書き換え部24は、要求パケット83の送信先を、検索部41から通知された転送先の装置のIPアドレスとポート番号に変更し、送信部25を介して要求パケット83を転送する(ステップS30、S31)。一方、処理サーバの情報を含むエントリが無い場合、ステップS26以降の処理が行われる(ステップS25でNo)。   On the other hand, when the subsequent load distribution apparatus 10 receives the transfer packet 84, the option part of the received header includes the identification information of the processing server. When the server identification information is included in the option part of the header, the acquisition unit 31 acquires the information of the processing server from the header of the packet (step S24). The acquisition unit 31 outputs the processing server information to the search unit 41. The search unit 41 searches the distribution list 51 for an entry including the processing server information notified from the acquisition unit 31 (step S25). If there is an entry including processing server information, the IP address and port number of the transfer destination included in the entry are acquired and output to the rewriting unit 24 (Yes in step S25, step S28). The rewriting unit 24 converts the transfer packet 84 into the request packet 83 by deleting the processing server information included in the packet header (step S29). Furthermore, the rewriting unit 24 changes the transmission destination of the request packet 83 to the IP address and port number of the transfer destination device notified from the search unit 41, and transfers the request packet 83 via the transmission unit 25 (step). S30, S31). On the other hand, if there is no entry including information on the processing server, the processing after step S26 is performed (No in step S25).

図13は、負荷分散装置10の処理の例を説明するフローチャートである。図13は、後段の負荷分散装置10がサーバ5からパケットを受信したときに行う処理の例を示している。ステップS41、S42は、図11を参照しながら説明したステップS1、2と同様である。抽出部32は、パケットバッファ22にバッファリングされている応答パケット81のデータに付加情報が含まれているかを判定する(ステップS43)。付加情報がデータに含まれている場合、抽出部32は、付加情報を振り分けリスト管理部42と情報付加部43に出力する(ステップS43でYes)。振り分けリスト管理部42は、送信元のサーバ5の識別情報と付加情報を対応付けて、振り分けリスト51に記録する(ステップS44)。情報付加部43は、応答パケット81のヘッダに、処理サーバの情報と付加情報を含めることにより、応答パケット81を通知パケット82に変換する(ステップS45)。書き換え部24は、通知パケット82の転送を行うことができるように、IPヘッダ中のIPアドレスとポート番号の情報を設定する(ステップS46)。送信部25は、書き換え部24での処理後の通知パケット82を、前段の負荷分散装置10に送信する(ステップS48)。   FIG. 13 is a flowchart for explaining an example of processing of the load distribution apparatus 10. FIG. 13 illustrates an example of processing performed when the subsequent load distribution apparatus 10 receives a packet from the server 5. Steps S41 and S42 are the same as steps S1 and S2 described with reference to FIG. The extraction unit 32 determines whether additional information is included in the data of the response packet 81 buffered in the packet buffer 22 (step S43). If the additional information is included in the data, the extraction unit 32 outputs the additional information to the distribution list management unit 42 and the information addition unit 43 (Yes in step S43). The distribution list management unit 42 records the identification information of the transmission source server 5 and the additional information in association with each other in the distribution list 51 (step S44). The information adding unit 43 converts the response packet 81 into the notification packet 82 by including the processing server information and additional information in the header of the response packet 81 (step S45). The rewriting unit 24 sets the IP address and port number information in the IP header so that the notification packet 82 can be transferred (step S46). The transmission unit 25 transmits the notification packet 82 processed by the rewriting unit 24 to the load distribution apparatus 10 at the preceding stage (step S48).

一方、付加情報がデータに含まれていない場合、パケットは書き換え部24に出力される(ステップS43でNo)。書き換え部24は、受信したパケットを前段の負荷分散装置10に送信できるように、IPヘッダ中のIPアドレスとポート番号を設定する(ステップS47)。送信部25は、書き換え部24での処理後の通知パケット82を、前段の負荷分散装置10に送信する(ステップS48)。   On the other hand, if the additional information is not included in the data, the packet is output to the rewriting unit 24 (No in step S43). The rewriting unit 24 sets the IP address and the port number in the IP header so that the received packet can be transmitted to the preceding load distribution apparatus 10 (step S47). The transmission unit 25 transmits the notification packet 82 processed by the rewriting unit 24 to the load distribution apparatus 10 at the preceding stage (step S48).

図14は、負荷分散装置10の処理の例を説明するフローチャートである。図14は、前段の負荷分散装置10が後段の負荷分散装置10からパケットを受信したときに行う処理の例を示している。ステップS51は、図11を参照しながら説明したステップS1と同様である。取得部31は、パケットバッファ22にバッファリングされているパケットのヘッダに処理サーバの情報と付加情報が含まれているかを判定する(ステップS52)。パケットのヘッダに処理サーバの情報と付加情報が含まれている場合、前段の負荷分散装置10は、通知パケット82を受信している(ステップS52でYes)。そこで、パケットのヘッダに処理サーバの情報と付加情報が含まれている場合、取得部31は,ヘッダからそれらの情報を取得する(ステップS53)。振り分けリスト管理部42は、振り分けリスト51に、処理サーバの識別情報、送信元の装置の情報、付加情報を対応付けて記録する(ステップS54)。書き換え部24は、接続テーブル52を用いて、通知パケット82に含まれている情報の宛先が端末2であることを特定すると、通知パケット82を応答パケット81に変換する(ステップS55)。このとき、書き換え部24は、ヘッダ部から付加情報と処理サーバの情報を削除する。さらに、書き換え部24は、得られた応答パケット81の送信元IPアドレスと送信元ポート番号を、サーバ5への振り分けに使用しているIPアドレスとポート番号に書き換える(ステップS56)。書き換え部24での処理が終わると、送信部25は、応答パケット81を端末2に転送する(ステップS58)。一方、パケットのヘッダに処理サーバの情報と付加情報が含まれていない場合、前段の負荷分散装置10は、付加情報を含むパケットを受信していないと判定する(ステップS52でNo)。そこで、書き換え部24は、受信したパケットの送信元IPアドレスと送信元ポート番号を、サーバ5への振り分けに使用しているIPアドレスとポート番号に書き換え、送信部25を介して、端末2に転送する(ステップS57、S58)。   FIG. 14 is a flowchart for explaining an example of processing of the load distribution apparatus 10. FIG. 14 illustrates an example of processing that is performed when the load distribution device 10 at the preceding stage receives a packet from the load distribution device 10 at the subsequent stage. Step S51 is the same as step S1 described with reference to FIG. The acquisition unit 31 determines whether the processing server information and the additional information are included in the header of the packet buffered in the packet buffer 22 (step S52). When the processing server information and the additional information are included in the header of the packet, the preceding load distribution apparatus 10 has received the notification packet 82 (Yes in step S52). Therefore, when the processing server information and the additional information are included in the header of the packet, the acquisition unit 31 acquires the information from the header (step S53). The distribution list management unit 42 records the identification information of the processing server, the information of the transmission source device, and the additional information in association with the distribution list 51 (step S54). When the rewriting unit 24 uses the connection table 52 to specify that the destination of the information included in the notification packet 82 is the terminal 2, the rewriting unit 24 converts the notification packet 82 into a response packet 81 (step S55). At this time, the rewriting unit 24 deletes the additional information and the processing server information from the header part. Furthermore, the rewriting unit 24 rewrites the transmission source IP address and transmission source port number of the obtained response packet 81 with the IP address and port number used for distribution to the server 5 (step S56). When the processing in the rewriting unit 24 is completed, the transmission unit 25 transfers the response packet 81 to the terminal 2 (step S58). On the other hand, when the processing server information and the additional information are not included in the header of the packet, the preceding load distribution apparatus 10 determines that the packet including the additional information has not been received (No in step S52). Therefore, the rewriting unit 24 rewrites the transmission source IP address and the transmission source port number of the received packet with the IP address and port number used for distribution to the server 5, and transmits to the terminal 2 via the transmission unit 25. Transfer (steps S57 and S58).

このように、第1の実施形態にかかる方法によると、応答パケット81は、サーバ5から応答パケット81を受信した後段の負荷分散装置10(通知装置)において、通知パケット82に変換される。このため、通知装置以外の負荷分散装置10は、通知パケット82のヘッダを解析することによって、付加情報、処理サーバ、次に要求パケット83を転送する場合の転送先の組合せを取得できる。従って、通知装置以外の負荷分散装置10は、データの解析やデータの解析に伴うパケットのバッファリングを行わないため、効率的にパケットが処理できる。さらに、要求パケット83は、端末2から要求パケット83を受信した前段の負荷分散装置10(受信装置)において、転送パケット84に変換される。このため、受信装置以外の負荷分散装置10は、転送パケット84のヘッダを解析することにより、転送先の装置を特定することができる。従って、受信装置以外の負荷分散装置10は、データの解析やデータの解析に伴うパケットのバッファリングを行わないため、効率的にパケットが処理できる。   Thus, according to the method according to the first embodiment, the response packet 81 is converted into the notification packet 82 in the subsequent load distribution device 10 (notification device) that has received the response packet 81 from the server 5. For this reason, the load balancer 10 other than the notification device can acquire the combination of the additional information, the processing server, and the transfer destination when the request packet 83 is transferred next by analyzing the header of the notification packet 82. Accordingly, since the load distribution device 10 other than the notification device does not perform data analysis or packet buffering accompanying data analysis, it can process packets efficiently. Further, the request packet 83 is converted into a transfer packet 84 in the preceding load distribution apparatus 10 (receiving apparatus) that has received the request packet 83 from the terminal 2. Therefore, the load distribution apparatus 10 other than the receiving apparatus can identify the transfer destination apparatus by analyzing the header of the transfer packet 84. Accordingly, the load distribution apparatus 10 other than the receiving apparatus does not perform data analysis or packet buffering associated with data analysis, so that packets can be processed efficiently.

<第2の実施形態>
第1の実施形態では、負荷分散装置10が2段階に接続されている場合を例として説明したが、3以上の負荷分散装置10を経由してパケットがサーバ5に転送される場合でも、パケットの処理を効率化することができる。
<Second Embodiment>
In the first embodiment, the case where the load balancer 10 is connected in two stages has been described as an example. However, even when the packet is transferred to the server 5 via three or more load balancers 10, the packet Can be made more efficient.

図15は、第2の実施形態での故障監視パケットの送受信の例を示すシーケンス図である。図15は、負荷分散装置10が3段階に接続されている場合を例として示す。負荷分散装置10aは端末2と通信する負荷分散装置10であるとする。負荷分散装置10bと負荷分散装置10cは、負荷分散装置10aに接続されており、負荷分散装置10dと負荷分散装置10e(図示せず)が負荷分散装置10bに接続されているものとする。負荷分散装置10dには、サーバ5gを含む複数のサーバ5が接続されているものとする。故障監視パケットの送受信に際して、負荷分散装置10aと負荷分散装置10bの間の通信について行われる処理は、第1の実施形態において図6を参照しながら説明した手順(a1)〜(a6)と同様である。   FIG. 15 is a sequence diagram illustrating an example of transmission / reception of a failure monitoring packet according to the second embodiment. FIG. 15 shows an example in which the load distribution apparatus 10 is connected in three stages. The load balancer 10a is assumed to be the load balancer 10 that communicates with the terminal 2. The load balancer 10b and the load balancer 10c are connected to the load balancer 10a, and the load balancer 10d and the load balancer 10e (not shown) are connected to the load balancer 10b. It is assumed that a plurality of servers 5 including the server 5g are connected to the load balancer 10d. The processing performed for communication between the load balancer 10a and the load balancer 10b when sending and receiving the failure monitoring packet is the same as the procedures (a1) to (a6) described with reference to FIG. 6 in the first embodiment. It is.

故障監視パケットを負荷分散装置10aから受信した負荷分散装置10bは、負荷分散装置10dを宛先として、故障監視パケットを送信する(c1)。負荷分散装置10dは、負荷分散装置10bから故障監視パケットを受信すると、負荷分散装置10bが負荷分散装置10dの前段であることを接続テーブル52dに記録する(c2)。ここで、負荷分散装置10dに接続されているサーバ5のうちのいずれか1つ以上が正常に動作していれば、負荷分散装置10bからのパケットをサーバ5に転送できる。このため、負荷分散装置10dは、サーバ5gに故障監視パケットを送信する(d1)。   The load distribution apparatus 10b that has received the failure monitoring packet from the load distribution apparatus 10a transmits the failure monitoring packet to the load distribution apparatus 10d as a destination (c1). When receiving the failure monitoring packet from the load balancer 10b, the load balancer 10d records in the connection table 52d that the load balancer 10b is the previous stage of the load balancer 10d (c2). Here, if any one or more of the servers 5 connected to the load balancer 10d are operating normally, the packet from the load balancer 10b can be transferred to the server 5. For this reason, the load distribution apparatus 10d transmits a failure monitoring packet to the server 5g (d1).

サーバ5gからの負荷分散装置10dに故障監視パケットに対する確認応答により、負荷分散装置10dは、サーバ5gが正常に動作していると判定したとする。すると、負荷分散装置10dは、サーバ5gが負荷分散装置10dの後段であることを接続テーブル52dに記録する(d2)。さらに、負荷分散装置10dは、負荷分散装置10dが正常に動作しているという旨の確認応答を負荷分散装置10bに返信する(d3)。負荷分散装置10bは、負荷分散装置10dからの確認応答を受信すると、負荷分散装置10aに、負荷分散装置10bが正常に動作している旨の確認応答を返信する(c3)。その後、適宜、故障監視パケットを用いて確立されたコネクションが切断される。   It is assumed that the load distribution apparatus 10d determines that the server 5g is operating normally based on a confirmation response to the failure monitoring packet from the server 5g to the load distribution apparatus 10d. Then, the load balancer 10d records in the connection table 52d that the server 5g is a subsequent stage of the load balancer 10d (d2). Furthermore, the load balancer 10d returns a confirmation response to the effect that the load balancer 10d is operating normally to the load balancer 10b (d3). When receiving the confirmation response from the load balancer 10d, the load balancer 10b returns a confirmation response to the effect that the load balancer 10b is operating normally to the load balancer 10a (c3). Thereafter, the connection established using the failure monitoring packet is disconnected as appropriate.

図16は、第2の実施形態でのパケットの送受信の例を示すシーケンス図である。
(41)これまでサーバ5へアクセスしていない端末2が、サーバ5にアクセスするために、パケットを送信したとする。このとき、パケットには付加情報が含まれていないので、パケットを受信した負荷分散装置10は、予め決められた方法に基づいて、パケットを転送する。ここでは、パケットは、負荷分散装置10a、10b、10dを経て、サーバ5gに転送されたとする。
FIG. 16 is a sequence diagram illustrating an example of packet transmission / reception in the second embodiment.
(41) It is assumed that the terminal 2 that has not accessed the server 5 so far transmits a packet to access the server 5. At this time, since no additional information is included in the packet, the load distribution apparatus 10 that has received the packet transfers the packet based on a predetermined method. Here, it is assumed that the packet is transferred to the server 5g via the load balancers 10a, 10b, and 10d.

(42)サーバ5gは、端末2宛ての応答データと付加情報を含む応答パケット81eを生成し、負荷分散装置10dに送信する。   (42) The server 5g generates a response packet 81e including response data addressed to the terminal 2 and additional information, and transmits the response packet 81e to the load balancer 10d.

(43)負荷分散装置10dは、応答パケット81eをサーバ5gから受信しているので、応答パケット81eの処理においては、通知装置として動作する。そこで、負荷分散装置10dは、応答パケット81eを通知パケット82eに変換し、負荷分散装置10bに転送する。このときの負荷分散装置10dで行われる処理は、図9を参照しながら説明した手順(12)〜(16)と同様である。   (43) Since the load distribution apparatus 10d receives the response packet 81e from the server 5g, the load distribution apparatus 10d operates as a notification apparatus in the processing of the response packet 81e. Therefore, the load distribution apparatus 10d converts the response packet 81e into a notification packet 82e and transfers it to the load distribution apparatus 10b. The processing performed by the load distribution device 10d at this time is the same as the procedures (12) to (16) described with reference to FIG.

(44)負荷分散装置10bは、通知パケット82eのヘッダから付加情報、処理サーバがサーバ5gであること、通知パケット82eの送信元が負荷分散装置10dであることを特定し、振り分けリスト51bに記録する。このとき行われる処理は、図9を参照しながら説明した手順(17)と同様である。負荷分散装置10bの書き換え部24bは、接続テーブル52bを参照することにより、負荷分散装置10aが負荷分散装置10bの前段に位置していることを特定する。そこで、書き換え部24bは、通知パケット82eの送信元の情報を負荷分散装置10bがサーバ5への振り分けに使用するIPアドレスとポート番号に変換した上で、負荷分散装置10aに転送する。   (44) The load distribution apparatus 10b specifies additional information from the header of the notification packet 82e, specifies that the processing server is the server 5g, and that the transmission source of the notification packet 82e is the load distribution apparatus 10d, and records it in the distribution list 51b. To do. The processing performed at this time is the same as the procedure (17) described with reference to FIG. The rewriting unit 24b of the load balancer 10b specifies that the load balancer 10a is positioned in front of the load balancer 10b by referring to the connection table 52b. Therefore, the rewriting unit 24b converts the information of the transmission source of the notification packet 82e into an IP address and a port number used by the load balancer 10b for distribution to the server 5, and then transfers the information to the load balancer 10a.

(45)負荷分散装置10aは、負荷分散装置10bから通知パケット82eを受信する。負荷分散装置10aは、通知パケット82eのヘッダを用いて、付加情報、処理サーバがサーバ5gであること、通知パケット82eの送信元が負荷分散装置10bであることを特定し、振り分けリスト51aに記録する。さらに、負荷分散装置10aは、通知パケット82eを応答パケット81fに変換する。このとき行われる処理は、図9を参照しながら説明した手順(18)と同様である。   (45) The load balancer 10a receives the notification packet 82e from the load balancer 10b. Using the header of the notification packet 82e, the load balancer 10a specifies that the additional information, the processing server is the server 5g, and that the source of the notification packet 82e is the load balancer 10b, and records it in the distribution list 51a. To do. Further, the load balancer 10a converts the notification packet 82e into a response packet 81f. The processing performed at this time is the same as the procedure (18) described with reference to FIG.

(46)端末2は、応答パケット81fを受信すると、図9の手順(19)と同様に、付加情報を保存する。   (46) Upon receipt of the response packet 81f, the terminal 2 stores the additional information as in the procedure (19) of FIG.

(47)次に、端末2が、付加情報を含めた要求パケット83fを生成したとする。要求パケット83fは、負荷分散装置10aに送信される。   (47) Next, it is assumed that the terminal 2 generates a request packet 83f including additional information. The request packet 83f is transmitted to the load balancer 10a.

(48)負荷分散装置10aは、要求パケット83fを端末2から受信しているので、要求パケット83fの処理においては、受信装置として動作する。そこで、負荷分散装置10aは、要求パケット83fを転送パケット84fに変換し、負荷分散装置10bに転送する。このときの負荷分散装置10aで行われる処理は、図10を参照しながら説明した手順(22)〜(26)と同様である。   (48) Since the load distribution apparatus 10a receives the request packet 83f from the terminal 2, the load distribution apparatus 10a operates as a reception apparatus in processing the request packet 83f. Therefore, the load balancer 10a converts the request packet 83f into a transfer packet 84f and transfers it to the load balancer 10b. The processing performed by the load distribution apparatus 10a at this time is the same as the procedures (22) to (26) described with reference to FIG.

(49)負荷分散装置10bは、転送パケット84fのヘッダから処理サーバがサーバ5gであることを特定する。このとき行われる処理は、図10を参照しながら説明した手順(27)と同様である。さらに、負荷分散装置10bは、振り分けリスト51bから、サーバ5gに転送パケット84fを転送するための転送先を特定する。さらに、接続テーブル52を参照することにより、負荷分散装置10bは、転送先の負荷分散装置10dがIPヘッダのオプション部分を処理できることを特定する。そこで、負荷分散装置10bは、転送パケット84fを負荷分散装置10dに転送する。   (49) The load distribution apparatus 10b specifies that the processing server is the server 5g from the header of the transfer packet 84f. The processing performed at this time is the same as the procedure (27) described with reference to FIG. Furthermore, the load balancer 10b specifies a transfer destination for transferring the transfer packet 84f to the server 5g from the distribution list 51b. Further, by referring to the connection table 52, the load balancer 10b specifies that the transfer destination load balancer 10d can process the optional part of the IP header. Therefore, the load distribution apparatus 10b transfers the transfer packet 84f to the load distribution apparatus 10d.

(50)負荷分散装置10dは、負荷分散装置10bから転送パケット84fを受信する。負荷分散装置10dは、転送パケット84fのヘッダを用いて、処理サーバがサーバ5gであることを特定する。さらに、振り分けリスト51dと接続テーブル52dを用いて、転送パケット84fの転送先がサーバ5gであることと、サーバ5gがIPヘッダのオプション部の処理を行わないことを特定する。そこで、負荷分散装置10dは、転送パケット84fを要求パケット83gに変換して、サーバ5gに転送する。このとき行われる処理は、図10を参照しながら説明した手順(27)〜(29)と同様である。   (50) The load distribution apparatus 10d receives the transfer packet 84f from the load distribution apparatus 10b. The load balancer 10d specifies that the processing server is the server 5g using the header of the transfer packet 84f. Furthermore, using the distribution list 51d and the connection table 52d, it is specified that the transfer destination of the transfer packet 84f is the server 5g and that the server 5g does not perform processing of the option part of the IP header. Therefore, the load balancer 10d converts the transfer packet 84f into a request packet 83g and transfers it to the server 5g. The processing performed at this time is the same as the procedures (27) to (29) described with reference to FIG.

なお、図16では、負荷分散装置10が3段階に設置されている場合を例として説明したが、負荷分散装置10が設定される段数は、3以上の任意の数である。負荷分散装置10が4段以上接続されている場合、端末2と直接通信を行う負荷分散装置10は、負荷分散装置10aと同様の処理を行う。また、サーバ5と直接通信を行う負荷分散装置10は、図16を用いて説明した負荷分散装置10dと同様の処理を行う。端末2とサーバ5のいずれとも直接通信を行わない負荷分散装置10の処理は、図16を用いて説明した負荷分散装置10bの処理と同様である。   In addition, although FIG. 16 demonstrated as an example the case where the load distribution apparatus 10 was installed in three steps, the number of stages in which the load distribution apparatus 10 is set is an arbitrary number of three or more. When the load balancer 10 is connected to four or more stages, the load balancer 10 that directly communicates with the terminal 2 performs the same processing as the load balancer 10a. The load balancer 10 that directly communicates with the server 5 performs the same processing as the load balancer 10d described with reference to FIG. The processing of the load distribution apparatus 10 that does not directly communicate with either the terminal 2 or the server 5 is the same as the processing of the load distribution apparatus 10b described with reference to FIG.

図17は、負荷分散装置10の処理の例を説明するフローチャートである。図17は、通知装置と受信装置のいずれとしても動作しない負荷分散装置10が、受信装置から転送パケット84を受信したときに行う処理の例を示している。なお、通知装置と受信装置のいずれとしても動作しない負荷分散装置10は、ネットワーク中で、最も前段の負荷分散装置10ではなく、さらに、最も後段の負荷分散装置10でもない負荷分散装置10である。このような負荷分散装置10を、中段の負荷分散装置10と記載することもある。図17のステップS61〜S68は、図12を参照しながら説明したステップS21〜S28と同様である。しかし、中段の負荷分散装置10装置は、転送パケット84を要求パケット83に変換しないで、転送先に転送する(ステップS69、S70)。また、ステップS67の処理が終わったパケットも、転送先に転送される(ステップS70)。   FIG. 17 is a flowchart for explaining an example of processing of the load distribution apparatus 10. FIG. 17 illustrates an example of processing performed when the load distribution apparatus 10 that does not operate as either the notification apparatus or the reception apparatus receives the transfer packet 84 from the reception apparatus. Note that the load balancer 10 that does not operate as either a notification device or a receiver is not the first load balancer 10 in the network, but is also the load balancer 10 that is not the last load balancer 10. . Such a load balancer 10 may be referred to as a middle load balancer 10. Steps S61 to S68 in FIG. 17 are the same as steps S21 to S28 described with reference to FIG. However, the middle stage load distribution apparatus 10 does not convert the transfer packet 84 into the request packet 83, but transfers it to the transfer destination (steps S69 and S70). Further, the packet for which the processing in step S67 has been completed is also transferred to the transfer destination (step S70).

図18は、負荷分散装置10の処理の例を説明するフローチャートである。図18は、通知装置と受信装置のいずれとしても動作しない負荷分散装置10が、通知装置から通知パケット82を受信したときに行う処理の例を示している。図18のステップS81〜SS84、S86、S87は、図14を参照しながら説明したステップS51〜S54、S57、S58と同様である。ステップS84の処理の後、中段の負荷分散装置10は、通知パケット82を応答パケット81に変換しないで、転送先に転送する(ステップS85、S87)。   FIG. 18 is a flowchart for explaining an example of processing of the load distribution apparatus 10. FIG. 18 illustrates an example of processing performed when the load distribution apparatus 10 that does not operate as either the notification apparatus or the reception apparatus receives the notification packet 82 from the notification apparatus. Steps S81 to SS84, S86, and S87 in FIG. 18 are the same as steps S51 to S54, S57, and S58 described with reference to FIG. After the processing in step S84, the middle stage load distribution apparatus 10 transfers the notification packet 82 to the transfer destination without converting it into the response packet 81 (steps S85 and S87).

なお、サーバ5と直接通信を行う負荷分散装置10の処理と、端末2と直接通信を行う負荷分散装置10の処理を表すフローチャートは、第1の実施形態と同様に表せる。   Note that the flowchart representing the processing of the load balancer 10 that directly communicates with the server 5 and the process of the load balancer 10 that directly communicates with the terminal 2 can be expressed in the same manner as in the first embodiment.

このように、付加情報を含む応答パケット81は、応答パケット81を受信した負荷分散装置10である通知装置により、通知パケット82に変換される。このため、通知装置よりも前段側の負荷分散装置10は、通知パケット82のヘッダを用いて付加情報、処理サーバ、次に送信される要求パケット83の転送先の組合せを取得する。さらに、付加情報を含む要求パケット83は、要求パケット83を受信した負荷分散装置10である受信装置によって、転送パケット84に変換される。このため、受信装置よりも後段に設置されている負荷分散装置10は、転送パケット84のヘッダから、処理サーバを特定し、転送先を決定できる。このため、応答パケット81や要求パケット83のデータの解析が行われる回数は、全ての負荷分散装置10がデータの処理を行う場合の回数を負荷分散装置10の段数の数で割った回数となる。例えば、図16の例では、応答パケット81や要求パケット83のデータの解析が行われる回数は、全ての負荷分散装置10がデータの処理を行う場合の3分の1である。   As described above, the response packet 81 including the additional information is converted into the notification packet 82 by the notification device that is the load distribution device 10 that has received the response packet 81. For this reason, the load distribution device 10 on the upstream side of the notification device uses the header of the notification packet 82 to acquire the combination of the additional information, the processing server, and the transfer destination of the request packet 83 transmitted next. Further, the request packet 83 including the additional information is converted into a transfer packet 84 by the receiving device that is the load distribution device 10 that has received the request packet 83. For this reason, the load distribution apparatus 10 installed at a stage after the receiving apparatus can identify the processing server from the header of the transfer packet 84 and determine the transfer destination. For this reason, the number of times the data of the response packet 81 and the request packet 83 is analyzed is the number of times when all the load balancers 10 process the data divided by the number of stages of the load balancer 10. . For example, in the example of FIG. 16, the number of times the data of the response packet 81 and the request packet 83 is analyzed is one-third that when all the load balancers 10 process data.

<第3の実施形態>
図19は、アプリケーションレベルの故障監視を行う場合のパケットの送受信の例を示すシーケンス図である。第3の実施形態では、アプリケーションレベルの故障監視を行うことにより、接続テーブル52が生成される場合の例を説明する。なお、図19は、図6と比較しやすくするために、負荷分散装置10aと負荷分散装置10bの間での故障監視パケットを用いた通信と、負荷分散装置10bとサーバ5bの間での通信を例として示している。
<Third Embodiment>
FIG. 19 is a sequence diagram illustrating an example of packet transmission / reception when application level failure monitoring is performed. In the third embodiment, an example in which the connection table 52 is generated by performing failure monitoring at the application level will be described. In FIG. 19, for easy comparison with FIG. 6, communication using the failure monitoring packet between the load balancer 10 a and the load balancer 10 b and communication between the load balancer 10 b and the server 5 b are illustrated. Is shown as an example.

(f1)負荷分散装置10aは、通信を開始するための制御パケットを負荷分散装置10bとの間で送受信する。このときに生成される制御パケットのIPヘッダ内のオプション部には、情報は記録されていないものとする。負荷分散装置10aと負荷分散装置10bは、TCPのプロトコルに基づいて、コネクションを確立する。   (F1) The load balancer 10a transmits and receives a control packet for starting communication with the load balancer 10b. It is assumed that no information is recorded in the option part in the IP header of the control packet generated at this time. The load balancer 10a and the load balancer 10b establish a connection based on the TCP protocol.

(f2)故障監視部11aは、負荷分散装置10bと負荷分散装置10aの間のコネクションが確立すると、HTTPリクエストを、故障監視パケットとして、負荷分散装置10bに送信する。なお、図19の例では、HTTPリクエストのメソッドとしてHEADが使用されている。故障監視部11aは、負荷分散装置10aがIPヘッダのオプション部を処理できることを通知するために、故障監視パケットとして送信するHTTPリクエスト中のメッセージヘッダに、送信元のIPアドレスを通知するための情報を含める。送信元のIPアドレスを通知するための情報は、IPアドレスを通知するために使用するヘッダ名と、送信元のIPアドレスが対になっているものとする。例えば、負荷分散装置10aのIPアドレスがXXX.XXX.XXX.XXXである場合、負荷分散装置10aから負荷分散装置10bに送信されるHTTPリクエストでは「送信元IPアドレス通知:XXX.XXX.XXX.XXX」のように表記できる。   (F2) When the connection between the load distribution device 10b and the load distribution device 10a is established, the failure monitoring unit 11a transmits an HTTP request as a failure monitoring packet to the load distribution device 10b. In the example of FIG. 19, HEAD is used as the HTTP request method. The failure monitoring unit 11a informs the message header in the HTTP request transmitted as the failure monitoring packet to notify the IP address of the transmission source in order to notify that the load balancer 10a can process the option part of the IP header. Include. In the information for notifying the source IP address, the header name used for notifying the IP address and the source IP address are paired. For example, the IP address of the load balancer 10a is XXX. XXX. XXX. In the case of XXX, the HTTP request transmitted from the load balancer 10a to the load balancer 10b can be expressed as “source IP address notification: XXX.XXX.XXX.XXX”.

(f3)負荷分散装置10bは、負荷分散装置10aから、故障監視パケットを受信する。故障監視部11bは、故障監視パケットに送信元のIPアドレスを通知するための情報が含まれているかを判定する。故障監視パケットの送信元のIPアドレスが故障監視パケットのメッセージヘッダを用いて通知されている場合、故障監視部11bは、故障監視パケットで通知されたIPアドレスが割り当てられた負荷分散装置10の後段に位置すると判定する。図19の例では、故障監視部11bは、負荷分散装置10aが負荷分散装置10bの前段にあることを、接続テーブル52bに記録する。   (F3) The load balancer 10b receives the failure monitoring packet from the load balancer 10a. The failure monitoring unit 11b determines whether the failure monitoring packet includes information for notifying the transmission source IP address. When the IP address of the source of the failure monitoring packet is notified using the message header of the failure monitoring packet, the failure monitoring unit 11b follows the load balancer 10 to which the IP address notified by the failure monitoring packet is assigned. It is determined that it is located at. In the example of FIG. 19, the failure monitoring unit 11b records in the connection table 52b that the load balancer 10a is in the preceding stage of the load balancer 10b.

(g1)負荷分散装置10bは、負荷分散装置10aに応答する内容を決定するために、データの転送先となるサーバ5bとの間の故障監視を行う。故障監視部11bは、サーバ5bとの間でTCPプロトコルを用いてコネクションを確立する。   (G1) The load balancer 10b performs failure monitoring with the server 5b, which is a data transfer destination, in order to determine the content of response to the load balancer 10a. The failure monitoring unit 11b establishes a connection with the server 5b using the TCP protocol.

(g2)故障監視部11bは、サーバ5bとの間にコネクションを確立すると、手順(f2)の故障監視部11aと同様の手順で生成した故障監視パケットとなるHTTPリクエストをサーバ5bに送信する。このとき、故障監視部11bは、負荷分散装置10bがIPヘッダ中のオプション部を処理できることを通知するために、送信元アドレスを通知するヘッダを、HTTPリクエストに含めておく。   (G2) When the failure monitoring unit 11b establishes a connection with the server 5b, the failure monitoring unit 11b transmits an HTTP request, which is a failure monitoring packet generated in the same procedure as the failure monitoring unit 11a in the procedure (f2), to the server 5b. At this time, the failure monitoring unit 11b includes a header for notifying the transmission source address in the HTTP request in order to notify that the load distribution apparatus 10b can process the option part in the IP header.

(g3)サーバ5bは、正常に動作している場合、負荷分散装置10bから受信した故障監視パケットに対して確認応答を送信する。図19の例では、確認応答は、サーバ5bが負荷分散装置10bに「200 OK」を通知するためのHTTPレスポンスである。ここで、サーバ5bは、IPヘッダ中のオプション部を処理しないので、送信元アドレスを通知する情報はHTTPレスポンスに含まれていない。   (G3) When the server 5b is operating normally, the server 5b transmits a confirmation response to the failure monitoring packet received from the load balancer 10b. In the example of FIG. 19, the confirmation response is an HTTP response for the server 5b to notify “200 OK” to the load balancer 10b. Here, since the server 5b does not process the option part in the IP header, information notifying the transmission source address is not included in the HTTP response.

(g4)負荷分散装置10bは、サーバ5bからHTTPレスポンスを受信する。すると、故障監視部11bは、サーバ5bを、負荷分散装置10bの後段の装置として接続テーブル52bに記録する。このとき、サーバ5bから送信されてきたHTTPレスポンス中に、送信元のIPアドレスを通知する情報が含まれていないので、故障監視部11bは、サーバ5bをIPヘッダのオプション部を処理しない装置として記録する。   (G4) The load distribution apparatus 10b receives an HTTP response from the server 5b. Then, the failure monitoring unit 11b records the server 5b in the connection table 52b as a subsequent device of the load distribution device 10b. At this time, the HTTP response transmitted from the server 5b does not include information for notifying the IP address of the transmission source, so the failure monitoring unit 11b treats the server 5b as a device that does not process the option part of the IP header. Record.

(f4)故障監視部11bは、サーバ5bが正常に動作していると判定すると、負荷分散装置10aに対して、負荷分散装置10bが正常に動作していることを通知するための確認応答を送信する。このとき、故障監視部11bは、負荷分散装置10bがIPヘッダのオプション部を処理できることを負荷分散装置10aに通知するために、負荷分散装置10bに割り当てられたIPアドレスを、HTTPレスポンスのメッセージヘッダに含める。   (F4) When the failure monitoring unit 11b determines that the server 5b is operating normally, the failure monitoring unit 11b sends a confirmation response for notifying the load distribution device 10a that the load distribution device 10b is operating normally. Send. At this time, in order to notify the load balancer 10a that the load balancer 10b can process the option part of the IP header, the failure monitoring unit 11b uses the IP address assigned to the load balancer 10b as the message header of the HTTP response. Include in

(f5)負荷分散装置10aは、負荷分散装置10bからHTTPレスポンスを受信する。すると、故障監視部11aは、負荷分散装置10bの情報を、負荷分散装置10aの後段の装置として接続テーブル52aに記録する。なお、故障監視部11aは、メッセージヘッダ中に負荷分散装置10bのIPアドレスが含まれていることから、負荷分散装置10bをIPヘッダのオプション部を処理する装置として記録する。   (F5) The load balancer 10a receives an HTTP response from the load balancer 10b. Then, the failure monitoring unit 11a records the information of the load distribution device 10b in the connection table 52a as a device subsequent to the load distribution device 10a. In addition, since the IP address of the load balancer 10b is included in the message header, the failure monitoring unit 11a records the load balancer 10b as a device that processes the option part of the IP header.

(f6)故障監視を行うための通信が終了すると、負荷分散装置10aと10bの間のコネクションと、負荷分散装置10bとサーバ5bの間のコネクションが終了される。   (F6) When the communication for performing failure monitoring is completed, the connection between the load balancers 10a and 10b and the connection between the load balancer 10b and the server 5b are terminated.

第3の実施形態では、故障監視部11を用いて行われる故障監視を、アプリケーションレベルの故障監視とすることができるので、コネクションが正常に確立できてもアプリケーションが正常に応答しない場合も検出できる。端末2とサーバ5の間での通信に際しては、応答パケットや要求パケットは、第3の実施形態においても第1の実施形態と同様に扱われる。このため、第3の実施形態でも、端末2とサーバ5の間の通信が効率的に行われる。   In the third embodiment, the failure monitoring performed using the failure monitoring unit 11 can be an application level failure monitoring. Therefore, even when the connection can be normally established, the case where the application does not respond normally can be detected. . In communication between the terminal 2 and the server 5, response packets and request packets are handled in the third embodiment as in the first embodiment. For this reason, also in 3rd Embodiment, the communication between the terminal 2 and the server 5 is performed efficiently.

<第4の実施形態>
第4の実施形態では、付加情報が長いため、ヘッダのオプション部に入りきらない場合に、付加情報を受信した通知装置と受信装置が、付加情報に対応する情報(索引値)を、他の負荷分散装置10に通知する場合について説明する。
<Fourth Embodiment>
In the fourth embodiment, since the additional information is long, the notification device and the receiving device that have received the additional information can receive the information (index value) corresponding to the additional information, when the additional information cannot be included in the header. A case of notifying the load balancer 10 will be described.

図20は、第4の実施形態で使用されるパケットに含まれるIPヘッダのフォーマットの例である。図20に示すIPヘッダは、通知パケット82、および、転送パケット84で使用される。図20に示すIPヘッダのオプション部には、付加情報の代わりに、索引値が含まれている。通知パケット82中のIPヘッダのオプション部には、通知パケット82の転送元の負荷分散装置10で生成された索引値が含まれている。一方、転送パケット84では、転送パケット84の転送処理を行う負荷分散装置10が、転送先の負荷分散装置10から通知された索引値が含まれている。図20に示すIPヘッダ中の索引値以外の情報要素は、図8(a)、図8(b)を参照しながら説明した情報要素と同様である。   FIG. 20 is an example of the format of the IP header included in the packet used in the fourth embodiment. The IP header shown in FIG. 20 is used in the notification packet 82 and the transfer packet 84. The option part of the IP header shown in FIG. 20 includes an index value instead of the additional information. The option part of the IP header in the notification packet 82 includes an index value generated by the load distribution device 10 that is the transfer source of the notification packet 82. On the other hand, in the transfer packet 84, the load distribution device 10 that performs the transfer process of the transfer packet 84 includes the index value notified from the transfer destination load distribution device 10. The information elements other than the index value in the IP header shown in FIG. 20 are the same as the information elements described with reference to FIGS. 8 (a) and 8 (b).

図21は、索引値を用いたときの通知パケット82の転送処理の例を示す。手順(41)と(42)は、図16を参照しながら説明した処理と同様である。   FIG. 21 shows an example of the transfer process of the notification packet 82 when the index value is used. Procedures (41) and (42) are the same as those described with reference to FIG.

(61)負荷分散装置10dは、応答パケット81hをサーバ5gから受信しているので、応答パケット81hの処理においては、通知装置として動作する。そこで、負荷分散装置10dは、応答パケット81hのデータから付加情報を取得し、付加情報に対応する索引値Aを生成する。索引値の生成方法は、付加情報を一意に特定できる任意の方法である。以下、索引値は、負荷分散装置10d中の記憶部50dの中で、付加情報か通知された索引値の書き込みに使用したアドレスの値である場合を例として説明する。この場合、振り分けリスト管理部42dが振り分けリスト51dを生成するときに、索引値を求め、情報付加部43dに出力する。振り分けリスト管理部42dは、付加情報と処理サーバがサーバ5gであることを、索引値Aに対応付けて、振り分けリスト51dに記録する。この例では、索引値Aは、負荷分散装置10dに備えられたメモリ中で、振り分けリスト管理部42dが処理サーバ5gの識別情報の書き込みに使用したアドレスであるものとする。   (61) Since the load distribution device 10d receives the response packet 81h from the server 5g, the load distribution device 10d operates as a notification device in the processing of the response packet 81h. Therefore, the load distribution apparatus 10d acquires additional information from the data of the response packet 81h, and generates an index value A corresponding to the additional information. The index value generation method is an arbitrary method that can uniquely identify additional information. Hereinafter, an example will be described in which the index value is the value of the address used for writing the additional information or the notified index value in the storage unit 50d in the load distribution apparatus 10d. In this case, when the distribution list management unit 42d generates the distribution list 51d, an index value is obtained and output to the information adding unit 43d. The distribution list management unit 42d records that the additional information and the processing server is the server 5g in the distribution list 51d in association with the index value A. In this example, it is assumed that the index value A is an address used for writing the identification information of the processing server 5g in the memory provided in the load balancer 10d.

(62)情報付加部43dは、索引値Aと処理サーバ5gの識別情報をヘッダに含めることにより、応答パケット81hを通知パケット82hに変換する。さらに、書き換え部24dは、送信元の情報を負荷分散装置10dの情報に変更する。書き換え部24dでの処理が終わると、送信部25dは、通知パケット82hを前段の負荷分散装置10bに転送する。   (62) The information adding unit 43d converts the response packet 81h into the notification packet 82h by including the index value A and the identification information of the processing server 5g in the header. Furthermore, the rewriting unit 24d changes the transmission source information to the information of the load distribution device 10d. When the processing in the rewriting unit 24d is completed, the transmission unit 25d transfers the notification packet 82h to the preceding load distribution device 10b.

(63)負荷分散装置10bの取得部31bは、通知パケット82hのヘッダから、索引値Aと処理サーバ5gの識別情報を取得する。振り分けリスト管理部42bは、索引値Bを生成し、索引値Aと処理サーバ5gの識別情報を、索引値Bに対応付けて振り分けリスト51bに記憶する。ここで、索引値Bは、索引値Aの書き込みに使用したアドレスの値であるものとする。振り分けリスト管理部42bは、索引値Bを情報付加部43bに出力する。   (63) The acquisition unit 31b of the load distribution apparatus 10b acquires the index value A and the identification information of the processing server 5g from the header of the notification packet 82h. The distribution list management unit 42b generates an index value B, and stores the index value A and the identification information of the processing server 5g in the distribution list 51b in association with the index value B. Here, it is assumed that the index value B is an address value used for writing the index value A. The distribution list management unit 42b outputs the index value B to the information adding unit 43b.

(64)情報付加部43bは、通知パケット82hに含まれている索引値Aを、負荷分散装置10bで生成された索引値(索引値B)に変更する。さらに、書き換え部24bは、通知パケット82hの送信元を負荷分散装置10bでの振り分けに使用している情報に変更する。書き換え部24bでの処理により得られた通知パケット82jは、送信部25bにより、負荷分散装置10aに転送される。   (64) The information adding unit 43b changes the index value A included in the notification packet 82h to the index value (index value B) generated by the load balancer 10b. Further, the rewriting unit 24b changes the transmission source of the notification packet 82h to information used for distribution in the load balancer 10b. The notification packet 82j obtained by the processing in the rewriting unit 24b is transferred to the load distribution device 10a by the transmission unit 25b.

(65)負荷分散装置10aは、負荷分散装置10aよりも前段の負荷分散装置10が設置されていないことを認識している。このため、後段側の負荷分散装置10bから通知パケット82jを受信すると、パケットバッファ22aは、通知パケット82jのバッファリングを行う。並行して、取得部31aは、通知パケット82jのヘッダから、索引値Bと識別情報を取得する。抽出部32aは、通知パケット82j中のデータから、付加情報を取得する。   (65) The load balancer 10a recognizes that the load balancer 10 that is upstream of the load balancer 10a is not installed. For this reason, when the notification packet 82j is received from the load balancing device 10b on the subsequent stage side, the packet buffer 22a buffers the notification packet 82j. In parallel, the acquisition unit 31a acquires the index value B and the identification information from the header of the notification packet 82j. The extraction unit 32a acquires additional information from the data in the notification packet 82j.

(66)振り分けリスト管理部42aは、付加情報に対応付けて、索引値B、索引値Bを通知してきたノードが負荷分散装置10bであること、および、処理サーバがサーバ5gであることを、振り分けリスト51aに記録する。   (66) The distribution list management unit 42a associates the additional information with the index value B, the node that has notified the index value B is the load balancer 10b, and the processing server is the server 5g. Record in the distribution list 51a.

(67)書き換え部24aは、ヘッダから索引値B、サーバ5gの識別情報などを削除し、通知パケット82jを応答パケット81jに変換する。このとき、応答パケット81jの送信元は、負荷分散装置10aが、パケットの振り分けに使用するIPアドレスとポート番号に設定されているものとする。端末2は、応答パケット81jを受信すると、負荷分散装置10aが、パケットの振り分けに使用するIPアドレスとポート番号に対応付けて、付加情報を記憶する。   (67) The rewriting unit 24a deletes the index value B, the identification information of the server 5g, and the like from the header, and converts the notification packet 82j into a response packet 81j. At this time, it is assumed that the transmission source of the response packet 81j is set to the IP address and port number used by the load balancer 10a for packet distribution. When the terminal 2 receives the response packet 81j, the load distribution apparatus 10a stores additional information in association with the IP address and port number used for packet distribution.

図22は、転送パケット84について行われる転送処理の例を示す。端末2から要求パケット83jが送信されるときの処理は、図16を参照しながら説明した手順(47)と同様である。   FIG. 22 shows an example of transfer processing performed on the transfer packet 84. The processing when the request packet 83j is transmitted from the terminal 2 is the same as the procedure (47) described with reference to FIG.

(71)負荷分散装置10aは、要求パケット83jを端末2から受信しているので、要求パケット83jの処理においては、受信装置として動作する。そこで、抽出部32aは、要求パケット83j中のデータを解析して、付加情報を取得する。   (71) Since the load distribution apparatus 10a receives the request packet 83j from the terminal 2, the load distribution apparatus 10a operates as a reception apparatus in processing the request packet 83j. Therefore, the extraction unit 32a analyzes the data in the request packet 83j and acquires additional information.

(72)検索部41aは、抽出部32aから通知された付加情報に対応付けられた識別情報を、振り分けリスト51aから特定する。検索部41aは、得られた識別情報を変換部44aに出力する。   (72) The search unit 41a identifies identification information associated with the additional information notified from the extraction unit 32a from the distribution list 51a. The search unit 41a outputs the obtained identification information to the conversion unit 44a.

(73)変換部44aは、入力された識別情報を用いて、要求パケット83jを転送パケット84jに変換し、負荷分散装置10bに転送する。   (73) The conversion unit 44a converts the request packet 83j into the transfer packet 84j using the input identification information, and transfers it to the load distribution apparatus 10b.

(74)負荷分散装置10bの取得部31bは、転送パケット84jのヘッダから、識別情報を取得し、検索部41bに出力する。検索部41bは、識別情報に含まれているIPヘッダとポート番号の組み合わせに対応付けられた負荷分散装置10を、振り分けリスト51bを用いて検索する。ここでは、手順(63)によりサーバ5gの識別情報と負荷分散装置10dの情報が対応付けられている。そこで、書き換え部24bは、検索部41bからの要求に応じて、転送パケット84jの宛先を負荷分散装置10dに変更し、送信部25bを介して送信する。   (74) The acquisition unit 31b of the load distribution apparatus 10b acquires identification information from the header of the transfer packet 84j and outputs the identification information to the search unit 41b. The search unit 41b searches the load distribution apparatus 10 associated with the combination of the IP header and the port number included in the identification information using the distribution list 51b. Here, the identification information of the server 5g and the information of the load balancer 10d are associated by the procedure (63). Therefore, the rewriting unit 24b changes the destination of the transfer packet 84j to the load balancer 10d in response to a request from the search unit 41b, and transmits it via the transmission unit 25b.

(75)負荷分散装置10dの取得部31dは、転送パケット84jに含まれている識別情報を用いて、転送パケット84jに含まれているデータがサーバ5gで処理されることを特定する。そこで、書き換え部24dは、転送パケット84jのヘッダから識別情報などを削除することにより、転送パケット84jを要求パケット83kに変換する。書き換え部24dは、要求パケット83kを、送信部25dを介してサーバ5gに送信する。   (75) The acquisition unit 31d of the load distribution apparatus 10d uses the identification information included in the transfer packet 84j to specify that the data included in the transfer packet 84j is processed by the server 5g. Therefore, the rewriting unit 24d converts the transfer packet 84j into the request packet 83k by deleting the identification information from the header of the transfer packet 84j. The rewriting unit 24d transmits the request packet 83k to the server 5g via the transmission unit 25d.

図23は、負荷分散装置10の処理の例を説明するフローチャートである。図23は、通知装置として動作する負荷分散装置10がサーバ5から応答パケット81を受信したときの処理の例を示す。ステップS91〜S94は、図13を参照しながら説明したステップS41〜S44と同様である。その後、振り分けリスト管理部42は、付加情報に対応する索引値を生成し、付加情報に対応付けて振り分けリスト51に記憶する(ステップS95)。情報付加部43は、応答パケット81のヘッダに、処理サーバの情報と索引値を含めることにより、応答パケット81を通知パケット82に変換する(ステップS96)。ステップS97〜S99の処理は、図13を参照しながら説明したステップS46〜S48と同様である。   FIG. 23 is a flowchart for explaining an example of processing of the load distribution apparatus 10. FIG. 23 shows an example of processing when the load distribution apparatus 10 operating as a notification apparatus receives a response packet 81 from the server 5. Steps S91 to S94 are the same as steps S41 to S44 described with reference to FIG. Thereafter, the distribution list management unit 42 generates an index value corresponding to the additional information, and stores it in the distribution list 51 in association with the additional information (step S95). The information adding unit 43 converts the response packet 81 into the notification packet 82 by including the processing server information and the index value in the header of the response packet 81 (step S96). The processing in steps S97 to S99 is the same as that in steps S46 to S48 described with reference to FIG.

図24は、負荷分散装置10の処理の例を説明するフローチャートである。図24は、受信装置として動作する負荷分散装置10以外の負荷分散装置10が、通知パケット82を受信した負荷分散装置10の処理の例を示す。ステップS101、S102は、図18を参照しながら説明したステップS81、S82と同様である。取得部31はヘッダから処理サーバの識別情報と索引値を取得する(ステップS103)。振り分けリスト管理部42は、取得部31が取得した索引値を記録するアドレスの値を取得し、得られた値を通知用の索引値とする(ステップS104)。振り分けリスト管理部42は、通知用の索引値に対応付けて、処理サーバの識別情報、通知パケット82の転送元、通知パケット82の転送元から通知された索引値を、振り分けリスト51に記憶する(ステップS105)。書き換え部24は、通知パケット82中の索引値を、自ノードが通知用に生成した索引値に変更する(ステップS106)。ステップS107〜S109は、図18のステップS85〜S87と同様である。   FIG. 24 is a flowchart for explaining an example of processing of the load distribution apparatus 10. FIG. 24 illustrates an example of processing of the load distribution apparatus 10 that has received the notification packet 82 by a load distribution apparatus 10 other than the load distribution apparatus 10 operating as a reception apparatus. Steps S101 and S102 are the same as steps S81 and S82 described with reference to FIG. The acquisition unit 31 acquires the identification information and index value of the processing server from the header (step S103). The distribution list management unit 42 acquires the value of the address for recording the index value acquired by the acquisition unit 31, and sets the obtained value as the index value for notification (step S104). The distribution list management unit 42 stores the identification information of the processing server, the transfer source of the notification packet 82, and the index value notified from the transfer source of the notification packet 82 in the distribution list 51 in association with the notification index value. (Step S105). The rewriting unit 24 changes the index value in the notification packet 82 to the index value generated by the own node for notification (step S106). Steps S107 to S109 are the same as steps S85 to S87 in FIG.

図25は、負荷分散装置10の処理の例を説明するフローチャートである。図25は、受信装置として動作する負荷分散装置10が、通知パケット82を受信した場合の処理の例を示す。ステップS111〜S113は、図24のステップS101〜S103と同様である。書き換え部24は、ヘッダから識別情報などを除去することにより、通知パケット82を応答パケット81に変換する(ステップS114)。さらに、パケットバッファ22で変換後の応答パケット81をバッファリングし、抽出部32がデータから付加情報を取得する(ステップS115、S116)。振り分けリスト管理部42は、付加情報に対応付けて、ステップS113で取得した索引値、通知パケット82を転送してきた負荷分散装置10の情報、および、処理サーバの識別情報を、振り分けリスト51に記録する(ステップS117)。ステップS118〜S120は、図24のステップS107〜S109と同様である。   FIG. 25 is a flowchart for explaining an example of processing of the load distribution apparatus 10. FIG. 25 shows an example of processing when the load distribution apparatus 10 operating as a receiving apparatus receives the notification packet 82. Steps S111 to S113 are the same as steps S101 to S103 in FIG. The rewriting unit 24 converts the notification packet 82 into the response packet 81 by removing identification information and the like from the header (step S114). Further, the converted response packet 81 is buffered by the packet buffer 22, and the extraction unit 32 acquires additional information from the data (steps S115 and S116). The distribution list management unit 42 records, in the distribution list 51, the index value acquired in step S113, the information of the load balancer 10 that has transferred the notification packet 82, and the identification information of the processing server in association with the additional information. (Step S117). Steps S118 to S120 are the same as steps S107 to S109 in FIG.

なお、要求パケットが端末2からサーバ5に送信されるときの処理は、図11、図12、図17と同様である。   The processing when the request packet is transmitted from the terminal 2 to the server 5 is the same as that shown in FIGS. 11, 12, and 17.

<その他>
なお、実施形態は上記に限られるものではなく、様々に変形可能である。以下にその例をいくつか述べる。
<Others>
The embodiment is not limited to the above, and can be variously modified. Some examples are described below.

例えば、第4の実施形態において、送受信される転送パケット84のヘッダに付加情報と索引値が含まれていてもよい。図26は、索引値を用いたときの転送パケット84の転送処理の例を示す。図26中の手順(47)と手順(71)は、図22と同様である。手順(81)において、検索部41aは、抽出部32aから通知された付加情報に対応付けられた識別情報と索引値Bを、振り分けリスト51aから特定する。検索部41aは、得られた識別情報を変換部44aに出力する。手順(82)では、変換部44aは、識別情報と索引値を要求パケット83のヘッダに含めることにより、要求パケット83jを転送パケット84mに変換し、負荷分散装置10bに転送する。手順(83)で負荷分散装置10bの取得部31bは、転送パケット84mのヘッダから索引値Bを取得し、検索部41bに出力する。検索部41bは、検索値Bに対応付けられている識別情報、検索値A、転送先の情報を検索する。ここで、検索値Bは、メモリ中で、検索値Aの書き込みに使用したアドレスを表す値である。このため、検索部41bは、容易に、検索値Aと識別情報を特定することができる。手順(84)において、変換部44bは、転送パケット84mのアドレス中の索引値Bを、索引値Aに変更することにより、転送パケット84nを生成し、負荷分散装置10dに送信する。手順(85)では、負荷分散装置10dの取得部31dは、索引値Aを転送パケット84nのヘッダから取得し、検索部41dに通知する。検索値Aは、負荷分散装置10dに備えられたメモリ中で、処理サーバ5gの識別情報の書き込みに使用したアドレスを表す値である。このため、検索部41dは、検索値Aの値のアドレスにアクセスすることにより識別情報を特定できる。手順(86)において、書き換え部24dは、転送パケット84nを要求パケット83nに変換した後で、要求パケット83nをサーバ5gに転送する。   For example, in the fourth embodiment, additional information and an index value may be included in the header of the transfer packet 84 transmitted and received. FIG. 26 shows an example of transfer processing of the transfer packet 84 when the index value is used. The procedure (47) and the procedure (71) in FIG. 26 are the same as those in FIG. In step (81), the search unit 41a specifies the identification information and the index value B associated with the additional information notified from the extraction unit 32a from the distribution list 51a. The search unit 41a outputs the obtained identification information to the conversion unit 44a. In step (82), the conversion unit 44a converts the request packet 83j into the transfer packet 84m by including the identification information and the index value in the header of the request packet 83, and transfers the transfer packet 84m to the load distribution apparatus 10b. In step (83), the acquisition unit 31b of the load distribution apparatus 10b acquires the index value B from the header of the transfer packet 84m and outputs it to the search unit 41b. The search unit 41b searches the identification information, search value A, and transfer destination information associated with the search value B. Here, the search value B is a value representing an address used for writing the search value A in the memory. For this reason, the search unit 41b can easily specify the search value A and the identification information. In step (84), the conversion unit 44b changes the index value B in the address of the transfer packet 84m to the index value A, thereby generating the transfer packet 84n and transmits it to the load distribution apparatus 10d. In step (85), the acquisition unit 31d of the load distribution device 10d acquires the index value A from the header of the transfer packet 84n and notifies the search unit 41d. The search value A is a value representing an address used for writing the identification information of the processing server 5g in the memory provided in the load balancer 10d. Therefore, the search unit 41d can identify the identification information by accessing the address of the search value A. In step (86), the rewriting unit 24d converts the transfer packet 84n into the request packet 83n, and then transfers the request packet 83n to the server 5g.

図26に示す方法で転送パケット84を転送すると、図22に示す方法に比べて、各負荷分散装置10での処理負荷は重くなる。しかし、各負荷分散装置10において、記憶している識別子を転送パケット84か要求パケット83に含めるので、通知パケット82の転送の際に通知パケット82のヘッダ中の識別情報が改変されたとしても、処理サーバを正しく特定できる可能性がある。   When the transfer packet 84 is transferred by the method shown in FIG. 26, the processing load on each load distribution apparatus 10 becomes heavy compared to the method shown in FIG. However, since the stored identifier is included in the transfer packet 84 or the request packet 83 in each load balancer 10, even if the identification information in the header of the notification packet 82 is modified when the notification packet 82 is transferred, There is a possibility that the processing server can be correctly identified.

上記の説明で記載したテーブルやパケットのフォーマットは一例であり、実装に応じて変形されうる。例えば、転送パケット84のIPヘッダにも、通知パケット82と同様に、付加情報が含まれていても良い。転送パケット84に付加情報が含められる場合、図8(b)のパディングの代わりに付加情報がIPヘッダのオプション部に記録される。   The table and packet formats described in the above description are examples, and can be modified according to the implementation. For example, similar to the notification packet 82, additional information may be included in the IP header of the transfer packet 84. When additional information is included in the transfer packet 84, the additional information is recorded in the option part of the IP header instead of the padding shown in FIG.

上記の説明では、IPヘッダのオプション部に付加情報等が記録される場合を例として説明したが、付加情報や識別情報の通知にTCPヘッダのオプション部が使用されても良い。この場合、IPヘッダは規定どおりに使用される。取得部31は、TCPヘッダをから情報を取得し、TCPヘッダから情報が取得できない場合、パケットバッファ22と抽出部32に処理を要求する。図27は、TCPヘッダの例を示す。TCPヘッダは、送信元ポート番号、宛先ポート番号、シーケンス番号、ACK番号、データオフセット、リザーブ領域、制御ビット、ウィンドウサイズ、チェックサム、緊急ポインタ、オプション部を含む。オプション部以外の領域はTCPの規定に沿って使用される。   In the above description, the case where additional information or the like is recorded in the option part of the IP header has been described as an example. However, the option part of the TCP header may be used for notification of additional information or identification information. In this case, the IP header is used as specified. The acquisition unit 31 acquires information from the TCP header. When the information cannot be acquired from the TCP header, the acquisition unit 31 requests the packet buffer 22 and the extraction unit 32 to perform processing. FIG. 27 shows an example of a TCP header. The TCP header includes a source port number, a destination port number, a sequence number, an ACK number, a data offset, a reserved area, a control bit, a window size, a checksum, an emergency pointer, and an option part. The area other than the option part is used in accordance with the rules of TCP.

図27(a)は、障害監視パケットに含まれるTCPヘッダの例を示す。障害監視パケットのTCPヘッダのオプション部は、オプションタイプ、オプション長、送信元IPアドレス、パディングを保持する。図27(b)は、第1〜第3の実施形態で通知パケット82や転送パケット84のTCPヘッダのフォーマットの例を示す。オプション部に含まれる情報は、図8を参照しながら説明したIPヘッダのオプション部と同様である。図27(c)は、第4の実施形態で通知パケット82や転送パケット84のTCPヘッダのフォーマットの例を示す。オプション部に含まれる情報は、図20を参照しながら説明したIPヘッダのオプション部と同様である。   FIG. 27A shows an example of the TCP header included in the failure monitoring packet. The option part of the TCP header of the failure monitoring packet holds the option type, option length, source IP address, and padding. FIG. 27B shows an example of the format of the TCP header of the notification packet 82 and the transfer packet 84 in the first to third embodiments. The information included in the option part is the same as the option part of the IP header described with reference to FIG. FIG. 27C illustrates an example of the format of the TCP header of the notification packet 82 and the transfer packet 84 in the fourth embodiment. The information included in the option part is the same as the option part of the IP header described with reference to FIG.

10 負荷分散装置
11 故障監視部
20 パケット処理部
21 受信部
22 パケットバッファ
23 選択部
24 書き換え部
25 送信部
30 解析部
31 取得部
32 抽出部
40 付加情報処理部
41 検索部
42 振り分けリスト管理部
43 情報付加部
44 変換部
50 記憶部
51 振り分けリスト
52 接続テーブル
61 プロセッサ
62 メモリ
63 入力装置
64 出力装置
65 バス
66 外部記憶装置
67 媒体駆動装置
68 可搬記憶媒体
69 ネットワーク接続装置
70 ネットワーク
DESCRIPTION OF SYMBOLS 10 Load distribution apparatus 11 Failure monitoring part 20 Packet processing part 21 Receiving part 22 Packet buffer 23 Selection part 24 Rewriting part 25 Transmission part 30 Analysis part 31 Acquisition part 32 Extraction part 40 Additional information processing part 41 Search part 42 Sorting list management part 43 Information addition unit 44 Conversion unit 50 Storage unit 51 Distribution list 52 Connection table 61 Processor 62 Memory 63 Input device 64 Output device 65 Bus 66 External storage device 67 Medium drive device 68 Portable storage medium 69 Network connection device 70 Network

Claims (10)

サービスを要求する通信装置と、
前記サービスの提供に使用される複数のサーバと、
前記サービスの要求による負荷を前記複数のサーバに分散させる複数の負荷分散装置
を備え、
前記複数の負荷分散装置のうち、前記通信装置から要求パケットを受信する負荷分散装置である受信装置は、
前記要求パケット中のデータから、前記複数のサーバのうちで前記要求パケットを処理するサーバである処理サーバから付加された情報である付加情報を抽出し、
前記付加情報に対応付けられたサーバを特定する情報である特定情報を、前記要求パケットのヘッダ中に付加することにより、前記要求パケットを転送パケットに変換し、
前記受信装置から前記処理サーバまでに至る経路に含まれている負荷分散装置に、前記転送パケットを転送する
ことを特徴とする通信システム。
A communication device requesting service;
A plurality of servers used to provide the service;
A plurality of load distribution devices for distributing the load due to the service request to the plurality of servers;
Among the plurality of load distribution devices, a reception device that is a load distribution device that receives a request packet from the communication device,
From the data in the request packet, extract additional information that is information added from a processing server that is a server that processes the request packet among the plurality of servers,
By adding specific information, which is information for specifying a server associated with the additional information, in the header of the request packet, the request packet is converted into a transfer packet,
A communication system, wherein the transfer packet is transferred to a load balancer included in a path from the receiving device to the processing server.
前記転送パケットを受信した負荷分散装置は、前記転送パケットのヘッダを解析することにより、前記特定情報を取得し、
前記特定情報で特定されるサーバに向けて、前記転送パケットを転送する
ことを特徴とする請求項1に記載の通信システム。
The load distribution apparatus that has received the transfer packet obtains the specific information by analyzing a header of the transfer packet,
The communication system according to claim 1, wherein the transfer packet is transferred toward a server specified by the specification information.
前記処理サーバから、前記通信装置宛の前記付加情報を含むパケットである応答パケットを受信した負荷分散装置である通知装置は、
前記応答パケット中のデータから前記付加情報を抽出し、
前記付加情報と前記処理サーバを識別する識別情報を、前記応答パケットのヘッダ中に含めることにより、前記応答パケットを、前記処理サーバの情報を通知する通知パケットに変換し、
前記通知装置から前記通信装置に至る経路に含まれている負荷分散装置に、前記通知パケットを転送する
ことを特徴とする請求項1または2に記載の通信システム。
A notification device that is a load distribution device that has received a response packet that is a packet including the additional information addressed to the communication device from the processing server,
Extracting the additional information from the data in the response packet;
By including identification information for identifying the additional information and the processing server in a header of the response packet, the response packet is converted into a notification packet for notifying information on the processing server,
The communication system according to claim 1 or 2, wherein the notification packet is transferred to a load balancer included in a path from the notification device to the communication device .
前記通知パケットを受信した負荷分散装置は、
前記通知パケットのヘッダを解析することにより、前記付加情報と前記識別情報の組み合わせを取得し、
前記識別情報を、前記付加情報を生成した処理サーバを特定する特定情報として、前記付加情報に対応付けて記憶し、
前記通知パケットを前記通信装置に向けて転送する
ことを特徴とする請求項3に記載の通信システム。
The load balancer that has received the notification packet,
By analyzing the header of the notification packet, to obtain a combination of the additional information and the identification information,
The identification information is stored in association with the additional information as specific information for specifying the processing server that generated the additional information,
The communication packet according to claim 3, wherein the notification packet is forwarded to the communication device .
前記受信装置は、前記通知パケットを受信すると、
前記通知パケットのヘッダを解析することにより、前記付加情報と前記識別情報の組み合わせを取得し、
前記識別情報を、前記付加情報を生成した処理サーバを特定する特定情報として、前記付加情報に対応付けて記憶し、
前記通知パケットのヘッダから、前記付加情報と前記識別情報を削除することにより、前記通知パケットを前記応答パケットに変換し、
前記応答パケットを、前記通信装置に送信する
ことを特徴とする請求項3に記載の通信システム。
When the receiving device receives the notification packet,
By analyzing the header of the notification packet, to obtain a combination of the additional information and the identification information,
The identification information is stored in association with the additional information as specific information for specifying the processing server that generated the additional information,
By deleting the additional information and the identification information from the header of the notification packet, the notification packet is converted into the response packet,
The communication system according to claim 3, wherein the response packet is transmitted to the communication device .
前記通知装置は、前記転送パケットを受信すると、
前記転送パケットのヘッダから、前記特定情報を削除することにより、前記転送パケットを前記要求パケットに変換し、
前記要求パケットを、前記処理サーバに送信する
ことを特徴とする請求項3〜5のいずれか1項に記載の通信システム。
When the notification device receives the transfer packet,
By converting the transfer packet into the request packet by deleting the specific information from the header of the transfer packet,
The communication system according to any one of claims 3 to 5, wherein the request packet is transmitted to the processing server.
複数のサーバと複数の負荷分散装置を含むネットワーク中で動作する第1の負荷分散装置であって、
サービスを要求する通信装置から要求パケットを受信する受信部と、
前記要求パケット中のデータから、前記複数のサーバのうちで前記要求パケットを処理するサーバである処理サーバから付加された情報である付加情報を抽出する抽出部と、
前記付加情報に対応付けられたサーバを特定する情報である特定情報を検索する検索部と、
前記要求パケットのヘッダ中に前記特定情報を付加することにより、前記要求パケットを、前記特定情報を含むパケットである転送パケットに変換する変換部と、
前記第1の負荷分散装置から前記処理サーバまでに至る経路に含まれている第2の負荷分散装置に、前記転送パケットを転送する送信部
を備えることを特徴とする負荷分散装置。
A first load balancer that operates in a network including a plurality of servers and a plurality of load balancers,
A receiving unit that receives a request packet from a communication device that requests a service;
An extraction unit that extracts additional information, which is information added from a processing server that is a server that processes the request packet among the plurality of servers, from data in the request packet;
A search unit for searching for specific information that is information for specifying a server associated with the additional information;
A conversion unit that converts the request packet into a transfer packet that is a packet including the specific information by adding the specific information in a header of the request packet;
A load distribution apparatus comprising: a transmission unit configured to transfer the transfer packet to a second load distribution apparatus included in a path from the first load distribution apparatus to the processing server.
前記受信部で受信したパケットのヘッダに前記特定情報が含まれているかを判定するとともに、前記特定情報を取得する取得部をさらに備え、
前記取得部は、前記特定情報が含まれていないパケットを、前記抽出部の処理対象として前記抽出部に通知し、
前記送信部は、前記取得部が前記特定情報を抽出できたパケットを、前記特定情報で特定されるサーバに向けて転送する
ことを特徴とする請求項7に記載の負荷分散装置。
While determining whether the specific information is included in the header of the packet received by the receiving unit, further comprising an acquisition unit for acquiring the specific information,
The acquisition unit notifies the extraction unit of a packet that does not include the specific information as a processing target of the extraction unit,
The load distribution apparatus according to claim 7, wherein the transmission unit transfers a packet from which the acquisition unit has extracted the specific information toward a server specified by the specific information.
複数のサーバと複数の負荷分散装置を含むネットワーク中で動作する第1の負荷分散装置であって、
前記複数のサーバに含まれる処理サーバから、前記処理サーバへサービスを要求した端末に対する応答データと、前記処理サーバの識別に用いるために前記処理サーバが前記応答データに付加する情報である付加情報を含む応答パケットを受信する受信部と、
前記応答パケット中のデータから、前記付加情報を抽出する抽出部と、
前記付加情報と前記処理サーバを識別する識別情報を、前記応答パケットのヘッダ中に付加することにより、前記応答パケットを、前記処理サーバの情報を通知する通知パケットにする情報付加部と、
前記通知パケットを、前記端末に至る経路に含まれる第2の負荷分散装置に送信する送信部
を備えることを特徴とする負荷分散装置。
A first load balancer that operates in a network including a plurality of servers and a plurality of load balancers,
Response data from a processing server included in the plurality of servers to the terminal that requested the service to the processing server, and additional information that is information added to the response data by the processing server for use in identifying the processing server A receiving unit for receiving a response packet including:
An extraction unit for extracting the additional information from the data in the response packet;
An information adding unit that makes the response packet a notification packet for notifying information of the processing server by adding identification information for identifying the additional information and the processing server in a header of the response packet;
A load distribution apparatus comprising: a transmission unit configured to transmit the notification packet to a second load distribution apparatus included in a route to the terminal.
複数のサーバと複数の負荷分散装置を含むネットワーク中で動作する第1の負荷分散装置に、
サービスを要求する通信装置からパケットを受信し、
前記パケット中のデータから、前記複数のサーバのうちで前記パケットを処理するサーバである処理サーバから付加された情報である付加情報を抽出し、
前記付加情報に対応付けられたサーバを特定する情報である特定情報を検索し、
前記パケットのヘッダ中に前記特定情報を付加することにより、前記パケットを、前記特定情報を含むパケットである転送パケットに変換し、
前記第1の負荷分散装置から前記処理サーバまでに至る経路に含まれている第2の負荷分散装置に、前記転送パケットを転送する
処理を行わせることを特徴とする負荷分散プログラム。
A first load balancer operating in a network including a plurality of servers and a plurality of load balancers;
Receiving a packet from the communication device requesting the service,
From the data in the packet, extract additional information that is information added from a processing server that is a server that processes the packet among the plurality of servers,
Search for specific information that is information for specifying a server associated with the additional information,
By adding the specific information in the header of the packet, the packet is converted into a transfer packet that is a packet including the specific information,
A load distribution program for causing a second load distribution device included in a path from the first load distribution device to the processing server to perform a process of transferring the transfer packet.
JP2013104511A 2013-05-16 2013-05-16 COMMUNICATION SYSTEM, LOAD DISTRIBUTION DEVICE, AND LOAD DISTRIBUTION PROGRAM Expired - Fee Related JP6131710B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013104511A JP6131710B2 (en) 2013-05-16 2013-05-16 COMMUNICATION SYSTEM, LOAD DISTRIBUTION DEVICE, AND LOAD DISTRIBUTION PROGRAM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013104511A JP6131710B2 (en) 2013-05-16 2013-05-16 COMMUNICATION SYSTEM, LOAD DISTRIBUTION DEVICE, AND LOAD DISTRIBUTION PROGRAM

Publications (2)

Publication Number Publication Date
JP2014225157A JP2014225157A (en) 2014-12-04
JP6131710B2 true JP6131710B2 (en) 2017-05-24

Family

ID=52123788

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013104511A Expired - Fee Related JP6131710B2 (en) 2013-05-16 2013-05-16 COMMUNICATION SYSTEM, LOAD DISTRIBUTION DEVICE, AND LOAD DISTRIBUTION PROGRAM

Country Status (1)

Country Link
JP (1) JP6131710B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3148125A1 (en) 2015-09-25 2017-03-29 Fujitsu Limited Setting method, server device and service chain system
JP2022127333A (en) 2021-02-19 2022-08-31 株式会社リコー Load distribution system, load distribution method, and program
CN113806069B (en) * 2021-08-05 2024-04-05 广东核电合营有限公司 Nuclear power station system interaction method and device, peripheral system and storage medium

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4208556B2 (en) * 2002-11-27 2009-01-14 富士通株式会社 Relay device
JP2007219608A (en) * 2006-02-14 2007-08-30 Fujitsu Ltd Load balancing processing program and load balancing device
US8416692B2 (en) * 2009-05-28 2013-04-09 Microsoft Corporation Load balancing across layer-2 domains

Also Published As

Publication number Publication date
JP2014225157A (en) 2014-12-04

Similar Documents

Publication Publication Date Title
US9705799B2 (en) Server-side load balancing using parent-child link aggregation groups
US8892768B2 (en) Load balancing apparatus and load balancing method
US9413652B2 (en) Systems and methods for path maximum transmission unit discovery
EP2978174B1 (en) Interest return control message
US9185033B2 (en) Communication path selection
CN107438012B (en) Load balancing service forwarding method, system, balancing device and host machine
US8949952B2 (en) Multi-stack subscriber sign on
KR20140009931A (en) Communication method of contents requester and contents provider for providing contents and real-time streaming contents in a contents centric network based on contents name
US20050165885A1 (en) Method and apparatus for forwarding data packets addressed to a cluster servers
US8619631B2 (en) Information communication system, information communication method, node device included in information communication system and recording medium recording information processing program
WO2020119328A1 (en) Data transmission method, apparatus and device, and storage medium
JP6131710B2 (en) COMMUNICATION SYSTEM, LOAD DISTRIBUTION DEVICE, AND LOAD DISTRIBUTION PROGRAM
US8650313B2 (en) Endpoint discriminator in network transport protocol startup packets
US7991008B2 (en) Method for identifying the transmission control protocol stack of a connection
CN111614726B (en) Data forwarding method, cluster system and storage medium
WO2007119422A1 (en) Information communication system, information communication method, node device contained in information communication system, and recording medium containing information processing program
CN106856456A (en) The processing method and system of cache cluster service
JP2007265356A (en) Interconnection method and device using communication protocol
JP7000808B2 (en) Information processing equipment, information processing methods and programs
CN115514799A (en) TCP connection method, system, network device and storage medium
JP6347177B2 (en) Transfer device, control device, and communication method
JP4275029B2 (en) Context-based network system and its construction method, program, and recording medium
JP6682459B2 (en) Message transfer and aggregation device, and message transfer and aggregation method
JP2016208162A (en) Determination method and information processing device
JP2007086894A (en) Data relay method and data relay system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160226

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170207

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170307

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170403

R150 Certificate of patent or registration of utility model

Ref document number: 6131710

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees