IP Library Granted Patent US 10,942,649
Granted Patent B2
US 10,942,649 · App. 16/022,622 · Granted Mar 9, 2021

System and method for backup storage garbage collection

Inventors: Upanshu Singhal (Bangalore, IN); Archit Seth (Bangalore, IN); Shivakumar Kunnal Onkarappa (Bangalore, IN); Chakraveer Singh (Bangalore, IN); Chandra Prakash (Bangalore, IN); Kumari Priyanka (Bengaluru, IN); Rahul Bhardwaj (Udaipur, IN); Akansha Purwar (Bangalore, IN); Lalita Dabburi (Bangalore, IN); Manish Sharma (Bangalore, IN); Shelesh Chopra (Bangalore, IN); Sunil Yadav (Bangalore, IN)
Assignee: EMC IP Holding Company LLC
G06F3/0608G06F3/065G06F3/0673
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,942,649
App. No.
16/022,622
Granted
Mar 9, 2021
Kind
B2
Abstract

A storage for storing backups of virtual machines includes a persistent storage and a garbage collector. The persistent storage stores the backups. The garbage collector identifies an end of a backup generation session; in response to identifying the end of the backup generation session, the garbage collector performs a date analysis to identify a set of potentially stale backups of the backups; performs a continuity chain analysis of each backup of the set of potentially stale backups to identify a set of stale backups; and deletes each backup of the set of stale backups.

Claims (62)

1. A storage for storing backups of virtual machines, comprising:

a persistent storage that stores backups; and

a garbage collector programmed to:

identify an end of a backup generation session;

in response to identifying the end of the backup generation session:

perform a date analysis to identify a set of potentially stale backups of the backups that each has a respective age greater than a threshold age;

perform a continuity chain analysis of each backup of the set of potentially stale backups to identify a set of stale backups that each are not chained to other backups, wherein performing the continuity chain analysis comprises:

selecting a first backup of the set of potentially stale backups

reading a first file name of the first backup;

extracting a first portion of the first file name, wherein the first portion of the first file name references a deleted backup;

performing a first matching of the extracted first portion of the first file name to the respective file names of the backups;

making a first determination that the first backup is not chained to any of the backups based on the first matching, wherein the deleted backup is not in the backups; and

including, based on the first determination, the first backup in the set of stale backups; and

delete each backup of the set of stale backups.

2. The storage of claim 1 , wherein the set of potentially stale backups include a plurality of backups of the backups.

3. The storage of claim 2 , wherein the threshold age is based on an average age of the backups.

4. The storage of claim 1 , wherein performing the continuity chain analysis of each backup of the set of potentially stale backups to identify the set of stale backups further comprises:

selecting a second backup of the set of potentially stale backups;

reading a second file name of the second backup;

extracting a second portion of the second file name;

performing a second matching of the extracted second portion of the second file name to respective file names of the backups;

making a second determination that the second backup is chained to a third backup of the backups based on the second matching; and

excluding the second backup from the set of stale backups.

5. The storage of claim 1 , wherein the first backup of the backups is a member of the set of potentially stale backups.

6. The storage of claim 1 , wherein performing the continuity chain analysis of each backup of the set of potentially stale backups to identify the set of stale backups further comprises:

selecting a second backup of the set of potentially stale backups; and

reading a dependency identifier of the second backup,

wherein the dependency identifier is an identifier of a third backup of the backups.

7. The storage of claim 6 , wherein the first backup is based on an image of a virtual machine of the virtual machines.

8. The storage of claim 7 , wherein the second backup is based on a difference disk of the virtual machine of the virtual machines.

9. The storage of claim 7 , wherein the first backup has a first age, the second backup has a second age, and the second age is smaller than the first age.

10. The storage of claim 7 , wherein the virtual machine of the virtual machines is restorable to a first point in time associated with the first backup using only the first backup.

11. The storage of claim 10 , wherein the virtual machine of the virtual machines is not restorable to a second point in time associated with the second backup using only the second backup.

12. The storage of claim 11 , wherein the virtual machine of the virtual machines is restorable to the second point in time associated with the second backup using both of the first backup and the second backup.

13. A method for storing backups of virtual machines, comprising:

identifying an end of a backup generation session;

in response to the identification of the end:

performing a date analysis to identify a set of potentially stale backups of the backups that each has a respective age greater than a threshold age;

performing a continuity chain analysis of each backup of the set of potentially stale backups to identify a set of stale backups that each are not chained to other backups, wherein performing the continuity chain analysis comprises:

selecting a first backup of the set of potentially stale backups;

reading a first file name of the first backup;

extracting a first portion of the first file name, wherein the first portion of the first file name references a deleted backup;

performing a first matching of the extracted first portion of the first file name to the respective file names of the backups;

making a first determination that the first backup is not chained to any of the backups based on the first matching, wherein the deleted backup is not in the backups; and

including, based on the first determination, the first backup in the set of stale backups; and

deleting each backup of the set of stale backups.

14. The method of claim 13 , wherein the set of potentially stale backups include a plurality of backups of the backups.

15. The method of claim 14 , wherein the threshold age is based on an average age of the backups.

16. A non-transitory computer readable medium comprising computer readable program code, which when executed by a computer processor enables the computer processor to perform a method for storing backups of virtual machines, the method comprising:

identifying an end of a backup generation session;

in response to the identification of the end:

performing a date analysis to identify a set of potentially stale backups of the backups that each has a respective age greater than a threshold age;

performing a continuity chain analysis of each backup of the set of potentially stale backups to identify a set of stale backups that each are not chained to other backups, wherein performing the continuity chain analysis comprises:

selecting a first backup of the set of potentially stale backups

reading a first file name of the first backup;

extracting a first portion of the first file name, wherein the first portion of the first file name references a deleted backup;

performing a first matching of the extracted first portion of the first file name to the respective file names of the backups;

making a first determination that the first backup is not chained to any of the backups based on the first matching, wherein the deleted backup is not in the backups; and

including, based on the first determination, the first backup in the set of stale backups; and

deleting each backup of the set of stale backups.

17. The non-transitory computer readable medium of claim 16 , wherein the set of potentially stale backups include a plurality of backups of the backups.

18. The non-transitory computer readable medium of claim 17 , wherein the threshold age is based on an average age of the 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 (047648/0422) 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 060160/0862 →
RELEASE OF SECURITY INTEREST AT REEL 047648 FRAME 0346 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/0510 →
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 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047648/0346 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 12, 2018
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 047648/0422 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 6, 2018
From: SINGHAL, UPANSHU; SETH, ARCHIT; ONKARAPPA, SHIVAKUMAR; SINGH, CHAKRAVEER; PRAKASH, CHANDRA; PRIYANKA, KUMARI; BHARDWAJ, RAHUL; PURWAR, AKANSHA; DABBURI, LALITA; SHARMA, MANISH; CHOPRA, SHELESH; YADAV, SUNIL
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 046561/0517 →
Continuity (1)
Related Publication 20200004428A1 · Jan 2, 2020