Software Application Currency Management Through Dependency Scanning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing application scanning tools face challenges in providing full application coverage and accurately identifying a significant number of applications on a system, leading to lifecycle and coverage issues.

Innovation Solution

The system and method identify two groups of software applications, one subject to currency management and the other not. It uses source code repositories to determine dependencies and versions, prioritizing updates based on current versions and dependency relationships.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If existing application scanning tools are used, then the scanning process is simple, but application coverage is incomplete and accuracy is low

Engineering Contradiction:
Improveapplication identification accuracyVSAvoidscanning system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the application scanning process into multiple specialized components: executable file scanning, library file scanning, configuration file scanning, and dependency relationship analysis. Each component focuses on a specific aspect of application identification, improving overall accuracy while maintaining manageable complexity through modular design.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an application portfolio database as an intermediary that stores and manages identified applications, their dependencies, and version information. This database acts as a central repository that coordinates information from various scanning sources, improving identification accuracy without requiring direct complex interactions between scanning components.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If comprehensive dependency analysis is performed, then currency management accuracy is improved, but processing time increases

Engineering Contradiction:
Improvedependency identification accuracyVSAvoidscan processing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent performs preliminary scanning and identification of applications and their dependencies, storing this information in the application portfolio database before currency management operations are needed. This preliminary action captures dependency relationships in advance, so when currency management is required, the system can quickly retrieve pre-analyzed data without performing time-consuming comprehensive analysis again.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses feedback from the application portfolio database to guide subsequent scanning and analysis operations. By maintaining an active record of identified applications and their dependencies, the system can focus subsequent scans on detecting changes and updates rather than performing complete re-analysis, reducing processing time while maintaining accuracy.

Inventive Principle:
Principle #23Feedback

3Quantity of substance

If all applications are monitored for currency, then currency management coverage is complete, but resource consumption increases

Engineering Contradiction:
Improveapplication coverageVSAvoidcomputational resource consumption
Core Design Contradiction:
Quantity of substanceVSUse of energy by moving object

Solution Approach 1:

The patent applies local quality by differentiating between applications that are subject to currency management and those that are not. The system allows selective monitoring and management of specific applications based on their importance, dependency relationships, and version status, rather than uniformly monitoring all applications. This selective approach maintains comprehensive coverage of critical applications while reducing resource consumption on less important ones.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system changes the parameter of monitoring intensity based on application characteristics. High-priority applications with critical dependencies receive continuous, detailed monitoring, while lower-priority applications receive periodic or lighter monitoring. This dynamic parameter adjustment enables complete coverage of essential applications while optimizing resource consumption across the entire portfolio.

Inventive Principle:
Principle #35Parameter changes

4Measurement precision

If version tracking is implemented for all dependencies, then update priority determination is accurate, but system complexity increases

Engineering Contradiction:
Improveversion comparison accuracyVSAvoidversion management complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent extracts version information and dependency relationships from the complex application codebase and stores them separately in the application portfolio database. By taking out version tracking data from the operational applications and maintaining it in a dedicated database structure, the system achieves accurate version comparison without adding complexity to the application execution environment. The database handles version management independently from the applications themselves.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS12346676B2System and method for managing software application currency
Publication Date: 2025.07.01 METLIFE
  • US12346676B2 patent drawing
  • US12346676B2 patent drawing
  • US12346676B2 patent drawing

AI summary

Source code files of software applications are scanned or searched to identify dependency information, such as versions of linked or embedded libraries. The dependency information is aggregated from the software applications, and displayed in a graphical user interface that is accessible by a user via web access. The dependency information can be used to prioritize upgrades, maintenance and management of the software applications, such as by prioritizing the update of software applications having older versions of libraries.