Hardware assist for pattern matches
First Claim
1. A method for pattern matching comprising:
- receiving a request for a job at a hardware device from an application, the request comprising a pattern set identification and a data stream identification;
locating a pattern set for the received job based on the pattern set identification;
selecting a data stream based on the data stream identification; and
matching the pattern set against the data stream.
2 Assignments
0 Petitions
Accused Products
Abstract
An application contacts the ASIC with a request for a job, along with the name or identifier of a data stream to pattern match against, the name or identifier of the pattern set to use, and whether the job is partial or full. Depending on the priority rules set by the ASIC administrator, the ASIC may stop the job it is currently doing and begin work on the new job, or wait until the current job is finished before starting the new job. The ASIC determines if the pattern set for the new job is already stored in the cache, and contacts the calling application if it is not. Once the correct pattern set is loaded, the ASIC begins pattern matching on the requested data stream. The data stream is compared byte by byte with the each of the patterns in the loaded set. The ASIC will return a match to the calling application if a match has been made with one of the patterns in the pattern set.
26 Citations
38 Claims
-
1. A method for pattern matching comprising:
-
receiving a request for a job at a hardware device from an application, the request comprising a pattern set identification and a data stream identification;
locating a pattern set for the received job based on the pattern set identification;
selecting a data stream based on the data stream identification; and
matching the pattern set against the data stream. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A system for pattern matching comprising:
a hardware device that receives a request for a job from an application, the request comprising a pattern set identification and a data stream identification, locates a pattern set for the received job based on the pattern set identification, selects a data stream based on the data stream identification, and matches the pattern set against the data stream. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
30. A computer-readable medium having stored thereon computer-executable instructions for performing a method of pattern matching, the method comprising:
-
receiving a request for a job at a hardware device from an application, the request comprising a pattern set identification and a data stream identification;
locating a pattern set for the received job based on the pattern set identification;
selecting a data stream based on the data stream identification; and
matching the pattern set against the data stream. - View Dependent Claims (31, 32, 33, 34)
-
-
35. A hardware device comprising:
-
a processor specialized for matching pattern sets against a data stream, receiving a job request, determining the priority of a job, selecting the data stream, and a returning a result;
a queue specialized for storing and retrieving the job request; and
a cache specialized for storing at least one pattern set, and retrieving a pattern set. - View Dependent Claims (36, 37, 38)
-
Specification