Committed processing rates for shared resources
Abstract
Customers of a shared-resource environment can provision resources in a fine-grained manner that meets specific performance requirements. A customer can provision a data volume with a committed rate of Input/Output Operations Per Second (IOPS) and pay only for that commitment (plus any overage), and the amount of storage requested. The customer will then at any time be able to complete at least the committed rate of IOPS. If the customer generates submissions at a rate that exceeds the committed rate, the resource can still process at the higher rate when the system is not under pressure. Even under pressure, the system will deliver at least the committed rate. Multiple customers can be provisioned on the same resource, and more than one customer can have a committed rate on that resource. Customers without committed or guaranteed rates can utilize the uncommitted portion, or committed portions that are not being used.
Claims
exact text as granted — not AI-modified1 . A computer-implemented method of committing processing rates for customers of shared resources, comprising:
under control of one or more computer systems configured with executable instructions,
receiving a request for a committed rate of input/output operations per second (IOPS) for a shared resource in a data environment, the request capable of specifying a committed rate corresponding to any portion of a rate capacity of one or more instances of the shared resource, the request being received as a Web service request to at least one application programming interface (API);
determining at least one instance available in the data environment; and
if the determined at least one instance is capable of providing the committed rate corresponding to the request:
sending at least one request to the determined at least one instance in the data environment to commit at least a portion of the committed rate to the user;
storing information for the determined at least one instance and the committed rate to a management data store; and
sending a message to the user indicating whether the committed rate is approved.
2 . The computer-implemented method of claim 1 , wherein determining at least one instance available in the data environment includes analyzing commitment information for a plurality of instances in the data environment, the commitment information being stored in the management data store.
3 . The computer-implemented method of claim 1 , wherein if the determined at least one instance is not capable of providing the committed rate corresponding to the request, the request for a committed rate is denied.
4 . A computer-implemented method of managing usage of shared computing resources, comprising:
under control of one or more computer systems configured with executable instructions,
receiving a request for a committed usage rate for a type of resource, the request capable of specifying a committed usage rate corresponding to any portion of a usage capacity of one or more instances of the type of resource;
determining at least one instance of the type of resource operable to provide at least a portion of the requested committed usage rate; and
assigning at least a portion of the requested committed usage rate to each determined instance when the at least one determined instance is capable of providing the committed usage rate,
wherein the committed usage rate is capable of being supplied by a single determined instance or a plurality of determined instances each providing at least a portion of the requested committed usage rate, each determined instance further capable of having additional users sharing the resource when usage capacity for the instance allows for the additional users, and
wherein a user is able to request a committed usage rate that is substantially independent of the capacity of any single instance of the type of resource.
5 . The computer-implemented method of claim 4 , wherein the committed usage rate for a type of resource is a committed rate of input/output operations per second (TOPS) for a data server.
6 . The computer-implemented method of claim 4 , wherein determining at least one instance of the type of resource operable to provide at least a portion of the requested committed usage rate includes determining at least one instance having at least an allowable portion of the capacity of that instance uncommitted to other users.
7 . The computer-implemented method of claim 4 , wherein if no combination of instances is determined to be capable of providing the committed usage rate corresponding to the request, the request is denied.
8 . The computer-implemented method of claim 4 , wherein each instance is capable of supporting committed request rates for multiple users, each instance further capable of supporting requests for additional users.
9 . The computer-implemented method of claim 8 , wherein at least one instance is configured to process requests for users with uncommitted request rates using an uncommitted or unused portion of the capacity of the instance, and
wherein in an overload situation the requests for users with committed usage rates are processed at a normal rate and requests for users without committed usage rates are slowed down to overcome the overload situation.
10 . The computer-implemented method of claim 4 , wherein a user with a committed usage rate is able to exceed the committed usage rate, any request over the committed usage rate being processed at a rate for requests without rate commitments or at a blended rate between rates for requests with and without rate commitments.
11 . The computer-implemented method of claim 4 , wherein determining at least one instance of the type of resource operable to provide at least a portion of the requested committed usage rate includes randomly contacting instances for at least one of capacity or commitment information.
12 . The computer-implemented method of claim 4 , further comprising:
charging each user based at least in part on the committed usage rate for that type of resource for that user.
13 . A computer-implemented method for handling input/output (I/O) requests for a shared resource, comprising:
enabling at least one user of a shared resource to receive a committed rate of I/O operations per second (IOPS) with respect to the shared resource, the committed rate being less than or equal to an IOPS rate capacity of the shared resource; upon receiving a first request from the at least one user having received a committed rate of IOPS, processing the first request against the shared resource; and upon receiving a second request from an additional user not having received a committed rate of IOPS, processing the second request if an uncommitted portion of the I/O rate capacity is available or if a committed portion of the IOPS rate capacity is not being used.
14 . The computer-implemented method of claim 13 , wherein a rate of processing requests from users without committed usage rates is slowed when the shared resource is in an overload situation.
15 . The computer-implemented method of claim 13 , further comprising:
upon receiving a third request from a specific user of the at least one user having received a committed rate of IOPS, where the third request causes the specific user to exceed the committed usage rate for the specific user, processing the third request at a rate for requests without rate commitments or at a blended rate between rates for requests with and without rate commitments.
16 . A system for managing usage of a shared computing resource, comprising:
at least one processor; and memory including instructions that, when executed by the at least one processor, cause the system to:
receive a request for a committed usage rate for a type of resource, the request capable of specifying a committed usage rate corresponding to any portion of a usage capacity of one or more instances of the type of resource;
determine at least one instance of the type of resource operable to provide at least a portion of the requested committed usage rate; and
assign at least a portion of the requested committed usage rate to each determined instance when the at least one determined instance is capable of providing the committed usage rate,
wherein the committed usage rate is capable of being supplied by a single determined instance or a plurality of determined instances each providing at least a portion of the requested committed usage rate, each determined instance further capable of having additional users sharing the resource when usage capacity for the instance allows for the additional users, and
wherein a user is able to request a committed usage rate that is substantially independent of the capacity of any single instance of the type of resource.
17 . The system of claim 16 , wherein the committed usage rate for a type of resource is a committed rate of input/output operations per second (IOPS) for a data server.
18 . The system of claim 16 , wherein determining at least one instance of the type of resource operable to provide at least a portion of the requested committed usage rate includes determining at least one instance having at least an allowable portion of the capacity of that instance uncommitted to other users.
19 . The system of claim 16 , wherein each instance is capable of supporting committed request rates for multiple users, each instance further capable of supporting requests for additional users.
20 . The system of claim 16 , wherein at least one instance is configured to process requests for users with uncommitted request rates using an uncommitted or unused portion of the capacity of the instance, and
wherein in an overload situation the requests for users with committed usage rates are processed at a normal rate and requests for users without committed usage rates are slowed down to overcome the overload situation.
21 . A computer-readable storage medium managing usage of a shared computing resource, the instructions when executed by a processor causing the processor to:
receive a request for a committed usage rate for a type of resource, the request capable of specifying a committed usage rate corresponding to any portion of a usage capacity of one or more instances of the type of resource; determine at least one instance of the type of resource operable to provide at least a portion of the requested committed usage rate; and assign at least a portion of the requested committed usage rate to each determined instance when the at least one determined instance is capable of providing the committed usage rate, wherein the committed usage rate is capable of being supplied by a single determined instance or a plurality of determined instances each providing at least a portion of the requested committed usage rate, each determined instance further capable of having additional users sharing the resource when usage capacity for the instance allows for the additional users, and wherein a user is able to request a committed usage rate that is substantially independent of the capacity of any single instance of the type of resource.
22 . The computer-readable storage medium of claim 16 , wherein the committed usage rate for a type of resource is a committed rate of input/output operations per second (IOPS) for a data server.
23 . The computer-readable storage medium of claim 21 , wherein determining at least one instance of the type of resource operable to provide at least a portion of the requested committed usage rate includes determining at least one instance having at least an allowable portion of the capacity of that instance uncommitted to other users.
24 . The computer-readable storage medium of claim 21 , wherein each instance is capable of supporting committed request rates for multiple users, each instance further capable of supporting requests for additional users.
25 . The computer-readable storage medium of claim 21 , wherein at least one instance is configured to process requests for users with uncommitted request rates using an uncommitted or unused portion of the capacity of the instance, and
wherein in an overload situation the requests for users with committed usage rates are processed at a normal rate and requests for users without committed usage rates are slowed down to overcome the overload situation.Join the waitlist — get patent alerts
Track US2011238857A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.