Diversity string based pattern matching
OwnerShakeel MUSTAFAinventor
Life of this patent
Estimating the term…
Abstract
Diversity string based pattern matching is disclosed. In one embodiment, a method for inspecting multiple data patterns in a data block includes scanning the data block for a diversity string of each data pattern, where the diversity string is a subset of the each data pattern. The method further includes comparing the each data pattern with a respective segment of the data block only if the diversity string is present in the data block, and forwarding flag data if the each data pattern matches with the respective segment of the data block.
Claims29
A method for inspecting a plurality of data patterns in a data block, comprising:
- scanning the data block for a diversity string of a data pattern,
- wherein the diversity string is a subset of the data pattern based on at least one data byte position which best differentiates the plurality of data patterns from each other;
- comparing the data pattern with a respective segment of the data block only if the diversity string is present in the data block;
- and
- forwarding flag data if the data pattern matches with the respective segment of the data block.
A method for storing a plurality of data patterns in a memory, comprising:
- forming a respective diversity string for each one of the plurality of data patterns, wherein the respective diversity string comprises at least one data byte;
- and wherein a position of each one of the at least one data byte is selected such that respective diversity strings of the plurality of data patterns differentiate the plurality of data patterns better than any other combination of data bytes in the each one of the plurality of data patterns based on a same number of data bytes as the diversity string;
- and
- storing the diversity string and the each one of the plurality of data patterns in a memory.
A method for inspecting a plurality of data patterns in a data stream of multiple flows, comprising:
- identifying a flow of each data packet;
- forming a data block by combining a plurality of data packets sharing a same flow;
- scanning the data block for a diversity string of each one of the plurality of data patterns,
- wherein the diversity string is a subset of the each one of the plurality of data patterns and comprises at least one data byte;
- comparing the each one of the plurality of data patterns with a respective segment of the data block only if the diversity string is present in the data block;
- and
- forwarding flag data if the each one of the plurality of data patterns matches with the respective segment of the data block.
A method for inspecting a set of data patterns in a data block, comprising:
- scanning the data block for respective diversity strings of the set of data patterns,
- wherein each one of the diversity strings is a subset of a respective one of the set of data patterns;
- comparing the set of data patterns with their respective segments of the data block only if the diversity strings are present in the data block;
- forwarding flag data only if the set of data patterns matches with the respective segments of the data block.
Dependencies are inferred from the claim text.