Patent ID: 7673343

Claim:
A method for scanning data, comprising: a) executing scanning control logic utilizing a central processing unit; b) identifying a request related to data at the central processing unit; c) indicating a location of the data to a scanning co-processor coupled to the central processing unit so that the data is scanned by the scanning co-processor under the control of the scanning control logic for offloading scanning operations from the central processing unit; d) waiting for results from the scanning co-processor; e) executing additional logic utilizing the central processing unit while waiting for the results from the scanning co-processor; and f) initiating an event based on the results from the scanning co-processor; wherein the scanning co-processor is under the control of the central processing unit via the execution of the scanning control logic by the central processing unit; wherein it is determined whether the data meets a predetermined criteria, where the criteria is based on a type of a file associated with the data; wherein the data is sent to the scanning co-processor if it is determined that the data meets the predetermined criteria; wherein additional data to be scanned by the scanning co-processor is queued while waiting for the results from the scanning co-processor; wherein the scanning co-processor is capable of performing an additional scan on the additional data while scanning the data; wherein the location of the data indicated to the scanning co-processor includes a memory location of the data stored in memory, where the memory is separate from and coupled to the scanning co-processor and the central processing unit via a bus that employs direct memory access.