IP Library Granted Patent US 8,671,179
Granted Patent B2
US 8,671,179 · App. 11/764,903 · Granted Mar 11, 2014

Dynamically adding best suited servers into clusters of application servers

Inventors: Faheem Altaf (Pflugerville, TX); Dharmesh Bhakta (Austin, TX); Michael Brown (Austin, TX); Kumar Ravi (Cedar Park, TX)
Assignee: International Business Machines Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,671,179
App. No.
11/764,903
Granted
Mar 11, 2014
Kind
B2
Abstract

A system, computer program product and computer-implemented method of dynamically adding a best suited application server to a cluster of application servers are provided. To do so, a history of quality of service (QoS) of a plurality of application servers is maintained. Using the history of QoS, an application server is dynamically selected and added to the cluster when the cluster is under a heavy workload. The selected application server is one that has the most historically favorable QoS and a heavy workload is one that exceeds a user-configurable threshold.

Claims (31)

1. A computer-implemented method of dynamically adding an application server to a cluster of application servers comprising:

maintaining a history of quality of service (QoS) for each of a plurality of application servers;

broadcasting a request to the application servers to identify one or more application servers able to donate a number of processor cycles for an amount of time to the cluster;

dynamically selecting, based on the history of QoS and responses corresponding to the one or more application servers identified by the broadcasting, an application server to add to the cluster when the cluster is under a heavy workload; and

dynamically adding the selected application server to the cluster.

2. The computer-implemented method of claim 1 wherein when two or more application servers respond to the request within a particular time frame, the application server with a most favorable history of QoS is selected.

3. The computer-implemented method of claim 2 wherein if none of the application servers that respond to the request has a history of QoS, the first application server to respond within the particular time frame is added to the cluster.

4. The computer-implemented method of claim 3 wherein a heavy workload is a workload that exceeds a user-configurable threshold.

5. The computer-implemented method of claim 4 wherein when the workload no longer exceeds the user-configurable threshold and the added application server is not performing a task for the cluster, the added application server is released from the cluster.

6. The computer-implemented method of claim 5 wherein when the added application server is released from the cluster, the history of QoS of the added application server is updated.

7. A computer program product on a tangible computer readable medium for dynamically adding an application server to a cluster of application servers comprising:

code means for maintaining a history of quality of service (QoS) for each of a plurality of application servers;

code means for broadcasting a request to the application servers to identify one or more application servers able to donate a number of processor cycles for an amount of time to the cluster;

code means for dynamically selecting, based on the history of QoS and responses corresponding to the one or more application servers identified by the broadcasting, an application server to add to the cluster when the cluster is under a heavy workload; and

code means for dynamically adding the selected application server to the cluster.

8. The computer program product of claim 7 wherein when two or more application servers respond to the request within a particular time frame, the application server with a most favorable history of QoS is selected.

9. The computer program product of claim 8 wherein if none of the application servers that respond to the request has a history of QoS, the first application server to respond within the particular time frame is added to the cluster.

10. The computer program product of claim 9 wherein a heavy workload is a workload that exceeds a user-configurable threshold.

11. The computer program product of claim 10 wherein when the workload no longer exceeds the user-configurable threshold and the added application server is not performing a task for the cluster, the added application server is released from the cluster.

12. The computer program product of claim 11 wherein when the added application server is released from the cluster, the history of QoS of the added application server is updated.

13. A computer system for dynamically adding an application server to a cluster of application servers comprising:

at least one storage device for storing code data; and

at least one processor for processing the code data to:

maintain a history of quality of service (QoS) for each of a plurality of application servers;

broadcast a request to the application servers to identify one or more application servers able to donate a number of processor cycles for an amount of time to the cluster;

dynamically select, based on the history of QoS QoS and responses corresponding to the one or more application servers identified by the broadcast, an application server to add to the cluster when the cluster is under a heavy workload and

dynamically add the selected application server to the cluster.

14. The computer system of claim 13 wherein when two or more application servers respond to the request within a particular time frame, the application server with a most favorable history of QoS is selected.

15. The computer system of claim 14 wherein if none of the application servers that respond to the request has a history of QoS, the first application server to respond within the particular time frame is added to the cluster.

16. The computer system of claim 15 wherein a heavy workload is a workload that exceeds a user-configurable threshold.

17. The computer system of claim 16 wherein when the workload no longer exceeds the user-configurable threshold and the added application server is not performing a task for the cluster, the added application server is released from the cluster.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 24, 2018
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: WORKDAY, INC.
Reel/Frame 044721/0844 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 19, 2007
From: ALTAF, FAHEEM; BHAKTA, DHARMESH; BROWN, MICHAEL; RAVI, KUMAR
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 019447/0243 →
Continuity (1)
Related Publication 20080320121A1 · Dec 25, 2008