Dynamic Software Deployment Configuration for Response Time

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The performance of software applications deployed in cloud environments can degrade due to critical conditions such as instances of micro-services becoming unavailable, leading to increased response times and congestion, especially when remote invocations across distant data centers are required.

Innovation Solution

A method that monitors operating indicators of the execution environment and dynamically re-deploys the software application into an alternative configuration where software components are aggregated, reducing remote invocations and improving response times by localizing service interactions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If software components are distributed across multiple distant data centers to improve scalability and load balancing, then the system can handle high-peak load conditions better, but the response time degrades due to remote invocations across distant data centers

Engineering Contradiction:
Improveload handling capacityVSAvoidresponse time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system dynamically selects deployment configurations based on runtime conditions. When critical conditions are detected (such as micro-service unavailability), the system transitions from a distributed deployment configuration to an aggregated deployment configuration, making the architecture adaptive rather than static.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the deployment configuration parameter (from distributed to aggregated) in response to detected critical conditions. This parameter change allows the system to optimize response time by aggregating software components locally when remote invocations would cause delays.

Inventive Principle:
Principle #35Parameter changes

2Loss of time

If software components are aggregated into fewer instances to reduce remote invocations, then the response time improves, but the redundancy and reliability decrease

Engineering Contradiction:
Improveresponse timeVSAvoidsystem reliability
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The system dynamically adjusts the level of aggregation based on runtime conditions. During normal operation, components remain distributed for redundancy. When critical conditions are detected, the system aggregates components to improve response time, and can revert when conditions normalize, providing adaptive reliability management.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system prepares alternative deployment configurations in advance and can switch to them when critical conditions occur. This pre-prepared alternative configuration provides a cushion against performance degradation while maintaining the ability to restore the original configuration for redundancy.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

3Ease of operation

If the system maintains a fixed default deployment configuration to simplify management, then the ease of operation improves, but the adaptability to critical conditions deteriorates

Engineering Contradiction:
Improvedeployment management simplicityVSAvoidadaptability to critical conditions
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The system automatically monitors operating indicators, detects critical conditions, and selects appropriate deployment configurations without manual intervention. This self-service capability maintains ease of operation while providing adaptability, as the automated system handles the complexity of configuration selection.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system continuously monitors operating indicators and uses this feedback to automatically select deployment configurations. The feedback loop enables the system to adapt to changing conditions while maintaining simple operation, as the monitoring and selection process is automated rather than requiring manual management.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10782953B2Dynamic selection of deployment configurations of software applications
Publication Date: 2020.09.22 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10782953B2 patent drawing
  • US10782953B2 patent drawing
  • US10782953B2 patent drawing

AI summary

A method and system are for deploying a software application. The software application is deployed in a default deployment configuration onto a computing system. The default deployment configuration includes interacting software components of the software application. It is ascertained, from one or more operating indicators of an execution environment of the software application, that a critical condition of the execution environment exists. In response to having ascertained that the critical condition of the execution environment exists, an alternative deployment configuration is selected from one or more alternative deployment configurations of the software application, each alternative deployment configuration having one or more groups of the software components aggregated into corresponding aggregated software components. The software application is re-deployed in the selected alternative deployment configuration onto the computing system.