Messaging Cache Update via Message Queue Extraction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current messaging systems face inefficiencies in message storage and retrieval operations, particularly in maintaining consistency and performance across split message stores, and in handling updates and out-of-date cache issues, which affect responsiveness and operational costs.

Innovation Solution

The implementation of a client front-end component that receives messages, identifies sending client services, and uses service identifier index values to store messages in a message queue, delaying message body storage until metadata storage is successful, and employing a message cache to retrieve up-to-date message sets by applying recent updates from a message queue.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If message bodies are stored immediately in the message store, then storage operations can proceed in parallel, but consistency between metadata and message bodies cannot be guaranteed

Engineering Contradiction:
Improvestorage operation parallelismVSAvoiddata consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by first storing message metadata in the metadata store before storing the message body in the message store. The message queue waits for confirmation from the metadata store before proceeding with body storage, ensuring that metadata is always available when the body is stored, thus maintaining consistency while enabling sequential processing.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the system uses a single message store, then data consistency is easier to maintain, but storage and retrieval performance decreases

Engineering Contradiction:
Improvedata consistencyVSAvoidstorage and retrieval efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the message store into two separate stores: a metadata store for storing message metadata (headers, timestamps, routing information) and a message body store for storing the actual message content. This segmentation allows independent optimization of each store for its specific access patterns and enables parallel processing of metadata and body operations, improving overall system performance while maintaining consistency through coordinated access via the message queue.

Inventive Principle:
Principle #1Segmentation

3Speed

If the message cache is not updated with recent updates, then cache operations are faster, but the message data becomes out-of-date

Engineering Contradiction:
Improvecache operation speedVSAvoidmessage update freshness
Core Design Contradiction:
SpeedVSLoss of information

Solution Approach 1:

The patent implements feedback by having the message cache component periodically check for recent updates from the message queue and apply them to the cached message sets. This feedback mechanism ensures that the cache remains synchronized with the latest message data while maintaining fast cache operations for common access patterns, thus balancing speed and data freshness.

Inventive Principle:
Principle #23Feedback

4Reliability

If the system retrieves all messages from the message store, then the message cache is always up-to-date, but retrieval time and computational resources increase

Engineering Contradiction:
Improvemessage cache freshnessVSAvoidretrieval time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts only the necessary recent updates from the message queue and applies them selectively to the message cache, rather than retrieving all messages from the message store. This extraction approach maintains cache freshness by applying only the relevant updates needed to bring the cache current, significantly reducing retrieval time and computational resource consumption compared to a full refresh approach.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10673791B2Techniques for data reads from secondary stores
Publication Date: 2020.06.02 META PLATFORMS INC
  • US10673791B2 patent drawing
  • US10673791B2 patent drawing
  • US10673791B2 patent drawing

AI summary

Techniques for data reads from secondary stores are described. In one embodiment, an apparatus may comprise a client front-end component of a messaging system operative to receive a messaging client update request from a client device; retrieve an up-to-date message set from a message cache component of the messaging system; and provide the up-to-date message set to the client device; and; the message cache component operative to retrieve a message set from a message store in response to the messaging client update request; determine that the message set is an out-of-date message set; retrieve a recent message update set from a message queue, the recent message update set comprising a plurality of message updates; and apply the plurality of message updates to the out-of-date message set to generate an up-to-date message set. Other embodiments are described and claimed.