Fingerprint Hash Table for Packet Classification Memory Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current packet classification methods in communications networks face inefficiencies due to large memory requirements and slow transmission speeds when handling millions of data packets, especially in scenarios like distributed denial of service attacks, where long keys and extensive data structures compromise network speed.

Innovation Solution

The implementation of a fingerprint hash table that stores only a portion of the fingerprint and its associated packet handling metadata, using a fingerprint hash function to reduce memory requirements and accommodate packets of varying lengths, while managing the probability of false positives through appropriate bit length selection.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional packet classification methods store complete keys and data structures, then classification accuracy is maintained, but memory requirements increase and transmission speed decreases

Engineering Contradiction:
Improvepacket transmission speedVSAvoidmemory requirements
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent divides the complete fingerprint into multiple segments: an index portion stored in the hash table for quick access, and a remainder portion stored separately. This segmentation allows the system to use only the necessary index portion for classification decisions, reducing memory requirements while maintaining classification accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts only the essential index portion of the fingerprint from the complete fingerprint and stores it in the hash table. The remainder is stored separately or discarded, allowing the system to achieve fast classification with reduced memory usage while still maintaining sufficient classification accuracy.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If complete fingerprints are stored in the hash table, then false positive rate is reduced, but memory consumption increases

Engineering Contradiction:
Improveclassification accuracyVSAvoidmemory consumption
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent uses only a partial portion of the complete fingerprint (the index portion) for classification. While this partial action increases the probability of false positives compared to using the complete fingerprint, the system manages this trade-off by selecting an appropriate index length that balances memory constraints with acceptable classification accuracy.

Inventive Principle:
Principle #16Partial or excessive action

3Measurement precision

If longer keys are used for packet classification, then classification precision is improved, but processing time increases

Engineering Contradiction:
Improvepacket classification precisionVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent segments the classification process into two stages: first using a short index portion for rapid initial filtering, and then using the complete fingerprint only when necessary for final verification. This segmentation dramatically reduces average processing time while maintaining classification precision for positive matches.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent enables the system to skip the time-consuming complete fingerprint comparison in most cases by using the short index for quick rejection of non-matching packets. This allows the system to rush through the classification process for the majority of packets while maintaining precision for actual matches.

Inventive Principle:
Principle #21Skipping (Rushing through)

Data Source

PatentUS11310158B2Packet classification using fingerprint hash table
Publication Date: 2022.04.19 CORSA TECH INC
  • US11310158B2 patent drawing
  • US11310158B2 patent drawing
  • US11310158B2 patent drawing

AI summary

A key is descriptive of a data packet, and a fingerprint hash function is applied to such a key to generate a fixed length fingerprint of the key. An index value is determined based on a portion of the fingerprint. A hash table could be populated by storing in a memory, at a memory location associated with the index value: a remainder of the fingerprint other than the portion of the fingerprint that was used to determine the index value, to indicate that data packets consistent with the key are to be handled in accordance with packet handling metadata. During packet processing, if a memory location associated with an index value stores a remainder of the fingerprint other than the portion of the fingerprint that was used to determine the index value, a data packet is handled according to packet handling metadata associated with the fingerprint.