IP Library Granted Patent US 9,268,689
Granted Patent B1
US 9,268,689 · App. 13/429,891 · Granted Feb 23, 2016

Securing virtual machines with optimized anti-virus scan

Inventors: Grace Jing Chen (Sunnyvale, CA); Ronald Karr (Palo Alto, CA); Venkeepuram Satish (Fremont, CA); Charles Paul Jerian (Palo Alto, CA); Pu Paul Zhang (San Jose, CA)
Assignee: Symantec Corporation
G06F12/0292G06F12/1027
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,268,689
App. No.
13/429,891
Filed
Mar 26, 2012
Granted
Feb 23, 2016
Kind
B1
Art Unit
2132
USPC
711/202
Abstract

The present disclosure provides for performing virus scans at a storage device that stores one or more virtual machine disk image files (VMDK files). A secure AV module can coordinate communication between a file system on the storage device, a file system (FS) decoder, and an anti-virus engine to perform a virus scan of files contained within a VMDK file. A secure AV module can determine a subset of files that include changed data, where the subset of files is stored in a file system volume within a VMDK file. The secure AV module can use an FS decoder to translate file addresses relative to the file system volume into file addresses relative to the network storage file system. A secure AV module can provide the network storage file system addresses of the subset of files to the anti-virus engine, which can perform a virus scan on the files.

Claims (77)

1. A method comprising:

determining a first block address of a changed block, wherein

the changed block is stored in a first file system, and the first block address is relative to a first file in the first file system; and

determining a second file that contains the changed block, wherein

the second file is stored in a file area of a second file system volume, and the second file system volume is stored in the first file in the first file system.

2. The method of claim 1 , further comprising:

translating the first block address relative to the first file in the first file system into a second block address relative to the second file system.

3. The method of claim 2 , further comprising:

comparing the second block address relative to the second file system with a plurality of file addresses relative to the second file system, wherein

the plurality of file addresses comprises a file address of the second file.

4. The method of claim 3 , further comprising:

in response to a determination that the second block address overlaps the file address of the second file,

translating the file address relative to the second file system into an other file address relative to the first file system, wherein

the file address and the other file address are addresses of the second file that contains the changed block.

5. The method of claim 4 , further comprising:

providing the other file address to an anti-virus engine for scanning.

6. The method of claim 1 , further comprising:

retrieving metadata from the first file system, wherein

the first file system creates a snapshot of data stored in the first file system,

the snapshot provides a point-in-time view of the data,

changes made to the data after creation of the snapshot are recorded in the metadata, and

the determining the first block address uses the metadata.

7. The method of claim 2 , wherein the translating further comprises:

comparing the first block address to a mapping, wherein

the mapping indicates relationships between addresses of the first file system and the second file system.

8. The method of claim 7 , further comprising:

creating the mapping, wherein the creating comprises:

correlating a first plurality of addresses of the first file system with a second plurality of addresses of the second file system.

9. A system comprising:

a network storage device, and

a secure anti-virus (AV) module configured to

determine a first block address of a changed block, wherein

the changed block is stored in a first file system, and the first block address is relative to a first file in the first file system, and

determine a second file that contains the changed block, wherein

the second file is stored in a file area of a second file system volume, and the second file system volume is stored in the first file in the first file system.

10. The system of claim 9 , further comprising:

a file system (FS) decoder configured to

translate the first block address relative to the first file in the first file system into a second block address relative to the second file system.

11. The system of claim 10 , wherein

the FS decoder is further configured to

compare the second block address relative to the second file system with a plurality of file addresses relative to the second file system, wherein

the plurality of file addresses comprises a file address of the second file.

12. The system of claim 11 , wherein

the FS decoder is further configured to

translate the file address relative to the second file system into an other file address relative to the first file system, in response to a determination that the second block address overlaps the file address of the second file, wherein

the file address and the other file address are addresses of the second file that contains the changed block.

13. The system of claim 12 , wherein

the secure AV module is further configured to

provide the other file address to an anti-virus engine for scanning.

14. The system of claim 9 , wherein

the secure AV module is further configured to

retrieve metadata from the first file system, wherein

the first file system creates a snapshot of data stored in the first file system,

the snapshot provides a point-in-time view of the data,

changes made to the data after creation of the snapshot are recorded in the metadata, and

the first block address is determined by using the metadata.

15. The system of claim 10 , wherein

the FS decoder is further configured to

compare the first block address to a mapping, wherein

the mapping indicates relationships between addresses of the first file system and the second file system.

16. The system of claim 15 , wherein

the FS decoder is further configured to

correlate a first plurality of addresses of the first file system with a second plurality of addresses of the second file system to produce the mapping.

17. A non-transitory computer-readable storage medium configured to store program instructions that, when executed on a processor, are configured to cause the processor to perform operations comprising:

determining a first block address of a changed block, wherein

the changed block is stored in a first file system, and the first block address is relative to a first file in the first file system; and

determining a second file that contains the changed block, wherein

the second file is stored in a file area of a second file system volume, and the second file system volume is stored in the first file in the first file system.

18. The non-transitory computer-readable storage medium of claim 17 , wherein the operations further comprise:

translating the first block address relative to the first file in the first file system into a second block address relative to the second file system.

19. The non-transitory computer-readable storage medium of claim 18 , wherein the operations further comprise:

comparing the second block address relative to the second file system with a plurality of file addresses relative to the second file system, wherein

the plurality of file addresses comprises a file address of the second file.

20. The non-transitory computer-readable storage medium of claim 19 , wherein the operations further comprise:

in response to a determination that the second block address overlaps the file address of the second file,

translating the file address relative to the second file system into an other file address relative to the first file system, wherein

the file address and the other file address are addresses of the second file that contains the changed block.

Assignments (14)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2026
From: VERITAS TECHNOLOGIES LLC
To: COHESITY, INC.
Reel/Frame 075763/0001 →
AMENDMENT NO. 1 TO PATENT SECURITY AGREEMENT Recorded Apr 8, 2025
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 070779/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2025
From: VERITAS TECHNOLOGIES LLC
To: COHESITY, INC.
Reel/Frame 070335/0013 →
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC (F/K/A VERITAS US IP HOLDINGS LLC)
Reel/Frame 069712/0090 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
SECURITY INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK. N.A.
Reel/Frame 069890/0001 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
TERMINATION AND RELEASE OF SECURITY IN PATENTS AT R/F 037891/0726 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS US IP HOLDINGS, LLC
Reel/Frame 054535/0814 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
MERGER Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038483/0203 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037891/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: SYMANTEC CORPORATION
To: VERITAS US IP HOLDINGS LLC
Reel/Frame 037693/0158 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 26, 2012
From: CHEN, GRACE JING; KARR, RONALD; SATISH, VENKEEPURAM; JERIAN, CHARLES PAUL; ZHANG, PU PAUL
To: SYMANTEC CORPORATION
Reel/Frame 027927/0022 →