US 12,437,210 B2
Data pattern analysis using optimized deterministic finite automaton
Aleksandr Dubrovsky, San Mateo, CA (US); Justin Michael Brady, San Jose, CA (US); Roman Yanovsky, Los Altos, CA (US); and Boris Yanovsky, Saratoga, CA (US)
Assigned to SonicWALL Inc., Milpitas, CA (US)
Filed by SONICWALL US HOLDINGS INC., Milpitas, CA (US)
Filed on Oct. 18, 2022, as Appl. No. 17/968,591.
Application 17/968,591 is a continuation of application No. 15/445,687, filed on Feb. 28, 2017, granted, now 11,475,315, issued on Oct. 18, 2022.
Application 15/445,687 is a continuation of application No. 14/096,866, filed on Dec. 4, 2013, granted, now 9,582,756, issued on Feb. 28, 2017.
Application 14/096,866 is a continuation of application No. 13/196,484, filed on Aug. 2, 2011, granted, now 8,626,689, issued on Jan. 7, 2014.
Application 13/196,484 is a continuation of application No. 11/778,546, filed on Jul. 16, 2007, granted, now 7,991,723, issued on Aug. 2, 2011.
Prior Publication US 2023/0041014 A1, Feb. 9, 2023
Int. Cl. G06N 5/02 (2023.01); G06F 16/901 (2019.01); G06F 21/55 (2013.01); G06N 5/00 (2023.01); H04L 9/40 (2022.01)
CPC G06N 5/02 (2013.01) [G06F 16/9024 (2019.01); G06F 21/552 (2013.01); G06N 5/00 (2013.01); H04L 63/1416 (2013.01); H04L 63/02 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method for data pattern analysis, the method comprising:
receiving a plurality of data packets sent over a communication network to a network access device;
inspecting the plurality of data packets to identify a set of states corresponding to a set of transitions associated with a set of nodes, wherein the set of transitions is associated with movement from a first state to one or more second states of the set of states;
dynamically allocating a data structure maintained for each of the second states based on a comparison of a number of transitions associated with a number of the second states to a predetermined number of transitions; and
performing the data pattern analysis in accordance with the data structure maintained for each of the second states, wherein performing the data pattern analysis includes accessing the data structure allocated by a first type of data structure or a second type of data structure.