US2014180862A1PendingUtilityA1

Managing operational throughput for shared resources

Assignee: AMAZON TECH INCPriority: Sep 14, 2010Filed: Feb 26, 2014Published: Jun 26, 2014
Est. expirySep 14, 2030(~4.1 yrs left)· nominal 20-yr term from priority
G06Q 30/00H04L 15/16G06Q 40/06G06T 15/20G06Q 30/08
67
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Usage of shared resources can be managed by enabling users to obtain different types of guarantees at different times for various types and/or levels of resource capacity. A user can select to have an amount or rate of capacity dedicated to that user. A user can also select reserved capacity for at least a portion of the requests, tasks, or program execution for that user, where the user has priority to that capacity but other users can utilize the excess capacity during other periods. Users can alternatively specify to use the excess capacity or other variable, non-guaranteed capacity. The capacity can be for any appropriate functional aspect of a resource, such as computational capacity, throughput, latency, bandwidth, and storage. Users can submit bids for various types and combinations of excess capacity, and winning bids can receive dedicated use of the excess capacity for at least a period of time.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A computer-implemented method of managing shared resources, comprising:
 under control of one or more computer systems configured with executable instructions,
 receiving an instance request associated with a user, the instance request specifying a type of resource capacity and a rate of input/output operations to be used in providing an instance for the user, the instance being operable to handle I/O operations on behalf of the user; 
 if the type of capacity is a dedicated capacity type and dedicated capacity for the user with at least the rate of I/O operations is available, generating an instance for the user using the dedicated capacity; 
 if the type of capacity is a reserved capacity type and reserved capacity for the user with at least the rate of I/O operations is available, generating an instance for the user using the reserved capacity; 
 if the type of capacity is an excess capacity type:
 determining whether a bid price is a winning bid price, the winning bid price being greater than other pending bids for the same excess capacity and being at least equal to a current market price; 
 if the bid price is the winning bid price and excess capacity for the user with at least the rate of I/O operations is available, generating an instance for the user using the excess capacity for at least a minimum period of time; and 
 
 if the type of capacity is a variable capacity type and variable capacity is available, generating an instance for the user using the variable capacity, the variable capacity capable of having less than the rate of I/O operations specified for the instance request. 
   
     
     
         2 . The computer-implemented method of  claim 1 , further comprising:
 if the dedicated capacity with the rate of I/O operations is not available for the instance request specifying the dedicated capacity type, changing the type of capacity specified by the instance request to one of an excess capacity type or a variable capacity type;   if the reserved capacity with the rate of I/O operations is not available for the instance request specifying the reserved capacity type, changing the type of capacity specified by the instance request to one of an excess capacity type or a variable capacity type;   if the excess capacity with the rate of I/O operations is not available for the instance request specifying the excess capacity type, changing the type of capacity specified by the instance request to a variable capacity type; and   if the variable capacity is not available for the instance request specifying the variable capacity type, denying the instance request.   
     
     
         3 . The computer-implemented method of  claim 1 , further comprising:
 if the instance request is being fulfilled using the excess capacity and the excess capacity becomes no longer available, moving an instance corresponding to the request to variable capacity if available.   
     
     
         4 . The computer-implemented method of  claim 1 , further comprising:
 receiving a reservation request from a user to utilize resource capacity to fulfill one or more subsequent instance requests for the user, the reservation request specifying a rate of I/O operations to be used in fulfilling the one or more instance requests, each instance request corresponding to an instance to be created for I/O operations for the user;   enabling the user to purchase dedicated capacity for fulfilling at least a portion of the instance requests if dedicated capacity is available with the specified rate of I/O operations, the dedicated capacity being available at any time for use by the user;   enabling the user to purchase reserved capacity for fulfilling at least a portion of the instance requests if reserved capacity is available with the specified rate of I/O operations, the user being given priority to use the reserved capacity over other users; and   if a user is unable to purchase dedicated or reserved capacity, in response to a subsequent instance request:
 enabling the user to bid on excess capacity for fulfilling at least a portion of the instance request if excess capacity is available with the specified rate of I/O operations at substantially a time of submission of the instance request, the excess capacity being available when a bid price for the user at least meets a market price for the excess capacity, the user being able to utilize the excess capacity for at least a period of time when the bid price meets at least one selection criterion; and 
 enabling the user to utilize available variable on-demand capacity for fulfilling at least a portion of the instance request if available variable on-demand capacity is available. 
   
     
     
         5 . The computer-implemented method of  claim 4 , further comprising:
 enabling the user to specify another type of capacity to use to fulfill any instance requests that exceed an amount of capacity specified by the user for at least a portion of the fulfillment.   
     
     
         6 . The computer-implemented method of  claim 4 , further comprising:
 enabling the user to dynamically adjust the bid price for the excess capacity in order to continue fulfillment for the instance request using the excess capacity.   
     
     
         7 . The computer-implemented method of  claim 4 , further comprising:
 enabling the user to submit a plurality of bids for excess capacity, each bid having a bid price based on a combination of levels of capacity for multiple categories of resource capacity.   
     
     
         8 . A computer system for managing shared resources, comprising:
 one or more processors; and   memory, including instructions executable by the one or more processors to cause the computer system to at least:
 receive an instance request associated with a user, the instance request specifying a type of resource capacity and a rate of input/output operations to be used in providing an instance for the user, the instance being operable to handle I/O operations on behalf of the user; 
 if the type of capacity is a dedicated capacity type and dedicated capacity for the user with at least the rate of I/O operations is available, generate an instance for the user using the dedicated capacity; 
 if the type of capacity is a reserved capacity type and reserved capacity for the user with at least the rate of I/O operations is available, generate an instance for the user using the reserved capacity; 
 if the type of capacity is an excess capacity type:
 determine whether a bid price is a winning bid price, the winning bid price being greater than other pending bids for the same excess capacity and being at least equal to a current market price; 
 if the bid price is the winning bid price and excess capacity for the user with at least the rate of I/O operations is available, generate an instance for the user using the excess capacity for at least a minimum period of time; and 
 
 if the type of capacity is a variable capacity type and variable capacity is available, generate an instance for the user using the variable capacity, the variable capacity capable of having less than the rate of I/O operations specified for the instance request. 
   
     
     
         9 . The computer system of  claim 8 , wherein the instructions further cause the computer system to:
 if the dedicated capacity with the rate of I/O operations is not available for the instance request specifying the dedicated capacity type, change the type of capacity specified by the instance request to one of an excess capacity type or a variable capacity type;   if the reserved capacity with the rate of I/O operations is not available for the instance request specifying the reserved capacity type, change the type of capacity specified by the instance request to one of an excess capacity type or a variable capacity type;   if the excess capacity with the rate of I/O operations is not available for the instance request specifying the excess capacity type, change the type of capacity specified by the instance request to a variable capacity type; and   if the variable capacity is not available for the instance request specifying the variable capacity type, deny the instance request.   
     
     
         10 . The computer system of  claim 8 , wherein the instructions further cause the computer system to:
 if the instance request is being fulfilled using the excess capacity and the excess capacity becomes no longer available, move an instance corresponding to the request to variable capacity if available.   
     
     
         11 . The computer system of  claim 8 , wherein the instructions further cause the computer system to:
 receive a reservation request from a user to utilize resource capacity to fulfill one or more subsequent instance requests for the user, the reservation request specifying a rate of I/O operations to be used in fulfilling the one or more instance requests, each instance request corresponding to an instance to be created for I/O operations for the user;   enable the user to purchase dedicated capacity for fulfilling at least a portion of the instance requests if dedicated capacity is available with the specified rate of I/O operations, the dedicated capacity being available at any time for use by the user;   enable the user to purchase reserved capacity for fulfilling at least a portion of the instance requests if reserved capacity is available with the specified rate of I/O operations, the user being given priority to use the reserved capacity over other users; and   if a user is unable to purchase dedicated or reserved capacity, in response to a subsequent instance request:
 enable the user to bid on excess capacity for fulfilling at least a portion of the instance request if excess capacity is available with the specified rate of I/O operations at substantially a time of submission of the instance request, the excess capacity being available when a bid price for the user at least meets a market price for the excess capacity, the user being able to utilize the excess capacity for at least a period of time when the bid price meets at least one selection criterion; and 
 enable the user to utilize available variable on-demand capacity for fulfilling at least a portion of the instance request if available variable on-demand capacity is available. 
   
     
     
         12 . The computer system of  claim 11 , wherein the instructions further cause the computer system to:
 enable the user to specify another type of capacity to use to fulfill any instance requests that exceed an amount of capacity specified by the user for at least a portion of the fulfillment.   
     
     
         13 . The computer system of  claim 11 , wherein the instructions further cause the computer system to:
 enable the user to dynamically adjust the bid price for the excess capacity in order to continue fulfillment for the instance request using the excess capacity.   
     
     
         14 . The computer system of  claim 11 , wherein the instructions further cause the computer system to:
 enable the user to submit a plurality of bids for excess capacity, each bid having a bid price based on a combination of levels of capacity for multiple categories of resource capacity.   
     
     
         15 . A non-transitory computer-readable medium including instructions stored therein that, when executed by at least one computing device, cause the at least one computing device to:
 receive an instance request associated with a user, the instance request specifying a type of resource capacity and a rate of input/output operations to be used in providing an instance for the user, the instance being operable to handle I/O operations on behalf of the user;   if the type of capacity is a dedicated capacity type and dedicated capacity for the user with at least the rate of I/O operations is available, generate an instance for the user using the dedicated capacity;   if the type of capacity is a reserved capacity type and reserved capacity for the user with at least the rate of I/O operations is available, generate an instance for the user using the reserved capacity;   if the type of capacity is an excess capacity type:
 determine whether a bid price is a winning bid price, the winning bid price being greater than other pending bids for the same excess capacity and being at least equal to a current market price; 
 if the bid price is the winning bid price and excess capacity for the user with at least the rate of I/O operations is available, generate an instance for the user using the excess capacity for at least a minimum period of time; and 
   if the type of capacity is a variable capacity type and variable capacity is available, generate an instance for the user using the variable capacity, the variable capacity capable of having less than the rate of I/O operations specified for the instance request.   
     
     
         16 . The non-transitory computer-readable medium of  claim 15 , wherein the instructions further cause the at least one computing device to:
 if the dedicated capacity with the rate of I/O operations is not available for the instance request specifying the dedicated capacity type, change the type of capacity specified by the instance request to one of an excess capacity type or a variable capacity type;   if the reserved capacity with the rate of I/O operations is not available for the instance request specifying the reserved capacity type, change the type of capacity specified by the instance request to one of an excess capacity type or a variable capacity type;   if the excess capacity with the rate of I/O operations is not available for the instance request specifying the excess capacity type, change the type of capacity specified by the instance request to a variable capacity type; and   if the variable capacity is not available for the instance request specifying the variable capacity type, deny the instance request.   
     
     
         17 . The non-transitory computer-readable medium of  claim 15 , wherein the instructions further cause the at least one computing device to:
 if the instance request is being fulfilled using the excess capacity and the excess capacity becomes no longer available, move an instance corresponding to the request to variable capacity if available.   
     
     
         18 . The non-transitory computer-readable medium of  claim 15 , wherein the instructions further cause the at least one computing device to:
 receive a reservation request from a user to utilize resource capacity to fulfill one or more subsequent instance requests for the user, the reservation request specifying a rate of I/O operations to be used in fulfilling the one or more instance requests, each instance request corresponding to an instance to be created for I/O operations for the user;   enable the user to purchase dedicated capacity for fulfilling at least a portion of the instance requests if dedicated capacity is available with the specified rate of I/O operations, the dedicated capacity being available at any time for use by the user;   enable the user to purchase reserved capacity for fulfilling at least a portion of the instance requests if reserved capacity is available with the specified rate of I/O operations, the user being given priority to use the reserved capacity over other users; and   if a user is unable to purchase dedicated or reserved capacity, in response to a subsequent instance request:
 enable the user to bid on excess capacity for fulfilling at least a portion of the instance request if excess capacity is available with the specified rate of I/O operations at substantially a time of submission of the instance request, the excess capacity being available when a bid price for the user at least meets a market price for the excess capacity, the user being able to utilize the excess capacity for at least a period of time when the bid price meets at least one selection criterion; and 
 enable the user to utilize available variable on-demand capacity for fulfilling at least a portion of the instance request if available variable on-demand capacity is available. 
   
     
     
         19 . The non-transitory computer-readable medium of  claim 18 , wherein the instructions further cause the at least one computing device to:
 enable the user to specify another type of capacity to use to fulfill any instance requests that exceed an amount of capacity specified by the user for at least a portion of the fulfillment.   
     
     
         20 . The non-transitory computer-readable medium of  claim 18 , wherein the instructions further cause the at least one computing device to:
 enable the user to dynamically adjust the bid price for the excess capacity in order to continue fulfillment for the instance request using the excess capacity; and   enable the user to submit a plurality of bids for excess capacity, each bid having a bid price based on a combination of levels of capacity for multiple categories of resource capacity.

Join the waitlist — get patent alerts

Track US2014180862A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.