Abstract
Construction and deployment of finite state automata from the regular expressions might results in huge overhead and results in the state explosion problem which is in need of large memory space, high bandwidth and additional computational time. To overcome this problem, a new framework is proposed, and several intelligent optimization algorithms are reviewed and compared in this framework. The proposed approach is called intelligent optimization grouping algorithms (IOGA), which intends to group regular expression intelligently. IOGAs are used to allocate the regular expression sets into various groups and to build independent deterministic finite automata (DFA) for each group. Grouping the regular expression efficiently solves the state explosion problem by achieving large-scale best tradeoff among memory utilization and computational time. This study reviews and compares the various alternatives of IOGA including genetic algorithm, ant colony optimization, particle swarm optimization, bacterial foraging optimization, artificial bee colony algorithm, biogeography based optimization, cuckoo search, firefly algorithm, bat algorithm and flower pollination algorithm for solving the problem of DFA state explosion and also for improving the overall efficiency of deep packet inspection (DPI). The discussions state that by effectively using these grouping algorithms along with DFA based DPI, the number of states can be reduced, providing a balance between the memory consumption, time complexity, throughput, inspection speed, convergence speed and grouping time.
Similar content being viewed by others
References
Paxson V (1998) Bro: a system for detecting network intruders in real time. Comput Netw Int J Comput Telecommun Netw 31:2435–2463
Nitin T, Singh SR, Singh PG (2012) Intrusion detection and prevention system (IDPS) technology—network behavior analysis system (NBAS). ISCA J Eng Sci 1:151–156
Hopcroft JE, Motwani R, Ullman JD (2001) Introduction to automata theory, languages, and computation, 2nd edn. Addison-Wesley Series in Computer Science. Addison-Wesley, Longman, pp 1–521. ISBN 978-0-201-44124-6
Yu F, Chen Z, Diao Y, Lakshman TV, Katz RH (2006) Fast and memory-efficient regular expression matching for deep packet inspection. University of California at Berkeley, Technical Report No.UCB/EECS-2006-76. http://www.eecs.berkeley.edu/Pubs/TechRpts/2006/EECS-2006-76.html
Rohrer J, Atasu J, Van Lunteren J, Hagleitner C (2009) Memory-efficient distribution of regular expressions for fast deep packet inspection. In: Proceedings of the 7th IEEE/ACM international conference on hardware/software codesign and system synthesis. pp 147–154. https://doi.org/10.1145/1629435.1629456
Liu T, Liu AX, Shi J, Sun Y, Guo Li (2014) Towards fast and optimal grouping of regular expressions via DFA size estimation. IEEE J Sel Areas Commun 32:10
Konar A (2005) Computational intelligence: principles, techniques and applications. Springer, Berlin Heidelberg New York
Sumathi S, Ashok Kumar L, Surekha P (2015) Computational intelligence paradigms for optimization problems using Matlab/Simulink. CRC Press, Boca Raton
Koza JR (1992) Genetic programming on the programming of computers by means of natural selection. MIT Press, Cambridge
Dorigo M, Maniezzo V, Colorni A (1991) Positive feedback as a search strategy. Politecnico di Milano, Italy, Technical Report, Report No. 91-016
Kennedy J, Eberhart R (1995) Particle swarm optimization. In: Proceedings of IEEE international conference on neural networks. vol IV, pp 1942–1948
Passino KM (2001) Biomimicry of bacterial foraging for distributed optimization and control. IEEE Control Syst 22(3):52–67
Tereshko V, Loengarov A (2005) Collective decision making in honey-bee foraging dynamics. Comput Inf Syst 9:3
Simon D (2008) Biogeography-based optimization. IEEE Trans Evol Comput 12(6):702–713
Yang X-S, Deb S (2009) Cuckoo search via levy flights. In: Proceedings of world congress on nature and biologically inspired computing (NaBIC). IEEE Publications, USA
Yang X-S (2008) Nature-inspired metaheuristic algorithms, 2nd edn. University of Cambridge, Luniver Press, Cambridge
Yang XS (2010) A new metaheuristic bat-inspired algorithm. nature inspired cooperative strategies for optimization (NISCO 2010). Stud Comput Intell 284:65–74
Yang XS (2012) Flower pollination algorithm for global optimization. Unconventional computation and natural computation, lecture notes in computer science. vol 7445, pp 240–249
Gandomi AH, Alavi AH (2012) Krill herd: a new bio-inspired optimization algorithm. Commun Nonlinear Sci Numer Simul 17(12):4831–4845. https://doi.org/10.1016/j.cnsns.2012.05.010
Mirjalili S, Gandomi AH, Mirjalili SZ, Saremi S, Faris H, Mirjalili SM (2017) Salp swarm algorithm: a bio-inspired optimizer for engineering design problems. Adv Eng Softw 114:163–191. https://doi.org/10.1016/j.advengsoft.2017.07.002
Kleene SC (1951) Representation of events in nerve nets and finite automata. RAND Research Memorandum RM-704, RAND Corporation
Harrison MA (1978) Introduction to formal language theory. Addison-Wesley Longman Publishing Co., Inc, Boston
Roesch M (1999) Snort: light weight intrusion detection for networks. In: Proceedings of the 13th USENIX conference on system administration. pp 229–238
Levandoski J, Sommer E, Strait M, Application layer packet classifier for Linux. http://l7-filter.sourceforge.net/. Accessed 6 May 2018
Koza JR (1994) Genetic programming II, automatic discovery of reusable programs. MIT Press, Cambridge
Hopcroft JE (1971) An nlogn algorithm for minimizing states in a finite automaton. The Theory of Machines and Computations. Academic, New York, pp 189–196
Sidhu R, Prasanna VK (2001) Fast regular expression matching using FPGAs. In: Proceedings of the 9th annual IEEE symposium on field-programmable custom computing machines. pp 227–238
Prithi S, Sumathi S (2016) A review on deterministic finite automata compression strategies for deep packet inspection. Int J Innov Adv Comput Sci 5:6
Laptev N, Mousavi H, Shkapsky A, Zaniolo C (2012) Optimizing regular expression clustering for massive pattern search. UCLA Technical Report # 120005
Aho AV, Corasick MJ (1975) Efficient string matching: an aid to bibliographic search. Commun ACM 18:6333–6340
Wu S, Manber U (1994) A fast algorithm for multi pattern searching. Technical Report TR-94-17, University of Arizona
Commentz-Walter B (1979) A string matching algorithm fast on the average. In: Proceedings of ICALP. pp 118–132
Fu Z, Li J (2014) Spectral clustering based regular expression grouping. ANCS’14
Fu Z, Wang K, Cai L, Li J (2014) Intelligent grouping algorithms for regular expressions in deep inspection. IEEE/ACM Trans Netw 22:2
Becchi M, Cadambi S (2007) Memory—efficient regular expression search using state merging. In: Proceedings of IEEE INFOCOM
Yu X, Lin B, Becchi M (2014) revisiting state blow up: automatically building augmented-FA while preserving functional equivalence. IEEE J Sel Areas Commun 32:10
Becchi M, Crowley P (2013) A-DFA: a time-and space-efficient DFA compression algorithm for fast regular expression evaluation. ACM Trans Archit Code Optim 10:1. https://doi.org/10.1145/2445572.2445576
Holland JH (1975) Adaptation in natural and artificial systems. University of Michigan Press, Ann Arbor
Darwin C (1859) On the origin of species, 6th edn. http://www.gutenberg.org/etext/1228. Accessed 05 Aug 2007
Sumathi S, Surekha P (2010) Computational intelligence paradigms theory and applications using MATLAB. CRC Press, Boca Raton
Mabu S, Hirasawa K, Hu J (2007) A graph-based evolutionary algorithm: genetic network programming (GNP) and its extension using reinforcement learning. Evol Comput 15(3):369–398
Yang XS, Cui ZH, Xiao RB, Gandomi AH, Karamanoglu M (2013) Swarm intelligence and bio-inspired computation: theory and applications. Elsevier, London
Fabera V, Janes V, Janesova M (2006) Automata construct with genetic algorithm. In: Proceedings of 9th Euromicro conference on digital system design. pp 460–463
Niparnan N, Chongstitvatana P (2002) An improved genetic algorithm for the inference of finite state machine. IEEE Int. Conf Syst Man Cybern 7:5. https://doi.org/10.1109/icsmc.2002.1175719
Goldberg DE, Deb K (1991) A comparative analysis of selection schemes used in genetic algorithms. Urbana 51:61801–62996
Chivilikhin D, Ulyantsev V (2012) Learning finite state machines with ant colony optimization. In: Proceedings of 8th international conference on swarm intelligence. vol 7461, pp 268–275
Chivilikhin D, Ulyantsev V, Tsarev F (2012) Test-based extended finite-state machines induction with evolutionary algorithms and ant colony optimization. In: GECCO (Companion). pp 603–606
Janakiriman S, Vasudevan V (2009) ACO based distributed intrusion detection system. Int J Digit Content Technol Appl 3(1):66–72
Wang J, Hong X, Ren R, Li T (2009) A real-time intrusion detection system based on PSO-SVM. In: Proceedings of international workshop on information security and application. IWISA, Qingdao, China
Gandomi AH, Yang X-S, Talatahari S, Alavi AH (2013) Metaheuristic Algorithms in modeling and optimization. In: Metaheuristic applications in structures and infrastructures. pp 1–24. https://doi.org/10.1016/B978-0-12-398364-0.00001-2
Robinson J, Rahmat-Samii Y (2004) Particle swarm optimization in electromagnetics. IEEE Trans Antennas Propag 52:2
Djemame S, Batouche M (2012) Combining cellular automata and particle swarm optimization for edge detection. Int J Comput Appl 57:14
Bai Q (2010) Analysis of particle swarm optimization algorithm. Comput Inf Sci 3:1
Ghalia MB (2008) Particle swarm optimization with an improved exploration-exploitation balance. In: 51st Midwest symposium on circuits and systems. https://doi.org/10.1109/MWSCAS.2008.4616910
Passino KM (2010) Bacterial foraging optimization. Int J Swarm Intell Res 1:1
Kim DH, Abraham A, Cho JH (2007) A hybrid genetic algorithm and bacterial foraging approach for global optimization. Inf Sci 177(18):3918–3937
Karaboga D, Akay B (2009) A comparative study of artificial bee colony algorithm. Appl Math Comput 214:108–132
Karaboga D (2005) An idea based on honey bee swarm for numerical optimization. Technical Report TR06, Computer Engineering Department, Engineering Faculty, Erciyes University
Basturk B, Karaboga D (2006) An artificial bee colony (ABC) algorithm for numeric function optimization. In: IEEE swarm intelligence symposium 2006, Indianapolis, Indiana, USA
Chan FTS, Tiwari MK (2007) Swarm intelligence: focus on ant and particle swarm optimization. Itech Education and Publishing, Vienna, p 532. ISBN 978-3-902613-09-7
Akay B, Karaboga D (2012) Artificial bee colony algorithm for large-scale problems and engineering design optimization. J Intell Manuf 23:41001–41014
Civicioglu P, Besdok E (2011) A conceptual comparison of cuckoo-search, particle search optimisation, differential evolution and artificial bee colony algorithms. Springer, Berlin. https://doi.org/10.1007/s10462-011-9276-0
Karaboga D, Basturk B (2007) A powerful and efficient algorithm for numerical function optimization: artificial bee colony (ABC) algorithm. J Glob Optim 39(3):459–471
Gao W, Liu S (2011) Improved artificial bee colony algorithm for global optimization. Inf Process Lett 111(17):871–882
Zhu G, Kwong S (2010) Gbest-guided artificial bee colony algorithm for numerical function optimization. Appl Math Comput 217(7):3166–3173
Simon D, Ergezer M, Du D, Rarick R (2011) Markov models for biogeography-based optimization. IEEE Trans Syst Man Cybern Part B Cybern 41:1
Simon D, Ergezer M, Dawei D, Rarick RA (2011) Markov models for biogeography-based optimization. IEEE Trans Syst Man Cybern 41(1):299–306
Pavlyukevich I (2007) Levy flights, non-local search and simulated annealing. J Comput Phys 226:1830–1844
Viswanathan GM, Buldyrev SV, Havlin S, Da Luz MGE, Rapso EP, Stanley HE (1999) Optimizing the success of random searches. Nature 401:911–914
Soneji HR, Sanghvi RC (2014) Towards the improvement of cuckoo search algorithm. Int J Comput Inf Syst Ind Manag Appl 6:77–88
Rajabioun R (2011) Cuckoo optimization algorithm. Appl Soft Comput J 11:85508–85518
Gandomi AH, Yang XS, Alavi AH (2013) Cuckoo search algorithm: a metaheuristic approach to solve structural optimization problems. Eng Comput 29:17. https://doi.org/10.1007/s00366-011-0241-y
Yang X-S (2009) Firefly algorithm for multimodal optimization. In: Proceedings of the stochastic algorithms, foundations and applications (SAGA 109), Lecture notes in computer sciences. Springer, p 5792
Farahani SM, Abshouri AA, Nasiri B, Meybodi MR (2011) A gaussian firefly algorithm. Int J Mach Learn Comput 1(5):448–453
Sipper M, Goeke M, Mange D, Stauffer A, Sanchez E, Tomassini M (1997) The firefly machine: online evolware. In: Proceedings of 1997 IEEE international conference on evolutionary computation (ICEC ‘97)
Gandomi AH, Yang X-S, Alavi AH (2011) Mixed variable structural optimization using firefly algorithm. Comput Struct 89(23–24):2325–2336. https://doi.org/10.1016/j.compstruc.2011.08.002
Hassanzadeh T, Meybodi M (2012) A new hybrid algorithm based on firefly algorithm and cellular learning automata. In: 20th Iranian conference on electrical engineering (ICEE2012)
Mohapatra DP (2015) Generating prioritised test sequences using firefly optimization technique. In: Jain LC et al (eds) Computational intelligence in data mining. Springer, vol 2
Yilmaz S, Kucuksille EU (2013) Improved bat algorithm (IBA) on continuous optimization problems. Lecture Notes on Software Engineering 1:3
Tudge C (2000) The variety of life. Oxford University Press, Oxford. ISBN 0-19-850311-3
Yang X-S (2013) Bat algorithm: literature review and applications. Int J Bio-Inspir Comput 5:3141–3149
Huang G-Q, Zhao W-J, Lu Q-Q (2013) Bat algorithm with global convergence for solving large-scale optimization problem. Appl Res Comput 30:10–31
Yang X, Gandomi AH (2012) Bat algorithm: a novel approach for global engineering optimization. Eng Comput 29(5):464–483. https://doi.org/10.1108/02644401211235834
Progias P, Amanatiadis AA, Spataro W, Trunfio GA, Sirakoulis GC (2016) A cellular automata based FPGA realization of a new metaheuristic bat-inspired algorithm. numerical computations: theory and algorithms (NUMTA–2016). In: AIP conference proceedings. https://doi.org/10.1063/1.4965359
Xin-She Y, Mehmet K, Xingshi H (2013) Multi-objective flower algorithm for optimization. In: International conference on computational science, ICCS 2013
Wang R, Zhou Y (2014) Flower pollination algorithm with dimension by dimension improvement. Math Probl Eng. https://doi.org/10.1155/2014/481791
Mantegna RN (1994) Fast accurate algorithm for numerical simulation of levy stable stochastic process. Phys Rev E 49:4677–4683
Back T (1996) Evolutionary algorithms in theory and practice: evolution strategies, evolutionary programming and genetic algorithms. Oxford University Press, Oxford
Funding
The authors confirm that there is no source of funding for this study.
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interest
The authors declare that they have no conflict of interest.
Human Participants and/or Animals
None.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Samuel, P., Subbaiyan, S., Balusamy, B. et al. A Technical Survey on Intelligent Optimization Grouping Algorithms for Finite State Automata in Deep Packet Inspection. Arch Computat Methods Eng 28, 1371–1396 (2021). https://doi.org/10.1007/s11831-020-09419-z
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11831-020-09419-z