IP Library Granted Patent US 10,853,185
Granted Patent B1
US 10,853,185 · App. 15/717,184 · Granted Dec 1, 2020

Virtual machine image backup to exclude system page file

Inventors: Crystal Guo (Shanghai, CN); Walter Wang (Shanghai, CN); Derro Xu (Chenghua, CN); Qingxiao Zheng (Chengdu, CN); Baoli Guo (Sichuan, CN)
Assignee: EMC IP HOLDING COMPANY LLC
G06F11/1453G06F9/45558G06F11/1464G06F16/128G06F2009/45583G06F2009/45595G06F2201/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 10,853,185
App. No.
15/717,184
Granted
Dec 1, 2020
Kind
B1
Abstract

According to one embodiment, a system in response to a request to back up a virtual machine to a backup storage system, generates a snapshot of the virtual machine. The system identifies one or more files within the snapshot that satisfy a predetermined criterion. If the one or more files are identified, the storage system backs up a modified representation of the snapshot by, analyzing the snapshot to determine addresses of the identified one or more files within the snapshot, and substituting content of the identified one or more files at the addresses with a predetermined data pattern. The system deduplicates the modified representation of the snapshot to remove duplicated data segments and copies data segments of the modified representation of the snapshot to the backup storage system such that data segments to be copied to the backup storage system is minimized.

Claims (75)

1. A computer-implemented method to back up virtual machines, the method comprising:

in response to a request to back up a virtual machine to a backup storage system, generating a snapshot of the virtual machine;

identifying one or more unessential files within the snapshot, the unessential files being unessential for restoration purposes and comprise temporary files and system page file, wherein a size of the system page file changes dynamically depending on virtual machine memory usages;

if the one or more unessential files are identified, backing up dynamically a modified representation of the snapshot by:

analyzing the snapshot to determine addresses of the identified one or more unessential files within the snapshot; and

substituting content of the identified one or more unessential files at the addresses with a data pattern of repeated predetermined data segments;

deduplicating the modified representation of the snapshot to remove the repeated data segments such that only one copy of one of the repeated data segments will be sent to the backup storage system, only once; and

copying data segments of the deduplicated modified representation of the snapshot to the backup storage system such that data segments to be copied to the backup storage system are minimized;

wherein substituting the content of the identified one or more files with the data pattern of predetermined data segments comprises:

determining a granule size of the data pattern;

allocating memory having the granule size;

writing the predetermined data segments to the allocated memory; and

substituting content of the identified one or more files with repeated sequence of the allocated memory data;

and wherein the predetermined data segment is a non-zero data pattern such that the non-zero predetermined data pattern of the modified representation of the snapshot when restored are allocated identical files sizes as the identified one or more files.

2. The method of claim 1 , wherein backing up dynamically a modified representation of the snapshot further comprises:

mounting the snapshot of the virtual machine on a proxy server prior to analyzing the snapshot; and

unmounting the snapshot after backup completes or terminates.

3. The method of claim 1 , wherein substituting content of the identified one or more files with repeated sequence of the allocated memory data comprises consecutively substituting data segments of the identified one or more files with the predetermined data segments at the allocated memory while excluding a first and a last data segment of each of the identified one or more files.

4. The method of claim 1 , wherein the snapshot is analyzed by searching for the identified one or more files by file names and/or file directories.

5. The method of claim 1 , wherein de-duplicating the modified representation of the snapshot comprising:

segmenting the modified representation of the snapshot into a plurality of data segments;

for each of the plurality of data segments,

generating a fingerprint for the each data segment;

determining whether content of the each data segment match at least one other data segment; and

in the event that the contents of the each segment match, replacing the each data segment with a reference value to the at least one other data segment.

6. The method of claim 1 , wherein backing up the deduplicated modified representation of the snapshot comprises:

for each of the deduplicated data segments,

transmitting a fingerprint of the deduplicated data segment, but not the deduplicated data segment, to the backup storage system;

determining if the backup storage system has already stored the deduplicated data segment by looking up the fingerprint; and

in the event that the deduplicated data segment is not already stored in the backup storage system, transferring the deduplicated data segment to the backup storage system for storage.

7. The method of claim 1 , wherein identifying one or more files within the snapshot further comprises retrieving a user selection to exclude backing up of the one or more files from an end user.

8. The method of claim 1 , wherein each client or virtual machine has a different predetermined data segment.

9. The method of claim 1 , wherein each timeframes of the virtual machine has a different predetermined data segment.

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

in response to a request to back up a virtual machine to a backup storage system, generating a snapshot of the virtual machine;

identifying one or more unessential files within the snapshot the unessential files being unessential for restoration purposes and comprise temporary files and system page file, wherein a size of the system page file changes dynamically depending on virtual machine memory usages;

if the one or more unessential files are identified, backing up dynamically a modified representation of the snapshot by,

analyzing the snapshot to determine addresses of the identified one or more unessential files within the snapshot; and

substituting content of the identified one or more unessential files at the addresses with a data pattern of repeated predetermined data segments;

deduplicating the modified representation of the snapshot to remove the repeated data segments such that only one copy of one of the repeated data segments will be sent to the backup storage system, only once; and

copying data segments of the deduplicated modified representation of the snapshot to the backup storage system such that data segments to be backed up to the backup storage system are minimized;

wherein substituting the content of the identified one or more files with the data pattern of predetermined data segments comprises:

determining a granule size of the data pattern;

allocating memory having the granule size;

writing the predetermined data segments to the allocated memory; and

substituting content of the identified one or more files with repeated sequence of the allocated memory data;

and wherein the predetermined data segment is a non-zero data pattern such that the non-zero predetermined data pattern of the modified representation of the snapshot when restored are allocated identical files sizes as the identified one or more files.

11. The non-transitory machine-readable medium of claim 10 , wherein backing up dynamically a modified representation of the snapshot further comprises:

mounting the snapshot of the virtual machine on a proxy server prior to analyzing the snapshot; and

unmounting the snapshot after backup completes or terminates.

12. The non-transitory machine-readable medium of claim 11 , wherein substituting content of the identified one or more files with the allocated memory data comprises consecutively substituting data segments of the identified one or more files with the predetermined data segment at the allocated memory while excluding a first and a last data segment of each of the identified one or more files.

13. The non-transitory machine-readable medium of claim 10 , wherein each client or virtual machine has a different predetermined data segment.

14. The non-transitory machine-readable medium of claim 10 , wherein each timeframes of the virtual machine has a different predetermined data segment.

15. A data processing system, comprising:

a processor; and

a memory coupled to the processor to store instructions, which when executed by the processor, cause the processor to perform operations, the operations including

in response to a request to back up a virtual machine to a backup storage system, generating a snapshot of the virtual machine;

identifying one or more unessential files within the snapshot the unessential files being unessential for restoration purposes and comprise temporary files and system page file, wherein a size of the system page file changes dynamically depending on virtual machine memory usages;

if the one or more unessential files are identified, backing up dynamically a modified representation of the snapshot by,

analyzing the snapshot to determine addresses of the identified one or more unessential files within the snapshot; and

substituting content of the identified one or more unessential files at the addresses with a data pattern of repeated predetermined data segments;

deduplicating the modified representation of the snapshot to remove the repeated data segments such that only one copy of one of the repeated data segments will be sent to the backup storage system, only once; and

copying data segments of the deduplicated modified representation of the snapshot to the backup storage system such that data segments to be backed up to the backup storage system are minimized;

wherein substituting the content of the identified one or more files with the data pattern of predetermined data segments comprises:

determining a granule size of the data pattern;

allocating memory having the granule size;

writing the predetermined data segments to the allocated memory; and

substituting content of the identified one or more files with repeated sequence of the allocated memory data;

and wherein the predetermined data segment is a non-zero data pattern such that the non-zero predetermined data pattern of the modified representation of the snapshot when restored are allocated identical files sizes as the identified one or more files.

16. The data processing system of claim 15 , wherein backing up dynamically a modified representation of the snapshot further comprises:

mounting the snapshot of the virtual machine on a proxy server prior to analyzing the snapshot; and

unmounting the snapshot after backup completes or terminates.

17. The data processing system of claim 16 , wherein substituting content of the identified one or more files with the allocated memory data comprises consecutively replacing data segments of the identified one or more files with the predetermined data segment at the allocated memory while excluding a first and a last data segment of each of the identified one or more files.

18. The data processing system of claim 15 , wherein each client or virtual machine has a different predetermined data segment.

19. The data processing system of claim 15 , wherein each timeframes of the virtual machine has a different predetermined data segment.

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 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 27, 2017
From: GUO, CRYSTAL; WANG, WALTER; XU, DERRO; ZHENG, QINGXIAO; GUO, BAOLI
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 044035/0633 →
Cited By (4)
US 12,386,782 US 12,530,218 US 12,670,071 US 12,684,012