Adaptive Database Lookup Using Bloom Filter and WAVL Tree
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing database search methods in packet forwarding devices, such as WAVL trees, face performance degradation as the number of data nodes increases, leading to inefficient lookup times due to the overhead of shared data nodes and collisions in Counting Bloom Filters (CBFs).
Innovation Solution
Implementing an adaptive system that uses a data node structure with an array section containing counters and pointers to link data nodes across multiple data trees, allowing for efficient lookup operations by determining the best search method based on performance characteristics, either using the adaptive Bloom Filter or the standard WAVL tree search.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If a Counting Bloom Filter is used to improve lookup speed, then lookup time is reduced, but false positives increase and delete operations become problematic
Solution Approach 1:
The patent merges a Counting Bloom Filter with a WAVL tree structure, where the CBF provides fast initial filtering and the WAVL tree handles exact matching and deletion operations. This combination allows the system to benefit from the O(1) average-case lookup of the CBF while mitigating its false positive issues through the deterministic WAVL tree verification, and enables proper delete operations through the tree structure.
Solution Approach 2:
The WAVL tree acts as an intermediary between the CBF and the final data retrieval. When the CBF returns a positive result (including false positives), the WAVL tree serves as a verification layer that confirms actual membership before returning results, thus resolving the reliability issue while maintaining the speed advantage of the CBF.
2Quantity of substance
If the database size increases to handle more traffic, then capacity increases, but lookup performance degrades due to O(log n) complexity
Solution Approach 1:
The patent segments the database into a two-layer structure: a CBF layer for fast filtering that operates in O(1) time regardless of database size, and a WAVL tree layer for precise matching. This segmentation allows the system to maintain fast lookup performance even as the overall database capacity increases to handle more traffic.
3Weight of stationary object
If shared data nodes are used in WAVL trees to reduce memory usage, then memory efficiency improves, but overhead increases and performance suffers
Solution Approach 1:
The patent extracts the filtering function from the WAVL tree structure and places it in a separate CBF layer. This extraction allows the WAVL tree to focus solely on precise matching operations without the overhead of managing shared data nodes for filtering, thereby reducing search complexity while maintaining memory efficiency through the compact CBF structure.
Data Source
AI summary
Methods and apparatuses for improving performance of database searches are disclosed herein. For example, in some implementations, the methods and apparatuses use a data node structure that prevents the need to duplicate data nodes shared by a plurality of data trees. Additionally, the methods and apparatus facilitate improved database lookup times by implementing an adaptive presence detection system based on the Bloom Filter, performance characteristics of the computing device evaluated at run time and status of the database.


