Conditional Deferred Queuing for Message Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional systems face challenges in predicting and managing message processing delays, leading to idle or wasted resources due to fixed delay times that may not accurately reflect the need for processing delays caused by concurrency limits or resource unavailability.

Innovation Solution

Conditional deferred queuing is implemented by locking messages with throttle conditions until those conditions are met, allowing messages to be delivered only when the required resources are available, thereby optimizing resource utilization and ensuring messages are processed efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a fixed delay time is used for message processing, then resource availability is ensured, but resource utilization efficiency deteriorates due to idle or wasted resources

Engineering Contradiction:
Improveresource availabilityVSAvoidresource utilization efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system transitions from static fixed delay queuing to dynamic conditional deferred queuing, where messages are locked and delayed based on real-time throttle conditions rather than predetermined fixed times. This allows the system to adapt delay duration to actual resource availability and processing needs.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The delay parameter is changed from a fixed constant to a variable determined by throttle conditions. The system evaluates conditions such as concurrency limits and resource availability to dynamically set the appropriate delay duration for each message.

Inventive Principle:
Principle #35Parameter changes

2Stability of the object's composition

If message processing is delayed to avoid concurrency limits, then system stability is improved, but processing speed deteriorates

Engineering Contradiction:
Improvesystem stabilityVSAvoidprocessing speed
Core Design Contradiction:
Stability of the object's compositionVSSpeed

Solution Approach 1:

The system implements feedback through throttle conditions that monitor system state (concurrency limits, resource availability) and adjust message processing accordingly. When conditions are met, messages are unlocked and processed; when not met, messages remain locked, creating a responsive feedback loop.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs preliminary evaluation of throttle conditions before allowing message processing. By checking conditions in advance and locking messages proactively when conditions aren't met, the system prevents overload before it occurs rather than reacting after the fact.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9141447B2Conditional deferred queuing
Publication Date: 2015.09.22 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9141447B2 patent drawing
  • US9141447B2 patent drawing
  • US9141447B2 patent drawing

AI summary

Conditional deferred queuing may be provided. Upon receiving a message, one or more throttle conditions associated with the message may be identified. A lock associated with the throttle condition may be created on the message until the throttle condition is satisfied. Then, the lock on the message may be removed and the message may be delivered.