Two Stage Bloom Filter for IPv6 Longest Prefix Match

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing longest prefix match algorithms face performance issues, especially with IPv6 addresses, due to the increased prefix length space, leading to reduced lookup performance and increased load on hash tables.

Innovation Solution

Implementing a two-stage Bloom filter system, where a prefix range Bloom filter identifies a prefix range entry, and a prefix length Bloom filter further identifies a prefix length entry, reducing the number of probes needed to determine the longest prefix match, thereby enhancing lookup performance and efficiently using computing resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a single Bloom filter is used for longest prefix match, then the device complexity is low, but the lookup performance deteriorates due to increased prefix length space in IPv6

Engineering Contradiction:
Improvelookup performanceVSAvoidBloom filter structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides the single Bloom filter into two separate Bloom filters: a prefix range Bloom filter and a prefix length Bloom filter. The prefix range Bloom filter handles the range identification while the prefix length Bloom filter handles the specific length matching. This segmentation allows each filter to specialize in a specific aspect of the lookup process, improving overall performance for IPv6 addresses with longer prefix lengths.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension to the traditional single-Bloom-filter approach by adding a second Bloom filter that operates on a different dimension (prefix length instead of just prefix range). This dimensional expansion enables the system to handle the increased complexity of IPv6 prefix length space without overwhelming a single filter structure.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If traditional longest prefix match algorithms are used, then the implementation is simple, but the load on hash tables increases due to more probes required

Engineering Contradiction:
Improverouting lookup efficiencyVSAvoidnumber of probes
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The prefix range Bloom filter performs preliminary action by first identifying the relevant prefix range before the more detailed prefix length matching occurs. This preliminary filtering reduces the number of probes needed in the second stage (prefix length Bloom filter), thereby decreasing the overall load on hash tables and improving routing lookup efficiency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent extracts the prefix range identification function from the traditional single-Bloom-filter approach and separates it into a dedicated prefix range Bloom filter. This extraction allows the remaining prefix length Bloom filter to focus solely on precise matching, reducing the number of probes and improving overall efficiency.

Inventive Principle:
Principle #2Taking out (Extraction)

3Measurement precision

If more probes are performed to ensure accurate longest prefix match, then the measurement precision improves, but the lookup time increases

Engineering Contradiction:
Improveprefix match accuracyVSAvoidlookup time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

By segmenting the lookup process into two stages with separate Bloom filters, the patent maintains measurement precision for prefix match accuracy while reducing the time lost through multiple probes. Each stage is optimized for its specific function, with the first stage filtering out irrelevant ranges and the second stage ensuring accurate matching within the identified range.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The prefix range Bloom filter acts as an intermediary between the incoming packet and the final prefix length matching. This intermediary structure pre-processes the information to identify relevant ranges, reducing the number of subsequent probes needed for accurate matching and thereby reducing overall lookup time while maintaining precision.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10158571B2Two stage bloom filter for longest prefix match
Publication Date: 2018.12.18 JUNIPER NETWORKS INC
  • US10158571B2 patent drawing
  • US10158571B2 patent drawing
  • US10158571B2 patent drawing

AI summary

A device may receive a packet that includes a destination address. The device may analyze a first Bloom filter, based on the destination address, in order to identify a prefix range entry associated with the destination address and included in a set of prefix range entries associated with the first Bloom filter. The device may analyze a second Bloom filter, based on the destination address and the identified prefix range entry, in order to identify a prefix length entry associated with the destination address and included in a set of prefix length entries associated with the second Bloom filter. The device may determine routing information associated with the identified prefix length entry. The routing information may identify a longest prefix match associated with the destination address. The device may provide the packet based on the routing information.