IP Library Granted Patent US 8,112,664
Granted Patent B2
US 8,112,664 · App. 12/055,436 · Granted Feb 7, 2012

Using volume snapshots to prevent file corruption in failed restore operations

Assignee: Symantec Operating 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,112,664
App. No.
12/055,436
Filed
Mar 26, 2008
Granted
Feb 7, 2012
Kind
B2
Art Unit
2114
USPC
714/15
Abstract

Restore software executing in a computer system may invoke a snapshot of a target volume before restoring a plurality of files from a backup image to the target volume. If the restore operation fails before all the files are restored to the target volume then the restore software may use the snapshot to return one or more of the files to their original states as they existed before the restore operation was initiated.

Claims (41)

1. A computer-accessible storage medium storing program instructions executable to:

receive user input selecting a plurality of files in a backup image and requesting to restore the plurality of files from the backup image to a volume, wherein each of the plurality of files has an original version in the volume and a backup version in the backup image;

create a snapshot of the volume in response to the restore request, wherein the snapshot represents the volume at a point in time after the restore request was received and before initiating a restore operation to attempt to satisfy the restore request;

after creating the snapshot of the volume, initiate the restore operation to attempt to satisfy the restore request by attempting to restore the backup versions of the plurality of files from the backup image to the volume by replacing the original versions in the volume with the backup versions in the backup image;

detect a failure of the restore operation, wherein the restore operation successfully restores the backup version for each file of a first subset of the plurality of files from the backup image to the volume and fails to successfully restore the backup version for each file of a second subset of the plurality of files from the backup image to the volume;

prompt for user input selecting to perform one of the following two options in response to the failure of the restore operation: 1) returning each file of both the first subset and the second subset to its original version in the volume; or 2) returning each file of only the second subset to its original version in the volume;

wherein in response to receiving user input selecting the first option, the program instructions are executable to use the snapshot to return each file of both the first subset and the second subset to its original version in the volume; and

wherein in response to receiving user input selecting the second option, the program instructions are executable to use the snapshot to return each file of the second subset to its original version in the volume while leaving each file of the first subset as its backup version in the volume.

2. The computer-accessible storage medium of claim 1 ,

wherein the program instructions are executable to create the snapshot of the volume by invoking a copy-on-write snapshot of the volume.

3. The computer-accessible storage medium of claim 1 ,

wherein the program instructions are executable to create the snapshot of the volume by invoking a hardware-provided snapshot of the volume.

4. The computer-accessible storage medium of claim 1 ,

wherein the volume is mirrored on a plurality of storage devices;

wherein the program instructions are executable to create the snapshot of the volume by halting the volume from being mirrored on a first storage device of the plurality of storage devices so that the first storage device retains data of the volume as it exists before the restore operation is initiated, wherein the program instructions are executable to use the first storage device as the snapshot.

5. The computer-accessible storage medium of claim 1 , wherein the program instructions are further executable to:

terminate the snapshot after returning one or more files to their original versions.

6. A system comprising:

one or more processors; and

memory storing program instructions;

wherein the program instructions are executable by the one or more processors to:

receive user input selecting a plurality of files in a backup image and requesting to restore the plurality of files from the backup image to a volume, wherein each of the plurality of files has an original version in the volume and a backup version in the backup image;

create a snapshot of the volume in response to the restore request, wherein the snapshot represents the volume at a point in time after the restore request was received and before initiating a restore operation to attempt to satisfy the restore request;

after creating the snapshot of the volume, initiate the restore operation to attempt to satisfy the restore request by attempting to restore the backup versions of the plurality of files from the backup image to the volume by replacing the original versions in the volume with the backup versions in the backup image;

detect a failure of the restore operation, wherein the restore operation successfully restores the backup version for each file of a first subset of the plurality of files from the backup image to the volume and fails to successfully restore the backup version for each file of a second subset of the plurality of files from the backup image to the volume;

prompt for user input selecting to perform one of the following two options in response to the failure of the restore operation: 1) returning each file of both the first subset and the second subset to its original version in the volume; or 2) returning each file of only the second subset to its original version in the volume;

wherein in response to receiving user input selecting the first option, the program instructions are executable by the one or more processors to use the snapshot to return each file of both the first subset and the second subset to its original version in the volume; and

wherein in response to receiving user input selecting the second option, the program instructions are executable by the one or more processors to use the snapshot to return each file of the second subset to its original version in the volume while leaving each file of the first subset as its backup version in the volume.

7. The system of claim 6 , wherein the program instructions are further executable by the one or more processors to:

terminate the snapshot after returning one or more files to their original versions.

8. A computer-implemented method comprising:

a computer system receiving user input selecting a plurality of files in a backup image and requesting to restore the plurality of files from the backup image to a volume, wherein each of the plurality of files has an original version in the volume and a backup version in the backup image;

the computer system creating a snapshot of the volume in response to the restore request, wherein the snapshot represents the volume at a point in time after the restore request was received and before initiating a restore operation to attempt to satisfy the restore request;

after creating the snapshot of the volume, the computer system initiating the restore operation to attempt to satisfy the restore request by attempting to restore the backup versions of the plurality of files from the backup image to the volume by replacing the original versions in the volume with the backup versions in the backup image;

the computer system detecting a failure of the restore operation, wherein the restore operation successfully restores the backup version for each file of a first subset of the plurality of files from the backup image to the volume and fails to successfully restore the backup version for each file of a second subset of the plurality of files from the backup image to the volume;

the computer system prompting for user input selecting to perform one of the following two options in response to the failure of the restore operation: 1) returning each file of both the first subset and the second subset to its original version in the volume; or 2) returning each file of only the second subset to its original version in the volume;

wherein the method further comprises:

using the snapshot to return each file of both the first subset and the second subset to its original version in the volume if user input selecting the first option is received;

using the snapshot to return each file of the second subset to its original version in the volume while leaving each file of the first subset as its backup version in the volume if user input selecting the second option is received.

9. The method of claim 8 , further comprising:

terminating the snapshot after returning one or more files to their original versions.

Assignments (13)
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 Mar 26, 2008
From: SETHUMADHAVAN, SUREN; TSAUR, YNN-PYNG "ANKER"
To: SYMANTEC CORPORATION
Reel/Frame 020701/0927 →
Continuity (1)
Related Publication 20090249119A1 · Oct 1, 2009