Software Application Environment Optimization via Model Comparison

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current software application environments often fail to meet performance requirements due to unforeseen user traffic and changing technology landscapes, lacking a comprehensive tool to evaluate and recommend optimal technology products for improved performance.

Innovation Solution

The system and method involve an application manager that tests various technology product combinations, builds alternative model application environments, and collects performance metrics to recommend optimal configurations for better performance, accommodating changing requirements and new technologies.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the application environment is designed based on desired performance criteria using a set of technology products, then the application is expected to behave in a desired manner, but the technology product may not perform in a desired manner when deployed due to unforeseen user traffic and changing technology landscapes

Engineering Contradiction:
Improveapplication performanceVSAvoidadaptability to changing requirements
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The system performs preliminary actions by building multiple alternative model application environments before actual deployment. These model environments are created in advance with different technology product combinations, allowing the system to evaluate and select the most suitable configuration before facing real-world traffic variations and changing requirements.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements dynamics by enabling the application environment to adapt and change based on actual performance metrics. The system continuously monitors performance, compares actual behavior against predicted behavior, and can switch between different model environments or adjust the current environment configuration to maintain optimal performance under varying conditions.

Inventive Principle:
Principle #15Dynamics

2Manufacturing precision

If the application is designed for a specific user capacity (e.g., 50 to 100 users), then it meets performance requirements for that capacity, but it becomes incapable of handling beyond the expected traffic volume

Engineering Contradiction:
Improveperformance parameter accuracyVSAvoidscalability
Core Design Contradiction:
Manufacturing precisionVSAdaptability or versatility

Solution Approach 1:

The system creates multiple alternative model application environments in advance, each optimized for different traffic volumes and performance requirements. By having pre-configured models for various user capacities, the system can select or switch to an appropriate model when traffic exceeds original expectations, avoiding performance degradation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system changes parameters by adjusting technology product configurations and environment settings based on actual performance data. When user capacity requirements change, the system modifies environment parameters such as server resources, database configurations, and caching strategies to maintain optimal performance across different traffic volumes.

Inventive Principle:
Principle #35Parameter changes

3Ease of manufacture

If no evaluation tool is available to test application behavior in different conditions, then the current technology setup is maintained, but the application may not perform optimally under real-world conditions

Engineering Contradiction:
Improvedeployment simplicityVSAvoidperformance under real-world conditions
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The system creates copies of the application environment in the form of multiple alternative model environments. These model environments replicate the structure and configuration of the actual application but are used specifically for testing and evaluation purposes. By copying the environment, the system can assess performance under various conditions without affecting the production system.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system implements feedback mechanisms by continuously monitoring actual application performance metrics and comparing them against predicted performance from different model environments. This feedback loop enables the system to identify performance gaps and select or adjust the most suitable environment configuration to maintain optimal performance under real-world conditions.

Inventive Principle:
Principle #23Feedback

4Reliability

If multiple alternative model application environments are built and tested, then optimal technology product recommendations can be generated, but the complexity of evaluating and managing multiple environments increases

Engineering Contradiction:
Improveperformance optimizationVSAvoidenvironment management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system applies universality by creating a standardized framework and common set of technology products that can be reused across multiple alternative model environments. Instead of building completely separate environments, the system uses a universal base configuration with modular components that can be selectively activated, reducing the overall complexity of managing multiple environments while still enabling comprehensive performance evaluation.

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

Data Source

PatentUS11734146B2Analyzing performance metrics for improving technology environment of a software application
Publication Date: 2023.08.22 BANK OF AMERICA CORP
  • US11734146B2 patent drawing
  • US11734146B2 patent drawing
  • US11734146B2 patent drawing

AI summary

A system is configured to obtain a plurality of performance metrics related to performance of a software application in a current application environment and each of a plurality of model application environments. The system assigns a score to each of the performance metrics collected for the current application environment and each of the model application environments, compares the respective scores assigned to each performance metric collected for the current application environment and each of the model application environments, and detects that at least one model application environment has a higher score associated with at least one performance metric as compared to the respective score of the at least one performance metric collected for the current application environment. The system determines a recommendation to use the at least one model application environment for the software application based on the detecting.