# US 12,223,309 B2 · System and method for implementing a platform and language agnostic smart SDK upgrade module

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,223,309 B2
- Document ID: US12223309B2
- Status: Granted
- Kind: B2
- Application number: 18/219,196
- Filed: 2023-07-07
- Published: 2023-11-02
- Granted: 2025-02-11
- Earliest claimed: 2021-10-18
- Assignees: JPMorgan Chase Bank, N.A.
- Applicants: JPMorgan Chase Bank, N.A.
- Inventors: Kumar Rao Krishnagi; Matthew J Porter; Mark Alan Wells; Jerome Joseph; Sharmila Prakash; Satvika Eda
- Web page: https://patentgrep.com/patent/US12223309B2

## CPC

- G06F 8/65: Updates (security arrangements therefor G06F21/57)
- G06F 8/31: {Programming languages or programming paradigms}
- G06F 8/443: {Optimisation}
- G06N 20/00: Machine learning
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

Various methods, apparatuses/systems, and media for automatically upgrading an application are disclosed. A processor creates a dynamic machine learning (ML) model; trains the dynamic ML model and scans for SDK upgrade for the application against the dynamic ML model by implementing ML algorithm for predictions. The processor executes the SDK upgrade in response to detecting that the training of the dynamic ML model is completed to trigger the processor to perform the following automated processes: implement the ML algorithm against the trained dynamic ML model to generate predictive results data for deprecated reference corresponding to the application; evaluate the predictive results data to determine whether there is a match for the deprecated reference; and when it is determined that there is a match for the deprecated reference, automatically replace code and upgrade the application to newer version of the programming language specification.

## Claims

### Claim 1

A method for automatically upgrading an application by utilizing one or more processors along with allocated memory, the method comprising:
scanning for SDK (Software Development Kit) upgrade for an application against a dynamic machine learning (ML) model by implementing ML algorithm for predictions in upgrading the application to a newer version of a programming language specification;
detecting whether training of the dynamic ML model is completed or not;
executing the SDK upgrade in response to detecting that the training of the dynamic ML model is completed to trigger the following automated processes:
implementing the ML algorithm against the trained dynamic ML model to generate predictive results data for deprecated reference corresponding to the application;
evaluating the predictive results data to determine whether there is a match for the deprecated reference; and
when it is determined that there is a match for the deprecated reference, automatically replacing code and upgrading the application to the newer version of the programming language specification.

### Claim 2 (depends on 1)

The method according to claim 1, wherein, when it is determined that there is no match for the deprecated reference, the method further comprising:
recursively adding pattern or structure to the dynamic ML model for future analysis.

### Claim 3 (depends on 1)

The method according to claim 1, wherein the deprecated reference includes application programming interface (API), tools, dependency patterns, and their respective equivalent replacements or alternative for upgrading the application.

### Claim 4 (depends on 3)

The method according to claim 3, wherein training the dynamic ML model further comprising:
training the dynamic ML model in a supervised manner that includes training the dynamic ML model with known deprecated API, tools, dependency patterns and their respective equivalent replacements or alternatives for upgrading the application.

### Claim 5 (depends on 3)

The method according to claim 3, wherein training the dynamic ML model further comprising:
training the dynamic ML model in an unsupervised manner that includes, while the dynamic ML model is being utilized for predictive analysis, recursively adding any unknown patterns to the dynamic ML model without any alternatives.

### Claim 6 (depends on 1)

The method according to claim 1, wherein, when the application is a legacy application, the method further comprising:
including the SDK to the application as a dependency, wherein the SDK acts as a wrapper around implementation for the deprecated reference.

### Claim 7 (depends on 6)

The method according to claim 6, further comprising:
creating a map that links between older modules and newer SDK modules corresponding to the application;
storing the map within the dynamic ML model; and
updating the legacy application by parsing existing project and utilizing the dynamic ML model.

### Claim 8

A system for automatically upgrading an application, the system comprising:
a processor; and
a memory operatively connected to the processor via a communication interface, the memory storing computer readable instructions, when executed, causes the processor to:
scan for SDK (Software Development Kit) upgrade for an application against a dynamic machine learning (ML) model by implementing ML algorithm for predictions in upgrading the application to a newer version of a programming language specification;
detect whether training of the dynamic ML model is completed or not;
execute the SDK upgrade in response to detecting that the training of the dynamic ML model is completed to further cause the processor to perform the following automated processes:
implement the ML algorithm against the trained dynamic ML model to generate predictive results data for deprecated reference corresponding to the application;
evaluate the predictive results data to determine whether there is a match for the deprecated reference; and
when it is determined that there is a match for the deprecated reference, automatically replace code and upgrade the application to the newer version of the programming language specification.

### Claim 9 (depends on 8)

The system according to claim 8, wherein, when it is determined that there is no match for the deprecated reference, the processor is further configured to:
recursively add pattern or structure to the dynamic ML model for future analysis.

### Claim 10 (depends on 8)

The system according to claim 8, wherein the deprecated reference includes application programming interface (API), tools, dependency patterns, and their respective equivalent replacements or alternative for upgrading the application.

### Claim 11 (depends on 10)

The system according to claim 10, wherein in training the dynamic ML model, the processor is further configured to:
train the dynamic ML model in a supervised manner that includes training the dynamic ML model with known deprecated API, tools, dependency patterns and their respective equivalent replacements or alternatives for upgrading the application.

### Claim 12 (depends on 10)

The system according to claim 10, wherein in training the dynamic ML model, the processor is further configured to:
train the dynamic ML model in an unsupervised manner that includes, while the dynamic ML model is being utilized for predictive analysis, recursively add any unknown patterns to the dynamic ML model without any alternatives.

### Claim 13 (depends on 8)

The system according to claim 8, wherein, when the application is a legacy application, the processor is further configured to:
include the SDK to the application as a dependency, wherein the SDK acts as a wrapper around implementation for the deprecated reference.

### Claim 14 (depends on 13)

The system according to claim 13, wherein the processor is further configured to:
create a map that links between older modules and newer SDK modules corresponding to the application;
store the map within the dynamic ML model; and
update the legacy application by parsing existing project and utilize the dynamic ML model.

### Claim 15

A non-transitory computer readable medium configured to store instructions for automatically upgrading an application, wherein, when executed, the instructions cause a processor to perform the following:
scanning for SDK (Software Development Kit) upgrade for an application against a dynamic machine learning (ML) model by implementing ML algorithm for predictions in upgrading the application to a newer version of a programming language specification;
detecting whether training of the dynamic ML model is completed or not;
executing the SDK upgrade in response to detecting that the training of the dynamic ML model is completed to trigger the following automated processes:
implementing the ML algorithm against the trained dynamic ML model to generate predictive results data for deprecated reference corresponding to the application;
evaluating the predictive results data to determine whether there is a match for the deprecated reference; and
when it is determined that there is a match for the deprecated reference, automatically replacing code and upgrading the application to the newer version of the programming language specification.

### Claim 16 (depends on 15)

The non-transitory computer readable medium according to claim 15, wherein, when it is determined that there is no match for the deprecated reference, the instructions, when executed, further cause the processor to perform the following:
recursively adding pattern or structure to the dynamic ML model for future analysis.

### Claim 17 (depends on 15)

The non-transitory computer readable medium according to claim 15, wherein the deprecated reference includes application programming interface (API), tools, dependency patterns, and their respective equivalent replacements or alternative for upgrading the application.

### Claim 18 (depends on 17)

The non-transitory computer readable medium according to claim 17, wherein in training the dynamic ML model, the instructions, when executed, further cause the processor to perform the following:
training the dynamic ML model in a supervised manner that includes training the dynamic ML model with known deprecated API, tools, dependency patterns and their respective equivalent replacements or alternatives for upgrading the application.

### Claim 19 (depends on 17)

The non-transitory computer readable medium according to claim 17, wherein in training the dynamic ML model, the instructions, when executed, further cause the processor to perform the following:
training the dynamic ML model in an unsupervised manner that includes, while the dynamic ML model is being utilized for predictive analysis, recursively adding any unknown patterns to the dynamic ML model without any alternatives.

### Claim 20 (depends on 15)

The non-transitory computer readable medium according to claim 15, wherein, when the application is a legacy application, the instructions, when executed, further cause the processor to perform the following:
including the SDK to the application as a dependency, wherein the SDK acts as a wrapper around implementation for the deprecated reference;
creating a map that links between older modules and newer SDK modules corresponding to the application;
storing the map within the dynamic ML model; and
updating the legacy application by parsing existing project and utilizing the dynamic ML model.
