Dynamic Asynchronous Communication Timeout Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Asynchronous communication systems face challenges in detecting failures, as it is unclear whether delayed responses are due to network traffic or unavailability, leading to potential errors from premature assumption of failure.

Innovation Solution

A dynamic approach that utilizes historical data to determine an expected response time range based on conditions such as network load and server processing, allowing additional waiting time before assuming a response will not be received.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a fixed timeout period is used for asynchronous communication, then the system can detect failures, but it may assume failure prematurely when responses are delayed due to network traffic

Engineering Contradiction:
Improvefailure detection accuracyVSAvoidwaiting time for response
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies dynamics by making the timeout period variable rather than fixed. The system dynamically adjusts the timeout duration based on historical response time data collected from previous communications with the remote system. This allows the timeout to adapt to changing network conditions and system loads, preventing premature failure assumptions while maintaining reliable failure detection.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter of timeout duration from a static value to a dynamic value based on collected performance data. By monitoring and analyzing historical response times under various conditions, the system adjusts the timeout parameter to match actual system behavior, thereby improving both reliability and time efficiency.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If the system waits longer for responses, then fewer false failure assumptions are made, but the system loses productive time that could be used for other tasks

Engineering Contradiction:
Improveresponse time assessment accuracyVSAvoidthread execution efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by collecting and analyzing response time data in advance, before it is needed for timeout determination. The system builds a historical database of response times under various conditions, so that when a communication occurs, the appropriate timeout can be quickly determined without delaying the thread execution.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses feedback from historical communication data to continuously improve timeout accuracy. By monitoring actual response times and comparing them against expected values, the system refines its timeout predictions, becoming increasingly accurate in determining when a failure has truly occurred versus when a response is simply delayed.

Inventive Principle:
Principle #23Feedback

3Reliability

If the system uses conservative timeout values to avoid false failures, then reliability improves, but the system cannot utilize asynchronous communication benefits fully

Engineering Contradiction:
Improvefailure detection reliabilityVSAvoidasynchronous communication efficiency
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent resolves this contradiction by making the timeout dynamic rather than conservatively fixed. The system adapts the timeout value based on actual system performance data, allowing it to be patient when necessary (maintaining reliability) and responsive when appropriate (maintaining asynchronous efficiency).

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11271839B2Dynamic asynchronous communication management
Publication Date: 2022.03.08 RED HAT INC
  • US11271839B2 patent drawing
  • US11271839B2 patent drawing
  • US11271839B2 patent drawing

AI summary

A method for performing asynchronous communication includes executing a thread, by a computing system, the thread comprising an instruction to send a message to a remote system under a current set of conditions. The method further includes waiting, by the computing system for a response to the message for a predetermined amount of time, wherein the predetermined amount of time is calculated based on historical data, wherein the historical data comprises one or more response times for respective one or more messages, wherein the one or more messages are associated with a set of conditions that correspond to the current set of conditions.