Inventors:
Art Shelest - Sammamish WA, US
Jason Garms - Woodinville WA, US
Assignee:
Microsoft Corporation - Redmond WA
International Classification:
G06F 11/00
H04L 9/32
US Classification:
726 22, 726 23, 726 24, 726 25, 713187, 713188
Abstract:
An application contacts the Application Specific Integrated Circuit (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.