IP Library Granted Patent US 12,488,280
Granted Patent B2
US 12,488,280 · App. 17/247,280 · Granted Dec 2, 2025

Utilizing machine learning to proactively scale cloud instances in a cloud computing environment

Inventors: Ravi Kiran Palamari (Frisco, TX); Ragupathi Subburasu (Frisco, TX); Mayur Gupta (Frisco, TX)
Assignee: Capital One Services, LLC
G06N20/00G06F9/45558G06F16/90H04L41/0897H04L43/04H04L43/06G06F2009/45595
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 12,488,280
App. No.
17/247,280
Granted
Dec 2, 2025
Kind
B2
Abstract

A device receives, from a cloud computing environment, application usage information associated with application instances in the cloud computing environment for an application, and processes the application usage information, with a machine learning model, to determine behavior patterns and predicted tasks for the application. The device determines a modified quantity of the application instances based on the behavior patterns and the predicted tasks for the application, and causes the modified quantity of the application instances to be implemented in the cloud computing environment based on one or more rules. The device stores information associated with the modified quantity of the application instances in a data structure, and updates the machine learning model based on the information associated with the modified quantity of the application instances stored in the data structure.

Claims (93)

1. A method, comprising:

receiving, by a device and from a cloud computing environment, historical application utilization information associated with application instances in the cloud computing environment for an application and for a plurality of time periods;

training, by the device, a machine learning model, using the historical application utilization information, to:

receive, as input, updated application utilization information, and

provide, as output, one or more of:

predicted behavior patterns for the application, or

predicted tasks for the application;

implementing, by the device, a modification to a quantity of application instances in the cloud computing environment, by increasing or reducing the quantity of application instances, based on determining the modification to the cloud computing environment using the machine learning model;

determining, by the device and utilizing information associated with an event indicating a code failure associated with an application instance in the cloud computing environment, a portion of code to be rewritten or removed based on the portion of code causing the code failure;

re-training, by the device, the machine learning model utilizing the information associated with the event indicating the code failure; and

implementing, by the device, another modification to the quantity of application instances in the cloud computing environment, by increasing or reducing the quantity of application instances, based on determining the other modification to the cloud computing environment using the re-trained machine learning model.

2. The method of claim 1 , wherein implementing the modification to the cloud computing environment comprises:

causing the cloud computing environment to be modified prior to an occurrence of one or more of:

a predicted behavior associated with the predicted behavior patterns, or

a predicted task of the predicted tasks.

3. The method of claim 1 , wherein

increasing the quantity of application instances comprises causing a quantity of new application instances to be instantiated in the cloud computing environment.

4. The method of claim 1 , further comprising:

implementing scheduled scaling of the cloud computing environment based on the modification to the cloud computing environment.

5. The method of claim 1 , wherein the historical application utilization information includes at least one of:

data identifying computing resource load of each of the application instances,

data identifying computing resource load of the cloud computing environment, or

data identifying a quantity of the application instances.

6. The method of claim 1 , wherein determining the modification to the cloud computing environment comprises:

determining the modification to the cloud computing environment based on a particular output of the machine learning model; and

wherein the method further comprises:

comparing the particular output of the machine learning model to an expected outcome had the modification not occurred; and

updating the machine learning model based on a result of comparing the particular output to the expected outcome.

7. The method of claim 1 , wherein the machine learning model provides, as output, at least one of:

a time period when the application will be under-utilized, or

a time period when the application instances are to be scaled back.

8. A device, comprising:

one or more memories; and

one or more processors, coupled to the one or more memories, configured to:

receive, from a cloud computing environment, historical application utilization information associated with application instances in the cloud computing environment for an application and for a plurality of time periods;

train a machine learning model, using the historical application utilization information, to:

receive, as input, updated application utilization information, and

provide, as output, one or more of:

predict behavior patterns for the application, or

predict tasks for the application;

implement a modification to a quantity of application instances in the cloud computing environment, by increasing or reducing the quantity of application instances, based on determining the modification to the cloud computing environment using the machine learning model;

determine, utilizing information associated with an event indicating a code failure associated with an application instance in the cloud computing environment, a portion of code to be rewritten or removed based on the portion of code causing the code failure;

re-train the machine learning model utilizing the information associated with the event indicating the code failure; and

implement another modification to the quantity of application instances in the cloud computing environment, by increasing or reducing the quantity of application instances, based on determining the other modification to the cloud computing environment using the re-trained machine learning model.

9. The device of claim 8 , wherein the one or more processors, when implementing the modification to the cloud computing environment, are configured to:

cause the cloud computing environment to be modified prior to an occurrence of one or more of:

a predicted behavior associated with the predicted behavior patterns, or

a predicted task of the predicted tasks.

10. The device of claim 8 , wherein the one or more processors, when increasing the quantity of application instances, are configured to:

cause a quantity of new application instances to be instantiated in the cloud computing environment.

11. The device of claim 8 , wherein the one or more processors are further configured to:

implement scheduled scaling of the cloud computing environment based on the modification to the cloud computing environment.

12. The device of claim 8 , wherein the historical application utilization information includes at least one of:

data identifying computing resource load of each of the application instances,

data identifying computing resource load of the cloud computing environment, or

data identifying a quantity of the application instances.

13. The device of claim 8 , wherein the one or more processors, when determining the modification to the cloud computing environment, are configured to:

determine the modification to the cloud computing environment based on a particular output of the machine learning model; and

wherein the one or more processors are further configured to:

compare the particular output of the machine learning model to an expected outcome had the modification not occurred; and

update the machine learning model based on a result of comparing the particular output to the expected outcome.

14. The device of claim 8 , wherein the machine learning model provides, as output, at least one of:

a time period when the application will be under-utilized, or

a time period when the application instances are to be scaled back.

15. A non-transitory computer-readable medium storing a set of instructions, the set of instructions comprising:

one or more instructions that, when executed by one or more processors of a device, cause the device to:

receive, from a cloud computing environment, historical application utilization information associated with application instances in the cloud computing environment for an application and for a plurality of time periods;

train a machine learning model, using the historical application utilization information, to:

receive, as input, updated application utilization information, and

provide, as output, one or more of:

predict behavior patterns for the application, or

predict tasks for the application;

implement a modification to a quantity of application instances in the cloud computing environment, by increasing or reducing the quantity of application instances, based on determining the modification to the cloud computing environment using the machine learning model;

determine, utilizing information associated with an event indicating a code failure associated with an application instance in the cloud computing environment, a portion of code to be rewritten or removed based on the portion of code causing the code failure;

re-train the machine learning model utilizing the information associated with the event indicating the code failure; and

implement another modification to the quantity of application instances in the cloud computing environment, by increasing or reducing the quantity of application instances, based on determining the other modification to the cloud computing environment using the re-trained machine learning model.

16. The non-transitory computer-readable medium of claim 15 , wherein the one or more instructions, that cause the device to implement the modification to the cloud computing environment, cause the device to:

cause the cloud computing environment to be modified prior to an occurrence of one or more of:

a predicted behavior associated with the predicted behavior patterns, or

a predicted task of the predicted tasks.

17. The non-transitory computer-readable medium of claim 15 , wherein the one or more instructions, that cause the device to increase the quantity of application instances, cause the device to:

cause a quantity of new application instances to be instantiated in the cloud computing environment.

18. The non-transitory computer-readable medium of claim 15 , wherein the one or more instructions further cause the device to:

implement scheduled scaling of the cloud computing environment based on the modification to the cloud computing environment.

19. The non-transitory computer-readable medium of claim 15 , wherein the historical application utilization information includes at least one of:

data identifying computing resource load of each of the application instances,

data identifying computing resource load of the cloud computing environment, or

data identifying a quantity of the application instances.

20. The non-transitory computer-readable medium of claim 15 , wherein the one or more instructions, that cause the device to determine the modification to the cloud computing environment, cause the device to:

determine the modification to the cloud computing environment based on a particular output of the machine learning model; and

wherein the one or more instructions further cause the device to:

compare the particular output of the machine learning model to an expected outcome had the modification not occurred; and

update the machine learning model based on a result of comparing the particular output to the expected outcome.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 7, 2020
From: PALAMARI, RAVI KIRAN; SUBBURASU, RAGUPATHI; GUPTA, MAYUR
To: CAPITAL ONE SERVICES, LLC
Reel/Frame 054564/0144 →
Continuity (2)
Continuation 15991675 · May 29, 2018
Related Publication 20210092030A1 · Mar 25, 2021
References Cited (15)
US 8756610B2 · Dasgupta · 2014 [cited by examiner]
US 10572375B1 · Wagner · 2020 [cited by examiner]
US 10733085B1 · Wagner · 2020 [cited by applicant]
US 10862774B2 · Palamari · 2020 [cited by applicant]
US 20130007753A1 · Jain · 2013 [cited by applicant]
US 20150169291A1 · Dube et al. · 2015 [cited by applicant]
US 20150278061A1 · Siciliano et al. · 2015 [cited by applicant]
US 20150358391A1 · Moon · 2015 [cited by examiner]
US 20180268290A1 · Bose · 2018 [cited by examiner]
US 20190171966A1 · Rangasamy · 2019 [cited by examiner]
US 20190266070A1 · Bhandarkar et al. · 2019 [cited by applicant]
Tran et al. “A Proactive Cloud Scaling Model Based on Fuzzy Time Series and SLA Awareness”, ICCS 2017, Jun. 12-14, 2017 pp. 365-374 (Year: 2017). [cited by examiner]
Sadeka Islam, Jacky Keung, Kevin Lee, and Anna Liu, “Empirical prediction models for adaptive resource provisioning in the cloud”, Jun. 25, 2011, Future Generation Computer Systems 28, p. 155-162. (Year: 2011). [cited by examiner]
Islam S., et al., “Empirical Prediction Models for Adaptive Resource Provisioning in the Cloud,” Future Generation Computer Systems, Jun. 25, 2011, vol. 28, pp. 155-162. [cited by applicant]
Tran D., et al., “A Proactive Cloud Scaling Model Based on Fuzzy Time Series and SLA Awareness,” Procedia Computer Science, Jun. 2017, vol. 108, pp. 365-374. [cited by applicant]