IP Library Granted Patent US 11,663,086
Granted Patent B2
US 11,663,086 · App. 17/070,918 · Granted May 30, 2023

File system slicing in network attached storage for data protection

Inventors: Adam Brenner (Mission Viejo, CA); Upanshu Singhal (Bangalore, IN)
Assignee: EMC IP Holding Company LLC
G06F11/1451G06F11/1464G06F16/128G06F16/185G06F16/951G06F2201/84
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,663,086
App. No.
17/070,918
Granted
May 30, 2023
Kind
B2
Abstract

Embodiments are described for storing array snapshots of a file system in networked attached storage (NAS) device. A system and process determine an organization of the file system comprising directories and files in a defined hierarchy, and a size of each file and a number of files in each directory. One or more slicer processes slice the file system into a number of slices, wherein each slice contains at least one of: a defined number of files or files having a defined total size. Backup agents are deployed as proxies to back up the slices to the NAS device, and the slices are backed up as array snapshots in the NAS device.

Claims (54)

1. A computer-implemented method of storing array snapshots of a file system in networked attached storage (NAS) device, comprising:

determining an organization of the file system comprising directories and files in a defined hierarchy;

determining a size of each file and a number of files in each directory;

slicing the file system into a number of slices according to a combined slicing method comprising file size-based slicing for large file systems, and file count-based slicing for dense file systems, wherein each slice contains files having a defined total size and a defined number of files, wherein the large file systems are used in metropolitan-area network (MAN) scale networks, and the dense file systems comprise millions of files;

deploying backup agents to back up the slices to the NAS device, wherein the backup agents are installed on an as-needed basis on one or more proxy hosts automatically with proxy host deployment; and

storing the backed up slices as array snapshots in the NAS device.

2. The method of claim 1 further comprising:

defining a first threshold value for the defined total size of files in each slice with a first margin of deviation; and

defining a second threshold value for the defined number of files in each slice with a second margin of deviation.

3. The method of claim 2 wherein for the file size-based slicing, the method further comprises;

crawling the file system;

identifying directories having files having a total size below the first threshold value; and

combining files from identified directories to form slices each having files of a total size within the first margin of deviation of the first threshold value.

4. The method of claim 3 wherein the slices contain contiguous files within the file system hierarchy.

5. The method of claim 2 wherein for the file count-based slicing, the method further comprises;

crawling the file system;

identifying directories having a number of files below the second threshold value; and

combining files from identified directories to form slices each having files of a total file count within the second margin of deviation of the second threshold value.

6. The method of claim 5 wherein the slices contain contiguous files within the file system hierarchy.

7. The method of claim 2 wherein the combined slicing further comprises slicing based on file system depth for deep and dense file system, and comprising:

forming slices from directories within a single level of the defined hierarchy of the file system with each slice containing files of a count below the first threshold value and a total size below the second threshold value; and

forming different slices from files within the single level of the defined hierarchy wherein each slice of the different slices containing files each below the second threshold value.

8. The method of claim 7 further comprising:

selecting the depth-based slicing, file size-based slicing, and file count-based slicing method to be performed in a particular order within the combined slicing to generate a first set of slices;

compiling past slice data from previous backup operations; and

changing from a first method of slicing to a second method of slicing in a different order within the combined slicing based on the past slice data to optimize a present slicing operation with respect to a backup operation performed by the backup agents.

9. The method of claim 8 wherein the backup operation comprises a full backup followed by one or more incremental backups, and wherein the method further comprises:

storing, in a catalog, slicing results after each of the full and one or more incremental backups;

determining, prior to each incremental backup, slicing results of a next previous full or incremental backup; and

re-slicing the file system based on file count to reduce crawl time on a directory based on a number of files greater than an average number of files in other directories.

10. The method of claim 8 wherein the backup operation comprises a full backup followed by one or more incremental backups, and wherein the method further comprises:

storing, in a catalog, slicing results after each of the full and one or more incremental backups;

determining, prior to each incremental backup, slicing results of a next previous full or incremental backup; and

re-slicing the file system based on file size to reduce backup time of the backup operation based on a size of files greater than an average size of files in other directories.

11. The method of claim 1 wherein the one or more proxy hosts are deployed in a client of a data management system in relation to the number of slices.

12. The method of claim 11 wherein the deployment of backup agents is performed by one of an automated process based on the number of slices, and one of a pre-defined manual process.

13. The method of claim 11 further comprising:

dynamically computing a number of parallel backup streams depending on a layout of the file system; and

performing the slicing methods to provide for balanced file system recovery of the backed up data.

14. A computer-implemented method of protecting data in a network attached storage (NAS) network through array snapshot backups of files within directories of a file system, comprising:

deploying backup agents on an as-needed basis on one or more proxy hosts automatically with a proxy host deployment;

slicing, for a backup operation, directories containing the files based on a combined slicing method based on a combination of a size of files within the directories, number of files within the directories, and depth of a hierarchy of the file system;

compiling slicing data for the backup operation based on the combined slicing method utilizing a first order of slicing; and

re-slicing the directories using a different order of slicing for a next backup operation based on the compiled data to optimize throughput of the next backup operation.

15. The method of claim 14 wherein the slicing is performed by a slicer component implemented as a shared library embedded in one or more backup agents initiating the backup operation, and wherein the combined slicing method comprises-file size-based slicing for large file systems, and file count-based slicing for dense file systems, and file system depth-based slicing for deep and dense file systems, wherein the large file systems are used in metropolitan-area network (MAN) scale networks, and the dense file systems comprise millions of files.

16. The method of claim 15 wherein the one or more proxy hosts are deployed in a client of a data management system supporting the backup operation.

17. A system for storing array snapshots of a file system in networked attached storage (NAS) device, comprising:

a crawler component determining an organization of the file system comprising directories and files in a defined hierarchy, and determining a size of each file and a number of files in each directory;

a slicer slicing the file system into a number of slices according to a combined slicing method comprising depth-based slicing, file size-based slicing, and file count-based slicing performed in a first sequence order of slicing, wherein each slice contains at least one of: files having a defined total size or a defined number of files;

one or more backup agents deployed to back up the slices to the NAS device, wherein the backup agents are installed on an as-needed basis on one or more proxy hosts automatically with proxy host deployment; and

an NAS storage storing the backed up slices as array snapshots.

18. The system of claim 17 wherein the one or more proxy hosts are deployed in a client of a data management system supporting the backup operation, and wherein the slicer is implemented as a shared library embedded in the backup agents, and wherein the combined slicing method comprises-file size-based slicing for large file systems, and file count-based slicing for dense file systems, and file system depth slicing for deep and dense file systems, wherein the large file systems are used in metropolitan-area network (MAN) scale networks, and the dense file systems comprise millions of files.

19. The system of claim 18 further wherein the slicer and backup agents further dynamically compute a number of parallel backup streams depending on a layout of the file system; and re-perform the slicing in a different sequence order of slicing to provide for balanced file system recovery of the backed up data.

20. The system of claim 19 wherein the slices contain contiguous files within the file system hierarchy.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0523) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0664 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0434) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0740 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0609) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0570 →
RELEASE OF SECURITY INTEREST AT REEL 054591 FRAME 0471 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0463 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 054475/0609 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0434 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0523 →
SECURITY AGREEMENT Recorded Nov 13, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 054591/0471 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 15, 2020
From: BRENNER, ADAM; SINGHAL, UPANSHU
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 054057/0908 →