Dynamic Timeout Adjustment for Microservice Transaction Reliability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed hybrid computing environments, determining whether a transaction has failed or is slow is ambiguous due to differing timeout values among services, leading to potential duplication of transactions and inefficient resource usage, as client applications may timeout prematurely despite downstream services completing within their designated timeframes.

Innovation Solution

A method to determine a dynamic timeout value for microservices by analyzing transaction data to identify trends in average timeout values and adjusting the common service timeout value based on a calculated timeout ratio, ensuring that all called microservices operate within an optimized timeframe, thereby reducing erroneous timeouts and resource wastage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the client application timeout value is set to always be higher than that of the service with the longest timeout value in the transaction chain, then the transaction completion rate is improved, but the system resource utilization deteriorates and user experience worsens due to unnecessarily long wait times

Engineering Contradiction:
Improvetransaction completion rateVSAvoidsystem resource utilization
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements dynamic timeout adjustment where the system continuously monitors actual transaction execution times and automatically adjusts timeout values accordingly. The timeout value is no longer fixed but adapts based on real-time performance data, allowing the system to optimize between reliability and resource utilization dynamically

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system establishes a feedback loop that monitors transaction completion status and timeout occurrences. Based on this feedback, the system learns from actual transaction patterns and adjusts timeout values to prevent both premature timeouts and excessive waiting, resolving the contradiction between reliability and productivity

Inventive Principle:
Principle #23Feedback

2Reliability

If the client application timeout value is set to always be higher than that of the service with the longest timeout value in the transaction chain, then the transaction completion rate is improved, but the user experience deteriorates due to unnecessarily long wait times

Engineering Contradiction:
Improvetransaction completion rateVSAvoiduser experience
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The timeout value becomes a dynamic parameter that adapts to actual transaction needs rather than being statically set to the maximum possible value. This dynamic adjustment ensures users wait only as long as necessary, improving user experience while maintaining transaction completion rates

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system uses feedback from actual transaction execution to learn optimal timeout values for different transaction types and conditions, enabling it to provide responsive user experiences without sacrificing reliability

Inventive Principle:
Principle #23Feedback

3Ease of operation

If a fixed timeout value is used for the client application, then the system operation simplicity is improved, but the adaptability to varying transaction requirements deteriorates

Engineering Contradiction:
Improvesystem operation simplicityVSAvoidadaptability to varying transaction requirements
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The system implements self-service timeout management where the timeout configuration automatically adjusts itself based on monitored transaction patterns without requiring manual intervention. This maintains operational simplicity while achieving high adaptability to varying transaction requirements

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The timeout parameter is transformed from a fixed value to a dynamically changeable parameter that automatically adapts to different transaction requirements based on monitored performance data, resolving the contradiction between simplicity and adaptability

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11288109B2Determination of timeout value of an application service in a microservice architecture
Publication Date: 2022.03.29 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11288109B2 patent drawing
  • US11288109B2 patent drawing
  • US11288109B2 patent drawing

AI summary

A processor may determine a microservice invocation hierarchy based on transaction data of a plurality of microservices of the microservice architecture. For execution of the application, a processor may configure the microservice architecture to call on common service having common service timeout values. A processor may plot transaction data of the microservice invocation hierarchy to identify an increase in average timeout value trend of each of the microservices of the at least one application over time. A processor may determine a value of the identified increase in a timeout ratio to be added to common service timeout value for each identified increase in the average timeout value trend in which an increase in timeout variation is present. A processor may implement a dynamic adjustment timeout value based on the identified increase in the timeout ratio to be added to common service timeout value of all called microservices of the application.