Slow-Dynamic Load Balancing System and Computer-Readable Medium
First Claim
1. A computer-readable medium having stored thereon a sequence of instructions which, when executed by a computer, causes the computer to perform a load balancing method in a data processing system with a distributed architecture including a plurality of servers and a plurality of clients, the method comprising for at least one client the steps of:
- associating the client with a preferred one of the servers, the preferred server storing specific information for the client;
detecting an indication of a workload and an indication of a response time of each server;
selecting an eligible one of the servers according to the workload and the response time of each server, wherein the step of selecting the eligible server includes;
(1) establishing an acceptable range of the response times, wherein the step of establishing the acceptable range includes setting a lower limit of the acceptable range to a lowest response time of the servers and setting an upper limit of the acceptable range to the lowest response time multiplied by a predefined factor;
(2) selecting a subset of the servers having the response time within the acceptable range; and
(3) setting the eligible server to a server of the subset having a lowest workload;
calculating at least one comparison parameter indicative of a performance difference between the preferred server and the eligible server; and
switching the preferred server to the eligible server and transferring the specific information to the eligible server in response to the reaching of a predefined threshold by the at least one comparison parameter.
0 Assignments
0 Petitions
Accused Products
Abstract
A load balancing system and a corresponding computer-readable medium are proposed. The load balancing system is used in environments (e.g., implementing a licensing management application) wherein each client is associated with a preferred server storing specific information for the client. Each client periodically detects a workload and a response time of all the servers. The client selects a subset of nearest servers (according to their response times). The server in that subset with the lowest workload is set as an eligible server. Whenever a ratio between the workload of the preferred server and the workload of the eligible server exceeds a predefined threshold value (e.g., 1.1), the client switches to the eligible server (transferring the corresponding specific information). The system of the invention exhibits a slow dynamic, and tends to reach a steady condition (wherein the specific information of the clients is not continuously moved across the system).
-
Citations
11 Claims
-
1. A computer-readable medium having stored thereon a sequence of instructions which, when executed by a computer, causes the computer to perform a load balancing method in a data processing system with a distributed architecture including a plurality of servers and a plurality of clients, the method comprising for at least one client the steps of:
-
associating the client with a preferred one of the servers, the preferred server storing specific information for the client; detecting an indication of a workload and an indication of a response time of each server; selecting an eligible one of the servers according to the workload and the response time of each server, wherein the step of selecting the eligible server includes; (1) establishing an acceptable range of the response times, wherein the step of establishing the acceptable range includes setting a lower limit of the acceptable range to a lowest response time of the servers and setting an upper limit of the acceptable range to the lowest response time multiplied by a predefined factor; (2) selecting a subset of the servers having the response time within the acceptable range; and (3) setting the eligible server to a server of the subset having a lowest workload; calculating at least one comparison parameter indicative of a performance difference between the preferred server and the eligible server; and switching the preferred server to the eligible server and transferring the specific information to the eligible server in response to the reaching of a predefined threshold by the at least one comparison parameter. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A data processing system with a distributed architecture including a plurality of servers and a plurality of clients for implementing a load balancing application, the system comprising for at least one client:
-
means for associating the client with a preferred one of the servers; means for storing specific information for the client on the preferred server; means for detecting an indication of a workload and an indication of a response time of each server; means for selecting an eligible one of the servers according to the workload and the response time of each server, wherein the means for selecting the eligible server includes; (1) means for establishing an acceptable range of the response times, wherein the means for establishing the acceptable range includes means for setting a lower limit of the acceptable range to a lowest response time of the servers and for setting an upper limit of the acceptable range to the lowest response time multiplied by a predefined factor; (2) means for selecting a subset of the servers having the response time within the acceptable range; and (3) means for setting the eligible server to a server of the subset having a lowest workload; means for calculating at least one comparison parameter indicative of a performance difference between the preferred server and the eligible server; and means responsive to the reaching of a predefined threshold by the at least one comparison parameter for switching the preferred server to the eligible server and for transferring the specific information to the eligible server. - View Dependent Claims (7)
-
-
8. A data processing system with a distributed architecture including a plurality of servers and a plurality of clients for implementing a load balancing application, the system comprising for at least one client:
-
a software agent for associating the client with a preferred one of the servers; a memory structure for storing specific information for the client on the preferred server; and a load balancing module comprising; software code for detecting an indication of a workload and an indication of a response time of each server; software code for selecting an eligible one of the servers according to the workload and the response time of each server, wherein the software code for selecting the eligible server includes; (1) software code for establishing an acceptable range of the response times, wherein the software code for establishing the acceptable range includes software code for setting a lower limit of the acceptable range to a lowest response time of the servers and for setting an upper limit of the acceptable range to the lowest response time multiplied by a predefined factor; (2) software code for selecting a subset of the servers having the response time within the acceptable range; and (3) software code for setting the eligible server to a server of the subset having a lowest workload; software code for calculating at least one comparison parameter indicative of a performance difference between the preferred server and the eligible server; and software code responsive to the reaching of a predefined threshold by the at least one comparison parameter for switching the preferred server to the eligible server and for transferring the specific information to the eligible server. - View Dependent Claims (9)
-
-
10. A client for use in a data processing system with a distributed architecture including a plurality of servers and a plurality of clients for implementing a load balancing application, the client comprising:
-
means for associating the client with a preferred one of the servers, the preferred server storing specific information for the client; means for detecting an indication of a workload and an indication of a response time of each server; means for selecting an eligible one of the servers according to the workload and the response time of each server, wherein the means for selecting the eligible server includes; (1) means for establishing an acceptable range of the response times, wherein the means for establishing the acceptable range includes means for setting a lower limit of the acceptable range to a lowest response time of the servers and for setting an upper limit of the acceptable range to the lowest response time multiplied by a predefined factor; (2) means for selecting a subset of the servers having the response time within the acceptable range; and (3) means for setting the eligible server to a server of the subset having a lowest workload; means for calculating at least one comparison parameter indicative of a performance difference between the preferred server and the eligible server; and means responsive to the reaching of a predefined threshold by the at least one comparison parameter for switching the preferred server to the eligible server, thereby causing the specific information to be transferred to the eligible server.
-
-
11. A client for use in a data processing system with a distributed architecture including a plurality of servers and a plurality of clients for implementing a load balancing application, the client comprising:
-
a software agent for associating the client with a preferred one of the servers, the preferred server storing specific information for the client; and a load balancing module comprising; software code for detecting an indication of a workload and an indication of a response time of each server; software code for selecting an eligible one of the servers according to the workload and the response time of each server, wherein the software code for selecting the eligible server includes; (1) software code for establishing an acceptable range of the response times, wherein the step of establishing the acceptable range includes software code for setting a lower limit of the acceptable range to a lowest response time of the servers and for setting an upper limit of the acceptable range to the lowest response time multiplied by a predefined factor; (2) software code for selecting a subset of the servers having the response time within the acceptable range; and (3) software code for setting the eligible server to a server of the subset having a lowest workload; software code for calculating at least one comparison parameter indicative of a performance difference between the preferred server and the eligible server; and software code responsive to the reaching of a predefined threshold by the at least one comparison parameter for switching the preferred server to the eligible server, thereby causing the specific information to be transferred to the eligible server.
-
Specification