Self-adaptive control system for dynamic capacity management of latency-sensitive application servers
US-9667498-B2 · May 30, 2017 · US
US9979617B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-9979617-B1 |
| Application number | US-201414278597-A |
| Country | US |
| Kind code | B1 |
| Filing date | May 15, 2014 |
| Priority date | May 15, 2014 |
| Publication date | May 22, 2018 |
| Grant date | May 22, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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
by balancing the load, e.g. traffic engineering · CPC title
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.