Configuration Discovery for Containerized Legacy Applications

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing containerization techniques fail to effectively encompass configuration settings for efficiently executing container images in target computer environments, particularly for legacy applications undergoing modernization, due to lack of standardization and hardcoded environmental attributes.

Innovation Solution

A system and method that discovers configuration information for containerized applications by extracting environment attributes from source code using graph-based feature extraction techniques and validates them through active learning models, generating deployment files for modernized environments.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If containerization techniques are used to modernize legacy applications, then deployment efficiency is improved, but configuration settings are not properly encompassed leading to execution failures

Engineering Contradiction:
Improvedeployment efficiencyVSAvoidconfiguration completeness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary extraction of configuration settings from legacy application source code before containerization. The configuration extractor analyzes the source code to identify and extract environment variables, configuration files, and hardcoded settings, storing them in a configuration database. This preliminary action ensures that all necessary configuration information is captured before the container image is built, preventing configuration completeness issues during deployment.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system introduces an intermediary configuration management layer between the legacy application and the containerized environment. This intermediary component includes a configuration extractor that bridges the legacy application's configuration format with the containerized environment's requirements, translating and adapting configuration settings to ensure proper execution in the modernized environment.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If manual configuration extraction is used, then configuration accuracy is improved, but automation level deteriorates

Engineering Contradiction:
Improveconfiguration accuracyVSAvoidautomation level
Core Design Contradiction:
Measurement precisionVSExtent of automation

Solution Approach 1:

The configuration extractor operates autonomously to extract configuration settings from legacy application source code without requiring manual intervention. The system self-services by automatically analyzing source code, identifying configuration patterns, extracting environment variables and settings, and storing them in the configuration database. This maintains high automation levels while ensuring configuration accuracy through systematic analysis.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system implements feedback mechanisms where the configuration extractor continuously refines its extraction process based on identified patterns and validation results. The active learning model uses feedback from configuration validation to improve future extraction accuracy, creating a self-improving system that maintains both automation and precision.

Inventive Principle:
Principle #23Feedback

3Stability of the object's composition

If configuration settings are hardcoded in legacy applications, then application stability is improved, but adaptability to new environments deteriorates

Engineering Contradiction:
Improveapplication stabilityVSAvoidenvironmental adaptability
Core Design Contradiction:
Stability of the object's compositionVSAdaptability or versatility

Solution Approach 1:

The system extracts hardcoded configuration settings from the legacy application source code and separates them into a独立的 configuration database. By taking out these hardcoded values and storing them externally, the system maintains the application's stable core logic while enabling flexible configuration management. The extracted configurations can be easily adapted to different containerized environments without modifying the application code.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system transforms static hardcoded configuration values into dynamic, externally manageable configuration data. The configuration extractor identifies hardcoded settings and converts them into environment variables or configuration files that can be dynamically adjusted for different deployment environments. This dynamic approach allows the same containerized application to adapt to various environments while maintaining stable core functionality.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11922181B2Configuration discovery of computer applications
Publication Date: 2024.03.05 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11922181B2 patent drawing
  • US11922181B2 patent drawing
  • US11922181B2 patent drawing

AI summary

Techniques regarding discovering configuration information for one or more computer applications are provided. For example, one or more embodiments described herein can comprise a system, which can comprise a memory that can store computer executable components. The system can also comprise a processor, operably coupled to the memory, and that can execute the computer executable components stored in the memory. The computer executable components can comprise a configuration component that can discover configuration information associated with a containerized computer application. The configuration information can be characterized by a set of environment attributes extracted by querying a source code of the containerized computer application.