MANAGING ALLOCATION OF COMPUTING CAPACITY
First Claim
1. A computing system configured to manage execution of programs for users, the system comprising:
- a capacity request manager component that is configured to manage requests for execution of programs for users of a program execution service having a plurality of computing nodes, at least some of the plurality of computing nodes comprising physical computing systems, the capacity request manager component configured to;
access a request from a user of the program execution service for a specified amount of computing capacity of the program execution service;
determine if sufficient available capacity exists in the program execution service to fulfill the request for the specified amount of computing capacity;
deny the request if insufficient available capacity exists on the program execution service;
grant the request if available capacity on the program execution service is above a first threshold; and
probabilistically grant the request if the available capacity is below the first threshold, wherein a probability of granting the request is based at least in part on available capacity and a probability function that is used to determine the probability of granting the request, such that at least some of the requests are denied based at least in part on the probability function, even if available capacity exists;
wherein one or more of the plurality of computing nodes sufficient to provide the specified amount of computing capacity of the program execution service is allocated to the user if the request from the user is granted.
0 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods are described for managing requests for computing capacity from a provider of computing resources. The computing resources may include program execution capabilities, data storage or management capabilities, network bandwidth, etc. In some implementations, user requests are probabilistically denied or granted while some computing resources are still available. By denying some requests or granting only some, the rate of computing resource usage can be reduced, thus preserving some capacity for a longer period of time. In one embodiment, the capacity can be provided to clients based on client priority, provided to clients with reserved resources, provided to clients probabilistically, sold on a spot market, or allocated in some other fashion.
65 Citations
20 Claims
-
1. A computing system configured to manage execution of programs for users, the system comprising:
a capacity request manager component that is configured to manage requests for execution of programs for users of a program execution service having a plurality of computing nodes, at least some of the plurality of computing nodes comprising physical computing systems, the capacity request manager component configured to; access a request from a user of the program execution service for a specified amount of computing capacity of the program execution service; determine if sufficient available capacity exists in the program execution service to fulfill the request for the specified amount of computing capacity; deny the request if insufficient available capacity exists on the program execution service; grant the request if available capacity on the program execution service is above a first threshold; and probabilistically grant the request if the available capacity is below the first threshold, wherein a probability of granting the request is based at least in part on available capacity and a probability function that is used to determine the probability of granting the request, such that at least some of the requests are denied based at least in part on the probability function, even if available capacity exists; wherein one or more of the plurality of computing nodes sufficient to provide the specified amount of computing capacity of the program execution service is allocated to the user if the request from the user is granted. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
8. A computer-implemented method for managing requests for computing capacity provided by a program execution service, the method comprising:
-
under control of a program execution service that provides a plurality of computing nodes that are each configurable to execute one or more programs of multiple users of the program execution service, at least some of the plurality of computing nodes comprising physical computing systems, receiving from a user of the program execution service a request to provide a computing resource associated with one or more of the plurality of computing nodes; determining availability of the requested computing resource on the plurality of computing nodes; and probabilistically granting the request if the determined availability is below a first threshold, wherein a probability of granting the request is based at least in part on the availability of the requested computing resource and a probability function that is used to determine the probability of granting the request, such that at least some requests to the program execution service are denied based at least in part on the probability function, even if available resource exists. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A non-transitory computer-readable medium having stored thereon instructions that, when executed by a computer system, cause the computer system to perform operations comprising:
-
receiving a plurality of computing resource requests for respective amounts of computing resources of a program execution service; determining that sufficient computing resources are available on the program execution service to fulfill the respective computing resource requests; and based at least in part on the determination, probabilistically denying at least some of the requests and granting at least some of the requests, wherein a probability function is used to determine a probability of granting at least some of the requests, such that at least some of the requests are denied based at least in part on the probability function, even if available resource exists. - View Dependent Claims (19, 20)
-
Specification