IP Library Granted Patent US 11,137,931
Granted Patent B1
US 11,137,931 · App. 15/200,363 · Granted Oct 5, 2021

Backup metadata deletion based on backup data deletion

Inventors: Ynn-Pyng Tsaur (Cupertino, CA); Venu Varma (San Jose, CA)
Assignee: EMC IP Holding Company LLC
G06F3/0652G06F3/064G06F3/065G06F3/0608G06F3/0619G06F3/0683
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 11,137,931
App. No.
15/200,363
Granted
Oct 5, 2021
Kind
B1
Abstract

Backup metadata deletion based on backup data deletion is described. A system receives a request to delete a backup data set associated with a host, a path, and a backup time. The system identifies a backup metadata object associated with the host and the path. The system determines whether the requested backup time is the earliest backup time associated with any backup data set associated with the host. The system determines whether the identified backup metadata object is a backup metadata deletion object associated with the backup time if the backup time is the earliest backup time. The system deletes the identified backup metadata object if the identified backup metadata object is a backup metadata deletion object associated with the backup time.

Claims (73)

1. A system for backup metadata deletion based on backup data deletion, the system comprising:

a processor-based application, which when executed on a computer, will cause the processor to:

create backup data sets by backing up data of a host;

create backup metadata objects by backing up metadata of the host, the backup metadata objects including a set of incremental backup metadata objects, each incremental backup metadata being a backup file storing changes to the metadata of the host, and a backup metadata deletion object identifying at least one of data of the host or metadata of the host that has been deleted since the last time that a backup metadata object was created;

receive a request to delete a backup data set, the request specifying the host, a path, and a backup time associated with the backup data set;

identify a backup metadata object associated with the host and the path specified in the request, from the backup metadata objects;

determine whether the backup time specified in the request is an earliest backup time of any of the backup data sets associated with the host specified in the request;

in response to a determination that the backup time is the earliest backup time:

determine whether the identified backup metadata object is the backup metadata deletion object included in the backup metadata objects, and

determine whether the backup metadata deletion object was created at the backup time specified in the request; and

delete the backup metadata object in response to a determination that the backup metadata object is the backup metadata deletion object and was created at the backup time.

2. The system of claim 1 , wherein the processor-based application further causes the processor to:

determine whether the backup time is a most recent backup time associated with any of the backup data sets associated with the host in response to a determination that the backup time is not the earliest backup time;

determine whether the identified backup metadata object is associated with a time that is one of the backup time and later than the backup time in response to a determination that the backup time is the most recent backup time; and

delete the backup metadata object in response to a determination that the backup metadata object is associated with the time that is one of the backup time and later than the backup time.

3. The system of claim 2 , wherein the processor-based application further causes the processor to:

identify, for the host, a backup time immediately preceding the backup time and a backup time immediately following the backup time, in response to a determination that the backup time is not the most recent backup time;

determine whether the backup metadata object is any backup metadata deletion object associated with a time that is later than the backup time and is one of the immediately following backup time and earlier than the immediately following backup time;

determine whether the backup metadata object comprises directory deletion metadata in response to a determination that the backup metadata object is any backup metadata deletion object associated with the time that is later than the backup time and is one of the immediately following backup time and earlier than the immediately following backup time; and

delete any backup metadata children objects that are associated with the backup metadata object and a time later than the immediately preceding backup time and that is one of the backup time and earlier than the backup time in response to a determination that the backup metadata object comprises directory deletion metadata.

4. The system of claim 3 , wherein the processor-based application further causes the processor to:

determine whether the backup metadata object is associated with the backup time in response to the determination that the backup metadata object comprises directory deletion metadata; and

delete the backup metadata object in response to a determination that the backup metadata object is associated with the backup time.

5. The system of claim 3 , wherein the processor-based application further causes the processor to delete any backup metadata objects associated with the backup metadata object and a time that is later than the immediately preceding backup time and one of the backup time and earlier than the backup time in response to a determination that the backup metadata object does not comprise directory deletion metadata.

6. The system of claim 1 , wherein identifying the backup metadata object associated with the host and the path comprises identifying a parent path associated with the path.

7. The system of claim 1 , wherein deleting the backup metadata object comprises marking the backup data set as deleted, deleting the backup metadata object, and deleting the marked backup data set.

8. A computer-implemented method for backup metadata deletion based on backup data deletion, the method comprising:

creating backup data sets by backing up data of a host;

creating backup metadata objects by backing up metadata of the host, the backup metadata objects including a set of incremental backup metadata objects, each incremental backup metadata being a backup file storing changes to the metadata of the host, and a backup metadata deletion object identifying at least one of data of the host or metadata of the host that has been deleted since the last time that a backup metadata object was created;

receiving a request to delete a backup data set, the request specifying the host, a path, and a backup time associated with the backup data set;

identifying a backup metadata object associated with the host and the path specified in the request, from the backup metadata objects;

determining whether the backup time specified in the request is an earliest backup time of any of the backup data sets associated with the host specified in the request;

in response to a determination that the backup time is the earliest backup time:

determining whether the identified backup metadata object is the backup metadata deletion object included in the backup metadata objects, and

determining whether the backup metadata deletion object was created at the backup time specified in the request; and

deleting the backup metadata object in response to a determination that the backup metadata object is the backup metadata deletion object and was created at the backup time.

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

determining whether the backup time is a most recent backup time associated with any of the backup data sets associated with the host in response to a determination that the backup time is not the earliest backup time;

determining whether the identified backup metadata object is associated with a time that is one of the backup time and later than the backup time, in response to a determination that the backup time is the most recent backup time; and

delete the backup metadata object in response to a determination that the backup metadata object is associated with the time that is one of the backup time and later than the backup time.

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

identifying, for the host, a backup time immediately preceding the backup time and a backup time immediately following the backup time, in response to a determination that the backup time is not the most recent backup time;

determining whether the backup metadata object is any backup metadata deletion object associated with a time that is later than the backup time and is one of the immediately following backup time and earlier than the immediately following backup time;

determining whether the backup metadata object comprises directory deletion metadata, in response to a determination that the backup metadata object is any backup metadata deletion object associated with the time that is later than the backup time and is one of the immediately following backup time and earlier than the immediately following backup time; and

deleting any backup metadata children objects associated with the backup metadata object and a time that is later than the immediately preceding backup time and that is one of the backup time and earlier than the backup time, in response to a determination that the backup metadata object comprises directory deletion metadata.

11. The method of claim 10 , wherein the method further comprises determining whether the backup metadata object is associated with the backup time, in response to the determination that the backup metadata object comprises directory deletion metadata; and deleting the backup metadata object in response to the determination that the backup metadata object is associated with the backup time.

12. The method of claim 10 , wherein the method further comprises deleting any backup metadata objects associated with the backup metadata object and a time that is later than the immediately preceding backup time and that is one of the backup time and earlier than the backup time, in response to a determination that the backup metadata object does not comprise directory deletion metadata.

13. The method of claim 8 , wherein identifying the backup metadata object associated with the host and the path comprises identifying a parent path associated with the path.

14. The method of claim 8 , wherein deleting the backup metadata object comprises marking the backup data set as deleted, deleting the backup metadata object, and deleting the marked backup data set.

15. A computer program product, comprising a non-transitory computer-readable medium having a computer-readable program code embodied therein to be executed by one or more processors, the program code including instructions to:

create backup data sets by backing up data of a host;

create backup metadata objects by backing up metadata of the host, the backup metadata objects including a set of incremental backup metadata objects, each incremental backup metadata being a backup file storing changes to the metadata of the host, and a backup metadata deletion object identifying at least one of data of the host or metadata of the host that has been deleted since the last time that a backup metadata object was created;

receive a request to delete a backup data set, the request specifying the host, a path, and a backup time associated with the backup data set;

identify a backup metadata object associated with the host and the path specified in the request, from the backup metadata objects;

determine whether the backup time specified in the request is an earliest backup time of any of the backup data sets associated with the host specified in the request;

in response to a determination that the backup time is the earliest backup time:

determine whether the identified backup metadata object is the backup metadata deletion object included in the backup metadata objects, and

determine whether the backup metadata deletion object was created at the backup time specified in the request; and

delete the backup metadata object in response to a determination that the backup metadata object is the backup metadata deletion object and was created at the backup time.

16. The computer program product of claim 15 , wherein the program code includes further instructions to:

determine whether the backup time is a most recent backup time associated with any of the backup data sets associated with the host in response to a determination that the backup time is not the earliest backup time;

determine whether the identified backup metadata object is associated with a time that is one of the backup time and later than the backup time, in response to a determination that the backup time is the most recent backup time; and

delete the backup metadata object in response to a determination that the backup metadata object is associated with the time that is one of the backup time and later than the backup time.

17. The computer program product of claim 16 , wherein the program code includes further instructions to:

identify, for the host, a backup time immediately preceding the backup time and a backup time immediately following the backup time, in response to a determination that the backup time is not the most recent backup time;

determine whether the backup metadata object is any backup metadata deletion object associated with a time that is later than the backup time and is one of the immediately following backup time and earlier than the immediately following backup time;

determine whether the backup metadata object comprises directory deletion metadata, in response to a determination that the backup metadata object is any backup metadata deletion object associated with the time that is later than the backup time and is one of the immediately following backup time and earlier than the immediately following backup time;

delete any backup metadata children objects associated with the backup metadata object and a time that is later than the immediately preceding backup time and that is one of the backup time and earlier than the backup time, in response to a determination that the backup metadata object comprises directory deletion metadata;

determine whether the backup metadata object is associated with the backup time, in response to the determination that the backup metadata object comprises directory deletion metadata; and

delete the backup metadata object in response to the determination that the backup metadata object is associated with the backup time.

18. The computer program product of claim 17 , wherein the program code includes further instructions to delete any backup metadata objects associated with the backup metadata object and a time that is later than the immediately preceding backup time and that is one of the backup time and earlier than the backup time, in response to a determination that the backup metadata object does not comprise directory deletion metadata.

19. The computer program product of claim 15 , wherein identifying the backup metadata object associated with the host and the path comprises identifying a parent path associated with the path.

20. The computer program product of claim 15 , wherein deleting the backup metadata object comprises marking the backup data set as deleted, deleting the backup metadata object, and deleting the marked backup data set.

Assignments (5)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 3, 2017
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 041872/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2016
From: TSAUR, YNN-PYNG; VARMA, VENU
To: EMC CORPORATION
Reel/Frame 039604/0396 →