IP Library Granted Patent US 11,340,999
Granted Patent B2
US 11,340,999 · App. 15/887,737 · Granted May 24, 2022

Fast restoration method from inode based backup to path based structure

Inventors: Wuyun Zhang (Chengdu, CN); Zhibin Zhang (Chengdu, CN)
Assignee: EMC IP HOLDING COMPANY LLC
G06F11/1469G06F11/1451G06F11/1464G06F16/13G06F16/172
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,340,999
App. No.
15/887,737
Granted
May 24, 2022
Kind
B2
Abstract

One embodiment is related to a method for restoring an inode based backup to a path based structure, comprising: receiving a path to be restored; determining one or more selected inodes, wherein metadata associated with the one or more selected inodes is to be used in the restoration; generating a sendmap structure that is indicative of the selected inodes; restoring a first file; and determining whether an inode number of the first file, which identifies an inode of the first file, and its associated metadata are available in a metadata cache, and if so: using the inode number of the first file and its associated metadata in the metadata cache in the restoration of the first file.

Claims (59)

1. A method for restoring an inode based backup to a path based structure, comprising:

receiving a path encompassing one or more files or directories (files/directories) to be restored;

selecting one or more inodes when metadata associated with each of the one or more inodes is to be used in a restoration;

determining, in the inode based backup, one or more selected inodes that correspond to the files/directories to be restored and one or more unselected inodes that correspond to one or more files/directories that are not in the path and not to be restored, wherein metadata associated with the one or more selected inodes is to be used in the restoration, wherein metadata associated with the unselected inodes is not to be used in the restoration;

generating a sendmap structure that is indicative of the selected inodes and the unselected inodes, wherein the sendmap structure includes a bitmap structure to store status of file/directories inode selection for the restoration, wherein generating the sendmap structure comprises:

traversing from a root folder to the path to determine inode numbers of the files/directories to be restored, the traversing includes searching a directory tree to determine the inode numbers and names of child files and subdirectories, wherein each bit of the sendmap structure corresponds to an inode, and a bit value of the sendmap structure indicates whether a corresponding inode is selected or unselected;

restoring a first file of the files/directories to be restored from the inode based backup to the path based structure;

determining whether an inode number of the first file, which identifies a first inode of the first file, and associated metadata of the inode number are available in a metadata cache, and if so: using the inode number of the first file and the associated metadata in the metadata cache in the restoration of the first file; and

adding the inode number of the first file and the associated metadata to the metadata cache when the inode number of the first file and the associated metadata are not available in the metadata cache.

2. The method of claim 1 , wherein if the inode number of the first file and the associated metadata are not available in the metadata cache:

retrieving the inode number of the first file and the associated metadata from an inode file tree;

determining whether any other inode that shares a second level sub-path with the inode of the first file in the inode file tree is a selected inode based on the sendmap structure; and

in response to determining that one or more other inodes that share the second level sub-path with the inode of the first file in the inode file tree are selected inodes, storing the one or more other inodes and associated metadata of the one or more other inodes in the metadata cache.

3. The method of claim 2 , wherein an inode of a second file of the files/directories to be restored shares the second level sub-path with the inode of the first file when the inode of the second file and the inode of the first file share the first 5 hex digits (20 bits) in respective inode numbers of the inodes of the first and the second files.

4. The method of claim 1 , wherein the path based structure is a Linux file system or a Windows file system.

5. The method of claim 1 , wherein the sendmap structure is stored in a memory.

6. The method of claim 1 , wherein the inode number is a 32-bit unsigned integer.

7. The method of claim 1 , wherein the metadata cache is a mapping structure that stores inode numbers and respective associated metadata of the inode numbers.

8. The method of claim 1 , further comprising clearing the sendmap structure and the metadata cache when the restoration is completed.

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

receiving a path encompassing one or more files or directories (files/directories) to be restored;

selecting one or more inodes when metadata associated with each of the one or more inodes is to be used in a restoration;

determining, in an inode based backup, one or more selected inodes that correspond to the files/directories to be restored and one or more unselected inodes that correspond to one or more files/directories that are not in the path and not to be restored, wherein metadata associated with the one or more selected inodes is to be used in the restoration, wherein metadata associated with the unselected inodes is not to be used in the restoration;

generating a sendmap structure that is indicative of the selected inodes and the unselected inodes, wherein the sendmap structure includes a bitmap structure to store status of file/directories inode selection for the restoration, wherein generating the sendmap structure comprises:

traversing from a root folder to the path to determine inode numbers of the files/directories to be restored, the traversing includes searching a directory tree to determine the inode numbers and names of child files and subdirectories, wherein each bit of the sendmap structure corresponds to an inode, and a bit value of the sendmap structure indicates whether a corresponding inode is selected or unselected;

restoring a first file of the files/directories to be restored from the inode based backup to a path based structure;

determining whether an inode number of the first file, which identifies an inode of the first file, and associated metadata of the inode number are available in a metadata cache, and if so: using the inode number of the first file and the associated metadata in the metadata cache in the restoration of the first file; and

adding the inode number of the first file and the associated metadata to the metadata cache when the inode number of the first file and the associated metadata are not available in the metadata cache.

10. The non-transitory machine-readable medium of claim 9 , wherein if the inode number of the first file and the associated metadata are not available in the metadata cache:

retrieving the inode number of the first file and the associated metadata from an inode file tree;

determining whether any other inode that shares a second level sub-path with the inode of the first file in the inode file tree is a selected inode based on the sendmap structure; and

in response to determining that one or more other inodes that share the second level sub-path with the inode of the first file in the inode file tree are selected inodes, storing the one or more other inodes and associated metadata of the one or more other inodes in the metadata cache.

11. The non-transitory machine-readable medium of claim 10 , wherein an inode of a second file of the files/directories to be restored shares the second level sub-path with the inode of the first file when the inode of the second file and the inode of the first file share the first 5 hex digits (20 bits) in respective inode numbers of the inodes of the first and the second files.

12. The non-transitory machine-readable medium of claim 9 , wherein the path based structure is a Linux file system or a Windows file system.

13. The non-transitory machine-readable medium of claim 9 , wherein the sendmap structure is stored in a memory.

14. The non-transitory machine-readable medium of claim 9 , wherein the inode number is a 32-bit unsigned integer.

15. The non-transitory machine-readable medium of claim 9 , wherein the metadata cache is a mapping structure that stores inode numbers and respective associated metadata of the inode numbers.

16. The non-transitory machine-readable medium of claim 9 , the operations further comprising clearing the sendmap structure and the metadata cache when the restoration is completed.

17. 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 restoration operations, the operations including:

receiving a path encompassing one or more files or directories (files/directories) to be restored;

selecting one or more inodes when metadata associated with each of the one or more inodes is to be used in a restoration;

determining, in an inode based backup, one or more selected inodes that correspond to the files/directories to be restored and one or more unselected inodes that correspond to one or more files/directories that are not in the path and not to be restored, wherein metadata associated with the one or more selected inodes is to be used in the restoration, wherein metadata associated with the unselected inodes is not to be used in the restoration;

generating a sendmap structure that is indicative of the selected inodes and the unselected inodes, wherein the sendmap structure includes a bitmap structure to store status of file/directories inode selection for the restoration, wherein generating the sendmap structure comprises:

traversing from a root folder to the path to determine inode numbers of the files/directories to be restored, the traversing includes searching a directory tree to determine the inode numbers and names of child files and subdirectories, wherein each bit of the sendmap structure corresponds to an inode, and a bit value of the sendmap structure indicates whether a corresponding inode is selected or unselected;

restoring a first file of the files/directories to be restored from the inode based backup to a path based structure;

determining whether an inode number of the first file, which identifies an inode of the first file, and associated metadata of the inode number are available in a metadata cache, and if so: using the inode number of the first file and the associated metadata in the metadata cache in the restoration of the first file; and

adding the inode number of the first file and the associated metadata to the metadata cache when the inode number of the first file and the associated metadata are not available in the metadata cache.

18. The data processing system of claim 17 , wherein if the inode number of the first file and the associated metadata are not available in the metadata cache:

retrieving the inode number of the first file and the associated metadata from an inode file tree;

determining whether any other inode that shares a second level sub-path with the inode of the first file in the inode file tree is a selected inode based on the sendmap structure; and

in response to determining that one or more other inodes that share the second level sub-path with the inode of the first file in the inode file tree are selected inodes, storing the one or more other inodes and associated metadata in the metadata cache of the one or more other inodes.

19. The data processing system of claim 18 , wherein an inode of a second file of the files/directories to be restored shares the second level sub-path with the inode of the first file when the inode of the second file and the inode of the first file share the first 5 hex digits (20 bits) in respective inode numbers of the inodes of the first and the second files.

20. The data processing system of claim 17 , wherein the path based structure is a Linux file system or a Windows file system.

21. The data processing system of claim 17 , wherein the sendmap structure is stored in a memory.

22. The data processing system of claim 17 , wherein the inode number is a 32-bit unsigned integer.

23. The data processing system of claim 17 , wherein the metadata cache is a mapping structure that stores inode numbers and respective associated metadata of the inode numbers.

24. The data processing system of claim 17 , the operations further comprising clearing the sendmap structure and the metadata cache when the restoration is completed.

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 (045482/0131) 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; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 061749/0924 →
RELEASE OF SECURITY INTEREST AT REEL 045482 FRAME 0395 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058298/0314 →
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 12, 2018
From: ZHANG, WUYUN; ZHANG, ZHIBIN
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 046858/0345 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Mar 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 045482/0131 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Mar 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 045482/0395 →
Continuity (1)
Related Publication 20190243728A1 · Aug 8, 2019