Microservice Resource Allocation Bottleneck Identification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing microservice architectures face challenges in reliably identifying and addressing bottlenecks, as current solutions fail to distinguish between real and seeming resource over-allocation, leading to inefficient resource allocation and performance limitations.

Innovation Solution

A computer-automated method that determines resource allocation between microservices by identifying bottlenecks through incremental and decremental resource testing, ensuring optimal allocation based on performance metrics like processing time and throughput, while avoiding false positives.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If resource allocation is increased to all microservices to ensure performance, then application performance is maintained, but resource waste occurs on non-bottleneck services

Engineering Contradiction:
Improveapplication performanceVSAvoidresource waste
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent applies local quality by differentiating resource allocation based on the specific characteristics of each microservice. Instead of uniform resource distribution, the system identifies bottleneck microservices through iterative testing and allocates additional resources specifically to those services that demonstrate performance limitations. This targeted approach ensures that resources are concentrated where they are most needed while avoiding waste on non-bottleneck services.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent utilizes parameter changes by dynamically adjusting resource allocation ratios based on measured performance metrics. The system iteratively modifies resource parameters for individual microservices, measuring the impact on overall application performance, and continues this process until optimal allocation is achieved. This data-driven parameter adjustment resolves the contradiction by base allocations on actual performance needs rather than assumptions.

Inventive Principle:
Principle #35Parameter changes

2Loss of energy

If resource allocation is optimized to reduce waste, then resource efficiency improves, but performance measurements become less reliable due to insufficient resources

Engineering Contradiction:
Improveresource efficiencyVSAvoidperformance measurement accuracy
Core Design Contradiction:
Loss of energyVSReliability

Solution Approach 1:

The patent applies preliminary action by conducting iterative resource allocation tests before final deployment. The system performs multiple measurement cycles with different resource allocation configurations, using each cycle's results to inform the next. This preliminary testing phase ensures that the final resource allocation is both efficient and reliable, as it has been validated through repeated measurement and adjustment.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback mechanisms by continuously measuring application performance metrics in response to resource allocation changes. Each measurement cycle provides feedback that guides subsequent resource allocation adjustments. This closed-loop feedback system ensures that resource efficiency improvements do not compromise performance reliability, as any negative impacts are detected and corrected through iterative adjustment.

Inventive Principle:
Principle #23Feedback

3Measurement precision

If iterative resource testing is performed on each microservice, then accurate bottleneck identification is achieved, but system complexity and testing time increase

Engineering Contradiction:
Improvebottleneck identification accuracyVSAvoidtesting system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent applies segmentation by dividing the resource allocation optimization process into distinct iterative cycles, each focusing on individual microservices or groups of services. The system segments the testing into manageable measurement cycles that can be executed systematically. This segmentation reduces overall complexity by breaking down the complex multi-service optimization problem into smaller, more manageable sub-problems that can be solved sequentially.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent utilizes dynamics by implementing an adaptive testing approach where the system learns from each measurement cycle and adjusts subsequent testing strategies. Rather than using a static, fixed testing protocol, the system dynamically modifies its testing approach based on observed performance patterns and identified bottlenecks. This dynamic adaptation reduces unnecessary testing while maintaining high measurement precision.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11693766B2Resource allocation in microservice architectures
Publication Date: 2023.07.04 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11693766B2 patent drawing
  • US11693766B2 patent drawing
  • US11693766B2 patent drawing

AI summary

A method for adjusting the resource allocation ratio between microservices used to run an application. A microservice test sequence is defined which has an order that follows the traffic flow through the microservices. Each microservice is analyzed in order of the test sequence to classify whether or not it is acting as a bottleneck for the application. This is done by measuring whether or not decrementing the microservice's resource causes the application throughput to decrease. For each microservice classified as a bottleneck and in reverse order of the test sequence, its resource is successively incremented until the application throughput starts to increase, indicating it is no longer acting as a bottleneck. The resource allocation ratio can then be adjusted to reflect this procedure.