Stream Data Processing Using Time Window Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Stream data processing systems face challenges in maintaining constant memory usage and ensuring system stability when processing high volumes of data arriving in a bursty manner, particularly with time-based windows, which makes it difficult to predict memory requirements and leads to potential system instability and latency issues in financial and communication applications.

Innovation Solution

The method involves sectioning time-based windows into smaller sub-windows, generating aggregation tuples within these sub-windows, and calculating query processing results based on these tuples, ensuring that the memory usage remains constant by discarding original data and updating aggregation tuples accordingly.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If a time-based window is used to process stream data in real-time, then processing speed and responsiveness are improved, but memory usage becomes unpredictable and system stability deteriorates under bursty data conditions

Engineering Contradiction:
Improveprocessing speedVSAvoidsystem stability
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The time-based window is divided into multiple sub-windows, each with a fixed time duration. This segmentation allows the system to process data in controlled intervals, preventing memory overload during bursty periods while maintaining real-time processing capabilities. Each sub-window independently manages its data buffer, ensuring predictable memory usage patterns.

Inventive Principle:
Principle #1Segmentation

2Measurement precision

If all stream data within a time-based window is retained in memory for precise calculation, then calculation accuracy is improved, but memory consumption increases and becomes difficult to control

Engineering Contradiction:
Improvecalculation accuracyVSAvoidmemory usage
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

By dividing the time-based window into sub-windows, the system retains data only for the duration of each sub-window rather than the entire window period. This reduces the total memory footprint while maintaining calculation accuracy within each sub-window's scope. The aggregation tuples summarize data from each sub-window, preserving essential information with reduced memory requirements.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system discards original stream data after it has been aggregated into tuples within each sub-window. This discarding occurs systematically as sub-windows expire, allowing memory to be reused for new data arrivals. The aggregation tuples preserve the necessary summarized information, enabling precise calculations without retaining all原始数据.

Inventive Principle:
Principle #34Discarding and recovering

3Quantity of substance

If the window width is reduced to control memory usage, then memory management is improved, but processing granularity is reduced and system complexity increases

Engineering Contradiction:
Improvememory managementVSAvoidsystem complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The system segments the time-based window into sub-windows with fixed durations, providing a structured approach to memory management. This segmentation creates a hierarchical processing model where sub-windows are managed independently but contribute to the overall window results, balancing memory control with processing effectiveness without excessive complexity.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8032554B2Stream data processing method and system
Publication Date: 2011.10.04 HITACHI LTD
  • US8032554B2 patent drawing
  • US8032554B2 patent drawing
  • US8032554B2 patent drawing

AI summary

Stream data is provided for realizing precise calculation processing to keep a constant memory usage of a query including a time-based window, and to take all of input data into consideration. A stream data processing server sections the time-based window into sub-windows each with a smaller width by a query time resolution change unit, and a query processing engine executes the aggregation processing based on the sub-window when receiving the stream data to generate an aggregation tuple, and calculates the calculation result of the query including the time-based window by aggregation processing on the aggregation tuple.