IP Library Granted Patent US 10,025,718
Granted Patent B1
US 10,025,718 · App. 15/195,884 · Granted Jul 17, 2018

Modifying provisioned throughput capacity for data stores according to cache performance

Inventors: Muhammad Wasiq (Vancouver, CA); Nima Sharifi Mehr (Vancouver, CA)
Assignee: Amazon Technologies, Inc.
G06F12/0877G06F2212/1021G06F2212/154G06F2212/263G06F2212/60
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,025,718
App. No.
15/195,884
Granted
Jul 17, 2018
Kind
B1
Abstract

Modifications to throughput capacity provisioned at a data store for servicing access requests to the data store may be performed according to cache performance metrics. A cache that services access requests to the data store may be monitored to collected and evaluate cache performance metrics. The cache performance metrics may be evaluated with respect to criteria for triggering different throughput modifications. In response to triggering a throughput modification, the throughput capacity for the data store may be modified according to the triggered throughput modification. In some embodiments, the criteria for detecting throughput modifications may be determined and modified based on cache performance metrics.

Claims (42)

1. A system, comprising:

one or more computing nodes respectively comprising a processor and a memory, configured to implement a cache and a monitor for the cache;

the cache, configured to service access requests directed to a remote data store received from one or more clients of the remote data store; and

the monitor configured to:

evaluate one or more performance metrics determined for the cache to trigger performance of a throughput modification for the data store; and

in response to the triggering of the throughput modification for the data store, send a request to increase or decrease a throughput capacity of the data store provisioned for processing access requests received at the data store according to the triggered throughput modification, wherein one or more subsequent access requests processed at the data store are processed according to the modified throughput capacity.

2. The system of claim 1 ,

wherein the monitor is further configured to apply one or more statistical analyses to historical cache performance metrics maintained for the cache in order to determine criteria for triggering the throughput modification; and

wherein the evaluation triggering the throughput modification determines that the criteria for the throughput modification is satisfied.

3. The system of claim 2 , wherein subsequent to the triggering of the throughput modification the monitor is further configured to modify the criteria for triggering the throughput modification so that evaluations of subsequently determined cache performance metrics may be evaluated with respect to the modified criteria.

4. The system of claim 1 , wherein the data store is a network-based data storage service implemented as part of a provider network, wherein the cache is implemented as part of a cache service of the provider network, and wherein the request to increase or decrease the throughput capacity of the data store is formatted according to a programmatic interface for the data storage service.

5. A method, comprising:

performing, by one or more computing devices:

determining one or more cache performance metrics for a cache servicing access requests for a data store received from one or more clients;

evaluating the one or more cache performance metrics to trigger a throughput modification for the data store; and

in response to triggering the throughput modification, modifying a throughput capacity of the data store provisioned for processing access requests at the data store, wherein one or more subsequent access requests processed at the data store are processed according to the modified throughput capacity.

6. The method of claim 5 , further comprising determining criteria for triggering the throughput modification based, at least in part, on historical cache metrics maintained for the cache, wherein evaluating the one or more cache performance metrics determines that the criteria for the throughput modification is satisfied.

7. The method of claim 6 , wherein determining criteria for triggering the throughput modification comprises applying one or more statistical analyses to the historical cache performance metrics.

8. The method of claim 5 , further comprising:

subsequent to the triggering of the throughput modification, modifying the criteria for triggering the throughput modification so that evaluations of subsequently determined cache performance metrics may be evaluated with respect to the modified criteria.

9. The method of claim 5 , wherein modifying the throughput capacity of the data store comprises sending a request via a programmatic interface to the data store indicating the modification to the throughput capacity.

10. The method of claim 9 ,

wherein the determining the one or more cache performance metrics is performed by a metrics collection agent;

wherein the method further comprises sending the one or more cache performance metrics to a cache monitor; and

wherein the cache monitor performs the evaluating the one or more cache performance metrics to trigger the throughput modification for the data store and the sending of the request to the data store to modify the throughput modification capacity.

11. The method of claim 5 , wherein the throughput modification is triggered prior to the triggering of another throughput modification determined based on access request metrics for access requests directed to the data store.

12. The method of claim 5 , further comprising:

based, at least in part on an evaluation of one or more other cache performance metrics, modify a size of the cache.

13. The method of claim 5 , wherein modifying the throughput capacity of the data store is further performed in response to determining that the throughput modification is authorized.

14. A non-transitory, computer-readable storage medium, storing program instructions that when executed by one or more computing devices cause the one or more computing devices to implement:

monitoring one or more cache performance metrics for a cache that services access requests directed to a data store received from one or more clients;

based, at least in part, on the monitoring, triggering a throughput modification for the data store; and

in response to triggering the throughput modification, modifying a throughput capacity of the data store provisioned for processing access requests at the data store according to the triggered throughput modification, wherein one or more subsequent access requests processed at the data store are processed according to the modified throughput capacity.

15. The non-transitory, computer-readable storage medium of claim 14 , wherein the programming instructions cause the one or more computing devices to further implement determining criteria for triggering the throughput modification based, at least in part, on historical cache metrics maintained for the cache, wherein evaluating the one or more cache performance metrics determines that the criteria for the throughput modification is satisfied.

16. The non-transitory, computer-readable storage medium of claim 15 , wherein determining the criteria for triggering the throughput modification is further based on or more client-specified performance goals for the data store.

17. The non-transitory, computer-readable storage medium of claim 14 , wherein the programming instructions cause the one or more computing devices to further implement:

subsequent to the triggering of the throughput modification, modifying the criteria for triggering the throughput modification so that evaluations of subsequently determined cache performance metrics may be evaluated with respect to the modified criteria.

18. The non-transitory, computer-readable storage medium of claim 14 , wherein the programming instructions cause the one or more computing devices to further implement:

collecting, by a collections agent, the one or more cache metrics for the cache;

reporting, by the collections agent, the one or more cache metrics to a cache monitor, wherein the cache monitor performs the monitoring and the triggering of the throughput modification.

19. The non-transitory, computer-readable storage medium of claim 17 , wherein the cache monitor is implemented as part of the data store.

20. The non-transitory, computer-readable storage medium of claim 14 , wherein modifying the throughput capacity of the data store comprises sending a request via a programmatic interface to the data store indicating the modification to the throughput capacity.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 29, 2016
From: WASIQ, MUHAMMAD; MEHR, NIMA SHARIFI
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 039043/0714 →
Cited By (2)
US 12,222,962 US 12,389,259