IP Library Granted Patent US 11,726,884
Granted Patent B2
US 11,726,884 · App. 16/686,491 · Granted Aug 15, 2023

Optimized filesystem walk for backup operations

Inventor: Vladimir Mandic (San Jose, CA)
Assignee: EMC IP Holding Company LLC
G06F11/1458
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,726,884
App. No.
16/686,491
Granted
Aug 15, 2023
Kind
B2
Abstract

The system for backing up data comprises an input interface configured to receive an input set of files. The system for backing up data additionally comprises a processor configured to add modified objects to a list of modified objects in the set of files, and, in the event it is determined to provide the list of modified objects to a backup process, provide the list to the backup process.

Claims (41)

1. A method comprising:

receiving a set of files via an input interface;

adding, by one or more processors, a modified object to one or more lists of modified objects, the modified object being among a plurality of objects that are to be backed up, wherein a modified object is a data structure that aggregates electronic data;

adding the modified object to the one or more lists of modified objects comprising:

determining that the modified object is not within a defined proximity of other modified objects included in at least one corresponding list of modified objects, wherein the defined proximity corresponds to each modified object's location in a storage device or memory; and

in response to determining that the modified object is not within the defined proximity of the other modified objects included in the corresponding at least one list of modified objects, creating a new list of modified objects and adding the modified object to the new list of modified objects; and

performing a backup process for the one or more lists of modified objects, wherein the backup process processes the new list in connection with backing up one or more of the modified objects.

2. The method of claim 1 , wherein the performing the backup process with respect to the one or more lists of modified objects comprises:

performing a backup with respect to objects included in at least one list of modified objects among the one or more lists of modified objects.

3. The method of claim 2 , wherein the at least one list of modified objects is determined based at least in part on one or more of a threshold amount of data or a threshold number of files included in the list of modified objects.

4. The method of claim 3 , further comprising:

determining whether the at least one list of modified objects satisfies one or more conditions pertaining to the threshold amount of data and the threshold number of files included in the list of modified objects; and

in response to determining that the at least one list of modified objects satisfies the one or more conditions pertaining to the threshold amount of data and the threshold number of files included in the list of modified objects, passing the at least one list of modified objects to the backup process.

5. The method of claim 1 , wherein the performing the backup process with respect to the one or more lists of modified objects is based at least in part on a total file size of a corresponding one of the one or more lists of modified objects.

6. The method of claim 1 , wherein the backup process queues the modified objects in the list to be read.

7. The method of claim 6 , wherein the performing the backup process with respect to the one or more lists of modified objects comprises reading modified objects in at least one list of the one or more lists in a single access to storage device.

8. The method of claim 6 , wherein the performing the backup process with respect to the one or more lists of modified objects comprises reading modified objects in at least one list of the one or more lists in multiple reads in a sequence.

9. The method of claim 8 , wherein the sequence targets a minimum seek time.

10. The method of claim 8 , wherein the sequence targets a minimum access time.

11. The method of claim 1 , wherein the modified object is identified from among a set of files comprising one or more of the following: a complete system, a list of filesystems, a single filesystem, a mount point, a logical object that is used to aggregate files, or a folder.

12. The method of claim 1 , comprising determine whether to provide the new list of modified objects to the backup process based at least in part on one or more of the threshold amount of data or the threshold number of files included in the new list of modified objects.

13. The method of claim 1 , wherein the one or more lists of modified objects and the new list of modified objects are associated with different backup buffers.

14. The method of claim 1 , wherein determining, in connection with walking of a set of files, whether to add the modified object to the one or more lists of modified objects based on whether the modified object has changed since a last backup.

15. The method of claim 1 , wherein determining that the modified object is not within a defined proximity of other modified objects included in a corresponding at least one list of modified objects includes determining that the modified object is from a same volume as the other modified objects included on the at least one list of modified objects.

16. The method of claim 1 , wherein determining that the modified object is not within a defined proximity of other modified objects included in a corresponding at least one list of modified objects includes determining whether the modified object is stored on a volume that is the same as one or more volumes on which the other modified objects included in the at least one list of modified objects are stored.

17. The method of claim 1 , further comprising determining whether to add the modified object to the one or more lists of modified objects based at least in part on a determination of whether a backup storage system comprises the corresponding modified object.

18. The method of claim 1 , wherein the backup process queues the modified objects in the corresponding at least one list of modified objects such that the backup process reads the modified objects from storage in a sequential manner based on a corresponding physical storage locations of the plurality of objects.

19. A system, comprising:

an input interface configured to receive a set of files; and

a processor configured to:

add a modified object to one or more lists of modified objects, the modified object being among a plurality of objects that are to be backed up, wherein a modified object is a data structure that aggregates electronic data;

determine that the modified object is not within a defined proximity of other modified objects, wherein the defined proximity corresponds to each modified object's location in a storage device or memory; and

in response to determining that the modified object is not within the defined proximity of the other modified objects, create a new list of modified objects and add the modified object to the new list of modified objects; and

perform a backup process for the one or more lists of modified objects, wherein the backup process processes the new list in connection with backing up one or more of the modified objects.

20. A computer program product, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

receiving a set of files via an input interface;

adding, by one or more processors, a modified object to one or more lists of modified objects, the modified object being among a plurality of objects that are to be backed up, wherein a modified object is a data structure that aggregates electronic data;

adding the modified object to the one or more lists of modified objects comprising:

determining that the modified object is not within a defined proximity of other modified objects; and

in response to determining that the modified object is not within the defined proximity of the other modified objects, creating a new list of modified objects and adding the modified object to the new list of modified objects, wherein the defined proximity corresponds to each modified object's location in a storage device or memory; and

performing a backup process for the one or more lists of modified objects, wherein the backup process processes the new list in connection with backing up one or more of the modified objects.

Assignments (10)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 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 060438/0742 →
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 (052216/0758) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0680 →
RELEASE OF SECURITY INTEREST AF REEL 052243 FRAME 0773 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0152 →
SECURITY INTEREST Recorded Jun 5, 2020
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 053311/0169 →
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 26, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052243/0773 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Mar 24, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052216/0758 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 18, 2019
From: MANDIC, VLADIMIR
To: EMC CORPORATION
Reel/Frame 051041/0700 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 18, 2019
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 051048/0001 →