Stateless Stream Resharding with State Attributes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Streaming systems face inefficiencies and redundancies in processing events or messages 'at least once,' leading to challenges in maintaining resiliency and ensuring 'exactly once' semantics, especially in scenarios with multiple producers and consumers.

Innovation Solution

The implementation of stateless stream handling and resharding technologies, which involve generating and managing shards with state attributes to ensure that messages are processed exactly once, even in the presence of producer or consumer failures, by using stream production and consumption engines to manage and update shards within data streams.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If streaming systems process events or messages 'at least once' to maintain resiliency, then system reliability is improved, but redundancies and processing inefficiencies occur

Engineering Contradiction:
Improvesystem resiliencyVSAvoidprocessing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the data stream into multiple shards, each with an associated state attribute. This segmentation enables parallel processing of different message subsets while maintaining the ability to track processing state independently for each shard, thus improving both reliability and efficiency simultaneously

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces state attributes as parameters associated with each shard to track processing state. By changing from stateless processing to state-aware processing through these attributes, the system can ensure exactly-once semantics while maintaining processing efficiency and avoiding redundancies

Inventive Principle:
Principle #35Parameter changes

2Productivity

If streaming systems implement 'exactly once' processing semantics to avoid redundancies, then processing efficiency is improved, but system complexity increases

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system divides the message stream into multiple shards and associates each with a state attribute. This segmentation approach simplifies the implementation of exactly-once semantics by enabling independent tracking and management of processing state for each shard, avoiding the need for complex global coordination mechanisms

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces state attributes as intermediary elements that mediate between the message processing logic and the exactly-once semantics requirement. These attributes serve as a simple mechanism to track processing state without introducing complex distributed coordination protocols

Inventive Principle:
Principle #24Intermediary (Mediator)

3Manufacturing precision

If streaming systems use state attributes to track message processing state, then processing accuracy is improved, but data structure complexity increases

Engineering Contradiction:
Improveprocessing accuracyVSAvoiddata structure complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent associates state attributes with individual shards rather than tracking state for the entire stream or for each individual message. This segmentation reduces data structure complexity by grouping state information at the shard level, while still maintaining processing accuracy through systematic state management across all shards

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11755618B2Stateless stream handling and resharding
Publication Date: 2023.09.12 IGUAZIO SYST LTD
  • US11755618B2 patent drawing
  • US11755618B2 patent drawing
  • US11755618B2 patent drawing

AI summary

Systems and methods are disclosed for stateless stream handling and resharding. In one implementation, a first shard comprising one or more messages is generated. The first shard is associated with a first state attribute. The first shard and the first state attribute are provided as an update within a data stream. In another implementation, a first shard including a first state attribute is received within a first stream. A message that is inconsistent with the first state attribute is identified within the first shard. The message is associated as an attribute of the first shard. A second shard including a second state attribute is received. Based on the second state attribute, a position of the message within the second shard is determined. The message is inserted into the second shard based on the determining.