Content search mechanism that uses a deterministic finite automata (DFA) graph, a DFA state machine, and a walker process
First Claim
1. A network services processor comprising:
- at least one processor configured to process packets in an input stream of packets and match at least one pattern in the input stream by traversing a data structure generated from one or more regular expressions for a content processing application; and
at least one memory operatively coupled to the at least one processor and configured to store the generated data structure, the generated data structure including at least one node having an intelligent node structure providing information on a next node to traverse and to perform at least one task based on traversing the at least one node, enabling the at least one processor to generate and check state information at the at least one node to obviate a post-processing overhead of the at least one pattern matched, to improve performance of the at least one processor relative to performing post-processing of results for the content processing application.
8 Assignments
0 Petitions
Accused Products
Abstract
An improved content search mechanism uses a graph that includes intelligent nodes avoids the overhead of post processing and improves the overall performance of a content processing application. An intelligent node is similar to a node in a DFA graph but includes a command. The command in the intelligent node allows additional state for the node to be generated and checked. This additional state allows the content search mechanism to traverse the same node with two different interpretations. By generating state for the node, the graph of nodes does not become exponential. It also allows a user function to be called upon reaching a node, which can perform any desired user tasks, including modifying the input data or position.
-
Citations
20 Claims
-
1. A network services processor comprising:
-
at least one processor configured to process packets in an input stream of packets and match at least one pattern in the input stream by traversing a data structure generated from one or more regular expressions for a content processing application; and at least one memory operatively coupled to the at least one processor and configured to store the generated data structure, the generated data structure including at least one node having an intelligent node structure providing information on a next node to traverse and to perform at least one task based on traversing the at least one node, enabling the at least one processor to generate and check state information at the at least one node to obviate a post-processing overhead of the at least one pattern matched, to improve performance of the at least one processor relative to performing post-processing of results for the content processing application. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method comprising:
-
generating a data structure from one or more regular expressions for a content processing application enabling at least one processor, configured to process packets in an input stream, to match at least one pattern in the input stream by traversing the data structure generated with characters from the packets; including at least one node having an intelligent node structure in the data structure generated, the intelligent node structure providing information on a next node to traverse and to perform at least one task based on traversing the at least one node, enabling the at least one processor to generate and check state information at the at least one node to obviate post-processing overhead of the at least one pattern matched, to improve performance of the at least one processor relative to performing post-processing of results for the content processing application; and storing the data structure generated in at least one memory operatively coupled to the at least one processor. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A non-transitory computer-readable medium having stored thereon a sequence of instructions which, when loaded and executed by a processor, causes the processor to:
-
generate a data structure from one or more regular expressions for a content processing application enabling the processor, configured to process packets in an input stream, to match at least one pattern in the input stream by traversing the data structure generated with characters from the packets; including at least one node having an intelligent node structure in the data structure generated, the intelligent node structure providing information on a next node to traverse and to perform at least one task based on traversing the at least one node, enabling the processor to generate and check state information at the at least one node to obviate post-processing overhead of the at least one pattern matched, to improve performance of the at least one processor relative to performing post-processing of results for the content processing application; and storing the data structure generated in at least one memory operatively coupled to the processor.
-
Specification