Self-Optimizing Application Adaptation via Pattern Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional techniques for native compilation of applications lack flexibility to customize the resulting application at a later date, limiting the ability to adapt to different target system configurations.

Innovation Solution

A system and method that analyzes differences between an application's configurations to determine necessary modifications, using a database of known potential modifications and patterns to update the application, enabling self-optimization and adaptation to various target systems by adding or removing source code and libraries.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional native compilation techniques are used, then the application can be compiled into a native executable, but the process lacks flexibility to customize the application at a later date

Engineering Contradiction:
Improveflexibility to customize applicationVSAvoidcomplexity of compilation process
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the application customization process into distinct phases: initial native compilation, runtime configuration detection, and post-compilation adaptation. This allows the application to be compiled once with base functionality, then customized at runtime without recompilation, resolving the contradiction between compilation simplicity and customization flexibility.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary actions by embedding configuration detection capabilities and adaptation mechanisms into the application during initial compilation. The application pre-prepares itself to detect configuration differences and automatically adapt, enabling later customization without complex external tools or procedures.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If the application is modified to support multiple configurations, then adaptability to different target systems improves, but the device complexity increases

Engineering Contradiction:
Improveadaptability to target system configurationsVSAvoidcomplexity of application structure
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements universality by creating a single application binary that can adapt to multiple target system configurations. The application contains universal adaptation logic that detects the target environment and configures itself accordingly, eliminating the need for separate compiled versions for different platforms while maintaining adaptability.

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

Solution Approach 2:

The application performs self-service by automatically detecting configuration differences between the development environment and target system, then self-modifying to adapt to the target configuration. This self-adaptation capability reduces the need for complex external configuration tools and manual intervention, managing complexity internally while maintaining high adaptability.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If configuration differences are analyzed and patterns are applied to modify the application, then the application can adapt to different environments, but the processing time increases

Engineering Contradiction:
Improveability to adapt to environmentsVSAvoidtime for configuration analysis and modification
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent applies partial action by analyzing only the critical configuration differences necessary for basic adaptation, rather than performing exhaustive analysis of all possible configuration variations. This selective approach enables sufficient environmental adaptation with reduced processing time, accepting that not all configuration aspects need complete optimization.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11714657B2Self optimizing application
Publication Date: 2023.08.01 RED HAT INC
  • US11714657B2 patent drawing
  • US11714657B2 patent drawing
  • US11714657B2 patent drawing

AI summary

A system includes a memory a processor. The processor is in communication with the memory. The processor is configured to receive an application, where the application was modified into a second configuration from a first configuration. Next, the processor determines differences in the application between the second configuration and the first configuration. A database is accessed, which includes a set of known potential modifications to the application and a set of patterns. The functionality of the known potential modifications is dependent on at least one of the set of patterns. The differences are analyzed to determine which of the set of patterns to include in the application, where the differences includes at least one of the set of known potential modifications in the application. The processor is configured to modify the application with the at least one of the set of patterns.