Bloom Filter Longest Prefix Matching for Network Routers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current network address lookup methods in Internet routers, particularly those using TCAMs, face performance bottlenecks due to high power consumption, cost, and slower access times compared to SRAM, and existing alternatives like Trie-based systems and Binary Search do not provide scalable and independent performance improvements with IP address length.

Innovation Solution

The implementation of Bloom filters for Longest Prefix Matching, where forwarding table entries are sorted by prefix length, and each unique prefix length is associated with a Bloom filter, allowing for parallel membership queries and reducing the number of dependent memory accesses, thereby achieving scalable and efficient network address lookup.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If TCAM devices are used for network address lookup, then lookup performance can keep pace with optical link speeds, but power consumption per bit of storage becomes four orders of magnitude higher than SRAM and access times become over 3.3 times slower than SRAM

Engineering Contradiction:
Improveaccess speedVSAvoidpower consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The patent segments the forwarding table into multiple parts organized by prefix length, with each part stored in a separate Bloom filter. This segmentation allows the system to avoid the high power consumption of TCAM while achieving fast lookup by processing smaller, organized segments in parallel rather than searching through a single large TCAM structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces Bloom filters as an intermediary data structure between the input IP address and the forwarding information. These Bloom filters provide fast membership testing with low power consumption, acting as a mediator that reduces the need for high-power TCAM operations while maintaining lookup performance.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If TCAM devices are used for network address lookup, then lookup performance can keep pace with optical link speeds, but device size and cost increase relative to SRAM

Engineering Contradiction:
Improvelookup throughputVSAvoiddevice size
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides the forwarding table into multiple segmented structures organized by prefix length, with each segment stored in a Bloom filter. This segmentation reduces the memory footprint compared to a single large TCAM while maintaining high lookup throughput through parallel processing of multiple segments.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses Bloom filters which are space-efficient probabilistic data structures that copy only the essential membership information rather than storing complete forwarding entries. This copying approach reduces device size while maintaining lookup capability, avoiding the need for large TCAM structures.

Inventive Principle:
Principle #26Copying

3Ease of manufacture

If Trie-based systems or Binary Search techniques are used with commodity SRAM, then cost is reduced compared to TCAM, but performance does not provide independence from IP address length or improved scalability

Engineering Contradiction:
ImprovecostVSAvoidscalability
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The patent segments the forwarding table by prefix length and organizes it into multiple Bloom filters. This segmentation provides scalability because the system can efficiently handle varying IP address lengths and growing forwarding table sizes by adding more Bloom filter segments without degrading performance, unlike traditional Trie or Binary Search approaches.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent employs a dynamic structure where Bloom filters can be efficiently updated and scaled. The system adapts to different IP address lengths and forwarding table sizes by activating appropriate Bloom filter segments, providing both cost-effectiveness using commodity SRAM and improved scalability compared to static Trie or Binary Search implementations.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS7602785B2Method and system for performing longest prefix matching for network address lookup using bloom filters
Publication Date: 2009.10.13 WASHINGTON UNIV IN SAINT LOUIS
  • US7602785B2 patent drawing
  • US7602785B2 patent drawing
  • US7602785B2 patent drawing

AI summary

The present invention relates to a method and system of performing parallel membership queries to Bloom filters for Longest Prefix Matching, where address prefix memberships are determined in sets of prefixes sorted by prefix length. Hash tables corresponding to each prefix length are probed from the longest to the shortest match in the vector, terminating when a match is found or all of the lengths are searched. The performance, as determined by the number of dependent memory accesses per lookup, is held constant for longer address lengths or additional unique address prefix lengths in the forwarding table given that memory resources scale linearly with the number of prefixes in the forwarding table. For less than 2 Mb of embedded RAM and a commodity SRAM, the present technique achieves average performance of one hash probe per lookup and a worst case of two hash probes and one array access per lookup.