Resource allocation to reduce correlated failures
First Claim
1. A computer-implemented method for providing computing resources, comprising:
- receiving, by one or more computer systems, a request to provision a number of virtual computer systems for a customer of the virtual resource provider using dedicated hardware, wherein fulfillment of the request requires allocation of a first amount of capacity for the number of virtual computer systems;
as a result of the customer having specified use of dedicated hardware, dedicating, by the one or more computer systems, a group of hardware devices, the group of hardware devices comprising a number of hardware devices that is greater than a minimum number of hardware devices sufficient for the allocation of the first amount of capacity, in a manner that prevents virtual computer system instances from being implemented for other customers of the virtual resource provider using the group of hardware devices and that fulfills one or more conditions that include a condition on a second amount of capacity of the group that can be used upon provisioning the number of virtual computer systems;
provisioning, by the one or more computer systems, the number of virtual computer systems using one or more hardware devices in the dedicated group while, as a result of the condition on the second amount of capacity, leaving capacity for at least one additional virtual computer system in the group; and
providing, by the one or more computer systems, to the customer, access to the provisioned number of virtual computer systems.
1 Assignment
0 Petitions
Accused Products
Abstract
Implementation resources are operated in a manner furthering a particular purpose while excluding use of the implementation resources for other purposes. At least some of the implementation resources have capacity that is usable to implement multiple other resources. The capacity of the implementation resources is allocated in a manner that satisfies one or more conditions on the capacity of the implementation resources that is used. Generally, the capacity is allocated in a manner that reduces the likelihood that resources initiated close in time will fail together should underlying implementation resources fail. The implementation resources may be hardware devices that implement virtual computer systems.
-
Citations
24 Claims
-
1. A computer-implemented method for providing computing resources, comprising:
-
receiving, by one or more computer systems, a request to provision a number of virtual computer systems for a customer of the virtual resource provider using dedicated hardware, wherein fulfillment of the request requires allocation of a first amount of capacity for the number of virtual computer systems; as a result of the customer having specified use of dedicated hardware, dedicating, by the one or more computer systems, a group of hardware devices, the group of hardware devices comprising a number of hardware devices that is greater than a minimum number of hardware devices sufficient for the allocation of the first amount of capacity, in a manner that prevents virtual computer system instances from being implemented for other customers of the virtual resource provider using the group of hardware devices and that fulfills one or more conditions that include a condition on a second amount of capacity of the group that can be used upon provisioning the number of virtual computer systems; provisioning, by the one or more computer systems, the number of virtual computer systems using one or more hardware devices in the dedicated group while, as a result of the condition on the second amount of capacity, leaving capacity for at least one additional virtual computer system in the group; and providing, by the one or more computer systems, to the customer, access to the provisioned number of virtual computer systems. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer-implemented method, comprising:
-
receiving a request to implement a set of virtual computer systems using hardware devices that are dedicated to a particular purpose, wherein fulfillment of the request requires allocation of an amount of capacity for the set of virtual computer systems; determining a set of hardware devices that, when used to fulfill the request, fulfills one or more conditions on capacity of the set of hardware devices that include a limit on capacity utilization of the set of hardware devices and comprises a number of hardware devices that is more than a minimum number of hardware devices sufficient for the allocation of the amount of capacity; using the set of hardware devices to implement the set of virtual computer systems while, as a result of the one or more conditions on the capacity, leaving capacity in the set of hardware devices for implementing at least one additional virtual computer system; and as a result of the request specifying use of hardware devices dedicated to the particular purpose, maintaining the set of hardware devices in a manner that excludes the set of hardware devices from purposes different from the particular purpose. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A system, comprising:
-
one or more processors; and memory including instructions executable by the one or more processors to cause the system to at least; maintain a pool of hardware devices by at least managing the pool of hardware devices in a manner that excludes user-specified sets of hardware devices each dedicated to a corresponding particular purpose from use for another purpose; use the pool of hardware devices to implement virtual computer systems; receive requests to implement one or more additional virtual computer systems; and for each request of at least a subset of the received requests, implement the requested one or more additional virtual computer systems such that; as a result of the requested one or more additional virtual computer systems being requested for a corresponding user-specified set that is dedicated to a particular purpose, one or more conditions on capacity of the user-specified set, including a condition that indicates a minimum amount of available capacity to remain upon implementation of the requested one or more additional virtual computer systems, are fulfilled; and as a result of the user-specified sets of hardware devices each being dedicated to a corresponding particular purpose, the user-specified sets of hardware devices each remain dedicated to the corresponding particular purpose and the user-specified sets of hardware devices are modified to leave capacity in the user-specified sets of hardware devices for implementing at least one additional virtual computer system. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. One or more non-transitory computer-readable storage media having stored thereon instructions executable by one or more processors of a computer system that, as a result of being executed by the one or more processors, cause the computer system to at least:
for each group of a plurality of groups of hardware devices; maintain the group to be dedicated to a particular purpose such that the group; implements a number of virtual computer systems; has capacity for being used for another purpose; and is prevented from being utilized from the other purpose as a result of a specification that the group be dedicated to the particular purpose; receive a request to modify the group by changing the number of virtual computer systems implemented by the group, wherein fulfillment of the request requires allocation of an amount of capacity for the number of virtual computer systems; and fulfill the request by at least modifying the group in a manner that; one or more conditions on available capacity of the group, including a minimum amount of available capacity for the group upon fulfillment of corresponding requests, is fulfilled; and the group comprises a number of hardware devices that, as a result of the one or more conditions on the available capacity of the group, leaves capacity in the group for implementing at least one additional virtual computer system. - View Dependent Claims (20, 21, 22, 23, 24)
Specification