Bloom Filter Entry Deletion via Iterative Hashing
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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.
Data Source
Figure 1
Figure 2
Figure 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.