IP Library Granted Patent US 7,672,979
Granted Patent B1
US 7,672,979 · App. 11/177,813 · Granted Mar 2, 2010

Backup and restore techniques using inconsistent state indicators

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 7,672,979
App. No.
11/177,813
Filed
Jul 8, 2005
Granted
Mar 2, 2010
Kind
B1
Art Unit
2165
USPC
707/204
Abstract

A method for backup and restore using inconsistent state indicators comprises identifying, from among a plurality of data objects to be backed up, one or more data objects that are in an inconsistent state, and storing inconsistent state indicators (such as modified object attributes) associated with the data objects. The method may further include generating a backup aggregate such as a snapshot of the plurality of data objects, where the backup aggregate includes backup versions of the inconsistent data objects. Prior to restoring one or more data objects from the backup aggregation, the method may include using the inconsistent state indicators to identify the backup versions that correspond to the inconsistent data objects, e.g., to exclude backup versions corresponding to inconsistent data objects from a list of full restoration candidates.

Claims (66)

1. A method, comprising:

identifying a first data object of a plurality of data objects as being in an inconsistent state with respect to a second data object, wherein the second data object is not in the plurality of data objects, wherein the first data object is a replica of the second data object, wherein identifying the first data object as being in the inconsistent state comprises identifying the first object as being in a partially replicated state;

generating a backup aggregation of the plurality of data objects wherein the backup aggregation includes a backup version of the first data object and backup versions of each of the plurality of data objects other than the first data object;

storing an inconsistent state indicator associated with the first data object in response to identifying the first data object as being in the inconsistent state, wherein the inconsistent state indicator indicates that the backup version of the first data object is a backup version of an inconsistent data object;

subsequently to generating the backup aggregation, receiving a request to perform a restoration from the backup aggregation;

in response to the request to perform the restoration, displaying a user interface enabling a user to select one or more backup versions to restore from the backup aggregation, wherein the user interface prevents the user from selecting backup versions of inconsistent data objects for restoration, wherein the backup version of the first data object is prevented from being selected for restoration by the user in response to identifying the backup version of the first data object as a backup version of an inconsistent data object using the stored inconsistent state indicator;

receiving user input selecting one or more backup versions of one or more data objects other than the first data object from the displayed user interface; and

restoring the one or more selected backup versions from the backup aggregation.

2. The method as recited in claim 1 , wherein preventing the backup version of the first data object from being selected by the user comprises:

from the backup aggregation, generating a list of backup versions suitable for restoration, wherein the backup version of the first data object is excluded from the list in response to identifying the backup version of the first data object as a backup version of an inconsistent data object using the stored inconsistent state indicator, wherein the backup versions of each of the plurality of data objects other than the first data object are included in the list;

wherein the user interface displays backup versions included in the list and does not display backup versions excluded from the list.

3. The method as recited in claim 1 , wherein the backup aggregation of the plurality of data objects is a snapshot of the plurality of data objects.

4. The method as recited in claim 1 , wherein storing the inconsistent state indicator comprises setting an attribute of the first data object to a particular value;

wherein identifying the backup version of the first data object as a backup version of an inconsistent data object comprises determining that the attribute of the first data object is set to the particular value.

5. The method as recited in claim 4 , wherein storing the inconsistent state indicator comprises setting a create-time attribute of the first data object to a particular value;

wherein identifying the backup version of the first data object as a backup version of an inconsistent data object comprises determining that the create-time attribute of the first data object is set to the particular value.

6. The method as recited in claim 1 , wherein the inconsistent state indicator is stored within the backup aggregation.

7. The method as recited in claim 1 , wherein the inconsistent state indicator is stored in a database external to the backup aggregation.

8. The method as recited in claim 1 , wherein the inconsistent state indicator is included within an alternate file stream.

9. The method as recited in claim 1 ,

wherein said preventing the user from selecting backup versions of inconsistent data objects for restoration comprises preventing the user from selecting backup versions of inconsistent data objects for a first type of restoration, wherein the backup version of the first data object is prevented from being selected for the first type of restoration by the user in response to identifying the backup version of the first data object as a backup version of an inconsistent data object using the stored inconsistent state indicator;

wherein the user interface enables the user to select the backup version of the first data object for a second type of restoration.

10. The method as recited in claim 9 ,

wherein the first type of restoration is full restoration;

wherein the second type of restoration is partial restoration.

11. A method, comprising:

identifying a first data object of a plurality of data objects as being in an inconsistent state with respect to a second data object, wherein the second data is not in the plurality of data objects, wherein the first data object is a replica of the second data object, wherein identifying the first data object as being in the inconsistent state comprises identifying the first data object as being in a partially replicated state;

generating a backup aggregation of a plurality of data object, wherein the backup aggregation includes a backup version of the first data object and backup versions of each of the plurality of data objects other than the first data object;

storing an inconsistent state indicator associated with the first data object in response to identifying the first data object as being in the inconsistent state, wherein the inconsistent state indicator indicates that the backup version of the first data object is a backup version of an inconsistent data object;

subsequently to generating the backup aggregation, receiving a request to perform a restoration from the backup aggregation;

in response to the request to perform the restoration:

displaying a first list in a user interface, wherein the first list indicates one or more backup versions of one or more data objects suitable for full restoration, wherein the first list includes one or more backup versions of one or more of the plurality of data objects other than the first data object, wherein the user interface enables the one or more backup versions of the first list to be selected for full restoration;

displaying a second list in the user interface together with the first list, wherein the second list indicates one or more backup versions of one or more data objects suitable for partial restoration, wherein the backup version of the first data object is displayed in the second list in response to identifying the backup version of the first data object as a backup version of an inconsistent data object using the inconsistent state indicator, wherein the user interface enables the backup version of the first data object to be selected from the second list for partial restoration;

receiving user input to the user interface selecting the backup version of the first data object from the second list; and

performing a partial restoration of the first data object using the backup version of the first data object.

12. A system, comprising:

one or more processors; and

memory storing program instructions,

wherein the program instructions are computer-executable by the one or more processors to implement a backup manager configured to:

identify a first data object of a plurality of data objects as being in an inconsistent state with respect to a second data object, wherein the second data object is not in the plurality of data objects, wherein the first data object is a replica of the second data object, wherein identifying the first data object as being in the inconsistent state comprises identifying the first data object as being in a partially replicated state;

generate a backup aggregation of the plurality of data objects, wherein the backup aggregation includes a backup version of the first data object and backup versions of each of the plurality of data objects other than the first data object;

store an inconsistent state indicator associated with the first data object in response to identifying the first data object as being in the inconsistent state, wherein the inconsistent state indicator indicates that the backup version of the first data object is a backup version of an inconsistent data object;

subsequently to generating the backup aggregation, receive a request to perform a restoration from the backup aggregation;

in response to the request to perform the restoration, display a user interface enabling a user to select one or more backup versions to restore from the backup aggregation, wherein the user interface prevents the user from selecting backup versions of inconsistent data objects for restoration, wherein the backup manager is configured to prevent the backup version of the first data object from being selected for restoration by the user in response to identifying the backup version of the first data object as a backup version of an inconsistent data object using the stored inconsistent state indicator;

receive user input selecting one or more backup versions of one or more data objects other than the first data object from the displayed user interface; and

restore the one or more selected backup versions from the backup aggregation.

13. The system as recited in claim 12 , wherein in preventing the backup version of the first data object from being selected by the user, the backup manager is configured to:

generate a list of backup versions suitable for restoration from the backup aggregation, wherein the backup version of the first data object is excluded from the list in response to identifying the backup version of the first data object as a backup version of an inconsistent data object using the stored inconsistent state indicator, wherein the backup versions of each of the plurality of data objects other than the first data object are included in the list;

wherein the backup manager is configured to display the user interface such that the user interface displays backup versions included in the list and does not display backup versions excluded from the list.

14. The system as recited in claim 12 , wherein the backup aggregation of the plurality of data objects is a snapshot of the plurality of data objects.

15. The system as recited in claim 12 , wherein storing the inconsistent state indicator comprises setting an attribute of the first data object to a particular value;

wherein identifying the backup version of the first data object as a backup version of an inconsistent data object comprises determining that the attribute of the first data object is set to the particular value.

16. A computer readable medium comprising program instructions, wherein the program instructions are computer-executable to:

identify a first data object of a plurality of data objects as being in an inconsistent state with respect to a second data object, wherein the second data object is not in the plurality of data objects, wherein the first data object is a replica of the second data object, wherein identifying the first data object as being in the inconsistent state comprises identifying the first data object as being in a Partially replicated state;

generate a backup aggregation of the plurality of data objects, wherein the backup aggregation includes a backup version of the first data object and backup versions of each of the plurality of data objects other than the first data object;

store an inconsistent state indicator associated with the first data object in response to identifying the first data object as being in the inconsistent state, wherein the inconsistent state indicator indicates that the backup version of the first data object is a backup version of an inconsistent data object;

subsequently to generating the backup aggregation, receive a request to perform a restoration from the backup aggregation;

in response to the request to perform the restoration, display a user interface enabling a user to select one or more backup versions to restore from the backup aggregation, wherein the user interface prevents the user from selecting backup versions of inconsistent data objects for restoration, wherein the program instructions are computer-executable to prevent the backup version of the first data object from being selected for restoration by the user in response to identifying the backup version of the first data object as a backup version of an inconsistent data object using the stored inconsistent state indicator;

receive user input selecting one or more backup versions of one or more data objects other than the first data object from the displayed user interface; and

restore the one or more selected backup versions from the backup aggregation.

17. The computer readable medium as recited in claim 16 , wherein in preventing the backup version of the first data object from being selected by the user, the program instructions are computer-executable to:

generate a list of backup versions suitable for restoration from the backup aggregation, wherein the backup version of the first data object is excluded from the list in response to identifying the backup version of the first data object as a backup version of an inconsistent data object using the stored inconsistent state indicator, wherein the backup versions of each of the plurality of data objects other than the first data object are included in the list;

wherein the program instructions are computer-executable to display the user interface such that the user interface displays backup versions included in the list and does not display backup versions excluded from the list.

18. The computer readable medium as recited in claim 16 , wherein the backup aggregation of the plurality of data objects is a snapshot of the plurality of data objects.

19. The computer readable medium as recited in claim 16 , wherein storing the inconsistent state indicator comprises setting an attribute of the first data object to a particular value;

wherein identifying the backup version of the first data object as a backup version of an inconsistent data object comprises determining that the attribute of the first data object is set to the particular value.

Assignments (12)
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 →
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 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED ON REEL 019872 FRAME 979. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNEE IS SYMANTEC OPERATING CORPORATION. Recorded Mar 5, 2012
From: VERITAS OPERATING CORPORATION
To: SYMANTEC OPERATING CORPORATION
Reel/Frame 027819/0462 →
CHANGE OF NAME Recorded Sep 26, 2007
From: VERITAS OPERATING CORPORATION
To: SYMANTEC CORPORATION
Reel/Frame 019872/0979 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 8, 2005
From: APPELLOF, CARL J.; CARDIN, DALE; ASGAR-DEEN, TERRENCE
To: VERITAS OPERATING CORPORATION
Reel/Frame 016773/0397 →
Continuity (1)
Provisional Application 6067422400 · Apr 22, 2005