JP2008071156A - Load distribution system, method and program - Google Patents
Load distribution system, method and program Download PDFInfo
- Publication number
- JP2008071156A JP2008071156A JP2006249651A JP2006249651A JP2008071156A JP 2008071156 A JP2008071156 A JP 2008071156A JP 2006249651 A JP2006249651 A JP 2006249651A JP 2006249651 A JP2006249651 A JP 2006249651A JP 2008071156 A JP2008071156 A JP 2008071156A
- Authority
- JP
- Japan
- Prior art keywords
- load
- server
- processing
- target value
- accommodation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
本発明は、負荷分散システム、方法、及び、プログラムに関し、更に詳しくは、複数のサーバを有するネットワークシステムにおいて、サーバ負荷を分散させる負荷分散システム、方法、及び、プログラムに関する。 The present invention relates to a load distribution system, method, and program, and more particularly, to a load distribution system, method, and program for distributing server load in a network system having a plurality of servers.
クライアント−サーバ型のシステムにおいて、クライアントからの処理要求を分散させ、サーバ負荷の分散を図る負荷分散システムがある。従来の負荷分散システムの一例が、非特許文献1に記載されている。図13に、従来の負荷分散システムの構成を示す。この従来の負荷分散システム500は、複数のサーバで構成されるサーバ群501、負荷分散手段(ロードバランサ)510、及び、複数のクライアント端末で構成されるクライアント群520を有する。
In a client-server system, there is a load distribution system that distributes processing requests from clients and distributes server load. An example of a conventional load distribution system is described in
クライアント群520内のクライアント端末(520−a〜520−c)は、サーバへの処理要求を発行する。ロードバランサ510は、ネットワーク530を介して、クライアント群520からの処理要求を受け取り、受け取った処理要求を、サーバ群501内のサーバ(501−a〜501−f)の何れかに振り分ける。ロードバランサ510は、処理要求を振り分ける際には、例えば、サーバ群501内のサーバからランダムにサーバを1つ選択する。クライアントからの処理要求を受信したサーバは、処理要求に従った処理を実行する。特許文献1では、このような構成により、ロードバランサ510を用いて、特定のサーバに対して処理が集中しないように制御し、サーバ群501内で、サーバの負荷を分散させている。
Client terminals (520-a to 520-c) in the
負荷分散システムの他の例としては、非特許文献2に記載されたものがある。図14は、非特許文献2に記載された負荷分散システム(DNSラウンドロビン)の構成を示す。この負荷分散システム600では、DNSの仕組みを用いて、サーバの負荷分散を図る。クライアント群620内のクライアント端末(620−a〜620−c)は、サーバからのサービスを受けるために、ローカルDNSサーバ670に、サーバのFQDN(Fully Qualified Domain Name)に対応するIPアドレスを質問する。ローカルDNSサーバ670は、FQDNとIPアドレスとの対応関係のエントリを有している(キャッシュしている)か否かを判断し、キャッシュしていなければ、上位のDNSサーバであるDNSロードバランサ650に問い合わせを行う。
Another example of the load distribution system is described in Non-Patent Document 2. FIG. 14 shows a configuration of a load distribution system (DNS round robin) described in Non-Patent Document 2. The
DNSロードバランサ650は、各サーバ(601−a、601−b)の負荷を定期的に測定している。DNSロードバランサ650は、ローカルDNSサーバ670からIPアドレスの問い合わせを受けると、負荷が軽いサーバのIPアドレスを返答する。ローカルDNSサーバ670は、DNSロードバランサ650からIPアドレスの返答を受信すると、その応答をキャッシュして内部に保持すると共に、IPアドレスの質問を行ったクライアント端末に、IPアドレスを回答する。ローカルDNSサーバ670は、FQDNとIPアドレスとの対応関係をキャッシュしている場合には、DNSロードバランサ650への問い合わせを行わずに、クライアント端末にIPアドレスを回答する。
The DNS load balancer 650 periodically measures the load of each server (601-a, 601-b). When receiving an IP address inquiry from the
例えば、クライアント端末620−aは、サーバからのサービスを受けるために、ローカルDNSサーバ670に、FQDNに対するIPアドレスの質問を行う。ローカルDNSサーバ670は、FQDNとIPアドレスとの対応関係をキャッシュしていなければ、上位のDNSロードバランサ650に問い合わせを行う。DNSロードバランサ650は、サーバ601−aの負荷が、サーバ601−bの負荷よりも軽いときには、サーバ601−aのIPアドレスを返答する。ローカルDNSサーバ670は、回答結果をキャッシュすると共に、クライアント端末620−aに、サーバ601−aのIPアドレスを回答する。このようにすることで、クライアント端末620−aは、負荷の軽いサーバ601−aから、サービスを受けることができる。
For example, the client terminal 620-a asks the
負荷分散システムの他の例としては、特許文献1に記載されたものもある。図15は、特許文献1に記載された負荷分散(非集中型負荷分散)システムの構成を示している。負荷分散システム700は、複数のサーバ701を備え、各サーバ701が、処理要求検索部707と、位置情報解析部709と、処理要求転送部710とを備える。処理要求検索部707は、クライアント端末702内のクライアントアプリケーション703からの要求に該当するオブジェクトを検索する。その際、処理要求検索部707は、自装置(自サーバ)の負荷を参照して、自サーバでの処理が可能か否かを判断する。処理要求検索部707は、サーバ負荷が重く、処理が不可能であると判断すると、オブジェクト位置情報管理テーブルを参照して、同じ処理が実行可能なオブジェクトが存在する他のサーバを検索する。
Another example of the load balancing system is described in
処理要求転送部710は、実際に処理を行うサーバを検索するために、処理要求検索部707が検索した他のサーバに対して、処理の依頼を行う。この依頼を受けた他のサーバは、処理要求検索部707により、そのサーバでの処理が可能か否かを判断し、その結果を、依頼元のサーバに返す。処理要求転送部710は、他のサーバでの処理が可能であれば、クライアントアプリケーション703に、転送先として、他のサーバを紹介する。処理可能でない場合には、処理可能なサーバの検索を続行する。
The process
更に、負荷分散システムの他の例としては、特許文献2に記載されたものもある。図16は、特許文献2に記載された負荷分散システムの構成を示している。この負荷分散システム800は、ネットワークサービスサーバ負荷調整装置803を有する。ネットワークサービスサーバ負荷調整装置803は、分配率調整部807、分配中継部804、及び、変換テーブルvipを有する。分配中継部804は、クライアント群801からアクセス要求を受けると、受信パケットのヘッダ部にハッシュをかけ、ハッシュ値を基に変換テーブルvipを検索し、検索したサーバに、受信パケットを転送する。
Furthermore, as another example of the load distribution system, there is one described in Patent Document 2. FIG. 16 shows the configuration of the load distribution system described in Patent Document 2. The
変換テーブルvipは、サーバ群805の数よりも多い、複数のスロットルから構成されている。ネットワークサービスサーバ負荷調整装置803は、サーバ群805内の各サーバの応答時間を測定し、応答時間が短いサーバは負荷が軽いサーバと推定して、多くのスロットルを割り当てる。負荷分散システム800では、多くのスロットルを割り当てたサーバに、多くの受信パケットが転送されることになり、負荷が分散される。この場合、負荷が重いサーバから負荷が軽いサーバにスロットルを割り当てていくことで、割り当てられたサーバの負荷が重くなり、そのスロットルを再割当てするという「振動」が発生する危険性がある。そこで、特許文献2では、割当てスロットル数を徐々に小さくすることで、割当てを収束させている。
The conversion table vip is composed of a plurality of throttles, which is larger than the number of
従来技術の第1の問題点は、大容量を処理するのに限界があるという点である。その理由は、一部の装置がボトルネックとなり、その装置の性能限界が全体の性能限界になるためである。例えば、非特許文献1に記載されている従来の負荷分散システム500(図13)では、クライアントからの全ての要求がロードバランサ510を通過することになり、ロードバランサ510の性能がシステムの性能限界となる。また、非特許文献2に記載される従来の負荷分散システム600(図14)では、ローカルDNSサーバ670がシステムの性能限界となり、特許文献2に記載される従来の負荷分散システム800(図16)では、ネットワークサービスサーバ負荷調整装置803の性能がシステムの性能限界となる。
The first problem of the prior art is that there is a limit to processing a large capacity. The reason is that some devices become bottlenecks and the performance limit of the device becomes the overall performance limit. For example, in the conventional load distribution system 500 (FIG. 13) described in Non-Patent
第2の問題点は、負荷の分散の伝達が遅いという点である。例えば、非特許文献2に記載される従来の負荷分散システム600(図14)では、負荷分散情報を一部のDNSサーバで管理し、それがキャッシュされることでローカルDNSサーバ670に伝播するが、キャッシュの伝播には時間を要するため、サーバの負荷の変動に、迅速に対応することができない。
The second problem is that transmission of load distribution is slow. For example, in the conventional load distribution system 600 (FIG. 14) described in Non-Patent Document 2, load distribution information is managed by a part of DNS servers, and is propagated to the
第3の問題点は、負荷分散時アルゴリズムが収束しない可能性がある点である。例えば、特許文献1に記載されている従来の負荷分散システム700(図15)では、複数の負荷が高いサーバの中に、負荷が低いサーバが存在すると、周りの負荷が高いサーバが、負荷の低いサーバにクライアントの要求を転送することで、負荷が低かったサーバは、複数のサーバから譲り受けた負荷のために、かえって負荷が高くなる。そうすると、そのサーバが、また、他のサーバへとクライアントの要求を転送する。この繰り返しで、クライアントからの要求が転送され続けられ、処理が完了しない。また、転送作業自体にも処理コストがかかるため、本来の処理作業ではなく、転送処理によって負荷が押し上げられるという問題も生じる。
The third problem is that the load balancing algorithm may not converge. For example, in the conventional load distribution system 700 (FIG. 15) described in
第4の問題点は、特許文献2の負荷分散システム800(図16)では、負荷の振動を考慮した負荷分散を行っているが、その場合でも、必ずしもサーバ間の負荷が平準化しないという点である。その理由は、負荷分散システム800では、負荷の割当ての変更割合を徐々に減らしているが、変更割合を減らしていき、0に近づいたときに、それは複数のサーバに対等に割当てている状態である保証がないためである。
The fourth problem is that the load distribution system 800 (FIG. 16) of Patent Document 2 performs load distribution considering the vibration of the load, but even in that case, the load between servers is not necessarily equalized. It is. The reason is that, in the
本発明は、上記従来技術の問題点を解消し、ボトルネックなしに大容量の処理ができる負荷分散システム、方法、及び、プログラムを提供することを目的とする。 An object of the present invention is to provide a load distribution system, method, and program capable of solving the above-described problems of the prior art and capable of processing a large volume without bottlenecks.
本発明の他の目的は、負荷情報の遅延なしに負荷分散できる負荷分散システム、方法、及び、プログラムを提供することである。 Another object of the present invention is to provide a load distribution system, method, and program capable of load distribution without delay of load information.
本発明の他の目的は、収束の保証された負荷分散システム、方法、及び、プログラムを提供することである。 Another object of the present invention is to provide a load distribution system, method, and program with guaranteed convergence.
本発明の他の目的は、負荷分散が収束された時点において、サーバ間の負荷が平準化されていることを保証する負荷分散システム、方法、及び、プログラムを提供することである。 Another object of the present invention is to provide a load distribution system, method, and program that guarantees that the load between servers is leveled when the load distribution is converged.
上記従来技術の問題点を解消するために、本発明の負荷分散システムは、複数のサーバを有するネットワークシステムのネットワーク構成を記憶するネットワーク構成情報を参照し、負荷係数を決定する負荷係数決定手段と、他のサーバから負荷情報を取得し、自サーバの負荷、及び、他のサーバの負荷と、前記負荷係数とに基づいて、負荷目標値を設定する負荷情報交換手段と、自サーバの負荷と前記負荷目標値とを比較し、自サーバの負荷が前記負荷目標値以下のとき、クライアントからの処理要求に対する処理を自サーバ内で実行させ、自サーバの負荷が前記負荷目標値を超えるとき、前記処理要求に対応する処理を、前記他のサーバで実行させる負荷融通手段とを備えることを特徴とする。 In order to solve the above-described problems of the prior art, a load distribution system according to the present invention includes load coefficient determination means for determining a load coefficient with reference to network configuration information storing a network configuration of a network system having a plurality of servers. Load information exchange means for obtaining load information from another server, setting a load target value based on the load of the own server, the load of the other server, and the load coefficient; and the load of the own server; Compared with the load target value, when the load of the own server is less than or equal to the load target value, the processing for the processing request from the client is executed in the own server, and when the load of the own server exceeds the load target value, Load accommodation means for causing the other server to execute processing corresponding to the processing request.
本発明の負荷分散方法は、複数のサーバを有するネットワークシステムで、サーバの負荷を分散させる方法であって、前記サーバが、前記ネットワークシステムのネットワーク構成を記憶するネットワーク構成情報を参照し、負荷係数を決定する負荷係数決定ステップと、前記サーバが、他のサーバとの間で負荷情報を交換し、自サーバの負荷、及び、他のサーバの負荷と、前記負荷係数とに基づいて、負荷目標値を設定する負荷目標値設定ステップと、前記サーバが、自サーバの負荷と前記負荷目標値とを比較し、クライアントからの処理要求に対する処理を、自サーバで実行するか、又は、前記他のサーバに実行させるかを決定する処理サーバ決定ステップとを有し、前記サーバが、前記処理サーバ決定ステップで、自サーバで実行すると決定すると、前記処理を自サーバ内で実行し、他のサーバに実行させると決定すると、前記処理を、前記他のサーバで実行させることを特徴とする。 The load distribution method of the present invention is a method of distributing a load of a server in a network system having a plurality of servers, wherein the server refers to network configuration information storing a network configuration of the network system, and a load coefficient A load coefficient determination step for determining the load target, and the server exchanges load information with another server, and the load target is determined based on the load of the own server, the load of the other server, and the load coefficient. A load target value setting step for setting a value; and the server compares the load of the server with the load target value, and executes a process for a processing request from a client on the server, or the other A processing server determining step for determining whether to execute the server, and the server executes the server at the processing server determining step. When determining, the processing executed in the local server, upon determining that is executed by the other server, the process is characterized in that is executed by the other server.
本発明のプログラムは、複数のサーバを有するネットワークシステムで、サーバの負荷を分散させる処理を前記サーバに実行させるプログラムあって、前記サーバに、前記ネットワークシステムのネットワーク構成を記憶するネットワーク構成情報を参照し、負荷係数を決定する負荷係数決定ステップと、他のサーバとの間で負荷情報を交換し、自サーバの負荷、及び、他のサーバの負荷と、前記負荷係数とに基づいて、負荷目標値を設定する負荷目標値設定ステップと、自サーバの負荷と前記負荷目標値とを比較し、クライアントからの処理要求に対する処理を、自サーバで実行するか、又は、前記他のサーバに実行させるかを決定する処理サーバ決定ステップとを実行させ、前記処理サーバ決定ステップで、自サーバで実行すると決定すると、前記処理を自サーバ内で実行し、他のサーバに実行させると決定すると、前記処理を、前記他のサーバで実行させることを特徴とする。 The program according to the present invention is a network system having a plurality of servers, and causes the server to execute a process of distributing the load on the server. The server refers to the network configuration information that stores the network configuration of the network system. A load factor determination step for determining a load factor, load information is exchanged with another server, a load target based on the load of the own server, the load of the other server, and the load factor The load target value setting step for setting the value, the load of the own server and the load target value are compared, and the processing for the processing request from the client is executed by the own server or is executed by the other server A processing server determination step for determining whether or not to execute on the own server in the processing server determination step. When, the processing executed in the local server, upon determining that is executed by the other server, the process is characterized in that is executed by the other server.
本発明の負荷分散システム、方法、及び、プログラムでは、ネットワーク構成に基づいて負荷移管量を決定するための負荷係数を決定し、決定した負荷係数と、自サーバ及び他サーバの負荷とに基づいて、負荷目標値を決定する。自サーバの負荷が、負荷目標値よりも高ければ、クライアントからの処理要求に対する処理を他のサーバで実行させてその他のサーバに負荷を移管し、負荷目標値以下であれば、自サーバ内で処理を実行する。本発明では、負荷係数を、ネットワーク構成に基づいて決定し、その負荷係数を用いて、負荷移管を繰り返していったときに各サーバの負荷が同程度の負荷に収束するように負荷目標値を設定することで、負荷が収束し、かつ、サーバ間の負荷を平準化した負荷分散を実現できる。また、その際、処理要求が特定の装置に集中することがないため、ボトルネックなしに大容量の処理が実現できる。 In the load distribution system, method, and program of the present invention, the load coefficient for determining the load transfer amount is determined based on the network configuration, and based on the determined load coefficient and the loads of the own server and other servers. Determine the load target value. If the load on the local server is higher than the load target value, the processing for the processing request from the client is executed on the other server and the load is transferred to the other server. Execute the process. In the present invention, the load coefficient is determined based on the network configuration, and when the load transfer is repeated, the load target value is set so that the load of each server converges to a similar load. By setting, it is possible to achieve load distribution in which the load converges and the load between servers is leveled. In this case, since processing requests are not concentrated on a specific device, a large-capacity processing can be realized without a bottleneck.
本発明の負荷分散システムでは、前記負荷情報交換手段は、前記自サーバの負荷から、該自サーバの負荷と他のサーバの負荷との差に前記負荷係数を乗じた値を引いた値を、前記負荷目標値として設定する構成を採用できる。負荷目標値は、具体的にはこのような計算により設定すればよい。 In the load distribution system of the present invention, the load information exchanging means subtracts a value obtained by multiplying the load of the own server by a value obtained by multiplying the difference between the load of the own server and the load of another server by the load coefficient. A configuration in which the load target value is set can be adopted. Specifically, the load target value may be set by such calculation.
本発明の負荷分散システムでは、前記負荷情報交換手段は、前記自サーバの負荷と他のサーバの負荷との比が所定のしきい値を超えると判断すると、負荷融通を行うか否かを示す状態フラグを「負荷融通状態」に設定して前記負荷目標値の設定を行い、前記負荷融通手段は、前記状態フラグが「負荷融通状態」のとき、前記自サーバの負荷と前記負荷目標値との比較を行う構成を採用できる。この場合、負荷情報交換手段は、自サーバの負荷が他サーバの負荷よりも高く、かつ、その比率が所定のしきい値を超えるときに、負荷目標値の設定を行い、状態フラグを「負荷融通状態」に設定して、サーバ状態をサーバ間で負荷を融通する状態に移行させる。負荷融通手段は、クライアントからの処理要求を受けた際に、状態フラグが「負荷融通状態」であるときには、自サーバの負荷と負荷目標値との比較を行い、そのクライアントからの処理要求に対応する処理を、自サーバで行うか、又は、他サーバで行うかを決定する。このような処理により、負荷分散を実現できる。 In the load distribution system of the present invention, the load information exchanging means indicates whether or not to perform load accommodation when it is determined that the ratio of the load of the local server to the load of another server exceeds a predetermined threshold value. The load target value is set by setting a state flag to “load accommodation state”, and when the state flag is “load accommodation state”, the load accommodation unit sets the load of the server itself and the load target value. It is possible to adopt a configuration for comparing the above. In this case, the load information exchanging means sets the load target value when the load of the own server is higher than the load of the other server and the ratio exceeds a predetermined threshold, and sets the status flag to “load It is set to “accommodating state”, and the server state is shifted to a state in which the load is accommodated between servers. The load accommodation means, when receiving a processing request from a client, compares the load of the local server with the load target value and responds to the processing request from the client when the status flag is “load accommodation state”. It is determined whether the processing to be performed is performed by the own server or another server. With such processing, load distribution can be realized.
本発明の負荷分散システムでは、前記負荷融通手段は、前記比較の結果、前記自サーバの負荷が前記負荷目標値以下であると、前記状態フラグを、負荷融通を行わない状態を示す「通常状態」に設定する構成を採用できる。負荷融通手段が自サーバの負荷と負荷目標値との比較を行った結果、自サーバの負荷が負荷目標値以下であれば、クライアントからの処理要求に対する処理は自サーバで行うと決定するので、負荷融通は行われない。そのような場合には、状態フラグを「通常状態」に設定して、「負荷融通状態」を解除すればよい。 In the load distribution system of the present invention, the load accommodation means indicates that the state flag indicates a state in which load accommodation is not performed when the load of the local server is equal to or less than the load target value as a result of the comparison. Can be adopted. As a result of the load accommodation means comparing the load of the own server and the load target value, if the load of the own server is equal to or less than the load target value, it is determined that the processing for the processing request from the client is performed by the own server. There is no load accommodation. In such a case, the state flag may be set to “normal state” to cancel the “load accommodation state”.
本発明の負荷分散システムでは、前記負荷情報交換手段は、前記状態フラグが「負荷融通状態」でないとき、前記他のサーバから負荷情報を取得する構成を採用できる。サーバ状態が「負荷融通状態」でないときには、負荷情報交換手段によって、定期的に他サーバから負荷情報を取得し、取得した他サーバの負荷と自サーバの負荷とを比較する。比較の結果、負荷の比がしきい値を超えるときには、自サーバの負荷及び他サーバの負荷と、負荷係数とに基づいて負荷目標値を設定する。このようにすることで、負荷情報の遅延なしに他サーバの負荷を取得することができ、その他サーバの負荷に基づいて負荷目標値を設定することができる。 In the load distribution system of the present invention, the load information exchanging means may adopt a configuration for acquiring load information from the other server when the state flag is not “load accommodation state”. When the server state is not the “load accommodation state”, the load information exchanging unit periodically acquires load information from another server, and compares the acquired load of the other server with the load of the own server. As a result of the comparison, when the load ratio exceeds the threshold value, the load target value is set based on the load of the local server, the load of the other server, and the load coefficient. By doing in this way, the load of other servers can be acquired without delay of load information, and a load target value can be set based on the load of other servers.
本発明の負荷分散システムでは、前記負荷情報交換手段は、前記状態フラグを「負荷融通状態」に設定すると、前記他のサーバを指し示す情報を移管先サーバ記憶部に格納し、前記負荷融通手段は、自サーバの負荷が前記負荷目標値を超えるとき、前記移管先サーバ記憶部を参照して、前記処理要求に対する処理を、該移管先サーバ記憶部に格納されたサーバで実行させる構成を採用できる。 In the load distribution system of the present invention, the load information exchanging means stores the information indicating the other server in the transfer destination server storage unit when the status flag is set to “load accommodating state”, and the load accommodating means When the load of the own server exceeds the load target value, it is possible to refer to the transfer destination server storage unit and execute a process for the processing request on the server stored in the transfer destination server storage unit. .
本発明の負荷分散システムでは、前記負荷情報交換手段は、前記自サーバの負荷と他のサーバの負荷との比が所定のしきい値を超えると判断すると、前記他のサーバに負荷融通が可能か否かを問い合わせる負荷融通要求を送信し、該要求に対して許諾する旨の応答を受信すると、前記状態フラグを「負荷融通状態」に設定すると共に、当該他のサーバを示す情報を前記移管先サーバ記憶部に格納する構成を採用できる。また、前記負荷情報交換手段は、他のサーバから、前記負荷融通要求を受信すると、自サーバの負荷情報を参照して許諾するか否かを決定し、許諾するときには許諾応答を、拒否するときには拒否応答を返信する構成を採用できる。負荷の移管先のサーバは、負荷移管を行うサーバよりも負荷は低いが、例えばその後負荷上昇が見込まれる場合など、負荷を受け入れることが不適当な場合もある。そこで、事前に負荷融通要求を送信して、他のサーバに対して負荷の受入れが可能か否かの問い合わせを行う。負荷融通要求を受信した他のサーバは、負荷情報などに基づいて、負荷融通要求を許諾するか否かを決定する。負荷融通要求の発行元のサーバは、負荷融通要求に対して許諾する旨の応答が得られると、許諾応答を送信した他のサーバは、負荷移管先サーバとして記憶する。このようにすることで、相手先の状況に合わせた負荷分散が可能となる。 In the load distribution system of the present invention, when the load information exchanging means determines that the ratio of the load of the local server to the load of the other server exceeds a predetermined threshold, the load can be accommodated to the other server. When transmitting a load accommodation request for inquiring whether or not, and receiving a response for granting the request, the status flag is set to “load accommodation state” and information indicating the other server is transferred A configuration of storing in the destination server storage unit can be adopted. Further, when the load information exchanging means receives the load accommodation request from another server, the load information exchanging means determines whether or not to grant the permission by referring to the load information of the own server. A configuration for returning a rejection response can be employed. The load transfer destination server has a lower load than the load transfer server, but it may be inappropriate to accept the load, for example, when a load increase is expected thereafter. Therefore, a load accommodation request is transmitted in advance, and an inquiry is made to other servers as to whether or not the load can be accepted. The other server that has received the load accommodation request determines whether or not to grant the load accommodation request based on the load information or the like. When the server that issued the load accommodation request obtains a response for granting the license to the load accommodation request, the other server that has transmitted the authorization response stores it as a load transfer destination server. By doing in this way, load distribution according to the situation of the other party becomes possible.
本発明の負荷分散システムでは、前記負荷融通手段は、自サーバの負荷が前記負荷目標値を超えるとき、前記処理要求に対して、他のサーバをリダイレクト先とするリダイレクト応答をクライアントに送信し、前記処理要求に対する処理を他のサーバで実行させる構成を採用できる。この場合、クライアントは、リダイレクト応答を受け取った後に、リダイレクト先のサーバに処理要求を送信することで、そのリダイレクトサーバから処理応答を得ることができる。 In the load distribution system of the present invention, when the load of the own server exceeds the load target value, the load accommodation unit transmits a redirect response with another server as a redirect destination to the client in response to the processing request, A configuration in which processing for the processing request is executed by another server can be employed. In this case, after receiving the redirect response, the client can obtain a processing response from the redirect server by transmitting a processing request to the redirect destination server.
本発明の負荷分散システムでは、前記負荷融通手段は、自サーバの負荷が前記負荷目標値以下であるとき、ディスパッチ手段により前記処理要求に対応するアプリケーションを起動し、該アプリケーションの処理結果を、前記クライアントに対する応答として送信する構成を採用できる。 In the load distribution system of the present invention, when the load of the own server is equal to or less than the load target value, the load accommodation unit activates an application corresponding to the processing request by a dispatch unit, and displays the processing result of the application as the processing result. It is possible to adopt a configuration for transmitting as a response to the client.
本発明の負荷分散システムでは、前記負荷係数決定手段は、前記ネットワーク構成情報に基づいて、行及び列を各サーバに対応させ、サーバ間で接続間関係にあるサーバに対応する要素を−1、接続関係にないサーバに対応する要素を0、対角要素をその行に対応するサーバに接続されたサーバの数とする接続行列Aを作成し、該作成した接続行列Aに対して、lを変数とし、Eを単位行列としてG=(−lA+E)の固有値k(l)を求め、全ての固有値k(l)が−1より大きく1以下となる0<l<1のうちのlの最大値を求め、該lの最大値を、負荷係数として決定する構成を採用できる。接続行列Aをこのように作成し、G=(−lA+E)に対して、行列Gの全ての固有値が−1より大きく、かつ、1より小さくなるlを選ぶことで、負荷融通を繰り返していった際に、各サーバの負荷を収束させることができる。また、行列Gの固有値のうちの1つは「1」であることがわかっており、その固有ベクトルは
本発明の負荷分散方法及びプログラムは、前記処理サーバ決定ステップでは、自サーバの負荷と前記負荷目標値とを比較し、自サーバの負荷が前記負荷目標値以下であれば、前記処理を自サーバ内で実行すると決定し、自サーバの負荷が前記目標値を超えるときには、前記他のサーバに実行させると決定する構成を採用できる。 In the load distribution method and program of the present invention, in the processing server determination step, the load of the own server is compared with the load target value, and if the load of the own server is equal to or less than the load target value, the process is performed. It is possible to adopt a configuration in which it is determined that the other server is to execute when the load of the own server exceeds the target value.
本発明の負荷分散方法及びプログラムは、前記負荷目標値設定ステップでは、前記自サーバの負荷から、該自サーバの負荷と他のサーバの負荷との差に前記負荷係数を乗じた値を引いた値を、前記負荷目標値として設定する構成を採用できる。 In the load distribution method and program according to the present invention, in the load target value setting step, a value obtained by multiplying a difference between the load of the local server and the load of another server by the load coefficient is subtracted from the load of the local server. A configuration in which a value is set as the load target value can be employed.
本発明の負荷分散方法及びプログラムは、前記負荷目標値設定ステップでは、前記自サーバの負荷と他のサーバの負荷との比が所定のしきい値を超えると判断すると、負荷融通を行うか否かを示す状態フラグを「負荷融通状態」に設定して、前記負荷目標値の設定を行い、前記処理要求を受け付けると、前記状態フラグを参照し、該状態フラグが「負荷融通状態」であれば、前記処理サーバ決定ステップを実行する構成を採用できる。 In the load distribution method and program of the present invention, in the load target value setting step, if it is determined that the ratio of the load of the own server and the load of the other server exceeds a predetermined threshold, whether or not to perform load accommodation Is set to “load accommodation state”, the load target value is set, and when the processing request is received, the state flag is referred to and the state flag is “load accommodation state”. For example, a configuration for executing the processing server determination step can be adopted.
本発明の負荷分散方法及びプログラムは、前記処理サーバ決定ステップでは、前記処理要求に対する処理を自サーバで実行すると決定すると、前記状態フラグを、負荷融通を行わない状態を示す「通常状態」に設定する構成を採用できる。 In the load distribution method and program of the present invention, in the processing server determination step, when it is determined that the processing for the processing request is executed by the own server, the state flag is set to “normal state” indicating a state in which load accommodation is not performed. Can be adopted.
本発明の負荷分散方法及びプログラムは、前記負荷目標値設定ステップでは、前記状態フラグを「負荷融通状態」に設定すると、前記他のサーバを指し示す情報を移管先サーバ記憶部に格納する構成を採用できる。 The load distribution method and the program according to the present invention adopt a configuration in which, in the load target value setting step, when the state flag is set to “load accommodation state”, information indicating the other server is stored in the transfer destination server storage unit. it can.
本発明の負荷分散方法及びプログラムでは、前記サーバが前記処理要求に対する処理を他のサーバに実行させると決定すると、前記移管先サーバ記憶部を参照して、該移管先サーバ記憶部に格納されたサーバに、前記処理を実行させる構成を採用できる。 In the load distribution method and program according to the present invention, when the server determines that another server is to execute processing for the processing request, the server is stored in the transfer destination server storage unit with reference to the transfer destination server storage unit. A configuration in which the server executes the process can be adopted.
本発明の負荷分散方法及びプログラムは、前記負荷目標値設定ステップでは、前記自サーバの負荷と他のサーバの負荷との比が所定のしきい値を超えると判断すると、前記他のサーバに負荷融通が可能か否かを問い合わせる負荷融通要求を送信し、該要求に対して許諾する旨の応答を受信すると、前記状態フラグを「負荷融通状態」に設定し、当該他のサーバを示す情報を前記移管先サーバ記憶部に格納して、前記負荷目標値を設定する構成を採用できる。 In the load distribution method and program according to the present invention, in the load target value setting step, if it is determined that the ratio of the load of the local server to the load of the other server exceeds a predetermined threshold value, the load is distributed to the other server. When a load accommodation request for inquiring whether or not accommodation is possible is transmitted and a response indicating that the request is granted is received, the status flag is set to “load accommodation state” and information indicating the other server is set. A configuration in which the load target value is set by storing in the transfer destination server storage unit can be adopted.
本発明の負荷分散方法及びプログラムでは、前記サーバが他のサーバから、前記負荷融通要求を受信すると、自サーバの負荷情報を参照して許諾するか否かを決定し、許諾するときには許諾応答を、拒否するときには拒否応答を返信する構成を採用できる。 In the load distribution method and program according to the present invention, when the server receives the load accommodation request from another server, the server determines whether or not to grant the license by referring to the load information of the own server. When rejecting, a configuration in which a rejection response is returned can be adopted.
本発明の負荷分散方法及びプログラムでは、前記処理サーバ決定ステップで、他のサーバに実行させると決定すると、前記処理要求に対して、他のサーバをリダイレクト先とするリダイレクト応答をクライアントに送信し、前記処理要求に対する処理を他のサーバで実行させる構成を採用できる。 In the load distribution method and program of the present invention, when it is determined in the processing server determination step that another server is to execute, a redirect response with the other server as a redirect destination is transmitted to the client in response to the processing request, A configuration in which processing for the processing request is executed by another server can be employed.
本発明の負荷分散方法及びプログラムでは、前記処理サーバ決定ステップで、自サーバで実行すると決定すると、ディスパッチ手段により前記処理要求に対応するアプリケーションを起動し、該アプリケーションの処理結果を、前記クライアントに対する応答として送信する構成を採用できる。 In the load distribution method and program according to the present invention, when it is determined in the processing server determination step that the server itself is executed, the application corresponding to the processing request is started by dispatch means, and the processing result of the application is returned to the client. The structure which transmits as can be employ | adopted.
本発明の負荷分散方法及びプログラムは、前記負荷係数決定ステップでは、前記サーバは、前記ネットワーク構成情報に基づいて、行及び列を各サーバに対応させ、サーバ間で接続間関係にあるサーバに対応する要素を−1、接続関係にないサーバに対応する要素を0、対角要素をその行に対応するサーバに接続されたサーバの数とする接続行列Aを作成し、該作成した接続行列Aに対して、lを変数とし、Eを単位行列としてG=(−lA+E)の固有値k(l)を求め、全ての固有値k(l)が−1より大きく1以下となる0<l<1のうちのlの最大値を求め、該lの最大値を、負荷係数として決定する構成を採用できる。 In the load distribution method and program according to the present invention, in the load coefficient determination step, the server corresponds to each server with a row and a column based on the network configuration information, and corresponds to a server having a connection relationship between servers. The connection matrix A is created with the element to be −1, the element corresponding to the server that is not connected to 0 as the number of servers connected to the server corresponding to the row as the diagonal element, and the created connection matrix A On the other hand, with e as a variable and E as a unit matrix, eigenvalues k (l) of G = (− 1A + E) are obtained, and all eigenvalues k (l) are greater than −1 and less than or equal to 1 <0 <l <1 The maximum value of l can be obtained, and the maximum value of l can be determined as a load coefficient.
本発明の負荷分散システム、方法、及び、プログラムでは、ネットワーク構成に基づいて負荷移管量を決定するための負荷係数を決定し、決定した負荷係数と、自サーバ及び他サーバの負荷とに基づいて、負荷目標値を決定する。自サーバの負荷が、負荷目標値よりも高ければ、クライアントからの処理要求に対する処理を他のサーバで実行させ、負荷目標値以下であれば、自サーバ内で処理を実行する。本発明では、負荷係数を、ネットワーク構成に基づいて決定し、その負荷係数を用いて、負荷移管を繰り返していったときに各サーバの負荷が同程度の負荷に収束するように負荷目標値を設定することで、負荷が収束し、かつ、サーバ間の負荷を平準化した負荷分散を実現できる。また、その際、処理要求が特定の装置に集中することがないため、ボトルネックとなる装置が存在せず、大容量の処理が実現できる。 In the load distribution system, method, and program of the present invention, the load coefficient for determining the load transfer amount is determined based on the network configuration, and based on the determined load coefficient and the loads of the own server and other servers. Determine the load target value. If the load of the own server is higher than the load target value, the process for the processing request from the client is executed by another server, and if the load is equal to or less than the load target value, the process is executed in the own server. In the present invention, the load coefficient is determined based on the network configuration, and when the load transfer is repeated, the load target value is set so that the load of each server converges to a similar load. By setting, it is possible to achieve load distribution in which the load converges and the load between servers is leveled. In this case, since processing requests are not concentrated on a specific device, there is no bottleneck device, and a large-capacity processing can be realized.
以下、図面を参照し、本発明の実施の形態を詳細に説明する。図1は、本発明の第1実施形態の負荷分散システムの構成を示している。負荷分散システム100は、ネットワーク310を介して相互に接続された複数のサーバ200を有する。サーバ200は、プログラム制御により動作する中央処理装置(CPU)240、トランスポートスタック230、負荷融通手段220、ディスパッチ手段210、アプリケーション群300、負荷計測手段290、負荷情報交換手段280、及び、負荷係数決定手段260を有する。また、負荷目標値330、移管先サーバ名335、状態フラグ340、融通しきい値270、負荷係数285、及び、ネットワーク構成情報250を記憶するレジスタ等の記憶手段を有する。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. FIG. 1 shows the configuration of the load distribution system according to the first embodiment of the present invention. The
サーバ200は、図示しないクライアントからの処理要求を受け付け、要求に応じたサービスを実施し、クライアントに処理応答を送信する。トランスポートスタック230は、ネットワーク310に接続されており、クライアントや他サーバからの各種要求を受け付けて応答する。負荷計測手段290は、中央処理装置240やトランスポートスタック230の状況を観測し、サーバ200の負荷を計測する。状態フラグ340は、装置状態を管理するためのフラグを格納する。状態フラグ340に格納されるフラグには、サーバ間で負荷移管(負荷融通)を行う状態を示す「負荷融通状態」と、負荷の移管を行わない状態を示す「通常状態」とがある。
The
負荷情報交換手段280は、状態フラグ340が「通常状態」であれば、定期的にネットワーク310を通じて他のサーバと通信し、負荷計測手段290が得た負荷情報を交換する。状態フラグ340が「負荷融通状態」であれば、負荷情報の交換は行わない。負荷情報交換手段280は、例えば周期的にタイムアウトを発生するタイマ320がタイムアウトを発生するタイミングで負荷情報の交換を行う。負荷情報交換手段280は、他のサーバの負荷を取得すると、自サーバの負荷と他サーバとの負荷の比を計算し、その値が、負荷移管を開始する際の判断基準となる融通しきい値270よりも大きいか否かを判断する。負荷情報交換手段280は、負荷の比が融通しきい値270よりも大きいと判断すると、他のサーバに負荷融通要求を送信する。負荷情報交換手段280は、負荷融通要求に対して許諾する旨の応答を受け取ると、負荷の移管先を示す移管先サーバ名335に他のサーバを指し示す情報を格納し、状態フラグ340を「負荷融通状態」にセットする。
If the
負荷係数決定手段260は、サーバ間の接続状況に関する情報を含むネットワーク構成情報250を参照して、負荷係数285を決定する。負荷係数285は、自サーバの負荷と、他のサーバの負荷とを照らし合わせて、前者の負荷が高い場合に、負荷の差のどれくらいを他のサーバに移管するかを定めるための比例係数である。負荷情報交換手段280は、「負荷融通状態」への移行に際して、自サーバの負荷、自サーバの負荷と他サーバの負荷との差、及び、負荷係数285に基づいて、負荷目標値330を設定する。具体的には、自サーバの負荷から、自サーバの負荷と他のサーバの負荷との差に負荷係数285を乗じた値を減算した値を、負荷目標値330として設定する。負荷目標値330は、「負荷融通状態」におけるサーバ負荷の目標値を示す。
The load
トランスポートスタック230は、クライアントから要求を受信すると、受信した要求を負荷融通手段220に渡す。負荷融通手段220は、状態フラグ340を参照して「通常状態」であるか、或いは、「負荷融通状態」であるかを判断する。負荷融通手段220は、「通常状態」であれば、負荷の移管は行わずに自サーバ内で処理を実行すると決定し、ディスパッチ手段210に、クライアントからの要求を渡す。状態フラグ340が「負荷融通状態」であれば、負荷計測手段290が計測したサーバ負荷が負荷目標値330を超えるか否かを判断する。超える場合には、負荷の移管を行うと決定し、移管先サーバ名335で示されるサーバへのリダイレクト応答を、クライアントに返す。負荷目標値330を超えない場合には、自サーバ内で処理を実行すると決定し、クライアントからの要求をディスパッチ手段210へ渡す。
When the
ディスパッチ手段210は、負荷融通手段220から、クライアントからの処理要求を受け取ると、その処理要求が必要とするサービスを提供するアプリケーションを、アプリケーション群300の中から選択し起動する。アプリケーション群300は、ディスパッチ手段210から受け取ったクライアントの要求に基づいてサービスを実行し、その結果を、クライアントに対する応答としてディスパッチ手段210に返す。
When the
図2は、負荷分散システム100の全体的な処理の流れを示しててる。サーバ200は、通信パケットの受信や、タイマ320からのトリガーなどのイベント発生を待つ(ステップZ110)。イベントが発生すると、発生したイベントに従って、適切な処理にディスパッチする(ステップZ120)。周期的にタイマ320が起動したときには、負荷情報交換処理を実行する(ステップZ130)。他のサーバから負荷情報交換要求を受信したときには、負荷情報提供処理を実行する(ステップZ140)。他のサーバから負荷融通要求を受信した場合には、負荷融通要求処理を実行する(ステップZ150)。クライアントからの要求を受信した場合には、クライアント要求処理を実行する(ステップZ160)。
FIG. 2 shows the overall processing flow of the
図3は、ステップZ130の負荷情報交換処理の詳細な手順を示している。負荷情報交換手段280は、タイマ起動により、周期的に、近傍の他のサーバとの間で負荷情報交換処理を行う。この負荷情報交換は、サーバ200の近傍に、そのサーバ200に接続する他のサーバが複数あるときには、そのそれぞれとの間で周期的に行う。具体的には、近傍にサーバAとサーバBとの2台が存在する場合には、タイマ320により、サーバAとの間で負荷情報の交換を行うべきタイミング、及び、サーバBとの間で情報交換を行うべきタイミングの双方でタイムアウトを発生させ、サーバAとの間で周期的に負荷情報交換を行うと共に、サーバBとの間でも周期的に負荷情報交換を行う。
FIG. 3 shows a detailed procedure of the load information exchange process in step Z130. The load information exchanging means 280 periodically performs load information exchanging processing with other nearby servers by starting the timer. When there are a plurality of other servers connected to the
負荷情報交換処理では、負荷情報交換手段280は、状態フラグ340を参照し、状態フラグ340が「通常状態」であるか、「負荷融通状態」であるかを判断する(ステップA210)。「負荷融通状態」であれば、そのまま処理を完了する。状態フラグ340が「通常状態」であれば、負荷情報交換手段280は、負荷情報交換の対象となる近傍の他のサーバとネットワーク310を介して通信し、負荷情報要求を送信して、当該他のサーバから、負荷情報を取得する(ステップA220)。
In the load information exchange process, the load
負荷情報交換手段280は、負荷情報を取得すると、取得した他のサーバの負荷情報、及び、自身の負荷情報に基づいて、負荷の比が、融通しきい値270を超えるか否かを判断する(ステップA230)。より詳細には、サーバ200(S)の負荷をS.l、他のサーバ(S’)の負荷をS’.lとし、融通しきい値270の値をDとして、S.l/S’.l>Dが成立するか否かを判断する。成立しない場合には、そのまま処理を完了する。成立する場合には、負荷情報交換手段280は、他のサーバに対して、負荷融通を要求する(ステップA240)。負荷情報交換手段280は、他のサーバから、負荷融通要求に対する応答を受信すると(ステップA250)、負荷融通の許諾が得られたか否かを判断する(ステップS260)。他のサーバから許諾が得られなかったときには、そのまま処理を完了する。
When the load
負荷情報交換手段280は、他のサーバから許諾が得られると、状態フラグ340を「負荷融通状態」にセットし、負荷融通状態に移行する(ステップA270)。その際、負荷情報交換手段280は、他のサーバのサーバ名を、移管先サーバ名335に格納する。また、負荷計測手段290によって計測された自サーバの負荷と、他のサーバの負荷と、負荷係数285とに基づいて、負荷目標値330を決定する。より詳細には、klを負荷係数285に格納された係数値として、S.l−kl×(S.l−S’.l)を負荷目標値に設定する。
When the permission is obtained from another server, the load information exchanging means 280 sets the
図4は、図2のステップZ140の負荷情報提供処理の詳細手順を示している。図3のステップA220で送信された負荷情報要求は、他のサーバ200の負荷情報交換手段280により受信される。負荷情報交換手段280は、負荷情報要求を受信すると(ステップB110)、負荷計測手段290により、自サーバの負荷を計測する(ステップB120)。負荷情報交換手段280は、負荷計測手段290が計測した負荷情報を、負荷情報要求の発行元のサーバに対して送信する(ステップB130)。
FIG. 4 shows a detailed procedure of the load information providing process in step Z140 of FIG. The load information request transmitted at step A220 in FIG. 3 is received by the load information exchanging means 280 of the
図5は、図2のステップZ150の負荷融通要求処理の詳細手順を示している。サーバ200は、図3のステップA240で他のサーバから送信された負荷融通要求を受信する(ステップC110)。負荷情報交換手段280は、サーバ状態に基づいて、負荷受入れを受諾するか否かを判断する(ステップC120)。この受入れ判断では、サーバ負荷計測手段290が計測したサーバ負荷を参照し、例えば、サーバ負荷が軽い場合(所定のしきい値よりも低い場合)には、負荷受入れを受諾すると判断する。ただし、その場合でも、サーバ状態を考慮して、クライアントが利用するアプリケーションがまだインストールされておらず、インストール時間を考慮すると負荷融通要求の受入れが得策でないときには、拒絶する。負荷情報交換手段280は、受入れ可能と判断すると、許諾応答を、要求発行元のサーバに返信し(ステップC130)、受入れ不可と判断すると、拒絶応答を、要求発行元のサーバに返信する(ステップC140)。
FIG. 5 shows a detailed procedure of the load accommodation request process in step Z150 of FIG. The
図6は、図2のステップZ160のクライアント要求処理の詳細手順を示している。トランスポートスタック230は、クライアントからの処理要求を受信する(ステップD110)。トランスポートスタック230が受信したクライアントからの処理要求は、負荷融通手段220に渡される。負荷融通手段220は、状態フラグ340を参照し、状態フラグ340が「通常状態」であるか「負荷融通状態」であるかを調べる(ステップD120)。
FIG. 6 shows a detailed procedure of the client request process in step Z160 of FIG. The
負荷融通手段220は、状態フラグ340が「通常状態」であると判断すると、負荷の移管は行わないと決定し、クライアントからの要求をディスパッチ手段210に渡す。ディスパッチ手段210は、受け取ったクライアントからの要求に基づいて、アプリケーション群300から適切なサーバ群を選択し、アプリケーションを起動する(ステップD160)。起動したアプリケーションは、処理要求に応じた適切な処理を実行し、ディスパッチ手段210に応答(処理結果)を返す(ステップD170)。アプリケーションが作成した応答は、ディスパッチ手段210、負荷融通手段220、及び、トランスポートスタック230を介して、クライアントに返信される(ステップD180)。
When the
負荷融通手段220は、ステップD120で、状態フラグ340が「負荷融通状態」であると判断すると、負荷計測手段290により、サーバ200の負荷を計測する(ステップD130)。負荷融通手段220は、計測されたサーバ200の負荷と、負荷目標値330とを比較し、サーバ200の負荷が、負荷目標値330以上であるか否かを判断する(ステップD140)。負荷融通手段220は、サーバ負荷が負荷目標値330以上でないと判断すると、負荷の移管は行わないと決定し、状態フラグ340や負荷目標値330、移管先サーバ名335をリセットする(ステップD155)。その後、ステップD160へ進み、クライアントからの要求をディスパッチ手段210に渡し、ディスパッチ手段210によりアプリケーションを起動して、要求に対する応答をクライアントに返信する。
When the
ステップD140での比較の結果、サーバ200の負荷が、負荷目標値330以上である場合には、負荷の移管を行うと決定する。この場合、負荷融通手段220は、移管先サーバ名335を参照し、移管先サーバ名335が示すサーバをリダイレクト先とするリダイレクト応答を作成する(ステップD150)。負荷融通手段220が作成したリダイレクト応答は、トランスポートスタック230を介して、クライアントに返信される。
As a result of the comparison in step D140, when the load of the
図7は、クライアントの動作手順を示している。クライアントは、HTTP等のリダイレクトで定義されるように、図7に示す手順で動作する。すなわち、クライアントは、あらかじめ決められたサーバ200に処理要求を発行する(ステップE110)。この処理要求を受け取ったサーバ200は、図6に示す手順に従って、処理結果、又は、リダイレクト応答を返信する。クライアントは、サーバ200からの応答を受信し(ステップE120)、受信した応答の種類を判別する(ステップE130)。サーバ200から受け取った応答が、処理結果であれば、処理結果を受信して(ステップE140)、処理を終了する。応答がリダイレクト応答であれば、クライアントは、指定されたリダイレクト先にサクセスサーバを変更し(ステップE150)、ステップE110に戻って、リダイレクト先にサーバに処理要求を送信する。
FIG. 7 shows an operation procedure of the client. The client operates according to the procedure shown in FIG. 7 as defined by redirection such as HTTP. That is, the client issues a processing request to the predetermined server 200 (step E110). Upon receiving this processing request, the
次に、負荷係数285の決定について詳細について説明する。図8に、手順を示す。負荷係数285は、負荷目標値の決定に用いられ、他のサーバにどの程度の負荷を移管するかを決定するために用いられる。負荷係数決定手段260は、所定のタイミングで、例えばシステムの立ち上げ時に、ネットワーク構成情報250を読み込む(ステップF110)。負荷係数決定手段260は、読み込んだネットワーク構成情報250を参照して、ネットワーク構成(サーバ間の接続状態)を表す接続行列を作成する(ステップF120)。
Next, details of the determination of the
接続行列Aは、次のように定義する。
負荷係数決定手段260は、上記接続行列Aに対して、G=(−lA+E)(Eは単位行列)の固有値を求める。一般に、n×nの正方行列では、固有値はn個ある。固有値をk(l)とすると、全ての固有値k(l)が−1よりも大きく、かつ、1以下になるような0<l<1の範囲のlの値を求め、そのうちの最大値を求める(ステップF130)。このようにして求めた0<l<1の範囲のlの最大値を、負荷移管係数として、負荷係数285に格納する(ステップF140)。
The load
本実施形態の効果について説明する。本実施形態では、クライアントからの要求の全てが、特定の装置を通らずに、それぞれのサーバに送信される。このため、ボトルネックとなる装置が存在せず、大容量の負荷にも対応することが可能である。また、本実施形態では、サーバ同士は、周期的に、負荷情報交換手段280によって負荷情報を交換し、負荷目標値330を設定する。このため、サーバの負荷情報は、その周期よりも古い情報となることがない。従って、本実施形態では、キャッシュにより古いサーバ情報が残るDNSラウンドロビンに比して、最新の負荷情報による負荷分散が可能である。
The effect of this embodiment will be described. In this embodiment, all requests from the client are transmitted to each server without passing through a specific device. For this reason, there is no device that becomes a bottleneck, and it is possible to cope with a large load. Moreover, in this embodiment, servers exchange load information periodically by the load information exchanging means 280 to set the
更に、本実施形態では、接続行列Aに対して、G(−lA+E)の固有値が−1より大きく、1以下になるように、負荷係数285を求め、この負荷係数285を用いて負荷目標値330を決定する。このようにすることで、他のサーバとの間で負荷移管を繰り返した際に、サーバ負荷が平準化された負荷分散を実現できる。以下、サーバ負荷の平準化について、詳細に説明する。
Further, in the present embodiment, for the connection matrix A, the
t回目の負荷移管によるサーバiの負荷を、xi,tで表す。各サーバでのt回目の負荷交換プロトコルの結果の負荷を、
一般に、G=(−lA+E)の固有値が−1よりも大きく、かつ、1以下であれば、
以下、具体例を用いて説明する。図9は、実施例1の負荷分散システムの構成を示している。本実施例では、サーバ200として、サーバA200−a、サーバB200−b、及び、サーバC200−cの3台のサーバを考える。また、サーバA200−aとサーバB200−b、及び、サーバB200−bとサーバC200−cとが相互認識し、定期的に負荷情報の交換を行っているもとする。この構成では、負荷係数決定手段260が、図8のステップF110で、ネットワーク構成情報250(図1)を読み込んで作成する接続行列Aは、下記のようになる。
負荷係数決定手段260は、ステップF130で、作成した接続行列Aを用いて、
次に、サーバA200−aには、クライアント400−a、400−bがアクセスし、サーバB200−bには、クライアント400−c、400−dがアクセスしているものとする。また、サーバC200−cには、クライアント400−e、400−fがアクセスしているものとする。当初、各クライアントは、10アクセス/秒でアクセスしていたとする。あるときに、サーバB200−bにアクセスするクライアント400−cのアクセス頻度が30アクセス/秒に増えたとする。そうすると、サーバB200−bの負荷は、20アクセス/秒から40アクセス/秒に増えることになる。 Next, it is assumed that the clients 400-a and 400-b are accessing the server A 200-a, and the clients 400-c and 400-d are accessing the server B 200-b. Further, it is assumed that the clients 400-e and 400-f are accessing the server C200-c. Initially, each client is accessing at 10 accesses / second. It is assumed that the access frequency of the client 400-c accessing the server B 200-b has increased to 30 accesses / second. Then, the load on the server B 200-b increases from 20 access / second to 40 access / second.
サーバA200−a及びサーバB200−bは、負荷情報交換手段280により、定期的に、互いの負荷情報を交換している(図2のステップZ130)。サーバB200−bは、サーバA200−aから負荷情報を取得することで、サーバA200−aの負荷が20アクセス/秒であることを知る(図3のステップA220)。融通しきい値270をD=1.5とすると、サーバB200−bの負荷と、サーバA200−aの負荷の比は、(40/20)>1.5となるので、ステップA230からステップA240に移行し、サーバB200−bは、サーバA200−aに対して、負荷融通を依頼する。
The server A 200-a and the server B 200-b regularly exchange load information with each other by the load information exchanging means 280 (step Z130 in FIG. 2). The server B 200-b obtains the load information from the server A 200-a to know that the load of the server A 200-a is 20 accesses / second (step A220 in FIG. 3). Assuming that the
サーバA200−aは、図5のステップC110で、負荷融通要求を受信すると、ステップC120で、負荷が受入れ可能であるか否かをチェックする。負荷移管による問題がない場合、サーバA200−aは、ステップC130で、負荷融通要求に対して、許諾応答をする。サーバB200−bは、図3のステップA250で、サーバA200−aから許諾応答を受け取ると、負荷情報交換手段280により、状態フラグ340を「負荷融通状態」に設定し、移管先サーバ名335をサーバAに設定する。また、ステップA270で、負荷目標値330を、40−(1/3)×(40−20)=33に設定する。
When the server A 200-a receives the load accommodation request in step C110 of FIG. 5, the server A 200-a checks whether or not the load can be accepted in step C120. If there is no problem due to load transfer, the server A 200-a makes a permission response to the load accommodation request in step C130. When the server B 200-b receives the permission response from the server A 200-a in step A250 of FIG. 3, the load
サーバB200−bは、図6のステップD110で、クライアントからの要求処理を受けると、ステップD120で、状態フラグ340を調べる。状態フラグ340が「負荷融通状態」であるので、ステップD130へ移行して、負荷計測手段290により、サーバB200−bの負荷を計測する。その結果、例えば、負荷が40アクセス/秒であることがわかる。負荷融通手段220は、負荷(40アクセス/秒)と、負荷目標値330(33アクセス/秒)とを比較する。負荷が目標値よりも大きいので、ステップD140からステップD150へ移行して、サーバB200−bは、負荷融通手段220により、移管先サーバ名335で示すサーバA200−aへのリダイレクト応答を作成し、トランスポートスタック230を通じて、クライアントに、リダイレクト応答を返す。
When the server B 200-b receives the request processing from the client in step D110 of FIG. 6, it checks the
クライアントは、図7のステップE120で、サーバB200−bからリダイレクト応答を受信する。リダイレクト応答を受けとったクライアントは、ステップE150で、指令されたリダイレクト先であるサーバA200−aにアクセス先を変更し、ステップE110に戻って、サーバA200−aに処理要求を送信する。このようにして、サーバB200−bに対するクライアントからの処理要求を、負荷が目標値に下がるまで、サーバA200−aにリダイレクトすることで、負荷分散を実現する。 The client receives a redirect response from the server B 200-b in step E120 of FIG. In step E150, the client that has received the redirect response changes the access destination to the instructed redirect destination server A 200-a, returns to step E110, and transmits a processing request to the server A 200-a. In this way, load distribution is realized by redirecting a processing request from a client to the server B 200-b to the server A 200-a until the load drops to the target value.
次に、別の具体例を用いて説明する。図10は、実施例2の負荷分散システムの構成を示している。本実施例では、サーバ200として、サーバA200−a、サーバB200−b、サーバC200−c、及び、サーバD200−dの4つのサーバを考える。これらは、互いに相互認識し、定期的に負荷情報の交換を行っている。この構成では、図8のステップF110で、負荷係数決定手段260が、ネットワーク構成情報250(図1)を読み込んで作成する接続行列Aは、下記のようになる。
負荷係数決定手段260が、l=0.4と設定すると、行列G=(−lA+E)の1を除く固有値のうちで、絶対値が最大となる固有値は−0.84となり、この値は、−1より大きく1以下である。従って、負荷は収束する。図11に、各サーバの負荷の変化の様子を示す。この例では、融通しきい値Dは1.2とした。同図では、縦軸はサーバの負荷を表し、横軸は時間を表している。同図を参照すると、4台のサーバのうちの1台に負荷をかけた場合に、他の3台のサーバとの間で負荷を融通することで、最終的に、サーバ間で負荷が平準化できることがわかる。比較例として、同じ条件で、l=0.8としたときのサーバ負荷の変化の様子を図12に示す。この場合には、固有値のうちで絶対値が最大となるものは−2.7となるので、負荷移管を繰り返しても、同図に示すように各サーバの負荷は変動し、平準化されない。
When the load
なお、融通しきい値270について、他サーバへの負荷の移管は、負荷の比が融通しきい値を超えるときに行われるため、融通しきい値は、最終的には、平準化された負荷のサーバ間でのばらつきを示すことになる。この値を1とすると、負荷移管が頻発してかえって効率が落ちるため、融通しきい値は、1.1〜1.5程度の値とすることが好ましい。
Regarding the
以上、本発明をその好適な実施形態に基づいて説明したが、本発明の負荷分散システム、方法、及び、プログラムは、上記実施形態にのみ限定されるものではなく、上記実施形態の構成から種々の修正及び変更を施したものも、本発明の範囲に含まれる。 As described above, the present invention has been described based on the preferred embodiments. However, the load distribution system, method, and program of the present invention are not limited to the above embodiments, and various configurations are possible from the configurations of the above embodiments. Those modified and changed as described above are also included in the scope of the present invention.
本発明は、クライアントからの大量の負荷を処理するロードバランサといった用途に適用できる。また、センサーやRFIDからの大量の負荷を処理するロードバランサといった用途にも適用可能である。 The present invention can be applied to a use such as a load balancer that processes a large amount of load from a client. Moreover, it is applicable also to uses, such as a load balancer which processes a lot of loads from a sensor or RFID.
100:負荷分散システム
200:サーバ
210:ディスパッチ手段
220:負荷融通手段
230:トランスポートスタック
240:CPU
250:ネットワーク構成情報
260:負荷係数決定手段
270:融通しきい値
280:負荷情報交換手段
285:負荷係数
290:負荷計測手段
300:アプリケーション群
310:ネットワーク
320:タイマ
330:負荷目標値
335:移管先サーバ名
340:状態フラグ
400:クライアント
100: Load distribution system 200: Server 210: Dispatch means 220: Load accommodation means 230: Transport stack 240: CPU
250: Network configuration information 260: Load coefficient determination means 270: Interchange threshold 280: Load information exchange means 285: Load coefficient 290: Load measurement means 300: Application group 310: Network 320: Timer 330: Load target value 335: Transfer Destination server name 340: Status flag 400: Client
Claims (35)
他のサーバから負荷情報を取得し、自サーバの負荷、及び、他のサーバの負荷と、前記負荷係数とに基づいて、負荷目標値を設定する負荷情報交換手段と、
自サーバの負荷と前記負荷目標値とを比較し、自サーバの負荷が前記負荷目標値以下のとき、クライアントからの処理要求に対する処理を自サーバ内で実行させ、自サーバの負荷が前記負荷目標値を超えるとき、前記処理要求に対応する処理を、前記他のサーバで実行させる負荷融通手段とを備えることを特徴とする負荷分散システム。 Load coefficient determining means for determining a load coefficient with reference to network configuration information storing a network configuration of a network system having a plurality of servers;
Load information exchange means for obtaining load information from another server, and setting a load target value based on the load of the own server, the load of the other server, and the load coefficient;
The load of the own server is compared with the load target value, and when the load of the own server is equal to or less than the load target value, the processing for the processing request from the client is executed in the own server. And a load accommodation unit that causes the other server to execute processing corresponding to the processing request when the value exceeds the value.
前記サーバが、前記ネットワークシステムのネットワーク構成を記憶するネットワーク構成情報を参照し、負荷係数を決定する負荷係数決定ステップと、
前記サーバが、他のサーバとの間で負荷情報を交換し、自サーバの負荷、及び、他のサーバの負荷と、前記負荷係数とに基づいて、負荷目標値を設定する負荷目標値設定ステップと、
前記サーバが、自サーバの負荷と前記負荷目標値とを比較し、クライアントからの処理要求に対する処理を、自サーバで実行するか、又は、前記他のサーバに実行させるかを決定する処理サーバ決定ステップとを有し、
前記サーバが、前記処理サーバ決定ステップで、自サーバで実行すると決定すると、前記処理を自サーバ内で実行し、他のサーバに実行させると決定すると、前記処理を、前記他のサーバで実行させることを特徴とする負荷分散方法。 In a network system having a plurality of servers, a method of distributing the server load,
A load factor determining step in which the server refers to network configuration information storing a network configuration of the network system and determines a load factor;
A load target value setting step in which the server exchanges load information with another server and sets a load target value based on the load of the own server, the load of the other server, and the load coefficient. When,
Processing server determination in which the server compares the load of its own server with the load target value, and determines whether to execute processing for a processing request from a client on its own server or to execute the other server And having steps
When the server decides that the server is to be executed by the server in the processing server determination step, the server performs the process on the other server when the server is determined to be executed in the server and executed by another server. A load balancing method characterized by the above.
前記サーバは、前記処理要求を受け付けると、前記状態フラグを参照し、該状態フラグが「負荷融通状態」であれば、前記処理サーバ決定ステップを実行する、請求項12〜14の何れか一に記載の負荷分散方法。 In the load target value setting step, when the server determines that the ratio of the load of the own server and the load of another server exceeds a predetermined threshold, a status flag indicating whether or not to perform load accommodation is displayed. Set to "Load accommodation state", set the load target value,
The said server will refer to the said status flag, if the said status request is a "load accommodation state", and will perform the said processing server determination step, if the said processing request is received. The load balancing method described.
前記ネットワークシステムのネットワーク構成を記憶するネットワーク構成情報を参照し、負荷係数を決定する負荷係数決定ステップと、
他のサーバとの間で負荷情報を交換し、自サーバの負荷、及び、他のサーバの負荷と、前記負荷係数とに基づいて、負荷目標値を設定する負荷目標値設定ステップと、
自サーバの負荷と前記負荷目標値とを比較し、クライアントからの処理要求に対する処理を、自サーバで実行するか、又は、前記他のサーバに実行させるかを決定する処理サーバ決定ステップとを実行させ、
前記処理サーバ決定ステップで、自サーバで実行すると決定すると、前記処理を自サーバ内で実行し、他のサーバに実行させると決定すると、前記処理を、前記他のサーバで実行させることを特徴とするプログラム。 In a network system having a plurality of servers, there is a program for causing the server to execute a process for distributing the load on the server.
A load coefficient determination step for determining a load coefficient with reference to network configuration information storing a network configuration of the network system;
A load target value setting step for exchanging load information with another server, and setting a load target value based on the load of the own server, the load of the other server, and the load coefficient;
A processing server determination step of comparing the load of the local server with the load target value and determining whether the processing for the processing request from the client is executed by the local server or the other server is executed. Let
In the processing server determination step, when it is determined that the processing is to be executed by the own server, the processing is executed by the other server when the processing is executed in the own server and is determined to be executed by another server. Program to do.
前記サーバに、前記処理要求を受け付けると、前記状態フラグを参照し、該状態フラグが「負荷融通状態」であれば、前記処理サーバ決定ステップを実行する処理を実行させる、請求項24〜26の何れか一に記載のプログラム。 In the load target value setting step, when it is determined that the ratio between the load of the local server and the load of the other server exceeds a predetermined threshold, a status flag indicating whether or not to perform load accommodation is set to “load accommodation state”. To set the load target value,
27. When receiving the processing request, the server refers to the status flag, and if the status flag is “load accommodation status”, causes the processing server determination step to be executed. The program according to any one of the above.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006249651A JP4340733B2 (en) | 2006-09-14 | 2006-09-14 | Load balancing system, method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006249651A JP4340733B2 (en) | 2006-09-14 | 2006-09-14 | Load balancing system, method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008071156A true JP2008071156A (en) | 2008-03-27 |
JP4340733B2 JP4340733B2 (en) | 2009-10-07 |
Family
ID=39292679
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006249651A Expired - Fee Related JP4340733B2 (en) | 2006-09-14 | 2006-09-14 | Load balancing system, method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4340733B2 (en) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010009449A (en) * | 2008-06-30 | 2010-01-14 | Nec Corp | Distributed information arrangement system |
JP2010160748A (en) * | 2009-01-09 | 2010-07-22 | Nippon Hoso Kyokai <Nhk> | Network controller and computer program |
WO2011024930A1 (en) * | 2009-08-24 | 2011-03-03 | 日本電気株式会社 | Content distribution system, content distribution method and content distribution-use program |
WO2011070607A1 (en) * | 2009-12-07 | 2011-06-16 | 富士通株式会社 | Server system control method and server control program |
JP2012185638A (en) * | 2011-03-04 | 2012-09-27 | Kddi Corp | Load distribution device, load distribution system, load distribution method, and load distribution program |
JP2013003710A (en) * | 2011-06-14 | 2013-01-07 | Kddi Corp | Server coordination and mutual-aid system, server for the same, and server coordination and mutual-aid program |
JP2018160720A (en) * | 2017-03-22 | 2018-10-11 | ブラザー工業株式会社 | Communication method and communication program |
US10122768B2 (en) | 2013-11-18 | 2018-11-06 | Ricoh Company, Limited | Control system, communication system, computer program, controlling method, and computer program product |
US10171568B2 (en) | 2013-11-18 | 2019-01-01 | Ricoh Company, Limited | Selecting system, communication management system, communication system, computer program, and method of selection |
US10187219B2 (en) | 2013-11-18 | 2019-01-22 | Ricoh Company, Limited | Control system, communication system, computer program, controlling method, and computer program product |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07168790A (en) * | 1993-12-15 | 1995-07-04 | Oki Electric Ind Co Ltd | Information processor |
JPH1021200A (en) * | 1996-06-28 | 1998-01-23 | Hitachi Ltd | Work accommodation amount controller |
JPH1078937A (en) * | 1996-07-12 | 1998-03-24 | Nec Corp | Inter-computer job distribution system and method and recording medium recording job distribution program |
JP2000196677A (en) * | 1998-12-28 | 2000-07-14 | Fujitsu Ltd | Repeater used for network system |
JP2002334012A (en) * | 2001-05-10 | 2002-11-22 | Nippon Telegr & Teleph Corp <Ntt> | Service request processing method and its implementation system, and its processing program and recording medium |
JP2004133839A (en) * | 2002-10-15 | 2004-04-30 | Fujitsu Ltd | Device and program for distributing server |
JP2005149423A (en) * | 2003-11-19 | 2005-06-09 | Hitachi Ltd | Information processing system and information processor |
JP2006221450A (en) * | 2005-02-10 | 2006-08-24 | Nec Access Technica Ltd | Load distribution device, load distribution method and load distribution program |
-
2006
- 2006-09-14 JP JP2006249651A patent/JP4340733B2/en not_active Expired - Fee Related
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07168790A (en) * | 1993-12-15 | 1995-07-04 | Oki Electric Ind Co Ltd | Information processor |
JPH1021200A (en) * | 1996-06-28 | 1998-01-23 | Hitachi Ltd | Work accommodation amount controller |
JPH1078937A (en) * | 1996-07-12 | 1998-03-24 | Nec Corp | Inter-computer job distribution system and method and recording medium recording job distribution program |
JP2000196677A (en) * | 1998-12-28 | 2000-07-14 | Fujitsu Ltd | Repeater used for network system |
JP2002334012A (en) * | 2001-05-10 | 2002-11-22 | Nippon Telegr & Teleph Corp <Ntt> | Service request processing method and its implementation system, and its processing program and recording medium |
JP2004133839A (en) * | 2002-10-15 | 2004-04-30 | Fujitsu Ltd | Device and program for distributing server |
JP2005149423A (en) * | 2003-11-19 | 2005-06-09 | Hitachi Ltd | Information processing system and information processor |
JP2006221450A (en) * | 2005-02-10 | 2006-08-24 | Nec Access Technica Ltd | Load distribution device, load distribution method and load distribution program |
Non-Patent Citations (1)
Title |
---|
中島募、佐々木元也: "WWWサーバー負荷分散ツール", 日経インターネットテクノロジー, vol. 第13号, JPN6008048841, 22 July 1998 (1998-07-22), JP, pages 148 - 157, ISSN: 0001143226 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010009449A (en) * | 2008-06-30 | 2010-01-14 | Nec Corp | Distributed information arrangement system |
JP2010160748A (en) * | 2009-01-09 | 2010-07-22 | Nippon Hoso Kyokai <Nhk> | Network controller and computer program |
US8694643B2 (en) | 2009-08-24 | 2014-04-08 | Nec Corporation | Contents delivery system, a contents delivery method, and a program for contents delivery |
WO2011024930A1 (en) * | 2009-08-24 | 2011-03-03 | 日本電気株式会社 | Content distribution system, content distribution method and content distribution-use program |
US9009325B2 (en) | 2009-08-24 | 2015-04-14 | Nec Corporation | Contents delivery system, a contents delivery method, and a program for contents delivery |
WO2011070607A1 (en) * | 2009-12-07 | 2011-06-16 | 富士通株式会社 | Server system control method and server control program |
JP2012185638A (en) * | 2011-03-04 | 2012-09-27 | Kddi Corp | Load distribution device, load distribution system, load distribution method, and load distribution program |
JP2013003710A (en) * | 2011-06-14 | 2013-01-07 | Kddi Corp | Server coordination and mutual-aid system, server for the same, and server coordination and mutual-aid program |
US10122768B2 (en) | 2013-11-18 | 2018-11-06 | Ricoh Company, Limited | Control system, communication system, computer program, controlling method, and computer program product |
US10171568B2 (en) | 2013-11-18 | 2019-01-01 | Ricoh Company, Limited | Selecting system, communication management system, communication system, computer program, and method of selection |
US10187219B2 (en) | 2013-11-18 | 2019-01-22 | Ricoh Company, Limited | Control system, communication system, computer program, controlling method, and computer program product |
JP2018160720A (en) * | 2017-03-22 | 2018-10-11 | ブラザー工業株式会社 | Communication method and communication program |
US10462198B2 (en) | 2017-03-22 | 2019-10-29 | Brother Kogyo Kabushiki Kaisha | Communication method and storage medium storing communication program |
Also Published As
Publication number | Publication date |
---|---|
JP4340733B2 (en) | 2009-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4340733B2 (en) | Load balancing system, method, and program | |
US9787599B2 (en) | Managing content delivery network service providers | |
US8159961B1 (en) | Load balancing utilizing adaptive thresholding | |
JP5389153B2 (en) | Method and system for requesting routing based on class | |
JP4974888B2 (en) | Distributed request routing | |
US7792989B2 (en) | Arrangement for selecting a server to provide distributed services from among multiple servers based on a location of a client device | |
JP5404766B2 (en) | Method and system for requesting routing | |
US7853953B2 (en) | Methods and apparatus for selective workload off-loading across multiple data centers | |
US7822839B1 (en) | Method and system for accessing network services | |
KR100295004B1 (en) | A method and apparatus for dynamic interval-based load balancing | |
EP2356577B1 (en) | Request routing and updating routing information utilizing client location information | |
JP5632074B2 (en) | Device and method for data load balancing | |
JP5957965B2 (en) | Virtualization system, load balancing apparatus, load balancing method, and load balancing program | |
WO2020107768A1 (en) | Collaborative in-network name-to-locator resolution support for information centric networking | |
Guo et al. | A QoS aware multicore hash scheduler for network applications | |
Keller et al. | Server Workload Assignment for Real-Time Range Queries in Adaptive Quad Streaming Sensor Environments | |
JP3950113B2 (en) | Job allocation method in grid system, grid mediation apparatus and program thereof | |
Asaka et al. | Distributed web caching using hash-based query caching method | |
JP5488029B2 (en) | Distributed processing system, distributed processing method, and program | |
Toumura et al. | A Scalable Server Load Balancing Method Using IP Address Stealing | |
Shukla et al. | CLUE based load balancing in replicated web server | |
JP2006209465A (en) | Load distribution system, load distribution device, server, load distribution program and load distribution method | |
CN116800810A (en) | QUIC handshake method and device, electronic equipment and storage medium | |
JP2010152783A (en) | Load distribution access system, object holding device, client device, and method and program therefor in distributed file system | |
Ramana et al. | NDLB: Nearest Dispatcher Load Balancing approach for Web Server Cluster |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080911 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080925 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081125 |
|
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: 20090521 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090603 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120717 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120717 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130717 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |