Load balancing method and system using multiple load balancing servers
First Claim
1. A method for balancing a load in a network having a load balancing slave server, a load balancing master server, a plurality of processing servers, and a client, the method comprising the steps of:
- selecting by the load balancing master server the load balancing slave server to receive a processing request from the client to perform a processing;
receiving at the load balancing slave server the processing request from the client to perform the processing, after the load balancing master server selects the load balancing slave server;
sending by the load balancing slave server a processing server request to the load balancing master server in response to the receipt of the processing request;
determining a load of each of the plurality of processing servers by the load balancing master server by receiving a load metric with the processing server request from the load balancing slave server at the load balancing master server;
selecting by the load balancing master server a selected one of the plurality of processing servers that is suitable for performing the processing responsive to the processing server request, wherein the selected one of the plurality of processing servers is selected based on the load of each of the plurality of processing servers;
sending an identifier of the selected one of the plurality of processing servers from the load balancing master server to the load balancing slave server; and
establishing by the load balancing slave server a communication link between the selected one of the plurality of processing servers and the client to perform the processing.
2 Assignments
0 Petitions
Accused Products
Abstract
Load balancing method and system for balancing a processing load in a network, wherein load balancer upon receiving a client request selects one of a plurality of processing servers for serving the request. The selection of a processing server may be based on a location of a client and a processing server. The load balancer may comprise a load balancing master and a plurality of load balancing slaves, wherein the load balancing slaves receive client requests and transmit a selection request message to the load balancing master. The load balancing master selects a load balancing slave and/or a processing server for serving the request and generates a corresponding instruction message. The client request is served by the selected load balancing slave and the selected processing server by establishing a communication link between the client and the processing server. Service may involve execution of applications on the selected processing server under control of the client, for example word processors, scientific applications and similar.
-
Citations
21 Claims
-
1. A method for balancing a load in a network having a load balancing slave server, a load balancing master server, a plurality of processing servers, and a client, the method comprising the steps of:
-
selecting by the load balancing master server the load balancing slave server to receive a processing request from the client to perform a processing; receiving at the load balancing slave server the processing request from the client to perform the processing, after the load balancing master server selects the load balancing slave server; sending by the load balancing slave server a processing server request to the load balancing master server in response to the receipt of the processing request; determining a load of each of the plurality of processing servers by the load balancing master server by receiving a load metric with the processing server request from the load balancing slave server at the load balancing master server; selecting by the load balancing master server a selected one of the plurality of processing servers that is suitable for performing the processing responsive to the processing server request, wherein the selected one of the plurality of processing servers is selected based on the load of each of the plurality of processing servers; sending an identifier of the selected one of the plurality of processing servers from the load balancing master server to the load balancing slave server; and establishing by the load balancing slave server a communication link between the selected one of the plurality of processing servers and the client to perform the processing. - View Dependent Claims (2, 3)
-
-
4. A method in a data processing system having a first and a second load balancing server and having a plurality of processing servers, the method comprising the steps of:
-
selecting by the second load balancing server the first load balancing server to receive a processing request from a client to perform a processing; receiving by the first load balancing server the processing request to perform the processing, after the second load balancing server selects the first load balancing server; sending a processing server request from the first load balancing server to the second load balancing server; determining a load of each of the plurality of processing servers by the second load balancing server; selecting by the second load balancing server a selected one of the plurality of processing servers that is suitable for performing the processing responsive to the processing server request, wherein the selection is performed based on the load of each of the plurality of processing servers; sending an identifier of the selected one of the plurality of processing servers from the second load balancing server to the first load balancing server; and sending by the second load balancing server to the selected one of the plurality of processing servers an indication to perform the processing by identifying to the first load balancing server the selected one of the plurality of processing servers after the indication to perform the processing has been sent to the selected one of the plurality of processing servers. - View Dependent Claims (5, 6, 7, 8)
-
-
9. A data processing system, comprising:
-
a plurality of processing servers; a client that sends a processing request; a load balancing slave server that is selected by a load balancing master server to receive the processing request from the client after the load balancing slave server is selected, that sends processing server request to the load balancing master server for a selection of one of the plurality of processing servers that is suitable for performing a processing, that receives an indication of the selected one of the plurality of processing servers from the load balancing master server, and that establishes a communication link between the selected one of the plurality of processing servers and the client to perform the processing; and the load balancing master server that selects the load balancing slave server to receive the processing request from the client after the load balancing slave server is selected, that receives a processing server request from the load balancing slave server, that determines a load of each of the plurality of processing servers, that selects the selected one of the plurality of processing servers based on the load of each of the plurality of processing servers responsive to the processing server request, and that sends the indication of the selected one of the plurality of processing servers to the load balancing slave server, wherein at least one load metric is included in the processing server request sent by the load balancing slave server to the load balancing master server. - View Dependent Claims (10)
-
-
11. A data processing system, comprising:
-
a plurality of processing servers; a client that sends a processing request to have processing performed in a load balanced manner; a first load balancing server that is selected by a second load balancing server to receive the processing request from the client and that receives the processing request from the client after the first load balancing server is selected; and the second load balancing server that selects the first load balancing server to receive the processing request from the client, that receives a processing server request from the first load balancing server, that determines a load of each of the plurality of processing servers by receiving a load metric with the processing server request, that selects a selected one of the plurality of processing servers that is suitable for performing the processing in the load balanced manner responsive to the processing server request, and that sends to the selected one of the plurality of processing servers an indication to perform the processing, wherein the selection is based on the load of each of the plurality of processing servers. - View Dependent Claims (12, 13, 14)
-
-
15. A computer-readable medium containing instructions that cause a data processing system to perform a method for balancing a load in a network having a load balancing slave server, a load balancing master server, a plurality of processing servers, and a client, the method comprising the steps of:
-
selecting by the load balancing master server the load balancing slave server to receive a processing request from the client to perform a processing; receiving at the load balancing slave server the processing request from the client to perform the processing after the load balancing master server selects the load balancing slave server; sending by the load balancing slave server a processing server request to the load balancing master server in response to the receipt of the processing request; determining a load of each of the plurality of processing servers by the load balancing master server by receiving a load metric with the processing server request from the load balancing slave server at the load balancing master server; selecting by the load balancing master server a selected one of the plurality of processing servers that is suitable for performing the processing responsive to the processing server request, wherein the selected one of the plurality of processing servers is selected based on the load of each of the plurality of processing servers; sending an identifier of the selected one of the plurality of processing servers from the load balancing master server to the load balancing slave server; and establishing by the load balancing slave server a communication link between the selected one of the plurality of processing servers and the client to perform the processing. - View Dependent Claims (16, 17)
-
-
18. A computer readable medium containing instructions that cause a data processing system to perform a method for load balancing having a first and a second load balancing server and having a plurality of processing servers, the method comprising the steps of:
-
selecting by the second load balancing server the first load balancing server to receive a processing request from a client to perform a processing; receiving by the first load balancing server the processing request to perform the processing, after the second load balancing server selects the first load balancing server; sending a processing server request from the first load balancing server to the second load balancing server; determining a load of each of the plurality of processing servers by the second load balancing server; selecting by the second load balancing server a selected one of the plurality of processing servers that is suitable for performing the processing responsive to the processing server request, wherein the selection is performed based on the load of each of the plurality of processing servers; and sending by the second load balancing server to the selected one of the plurality of processing servers an indication to perform the processing by identifying to the first load balancing server the selected one of the plurality of processing servers after the indication to perform the processing has been sent to the selected one of the plurality of processing servers. - View Dependent Claims (19, 20)
-
-
21. A load balancer for balancing a load in a network having a load balancing slave server, a load balancing master server, a plurality of processing servers, and a client, the load balancer comprising:
-
means for selecting by the load balancing master server the load balancing slave server to receive a processing request from a client to perform a processing; means for receiving at the load balancing slave server the processing request from the client to perform the processing, after the load balancing master server selects the load balancing slave server; means for sending by the load balancing slave server a processing server request to the load balancing master server in response to the receipt of the processing request; means for determining a load of each of the plurality of processing servers by the load balancing master server by receiving a load metric with the processing server request from the load balancing slave server at the load balancing master server; means for selecting by the load balancing master server a selected one of the plurality of processing servers that is suitable for performing the processing responsive to the processing server request, wherein the selected one of the plurality of processing servers is selected based on the load of each of the plurality of processing servers; means for sending an identifier of the selected one of the plurality of processing servers from the load balancing master server to the load balancing slave server; and means for establishing by the load balancing slave server a communication link between the selected one of the plurality of processing servers and the client to perform the processing.
-
Specification