Reverse NFA Generation And Processing
First Claim
1. A method comprising:
- in a processor;
walking a sequence of characters through a finite automata graph generated for at least one given regular expression pattern to enable recognition of the at least one given regular expression pattern in the sequence of characters; and
at a marked node of the finite automata graph, the marked node being a node that marks a match of the at least one given regular expression pattern, based on a specific type of the at least one given regular expression pattern matching at the marked node, walking the sequence of characters backwards through a reverse non-deterministic finite automata (rNFA) graph beginning from an offset of the sequence of characters associated with the marked node, the rNFA graph generated for the at least one given regular expression pattern and having at least one processing node inserted therein based on the specific type of the at least one regular expression pattern.
3 Assignments
0 Petitions
Accused Products
Abstract
In a processor of a security appliance, an input of a sequence of characters is walked through a finite automata graph generated for at least one given pattern. At a marked node of the finite automata graph, if a specific type of the at least one given pattern is matched at the marked node, the input sequence of characters is processed through a reverse non-deterministic finite automata (rNFA) graph generated for the specific type of the at least one given pattern by walking the input sequence of characters backwards through the rNFA beginning from an offset of the input sequence of characters associated with the marked node. Generating the rNFA for a given pattern includes inserting processing nodes for processing an input sequence of patterns to determine a match for the given pattern. In addition, the rNFA is generated from the given type of pattern.
63 Citations
36 Claims
-
1. A method comprising:
-
in a processor; walking a sequence of characters through a finite automata graph generated for at least one given regular expression pattern to enable recognition of the at least one given regular expression pattern in the sequence of characters; and at a marked node of the finite automata graph, the marked node being a node that marks a match of the at least one given regular expression pattern, based on a specific type of the at least one given regular expression pattern matching at the marked node, walking the sequence of characters backwards through a reverse non-deterministic finite automata (rNFA) graph beginning from an offset of the sequence of characters associated with the marked node, the rNFA graph generated for the at least one given regular expression pattern and having at least one processing node inserted therein based on the specific type of the at least one regular expression pattern. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. An apparatus comprising:
-
a processor implemented in hardware configured to; walk a sequence of characters through a finite automata graph generated for at least one given regular expression pattern to enable recognition of the at least one given regular expression pattern in the sequence of characters; and at a marked node of the finite automata graph, based on a specific type of the at least one given regular expression pattern matching at the marked node, walk the sequence of characters backwards through a reverse non-deterministic finite automata (rNFA) graph beginning from an offset of the sequence of characters associated with the marked node, the rNFA graph generated for the at least one given regular expression pattern and having at least one processing node inserted therein based on the specific type of the at least one regular expression pattern. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
Specification