Utilizing software component metadata to provision virtual machines in a networked computing environment
AssigneeInternational Business Machines Corporation
InventorsJason L. Anderson, Gregory J. Boss, Jeffrey L. Coveyduc, Christopher W. Roach
Life of this patent
Estimating the term…
Abstract
Embodiments of the present invention provide a set of algorithmic methods that can be used to generate a pre-provisioned pool of virtual machines (VMs) in a networked computing environment. Specifically, an install time for possible combinations of software components of a VM in a plurality of software component combinations is calculated. Each respective install time is weighted by a value associated with a provisioning history of software components. At least part of the software component combinations is allocated to the pre-provisioned pool of virtual machines (VMs).
Claims20
A computer-implemented method to generate a pre-provisioned pool of virtual machines (VMs) in a networked computing environment, comprising:
- calculating an install time for each software component combination in a plurality of software component combinations, the install time including an amount of time necessary to uninstall the software components from a partially provisioned VM of which the software components form a subset of VM software components and to transition the software components to a VM having the software component combination having a first plurality of software components from the partially provisioned VM having a different software component combination having a second plurality of software components that is different from the first plurality of software components;
- weighting each respective install time by a numerical value that indicates a probability, with respect to other software component combinations, that the software component combination will be requested based on a provisioning history;
- allocating, prior to a request for software components, at least part of the first plurality of software components in the software component combinations to the pre-provisioned pool of virtual machines (VMs) based on the install time and the weighting;
- and
- maintaining diversity in the pre-provisioned pool of VMs by removing, in response to the allocating of the at least part of the first plurality of software components to the pre-provisioned pool of VMs, a VM instance having a different combination of software components from the allocated at least part of the first plurality of software components that has the first plurality of software components forming a subset of the different combination of software components from the pre-provisioned pool of VMs.
A system for generating a pre-provisioned pool of virtual machines (VMs) 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:
- calculate an install time for each software component combination in a plurality of software component combinations, the install time including an amount of time necessary to uninstall the software components from a partially provisioned VM of which the software components form a subset of VM software components and to transition the software components to a VM having the software component combination having a first plurality of software components from the partially provisioned VM having a different software component combination having a second plurality of software components that is different from the first plurality of software components;
- weight each respective install time by a numerical value that indicates a probability, with respect to other software component combinations, that the software component combination will be requested based on a provisioning history;
- allocate, prior to a request for software components, at least part of the first plurality of software components in the software component combinations to the pre-provisioned pool of virtual machines (VMs) based on the install time and the weight;
- and
- maintain diversity in the pre-provisioned pool of VMs by removing, in response to the allocating of the at least part of the first plurality of software components to the pre-provisioned pool of VMs, a VM instance having a different combination of software components from the allocated at least part of the first plurality of software components that has the first plurality of software components forming a subset of the different combination of software components from the pre-provisioned pool of VMs.
A computer program product for generating a pre-provisioned pool of virtual machines (VMs) in a networked computing environment, the computer program product comprising a computer readable storage device that is not a signal, and program instructions stored on the computer readable storage device, to:
- calculate an install time for each software component combination in a plurality of software component combinations, the install time including an amount of time necessary to uninstall the software components from a partially provisioned VM of which the software components form a subset of VM software components and to transition the software components to a VM having the software component combination having a first plurality of software components from the partially provisioned VM having a different software component combination having a second plurality of software components that is different from the first plurality of software components;
- weight each respective install time by a numerical value that indicates a probability, with respect to other software component combinations, that the software component combination will be requested based on a provisioning history;
- allocate, prior to a request for software components, at least part of the first plurality of software components in the software component combinations to the pre-provisioned pool of virtual machines (VMs) based on the install time and the weigh;
- and
- maintain diversity in the pre-provisioned pool of VMs by removing, in response to the allocating of the at least part of the first plurality of software components to the pre-provisioned pool of VMs, a VM instance having a different combination of software components from the allocated at least part of the first plurality of software components that has the first plurality of software components forming a subset of the different combination of software components from the pre-provisioned pool of VMs.
A method for deploying a system for generating a pre-provisioned pool of virtual machines (VMs) in a networked computing environment, comprising:
- deploying a computer infrastructure that executes computer instructions, the computer infrastructure performing a method of:
- calculating an install time for each software component combination in a plurality of software component combinations, the install time including an amount of time necessary to uninstall the software components from a partially provisioned VM of which the software components form a subset of VM software components and to transition the software components to a VM having the software component combination having a first plurality of software components from the partially provisioned VM having a different software component combination having a second plurality of software components that is different from the first plurality of software components;
- weighting each respective install time by a numerical value that indicates a probability, with respect to other software component combinations, that the software component combination will be requested based on a provisioning history associated with a provisioning history;
- and
- allocating, prior to a request for software components, at least part of the first plurality of software components in the software component combinations to the pre-provisioned pool of virtual machines (VMs) based on the install time and the weight;
- and
- maintaining diversity in the pre-provisioned pool of VMs by removing, in response to the allocating of the at least part of the first plurality of software components to the pre-provisioned pool of VMs, a VM instance having a different combination of software components from the allocated at least part of the first plurality of software components that has the first plurality of software components forming a subset of the different combination of software components from the pre-provisioned pool of VMs.
Dependencies are inferred from the claim text.