Patent ID: 8423572

Claim:
A system for detecting presence of complex strings in a data stream, the system comprising: a first memory device storing a complex dictionary containing a plurality of complex strings, each complex string comprising at least one ambiguous string and at least one coherent string, wherein a coherent string comprises a sequence of characters uniquely defined in an alphabet and an ambiguous string comprises characters defined according to a character-class association; a pre-processor and a respective memory device storing processor-readable instructions which cause said pre-processor to: parse said each complex string into string segments, each string segment comprising one ambiguous string and one coherent string; indicate lengths of said each string segment and said coherent string; and generate a bitmask indicating a location of each string segment within said each complex string; at least one primary processor and a respective memory device storing primary processor-readable instructions which cause said at least one primary processor to: identify successive coherent strings of a candidate complex string from said complex dictionary; locate sequential portions of said data stream that are identical to said successive coherent strings of said candidate complex string; and ascertain congruence of parts of said data stream interleaving said sequential portions with corresponding ambiguous strings of said candidate complex string interleaving said successive coherent strings; and at least one secondary processor, pipelined to said at least one primary processor, and a respective memory device storing secondary processor-readable instructions which cause said at least one secondary processor to: generate a multi-bit state variable indicating positions of said successive coherent strings; and correlate said multi-bit state variable with all bitmasks corresponding said candidate complex string.