Patent ID: 8171552

Claim:
A method of simultaneously executing a first anti-virus program and a second anti-virus program on a computer, the method comprising: receiving an open file request at a first filter driver in a driver stack from a software application to open a target file, said first filter driver associated with said first anti-virus program and designed to monitor file accesses for the first anti-virus program, wherein the driver stack is common to both the first anti-virus program and the second anti-virus program, wherein the driver stack is designed to pass requests through both the first filter driver and a second filter driver associated with the driver stack before the requests reach corresponding target drivers; causing the first filter driver to direct the first anti-virus program to scan the target file when the open file request to open the target file is received; sending a first request to said first filter driver from the first anti-virus program to open the target file; retrieving a handle of a function driver, said retrieving performed by the first anti-virus program, said function driver located in said driver stack; in order to prevent an infinite loop, bypassing the second filter driver in the driver stack, associated with the second anti-virus program, by having the first filter driver transmit a second request from the first filter driver directly to the function driver, wherein the first filter driver uses the handle of the function driver retrieved by said first anti-virus program to directly access the function driver, wherein the second filter driver is designed to monitor file accesses for the second anti-virus program; preventing the second filter driver from sending an instruction in response to the open file request to the second anti-virus program to scan the target file due to said bypassing; and opening the target file by the first anti-virus program for scanning using said function driver.