Patent ID: 7685637

Claim:
A method of inspecting a plurality of data units received by a computing device, comprising: configuring a processing unit of said computing device to convert a plurality of patterns into a regular expression; split said regular expression into a first sub-expression and a second sub-expression; formulate a first deterministic finite automaton (DFA) from said first sub-expression with a first initial state and a first final state; formulate a second DFA from said second sub-expression with a second initial state and a second final state; construct a dependency relationship between said first DFA and said second DFA; identify a first suspected data unit and a second suspected data unit out of said plurality of said data units, wherein a first content of said first suspected data unit and a second content of said second suspected data unit collectively match any of said plurality of said patterns represented by said first DFA and said second DFA that are arranged in a sequence based on said dependency relationship; and perform an action based on a result of said identifying a first suspected data unit and a second suspected data unit.