TY - GEN
T1 - Compact DFA structure for multiple regular expressions matching
AU - Lin, Wei
AU - Tang, Yi
AU - Liu, Bin
AU - Pao, Derek
AU - Wang, XiaoFei
PY - 2009
Y1 - 2009
N2 - New applications such as real-time deep packet inspection require high-speed regular expression (regex) matcher, and the number of regexes in pattern store is increasing to several thousands, which requires a memory efficient solution. In this paper, a kind of hardware based compact DFA structure for multiple regexes matching called CPDFA is presented. According to statistics of regexes in Snort and L7-filter rules, transitions from each state to its next states are not evenly distributed. The summation of transitions from each state to its top three most popular next states takes about 90% of all the transitions. Therefore, CPDFA employs an indirect index table to represent transitions to top three most popular next states more efficiently. The remaining transitions which take about 10% of all the transitions are stored in direct transition table or K parallel SRAMs according to the number of remaining transitions from the same state is more than K or not. Simulation shows that CPDFA structure can save about 90% of memory storage comparing with the original DFA structure. By using pipelined architecture in FPGA, CPDFA can advance one character in one memory access cycle. ©2009 IEEE.
AB - New applications such as real-time deep packet inspection require high-speed regular expression (regex) matcher, and the number of regexes in pattern store is increasing to several thousands, which requires a memory efficient solution. In this paper, a kind of hardware based compact DFA structure for multiple regexes matching called CPDFA is presented. According to statistics of regexes in Snort and L7-filter rules, transitions from each state to its next states are not evenly distributed. The summation of transitions from each state to its top three most popular next states takes about 90% of all the transitions. Therefore, CPDFA employs an indirect index table to represent transitions to top three most popular next states more efficiently. The remaining transitions which take about 10% of all the transitions are stored in direct transition table or K parallel SRAMs according to the number of remaining transitions from the same state is more than K or not. Simulation shows that CPDFA structure can save about 90% of memory storage comparing with the original DFA structure. By using pipelined architecture in FPGA, CPDFA can advance one character in one memory access cycle. ©2009 IEEE.
KW - Deep packet inspection
KW - Deterministic finite automata
KW - Indirect index
KW - Parallel SRAMs
KW - Regular expression matching
UR - https://www.scopus.com/pages/publications/70449467886
UR - https://www.scopus.com/record/pubmetrics.uri?eid=2-s2.0-70449467886&origin=recordpage
U2 - 10.1109/ICC.2009.5198833
DO - 10.1109/ICC.2009.5198833
M3 - RGC 32 - Refereed conference paper (with host publication)
SN - 9781424434350
BT - IEEE International Conference on Communications
T2 - 2009 IEEE International Conference on Communications, ICC 2009
Y2 - 14 June 2009 through 18 June 2009
ER -