Scheduled Message Delivery in Scalable Messaging Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current messaging systems lack the ability to schedule message delivery, requiring recipients to be online simultaneously with senders, which limits offline communication and message processing flexibility.

Innovation Solution

Implementing a messaging system with scheduled and non-scheduled message delivery capabilities, using a message entity with a scheduled sub-queue and an active sub-queue, where messages with specified delivery times are stored and processed accordingly, enabling offline communication and flexible message handling.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If messages are delivered immediately upon receipt, then message delivery speed is improved, but offline communication capability deteriorates

Engineering Contradiction:
Improvemessage delivery speedVSAvoidoffline communication capability
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The system performs preliminary actions by storing messages in a scheduled sub-queue with predetermined delivery times before actual delivery occurs. This allows messages to be prepared and staged for future delivery, enabling both immediate delivery (when delivery time is now) and delayed delivery (when delivery time is in the future), thus resolving the contradiction between speed and offline capability

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If messages are stored for scheduled delivery, then offline communication capability is improved, but message delivery time delay increases

Engineering Contradiction:
Improveoffline communication capabilityVSAvoidmessage delivery delay
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system dynamically manages message delivery timing by allowing flexible delivery time specifications. Messages can be scheduled for immediate delivery (no delay) or any future time (controlled delay). The scheduled sub-queue dynamically tracks delivery times and automatically transitions messages to the active sub-queue when their delivery time arrives, making the delay parameter adjustable rather than fixed

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If a scheduled sub-queue is implemented, then message delivery flexibility is improved, but system complexity increases

Engineering Contradiction:
Improvemessage delivery flexibilityVSAvoidmessaging system complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The messaging system is segmented into distinct components: an active sub-queue for immediately deliverable messages and a scheduled sub-queue for future-dated messages. This segmentation isolates the complexity of scheduled delivery to a specific module while keeping the core messaging pathway simple. Each sub-queue can be independently managed, reducing overall system complexity despite added functionality

Inventive Principle:
Principle #1Segmentation

4Use of energy by moving object

If batch processing of scheduled messages is used, then system resource efficiency is improved, but message processing speed decreases

Engineering Contradiction:
Improvesystem resource efficiencyVSAvoidmessage processing speed
Core Design Contradiction:
Use of energy by moving objectVSSpeed

Solution Approach 1:

The system employs periodic batch processing where the activation metadata retrieval agent periodically scans the scheduled sub-queue for messages whose delivery time has arrived. Instead of continuously monitoring or processing individual messages, the system uses periodic batches to activate and transfer ready messages to the active sub-queue. This periodic approach optimizes resource usage by consolidating processing efforts while maintaining timely delivery through frequent enough batch intervals

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS8903925B2Scheduled messages in a scalable messaging system
Publication Date: 2014.12.02 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8903925B2 patent drawing
  • US8903925B2 patent drawing
  • US8903925B2 patent drawing

AI summary

Techniques are provided for scheduled and non-scheduled delivery of messages. A message directed to at least one consumer is received at a message entity. The message is determined to include a scheduled delivery time. The received message is stored in a scheduled sub-queue of the message entity. Activation metadata is retrieved and stored for any messages stored in the scheduled sub-queue that include a scheduled delivery time within a predetermined upcoming time period. If when the message is received, the scheduled delivery time of the message is within a current activation window, the activation metadata for the message may be extracted and stored immediately. The stored activation metadata is analyzed to determine a batch of messages in the scheduled sub-queue ready for delivery. The determined batch of messages is stored in an active sub-queue of the message entity, to be ready for delivery at the request of a consumer.