IP Library Granted Patent US 10,339,011
Granted Patent B1
US 10,339,011 · App. 15/795,980 · Granted Jul 2, 2019

Method and system for implementing data lossless synthetic full backups

Inventors: Aaditya Rakesh Bansal (Bangalore, IN); Sunil Yadav (Bangalore, IN); Suman Chandra Tokuri (Bangalore, IN); Pradeep Anappa (Bangalore, IN); Soumen Acharya (Bangalore, IN); Sudha Vamanraj Hebsur (Bangalore, IN)
Assignee: EMC IP Holding Company LLC
G06F11/1458G06F11/1451G06F16/128G06F16/2246G06F3/065G06F9/45558G06F11/1456G06F2201/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,339,011
App. No.
15/795,980
Granted
Jul 2, 2019
Kind
B1
Abstract

A method and system for implementing data lossless synthetic full backups. Specifically, the method and system disclosed herein improves upon traditional synthetic full backup operations by considering all user-checkpoint branches, rather than just the active user-checkpoint branch, representing all chains of incremental changes to a virtual disk of a virtual machine. In considering all user-checkpoint branches, no data pertinent to users involved in the development of the non-active (or inactive) user-checkpoint branches is lost.

Claims (75)

1. A method for archiving data, comprising:

selecting a virtual machine (VM) executing on a first computing system;

identifying at least one virtual disk (VD) associated with the VM;

for each VD of the at least one VD:

obtaining a user-checkpoint tree (UCT) for the VD;

identifying, within the UCT, a set of user-checkpoint branches (UCBs) comprising an active UCB and at least one inactive UCB;

generating a VD image (VDI) based on the at least one inactive UCB and the active UCB; and

after generating the VDI for each VD of the at least one VD, to obtain at least one VDI:

generating, for the VM, a VM image (VMI) comprising the at least one VDI.

2. The method of claim 1 , wherein the UCT comprises a hierarchy of user-checkpoints, wherein the hierarchy of user-checkpoints comprises a user-checkpoint root (UCR) and the set of UCBs, wherein each UCB in the set of UCBs stem from the UCR.

3. The method of claim 1 , wherein each UCB of the set of UCBs comprises a plurality of successive user-checkpoint nodes (UCNs).

4. The method of claim 1 , wherein the active UCB comprises a current user-checkpoint node (UCN) representing a current state of the VD.

5. The method of claim 1 , wherein generating the VDI based on the at least one inactive UCB and the active UCB, comprises:

generating, for each inactive UCB of the at least one inactive UCB, an inactive branch image (IBI) based on the inactive UCB;

after generating the IBI for each inactive UCB of the at least one inactive UCB, to obtain at least one IBI:

generating an active branch image (ABI) based on the active UCB; and

generating the VDI, wherein the VDI comprises the at least one inactive IBI and the ABI.

6. The method of claim 5 , wherein generating the IBI based on the inactive UCB, comprises:

identifying a latest user-checkpoint node (UCN), in a chain of UCNs representing the inactive UCB, as a user-checkpoint leaf (UCL);

identifying a user-checkpoint root (UCR) of the UCT; and

for each UCN in the chain of UCNs, along a reverse chronological order, from the UCL to the UCR:

replicating the UCN to generate a portion of the IBI.

7. The method of claim 6 , wherein the UCR is a snapshot of an initial state of the VD, wherein each successive UCN in the chain of UCNs is a snapshot of an incremental change to the VD.

8. The method of claim 1 , further comprising:

transmitting the VMI to a second computing system for storage.

9. A system, comprising:

at least one virtual machine (VM);

a VM manager operatively connected to and responsible for the at least one VM; and

a lossless backup agent (LBA) operatively connected to the VM manager, and programmed to:

select the at least one VM;

issue a request to the VM manager pertaining to identifying at least one virtual disk (VD) associated with the at least one VM;

for each VD of the at least one VD:

obtain, from the VM manager, a user-checkpoint tree (UCT) for the VD;

identify, within the UCT, a set of user-checkpoint branches (UCBs) comprising an active UCB and at least one inactive UCB;

generate a VD image (VDI) based on the at least one inactive UCB and the active UCB; and

after generating the VDI for each VD of the at least one VD, to obtain at least one VDI:

generate, for the at least one VM, a VM image (VMI) comprising the at least one VDI.

10. The system of claim 9 , further comprising:

a first computing system comprising a first application program interface (API), the LBA, the VM manager, and the at least one VM executing thereon.

11. The system of claim 10 , further comprising:

a second API operatively connected to the first API; and

a data repository operatively connected to the second API,

wherein the first API is programmed to:

obtain the VMI from the LBA; and

transmit the VMI to the second API,

wherein the second API is programmed to:

receive the VMI from the first API; and

store the VMI in the data repository.

12. The system of claim 11 , further comprising:

a second computing system comprising the second API and the data repository.

13. A non-transitory computer readable medium (CRM) comprising computer readable program code, which when executed by a computer processor, enables the computer processor to:

select a virtual machine (VM) executing on a first computing system;

identify at least one virtual disk (VD) associated with the VM;

for each VD of the at least one VD:

obtain a user-checkpoint tree (UCT) for the VD;

identify, within the UCT, a set of user-checkpoint branches (UCBs) comprising an active UCB and at least one inactive UCB;

generate a VD image (VDI) based on the at least one inactive UCB and the active UCB; and

after generating the VDI for each VD of the at least one VD, to obtain at least one VDI:

generate, for the VM, a VM image (VMI) comprising the at least one VDI.

14. The non-transitory CRM of claim 13 , wherein the UCT comprises a hierarchy of user-checkpoints, wherein the hierarchy of user-checkpoints comprises a user-checkpoint root (UCR) and the set of UCBs, wherein each UCB in the set of UCBs stem from the UCR.

15. The non-transitory CRM of claim 13 , wherein each UCB of the set of UCBs comprises a plurality of successive user-checkpoint nodes (UCNs).

16. The non-transitory CRM of claim 13 , wherein the active UCB comprises a current user-checkpoint node (UCN) representing a current state of the VD.

17. The non-transitory CRM of claim 13 , wherein to generate the VDI based on the at least one inactive UCB and the active UCB, the computer readable program code, which when executed by the computer processor, enables the computer processor to:

generate, for each inactive UCB of the at least one inactive UCB, an inactive branch image (IBI) based on the inactive UCB;

after generating the IBI for each inactive UCB of the at least one inactive UCB, to obtain at least one IBI:

generate an active branch image (ABI) based on the active UCB; and

generate the VDI, wherein the VDI comprises the at least one inactive IBI and the ABI.

18. The non-transitory CRM of claim 17 , wherein to generate the IBI based on the inactive UCB, the computer readable program code, which when executed by the computer processor, enables the computer processor to:

identify a latest user-checkpoint node (UCN), in a chain of UCNs representing the inactive UCB, as a user-checkpoint leaf (UCL);

identify a user-checkpoint root (UCR) of the UCT; and

for each UCN in the chain of UCNs, along a reverse chronological order, from the UCL to the UCR:

replicate the UCN to generate a portion of the IBI.

19. The non-transitory CRM of claim 18 , wherein the UCR is a snapshot of an initial state of the VD, wherein each successive UCN in the chain of UCNs is a snapshot of an incremental change to the VD.

20. The non-transitory CRM of claim 13 , further comprising computer readable program code, which when executed by the computer processor, enables the computer processor to:

transmit the VMI to a second computing system for storage.

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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 20, 2018
From: BANSAL, AADITYA RAKESH; YADAV, SUNIL; TOKURI, SUMAN CHANDRA; ANAPPA, PRADEEP; ACHARYA, SOUMEN; HEBSUR, SUDHA VAMANRAJ
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 045595/0933 →
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 →