A multiple string matching algorithm based on memory optimization

被引:0
|
作者
Liu, Yanbing [1 ,2 ]
Liu, Ping [1 ]
Tan, Jianlong [1 ]
Guo, Li [1 ]
机构
[1] Institute of Computing Technology, Chinese Academy of Sciences, Beijing 100190, China
[2] Graduate University of Chinese Academy of Sciences, Beijing 100049, China
关键词
Intrusion detection - Trees (mathematics) - Automata theory - Cache memory - Computer viruses - Computer system firewalls - Network security - Pattern matching - Speed - Forestry;
D O I
暂无
中图分类号
学科分类号
摘要
Multiple string matching algorithms play a fundamental role in many network security systems, such as intrusion detection and prevention systems, anti-virus systems, anti-spam systems, firewall, etc. It has been observed that the memory space usage and cache locality of automata are critical factors affecting multiple string matching algorithms' searching speed. As the pattern set size grows larger and larger, classical multiple string matching algorithms suffer from great performance degradation because of the massive storage usage of string matching automata. The authors propose optimization strategies for the classical string matching algorithm SBOM to reduce its automata size and improve its cache locality, which results in a great promotion in searching speed. More specifically, the Factor Oracle of SBOM algorithm is first replaced with a suffix tree structure, and then the rarely accessed automata nodes are removed through the pruning method to reduce suffix tree to nearly linear space complexity, and finally the pruned suffix tree is represented with double-array trie structure to compress its memory space. Compared with SBOM, this algorithm can greatly reduce memory usage and improve searching speed. Experiments on random data sets show that the proposed algorithm uses memory less than 5% of SBOM and achieves 100% performance improvement over SBOM algorithm. The proposed algorithm is especially suitable for high-speed online pattern matching.
引用
收藏
页码:1768 / 1776
相关论文
共 50 条
  • [21] A Memory-Access-Efficient Implementation of the Approximate String Matching Algorithm on GPU
    Nunes, Lucas S. N.
    Bordim, J. L.
    Nakano, K.
    Ito, Y.
    2016 FOURTH INTERNATIONAL SYMPOSIUM ON COMPUTING AND NETWORKING (CANDAR), 2016, : 483 - 489
  • [22] q-gram hash comparison based multiple exact string matching algorithm for DNA sequences
    Karcioglu, Abdullah Ammar
    Bulut, Hasan
    JOURNAL OF THE FACULTY OF ENGINEERING AND ARCHITECTURE OF GAZI UNIVERSITY, 2023, 38 (02): : 875 - 888
  • [23] A Parallel Algorithm of Multiple String Matching Based on Set-Partition in Multi-core Architecture
    Liu, Jiahui
    Li, Fangzhou
    Sun, Guanglu
    INTERNATIONAL JOURNAL OF SECURITY AND ITS APPLICATIONS, 2016, 10 (04): : 267 - 278
  • [24] Universal data compression algorithm based on approximate string matching
    Sadeh, I
    PROBABILITY IN THE ENGINEERING AND INFORMATIONAL SCIENCES, 1996, 10 (04) : 465 - 486
  • [25] A Fast String Matching Algorithm Based on Lowlight Characters in the Pattern
    Cao, Zhengjun
    Yan, Zhenzhen
    Liu, Lihua
    2015 SEVENTH INTERNATIONAL CONFERENCE ON ADVANCED COMPUTATIONAL INTELLIGENCE (ICACI), 2015, : 179 - 182
  • [26] A Very Fast String Matching Algorithm Based on Condensed Alphabets
    Faro, Simone
    ALGORITHMIC ASPECTS IN INFORMATION AND MANAGEMENT, 2016, 9778 : 65 - 76
  • [27] Experiments on string matching in memory structures
    Lecroq, T
    SOFTWARE-PRACTICE & EXPERIENCE, 1998, 28 (05): : 561 - 568
  • [28] A space efficient bit-parallel algorithm for the multiple string matching problem
    Cantone, Domenico
    Faro, Simone
    INTERNATIONAL JOURNAL OF FOUNDATIONS OF COMPUTER SCIENCE, 2006, 17 (06) : 1235 - 1251
  • [29] A Multiple String and Pattern Matching Algorithm Using Context-Free Grammar
    Kumar, Sarvesh
    Singh, Sonali
    Khatoon, Arfiha
    Agarwal, Swati
    EMERGING TRENDS IN EXPERT APPLICATIONS AND SECURITY, 2019, 841 : 97 - 102
  • [30] New Shift table Algorithm For Multiple Variable Length String Pattern Matching
    Kanuga, Punit
    2015 INTERNATIONAL CONFERENCED ON CIRCUITS, POWER AND COMPUTING TECHNOLOGIES (ICCPCT-2015), 2015,