Fingerprint Hash Table for Packet Classification Memory Optimization
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Reliability
If complete fingerprints are stored in the hash table, then false positive rate is reduced, but memory consumption increases
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.
3Measurement precision
If longer keys are used for packet classification, then classification precision is improved, but processing time increases
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.
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.
Data Source
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.


