IP Library Granted Patent US 7,350,186
Granted Patent B2
US 7,350,186 · App. 10/384,973 · Granted Mar 25, 2008

Methods and apparatus for managing computing deployment in presence of variable workload

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 7,350,186
App. No.
10/384,973
Granted
Mar 25, 2008
Kind
B2
Abstract

Automated or autonomic techniques for managing deployment of one or more resources in a computing environment based on varying workload levels. The automated techniques may comprise predicting a future workload level based on data associated with the computing environment. Then, an estimation is performed to determine whether a current resource deployment is insufficient, sufficient, or overly sufficient to satisfy the future workload level. Then, one or more actions are caused to be taken when the current resource deployment is estimated to be insufficient or overly sufficient to satisfy the future workload level. Actions may comprise resource provisioning, resource tuning and/or admission control.

Claims (44)

1. An automated method of managing deployment of a plurality of servers in a computing environment based on varying workload levels, the method comprising the steps of:

predicting a future workload level based on data associated with the computing environment, wherein the predicting step further comprises forecasting based on a forecast horizon;

estimating whether a current deployment of servers is one of insufficient, sufficient, and overly sufficient to satisfy the future workload level; and

causing one or more actions to be taken when the current deployment of servers is estimated to be one of insufficient and overly sufficient to satisfy the future workload level;

wherein the action causing step further comprises causing the addition of one or more servers to address the future workload level when the current deployment of servers is estimated to be insufficient;

wherein the action causing step further comprises causing the removal of one or more servers to address the future workload level when the current deployment of servers is estimated to be overly sufficient; and

wherein the forecast horizon is selectively adaptable as a function of a time needed to effectuate at least one of the one or more actions to be taken when the current deployment of servers is estimated to be one of insufficient and overly sufficient to satisfy the future workload level.

2. The method of claim 1 , further comprising the step of obtaining the data associated with the computing environment, used by the future workload level predicting step, via monitoring one or more of the servers.

3. The method of claim 1 , wherein the action causing step further comprises causing the tuning of one or more configuration parameters associated with the servers.

4. The method of claim 1 , wherein the action causing step further comprises causing the manipulation of admission queues on the servers.

5. The method of claim 1 , wherein the estimating step further comprises estimating whether a current deployment of servers is one of insufficient, sufficient, and overly sufficient based on one or more service objectives.

6. The method of claim 1 , wherein the action causing step further comprises deploying an operating system on a computer without an installed operating system or replacing an existing operating system.

7. The method of claim 1 , wherein the action causing step further comprises deploying middleware on top of an operating system.

8. The method of claim 1 , wherein the action causing step further comprises deploying an application with associated data.

9. The method of claim 1 , wherein the action causing step further comprises performing cluster management to enable an added server to support an application.

10. Apparatus for managing deployment of a plurality of servers in a computing environment based on varying workload levels, the apparatus comprising:

a memory; and

at least one processor coupled to the memory and operative to: (i) predict a future workload level based on data associated with the computing environment, wherein the predicting operation further comprises forecasting based on a forecast horizon; (ii) estimate whether a current deployment of servers is one of insufficient, sufficient, and overly sufficient to satisfy the future workload level; and (iii) cause one or more actions to be taken when the current deployment of servers is estimated to be one of insufficient and overly sufficient to satisfy the future workload level; wherein the action causing step further comprises causing the addition of one or more servers to address the future workload level when the current deployment of servers is estimated to be insufficient; wherein the action causing step further comprises causing the removal of one or more servers to address the future workload level when the current deployment of servers is estimated to be overly sufficient; and wherein the forecast horizon is selectively adaptable as a function of a time needed to effectuate at least one of the one or more actions to be taken when the current deployment of servers is estimated to be one of insufficient and overly sufficient to satisfy the future workload level.

11. The apparatus of claim 10 , wherein the at least one processor is further operative to obtain the data associated with the computing environment, used by the future workload level predicting step, via monitoring one or more of the servers.

12. The apparatus of claim 10 , wherein the action causing operation further comprises causing the addition of one or more servers to address the future workload level when the current deployment of servers is estimated to be insufficient.

13. The apparatus of claim 10 , wherein the action causing operation further comprises causing the removal of one or more servers to address the future workload level when the current deployment of servers is estimated to be overly sufficient.

14. The apparatus of claim 10 , wherein the action causing operation further comprises causing the tuning of one or more configuration parameters associated with the servers.

15. The apparatus of claim 10 , wherein the action causing operation further comprises causing the manipulation of admission queues on the servers.

16. The apparatus of claim 10 , wherein the estimating operation further comprises estimating whether a current deployment of servers is one of insufficient, sufficient, and overly sufficient based on one or more service objectives.

17. An article of manufacture for managing deployment of a plurality of servers in a computing environment based on varying workload levels, comprising a computer readable storage medium containing one or more programs which when executed implement the steps of:

predicting a future workload level based on data associated with the computing environment, wherein the predicting step further comprises forecasting based on a forecast horizon;

estimating whether a current deployment of servers is one of insufficient, sufficient, and overly sufficient to satisfy the future workload level; and

causing one or more actions to be taken when the current deployment of servers is estimated to be one of insufficient and overly sufficient to satisfy the future workload level;

wherein the action causing step further comprises causing the addition of one or more servers to address the future workload level when the current deployment of servers is estimated to be insufficient;

wherein the action causing step further comprises causing the removal of one or more servers to address the future workload level when the current deployment of servers is estimated to be overly sufficient; and

wherein the forecast horizon is selectively adaptable as a function of a time needed to effectuate at least one of the one or more actions to be taken when the current deployment of servers is estimated to be one of insufficient and overly sufficient to satisfy, the future workload level.

18. The article of claim 17 , further comprising the step of obtaining the data associated with the computing environment, used by the future workload level predicting step, via monitoring one or more of the servers.

19. The article of claim 17 , wherein the action causing step further comprises causing the tuning of one or more configuration parameters associated with the servers.

20. The article of claim 17 , wherein the action causing step further comprises causing the manipulation of admission queues on the servers.

21. The article of claim 17 , wherein the estimating step further comprises estimating whether a current deployment of servers is one of insufficient, sufficient, and overly sufficient based on one or more service objectives.

22. An automated system for managing deployment of a plurality of servers in a computing environment based on varying workload levels, the system comprising:

a solution manager comprising a memory and at least one processor coupled thereto and operative to: (i) predict a future workload level based on data associated with the computing environment; (ii) estimate whether a current deployment of servers is one of insufficient, sufficient, and overly sufficient to satisfy the future workload level; and

a deployment manager coupled to the solution manager, comprising a memory and at least one processor coupled thereto and operative to: (i) provide the data associated with the computing environment to the solution manager; and (ii) effect one or more actions to be taken, in response to the solution manager, when the current deployment of servers is estimated by the solution manager to be one of insufficient and overly sufficient to satisfy the future workload level, wherein the one or more actions to be taken comprises causing the addition of one or more servers to address the future workload level when the current deployment of servers is estimated to be insufficient and wherein the one or more actions to be taken comprises causing the removal of one or more servers to address the future workload level when the current deployment of servers is estimated to be overly sufficient;

wherein the deployment manager further comprises: (i) a monitoring module for providing access to workload data; (ii) a provisioning module for performing resource provisioning;

(iii) a tuning interface module for changing one or more configuration parameters associated with the one or more of the servers; and (iv) a throttling interface module for causing a manipulation of one or more admission queues on the one or more of the servers.

23. The system of claim 22 , wherein the servers are deployable to implement execution of an application.

24. The system of claim 22 , wherein at least one of the solution manager and deployment manager operate autonomically.

25. The system of claim 22 , wherein the one or more actions comprise at least one of server provisioning, server tuning, and admission control.

26. The system of claim 22 , wherein the solution manager estimates whether a current deployment of servers is one of insufficient, sufficient, and overly sufficient based on one or more service objectives.

Assignments (3)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044101/0610 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 30, 2011
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: GOOGLE INC.
Reel/Frame 027463/0594 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 25, 2003
From: COLEMAN, DAVID WILEY; FROEHLICH, STEVEN E.; HELLERSTEIN, JOSEPH L.; HSIUNG, LAWRENCE S.; LASSETTRE, EDWIN RICHIE; MUMMERT, TODD WILLIAM; RAGHAVACHARI, MUKUND; RUSSELL, LANCE WARREN; SURENDRA, MAHESWARAN; WADIA, NOSHIR CAVAS; YE, PENG
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 014216/0905 →