Configurable Stream Processing Pipeline for Real-Time Data

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing ETL applications face limitations such as batch processing delays, inability to provide real-time feedback, standalone nature leading to integration complexities, limited error-handling capabilities, and inability to enrich data messages with additional fields.

Innovation Solution

A tool for creating and deploying configurable pipelines that use stream processing to receive, process, and output data messages in real-time, allowing for modular data processing operations and advanced error-handling, integrated into other applications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Use of energy by moving object

If batch processing is used to process data records, then resource utilization is improved, but processing speed and real-time feedback capability deteriorate

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

Solution Approach 1:

The system dynamically adapts between batch processing and stream processing modes. The ETL application can operate in batch mode for bulk data processing to maximize resource utilization, and switch to stream processing mode for real-time data processing to maximize speed. This dynamic flexibility resolves the contradiction by allowing the system to optimize for different parameters at different times based on operational requirements.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The data processing system is segmented into multiple independent ETL applications or processing units. Each unit can process data independently, allowing parallel batch processing to improve resource utilization while individual units maintain faster processing speeds. The segmentation enables both batch and stream processing capabilities to coexist within the same system architecture.

Inventive Principle:
Principle #1Segmentation

2Use of energy by moving object

If batch processing is used to process data records, then resource utilization is improved, but time delay between data receipt and processing deteriorates

Engineering Contradiction:
Improveresource utilizationVSAvoidtime delay
Core Design Contradiction:
Use of energy by moving objectVSLoss of time

Solution Approach 1:

The system dynamically switches between batch processing (for resource efficiency) and stream processing (for minimal time delay). When real-time processing is critical, the system activates stream processing mode to eliminate delays. When resource optimization is the priority, batch processing mode is activated. This dynamic adaptation resolves the contradiction between resource utilization and time delay.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system implements continuous stream processing capabilities that operate alongside batch processing. Data processing continues without interruption through multiple parallel streams, eliminating idle time and ensuring continuous useful action. This continuity allows the system to maintain high resource utilization while minimizing time delay through overlapping batch and stream operations.

Inventive Principle:
Principle #20Continuity of useful action

3Productivity

If standalone ETL applications are used, then data processing capability is improved, but software development complexity and integration difficulty deteriorate

Engineering Contradiction:
Improvedata processing capabilityVSAvoidsoftware development complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Multiple ETL applications are merged into a unified, integrated ETL system with shared common functionality. The merged system provides consistent data processing capabilities while eliminating the need for separate integration efforts. This consolidation maintains high productivity through unified processing while reducing software development complexity by providing a single integrated platform rather than multiple standalone applications.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The ETL system is designed as a universal, multi-functional platform that can perform various data processing tasks through configuration rather than separate applications. The universal system handles different data sources, transformations, and destinations through a single integrated architecture, improving productivity while reducing complexity by eliminating the need for multiple specialized standalone applications.

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

4Device complexity

If default error-handling actions are used, then system simplicity is maintained, but error-handling capability and reliability deteriorate

Engineering Contradiction:
Improvesystem simplicityVSAvoiderror-handling capability
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The error-handling system dynamically adapts its behavior based on the specific error conditions encountered. Rather than using fixed default actions, the system analyzes error types, severity, and context to select appropriate handling strategies. This dynamic error handling maintains system simplicity through automated decision-making while significantly improving reliability by applying context-appropriate error responses rather than generic defaults.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system implements feedback mechanisms that monitor error conditions and adjust error-handling behavior accordingly. When errors are detected, the system provides feedback to the error-handling logic, which then selects appropriate actions based on the feedback information. This feedback loop maintains simplicity through automated responses while improving reliability by making error handling adaptive to actual system conditions rather than relying on static defaults.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10860599B2Tool for creating and deploying configurable pipelines
Publication Date: 2020.12.08 UPTAKE TECHNOLOGIES INC
  • US10860599B2 patent drawing
  • US10860599B2 patent drawing
  • US10860599B2 patent drawing

AI summary

A computing system may provide an interface for creating a data processing pipeline through which the computing system may receive configuration information for a given pipeline that is configured to receive streaming messages from a given data source, process each of the streaming messages, and then output a processed version of at least a subset of the streaming messages to a given data sink. The given pipeline may comprise a chain of two or more operators, which may take the form of enrichers, routers, and/or transformers. The computing system may then use the received configuration information to create the given pipeline. In turn, the computing system may deploy the given pipeline for use in processing streaming messages received from the given data source.