Packet Classification Using Condition Test Vectors and Parallel Memory Banks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing packet classification methods require large amounts of memory, leading to increased costs and performance issues due to memory access latency, as they rely on representing all possible values of packet fields in RAM, making it impractical to store databases on a single chip with a processor.
Innovation Solution
A method that accesses a condition test vector to determine whether a selected key and condition value satisfy a condition relation, using bit values to efficiently classify data packets by selecting keys representing portions of the packet, reducing the need for extensive memory usage and optimizing performance by implementing conditions efficiently based on their type.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If large amounts of memory are used to store packet classification databases in RAM, then classification accuracy is improved, but memory access latency increases and performance decreases
Solution Approach 1:
The patent segments the classification database into multiple banks that can be accessed in parallel. Instead of using a single large memory structure, the database is divided into smaller segments (banks) that reduce access latency while maintaining overall classification accuracy through parallel processing of multiple segments simultaneously.
Solution Approach 2:
The patent introduces a new dimension to memory access by implementing multi-dimensional indexing and parallel access paths. Rather than sequential or single-path access to classification data, the system uses multiple access dimensions (different banks, different index levels) to simultaneously retrieve classification information, thereby reducing effective access latency.
2Measurement precision
If all possible values of packet fields are represented in memory using cross-product expansion, then classification completeness is improved, but memory size and hardware cost increase significantly
Solution Approach 1:
The patent segments the classification database into multiple banks that can be accessed in parallel. Instead of using a single large memory structure, the database is divided into smaller segments (banks) that reduce access latency while maintaining overall classification accuracy through parallel processing of multiple segments simultaneously.
Solution Approach 2:
The patent implements partial expansion by storing only the necessary portions of the cross-product space in each memory bank, rather than completing the full expansion. Each bank contains a subset of classification rules that can be accessed in parallel, providing sufficient classification completeness without requiring the full cross-product memory structure.
Data Source
AI summary
In one embodiment, a method includes accessing a condition test vector, selecting a key from a plurality of keys, and determining whether the key selected and a condition value satisfy a condition relation. The accessing being based on an index value. The condition test vector including a first plurality of bit values defining the condition relation, a second plurality of bit values defining a key selector, and a third plurality of bit values defining the condition value. The selecting being based on the second plurality of bit values. Each key from the plurality of keys including a combination of bit values representing a portion of a data packet. A result is defined based on the determining.


