Patentable/Patents/US-10387200
US-10387200

Burst throttling for multi-tenant storage services

PublishedAugust 20, 2019
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical Abstract

Burst throttling methods may be used to manage computing resources of a data storage service. Tokens may represent I/O operations executed by a customer of the data storage service. A first token bucket may contain a set of tokens representing the overall I/O operation capacity of the data storage service. Additionally, a second token bucket may contain a set of tokens for a given logical volume maintained by the data storage service. When I/O requests are received tokens may be charged the first token bucket and the second token bucket. Furthermore, if there is sufficient capacity, the data storage service may charge a reduced number of tokens to the third token bucket.

Patent Claims
20 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A computer-implemented method, comprising: for a data storage request to be performed by a data storage service utilizing computing resources of the data storage service, determining a value for an amount of computing resources to be used by the data storage service to process the data storage request; removing the value from a first amount of operations allocated to a logical volume by the data storage service; determining a reduced value to remove from a second amount of operations allocated to the logical volume based at least in part on an amount of operations remaining in the first amount of operations after removing the value; removing the value from a total amount of operations representing a capacity of the computing resources to perform operations of the data storage service; and processing the data storage request.

2

2. The computer-implemented method of claim 1 , wherein the computer-implemented method further comprises delaying processing of the data storage request as a result of determining there are insufficient operations in the first amount of operations to remove the value.

3

3. The computer-implemented method of claim 1 , wherein the computer-implemented method further comprises determining the first amount of operations allocated to the logical volume based at least in part on an analysis of a workload associated with the logical volume.

4

4. The computer-implemented method of claim 1 , wherein determining the reduced value further comprises increasing the second amount of operations allocated to a logical volume.

5

5. A system, comprising: one or more processors; and memory that includes instructions that, as a result of being executed by the one or more processors, cause the system to: determine a value representing an amount of computing resources to be utilized by the system to process a request to perform an operation on a logical volume; process the request by at least: removing the value from a first set of credited operations associated with the logical volume; determining a reduced value to remove from a second set of credited operations associated with the logical volume; and determining there are sufficient credited operations remaining in the first set of credited operations and the second set of credited operations after removing the value and reduced value; and remove the value from a third set of credited operations representing a total capacity of the system to process requests.

6

6. The system of claim 5 , wherein the value represents a number of input/output (I/O) operations performed to process the request.

7

7. The system of claim 5 , wherein the first set of credited operations further includes a set of tokens, where a token of the set of tokens represents an I/O operation.

8

8. The system of claim 5 , wherein the second set of credited operations is determined based at least in part on a number of credited operations of the third set of credited operations.

9

9. The system of claim 5 , wherein the second set of credited operations is determined based at least in part on a size of the logical volume.

10

10. The system of claim 5 , wherein the second set of credited operations is determined based at least in part on a number of operations per interval of time requested by a customer associated with the logical volume.

11

11. The system of claim 5 , wherein the second set of credited operations is determined based at least in part on a number of credited operations remaining in the first set of credited operations after removing the value from the first set of credited operations.

12

12. The system of claim 5 , wherein the reduced value is determined based at least in part on a percentage of the total capacity of the system to process the request.

13

13. A non-transitory computer-readable storage medium having stored thereon executable instructions that, as a result of being executed by one or more processors of a computer system, cause the computer system to at least: determine a value representing an amount of computing resources of the computer system to be utilized to process a work request associated with a storage location; remove the value from a first amount of operations associated with computing resources, wherein the first amount of operations indicates a total amount of computing resources of the computer system currently available; remove the value from a second amount of operations associated with computing resources, wherein the second amount of operations indicates an amount of computing resources for processing work requests associated with the storage location; remove a reduced value from a third amount of operations associated with computing resources, wherein the third amount of operations indicates an increased amount of computing resources for processing work requests associated with the storage location over an interval of time; and process the work request.

14

14. The non-transitory computer-readable storage medium of claim 13 , wherein the instructions that cause the computer system to remove the reduced value from the third amount of operations associated with computing resources further include instructions that cause the computer system to determine the reduced value based at least in part on a number of computing resources included in the third amount of operations associated with computing resources.

15

15. The non-transitory computer-readable storage medium of claim 13 , wherein the instructions further comprise instructions that, as a result of being executed by the one or more processors, cause the computer system to delay processing of the work request.

16

16. The non-transitory computer-readable storage medium of claim 15 , wherein the instructions that cause the computer system to delay processing of the work request further include instructions that cause the computer system to delay processing of the work request as a result of the second amount of operations associated with computing resources including insufficient capacity to process the work request after removing the value.

17

17. The non-transitory computer-readable storage medium of claim 15 , wherein the instructions that cause the computer system to delay processing of the work request further include instructions that cause the computer system to delay processing of the work request as a result of the first amount of operations associated with computing resources including insufficient capacity to process the work request after removing the value.

18

18. The non-transitory computer-readable storage medium of claim 15 , wherein the instructions further comprise instructions that, as a result of being executed by the one or more processors, cause the computer system to: after delaying the work request, determine insufficient capacity in the second amount of operations associated with computing resources to process the work request; and perform a secondary throttling mechanism on the work request.

19

19. The non-transitory computer-readable storage medium of claim 13 , wherein the instructions further comprise instructions that, as a result of being executed by the one or more processors, cause the computer system to: determine insufficient capacity in the first amount of operations associated with computing resources to process the work request; and as a result, remove the value from the third amount of operations associated with computing resources.

20

20. The non-transitory computer-readable storage medium of claim 13 , wherein the instructions further comprise instructions that, as a result of being executed by the one or more processors, cause the computer system to: determine insufficient capacity in the second amount of operations associated with computing resources to process the work request; and as a result, remove the value from the third amount of operations associated with computing resources.

Classification Codes (CPC)

Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.

Patent Metadata

Filing Date

July 10, 2017

Publication Date

August 20, 2019

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Burst throttling for multi-tenant storage services” (US-10387200). https://patentable.app/patents/US-10387200

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.