US2014282629A1PendingUtilityA1

Managing requests for computing capacity

53
Assignee: AMAZON TECH INCPriority: Jun 30, 2010Filed: May 23, 2014Published: Sep 18, 2014
Est. expiryJun 30, 2030(~4 yrs left)· nominal 20-yr term from priority
G06F 9/5027G06F 2209/5014G06F 9/54H04L 67/1012
53
PatentIndex Score
0
Cited by
0
References
0
Claims

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, a user can request that computer resources be reserved for guaranteed availability by the user (or others authorized by the user) during a future usage time period. For example, the user can request a desired amount of program execution capacity. The usage period can be flexibly chosen to meet the user's needs. The request can specify, for example, that a particular program be executed during the usage period, that only certain users be authorized to have access to the guaranteed availability computer resources, and so forth. The provider may charge a fee for the request and/or fees for access or use of the guaranteed availability computer resources during the usage period.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . 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,   receiving from a first user of the program execution service a request to provide guaranteed availability of a number of computing nodes during a requested future period of time;   automatically determining whether the request for guaranteed availability of the number of computing nodes during the future period of time can be satisfied in whole or in part by the program execution service;   providing the first user with information indicating whether the request for guaranteed availability of the number of computing nodes during the future period of time can be satisfied in whole or in part;   automatically determining from the plurality of computing nodes of the program execution service a group of computing nodes that can satisfy the request by the first user;   allocating the group of computing nodes for guaranteed availability by at least the first user during the requested period of time;   receiving, during the requested period of time, a request from a second user to execute a program on the group of computing nodes that have been allocated for guaranteed availability during the requested period of time; and   initiating, during the requested period of time, execution of the program of the second user on at least one of the computing nodes of the group of computing nodes that have been allocated for guaranteed availability during the requested period of time.   
     
     
         2 . The method of  claim 1 , wherein the request from the first user specifies that the requested number of computing nodes are to be made available only to the first user, and the method further comprises determining that the second user is the same as the first user prior to initiating execution of the program of the second user on at least one of the computing nodes of the group of computing nodes that have been allocated for guaranteed availability during the requested period of time. 
     
     
         3 . The method of  claim 1 , wherein the request from the first user specifies that the requested number of computing nodes are to be made available for execution of a first program of the first user, and the method further comprises determining that the program of the second user is the same as or an instance of the first program of the first user prior to initiating execution of the program of the second user on at least one of the computing nodes of the group of computing nodes that have been allocated for guaranteed availability during the requested period of time. 
     
     
         4 . The method of  claim 1 , wherein the requested period of time specifies an initial time in the future when guaranteed availability is desired to begin and an expiration time when guaranteed availability is desired to end. 
     
     
         5 . A system configured to manage requests for computing capacity of a computing service, the system comprising:
 a computer memory configured to store one or more program modules for managing requests for computing capacity of a computing service, the computing service comprising a plurality of computing nodes; and   a capacity request manager configured to communicate with the computer memory and to execute the one or more program modules stored in the computer memory, the program modules configured to:
 receive a request from a first user for an amount of reserved computing capacity of the computing service that is guaranteed to be available to at least the first user during a usage period that begins in the future; 
 determine whether the request from the first user can be fulfilled in whole or in part during the usage period by the plurality of computing nodes of the computing service; and 
 provide information to the first user indicative of whether the request by the first user can be fulfilled in whole or in part. 
   
     
     
         6 . The system of  claim 5 , wherein the plurality of computing nodes of the computing service comprise one or more physical computing systems. 
     
     
         7 . The system of  claim 6 , wherein the plurality of computing nodes comprise one or more virtual machines hosted on the one or more physical computing systems. 
     
     
         8 . The system of  claim 5 , wherein the usage period comprises a start time when the first amount of reserved capacity is requested to be available and an end time when the first amount of reserved capacity is no longer requested to be available. 
     
     
         9 . The system of  claim 8 , wherein a duration between the start time and the end time is in a range from one hour to one week. 
     
     
         10 . The system of  claim 8 , wherein a duration between the start time and the end time is less than one year. 
     
     
         11 . The system of  claim 5 , wherein the amount of reserved computing capacity comprises an amount of at least one of: instruction execution capability, volatile memory, non-volatile data storage, network bandwidth, and non-network communication bandwidth. 
     
     
         12 . The system of  claim 5 , wherein if the capacity request manager determines that the request from the first user cannot be fulfilled in whole or in part during the requested usage period, the program modules are further configured to determine whether the request can be fulfilled in whole or in part during a different usage period. 
     
     
         13 . The system of  claim 5 , wherein if the capacity request manager determines that the request from the first user cannot be fulfilled in whole or in part during the requested usage period, the program modules are further configured to determine whether the request can be fulfilled in whole or in part with a different number of computing nodes than requested. 
     
     
         14 . The system of  claim 5 , wherein the computing service provides an Application Programming Interface (API) for programmatically interacting with the computing service, and wherein the program modules are configured to receive the request from the first user for the amount of reserved computing capacity via the API. 
     
     
         15 . The system of  claim 5 , wherein the computing service provides an Application Programming Interface (API) for programmatically interacting with the computing service, and wherein the program modules are configured to provide the information indicative of whether the request by the first user can be fulfilled in whole or in part to the first user via the API. 
     
     
         16 . The system of  claim 5 , wherein the program modules are further configured to:
 allocate a group of the computing nodes of the computing service that can fulfill the amount of computing capacity reserved by the first user during the usage period;   receive, during the usage period, a request from a second user for access to a portion of the group of computing nodes reserved by the first user; and   grant the request from the second user if the portion of the group of computing nodes is available.   
     
     
         17 . The system of  claim 16 , wherein the request by the first user specifies that the amount of reserved computing capacity is to be available for execution of a program of the first user, and the program modules are configured to grant the request from the second user only if the second user requests execution of the program or an instance of the program of the first user. 
     
     
         18 . The system of  claim 16 , wherein the program modules are configured to grant the request from the second user for access to the portion of the group of computing nodes reserved by the first user only if such access would not exceed the amount of reserved computing capacity guaranteed to be available during the usage period. 
     
     
         19 . The system of  claim 16 , wherein the program modules are further configured to initiate, during the usage period, execution of a program of the second user on at least one of the computing nodes of the group of computing nodes that have been allocated during the usage period. 
     
     
         20 . The system of  claim 19 , wherein the program modules are further configured to terminate execution of the program of the second user after expiration of the usage period.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.