Smart SDK Upgrade Module for Legacy Application Migration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The complexity of upgrading software applications to newer versions of programming language specifications, particularly due to non-backwards compatible changes, leads to difficulties in implementing security fixes and support, resulting in increased costs and manual work hours.

Innovation Solution

A platform and language agnostic smart SDK upgrade module is implemented, utilizing a dynamic machine learning model to automatically scan, detect, and execute upgrades, reducing the need for manual research and intervention.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If manual upgrade processes are used for software applications, then control and accuracy over the upgrade process is maintained, but time consumption and labor costs increase significantly

Engineering Contradiction:
Improveupgrade timeVSAvoidautomation level
Core Design Contradiction:
Loss of timeVSExtent of automation

Solution Approach 1:

The system enables self-service automation where the upgrade module automatically scans applications, identifies deprecated references, generates upgrade plans, and executes upgrades without requiring manual intervention from developers or operators

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system performs preliminary actions by scanning applications before upgrade to identify all deprecated references and generate comprehensive upgrade plans in advance, preparing everything needed for the actual upgrade execution

Inventive Principle:
Principle #10Preliminary action

2Reliability

If applications are upgraded to newer programming language versions, then security fixes and modern features are accessed, but compatibility issues and complexity increase

Engineering Contradiction:
Improvesecurity fixesVSAvoidupgrade complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The upgrade process is segmented into distinct phases: scanning phase to identify deprecated references, planning phase to generate upgrade strategies, and execution phase to perform actual replacements. This segmentation makes the complex upgrade process manageable and systematic

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system acts as an intermediary between the application code and the target programming language version, automatically translating and reconciling differences through intelligent reference replacement and dependency management

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If extended support models are maintained for legacy versions, then backward compatibility is ensured, but costs increase

Engineering Contradiction:
Improvebackward compatibilityVSAvoidsupport costs
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The system changes the parameter of support approach from maintaining multiple legacy versions to enabling single-version upgrades, transforming the support model from horizontal (multiple versions) to vertical (version progression)

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12223309B2System and method for implementing a platform and language agnostic smart SDK upgrade module
Publication Date: 2025.02.11 JPMORGAN CHASE BANK NA
  • US12223309B2 patent drawing
  • US12223309B2 patent drawing
  • US12223309B2 patent drawing

AI summary

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.