Packet Classification Using Partitioned Recursive Flow Tables

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing packet classification methods face challenges in reducing memory access and improving search speed, particularly due to the exponential increase in memory usage and table generation time with the number of rules, which affects packet processing speed and efficiency.

Innovation Solution

The method partitions the total rule set into sub-rule sets based on key values, generates Recursive Flow Classification (RFC) tables for each subset, and loads both partition and RFC table information on the same cache line, allowing for simultaneous search and reducing memory access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the Recursive Flow Classification (RFC) algorithm is used for packet classification, then packet classification speed is improved, but memory usage and table generation time increase exponentially with the number of rules

Engineering Contradiction:
Improvepacket classification speedVSAvoidmemory usage
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent divides the total rule set into multiple sub-rule sets based on key field values (such as protocol type, source/destination port ranges). Each sub-rule set is then processed independently to generate separate RFC tables. This segmentation reduces the size of individual RFC tables and their corresponding memory requirements, while maintaining the overall classification capability through hierarchical lookup.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimensional structure by organizing RFC tables in a hierarchical manner with multiple levels. Instead of a single flat RFC table, the system creates a multi-dimensional structure where classification proceeds through successive levels of RFC tables, each handling a portion of the rule space. This dimensional transformation reduces memory access requirements at each level.

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

2Speed

If the Recursive Flow Classification (RFC) algorithm is used for packet classification, then packet classification speed is improved, but table generation time increases exponentially with the number of rules

Engineering Contradiction:
Improvepacket classification speedVSAvoidtable generation time
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The patent divides the total rule set into multiple sub-rule sets based on key field values (such as protocol type, source/destination port ranges). Each sub-rule set is then processed independently to generate separate RFC tables. This segmentation reduces the size of individual RFC tables and their corresponding memory requirements, while maintaining the overall classification capability through hierarchical lookup.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary partitioning of the rule set into sub-rule sets before generating RFC tables. This preliminary organization allows subsequent RFC table generation to operate on smaller, more manageable subsets of rules, significantly reducing the time required for table construction while maintaining classification effectiveness.

Inventive Principle:
Principle #10Preliminary action

3Quantity of substance

If partitioning technique is used to divide total rule set into small sub rule sets, then RFC table size and generation time are reduced, but search performance is lowered due to additional searching processes

Engineering Contradiction:
ImproveRFC table sizeVSAvoidsearch performance
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

The patent performs preliminary partitioning of the rule set into sub-rule sets based on key field values before RFC table generation. This pre-organization allows the system to quickly determine which sub-rule set applies to a given packet, enabling efficient hierarchical lookup without requiring extensive searching through multiple partition structures.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a new dimensional structure by organizing RFC tables in a hierarchical manner with multiple levels. Instead of a single flat RFC table, the system creates a multi-dimensional structure where classification proceeds through successive levels of RFC tables, each handling a portion of the rule space. This dimensional transformation reduces memory access requirements at each level.

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

Data Source

PatentUS9240959B2Method for packet classification and device therefor
Publication Date: 2016.01.19 SECUI COM CORP
  • US9240959B2 patent drawing
  • US9240959B2 patent drawing
  • US9240959B2 patent drawing

AI summary

Disclosed are a method of packet classification and a device thereof. A method for packet classification according to one embodiment of the present invention comprises the steps of: partitioning the entire rule set by using key values corresponding to packet fields, into a plurality of rule subsets; generating recursive flow classification (RFC) tables for each of the plurality of partitioned rule subsets; loading, in the same cache line, both partition information and RFC table information commonly corresponding to key values of received packets; searching for a rule subset by using the partition information on the key values of the received packets, which are loaded in the cache line; and searching for an RFC table for a rule by using the RFC table information on the key values of the received packets, which are loaded in the cache line.