IP Library Granted Patent US 9,208,291
Granted Patent B1
US 9,208,291 · App. 13/649,867 · Granted Dec 8, 2015

Integrating anti-virus in a clustered storage system

Inventors: Isabelle Cnudde (Los Altos, CA); Rommel Dongre (Mountain View, CA)
Assignee: NetApp, Inc.
G06F21/00G06F11/30G06F11/301G06F11/3006G06F21/56G06F21/564G06F21/566G06F2009/45587H04L63/145H04L63/1416H04L63/20H04L67/10H04W12/08
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 9,208,291
App. No.
13/649,867
Granted
Dec 8, 2015
Kind
B1
Abstract

A method and system for integrating anti-virus in a clustered storage system. A clustered storage system provides anti-virus scanning with third-party software components. Specifically, the clustered storage system receives a request for data from a client, identifies the data requires scanning and scans the data for viruses with third party software components that have been previously provided by any one of a number of third party software vendors.

Claims (55)

1. A method for scanning data for viruses, the method comprising:

receiving, from a client device, a request for data stored in a clustered storage system, the clustered storage system including a plurality of virtual servers and a plurality of nodes that are interconnected with each other over one or more networks;

identifying a virtual server from the plurality of virtual servers based on a location where the data is stored in the clustered storage system;

retrieving on-access policy information associated with the identified virtual server and the location of the data in response to receiving the request for the data;

accessing one or more predetermined criterion specified by the on-access policy information;

determining that the data is to be scanned for viruses based on the one or more predetermined criterion; and

scanning the data for viruses using third party software components that are provided by a third party vendor.

2. The method of claim 1 , further comprising:

generating a scan flag based on determining that the data is to be scanned for viruses; and

generating one or more parameters that indicate a type of request for the data, the type of request corresponding to a read request or a write request;

wherein scanning the data for viruses is based on the one or more parameters.

3. The method of claim 1 , wherein receiving the request for the data includes receiving a request, over the one or more networks, to access a file that includes the data.

4. The method of claim 3 , wherein the one or more predetermined criterion specifies that the data is to be scanned for viruses when the file that includes the data is stored in a predetermined file directory.

5. The method of claim 3 , wherein the one or more predetermined criterion specifies that the data is to be scanned for viruses based on a protocol in which the request to access the file is received, and wherein the protocol corresponds to either a common internet file system (CIFS) protocol or a network file system (NFS) protocol.

6. The method of claim 3 , wherein the one or more predetermined criterion specifies that the data is to be scanned for viruses when the file has execute permissions set for one or more permissions groups.

7. The method of claim 1 , wherein the one or more predetermined criterion is configurable by a user.

8. The method of claim 1 , further comprising:

generating a plurality of attributes based on scanning the data for viruses, wherein the plurality of attributes includes a scan status and a version identifier that identifies a version of the third party software components.

9. The method of claim 1 , further comprising:

receiving an updated version of one or more of the third party software components from the third party vendor, the one or more of the third party software components being used for the scanning the data for viruses.

10. The method of claim 9 , wherein the updated version of the one or more third party software components includes an anti-virus scan engine and anti-virus definitions that are associated with a version identifier.

11. A computing device comprising:

a network interface to enable the computing device to communicate with one or more other devices of a clustered storage system;

a memory resource storing instructions; and

at least one processor coupled to the network interface and the memory resource, the at least one processor to execute the instructions to perform operations comprising:

receiving, from a client device via the network interface, a request for data stored in the clustered storage system including a plurality of virtual servers;

identifying a virtual server from the plurality of virtual servers based on a location where the data is stored in the clustered storage system;

retrieving on-access policy information associated with the identified virtual server and the location of the data in response to receiving the request for the data;

accessing one or more predetermined criterion specified by the on-access policy information;

determining that the data is to be scanned for viruses based on the one or more predetermined criterion; and

scanning the data for viruses, the scan using third party software components that are provided by a third party vendor.

12. The computing device of claim 11 , wherein the at least one processor executes the instructions to further perform operations comprising:

generating a scan flag based on determining that the data is to be scanned for viruses; and

generating one or more parameters that indicate a type of request for the data, the type of request corresponding to a read request or a write request;

wherein scanning the data for viruses is based on the one or more parameters.

13. The computing device of claim 11 , wherein the request corresponds to a request to access a file that includes the data.

14. The computing device of claim 13 , wherein the one or more predetermined criterion specifies that the data is to be scanned for viruses when the file that includes the data is stored in a predetermined file directory.

15. The computing device of claim 13 , wherein the one or more predetermined criterion specifies that the data is to be scanned for viruses based on a protocol in which the request to access the file is received, and wherein the protocol corresponds to either a common internet file system (CIFS) protocol or a network file system (NFS)protocol.

16. The computing device of claim 13 , wherein the one or more predetermined criterion specifies that the data is to be scanned for viruses when the file has execute permissions set for one or more permissions groups.

17. The computing device of claim 11 , wherein the one or more predetermined criterion is configurable by a user.

18. The computing device of claim 11 , wherein the at least one processor executes the instructions to further perform operations comprising:

generating a scan status based on scanning the data; and

storing the scan status with an anti-virus version identifier that identifies the third party software components.

19. The computing device of claim 11 , wherein the at least one processor executes the instructions to further perform operations comprising:

receiving an updated version of one or more of the third party software components from the third party vendor, the one or more of the third party software components being used for the scanning the data for viruses.

20. The clustered storage system of claim 19 , wherein the updated version of the one or more third party software components includes an anti-virus scan engine and anti-virus definitions that are associated with a version identifier.

21. A non-transitory computer-readable medium storing instructions that, when executed by one or more processors, causes the one or more processors to perform operations comprising:

receiving, from a client device, a request for data stored in a clustered storage system, the clustered storage system including a plurality of virtual servers and a plurality of nodes that are interconnected with each other over one or more networks;

identifying a virtual server from the plurality of virtual servers based on a location where the data is stored in the clustered storage system;

retrieving on-access policy information associated with the identified virtual server and the location of the data in response to receiving the request for the data;

accessing one or more predetermined criterion specified by the on-access policy information;

determining that the data is to be scanned for viruses based on the one or more predetermined criterion; and

scanning the data for viruses using third party software components that are provided by a third party vendor.

22. The non-transitory computer-readable medium of claim 21 , wherein the request corresponds to a request to access a file that includes the data, and wherein the one or more predetermined criterion specifies that the data is to be scanned for viruses when the file that includes the data is stored in a predetermined file directory.

23. The non-transitory computer-readable medium of claim 21 , wherein the request corresponds to a request to access a file that includes the data, wherein the one or more predetermined criterion specifies that the data is to be scanned for viruses based on a protocol in which the request to access the file is received, and wherein the protocol corresponds to either a common internet file system (CIFS) protocol or a network file system (NFS) protocol.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2014
From: CNUDDE, ISABELLE; DONGRE, ROMMEL
To: NETWORK APPLIANCE, INC.
Reel/Frame 031995/0205 →
MERGER Recorded Jan 17, 2014
From: NETWORK APPLIANCE, INC.
To: NETAPP, INC.
Reel/Frame 031995/0485 →
Continuity (1)
Continuation 12113074 · Apr 30, 2008