Horizon Histogram Bucket Allocation for Memory-Constrained Frequency Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data analysis methods for identifying items that occur above a certain frequency, such as iceberg queries, are memory-intensive and inefficient, especially when dealing with large datasets and numerous distinct values.

Innovation Solution

The approach allocates a limited number of count storage buckets based on a threshold frequency, allowing for parallel evaluation of data subsets, merging candidate sets, and determining actual high-frequency values by comparing frequencies with the threshold.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If memory buckets are allocated to count each occurrence of each distinct value, then measurement precision of frequency is improved, but device complexity (memory usage) worsens

Engineering Contradiction:
Improvefrequency measurementVSAvoidmemory usage
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the data set into multiple partitions and processes each partition separately with its own limited set of count storage buckets. This segmentation allows the system to handle large data sets with many distinct values using limited memory by processing data in manageable chunks rather than requiring all memory buckets to be allocated simultaneously for all distinct values across the entire data set.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of processing by dividing the data set into multiple partitions and processing them in parallel. This dimensional approach transforms the single-pass sequential processing model into a multi-pass parallel model, where each partition is processed independently with limited memory resources, thereby reducing the overall memory requirement while maintaining frequency measurement accuracy.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Device complexity

If the entire data set is analyzed serially, then device complexity is reduced, but productivity worsens

Engineering Contradiction:
Improveprocessing structureVSAvoidanalysis speed
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent segments the data set into multiple partitions that can be processed in parallel. Each partition is analyzed separately using the same frequency counting algorithm, but the parallel execution of multiple partitions significantly improves processing throughput compared to serial analysis of the entire data set, while maintaining the simplicity of the underlying counting mechanism.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary actions by dividing the data set into partitions and pre-processing each partition to identify candidate high-frequency values before merging results. This preliminary processing of individual partitions enables subsequent parallel aggregation of results, improving overall productivity while keeping each individual processing step relatively simple.

Inventive Principle:
Principle #10Preliminary action

3Device complexity

If count storage buckets are limited, then device complexity is reduced, but measurement precision worsens

Engineering Contradiction:
Improvememory allocationVSAvoidfrequency count accuracy
Core Design Contradiction:
Device complexityVSMeasurement precision

Solution Approach 1:

The patent segments the counting process into multiple passes over different data partitions. Each pass uses a limited set of count storage buckets, but by processing multiple partitions sequentially or in parallel across multiple passes, the system achieves accurate frequency measurements for all distinct values in the entire data set without requiring all buckets to be allocated simultaneously.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent employs periodic action by repeatedly applying the frequency counting algorithm to different partitions of the data set. Each pass through a partition periodically updates the count storage buckets, and this periodic processing across multiple partitions accumulates accurate frequency information over time, compensating for the limited size of the buckets available at any single moment.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS8433702B1Horizon histogram optimizations
Publication Date: 2013.04.30 PALANTIR TECHNOLOGIES INC
  • US8433702B1 patent drawing
  • US8433702B1 patent drawing
  • US8433702B1 patent drawing

AI summary

Values that occur above a threshold frequency for certain characteristic(s) of a data set are identified. A limited number of count buckets are allocated based on the threshold. Buckets store proxy counts for identifying candidate sets of values rather than actual counts. The data set is divided and each portion is analyzed separately, by iterating through each item in that portion. During each iteration, depending on an item's value(s), a bucket is incremented, all buckets are decremented, or a bucket is assigned or reassigned to count different value(s). A candidate set of values and associated counts is selected for a portion based on the buckets. The candidate sets for each portion are merged and, in some embodiments, filtered based on the associated counts. Actual frequencies are then determined for the values that remain in the merged candidate set.