Event Processor Generator for Stream Processing Latency
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Adaptability or versatility
If stream processing servers interpret intermediate language code, then flexible event processing is achieved, but execution speed is reduced
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.
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.
3Reliability
If conventional approaches integrate client applications with stream processing servers, then complete event processing solution is achieved, but system complexity increases
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.
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.
4Adaptability or versatility
If multiple conditions are addressed in event handling code, then comprehensive processing is achieved, but latency increases
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.
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.
Data Source
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.


