Distributed Decision Tree Event Processing Scaling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current event processing systems in data centers face challenges in scaling efficiently across multiple machines, leading to inefficient processing and potential missed correlations due to serialization and lack of parallel execution capabilities, especially with decision trees like Rete algorithms which are not configured for parallel execution over multiple machines.

Innovation Solution

A distributed approach where a decision tree is split across multiple servers, with each server maintaining a local copy and processing event data simultaneously, allowing for parallel processing while maintaining synchronization and minimizing serialization risks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If event processing is centralized on a single server, then system complexity is reduced, but processing throughput and scalability deteriorate

Engineering Contradiction:
Improvesystem complexityVSAvoidprocessing throughput
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The decision tree is divided into multiple partitions that are distributed across different servers. Each server maintains and processes events using its assigned partition, enabling parallel processing while keeping individual server complexity manageable. This segmentation resolves the contradiction by allowing scalability and improved throughput without requiring a single complex centralized system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system transitions from a single-dimension centralized processing model to a multi-dimension distributed architecture. By adding the spatial dimension of multiple servers and organizing decision tree partitions strategically across them, the system achieves both reduced individual complexity and improved overall throughput through parallel execution.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Speed

If decision tree processing is parallelized across multiple servers, then processing speed improves, but system complexity and synchronization requirements increase

Engineering Contradiction:
Improveprocessing speedVSAvoidsystem complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The decision tree is segmented into independent partitions that can be processed in parallel on different servers. This segmentation enables speed improvement through concurrent execution while managing complexity by creating self-contained processing units that require minimal coordination.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Multiple servers maintain local copies of their assigned decision tree partitions in memory, eliminating the need for frequent remote accesses and complex synchronization. Each server independently processes events using its local copy, improving speed while reducing the complexity of inter-server coordination.

Inventive Principle:
Principle #26Copying

3Device complexity

If event processing is serialized, then system complexity is reduced, but processing efficiency and correlation detection deteriorate

Engineering Contradiction:
Improvesystem complexityVSAvoidprocessing efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The event processing workload is segmented across multiple servers with each handling specific decision tree partitions. This segmentation enables parallel processing that improves efficiency and correlation detection capability without requiring complex centralized coordination, as each server independently processes its assigned segment.

Inventive Principle:
Principle #1Segmentation

4Adaptability or versatility

If decision tree is distributed across multiple servers, then scalability improves, but data synchronization and consistency requirements increase

Engineering Contradiction:
ImprovescalabilityVSAvoidsynchronization complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The decision tree is divided into independent partitions distributed across servers, enabling scalability by adding more partitions and servers as needed. The segmentation reduces synchronization complexity by creating naturally isolated processing units that require minimal coordination compared to a shared whole.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each server maintains local copies of its assigned decision tree partitions in memory, optimizing local processing performance and reducing the need for frequent remote accesses. This local quality approach improves scalability while minimizing synchronization requirements, as each server operates independently with its local data.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9426211B2Scaling event processing in a network environment
Publication Date: 2016.08.23 CISCO TECHNOLOGY INC
  • US9426211B2 patent drawing
  • US9426211B2 patent drawing
  • US9426211B2 patent drawing

AI summary

An example method for scaling event processing in a network environment is provided and includes maintaining a first portion of a decision tree at a first server in the network environment, delegating a second portion of the decision tree from the first server to a second server, processing event data substantially simultaneously at the first server using the first portion of the decision tree and at the second server using the second portion of the decision tree, wherein the processing comprises determining a match between the event data and information stored at nodes in the decision tree. In various embodiments, the decision tree is distributed across a plurality of servers in the network, wherein each participating server maintains a local copy of a respective portion of the decision tree and processes the event data using the respective portion.