Adaptive Database Lookup Using Bloom Filter and WAVL Tree

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvelookup timeVSAvoidfalse positive rate
Core Design Contradiction:
Loss of timeVSReliability

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.

Inventive Principle:
Principle #5Merging (Combining)

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvedatabase capacityVSAvoidlookup time
Core Design Contradiction:
Quantity of substanceVSLoss of time

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.

Inventive Principle:
Principle #1Segmentation

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

Engineering Contradiction:
Improvememory usageVSAvoidsearch overhead
Core Design Contradiction:
Weight of stationary objectVSDevice complexity

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.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS9143449B2Methods and apparatuses for improving database search performance
Publication Date: 2015.09.22 CISCO TECHNOLOGY INC
  • US9143449B2 patent drawing
  • US9143449B2 patent drawing
  • US9143449B2 patent drawing

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.