IP Library › Granted Patent US 11,354,110
Granted Patent B2
US 11,354,110 · App. 16/933,612 · Granted Jun 7, 2022

System and method using natural language processing to synthesize and build infrastructure platforms

Inventors: Aruna Jonna (Tamil Nadu, IN); Bhuvaneswar Reddy Velkuri (Tamil Nadu, IN)
Assignee: BANK OF AMERICA CORPORATION
G06F8/65G06F40/20
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,354,110
App. No.
16/933,612
Granted
Jun 7, 2022
Kind
B2
Abstract

Embodiments of the invention are directed to a system, method, or computer program product structured for synthesizing and building infrastructure platforms. In some embodiments, the system is structured for performing a natural language synthesis of a proposed upgrade to existing infrastructure platform(s), where the natural language synthesis includes analyzing, using natural language processing, code of the proposed upgrade; generating a trust score indicating a predicted likelihood of success from results of the natural language synthesis; in response to the trust score being above a threshold, identifying, using natural language processing, inactive code in the platform(s); generating a build automation script for deploying the proposed upgrade to create upgraded infrastructure platform(s) that exclude the inactive code; executing the build automation script; capturing data from the build automation script execution; and using the result of the build automation script execution and the captured data to refine the natural language synthesis.

Claims (81)

1. A system for synthesizing and building infrastructure platforms, the system comprising:

a memory device with computer-readable program code stored thereon;

a communication device; and

a processing device operatively coupled to the memory device and communication device, wherein the processing device is configured to execute the computer-readable program code to:

perform a natural language synthesis of a proposed upgrade to one or more existing infrastructure platforms, wherein the natural language synthesis comprises analyzing, using natural language processing, code of the proposed upgrade, wherein analyzing, using natural language processing, the code of the proposed upgrade comprises:

comparing commands used in the code of the proposed upgrade to commands used in the one or more existing infrastructure platforms;

determining whether permissions of the proposed upgrade commands match permissions of the existing infrastructure platform commands; and

if one or more permissions of the proposed upgrade commands do not match the permissions of the existing infrastructure platform commands, determining how frequently the one or more permissions are used in the proposed upgrade code;

generate a trust score from results of the natural language synthesis, wherein the trust score indicates a predicted likelihood of success for the proposed upgrade;

in response to the trust score being above a threshold, identify, using natural language processing, inactive code in the one or more existing infrastructure platforms;

generate a build automation script for deploying the proposed upgrade to create one or more upgraded infrastructure platforms that exclude the inactive code;

execute the build automation script to simulate development of the proposed upgrade including testing executable commands, testing permissions, and testing external database connections;

capture data from a result of the build automation script execution; and

use the result of the build automation script execution and the captured data to refine the natural language synthesis to generate a deployment report in plain language.

2. The system of claim 1 , wherein the processing device is further configured to:

build an execution plan from the results of the natural language synthesis; and

generate a report from the execution plan, wherein the report includes instructions on deploying the proposed upgrade written in plain language, and wherein the build automation script is at least partially based on the report.

3. The system of claim 1 , wherein analyzing, using natural language processing, the code of the proposed upgrade comprises:

comparing commands used in the code of the proposed upgrade to commands used in the one or more existing infrastructure platforms;

determining whether the commands of the proposed upgrade code match the commands of the one or more existing infrastructure platforms; and

if one or more commands of the proposed upgrade code do not match the commands of the one or more existing infrastructure platforms, determining how frequently the one or more commands are used in the proposed upgrade code.

4. The system of claim 1 , wherein analyzing, using natural language processing, the code of the proposed upgrade comprises:

comparing database connections in the code of the proposed upgrade to database connections in the one or more existing infrastructure platforms;

determining whether the database connections of the proposed upgrade code match the database connections of the one or more existing infrastructure platforms; and

if one or more database connections of the proposed upgrade code do not match the database connections of the one or more existing infrastructure platforms, determining a ratio of the one or more database connections to a total number of database connections of the proposed upgrade code.

5. The system of claim 1 , wherein analyzing, using natural language processing, the code of the proposed upgrade comprises:

determining a list of third-party products included on the one or more existing infrastructure platforms;

for each third-party product, determining whether a same version, a lesser version, or a higher version of the third-party product is included in the proposed upgrade;

if the same version or the higher version of one or more third-party products is included in the proposed upgrade, determining whether the one or more third-party products are compatible with the code of the proposed upgrade; and

if at least one of the one or more third-party products is not compatible with the code of the proposed upgrade, determining how frequently the at least one third-party product is used in the proposed upgrade code compared to how frequently the at least one third-party product is used in the one or more existing infrastructure platforms.

6. The system of claim 1 , wherein generating the trust score from the results of the natural language synthesis comprises:

determining, based on the results of the natural language synthesis, whether the code of the proposed upgrade meets a plurality of weighted criteria, wherein each weighted criterion is associated with a weighted value; and

using the weighted values of the met criteria to generate the trust score.

7. The system of claim 1 , wherein capturing the data from the result of the build automation script execution comprises, in response to one or more post-deployment errors in the deployment of the proposed upgrade, capturing the one or more post-deployment errors and one or more parameters of the proposed upgrade that caused the one or more post-deployment errors.

8. The system of claim 1 , wherein capturing the data from the result of the build automation script execution comprises, in response to the deployment of the proposed upgrade being a success, capturing one or more parameters of the proposed upgrade relating to the success.

9. A computer-implemented method for synthesizing and building infrastructure platforms, the method comprising:

performing a natural language synthesis of a proposed upgrade to one or more existing infrastructure platforms, wherein the natural language synthesis comprises analyzing, using natural language processing, code of the proposed upgrade, wherein analyzing, using natural language processing, the code of the proposed upgrade comprises:

comparing commands used in the code of the proposed upgrade to commands used in the one or more existing infrastructure platforms;

determining whether permissions of the proposed upgrade commands match permissions of the existing infrastructure platform commands; and

if one or more permissions of the proposed upgrade commands do not match the permissions of the existing infrastructure platform commands, determining how frequently the one or more permissions are used in the proposed upgrade code;

generating a trust score from results of the natural language synthesis, wherein the trust score indicates a predicted likelihood of success for the proposed upgrade;

in response to the trust score being above a threshold, identifying, using natural language processing, inactive code in the one or more existing infrastructure platforms;

generating a build automation script for deploying the proposed upgrade to create one or more upgraded infrastructure platforms that exclude the inactive code;

executing the build automation script to simulate development of the proposed upgrade including testing executable commands, testing permissions, and testing external database connections;

capturing data from a result of the build automation script execution; and

using the result of the build automation script execution and the captured data to refine the natural language synthesis to generate a deployment report in plain language.

10. The computer-implemented method of claim 9 , further comprising:

building an execution plan from the results of the natural language synthesis; and

generating a report from the execution plan, wherein the report includes instructions on deploying the proposed upgrade written in plain language, and wherein the build automation script is at least partially based on the report.

11. The computer-implemented method of claim 9 , wherein analyzing, using natural language processing, the code of the proposed upgrade comprises:

comparing commands used in the code of the proposed upgrade to commands used in the one or more existing infrastructure platforms;

determining whether the commands of the proposed upgrade code match the commands of the one or more existing infrastructure platforms; and

if one or more commands of the proposed upgrade code do not match the commands of the one or more existing infrastructure platforms, determining how frequently the one or more commands are used in the proposed upgrade code.

12. The computer-implemented method of claim 9 , wherein analyzing, using natural language processing, the code of the proposed upgrade comprises:

comparing database connections in the code of the proposed upgrade to database connections in the one or more existing infrastructure platforms;

determining whether the database connections of the proposed upgrade code match the database connections of the one or more existing infrastructure platforms; and

if one or more database connections of the proposed upgrade code do not match the database connections of the one or more existing infrastructure platforms, determining a ratio of the one or more database connections to a total number of database connections of the proposed upgrade code.

13. The computer-implemented method of claim 9 , wherein analyzing, using natural language processing, the code of the proposed upgrade comprises:

determining a list of third-party products included on the one or more existing infrastructure platforms;

for each third-party product, determining whether a same version, a lesser version, or a higher version of the third-party product is included in the proposed upgrade;

if the same version or the higher version of one or more third-party products is included in the proposed upgrade, determining whether the one or more third-party products are compatible with the code of the proposed upgrade; and

if at least one of the one or more third-party products is not compatible with the code of the proposed upgrade, determining how frequently the at least one third-party product is used in the proposed upgrade code compared to how frequently the at least one third-party product is used in the one or more existing infrastructure platforms.

14. The computer-implemented method of claim 9 , wherein generating the trust score from the results of the natural language synthesis comprises:

determining, based on the results of the natural language synthesis, whether the code of the proposed upgrade meets a plurality of weighted criteria, wherein each weighted criterion is associated with a weighted value; and

using the weighted values of the met criteria to generate the trust score.

15. The computer-implemented method of claim 9 , wherein capturing the data from the result of the build automation script execution comprises, in response to one or more post-deployment errors in the deployment of the proposed upgrade, capturing the one or more post-deployment errors and one or more parameters of the proposed upgrade that caused the one or more post-deployment errors.

16. The computer-implemented method of claim 9 , wherein capturing the data from the result of the build automation script execution comprises, in response to the deployment of the proposed upgrade being a success, capturing one or more parameters of the proposed upgrade relating to the success.

17. A computer program product for synthesizing and building infrastructure platforms with at least one non-transitory computer-readable medium having computer-readable program code portions embodied therein, the computer-readable program code portions comprising:

an executable portion configured for performing a natural language synthesis of a proposed upgrade to one or more existing infrastructure platforms, wherein the natural language synthesis comprises analyzing, using natural language processing, code of the proposed upgrade, wherein analyzing, using natural language processing, the code of the proposed upgrade comprises:

comparing commands used in the code of the proposed upgrade to commands used in the one or more existing infrastructure platforms;

determining whether permissions of the proposed upgrade commands match permissions of the existing infrastructure platform commands; and

if one or more permissions of the proposed upgrade commands do not match the permissions of the existing infrastructure platform commands, determining how frequently the one or more permissions are used in the proposed upgrade code;

an executable portion configured for generating a trust score from results of the natural language synthesis, wherein the trust score indicates a predicted likelihood of success for the proposed upgrade;

an executable portion configured for, in response to the trust score being above a threshold, identifying, using natural language processing, inactive code in the one or more existing infrastructure platforms;

an executable portion configured for generating a build automation script for deploying the proposed upgrade to create one or more upgraded infrastructure platforms that exclude the inactive code;

an executable portion configured for executing the build automation script to simulate development of the proposed upgrade including testing executable commands, testing permissions, and testing external database connections;

an executable portion configured for capturing data from a result of the build automation script execution; and

an executable portion configured for using the result of the build automation script execution and the captured data to refine the natural language synthesis to generate a deployment report in plain language.

18. The computer-program product of claim 17 , wherein the computer-readable program code portions further comprise:

an executable portion configured for building an execution plan from the results of the natural language synthesis; and

an executable portion configured for generating a report from the execution plan, wherein the report includes instructions on deploying the proposed upgrade written in plain language, and wherein the build automation script is at least partially based on the report.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2020
From: JONNA, ARUNA; VELKURI, BHUVANESWAR REDDY
To: BANK OF AMERICA CORPORATION
Reel/Frame 053256/0174 →
Continuity (1)
Related Publication 20220019419A1 · Jan 20, 2022