Slow-dynamic load balancing method and system
First Claim
1. A load balancing method for use 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;
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.
1 Assignment
0 Petitions
Accused Products
Abstract
A load balancing method and a corresponding system are proposed. The load balancing method 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 method 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).
81 Citations
22 Claims
-
1. A load balancing method for use 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;
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, 7, 8, 9, 10, 11)
-
-
12. A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine 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;
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 (13, 14, 15, 16)
-
-
17. 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;
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 (18)
-
-
19. 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;
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 (20)
-
-
21. 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;
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.
-
-
22. 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;
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