IP Library Granted Patent US 9,128,940
Granted Patent B1
US 9,128,940 · App. 13/775,940 · Granted Sep 8, 2015

Method and apparatus for performing file-level restoration from a block-based backup file stored on a sequential storage device

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,128,940
App. No.
13/775,940
Granted
Sep 8, 2015
Kind
B1
Abstract

A method and apparatus for performing file-level restoration from a block-based backup file stored on a sequential storage device is described. In one embodiment, a method of processing a backup file to perform file-level restoration from a sequential storage device comprises generating extent information, wherein the extent information pertains to at least one file system object associated with a backup file, wherein the backup file is to be stored on a sequential storage device, wherein the backup file is block-based and processing a backup catalog, wherein the backup catalog indicates locations of various portions of the extent information and is used to restore a file system object.

Claims (82)

1. A method comprising:

identifying a first plurality of backup images, wherein

the first plurality of backup images comprises a subset of a second plurality of backup images,

the second plurality of backup images is stored on a sequential media device, and

each backup image of the second plurality of backup images is configured to store data corresponding to a plurality of files, and

each backup image of the first plurality of backup images comprises data corresponding to a first file of the plurality of files;

sequentially accessing the each backup image of the first plurality of backup images, wherein

the backup images of the first plurality of backup images are accessed in reverse chronological order;

collecting a first set of offset information, wherein

the first set of offset information comprises file offset information;

collecting a second set of offset information, wherein

the second set of offset information comprises frame offset information; and

restoring a portion of the first file from the each backup image, wherein

the restoring utilizes at least one of the first set of offset information or the second set of offset information.

2. The method of claim 1 , further comprising:

accessing chain extent information.

3. The method of claim 1 , further comprising:

skipping at least one backup image that does not include data corresponding to the first file.

4. The method of claim 1 , further comprising:

determining whether all data associated with the first file has been restored; and

selecting a next backup image in response to determining that all data has not been restored.

5. The method of claim 4 , wherein

the determining comprises accessing a backup catalog stored on a sequential storage device.

6. The method of claim 5 , wherein

the restoring comprises accessing the sequential storage device.

7. The method of claim 1 , further comprising:

locating a beginning of a frame using the frame offset information; and

locating an extent associated with the first file using the file offset information, wherein the frame comprises the extent.

8. The method of claim 1 , wherein

the first plurality of backup images comprises a chronological sequence of incremental backups.

9. A non-transitory computer readable storage medium storing program instructions executable to:

identify a first plurality of backup images, wherein

the first plurality of backup images comprises a subset of a second plurality of backup images,

the second plurality of backup images is stored on a sequential media device, and

each backup image of the second plurality of backup images is configured to store data corresponding to a plurality of files, and

each backup image of the first plurality of backup images comprises data corresponding to a first file of the plurality of files;

sequentially access the each backup image of the first plurality of backup images, wherein

the backup images of the first plurality of backup images are accessed in reverse chronological order;

collect a first set of offset information, wherein

the first set of offset information comprises file offset information;

collect a second set of offset information, wherein

the second set of offset information comprises frame offset information; and

restoring a portion of the first file from the each backup image, wherein

restoring the portion of the first file utilizes at least one of the first set of offset information or the second set of offset information.

10. The non-transitory computer readable storage medium of claim 9 , wherein the instructions are further executable to:

access chain extent information.

11. The non-transitory computer readable storage medium of claim 9 , wherein the instructions are further executable to:

skip at least one backup image that does not include data corresponding to the first file.

12. The non-transitory computer readable storage medium of claim 9 , wherein the instructions are further executable to:

determine whether all data associated with the first file has been restored; and

select a next backup image in response to determining that all data has not been restored, wherein

determining whether all data associated with the first file has been restored comprises accessing a backup catalog stored on a sequential storage device.

13. The non-transitory computer readable storage medium of claim 9 , wherein the instructions are further executable to:

locate a beginning of a frame using the frame offset information; and

locate an extent associated with the first file using the file offset information, wherein the frame comprises the extent.

14. A system comprising:

one or more processors; and

a memory coupled to the one or more processors, wherein the memory stores program instructions executable by the one or more processors to:

identify a first plurality of backup images, wherein

the first plurality of backup images comprises a subset of a second plurality of backup images,

the second plurality of backup images is stored on a sequential media device, and

each backup image of the second plurality of backup images is configured to store data corresponding to a plurality of files, and

each backup image of the first plurality of backup images comprises data corresponding to a first file of the plurality of files;

sequentially access the each backup image of the first plurality of backup images, wherein

the backup images of the first plurality of backup images are accessed in reverse chronological order;

collecting a first set of offset information, wherein

the first set of offset information comprises file offset information;

collecting a second set of offset information, wherein

the second set of offset information comprises frame offset information; and

restoring a portion of the first file from the each backup image, wherein

the restoring utilizes at least one of the first set of offset information or the second set of offset information.

15. The system of claim 14 , wherein the instructions are further executable to:

access chain extent information.

16. The system of claim 14 , wherein the instructions are further executable to:

skip at least one backup image that does not include data corresponding to the first file.

17. The system of claim 14 , wherein the instructions are further executable to:

determine whether all data associated with the first file has been restored; and

select a next backup image in response to determining that all data has not been restored, wherein

determining whether all data associated with the first file has been restored comprises accessing a backup catalog stored on a sequential storage device.

18. The system of claim 14 , wherein the instructions are further executable to:

locate a beginning of a frame using the frame offset information; and

locate an extent associated with the first file using the file offset information, wherein the frame comprises the extent.

Assignments (12)
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 →