US 12,253,931 B2
Determining an improved technology environment for a software application
Chirag Himatlal Rathod, Mumbai (IN); Kalpesh Fatehchand Jain, Thane (IN); Ramesh Lakshmi Narayanan, Chennai (IN); Satish Kumar Kommineni, Hyderabad (IN); Venkata Apparao Alla, Hyderabad (IN); and Sasidhar Purushothaman, Hyderabad (IN)
Assigned to Bank of America Corporation, Charlotte, NC (US)
Filed by Bank of America Corporation, Charlotte, NC (US)
Filed on Jul. 16, 2021, as Appl. No. 17/378,299.
Prior Publication US 2023/0021004 A1, Jan. 19, 2023
Int. Cl. G06F 11/34 (2006.01); G06F 9/455 (2018.01)
CPC G06F 11/3495 (2013.01) [G06F 9/455 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A system for improving performance of a computing system running a software application by recommending usage of a technology environment or technology product, comprising:
at least one processor configured to:
obtain information relating to a current application environment being used to run the software application, wherein the current application environment comprises one or more technology components including one or more hardware technology components, one or more software technology components or a combination thereof, wherein each of the technology components uses the technology product from a plurality of alternative technology products available for the technology component;
obtain information relating to a plurality of model application environments for the software application, wherein each of the model application environments comprises a different combination of the technology products used for the technology components;
run the software application using the current application environment and each of the model application environments in a simulated environment;
for each of the current application environment and the model application environments:
collect a plurality of performance metrics indicating performance of the software application in the respective current application environment or the model application environment while running in the simulated environment;
assign a score to each of the performance metrics collected for the current application environment and each of the model application environments, wherein a higher score is assigned to a higher level of performance related to the performance metric as compared to a lower score assigned to a lower level of performance related to the performance metric;
compare the score assigned to each performance metric collected for the current application environment with each score assigned to the respective performance metric collected for each of the model application environment, wherein the comparing comprises comparing a first score assigned to a first performance metric collected for the current application environment with a second score assigned to the first performance metric collected for a first model application environment;
determine that the second score of the first performance metric collected for the first model application environment is higher compared to the first score of the first performance metric collected for the current application environment;
determine at least one technology product used for a corresponding technology component in the determined first model application environment that is different from a current technology product used for the technology component in the current application environment;
determine a recommendation to use the determined at least one technology product instead of the current technology product for the technology component in the current application environment;
run, based on the recommendation, the software application in the current application environment that uses the at least one technology product for the technology component to achieve a higher level of performance related to the first performance metric in the current application environment; and
a memory coupled to the at least one processor and configured to store information relating to the plurality of alternative technology products available for each of the technology components.