Time Series Messaging Persistence and Replay

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional messaging architectures fail to persist and replay messages with time parameters, leading to inefficiencies and increased complexity in message-consuming applications, which require additional development costs and resource consumption.

Innovation Solution

Incorporating time series information into messages stored in data storage, allowing for the replay of messages in their original order, including timestamp and offset data, to enable efficient persistence and retrieval on consumer devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If traditional messaging architecture is used without persistence, then message delivery speed is improved, but message replay capability is lost and application complexity increases

Engineering Contradiction:
Improvemessage delivery speedVSAvoidapplication complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent extracts the persistence and replay functionality from the application layer and places it in the messaging infrastructure layer. By separating these concerns, the messaging system handles storage and time-series management while applications focus on message consumption, reducing application complexity without sacrificing delivery speed.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces a messaging infrastructure as an intermediary between message producers and consumers. This intermediary layer provides persistence, time-series ordering, and replay capabilities, shielding applications from these complexities while maintaining efficient message delivery.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If messages are persisted with time series information, then message replay capability is improved, but storage requirements increase

Engineering Contradiction:
Improvemessage replay capabilityVSAvoidstorage requirements
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent performs preliminary actions by adding time-series metadata (timestamps, sequence numbers) to messages at the point of ingestion. This preliminary structuring enables efficient storage, retrieval, and replay operations later without requiring redundant data storage, optimizing the balance between replay capability and storage requirements.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If messages are stored and replayed on demand, then message access flexibility is improved, but retrieval time increases

Engineering Contradiction:
Improvemessage access flexibilityVSAvoidretrieval time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent replaces mechanical sequential search with indexed access mechanisms. By maintaining time-series indexes and metadata structures during message ingestion, the system enables rapid retrieval of specific time ranges or message sequences without scanning entire storage, reducing retrieval time while preserving access flexibility.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS10904192B2Time series messaging persistence and publication
Publication Date: 2021.01.26 SAP SE
  • US10904192B2 patent drawing
  • US10904192B2 patent drawing
  • US10904192B2 patent drawing

AI summary

Techniques are described for time series based enrichment of messages that are persisted and published in a flow according to the time series data. Inbound messages may be received and processed to add timing information. The modified messages may be stored as a time series in data storage. In response for a request for a particular sequence or set of messages, the messages may be retrieved from data storage and provided in a flow instance to the requestor. The requestor, such as a consumer application, may replay the data from the messages according to the order of the time series of the messages. In this way, implementations enable a time ordered sequence of messages to be replayed at any time after the initial receipt of the messages, and enable any number of instances of such replay including simultaneous replay of a particular message sequence to multiple consumers.