Bloom Filter Array for High-Speed Packet Classification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

High-speed packet networks require efficient packet classification methods that can handle large numbers of rules while minimizing the cost, size, and power consumption associated with ternary content-addressable memory (TCAM) devices.

Innovation Solution

The use of Bloom filters in conjunction with random access memory (RAM) to reduce search time and increase lookup rates, combined with extended rule patterns and a small TCAM for temporary rule storage, allows for efficient classification of data packets by grouping rule patterns and using hash functions to select candidate patterns for matching.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If TCAM is used to store classification rules, then matching flexibility and speed are improved, but power consumption and chip area increase significantly

Engineering Contradiction:
Improveclassification speedVSAvoidpower consumption
Core Design Contradiction:
SpeedVSUse of energy by stationary object

Solution Approach 1:

The patent segments the classification system into multiple components: Bloom filters for initial filtering, TCAM for exact matching, and RAM for rule storage. This segmentation allows each component to perform its specialized function efficiently, reducing the overall power consumption while maintaining high classification speed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces Bloom filters as an intermediary component between the incoming traffic and the TCAM. The Bloom filter pre-processes the classification by identifying candidate matches, reducing the number of queries that reach the power-hungry TCAM, thus lowering overall power consumption while maintaining speed.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If TCAM is used to store classification rules, then matching flexibility is improved, but chip area increases significantly

Engineering Contradiction:
Improverule matching flexibilityVSAvoidchip area
Core Design Contradiction:
Adaptability or versatilityVSArea of stationary object

Solution Approach 1:

The patent segments the storage system into multiple components: Bloom filters for candidate identification, TCAM for flexible matching, and RAM for rule storage. This segmentation allows the TCAM to be smaller since it only needs to store rules for candidates identified by the Bloom filter, reducing chip area while preserving matching flexibility.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses Bloom filters as a probabilistic copy of the rule set, which occupies minimal space compared to the full TCAM. This copying approach allows the system to maintain flexible matching capabilities in the TCAM while using the compact Bloom filter copy for initial filtering, thus reducing overall chip area.

Inventive Principle:
Principle #26Copying

3Adaptability or versatility

If the number of classification rules is increased, then classification capability is improved, but TCAM capacity requirements increase

Engineering Contradiction:
Improveclassification capabilityVSAvoidTCAM capacity
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent segments the rule storage across multiple components: Bloom filters store a compact representation of all rules, TCAM stores only the rules relevant to current traffic patterns, and RAM provides additional storage capacity. This segmentation enables the system to handle large numbers of classification rules without requiring proportionally large TCAM capacity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary filtering using Bloom filters before querying the TCAM. This preliminary action identifies only the candidate rules that are likely to match the incoming traffic, allowing the TCAM to focus on a smaller subset of rules and thereby supporting a larger overall rule set without increasing TCAM capacity proportionally.

Inventive Principle:
Principle #10Preliminary action

4Use of energy by stationary object

If Bloom filters are used for classification, then power consumption and chip area are reduced, but false positive rate increases

Engineering Contradiction:
Improvepower consumptionVSAvoidmatching accuracy
Core Design Contradiction:
Use of energy by stationary objectVSReliability

Solution Approach 1:

The patent uses the Bloom filter as an intermediary that performs probabilistic filtering before exact matching. The Bloom filter's false positives are resolved by subsequent exact matching in the TCAM or RAM, ensuring that while the Bloom filter may have false positives, the final classification remains accurate. This intermediary approach maintains reliability while achieving low power consumption.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the matching process into two stages: probabilistic filtering by Bloom filters and exact matching by TCAM/RAM. This segmentation allows the system to accept the false positive rate of Bloom filters in the first stage, then eliminate false positives in the second stage through exact matching, thereby maintaining overall matching accuracy while benefiting from the low power consumption of Bloom filters.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10496680B2High-performance bloom filter array
Publication Date: 2019.12.03 MELLANOX TECHNOLOGIES LTD(IL)
  • US10496680B2 patent drawing
  • US10496680B2 patent drawing
  • US10496680B2 patent drawing

AI summary

A method for classification includes extracting respective classification keys from a collection of data items and defining a set of patterns for matching to the classification keys. A plurality of memory banks contain respective Bloom filters, each Bloom configured to indicate one or more patterns in the set that are candidates to match a given classification key. A respective first hash function is applied to the classification keys for each pattern in order to select, for each classification key, one of the Bloom filters to query for the pattern. The selected Bloom filters are queried by applying a respective second hash function to each classification key, so as to receive from the Bloom filters an indication of the one or more candidate patterns. The data items are classified by matching the respective classification keys against the candidate patterns.