Memory efficient algorithm and architecture for multi-pattern matching

Tian Song*, Dong Ni Li, Dong Sheng Wang, Yi Bo Xue

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

6 Citations (Scopus)

Abstract

Pattern matching is the main part of content inspection based network security systems, and it is widely used in many other applications. In practice, pattern matching methods for large scale sets with stable performance are in great demand, especially the architecture for online real-time processing. This paper presents a memory efficient pattern matching algorithm and architecture for a large scale set. This paper first proposes cached deterministic finite automata, namely CDFA, in the view of basic theory. By classifying transitions in pattern DFA, a new algorithm, ACC, based on CDFA is addressed. This algorithm can dynamically generate cross transitions and save most of memory resources, so that it can support large scale pattern set. Further, an architecture based on this method is proposed. Experiments on real pattern sets show that the number of transition rules can be reduced 80%~95% than the current most optimized algorithms. At the same time, it can save 40.7% memory space, nearly 2 times memory efficiency. The corresponding architecture in single chip can achieve about 11Gbps matching performance.

Original languageEnglish
Pages (from-to)1650-1665
Number of pages16
JournalRuan Jian Xue Bao/Journal of Software
Volume24
Issue number7
DOIs
Publication statusPublished - Jul 2013

Keywords

  • Finite state automata
  • Large scale
  • Network intrusion detection
  • Network security
  • Pattern matching

Fingerprint

Dive into the research topics of 'Memory efficient algorithm and architecture for multi-pattern matching'. Together they form a unique fingerprint.

Cite this