IP Library › Granted Patent US 12,326,796
Granted Patent B2
US 12,326,796 · App. 18/525,003 · Granted Jun 10, 2025

Cloud infrastructure optimization

Inventors: Jonathan H. Bryant (McLean, VA); Jagadesh V. Gadiyaram (Richmond, VA); Thomas Caputo (Arlington, VA)
Assignee: Capital One Services, LLC
G06F11/3457G06F8/60G06F9/5077G06F11/3414G06F11/3692G06F11/3696H04L41/0823
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,326,796
App. No.
18/525,003
Filed
Nov 30, 2023
Granted
Jun 10, 2025
Kind
B2
Art Unit
2189
USPC
703/22
Abstract

A processor may receive at least one test application corresponding to an application profile. The processor may simulate the at least one test application in a non-production environment for a plurality of infrastructure configurations to generate a plurality of test performance results. The processor may evaluate the plurality of test performance results to identify an optimal infrastructure configuration from among the plurality of infrastructure configurations for the application profile. The processor may apply the optimal infrastructure configuration to an application corresponding to the application profile that is deployed in a production environment.

Claims (46)

1. A method of cloud infrastructure optimization comprising:

receiving, at a processor, at least one synthetic application corresponding to an application profile including a set of features common to applications of the application profile, the at least one synthetic application comprising executable code configured for simulated deployment in a non-production environment;

simulating, by the processor, the at least one synthetic application in the non-production environment, the simulating comprising executing the code using a plurality of infrastructure configurations to generate a plurality of synthetic performance results, each infrastructure configuration including at least one cloud-based system used in deployment of at least one application;

receiving, at the processor, one or more resources used by at least one actual application configured for deployment in a production environment;

matching, by the processor, the at least one actual application with the application profile, the matching comprising determining that the one or more resources used by the actual at least one actual application correspond to one or more resource requirements of the application profile based on at least one of the plurality of synthetic performance results;

evaluating, by the processor, the plurality of synthetic performance results to identify an optimal infrastructure configuration from among the plurality of infrastructure configurations for the application profile; and

applying, by the processor, the optimal infrastructure configuration to an application corresponding to the application profile that is deployed in the production environment.

2. The method of claim 1 , further comprising generating, by the processor, the at least one synthetic application.

3. The method of claim 1 , wherein the application profile defines a physical deployment and a workload requiring at least one of a plurality of infrastructure resources.

4. The method of claim 1 , wherein each of the plurality of infrastructure configurations comprises a different arrangement of at least one of a plurality of infrastructure resources.

5. The method of claim 1 , wherein the one or more resource requirements of the application profile are further based on performance tuning of at least one deployed application in the production environment.

6. The method of claim 1 , wherein the evaluating of the plurality of synthetic performance results comprises selecting an infrastructure configuration yielding a highest performance in at least one benchmark from among the plurality of infrastructure configurations as the optimal infrastructure.

7. The method of claim 1 , wherein the evaluating of the plurality of synthetic performance results comprises selecting an infrastructure configuration yielding a most efficient performance based on at least one cost factor from among the plurality of infrastructure configurations as the optimal infrastructure.

8. A method of deploying an actual application within a cloud infrastructure with an optimal infrastructure configuration comprising:

receiving, at a processor, one or more resources used by the actual application;

identifying, by the processor, a matching application profile that matches the actual application from a plurality of application profiles respectively including a plurality of synthetic performance results obtained from simulating at least one synthetic application comprising executable code configured for simulated deployment in the non-production environment, the simulating comprising executing the code using a plurality of infrastructure configurations, each infrastructure configuration including at least one cloud-based system including a production environment used in deployment of at least one application, the comparing including matching the actual application with the matching application profile by determining that the one or more resources used by the actual application correspond to one or more resource requirements of the matching application profile based on at least one synthetic performance result;

determining, by the processor, an optimal infrastructure configuration from among the plurality of infrastructure configurations for the matching application profile; and

causing, by the processor, the optimal infrastructure configuration to be applied for a deployment of the application in the production environment.

9. The method of claim 8 , wherein the application profile defines a physical deployment and a workload requiring at least one of a plurality of infrastructure resources.

10. The method of claim 8 , wherein the determining comprises:

receiving, at the processor, at least one test application corresponding to the matching application profile; and

simulating, by the processor, the at least one test application in a non-production environment for a plurality of infrastructure configurations to generate a plurality of test performance results;

wherein the at least one synthetic performance result is at least one of the plurality of test performance results.

11. The method of claim 10 , wherein the at least one test application comprises the at least one synthetic application, at least one actual application configured for deployment within the production environment, or a combination thereof.

12. The method of claim 8 , further comprising generating, by the processor, the at least one synthetic application.

13. The method of claim 10 , wherein each of the plurality of infrastructure configurations comprises a different arrangement of at least one of a plurality of infrastructure resources.

14. The method of claim 10 , wherein the causing comprises deploying the application in the production environment.

15. A non-transitory computer readable medium comprising instructions that, when executed by a processor, cause the processor to perform processing comprising:

receiving at least one synthetic application corresponding to an application profile including a set of features common to applications of the application profile, the at least one synthetic application comprising executable code configured for simulated deployment in a non-production environment;

simulating the at least one synthetic application in the non-production environment, the simulating comprising executing the code using a plurality of infrastructure configurations to generate a plurality of synthetic performance results, each infrastructure configuration including at least one cloud-based system used in deployment of at least one application;

receiving one or more resources used by at least one actual application configured for deployment in a production environment;

matching the at least one actual application with the application profile, the matching comprising determining that the one or more resources used by the actual at least one actual application correspond to one or more resource requirements of the application profile based on at least one of the plurality of synthetic performance results;

evaluating the plurality of synthetic performance results to identify an optimal infrastructure configuration from among the plurality of infrastructure configurations for the application profile; and

applying the optimal infrastructure configuration to an application corresponding to the application profile that is deployed in the production environment.

16. The non-transitory computer readable medium of claim 15 ,

wherein the instructions, when executed by the processor, further cause the processor to perform processing comprising generating the at least one synthetic application.

17. The non-transitory computer readable medium of claim 15 ,

wherein the application profile defines a physical deployment and a workload requiring at least one of a plurality of infrastructure resources.

18. The non-transitory computer readable medium of claim 15 ,

wherein each of the plurality of infrastructure configurations comprises a different arrangement of at least one of a plurality of infrastructure resources.

19. The non-transitory computer readable medium of claim 15 ,

wherein the one or more resource requirements of the application profile are further based on performance tuning of at least one deployed application in the production environment.

20. The non-transitory computer readable medium of claim 15 ,

wherein the evaluating of the plurality of synthetic performance results comprises at least one of:

selecting an infrastructure configuration yielding a highest performance in at least one benchmark from among the plurality of infrastructure configurations as the optimal infrastructure; and

selecting an infrastructure configuration yielding a most efficient performance based on at least one cost factor from among the plurality of infrastructure configurations as the optimal infrastructure.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 3, 2024
From: BRYANT, JONATHAN H.; GADIYARAM, JAGADESH V.; CAPUTO, THOMAS
To: CAPITAL ONE SERVICES, LLC
Reel/Frame 066007/0082 →
Continuity (3)
Continuation 16940865 · Jul 28, 2020
Continuation 16150825 · Oct 3, 2018
Related Publication 20240232043A1 · Jul 11, 2024
References Cited (25)
US 6002871A · Duggan et al. · 1999 [cited by applicant]
US 7813910B1 · Poulin · 2010 [cited by applicant]
US 8131530B2 · Nadgir et al. · 2012 [cited by applicant]
US 8165862B2 · Schumacher · 2012 [cited by applicant]
US 8392168B2 · Samper et al. · 2013 [cited by applicant]
US 8417798B2 · Chen et al. · 2013 [cited by applicant]
US 8589140B1 · Poulin · 2013 [cited by applicant]
US 8990062B2 · Kawahara · 2015 [cited by examiner]
US 8990778B1 · Allocca · 2015 [cited by examiner]
US 9239996B2 · Moorthi et al. · 2016 [cited by applicant]
US 10067780B2 · Chang et al. · 2018 [cited by applicant]
US 20040098242A1 · Moona et al. · 2004 [cited by applicant]
US 20050086331A1 · Wadia · 2005 [cited by examiner]
US 20090199047A1 · Vaitheeswaran et al. · 2009 [cited by applicant]
US 20100082319A1 · Cherkasova · 2010 [cited by examiner]
US 20100082320A1 · Wood · 2010 [cited by examiner]
US 20100198960A1 · Kirschnick et al. · 2010 [cited by applicant]
US 20120239739A1 · Manglik et al. · 2012 [cited by applicant]
US 20130054792A1 · Sharaf · 2013 [cited by applicant]
US 20130139130A1 · Anjan · 2013 [cited by applicant]
US 20150039285A1 · Qian · 2015 [cited by applicant]
US 20150341229A1 · Richter et al. · 2015 [cited by applicant]
US 20160140025A1 · Enright et al. · 2016 [cited by applicant]
US 20180300221A1 · Barbee et al. · 2018 [cited by applicant]
US 20180357099A1 · Browne · 2018 [cited by examiner]