Adjusting resource usage for cloud-based networks
First Claim
1. A method comprising:
- receiving, by a processor, a first request to instantiate a virtual machine, wherein the first request comprises;
a specification of the virtual machine indicating a configuration for the virtual machine, one or more parameters indicating constraints for instantiating the virtual machine in a cloud computing environment, and a period of time for which the virtual machine is to be used;
determining, by the processor, an availability of a plurality of servers provided by the cloud computing environment within the period of time defined in the first request;
selecting, by the processor, in view of the availability, the specification, and the one or more parameters, a first set of servers from the plurality of servers to instantiate the virtual machine within the period of time defined in the first request, wherein at least one resource provided by the first set of servers does not match the one or more parameters defined in the first request;
generating, by the processor, a second request to instantiate the virtual machine on the first set of servers;
instantiating the virtual machine on the first set of servers based on the specification;
periodically monitoring the cloud computing environment for an availability within the period of time defined in the first request of a second set of servers from the plurality of servers with at least one resource that at least partially matches the specification and the one or more parameters for instantiating the virtual machine;
determining that the second set of servers with at least one resource that at least partially matches the specification and the one or more parameters is available for instantiating the virtual machine within the period of time defined in the first request;
determining a first matching level of the first set of servers, wherein the first matching level is a degree to which the at least one resource provided by the first set of servers matches the specification and the one or more parameters defined in the first request;
determining a second matching level of the second set of servers, wherein the second matching level is a degree to which the at least one resource provided by the second set of servers matches the specification and the one or more parameters defined in the first request;
comparing the first matching level and the second matching level; and
migrating the virtual machine to the second set of servers within the period of time defined in the first request when the second matching level is greater than the first matching level to adjust usage of one or more resources in the cloud computing environment.
1 Assignment
0 Petitions
Accused Products
Abstract
A cloud marketplace system can be configured to communicate with multiple cloud computing environments in order to ascertain the details for the resources and services provided by the cloud computing environments for optimizing resources utilized by virtual machines. The cloud marketplace system can be configured to determine the resource and service data for the cloud computing environments and select a set of resource servers for instantiating the virtual machines based specifications of the virtual machines and parameters of the instantiation. The cloud marketplace system can be configured to periodically monitor the cloud'"'"'s resources and migrate the virtual machines if resources become available that more closely match the parameters of the virtual machines.
123 Citations
17 Claims
-
1. A method comprising:
-
receiving, by a processor, a first request to instantiate a virtual machine, wherein the first request comprises;
a specification of the virtual machine indicating a configuration for the virtual machine, one or more parameters indicating constraints for instantiating the virtual machine in a cloud computing environment, and a period of time for which the virtual machine is to be used;determining, by the processor, an availability of a plurality of servers provided by the cloud computing environment within the period of time defined in the first request; selecting, by the processor, in view of the availability, the specification, and the one or more parameters, a first set of servers from the plurality of servers to instantiate the virtual machine within the period of time defined in the first request, wherein at least one resource provided by the first set of servers does not match the one or more parameters defined in the first request; generating, by the processor, a second request to instantiate the virtual machine on the first set of servers; instantiating the virtual machine on the first set of servers based on the specification; periodically monitoring the cloud computing environment for an availability within the period of time defined in the first request of a second set of servers from the plurality of servers with at least one resource that at least partially matches the specification and the one or more parameters for instantiating the virtual machine; determining that the second set of servers with at least one resource that at least partially matches the specification and the one or more parameters is available for instantiating the virtual machine within the period of time defined in the first request; determining a first matching level of the first set of servers, wherein the first matching level is a degree to which the at least one resource provided by the first set of servers matches the specification and the one or more parameters defined in the first request; determining a second matching level of the second set of servers, wherein the second matching level is a degree to which the at least one resource provided by the second set of servers matches the specification and the one or more parameters defined in the first request; comparing the first matching level and the second matching level; and migrating the virtual machine to the second set of servers within the period of time defined in the first request when the second matching level is greater than the first matching level to adjust usage of one or more resources in the cloud computing environment. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system comprising:
-
a network interface; and a processor, operatively coupled with the network interface, to; receive, via the network interface, a first request to instantiate a virtual machine, wherein the first request comprises;
a specification of the virtual machine indicating a configuration for the virtual machine, one or more parameters indicating constraints for instantiating the virtual machine in a cloud computing environment, and a period of time for which the virtual machine is to be used;determine an availability of a plurality of servers provided by the cloud computing environment within the period of time defined in the first request; select, in view of the availability, the specification, and the one or more parameters, a first set of servers from the plurality of servers to instantiate the virtual machine within the period of time defined in the first request, wherein at least one resource provided by the first set of servers does not match the one or more parameters defined in the first request; generate a second request to instantiate the virtual machine on the first set of servers; instantiate the virtual machine on the first set of servers based on the specification; periodically monitoring the cloud computing environment for an availability within the period of time defined in the first request of a second set of servers from the plurality of servers with at least one resource that at least partially matches the specification and the one or more parameters for instantiating the virtual machine; determining that the second set of servers with at least one resource that at least partially matches the specification and the one or more parameters is available for instantiating the virtual machine within the period of time defined in the first request; determine a first matching level of the first set of servers, wherein the first matching level is a degree to which the at least one resource provided by the first set of servers matches the specification and the one or more parameters defined in the first request; determine a second matching level of the second set of servers, wherein the second matching level is a degree to which the at least one resource provided by the second set of servers matches the specification and the one or more parameters defined in the first request; compare the first matching level and the second matching level; and migrate the virtual machine to the second set of servers within the period of time defined in the first request when the second matching level is greater than the first matching level to adjust usage of one or more resources in the cloud computing environment. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory computer readable medium comprising executable instructions that, when executed by a processor, cause the processor to:
-
receive, by the processor, a first request to instantiate a virtual machine, wherein the first request comprises;
a specification of the virtual machine indicating a configuration for the virtual machine, one or more parameters indicating constraints for instantiating the virtual machine in a cloud computing environment, and a period of time for which the virtual machine is to be used;determine, by the processor, an availability of a plurality of servers provided by the cloud computing environment within the period of time defined in the first request; select, by the processor, in view of the availability, the specification, and the one or more parameters, a first set of servers from the plurality of servers to instantiate the virtual machine within the period of time defined in the first request, wherein at least one resource provided by the first set of servers does not match the one or more parameters defined in the first request; generate, by the processor, a second request to instantiate the virtual machine on the first set of servers; instantiate the virtual machine on the first set of servers based on the specification; periodically monitor the cloud computing environment for an availability within the period of time defined in the first request of a second set of servers from the plurality of servers with at least one resource that at least partially matches the specification and the one or more parameters for instantiating the virtual machine; determine, by the processor, that the second set of servers with at least one resource that at least partially matches the specification and the one or more parameters is available for instantiating the virtual machine; determine, by the processor, a first matching level of the first set of servers, wherein the first matching level is a degree to which the at least one resource provided by the first set of servers matches the specification and the one or more parameters defined in the first request; determine, by the processor, a second matching level of the second set of servers, wherein the second matching level is a degree to which the at least one resource provided by the second set of servers matches the specification and the one or more parameters defined in the first request; compare, by the processor, the first matching level and the second matching level; and migrate, by the processor, the virtual machine to the second set of servers within the period of time defined in the first request when the second matching level is greater than the first matching level to adjust usage of one or more resources in the cloud computing environment. - View Dependent Claims (16, 17)
-
Specification