Streaming Data Processing via Dynamic DAG Reconfiguration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data processing systems face challenges in efficiently handling and analyzing large volumes of streaming data from communication networks, particularly in ensuring network security and operational integrity amidst increasing data volumes and diversity, due to difficulties in providing suitable data formats for monitoring and analysis applications.

Innovation Solution

A system comprising a directed acyclic graph of data processing sub-units and operators, managed by a system manager, which processes incoming data streams, modifies data in real-time, and adjusts the graph configuration to optimize buffer usage, throughput, and performance, using protocols like UDP for efficient data transmission and processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If a large volume of streaming data is collected from communication networks, then the ability to monitor and analyze network security and operational integrity is improved, but the difficulty of providing suitable data formats for analysis and the system complexity increases

Engineering Contradiction:
Improvevolume of streaming dataVSAvoidsystem complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The system segments the data processing function into multiple independent data processing sub-units, each capable of receiving input data streams, modifying data, and outputting processed streams. These sub-units are connected via operators in a directed acyclic graph, allowing the system to handle large volumes of data by distributing processing across multiple components rather than using a monolithic system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system implements dynamic configuration where the directed acyclic graph of data processing sub-units and operators can be modified at runtime. The system manager can add, remove, or reconfigure sub-units and operators based on changing data volumes and processing requirements, enabling the system to adapt its complexity to match the actual processing needs.

Inventive Principle:
Principle #15Dynamics

2Reliability

If data processing sub-units are connected using reliable protocols like TCP, then data transmission reliability is improved, but the processing latency increases

Engineering Contradiction:
Improvedata transmission reliabilityVSAvoidprocessing latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system changes the communication protocol parameter from TCP to UDP for data transmission between data processing sub-units. This parameter change prioritizes transmission speed over reliability, accepting potential data loss in exchange for reduced latency and improved processing throughput, which is appropriate for streaming data processing where speed is critical.

Inventive Principle:
Principle #35Parameter changes

3Stability of the object's composition

If the directed acyclic graph configuration is fixed, then system stability is improved, but the ability to adapt to changing data volumes and application requirements deteriorates

Engineering Contradiction:
Improvesystem stabilityVSAvoidadaptability to changing requirements
Core Design Contradiction:
Stability of the object's compositionVSAdaptability or versatility

Solution Approach 1:

The system implements dynamic reconfiguration of the directed acyclic graph, allowing the system manager to modify the graph structure at runtime by adding, removing, or reconfiguring data processing sub-units and operators. This enables the system to adapt to changing data volumes and application requirements while maintaining operational stability through controlled, incremental changes.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system incorporates monitoring capabilities that track buffer usage, throughput, and performance metrics of data processing sub-units. This feedback information is used by the system manager to dynamically adjust the directed acyclic graph configuration, adding processing capacity when needed and removing it when unnecessary, thus adapting to changing conditions while maintaining system stability.

Inventive Principle:
Principle #23Feedback

4Reliability

If buffer size is increased to handle peak data volumes, then data loss is reduced, but memory usage and system resource consumption increase

Engineering Contradiction:
Improvedata loss preventionVSAvoidmemory usage
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The system implements dynamic buffer management where buffer sizes and configurations can be adjusted based on actual data flow conditions. Rather than allocating large fixed buffers to all sub-units, the system manager can dynamically allocate buffer resources to match actual processing needs, reducing overall memory usage while maintaining reliability during peak loads.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11425006B2Systems, methods and computer program products for scalable, low-latency processing of streaming data
Publication Date: 2022.08.23 STREAMWORX AI INC
  • US11425006B2 patent drawing
  • US11425006B2 patent drawing
  • US11425006B2 patent drawing

AI summary

A system for processing cybersecurity monitoring data includes a load balancing operator coupled to at least one incoming data stream. The load balancing operator is operable to distribute cybersecurity monitoring messages amongst a plurality of collector processing units operable to generate monitoring records from the received cybersecurity monitoring messages in a first format. A plurality of parser sub-units coupled to the plurality of collector processing sub-units are operable to generate parsed monitoring records by converting the received monitoring records from the first format to a second format. A combiner operator coupled to the plurality of parser sub-units is operable to combine the parsed monitoring records from the plurality of parser sub-units into a synchronous output data stream. The system is configured such that data flows sequentially from the load balancing operator to the plurality of collector processing sub-units and to the plurality of parser sub-units to the combiner operator.