IP Library › Granted Patent US 11,966,788
Granted Patent B2
US 11,966,788 · App. 17/618,621 · Granted Apr 23, 2024

Predictive autoscaling and resource optimization

Inventors: Jevon MacDonald (Halifax, CA); James Bowes (Dartmouth, CA); Domenic Rosati (Halifax, CA)
Assignee: SNYK LIMITED
G06F9/505G06F8/60G06F9/5083G06F11/302G06F11/3409G06F11/3433G06F2209/5019
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 11,966,788
App. No.
17/618,621
Granted
Apr 23, 2024
Kind
B2
Abstract

Techniques for predictive autoscaling and resource optimization of software deployments. In an implementation, users declare performance objectives, and machine learning of application behavior and load profile is to used to determine minimum cost resourcing to meet the declared performance objectives. In an embodiment, convergent deployments are monitored and related feedback is provided to improve forecasting, behavior modeling, and resource estimation over time.

Claims (53)

1. A system, comprising:

one or more processors; and

a memory coupled to the one or more processors, wherein the memory is configured to store instructions that, when executed by the one or more processors, cause the system to be configured to:

receive service level agreement (SLA) metrics;

convert the SLA metrics to declarative performance data structures, that represent declared performance objectives for software deployment;

monitor performance indicators and resource usage of deployed software;

generate an application behavior model, based on the performance indicators and the resource usage as a function of a load of the deployed software;

forecast the load of the deployed software at a future time;

generate minimum cost optimization parameters based on the declarative performance data structures, the application behavior model, and the forecasted load of the deployed software;

execute convergent deployments of the deployed software;

perform load balancing on one or more of traffic to the convergent deployments and traffic from the convergent deployments in accordance with the minimum cost optimization parameters;

monitor resources associated with the convergent deployments; and

generate an updated application behavior model based on feedback associated with the convergent deployments.

2. The system of claim 1 , wherein the SLA metrics comprise one or more of service level indicator (SLI) metrics and service level objective (SLO) metrics.

3. The system of claim 1 , wherein the SLA metrics are defined by a human agent.

4. The system of claim 1 , wherein the SLA metrics are defined by an artificial agent.

5. The system of claim 1 , wherein the performance indicators comprise request count, a request duration, or a combination thereof.

6. The system of claim 1 , wherein the resource usage comprises a memory usage, a central processing unit (CPU) power consumption, a disk input/output (I/O) usage, a network I/O usage, or a combination thereof.

7. The system of claim 1 , wherein the forecasted load comprises a seasonal load, a trendy load, a bursty load, a random load, or a combination thereof.

8. The system of claim 1 , wherein the instructions, when executed by, the one or more processors, further cause the system to be configured to estimate a forecast pattern for use in setting resource limits.

9. The system of claim 1 , wherein the application behavior model is generated using deep learning.

10. The system of claim 1 , wherein the instructions, when executed by the one or more processors, further cause the system to be configured to determine a measured error based on the declared performance objectives.

11. A method comprising:

receiving service level agreement (SLA) metrics;

converting the SLA metrics to declarative performance data structures, that represent declared performance objectives for software deployment;

monitoring performance indicators and resource usage of deployed software;

generating an application behavior model based on the performance indicators and the resource usage as a function of a load of the deployed software;

forecasting the load of the deployed software at a future time;

generating minimum cost optimization parameters based on the declarative performance data structures, the application behavior model, and the forecasted load of the deployed software;

executing convergent deployments of the deployed software;

performing load balancing on one or more of traffic to the convergent deployments and traffic from the convergent deployments in accordance with the minimum cost optimization parameters;

monitoring resources associated with the convergent deployments;

providing feedback associated with the convergent deployments; and generating an updated application behavior model based on the feedback.

12. The method of claim 11 , wherein the SLA metrics comprise one or more of service level indicator (SLI) metrics and service level objective (SLO) metrics.

13. The method of claim 11 , wherein the SLA metrics are defined by an artificial agent.

14. The method of claim 11 , wherein the performance indicators comprise a request count, a request duration, or a combination thereof.

15. The method of claim 11 , wherein the resource usage comprises a memory usage, a central processing unit (CPU) power consumption, a disk input/output (I/O) usage, a network I/O usage, or a combination thereof.

16. The method of claim 11 , wherein the forecasted load comprises a seasonal load, a trendy load, a bursty load, a random load, or a combination thereof.

17. The method of claim 11 , further comprising estimating a forecast pattern for use in setting resource limits.

18. The method of claim 11 , wherein the application behavior model is generated using deep learning.

19. The method of claim 11 , further comprising determining a measured error based on the declared performance objectives.

20. A system, comprising:

means for receiving service level agreement (SLA) metrics;

means for converting the SLA metrics to declarative performance data structures, that represent declared performance objectives for software deployment;

means for monitoring performance indicators and resource usage of deployed software;

means for generating an application behavior model based on the performance indicators and the resource usage as a function of a load of the deployed software;

means for forecasting the load of the deployed software at a future time;

means for generating minimum cost optimization parameters based on the declarative performance data structures, the application behavior model, and the forecasted load of the deployed software;

means for executing convergent deployments of the deployed software;

means for performing load balancing on one or more of traffic to the convergent deployments and traffic from the convergent deployments in accordance with the minimum cost optimization parameters;

means for monitoring resources associated with the convergent deployments;

means for providing feedback associated with the convergent deployments; and

means for generating an updated application behavior model based on the feedback.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 9, 2022
From: MACDONALD, JEVON; BOWES, JAMES; ROSATI, DOMENIC
To: ARIGATO MACHINE, INC., DBA MANIFOLD
Reel/Frame 059873/0332 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 9, 2022
From: ARIGATO MACHINE INC. DBA MANIFOLD
To: SNYK LIMITED
Reel/Frame 060134/0758 →
Continuity (3)
Provisional Application 62864476 · Jun 20, 2019
Provisional Application 62860740 · Jun 12, 2019
Related Publication 20220244993A1 · Aug 4, 2022
Cited By (9)
US 12,513,207 US 12,625,731 US 12,625,738 US 12,632,318 US 12,645,501 US 12,675,333 US 12,705,103 US 12,706,812 US 12,710,992