Packet Processing Graphs Using N-Type Match Clusters
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current packet classification techniques in network elements, such as routers and switches, face challenges with search speed and cache memory requirements, especially as the number of rules and rule criteria increase, leading to performance issues with high packet rates and frequent updates.
Innovation Solution
The method involves generating a graph data structure with n-type and (n+m)-type match graph data objects, where each object represents classifier nodes connected through packet processing paths, optimizing the graph structure based on traffic profiles and rule criteria to reduce the number of intermediate nodes for high-traffic applications, thereby improving processing efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If the number of rules and rule criteria are increased to improve packet classification capability, then the classification accuracy is improved, but the search speed decreases significantly
Solution Approach 1:
The patent segments the packet classification problem by dividing the set of rules into multiple clusters, where each cluster is processed by a dedicated processor. This segmentation allows parallel processing of different rule sets, thereby maintaining high classification accuracy while improving search speed through concurrent operations.
Solution Approach 2:
The patent introduces a new dimension of processing by organizing rules into hierarchical clusters with multiple levels. The classification process traverses through cluster levels and processor levels simultaneously, adding dimensional structure to the search space. This dimensional organization enables more efficient navigation through the rule set without sacrificing classification completeness.
2Measurement precision
If the number of rules and rule criteria are increased to improve packet classification capability, then the classification accuracy is improved, but the cache memory requirements increase significantly
Solution Approach 1:
The patent segments the rule set into multiple clusters distributed across different processors, which reduces the cache memory requirement per processor. Each processor only needs to store the rules relevant to its cluster, thereby reducing individual cache requirements while collectively maintaining the full classification capability through distributed memory architecture.
Solution Approach 2:
The patent creates simplified copies of rule information in the form of cluster identifiers and processor mappings that are stored in cache, rather than storing complete rule definitions. This copying approach allows the system to maintain accurate classification capability while using significantly less cache memory, as only essential routing information needs to be cached rather than full rule sets.
3Adaptability or versatility
If frequent updates are carried out to support short-lived flows, then the adaptability is improved, but the performance of network elements is affected
Solution Approach 1:
The patent segments the rule update process by allowing individual clusters to be updated independently without requiring full system reconfiguration. This segmentation enables frequent updates to specific rule clusters while other clusters continue processing packets, thereby maintaining high adaptability while preserving overall network element performance through partial updates.
Solution Approach 2:
The patent implements dynamic rule cluster allocation where processors can be reassigned to different clusters based on current traffic patterns and update requirements. This dynamic reorganization allows the system to adapt frequently to changing flow characteristics while maintaining optimal performance by dynamically adjusting the processing architecture to match current workload demands.
Data Source
AI summary
A graph data structure for a packet processing system is generated. The structure comprises graph data objects representing classifier nodes of a packet processing graph. The classifier nodes include a root node and leaf nodes. The root node is connected to each of the leaf nodes through respective corresponding packet processing paths through the graph. Each graph data object includes node match data indicative of at least one match to be applied by the respective classifier node. One or more n-type match graph data objects are identified, which include node match data indicative of an n-type match corresponding to content from n header field types. One or more (n+m)-type match graph data objects are identified, which include node match data indicative of an (n+m)-type match corresponding to a combination of content from a (n+m) different header field types. n and m are integer values of 1 or more.


