Pattern Matching In A Network Flow Across Multiple Packets
First Claim
Patent Images
1. A method of matching a pattern in a network flow across multiple packets, the method comprising:
- storing a representation of the pattern, wherein the representation includes a plurality of hash values each representing a block of data in the pattern;
receiving a network flow including a stream of packets;
calculating hash values for blocks of data in the network flow, wherein the blocks of data are spread across multiple packets in the stream of packets; and
comparing the calculated hash values for the blocks of data in the network flow to the hash values in the representation of the pattern to detect the pattern in the network flow.
2 Assignments
0 Petitions
Accused Products
Abstract
Pattern matching for a network flow includes storing a representation of the pattern. The representation of the pattern includes hash values representing blocks of data in the pattern. Hash values are calculated for blocks of data in the network flow. The blocks of data are spread across multiple packets in the network flow. The calculated hash values for the blocks of data in the network flow are compared to the hash values in the representation of the pattern to detect the pattern in the network flow.
-
Citations
20 Claims
-
1. A method of matching a pattern in a network flow across multiple packets, the method comprising:
-
storing a representation of the pattern, wherein the representation includes a plurality of hash values each representing a block of data in the pattern; receiving a network flow including a stream of packets; calculating hash values for blocks of data in the network flow, wherein the blocks of data are spread across multiple packets in the stream of packets; and comparing the calculated hash values for the blocks of data in the network flow to the hash values in the representation of the pattern to detect the pattern in the network flow. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method of detecting a pattern across multiple packets in a network flow using a plurality of hash values and data block counts, the method comprising:
-
storing a representation of the pattern, wherein the representation includes a first hash value representing a starting block of data in the pattern and a last hash value representing an ending block of data in the pattern, and the representation includes a count of all the blocks of data in the pattern; receiving a network flow including a stream of packets; calculating hash values for a plurality of blocks of data in the network flow; determining a count of the blocks of data in the network flow for which the hash values are calculated; and detecting the pattern in the network flow if a first calculated hash value of the calculated hash values matches the first hash value representing a starting block of data in the pattern, a last calculated hash value of the calculated hash values matches the last hash value representing the ending block of data in the pattern, and the determined count of the blocks of data in the network flow for which the hash values are calculated equals the count of all the blocks of data in the pattern. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A pattern detection system operable to detect a pattern in a network flow, the system comprising:
-
at least one memory storing a representation of the pattern, wherein the representation includes a plurality of hash values each representing a block of data in the pattern; a hash unit calculating hash values for blocks of data in the network flow, wherein the blocks of data are spread across multiple packets in the stream of packets; and a pattern detection unit comparing the calculated hash values for the blocks of data in the network flow to the hash values in the representation of the pattern to detect the pattern in the network flow. - View Dependent Claims (17, 18, 19, 20)
-
Specification