IP Library Granted Patent US 9,667,646
Granted Patent B2
US 9,667,646 · App. 14/620,711 · Granted May 30, 2017

Maintaining dynamic configuration information of a multi-host off-cluster service on a cluster

Inventors: Mark Muhlestein (Sunnyvale, CA); Rajesh Jaiswal (Bangalore, IN); Sunil Bhargo (Bangalore, IN); Mankawaldeep Singh (Bangalore, IN)
Assignee: NetApp, Inc.
H04L63/145G06F21/57
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,667,646
App. No.
14/620,711
Granted
May 30, 2017
Kind
B2
Abstract

Techniques for maintaining dynamic configuration information of a multi-host off-cluster service on a cluster are described. An apparatus may comprise a dynamic configuration validation service component to execute to execute a dynamic configuration validation service for scanning files in a cluster of nodes. The dynamic configuration validation service component operative to validate a scanner version for each one of multiple scanners for scanning a file in a cluster of nodes, maintain the scanner version in a list of valid scanner versions for the multiple scanners, and scan the file by one of the one of multiple scanners having the scanner version contained in the list of the valid scanner versions.

Claims (56)

1. A method, comprising:

retrieving, by a computing device, a scanner version identifier (ID) from a file scan signature for a file in response to a received request to access the file;

determining, by the computing device, when a current scan result for the file is valid based on whether the scanner version ID is included in a valid scanner version list and a connection count for the scanner version ID in the valid scanner version list indicates that a scanner corresponding to the scanner version ID is active;

retrieving, by the computing device, a scan status from the file scan signature for the file, when the determining indicates that the current scan result for the file is valid; and

determining, by the computing device, when the scan status indicates that the file is clean and providing access to the file in response to the request without scanning the file, when the determining indicates that the scan status indicates that the file is clean.

2. The method of claim 1 , comprising generating, by the computing device, the valid scanner version list from multiple scanners actively performing scanning operations in a cluster of nodes, wherein the multiple scanners comprise the scanner and are services provided by non-cluster hosts.

3. The method of claim 2 , comprising determining, by the computing device, a scanner version for each one of the multiple scanners.

4. The method of claim 1 , comprising:

assigning, by the computing device, the scanner version ID based on a scanner version of the scanner;

storing, by the computing device, the scanner version ID with the file scan signature; and

rescanning, by the computing device, the file when the determining indicates that the current scan result for the file is not valid.

5. The method of claim 1 , comprising:

collating, by the computing device, connection information for each one of multiple scanners from each of one or more cluster nodes;

maintaining, by the computing device, a number of connections to a version of each one of multiple scanners; and

updating, by the computing device, the connection information in the list of the valid scanner version list upon determining that a new version for one or more of the multiple scanners has been connected to one or more of the cluster nodes.

6. The method of claim 1 , comprising:

marking, by the computing device, the scanner version ID as invalid upon disconnection comprising resetting the connection count in the valid scanner list to indicate that the scanner is not currently connected; and

delaying, by the computing device, a removal of the scanner version ID from the valid scanner version list comprising setting a timeout period associated with the scanner version ID in the valid scanner version list.

7. A non-transitory machine readable medium having stored thereon instructions for performing a method comprising machine executable code which when executed by at least one machine, causes the machine to:

retrieve a scanner version identifier (ID) from a file scan signature for a file in response to a received request to access the file;

determine when a current scan result for the file is valid based on whether the scanner version ID is included in a valid scanner version list and a connection count for the scanner version ID in the valid scanner version list indicates that a scanner corresponding to the scanner version ID is active;

retrieve a scan status from the file scan signature for the file, when the determining indicates that the current scan result for the file is valid; and

determine when the scan status indicates that the file is clean and provide access to the file in response to the request without scanning the file, when the determining indicates that the scan status indicates that the file is clean.

8. The non-transitory machine readable medium of claim 7 , wherein the machine executable code when executed by the machine, further causes the machine to generate the valid scanner version list from multiple scanners actively performing scanning operations in a cluster of nodes, wherein the multiple scanners comprise the scanner and are services provided by non-cluster hosts.

9. The non-transitory machine readable medium of claim 8 , wherein the machine executable code when executed by the machine, further causes the machine to determine a scanner version for each one of the multiple scanners.

10. The non-transitory machine readable medium of claim 7 , wherein the machine executable code when executed by the machine, further causes the machine to;

assign the scanner version ID based on a scanner version of the scanner;

store the scanner version ID with the file scan signature; and

rescan the file when the determining indicates that the current scan result for the file is not valid.

11. The non-transitory machine readable medium of claim 7 , wherein the machine executable code when executed by the machine, further causes the machine to:

collate connection information for each one of multiple scanners from each of one or more cluster nodes;

maintain a number of connections to a version of each one of multiple scanners; and

update the connection information in the list of the valid scanner version list upon determining that a new version for one or more of the multiple scanners has been connected to one or more of the cluster nodes.

12. The non-transitory machine readable medium of claim 7 , wherein the machine executable code when executed by the machine, further causes the machine to:

mark the scanner version ID as invalid upon disconnection and reset the connection count in the valid scanner list to indicate that the scanner is not currently connected; and

delay a removal of the scanner version ID from the valid scanner version list and set a timeout period associated with the scanner version ID in the valid scanner version list.

13. A computing device, comprising:

a memory containing a machine readable medium comprising machine executable code having stored thereon instructions for performing a method of providing data sessions with clients that access data containers of a shared storage; and

a processor coupled to the memory, the processor configured to execute the machine executable code to cause the processor to:

retrieve a scanner version identifier (ID) from a file scan signature for a file in response to a received request to access the file;

determine when a current scan result for the file is valid based on whether the scanner version ID is included in a valid scanner version list and a connection count for the scanner version ID in the valid scanner version list indicates that a scanner corresponding to the scanner version ID is active;

retrieve a scan status from the file scan signature for the file, when the determining indicates that the current scan result for the file is valid; and

determine when the scan status indicates that the file is clean and provide access to the file in response to the request without scanning the file, when the determining indicates that the scan status indicates that the file is clean.

14. The computing device of claim 13 , wherein the processor is further configured to execute the machine executable code to cause the processor to generate the valid scanner version list from multiple scanners actively performing scanning operations in a cluster of nodes, wherein the multiple scanners comprise the scanner and are services provided by non-cluster hosts.

15. The computing device of claim 14 , wherein the processor is further configured to execute the machine executable code to cause the processor to determine a scanner version for each one of the multiple scanners.

16. The computing device of claim 13 , wherein the processor is further configured to execute the machine executable code to cause the processor to:

assign the scanner version ID based on a scanner version of the scanner;

store the scanner version ID with the file scan signature; and

rescan the file when the determining indicates that the current scan result for the file is not valid.

17. The computing device of claim 13 , wherein the processor is further configured to execute the machine executable code to cause the processor to:

collate connection information for each one of multiple scanners from each of one or more cluster nodes;

maintain a number of connections to a version of each one of multiple scanners; and

update the connection information in the list of the valid scanner version list upon determining that a new version for one or more of the multiple scanners has been connected to one or more of the cluster nodes.

18. The computing device of claim 13 , wherein the processor is further configured to execute the machine executable code to cause the processor to:

mark the scanner version ID as invalid upon disconnection and reset the connection count in the valid scanner list to indicate that the scanner is not currently connected; and

delay a removal of the scanner version ID from the valid scanner version list and set a timeout period associated with the scanner version ID in the valid scanner version list.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 23, 2015
From: MUHLESTEIN, MARK; JAISWAL, RAJESH; BHARGO, SUNIL
To: NETAPP, INC.
Reel/Frame 037121/0516 →
CHANGE OF NAME Recorded Nov 23, 2015
From: NETWORK APPLIANCE, INC.
To: NETAPP, INC.
Reel/Frame 037123/0690 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 20, 2015
From: SINGH, MANKAWALDEEP
To: NETWORK APPLIANCE INC.
Reel/Frame 037106/0420 →
Continuity (1)
Related Publication 20160241572A1 · Aug 18, 2016