IP Library Granted Patent US 8,825,862
Granted Patent B2
US 8,825,862 · App. 13/195,326 · Granted Sep 2, 2014

Optimization of resource provisioning in a networked computing environment

Inventors: Jason L. Anderson (San Jose, CA); Gregory J. Boss (Saginaw, MI); Jeffrey L. Coveyduc (San Jose, CA); Christopher W. Roach (San Jose, CA)
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,825,862
App. No.
13/195,326
Granted
Sep 2, 2014
Kind
B2
Abstract

In general, embodiments of the present invention provide an approach for pre-provisioning computing resource sub-components in order to achieve improved overall provisioning times. In a typical embodiment, when a workload request is received, a set/sequence of tasks needed to complete the workload request is identified. Based on the set of tasks, a set of corresponding computing resources is determined. Rather than provision each computing resource as a whole, embodiments of the present invention break each computing resource into its individual sub-components. Once the sub-components are identified, the time required to provision (i.e., provisioning time) each sub-component is determined (e.g., based on historical data). Based on these provisioning times, an optimal order in which the sub-components should be provisioned is determined, and the sub-components are then provisioned in this order.

Claims (53)

1. A computer-implemented method for optimizing provisioning of computing resources in a networked computing environment, comprising:

receiving a workload request in a computer data structure of the networked computing environment;

determining a set of tasks needed to process the workload request;

identifying a set of computing resources in the networked computing environment needed to perform the set of tasks;

identifying a set of sub-components for each of the set of computing resources;

determining an amount of provisioning time needed to provision each of the set of sub-components, the amount of provisioning time being an amount of time that a particular sub-component requires to become prepared and equipped to perform a task; and

determining an order for provisioning the set of sub-components based on the amount of provisioning time needed to process each of the set of sub-components and on interdependencies between the set of sub-components.

2. The computer-implemented method of claim 1 , further comprising:

provisioning the set of sub-components based on their respective amount of provisioning time; and

performing, responsive to the provisioning, the set of tasks using the set of sub-components.

3. The computer-implemented method of claim 2 , the provisioning comprising provisioning sub-components of the set of sub-components having an amount of provisioning time greater than a predetermined threshold prior to provisioning sub-components of the set of sub-components having an amount of provisioning time less than the predetermined threshold.

4. The computer-implemented method of claim 1 , the amount of provisioning time being determined based on historical data pertaining to the set of sub-components.

5. The computer-implemented method of claim 1 , the set of tasks being performed in a sequence corresponding to the order in which the set of sub-components are provisioned.

6. The computer-implemented method of claim 1 , the networked computing environment comprising a cloud computing environment, and the set of computing resources comprising cloud computing resources.

7. A system for optimizing provisioning of computing resources in a networked computing environment, comprising:

a memory medium comprising instructions;

a bus coupled to the memory medium; and

a processor coupled to the bus that when executing the instructions causes the system to:

receive a workload request in a computer data structure of the networked computing environment;

determine a set of tasks needed to process the workload request;

identify a set of computing resources in the networked computing environment needed to perform the set of tasks;

identify a set of sub-components for each of the set of computing resources;

determine an amount of provisioning time needed to provision each of the set of sub-components, the amount of provisioning time being an amount of time that a particular sub-component requires to become prepared and equipped to perform a task; and

determine an order for provisioning the set of sub-components based on the amount of provisioning time needed to process each of the set of sub-components and on interdependencies between the set of sub-components.

8. The system of claim 7 , the memory medium further comprising instructions for causing the system to:

provision the set of sub-components based on their respective amount of provisioning time; and

perform, responsive to the provisioning, the set of tasks using the set of sub-components.

9. The system of claim 8 , the memory medium further comprising instructions for causing the system to provision sub-components of the set of sub-components having an amount of provisioning time greater than a predetermined threshold prior to provisioning sub-components of the set of sub-components having an amount of provisioning time less than the predetermined threshold.

10. The system of claim 7 , the amount of provisioning time being determined based on historical data pertaining to the set of sub-components.

11. The system of claim 7 , the set of tasks being performed in a sequence corresponding to the order in which the set of sub-components are provisioned.

12. The system of claim 7 , the networked computing environment comprising a cloud computing environment, and the set of computing resources comprising cloud computing resources.

13. A computer program product for optimizing provisioning of computing resources in a networked computing environment, the computer program product comprising a computer readable storage device, and program instructions stored on the computer readable storage device, to:

receive a workload request in a computer data structure of the networked computing environment;

determine a set of tasks needed to process the workload request;

identify a set of computing resources in the networked computing environment needed to perform the set of tasks;

identify a set of sub-components for each of the set of computing resources;

determine an amount of provisioning time needed to provision each of the set of sub-components, the amount of provisioning time being an amount of time that a particular sub-component requires to become prepared and equipped to perform a task; and

determine an order for provisioning the set of sub-components based on the amount of provisioning time needed to process each of the set of sub-components and on interdependencies between the set of sub-components.

14. The computer program product of claim 13 , the computer readable storage device further comprising instructions to:

provision the set of sub-components based on their respective amount of provisioning time; and

perform, responsive to the provisioning, the set of tasks using the set of sub-components.

15. The computer program product of claim 14 , the computer readable storage device further comprising instructions to provision sub-components of the set of sub-components having an amount of provisioning time greater than a predetermined threshold prior to provisioning sub-components of the set of sub-components having an amount of provisioning time less than the predetermined threshold.

16. The computer program product of claim 13 , the amount of provisioning time being determined based on historical data pertaining to the set of sub-components.

17. The computer program product of claim 13 , the set of tasks being performed in a sequence corresponding to the order in which the set of sub-components are provisioned.

18. The computer program product of claim 13 , the networked computing environment comprising a cloud computing environment, and the set of computing resources comprising cloud computing resources.

19. A method for deploying a system for optimizing provisioning of computing resources in a networked computing environment, comprising:

providing a computer infrastructure being operable to:

receive a workload request in a computer data structure of the networked computing environment;

determine a set of tasks needed to process the workload request;

identify a set of computing resources in the networked computing environment needed to perform the set of tasks;

identify a set of sub-components for each of the set of computing resources;

determine an amount of provisioning time needed to provision each of the set of sub-components, the amount of provisioning time being an amount of time that a particular sub-component requires to become prepared and equipped to perform a task; and

determine an order for provisioning the set of sub-components based on the amount of provisioning time needed to process each of the set of sub-components and on interdependencies between the set of sub-components.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 13, 2021
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: KYNDRYL, INC.
Reel/Frame 057885/0644 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 1, 2011
From: ANDERSON, JASON L.; BOSS, GREGORY J.; COVEYDUC, JEFFREY L.; ROACH, CHRISTOPHER W.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 026680/0730 →
Continuity (1)
Related Publication 20130036226A1 · Feb 7, 2013