IP Library Granted Patent US 8,943,590
Granted Patent B2
US 8,943,590 · App. 12/731,537 · Granted Jan 27, 2015

Concurrent and delayed processing of malware with reduced I/O interference

Inventor: Michael Burtscher (Broomfield, CO)
Assignee: Webroot Inc.
G06F21/564
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,943,590
App. No.
12/731,537
Granted
Jan 27, 2015
Kind
B2
Abstract

Systems, methods and non-transitory, tangible computer readable storage mediums encoded with processor readable instructions to scan files for malware are disclosed. An exemplary method includes writing, via a communication pathway, a first file to a storage medium that is utilized by the computer, requesting access to the first file so as to enable the first file to be scanned for malware, and delaying, when the first file resides on the storage medium, access to the first file while there is at least one I/O operation relative to the storage medium that has a higher priority level than a priority level of the request to access the first file. In addition, except to enable the first file to be scanned for malware, access to the first file is prevented until the first file has been scanned for malware.

Claims (34)

1. A method for scanning files for malware, comprising:

requesting access to a first file so as to enable the first file to be scanned for malware;

determining if the first file to be scanned for malware resides in a cache memory;

scanning, when the first file resides in the cache memory, the first file for malware while processing Input/Output (I/O) activity relating to a storage medium;

delaying, when the first file does not reside in the cache memory, scanning of the first file for malware while there is at least one I/O operation directed to the storage medium that has a higher priority level than a priority level of the request to access the first file; and

preventing, except to enable the first file to be scanned for malware, access to the first file until the first file has been scanned for malware, wherein preventing access to the first file comprises delaying access to the first file until the first file is scanned for malware.

2. The method of claim 1 , further comprising:

storing an identifier that uniquely identifies the first file so as to identify the first file as a file that has not been scanned.

3. The method of claim 1 , further comprising scanning the first file using a first processing portion of a computer and using a second processing portion of the computer to process the I/O activity relating to the storage medium.

4. The method of claim 1 , wherein the I/O activity relating to the storage medium comprises a write operation and wherein the scanning the file for malware and the write operation are performed in parallel.

5. The method of claim 1 , wherein the cache memory is memory separate from a processing component.

6. A system for scanning files for malware, comprising:

an anti-malware component configured to request access to files to enable the files to be scanned for malware;

a file system management component that determines if the files to be scanned for malware reside in a cache memory, scans, when the files reside in the cache memory, the files for malware while higher priority requests to access a storage medium are carried out, and delays, when the files reside in the cache memory, the anti-malware component from accessing the files while the higher priority requests to access the storage medium are carried out; and

an anti-malware filter driver component in communication with the anti-malware component, the anti-malware filter driver component preventing applications from accessing the files until the files are scanned for malware, wherein preventing applications from accessing the files comprises delaying access to the files until the files are scanned for malware.

7. The system of claim 6 , wherein the anti-malware component operates in user mode.

8. The system of claim 6 , wherein the anti-malware component operates in kernel mode.

9. The system of claim 6 , wherein the anti-malware component operates in both user mode and kernel mode.

10. The system of claim 6 , wherein the anti-malware component is configured to store identifiers that uniquely identify files that have not been scanned.

11. The system of claim 6 , wherein the anti-malware filter driver is one driver in a collection of filter drivers in the file system management component, the collection of filter drivers collectively forming a chain of filter drivers that control access to the storage medium.

12. The system of claim 6 , wherein the I/O activity relating to the storage medium comprises a write operation and wherein the scanning the file for malware and the write operation are performed in parallel.

13. The system of claim 6 , wherein the cache memory is memory separate from a processing component.

14. A non-transitory computer-readable storage medium, encoded with processor readable instructions to perform a method for scanning files for malware, the method comprising:

requesting access to a first file so as to enable the first file to be scanned for malware;

determining if the first file to be scanned for malware resides in a cache memory;

scanning, when the first file resides in the cache memory, the first file for malware while processing Input/Output (I/O) activity relating to a storage medium;

delaying, when the first file does not reside in the cache memory, scanning of the first file for malware while there is at least one I/O operation directed to the storage medium that has a higher priority level than a priority level of the request to access the first file; and

preventing, except to enable the first file to be scanned for malware, access to the first file until the first file has been scanned for malware, wherein preventing applications from accessing the files comprises delaying access to the files until the files are scanned for malware.

15. The non-transitory computer-readable storage medium of claim 14 , encoded with processor readable instructions to perform a method for scanning files for malware, the method further comprising:

storing an identifier that uniquely identifies the first file so as to identify the first file as a file that has not been scanned.

16. The non-transitory computer-readable storage medium of claim 14 , encoded with processor readable instructions to perform a method for scanning files for malware, the method further comprising:

scanning the first file using a first processing portion of a computer and using a second processing portion of the computer to process the I/O activity relating to the storage medium.

17. The non-transitory computer-readable storage medium of claim 14 , encoded with processor readable instructions to perform a method for scanning files for malware, wherein the I/O activity relating to the storage medium comprises a write operation and wherein the scanning the file for malware and the write operation are performed in parallel.

18. The non-transitory computer-readable storage medium of claim 14 , encoded with processor readable instructions to perform a method for scanning files for malware, wherein the cache memory is memory separate from a processing component.

Assignments (10)
CERTIFICATE OF CONVERSION Recorded Aug 1, 2025
From: WEBROOT INC.
To: WEBROOT LLC
Reel/Frame 072299/0452 →
ASSIGNMENT AND ASSUMPTION AGREEMENT Recorded Aug 1, 2025
From: CARBONITE, LLC
To: OPEN TEXT INC.
Reel/Frame 072300/0630 →
ASSIGNMENT AND ASSUMPTION AGREEMENT Recorded Aug 1, 2025
From: WEBROOT LLC
To: CARBONITE, LLC
Reel/Frame 072330/0437 →
RELEASE OF SECURITY INTEREST IN PATENT RIGHTS RECORDED AT R/F 048723/0612 Recorded Dec 26, 2019
From: BARCLAYS BANK PLC, AS COLLATERAL AGENT
To: WEBROOT INC.
Reel/Frame 051418/0714 →
SECURITY INTEREST Recorded Mar 28, 2019
From: WEBROOT INC.
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 048723/0612 →
RELEASE OF SECURITY INTEREST Recorded Mar 22, 2019
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: WEBROOT INC.
Reel/Frame 050454/0102 →
SECURITY INTEREST Recorded Jan 6, 2015
From: WEBROOT INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 034742/0085 →
CHANGE OF NAME Recorded Oct 1, 2012
From: WEBROOT SOFTWARE, INC.
To: WEBROOT INC.
Reel/Frame 029060/0263 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 17, 2010
From: BURTSHCER, MICHAEL
To: WEBROOT SOFTWARE, INC.
Reel/Frame 024554/0320 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 25, 2010
From: BURTSCHER, MICHAEL
To: WEBROOT SOFTWARE, INC.
Reel/Frame 024139/0599 →
Continuity (1)
Related Publication 20110239298A1 · Sep 29, 2011