Bloom Filter Deletion Using Supplemental Counter Data Structure

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Bloom filters suffer from false positives and inefficiencies in removing elements without affecting the membership status of other elements, and the memory requirements increase significantly when using counters for deletion.

Innovation Solution

Implementing a supplemental data structure that maintains counters only for saturated entries in the bloom filter array, allowing for efficient deletion of elements by using a hash table or TCAM to track collision counts, reducing the need for large counters in each array entry.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If counters are implemented in each array entry to enable deletion, then deletion capability is improved, but memory requirements increase significantly

Engineering Contradiction:
Improvedeletion capabilityVSAvoidmemory requirements
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The patent divides the counter storage function into two segments: the main bloom filter array keeps only bit flags (0 or 1), while a separate supplemental data structure stores counter information only for saturated entries. This segmentation allows deletion capability without requiring counters in every array entry, thus reducing overall memory requirements while maintaining operational capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a supplemental data structure as an intermediary between the bloom filter array and the deletion operation. This intermediary structure tracks collision counts for saturated entries, enabling deletion logic without modifying the fundamental bit-array structure of the bloom filter. The intermediary handles the complexity of deletion while keeping the main structure simple and memory-efficient.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If counters are maintained for all entries, then deletion accuracy is improved, but processing overhead increases

Engineering Contradiction:
Improvedeletion accuracyVSAvoidprocessing overhead
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent applies local quality by providing counter information only where needed - specifically for saturated array entries that require deletion tracking. Non-saturated entries simply use bit flags without associated counters. This localized approach maintains deletion accuracy for necessary cases while avoiding the processing overhead of maintaining counters for all entries uniformly.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements partial action by maintaining counter information only for a subset of entries (those that are saturated) rather than all entries. This partial tracking provides sufficient precision for deletion operations on saturated entries while significantly reducing the processing overhead compared to universal counter maintenance.

Inventive Principle:
Principle #16Partial or excessive action

3Quantity of substance

If a supplemental data structure is used to track collision counts, then resource usage is reduced, but device complexity increases

Engineering Contradiction:
Improveresource usageVSAvoiddata structure complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent extracts the counter tracking function from the main bloom filter array and places it in a separate supplemental data structure. This extraction reduces the resource usage of the primary structure (keeping it as a simple bit array) while isolating the complexity into a dedicated auxiliary structure that only handles saturated entries, making the overall system more efficient despite the added complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS8032529B2Enhanced bloom filters
Publication Date: 2011.10.04 CISCO TECHNOLOGY INC
  • US8032529B2 patent drawing
  • US8032529B2 patent drawing
  • US8032529B2 patent drawing

AI summary

An interface is operable to receive an element for deletion from a bloom filter. The bloom filter includes multiple hash functions and an array. A processor is operable to generate hash function output values for the element using the hash functions. The hash function output values correspond to indices identifying bits in the array. A memory is operable to maintain supplemental data structure entries. The supplemental data structure has entries associated with the indices. The processor is operable to modify the supplemental data structure entries to delete the element from the bloom filter.