Automated Library Version Selection and Deployment

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing methods for upgrading and updating third-party libraries in software applications are time-consuming and cumbersome, requiring manual identification and testing of each library version, even when multiple libraries share common characteristics.

Innovation Solution

A system and method for automatically identifying and deploying upgraded library versions based on characteristics such as end-of-life attributes, critical vulnerabilities, and deprecation, allowing for intuitive front-end management without manual script generation, and enabling testing in a controlled environment before production deployment.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual identification and testing of each library version is performed, then reliability of library updates is improved, but time consumption and operational complexity increase

Engineering Contradiction:
Improvelibrary update reliabilityVSAvoidtime consumption
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs self-service by automatically identifying candidate library versions, generating test builds, executing tests, and determining deployment decisions without manual intervention. The computer automatically selects target versions based on criteria, creates application builds with updated libraries, runs tests in test environments, and deploys to production environments based on test results, eliminating the need for developers to manually test each library.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system introduces an intermediary automated testing and deployment system between library identification and production deployment. This intermediary automatically manages the complex process of selecting target versions, creating builds, executing tests, and making deployment decisions, thereby reducing both time consumption and operational complexity while maintaining reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If individual testing of each library is conducted, then testing thoroughness is improved, but productivity and operational efficiency decrease

Engineering Contradiction:
Improvetesting thoroughnessVSAvoidoperational efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The system merges multiple individual library testing operations into a single integrated automated process. Instead of testing each library separately, the system combines them into unified application builds and executes comprehensive tests that cover all updated libraries together, maintaining thoroughness while significantly improving operational efficiency.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The automated testing system performs multiple functions universally: it identifies target versions for multiple libraries, generates test builds, executes tests, analyzes results, and makes deployment decisions across all libraries in a single operational framework, thereby improving productivity without sacrificing testing thoroughness.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Productivity

If automated version selection and deployment is implemented, then productivity and speed are improved, but system complexity increases

Engineering Contradiction:
Improveupdate speedVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system implements feedback mechanisms where test execution results automatically inform deployment decisions. The computer monitors test outcomes and uses this feedback to determine whether to deploy updated libraries to production environments, enabling fast automated updates while managing complexity through structured decision-making based on objective test data.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS12007878B2Testing and deploying targeted versions of application libraries within a software application
Publication Date: 2024.06.11 FMR CORP
  • US12007878B2 patent drawing
  • US12007878B2 patent drawing
  • US12007878B2 patent drawing

AI summary

Methods and apparatuses are described for testing and deploying targeted versions of application libraries within a software application. A computing device selects a software application comprising application libraries each associated with a current version identifier. The computing device identifies a target version of one or more application libraries, the target version associated with a different version identifier than the current identifier. The computing device defines a software application build for the software application incorporating the identified target versions of the application libraries, and deploys the application build to a test computing environment. The computing device executes tests of the software application build in the test environment, and captures test execution data for the target versions of the libraries in the software application build. The computing device deploys the software application build including the target versions of the application libraries to a production computing environment based upon the test execution data.