Event Re-sequencing via Skip-beats in Distributed Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed systems, ensuring that events are processed in the correct order is complex, especially when data is ingested from multiple nodes, as events can be out of order and filtered by upstream stages, leading to challenges in re-sequence and processing.

Innovation Solution

The solution involves a warm-up phase where a timer is started, and events are re-sequenced based on timestamps, with the use of 'skip-beats' to maintain order and handle filtered events, ensuring that events are processed in chronological order without waiting indefinitely for missing events.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If events are processed in strict chronological order in distributed systems, then processing correctness is improved, but system complexity and processing time increase due to waiting for out-of-order events

Engineering Contradiction:
Improveprocessing correctnessVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by generating skip-beats in advance for events that are likely to be filtered out by upstream stages. This allows downstream stages to maintain event order without waiting indefinitely for filtered events, thus resolving the contradiction between processing correctness and processing time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Skip-beats act as intermediary elements that fill the gap when actual events are filtered out. These synthetic events maintain the chronological sequence and allow processing to continue without blocking, effectively mediating between the need for order and the need for timely processing.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Stability of the object's composition

If the system waits for all events to arrive before processing, then event order is maintained, but productivity decreases due to indefinite waiting

Engineering Contradiction:
Improveevent orderVSAvoidprocessing throughput
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The system takes preliminary action by pre-generating skip-beats for events that may be filtered out, allowing processing to proceed without waiting. This maintains event order stability while preventing indefinite waiting that would reduce productivity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements skipping by inserting skip-beats that represent filtered events, allowing the processing pipeline to rush through gaps in the event stream without blocking. This maintains the logical event order while enabling continuous processing and improved throughput.

Inventive Principle:
Principle #21Skipping (Rushing through)

3Manufacturing precision

If multiple processing stages filter events, then data quality is improved, but event sequencing becomes more complex due to missing events

Engineering Contradiction:
Improvedata qualityVSAvoidsequencing complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

Skip-beats serve as intermediary markers that simplify sequencing complexity. Instead of tracking which events were filtered and managing complex re-synchronization logic, the system uses simple skip-beat markers to maintain sequence continuity, reducing sequencing complexity while preserving data quality from multi-stage filtering.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system creates copies of event sequence information in the form of skip-beats. These copies preserve the temporal and sequential information of filtered events without requiring the actual events to be present, simplifying the sequencing mechanism while maintaining data quality.

Inventive Principle:
Principle #26Copying

Data Source

PatentEP3365781B1Guaranteeing the event order for multi-stage processing in distributed systems
Publication Date: 2020.09.16 ORACLE INT CORP
  • EP3365781B1 patent drawingFigure 1
  • EP3365781B1 patent drawingFigure 2
  • EP3365781B1 patent drawingFigure 3

AI summary

Systems and methods for guaranteeing the event order for multi-stage processing in distributed systems are disclosed. In some examples, a warm-up period is used to accurately determine a starting point for ordered events of an event stream. Skip-beats may be utilized as dummy events so that the event processor does not wait too long for events that were filtered out at earlier stages.