MULTI-TENANT THROTTLING APPROACHES
0 Assignments
0 Petitions
Accused Products
Abstract
An opportunistic throttling approach can be used for customers of shared resources in a multi-tenant environment. Each customer can have a respective token bucket with a guaranteed fill rate. When a request is received for an amount of work to be performed by a resource, the corresponding number of tokens are obtained from, or charged against, a global token bucket. If the global bucket has enough tokens, and if the customer has not exceeded a maximum work rate or other such metric, the customer can charge less than the full number of tokens against the customer'"'"'s token bucket, in order to reduce the number of tokens that need to be taken from the customer bucket. Such an approach can enable the customer to do more work and enable the customer'"'"'s bucket to fill more quickly as fewer tokens are charged against the customer bucket for the same amount of work.
-
Citations
21 Claims
-
1. (canceled)
-
2. A computer-implemented method, comprising:
-
receiving a request for usage of at least one resource by a computing system in a multi-tenant computing environment that includes a plurality of computing resources in communication via a network; when the requested usage exceeds a threshold usage of the at least one resource, delaying processing of the request; when the requested usage is below the threshold, determining an amount of usage needed to process the request; charging the amount of usage against a global available usage amount associated with the at least one resource; determining a portion of the amount of usage to be charged against a requestor available usage amount for the request based at least in part on a fill level of the global available usage amount; and processing the request when at least the portion of the amount of usage is available in the requestor available usage amount. - View Dependent Claims (3, 4, 5, 6, 7, 8)
-
-
9. An apparatus comprising:
-
at least one processor; and at least one memory device including instructions that, when executed by the at least one processor, cause the computing system to; receive a request for usage of at least one resource by a computing system in a multi-tenant computing environment that includes a plurality of computing resources in communication via a network; when the requested usage exceeds a threshold usage of the at least one resource, delay processing of the request; when the requested usage is below the threshold, determine an amount of usage needed to process the request; charge the amount of usage against a global available usage amount associated with the at least one resource; determine a portion of the amount of usage to be charged against a requestor available usage amount for the request based at least in part on a fill level of the global available usage amount; and process the request when at least the portion of the amount of usage is available in the requestor available usage amount. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A non-transitory computer-readable storage medium storing instructions that, when executed by at least one processor of a computing system, cause the computing system to:
-
receive a request for usage of at least one resource by a computing system in a multi-tenant computing environment that includes a plurality of computing resources in communication via a network; when the requested usage exceeds a threshold usage of the at least one resource, delay processing of the request; when the requested usage is below the threshold, determine an amount of usage needed to process the request; charge the amount of usage against a global available usage amount associated with the at least one resource; determine a portion of the amount of usage to be charged against a requestor available usage amount for the request based at least in part on a fill level of the global available usage amount; and process the request when at least the portion of the amount of usage is available in the requestor available usage amount. - View Dependent Claims (17, 18, 19, 20, 21)
-
Specification