IP Library › Granted Patent US 11,182,216
Granted Patent B2
US 11,182,216 · App. 16/597,267 · Granted Nov 23, 2021

Auto-scaling cloud-based computing clusters dynamically using multiple scaling decision makers

Inventor: Daniel McWeeney (New York, NY)
Assignee: Adobe Inc.
G06F9/5027G06F9/5022G06F9/5072G06F9/5083G06F2209/503G06F2209/508
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,182,216
App. No.
16/597,267
Granted
Nov 23, 2021
Kind
B2
Abstract

Systems, methods, and non-transitory computer-readable media are disclosed for determining an accurate and efficient auto-scaling action for a cloud-based computing cluster based on multiple proposed auto-scaling actions from multiple scaling models. For example, the disclosed systems can determine an auto-scaling action to perform on a cloud-based computing cluster by weighing multiple proposed auto-scaling actions from multiple scaling models based on confidence scores associated with the proposed auto-scaling actions. Moreover, the disclosed systems can modify the cloud-based computing cluster using the determined auto-scaling action (e.g., to accurately and efficiently provision computing resources for a cloud-based computing system).

Claims (55)

1. A non-transitory computer-readable medium storing instructions that, when executed by at least one processor, cause a computer device to:

determine a first proposed auto-scaling action using a first scaling model based on information associated with one or more cloud-based computing clusters;

determine a first confidence score that corresponds to an accuracy of the first scaling model generating auto-scaling actions in relation to the information associated with the one or more cloud-based computing clusters;

determine a second proposed auto-scaling action using a second scaling model based on the information associated with the one or more cloud-based computing clusters;

determine a second confidence score that corresponds to an accuracy of the second scaling model generating auto-scaling actions in relation to the information associated with the one or more cloud-based computing clusters;

determine an auto-scaling action to perform based on the first proposed auto-scaling action and the second proposed auto-scaling action using the first confidence score and the second confidence score; and

modify the one or more cloud-based computing clusters based on the determined auto-scaling action.

2. The non-transitory computer-readable medium of claim 1 , further comprising instructions, that when executed by the at least one processor, cause the computer device to determine the auto-scaling action to perform by selecting between the first proposed auto-scaling action and the second proposed auto-scaling action based on a comparison of the first confidence score and the second confidence score.

3. The non-transitory computer-readable medium of claim 1 , further comprising instructions that, when executed by the at least one processor, cause the computer device to:

determine a third proposed auto-scaling action using a third scaling model; and

determine the auto-scaling action to perform by selecting the third proposed auto-scaling action based on determining that the first confidence score and the second confidence score do not satisfy a threshold confidence score.

4. The non-transitory computer-readable medium of claim 1 , wherein the information associated with the one or more cloud-based computing clusters comprises at least one of CPU utilization information, memory usage information, or network usage information.

5. The non-transitory computer-readable medium of claim 1 , further comprising instructions, that when executed by the at least one processor, cause the computer device to modify the one or more cloud-based computing clusters by modifying a computing resource allocation associated with the one or more cloud-based computing clusters based on the determined auto-scaling action.

6. The non-transitory computer-readable medium of claim 1 , further comprising instructions, that when executed by the at least one processor, cause the computer device to:

determine the first proposed auto-scaling action using one of a reactive auto-scaling model, a forecasting auto-scaling model, or a reinforcement auto-scaling model; and

determine the second proposed auto-scaling action using another of the reactive auto-scaling model, the forecasting auto-scaling model, or the reinforcement auto-scaling model.

7. The non-transitory computer-readable medium of claim 1 , wherein the one or more cloud-based computing clusters comprise a first set of computing resources from a first cloud-based service provider and a second set of computing resources from a second cloud-based service provider and further comprising instructions, that when executed by the at least one processor, cause the computer device to modify the one or more cloud-based computing clusters based on the determined auto-scaling action by allocating a computing task from the first set of computing resources to the second set of computing resources.

8. The non-transitory computer-readable medium of claim 1 , wherein the first proposed auto-scaling action comprises instructions to increase or decrease computing resource utilization on the one or more cloud-based computing clusters.

9. The non-transitory computer-readable medium of claim 1 , further comprising instructions, that when executed by the at least one processor, cause the computer device to:

determine the first proposed auto-scaling action by receiving the first proposed auto-scaling action from a first cloud-based service provider; and

determine the second proposed auto-scaling action by receiving the second proposed auto-scaling action from a second cloud-based service provider.

10. A system comprising:

one or more memory devices comprising:

a forecasting auto-scaling model;

a reinforcement auto-scaling model;

a reactive auto-scaling model; and

information associated with one or more cloud-based computing clusters; and

one or more server devices that cause the system to:

determine a first proposed auto-scaling action and a first confidence score associated with the first proposed auto-scaling action using the forecasting auto-scaling model based on the information associated with the one or more cloud-based computing clusters, the first confidence score corresponding to an accuracy of the forecasting auto-scaling model;

determine a second proposed auto-scaling action and a second confidence score associated with the second proposed auto-scaling action using the reinforcement auto-scaling model based on the information associated with the one or more cloud-based computing clusters, the second confidence score corresponding to an accuracy of the reinforcement auto-scaling model;

determine a third proposed auto-scaling action using the reactive auto-scaling model based on the information associated with the one or more cloud-based computing clusters;

determine an auto-scaling action to perform by selecting between the first proposed auto-scaling action, the second proposed auto-scaling action, and the third proposed auto-scaling action based on the first confidence score and the second confidence score; and

modify the one or more cloud-based computing clusters by modifying a computing resource allocation associated with the one or more cloud-based computing clusters based on the determined auto-scaling action.

11. The system of claim 10 , wherein:

the one or more cloud-based computing clusters comprise a first set of computing resources from a first cloud-based service provider and a second set of computing resources from a second cloud-based service provider and

the one or more server devices cause the system to modify the one or more cloud-based computing clusters by allocating a computing task from the first set of computing resources to the second set of computing resources.

12. The system of claim 10 , wherein the one or more server devices cause the system to determine the auto-scaling action to perform by selecting the third proposed auto-scaling action based on determining that the first confidence score and the second confidence score do not satisfy a threshold confidence score.

13. The system of claim 10 , wherein the information associated with the one or more cloud-based computing clusters comprises at least one of CPU utilization information, memory usage information, or network usage information.

14. The system of claim 10 , wherein:

the first proposed auto-scaling action comprises instructions to increase computing resource utilization on the one or more cloud-based computing clusters; and

the second proposed auto-scaling action comprises instructions to decrease computing resource utilization on the one or more cloud-based computing clusters.

15. The system of claim 14 , wherein the one or more server devices cause the system to determine the auto-scaling action to perform by selecting the second proposed auto-scaling action based on a comparison of the first confidence score and the second confidence score.

16. The system of claim 10 , wherein the one or more server devices cause the system to:

determine the first proposed auto-scaling action by receiving the first proposed auto-scaling action from a first cloud-based service provider; and

determine the second proposed auto-scaling action by receiving the second proposed auto-scaling action from a second cloud-based service provider.

17. A computer-implemented method for dynamically scaling cloud-based computing resources, the computer-implemented method comprising:

determining a first proposed auto-scaling action using a first scaling model;

determining a second proposed auto-scaling action using a second scaling model;

performing a step for determining an auto-scaling action to perform based on the first proposed auto-scaling action and the second proposed auto-scaling action; and

modifying one or more cloud-based computing clusters based on the determined auto-scaling action.

18. The computer-implemented method of claim 17 , wherein modifying the one or more cloud-based computing clusters comprises allocating computing resources between multiple cloud-based service providers.

19. The computer-implemented method of claim 17 , wherein modifying the one or more cloud-based computing clusters comprises modifying a computing resource allocation associated with the one or more cloud-based computing clusters based on the determined auto-scaling action.

20. The computer-implemented method of claim 17 , wherein:

determining the first proposed auto-scaling action comprises receiving the first proposed auto-scaling action from a first cloud-based service provider; and

determining the second proposed auto-scaling action comprises receiving the second proposed auto-scaling action from a second cloud-based service provider.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 9, 2019
From: MCWEENEY, DANIEL
To: ADOBE INC.
Reel/Frame 050667/0402 →
Continuity (1)
Related Publication 20210109789A1 · Apr 15, 2021
Cited By (1)
US 12,393,412