System and method of paralled pattern matching
First Claim
Patent Images
1. A method for creating finite state automata (FSA) that match patterns in parallel, comprising:
- creating states of the finite state automata from a set of patterns to be matched;
passing over the set of patterns a second time; and
adding transitions to the states to match all possible patterns that can start within the set of patterns to be matched.
3 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides systems and methods for creating a finite state automata (FSA) (FIG. 1, blocks 110-180) that matches patterns in parallel including the steps of creating states of the automata from a set of patterns to be matched (FIG. 2, blocks 210-280) and passing over the patterns a second time adding transitions to the states to match all the possible patterns that can start within the pattern (FIG. 3, blocks 0-7).
47 Citations
6 Claims
-
1. A method for creating finite state automata (FSA) that match patterns in parallel, comprising:
-
creating states of the finite state automata from a set of patterns to be matched;
passing over the set of patterns a second time; and
adding transitions to the states to match all possible patterns that can start within the set of patterns to be matched. - View Dependent Claims (2)
-
-
3. A method of creating a FSA that uses array-based transitions for an alphabet of size N, comprising:
-
representing each state as an object containing an array of N pointers to possible successive states;
using a numeric value of each member of the alphabet as an offset into the array to point to a next state.
-
-
4. A method of creating a case-insensitive FSA by making each pattern all one case, comprising:
-
creating the FSA; and
adding corresponding transitions on each alphabetic character so that case of characters in an input stream will have no effect on performance of the case-insensitive FSA.
-
-
5. A method for matching patterns, comprising:
using a numeric value of less than a complete set of bits of an input as an offset into an array, thereby reducing a size of the array. - View Dependent Claims (6)
Specification