IP Library Granted Patent US 9,977,716
Granted Patent B1
US 9,977,716 · App. 14/754,603 · Granted May 22, 2018

Incremental backup system

Inventors: Michael A. Payne (Gainesville, FL); Steven R. DeVos (Mercer Island, WA)
Assignee: Veritas Technologies LLC
G06F11/1451G06F11/3065G06F17/30088
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,977,716
App. No.
14/754,603
Granted
May 22, 2018
Kind
B1
Abstract

Techniques relating to performing an incremental backup of a database relative to a previous backup are disclosed. The incremental backup may include initiating monitoring of a dirty list indicative of one or more portions of the database that have been modified since the previous backup, causing a reset of the dirty list, obtaining a copy of the dirty list, and backing up only portions of the database identified by the copy of the dirty list. The copy may be representative of the dirty list immediately prior to the reset.

Claims (44)

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

performing an incremental backup of a database relative to a previous backup, including:

initiating monitoring of a dirty list indicative of one or more portions of the database that have been modified since the previous backup, wherein initiating monitoring the dirty list includes sending, to a filter driver, a request to monitor the dirty list;

causing a reset of the dirty list;

obtaining a copy of the dirty list, wherein the copy is representative of the dirty list immediately prior to the reset, and wherein obtaining the copy of the dirty list includes receiving the copy of the dirty list from the filter driver; and

backing up only portions of the database identified by the copy of the dirty list.

2. The non-transitory computer-readable storage medium of claim 1 , wherein a database manager of the database does not natively support the incremental backup.

3. The non-transitory computer-readable storage medium of claim 1 , wherein causing the reset of the dirty list includes requesting a full backup of the database.

4. The non-transitory computer-readable storage medium of claim 1 , wherein the request to monitor the dirty list includes a request to enable the filter driver.

5. The non-transitory computer-readable storage medium of claim 4 , wherein the operations further comprise, in response to receiving the copy of the dirty list, sending, to the filter driver, a request to disable the filter driver.

6. The non-transitory computer-readable storage medium of claim 1 , wherein the operations further comprise sending, to the filter driver after performing the incremental backup, a request for the filter driver to translate a memory request that addresses the database, wherein the database is not configured to respond to the memory request without translation.

7. The non-transitory computer-readable storage medium of claim 1 , wherein the operations further comprise generating a full backup of the database, including:

retrieving a previous full backup of the database; and

applying one or more incremental backups of the database to the previous full backup, wherein the one or more incremental backups include the incremental backup.

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

generating an incremental backup of a database, including:

sending, to a filter driver, a request to monitor a dirty block list indicative of one or more particular files of the database that have been modified since a previous backup of the database;

sending, to a database manager, a request for a full backup of the database, wherein the full backup causes a reset of contents of the dirty block list;

receiving, from the filter driver, a copy of the dirty block list, wherein the copy includes the contents of the dirty block list immediately prior to the reset; and

saving, as part of the incremental backup, a copy of the one or more particular files indicated by the copy of the dirty block list.

9. The non-transitory computer-readable storage medium of claim 8 , wherein the database manager does not natively support an incremental backup operation.

10. The non-transitory computer-readable storage medium of claim 9 , wherein the database manager is a structured query language (SQL) server-based data manager.

11. The non-transitory computer-readable storage medium of claim 8 , wherein the previous backup is a different incremental backup of the database.

12. The non-transitory computer-readable storage medium of claim 8 , wherein the previous backup is a full backup of the database.

13. The non-transitory computer-readable storage medium of claim 8 , wherein the filter driver is configured to generate the copy of the dirty block list in response to the request to monitor the dirty block list by:

detecting a reset indication that corresponds to the reset of the contents of the dirty block list, wherein the reset indication includes a write request that addresses a memory location corresponding to the dirty block list, and wherein the reset indication further includes a reset dirty block list that indicates that no files of the database have been modified; and

in response to the reset indication and prior to the reset, copying the contents of the dirty block list.

14. The non-transitory computer-readable storage medium of claim 8 , wherein the filter driver is configured to generate the copy of the dirty block list in response to the request to monitor the dirty block list by:

prior to the reset of the contents of the dirty block list, saving a copy of the dirty block list as a duplicate dirty block list; and

in response to the reset, indicating the duplicate dirty block list as the copy of the dirty block list.

15. The non-transitory computer-readable storage medium of claim 14 , wherein the filter driver is further configured to generate the copy of the dirty block list in response to the request to monitor the dirty block list by:

prior to the reset and after saving the copy of the dirty block list as the duplicate dirty block list, receiving an indication of an update to at least a portion of the contents of the dirty block list; and

performing an update to the duplicate dirty block list that corresponds to the update to the dirty block list.

16. A method, comprising:

receiving, at a filter driver from an incremental backup manager, a request to monitor a dirty list indicative of one or more pages of a database that have been modified since a previous backup of the database;

saving, by the filter driver, a copy of the dirty list immediately prior to the dirty list being reset; and

in response to the dirty list being reset, sending, by the filter driver, the copy of the dirty list to the incremental backup manager.

17. The method of claim 16 , wherein saving the copy of the dirty list is performed in response to detecting a freeze operation that addresses the database, wherein the freeze operation is indicative of a reset operation that addresses the dirty list.

18. The method of claim 16 , wherein saving the copy of the dirty list includes:

in response the request to monitor the dirty list, generating a duplicate dirty list;

detecting an update to the dirty list indicative of one or more additional pages of the database have been modified;

performing an update to the duplicate dirty list that corresponds to the update to the dirty list; and

detecting the dirty list being reset, wherein the duplicate dirty list when the dirty list is reset is the copy of the dirty list immediately prior to the dirty list being reset.

19. The method of claim 16 , wherein the filter driver is active only after receiving the request to monitor the dirty list and until the sending the copy of the dirty list.

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 Jun 29, 2015
From: PAYNE, MICHAEL A.; DEVOS, STEVEN R.
To: SYMANTEC CORPORATION
Reel/Frame 035932/0829 →