IP Library › Granted Patent US 11,340,940
Granted Patent B2
US 11,340,940 · App. 16/919,727 · Granted May 24, 2022

Workload assessment and configuration simulator

Inventors: Anuja Savant (Maharashtra, IN); Pramodh Siril Rao Chennamaneni (Telangana, IN); Sasidhar Purushothaman (Telangana, IN); Alla Piltser (Edison, NJ); Zaheeruddin Mohammed (Telangana, IN)
Assignee: Bank of America Corporation
G06F9/4856G06F9/44505G06F9/50G06F11/302G06F11/3495G06F2209/482
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,340,940
App. No.
16/919,727
Granted
May 24, 2022
Kind
B2
Abstract

An application may be migrated from a first to a second computing system. Configuration parameter values associated with executing the migrated application on the second computing system may be determined by computational optimization based on configuration parameter values and/or monitored performance metrics associated with the application on the first computing system. Configuration parameter values associated with executing the migrated application on the second computing system may be determined by performing simulations of the migrated application configured for execution on the second computing system based on multiple sets of configuration parameter values, monitoring performance metrics associated with the simulations, and performing computational optimization based on the multiple sets of configuration parameter values and monitored performance metrics associated with the simulations. Configuration parameter values associated with executing the migrated application on the second computing system may be updated based on monitored performance metrics associated with executing the migrated application.

Claims (96)

1. A first computing system, comprising:

at least one first processor;

a first communication interface communicatively coupled to the at least one first processor; and

a first memory storing computer-readable instructions that, when executed by the at least one first processor, cause the first computing system to:

generate, based on a target code base, based on at least a first portion of a tracking code base, and based on a second computing system, a target application configured for execution on the second computing system;

cause execution, based on a first set of configuration parameter values, of the target application on the second computing system;

monitor, based on the first portion of the tracking code base, one or more performance metrics of the target application;

determine, based on the first set of configuration parameter values and based on the monitored one or more performance metrics, one or more second sets of configuration parameter values;

generate, based on a migrated code base, based on at least a second portion of the tracking code base, and based on a third computing system, a migrated application configured for execution on the third computing system; and

cause execution, based on the determined one or more second sets of configuration parameter values, of the migrated application on the third computing system.

2. The first computing system of claim 1 , wherein the first memory further stores computer-readable instructions that, when executed by the at least one first processor, cause the first computing system to:

determine the one or more second sets of configuration parameter values by performing computational optimization, based on the first set of configuration parameter values and based on the monitored one or more performance metrics, of one or more associated configuration parameters.

3. The first computing system of claim 1 , wherein the first memory further stores computer-readable instructions that, when executed by the at least one first processor, cause the first computing system to:

determine a third set of configuration parameter values by performing computational optimization, based on the one or more second sets of configuration parameter values, and based on monitored one or more performance metrics of respective simulations of the migrated application on the third computing system using the one or more second sets of configuration parameter values; and

wherein execution of the migrated application on the third computing system is also based on the determined third set of configuration parameter values.

4. The first computing system of claim 1 , wherein the first memory further stores computer-readable instructions that, when executed by the at least one first processor, cause the first computing system to:

monitor, based on the first portion of the tracking code base, one or more performance metrics of a plurality of layers of an OSI stack associated with execution of the target application on the second computing system; and

determine, based on the first set of configuration parameter values and based on the monitored one or more performance metrics of the plurality of layers of the OSI stack, the one or more second sets of configuration parameter values.

5. The first computing system of claim 1 , wherein the first memory further stores computer-readable instructions that, when executed by the at least one first processor, cause the first computing system to:

monitor, based on the second portion of the tracking code base, one or more performance metrics of the migrated application on the third computing system;

determine, based on the monitored one or more performance metrics of the migrated application on the third computing system, a third set of configuration parameter values; and

modify configuration, based on the determined third set of configuration parameter values, of the migrated application on the third computing system.

6. A system comprising:

a first computing system, comprising:

at least one first processor;

a first communication interface communicatively coupled to the at least one first processor; and

a first memory storing computer-readable instructions executable by the at least one first processor; and

a third computing system, comprising:

a third communication interface communicatively coupled to at least one third processor; and

a third memory storing computer-readable instructions executable by the at least one third processor;

wherein the first memory stores computer-readable instructions that, when executed by the at least one first processor, cause the first computing system to:

generate, based on a target code base, based on a tracking code base, and based on the third computing system, a target application configured for execution on the third computing system;

cause execution, based on a second set of configuration parameter values, of the target application on the third computing system;

monitor, based on the tracking code base, one or more performance metrics of the target application executing on the third computing system;

determine, based on the second set of configuration parameter values and based on the monitored one or more performance metrics, a third set of configuration parameter values; and

modify configuration, based on the determined third set of configuration parameter values, of the target application on the third computing system; and

wherein the third memory stores computer-readable instructions that, when executed by the at least one third processor, cause the third computing system to:

execute, based on the second set of configuration parameter values, the target application.

7. The system of claim 6 , further comprising a second computing system comprising:

at least one second processor;

a second communication interface communicatively coupled to the at least one second processor; and

a second memory storing computer-readable instructions that, when executed by the at least one second processor, cause the second computing system to:

execute, based on a first set of configuration parameter values, a target application configured for execution on the second computing system;

wherein the second set of configuration parameter values is based on monitored one or more performance metrics of the target application executed on the second computing system and configured based on the first set of configuration parameter values.

8. The system of claim 6 , wherein the first memory further stores computer-readable instructions that, when executed by the at least one first processor, cause the first computing system to:

determine the second set of configuration parameter values by performing computational optimization, based on monitored one or more performance metrics of simulations of the target application configured for execution on the third computing system, of the second set of configuration parameter values.

9. The system of claim 6 , wherein the first memory further stores computer-readable instructions that, when executed by the at least one first processor, cause the first computing system to:

cause performance of simulations of the target application configured for execution on the third computing system based on a plurality of different sets of configuration parameter values;

monitor one or more performance metrics of a plurality of layers of an OSI stack associated with the simulations of the target application; and

determine the second set of configuration parameter values by performing computational optimization, based on the monitored one or more performance metrics of the plurality of layers of the OSI stack associated with the simulations of the target application and based on the plurality of different sets of configuration parameter values, of the second set of configuration parameter values.

10. The system of claim 6 , wherein the first memory further stores computer-readable instructions that, when executed by the at least one first processor, cause the first computing system to:

monitor one or more performance metrics of a plurality of layers of an OSI stack associated with the execution of the target application on the third computing system; and

determine the third set of configuration parameter values by performing computational optimization, based on the monitored one or more performance metrics and based on the second set of configuration parameter values, of the third set of configuration parameter values.

11. A non-transitory computer-readable medium storing instructions that, when executed, cause performance of:

generating, by a first computing system, based on a target code base, based on a tracking code base, and based on a third computing system, a target application configured for execution on a third computing system;

generating, by the first computing system, based on a log of monitored performance metrics and associated configuration parameter values, a first set of configuration parameter values and a second set of configuration parameter values, for simulation of the target application configured for execution on the third computing system;

causing execution, based on the first set of configuration parameter values, of a first simulation of the target application configured for execution on the third computing system;

causing execution, based on the second set of configuration parameter values, of a second simulation of the target application configured for execution on the third computing system;

monitoring, based on the tracking code base, one or more performance metrics of the first simulation of the target application;

monitoring, based on the tracking code base, one or more performance metrics of the second simulation of the target application;

determining, by the first computing system, based on the first set of configuration parameter values, based on the monitored one or more performance metrics of the first simulation of the target application, based on the second set of configuration parameter values, and based on the monitored one or more performance metrics of the second simulation of the target application, a third set of configuration parameter values; and

causing execution, based on the determined third set of configuration parameter values, of the target application on the third computing system.

12. The medium of claim 11 , further comprising instructions that, when executed, cause performance of:

determining the third set of configuration parameter values by performing computational optimization, based on the first set of configuration parameter values, based on the monitored one or more performance metrics of the first simulation of the target application, based on the second set of configuration parameter values, and based on the monitored one or more performance metrics of the second simulation of the target application, a third set of configuration parameter values.

13. The medium of claim 11 , further comprising instructions that, when executed, cause performance of:

monitoring one or more performance metrics of a plurality of layers of an OSI stack associated with the simulations of the target application; and

monitoring, based on the tracking code base, one or more performance metrics of a plurality of layers of an OSI stack associated with the first simulation of the target application;

monitoring, based on the tracking code base, one or more performance metrics of a plurality of layers of an OSI stack associated with the second simulation of the target application; and

determining, by the first computing system, based on the first set of configuration parameter values, based on the monitored one or more performance metrics of the plurality of layers of the OSI stack associated with the first simulation of the target application, based on the second set of configuration parameter values, and based on the monitored one or more performance metrics of the plurality of layers of the OSI stack associated with the second simulation of the target application, the third set of configuration parameter values.

14. The medium of claim 11 , further comprising instructions that, when executed, cause performance of:

monitoring one or more performance metrics of a plurality of layers of an OSI stack associated with the execution of the target application on the third computing system;

determining a fourth set of configuration parameter values by performing computational optimization, based on the monitored one or more performance metrics of the plurality of layers of the OSI stack associated with the execution of the target application on the third computing system and based on the third set of configuration parameter values, of the fourth set of configuration parameter values; and

modifying configuration, based on the determined fourth set of configuration parameter values, of the target application on the third computing system.

15. The medium of claim 11 , further comprising instructions that, when executed, cause performance of:

monitoring the performance metrics of an executable application on a second computing system configured based on the associated configuration parameter values; and

logging the monitored performance metrics associated with the configuration parameter values;

wherein the target application configured for execution on the third computing system is migrated from the executable application on the second computing system.

16. A method comprising:

generating, by a first computing system, based on a target code base, based on at least a first portion of a tracking code base, and based on a second computing system, a target application configured for execution on the second computing system;

causing execution, based on a first set of configuration parameter values, of the target application on the second computing system;

monitoring, based on the first portion of the tracking code base, one or more performance metrics of the target application;

determining, based on the first set of configuration parameter values and based on the monitored one or more performance metrics, one or more second sets of configuration parameter values;

generating, based on a migrated code base, based on at least a second portion of the tracking code base, and based on a third computing system, a migrated application configured for execution on the third computing system; and

causing execution, based on the determined one or more second sets of configuration parameter values, of the migrated application on the third computing system.

17. The method of claim 16 , further comprising:

determining the one or more second sets of configuration parameter values by performing computational optimization, based on the first set of configuration parameter values and based on the monitored one or more performance metrics, of one or more associated configuration parameters.

18. The method of claim 16 , further comprising:

determining a third set of configuration parameter values by performing computational optimization, based on the one or more second sets of configuration parameter values, and based on monitored one or more performance metrics of respective simulations of the migrated application on the third computing system using the one or more second sets of configuration parameter values; and

wherein execution of the migrated application on the third computing system is also based on the determined third set of configuration parameter values.

19. The method of claim 16 , further comprising:

monitoring, based on the first portion of the tracking code base, one or more performance metrics of a plurality of layers of an OSI stack associated with execution of the target application on the second computing system; and

determining, based on the first set of configuration parameter values and based on the monitored one or more performance metrics of the plurality of layers of the OSI stack, the one or more second sets of configuration parameter values.

20. The method of claim 16 , further comprising:

monitoring, based on the second portion of the tracking code base, one or more performance metrics of the migrated application on the third computing system;

determining, based on the monitored one or more performance metrics of the migrated application on the third computing system, a third set of configuration parameter values; and

modifying configuration, based on the determined third set of configuration parameter values, of the migrated application on the third computing system.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 2, 2020
From: SAVANT, ANUJA; CHENNAMANENI, PRAMODH SIRIL RAO; PURUSHOTHAMAN, SASIDHAR; PILTSER, ALLA; MOHAMMED, ZAHEERUDDIN
To: BANK OF AMERICA CORPORATION
Reel/Frame 053110/0218 →
Continuity (1)
Related Publication 20220004427A1 · Jan 6, 2022
Cited By (2)
US 12,450,052 US 12,530,180