Hardware Classification Engine for High-Speed Packet Traffic
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing traffic classification methods in 4G and 5G telecommunications systems are computationally burdensome and impractical, especially under high throughput conditions, due to their reliance on software-defined rules.
Innovation Solution
A hardware-implemented classification engine uses a lookup table in memory to classify data packets by applying a hash function to generate hash codes, which are then used to determine the appropriate class for each data packet, reducing reliance on software-defined rules.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If software-defined rules are used for traffic classification, then flexibility and adaptability are improved, but processing speed and computational efficiency deteriorate
Solution Approach 1:
The patent replaces software-defined rules with a hardware-implemented classification engine that uses a lookup table and hash function. This substitution of mechanical/hardware system for software system achieves high-speed classification (resolving the speed issue) while maintaining classification flexibility through configurable lookup tables (preserving adaptability).
Solution Approach 2:
The patent creates a hardware copy of the classification logic in the form of a lookup table stored in memory. This copy enables parallel processing and high-speed access while the underlying classification rules can be updated in the lookup table to maintain flexibility.
2Adaptability or versatility
If software-defined rules are used for traffic classification, then adaptability is improved, but power consumption increases
Solution Approach 1:
The patent replaces power-intensive software processing with a hardware classification engine that performs lookups in parallel. This hardware implementation significantly reduces power consumption while maintaining classification adaptability through configurable lookup tables that can be updated without changing the hardware architecture.
3Adaptability or versatility
If software-defined rules are used for traffic classification, then flexibility is improved, but device complexity increases
Solution Approach 1:
The patent replaces complex software processing logic with a simpler hardware architecture consisting of a classification engine, hash function generator, and lookup table. This hardware implementation reduces system complexity by eliminating the need for software execution while maintaining flexibility through configurable lookup tables.
4Productivity
If high throughput classification is achieved, then productivity is improved, but processing delay increases
Solution Approach 1:
The patent pre-computes and stores classification results in a lookup table before actual classification is needed. When a data packet arrives, the classification engine simply performs a hash computation and table lookup, which are extremely fast operations. This preliminary action enables high throughput without increasing processing delay.
Solution Approach 2:
The hardware implementation of the classification engine with dedicated hash function generators and parallel lookup capabilities enables simultaneous processing of multiple packets, achieving high throughput while maintaining low latency through direct hardware access rather than software processing.
Data Source
AI summary
Introduced here are approaches to classifying traffic that comprises data packets. For each data packet, a classification engine implemented on a computing device can identify an appropriate class from amongst multiple classes using a lookup table implemented in a memory. The memory could be, for example, static random-access memory (SRAM) as further discussed below. Moreover, the classification engine may associate an identifier with each data packet that specifies the class into which the data packet has been assigned. For example, each data packet could have an identifier appended thereto (e.g., in the form of metadata). Then, the data packets can be placed into queues based on the identifiers. Each queue may be associated with a different identifier (and thus a different class).


