Techniques for controlling scaling behavior of resources

US9979617B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9979617-B1
Application numberUS-201414278597-A
CountryUS
Kind codeB1
Filing dateMay 15, 2014
Priority dateMay 15, 2014
Publication dateMay 22, 2018
Grant dateMay 22, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Current methods for providing automated scaling of network resources require tracking a specific metric and based on that metric exceeding a specified limit, provisioning additional resources. By providing additional control functionality for enabling customers to select parameters to use for automated resource scaling, customer systems can automatically and dynamically receive additional resources based on the selected parameters.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method for providing resources, comprising: monitoring load on at least one cluster of computing devices over an amount of time, the at least one cluster of computing devices having a current capacity; calculating, based at least in part on the monitored load, an amount of load compared to the current capacity, an accumulation of past load over the amount of time, and a rate-of-change of load over the amount of time; generating, based at least in part on a summation of the calculated amount of load compared to the current capacity, the accumulation of past load over the amount of time, and the rate-of-change of load over the amount of time, a determination whether to modify the capacity of the at least one cluster of computing devices; and as a result of the generated determination being to modify the capacity of the at least one cluster of computing devices, transmitting one or more requests whose fulfillment results in the at least one cluster of computing devices changing in accordance with the generated determination. 2. The computer-implemented method of claim 1 , further comprising provisioning additional computing resources as a result of the generated determination being to modify the capacity of the at least one cluster of computing devices. 3. The computer-implemented method of claim 2 , wherein the additional computing resources include one or more webservers, caches, virtual machines, containers, or load balancers. 4. The computer-implemented method of claim 1 , further comprising: detecting currently active computing resources, wherein the detecting further includes recognizing state information related to each of the detected currently active computing resources; and detecting currently inactive computing resources, wherein the detecting further includes determining if the inactive computing resources are available to be activated. 5. A system, comprising: at least one computing device configured to implement one or more services, wherein the one or more services: monitor capacity usage on a cluster of capacity-constrained systems over an amount of time, the cluster of capacity-constrained systems having a capacity; calculate, based at least in part on the monitored capacity usage, an amount of capacity usage relative to a current capacity, an accumulation of past capacity usage over the amount of time, and a rate-of-change of capacity usage over the amount of time; and change the capacity in accordance with a summation of the an amount of capacity usage relative to the current capacity, an accumulation of past capacity usage over the amount of time, and a rate-of-change of capacity usage over the amount of time. 6. The system of claim 5 , wherein changing the capacity in accordance with the summation of the calculated amount of capacity usage relative to the current capacity, an accumulation of past capacity usage over the amount of time, and a rate-of-change of capacity usage over the amount of time includes changing a number of servers in the capacity-constrained system. 7. The system of claim 5 , wherein the one or more services are further configured to obtain feedback related to the change of the capacity, wherein the feedback includes the amount of capacity usage relative to the current capacity, the accumulation of past capacity usage over the amount of time, and the rate-of-change of capacity usage over the amount of time received as feedback from a previous capacity change. 8. The system of claim 5 , wherein the one or more services are further configured to run in a closed-loop control system. 9. The system of claim 5 , wherein the one or more services are further configured to monitor at least one network activity, wherein the at least one network activity includes user requests for bandwidth, traffic state on a website, load state on a website, or load state at a load balancer. 10. The system of claim 5 , wherein the one or more services are further configured to provide an application programming interface (API) for a customer to provide parameters, wherein the provided parameters are used to tune an algorithm used to calculate the amount of capacity usage relative to the current capacity, the accumulation of past capacity usage over the amount of time, and the rate-of-change of capacity usage over the amount of time. 11. The system of claim 10 , wherein the one or more services are further configured to receive the parameters via the API, wherein the parameters are associated with the amount of capacity usage relative to the current capacity, the accumulation of past capacity usage over the amount of time, and the rate-of-change of capacity usage over the amount of time, wherein the parameters are constraints associated with each of the amount of capacity usage relative to the current capacity, the accumulation of past capacity usage over the amount of time, and the rate-of-change of capacity usage over the amount of time. 12. The system of claim 11 , wherein the parameters are used to apply a level of significance to each of the amount of capacity usage relative to the current capacity, the accumulation of past capacity usage over the amount of time, and the rate-of-change of capacity usage over the amount of time, wherein the level of significance is a tunable variable. 13. A non-transitory computer-readable storage medium having stored thereon executable instructions that, as a result of execution by one or more processors of a computer system, cause the computer system to at least: implement a logic controller configured to: monitor utilization on a cluster of computing resources, the cluster of computing resources having a current capacity; calculate, based at least in part on the monitored utilization, a summation of at least three parameters associated with the utilization; analyze the calculated summation of at least three parameters associated with the utilization compared to the current capacity; and adjust the current capacity based at least in part on an outcome of the analyzing of the summation of the calculated at least three parameters. 14. The non-transitory computer-readable storage medium of claim 13 , wherein the instructions further comprise instructions that, when executed by the one or more processors, cause the computer system to provide an application programming interface (API) to a customer to tune at least one of the at least three parameters prior to the calculation. 15. The non-transitory computer-readable storage medium of claim 14 , wherein the instructions further comprise instructions that, when executed by the one or more processors, cause the computer system to: record an event on a customer application over a period of time; and create a simulation based on the event using at least one of the at least three parameters tuned by the customer. 16. The non-transitory computer-readable storage medium of claim 15 , wherein the instructions that cause the computer system to create the simulation based on at least one of the at least three parameters tuned by the customer further includes instructions that cause the computer system to: create at least one second simulation using the at least one of the at least three parameters tuned by the customer in at least one alternative tuned parameter other than the tuned parameter from the customer; provide the at least one second simulation to the customer; and provide suggested tuning for at least one of the at least three parameters based at least in part on the at least one second simulation. 17. The non-transitor

Assignees

Inventors

Classifications

  • by balancing the load, e.g. traffic engineering · CPC title

  • H04L43/08Primary

    Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters · CPC title

  • Admission control; Resource allocation · CPC title

  • by horizontal or vertical scaling of resources, or by migrating entities, e.g. virtual resources or entities · CPC title

  • Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities (flow or congestion control using dynamic resource allocation, e.g. in-call renegotiation, H04L47/76) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9979617B1 cover?
Current methods for providing automated scaling of network resources require tracking a specific metric and based on that metric exceeding a specified limit, provisioning additional resources. By providing additional control functionality for enabling customers to select parameters to use for automated resource scaling, customer systems can automatically and dynamically receive additional resou…
Who is the assignee on this patent?
Amazon Tech Inc
What technology area does this patent fall under?
Primary CPC classification H04L43/08. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue May 22 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).