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.