Bloom Filter Entry Deletion via Iterative Hashing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Bloom filters lack the ability to efficiently add and remove entries while maintaining memory efficiency, as altering bits to remove entries can impact other entries and compromise the integrity of the filter, and using counting filters increases memory usage.

Innovation Solution

The implementation of an iterative process using an entry function with an iteration value to add or remove entries from the Bloom filter by hashing the entry and iteration value, allowing for the toggling of bits to indicate presence or absence, and utilizing binary search for efficient query optimization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If entries are removed from a Bloom filter by changing bits from one to zero, then the ability to remove entries is improved, but the integrity of the Bloom filter is compromised as it may impact other entries

Engineering Contradiction:
Improveentry removal capabilityVSAvoidfilter integrity
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The Bloom filter is divided into multiple independent segments, each capable of storing entry information. By segmenting the filter, the patent enables removal of entries from specific segments without affecting other segments, thus maintaining overall filter integrity while achieving entry removal capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary mechanism (segmented structure with selective bit manipulation) that mediates between the need to remove entries and the need to maintain integrity. This intermediary allows controlled modification of specific bits in specific segments without propagating changes to other segments.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If counting filters with n-bit counters are used to remove entries, then the ability to remove entries is improved, but memory efficiency is reduced as the size of the Bloom filter increases

Engineering Contradiction:
Improveentry removal capabilityVSAvoidmemory usage
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The Bloom filter is divided into multiple independent segments, each capable of storing entry information. By segmenting the filter, the patent enables removal of entries from specific segments without affecting other segments, thus maintaining overall filter integrity while achieving entry removal capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the parameter of bit length per segment (using shorter bit sequences per segment compared to full n-bit counters) to achieve a balance between removal capability and memory efficiency. This parameter adjustment allows entry removal while maintaining compact memory usage.

Inventive Principle:
Principle #35Parameter changes

3Measurement precision

If multiple hash functions are used in a Bloom filter, then the precision of entry identification is improved, but the complexity of adding and removing entries increases

Engineering Contradiction:
Improveentry identification accuracyVSAvoidoperation complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The Bloom filter is divided into multiple independent segments, each capable of storing entry information. By segmenting the filter, the patent enables removal of entries from specific segments without affecting other segments, thus maintaining overall filter integrity while achieving entry removal capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies preliminary action by pre-dividing the Bloom filter into segments and pre-assigning hash function responsibilities to specific segments. This preliminary organization simplifies the addition and removal operations, as each operation can be directed to specific segments rather than requiring coordinated changes across all hash functions.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP3347831B1Deletion of elements from a bloom filter
Publication Date: 2021.08.11 AMAZON TECH INC
  • EP3347831B1 patent drawingFigure 1
  • EP3347831B1 patent drawingFigure 2
  • EP3347831B1 patent drawingFigure 3

AI summary

A computer system receives a request to remove an entry from a probabilistic data structure. In response to the request, the computer system queries the probabilistic data structure to determine a current iteration value for the entry within the probabilistic data structure. The current iteration value indicates a state of the entry such that a first state corresponds to the entry being a member of a set and a second state corresponds to the absence of the entry from the set. As a result of the current iteration value denoting that the entry is a member of the set, the computer system increments the current iteration value to generate a new iteration value that corresponds to the absence of the entry from the set. The computer system uses the new iteration value and the entry to generate a new output value that is then added to the probabilistic data structure.