Packet Processing Graphs Using N-Type Match Clusters

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvepacket classification accuracyVSAvoidsearch speed
Core Design Contradiction:
Measurement precisionVSSpeed

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

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

Engineering Contradiction:
Improvepacket classification accuracyVSAvoidcache memory requirements
Core Design Contradiction:
Measurement precisionVSQuantity of substance

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #26Copying

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

Engineering Contradiction:
Improveupdate frequencyVSAvoidnetwork element performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11423084B2Generating packet processing graphs
Publication Date: 2022.08.23 MICROSOFT TECHNOLOGY LICENSING LLC
  • US11423084B2 patent drawing
  • US11423084B2 patent drawing
  • US11423084B2 patent drawing

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.