IP Library Granted Patent US 7,865,471
Granted Patent B1
US 7,865,471 · App. 11/478,811 · Granted Jan 4, 2011

Apparatus and method for accelerating database recovery

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,865,471
App. No.
11/478,811
Filed
Jun 30, 2006
Granted
Jan 4, 2011
Kind
B1
Examiner
WU, YICUN
Art Unit
2158
USPC
707/202
Abstract

A method of recovering a target data object. In one embodiment, the method includes restoring the target data object to a data state that existed at a point of time prior. Once the target data object is restored, a first object is retrieved from backup memory, wherein the first object comprises a plurality of transactions for modifying the target data object. After the target data object is restored, the target data object is modified in accordance with the transactions of the first object. A second object is retrieved from backup memory, wherein the second object comprises a plurality of transactions for modifying the target data object. The second object is retrieved from backup memory before the target data object is modified in accordance with all of the transactions of the first object.

Claims (84)

1. A method of recovering a target data object, the method comprising:

a first computer system restoring the target data object to a data state that existed at a point of time,

retrieving a first object from a backup memory via a second computer system, wherein the retrieved first object is stored in memory that is local to the first computer system, and wherein the first object comprises a plurality of transactions for modifying the target data object;

after the target data object is restored, the first computer system modifying the target data object in accordance with the transactions of the retrieved first object;

retrieving a second object from the backup memory via the second computer system, wherein the retrieved second object is stored in the memory that is local to the first computer system, wherein the second object comprises a plurality of transactions for modifying the target data object, and wherein the second object is retrieved from the backup memory while the target data object is modified in accordance with the transactions of the first object.

2. The method of claim 1 further comprising:

retrieving n objects from the backup memory, wherein

the second object is one of the n objects.

3. The method of claim 2 wherein the n objects are retrieved from the backup memory while the target data object is being modified in accordance with the transactions of the first object.

4. The method of claim 1 further comprising:

generating a request to restore an object to the local memory, wherein

the object comprises a plurality of transactions for modifying the target data object,

retrieving the object from the backup memory in response to generation of the request to restore the object to the local memory;

generating a request to restore the first object to local memory, wherein

the request to restore the first object is generated after retrieving the first object from the backup memory.

5. The method of claim 1 wherein the first object comprises a database transaction log extent.

6. The method of claim 1 further comprising an act of generating a request to restore the first object to a first directory of a file system, wherein the first object is retrieved from the backup memory in response to generating the request to restore the first object.

7. The method of claim 6 wherein the first object is moved from a second directory to the first directory while the target data object is modified in accordance with the transactions of the first object.

8. The method of claim 1 wherein the backup memory comprises backup tapes on which the first and second objects are stored.

9. The method of claim 1 , wherein the method further comprises:

adding the first object to a temporary memory, wherein

the temporary memory stores objects retrieved from backup memory until the objects are restored to the local memory, and

the local memory is accessible for modifying the target data object.

10. A computer readable memory that stores instructions executable by a computer system, wherein the computer system implements a method in response to executing the instructions, the method comprising:

restoring a target data object to a data state that existed at a point of time prior to restoring the target data object;

retrieving a first object from a backup memory to memory local to the computer system, wherein the first object comprises a first plurality of transactions for modifying the target data object;

after the target data object is restored, modifying the target data object in accordance with the transactions of the first object;

retrieving a second object from the backup memory to the memory local to the computer system, wherein

the second object comprises a second plurality of transactions for modifying the target data object, and

the second object is retrieved from the backup memory while the target data object is modified in accordance with the transactions of the first object.

11. The computer readable memory of claim 10 wherein the method further comprises:

retrieving n objects from the backup memory, wherein

the second object is one of the n objects.

12. The computer readable memory of claim 11 wherein the n objects are retrieved from the backup memory while the target data object is being modified in accordance with the transactions of the first object.

13. The computer readable memory of claim 10 wherein the method further comprises:

generating a request to restore an object to local memory, wherein

the object comprises a plurality of transactions for modifying the target data object,

generating a request to restore the first object to local memory, wherein

the request to restore the first object is generated after retrieving the first object from the backup memory.

14. The computer readable memory of claim 10 wherein the first object comprises a database transaction log extent.

15. The computer readable memory of claim 10 wherein the method further comprises an act of generating a request to restore the first object to a first directory of a file system, wherein the first object is retrieved from the backup memory in response to generating the request to restore the first object.

16. The computer readable memory of claim 15 wherein the first object is moved from a second directory to the first directory before the target data object is modified in accordance with the transactions of the first object.

17. The computer readable memory of claim 10 , wherein the method further comprises:

adding the first object to a temporary memory, wherein

the temporary memory stores objects retrieved from backup memory until the objects are restored to a local memory, and

the local memory is accessible for modifying the target data object.

18. A system comprising:

a first server coupled to a backup memory system and a data storage system, wherein

the first sever comprises a memory that stores instructions, and

the first server implements a method for recovering a target data object stored in the data storage system in response to executing the instructions, the method comprising:

restoring the target data object to a data state that existed at a point of time prior to restoring the target data object;

retrieving a first object from a backup memory to a memory local to the first server, wherein the first object comprises a plurality of transactions for modifying the target data object;

after the target data object is restored, modifying the target data object in accordance with the transactions of the first object; and

retrieving a second object from the backup memory to the memory local to the first server, wherein

the second object comprises a plurality of transactions for modifying the target data object, and

the second object is retrieved from the backup memory while the target data object is modified in accordance with the transactions of the first object.

19. The system of claim 18 , wherein the first server implements a method further comprising:

adding the first object to a temporary memory, wherein

the temporary memory stores objects retrieved from backup memory until the objects are restored to a local memory, and

the local memory is accessible for modifying the target data object.

20. A method of recovering a target data object, the method comprising:

a first computer system restoring the target data object to a data state that existed at a point of time;

retrieving a first object from a backup memory via a backup server, wherein the first object comprises a plurality of transactions for modifying the target data object;

adding the first object to a temporary memory, wherein

the temporary memory stores objects retrieved from backup memory until the objects are restored to a local memory, and

the local memory is accessible for modifying the target data object;

restoring the first object to the local memory by moving the first object from temporary memory to local memory;

after the target data object is restored, modifying the target data object in accordance with the transactions of the first object;

retrieving a second object from the backup memory, wherein

the second object comprises a plurality of transactions for modifying the target data object, and

the second object is retrieved from the backup memory while the target data object is modified in accordance with the transactions of the first object;

adding the second object to the temporary memory;

if the target data object is not recovered by the transactions of the first object, restoring the second object to the local memory by moving the second object from temporary memory to the local memory; and

modifying the target data object in accordance with transactions of the second object.

21. A method of recovering a target data object, the method comprising:

a first server restoring the target data object to a data state that existed at a prior point in time

retrieving a first object from a backup memory via a backup server, wherein the first object comprises a plurality of transactions for modifying the target data object;

modifying the target data object in accordance with the transactions of the first object;

retrieving a plurality of objects from the backup memory, wherein

each of the plurality of objects comprises a plurality of transactions for modifying the target data object, and

each of the plurality of objects is retrieved from the backup memory while the target data object is modified in accordance with the transactions of the first object;

storing the retrieved plurality of objects in a temporary memory;

tracking the number of objects in a temporary memory; and

if the number of objects in a temporary memory reaches a predetermined number of objects, retrieving additional objects from the backup memory and storing the additional objects in the temporary memory.

Assignments (14)
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 →
CHANGE OF NAME Recorded Oct 1, 2007
From: VERITAS OPERATING CORPORATION
To: SYMANTEC OPERATING CORPORATION
Reel/Frame 019899/0213 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 30, 2006
From: STAGG, MICHAEL R.
To: VERITAS OPERATING CORPORATION
Reel/Frame 018070/0099 →