A system, method, and computer program product for scanning downloaded
files providing improved performance relative to conventional download
scanning techniques by performing the download and scanning functions in
parallel and random order, thus improving overall performance. A method
of scanning a requested file for a computer malware comprising the steps
of: receiving a request from a user system to transfer a file from a
server. Starting to transfer said file, and at the same time, handing a
partial copy of the file to computer malware scanning software, receiving
requests from the computer malware scanning software for data comprising
additional arbitrary portions of the requested file, transferring only
the requested portion of the file and supplying the requested data to the
computer malware scanning software until the malware scanning software
can produce a clean/infected indication. Then completing the transfer of
the entire file from the server and handing it off to the user system in
parallel.