Microservice Deployment Topology Optimization via Trace Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for deploying microservices in distributed systems often result in inefficient microservice groupings and increased communication costs due to inadequate consideration of system efficiency, leading to increased downtime and costs.

Innovation Solution

The method involves analyzing request traces across application components to determine the strength of coupling between them, assigning weights based on communication frequency, and using a threshold criterion to decide deployment scenarios, where frequently communicating components are deployed jointly and less frequently communicating components are deployed independently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If microservices are deployed in a distributed system without analyzing communication patterns, then deployment is simpler and faster, but system efficiency deteriorates and communication costs increase

Engineering Contradiction:
Improvedeployment efficiencyVSAvoidcommunication cost
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent performs preliminary analysis of request traces and communication patterns before finalizing the deployment configuration. By examining historical communication data and determining coupling strength between microservices in advance, the system optimizes deployment groupings proactively rather than reactively, thereby reducing future communication costs while maintaining deployment efficiency

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes the deployment parameter from arbitrary or simple criteria to one based on quantified coupling strength derived from communication frequency analysis. By adjusting deployment configurations based on these analyzed parameters, the system achieves optimal groupings that reduce communication overhead while maintaining manageable deployment complexity

Inventive Principle:
Principle #35Parameter changes

2Ease of operation

If microservices are deployed without considering coupling strength, then deployment configuration is easier, but system reliability deteriorates due to increased downtime

Engineering Contradiction:
Improvedeployment configuration easeVSAvoidsystem availability
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system automatically analyzes request traces and determines optimal deployment configurations without requiring manual intervention. The automated analysis of communication patterns and coupling strength enables the system to self-optimize deployment groupings, maintaining high reliability while keeping the operation simple for users

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent utilizes feedback from historical request trace data to continuously improve deployment configurations. By analyzing actual communication patterns that occur during system operation, the system refines its understanding of coupling strength and adjusts deployment groupings accordingly, thereby improving reliability while maintaining ease of operation through automated feedback loops

Inventive Principle:
Principle #23Feedback

3Device complexity

If all microservices are deployed together as a single unit, then deployment management is simpler, but adaptability deteriorates and maintenance becomes difficult

Engineering Contradiction:
Improvedeployment management complexityVSAvoidapplication maintainability
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent segments microservices into distinct deployment groups based on their coupling strength derived from communication pattern analysis. Services with strong coupling are grouped together, while loosely coupled services are separated into different groups. This segmentation enables independent deployment and maintenance of service groups, improving adaptability while keeping management complexity manageable through automated grouping logic

Inventive Principle:
Principle #1Segmentation

4Adaptability or versatility

If microservices are deployed independently without analysis, then deployment flexibility is higher, but productivity deteriorates due to inefficient groupings

Engineering Contradiction:
Improvedeployment flexibilityVSAvoidsystem operation efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent implements dynamic deployment grouping that adapts to the actual communication patterns of microservices. Rather than using static or arbitrary groupings, the system dynamically determines optimal configurations based on analyzed coupling strength from request traces. This dynamic approach maintains deployment flexibility while improving operational efficiency through data-driven optimization

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11893369B2Determining a distributed system topology from a single application deployment
Publication Date: 2024.02.06 RED HAT LLC
  • US11893369B2 patent drawing
  • US11893369B2 patent drawing
  • US11893369B2 patent drawing

AI summary

Systems and methods for determining a topology of an application deployment on a distributed system can include receiving multiple traces of requests within an application, where the application includes multiple components. They can also include determining a number of times that each span between the components is traversed by a trace and associating each span with a corresponding weight reflecting the number of times that the span is traversed. Such systems and methods can further include selecting a deployment scenario based on the respective weights of each of the spans.