Sliding Window Data Sampling with Backward Decay Priority

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data sampling methods in streaming systems face challenges in efficiently managing memory constraints while maintaining representative samples, often resulting in either insufficient or excessive sample sizes, and fail to adaptively prioritize data items based on their age and relevance.

Innovation Solution

The implementation of a backward decay design for sampling, where data items are assigned priorities based on their age, using a shift-and-scale priority process to adjust the sampling probability curve, allowing for nearly twice as many samples to be stored within the same memory budget, with controlled computational complexity of O(1) per item.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If uniform sampling probability is used in a sliding window, then implementation is simple, but sample representativeness deteriorates

Engineering Contradiction:
Improveimplementation simplicityVSAvoidsample representativeness
Core Design Contradiction:
Ease of operationVSMeasurement precision

Solution Approach 1:

The patent applies local quality by using non-uniform sampling probabilities that vary across different time periods within the sliding window. Recent data items have higher sampling probabilities while older items have lower probabilities, creating localized sampling density that matches the temporal importance of different data regions. This resolves the contradiction by making the sampling strategy adaptive to local temporal characteristics rather than applying a uniform approach throughout.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements dynamics by making sampling probabilities time-dependent and adaptive. The sampling probability function changes over time, with the probability of selecting a data item determined by its age and position within the sliding window. This dynamic approach allows the system to automatically adjust sampling intensity based on temporal relevance, improving sample representativeness while maintaining implementation feasibility through structured probability functions.

Inventive Principle:
Principle #15Dynamics

2Measurement precision

If more samples are stored to improve representativeness, then sample quality improves, but memory consumption increases

Engineering Contradiction:
Improvesample representativenessVSAvoidmemory consumption
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent applies parameter changes by modifying the sampling probability parameter as a function of time and data item characteristics. By changing the probability parameter dynamically based on temporal decay functions, the system achieves better sample representativeness with controlled sample sizes. This allows optimizing the balance between sample quality and memory usage by adjusting the decay rate and probability function parameters.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent implements partial action by selectively sampling only the most relevant data items within the sliding window rather than attempting to sample all items uniformly. By focusing sampling effort on recent and highly relevant data while reducing or eliminating sampling of less relevant older data, the system achieves good representativeness with fewer samples, thus reducing memory consumption while maintaining sample quality.

Inventive Principle:
Principle #16Partial or excessive action

3Measurement precision

If adaptive prioritization based on age is implemented, then sample relevance improves, but computational complexity increases

Engineering Contradiction:
Improvesample relevanceVSAvoidcomputational complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent applies self-service by implementing automated priority assignment based on inherent data characteristics (age, timestamp). The system automatically calculates sampling probabilities using the age of each data item without requiring manual intervention or complex external evaluation. This self-service mechanism improves sample relevance through adaptive prioritization while keeping computational complexity manageable by using straightforward age-based probability functions.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent implements preliminary action by pre-defining sampling probability functions and priority rules based on temporal decay principles. Rather than performing complex computations during sampling, the system pre-establishes the probability framework based on data age, allowing for efficient sampling execution. This preliminary structuring of sampling logic improves sample relevance while reducing real-time computational complexity.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11496374B2Sampling in sliding windows with tight optimality and time decayed design
Publication Date: 2022.11.08 TABLEAU SOFTWARE INC
  • US11496374B2 patent drawing
  • US11496374B2 patent drawing
  • US11496374B2 patent drawing

AI summary

A method samples a stream of data items. Each data item has an associated timestamp. The method assigns a priority value to each data item. Each data item is represented as a point on a two-dimensional graph whose axes are time and priority. A sliding window covers a predetermined length of time tspan and uses a backward probability decay curve to specify what priority values are included in the sliding window. This defines, for a current time tc, a current data sample consisting of data items whose timestamps t fall within the time span tc−tspan≤t≤tc and have priority values below the decay curve. The data sample is stored in a buffer. The process iteratively moves the sliding window forward by a time increment, creating a provisional data sample. When the size of the provisional data sample is too large or too small, the process scales the decay curve.