Variable Hash Bloom Filters for Wireless Device Discovery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In wireless communication networks, service discovery protocols face issues with false positives due to the use of Bloom filters, which can lead to ambiguity in identifying devices that have already been discovered, resulting in unnecessary message exchanges and overhead.
Innovation Solution
Implementing a method that uses multiple hash functions to generate different Bloom filters for the same device identifiers, allowing devices to determine whether they have been discovered by comparing bit strings generated using different hash functions, thereby reducing the probability of false positives.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If Bloom filters with identification data are used to track discovered devices, then the number of discovery messages is reduced, but the identification data becomes lengthy and generates significant overhead
Solution Approach 1:
The patent uses Bloom filters as a compact copy representation of device identification data. Instead of transmitting full device identifiers, the system creates a probabilistic bit string copy that occupies minimal space while preserving the ability to query device membership, thus reducing overhead while maintaining discovery efficiency
Solution Approach 2:
The patent changes the parameter representation from full device identifiers to a compact bit string format. By transforming the identification data into a different parameter space (Bloom filter bits), the system achieves space efficiency while preserving the essential functionality of device tracking
2Quantity of substance
If fewer bits are used to compactly represent identification data in Bloom filters, then overhead is reduced, but ambiguity increases leading to false positives where devices erroneously conclude they have already been discovered
Solution Approach 1:
The patent introduces dynamic hash function selection to adapt the Bloom filter behavior. By changing the hash function based on a random value in the discovery message, the system dynamically adjusts the bit string generation to minimize false positives while maintaining compact representation, thus resolving the reliability-compactness tradeoff
Solution Approach 2:
The patent performs preliminary verification by comparing Bloom filter bit strings before final device discovery confirmation. This preliminary action using the compact representation allows the system to filter out obvious non-matches while maintaining accuracy, reducing false positives even with fewer bits
3Reliability
If multiple rounds of discovery requests and responses are sent to ensure all devices are accounted for, then discovery completeness is improved, but the number of discovery messages increases
Solution Approach 1:
The patent uses Bloom filter bit strings as compact copies of device identification information that can be efficiently transmitted in discovery messages. This copying approach allows multiple rounds of discovery to be conducted with minimal overhead, maintaining completeness while reducing message volume compared to transmitting full identifiers
Solution Approach 2:
The patent applies different hash functions locally based on the random value in each discovery message. This local adaptation ensures that each discovery round uses optimized hashing for that specific context, improving discovery completeness across multiple rounds while keeping message exchanges efficient
Data Source
AI summary
In a method of performing discovery, at least a plurality of identifiers associated with a plurality of respective communication devices is processed, using a first hash function, to generate a first bit string. The first bit string is indicative of whether each of the plurality of identifiers is included in a group. An indication that a new hash function should be used is detected, and, in response to detecting the indication that a new hash function should be used, at least the plurality of identifiers is processed, using a second hash function different than the first hash function, to generate a second bit string. The second bit string is indicative of whether each of the plurality of identifiers is included in the group.


