Dynamic Load Balancing in Stream Processing Parallel Regions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current stream processing methods are inefficient in handling large volumes of data from sources like IoT devices and sensors, leading to missed real-time trends due to the need for costly memory resources and delayed processing.

Innovation Solution

A method and system for dynamically balancing data flow in parallel regions of a distributed data processing system, using attributes of the data and computing system to adjust operators and resources, allowing for real-time or near real-time processing without prior data storage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If data is stored in database or file system before processing, then data can be queried and computed as needed, but processing delay increases and real-time trends are missed

Engineering Contradiction:
Improveprocessing delayVSAvoidreal-time processing capability
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The patent applies preliminary action by pre-processing and filtering data at the source before it enters the main processing system. Data is transformed and enriched in advance, so when it arrives at the processing system, it is already in the required format and ready for immediate analysis, eliminating the need for storage and subsequent querying delays

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent extracts only the essential and relevant data elements from incoming data streams, filtering out redundant information. This extraction occurs at the data source or entry point, allowing the system to process only critical data in real-time without being burdened by complete data sets that would require storage and later retrieval

Inventive Principle:
Principle #2Taking out (Extraction)

2Quantity of substance

If memory resources are increased to handle large data volumes, then more data can be processed, but system cost increases

Engineering Contradiction:
Improvedata volume handling capacityVSAvoidmemory resource cost
Core Design Contradiction:
Quantity of substanceVSLoss of energy

Solution Approach 1:

The system extracts and processes only the most critical and relevant data elements from incoming streams, filtering out redundant or less important information. This selective extraction allows the system to handle large volumes of incoming data while using minimal memory resources to store and process only the essential subset

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent segments the data processing workflow into multiple stages: filtering at source, selective extraction of key elements, incremental processing, and hierarchical storage. This segmentation allows different data portions to be handled with appropriate resource allocation, minimizing overall memory requirements while maintaining处理能力 for large data volumes

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If fixed number of operators are used in parallel region, then system is simpler to manage, but cannot adapt to changing data flow rates

Engineering Contradiction:
Improveresponse to data flow changesVSAvoidoperator management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic operator allocation where the number of parallel operators automatically adjusts based on real-time data flow characteristics. When data flow rate increases, more operators are activated; when it decreases, operators are deactivated. This dynamic adaptation maintains optimal processing performance without manual intervention

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system incorporates feedback mechanisms that continuously monitor data flow rates, processing queue depths, and operator performance metrics. This feedback information is used to automatically adjust the number of active operators, creating a self-regulating system that adapts to changing conditions while maintaining manageable complexity through automated control

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11640402B2Load balancing in streams parallel regions
Publication Date: 2023.05.02 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11640402B2 patent drawing
  • US11640402B2 patent drawing
  • US11640402B2 patent drawing

AI summary

In response to receiving a flow of data, one or more operators in a parallel region included in a distributed data processing system for stream processing the flow of data are initialized. In response to identifying a change to the flow of data or a change to the distributed data processing system, at least one of the flow of data and a size of the parallel region included in the distributed data processing system are dynamically adjusted. The flow of data is processed via the dynamically adjusted one of the flow of data and the parallel region included in the distributed data processing system.