IP Library Granted Patent US 9,852,200
Granted Patent B1
US 9,852,200 · App. 14/625,032 · Granted Dec 26, 2017

Systems and methods for restoring data files

Inventors: Sudhakar Paulzagade (Pune, IN); Chirag Dalal (Pune, IN)
Assignee: Veritas Technologies LLC
G06F17/30575
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,852,200
App. No.
14/625,032
Filed
Feb 18, 2015
Granted
Dec 26, 2017
Kind
B1
Examiner
VY, HUNG T
Art Unit
2163
USPC
707/654
Abstract

The disclosed computer-implemented method for restoring data files may include (1) receiving a request to restore a data file to a particular point in time, (2) in response to the request, accessing, in a storage device, (a) a backup copy of the data file and (b) at least one log of actions performed on the data file, (3) storing, in a section of memory that has a faster access time than the storage device, a location of each action within the log that was performed on the data file up until the particular point in time, and (4) when restoring the data file to an additional point in time, accessing at least a portion of the locations in the section of memory to identify at least a portion of the actions required to restore the data file to the additional point in time.

Claims (52)

1. A computer-implemented method for restoring data files, at least a portion of the method being performed by a computing device comprising at least one processor, the method comprising:

receiving a request to restore a data file to a particular point in time;

in response to the request, accessing, in a storage device:

a backup copy of the data file that represents the data file at a time prior to the particular point in time; and

at least one log of actions performed on the data file after the backup copy of the data file was created;

identifying a location of each action within the log that was performed on the data file up until the particular point in time by monitoring input and output through a file system within the storage device that stores the backup copy of the data file and the log of actions performed on the data file;

storing each identified location within a section of memory that has a faster access time than the storage device; and

when restoring the data file to an additional point in time, accessing at least a portion of the locations in the section of memory to identify at least a portion of the actions required to restore the data file to the additional point in time.

2. The method of claim 1 , wherein:

the data file comprises a database; and

the log of actions performed on the data file comprises a log of changes made to blocks within the database.

3. The method of claim 1 , wherein:

the storage device comprises a disk; and

the section of memory comprises a cache.

4. The method of claim 1 , wherein storing the location of each action that was performed on the data file comprises associating each location with a time at which the action was performed.

5. The method of claim 1 , wherein restoring the data file to the additional point in time comprises applying the portion of the actions to the data file.

6. The method of claim 1 , wherein the additional point in time comprises a point in time prior to the particular point in time.

7. The method of claim 1 , wherein the additional point in time comprises a point in time later than the particular point in time.

8. A system for restoring data files, the system comprising:

a reception module, stored in memory, that receives a request to restore a data file to a particular point in time;

an access module, stored in memory, that in response to the request, accesses, in a storage device:

a backup copy of the data file that represents the data file at a time prior to the particular point in time; and

at least one log of actions performed on the data file after the backup copy of the data file was created;

a storage module, stored in memory, that:

identifies a location of each action within the log that was performed on the data file up until the particular point in time by monitoring input and output through a file system within the storage device that stores the backup copy of the data file and the log of actions performed on the data file; and

stores each identified location within a section of memory that has a faster access time than the storage device;

a restoration module, stored in memory, that when restoring the data file to an additional point in time, accesses at least a portion of the locations in the section of memory to identify at least a portion of the actions required to restore the data file to the additional point in time; and

at least one physical processor configured to execute the reception module, the access module, the storage module, and the restoration module.

9. The system of claim 8 , wherein:

the data file comprises a database; and

the log of actions performed on the data file comprises a log of changes made to blocks within the database.

10. The system of claim 8 , wherein:

the storage device comprises a disk; and

the section of memory comprises a cache.

11. The system of claim 8 , wherein the storage module stores the location of each action that was performed on the data file by associating each location with a time at which the action was performed.

12. The system of claim 8 , wherein the restoration module restores the data file to the additional point in time by applying the portion of the actions to the data file.

13. The system of claim 8 , wherein the additional point in time comprises a point in time prior to the particular point in time.

14. The system of claim 8 , wherein the additional point in time comprises a point in time later than the particular point in time.

15. A non-transitory computer-readable medium comprising one or more computer-executable instructions that, when executed by at least one processor of a computing device, cause the computing device to:

receive a request to restore a data file to a particular point in time;

in response to the request, access, in a storage device:

a backup copy of the data file that represents the data file at a time prior to the particular point in time; and

at least one log of actions performed on the data file after the backup copy of the data file was created;

identify a location of each action within the log that was performed on the data file up until the particular point in time by monitoring input and output through a file system within the storage device that stores the backup copy of the data file and the log of actions performed on the data file;

store each identified location within a section of memory that has a faster access time than the storage device; and

when restoring the data file to an additional point in time, access at least a portion of the locations in the section of memory to identify at least a portion of the actions required to restore the data file to the additional point in time.

16. The computer-readable medium of claim 15 , wherein:

the data file comprises a database; and

the log of actions performed on the data file comprises a log of changes made to blocks within the database.

17. The computer-readable medium of claim 15 , wherein:

the storage device comprises a disk; and

the section of memory comprises a cache.

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 Feb 18, 2015
From: PAULZAGADE, SUDHAKAR; DALAL, CHIRAG
To: SYMANTEC CORPORATION
Reel/Frame 035034/0012 →