Streaming Platform Reader Partition Ordering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Streaming platform architectures like Apache Kafka cannot guarantee that data/messages read across multiple partitions by a consumer are ordered in the same sequence in which they were transmitted, leading to ordering issues across partitions.

Innovation Solution

A streaming platform reader that uses multiple reader threads to retrieve data from partitions and employs vector gate control logic with a queue state machine to ensure messages are ordered by sequencing information, ensuring that earlier messages from one partition are not read after later messages from another partition.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple reader threads are used to retrieve data from partitions in parallel, then reading speed improves, but message ordering across partitions cannot be guaranteed

Engineering Contradiction:
Improvereading speedVSAvoidmessage ordering
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces a queue state machine as an intermediary component that receives messages from multiple reader threads and enforces ordering rules before adding messages to the output queue. This mediator ensures that messages are processed in the correct sequence across partitions while allowing parallel reading to continue, thus resolving the contradiction between reading speed and message ordering.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If messages are strictly ordered across partitions, then reliability is improved, but reading speed decreases due to sequential processing

Engineering Contradiction:
Improvemessage orderingVSAvoidreading speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The queue state machine dynamically adjusts its behavior based on the current state and sequencing information. It allows parallel message processing when ordering constraints are satisfied, and switches to sequential processing only when necessary to maintain ordering. This dynamic approach maximizes reading speed while ensuring reliability.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent segments the message processing into independent phases: parallel retrieval by multiple reader threads, state validation by the queue state machine, and conditional ordering enforcement. This segmentation allows the system to maintain high throughput while ensuring correctness through targeted ordering checks rather than complete sequentialization.

Inventive Principle:
Principle #1Segmentation

3Reliability

If vector gate control logic with queue state machine is implemented to ensure ordering, then message ordering reliability improves, but device complexity increases

Engineering Contradiction:
Improvemessage orderingVSAvoidcontrol logic complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The queue state machine uses sequencing information as a key parameter to control message flow. By monitoring and comparing sequence numbers, the system automatically adjusts its behavior to enforce ordering when needed. This parameter-based control provides a simple yet effective mechanism for ensuring reliability without requiring complex control logic.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS20250112880A1Streaming platform reader
Publication Date: 2025.04.03 CHICAGO MERCANTILE EXCHANGE INC
  • US20250112880A1 patent drawing
  • US20250112880A1 patent drawing
  • US20250112880A1 patent drawing

AI summary

A streaming platform reader includes: a plurality of reader threads configured to retrieve messages from a plurality of partitions of a streaming platform, wherein each message in the plurality of partitions is associated with a unique identifier; a plurality of queues coupled to the plurality of reader threads configured to store messages or an end of partition signal from the reader threads, wherein each queue includes a first position that stores the earliest message stored by a queue; a writer thread controlled by gate control logic that: compares the identifiers of all of the messages in the first positions of the queues of the plurality of queues, and forwards, to a memory, the message associated with the earliest identifier; and wherein the gate control logic blocks the writer thread unless each of the queues contains a message or an end of partition signal.