IP Library Granted Patent US 10,324,807
Granted Patent B1
US 10,324,807 · App. 15/724,201 · Granted Jun 18, 2019

Fast native file system creation for backup files on deduplication systems

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,324,807
App. No.
15/724,201
Granted
Jun 18, 2019
Kind
B1
Abstract

Native file system creation for backup files is described. A system creates a virtual disk template corresponding to a disk associated with a client device. The system sends a copy of the virtual disk template as template data. The system sends a copy of a file on the disk as file data. The system stores a backup file in a file system format that is native to the client device by combining the template data and the file data. The system restores a file in the backup file to the disk via mounting the backup file as a virtual disk on the client device.

Claims (90)

1. A system comprising:

a processor-based application, which when executed on a computer, will cause the processor to:

create a virtual disk template corresponding to a disk associated with a client device;

send a copy of the virtual disk template as template data;

send a copy of a file on the disk as file data;

store a backup file in a file system format that is native to the client device by combining the template data and the file data; and

restore a file in the backup file to the disk via mounting the backup file as a virtual disk on the client device.

2. The system of claim 1 , wherein creating the virtual disk template comprises:

identifying a size associated with the disk;

creating a virtual disk template based on the size;

mounting the virtual disk template on the client device;

creating a volume in the virtual disk template;

formatting the volume with the file system format that is native to the client device;

creating a directory, corresponding to a directory structure of a file on the disk, on the volume;

creating a dummy file without data to represent the file;

reserving file extents, corresponding to file extents of the file on the volume; and

unmounting the virtual disk template from the client device.

3. The system of claim 1 , wherein creating the virtual disk template comprises:

identifying an offset from a beginning of the disk to a beginning of a volume in the disk;

identifying file extent information for the volume in the disk; and

creating a file extent offset by combining the offset and the file extent information.

4. The system of claim 1 , wherein combining the template data and the file data comprises:

determining if a stream of data comprises any specified file extent information;

processing the stream of data as file data in response to a determination that the stream of data comprises any specified file extent information; and

processing the stream of data as template data in response to a determination that the stream of data does not comprise any specified file extent information.

5. The system of claim 4 , wherein processing the stream of data as file data comprises:

converting a logical address associated with file data to a relative address;

rebasing the relative address; and

storing the rebased address, in association with the file data, to the backup file.

6. The system of claim 1 , wherein the processor-based application further causes the processor to delete the virtual disk template.

7. The system of claim 1 , wherein mounting the backup file to the client device is based on a unique identifier of the backup file and a unique identifier of the disk.

8. A computer-implemented method comprising:

creating a virtual disk template corresponding to a disk associated with a client device;

sending a copy of the virtual disk template as template data;

sending a copy of a file on the disk as file data;

storing a backup file in a file system format that is native to the client device by combining the template data and the file data; and

restoring a file in the backup file to the disk via mounting the backup file as a virtual disk on the client device.

9. The method of claim 8 , wherein creating the virtual disk template comprises:

identifying a size associated with the disk;

creating a virtual disk template based on the size;

mounting the virtual disk template on the client device;

creating a volume in the virtual disk template;

formatting the volume with the file system format that is native to the client device;

creating a directory, corresponding to a directory structure of a file on the disk, on the volume;

creating a dummy file without data to represent the file;

reserving file extents, corresponding to file extents of the file, on the volume, and

unmounting the virtual disk template from the client device.

10. The method of claim 8 , wherein creating the virtual disk template comprises:

identifying an offset from a beginning of the disk to a beginning of a volume in the disk;

identifying file extent information for the volume in the disk; and

creating a file extent offset by combining the offset and the file extent information.

11. The method of claim 8 , wherein combining the template data and the file data comprises:

determining if a stream of data comprises any specified file extent information;

processing the stream of data as file data in response to a determination that the stream of data comprises any specified file extent information; and

processing the stream of data as template data in response to a determination that the stream of data does not comprise any specified file extent information.

12. The method of claim 11 , wherein processing the stream of data as file data comprises:

converting a logical address associated with file data to a relative address;

rebasing the relative address; and

storing the rebased address, in association with the file data, to the backup file.

13. The method of claim 8 , wherein the method further comprises deleting the virtual disk template.

14. A computer program product, comprising a non-transitory computer-readable medium having a computer-readable program code embodied therein to be executed by one or more processors, the program code including instructions to:

create a virtual disk template corresponding to a disk associated with a client device;

send a copy of the virtual disk template as template data;

send a copy of a file on the disk as file data;

store a backup file in a file system format that is native to the client device by combining the template data and the file data; and

restore a file in the backup file to the disk via mounting the backup file as a virtual disk the client device.

15. The computer program product of claim 14 , wherein creating the virtual disk template comprises:

identifying a size associated with the disk;

creating the virtual disk template based on the size;

mounting the virtual disk template on the client device;

creating a volume in the virtual disk template;

formatting the volume with the file system format that is native to the client device;

creating a directory, corresponding to a directory structure of a file on the disk, on the volume;

creating a dummy file without data to represent the file;

reserving file extents, corresponding to file extents of the file, on the volume; and

unmounting the virtual disk template from the client device.

16. The computer program product of claim 14 , wherein creating the virtual disk template comprises:

identifying an offset from a beginning of the disk to a beginning of a volume in the disk;

identifying file extent information for the volume in the disk; and

creating a file extent offset by combining the offset and the file extent information.

17. The computer program product of claim 14 , wherein combining the template data and the file data comprises:

determining if a stream of data comprises any specified file extent information;

processing the stream of data as file data in response to a determination that the stream of data comprises any specified file extent information; and

processing the stream of data as template data in response to a determination that the stream of data does not comprise any specified file extent information.

18. The computer program product of claim 17 , wherein processing the stream of data as file data comprises:

converting a logical address associated with file data to a relative address;

rebasing the relative address; and

storing the rebased address, in association with the file data, to the backup file.

19. The computer program product of claim 14 , wherein the program code includes further instructions to delete the virtual disk template.

20. The computer program product of claim 14 , wherein mounting the backup file to the client device is based on a unique identifier of the backup file and a unique identifier of the disk.

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 (044535/0109) 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 060753/0414 →
RELEASE OF SECURITY INTEREST AT REEL 044535 FRAME 0001 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/0475 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 3, 2019
From: KUMAR, MV KIRAN; JAGANNATHA, MANJUNATH; SHANKAR, RAVI
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 049072/0538 →
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 Nov 29, 2017
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 044535/0001 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Nov 29, 2017
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 044535/0109 →