IP Library Granted Patent US 8,495,023
Granted Patent B1
US 8,495,023 · App. 10/931,636 · Granted Jul 23, 2013

Delta catalogs in a backup system

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,495,023
App. No.
10/931,636
Granted
Jul 23, 2013
Kind
B1
Abstract

A method and mechanism for performing data backups in a computing system. A “delta” catalog is utilized for the maintenance of data backups. The delta catalog includes a backed up object table and an extent map. For a given backup, the backed up object table update stores entries which identify only those objects backed up during that backup. The backed up object table is further configured to store entries which identify objects which were deleted between the time of a prior backup procedure and a current backup procedure. The extent map is configured identify all objects present in the system at the time of a particular backup. The extent map identifies the objects which were present as one or more sequences of entries in the backed up object table.

Claims (62)

1. A method for backing up objects in a computing system, the method comprising:

initiating a first backup procedure corresponding to a plurality of objects in the computing system;

updating a backed up object table in a catalog, wherein said updating comprises:

generating and storing data which identifies only those objects backed up during the first backup procedure; and

generating and storing data which identifies objects which were deleted prior to initiation of the first backup procedure and subsequent to a prior backup procedure, the prior backup procedure having occurred prior to the first backup procedure;

updating an extent map in the catalog which identifies all of said plurality of objects, wherein said extent map identifies objects as one or more sequences of entries in the backed up object table.

2. The method as recited in claim 1 , further comprising:

updating a backup table in the catalog which identifies backups which have been performed in the system; and

updating an object table in the catalog which identifies objects detected during said backups.

3. The method as recited in claim 2 , wherein in addition to identifying objects detected during said backups, the object table further identifies relationships between objects identified in the object table.

4. The method as recited in claim 3 , wherein the backed up object table includes for each entry:

an identifier which identifies a particular backup procedure;

a unique index for each entry corresponding to a particular backup procedure; and

an object identifier which identifies a particular object.

5. The method as recited in claim 4 , wherein the extent map includes for each entry:

an identifier which identifies a particular backup procedure;

a source backup identifier which identifies one or more entries of a particular back up procedure in the backed up object table; and

a source index which identifies a particular entry of the one or more entries.

6. The method as recited in claim 5 , wherein prior to generating and storing data which identifies said objects which were deleted subsequent to a prior backup procedure, the method further comprises accessing said catalog, determining a state of the computing system at the time of the prior backup procedure, and comparing said state to the plurality of objects to determine which objects have been deleted.

7. The method as recited in claim 6 , wherein each entry of the backed up object table further includes both a time of creation for a corresponding object and a time of modification for a corresponding object.

8. A computing system comprising:

a file system comprising a plurality of data objects;

a storage device configured to store backed up data objects and a backup catalog; and

a backup mechanism, wherein said backup mechanism is configured to:

initiate a first backup procedure corresponding to a plurality of objects in the file system;

update a backed up object table in the catalog, wherein updating the backed up object table comprises:

generating and storing data which identifies only those objects backed up during the first backup procedure; and

generating and storing data which identifies objects which were deleted prior to initiation of the first backup procedure and subsequent to a prior backup procedure, the prior backup procedure having occurred prior to the first backup procedure;

update an extent map in the catalog which identifies all of said plurality of objects, wherein said extent map identifies objects as one or more sequences of entries in the backed up object table.

9. The computing system as recited in claim 8 , wherein the backup mechanism is further configured to:

update a backup table in the catalog which identifies backups which have been performed in the system; and

update an object table in the catalog which identifies objects detected during said backups.

10. The computing system as recited in claim 9 , wherein in addition to identifying objects detected during said backups, the object table further identifies relationships between objects identified in the object table.

11. The computing system as recited in claim 10 , wherein the backed up object table includes for each entry:

an identifier which identifies a particular backup procedure;

a unique index for each entry corresponding to a particular backup procedure; and

an object identifier which identifies a particular object.

12. The computing system as recited in claim 11 , wherein the extent map includes for each entry:

an identifier which identifies a particular backup procedure;

a source backup identifier which identifies one or more entries of a particular back up procedure in the backed up object table; and

a source index which identifies a particular entry of the one or more entries.

13. The computing system as recited in claim 12 , wherein prior to generating and storing data which identifies said objects which were deleted subsequent to a prior backup procedure, the backup mechanism is configured to access said catalog, determine a state of the computing system at the time of the prior backup procedure, and compare said state to the plurality of objects to determine which objects have been deleted.

14. The computing system as recited in claim 13 , wherein each entry of the backed up object table further includes both a time of creation for a corresponding object and a time of modification for a corresponding object.

15. A non-transitory computer readable storage medium comprising program instructions, wherein the program instructions are executable to:

initiate a first backup procedure corresponding to a plurality of objects in the computing system;

update a backed up object table in a catalog, wherein updating the backed up object table comprises:

generating and storing data which identifies only those objects backed up during the first backup procedure; and

generating and storing data which identifies objects which were deleted prior to initiation of the first backup procedure and subsequent to a prior backup procedure, the prior backup procedure having occurred prior to the first backup procedure;

update an extent map in the catalog which identifies all of said plurality of objects, wherein said extent map identifies objects as one or more sequences of entries in the backed up object table.

16. The non-transitory computer readable storage medium as recited in claim 15 , wherein the program instructions are further executable to:

update a backup table in the catalog which identifies backups which have been performed in the system; and

update an object table in the catalog which identifies objects detected during said backups.

17. The non-transitory computer readable storage medium as recited in claim 16 , wherein in addition to identifying objects detected during said backups, the object table further identifies relationships between objects identified in the object table.

18. The non-transitory computer readable storage medium as recited in claim 17 , wherein the backed up object table includes for each entry:

an identifier which identifies a particular backup procedure;

a unique index for each entry corresponding to a particular backup procedure; and

an object identifier which identifies a particular object.

19. The non-transitory computer readable storage medium as recited in claim 18 , wherein the extent map includes for each entry:

an identifier which identifies a particular backup procedure;

a source backup identifier which identifies one or more entries of a particular back up procedure in the backed up object table; and

a source index which identifies a particular entry of the one or more entries.

20. The non-transitory computer readable storage medium as recited in claim 19 , wherein prior to generating and storing data which identifies objects which were deleted subsequent to a prior backup procedure, the program instructions are executable to access said catalog, determine a state of the computing system at the time of the prior backup procedure, and compare said state to the plurality of objects to determine which objects have been deleted.

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: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037891/0001 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
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 Sep 1, 2004
From: TSAUR, YNN-PYNG "ANKER"; WANG, BAIGE; SEARLS, KIRK L.
To: VERITAS OPERATING CORPORATION
Reel/Frame 015765/0776 →