Message Server Adaptive Timeout Query Store
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Modern messaging systems face delays in decision-making due to waiting for responses from asynchronous sources, which can lead to incomplete or delayed decisions, especially when responses are not received within a predetermined timeout period.
Innovation Solution
A message server with a query store that stores query requests, value data, and response time data determines a timeout period based on past response times, allowing it to either wait for a response or use stored values if no response is received within the timeout, thereby reducing delays and ensuring timely decision-making.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a predetermined timeout period is used for waiting for responses from asynchronous sources, then the decision-making process can eventually complete, but large delays occur before decisions are made
Solution Approach 1:
The patent applies dynamics by making the timeout period adaptive rather than fixed. The system dynamically adjusts the timeout duration based on historical response time data stored in the query store, allowing the timeout to extend or shrink according to actual source behavior patterns, thereby reducing unnecessary delays while maintaining reliable decision completion
Solution Approach 2:
The system performs preliminary action by pre-storing historical response time data and calculated timeout periods in the query store before new queries are executed. This allows the system to immediately retrieve and apply optimized timeout values from past performance data, avoiding the need to wait for historical data to accumulate before making decisions
2Measurement precision
If the system waits for a complete set of responses before making a decision, then decision accuracy is improved, but considerable delays occur due to asynchronous response timing
Solution Approach 1:
The patent applies partial action by making decisions based on the subset of responses that have arrived within the dynamically determined timeout period, rather than requiring complete response sets. This allows the system to proceed with partial information when the timeout expires, significantly reducing decision delays while maintaining sufficient accuracy through the adaptive timeout mechanism
Solution Approach 2:
The system implements feedback by continuously monitoring actual response times and using this information to update the timeout period calculations stored in the query store. This feedback loop allows the system to learn from historical performance and progressively optimize its timeout values, improving both decision accuracy and speed over time
3Productivity
If a fixed timeout period of 5 seconds is used, then the system can make decisions without waiting indefinitely, but the timeout may be too long causing delays or too short causing premature decisions
Solution Approach 1:
The patent applies parameter changes by transforming the fixed timeout parameter into a variable that adapts based on historical response time data. The system calculates and stores optimized timeout values in the query store, allowing the timeout parameter to change dynamically according to the specific query source and historical performance patterns, thereby maximizing decision throughput while minimizing timeout inefficiency
Data Source
AI summary
A message server includes a query store for storing query requests, value data for the query requests, and response time data for the query requests. A message is received, a query request is determined from the message and sent to a query server. A timeout period is determined from response time data stored in the query store. If no response to the query request is received within the timeout period, a value is determined from the value data for the query request stored in the query store. Alternatively, if a response to the query request is received within the timeout period, a value is determined from the response, value data for the value is stored in the query store, and response time data is stored in the query store. An action in response to the message is determined and the action is performed.


