Event Driven Data Processing System for Near Real-Time Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data processing systems face inefficiencies in resource usage, time, and cost due to the lack of coordination and duplication in processing events, particularly in batch processing systems where issues are identified late and cannot be addressed in real-time.

Innovation Solution

An event-driven data processing system that includes an event queue, router, contextualizers, and a streaming component, which processes events in near real-time by routing them to appropriate context queues, de-duplicating events, and using a redrive component to update events in near real-time, thereby reducing resource waste and enabling immediate action on data changes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Use of energy by moving object

If batch processing is used, then resource usage and cost are reduced, but processing speed and real-time responsiveness deteriorate

Engineering Contradiction:
Improveresource usageVSAvoidprocessing speed
Core Design Contradiction:
Use of energy by moving objectVSSpeed

Solution Approach 1:

The system segments the batch processing workload into individual event processing units that can be handled independently. Each event is routed to specific contextualizers based on event type, allowing parallel processing of multiple events simultaneously while maintaining resource efficiency through selective processing paths.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically adjusts processing resources based on event types and priorities. The event router directs events to appropriate contextualizers, and the system can scale resource allocation dynamically, processing high-priority events in near real-time while lower-priority events are handled during off-peak periods, optimizing both speed and resource usage.

Inventive Principle:
Principle #15Dynamics

2Speed

If real-time data processing is implemented, then processing speed and responsiveness are improved, but resource usage and cost increase

Engineering Contradiction:
Improveprocessing speedVSAvoidresource usage
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The system applies different processing qualities to different events based on their specific requirements. Critical events receive immediate real-time processing with high resource allocation, while non-critical events are processed with lower resource intensity or deferred to batch processing, optimizing the balance between speed and resource consumption.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system implements partial real-time processing by handling only the necessary portion of events in real-time through the event router and contextualizers, while other events can be processed in batches. This selective approach provides real-time responsiveness where needed without the full resource cost of universal real-time processing.

Inventive Principle:
Principle #16Partial or excessive action

3Device complexity

If event duplication and lack of coordination occur, then system simplicity is maintained, but processing efficiency and resource utilization deteriorate

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

Solution Approach 1:

The event router serves multiple functions: it receives events from various sources, determines event types, routes events to appropriate contextualizers, and coordinates processing across the system. This multi-functional component provides coordination without requiring complex point-to-point communication between all system elements, maintaining relative simplicity while improving efficiency.

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

Solution Approach 2:

The event router acts as an intermediary between event sources and contextualizers, coordinating event distribution and preventing duplication. This central coordination point ensures that each event is processed by the appropriate contextualizer without redundant processing, improving efficiency while adding only a single coordinating component rather than complex distributed coordination logic.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Device complexity

If issues are identified late in batch processing, then processing simplicity is maintained, but time to detect and correct issues deteriorates

Engineering Contradiction:
Improveprocessing simplicityVSAvoidissue detection time
Core Design Contradiction:
Device complexityVSDifficulty of detecting and measuring

Solution Approach 1:

The event router performs preliminary classification and routing of events before they are processed by contextualizers. By identifying event types and routing them appropriately in advance, the system detects potential issues early in the processing pipeline, allowing for immediate correction rather than waiting until batch processing completion.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms where contextualizers can identify issues with events and route them back for correction. This feedback loop allows issues to be detected and addressed in near real-time during the processing flow, rather than waiting for batch processing to complete, improving issue detection time while maintaining processing clarity through structured feedback paths.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11816512B2Event driven data processing system and method
Publication Date: 2023.11.14 CURANTIS SOLUTIONS
  • US11816512B2 patent drawing
  • US11816512B2 patent drawing
  • US11816512B2 patent drawing

AI summary

An event driven data processing system is disclosed that comprises event generators that generate events, an event queue that receives the events from the event generators, and an event router that receives the events from the event queue, and, for each event, selects a contextualizer based on an event type and transmits the event to a corresponding context queue associated with the selected contextualizer. The system also comprises context queues that receive the events from the event router and a plurality of contextualizers that receive the events from the context queues and, for each event, access context data sources, obtain additional context data, create a supplemented event, and store each supplemented event in an event datastore. The system further comprises a streaming component that streams each supplemented event from the event datastore for a period of time.