Deterministic Event Processing Engines for Fault Tolerance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional Complex Event Processing (CEP) systems face issues with data loss, delayed or incorrect outputs, and inoperability due to component failures in distributed computer systems, as different components can fail independently, affecting overall system operation.

Innovation Solution

Implementing a system with multiple deterministic event processing engines that replicate system state, where a sender module generates a serialized message sequence with sequence numbers for order, allowing any engine to produce identical outputs, and a merger module removes redundancy to ensure continuous operation and output delivery to client devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple components are used in a distributed CEP system to process events, then the system can handle complex event processing tasks, but component failures can cause data loss, delayed or incorrect outputs, and system inoperability

Engineering Contradiction:
Improveevent processing capabilityVSAvoidsystem availability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent implements multiple deterministic event processing engines that replicate the same processing logic and system state. Each engine is a copy of the others, capable of producing identical outputs from the same input event streams. This copying approach ensures that if one engine fails, the system can switch to another engine without loss of functionality or data

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent prepares redundant event processing engines in advance, so that when a failure occurs, the system can immediately switch to a backup engine without interruption. The redundant engines are pre-configured with the same processing logic and can assume the role of any failed engine, providing beforehand cushioning against component failures

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

2Ease of operation

If a single event processing engine is used, then the system is simpler to operate, but the system becomes vulnerable to complete failure if that engine crashes

Engineering Contradiction:
Improvesystem simplicityVSAvoidfault tolerance
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent divides the event processing function into multiple independent segments (separate event processing engines). Each engine operates independently but processes the same events, allowing the system to segment the processing load and state across multiple components. This segmentation means that a failure in one engine does not affect the others, maintaining fault tolerance while keeping each individual engine relatively simple

Inventive Principle:
Principle #1Segmentation

3Reliability

If redundant event processing engines are implemented, then system availability and fault tolerance are improved, but system complexity and resource consumption increase

Engineering Contradiction:
Improvesystem availabilityVSAvoidsystem structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies local quality by making each event processing engine deterministic, meaning each engine processes events in a consistent, predictable manner based on the same input. The engines maintain local copies of the system state and process events independently. This local quality approach allows each engine to be simple and deterministic while the collective system provides high availability through redundancy

Inventive Principle:
Principle #3Local quality

4Reliability

If event processing continues after a component failure, then system availability is maintained, but data loss and operational disruptions occur in conventional systems

Engineering Contradiction:
Improvecontinuous operationVSAvoiddata loss
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The patent uses multiple copying event processing engines that all maintain identical copies of the system state. When a failure occurs, the surviving engines still have complete copies of all processed events and system state information. This copying ensures that no data is lost during failure transitions, as all engines have been processing the same events and maintaining the same state simultaneously

Inventive Principle:
Principle #26Copying

Data Source

PatentUS9009234B2Complex event processing system having multiple redundant event processing engines
Publication Date: 2015.04.14 SOFTWARE AG
  • US9009234B2 patent drawing
  • US9009234B2 patent drawing
  • US9009234B2 patent drawing

AI summary

A system and method for replicating a distributed computer system state among a plurality of deterministic event processing engines are disclosed. A sender module receives a plurality of input events or input event streams and generates a serialized message sequence describing an order in which input events are processed. The serialized message sequence is then transmitted to a plurality of deterministic event processing engines for processing. As the event processing engines are deterministic, each event processing engine produces the same ordered sequence responsive to the received serialized message sequence. The ordered sequences from each deterministic event processing engine are transmitted to a merger module which generates an output from the plurality of ordered sequences. The merger module removes one or more redundant ordered sequences and associates the resulting output with a client device.