Deterministic finite automata (DFA) instruction
First Claim
1. A method for automatically performing a pattern search in input data using a plurality of previously-stored deterministic finite automata (DFA) graphs comprising:
- providing an instruction including a plurality of fields;
writing a DFA graph identifier into a respective one of the plurality of fields identifying one of the plurality of previously-stored DFA graphs;
writing an input reference into a respective one of the plurality of fields identifying input data to be processed using the identified DFA graph;
writing an output reference into a respective one of the plurality of fields identifying the output reference for storing results generated responsive to the processed input data; and
forwarding the instruction to a DFA engine adapted to process the input data using the identified DFA graph and to provide results as instructed by the output reference.
8 Assignments
0 Petitions
Accused Products
Abstract
A computer-readable instruction is described for traversing deterministic finite automata (DFA) graphs to perform a pattern search in the in-coming packet data in real-time. The instruction includes one or more pre-defined fields. One of the fields includes a DFA graph identifier for identifying one of several previously-stored DFA graphs. Another one of the fields includes an input reference for identifying input data to be processed using the identified DFA graphs. Yet another one of the fields includes an output reference for storing results generated responsive to the processed input data. The instructions are forwarded to a DFA engine adapted to process the input data using the identified DFA graph and to provide results as instructed by the output reference.
144 Citations
21 Claims
-
1. A method for automatically performing a pattern search in input data using a plurality of previously-stored deterministic finite automata (DFA) graphs comprising:
-
providing an instruction including a plurality of fields;
writing a DFA graph identifier into a respective one of the plurality of fields identifying one of the plurality of previously-stored DFA graphs;
writing an input reference into a respective one of the plurality of fields identifying input data to be processed using the identified DFA graph;
writing an output reference into a respective one of the plurality of fields identifying the output reference for storing results generated responsive to the processed input data; and
forwarding the instruction to a DFA engine adapted to process the input data using the identified DFA graph and to provide results as instructed by the output reference. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer-readable instruction for searching for a pattern in input data using a deterministic finite automaton (DFA) graph previously-stored in a computer memory comprising:
-
a DFA graph identifier field identifying the previously-stored DFA graph;
an input data reference field identifying the start location of input data to be searched using the identified DFA graph; and
an output reference field identifying the location in memory of results generated by traversing the identified DFA graph responsive to the input data. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A processor adapted to automatically process data using a plurality of previously-stored deterministic finite automata (DFA) graphs comprising:
-
means for providing an instruction including a plurality of fields;
means for writing a DFA graph identifier into a respective one of the plurality of fields identifying one of the plurality of previously-stored DFA graphs;
means for writing an input reference into a respective one of the plurality of fields identifying input data to be processed using the identified DFA graphs;
means for writing an output reference into a respective one of the plurality of fields identifying output reference for storing results generated responsive to the processed input data; and
means for forwarding the instruction to a DFA engine adapted to process the input data using the identified DFA graphs and to provide results as instructed by the output reference.
-
Specification