String search scheme in a distributed architecture
First Claim
Patent Images
1. A method comprising:
- receiving a packet of data via a network at one or more classification engines;
performing a first stage search at the one or more classification engines on the packet of data, wherein the first stage search identifies multiple potential strings of interest having a first portion matching a corresponding portion of one or more predetermined strings;
generating a first stage search report indicating multiple potential strings of interest and a location of the multiple potential strings of interest within the packet of data;
performing a second stage search via a policy processor on the packet of data, wherein the second stage search compares subsequent portions of the multiple potential strings of interest indicated in the first stage search report to the one or more predetermined strings to determine whether a match exists; and
generating a message to a network management device to indicate that at least one of the multiple potential strings of interest is a string of interest if a match exists between the subsequent portions of at least one multiple potential string of interest and the one or more predetermined strings,wherein the first portion of the potential string of interest comprises a two-byte block of data from the received packet of data and the subsequent portions of the potential string of interest comprise at least one byte of data from the received packet of data other than the two-byte block of data.
0 Assignments
0 Petitions
Accused Products
Abstract
Methods and apparatuses for searching network data for one or more predetermined strings are disclosed. A multi-stage search may be performed by different hardware components. In a first search stage, a first processor may perform a comparison of blocks of incoming data to determine whether the blocks potentially represent the beginning of one of the predetermined strings. If a potential predetermined string is identified, a second processor may perform a further search to determine whether the string matches one of the predetermined strings.
-
Citations
14 Claims
-
1. A method comprising:
-
receiving a packet of data via a network at one or more classification engines; performing a first stage search at the one or more classification engines on the packet of data, wherein the first stage search identifies multiple potential strings of interest having a first portion matching a corresponding portion of one or more predetermined strings; generating a first stage search report indicating multiple potential strings of interest and a location of the multiple potential strings of interest within the packet of data; performing a second stage search via a policy processor on the packet of data, wherein the second stage search compares subsequent portions of the multiple potential strings of interest indicated in the first stage search report to the one or more predetermined strings to determine whether a match exists; and generating a message to a network management device to indicate that at least one of the multiple potential strings of interest is a string of interest if a match exists between the subsequent portions of at least one multiple potential string of interest and the one or more predetermined strings, wherein the first portion of the potential string of interest comprises a two-byte block of data from the received packet of data and the subsequent portions of the potential string of interest comprise at least one byte of data from the received packet of data other than the two-byte block of data. - View Dependent Claims (2, 3, 4, 5)
-
-
6. An apparatus comprising:
- p1 means for performing a first stage search on a packet of data received via a network, wherein the first stage search identifies multiple potential strings of interest having a first portion matching a corresponding portion of one or more predetermined strings;
means for generating a first stage search report indicating multiple potential strings of interest and a location of the multiple potential strings of interest within the packet; means for performing a second stage search on the packet data, wherein the second stage search compares subsequent portions of the multiple potential strings of interest indicated in the first stage search report to the one or more predetermined strings to determine whether a match exists; and means for generating a message to a network management device to indicate that at least one of the multiple potential strings of interest is a string of interest if a match exists between the subsequent portions of at least one multiple potential string of interest and the one or more predetermined strings, wherein the first portion of the potential string of interest comprises a two-byte block of data from the received packet of data and the subsequent portions of the potential string of interest comprise at least one byte of data from the received packet of data other than the two-byte block of data. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14)
- p1 means for performing a first stage search on a packet of data received via a network, wherein the first stage search identifies multiple potential strings of interest having a first portion matching a corresponding portion of one or more predetermined strings;
Specification