Cuckoo Hash Table Flow Classification for Switches

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current flow classification techniques, such as tuple space search, face inefficiencies due to sequential sub-table searches and memory inefficiencies, especially in software-defined networking environments with limited hardware resources, leading to increased processing overhead and reduced functionality.

Innovation Solution

Implementing a cuckoo hash table with a cuckoo distributor scheme as a first-level lookup to quickly direct incoming flow searches to the correct sub-table, reducing the need for sequential searches and minimizing memory usage by using a hierarchical approach and unmasked full keys for faster packet processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If sequential sub-table searches are used for flow classification, then comprehensive flow matching can be achieved, but processing speed and operating efficiency deteriorate

Engineering Contradiction:
Improveflow classification accuracyVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the flow classification problem into multiple sub-tables organized in a hierarchical structure. Each sub-table handles specific flow types or protocols, allowing parallel processing of different packet categories. This segmentation enables the system to avoid sequential searching of the entire rule set by directing packets to appropriate sub-tables based on initial classification criteria.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary indexing structure that maps packet characteristics to relevant sub-tables. This intermediary layer performs preliminary filtering and routing packets to the most likely matching sub-tables, reducing the search space and eliminating the need for exhaustive sequential searches across all sub-tables.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If traditional hash tables are used for flow classification, then memory usage increases, but search speed improves

Engineering Contradiction:
Improvesearch speedVSAvoidmemory usage
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent divides the traditional large hash table into multiple smaller sub-tables organized hierarchically. Each sub-table stores only the flow rules relevant to specific packet types or protocols. This segmentation reduces the memory footprint of each individual table while maintaining fast search performance within each subset, avoiding the need to load entire rule sets into memory simultaneously.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from a single-dimensional hash table structure to a multi-dimensional hierarchical structure. Flow rules are organized across multiple dimensions including protocol type, packet direction, and priority levels. This dimensional organization allows the system to search smaller subsets of rules by navigating through hierarchical layers, reducing memory requirements while maintaining O(1) search complexity within each dimension.

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

Data Source

PatentUS11811660B2Flow classification apparatus, methods, and systems
Publication Date: 2023.11.07 INTEL CORP
  • US11811660B2 patent drawing
  • US11811660B2 patent drawing
  • US11811660B2 patent drawing

AI summary

Apparatus, methods, and systems for tuple space search-based flow classification using cuckoo hash tables and unmasked packet headers are described herein. A device can communicate with one or more hardware switches. The device can include memory to store hash table entries of a hash table. The device can include processing circuitry to perform a hash lookup in the hash table. The lookup can be based on an unmasked key include in a packet header corresponding to a received data packet. The processing circuitry can retrieve an index pointing to a sub-table, the sub-table including a set of rules for handling the data packet. Other embodiments are also described.