Stream Algebra Operator Graph for High-Volume Data Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems for processing high-volume continuous data streams are neither scalable nor efficient, as they rely on a pull model that stores data in memory, use stateless filters, and are limited by relational algebra, making them unsuitable for real-time processing of high-volume data streams.

Innovation Solution

A system that uses stream algebra to process high-volume continuous data streams by generating an abstract syntax tree representing a function to be performed on events, serializing it into a message, and compiling it into executable code on destination machines, allowing for distributed processing with minimal state information.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data is stored in memory before processing using a pull model, then data can be queried and processed, but processing performance is reduced to only a few thousand events per second

Engineering Contradiction:
Improveprocessing performanceVSAvoiddata storage requirement
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent inverts the traditional pull model by implementing a push model where data is processed immediately upon arrival at destination machines rather than being stored first and then queried. This inversion eliminates the bottleneck of storing high-volume data streams in memory before processing, enabling processing speeds of millions of events per second while maintaining minimal state information.

Inventive Principle:
Principle #13The other way round (Inversion)

Solution Approach 2:

The patent segments the centralized processing architecture into distributed destination machines that independently process data streams. Each destination machine compiles and executes expressions locally, eliminating the need for centralized memory storage and query processing. This segmentation enables parallel processing of high-volume data streams across multiple machines, achieving high productivity with minimal state information maintained at each node.

Inventive Principle:
Principle #1Segmentation

2Productivity

If stateless filters are used to process data streams, then processing speed increases, but the system cannot make conclusions about sequences of received messages

Engineering Contradiction:
Improveprocessing speedVSAvoidsequence analysis capability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic stateful filters that adapt their behavior based on the processing requirements. Filters can maintain state information when needed for sequence analysis (such as detecting patterns across multiple messages) and release state when not needed, allowing the system to achieve high processing speeds while retaining the capability to make conclusions about message sequences when required.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter of filter statefulness from a fixed stateless configuration to a dynamic stateful configuration. By allowing filters to maintain state information temporarily for sequence analysis and then release it, the system achieves both high processing speed and the ability to make conclusions about sequences of received messages, resolving the contradiction between speed and versatility.

Inventive Principle:
Principle #35Parameter changes

3Ease of operation

If SQL queries are used to process streaming data, then data manipulation can be performed, but processing is limited by disk input/output and cannot operate in real-time on high-volume streams

Engineering Contradiction:
Improvedata manipulation capabilityVSAvoidreal-time processing speed
Core Design Contradiction:
Ease of operationVSSpeed

Solution Approach 1:

The patent replaces the mechanical disk-based storage and query system with an in-memory computational system. Instead of writing data to disk and executing SQL queries that require disk I/O, the system compiles expressions into executable code that processes data streams directly in memory at destination machines. This substitution eliminates disk I/O bottlenecks and enables real-time processing of high-volume data streams while maintaining ease of data manipulation through the expression-based interface.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The patent performs preliminary compilation of expressions into executable code before data processing begins. This preliminary action transforms high-level expression definitions into optimized machine code that can execute efficiently on destination machines, eliminating the need for runtime SQL parsing and disk I/O operations. This enables real-time processing speed while preserving the ease of operation of high-level data manipulation expressions.

Inventive Principle:
Principle #10Preliminary action

4Reliability

If all incoming data is stored in local trace files on disk, then data can be retained for processing, but performance is reduced and scalability is limited

Engineering Contradiction:
Improvedata retentionVSAvoidprocessing throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent transitions from a single-dimensional centralized storage model to a multi-dimensional distributed processing model. Instead of storing all data in central disk files, the system distributes data processing across multiple destination machines that each maintain minimal state information in memory. This dimensional change from centralized disk storage to distributed in-memory processing enables both reliable data retention and high processing throughput by leveraging parallel processing across the distributed system.

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

5Device complexity

If SQL installations cannot be cascaded for distributed processing, then centralized processing is simple, but the system cannot handle high-volume data streams in real-time

Engineering Contradiction:
Improvesystem architecture simplicityVSAvoidreal-time stream processing capability
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent implements a universal destination machine architecture where each machine can independently compile, execute, and process data streams. This universal design allows destination machines to be cascaded and distributed across the network while maintaining the same processing capabilities. Each machine functions as an independent processing unit that can handle portions of high-volume data streams, enabling real-time distributed processing without increasing system complexity, as the same expression-based interface and compilation mechanism is used across all machines.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS8775482B2Implementation of stream algebra over class instances
Publication Date: 2014.07.08 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8775482B2 patent drawing
  • US8775482B2 patent drawing
  • US8775482B2 patent drawing

AI summary

Creating and executing a distributed stream processing operator graph based on a query. The operator graph includes movable stream algebra operators for processing events received from high volume data streams. The operators are partially compiled and distributed to computing devices for completion of the compilation and subsequent execution. During execution, the operators maintain minimal state information associated with received events via an expiration time assigned to each of the event instances. Additional events are generated and aggregated by the operators for communication to a service responsible for the query.