JP2006209465A - Load distribution system, load distribution device, server, load distribution program and load distribution method - Google Patents

Load distribution system, load distribution device, server, load distribution program and load distribution method Download PDF

Info

Publication number
JP2006209465A
JP2006209465A JP2005020614A JP2005020614A JP2006209465A JP 2006209465 A JP2006209465 A JP 2006209465A JP 2005020614 A JP2005020614 A JP 2005020614A JP 2005020614 A JP2005020614 A JP 2005020614A JP 2006209465 A JP2006209465 A JP 2006209465A
Authority
JP
Japan
Prior art keywords
load
server
client
information
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2005020614A
Other languages
Japanese (ja)
Inventor
Kazuhiko Isoyama
和彦 磯山
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.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2005020614A priority Critical patent/JP2006209465A/en
Publication of JP2006209465A publication Critical patent/JP2006209465A/en
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

<P>PROBLEM TO BE SOLVED: To distribute the load of a server in server processing in which the server side starts to communicate with a client and performs processing with respect to response from the client. <P>SOLUTION: This load distribution system has two or more servers 20 provided with a load information storing means for storing self-load information and a client list storing means for storing designation information of a client to which a server itself has to communicate, a load distribution device 10 provided with a whole client list storing means for storing the whole clients and a load monitoring means for receiving load information from the load information storing means of a server, monitoring the load information, preparing client designation information for distributing the whole clients to make loads among servers equal on the basis of the load information and allocating the clients to each server, and transmitting the designation information to corresponding servers, and two or more clients 30 for transmitting response to a server for a request received from the server. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、サーバ側からクライアントに対して通信を開始し、そのクライアントからのレスポンスに対して処理を行うサーバ処理(デバイスのポーリング等)において、負荷分散装置が通信すべきクライアントのリストを管理するとともに、複数のサーバの負荷を監視し、サーバ間で負荷が均等になるように各サーバに通信すべきクライアントを指定することにより、サーバの負荷を分散させる負荷分散システム、負荷分散装置、サーバ、負荷分散プログラム、及び負荷分散方法に関する。   The present invention manages a list of clients to be communicated by a load balancer in server processing (device polling, etc.) in which communication is started from the server side to a client and a response from the client is processed. A load balancing system, a load balancing device, a server, and the like that monitor the load of a plurality of servers and distribute the server load by designating clients to communicate with each server so that the load is even among the servers. The present invention relates to a load distribution program and a load distribution method.

従来のサーバ負荷分散システムにおいては、一般にクライアント側からサーバに対して通信を開始し、これに対するサーバの処理負荷が、複数のサーバ間で均等になるように負荷分散の処理が行われている。
図7は、このような従来のサーバ負荷分散システムの構成を示しており、例えばクライアント300−1〜300−nからのHTTP(Hyper Text Transfer Protocol)等のリクエストd3001c1〜d300nc1をサーバ200a〜200cに振り分けて、その負荷分散を行うことを想定している。
In a conventional server load distribution system, communication is generally started from the client side to a server, and load distribution processing is performed so that the processing load on the server is equal among a plurality of servers.
FIG. 7 shows the configuration of such a conventional server load distribution system. For example, requests d3001c1 to d300nc1 such as HTTP (Hyper Text Transfer Protocol) from the clients 300-1 to 300-n are sent to the servers 200a to 200c. It is assumed that the load is distributed and distributed.

同図において、負荷分散装置100の負荷監視手段101は、各サーバ200a〜200cの負荷情報d2001a〜d2001cを監視しており、クライアント300−1〜300−nから仮想代表サーバアドレス宛にリクエストd3001c1〜d300nc1が来ると、各サーバ200a〜200cの負荷が均等になるようにリクエストが分配されるように、リクエストd3001c1〜d300nc1の宛先アドレスをサーバ200a〜200cに変換してリクエストd3001c2〜d300nc2とし、それぞれ対応するサーバ200a〜200cに転送している。
また、サーバ200a〜200cから返されるレスポンスd3001s1〜d300ns1も、その送信元アドレスがサーバ200a〜200cから仮想代表サーバアドレスに変換されてレスポンスd3001s2〜d300ns2とされ、クライアントに返送される。
In the figure, a load monitoring unit 101 of the load distribution apparatus 100 monitors load information d2001a to d2001c of each server 200a to 200c, and requests d3001c1 to clients 300-1 to 300-n addressed to virtual representative server addresses. When d300nc1 arrives, the destination addresses of the requests d3001c1 to d300nc1 are converted to the servers 200a to 200c so that the requests are distributed so that the loads on the servers 200a to 200c are equalized, and the requests d3001c2 to d300nc2 are respectively supported. Are transferred to the servers 200a to 200c.
In addition, responses d3001s1 to d300ns1 returned from the servers 200a to 200c are also converted from the servers 200a to 200c to virtual representative server addresses, so that the responses d3001s2 to d300ns2 are returned to the clients.

しかし、この従来のサーバ負荷分散システムは、クライアント側からリクエストが送信された場合、そのリクエストをサーバに振り分けることによって、サーバの負荷分散を実現するものであるため、本発明が前提としているようなサーバ側から通信を開始し、それに対してクライアントから返ってくるレスポンスに対して処理を行うようなサーバ処理に適用することはできなかった。   However, since this conventional server load distribution system realizes server load distribution by distributing the request to the server when a request is transmitted from the client side, the present invention assumes that It could not be applied to server processing that starts communication from the server side and processes the response returned from the client.

ここで、従来のサーバ負荷分散システムとしては、例えば特許文献1に記載のサーバ負荷分散システムや特許文献2に記載の広域負荷分散装置等を挙げることができる。
特許文献1に記載のサーバ負荷分散システムによれば、サーバロードバランサの各々がパケットの処理速度のボトルネックとなることを回避し、サーバ・クライアント間での高速通信を行うことが可能とされている。
また、特許文献2に記載の広域負荷分散装置によれば、分散対象となる全てのサーバが高負荷等になった場合に対処できないことや、ネットワークの規模が大きくなるに従い、負荷分散の対象となるサーバが増え、負荷分散装置から離れた別のネットワークに属するサーバの負荷計測の精度が低下し、負荷分散装置自身がボトルネックとなって適切な負荷分散ができなくなるおそれがある等の問題を解消して、異なるネットワークに属するサーバ間で負荷分散と故障隠蔽を適切に行うことが可能とされている。
Here, as a conventional server load distribution system, for example, a server load distribution system described in Patent Document 1, a wide area load distribution apparatus described in Patent Document 2, and the like can be cited.
According to the server load balancing system described in Patent Document 1, it is possible to avoid that each of the server load balancers becomes a bottleneck of packet processing speed and to perform high-speed communication between the server and the client. Yes.
Further, according to the wide area load distribution apparatus described in Patent Literature 2, it is impossible to cope with the case where all the servers to be distributed become a heavy load or the like, and as the network scale increases, As the number of servers increases, the load measurement accuracy of servers belonging to another network far from the load balancer decreases, and the load balancer itself may become a bottleneck and prevent proper load balancing. It is possible to solve the problem and appropriately perform load balancing and fault concealment among servers belonging to different networks.

特開2003−174473号公報JP 2003-174473 A 特開2000−132524号公報JP 2000-132524 A

しかしながら、これらの従来技術においても、クライアント側からサーバに対して通信を開始し、これに対するサーバの処理負荷を、複数のサーバ間に分配することで負荷分散の処理が行われているため、本発明が課題としているサーバ側からクライアントに対して通信を開始し、そのクライアントからのレスポンスに対して処理を行うサーバ処理におけるサーバの負荷分散を実現可能なものではなかった。   However, even in these conventional technologies, load distribution processing is performed by starting communication from the client side to the server and distributing the processing load of the server to a plurality of servers. It has not been possible to realize server load distribution in server processing in which communication is started from the server side, which is the subject of the invention, to the client, and the response from the client is processed.

本発明は、上記の事情にかんがみなされたものであり、サーバ側からクライアントに対して通信を開始し、そのクライアントからのレスポンスに対して処理を行うサーバ処理において、負荷分散装置が通信すべきクライアントのリストを管理するとともに、複数のサーバの負荷を監視し、サーバ間で負荷が均等になるように各サーバに通信すべきクライアントを指定することにより、サーバの負荷を分散させることが可能な負荷分散システム、負荷分散装置、サーバ、負荷分散プログラム、及び負荷分散方法の提供を目的とする。   The present invention has been considered in view of the above circumstances. In the server processing in which communication is started from the server side to the client and the response from the client is processed, the client to be communicated by the load balancer Load that can distribute the server load by managing the list of servers, monitoring the load on multiple servers, and specifying the clients that should communicate with each server so that the load is even among the servers An object is to provide a distributed system, a load distribution apparatus, a server, a load distribution program, and a load distribution method.

上記目的を達成するため、本発明の負荷分散システムは、サーバ側からクライアントに対して通信を開始し、クライアントからのレスポンスに対して処理を行うサーバの負荷を分散する負荷分散システムであって、自己の負荷情報を記憶する負荷情報記憶手段、及び負荷分散装置から送信されてきた自己が通信すべきクライアントの指定情報を記憶するクライアントリスト記憶手段を備えた二以上のサーバと、サーバが通信する全てのクライアントを記憶する全クライアントリスト記憶手段、及びサーバにおける負荷情報記憶手段から負荷情報を受信して、負荷情報を監視するとともに、当該負荷情報にもとづいて、サーバ間の負荷が均等になるように全てのクライアントを配分してサーバごとに割り当てるクライアントの指定情報を作成し、この指定情報を対応するサーバに送信する負荷監視手段を備えた負荷分散装置と、サーバから送信されてきたリクエストに対し、当該サーバにレスポンスを送信する二以上のクライアントとを有する構成としてある。   In order to achieve the above object, a load distribution system of the present invention is a load distribution system that starts communication with a client from a server side and distributes a load of a server that performs processing for a response from the client, The server communicates with two or more servers provided with load information storage means for storing its own load information and client list storage means for storing specification information of clients to be communicated transmitted from the load balancer. Load information is received from all client list storage means for storing all clients and load information storage means in the server, the load information is monitored, and the load between servers is equalized based on the load information. Allocate all clients to the server and create client specification information to be assigned to each server. A load balancer having a load monitoring means for transmitting the specified information to the corresponding server, to request that is transmitted from the server, it is constituted with the two or more client sending the response to the server.

負荷分散システムをこのような構成にすれば、サーバ側からクライアントに対して通信を開始して、そのクライアントからのレスポンスによってサーバが処理を行うシステムにおいても、複数のサーバ間で負荷を均等に分散することができる。
また、負荷分散装置は、サーバごとの負荷を参照して、処理すべきクライアントを各サーバに分配するので、サーバより数の多いクライアントごとの負荷を把握する必要なく負荷分散ができ、監視すべき情報量を低減させることも可能となる。
なお、「サーバ間の負荷が均等になるように」とは、最も均等に近づくように、という意味であり、全てのサーバの負荷を厳密に同等のものとすべきことを意味するものではない。
With such a configuration of the load distribution system, even in a system in which communication is started from the server side to the client, and the server processes in response to the response from the client, the load is evenly distributed among a plurality of servers. can do.
Also, the load balancer refers to the load of each server and distributes the client to be processed to each server. Therefore, it is possible to distribute the load without having to grasp the load of each client, which is larger than the number of servers. It is also possible to reduce the amount of information.
Note that “so that the load between servers is equal” means that the load is close to the most equal, and does not mean that the load on all servers should be strictly equal. .

また、本発明の負荷分散システムは、負荷分散装置が、サーバからクライアントへのリクエストを仲介して受信し、当該リクエストの送信元アドレスをサーバのアドレスから仮想代表サーバのアドレスに変換するとともに、サーバのアドレスとクライアントのアドレスの対応付け情報をアドレス変換テーブルに記憶させ、クライアントからサーバへのレスポンスを仲介して受信し、アドレス変換テーブルをクライアントのアドレスにもとづき検索してサーバのアドレスを取得し、レスポンスの送信先アドレスを仮想代表サーバのアドレスからサーバのアドレスに変換するアドレス変換手段、及びサーバのアドレスとクライアントのアドレスの対応付け情報を記憶するアドレス変換テーブルを備えた構成としてある。   Further, in the load distribution system of the present invention, the load distribution apparatus receives a request from the server to the client, converts the request source address from the server address to the virtual representative server address, The correspondence information between the address of the client and the address of the client is stored in the address conversion table, the response from the client to the server is received and received, the address conversion table is searched based on the client address, and the server address is acquired. The address conversion means for converting the destination address of the response from the address of the virtual representative server to the address of the server, and the address conversion table for storing the association information between the server address and the client address are provided.

負荷分散システムをこのような構成にすれば、クライアントと通信するサーバの割り当てが変わっても、クライアントに届くパケットの送信元アドレスは常に仮想代表サーバのアドレスとなる。
このため、クライアントがある特定のサーバのアドレス(仮想代表サーバアドレス)からの通信にしかレスポンスを許さない場合でも適用することが可能となる。
With such a configuration of the load balancing system, even if the allocation of the server that communicates with the client changes, the source address of the packet that reaches the client is always the address of the virtual representative server.
Therefore, the present invention can be applied even when a response is allowed only for communication from a specific server address (virtual representative server address).

また、本発明の負荷分散システムは、負荷分散装置に換えて、サーバのうちの一のサーバが、負荷分散装置として構成され、当該一のサーバが、負荷分散装置における全クライアントリスト記憶手段、及び負荷監視手段を備えた構成としてある。   Further, in the load distribution system of the present invention, instead of the load distribution device, one of the servers is configured as a load distribution device, and the one server includes all client list storage means in the load distribution device, and The load monitoring means is provided.

また、本発明の負荷分散システムは、サーバ側からクライアントに対して通信を開始し、クライアントからのレスポンスに対して処理を行うサーバの負荷を分散する負荷分散システムであって、自己の負荷情報を記憶する負荷情報記憶手段、自己が通信すべきクライアントの指定情報を記憶するクライアントリスト記憶手段、自己以外の他のサーバにおける負荷情報記憶手段から負荷情報を受信し、他のサーバの負荷情報と自己の負荷情報とを比較して、負荷の差が所定以上である場合に、これらのサーバ間の負荷が均等になるように、負荷の高いサーバにおけるクライアントリスト記憶手段から負荷の低いサーバのクライアントリスト記憶手段へ、クライアントの指定情報の一部を移動させる負荷監視手段を備えた二以上のサーバと、サーバから送信されてきたリクエストに対して、当該サーバにレスポンスを送信する二以上のクライアントとを有する構成としてある。   The load distribution system according to the present invention is a load distribution system that distributes a load of a server that starts communication from a server side to a client and processes a response from the client. Load information storage means for storing, client list storage means for storing designation information of clients to communicate with itself, load information from load information storage means in other servers other than the self, and load information of other servers and self When the load difference is equal to or greater than a predetermined value, the client list of the server with the low load is changed from the client list storage unit in the server with the high load so that the load between these servers becomes equal. Two or more servers provided with load monitoring means for moving a part of the specified information of the client to the storage means; The request that has been transmitted from, it is constituted with the two or more client sending the response to the server.

負荷分散システムをこれらのような構成にすれば、負荷分散装置を別途用意することなく、サーバ側からクライアントに対して通信を開始し、そのクライアントからのレスポンスによってサーバが処理を行うシステムにおいて、複数のサーバ間で負荷を均等に分散することが可能となる。   If the load balancing system is configured as described above, in a system in which communication is started from the server side to the client and the server performs processing according to the response from the client without separately preparing a load balancing device, The load can be evenly distributed among the servers.

また、本発明の負荷分散装置は、サーバ側からクライアントに対して通信を開始し、一又は二以上のクライアントからのレスポンスに対して処理を行うサーバの負荷を二以上のサーバに分散する負荷分散装置であって、サーバが通信する全てのクライアント情報を記憶する全クライアントリスト記憶手段と、サーバから負荷情報を受信して、負荷情報を監視するとともに、当該負荷情報にもとづいて、サーバ間の負荷が均等になるように全てのクライアントを配分してサーバごとに割り当てるクライアントの指定情報を作成し、この指定情報を対応するサーバに送信する負荷監視手段とを備えた構成としてある。   Also, the load distribution apparatus of the present invention starts load communication from the server side to the client, and distributes the load of the server that processes the response from one or more clients to two or more servers. All client list storage means for storing all client information that the server communicates with, and receiving load information from the server to monitor the load information, and load between servers based on the load information All the clients are distributed so as to be even, and the designation information of the client to be assigned to each server is created, and load monitoring means for transmitting this designation information to the corresponding server is provided.

また、本発明の負荷分散装置は、サーバからクライアントへのリクエストを仲介して受信し、当該リクエストの送信元アドレスをサーバのアドレスから仮想代表サーバのアドレスに変換するとともに、サーバのアドレスとクライアントのアドレスの対応付け情報をアドレス変換テーブルに記憶させ、クライアントからサーバへのレスポンスを仲介して受信し、アドレス変換テーブルをクライアントのアドレスにもとづき検索してサーバのアドレスを取得し、レスポンスの送信先アドレスを仮想代表サーバのアドレスからサーバのアドレスに変換するアドレス変換手段と、サーバのアドレスとクライアントのアドレスの対応付け情報を記憶するアドレス変換テーブルとを備えた構成としてある。   The load distribution apparatus of the present invention mediates and receives a request from the server to the client, converts the transmission source address of the request from the server address to the virtual representative server address, Address correspondence information is stored in the address conversion table, and the response from the client to the server is received and received. The address conversion table is searched based on the client address to obtain the server address, and the response destination address Is converted from the address of the virtual representative server to the address of the server, and an address conversion table for storing association information between the server address and the client address.

また、本発明のサーバは、クライアントに対して通信を開始し、一又は二以上のクライアントからのレスポンスに対して行う処理の負荷が二以上のサーバ間で分散されるサーバであって、自己の負荷情報を記憶する負荷情報記憶手段と、自己が通信すべきクライアントの指定情報を記憶するクライアントリスト記憶手段とを備え、負荷分散装置により負荷情報記憶手段から負荷情報を取得されて負荷情報を監視され、当該負荷情報にもとづいて、サーバ間の負荷が均等になるようにクライアントを配分してサーバごとに割り当てて作成されたクライアントの指定情報を負荷分散装置から受信する構成としてある。   The server of the present invention is a server that starts communication with a client, and a processing load performed on responses from one or more clients is distributed between the two or more servers. Load information storage means for storing load information and client list storage means for storing specification information of clients to be communicated with by itself, load information is acquired from the load information storage means by the load balancer, and the load information is monitored Then, based on the load information, the client is distributed so that the load between the servers becomes equal, and the client designation information created by allocating each server is received from the load balancer.

また、本発明のサーバは、クライアントに対して通信を開始し、一又は二以上のクライアントからのレスポンスに対して行う処理の負荷が二以上のサーバ間で分散されるサーバであって、自己の負荷情報を記憶する負荷情報記憶手段と、自己が通信すべきクライアントの指定情報を記憶するクライアントリスト記憶手段と、自己以外の他のサーバにおける負荷情報記憶手段から負荷情報を受信し、他のサーバの負荷情報と自己の負荷情報とを比較して、負荷の差が所定以上である場合に、これらのサーバ間の負荷が均等になるように、負荷の高いサーバにおけるクライアントリスト記憶手段から負荷の低いサーバのクライアントリスト記憶手段へ、クライアントの指定情報の一部を移動させる負荷監視手段とを備えた構成としてある。   The server of the present invention is a server that starts communication with a client, and a processing load performed on responses from one or more clients is distributed between the two or more servers. Load information storage means for storing load information, client list storage means for storing client designation information to be communicated with, and load information from load information storage means in other servers other than the self, and other servers When the load difference is equal to or greater than a predetermined value, the load information from the client list storage means in the high load server is equalized. Load monitoring means for moving part of the client designation information to the client list storage means of the low server is provided.

また、本発明の負荷分散プログラムは、サーバ側からクライアントに対して通信を開始し、一又は二以上のクライアントからのレスポンスに対して処理を行うサーバの負荷を、負荷分散装置により二以上のサーバに分散させる負荷分散プログラムであって、負荷分散装置を、サーバが通信する全てのクライアント情報を記憶する全クライアントリスト記憶手段、サーバから負荷情報を受信して、負荷情報を監視するとともに、当該負荷情報にもとづいて、サーバ間の負荷が均等になるように全てのクライアントを配分してサーバごとに割り当てるクライアントの指定情報を作成し、この指定情報を対応するサーバに送信する負荷監視手段として機能させる構成としてある。   In addition, the load distribution program of the present invention starts communication with a client from the server side, and loads two or more servers using a load distribution device to load a server that processes a response from one or more clients. A load distribution program that distributes the load distribution device to all client list storage means for storing all client information that the server communicates with, receives load information from the server, monitors the load information, and Based on the information, all clients are allocated so that the load between servers is equalized, and client designation information to be assigned to each server is created, and this function is used as a load monitoring means for transmitting this designation information to the corresponding server. As a configuration.

また、本発明の負荷分散プログラムは、負荷分散装置を、サーバからクライアントへのリクエストを仲介して受信し、当該リクエストの送信元アドレスをサーバのアドレスから仮想代表サーバのアドレスに変換するとともに、サーバのアドレスとクライアントのアドレスの対応付け情報をアドレス変換テーブルに記憶させ、クライアントからサーバへのレスポンスを仲介して受信し、アドレス変換テーブルをクライアントのアドレスにもとづき検索してサーバのアドレスを取得し、レスポンスの送信先アドレスを仮想代表サーバのアドレスからサーバのアドレスに変換するアドレス変換手段、サーバのアドレスとクライアントのアドレスの対応付け情報を記憶するアドレス変換テーブルとして機能させる構成としてある。   The load distribution program of the present invention receives a load distribution apparatus through a request from a server to a client, converts the transmission source address of the request from the server address to the virtual representative server address, The correspondence information between the address of the client and the address of the client is stored in the address conversion table, the response from the client to the server is received and received, the address conversion table is searched based on the client address, and the server address is acquired. It is configured to function as an address conversion unit that converts the destination address of the response from the address of the virtual representative server to the address of the server, and an address conversion table that stores association information between the server address and the client address.

また、本発明の負荷分散プログラムは、クライアントに対して通信を開始し、一又は二以上のクライアントからのレスポンスに対して行う処理の負荷を、二以上のサーバに分散させる負荷分散プログラムであって、サーバを、自己の負荷情報を記憶する負荷情報記憶手段、自己が通信すべきクライアントの指定情報を記憶するクライアントリスト記憶手段、として機能させるとともに、サーバに、負荷分散装置により負荷情報記憶手段から負荷情報を受信させて負荷情報の監視を受けさせ、当該負荷情報にもとづいて、サーバ間の負荷が均等になるようにクライアントを配分してサーバごとに割り当てて作成されたクライアントの指定情報を負荷分散装置から受信させる構成としてある。   The load distribution program of the present invention is a load distribution program that starts communication with clients and distributes the processing load performed on responses from one or more clients to two or more servers. The server functions as load information storage means for storing its own load information, and client list storage means for storing designation information of clients to which the server should communicate, and the server is operated by the load balancer from the load information storage means. Receive load information and monitor the load information, load the client specification information created by allocating clients and allocating each server so that the load among servers is equal based on the load information It is configured to receive from the distributed device.

また、本発明の負荷分散プログラムは、クライアントに対して通信を開始し、一又は二以上のクライアントからのレスポンスに対して行う処理の負荷を、二以上のサーバに分散させる負荷分散プログラムであって、サーバを、自己の負荷情報を記憶する負荷情報記憶手段、自己が通信すべきクライアントの指定情報を記憶するクライアントリスト記憶手段、自己以外の他のサーバにおける負荷情報記憶手段から負荷情報を受信し、他のサーバの負荷情報と自己の負荷情報とを比較して、負荷の差が所定以上である場合に、これらのサーバ間の負荷が均等になるように、負荷の高いサーバにおけるクライアントリスト記憶手段から負荷の低いサーバのクライアントリスト記憶手段へ、クライアントの指定情報の一部を移動させる負荷監視手段として機能させる構成としてある。   The load distribution program of the present invention is a load distribution program that starts communication with clients and distributes the processing load performed on responses from one or more clients to two or more servers. The server receives load information from load information storage means for storing its own load information, client list storage means for storing designation information of clients to which it should communicate, and load information storage means in other servers other than itself When the load information of other servers is compared with its own load information and the load difference is greater than or equal to a predetermined value, the client list storage in the server with a high load is made so that the load between these servers becomes equal. Load monitoring means for moving a part of the client designation information from the means to the client list storage means of the server with low load; There is a structure in which to function Te.

また、本発明の負荷分散方法は、サーバ側からクライアントに対して通信を開始し、一又は二以上のクライアントからのレスポンスに対して処理を行うサーバの負荷を二以上のサーバに分散する負荷分散方法であって、サーバが、自己の負荷情報を負荷情報記憶手段に記憶させ、負荷分散装置が、サーバから負荷情報を受信して、負荷情報を監視するとともに、当該負荷情報にもとづいて、サーバ間の負荷が均等になるようにクライアントを配分してサーバごとに割り当てるクライアントの指定情報を作成し、この指定情報を対応するサーバに送信し、サーバが、負荷分散装置から送信されてきた当該サーバが通信すべきクライアントの指定情報をクライアントリスト記憶手段に記憶して、このクライアントリスト記憶手段に記憶された指定情報に係るクライアントにリクエストを送信し、クライアントが、サーバから送信されてきたリクエストに対し、当該サーバにレスポンスを送信し、サーバが、クライアントから送信されてきたレスポンスに対応する処理を実行して、自己の負荷情報を負荷分散装置に記憶させる方法としてある。   In addition, the load distribution method of the present invention is a load distribution that starts communication with a client from the server side and distributes the load of a server that processes a response from one or more clients to two or more servers. The server stores its own load information in the load information storage means, and the load balancer receives the load information from the server and monitors the load information. Based on the load information, the server Allocate clients so that the load is evenly distributed, create client designation information to be assigned to each server, send this designation information to the corresponding server, and the server sent from the load balancer The client designation information stored in the client list storage means is stored in the client list storage means. The client sends a request to the client, and the client sends a response to the server in response to the request sent from the server, and the server executes a process corresponding to the response sent from the client, This is a method of storing own load information in a load balancer.

また、本発明の負荷分散方法は、負荷分散装置が、サーバからクライアントへのリクエストを仲介して受信し、当該リクエストの送信元アドレスをサーバのアドレスから仮想代表サーバのアドレスに変換して、当該リクエストをクライアントへ送信するとともに、サーバのアドレスとクライアントのアドレスの対応付け情報をアドレス変換テーブルに記憶させ、クライアントが、サーバから送信されてきたリクエストに対し、当該サーバへのレスポンスを送信し、負荷分散装置が、クライアントからサーバへのレスポンスを仲介して受信し、アドレス変換テーブルをクライアントのアドレスにもとづき検索してサーバのアドレスを取得し、レスポンスの送信先アドレスを仮想代表サーバのアドレスからサーバのアドレスに変換して、当該レスポンスをサーバへ送信する方法としてある。   Further, according to the load distribution method of the present invention, the load distribution apparatus receives the request from the server to the client, converts the transmission source address of the request from the server address to the virtual representative server address, The request is sent to the client, the server address and the client address correspondence information are stored in the address conversion table, the client sends a response to the server in response to the request sent from the server, and the load The distribution device receives the response from the client to the server and receives it, searches the address conversion table based on the client address, obtains the server address, and sends the response destination address from the virtual representative server address to the server address. Convert it to an address There as a way to send a Nsu to the server.

また、本発明の負荷分散方法は、サーバ側からクライアントに対して通信を開始し、一又は二以上のクライアントからのレスポンスに対して処理を行うサーバの負荷を二以上のサーバに分散する負荷分散方法であって、サーバが、自己の負荷情報を負荷情報記憶手段に記憶させるとともに、自己が通信すべきクライアントの指定情報をクライアントリスト記憶手段に記憶させ、自己以外の他のサーバにおける負荷情報記憶手段から負荷情報を受信し、他のサーバの負荷情報と自己の負荷情報とを比較して、負荷の差が所定以上である場合に、これらのサーバ間の負荷が均等になるように、負荷の高いサーバにおけるクライアントリスト記憶手段から負荷の低いサーバのクライアントリスト記憶手段へ、クライアントの指定情報の一部を移動させ、クライアントリスト記憶手段に記憶された指定情報に係るクライアントにリクエストを送信し、クライアントが、サーバから送信されてきたリクエストに対し、当該サーバにレスポンスを送信し、サーバが、クライアントから送信されてきたレスポンスに対応する処理を実行して、自己の負荷情報を負荷分散装置に記憶させる方法としてある。   In addition, the load distribution method of the present invention is a load distribution that starts communication with a client from the server side and distributes the load of a server that processes a response from one or more clients to two or more servers. A method in which a server stores its own load information in load information storage means, and stores client designation information to be communicated in client list storage means, and stores load information in a server other than itself Load information is received from the means, and the load information of other servers is compared with its own load information. A part of the client's specified information is moved from the client list storage means of the server with high load to the client list storage means of the server with low load The client transmits a request to the client related to the designation information stored in the client list storage means, the client transmits a response to the server in response to the request transmitted from the server, and the server is transmitted from the client. This is a method of executing processing corresponding to the response and storing the load information of the own device in the load balancer.

負荷分散装置、サーバ、負荷分散プログラムをこれらのような構成とし、負荷分散方法をこのような方法にすれば、サーバ側からクライアントに対して通信を開始して、そのクライアントからのレスポンスによってサーバが処理を行うシステムにおいて、複数のサーバ間で負荷を均等に分散することができる。
また、クライアントがある特定のサーバのアドレスからの通信にしかレスポンスを許さない場合でも、適用することができる。
さらに、このような複数のサーバ間での負荷分散を、負荷分散装置を別途用意することなく実現することも可能となる。
If the load balancer, the server, and the load balance program are configured as described above, and the load balance method is such a method, communication is started from the server side to the client, and the server responds to the response from the client. In a system that performs processing, a load can be evenly distributed among a plurality of servers.
Further, the present invention can be applied even when a client only allows a response to communication from a specific server address.
Furthermore, it is possible to realize such load distribution among a plurality of servers without separately preparing a load distribution device.

本発明によれば、サーバ側からクライアントに対して通信を開始し、そのクライアントからのレスポンスに対して処理を行うサーバ処理において、負荷分散装置が通信すべきクライアントのリストを管理するとともに、複数のサーバの負荷を監視し、サーバ間で負荷が均等になるように各サーバに通信すべきクライアントを指定することにより、サーバの負荷を分散させることが可能となる。   According to the present invention, in the server processing that starts communication from the server side to the client and processes the response from the client, the load balancer manages a list of clients to be communicated, and a plurality of By monitoring the server load and designating clients to communicate with each server so that the load is even among the servers, it is possible to distribute the server load.

以下、本発明に係る負荷分散システムの好ましい実施形態について、図面を参照しつつ説明する。
なお、以下の実施形態に示す本発明の負荷分散システムは、負荷分散プログラムに制御されたコンピュータにより動作するようになっている。負荷分散装置及びサーバとしてのコンピュータのCPUは、負荷分散プログラムにもとづいてコンピュータの各構成要素に指令を送り、負荷分散装置及びサーバの動作に必要となる所定の処理、例えば、負荷監視処理、クライアントの分配及び指定処理、アドレス変換処理等を行わせる。このように、本発明の負荷分散システムにおける各処理,動作は、プログラムとコンピュータとが協働した具体的手段により実現できるものである。
Hereinafter, a preferred embodiment of a load distribution system according to the present invention will be described with reference to the drawings.
Note that the load distribution system of the present invention shown in the following embodiments is configured to operate by a computer controlled by a load distribution program. The CPU of the computer as the load balancer and server sends a command to each component of the computer based on the load balance program and performs predetermined processing required for the operation of the load balancer and server, for example, load monitoring process, client Distribution and designation processing, address conversion processing, and the like. Thus, each process and operation in the load distribution system of the present invention can be realized by specific means in which the program and the computer cooperate.

プログラムは予めROM,RAM等の記録媒体に格納され、コンピュータに実装された記録媒体から当該コンピュータにプログラムを読み込ませて実行されるが、例えば通信回線を介してコンピュータに読み込ませることもできる。
また、プログラムを格納する記録媒体は、例えば半導体メモリ,磁気ディスク,光ディスク、その他任意のコンピュータで読取り可能な任意の記録手段により構成できる。
The program is stored in advance in a recording medium such as a ROM and a RAM, and is executed by causing the computer to read the program from a recording medium mounted on the computer. For example, the program may be read by the computer via a communication line.
Further, the recording medium for storing the program can be constituted by, for example, a semiconductor memory, a magnetic disk, an optical disk, or any other recording means that can be read by any computer.

[第一実施形態]
まず、本発明の第一実施形態の構成について、図1を参照して説明する。同図は、本実施形態の負荷分散システムの構成を示すブロック図である。
図1に示すように、本実施形態の負荷分散システムは、負荷分散装置10,サーバ20(20a,20b,20c),クライアント30(30−1,30−2,30−3,・・・,30−n)を有している。
[First embodiment]
First, the configuration of the first embodiment of the present invention will be described with reference to FIG. FIG. 2 is a block diagram showing the configuration of the load distribution system of this embodiment.
As shown in FIG. 1, the load distribution system of this embodiment includes a load distribution device 10, a server 20 (20a, 20b, 20c), and a client 30 (30-1, 30-2, 30-3,... 30-n).

負荷分散装置10は、二以上のサーバ20の負荷を分散させる情報処理装置であり、全クライアントリスト記憶手段11、及び負荷監視手段12を備えている。
全クライアントリスト記憶手段11は、サーバ20が通信する全てのクライアントを記憶する。すなわち、図1の例では、全クライアントリスト記憶手段11には、クライアント30−1〜クライアント30−nの全てのクライアントの識別情報が記憶されている。
The load distribution apparatus 10 is an information processing apparatus that distributes the load of two or more servers 20, and includes an all client list storage unit 11 and a load monitoring unit 12.
The all client list storage unit 11 stores all clients with which the server 20 communicates. That is, in the example of FIG. 1, the all client list storage unit 11 stores the identification information of all the clients 30-1 to 30-n.

負荷監視手段12は、サーバ20における負荷情報記憶手段21(21a,21b,21c)から負荷情報を受信することで、負荷情報を監視する。この監視処理については、従来公知のものとすることができ、例えば定期的に負荷情報を受信するものなどとすることができる。
また、負荷監視手段12は、受信した各サーバ20からの負荷情報にもとづいて、これらの負荷が均等になるように、各サーバ20が通信すべきクライアントの指定情報を作成する。すなわち、負荷の高いサーバについては、その処理すべきクライアントの数を減らし、負荷の低いサーバについては、その処理すべきクライアントの数を増やすことなどにより、各サーバ間の負荷が均等に近づくようにクライアントの指定情報を作成する。
The load monitoring unit 12 monitors the load information by receiving the load information from the load information storage unit 21 (21a, 21b, 21c) in the server 20. The monitoring process may be a conventionally known process, for example, a process that periodically receives load information.
Also, the load monitoring unit 12 creates client designation information to be communicated by each server 20 based on the received load information from each server 20 so that these loads are equalized. In other words, reduce the number of clients to be processed for high-load servers, and increase the number of clients to be processed for low-load servers so that the load between each server approaches evenly. Create client specification information.

この負荷の均等化処理については、具体的には種々の方法とすることができるが、例えば、サーバ20aの負荷が70、サーバ20bの負荷が30、サーバ20cの負荷が50であった場合、負荷監視手段12は、負荷情報の平均値である50より負荷が高いサーバ20aのクライアント数を減らし、負荷情報の平均値である50より負荷が低いサーバ20bのクライアント数を増加することで行うようにすることができる。
したがって、この場合、負荷監視手段12は、サーバ20aが通信を行っているクライアント30−1又はクライアント30−2のいずれかを、サーバ20bに通信させるように、クライアントの指定情報を作成する。
Specifically, various methods can be used for the load equalization processing. For example, when the load of the server 20a is 70, the load of the server 20b is 30, and the load of the server 20c is 50, The load monitoring unit 12 is configured to reduce the number of clients of the server 20a having a higher load than 50, which is the average value of the load information, and increase the number of clients of the server 20b having a lower load than 50, which is the average value of the load information. Can be.
Therefore, in this case, the load monitoring unit 12 creates client designation information so that the server 20b can communicate with either the client 30-1 or the client 30-2 with which the server 20a is communicating.

このとき、サーバ20aが通信しているクライアント30−1及びクライアント30−2のうちのいずれをサーバ20bに通信させるものとして選択するかについては、例えばランダムに行うようにすることができる。
そして、クライアント30−2が、サーバ20bに通信させるものとして選択された場合には、負荷監視手段12は、サーバ20aへのクライアントの指定情報としてクライアント30−1の指定情報を、サーバ20bへのクライアントの指定情報としてクライアント30−2及びクライアント30−3の指定情報を、サーバ20cへのクライアントの指定情報としてクライアント30−nの指定情報を作成して、それぞれ対応するサーバ20に送信する。
At this time, which of the client 30-1 and the client 30-2 with which the server 20a is communicating can be selected to be communicated with the server 20b, for example, can be randomly performed.
When the client 30-2 is selected to be communicated with the server 20b, the load monitoring unit 12 sends the designation information of the client 30-1 to the server 20b as the designation information of the client to the server 20a. The designation information of the client 30-2 and the client 30-3 is created as the designation information of the client, and the designation information of the client 30-n is created as the designation information of the client to the server 20c, and transmitted to the corresponding server 20.

また、サーバ20における負荷情報記憶手段21に、クライアント30ごとの負荷情報が記憶されている場合であって、例えば、サーバ20aの負荷情報としてクライアント30−1が20、クライアント30−2が50、サーバ20bの負荷情報としてクライアント30−3が30、サーバ20cの負荷情報としてクライアント30−nが50であった場合、負荷監視手段12は、上記のサーバ20aが通信しているクライアント30−1及びクライアント30−2のうちのいずれをサーバ20bに通信させるものとするかの選択にあたり、負荷の低いサーバ20bの負荷情報と負荷情報の平均値と差により近い負荷をもつクライアントとして適切なクライアント30−1を選択することが可能となる。   Further, when load information for each client 30 is stored in the load information storage unit 21 in the server 20, for example, the load information of the server 20a is 20 for the client 30-1, 50 for the client 30-2, When the client 30-3 is 30 as the load information of the server 20b and the client 30-n is 50 as the load information of the server 20c, the load monitoring unit 12 includes the client 30-1 with which the server 20a communicates and In selecting which of the clients 30-2 to communicate with the server 20b, the client 30- suitable as a client having a load closer to the difference between the load information of the server 20b having a low load and the average value of the load information. 1 can be selected.

その他、負荷監視手段12により、各サーバ20の負荷が均等になるように、各サーバ20が通信すべきクライアントを配分できれば、その方法はどのような方法であってもかまわない。   In addition, any method may be used as long as the load monitoring unit 12 can distribute the clients to be communicated with each server 20 so that the load on each server 20 is equalized.

サーバ20は、クライアント30に対してリクエストを送信することで、通信を開始するとともに、クライアント30からのレスポンスにもとづいて、このレスポンスの内容に対応する処理を実行する。
各サーバ20は、図1に示すように、それぞれ負荷情報記憶手段21(21a,21b,21c)、及びクライアントリスト記憶手段22(22a,22b,22c)を備えている。
The server 20 transmits a request to the client 30 to start communication, and executes processing corresponding to the content of this response based on the response from the client 30.
As shown in FIG. 1, each server 20 includes load information storage means 21 (21a, 21b, 21c) and client list storage means 22 (22a, 22b, 22c).

負荷情報記憶手段21は、サーバ20の負荷を定量的な情報として記憶するものであり、例えばサーバ20におけるCPU負荷率や全メモリに対するメモリ使用割合等を負荷情報として用いることができる。
クライアントリスト記憶手段22は、当該サーバ20が通信すべき相手先のクライアントを記憶する。本実施形態においては、この通信相手先のクライアントは、負荷分散装置10からクライアント指定情報d202としてサーバ20に送信され、クライアントリスト記憶手段22に記憶される。
The load information storage unit 21 stores the load of the server 20 as quantitative information. For example, the CPU load rate in the server 20 or the memory usage ratio with respect to all the memories can be used as the load information.
The client list storage unit 22 stores a partner client to which the server 20 should communicate. In this embodiment, the communication partner client is transmitted from the load balancer 10 to the server 20 as the client designation information d202 and stored in the client list storage unit 22.

クライアント30は、サーバ20から送信されてきたリクエストに対して、レスポンスをサーバ20に対して返却する情報処理装置である。このレスポンスの内容は、クライアント30がサーバにより処理されるべきデータを保有しているかどうかなどによりクライアントごとに異なる場合があることを想定している。したがって、このようなサーバ20とクライアント30との通信が行われると、サーバ20がどのクライアント30と通信を行っているかにより、サーバ20間で負荷に偏りが生じ始めることになる。   The client 30 is an information processing apparatus that returns a response to the server 20 in response to a request transmitted from the server 20. It is assumed that the content of this response may differ from client to client depending on whether the client 30 has data to be processed by the server. Therefore, when such communication between the server 20 and the client 30 is performed, the load between the servers 20 starts to be biased depending on which client 30 the server 20 is communicating with.

次に、本実施形態の負荷分散システムにおける処理手順について、図1及び図2を参照して説明する。図2は、本実施形態の負荷分散システムにおける処理手順を示す動作手順図である。   Next, a processing procedure in the load distribution system of this embodiment will be described with reference to FIGS. FIG. 2 is an operation procedure diagram showing a processing procedure in the load distribution system of this embodiment.

まず、負荷分散装置10は、負荷監視手段12によって、各サーバ20の負荷情報記憶手段21を監視し、その負荷情報d201(d201a,d201b,d201c)に基づいて、各サーバ20の負荷が均等になるように、サーバが通信・処理すべき全てのクライアントのリストを全クライアントリスト記憶手段11から入力して、各サーバ20が通信・処理すべきクライアントを分配して指定する(ステップ10)。このとき負荷監視手段12は、クライアント指定情報d202(d202a,d202b,d202c)を作成して、それぞれ対応するサーバ20に送信する。
なお、初期状態では各サーバ20の負荷は均等であるため、各サーバ20が通信・処理すべきクライアントは均等に指定される。
First, the load distribution apparatus 10 monitors the load information storage unit 21 of each server 20 by the load monitoring unit 12, and the load of each server 20 is equalized based on the load information d201 (d201a, d201b, d201c). As described above, a list of all clients to be communicated and processed by the server is input from the all client list storage means 11, and the servers to be communicated and processed by each server 20 are distributed and specified (step 10). At this time, the load monitoring unit 12 creates client designation information d202 (d202a, d202b, d202c) and transmits it to the corresponding server 20 respectively.
Since the load on each server 20 is equal in the initial state, clients to be communicated and processed by each server 20 are specified equally.

これに対して、サーバ20は、受信したクライアント指定情報d202を、それぞれクライアントリスト記憶手段22に記憶させる(ステップ11)。
そして、このクライアントリスト記憶手段22に記憶されたクライアント指定情報d202にもとづいて、クライアントに対してリクエストを送信することにより通信を開始する(ステップ12)。
In response to this, the server 20 stores the received client designation information d202 in the client list storage means 22 (step 11).
Then, communication is started by transmitting a request to the client based on the client designation information d202 stored in the client list storage means 22 (step 12).

クライアント30は、受信したリクエストに対して、レスポンスをサーバ20に返信することにより応答する(ステップ13)。
サーバ20は、受信したレスポンスに応じた処理を実行する(ステップ14)。ステップ12〜ステップ14の処理は、繰り返し実行することもできる。
The client 30 responds to the received request by returning a response to the server 20 (step 13).
The server 20 executes processing according to the received response (step 14). The processing of step 12 to step 14 can be repeatedly executed.

これらの動作により、各サーバ20における処理内容(クライアントが、サーバが処理すべきデータを持っているか、いないかなど)によって、各サーバ20間で負荷に偏りが生じ始める。
これに対して、負荷分散装置10における負荷監視手段12は、定期的に各サーバ20の負荷情報d201を監視し、サーバ20の負荷が均等になるように、各サーバ20が通信・処理すべきクライアントの指定を変更する(ステップ15)。
すなわち、上述したように、負荷の高いサーバが処理すべきクライアントの数は減らし、負荷の低いサーバが処理すべきクライアントの数は増やすなどを行って、新たなクライアント指定情報d202を作成し、サーバ20に送信する。
With these operations, the load among the servers 20 starts to be biased depending on the processing contents of each server 20 (whether the client has data to be processed by the server or not).
On the other hand, the load monitoring unit 12 in the load distribution apparatus 10 periodically monitors the load information d201 of each server 20, and each server 20 should communicate and process so that the load on the server 20 is equalized. The client designation is changed (step 15).
That is, as described above, the number of clients to be processed by a server with a high load is reduced, the number of clients to be processed by a server with a low load is increased, and new client designation information d202 is created, 20 to send.

これに対して、サーバ20は、ステップ11〜ステップ14と同様の動作を実行し(ステップ16〜ステップ19)、再び負荷分散装置10によるサーバ20の負荷情報d201の監視、及びクライアントの指定変更が行われ(ステップ20)、サーバ20においてクライアント指定情報d202が記憶される(ステップ21)。そして、以降ステップ17〜ステップ21までの動作が繰り返し実行されることとなる。   On the other hand, the server 20 performs the same operations as in steps 11 to 14 (steps 16 to 19), and the load balancer 10 again monitors the load information d201 of the server 20 and changes the client designation. (Step 20), the server 20 stores the client designation information d202 (Step 21). Thereafter, the operations from step 17 to step 21 are repeatedly executed.

以上説明したように、本実施形態の負荷分散システムによれば、サーバ側からクライアントに対して通信を開始して、そのクライアントからのレスポンスによってサーバが処理を行うシステムにおいても、複数のサーバ間で負荷を均等に分散することができる。   As described above, according to the load distribution system of the present embodiment, even in a system in which communication is started from a server side to a client and processing is performed by a server in response to the response from the client, a plurality of servers The load can be evenly distributed.

[第二実施形態]
次に、本発明の第二実施形態について、図3を参照して説明する。同図は、本実施形態の負荷分散システムの構成を示すブロック図である。
本実施形態は、クライアント30が特定のサーバからの通信にしかレスポンスを許可しないように制限されていることを想定しており、負荷分散装置10がサーバ20及びクライアント30の通信を仲介受信して、そのアドレスを変換する点で第一実施形態と異なる。その他の点については、第一実施形態と同様である。
[Second Embodiment]
Next, a second embodiment of the present invention will be described with reference to FIG. FIG. 2 is a block diagram showing the configuration of the load distribution system of this embodiment.
In the present embodiment, it is assumed that the client 30 is limited so as to permit a response only to communication from a specific server, and the load balancer 10 receives and receives the communication between the server 20 and the client 30. This is different from the first embodiment in that the address is converted. About another point, it is the same as that of 1st embodiment.

図3に示すように、本実施形態の負荷分散装置10は、第一実施形態における構成に加え、アドレス変換手段13、及びアドレス変換テーブル14を備えている。
本実施形態においては、クライアント30は、ある特定のサーバのアドレス(仮想代表サーバアドレス)からの通信にしかレスポンスを許さないことを想定しいている。
このため、アドレス変換手段13は、サーバ20から送信されたリクエストのパケットを一旦仲介して受信し、このパケットの送信元アドレスをサーバ20のアドレスから仮想代表サーバアドレスに変換して、クライアント30に送信する。
As shown in FIG. 3, the load distribution apparatus 10 of this embodiment includes an address conversion unit 13 and an address conversion table 14 in addition to the configuration in the first embodiment.
In the present embodiment, it is assumed that the client 30 allows a response only for communication from a specific server address (virtual representative server address).
For this reason, the address conversion unit 13 receives the packet of the request transmitted from the server 20 once, and converts the transmission source address of this packet from the address of the server 20 to the virtual representative server address. Send.

また、このとき、クライアント30からのレスポンスのパケットの送信先アドレス(宛先アドレス)を本来の通信相手のサーバ20のアドレスの戻すために、どのサーバ20からのパケットがどのクライアント30宛だったかをアドレス変換テーブル14に記憶させる。
すなわち、アドレス変換手段13は、受信したパケットの送信元のサーバ20のアドレスと、その送信先であるクライアント30のアドレスとの対応付け情報をアドレス変換テーブル14に記憶させる。
At this time, in order to return the transmission destination address (destination address) of the response packet from the client 30 to the address of the original communication partner server 20, the address from which server 20 the packet is addressed to which client 30 is addressed. It is stored in the conversion table 14.
That is, the address conversion unit 13 stores association information between the address of the server 20 that is the transmission source of the received packet and the address of the client 30 that is the transmission destination in the address conversion table 14.

これによって、アドレス変換手段13は、クライアント30から送信されたレスポンスのパケットを仲介して受信すると、このパケットの送信元のクライアント30のアドレスをキーとしてアドレス変換テーブル14を検索して、対応するサーバ20のアドレスを取得する。そして、レスポンスのパケットの送信先の仮想代表サーバアドレスを、取得したサーバ20のアドレスに変換して、当該サーバ20に送信する。   As a result, when the address conversion unit 13 receives the response packet transmitted from the client 30 via the mediation, the address conversion unit 13 searches the address conversion table 14 using the address of the client 30 of the transmission source of the packet as a key, and the corresponding server. Get 20 addresses. Then, the virtual representative server address of the transmission destination of the response packet is converted into the acquired address of the server 20 and transmitted to the server 20.

勿論、このときパケットごとにクライアント30のアドレスとサーバ20のアドレスとの対応付け情報をアドレス変換テーブル14に記憶させ、パケットごとに当該アドレス変換テーブル14からサーバ20のアドレスを取得可能とすることもできる。   Of course, at this time, the correspondence information between the address of the client 30 and the address of the server 20 is stored in the address conversion table 14 for each packet, and the address of the server 20 can be acquired from the address conversion table 14 for each packet. it can.

アドレス変換テーブル14は、クライアント30のアドレスごとにサーバ20のアドレスを記憶する記憶手段である。また、このクライアント30のアドレスとサーバ20のアドレスの対応付け情報をパケットごとに保有させるようにすることも可能である。   The address conversion table 14 is a storage unit that stores the address of the server 20 for each address of the client 30. It is also possible to hold the association information between the address of the client 30 and the address of the server 20 for each packet.

次に、本実施形態の負荷分散システムにおける処理手順について、図3及び図4を参照して説明する。図4は、本実施形態の負荷分散システムにおける処理手順を示す動作手順図である。   Next, a processing procedure in the load distribution system of this embodiment will be described with reference to FIGS. FIG. 4 is an operation procedure diagram showing a processing procedure in the load distribution system of this embodiment.

まず、負荷分散装置10が負荷監視手段12により各サーバ20の負荷を監視し、サーバ20ごとの負荷が均等になるようにクライアント30を分配して指定する動作から、サーバ20がクライアント30に対して通知を開始するまでの動作(ステップ30〜ステップ32)については、第一実施形態における動作(ステップ10〜ステップ12)と同様である。   First, the load distribution device 10 monitors the load of each server 20 by the load monitoring unit 12 and distributes and designates the client 30 so that the load of each server 20 is equal. The operation until the notification is started (step 30 to step 32) is the same as the operation (step 10 to step 12) in the first embodiment.

次に、本実施形態においては、サーバ20からクライアント30に対して送信されたリクエストのパケットは、直接クライアント30に送信されるのではなく、一旦負荷分散装置10によって仲介して受信される。そして、負荷分散装置10におけるアドレス変換手段13によりリクエストのパケットの送信元アドレスが、サーバ20のアドレスから仮想代表サーバアドレスに変換され(ステップ33)、クライアント30に対して送信される(ステップ34)。   Next, in the present embodiment, the request packet transmitted from the server 20 to the client 30 is not directly transmitted to the client 30 but is temporarily received by the load balancer 10. Then, the source address of the request packet is converted from the address of the server 20 to the virtual representative server address by the address conversion means 13 in the load balancer 10 (step 33) and transmitted to the client 30 (step 34). .

これに対して、クライアント30の応答によりレスポンスのパケットがサーバ20に対して送信されると(ステップ35)、負荷分散装置10におけるアドレス変換手段13は、これを仲介して受信する。
そして、アドレス変換手段13は、レスポンスのパケットの送信元のクライアント30のアドレスにもとづきアドレス変換テーブル14を検索して、対応するサーバ20のアドレスを取得し、レスポンスのパケットの送信先の仮想代表サーバアドレスを、取得したサーバ20のアドレスに変換して(ステップ36)、このレスポンスのパケットを当該サーバ20に送信する(ステップ37)。
On the other hand, when a response packet is transmitted to the server 20 by the response of the client 30 (step 35), the address translation unit 13 in the load distribution apparatus 10 receives the packet through this.
The address translation unit 13 searches the address translation table 14 based on the address of the client 30 that is the source of the response packet, acquires the address of the corresponding server 20, and the virtual representative server that is the destination of the response packet The address is converted into the acquired address of the server 20 (step 36), and the response packet is transmitted to the server 20 (step 37).

サーバ20は、受信したレスポンスに応じた処理を実行する(ステップ38)。これらのステップ32〜ステップ38の処理は、繰り返し実行することもできる。
次に、負荷分散装置10により各サーバ20の負荷が監視されて、クライアント30の指定変更が行われ(ステップ39)、サーバ20においてクライアント指定情報d202が記憶されるが(ステップ40)、これについては第一実施形態における動作(ステップ15,16)と同様である。
そして、以降ステップ32〜ステップ40までの動作が繰り返し実行されることとなる。
The server 20 executes processing according to the received response (step 38). These processes of step 32 to step 38 can be repeatedly executed.
Next, the load of each server 20 is monitored by the load balancer 10 and the designation of the client 30 is changed (step 39), and the client designation information d202 is stored in the server 20 (step 40). Is the same as the operation (steps 15 and 16) in the first embodiment.
Thereafter, the operations from step 32 to step 40 are repeatedly executed.

以上説明したように、本実施形態の負荷分散システムによれば、クライアントと通信するサーバの割り当てが変わっても、クライアントに届くパケットの送信元アドレスは常に仮想代表サーバのアドレスとなる。
このため、クライアントがある特定のサーバのアドレス(仮想代表サーバアドレス)からの通信にしかレスポンスを許さない場合でも適用することが可能となる。
As described above, according to the load distribution system of this embodiment, even if the allocation of the server that communicates with the client changes, the source address of the packet that reaches the client is always the address of the virtual representative server.
Therefore, the present invention can be applied even when a response is allowed only for communication from a specific server address (virtual representative server address).

[第三実施形態]
次に、本発明の第三実施形態について、図5を参照して説明する。同図は、本実施形態の負荷分散システムの構成を示すブロック図である。
本実施形態は、第一実施形態における負荷分散装置10の機能を、複数のサーバ20のうちの一つのサーバ20aに実装した点で第一実施形態と異なる。その他の点については、第一実施形態と同様である。
[Third embodiment]
Next, a third embodiment of the present invention will be described with reference to FIG. FIG. 2 is a block diagram showing the configuration of the load distribution system of this embodiment.
This embodiment is different from the first embodiment in that the function of the load distribution apparatus 10 in the first embodiment is mounted on one server 20a among the plurality of servers 20. About another point, it is the same as that of 1st embodiment.

本実施形態におけるサーバ20aは、図5に示すように、第一実施形態における構成に加え、全クライアントリスト記憶手段23a、及び負荷監視手段24aを備えている。
これによって、サーバ20aは、第一実施形態における動作に加え、負荷分散装置としても機能するようになっている。
As shown in FIG. 5, the server 20a in the present embodiment includes an all client list storage unit 23a and a load monitoring unit 24a in addition to the configuration in the first embodiment.
Accordingly, the server 20a functions as a load distribution apparatus in addition to the operation in the first embodiment.

すなわち、サーバ20aにおける負荷監視手段24aは、サーバ20aにおける負荷情報記憶手段21aから負荷情報d201(d201a)を入力して監視するとともに、サーバ20b,20cにおけるそれぞれの負荷情報記憶手段21b,21cから負荷情報d201(d201b,d201c)を受信して監視する。
そして、負荷監視手段24aは、第一実施形態の負荷分散装置10における場合と同様に、各サーバ20aの負荷が均等になるように、クライアント30を分配して指定し、サーバ20aにおけるクライアントリスト記憶手段22aに、作成したクライアント指定情報d202aを記憶させるとともに、サーバ20b,20cにそれぞれクライアント指定情報d202b,d202cを送信して、それぞれのサーバ20におけるクライアントリスト記憶手段22b,22cに記憶させる。
その他、サーバ20側からクライアント30に対してリクエストが送信され、クライアント30からサーバ20にレスポンスが返却されて、サーバ20において対応する処理が実行される点については、第一実施形態における場合と同様である。
That is, the load monitoring unit 24a in the server 20a receives and monitors the load information d201 (d201a) from the load information storage unit 21a in the server 20a, and loads from the load information storage units 21b and 21c in the servers 20b and 20c. Information d201 (d201b, d201c) is received and monitored.
Then, the load monitoring means 24a distributes and designates the clients 30 so that the loads on the servers 20a are equal, as in the load distribution apparatus 10 of the first embodiment, and stores the client list in the servers 20a. The created client designation information d202a is stored in the means 22a, and the client designation information d202b and d202c is transmitted to the servers 20b and 20c, respectively, and stored in the client list storage means 22b and 22c in each server 20.
In addition, the point that the request is transmitted from the server 20 to the client 30, the response is returned from the client 30 to the server 20, and the corresponding processing is executed in the server 20 is the same as in the first embodiment. It is.

以上説明したように、本実施形態の負荷分散システムによれば、負荷分散装置を別途用意することなく、サーバ側からクライアントに対して通信を開始し、そのクライアントからのレスポンスによってサーバが処理を行うシステムにおいて、複数のサーバ間で負荷を均等に分散することが可能となる。   As described above, according to the load distribution system of the present embodiment, communication is started from the server side to the client without preparing a separate load distribution apparatus, and the server performs processing according to the response from the client. In the system, the load can be evenly distributed among a plurality of servers.

[第四実施形態]
次に、本発明の第四実施形態について、図6を参照して説明する。同図は、本実施形態の負荷分散システムの構成を示すブロック図である。
本実施形態は、第一実施形態における負荷分散装置10の機能を分散させて、各サーバ20に保有させた点で第一実施形態と異なる。その他の点については、第一実施形態と同様である。
[Fourth embodiment]
Next, a fourth embodiment of the present invention will be described with reference to FIG. FIG. 2 is a block diagram showing the configuration of the load distribution system of this embodiment.
This embodiment is different from the first embodiment in that the functions of the load distribution apparatus 10 in the first embodiment are distributed and held in each server 20. About another point, it is the same as that of 1st embodiment.

図6に示すように、本実施形態における各サーバ20(20a,20b,20c)は、第一実施形態における構成に加え、それぞれ負荷監視手段25(25a,25b,25c)を備えている。
これによって、各サーバ20は、第一実施形態における動作に加え、負荷分散装置としても機能するようになっている。
As shown in FIG. 6, each server 20 (20a, 20b, 20c) in the present embodiment includes load monitoring means 25 (25a, 25b, 25c) in addition to the configuration in the first embodiment.
As a result, each server 20 functions as a load balancer in addition to the operation in the first embodiment.

すなわち、負荷監視手段25により、各サーバ20は、お互いにお互いの負荷情報記憶手段21に記憶された負荷情報を交換し合い(d1ab,d1bc,d1ca)、負荷の差が一定以上ある2つのサーバがあると、負荷の高いサーバから負荷の低いサーバへ処理すべきクライアントの一部を移動させる(d2ab,d2bc,d2ca)。
なお、この場合、第一実施形態の負荷分散装置10における全クライアントリスト記憶手段11におけるクライアントリストのようなマスターとなるクライアントのリスト情報が存在しないため、初期状態において、予め手動で各サーバ20におけるクライアントリスト記憶手段22にクライアントを適当に分配して設定しておく。
That is, by the load monitoring means 25, each server 20 exchanges the load information stored in each other's load information storage means 21 (d1ab, d1bc, d1ca), and two servers having a load difference of a certain value or more. If there is, a part of the client to be processed is moved from the high load server to the low load server (d2ab, d2bc, d2ca).
In this case, since there is no master client list information such as the client list in the all client list storage unit 11 in the load distribution apparatus 10 of the first embodiment, in the initial state, manually in each server 20 in advance. Clients are appropriately distributed and set in the client list storage unit 22.

以上説明したように、本実施形態の負荷分散システムによっても、負荷分散装置を別途用意することなく、サーバ側からクライアントに対して通信を開始し、そのクライアントからのレスポンスによってサーバが処理を行うシステムにおいて、複数のサーバ間で負荷を均等に分散することが可能となる。   As described above, even with the load distribution system of the present embodiment, a system in which communication is started from the server side to the client without using a separate load distribution device, and the server performs processing according to a response from the client Therefore, the load can be evenly distributed among a plurality of servers.

本発明は、以上の実施形態に限定されるものではなく、本発明の範囲内において、種々の変更実施が可能であることは言うまでもない。
例えば、第二実施形態と第三実施形態とを組み合わせて、図5に示すサーバ20aを、アドレス変換手段13及びアドレス変換テーブル14を備える構成として、クライアントが特定のサーバとの通信のみに対してレスポンスを許可する構成としている場合にも適用可能とするなど、上記各実施形態を種々に組み合わせたものとして構成することが可能である。
また、例えば、負荷分散装置、サーバ、クライアントのそれぞれの間をインターネットなどの通信回線により接続した構成とするなど適宜変更することが可能である。
It goes without saying that the present invention is not limited to the above embodiment, and that various modifications can be made within the scope of the present invention.
For example, by combining the second embodiment and the third embodiment, the server 20a shown in FIG. 5 includes the address conversion unit 13 and the address conversion table 14, and the client only communicates with a specific server. The present invention can be configured as various combinations of the above-described embodiments, such as being applicable to cases where a response is permitted.
In addition, for example, the load distribution device, the server, and the client can be appropriately changed, such as a configuration in which the communication lines such as the Internet are connected to each other.

本発明は、サーバ側からクライアントに対して通信を開始し、そのクライアントからのレスポンスに対してサーバが処理(例えば、デバイスのポーリング等)を行うシステムに好適に利用することが可能である。   The present invention can be suitably used for a system in which communication is started from a server side to a client, and a server performs processing (for example, device polling) in response to a response from the client.

本発明の第一実施形態の負荷分散システムの構成を示すブロック図である。It is a block diagram which shows the structure of the load distribution system of 1st embodiment of this invention. 本発明の第一実施形態の負荷分散システムにおける処理手順を示す動作手順図である。It is an operation | movement procedure figure which shows the process sequence in the load distribution system of 1st embodiment of this invention. 本発明の第二実施形態の負荷分散システムの構成を示すブロック図である。It is a block diagram which shows the structure of the load distribution system of 2nd embodiment of this invention. 本発明の第二実施形態の負荷分散システムにおける処理手順を示す動作手順図である。It is an operation | movement procedure figure which shows the process sequence in the load distribution system of 2nd embodiment of this invention. 本発明の第三実施形態の負荷分散システムの構成を示すブロック図である。It is a block diagram which shows the structure of the load distribution system of 3rd embodiment of this invention. 本発明の第四実施形態の負荷分散システムの構成を示すブロック図である。It is a block diagram which shows the structure of the load distribution system of 4th embodiment of this invention. 従来の負荷分散システムの構成を示すブロック図である。It is a block diagram which shows the structure of the conventional load distribution system.

符号の説明Explanation of symbols

10 負荷分散装置
11 全クライアントリスト記憶手段
12 負荷監視手段
13 アドレス変換手段
14 アドレス変換テーブル
20(20a,20b,20c) サーバ
21(21a,21b,21c) 負荷情報記憶手段
22(22a,22b,22c) クライアントリスト記憶手段
23a 全クライアントリスト記憶手段
24a 負荷監視手段
25(25a,25b,25c) 負荷監視手段
30(30-1〜30-n) クライアント
d201(d201a,d201b,d201c) 負荷情報
d202(d202a,d202b,d202c) クライアント指定情報
d301s〜d303s サーバからクライアントへのリクエスト情報
d301s1〜d30ns1 サーバからクライアントへのリクエスト情報(変換前)
d301s2〜d30ns2 サーバからクライアントへのリクエスト情報(変換後)
d301c〜d30nc クライアントからサーバへのレスポンス情報
d301c1〜d30nc1 クライアントからサーバへのレスポンス情報(変換前)
d301c2〜d30nc2 クライアントからサーバへのレスポンス情報(変換後)
100 負荷分散装置
101 負荷監視手段
102 アドレス変換手段
103 アドレス変換テーブル
200(200a,200b,200c) サーバ
201(201a,201b,201c) 負荷情報記憶手段
300(300-1〜300-n) クライアント
10 Load balancer
11 All client list storage means
12 Load monitoring means
13 Address conversion means
14 Address conversion table
20 (20a, 20b, 20c) servers
21 (21a, 21b, 21c) Load information storage means
22 (22a, 22b, 22c) Client list storage means
23a All client list storage means
24a Load monitoring means
25 (25a, 25b, 25c) Load monitoring means
30 (30-1 to 30-n) clients
d201 (d201a, d201b, d201c) Load information
d202 (d202a, d202b, d202c) Client specification information
d301s to d303s Request information from server to client
d301s1 to d30ns1 Request information from server to client (before conversion)
d301s2 to d30ns2 Request information from server to client (after conversion)
d301c to d30nc Response information from client to server
d301c1 to d30nc1 Response information from client to server (before conversion)
d301c2 to d30nc2 Response information from client to server (after conversion)
100 load balancer
101 Load monitoring means
102 Address conversion means
103 Address conversion table
200 (200a, 200b, 200c) server
201 (201a, 201b, 201c) Load information storage means
300 (300-1 to 300-n) clients

Claims (15)

サーバ側からクライアントに対して通信を開始し、クライアントからのレスポンスに対して処理を行うサーバの負荷を分散する負荷分散システムであって、
自己の負荷情報を記憶する負荷情報記憶手段、及び負荷分散装置から送信されてきた自己が通信すべきクライアントの指定情報を記憶するクライアントリスト記憶手段を備えた二以上の前記サーバと、
前記サーバが通信する全てのクライアントを記憶する全クライアントリスト記憶手段、及び前記サーバにおける前記負荷情報記憶手段から前記負荷情報を受信して、前記負荷情報を監視するとともに、当該負荷情報にもとづいて、前記サーバ間の負荷が均等になるように前記全てのクライアントを配分してサーバごとに割り当てるクライアントの指定情報を作成し、この指定情報を対応するサーバに送信する負荷監視手段を備えた前記負荷分散装置と、
前記サーバから送信されてきたリクエストに対し、当該サーバにレスポンスを送信する二以上の前記クライアントと、を有する
ことを特徴とする負荷分散システム。
A load distribution system that distributes the load of a server that starts communication from a server side to a client and processes a response from the client,
Two or more servers provided with load information storage means for storing own load information, and client list storage means for storing client designation information transmitted from the load balancer to which the self should communicate;
Receiving the load information from all client list storage means for storing all clients with which the server communicates, and the load information storage means in the server, and monitoring the load information, and based on the load information, The load distribution comprising load monitoring means for distributing all the clients so that the load among the servers is equal and creating client designation information to be assigned to each server and transmitting the designation information to the corresponding server Equipment,
A load distribution system comprising: two or more clients that transmit a response to the server in response to a request transmitted from the server.
前記負荷分散装置が、
前記サーバから前記クライアントへの前記リクエストを仲介して受信し、当該リクエストの送信元アドレスを前記サーバのアドレスから仮想代表サーバのアドレスに変換するとともに、前記サーバのアドレスと前記クライアントのアドレスの対応付け情報をアドレス変換テーブルに記憶させ、前記クライアントから前記サーバへの前記レスポンスを仲介して受信し、前記アドレス変換テーブルを前記クライアントのアドレスにもとづき検索して前記サーバのアドレスを取得し、前記レスポンスの送信先アドレスを前記仮想代表サーバのアドレスから前記サーバのアドレスに変換するアドレス変換手段、及び前記サーバのアドレスと前記クライアントのアドレスの対応付け情報を記憶する前記アドレス変換テーブルを備えた
ことを特徴とする請求項1記載の負荷分散システム。
The load balancer is
Receiving the request from the server to the client, converting the request source address from the server address to the virtual representative server address, and associating the server address with the client address Information is stored in an address conversion table, and the response from the client to the server is received and received. The address conversion table is searched based on the address of the client to obtain the address of the server. An address conversion unit that converts a destination address from the address of the virtual representative server to an address of the server, and the address conversion table that stores association information between the address of the server and the address of the client. Contract The load distribution system according to claim 1.
前記負荷分散装置に換えて、前記サーバのうちの一のサーバが、前記負荷分散装置として構成され、当該一のサーバが、前記負荷分散装置における前記全クライアントリスト記憶手段、及び前記負荷監視手段を備えた
ことを特徴とする請求項1又は2記載の負荷分散システム。
Instead of the load balancer, one of the servers is configured as the load balancer, and the one server includes the all client list storage unit and the load monitor unit in the load balancer. The load distribution system according to claim 1 or 2, further comprising:
サーバ側からクライアントに対して通信を開始し、クライアントからのレスポンスに対して処理を行うサーバの負荷を分散する負荷分散システムであって、
自己の負荷情報を記憶する負荷情報記憶手段、自己が通信すべきクライアントの指定情報を記憶するクライアントリスト記憶手段、自己以外の他のサーバにおける負荷情報記憶手段から負荷情報を受信し、前記他のサーバの負荷情報と前記自己の負荷情報とを比較して、負荷の差が所定以上である場合に、これらのサーバ間の負荷が均等になるように、負荷の高いサーバにおけるクライアントリスト記憶手段から負荷の低いサーバのクライアントリスト記憶手段へ、クライアントの指定情報の一部を移動させる負荷監視手段を備えた二以上の前記サーバと、
前記サーバから送信されてきたリクエストに対して、当該サーバにレスポンスを送信する二以上の前記クライアントと、を有する
ことを特徴とする負荷分散システム。
A load distribution system that distributes the load of a server that starts communication from a server side to a client and processes a response from the client,
Load information storage means for storing own load information, client list storage means for storing designation information of clients to which the self should communicate, receiving load information from load information storage means in a server other than the self, When the load information of the server is compared with the load information of the self and the load difference is greater than or equal to a predetermined value, the load from the client list storage means in the high load server is equalized so that the load between these servers is equalized Two or more servers provided with load monitoring means for moving a part of the designation information of the client to the client list storage means of the server with low load;
A load distribution system comprising: two or more clients that transmit a response to a request transmitted from the server.
サーバ側からクライアントに対して通信を開始し、一又は二以上のクライアントからのレスポンスに対して処理を行うサーバの負荷を二以上のサーバに分散する負荷分散装置であって、
前記サーバが通信する全てのクライアント情報を記憶する全クライアントリスト記憶手段と、
前記サーバから負荷情報を受信して、前記負荷情報を監視するとともに、当該負荷情報にもとづいて、前記サーバ間の負荷が均等になるように前記全てのクライアントを配分してサーバごとに割り当てるクライアントの指定情報を作成し、この指定情報を対応するサーバに送信する負荷監視手段と、を備えた
ことを特徴とする負荷分散装置。
A load balancer that starts communication with a client from the server side and distributes the load of a server that processes a response from one or more clients to two or more servers,
All client list storage means for storing all client information with which the server communicates;
The client receives load information from the server, monitors the load information, and distributes all the clients so that the load among the servers is equal based on the load information. A load balancer comprising load monitoring means for creating designated information and transmitting the designated information to a corresponding server.
前記サーバから前記クライアントへのリクエストを仲介して受信し、当該リクエストの送信元アドレスを前記サーバのアドレスから仮想代表サーバのアドレスに変換するとともに、前記サーバのアドレスと前記クライアントのアドレスの対応付け情報をアドレス変換テーブルに記憶させ、前記クライアントから前記サーバへの前記レスポンスを仲介して受信し、前記アドレス変換テーブルを前記クライアントのアドレスにもとづき検索して前記サーバのアドレスを取得し、前記レスポンスの送信先アドレスを前記仮想代表サーバのアドレスから前記サーバのアドレスに変換するアドレス変換手段と、
前記サーバのアドレスと前記クライアントのアドレスの対応付け情報を記憶する前記アドレス変換テーブルと、を備えた
ことを特徴とする請求項5記載の負荷分散装置。
Receives a request from the server to the client, converts the request source address from the server address to the virtual representative server address, and associates the server address with the client address. Is stored in an address conversion table, and the response from the client to the server is received and received, the address conversion table is searched based on the address of the client, the address of the server is acquired, and the response is transmitted. Address conversion means for converting the destination address from the address of the virtual representative server to the address of the server;
The load distribution apparatus according to claim 5, further comprising: the address conversion table that stores association information between the address of the server and the address of the client.
クライアントに対して通信を開始し、一又は二以上のクライアントからのレスポンスに対して行う処理の負荷が二以上のサーバ間で分散されるサーバであって、
自己の負荷情報を記憶する負荷情報記憶手段と、
自己が通信すべきクライアントの指定情報を記憶するクライアントリスト記憶手段と、を備え、
負荷分散装置により前記負荷情報記憶手段から前記負荷情報を取得されて負荷情報を監視され、当該負荷情報にもとづいて、前記サーバ間の負荷が均等になるように前記クライアントを配分してサーバごとに割り当てて作成された前記クライアントの指定情報を前記負荷分散装置から受信する
ことを特徴とするサーバ。
A server that starts communication with a client and distributes the processing load performed on responses from one or more clients between two or more servers,
Load information storage means for storing own load information;
Client list storage means for storing designation information of clients to be communicated with;
The load information is acquired from the load information storage means by the load balancer and the load information is monitored. Based on the load information, the clients are distributed so that the load between the servers is equalized, The server characterized by receiving the designation information of the client created by assignment from the load balancer.
クライアントに対して通信を開始し、一又は二以上のクライアントからのレスポンスに対して行う処理の負荷が二以上のサーバ間で分散されるサーバであって、
自己の負荷情報を記憶する負荷情報記憶手段と、
自己が通信すべきクライアントの指定情報を記憶するクライアントリスト記憶手段と、
自己以外の他のサーバにおける負荷情報記憶手段から負荷情報を受信し、前記他のサーバの負荷情報と前記自己の負荷情報とを比較して、負荷の差が所定以上である場合に、これらのサーバ間の負荷が均等になるように、負荷の高いサーバにおけるクライアントリスト記憶手段から負荷の低いサーバのクライアントリスト記憶手段へ、クライアントの指定情報の一部を移動させる負荷監視手段と、を備えた
ことを特徴とするサーバ。
A server that starts communication with a client and distributes the processing load performed on responses from one or more clients between two or more servers,
Load information storage means for storing own load information;
Client list storage means for storing designation information of clients to be communicated with;
When load information is received from load information storage means in a server other than the self, the load information of the other server is compared with the load information of the self, and when the load difference is a predetermined value or more, these Load monitoring means for moving a part of the specified information of the client from the client list storage means in the high load server to the client list storage means in the low load server so that the load between the servers is equalized A server characterized by that.
サーバ側からクライアントに対して通信を開始し、一又は二以上のクライアントからのレスポンスに対して処理を行うサーバの負荷を、負荷分散装置により二以上のサーバに分散させる負荷分散プログラムであって、
前記負荷分散装置を、
前記サーバが通信する全てのクライアント情報を記憶する全クライアントリスト記憶手段、
前記サーバから負荷情報を受信して、前記負荷情報を監視するとともに、当該負荷情報にもとづいて、前記サーバ間の負荷が均等になるように前記全てのクライアントを配分してサーバごとに割り当てるクライアントの指定情報を作成し、この指定情報を対応するサーバに送信する負荷監視手段
として機能させる負荷分散プログラム。
A load distribution program that starts communication with a client from the server side, and distributes the load of the server that processes the response from one or more clients to two or more servers by a load distribution device,
The load balancer;
All client list storage means for storing all client information with which the server communicates;
The client receives load information from the server, monitors the load information, and distributes all the clients so that the load among the servers is equal based on the load information. A load balancing program that creates specified information and functions as a load monitoring means to send this specified information to the corresponding server.
前記負荷分散装置を、
前記サーバから前記クライアントへのリクエストを仲介して受信し、当該リクエストの送信元アドレスを前記サーバのアドレスから仮想代表サーバのアドレスに変換するとともに、前記サーバのアドレスと前記クライアントのアドレスの対応付け情報をアドレス変換テーブルに記憶させ、前記クライアントから前記サーバへの前記レスポンスを仲介して受信し、前記アドレス変換テーブルを前記クライアントのアドレスにもとづき検索して前記サーバのアドレスを取得し、前記レスポンスの送信先アドレスを前記仮想代表サーバのアドレスから前記サーバのアドレスに変換するアドレス変換手段、
前記サーバのアドレスと前記クライアントのアドレスの対応付け情報を記憶する前記アドレス変換テーブル
として機能させる請求項9記載の負荷分散プログラム。
The load balancer;
Receives a request from the server to the client, converts the request source address from the server address to the virtual representative server address, and associates the server address with the client address. Is stored in an address conversion table, and the response from the client to the server is received and received, the address conversion table is searched based on the address of the client, the address of the server is acquired, and the response is transmitted. Address conversion means for converting the destination address from the address of the virtual representative server to the address of the server;
The load distribution program according to claim 9, wherein the load distribution program functions as the address conversion table that stores association information between the server address and the client address.
クライアントに対して通信を開始し、一又は二以上のクライアントからのレスポンスに対して行う処理の負荷を、二以上のサーバに分散させる負荷分散プログラムであって、
前記サーバを、
自己の負荷情報を記憶する負荷情報記憶手段、
自己が通信すべきクライアントの指定情報を記憶するクライアントリスト記憶手段、として機能させるとともに、
前記サーバに、負荷分散装置により前記負荷情報記憶手段から前記負荷情報を受信させて負荷情報の監視を受けさせ、当該負荷情報にもとづいて、前記サーバ間の負荷が均等になるように前記クライアントを配分してサーバごとに割り当てて作成された前記クライアントの指定情報を前記負荷分散装置から受信させる
ことを特徴とする負荷分散プログラム。
A load distribution program that starts communication with a client and distributes the processing load performed on responses from one or more clients to two or more servers.
The server,
Load information storage means for storing own load information;
While functioning as a client list storage means for storing designation information of clients to be communicated with,
The server is caused to receive the load information from the load information storage means by the load balancer and to monitor the load information, and based on the load information, the client is arranged so that the load between the servers is equalized. A load distribution program characterized by causing the client distribution information to be received and distributed from the load distribution apparatus.
クライアントに対して通信を開始し、一又は二以上のクライアントからのレスポンスに対して行う処理の負荷を、二以上のサーバに分散させる負荷分散プログラムであって、
前記サーバを、
自己の負荷情報を記憶する負荷情報記憶手段、
自己が通信すべきクライアントの指定情報を記憶するクライアントリスト記憶手段、
自己以外の他のサーバにおける負荷情報記憶手段から負荷情報を受信し、前記他のサーバの負荷情報と前記自己の負荷情報とを比較して、負荷の差が所定以上である場合に、これらのサーバ間の負荷が均等になるように、負荷の高いサーバにおけるクライアントリスト記憶手段から負荷の低いサーバのクライアントリスト記憶手段へ、クライアントの指定情報の一部を移動させる負荷監視手段
として機能させる負荷分散プログラム。
A load distribution program that starts communication with a client and distributes the processing load performed on responses from one or more clients to two or more servers.
The server,
Load information storage means for storing own load information;
Client list storage means for storing designation information of clients to which the self should communicate;
When load information is received from load information storage means in a server other than the self, the load information of the other server is compared with the load information of the self, and when the load difference is a predetermined value or more, these Load distribution that functions as a load monitoring unit that moves part of the client's specified information from the client list storage unit in the high load server to the client list storage unit in the low load server so that the load between servers is equal program.
サーバ側からクライアントに対して通信を開始し、一又は二以上のクライアントからのレスポンスに対して処理を行うサーバの負荷を二以上のサーバに分散する負荷分散方法であって、
前記サーバが、自己の負荷情報を負荷情報記憶手段に記憶させ、
負荷分散装置が、前記サーバから前記負荷情報を受信して、前記負荷情報を監視するとともに、当該負荷情報にもとづいて、前記サーバ間の負荷が均等になるように前記クライアントを配分してサーバごとに割り当てるクライアントの指定情報を作成し、この指定情報を対応するサーバに送信し、
前記サーバが、前記負荷分散装置から送信されてきた当該サーバが通信すべき前記クライアントの指定情報をクライアントリスト記憶手段に記憶して、このクライアントリスト記憶手段に記憶された指定情報に係るクライアントにリクエストを送信し、
前記クライアントが、前記サーバから送信されてきたリクエストに対し、当該サーバにレスポンスを送信し、
前記サーバが、前記クライアントから送信されてきたレスポンスに対応する処理を実行して、自己の負荷情報を前記負荷分散装置に記憶させる
ことを特徴とする負荷分散方法。
A load balancing method for starting communication with a client from a server side and distributing a load of a server that performs processing on a response from one or more clients to two or more servers,
The server stores its own load information in the load information storage means,
A load balancer receives the load information from the server, monitors the load information, and distributes the clients to equalize the load among the servers based on the load information. Create the specified information of the client to be assigned to, send this specified information to the corresponding server,
The server stores in the client list storage means the designation information of the client to be communicated by the server transmitted from the load balancer, and requests the client according to the designation information stored in the client list storage means. Send
In response to the request sent from the server, the client sends a response to the server,
The load distribution method, wherein the server executes processing corresponding to a response transmitted from the client, and stores its own load information in the load distribution apparatus.
前記負荷分散装置が、前記サーバから前記クライアントへの前記リクエストを仲介して受信し、当該リクエストの送信元アドレスを前記サーバのアドレスから仮想代表サーバのアドレスに変換して、当該リクエストを前記クライアントへ送信するとともに、前記サーバのアドレスと前記クライアントのアドレスの対応付け情報をアドレス変換テーブルに記憶させ、
前記クライアントが、前記サーバから送信されてきたリクエストに対し、当該サーバへのレスポンスを送信し、
前記負荷分散装置が、前記クライアントから前記サーバへの前記レスポンスを仲介して受信し、前記アドレス変換テーブルを前記クライアントのアドレスにもとづき検索して前記サーバのアドレスを取得し、前記レスポンスの送信先アドレスを前記仮想代表サーバのアドレスから前記サーバのアドレスに変換して、当該レスポンスを前記サーバへ送信する
ことを特徴とする請求項13記載の負荷分散方法。
The load balancer receives the request from the server to the client as an intermediary, converts the source address of the request from the server address to the virtual representative server address, and sends the request to the client. And sending the address conversion table to store the address information of the server and the client address,
In response to the request sent from the server, the client sends a response to the server,
The load balancer receives the response from the client to the server as an intermediary, searches the address conversion table based on the address of the client to obtain the address of the server, and sends the response destination address The load distribution method according to claim 13, wherein the address is converted from the address of the virtual representative server to the address of the server, and the response is transmitted to the server.
サーバ側からクライアントに対して通信を開始し、一又は二以上のクライアントからのレスポンスに対して処理を行うサーバの負荷を二以上のサーバに分散する負荷分散方法であって、
前記サーバが、自己の負荷情報を負荷情報記憶手段に記憶させるとともに、自己が通信すべきクライアントの指定情報をクライアントリスト記憶手段に記憶させ、自己以外の他のサーバにおける負荷情報記憶手段から負荷情報を受信し、前記他のサーバの負荷情報と前記自己の負荷情報とを比較して、負荷の差が所定以上である場合に、これらのサーバ間の負荷が均等になるように、負荷の高いサーバにおけるクライアントリスト記憶手段から負荷の低いサーバのクライアントリスト記憶手段へ、クライアントの指定情報の一部を移動させ、前記クライアントリスト記憶手段に記憶された指定情報に係るクライアントにリクエストを送信し、
前記クライアントが、前記サーバから送信されてきたリクエストに対し、当該サーバにレスポンスを送信し、
前記サーバが、前記クライアントから送信されてきたレスポンスに対応する処理を実行して、自己の負荷情報を前記負荷分散装置に記憶させる
ことを特徴とする負荷分散方法。
A load balancing method for starting communication with a client from a server side and distributing a load of a server that performs processing on a response from one or more clients to two or more servers,
The server stores its own load information in the load information storage means, and also stores client designation information to be communicated in the client list storage means, and loads the load information from the load information storage means in another server other than itself. The load information of the other servers and the load information of the self are compared, and when the load difference is greater than or equal to a predetermined value, the load is high so that the load between these servers is equalized. Move a part of the client designation information from the client list storage means in the server to the client list storage means in the low load server, and send a request to the client related to the designation information stored in the client list storage means,
In response to the request sent from the server, the client sends a response to the server,
The load distribution method, wherein the server executes processing corresponding to a response transmitted from the client, and stores its own load information in the load distribution apparatus.
JP2005020614A 2005-01-28 2005-01-28 Load distribution system, load distribution device, server, load distribution program and load distribution method Pending JP2006209465A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005020614A JP2006209465A (en) 2005-01-28 2005-01-28 Load distribution system, load distribution device, server, load distribution program and load distribution method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005020614A JP2006209465A (en) 2005-01-28 2005-01-28 Load distribution system, load distribution device, server, load distribution program and load distribution method

Publications (1)

Publication Number Publication Date
JP2006209465A true JP2006209465A (en) 2006-08-10

Family

ID=36966258

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005020614A Pending JP2006209465A (en) 2005-01-28 2005-01-28 Load distribution system, load distribution device, server, load distribution program and load distribution method

Country Status (1)

Country Link
JP (1) JP2006209465A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013090072A (en) * 2011-10-17 2013-05-13 Hitachi Ltd Service provision system
JP2015073314A (en) * 2014-12-01 2015-04-16 株式会社日立製作所 Server device group and network system
WO2016056156A1 (en) * 2014-10-07 2016-04-14 日本電気株式会社 Communication-grouping system, control device, processing-load control method, and non-temporary computer-readable medium for storing program
JP2017156791A (en) * 2016-02-29 2017-09-07 日本電信電話株式会社 User accommodation management system and method

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013090072A (en) * 2011-10-17 2013-05-13 Hitachi Ltd Service provision system
US9071612B2 (en) 2011-10-17 2015-06-30 Hitachi, Ltd. Service providing system
WO2016056156A1 (en) * 2014-10-07 2016-04-14 日本電気株式会社 Communication-grouping system, control device, processing-load control method, and non-temporary computer-readable medium for storing program
JPWO2016056156A1 (en) * 2014-10-07 2017-07-27 日本電気株式会社 Communication aggregation system, control device, processing load control method, and program
US10362506B2 (en) 2014-10-07 2019-07-23 Nec Corporation Communication aggregation system, control device, processing load control method and non-transitory computer readable medium storing program
JP2015073314A (en) * 2014-12-01 2015-04-16 株式会社日立製作所 Server device group and network system
JP2017156791A (en) * 2016-02-29 2017-09-07 日本電信電話株式会社 User accommodation management system and method

Similar Documents

Publication Publication Date Title
US11418620B2 (en) Service request management
JP4616159B2 (en) Cluster system, load balancer, node transfer method, and node transfer program
JP5582344B2 (en) Connection management system and connection management server linkage method in thin client system
US7562145B2 (en) Application instance level workload distribution affinities
KR20110057125A (en) Distributed load balancer
CN101171821A (en) System, network device, method, and computer program product for active load balancing using clustered nodes as authoritative domain name servers
JP2006260177A (en) Communication system, information processing system, connection server, processing server, information processing apparatus and information processing method
CN103597471A (en) Methods and systems for caching data communications over computer networks
KR20110002808A (en) Cooperative cache method and contents providing method and using request proportion apparatus
CN102447624A (en) Load balancing method in server cluster, as well as node server and cluster
US7437461B2 (en) Load balancing apparatus and method
CN111327668B (en) Network management method, device, equipment and storage medium
CN108933829A (en) A kind of load-balancing method and device
CN113014611B (en) Load balancing method and related equipment
KR20110036573A (en) Providing access over an ip network to a server application program
JP5620881B2 (en) Transaction processing system, transaction processing method, and transaction processing program
CN106027356B (en) A kind of conversion method and device of Tunnel Identifier
US20100057829A1 (en) Cross site, cross domain session sharing without database replication
JP2006209465A (en) Load distribution system, load distribution device, server, load distribution program and load distribution method
US20100030851A1 (en) Load balancer, load-balancing method, and recording medium with load-balancing program
JP2012108685A (en) Load distribution system
JP4962451B2 (en) Load balancing method and DHCP server device
KR102043031B1 (en) Server and method for load balancing of using the same
CN104519109A (en) Method and device for sharing file among multiple devices
JP2018133759A (en) Enum/dns traffic control system, load balancer, and enum/dns traffic control method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071212

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090713

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090721

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20091201