Linked-Node Structure for Range Matching in Packet Classification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for range matching in network switches, such as brute force algorithms, lead to inefficient data packet processing due to worst-case behavior, limiting the number of packets that can be processed per unit time, especially in high-speed applications.
Innovation Solution
A method utilizing a linked-node structure, specifically a binary tree or higher-dimensional tree, to efficiently determine the narrowest range including an input value by comparing the input value with node values and traversing the tree, reducing the number of comparisons needed to find a match.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If brute force or exhaustive algorithms are used for range matching, then all ranges can be compared to ensure the narrowest range is found, but the processing speed decreases and the number of packets processed per unit time is limited
Solution Approach 1:
The patent segments the set of ranges into multiple subsets and organizes them in a tree structure where each node represents a subset of ranges. This segmentation allows the algorithm to eliminate large portions of ranges at each level of the tree traversal, reducing the total number of comparisons needed while still guaranteeing finding the narrowest matching range.
Solution Approach 2:
The patent introduces a hierarchical dimension by organizing ranges in a tree structure with multiple levels. Instead of comparing ranges in a single flat dimension, the algorithm traverses through hierarchical levels, making decisions at each level that eliminate subsets of ranges, thereby reducing the search space efficiently.
2Productivity
If parallel range comparators are used to improve processing speed, then more ranges can be compared simultaneously, but the device complexity and cost increase
Solution Approach 1:
The patent employs a dynamic algorithm that adapts the number of comparisons based on the data characteristics and tree structure. Instead of using a fixed number of parallel comparators, the algorithm dynamically determines the comparison path through the tree, eliminating the need for a large static array of parallel comparators while maintaining high processing speed.
3Ease of operation
If ordering ranges by size or by beginning/ending value is used to simplify the problem, then the organization of ranges becomes easier, but the range matching problem is not greatly simplified and worst-case behavior remains
Solution Approach 1:
The patent performs preliminary organization of ranges into a tree structure before the actual packet classification process. During this preliminary phase, ranges are sorted and grouped into nodes based on their characteristics. This pre-processing creates an optimized structure that enables fast querying during operation, avoiding the need to handle worst-case scenarios during actual packet processing.
Data Source
AI summary
In one embodiment, a method includes receiving a key associated with a portion of a data packet, comparing the key to a first range extreme, selecting a second range extreme, and comparing the key with the second range. The first range extreme is associated with a first range and the second range is associated with a second range. The second range is selected based on the comparing the key to the first range extreme. The method includes producing a policy vector associated with the first or second range.


