IP Library Granted Patent US 7,822,726
Granted Patent B1
US 7,822,726 · App. 11/190,610 · Granted Oct 26, 2010

Encapsulation of storage object extensibility records for backup and restore

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,822,726
App. No.
11/190,610
Filed
Jul 27, 2005
Granted
Oct 26, 2010
Kind
B1
Art Unit
2165
USPC
707/204
Abstract

A method for encapsulation of extensibility records for backup and restore comprises determining whether a storage object to be backed up, such as a file or a directory of a primary data set, has an extensibility record associated with it. In response to determining that the storage object has an associated extensibility record, the method may include storing an encoding of at least a portion of the extensibility record, and generating a backup version of the storage object.

Claims (46)

1. A method for use by a backup manager, the method comprising:

initiating a backup procedure, and in response to initiating the backup procedure:

identifying a storage object to be backed up, wherein the storage object is stored in a file system at a first host;

generating a backup version of the storage object;

determining whether the storage object has an associated extensibility record, wherein the extensibility record comprises a first reparse point including a first tag and a first data field, wherein the first tag indicates the first reparse point is of a first type which is for use by the file system at the first host;

in response to determining that the storage object has an associated extensibility record:

generating an encoded version of the first reparse point;

generating a second reparse point including a second tag and a second data field, wherein the second reparse point is associated with the backup version of the storage object, and wherein the second tag indicates the second reparse point is of a second type which is for use by the backup manager, the second type being different from the first type;

storing both the encoded version of the first reparse point and data from the first data field within the second data field of the second reparse point;

storing the backup version of the storage object; and

storing the second reparse point;

restoring the storage object from the backup version, wherein said restoring comprises regenerating the extensibility record from the encoded version.

2. The method as recited in claim 1 , wherein the encoded version comprises an alternate named stream of an object included within a file system.

3. The method as recited in claim 1 , wherein the extensibility record includes an identification of an original location of at least a portion of the storage object.

4. The method as recited in claim 1 , wherein the extensibility record includes configuration information associated with at least one of a volume mount point and a directory junction.

5. The method as recited in claim 1 , wherein the extensibility record includes a pointer to a portion of the storage object stored within a second storage object.

6. The method as recited in claim 1 , wherein the extensibility record is accessible via an invocation of a system call provided by an operating system.

7. A system, comprising:

a processor; and

memory coupled to the processor, wherein the memory stores program instructions computer-executable by the processor to implement a backup manager configured to:

initiate a backup procedure, and in response to initiating the backup procedure:

identify a storage object to be backed up, wherein the storage object is stored in a file system at a first host;

generate a backup version of a storage object;

determine whether the storage object has an associated extensibility record, wherein the extensibility record comprises a first reparse point including a first tag and a first data field, wherein the first tag indicates the first reparse point is of a first type which is for use by the file system at the first host;

in response to determining that the storage object has an associated extensibility record:

generate an encoded version of the first reparse point;

generate a second reparse point including a second tag and a second data field, wherein the second reparse point is associated with the backup version of the storage object, and wherein the second tag indicates the second reparse point is of a second type which is for use by the backup manager, the second type being different from the first type; and

store both the encoded version of the first reparse point and data from the first data field within the second data field of the second reparse point;

store the backup version of the storage object; and

store the second reparse point;

wherein the backup manager is further configured to restore the storage object from the backup version, wherein said restoring comprises regenerating the extensibility record from the encoded version.

8. A computer readable storage medium comprising program instructions, wherein the instructions are computer-executable to implement a backup manager configured to:

initiate a backup procedure, and in response to initiating the backup procedure:

identify a storage object to be backed up, wherein the storage object is stored in a file system at a first host;

generate a backup version of a storage object;

determine whether the storage object has an associated extensibility record, wherein the extensibility record comprises a first reparse point including a first tag and a first data field, wherein the first tag indicates the first reparse point is of a first type which is for use by the file system at the first host; and

in response to determining that the storage object has an associated extensibility record:

generate an encoded version of the first reparse point;

generate a second reparse point including a second tag and a second data field, wherein the second reparse point is associated with the backup version of the storage object, and wherein the second tag indicates the second reparse point is of a second type which is for use by the backup manager, the second type being different from the first type; and

store both the encoded version of the first reparse point and data from the first data field within the second data field of the second reparse point;

store the backup version of the storage object; and

store the second reparse point;

wherein the backup manager is further configured to restore the storage object from the backup version, wherein said restoring comprises regenerating the extensibility record from the encoding.

9. The method as recited in claim 1 , wherein the second reparse point is stored with the backup version of the storage object.

10. The system as recited in claim 7 , wherein the second reparse point is stored with the backup version of the storage object.

11. The computer readable storage medium as recited in claim 8 , wherein the second reparse point is stored with the backup version of the storage object.

Assignments (15)
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 →
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 27, 2005
From: CARDIN, DALE
To: VERITAS OPERATING CORPORATION
Reel/Frame 016825/0909 →