IP Library Granted Patent US 8,565,545
Granted Patent B1
US 8,565,545 · App. 13/081,655 · Granted Oct 22, 2013

Systems and methods for restoring images

Inventors: Mehtab Ali Syed (Maharashtra, IN); Mohammed Shaikh (Maharashtra, IN)
Assignee: Symantec Corporation
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,565,545
App. No.
13/081,655
Granted
Oct 22, 2013
Kind
B1
Abstract

A computer-implemented method for restoring images may include (1) identifying an image to restore to a volume, (2) creating a synchronization map that reflects differences between the image and the volume, (3) intercepting at least one attempt to read from a region of the volume, (4) determining, based on the synchronization map, that the region has not yet been restored from the image, (5) copying the region from the image to the volume, (6) updating the synchronization map to reflect that the region has been restored, and (7) allowing the attempt to read from the region to proceed. Various other methods, systems, and computer-readable media are also disclosed.

Claims (57)

1. A computer-implemented method for restoring images, the method being performed by a computing device comprising at least one processor, the method comprising:

identifying an image to restore to a volume;

creating a synchronization map that reflects differences between the image and the volume;

intercepting at least one attempt to read from a region of the volume;

determining, when the synchronization map indicates that the attempt to read applies to a region that has not yet been restored, that the region of the volume has not yet been restored from the image;

in response to both the attempt to read from the region of the volume and the determination that the region of the volume has not yet been restored from the image:

restoring the region of the volume from the image to the volume;

updating the synchronization map to reflect that the region of the volume has been restored;

upon restoring the region of the volume from the image to the volume, allowing the attempt to read from the region of the volume to proceed.

2. The computer-implemented method of claim 1 , further comprising:

identifying at least one additional attempt to read from an additional region of the volume;

determining, based on the synchronization map, that the additional region of the volume has been restored from the image;

allowing the additional attempt to read from the additional region of the volume to proceed.

3. The computer-implemented method of claim 1 , wherein intercepting the attempt to read from the region of the volume comprises intercepting the attempt from within a filter driver.

4. The computer-implemented method of claim 1 , wherein updating the synchronization map comprises updating the synchronization map on a non-volatile storage device.

5. The computer-implemented method of claim 1 , wherein the synchronization map comprises a bitmap indicating which regions within the image have yet to be restored to the volume.

6. The computer-implemented method of claim 1 , wherein the image comprises at least one of:

a backup image;

a virtual image.

7. The computer-implemented method of claim 1 , wherein identifying the image comprises mounting the image.

8. The computer-implemented method of claim 1 , wherein identifying the image comprises identifying a remotely-stored image.

9. A system for restoring images, the system comprising:

an identification module programmed to identify an image to restore to a volume;

a creation module programmed to create a synchronization map that reflects differences between the image and the volume;

an interception module programmed to intercept at least one attempt to read from a region of the volume;

a determination module programmed to determine, when the synchronization map indicates that the attempt to read applies to a region that has not yet been restored, that the region of the volume has not yet been restored from the image;

a copying module programmed to restore the region of the volume from the image to the volume in response to both the attempt to read from the region of the volume and the determination that the region of the volume has not yet been restored from the image;

an updating module programmed update the synchronization map when the region of the volume has been restored;

a reading module programmed to allow the attempt to read from the region of the volume to proceed following the restoration of the region of the volume from the image to the volume;

at least one processor configured to execute the identification module, the creation module, the interception module, the determination module, the copying module, the updating module, and the reading module.

10. The system of claim 9 , wherein:

the interception module is further programmed to identify at least one additional attempt to read from an additional region of the volume;

the determination module is further programmed to determine, based on the synchronization map, that the additional region of the volume has been restored from the image;

the reading module is further programmed to allow the additional attempt to read from the additional region of the volume to proceed.

11. The system of claim 9 , wherein the interception module is programmed to intercept the attempt to read from the region of the volume by intercepting the attempt from within a filter driver.

12. The system of claim 9 , wherein the updating module is programmed to update the synchronization map by updating the synchronization map on a non-volatile storage device.

13. The system of claim 9 , wherein the synchronization map comprises a bitmap indicating which regions within the image have yet to be restored to the volume.

14. The system of claim 9 , wherein the image comprises at least one of:

a backup image;

a virtual image.

15. The system of claim 9 , wherein the identification module is programmed to identify the image by mounting the image.

16. The system of claim 9 , wherein the identification module is programmed to identify the image by identifying a remotely-stored image.

17. A non-transitory computer-readable-storage medium comprising one or more computer-executable instructions that, when executed by at least one processor of a computing device, cause the computing device to:

identify an image to restore to a volume;

create a synchronization map that reflects differences between the image and the volume;

intercept at least one attempt to read from a region of the volume;

determine, when the synchronization map indicates that the attempt to read applies to a region that has not yet been restored, that the region of the volume has not yet been restored from the image;

in response to both the attempt to read from the region of the volume and the determination that the region of the volume has not yet been restored from the image:

restore the region of the volume from the image to the volume;

update the synchronization map to reflect that the region of the volume has been restored;

upon the restoration of the region of the volume from the image to the volume, allow the attempt to read from the region of the volume to proceed.

18. The non-transitory computer-readable-storage medium of claim 17 , wherein the one or more computer-executable instructions further cause the computing device to:

identify at least one additional attempt to read from an additional region of the volume;

determine, based on the synchronization map, that the additional region of the volume has been restored from the image;

allow the additional attempt to read from the additional region of the volume to proceed.

19. The non-transitory computer-readable-storage medium of claim 17 , wherein intercepting the attempt to read from the region of the volume comprises intercepting the attempt from within a filter driver.

20. The non-transitory computer-readable-storage medium of claim 17 , wherein updating the synchronization map comprises updating the synchronization map on a non-volatile storage device.

Assignments (14)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2026
From: VERITAS TECHNOLOGIES LLC
To: COHESITY, INC.
Reel/Frame 075728/0466 →
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 AND CHANGE OF NAME Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC; VERITAS TECHNOLOGIES LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038455/0752 →
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 037697/0412 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2011
From: SYED, MEHTAB ALI; SHAIKH, MOHAMMED
To: SYMANTEC CORPORATION
Reel/Frame 026090/0046 →