Succinct Shape-Shifting Tries for Packet Classification Memory Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current packet classification techniques in communication network routers face inefficiencies due to high memory usage and the number of memory accesses required for lookup operations, especially in high-dimensional filters, which can lead to performance issues at line speed.
Innovation Solution
The development of memory-efficient classifier representations using algorithms for constructing minimum-height succinct shape-shifting tries (SSTs) and hybrid SSTs (HSSTs) that reduce the complexity of construction and optimize memory usage, along with dynamic programming procedures for space-optimal 2DHSSTs and 2DHSSTPCs with prefix inheritance, to minimize memory accesses and storage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional binary trie structures are used for packet classification, then comprehensive filtering capability is achieved, but memory usage and number of memory accesses increase significantly
Solution Approach 1:
The patent segments the traditional binary trie into multiple compressed levels, creating a multi-level compressed trie structure where each level stores multiple bits of the search key. This segmentation reduces the number of nodes and memory accesses while maintaining the complete filtering capability through hierarchical organization of prefix data.
Solution Approach 2:
The patent transitions from a single-level binary trie to a multi-level compressed trie structure, adding the dimension of compression level. Each level processes multiple bits simultaneously, effectively changing the search space organization from linear bit-by-bit processing to hierarchical multi-bit processing, reducing memory access depth.
2Productivity
If multi-level compressed trie structures are used, then memory accesses are reduced, but construction complexity increases
Solution Approach 1:
The patent applies preliminary action by pre-processing the prefix data during construction to identify and compress common patterns. The construction algorithm performs preliminary analysis of the prefix set to determine optimal compression levels and node groupings before finalizing the multi-level trie structure, enabling faster lookups without requiring complex runtime processing.
3Reliability
If more memory is allocated for classifier rules, then classification accuracy is improved, but memory access time increases
Solution Approach 1:
The patent merges multiple levels of the trie structure into compressed nodes that store aggregated prefix information. By combining data from multiple traditional trie levels into single compressed nodes, the system maintains comprehensive classification coverage while reducing the number of sequential memory accesses required to traverse the structure.
Solution Approach 2:
The patent implements a nested structure where compressed nodes contain embedded prefix data and child node references within hierarchical levels. Each compressed node nests multiple levels of classification information, allowing the system to maintain detailed classification accuracy while accessing nested data in fewer memory operations through the hierarchical nesting pattern.
Data Source
AI summary
A computer-implemented method of classifying packets of data transmitted over a data communications network includes providing a memory-storable packet classifier rule defined by a plurality of filters, each filter uniquely corresponding to a one of a plurality of actions to be taken in transmitting the data packets over the data communications network; and classifying a data packet according to the packet classifier rule by generating at least one supernode trie subject to a predetermined constraint for reducing accesses to a memory in which the packet classifier rule is stored. A system including a combination of hardware and software modules is provided for carrying out the method. A computer-readable storage medium is also provided for storing a computer program for carrying out the method.