JP3502009B2 - Load distribution control device and method, and recording medium - Google Patents

Load distribution control device and method, and recording medium

Info

Publication number
JP3502009B2
JP3502009B2 JP2000114008A JP2000114008A JP3502009B2 JP 3502009 B2 JP3502009 B2 JP 3502009B2 JP 2000114008 A JP2000114008 A JP 2000114008A JP 2000114008 A JP2000114008 A JP 2000114008A JP 3502009 B2 JP3502009 B2 JP 3502009B2
Authority
JP
Japan
Prior art keywords
server
load
value
load value
servers
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2000114008A
Other languages
Japanese (ja)
Other versions
JP2001297046A (en
Inventor
剛史 堀之内
弘佳 巳波
慎也 能上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2000114008A priority Critical patent/JP3502009B2/en
Publication of JP2001297046A publication Critical patent/JP2001297046A/en
Application granted granted Critical
Publication of JP3502009B2 publication Critical patent/JP3502009B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、クライアントがア
クセスするサーバ群に対し、負荷が均衡化するようにア
クセスを割り振る装置に利用する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention is used in a device for allocating access to a group of servers accessed by a client so that loads are balanced.

【0002】[0002]

【従来の技術】クライアントがアクセスするサーバ群に
対し、負荷が均衡化するようにアクセスを割り振る負荷
分散制御装置が知られている。従来のサーバの負荷分散
を行う方式として、以下のものが代表的である。 (1)ラウンドロビン方式<方式A> すべてのサーバを登録しておき、クライアントからの要
求を受付けるごとに、循環的(ラウンドロビン)にサー
バを割り当てる方式であり、DNSサービスにおいて、
一つのドメインに対して複数のIPアドレスを登録する
のが最も代表的な実現形態である。ラウンドロビンの1
サイクルにおいて割り当てる数に関し、サーバのスペッ
クに応じて違いを設ける重み付けラウンドロビン方式も
ある。 (2)負荷測定方式<方式B> すべてのサーバの負荷(CPU使用率、処理データ量な
ど)を周期的もしくはイベントドリブンに計測し、最も
負荷の少ないサーバを割り当てる方式であり、加えて、
サーバ障害監視を行い、障害の発生したサーバへの割り
当てを停止することもできる。
2. Description of the Related Art There is known a load distribution control device for allocating access to a group of servers accessed by a client so that loads are balanced. The following are typical methods for distributing the load on the conventional server. (1) Round Robin Method <Method A> This is a method in which all servers are registered, and each time a request from a client is accepted, the server is cyclically (round robin) assigned.
The most typical implementation is to register a plurality of IP addresses for one domain. Round Robin 1
There is also a weighted round-robin method in which the number assigned in a cycle differs depending on the server specifications. (2) Load measurement method <Method B> This is a method in which the load (CPU usage rate, processing data amount, etc.) of all servers is measured periodically or event-driven, and the server with the least load is assigned.
It is also possible to monitor the server failure and stop the allocation to the failed server.

【0003】また、クライアントのデータ要求パケット
の部分データに対してハッシュ関数を適用し、サーバの
負荷状況(サーバへの接続平均時間と単位時間あたりの
接続回数による)に基づき、ハッシュ値の割当数を動的
に変化させることにより負荷分散を図るという特開平1
1−96128号公報に開示された方式がある<方式C
>。この方式では、サーバヘの接続平均時間と単位時間
あたりの接続回数という負荷分散装置内で取得できる情
報を用いるため、負荷状況の制御オーバーヘッドを伴わ
ない。よって、負荷状況の測定自体がさらにサーバ、ネ
ットワークに負荷を高めるという事態は生じない。
Further, the hash function is applied to the partial data of the data request packet of the client, and the allocation number of the hash value is determined based on the load condition of the server (depending on the average connection time to the server and the number of connections per unit time). Japanese Patent Laid-Open No. Hei 1 (1999) -1 which aims at load distribution by dynamically changing
There is a method disclosed in Japanese Patent Publication No. 1-96128 <Method C
>. In this method, since the information that can be acquired in the load balancer, such as the average connection time to the server and the number of connections per unit time, is used, there is no control overhead of the load status. Therefore, the measurement of the load condition itself does not increase the load on the server or the network.

【0004】分散キャッシュサーバ群への負荷分散とキ
ャッシュデータの再利用率を高める方式として、特開平
11−224219号公報に開示された方式がある<方
式D>。この方式は、クライアントが要求するデータの
識別情報に対してハッシュ値を算出し、ハッシュ値に対
応したキャッシュサーバに対してアクセスする。ハッシ
ュ値によるキャッシュサーバへの負荷分散と、同一デー
タは同一サーバが扱うことによるキャッシュデータの再
利用率の向上という相乗効果がある。
As a method of increasing the load distribution to the distributed cache server group and the reuse rate of cache data, there is a method disclosed in Japanese Patent Laid-Open No. 11-224219 <Method D>. In this method, a hash value is calculated for the identification information of the data requested by the client, and the cache server corresponding to the hash value is accessed. There is a synergistic effect that the load is distributed to the cache server by the hash value and the reuse rate of the cache data is improved because the same data is handled by the same server.

【0005】[0005]

【発明が解決しようとする課題】しかしながら、従来の
方式には以下のような問題がある。方式Aでは、各サー
バの負荷状況を考慮しておらず、循環型のサーバ割当て
が精度の高い負荷分散制御を実現しているとはいいがた
い。よって、クライアントのアクセス性に差が生じるこ
とになる。また、各サーバの障害状況を動的に検知する
ことが困難であり、情報を提供できないサーバに対して
も継続的に割り当てを行い、サービス性を大きく損なう
危険性がある。さらに、サーバがキャッシュサーバとし
て機能する場合には、要求データの種別やサーバの蓄積
データを考慮せずに、サーバを割当ててしまうため、キ
ャッシュデータの再利用率が低くなるという問題があ
る。
However, the conventional method has the following problems. In method A, it is hard to say that the cyclic server allocation realizes highly accurate load distribution control without considering the load status of each server. Therefore, there will be a difference in accessibility of the clients. Further, it is difficult to dynamically detect the failure status of each server, and there is a risk that serviceability will be greatly impaired by continuously allocating even servers that cannot provide information. Further, when the server functions as a cache server, the server is assigned without considering the type of request data and the accumulated data of the server, which causes a problem that the reuse rate of the cache data becomes low.

【0006】方式Bでは、負荷分散制御の精度、障害切
り分け能力は高いが、方式Aと同じく要求データの種別
を区別しておらず、サーバ上のキャッシュデータの再利
用性は低くなってしまう。また、負荷状況の測定自体
が、サーバに負荷を与えたり、ネットワーク資源を無駄
に消費したりする問題がある。
In method B, the accuracy of load balancing control and the ability to isolate a fault are high, but the type of request data is not distinguished as in method A, and the reusability of cache data on the server is low. In addition, there is a problem that the measurement of the load condition itself gives a load to the server and wastes network resources.

【0007】方式Cでも、要求データの種別は区別して
おらず、サーバ上のキャッシュデータの再利用性は低く
なってしまう。
Also in the method C, the types of request data are not distinguished, and the reusability of cache data on the server is low.

【0008】方式Dでは、個々の要求データの処理負荷
とアクセス頻度が均一な条件下では、負荷分散 キャッ
シュデータの再利用ともにうまく機能する。しかしなが
ら、テキスト、静止画像、音声データ、動画像などの様
々なマルチメディアコンテンツを扱う場合には、個々の
要求データの処理負荷が大きく異なる。また、人気コン
テンツに対して顕著にアクセスが集中するというインタ
ーネットの特徴を考慮すると、要求データの識別情報に
対してハッシュを適用するだけでは、精度の高い負荷分
散は達成されない。そのような負荷分散精度の劣化によ
り、アクセス性能のばらつき、サービス信頼性の低下な
どの問題を引き起こす危険性がある。
In the method D, under the condition that the processing load of each request data and the access frequency are uniform, the reuse of the load balancing cache data works well. However, when handling various multimedia contents such as texts, still images, audio data, and moving images, the processing load of each request data greatly differs. Further, considering the characteristic of the Internet in which access is remarkably concentrated on popular contents, accurate load distribution cannot be achieved only by applying a hash to the identification information of request data. Such deterioration of load balancing accuracy may cause problems such as variations in access performance and deterioration of service reliability.

【0009】本発明は、このような背景に行われたもの
であって、要求データの識別情報を考慮して、キャッシ
ュデータの再利用率を高めるとともに、精度の高い負荷
分散制御を実現し、ネットワークサービスの健全性を確
保するとともに、その制御処理はシンプルであるため、
制御負荷が低く、多くのクライアントの要求を扱うこと
ができるスケーラビリテイを有する負荷分散制御装置お
よび方法を提供することを目的とする。
The present invention has been made against such a background. In consideration of the identification information of the request data, the reuse ratio of the cache data is increased and the load balancing control with high accuracy is realized. As well as ensuring the health of network services, the control process is simple,
An object of the present invention is to provide a load balancing control apparatus and method having a low control load and having scalability capable of handling the requests of many clients.

【0010】[0010]

【課題を解決するための手段】本発明の第一の観点は、
クライアントを収容しこのクライアントからのn台のサ
ーバヘのアクセスを制御する手段を備えた負荷分散制御
装置である。
The first aspect of the present invention is to:
It is a load balancing control device having means for accommodating clients and controlling access to n servers from the clients.

【0011】ここで、本発明の特徴とするところは、前
記アクセスを制御する手段は、特定周期もしくはクライ
アントからの要求を受付けるごとに前記n台のサーバに
ついてあらかじめ定められた負荷測定項目をそれぞれ測
定する手段と、この測定結果にしたがって前記n台のサ
ーバの平均負荷値およびそれぞれの負荷値を計算する手
段と、クライアントからの要求を受付けるごとに要求デ
ータの識別情報に対するハッシュ値を算出する手段と、
このハッシュ値に対応したサーバS(0≦S≦n−1)
を決定する手段と、あらかじめ定められた負荷分散実行
係数α(>1)および負荷分散許諾係数β(α≧β≧
1)により前記サーバSの負荷値が平均負荷値のα倍以
下であればこのサーバSにアクセスすることを決定する
手段と、前記負荷値が平均負荷値のα倍よりも大きけれ
ばサーバS+i mod n(i=1、2、…、n−1)
の負荷値が平均負荷値のβ倍以下であるかを順次検索す
る手段と、この検索結果にしたがってその条件を満たす
このサーバが見つかり次第このサーバにアクセスするこ
とを決定する手段とを含むところにある。
Here, a feature of the present invention is that the means for controlling access measures a predetermined load measurement item for each of the n servers each time a specific cycle or a request from a client is accepted. Means, a means for calculating the average load value and the respective load values of the n servers according to the measurement result, and a means for calculating a hash value for the identification information of the request data every time a request from the client is accepted. ,
Server S (0 ≦ S ≦ n−1) corresponding to this hash value
And a load balancing execution coefficient α (> 1) and a load balancing permission coefficient β (α ≧ β ≧
1) means for deciding to access the server S if the load value of the server S is less than or equal to α times the average load value, and server S + i mod if the load value is greater than α times the average load value. n (i = 1, 2, ..., N-1)
Means for sequentially searching whether the load value of is less than or equal to β times the average load value, and means for deciding to access this server as soon as a server satisfying the condition is found according to the search result. is there.

【0012】あるいは、前記n台のサーバにそれぞれ性
能の違いがある場合には、前記n台のサーバのそれぞれ
の最大性能値があらかじめ与えられ、前記アクセスを制
御する手段は、特定周期もしくはクライアントからの要
求を受付けるごとに前記n台のサーバについてあらかじ
め定められた負荷測定項目をそれぞれ測定する手段と、
この測定結果にしたがって前記n台のサーバのそれぞれ
の負荷値を個々の最大性能値によって割り込むことによ
り正規平均負荷値およびそれぞれの正規負荷値を計算す
る手段と、クライアントからの要求を受付けるごとに要
求データの識別情報に対するハッシュ値を算出する手段
と、このハッシュ値に対応したサーバS(0≦S≦n−
1)を決定する手段と、あらかじめ定められた負荷分散
実行係数α(>1)および負荷分散許諾係数β(α≧β
≧1)により前記サーバSの正規負荷値が正規平均負荷
値のα倍以下であればこのサーバSにアクセスすること
を決定する手段と、前記正規負荷値が正規平均負荷値の
α倍よりも大きければサーバS+i mod n(i==
1、2、・‥、n−1)の負荷値が平均負荷値のβ倍以
下であるかを順次検索する手段と、その検索結果にした
がってその条件を満たすこのサーバが見つかり次第この
サーバにアクセスすることを決定する手段とを備えたと
ころにある。
Alternatively, when the n servers have different performances, the maximum performance values of the n servers are given in advance, and the means for controlling the access is controlled by a specific cycle or by a client. Means for measuring a predetermined load measurement item for each of the n servers each time the request is received,
A means for calculating the normal average load value and the respective normal load values by interrupting the respective load values of the n servers by the respective maximum performance values according to this measurement result, and a request for each request from the client. A means for calculating a hash value for the identification information of the data and a server S (0 ≦ S ≦ n− corresponding to this hash value.
1) and a predetermined load balancing execution coefficient α (> 1) and a load balancing permission coefficient β (α ≧ β
≧ 1) means for deciding to access the server S if the regular load value of the server S is less than or equal to α times the regular average load value, and the regular load value is more than α times the regular average load value. If it is larger, the server S + i mod n (i ==
1, 2, ..., N-1) means for sequentially searching whether the load value is β times or less of the average load value, and access this server as soon as a server satisfying the condition is found according to the search result. And means to decide what to do.

【0013】本発明の第二の観点は、クライアントから
のn台のサーバヘのアクセスを制御する負荷分散制御方
法である。
A second aspect of the present invention is a load balancing control method for controlling access from a client to n servers.

【0014】ここで、本発明の特徴とするところは、特
定周期もしくはクライアントからの要求を受付けるごと
に前記n台のサーバについてあらかじめ定められた負荷
測定項目をそれぞれ測定し、前記n台のサーバの負荷値
をそれぞれ得るとともにそれらの平均負荷値を計算して
おき、クライアントからの要求を受付けるごとに要求デ
ータの識別情報に対するハッシュ値を算出し、このハッ
シュ値に対応したサーバS(0≦S≦n−1)を決定
し、あらかじめ定められた負荷分散実行係数α(>1)
および負荷分散許諾係数β(α≧β≧1)により、この
サーバSの負荷値が平均負荷値のα倍以下であればこの
サーバSにアクセスすることを決定し、そうでない場合
は、サーバS+i mod n(i=1、2、‥・、n−
1)の負荷値が平均負荷値のβ倍以下であるかを順次調
べ、その条件を満たすこのサーバが見つかり次第このサ
ーバにアクセスすることを決定して処理を終了するとこ
ろにある。
Here, a feature of the present invention is that predetermined load measurement items are measured for each of the n servers each time a specific period or a request from a client is received, and the load measurement items of the n servers are measured. The load values are obtained and the average load values thereof are calculated, and the hash value for the identification information of the request data is calculated each time the request from the client is received, and the server S (0≤S≤ n-1), and a predetermined load balancing execution coefficient α (> 1)
And the load balancing permission coefficient β (α ≧ β ≧ 1), it is determined to access the server S if the load value of the server S is equal to or less than α times the average load value, and if not, the server S + i. mod n (i = 1, 2, ..., N-
Whether or not the load value of 1) is less than or equal to β times the average load value is sequentially examined, and as soon as a server satisfying the condition is found, it is decided to access this server and the process is terminated.

【0015】あるいは、前記n台のサーバにそれぞれ性
能の違いがある場合には、前記n台のサーバの最大性能
値があらかじめそれぞれ与えられ、特定周期もしくはク
ライアントからの要求を受付けるごとに、前記n台のサ
ーバについてあらかじめ定められた負荷測定項目をそれ
ぞれ測定し、前記n台のサーバの負荷値をそれぞれ得
て、それらを個々の最大性能値によって割り込むことに
より正規負荷値とするとともにそれらに基づいて正規平
均負荷値を計算しておき、クライアントからの要求を受
付けるごとに要求データの識別情報に対するハッシュ値
を算出し、このハッシュ値に対応したサーバS(0≦S
≦n−1)を決定し、あらかじめ定められた負荷分散実
行係数α(>1)および負荷分散許諾係数β(α≧β≧
1)によりこのサーバSの正規負荷値が正規平均負荷値
のα倍以下であればこのサーバSにアクセスすることを
決定し、そうでない場合はサーバS+i mod n(i
=1、2、・‥、n−1)の負荷値が平均負荷値のβ倍
以下であるかを順次調べ、その条件を満たすこのサーバ
が見つかり次第このサーバにアクセスすることを決定し
て処理を終了するところにある。
Alternatively, when there is a difference in performance among the n servers, the maximum performance values of the n servers are given in advance, and the n values are given each time a specific period or a request from a client is accepted. Each of the predetermined load measurement items for each server is obtained, the load value of each of the n servers is obtained, and each of them is interrupted by the maximum performance value to obtain a normal load value and based on them. A normal average load value is calculated, a hash value for the identification information of the request data is calculated each time a request from the client is received, and the server S (0 ≦ S
≤n-1) is determined, and a predetermined load balancing execution coefficient α (> 1) and load balancing permission coefficient β (α ≧ β ≧
According to 1), if the regular load value of this server S is less than or equal to α times the regular average load value, it is decided to access this server S, and if not, the server S + i mod n (i
, 1, ..., N-1) are sequentially checked to see if the load value is less than or equal to β times the average load value, and as soon as a server satisfying that condition is found, access to this server is determined and processed. Is about to end.

【0016】本発明の第三の観点は、所定のハードウェ
アと、このハードウェアにインストールされた所定の基
本ソフトウェアとを備えたコンピュータ装置に、さらに
インストールすることによりそのコンピュータ装置を本
発明の負荷分散装置に相応する装置とするソフトウェア
が記録された記録媒体である。
According to a third aspect of the present invention, a computer device provided with predetermined hardware and predetermined basic software installed in the hardware further installs the computer device on the load of the present invention. It is a recording medium in which software is recorded as a device corresponding to the dispersing device.

【0017】これにより、要求データの識別情報を考慮
して、キャッシュデータの再利用率を高めるとともに、
精度の高い負荷分散制御を実現し、ネットワークサービ
スの健全性を確保するとともに、その制御処理はシンプ
ルであるため、制御負荷が低く、多くのクライアントの
要求を扱うことができるスケーラビリテイを有する。
Thus, the reuse rate of the cache data is increased in consideration of the identification information of the request data, and
It realizes highly accurate load distribution control, ensures the soundness of network services, and because the control process is simple, it has a low control load and has scalability to handle the requests of many clients.

【0018】[0018]

【発明の実施の形態】本発明実施例の負荷分散装置の構
成を図1ないし図3を参照して説明する。図1および図
2は本発明実施例の負荷分散装置により要求データを取
得する動作を説明するための図である。図3は本発明実
施例の負荷分散装置の要部ブロック構成図である。
BEST MODE FOR CARRYING OUT THE INVENTION The configuration of a load balancer according to an embodiment of the present invention will be described with reference to FIGS. 1 and 2 are diagrams for explaining the operation of acquiring request data by the load balancer according to the embodiment of the present invention. FIG. 3 is a block diagram of a main part of the load balancer according to the embodiment of the present invention.

【0019】本発明は、図1および図2に示すように、
クライアント100〜103を収容しこのクライアント
100〜103からのサーバ120〜123ヘのアクセ
スを制御する負荷分散制御装置110および111であ
る。
The present invention, as shown in FIG. 1 and FIG.
Load distribution control devices 110 and 111 that accommodate clients 100 to 103 and control access from the clients 100 to 103 to the servers 120 to 123.

【0020】ここで、本発明の特徴とするところは、本
発明第一実施例の負荷分散制御装置110および111
は、特定周期もしくはクライアント100〜103から
の要求を受付けるごとにサーバ120〜123について
あらかじめ定められた負荷測定項目をそれぞれ測定し、
この測定結果にしたがってサーバ120〜123の平均
負荷値およびそれぞれの負荷値を計算するサーバ負荷状
況測定部1と、クライアントからの要求を受付けるごと
に要求データの識別情報に対するハッシュ値を算出し、
このハッシュ値に対応したサーバS(0≦S≦n−1)
を決定する本来サーバ決定部2と、あらかじめ定められ
た負荷分散実行係数α(>1)および負荷分散許諾係数
β(α≧β≧1)により前記サーバSの負荷値が平均負
荷値のα倍以下であればこのサーバSにアクセスするこ
とを決定し、前記負荷値が平均負荷値のα倍よりも大き
ければサーバS+i mod n(i=1、2、…、n−
1)の負荷値が平均負荷値のβ倍以下であるかを順次検
索し、この検索結果にしたがってその条件を満たすこの
サーバが見つかり次第このサーバにアクセスすることを
決定する最適サーバ決定部3とを含むところにある。
Here, the feature of the present invention is that the load balancing control devices 110 and 111 of the first embodiment of the present invention.
Measures a predetermined load measurement item for each of the servers 120 to 123 each time a specific period or a request from the client 100 to 103 is accepted,
The server load status measuring unit 1 that calculates the average load value and the respective load values of the servers 120 to 123 according to the measurement result, and the hash value for the identification information of the request data each time the request from the client is accepted,
Server S (0 ≦ S ≦ n−1) corresponding to this hash value
The load value of the server S is α times the average load value according to the original server determining unit 2 that determines the load balancing execution coefficient α (> 1) and the load balancing permission coefficient β (α ≧ β ≧ 1). If it is below, it is decided to access this server S, and if the load value is larger than α times the average load value, the server S + i mod n (i = 1, 2, ..., N−).
An optimum server determination unit 3 that sequentially searches whether the load value of 1) is less than or equal to β times the average load value and determines to access this server as soon as a server satisfying the condition is found according to the search result. Is included.

【0021】あるいは、サーバ120〜123にそれぞ
れ性能の違いがある場合には、サーバ120〜123の
それぞれの最大性能値があらかじめ与えられ、負荷分散
制御装置110および111は、特定周期もしくはクラ
イアント100〜103からの要求を受付けるごとにサ
ーバ120〜123についてあらかじめ定められた負荷
測定項目をそれぞれ測定し、この測定結果にしたがって
サーバ120〜123のそれぞれの負荷値を個々の最大
性能値によって割り込むことにより正規平均負荷値およ
びそれぞれの正規負荷値を計算するサーバ負荷状況測定
部1と、クライアント100〜103からの要求を受付
けるごとに要求データの識別情報に対するハッシュ値を
算出し、このハッシュ値に対応したサーバS(0≦S≦
n−1)を決定する本来サーバ決定部2と、あらかじめ
定められた負荷分散実行係数α(>1)および負荷分散
許諾係数β(α≧β≧1)により前記サーバSの正規負
荷値が正規平均負荷値のα倍以下であればこのサーバS
にアクセスすることを決定し、前記正規負荷値が正規平
均負荷値のα倍よりも大きければサーバS+i mod
n(i==1、2、…、n−1)の負荷値が平均負荷値
のβ倍以下であるかを順次検索し、その検索結果にした
がってその条件を満たすこのサーバが見つかり次第この
サーバにアクセスすることを決定する最適サーバ決定部
3とを備えたところにある。
Alternatively, when there is a difference in performance among the servers 120 to 123, the maximum performance values of the servers 120 to 123 are given in advance, and the load balancing control devices 110 and 111 specify the specific period or the clients 100 to 123. Each time a request from the server 103 is accepted, a predetermined load measurement item is measured for each of the servers 120 to 123, and the load value of each of the servers 120 to 123 is interrupted by each maximum performance value in accordance with the measurement result, so that the regular load measurement items are properly specified. A server load status measuring unit 1 that calculates the average load value and each regular load value, and a hash value for the identification information of the request data every time a request from the client 100 to 103 is received, and a server corresponding to this hash value S (0 ≦ S ≦
The normal load value of the server S is normal based on the original server determining unit 2 that determines n-1) and the predetermined load balancing execution coefficient α (> 1) and load balancing permission coefficient β (α ≧ β ≧ 1). If it is less than α times the average load value, this server S
Access to the server, and if the normal load value is greater than α times the normal average load value, the server S + i mod
It is sequentially searched whether the load value of n (i == 1, 2, ..., N-1) is less than or equal to β times the average load value, and according to the search result, this server that meets the conditions is found. And an optimum server determining unit 3 that determines to access the.

【0022】本発明実施例の負荷分散制御装置110お
よび111は、所定のハードウェアと、このハードウェ
アにインストールされた所定の基本ソフトウェアとを備
えたコンピュータ装置に、さらにインストールすること
によりそのコンピュータ装置を本発明の負荷分散装置に
相応する装置とするソフトウェアが記録された記録媒体
をパーソナル・コンピュータ装置に読み込ませることに
より、このパーソナル・コンピュータ装置を負荷分散装
置110および111に相応する装置として用いる。
The load balancing control devices 110 and 111 according to the embodiment of the present invention are further installed in a computer device provided with predetermined hardware and predetermined basic software installed in the hardware, thereby the computer device. The personal computer device is used as a device corresponding to the load balancing devices 110 and 111 by reading the recording medium on which software is recorded, which is a device corresponding to the load balancing device of the present invention, into the personal computer device.

【0023】あるいは、図1の形態では、クライアント
100〜103上のミドルウェア機能、サーバ120〜
123の一機能、ネットワーク上のアプリケーションス
イッチ(レイヤ7スイッチ)の機能、一次プロキシサー
バ機能として実装することもできる。また、図2の形態
では、クライアント100〜103上のネームサービス
アプリケーション機能、サーバ120〜123の一機
能、ネットワーク上のネームサーバの追加機能として実
装することもできる。
Alternatively, in the form of FIG. 1, the middleware functions on the clients 100 to 103 and the server 120 to
It can also be implemented as one function of 123, a function of an application switch (layer 7 switch) on the network, or a primary proxy server function. Further, in the form of FIG. 2, it can be implemented as a name service application function on the clients 100 to 103, one function of the servers 120 to 123, and an additional function of a name server on the network.

【0024】本発明実施例をさらに詳細に説明する。図
1および図2の符号100から103はデータ取得要求
を発するクライアントである。符号110から111は
本発明実施例の負荷分散制御装置であり、複数台存在し
て構わない。図1および図2では、負荷分散制御装置1
10がクライアント100および101を収容し、負荷
分散制御装置111がクライアント102および103
を収容していることを表している。符号120から12
3が個々のサーバであり、符号140はサーバ群であ
る。
The embodiments of the present invention will be described in more detail. Reference numerals 100 to 103 in FIGS. 1 and 2 denote clients that issue data acquisition requests. Reference numerals 110 to 111 denote load distribution control devices according to the embodiment of the present invention, and a plurality of load distribution control devices may exist. 1 and 2, the load balancing control device 1
10 accommodates the clients 100 and 101, and the load balancing control device 111 controls the clients 102 and 103.
Indicates that the Reference numerals 120 to 12
3 is an individual server, and reference numeral 140 is a server group.

【0025】サーバ群140の情報提供機能は、オリジ
ナルのコンテンツを提供するものであり、それらのコン
テンツはサーバ120から123のいずれからも取得す
ることができる。また、サーバ群140のキャッシュ機
能は、インターネットなどを経由した遠隔サーバ130
〜132よりクライアント100〜103に代わってデ
ータを取得し、サーバ120〜123のキャッシュ領域
に蓄積すると同時に、クライアント100〜103にデ
ータを提供する。
The information providing function of the server group 140 provides original contents, and those contents can be obtained from any of the servers 120 to 123. In addition, the cache function of the server group 140 is provided by the remote server 130 via the Internet or the like.
˜132, instead of the clients 100 to 103, the data is acquired and stored in the cache areas of the servers 120 to 123, and at the same time, the data is provided to the clients 100 to 103.

【0026】蓄積したキャッシュデータは、再度クライ
アント100〜103より同じデータの取得要求が発生
した場合に、遠隔サーバ130〜132から取得し直す
ことなく、再利用してクライアント100〜103に提
供するため、遠隔サーバ130〜132とサーバ120
〜123間のネットワーク資源の消費量を削減するとと
もに、クライアント100〜103のアクセス性を向上
するという特長がある。
The accumulated cache data is reused and provided to the clients 100 to 103 without being reacquired from the remote servers 130 to 132 when the same data acquisition request is made again from the clients 100 to 103. , Remote servers 130-132 and server 120
1 to 123, the consumption amount of network resources is reduced and the accessibility of the clients 100 to 103 is improved.

【0027】本発明の負荷分散制御装置110および1
11は、サーバ120〜123が上記の二つの機能を持
つ場合、もしくはそのうちのいずれかの機能のみをもつ
場合のいずれでも適用できるが、サーバ120〜123
がキャッシュ機能をもつ場合に最も有効である。
Load balancing control devices 110 and 1 of the present invention
11 can be applied when the servers 120 to 123 have the above-mentioned two functions, or when only one of the two functions is available.
Is most effective when has a cache function.

【0028】次に、クライアント101がデータを取得
する流れについて図1を参照して説明する。図1の例
は、クライアント101が負荷分散制御装置110を経
由してサーバ120からデータを取得する場合を示す。
クライアント101は負荷分散制御装置110にデー
タ取得要求を発する。負荷分散制御装置110は一つ
のサーバ120を選択し、そのサーバ120にデータ取
得要求を発する。ここで、サーバ120が要求データを
すでに蓄積している場合はに進む。サーバ120は
要求データの発信元である遠隔サーバ130にデータ取
得要求を発する。遠隔サーバ130はデータをサーバ
120に送信し、サーバ120は取得データをキャッシ
ュ領域に蓄積する。サーバ120は負荷分散制御装置
110にデータを送信する。負荷分散制御機能110
は、取得データをそのままクライアント101に伝送す
る。
Next, the flow of data acquisition by the client 101 will be described with reference to FIG. The example of FIG. 1 illustrates a case where the client 101 acquires data from the server 120 via the load balancing control device 110.
The client 101 issues a data acquisition request to the load balancing control device 110. The load balancing control device 110 selects one server 120 and issues a data acquisition request to the server 120. Here, if the server 120 has already accumulated the requested data, the process proceeds to. The server 120 issues a data acquisition request to the remote server 130 that is the source of the request data. The remote server 130 sends the data to the server 120, and the server 120 stores the acquired data in the cache area. The server 120 transmits data to the load balancing control device 110. Load balancing control function 110
Transmits the acquired data to the client 101 as it is.

【0029】図2のクライアント101がデータを取得
する流れについて説明する。図2の例は、クライアント
101が負荷分散制御装置110のアクセス制御によ
り、サーバ120から直接データを取得する場合を示
す。クライアント101は負荷分散制御装置110に
サーバ120〜123のアドレスを問い合わせる。負
荷分散制御装置110は一つのサーバ120を選択し、
そのアドレスをクライアント101に返信する。クラ
イアント101は改めてサーバ120にデータ取得要求
を発する。ここでサーバ120が要求データをすでに蓄
積している場合はに進む。サーバ120は要求デー
タの発信元である遠隔サーバ130にデータ取得要求を
発する。遠隔サーバ130はデータをサーバ120に
送信し、サーバ120は取得データをキャッシュ領域に
蓄積する。サーバ120はクライアント101にデー
タを送信する。
The flow in which the client 101 of FIG. 2 acquires data will be described. The example of FIG. 2 illustrates a case where the client 101 acquires data directly from the server 120 by the access control of the load distribution control device 110. The client 101 inquires of the load balancing control device 110 about the addresses of the servers 120 to 123. The load balancing control device 110 selects one server 120,
The address is returned to the client 101. The client 101 again issues a data acquisition request to the server 120. If the server 120 has already stored the requested data, the process proceeds to. The server 120 issues a data acquisition request to the remote server 130 that is the source of the request data. The remote server 130 sends the data to the server 120, and the server 120 stores the acquired data in the cache area. The server 120 sends the data to the client 101.

【0030】次に、上位のアプリケーションとしてWW
Wサービスを例に挙げ、本発明実施例の負荷分散制御装
置の動作を図3を参照して具体的に説明する。図3の
「要求データの識別情報」4は、要求データを一意に識
別するための情報であり、WWWではURLの文字列
(例えば、http://www.XXX.XXX/index.html)に
相当する。「アクセス先サーバ」5は負荷分散制御装置
が決定したアクセス先サーバのIPアドレス(例えば、
123.45.67.89)である。管理者が事前に与
えるべき情報として「ネットワークサービスサーバ情
報」6、「負荷測定項目」7、「負荷分散実行係数α」
8、「負荷分散許諾係数β」9がある。
Next, as the upper application, WW
Taking the W service as an example, the operation of the load balancing control apparatus according to the embodiment of the present invention will be specifically described with reference to FIG. The “identification information of request data” 4 in FIG. 3 is information for uniquely identifying the request data, and in the WWW, the character string of the URL (for example, http://www.XXX.XXX/index.html) is used. Equivalent to. The “access destination server” 5 is the IP address of the access destination server determined by the load balancing control device (for example,
123.45.67.89). "Network service server information" 6, "Load measurement item" 7, "Load distribution execution coefficient α" as information that the administrator should give in advance
8 and “load distribution permission coefficient β” 9.

【0031】「ネットワークサービスサーバ情報」6に
は、図4に示すように、「ネットワークサービスサーバ
の台数n」と、各サーバの通し番号(#0〜#n−
1)、IPアドレス、最大性能値が記載されている。た
だし、サーバの処理能力に差がない場合には、最大性能
値の情報は不要である。
In the "network service server information" 6, as shown in FIG. 4, "the number n of network service servers" and the serial number (# 0- # n-) of each server.
1), IP address, and maximum performance value are described. However, if there is no difference in the processing capabilities of the servers, the information on the maximum performance value is unnecessary.

【0032】「負荷測定項目」7には、負荷分散の基準
となる項目を与える。これはアプリケーション、ネット
ワーク環境、トラヒック状況により異なり、サーバ12
0〜123のボトルネック要因を与えるべきである。例
えば、CPU使用率、データ処理頻度、単位時間あたり
のデータ処理量や、それらを組み合わせて数値化した情
報などが挙げられる。このうち、データ処理頻度などの
情報を「負荷測定項目」7として与える場合は、サーバ
120〜123と通信するまでもなく、負荷分散制御装
置110、111内で計算可能である。ただし、負荷分
散制御装置110、111が複数台存在する場合は、他
の負荷分散制御装置110、111の状況は考慮せず、
独立に計算するので十分である。それは、単体の負荷分
散制御装置110、111内にて正常な負荷分散が行わ
れていれば、それらを重ね合わせたサービス全体でも、
正常な負荷分散が行われるからである。
In "load measurement item" 7, an item serving as a reference for load distribution is given. This depends on the application, network environment, and traffic conditions,
It should give a bottleneck factor of 0-123. For example, the CPU usage rate, the data processing frequency, the data processing amount per unit time, and information obtained by combining these values and the like can be cited. Among these, when information such as the data processing frequency is given as the “load measurement item” 7, it can be calculated in the load balancing control devices 110 and 111 without communicating with the servers 120 to 123. However, when there are a plurality of load balancing control devices 110 and 111, the states of the other load balancing control devices 110 and 111 are not considered,
It is sufficient to calculate independently. If normal load distribution is performed in the single load distribution control devices 110 and 111, even if the entire service is a combination of these,
This is because normal load distribution is performed.

【0033】CPU使用率などを「負荷測定項目」7と
して与え負荷分散制御を行う場合は、周期的もしくはク
ライアントからの要求を受け付けるごとに、サーバ負荷
状況測定部1は各サーバと通信を行い、測定値を取得す
る。
When the load distribution control is performed by giving the CPU usage rate or the like as the "load measurement item" 7, the server load status measuring unit 1 communicates with each server periodically or every time a request from the client is accepted. Get measurements.

【0034】「負荷分散実行係数α」(>1)8は、負
荷分散の精度を規定する値である。「負荷分散許諾係数
β」(1≦β≦α)9は比較的負荷の高いサーバに対し
てデータ要求が分散しないようにするための値である。
The "load distribution execution coefficient α"(> 1) 8 is a value that defines the accuracy of load distribution. The “load distribution permission coefficient β” (1 ≦ β ≦ α) 9 is a value for preventing data requests from being distributed to a server having a relatively high load.

【0035】次に内部変数の集合について説明する。内
部変数には「ネットワークサービスサーバの(正規)負
荷値」10、「(正規)平均負荷値」11がある。「ネ
ットワークサービスサーバの(正規)負荷値」10は、
負荷測定項目に関する数量値である。本発明は、これら
の値によりサーバの正常状態または過負荷状態を判断し
て、負荷分散制御を行う。サーバ120〜123の性能
にそれぞれ違いがあり、正規負荷値を求める必要がある
場合には、(負荷測定項目に関する数量値)/(「ネッ
トワークサービスサーバ情報」に記載の最大性能値)に
よって得ればよい。「(正規)平均負荷値」11はすべ
ての「ネットワークサービスサーバの(正規)負荷値」
10の平均値である。
Next, a set of internal variables will be described. The internal variables include “(normal) load value of network service server” 10 and “(normal) average load value” 11. “(Regular) load value of network service server” 10 is
It is a quantity value related to load measurement items. The present invention determines the normal state or overloaded state of the server based on these values and performs load balancing control. When there is a difference in the performance of the servers 120 to 123 and it is necessary to obtain the regular load value, it can be obtained by (quantity value related to load measurement item) / (maximum performance value described in "Network service server information"). Good. “(Regular) average load value” 11 is all “(normal) load value of network service server”
It is an average value of 10.

【0036】本来サーバ決定部2について図5を参照し
て説明する。最適サーバ決定部3より「要求データの
識別情報」4(例:http://www.XXX.XXX/index.h
tml)を受け取る。「ネットワークサービスサーバ情
報」6にアクセスし、サーバ台数nを受け取る。「要
求データの識別情報」4に対してハッシュ関数を適用
し、#0〜#n−1のハッシュ値を得る。ハッシュ関数
には、MD5などの手法を用いて、「要求データの識別
情報」4の集合が一様に#0〜#n−1に分散されるよ
うにする必要がある。ハッシュ値を最適サーバ決定部
3に返す。
Originally, the server determination unit 2 will be described with reference to FIG. From the optimum server determination unit 3, “identification information of request data” 4 (example: http://www.XXX.XXX/index.h
tml). The “network service server information” 6 is accessed and the number n of servers is received. A hash function is applied to "identification information of request data" 4 to obtain hash values # 0 to # n-1. For the hash function, it is necessary to use a method such as MD5 so that the set of "identification information of request data" 4 is uniformly distributed in # 0 to # n-1. The hash value is returned to the optimum server determination unit 3.

【0037】サーバ負荷状況測定部1について図6およ
び図7を用いて説明する。ここでは、「負荷測定項目」
7がデータ要求頻度(単位時間あたりの要求数)である
とする。周期的(tl秒とする)にそれまでの累積処理
数の計測を行い、「ネットワークサービスサーバの負荷
値」10は過去t2(t2=a・tl、aは自然数)秒
間の要求数にて与える。
The server load condition measuring unit 1 will be described with reference to FIGS. 6 and 7. Here, "Load measurement item"
7 is the data request frequency (the number of requests per unit time). The cumulative processing number up to that point is measured periodically (t1 seconds), and the “load value of the network service server” 10 is given by the number of requests in the past t2 (t2 = a · tl, a is a natural number) seconds. .

【0038】上記の処理を行うため図6のようなデータ
構造を与える。配列600はサーバの通し番号と、これ
まで累積処理数とを表すカウンタの対応を保持してい
る。本発明の負荷分散制御装置が要求データのアクセス
先をp(0≦p≦n−1)と定めた場合に、通し番号p
のカウンタに1を加算する。このカウンタ値はtl秒ご
とに測定され、データベース601のレコードとして記
録される。データベース601は過去t2秒間のレコー
ドを保持し、最新のレコード値とt2秒前のレコード値
の差を「ネットワークサービスサーバの負荷値」10と
する。
To perform the above processing, a data structure as shown in FIG. 6 is given. The array 600 holds the correspondence between the serial numbers of the servers and the counters representing the cumulative number of processes performed so far. When the load balancing control device of the present invention determines that the access destination of the requested data is p (0 ≦ p ≦ n−1), the serial number p
Add 1 to the counter. This counter value is measured every tl seconds and recorded as a record in the database 601. The database 601 holds records for the past t2 seconds, and the difference between the latest record value and the record value before t2 seconds is defined as "load value of network service server" 10.

【0039】図7を用いてサーバ負荷状況測定部1のフ
ローを説明する。ここでは、各ネットワークサービスサ
ーバの測定タイミングは、スライドさせている。測定
周期tlを設定する。「ネットワークサービスサーバ
情報」6より、サーバ台数nを得る。内部変数iを0
に初期化する。iを引数として、サブプロセスLを呼
び出す。iをインクリメントする。ただし、i=nと
なった場合は、i=0とする。tl/n秒待ってに
戻る。
The flow of the server load status measuring unit 1 will be described with reference to FIG. Here, the measurement timing of each network service server is slid. Set the measurement period tl. The number of servers n is obtained from the “network service server information” 6. Internal variable i is 0
Initialize to. The subprocess L is called with i as an argument. Increment i. However, when i = n, i = 0. Wait tl / n seconds and return to.

【0040】サブプロセスLのフローを説明する。配
列600の通し番号iのカウンタ値を取得する。その
値をデータベース601の通し番号iの新規レコードと
して追加する。その際に、t2秒以前のレコードが存
在する場合は削除する。通し番号iに関して、最新レ
コード値とt2秒前のレコード値の差を「ネットワーク
サービスサーバiの負荷値」として記録する。
The flow of the sub-process L will be described. The counter value of the serial number i in the array 600 is acquired. The value is added as a new record of the serial number i in the database 601. At that time, if a record before t2 seconds exists, it is deleted. For the serial number i, the difference between the latest record value and the record value t2 seconds ago is recorded as the “load value of the network service server i”.

【0041】図8を用いて最適サーバ決定部3のフロー
を説明する。「要求データの識別情報」4(例:htt
p://www.XXX.XXX/index.html)を取得する。本
来サーバ決定部2を呼び出し、要求データに対する本来
サーバSを取得する。サーバSの負荷値は「ネットワ
ークサービスサーバの負荷値」10より得られる。サー
バSの負荷値≦「平均負荷値」×αの場合はサーバSを
アクセス先として終了する。そうでない場合はに進
む。内部変数j=1に初期化する。サーバS+j
mod nの負荷値≦「平均負荷値」×βの場合は、そ
のサーバをアクセス先と決定して終了する。そうでない
場合はjの値をインクリメントしてを繰り返す。ここ
で、サーバの中で、負荷値が平均負荷値以下であるサー
バが必ず一つは存在することが明らかであるため、前記
の繰り返し処理は必ず終了する。
The flow of the optimum server determining unit 3 will be described with reference to FIG. "Identification information of request data" 4 (Example: htt
p: //www.XXX.XXX/index.html). Originally, the server determining unit 2 is called to acquire the original server S for the requested data. The load value of the server S is obtained from “load value of network service server” 10. When the load value of the server S ≦ “average load value” × α, the server S ends as the access destination. If not, proceed to. Initialize the internal variable j = 1. Server S + j
If the load value of mod n ≦ “average load value” × β, the server is determined to be the access destination and the process ends. Otherwise, increment the value of j and repeat. Here, it is clear that there is always one server whose load value is less than or equal to the average load value among the servers, so the above-described iterative process is always terminated.

【0042】ここで、負荷分散実行係数αおよび負荷分
散許諾係数βについて説明する。前記の最適サーバ決定
部3のフローから明らかなように、負荷分散実行係数α
を規定することにより、サーバのうちで最も高負荷サー
バは平均負荷値のたかだかα倍の負荷にしかならないよ
うに負荷分散制御が行われる。αが1に近いほど、負荷
分散の精度を増すことができる。しかしながら、その場
合はデータ要求が本来サーバに割り当てられない確率が
高くなる。キャッシュ機能の有効性の観点からは、同じ
データは同じサーバ(すなわち本来サーバ)で処理した
場合に、キャッシュデータの再利用率が高まる。本来サ
ーバ以外ではキャッシュデータの再利用はあまり期待で
きない。しかしながら、本来サーバSに対する分散先を
S+imod n(i=1、2、…)と固定的に優先順
序付けているため、iの値が小さいほど、キャッシュデ
ータの再利用が期待できる。この仕組みは、キャッシュ
機能の有効性を高めるものといえる。上記の理由によ
り、αの値は適切に調整するのが望ましい。
Here, the load distribution execution coefficient α and the load distribution permission coefficient β will be described. As is clear from the flow of the optimum server determination unit 3, the load balancing execution coefficient α
By defining, the load balancing control is performed so that the highest-loaded server among the servers has a load that is at most α times the average load value. The closer α is to 1, the more accurate the load balancing can be. However, in that case, the probability that the data request is originally not assigned to the server increases. From the viewpoint of the effectiveness of the cache function, when the same data is processed by the same server (that is, the original server), the reuse rate of cache data increases. Reuse of cache data cannot be expected so much except for servers. However, since the distribution destination for the server S is fixedly prioritized as S + immod n (i = 1, 2, ...), the cache data can be reused as the value of i decreases. It can be said that this mechanism enhances the effectiveness of the cache function. For the above reasons, it is desirable to adjust the value of α appropriately.

【0043】負荷分散許諾係数β(1≦β≦α)は比較
的負荷の高いネットワークサービスサーバに対してデー
タ要求が分散しないようにするためである。これは、電
話網における回線留保技術によく似た発想であり、ある
データ要求をサーバAに分散したことによって、サーバ
Aの負荷値がαを超え、本来サーバAに割り当てられる
べきデータ要求を他のサーバに分散しなければいけない
状況を回避する。ハッシュ関数によって割り当てられた
本来サーバに要求を発することを基本としているので、
本来サーバ以外におけるキャッシュデータの再利用率は
高くない。全体として、データ要求の分散頻度は少ない
方がキャッシュを有効に機能させることができる。βが
1の場合、本来サーバヘの割り当てを溢れたデータ要求
は、平均負荷値以下のサーバに分散され、負荷分散効率
はよい。しかしながら、分散先のサーバは負荷の少ない
サーバに限られるため、前記の優先順序にしたがって
も、キャッシュデータの再利用はあまり期待できない。
上記の理由により、βの値は適切に調整するのが望まし
い。
The load distribution permission coefficient β (1 ≦ β ≦ α) is for preventing the data request from being distributed to the network service server having a relatively high load. This is an idea similar to the line reservation technology in the telephone network. By distributing a certain data request to the server A, the load value of the server A exceeds α, and the data request that should be originally assigned to the server A is Avoid situations where you have to distribute to different servers. Since it is basically issued to the server originally assigned by the hash function,
Originally, the reuse rate of cache data other than the server is not high. As a whole, the less frequently the data requests are distributed, the more effectively the cache can function. When β is 1, the data requests that originally overflowed the allocation to the servers are distributed to the servers having the average load value or less, and the load distribution efficiency is good. However, since the distribution destination server is limited to a server with a light load, reuse of the cache data cannot be expected so much even if the priority order is followed.
For the above reason, it is desirable to adjust the value of β appropriately.

【0044】本発明は非常にシンプルな処理によって実
現できるため、制御処理負荷も比較的低く、多くのクラ
イアントの要求を扱うことができるというスケーラビリ
テイを有する。また専用ICによるハードウェア化も容
易と予想される。
Since the present invention can be realized by a very simple process, the control processing load is relatively low, and the demands of many clients can be handled. Further, it is expected that the hardware can be easily implemented by using a dedicated IC.

【0045】このように本発明実施例の負荷分散制御装
置では、各要求データに対し、その識別情報をハッシュ
関数によりサーバを決定することを基本としているた
め、同じデータは同じサーバで取り扱われる頻度が高
い。よって、キャッシュデータの再利用率を高められる
ため、遠隔サーバとサーバ間におけるネットワーク資源
消費量の削減や、クライアントヘのアクセス性の向上の
効果が期待できる。さらに、負荷分散実行係数αを規定
することにより、任意のサーバの負荷は、平均負荷の高
々α倍にしかならないという負荷分散制御の精度を達成
し、サービス品質の安定化およびサービスの信頼性向上
の効果が期待できる。さらに。負荷分散制御機構はいた
ってシンプルであるため、制御処理負荷も比較的低く、
多くのクライアントの要求を扱うことができるというス
ケーラビリテイがある。
As described above, in the load balancing control apparatus according to the embodiment of the present invention, since the identification information of each request data is used to determine the server by the hash function, the same data is handled by the same server. Is high. Therefore, since the reuse rate of cache data can be increased, the effects of reducing the amount of network resources consumed between remote servers and improving the accessibility to clients can be expected. Furthermore, by defining the load distribution execution coefficient α, the load distribution control accuracy is achieved in which the load of an arbitrary server is no more than α times the average load, stabilizing the service quality and improving the reliability of the service. The effect of can be expected. further. Since the load balancing control mechanism is simple, the control processing load is also relatively low,
There is a scalability that can handle the requests of many clients.

【0046】[0046]

【発明の効果】以上説明したように、本発明によれば、
要求データの識別情報を考慮して、キャッシュデータの
再利用率を高めるとともに、精度の高い負荷分散制御を
実現し、ネットワークサービスの健全性を確保するとと
もに、その制御処理はシンプルであるため、制御負荷が
低く、多くのクライアントの要求を扱うことができるス
ケーラビリテイを有する。
As described above, according to the present invention,
In consideration of the identification information of the request data, while increasing the reuse rate of cache data, realizing highly accurate load balancing control, ensuring the soundness of network services, and controlling the control process because it is simple, It has low scalability and can handle the requests of many clients.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明実施例の負荷分散制御装置により要求デ
ータを取得する動作を説明するための図。
FIG. 1 is a diagram for explaining an operation of acquiring request data by a load distribution control device according to an embodiment of the present invention.

【図2】本発明実施例の負荷分散制御装置により要求デ
ータを取得する動作を説明するための図。
FIG. 2 is a diagram for explaining an operation of acquiring request data by the load distribution control device according to the embodiment of this invention.

【図3】本発明実施例の負荷分散制御装置の要部ブロッ
ク構成図。
FIG. 3 is a block diagram of a main part of the load distribution control device according to the embodiment of the present invention.

【図4】「ネットワークサービスサーバ情報」の例を示
す図。
FIG. 4 is a diagram showing an example of “network service server information”.

【図5】本来サーバ決定部の動作を示すフローチャー
ト。
FIG. 5 is a flowchart originally showing the operation of the server determination unit.

【図6】サーバ負荷状況測定部のためのデータ配列およ
びデータベースの構成図。
FIG. 6 is a configuration diagram of a data array and a database for the server load status measurement unit.

【図7】サーバ負荷状況測定部の動作を示すフローチャ
ート。
FIG. 7 is a flowchart showing the operation of a server load status measuring unit.

【図8】最適サーバ決定部の動作を示すフローチャー
ト。
FIG. 8 is a flowchart showing the operation of the optimum server determination unit.

【符号の説明】[Explanation of symbols]

1 サーバ負荷状況測定部 2 本来サーバ決定部 3 最適サーバ決定部 4 要求データの識別情報 5 アクセス先サーバ 6 ネットワークサービスサーバ情報 7 負荷測定項目 8 負荷分散実行係数α 9 負荷分散許諾係数β 10 ネットワークサービスサーバの(正規)負荷値 11 (正規)平均負荷値 100〜103 クライアント 110、111 負荷分散制御装置 120〜123 サーバ 130〜132 遠隔サーバ 140 サーバ群 600 配列 601 データベース 1 Server load status measurement unit 2 Originally the server decision unit 3 Optimal server determination unit 4 Request data identification information 5 Access destination server 6 Network service server information 7 Load measurement items 8 Load balancing execution coefficient α 9 Load balancing permission coefficient β 10 (normal) load value of network service server 11 (Regular) average load value 100-103 clients 110, 111 load balancing control device 120-123 servers 130-132 remote server 140 servers 600 arrays 601 database

───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平11−224219(JP,A) 特開 平11−96128(JP,A) 特開 平11−27320(JP,A) 特開2000−207270(JP,A) 中島伊佐美 堀米英明 松村龍太郎 巳波弘佳,サーバ集中トラヒック分散技 術,NTT技術ジャーナル 1997.11, 1997年11月 1日,第9巻 第11号, p.27−29 (58)調査した分野(Int.Cl.7,DB名) G06F 13/00 G06F 15/16 ─────────────────────────────────────────────────── ─── Continuation of the front page (56) Reference JP-A-11-224219 (JP, A) JP-A-11-96128 (JP, A) JP-A-11-27320 (JP, A) JP-A-2000-207270 (JP, A) Nakajima Isami Hideaki Horimai Ryutaro Matsumura Hiroka Minami, Server Centralized Traffic Distribution Technology, NTT Technology Journal 1997.11, November 1, 1997, Volume 11, No. 11, p. 27-29 (58) Fields surveyed (Int.Cl. 7 , DB name) G06F 13/00 G06F 15/16

Claims (6)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 クライアントを収容しこのクライアント
からのn台のサーバヘのアクセスを制御する手段を備え
た負荷分散制御装置において、 前記アクセスを制御する手段は、特定周期もしくはクラ
イアントからの要求を受付けるごとに前記n台のサーバ
についてあらかじめ定められた負荷測定項目をそれぞれ
測定する手段と、この測定結果にしたがって前記n台の
サーバの平均負荷値およびそれぞれの負荷値を計算する
手段と、クライアントからの要求を受付けるごとに要求
データの識別情報に対するハッシュ値を算出する手段
と、このハッシュ値に対応したサーバS(0≦S≦n−
1)を決定する手段と、あらかじめ定められた負荷分散
実行係数α(>1)および負荷分散許諾係数β(α≧β
≧1)により前記サーバSの負荷値が平均負荷値のα倍
以下であればこのサーバSにアクセスすることを決定す
る手段と、前記負荷値が平均負荷値のα倍よりも大きけ
ればサーバS+imod n(i=1、2、…、n−
1)の負荷値が平均負荷値のβ倍以下であるかを順次検
索する手段と、この検索結果にしたがってその条件を満
たすこのサーバが見つかり次第このサーバにアクセスす
ることを決定する手段とを含むことを特徴とする負荷分
散制御装置。
1. A load balancing control device comprising means for accommodating a client and controlling access to n servers from the client, wherein the means for controlling access receives a request from a specific cycle or a client. A means for measuring a predetermined load measurement item for each of the n servers, a means for calculating an average load value and each load value for the n servers according to the measurement result, and a request from a client Means for calculating the hash value for the identification information of the request data and the server S (0 ≦ S ≦ n− corresponding to this hash value.
1) and a predetermined load balancing execution coefficient α (> 1) and a load balancing permission coefficient β (α ≧ β
≧ 1) means for deciding to access the server S if the load value of the server S is less than or equal to the average load value α times, and server S + imod if the load value is greater than the average load value α times. n (i = 1, 2, ..., N-
It includes means for sequentially searching whether the load value of 1) is less than or equal to β times the average load value, and means for deciding to access this server as soon as a server satisfying the condition is found according to the search result. A load balancing control device characterized by the above.
【請求項2】 クライアントを収容しこのクライアント
からのn台のサーバへのアクセスを制御する手段を備え
た負荷分散制御装置において、 前記n台のサーバのそれぞれの最大性能値があらかじめ
与えられ、 前記アクセスを制御する手段は、特定周期もしくはクラ
イアントからの要求を受付けるごとに前記n台のサーバ
についてあらかじめ定められた負荷測定項目をそれぞれ
測定する手段と、この測定結果にしたがって前記n台の
サーバのそれぞれの負荷値を個々の最大性能値によって
割り込むことにより前記n台の正規平均負荷値およびそ
れぞれの正規負荷値を計算する手段と、クライアントか
らの要求を受付けるごとに要求データの識別情報に対す
るハッシュ値を算出する手段と、このハッシュ値に対応
したサーバS(0≦S≦n−1)を決定する手段と、あ
らかじめ定められた負荷分散実行係数α(>1)および
負荷分散許諾係数β(α≧β≧1)により前記サーバS
の正規負荷値が正規平均負荷値のα倍以下であればこの
サーバSにアクセスすることを決定する手段と、前記正
規負荷値が正規平均負荷値のα倍よりも大きければサー
バS+imod n(i=1、2、…、n−1)の負荷
値が平均負荷値のβ倍以下であるかを順次検索する手段
と、その検索結果にしたがってその条件を満たすこのサ
ーバが見つかり次第このサーバにアクセスすることを決
定する手段とを備えたことを特徴とする負荷分散制御装
置。
2. A load balancing control device comprising means for accommodating a client and controlling access from the client to n servers, wherein a maximum performance value of each of the n servers is given in advance, and The means for controlling access measures the predetermined load measurement items for the n servers each time a specific period or a request from a client is accepted, and each of the n servers according to the measurement result. Means for calculating the n normal load values and the respective normal load values by interrupting the load value of each by the maximum performance value, and a hash value for the identification information of the request data each time the request from the client is accepted. A means for calculating and a server S (0≤S≤n-1 corresponding to this hash value Means for determining, said by a predetermined load distribution performance factor alpha (> 1) and the load distribution permission coefficient β (α ≧ β ≧ 1) server S
Means for deciding to access this server S if the normal load value of is less than or equal to α times the normal average load value, and if the normal load value is greater than α times the normal average load value, the server S + immod n (i = 1, 2, ..., N-1) means for sequentially searching whether the load value is less than or equal to β times the average load value, and accesses this server as soon as a server satisfying the condition is found according to the search result. And a means for deciding to do so.
【請求項3】 クライアントからのn台のサーバヘのア
クセスを制御する負荷分散制御方法において、 特定周期もしくはクライアントからの要求を受付けるご
とに前記n台のサーバについてあらかじめ定められた負
荷測定項目をそれぞれ測定し、前記n台のサーバの負荷
値をそれぞれ得るとともにそれらの平均負荷値を計算し
ておき、クライアントからの要求を受付けるごとに要求
データの識別情報に対するハッシュ値を算出し、このハ
ッシュ値に対応したサーバS(0≦S≦n−1)を決定
し、あらかじめ定められた負荷分散実行係数α(>1)
および負荷分散許諾係数β(α≧β≧1)により、この
サーバSの負荷値が平均負荷値のα倍以下であればこの
サーバSにアクセスすることを決定し、そうでない場合
は、サーバS+imodn(i=1、2、…、n−1)
の負荷値が平均負荷値のβ倍以下であるかを順次調べ、
その条件を満たすこのサーバが見つかり次第このサーバ
にアクセスすることを決定して処理を終了することを特
徴とする負荷分散制御方法。
3. A load distribution control method for controlling access from a client to n servers, wherein a predetermined load measurement item is measured for each of the n servers each time a specific period or a request from the client is accepted. Then, the load value of each of the n servers is obtained and the average load value thereof is calculated, and the hash value for the identification information of the request data is calculated each time the request from the client is accepted, and the hash value is corresponded to. Which server S (0 ≦ S ≦ n−1) has been determined, and a predetermined load balancing execution coefficient α (> 1)
And the load distribution permission coefficient β (α ≧ β ≧ 1), it is determined to access the server S if the load value of the server S is less than or equal to α times the average load value, and if not, the server S + imdn (I = 1, 2, ..., N-1)
It is sequentially checked whether the load value of is less than β times the average load value,
A load balancing control method characterized in that as soon as a server satisfying the condition is found, it is decided to access this server and the processing is terminated.
【請求項4】 クライアントからのn台のサーバへのア
クセスを制御する負荷分散制御方法において、 前記n台のサーバの最大性能値があらかじめそれぞれ与
えられ、特定周期もしくはクライアントからの要求を受
付けるごとに、前記n台のサーバについてあらかじめ定
められた負荷測定項目をそれぞれ測定し、前記n台のサ
ーバの負荷値をそれぞれ得て、それらを個々の最大性能
値によって割り込むことにより正規負荷値とするととも
にそれらに基づいて前記n台の正規平均負荷値を計算し
ておき、クライアントからの要求を受付けるごとに要求
データの識別情報に対するハッシュ値を算出し、このハ
ッシュ値に対応したサーバS(0≦S≦n−1)を決定
し、あらかじめ定められた負荷分散実行係数α(>1)
および負荷分散許諾係数β(α≧β≧1)によりこのサ
ーバSの正規負荷値が正規平均負荷値のα倍以下であれ
ばこのサーバSにアクセスすることを決定し、そうでな
い場合はサーバS+imodn(i==1、2、…、n
−1)の負荷値が平均負荷値のβ倍以下であるかを順次
調べ、その条件を満たすこのサーバが見つかり次第この
サーバにアクセスすることを決定して処理を終了するこ
とを特徴とする負荷分散制御方法。
4. A load balancing control method for controlling access from a client to n servers, wherein maximum performance values of the n servers are given in advance, and a specific cycle or every time a request from a client is accepted. , The load measurement values of the n servers are respectively measured, the load values of the n servers are respectively obtained, and the load values are interrupted by the individual maximum performance values to obtain the normal load values. The normal load average value of the n units is calculated based on the above, a hash value for the identification information of the request data is calculated every time the request from the client is received, and the server S (0 ≦ S ≦ n-1), and a predetermined load balancing execution coefficient α (> 1)
And the load distribution permission coefficient β (α ≧ β ≧ 1), it is determined that the server S is accessed if the regular load value of this server S is less than or equal to α times the regular average load value, and if not, the server S + imdn (I == 1, 2, ..., N
A load characterized by sequentially checking whether the load value of -1) is less than or equal to β times the average load value, deciding to access this server as soon as a server satisfying the condition is found, and ending the processing. Distributed control method.
【請求項5】 所定のハードウェアと、このハードウェ
アにインストールされた所定の基本ソフトウェアとを備
えたコンピュータ装置に、さらにインストールすること
によりそのコンピュータ装置に特定周期もしくはクライ
アントからの要求を受付けるごとにn台のサーバについ
てあらかじめ定められた負荷測定項目をそれぞれ測定
し、前記n台のサーバの負荷値をそれぞれ得るとともに
それらの平均負荷値を計算しておき、クライアントから
の要求を受付けるごとに要求データの識別情報に対する
ハッシュ値を算出し、このハッシュ値に対応したサーバ
S(0≦S≦n−1)を決定し、あらかじめ定められた
負荷分散実行係数α(>1)および負荷分散許諾係数β
(α≧β≧1)により、このサーバSの負荷値が平均負
荷値のα倍以下であればこのサーバSにアクセスするこ
とを決定し、そうでない場合は、サーバS+imodn
(i=1、2、…、n−1)の負荷値が平均負荷値のβ
倍以下であるかを順次調べ、その条件を満たすこのサー
バが見つかり次第このサーバにアクセスすることを決定
して処理を終了する手順を実行させるソフトウェアが記
録された記録媒体。
5. A specific cycle or client is installed in a computer device having predetermined hardware and predetermined basic software installed in the hardware, thereby installing the specific period or client in the computer device.
Each time it receives a request from Ant,
Load measurement items that are predetermined by
And obtain the load values of the n servers, respectively.
From the client, calculate the average load value
Each time the request of
A server that calculates the hash value and corresponds to this hash value
S (0 ≦ S ≦ n−1) is determined and predetermined
Load balancing execution coefficient α (> 1) and load balancing permission coefficient β
Due to (α ≧ β ≧ 1), the load value of this server S is negative on average.
If it is less than α times the load value, you can access this server S.
And if not, server S + imdn
The load value of (i = 1, 2, ..., N-1) is the average load value β
It is sequentially checked whether it is less than double, and this server that satisfies the condition is
Decided to access this server as soon as it is found
A recording medium on which software for executing a procedure for ending the process is recorded.
【請求項6】 所定のハードウェアと、このハードウェ
アにインストールされた所定の基本ソフトウェアとを備
えたコンピュータ装置に、さらにインストールすること
によりそのコンピュータ装置に前記n台のサーバの最大
性能値があらかじめそれぞれ与えられ、特定周期もしく
はクライアントからの要求を受付けるごとに、前記n台
のサーバについてあらかじめ定められた負荷測定項目を
それぞれ測定し、前記n台のサーバの負荷値をそれぞれ
得て、それらを個々の最大性能値によって割り込むこと
により正規負荷値とするとともにそれらに基づいて前記
n台の正規平均負荷値を計算しておき、クライアントか
らの要求を受付けるごとに要求データの識別情報に対す
るハッシュ値を算出し、このハッシュ値に対応したサー
バS(0≦S≦n−1)を決定し、あらかじめ定められ
た負荷分散実行係数α(>1)および負荷分散許諾係数
β(α≧β≧1)によりこのサーバSの正規負荷値が正
規平均負荷値のα倍以下であればこのサーバSにアクセ
スすることを決定し、そうでない場合はサーバS+im
odn(i==1、2、…、n−1)の負荷値が平均負
荷値のβ倍以下であるかを順次調べ、その条件を満たす
このサーバが見つかり次第このサーバにアクセスするこ
とを決定して処理を終了する手順を実行させるソフトウ
ェアを記録した記録媒体
6. Predetermined hardware and this hardware
The specified basic software installed on
Installed on the computer device
The maximum number of the above n servers can be
Performance values are given in advance, and the specific cycle
Each time it receives a request from a client,
Predetermined load measurement items for each server
Each is measured and the load value of each of the n servers is measured.
Get and interrupt them by individual maximum performance values
The normal load value is set according to
Calculate the normal average load value of n units,
Each time the request is received, the identification information of the request data
The hash value that is calculated is calculated, and the server corresponding to this hash value is calculated.
S (0 ≦ S ≦ n−1) is determined and determined in advance.
Load balancing execution coefficient α (> 1) and load balancing permission coefficient
The normal load value of this server S is positive due to β (α ≧ β ≧ 1)
If it is less than α times the standard load value, access to this server S
Server S + im otherwise
The load value of odn (i == 1, 2, ..., N-1) is negative in average.
Sequentially check if it is less than β times the load value and satisfy the condition
You can access this server as soon as it is found.
The software that executes the procedure for deciding
A recording medium that records the air .
JP2000114008A 2000-04-14 2000-04-14 Load distribution control device and method, and recording medium Expired - Lifetime JP3502009B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000114008A JP3502009B2 (en) 2000-04-14 2000-04-14 Load distribution control device and method, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000114008A JP3502009B2 (en) 2000-04-14 2000-04-14 Load distribution control device and method, and recording medium

Publications (2)

Publication Number Publication Date
JP2001297046A JP2001297046A (en) 2001-10-26
JP3502009B2 true JP3502009B2 (en) 2004-03-02

Family

ID=18625887

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000114008A Expired - Lifetime JP3502009B2 (en) 2000-04-14 2000-04-14 Load distribution control device and method, and recording medium

Country Status (1)

Country Link
JP (1) JP3502009B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100385881C (en) * 2005-07-15 2008-04-30 中国人民解放军国防科学技术大学 Dynamic load allocating method for network processor based on cache and apparatus thereof
JP4753316B2 (en) * 2007-07-03 2011-08-24 株式会社Kddi研究所 Load distribution server and program for distributing and managing load of presence information
JP5835015B2 (en) * 2012-02-29 2015-12-24 富士通株式会社 System, program and method for distributed cache
JP5957965B2 (en) * 2012-03-02 2016-07-27 日本電気株式会社 Virtualization system, load balancing apparatus, load balancing method, and load balancing program

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3372455B2 (en) * 1997-07-03 2003-02-04 富士通株式会社 Packet relay control method, packet relay device, and program storage medium
JP3369445B2 (en) * 1997-09-22 2003-01-20 富士通株式会社 Network service server load adjusting device, method and recording medium
JPH11224219A (en) * 1998-02-05 1999-08-17 Nippon Telegr & Teleph Corp <Ntt> Decentralized cache control method, decentralization controller, decentralizzed cache system, and storage medium stored with decentralized cache control program
JP2000207270A (en) * 1999-01-13 2000-07-28 Hitachi Ltd Www proxy device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
中島伊佐美 堀米英明 松村龍太郎 巳波弘佳,サーバ集中トラヒック分散技術,NTT技術ジャーナル 1997.11,1997年11月 1日,第9巻 第11号,p.27−29

Also Published As

Publication number Publication date
JP2001297046A (en) 2001-10-26

Similar Documents

Publication Publication Date Title
US20060271700A1 (en) Record medium with a load distribution program recorded thereon, load distribution method, and load distribution apparatus
Colajanni et al. Analysis of task assignment policies in scalable distributed Web-server systems
US7773522B2 (en) Methods, apparatus and computer programs for managing performance and resource utilization within cluster-based systems
US6222856B1 (en) Adaptive bandwidth throttling for individual virtual services supported on a network server
US7400633B2 (en) Adaptive bandwidth throttling for network services
US6901446B2 (en) System and method for describing and automatically managing resources
US6343085B1 (en) Adaptive bandwidth throttling for individual virtual services supported on a network server
US6760763B2 (en) Server site restructuring
US7523454B2 (en) Apparatus and method for routing a transaction to a partitioned server
US7634560B2 (en) Method for measuring server performance, system for measuring server performance and computer programs therefor
US8046458B2 (en) Method and system for balancing the load and computer resources among computers
US20050120095A1 (en) Apparatus and method for determining load balancing weights using application instance statistical information
KR19980087398A (en) Dynamic Routing Method and Device in Internet
KR19980070924A (en) Method and apparatus for load balancing based on dynamic time interval
KR20000076843A (en) Method and apparatus of a collaborative proxy system for distributed deployment of object rendering
US7584261B1 (en) Distribution of binary executables and content from peer locations/machines
JP3502009B2 (en) Load distribution control device and method, and recording medium
JP3504596B2 (en) Information providing system, information providing method, and recording medium
JP3800508B2 (en) Distribution method of connection to server, program and recording medium
CN111046009B (en) Log storage method and device
Hyun et al. Content sniffer based load distribution in a web server cluster
JP2002140313A (en) Device and method for information processing and storage medium
Shah Website Migration Load Balancing of Web Servers
Varshney et al. Various Approaches for Dynamic Load Balancing for Multiprocessor Interconnection Network

Legal Events

Date Code Title Description
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: 20031202

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20031203

R151 Written notification of patent or utility model registration

Ref document number: 3502009

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20071212

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20081212

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20091212

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20101212

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20101212

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20111212

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20111212

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20121212

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20121212

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20131212

Year of fee payment: 10

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term