Traffic Management for Multi-Version Application Deployments

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software deployment techniques fail to address performance issues in canary deployments by routing an inappropriate amount of traffic to new versions of applications, leading to decreased performance and unexpected behavior, which are often misattributed to the source code or functionality of the new version.

Innovation Solution

Implement mechanisms to manage traffic for multiple versions of an application by determining workload and traffic information, routing the appropriate amount of traffic to the new version based on the ratio of instances and traffic handling capacity of the old version, and progressively increasing traffic to the new version until maximum capacity is reached.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a canary version is deployed to a subset of infrastructure, then the impact to users is reduced, but the traffic routing becomes complex and performance issues may arise from inappropriate traffic amounts

Engineering Contradiction:
Improveuser experience stabilityVSAvoidtraffic routing complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a traffic management component as an intermediary between users and application versions. This component automatically routes traffic based on workload information and performance metrics, eliminating the need for manual traffic splitting configurations and reducing routing complexity while maintaining reliable user experience

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system implements feedback mechanisms by continuously monitoring performance metrics of canary versions and automatically adjusting traffic routing decisions. This closed-loop control ensures that traffic is routed appropriately based on real-time system state, resolving the contradiction between reducing user impact and managing routing complexity

Inventive Principle:
Principle #23Feedback

2Productivity

If traffic is routed to the new version based on instance ratios, then deployment scalability is improved, but performance decreases when traffic amount exceeds handling capacity

Engineering Contradiction:
Improvedeployment speedVSAvoidapplication performance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements dynamic traffic routing that adjusts traffic allocation based on real-time workload information and performance metrics rather than static instance ratios. The system continuously monitors handling capacity and dynamically modifies routing decisions to maintain optimal performance while enabling rapid deployment scaling

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter basis for traffic routing from fixed instance ratios to dynamic parameters including workload information, performance metrics, and handling capacity. This parameter transformation allows the system to maintain both deployment scalability and performance reliability by adapting traffic allocation to current system conditions

Inventive Principle:
Principle #35Parameter changes

3Loss of time

If more traffic is routed to the canary version for faster rollouts, then deployment time is reduced, but performance issues and unexpected behavior increase

Engineering Contradiction:
Improvedeployment timeVSAvoidcanary version performance
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The patent applies preliminary action by having the traffic management component prepare and monitor canary version performance before full traffic allocation. The system proactively identifies performance issues early in the rollout process, allowing corrective actions to be taken before significant performance degradation occurs, thus enabling faster deployments without sacrificing reliability

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11368523B2Traffic management for multiple versions of an application deployed in a computer system
Publication Date: 2022.06.21 RED HAT INC
  • US11368523B2 patent drawing
  • US11368523B2 patent drawing
  • US11368523B2 patent drawing

AI summary

Aspects of the disclosure provide for managing traffic for multiple versions of an application deployed in a computer system. A method of the disclosure includes: determining first workload information relating to a deployment of a first version of an application in a computer system and second workload information relating to a deployment of a second version of the application in the computer system; determining traffic information relating to the deployment of the first version of the application, wherein the traffic information comprises information about traffic handled by the first version of the application during a time frame; and determining an amount of traffic to be routed to the second version of the application in view of the first workload information, the second workload information, and the traffic information.