Event Stream Partitioning for Operator Load Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Event stream processing systems face inefficiencies due to uneven utilization of resources, where some operators in the processing network are overburdened while others are underutilized, leading to suboptimal throughput.

Innovation Solution

Implementing a partitioning module that optimizes the operator network by identifying bottlenecks and partitioning operators to distribute event streams more evenly across available system resources, using strategies like round-robin, hash-based, or custom partitioning to create additional instances of bottleneck operators and manage data distribution and consolidation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If operators are not partitioned in an event stream processing system, then the system structure remains simple, but resource utilization becomes uneven with some operators over-utilized and others under-utilized

Engineering Contradiction:
Improveresource utilizationVSAvoidsystem structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies segmentation by dividing the operator network into multiple partitions based on the directed acyclic graph structure. Each partition is assigned to different system resources, enabling parallel processing and balanced resource utilization. The segmentation transforms a single overloaded operator into multiple distributed operator instances that process different subsets of the event stream.

Inventive Principle:
Principle #1Segmentation

2Productivity

If operators are partitioned to balance workload, then resource utilization improves, but the complexity of managing operator distribution increases

Engineering Contradiction:
Improvequery throughputVSAvoidoperator management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary component that manages the distribution and coordination of partitioned operators. This intermediary handles the complexity of operator assignment, event stream routing, and result aggregation, allowing the system to achieve balanced resource utilization without exposing the full management complexity to users.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If bottleneck operators are identified and partitioned, then processing throughput increases, but the system requires more complex analysis and configuration

Engineering Contradiction:
Improveprocessing throughputVSAvoidbottleneck identification
Core Design Contradiction:
ProductivityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent implements feedback mechanisms that monitor operator performance metrics in real-time. This feedback enables automatic identification of bottleneck operators based on utilization statistics and performance data. The system uses this feedback to dynamically adjust partitioning strategies and redistribute workloads to optimize throughput without requiring manual analysis.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9405854B2Event stream processing partitioning
Publication Date: 2016.08.02 SYBASE INC
  • US9405854B2 patent drawing
  • US9405854B2 patent drawing
  • US9405854B2 patent drawing

AI summary

In an example embodiment, event stream processing is performed by first parsing an input query into a directed acyclic graph (DAG) including a plurality of operator nodes. Then a grouping of one or more of the operator nodes is created. One or more partitions are created, either by the user or automatically, in the DAG by forming one or more duplicates of the grouping. A splitter node is created in the DAG, the splitter node splits data from one or more event streams and distributes it among the grouping and the duplicates of the grouping. Then, the input query is resolved by processing data from one or more event streams using the DAG.