The Community for Technology Leaders
RSS Icon
Subscribe
Issue No.07 - July (2009 vol.58)
pp: 984-993
Tsern-Huei Lee , National Chiao Tung University, Hsinchu, Taiwan
ABSTRACT
This paper presents a bitmap-based hardware architecture for the Glushkov nondeterministic finite automaton (G-NFA), which recognizes a given regular expression. We show that the inductions of the functions needed to construct the G-NFA can be generalized to include other special symbols commonly used in extended regular expressions such as the POSIX 1003.2 format. Our proposed implementation can detect the ending positions of all substrings of an input string T, which start at arbitrary positions of T and belong to the language defined by the given regular expression. To achieve high performance, the implementation is generalized to the NFA, which processes K symbols in each operation cycle. We provide an efficient solution for the boundary condition when the length of the input string is not an integral multiple of K. Compared with previous designs, our proposed architecture is more flexible and programmable because the pattern matching engine uses memory rather than logic.
INDEX TERMS
Hardware acceleration, nondeterministic finite automaton, regular expression.
CITATION
Tsern-Huei Lee, "Hardware Architecture for High-Performance Regular Expression Matching", IEEE Transactions on Computers, vol.58, no. 7, pp. 984-993, July 2009, doi:10.1109/TC.2008.145
REFERENCES
[1] SNORT, http:/www.snort.org, 2008.
[2] A.V. Aho and M.J. Corasick, “Efficient String Matching: An Aid to Bibliography Search,” Comm. ACM, vol. 18, no. 6, pp. 333-340, 1975.
[3] N. Tuck, T. Sherwood, B. Calder, and G. Varghese, “Deterministic Memory-Efficient String Matching Algorithms for Intrusion Detection,” Proc. IEEE INFOCOM '04, pp. 333-340, 2004.
[4] L. Tan and T. Sherwood, “A High Throughput String Matching Architecture for Intrusion Detection and Prevention,” Proc. Int'l Soc. Computers and Their Applications (ISCA), 2005.
[5] Y. Sugawara, M. Inaba, and K. Hiraki, “Over 10 Gbps String Matching Mechanism for Multi-Stream Packet Scanning Systems,” Proc. 14th Int'l Conf. Field Programmable Logic and Applications (FPL), 2004.
[6] T.H. Lee and J.C. Liang, “A High-Performance Memory-Efficient Pattern Matching Algorithm and Its Implementation,” Proc. IEEE Technical Conf. (TENCON), 2006.
[7] I. Sourdis and D. Pnevmatikatos, “Pre-Decoded CAMs for Efficient and High-Speed NIDS Pattern Matching,” Proc. 12th Ann. IEEE Symp. Field-Programmable Custom Computing Machines (FCCM), 2004.
[8] S. Dharmapurikar and J. Lockwood, “Fast and Scalable Pattern Matching for Content Filtering,” Proc. ACM/IEEE Symp. Architecture for Networking and Comm. Systems (ANCS), 2005.
[9] S. Yusuf and W. Luk, “Bitwise Optimized CAM for Network Intrusion Detection Systems,” Proc. 15th Int'l Conf. Field Programmable Logic and Applications (FPL), 2005.
[10] S. Kim, “Pattern Matching Acceleration for Network Intrusion Detection Systems,” Proc. Fifth Int'l Workshop Embedded Computer Systems: Architectures, Modeling, and Simulation (SAMOS), 2005.
[11] D. Kim, S. Kim, L. Choi, and H. Kim, “A High-Throughput System Architecture for Deep Packet Filtering in Network Intrusion Prevention,” Proc. 19th Int'l Conf. Architecture of Computing Systems (ARCS), 2006.
[12] H.C. Roan, W.J. Hwang, and C.T. Lo, “Shift-Or Circuit for Efficient Network Intrusion Detection Pattern Matching,” Proc. 16th Int'l Conf. Field Programmable Logic and Applications (FPL), 2006.
[13] R.A. Baeza-Yates and G.H. Gonnet, “A New Approach to Text Searching,” Proc. ACM 12th Int'l Conf. Research and Development in Information Retrieval (SIGIR), 1989.
[14] R.W. Floyd and J.D. Ullman, “The Compilation of Regular Expression into Integrated Circuits,” J. ACM, vol. 29, no. 3, pp. 603-622, July 1982.
[15] R. Sidhu and V.K. Prasanna, “Fast Regular Expression Matching Using FPGAs,” Proc. Ninth IEEE Symp. Field-Programmable Custom Computing Machines (FCCM), 2001.
[16] C.R. Clark and D.E. Schimmel, “Efficient Reconfigurable Logic Circuit for Matching Complex Network Intrusion Detection Patterns,” Proc. 13th Int'l Conf. Field Programmable Logic and Applications (FPL), 2003.
[17] J. Moscola et al., “Implementation of a Content-Scanning Module for an Internet Firewall,” Proc. IEEE Workshop FPGAs for Custom Computing Machines, Apr. 2003.
[18] S. Kumar et al., “Algorithms to Accelerate Multiple Regular Expressions Matching for Deep Packet Inspection,” Proc. ACM SIGCOMM, 2006.
[19] V.M. Glushkov, “The Abstract Theory of Automata,” Russian Math. Surveys, vol. 16, pp. 1-53, 1961.
[20] POSIX 1003.2 Regular Expressions, ISO/IEC 9945, 2003.
[21] J.E. Hopcroft and J.D. Ullman, Introduction to Automata Theory, Languages, and Computation. Addison Wesley, 1979.
20 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool