Blocked Bloom Filters for Dynamic Network Routing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Bloom filters, used to determine data item presence in datasets, suffer from false positives and are inflexible in size, making them inefficient for dynamic and resource-conscious network queries.
Innovation Solution
The implementation of blocked Bloom filters, where each data item is mapped to a blocked Bloom filter with attributes represented in separate blocks, allowing for attribute-specific queries and dynamic size adjustment, along with integrity Bloom filters to prevent false positives.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the size of the Bloom filter is increased to reduce false positives, then the false positive rate decreases, but the network resources required for transmission and storage increase
Solution Approach 1:
The Bloom filter is divided into multiple independent blocks, where each block can be individually sized and optimized. This segmentation allows the system to distribute the filtering capacity across multiple smaller units rather than requiring one large monolithic filter, thereby reducing the memory and transmission overhead while maintaining the desired false positive rate through collective operation of all blocks
Solution Approach 2:
The patent implements a hierarchical structure where multiple Bloom filter blocks are organized in nested levels. Each block can contain sub-blocks or be grouped into larger logical units, creating a nested architecture that enables efficient memory management and allows the system to scale by adding or removing nested levels without requiring complete restructuring of the entire filter
2Reliability
If the Bloom filter size is increased to reduce false positives, then the accuracy improves, but the transmission efficiency and network resource conservation are reduced
Solution Approach 1:
By segmenting the Bloom filter into multiple blocks that can be independently transmitted and processed, the system reduces the overhead per unit of filtering capacity. Each block can be optimized for specific query types or data subsets, improving overall query accuracy while maintaining efficient network transmission through selective block transmission rather than sending entire large filters
3Device complexity
If the Bloom filter is sized at creation time as in conventional designs, then the structure is simple, but the filter cannot be dynamically adjusted to changing data sets
Solution Approach 1:
The Bloom filter architecture is designed to be dynamic, allowing blocks to be added, removed, or resized after initial creation. Each block can be independently modified to adapt to changing data set requirements, enabling the filter to scale and reconfigure itself without requiring complete recreation of the entire structure, thus maintaining simplicity while gaining adaptability
Solution Approach 2:
The segmented block structure enables independent modification of individual blocks without affecting the entire filter. This segmentation allows dynamic adjustment of filter capacity by adding or removing specific blocks based on current data set size requirements, maintaining operational simplicity while providing flexible adaptation to changing conditions
4Device complexity
If conventional Bloom filters are used for network queries, then the implementation is simple, but false positives result in unnecessary network transmissions
Solution Approach 1:
The segmented block architecture enables more precise filtering by distributing data items across multiple specialized blocks. This segmentation reduces false positives by allowing each block to be optimized for specific data patterns, thereby reducing unnecessary network transmissions while maintaining implementation simplicity through modular design that builds on conventional Bloom filter principles
Data Source
Figure 1
Figure 2~3
Figure 4
AI summary
A system may include an address manager configured to map a data item including a plurality of attributes to a blocked Bloom filter (BBF) of a plurality of blocked Bloom filters. The system also may include a blocked Bloom filter (BBF) generator configured to map each attribute of the plurality of attributes to a corresponding block of the blocked Bloom filter.