Event Processor Generator for Stream Processing Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional stream processing applications face challenges in efficiently handling events due to high latency and complexity, particularly in processing real-time data, where code needs to address multiple conditions quickly without introducing additional complexity.

Innovation Solution

A method involving an event processor generator that creates directed acyclic graphs from functional steps and dependencies, topologically sorts them to determine ordered event paths, and generates revised instructions for efficient execution, allowing for conditional branching, event identification, and value filtering.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional stream processing applications use intermediate languages and stream processing servers, then event handling can be achieved, but latency is high and processing efficiency is reduced

Engineering Contradiction:
Improveevent handling capabilityVSAvoidprocessing latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts the event processing logic directly from intermediate language interpretation and embeds it into compiled code within the application itself. By taking out the dependency on external stream processing servers and intermediate language interpretation, the solution eliminates the latency introduced by these layers while maintaining reliable event handling capability.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces an event processing module as an intermediary component that bridges the application code and event handling requirements. This module processes events directly within the application runtime, eliminating the need for external stream processing servers while maintaining the ability to handle complex event scenarios.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If stream processing servers interpret intermediate language code, then flexible event processing is achieved, but execution speed is reduced

Engineering Contradiction:
Improveevent processing flexibilityVSAvoidexecution speed
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

The patent performs preliminary compilation of event processing logic into native code during application build time. By pre-compiling the event handling instructions before runtime, the solution achieves both the flexibility of custom event processing logic and the speed of native code execution, eliminating the need for interpretation during runtime.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent replaces the mechanical interpretation process with direct compiled code execution. Instead of using a stream processing server to interpret intermediate language at runtime, the solution substitutes this with pre-compiled native code that executes directly, achieving both flexibility and high execution speed.

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

3Reliability

If conventional approaches integrate client applications with stream processing servers, then complete event processing solution is achieved, but system complexity increases

Engineering Contradiction:
Improvecomplete event processingVSAvoidsystem integration complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges the event processing functionality directly into the client application by integrating an event processing module within the application codebase. This consolidation eliminates the need for separate stream processing servers and multiple integration layers, reducing system complexity while maintaining complete event processing capability.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent creates a universal event processing module that can be integrated into applications regardless of programming language or platform. This multi-functional approach allows the same event handling mechanism to work across different application types and languages, simplifying the overall system architecture by providing a single, unified solution.

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

4Adaptability or versatility

If multiple conditions are addressed in event handling code, then comprehensive processing is achieved, but latency increases

Engineering Contradiction:
Improvecondition handling capabilityVSAvoidprocessing latency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent segments event processing into distinct, pre-defined event types, each with its own dedicated handling path. By dividing the comprehensive condition handling into separate, specialized processing routes, the system can quickly route events to appropriate handlers without evaluating all possible conditions, reducing latency while maintaining comprehensive processing capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic event routing that adapts the processing path based on the specific event type. Instead of following a fixed, comprehensive evaluation sequence for all events, the system dynamically selects and executes only the relevant processing path, achieving both comprehensive condition handling and low latency through adaptive processing.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11074079B2Event handling instruction processing
Publication Date: 2021.07.27 V12 TECH LTD
  • US11074079B2 patent drawing
  • US11074079B2 patent drawing
  • US11074079B2 patent drawing

AI summary

A method of providing instructions to computer processing apparatus for improved event handling comprises the following. Instructions for execution on the computer processing apparatus are provided to an event processor generator. These instructions comprise a plurality of functional steps, a set of dependencies between the functional steps, and configuration data. The event processor generator creates instances of the functional steps from the instructions and represents the instances as directed acyclic graphs. The event processor generator identifies a plurality of event types and topologically sort is the directed acyclic graphs to determine a topologically ordered event path for each event type. The event processor generator then provides a revised set of instructions for execution on the computer processing apparatus in which original instructions have been replaced by instructions requiring each event type to be executed according to its topologically ordered event path. Suitable computing apparatus for executing the event processor generator and for storing and running the generated event processor code is also described.