Stream Processor Compiled Programs Safe Runtime

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing stream processing platforms face challenges in efficiently processing real-time data streams due to limitations in database access times and latency, making it difficult to analyze and respond to events in a timely manner.

Innovation Solution

A stream processing platform that generates machine-executable instructions from user-specified representations of operators and data flow, allowing for fast and safe execution of stream processing applications by compiling them into executable code that can run in a safe runtime environment, supporting features like multi-threading, recursive and non-recursive loop execution, and efficient memory allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is stored in a database for processing, then data can be retrieved and processed, but database access time and latency increase, making real-time analysis difficult

Engineering Contradiction:
Improvedata processing capabilityVSAvoiddatabase access time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts the processing logic from traditional database systems by implementing a stream processing engine that processes data in memory as it arrives, eliminating the need to store and retrieve data from disk-based databases, thus reducing access time and latency

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces a stream processing engine as an intermediary between data sources and analysis systems, which processes streaming data in real-time using in-memory computation and custom operators, avoiding direct database access while maintaining processing reliability

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If stream processing is performed in real-time without database storage, then processing speed increases, but the complexity of managing streaming data and queries increases

Engineering Contradiction:
Improvedata processing speedVSAvoidstream processing system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a universal stream processing engine that can handle multiple types of operations (filtering, aggregation, joining, windowing) through a unified architecture with pluggable operators, reducing system complexity while maintaining high processing speed

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

Solution Approach 2:

The patent segments the stream processing system into modular operators and execution plans that can be independently compiled and optimized, allowing complex streaming operations to be broken down into manageable components that reduce overall system complexity

Inventive Principle:
Principle #1Segmentation

3Productivity

If compiled machine-executable instructions are generated for stream processing, then processing efficiency and speed improve, but the complexity of compiling and managing executable code increases

Engineering Contradiction:
Improvestream processing efficiencyVSAvoidcompilation and code management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent performs preliminary compilation of stream processing applications into optimized machine-executable instructions before runtime, allowing the processing logic to be pre-optimized and stored as executable code, improving runtime efficiency while managing compilation complexity through automated tools

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9038041B2Stream processor with compiled programs
Publication Date: 2015.05.19 AUTOLIV DEV AB
  • US9038041B2 patent drawing
  • US9038041B2 patent drawing
  • US9038041B2 patent drawing

AI summary

A stream processing platform that provides fast execution of stream processing applications within a safe runtime environment. The platform includes a stream compiler that converts a representation of a stream processing application into executable program modules for a safe environment. The platform allows users to specify aspects of the program that contribute to generation of modules that execute as intended. A user may specify aspects to control a type of implementation for loops, order of execution for parallel paths, whether multiple instances of an operation can be performed in parallel or whether certain operations should be executed in separate threads. In addition, the stream compiler may generate executable modules in a way that cause a safe runtime environment to allocate memory or otherwise operate efficiently.