IP Library Granted Patent US 9,501,368
Granted Patent B2
US 9,501,368 · App. 12/242,079 · Granted Nov 22, 2016

Backing up and restoring selected versioned objects from a monolithic database backup

Inventors: Louis Beatty (Ormond Beach, FL); Steven R. DeVos (Kirkland, WA); Deepak Saraf (Windermere, FL)
Assignee: Veritas Technologies LLC
G06F11/1469G06F2201/80
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,501,368
App. No.
12/242,079
Filed
Sep 30, 2008
Granted
Nov 22, 2016
Kind
B2
Examiner
HU, JENSEN
Art Unit
2169
USPC
707/204
Abstract

A method, system and computer-readable storage medium that selectively restore a version of an application object stored in a monolithic backup of a database, while maintaining hierarchical and other metadata relationships of the restored portion of the database are disclosed. Such a mechanism receives a request to restore a version of a selected object from among a plurality of backed up objects in a database backup, locates information associated with the selected object in the backup, and restores the version of the selected object to a target storage area using information associated with the selected object. Database table metadata, gathered from the backed up database at the time the backup was created, can be used to locate the information associated with the selected object.

Claims (133)

1. A computer-implemented method comprising:

receiving a request at a computer system, wherein

the request comprises a request to restore a version of a selected object from a backup of a database,

the backup of the database comprises a full backup of the database, in its entirety, and is created using a monolithic backup process that disregards data structures stored within the database,

the backup of the database only comprises information sufficient for restoration of the database in its entirety,

the backup of the database comprises a plurality of objects, and

the plurality of objects comprises a plurality of versions of the selected object;

locating a database table of a plurality of database tables in the backup of the database using a processor of the computer system, wherein

the database table is associated with the selected object,

the locating is performed using database table metadata,

the database table metadata comprises information identifying a location of each database table of the plurality of database tables, and

the database table metadata is gathered from the database at a time of creation of the backup;

selecting the version of the selected object, wherein

the selecting comprises

determining a structure of the database table using the database table metadata,

reading the database table, and

if an object associated with the database table is a versioned object, reading a version table associated with the database table, and collecting information associated with each version of the object;

generating a list comprising information about the object and the information associated with each version of the object, wherein

the information about the each version of the object is stored in the list; and

restoring the version of the selected object to a target database using the processor, wherein

the restoring comprises restoring a subset of the plurality of objects, and

the restoring is performed using the database table.

2. The computer-implemented method of claim 1 , wherein the restoring the version of the selected object comprises:

detecting whether the target database comprises a current version of the selected object,

copying the current version of the selected object to a second object, wherein

the second object stores versions of objects, and

the target database comprises the current version of the selected object and the second object; and

restoring the version of the selected object to the target database as the current version of the selected object.

3. The computer-implemented method of claim 1 , wherein the restoring the version of the selected object comprises:

restoring each version of the selected object, wherein

the request is a request to restore all versions of the selected object.

4. The computer-implemented method of claim 3 , further comprising:

restoring a current version of the selected object to a first object; and

restoring each previous version of the selected object to a second object, wherein

the second object stores versions of objects, and

the second object is associated with the first object.

5. A system comprising:

a processor;

a first storage object coupled to the processor, wherein

the first storage object is configured to store a backup of a database,

the backup of the database comprises

a plurality of objects, and

a plurality of database tables, and

the plurality of database tables are configured to describe the plurality of objects;

a second storage object coupled to the processor, wherein

the second storage object is configured to store a target storage area, and

the target storage area is configured to store objects restored from the backup; and

a memory, coupled to the processor, and storing instructions configured to cause the processor to:

receive a request, wherein

the request comprises a request to restore a version of a selected object from the backup of the database,

the backup of the database comprises a full backup of the database, in its entirety, and is created using a monolithic backup process that disregards data structures stored within the database,

the backup of the database only comprises information sufficient for restoration of the database in its entirety, and

the plurality of objects comprises a plurality of versions of the selected object;

locate a database table of a plurality of database tables in the backup of the database, wherein

the database table is associated with the selected object,

the instructions configured to cause the processor to locate the database table using database table metadata,

the database table metadata comprises information identifying a location of each database table of the plurality of database tables, and

the database table metadata is gathered from the database at a time of creation of the backup;

select the version of the selected object, wherein

the selecting comprises

determining a structure of the database table using the database table metadata,

reading the database table, and

if an object associated with the database table is a versioned object, reading a version table associated with the database table, and collecting information associated with each version of the object;

generate a list comprising information about the object and the information associated with each version of the object, wherein

the information about the each version of the object is stored in the list; and

restore the version of the selected object to the target storage area, wherein

restoring the version of the selected object comprises restoring a subset of the plurality of objects, and

the instructions configured to cause the processor to restore the version of the selected object using the database table.

6. The system of claim 5 , wherein the instructions configured to cause the processor to restore the version of the selected object further comprise instructions configured to cause the processor to:

detect whether the target storage area comprises a current version of the selected object,

copy a current version of the selected object in the target storage area to a second object stored in the target storage area, wherein

the second object stores versions of objects, and

the target storage area comprises the current version of the selected object and the second object; and

restore the version of the selected object as the current version of the selected object in the target storage area.

7. The system of claim 5 , wherein the instructions configured to cause the processor to restore the version of the selected object further comprise instructions configured to cause the processor to:

restore each version of the selected object, wherein

the request is a request to restore all versions of the selected object.

8. The system of claim 7 , wherein the instructions configured to cause the processor to restore the version of the selected object further comprise instructions configured to cause the processor to:

restore a current version of the selected object to a first object stored in the target storage area; and

restore each previous version of the selected object to a second object stored in the target storage area, wherein

the second object stores versions of objects, and

the second object is associated with the first object.

9. A computer program product comprising:

a plurality of instructions, comprising

a first set of instructions, configured to be executed by a processor of a computer system, and configured to receive a request at the computer system, wherein

the request comprises a request to restore a version of a selected object from a backup of a database,

the backup of the database comprises a full backup of the database, in its entirety, and is created using a monolithic backup process that disregards data structures stored within the database,

the backup of the database only comprises information sufficient for restoration of the database in its entirety,

the backup of the database comprises a plurality of objects, and

the plurality of objects comprises a plurality of versions of the selected object,

a second set of instructions, configured to be executed by the processor, and configured to locate a database table of a plurality of database tables in the backup of the database, wherein

the database table is associated with the selected object,

the second set of instructions are configured to use database table metadata,

the database table metadata comprises information identifying a location of each database table of the plurality of database tables, and

the database table metadata is gathered from the database at a time of creation of the backup,

a third set of instructions, configured to be executed by the processor, and configured to select the version of the selected object, wherein

the selecting comprises

determining a structure of the database table using the database table metadata,

reading the database table, and

if an object associated with the database table is a versioned object, reading a version table associated with the database table, and collecting information associated with each version of the object;

a fourth set of instructions, configured to be executed by the processor, and configured to generate a list comprising information about the object and the information associated with each version of the object, wherein

the information about the each version of the object is stored in the list; and

a fifth set of instructions, configured to be executed by the processor, and configured to restore the version of the selected object to a target database, wherein

restoring the version of the selected object comprises restoring a subset of the plurality of objects, and

the fifth set of instructions is configured to use the database table; and

a computer-readable storage medium, wherein the instructions are encoded in the computer-readable storage medium.

10. The computer program product of claim 9 , further comprising:

a sixth set of instructions, configured to be executed by the processor, and configured to

detect whether the target database comprises a current version of the selected object,

copy the current version of the selected object to a second object, wherein the second object stores versions of objects, and

the target database comprises the current version of the selected object and the second object; and

a seventh set of instructions, configured to be executed by the processor, and configured to restore the version of the selected object to the target database as the current version of the selected object.

11. The computer program product of claim 9 , further comprising:

an eighth set of instructions, configured to be executed by the processor, and configured to restore each version of the selected object, wherein

the request is a request to restore all versions of the selected object.

12. The computer-implemented method of claim 1 , wherein

the list is a container.

13. The computer-implemented method of claim 1 , wherein

The object is comprised in a plurality of sites and a plurality of sub-sites.

14. The computer-implemented method of claim 1 , wherein

the monolithic backup process is performed using a direct interaction between a backup server and a database server without using an application object model.

15. The system of claim 5 , wherein

the list is a container.

16. The system of claim 5 , wherein

The object is comprised in a plurality of sites and a plurality of sub-sites.

17. The system of claim 5 , wherein

the monolithic backup process is performed using a direct interaction between a backup server and a database server without using an application object model.

18. The computer program product of claim 9 , wherein

the list is a container.

19. The computer program product of claim 9 , wherein

The object is comprised in a plurality of sites and a plurality of sub-sites.

20. The computer program product of claim 9 , wherein

the monolithic backup process is performed using a direct interaction between a backup server and a database server without using an application object model.

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 Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038483/0203 →
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 037693/0158 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 4, 2008
From: BEATTY, LOUIS; DEVOS, STEVEN R.; SARAF, DEEPAK
To: SYMANTEC OPERATING CORPORATION
Reel/Frame 021944/0147 →
Continuity (1)
Related Publication 20100082553A1 · Apr 1, 2010