IP Library Granted Patent US 10,409,692
Granted Patent B1
US 10,409,692 · App. 15/650,651 · Granted Sep 10, 2019

Garbage collection: timestamp entries and remove reference counts

Inventors: Adam Brenner (Lake Forest, CA); Jeffrey Norton (Laguna Niguel, CA); Jennifer Starling (Lake Forest, CA); Mark Malamut (Dana Pointe, CA); Junxu Li (Pleasanton, CA)
Assignee: EMC IP Holding Company LLC
G06F11/1451G06F12/0253
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 10,409,692
App. No.
15/650,651
Granted
Sep 10, 2019
Kind
B1
Abstract

One embodiment is related to a method for performing garbage collection at a backup system, comprising: determining an object that is present in a preceding backup but is no longer present in a present backup when or after the present backup is made; associating an indicator indicative of the preceding backup with the object in response to the determination that the object is no longer present in the present backup; determining whether the object is to be deleted from the backup system based on the indicator and a policy during garbage collection; and deleting the object in response to determining that the object is to be deleted.

Claims (38)

1. A method for performing garbage collection at a backup system, comprising:

associating each of a plurality of objects on the backup system with a first property and a second property, wherein the first property indicates a first previous backup with which the associated object was first created, and the second property indicates a second previous backup in which the associated object was present for a last time, and wherein the second property is left empty after creation of the associated object until the associated object has determined to be no longer present in a present backup;

determining a first object that is present in a preceding backup but is no longer present in the present backup when or after the present backup is made;

associating an indicator indicative of the preceding backup with the first object in response to the determination that the first object is no longer present in the present backup, wherein the indicator comprises the second property associated with the first object that indicates the preceding backup in which the first object was present for a last time;

determining whether the first object is to be deleted from the backup system based on the indicator and a policy during garbage collection; and

deleting the first object in response to determining that the first object is to be deleted.

2. The method of claim 1 , wherein the first object is a data object.

3. The method of claim 1 , wherein the first object is a metadata object.

4. The method of claim 1 , wherein the first object corresponds to a file, a directory, or a composite.

5. The method of claim 1 , wherein the second property that indicates the preceding backup comprises a time of the preceding backup.

6. The method of claim 5 , wherein the time is represented in one of: Portable Operating System Interface (POSIX) time or Microsoft time.

7. The method of claim 1 , wherein the indicator comprises values of cells in a row corresponding to the first object in a bitmap table, wherein columns of the bitmap table correspond to backups.

8. A non-transitory machine-readable medium having instructions stored therein which, when executed by a processor, cause the processor to perform storage operations, the operations comprising:

associating each of a plurality of objects on the backup system with a first property and a second property, wherein the first property indicates a first previous backup with which the associated object was first created, and the second property indicates a second previous backup in which the associated object was present for a last time, and wherein the second property is left empty after creation of the associated object until the associated object has determined to be no longer present in a present backup;

determining a first object that is present in a preceding backup but is no longer present in the present backup when or after the present backup is made;

associating an indicator indicative of the preceding backup with the first object in response to the determination that the first object is no longer present in the present backup, wherein the indicator comprises the second property associated with the first object that indicates the preceding backup in which the first object was present for a last time;

determining whether the first object is to be deleted from the backup system based on the indicator and a policy during garbage collection; and

deleting the first object in response to determining that the first object is to be deleted.

9. The non-transitory machine-readable medium of claim 8 , wherein the first object is a data object.

10. The non-transitory machine-readable medium of claim 8 , wherein the first object is a metadata object.

11. The non-transitory machine-readable medium of claim 8 , wherein the first object corresponds to a file, a directory, or a composite.

12. The non-transitory machine-readable medium of claim 8 , wherein the second property that indicates the preceding backup comprises a time of the preceding backup.

13. The non-transitory machine-readable medium of claim 12 , wherein the time is represented in one of: Portable Operating System Interface (POSIX) time or Microsoft time.

14. The non-transitory machine-readable medium of claim 8 , wherein the indicator comprises values of cells in a row corresponding to the first object in a bitmap table, wherein columns of the bitmap table correspond to backups.

15. A data processing system, comprising:

a processor; and

a memory coupled to the processor storing instructions which, when executed by the processor, cause the processor to perform storage operations, the operations including

associating each of a plurality of objects on the backup system with a first property and a second property, wherein the first property indicates a first previous backup with which the associated object was first created, and the second property indicates a second previous backup in which the associated object was present for a last time, and wherein the second property is left empty after creation of the associated object until the associated object has determined to be no longer present in a present backup;

determining a first object that is present in a preceding backup but is no longer present in the present backup when or after the present backup is made;

associating an indicator indicative of the preceding backup with the first object in response to the determination that the first object is no longer present in the present backup, wherein the indicator comprises the second property associated with the first object that indicates the preceding backup in which the first object was present for a last time;

determining whether the first object is to be deleted from the backup system based on the indicator and a policy during garbage collection; and

deleting the first object in response to determining that the first object is to be deleted.

16. The data processing system of claim 15 , wherein the first object is a data object.

17. The data processing system of claim 15 , wherein the first object is a metadata object.

18. The data processing system of claim 15 , wherein the first object corresponds to a file, a directory, or a composite.

19. The data processing system of claim 15 , wherein the second property that indicates the preceding backup comprises a time of the preceding backup.

20. The data processing system of claim 19 , wherein the time is represented in one of: Portable Operating System Interface (POSIX) time or Microsoft time.

21. The data processing system of claim 15 , wherein the indicator comprises values of cells in a row corresponding to the first object in a bitmap table, wherein columns of the bitmap table correspond to backups.

Assignments (8)
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 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (043775/0082) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060958/0468 →
RELEASE OF SECURITY INTEREST AT REEL 043772 FRAME 0750 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058298/0606 →
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 Sep 20, 2017
From: BRENNER, ADAM; NORTON, JEFFREY; STARLING, JENNIFER; MALAMUT, MARK; LI, JUNXU
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 043642/0901 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Sep 6, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 043775/0082 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Sep 6, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 043772/0750 →
Cited By (3)
US 12,229,010 US 12,346,205 US 12,561,239