JP4515354B2 - Load balancing processing system and apparatus - Google Patents
Load balancing processing system and apparatus Download PDFInfo
- Publication number
- JP4515354B2 JP4515354B2 JP2005235893A JP2005235893A JP4515354B2 JP 4515354 B2 JP4515354 B2 JP 4515354B2 JP 2005235893 A JP2005235893 A JP 2005235893A JP 2005235893 A JP2005235893 A JP 2005235893A JP 4515354 B2 JP4515354 B2 JP 4515354B2
- Authority
- JP
- Japan
- Prior art keywords
- server
- requests
- request
- servers
- executed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Multi Processors (AREA)
Description
本発明は、クライアントサーバシステムにおいて、システム全体の負荷の状況を容易に把握するための負荷分散技術に関する。 The present invention relates to a load distribution technique for easily grasping the load status of the entire system in a client server system.
クライアントサーバシステムの負荷分散の手法は、種々提案されている(例えば特許文献1)。
しかしながら、従来の負荷分散技術では、負荷を分散させた結果、システム全体としてどの程度の負荷状態になっているのかを容易に把握できないようになっていた。例えば、複数のサーバにラウンドロビンなどで負荷分散するときは、全サーバにどの程度の負荷がかかっているかを把握しなければ、システム全体としての負荷状態を把握できなかった。 However, with the conventional load distribution technique, it has become difficult to easily grasp how much load the entire system is in as a result of distributing the load. For example, when the load is distributed to a plurality of servers by round robin or the like, the load state of the entire system cannot be grasped unless the amount of load applied to all the servers is grasped.
そこで、本発明の目的は、システム全体にかかる負荷の状態を容易に把握するための負荷分散技術を提供することである。 Accordingly, an object of the present invention is to provide a load distribution technique for easily grasping the state of a load applied to the entire system.
本発明の一実施態様に従う負荷分散処理システムは、負荷分散装置と複数のサーバとを備える。そして、前記負荷分散装置は、各サーバに対して処理を割り当てる優先度を示すサーバ別の優先順位と、各サーバでの最大処理量と、各サーバでの実行中処理量とを記憶した記憶手段と、リクエストを受け付けると、前記記憶手段を参照し、前記実行中処理量が前記最大処理量に達していないサーバのうち、最も優先順位の高いサーバに対して前記リクエストを割り当てる振り分け手段と、を備える。 A load distribution processing system according to an embodiment of the present invention includes a load distribution apparatus and a plurality of servers. The load balancer stores a priority for each server indicating a priority for assigning a process to each server, a maximum processing amount in each server, and a processing amount in execution in each server. And upon receiving the request, referring to the storage means, a distribution means for allocating the request to a server having the highest priority among servers in which the processing amount during execution does not reach the maximum processing amount, Prepare.
好適な実施形態では、前記複数のサーバでは、それぞれ複数のプロセスが実行可能である。そして、前記記憶手段には、前記優先順位、前記最大処理量、及び前記実行中処理量が、プロセス別に記憶されていて、前記振り分け手段は、受け付けたリクエストがどのプロセスに対するリクエストであるかを特定し、前記特定されたプロセスに対する前記優先順位、前記最大処理量、及び前記実行中処理量に基づいて、当該リクエストを割り当てるサーバを決定するようにしてもよい。 In a preferred embodiment, each of the plurality of servers can execute a plurality of processes. The storage means stores the priority, the maximum processing amount, and the processing amount in execution for each process, and the distribution unit specifies to which process the received request is a request. Then, a server to which the request is assigned may be determined based on the priority for the identified process, the maximum processing amount, and the in-execution processing amount.
好適な実施形態では、前記複数のサーバは、それぞれ、自サーバで実行可能なプロセスを前記負荷分散装置へ通知し、前記負荷分散装置は、前記通知を受け付けたサーバに前記プロセス別の優先順位を割り当てて、前記記憶手段に登録する手段をさらに備えていてもよい。 In a preferred embodiment, each of the plurality of servers notifies the load balancer of processes that can be executed by the server, and the load balancer assigns a priority for each process to the server that has received the notification. The information processing apparatus may further include means for assigning and registering in the storage means.
好適な実施形態では、前記優先順位は、前記負荷分散装置に対する接続順序が後のサーバで実行されるプロセスほど高く設定されるようにしてもよい。 In a preferred embodiment, the priority order may be set higher for a process executed in a later server in the connection order to the load balancer.
好適な実施形態では、前記複数のサーバは、それぞれ、自サーバで実行可能なプロセス別の前記最大処理量を前記負荷分散装置へ通知するようにしてもよい。 In a preferred embodiment, each of the plurality of servers may notify the load balancer of the maximum processing amount for each process that can be executed by the server.
好適な実施形態では、前記プロセス別の最大処理量は、プロセス別の、それぞれのサーバに依頼可能な最大リクエスト数であり、前記実行中処理量は、各サーバで処理を実行している、プロセス別のリクエスト数であってもよい。 In a preferred embodiment, the maximum processing amount for each process is a maximum number of requests that can be requested to each server for each process, and the in-execution processing amount is a process in which processing is executed in each server. It may be a different number of requests.
本発明の一実施態様に従う、複数のサーバのいずれかにリクエストを振り分ける負荷分散装置は、前記複数のサーバのそれぞれについて、優先順位、最大処理量、及び実行中処理量を記憶した記憶手段と、リクエストを受け付けると、前記記憶手段を参照し、前記実行中処理量が前記最大処理量に達していないサーバのうち、最も優先順位の高いサーバに対して前記リクエストを割り当てる手段と、を備える。 According to an embodiment of the present invention, a load distribution apparatus that distributes requests to any of a plurality of servers, a storage unit that stores a priority order, a maximum processing amount, and an executing processing amount for each of the plurality of servers; When a request is received, the storage unit is referred to, and a unit that allocates the request to a server with the highest priority among servers in which the processing amount during execution does not reach the maximum processing amount is provided.
以下、本発明の一実施形態に係る負荷分散処理システムについて、図面を参照して説明する。 Hereinafter, a load distribution processing system according to an embodiment of the present invention will be described with reference to the drawings.
図1は、本実施形態に係る負荷分散処理システムの構成を示す図である。 FIG. 1 is a diagram illustrating a configuration of a load distribution processing system according to the present embodiment.
本システムは、ネットワーク9を介して接続された複数のクライアント5からリクエストを受け付けて、いずれかのサーバ3に割り当てる負荷分散装置1と、負荷分散装置1から割り当てられたリクエストに対応するプロセスを実行する複数のサーバ3とを備える。
This system receives requests from a plurality of
負荷分散装置1、各サーバ3及び各クライアント5は、いずれも例えば汎用的なコンピュータシステムにより構成され、以下に説明する負荷分散装置1、各サーバ3及び各クライアント5内の個々の構成要素または機能は、例えば、コンピュータプログラムを実行することにより実現される。
Each of the
また、各サーバ3の機種及び処理能力などの各サーバ3の仕様は、いずれも同一である必要はなく、それぞれ異なっていてもよい。
Also, the specifications of each
各クライアント5は、それぞれ、所定の処理の実行を要求するリクエストを生成し、出力する。このリクエストには、サーバ3上で動作するどのプロセスに対するリクエストであるかを示す情報(例えばプロセス名)が含まれている。
Each
また、各サーバ3は、負荷分散装置1に対して、サーバ名などの自らの識別情報と、実行可能なプロセス名などのプロセスの識別情報を通知する。例えば、あるサーバ3が負荷分散装置1に新たに接続されたとき、あるいは、既に接続されているサーバ3に新たにプロセスが追加されたときに、それらのサーバ3は、上記のサーバ名及びプロセス名の通知をするようにしてもよい。
Each
負荷分散装置1は、クライアント5からのリクエストを受け付けて、複数のサーバ3のいずれかにそのリクエストを割り当てるリクエスト処理部11と、参照テーブル18及びステータステーブル19を記憶した記憶部13と、記憶部13に参照テーブル18を登録する登録処理部15とを備える。
The
図2には、参照テーブル18の一例を示す。 FIG. 2 shows an example of the reference table 18.
本実施形態では、参照テーブル18は、同図に示すように、プロセス別のテーブルで構成されている。同図の例は、プロセスaの参照テーブル18である。参照テーブル18は、対象となるプロセスが実行可能なサーバ名181と、各サーバに対象となるプロセスの処理を割り当てるときの優先順位182と、対象となるプロセスに関して、各サーバに依頼可能な最大処理量を示す最大リクエスト数183とが含まれている。
In the present embodiment, the reference table 18 is configured by a process-specific table, as shown in FIG. The example in the figure is a reference table 18 for process a. The reference table 18 includes a
ステータステーブル19には、各サーバ3でのプロセスの実行状態が登録されている。
In the status table 19, the execution state of the process in each
図3には、ステータステーブル19の一例を示す。 FIG. 3 shows an example of the status table 19.
同図に示すように、ステータステーブル19は、参照テーブル18と同様にプロセス別のテーブルで構成されている。そして、同図の例は、プロセスaのステータステーブル19である。ステータステーブル19は、サーバ名191と、対象となるプロセスに関して、各サーバが実行している処理量を示す現在実行中のリクエスト数192とが含まれている。
As shown in the figure, the status table 19 is configured by a process-specific table, similar to the reference table 18. The example of FIG. 6 is a status table 19 for process a. The status table 19 includes a
登録処理部15は、各サーバ3から、それぞれのサーバで実行可能なプロセス名の通知を受けると、この情報を参照テーブル18に登録する。例えば、サーバAから「プロセスa」及び「プロセスb」が実行可能である旨の通知を受けると、「プロセスa」及び「プロセスb」の参照テーブル18に、それぞれサーバAを登録する。
When the
優先順位182は、予め固定的に設定しておいてもよいが、サーバ3の仕様や状態に応じて動的に設定されるようにしておくと、いずれかのサーバ3に障害が発生してもシステム全体に影響がないし、メンテナンスの手間もかからない。一例としては、負荷分散装置1に対するサーバ3の接続順序(サーバ3の起動順序)に応じて、負荷分散装置1の登録処理部15で優先順位182が自動設定されるようにすることが挙げられる。このときの優先順位182は、負荷分散装置1に対する接続順序が後のサーバ3で実行されるプロセスほど高くなるように設定すれば、システム全体の処理能力の不足に応じて新たに追加されるサーバ3の能力をフル活用することができる。
The
また、プロセス毎の最大リクエスト数183は、予め固定的に設定しておいてもよいが、上述したプロセス名の通知と併せて、各サーバ3から通知させることが望ましい。これは、最大リクエスト数に応じて各サーバ3に対する最大処理負荷が定まるので、それぞれのサーバ3が指定するのが好ましいからである。
Further, the maximum number of
リクエスト処理部11は、いずれかのクライアント5からリクエストを受け付けると、参照テーブル18及びステータステーブル19を参照して、いずれかのサーバ3へそのリクエストを割り当て、そのリクエストに応じたプロセスを実行させる。
When the
例えば、リクエスト処理部11は、リクエストを受け付けると、そのリクエストに含まれているプロセス名を検出して、そのリクエストを実行させるプロセスを特定する。そして、そのプロセスに関する参照テーブル18及びステータステーブル19を参照し、実行中リクエスト数192が最大リクエスト数183に達していないサーバのうち、最も優先順位182の高いサーバを特定し、それに対してリクエストを割り当てる。
For example, when receiving a request, the
例えば、プロセスaに対するリクエストを受け付けると、リクエスト処理部11は、図2に示すプロセスaの参照テーブル18及びステータステーブル19を参照して、優先順位182の高い順に、各サーバ3での実行中リクエスト数192が最大リクエスト数183に到達しているか否かを判定する。そして、実行中リクエスト数192が最大リクエスト数183まで達していないサーバ3のうち、最も優先度の高いサーバ3に対して、リクエストを割り当てる。
For example, when receiving a request for the process a, the
図2の例では、プロセスaについて、最も優先順位の高いサーバAは、既に実行中のリクエスト数192が最大リクエスト数183に達している。そこで、次に優先順位の高いサーバBについて参照すると、実行中のリクエスト数192が最大リクエスト数183まで余裕があるので、サーバBが割り当て対象のサーバとして特定される。そして、リクエスト処理部11は、受け付け中のリクエストをサーバBに実行させる。
In the example of FIG. 2, the server A having the highest priority for the process a has the number of
リクエスト処理部11は、さらに、ステータステーブル19を管理する。すなわち、リクエスト処理部11が、新たにリクエストを割り当てたときは、割り当てたサーバ3の実行中リクエスト数192に1を加算する。また、割り当てたリクエストに関する処理が終了したときは、そのサーバ3の実行中のリクエスト数192から1を減算する。
The
この結果、リクエスト処理部11は、最も優先順位の高いサーバ3の実行中リクエスト数192が最大リクエスト数183に到達するまでは、そのサーバ3に連続して処理を割り当てることになる。そして、優先順位の最も高いサーバ3の実行中リクエスト数192が最大リクエスト数183になると、優先順位の次に高いサーバ3に対して、同様に、実行中リクエスト数192が最大リクエスト数183に到達するまで、そのサーバ3に処理を依頼し続ける。以降、これを繰り返す。
As a result, the
なお、いずれかのサーバ3で処理が終了すると、実行中リクエスト数192もそれに応じて更新される。従って、例えば、最も優先順位の高いサーバが、一度最大リクエスト数183に到達したときであっても、実行中リクエスト数192が最大リクエスト数183を下回り、いわゆる空きが生じる状態になることがある。このときに新たにリクエストを受け付けたときは、上述の処理手順に従って割り当てが行われるので、最上位のサーバにリクエストが割り当てられる。
Note that when the processing is completed in any one of the
このようにして、優先順位の高いサーバから順に、依頼可能な処理量の上限値に到達するまで処理を依頼するようにして負荷分散を実現した場合、プロセス別の処理能力が負荷分散処理システム全体で足りているか否か、つまり、システム全体に係る負荷の状態の判定を極めて容易に行うことが可能になる。例えば、最も優先順位の低いサーバの実行中リクエスト数192を参照すれば、そのプロセスの処理能力が負荷分散処理システム全体で不足していないかどうか、容易に判定できる。つまり、最も優先順位の低いサーバの実行中リクエスト数が、その上限値である最大リクエスト数、ないしはそれに近い数であれば、システム全体に対する負荷が大きく、処理能力が不足している、ないしは不足気味であることがわかる。
In this way, when load balancing is realized by requesting processing until the upper limit of the processing amount that can be requested is reached in order from the server with the highest priority, the processing capacity by process is the entire load balancing processing system. It is possible to determine the load status of the entire system very easily. For example, by referring to the number of
さらに、全サーバの全体の実行中リクエスト数192を参照すれば、システム全体の処理能力のうち、どの程度を使っているかも容易に判定可能である。
Further, by referring to the number of
上述した本発明の実施形態は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。 The above-described embodiments of the present invention are examples for explaining the present invention, and are not intended to limit the scope of the present invention only to those embodiments. Those skilled in the art can implement the present invention in various other modes without departing from the gist of the present invention.
例えば、上述の実施形態では、プロセス別の優先順位に基づいて負荷分散をし、プロセス別に処理能力が十分であるか否かを判定している。しかしながら、プロセスごとに分けずに、上記と同様の負荷分散を行ってもよい。 For example, in the above-described embodiment, load distribution is performed based on the priority order for each process, and it is determined whether the processing capability is sufficient for each process. However, load distribution similar to the above may be performed without dividing each process.
また、上述の実施形態では、最大処理量及び実行中処理量を計測するためのパラメータに、リクエスト数を用いているが、CPUタイムなどのこれ以外のパラメータを用いてもよい。 In the above-described embodiment, the number of requests is used as a parameter for measuring the maximum processing amount and the processing amount during execution. However, other parameters such as CPU time may be used.
1 負荷分散装置
3 サーバ
5 クライアント
11 リクエスト処理部
13 記憶部
15 登録処理部
18 参照テーブル
19 ステータステーブル
DESCRIPTION OF
Claims (11)
前記サーバは、それぞれ複数のプロセスが実行可能であり、
前記負荷分散装置は、
クライアントからのリクエストを各サーバに対して割り当てるために、前記プロセス毎に固定的に設定されたサーバの優先順位と、対象となるプロセスに関して前記各サーバに依頼可能な最大リクエスト数と、前記対象となるプロセスに関して前記各サーバが現在実行している実行中リクエスト数とを記憶した記憶手段と、
クライアントからリクエストを受け付ける度に、その受け付けたリクエストの対象となるプロセスを特定し、その対象となるプロセスに関して、前記記憶手段を参照して、前記実行中リクエスト数が前記最大リクエスト数に達していないサーバのうち最も優先順位の高いサーバである目的サーバを設定し、その目的サーバに対して前記実行中リクエスト数が前記最大リクエスト数に到達するまで連続してリクエストを割り当てるとともに、前記目的サーバの前記実行中リクエスト数が前記最大リクエスト数に到達した場合には、前記目的サーバを次に優先順位が高いサーバに設定することで、前記対象となるプロセスに関して、前記優先順位の高い前記サーバから順次、前記最大リクエスト数に到達するまでリクエストの割り当てを行う振り分け手段と、を備える負荷分散処理システム。 A load balancing processing system comprising a load balancing device and a plurality of servers,
Each of the servers can execute a plurality of processes.
The load balancer is:
In order to assign a request from a client to each server, the priority of the server fixedly set for each process, the maximum number of requests that can be requested to each server with respect to the target process, and the target Storage means for storing the number of requests currently being executed by each of the servers with respect to the process ,
Each time a request is received from a client , a process that is a target of the received request is specified, and the number of requests being executed does not reach the maximum number of requests with reference to the storage unit for the target process. A target server that is a server having the highest priority among the servers is set, and requests are continuously allocated to the target server until the number of requests being executed reaches the maximum number of requests. When the number of requests being executed reaches the maximum number of requests , the target server is set to the next highest priority server, so that the target process is sequentially performed from the higher priority server. swing for assigning the request to reach the maximum number of requests Only load distribution processing system comprising a means.
前記複数のサーバでは、それぞれ複数のプロセスが実行可能であり、
前記負荷分散装置は、
各サーバに対して処理を割り当てる優先度を示すサーバ別の優先順位と、各サーバでの最大処理量と、各サーバでの実行中処理量とをプロセス別に記憶した記憶手段と、
リクエストを受け付けると、前記記憶手段を参照し、前記実行中処理量が前記最大処理量に達していないサーバのうち、最も優先順位の高いサーバに対して前記リクエストを割り当てる振り分け手段と、を備え、
前記振り分け手段は、受け付けたリクエストがどのプロセスに対するリクエストであるかを特定し、前記特定されたプロセスに対する前記優先順位、前記最大処理量、及び前記実行中処理量に基づいて、当該リクエストを割り当てるサーバを決定し、
前記優先順位は、前記負荷分散装置に対する接続順序が後のサーバで実行されるプロセスほど高く設定される、負荷分散処理システム。 A load balancing processing system comprising a load balancing device and a plurality of servers,
Each of the plurality of servers can execute a plurality of processes.
The load balancer is:
A storage means for storing a priority for each server indicating a priority for assigning a process to each server, a maximum processing amount in each server, and a processing amount in execution in each server for each process;
When receiving a request, the storage means is referred to, and a distribution means for allocating the request to a server with the highest priority among servers in which the processing amount during execution does not reach the maximum processing amount,
The distribution unit specifies a process to which the received request is a request, and assigns the request based on the priority order, the maximum processing amount, and the processing amount being executed for the specified process. Decide
The load distribution processing system, wherein the priority is set higher for a process executed by a server having a later connection order to the load distribution apparatus.
前記実行中処理量は、各サーバで処理を実行している、プロセス別のリクエスト数である、請求項2に記載の負荷分散処理システム。 The maximum processing amount for each process is the maximum number of requests that can be requested to each server for each process,
The load distribution processing system according to claim 2, wherein the processing amount during execution is the number of requests for each process executing processing in each server.
前記負荷分散装置は、前記通知を受け付けたサーバに前記プロセス別の優先順位を割り当てて、前記記憶手段に登録する手段をさらに備える、請求項1から3のいずれかに記載の負荷分散処理システム。 Each of the plurality of servers notifies the load balancer of processes that can be executed by the own server,
4. The load distribution processing system according to claim 1, wherein the load distribution apparatus further includes means for assigning a priority for each process to a server that has received the notification and registering the priority in the storage unit. 5.
前記プロセス毎に固定的に設定された前記各サーバの優先順位と、対象となるプロセスに関して前記各サーバに依頼可能な最大リクエスト数と、前記対象となるプロセスに関して前記各サーバが現在実行している実行中リクエスト数とを記憶した記憶手段と、
クライアントからリクエストを受け付ける度に、その受け付けたリクエストの対象となるプロセスを特定し、前記記憶手段を参照して、対象となるプロセスに関して、前記実行中リクエスト数が前記最大リクエスト数に達していないサーバのうち最も優先順位の高いサーバである目的サーバを設定し、その目的サーバに対して前記実行中リクエスト数が前記最大リクエスト数に到達するまで連続してリクエストを割り当てるとともに、前記目的サーバの前記実行中リクエスト数が前記最大リクエスト数に到達した場合には、前記目的サーバを次に優先順位が高いサーバに設定することで、前記対象となるプロセスに関して、前記優先順位の高い前記サーバから順次、前記最大リクエスト数に到達するまでリクエストの割り当てを行う振り分け手段と、を備える負荷分散装置。 A load balancer that distributes requests from clients to any of a plurality of servers capable of executing a plurality of processes ,
And fixedly set priority order of the respective servers for each of the processes, the maximum number of requests that can be requested to the each server with respect to the process of interest, each server with respect to the process to be the target is currently executing Storage means for storing the number of requests being executed ;
Each time a request is received from a client, the target process of the received request is identified, and the storage unit is referred to , and the number of requests being executed for the target process does not reach the maximum number of requests. A target server that is the highest priority server is set, and requests are continuously allocated to the target server until the number of requests being executed reaches the maximum number of requests, and the execution of the target server is performed. If the number of middle requests has reached the number of the maximum request, said that the next priority target server is set to high server, with respect to the process to be the target, sequentially from higher the priority the server, the sorting for assigning the request to reach maximum number of requests Load balancer comprising: a stage, a.
前記負荷分散装置は、
前記プロセス毎に固定的に設定されたサーバの優先順位と、対象となるプロセスに関して前記各サーバに依頼可能な最大リクエスト数と、を記憶するステップと、
前記対象となるプロセスに関して前記各サーバが現在実行している実行中リクエスト数を記憶するステップと、
クライアントからのリクエストを受け付ける度に、その受け付けたリクエストの対象となるプロセスを特定し、前記記憶手段を参照して、前記対象となるプロセスに関して、前記実行中リクエスト数が前記最大リクエスト数に達していないサーバのうち最も優先順位の高いサーバである目的サーバを設定し、その目的サーバに対して前記実行中リクエスト数が前記最大リクエスト数に到達するまで連続してリクエストを割り当てるとともに、前記目的サーバの前記実行中リクエスト数が前記最大リクエスト数に到達した場合には、前記目的サーバを次に優先順位が高いサーバに設定することで、前記対象となるプロセスに関して、前記優先順位の高い前記サーバから順次、前記最大リクエスト数に到達するまでリクエストの割り当てを行うステップと、を備える負荷分散方法。 A load balancing method for a load balancer to distribute requests from clients to any of a plurality of servers capable of executing a plurality of processes ,
The load balancer is:
A step of storing the priority fixedly configured server, the maximum number of requests and possible requests to the each server with respect to processes of interest for each of the process,
Storing the number of requests currently being executed by each of the servers with respect to the target process;
Each time a request from a client is received, the process that is the target of the received request is identified, and the number of requests being executed for the target process reaches the maximum number of requests with reference to the storage unit. A target server that is the highest priority server among the servers that do not exist is set, and requests are continuously allocated to the target server until the number of requests being executed reaches the maximum number of requests . When the number of requests being executed reaches the maximum number of requests , the target server is set as the server with the next highest priority, so that the target process is sequentially performed from the server with the highest priority. , scan of allocating the request until it reaches the maximum number of requests Load balancing method comprising Tsu and up, the.
コンピュータに実行されると、
前記プロセス毎に固定的に設定された前記各サーバの優先順位と、対象となるプロセスに関して前記各サーバに依頼可能な最大リクエスト数と、を記憶するステップと、
前記複数のサーバのそれぞれで実行中の処理量を記憶するステップと、
クライアントからのリクエストを受け付ける度に、その受け付けたリクエストの対象となるプロセスを特定し、前記記憶手段を参照して、前記対象となるプロセスに関して、前記実行中リクエスト数が前記最大リクエスト数に達していないサーバのうち最も優先順位の高いサーバである目的サーバを設定し、その目的サーバに対して前記実行中リクエスト数が前記最大リクエスト数に到達するまで連続してリクエストを割り当てるとともに、前記目的サーバの前記実行中リクエスト数が前記最大リクエスト数に到達した場合には、前記目的サーバを次に優先順位が高いサーバに設定することで、前記対象となるプロセスに関して、前記優先順位の高い前記サーバから順次、前記最大リクエスト数に到達するまでリクエストの割り当てを行うステップと、が行われるコンピュータプログラム。 A computer program for load balancing that distributes requests from clients to any of a plurality of servers capable of executing a plurality of processes ,
When executed on a computer,
A step of storing a fixedly set priority order of each server, the maximum number of requests and possible requests to the each server with respect to the process of interest, to each of the process,
Storing the amount of processing being executed in each of the plurality of servers;
Each time a request from a client is received, the process that is the target of the received request is identified, and the number of requests being executed for the target process reaches the maximum number of requests with reference to the storage unit. A target server that is the highest priority server among the servers that do not exist is set, and requests are continuously allocated to the target server until the number of requests being executed reaches the maximum number of requests . When the number of requests being executed reaches the maximum number of requests , the target server is set as the server with the next highest priority, so that the target process is sequentially performed from the server with the highest priority. , scan of allocating the request until it reaches the maximum number of requests A computer program that Tsu and up, are carried out.
前記複数のサーバでは、それぞれ複数のプロセスが実行可能であり、
前記複数のサーバのそれぞれについて、優先順位、最大処理量、及び実行中処理量をプロセス別に記憶した記憶手段と、
リクエストを受け付けると、前記記憶手段を参照し、前記実行中処理量が前記最大処理量に達していないサーバのうち、最も優先順位の高いサーバに対して前記リクエストを割り当てる手段と、を備え、
前記リクエストを割り当てる手段は、受け付けたリクエストがどのプロセスに対するリクエストであるかを特定し、前記特定されたプロセスに対する前記優先順位、前記最大処理量、及び前記実行中処理量に基づいて、当該リクエストを割り当てるサーバを決定し、
前記優先順位は、前記負荷分散装置に対する接続順序が後のサーバで実行されるプロセスほど高く設定される、負荷分散装置。 A load balancer that distributes requests to any of a plurality of servers,
Each of the plurality of servers can execute a plurality of processes.
For each of the plurality of servers, storage means for storing priority, maximum processing amount, and executing processing amount for each process;
When accepting a request, the storage means is referred to, and means for allocating the request to a server with the highest priority among servers in which the processing amount during execution does not reach the maximum processing amount,
The means for allocating the request specifies to which process the received request is a request, and assigns the request based on the priority order, the maximum processing amount, and the processing amount being executed for the specified process. Decide which server to assign,
The priority is set higher for a process executed by a server having a later connection order to the load balancer.
前記複数のサーバでは、それぞれ複数のプロセスが実行可能であり、
前記負荷分散装置は、
前記複数のサーバのそれぞれについて、優先順位及び最大処理量がプロセス別に記憶されるステップと、
前記複数のサーバのそれぞれで実行中の処理量をプロセス別に記憶するステップと、
リクエストを受け付けると、前記実行中の処理量が前記最大処理量に達していないサーバのうち、最も優先順位の高いサーバに対して前記リクエストを割り当てるステップと、を備え、
前記リクエストを割り当てるステップは、受け付けたリクエストがどのプロセスに対するリクエストであるかを特定し、前記特定されたプロセスに対する前記優先順位、前記最大処理量、及び前記実行中処理量に基づいて、当該リクエストを割り当てるサーバを決定し、
前記優先順位は、前記負荷分散装置に対する接続順序が後のサーバで実行されるプロセスほど高く設定される、負荷分散方法。 A load balancing method for a load balancer to distribute requests to any of a plurality of servers,
Each of the plurality of servers can execute a plurality of processes.
The load balancer is:
For each of the plurality of servers, a priority order and a maximum processing amount are stored for each process;
Storing the amount of processing being executed in each of the plurality of servers by process;
A request is received, and the request is allocated to a server with the highest priority among servers in which the processing amount being executed does not reach the maximum processing amount,
The step of assigning the request specifies to which process the received request is a request, and assigns the request based on the priority order, the maximum processing amount, and the processing amount in execution for the specified process. Decide which server to assign,
The load distribution method, wherein the priority is set higher for a process executed on a server with a later connection order to the load distribution apparatus.
前記複数のサーバでは、それぞれ複数のプロセスが実行可能であり、
コンピュータに実行されると、
前記複数のサーバのそれぞれについて、優先順位及び最大処理量をプロセス別に記憶するステップと、
前記複数のサーバのそれぞれで実行中の処理量をプロセス別に記憶するステップと、
リクエストを受け付けると、前記実行中の処理量が前記最大処理量に達していないサーバのうち、最も優先順位の高いサーバに対して前記リクエストを割り当てるステップと、が行われ、
前記リクエストを割り当てるステップは、受け付けたリクエストがどのプロセスに対するリクエストであるかを特定し、前記特定されたプロセスに対する前記優先順位、前記最大処理量、及び前記実行中処理量に基づいて、当該リクエストを割り当てるサーバを決定し、
前記優先順位は、前記負荷分散装置に対する接続順序が後のサーバで実行されるプロセスほど高く設定される、コンピュータプログラム。 A computer program for load balancing that distributes requests to any of a plurality of servers,
Each of the plurality of servers can execute a plurality of processes.
When executed on a computer,
For each of the plurality of servers, storing a priority and a maximum processing amount for each process;
Storing the amount of processing being executed in each of the plurality of servers by process;
When a request is accepted, a step of allocating the request to a server having the highest priority among servers in which the processing amount being executed has not reached the maximum processing amount is performed,
The step of assigning the request specifies to which process the received request is a request, and assigns the request based on the priority order, the maximum processing amount, and the processing amount in execution for the specified process. Decide which server to assign,
The computer program in which the priority is set higher as a process is executed in a later server in the connection order to the load balancer.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2005235893A JP4515354B2 (en) | 2005-08-16 | 2005-08-16 | Load balancing processing system and apparatus |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2005235893A JP4515354B2 (en) | 2005-08-16 | 2005-08-16 | Load balancing processing system and apparatus |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2007052542A JP2007052542A (en) | 2007-03-01 |
| JP4515354B2 true JP4515354B2 (en) | 2010-07-28 |
Family
ID=37916966
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2005235893A Expired - Fee Related JP4515354B2 (en) | 2005-08-16 | 2005-08-16 | Load balancing processing system and apparatus |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4515354B2 (en) |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4523965B2 (en) * | 2007-11-30 | 2010-08-11 | 株式会社日立製作所 | Resource allocation method, resource allocation program, and operation management apparatus |
| JP5359295B2 (en) | 2009-01-16 | 2013-12-04 | 富士通株式会社 | Load distribution apparatus, load distribution method, and load distribution program |
| JP5291504B2 (en) * | 2009-03-23 | 2013-09-18 | 株式会社野村総合研究所 | Load balancing processing system |
| JP4995300B2 (en) * | 2010-04-20 | 2012-08-08 | 日本電信電話株式会社 | Server selection control device, service request device, server selection control method, service request method, server selection control program, service request program, service providing system, and service providing method |
| KR101465966B1 (en) * | 2011-03-09 | 2014-11-28 | 에스케이텔레콤 주식회사 | Data encryption processing apparatus and method in a cloud environment |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2508589B2 (en) * | 1993-05-25 | 1996-06-19 | 日本電気株式会社 | Server operation method |
| JPH0764892A (en) * | 1993-08-25 | 1995-03-10 | Sharp Corp | Distributed computing system |
| JPH09185589A (en) * | 1996-01-05 | 1997-07-15 | Toshiba Corp | Information processing system and power saving method for information processing system |
| JP2003099347A (en) * | 2001-09-25 | 2003-04-04 | Nippon Telegr & Teleph Corp <Ntt> | Distributed server selection system |
| JP2003167775A (en) * | 2001-11-30 | 2003-06-13 | Mitsubishi Electric Corp | Load balancing system and load balancing device |
| JP4163481B2 (en) * | 2002-10-11 | 2008-10-08 | 株式会社東芝 | Cluster system and service control method in the same system |
| JP2005182641A (en) * | 2003-12-22 | 2005-07-07 | Hitachi Information Systems Ltd | Dynamic load balancing system and dynamic load balancing method |
-
2005
- 2005-08-16 JP JP2005235893A patent/JP4515354B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2007052542A (en) | 2007-03-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20250193276A1 (en) | Load balanced network file accesses | |
| CN103870334B (en) | A kind of method for allocating tasks and device of extensive vulnerability scanning | |
| CN104539713B (en) | service request processing method and device | |
| US10754702B2 (en) | Technique for reconfiguring a virtual machine | |
| CN108933829A (en) | A kind of load-balancing method and device | |
| US20100042723A1 (en) | Method and system for managing load in a network | |
| CN108170517A (en) | A kind of container allocation method, apparatus, server and medium | |
| CN106648900B (en) | Supercomputing method and system based on smart TV | |
| CN104158841A (en) | Computing resource allocation method | |
| JP4515354B2 (en) | Load balancing processing system and apparatus | |
| US20140047454A1 (en) | Load balancing in an sap system | |
| JP2010224754A (en) | Resource allocation system, resource allocation method and program | |
| CN109189581A (en) | A kind of job scheduling method and device | |
| US10171570B2 (en) | Information processing apparatus | |
| CN104394095A (en) | Data transmission method, data transmission system and source server | |
| CN111459651B (en) | Load balancing method, device, storage medium and scheduling system | |
| CN112445618A (en) | Multi-server cluster task allocation method, device, equipment and readable storage medium | |
| JP2006344068A5 (en) | ||
| CN106557310B (en) | A remote desktop management method and system | |
| CN113973092B (en) | Link resource scheduling method, device, computing equipment and computer storage medium | |
| KR20140097881A (en) | Apparatus and method for load balancing using resource usage prediction | |
| CN108989474A (en) | The service role distribution method and distributed data transport system of distributed node | |
| CN112948201B (en) | Automatic operation and maintenance method and system | |
| Berwal et al. | Load balancing in cloud computing | |
| CN114217917A (en) | Host scheduling method, device, equipment and storage medium |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080226 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090928 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091006 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091203 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100105 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100308 |
|
| 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: 20100511 |
|
| 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: 20100512 |
|
| 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: 20130521 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130521 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140521 Year of fee payment: 4 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| LAPS | Cancellation because of no payment of annual fees |