Packet Flow Classification via Prefetching and Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computing systems face inefficiencies in packet flow classification due to the high speed and large volumes of data packets, which traditional methods struggle to process effectively, leading to suboptimal performance in data lookup operations.

Innovation Solution

The implementation of a computing device that utilizes a hash table with multiple buckets to classify data packets by generating a key based on packet fields, applying a hash function to map these keys to fixed-size signatures, and performing out-of-order execution to prefetch data, thereby optimizing memory access and reducing latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If traditional data lookup methods are used to classify packet flows, then the system can handle packet classification, but the processing speed is insufficient due to the high volume and rapid transmission of data packets

Engineering Contradiction:
Improvepacket classification speedVSAvoiddata processing throughput
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent segments the data lookup process into multiple stages (e.g., filtering stage, matching stage) and divides the data structure into hierarchical levels. This segmentation allows parallel processing of different packet subsets simultaneously, increasing classification speed without sacrificing accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary actions by pre-computing and storing intermediate results in hierarchical data structures (such as prefix trees or bloom filters) before actual packet classification occurs. This enables faster lookup during runtime by avoiding redundant computations, directly addressing the speed-throughput contradiction.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If comprehensive data comparison is performed to ensure accurate packet classification, then classification accuracy is maintained, but the time required for lookup operations increases

Engineering Contradiction:
Improveclassification accuracyVSAvoidlookup operation time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent applies partial action by implementing multi-stage filtering where not all packets require full comparison. Quick-filter mechanisms (such as bloom filters or range checks) perform partial matching to eliminate obvious non-matches, while only promising candidates undergo complete verification. This maintains accuracy for positive matches while reducing average lookup time.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The lookup process is segmented into progressive stages of increasing specificity. Early stages perform coarse-grained filtering with minimal time cost, and subsequent stages perform finer-grained matching only on packets that passed previous stages. This hierarchical segmentation preserves classification accuracy while minimizing total lookup time through early elimination of non-matching packets.

Inventive Principle:
Principle #1Segmentation

3Device complexity

If simple lookup structures are used to reduce complexity, then the system is easier to implement, but it cannot effectively handle large volumes of high-speed data packets

Engineering Contradiction:
Improvelookup structure complexityVSAvoidpacket processing capacity
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent employs nested data structures where simpler structures are embedded within more complex ones (e.g., bloom filters nested within trie structures, or hash tables nested within hierarchical trees). This nesting allows the system to maintain manageable complexity at each layer while achieving high processing capacity through the combined power of multiple structured approaches, directly resolving the complexity-capacity contradiction.

Inventive Principle:
Principle #7Nested doll (Nesting)

Data Source

PatentUS10455063B2Packet flow classification
Publication Date: 2019.10.22 INTEL CORP
  • US10455063B2 patent drawing
  • US10455063B2 patent drawing
  • US10455063B2 patent drawing

AI summary

Technologies for packet flow classification on a computing device include a hash table including a plurality of hash table buckets in which each hash table bucket maps a plurality of keys to corresponding traffic flows. The computing device performs packet flow classification on received data packets, where the packet flow classification includes a plurality of sequential classification stages and fetch classification operations and non-fetch classification operations are performed in each classification stage. The fetch classification operations include to prefetch a key of a first received data packet based on a set of packet fields of the first received data packet for use during a subsequent classification stage, prefetch a hash table bucket from the hash table based on a key signature of the prefetched key for use during another subsequent classification stage, and prefetch a traffic flow to be applied to the first received data packet based on the prefetched hash table bucket and the prefetched key. The computing device handles processing of received data packets such that a fetch classification operation is performed by the flow classification module on the first received data packet while a non-fetch classification operation is performed by the flow classification module on a second received data packet.