FPGA Protocol Recognition System Using Pattern Matching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional protocol recognition systems are inefficient in determining application layer protocols of IP packets, requiring lengthy pattern matching processes and large hardware configurations, making them costly and time-consuming to update with new protocols or changes.
Innovation Solution
A recognition system that uses a data memory to store characteristic patterns of protocols and a pattern-matching processor to compare data packets with these patterns, allowing for rapid identification of protocols through a series of logical comparisons and address pointers, enabling quick adaptation to new protocols without reconfiguring the hardware.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If a conventional protocol recognition system uses a universal computer with pattern matching software, then the system can determine protocols of IP packets, but the recognition speed is too slow
Solution Approach 1:
The patent replaces the mechanical software-based pattern matching system with a hardware circuit implementation in FPGA. The HDL program is compiled to hardware logic that performs pattern matching in parallel, substituting sequential software processing with concurrent hardware processing, thereby dramatically increasing recognition speed.
Solution Approach 2:
The patent implements dynamic pattern matching capabilities where the hardware circuit can be reconfigured through HDL programming to adapt to new protocols. The system uses configurable logic elements and memory structures that can be dynamically programmed to recognize different protocol patterns without physical hardware changes.
2Speed
If a large FPGA is configured to load the hardware circuit, then the protocol recognition can be performed in hardware, but the size and cost of the recognition system increase
Solution Approach 1:
The patent segments the pattern matching function into modular hardware components within the FPGA. The HDL program is structured to create reusable logic blocks and state machines that can be efficiently packed into the FPGA fabric, reducing the overall resource requirements while maintaining high-speed hardware processing.
Solution Approach 2:
The patent optimizes the hardware circuit parameters through careful HDL programming, including adjusting logic depth, pipeline stages, and resource utilization to achieve the desired processing speed with minimal FPGA footprint. The design parameters are tuned to balance performance and resource consumption.
3Reliability
If an HDL program is written for the hardware circuit, then the system can process IP packets to determine protocols, but it takes a relatively long time to write the HDL program due to the complicated design
Solution Approach 1:
The patent employs preliminary action by establishing a systematic HDL programming framework and reusable code templates for protocol recognition. Common protocol patterns are pre-implemented as parameterized modules that can be quickly instantiated and configured, significantly reducing the time required to develop HDL programs for new protocols.
4Adaptability or versatility
If the HDL program is re-written to accommodate new protocols or pattern changes, then the system can recognize new protocols, but it takes a relatively long time to re-write the program
Solution Approach 1:
The patent implements universal protocol recognition capabilities through parameterized HDL modules that can recognize multiple protocols by configuring input patterns and matching criteria. The hardware circuit is designed with generic state machines and pattern matching engines that can be programmed to handle different protocol families, eliminating the need for complete rewrites when adding new protocols.
Solution Approach 2:
The patent creates a dynamic and reconfigurable hardware architecture where protocol recognition patterns can be updated by loading new HDL configurations. The system uses configurable logic elements and memory structures that can be dynamically programmed to recognize different protocol patterns without physical hardware changes, enabling rapid adaptation to new protocols.
Data Source
AI summary
A recognition system for recognizing a data packet includes a data memory for storing data units in a predetermined order. A first data unit includes an instruction for determining a characteristic of the data packet. The first data unit also includes the total number of the data units, and a corresponding sequence number for the first data unit. The recognition system further includes a matching processor coupled to the data memory. The matching processor can execute the instruction in the first data unit to generate a result. The matching processor can also provide an address pointer according to the execution result, the total number of the data units, and the corresponding sequence number of the first data unit.


