Bloom Filter Array for High-Speed Packet Classification
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Adaptability or versatility
If TCAM is used to store classification rules, then matching flexibility is improved, but chip area increases significantly
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.
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.
3Adaptability or versatility
If the number of classification rules is increased, then classification capability is improved, but TCAM capacity requirements increase
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.
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.
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
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.
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.
Data Source
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.


