IP Library Granted Patent US 10,860,431
Granted Patent B2
US 10,860,431 · App. 16/028,672 · Granted Dec 8, 2020

System and method for fault tolerant backup generation in a virtual environment

Inventors: Upanshu Singhal (Bangalore, IN); Shivakumar Onkarappa (Bangalore, IN); Chakraveer Singh (Bangalore, IN); Archit Seth (Bangalore, IN); Chandra Prakash (Bangalore, IN); Pradeep Mittal (Karnal, IN); Kumari Priyanka (Bengaluru, IN); Rahul Bhardwaj (Udaipur, IN); Akansha Purwar (Bangalore, IN); Lalita Dabburi (Bangalore, IN); Shilpa Mehta (Bangalore, IN); Shelesh Chopra (Bangalore, IN); Manish Sharma (Bangalore, IN); Asif Khan (Bangalore, IN)
Assignee: EMC IP Holding Company LLC
G06F11/1461G06F9/45558G06F2009/45583G06F2201/815
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,860,431
App. No.
16/028,672
Granted
Dec 8, 2020
Kind
B2
Abstract

An agent for managing virtual machines includes a persistent storage and a processor. The persistent storage stores backup/restoration policies. The processor identify an end of a backup generation session for the virtual machines; make a first determination that the backup generation was a batch type backup session and, in response to the first determination, performs a batch level continuity analysis of backups generated via the backup generation session to identify a set of backup failures of the backup generation session; performs an unscheduled batch backup generation session based on the identified set of backup failures; and remediates the backup/restoration policies using the identified set of backup failures to ensure backup continuity of all backups associated with each of the virtual machines.

Claims (68)

1. An agent for managing virtual machines, comprising:

a persistent storage that stores backup/restoration policies; and

a processor programmed to:

identify an end of a backup generation session for the virtual machines;

make a first determination that the backup generation session was a batch type backup session;

in response to the first determination:

perform a batch level continuity analysis of backups generated via the backup generation session to identify a set of backup failures of the backup generation session;

perform an unscheduled batch backup generation session based on the identified set of backup failures; and

remediate the backup/restoration policies using the identified set of backup failures to ensure backup continuity of all backups associated with each of the virtual machines by:

for each backup generated during the unscheduled batch backup generation session:

 identify corresponding backup data stored in backup storage;

 perform a continuity chain analysis of the corresponding backup data; and

 modify the backup/restoration policies associated with the corresponding backup data based on the continuity chain analysis to maintain future continuity of the corresponding backup data.

2. The agent of claim 1 , wherein performing the unscheduled batch backup generation session based on the identified set of backup failures comprises:

identifying a subset of a set of the virtual machines associated with the identified set of backup failures; and

ordering the subset of the set of the virtual machines based on a priority of each respective virtual machine of the subset.

3. The agent of claim 2 , wherein performing the unscheduled batch backup generation session based on the identified set of backup failures further comprises:

generating backups associated with respective virtual machines of the subset of the set of the virtual machines based on the ordering of the subset of the set of the virtual machines.

4. The agent of claim 3 , wherein performing the unscheduled batch backup generation session based on the identified set of backup failures further comprises:

making a second determination that a production host hosting the subset of the set of the virtual machines does not have sufficient computing resources based on the priority of each respective virtual machine of the subset; and

in response to the second determination:

reducing a computing resource deficit of performing the unscheduled batch backup generation session; and

performing the reduced computing resource cost unscheduled batch backup generation session to generating a number of backups corresponding to respective backup failures of the identified set of backup failures.

5. The agent of claim 4 , wherein reducing the computing resource deficit of performing the unscheduled batch backup generation session comprises:

modifying a type of a backup to be generated during the reduced computing resource cost unscheduled batch backup generation session.

6. The agent of claim 4 , wherein reducing the computing resource deficit of performing the unscheduled batch backup generation session comprises:

modifying a time period during which the reduced computing resource cost unscheduled batch backup generation session is performed,

wherein the time period is modified to be concurrent with a high computing resource availability period of the production host.

7. The agent of claim 1 , wherein performing the batch level continuity analysis of the backups generated via the backup generation session to identify the set of backup failures of the backup generation session comprises:

obtaining an identifier of a virtual machine of the virtual machines for which a backup was not generated during the backup generation session;

indexing into a batch of virtual machines associated with the backup generation session using the obtained identifier;

identifying a portion of the batch of virtual machines for which respective backups were not generated during the backup generation session; and

using the identified portion of the batch of virtual machines as the identified set of backup failures.

8. The agent of claim 1 , wherein modifying the backup/restoration policies associated with the corresponding backup data based on the continuity chain analysis to maintain future continuity of the corresponding backup data comprises:

identifying an order-reduced backup of the backups generated during the unscheduled batch backup;

identifying a backup policy of the backup/restoration policies associated with the order-reduced backup; and

modifying the identified backup policy to generate a future backup that is compatible with the order-reduced backup of the backups generated during the unscheduled batch backup.

9. The agent of claim 1 , wherein the virtual machines are hosted by a production host separate from the agent.

10. The agent of claim 1 , wherein the backups generated via the backup generation session are stored in a backup storage separate from the agent.

11. The agent of claim 1 , wherein each policy of the backup/restoration policies is associated with a respective virtual machine of the virtual machines.

12. The agent of claim 11 , wherein each policy of the backup/restoration policies comprises a workflow for backup/restoration generation, wherein the workflow specifies at least one from a group consisting of a storage location, an identifier of one of the virtual machines, and a schedule.

13. The agent of claim 1 , wherein backup continuity of all backups associated with a virtual machine of the virtual machines enables the virtual machine to be restored to previous states associated with any backup associated with the virtual machine of the virtual machines stored in backup storage.

14. The agent of claim 1 , wherein the batch type backup session is initiated by sending an instruction to a production agent executing on a production host that a portion of the virtual machines.

15. The agent of claim 1 , wherein the unscheduled batch backup generation session is not initiated by any policy of the backup/restoration policies.

16. A method for managing virtual machines, comprising:

identifying an end of a backup generation session for the virtual machines;

making a first determination that the backup generation session was a batch type backup session;

in response to the first determination:

performing a batch level continuity analysis of backups generated via the backup generation session to identify a set of backup failures of the backup generation session;

performing an unscheduled batch backup generation session based on the identified set of backup failures; and

remediating backup/restoration policies using the identified set of backup failures to ensure backup continuity of all backups associated with each of the virtual machines by:

for each backup generated during the unscheduled batch backup generation session:

identifying corresponding backup data stored in backup storage;

performing a continuity chain analysis of the corresponding backup data; and

modifying the backup/restoration policies associated with the corresponding backup data based on the continuity chain analysis to maintain future continuity of the corresponding backup data.

17. The method of claim 16 , wherein the unscheduled batch backup generation session is not initiated by any policy of the backup/restoration policies.

18. A non-transitory computer readable medium comprising computer readable program code, which when executed by a computer processor enables the computer processor to perform a method for managing virtual machines, the method comprising:

identifying an end of a backup generation session for the virtual machines;

making a first determination that the backup generation session was a batch type backup session;

in response to the first determination:

performing a batch level continuity analysis of backups generated via the backup generation session to identify a set of backup failures of the backup generation session;

performing an unscheduled batch backup generation session based on the identified set of backup failures; and

remediating backup/restoration policies using the identified set of backup failures to ensure backup continuity of all backups associated with each of the virtual machines by:

for each backup generated during the unscheduled batch backup generation session:

identifying corresponding backup data stored in backup storage;

performing a continuity chain analysis of the corresponding backup data; and

modifying the backup/restoration policies associated with the corresponding backup data based on the continuity chain analysis to maintain future continuity of the corresponding backup data.

19. The non-transitory computer readable medium of claim 18 , wherein the unscheduled batch backup generation session is not initiated by any policy of the backup/restoration policies.

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 (047648/0422) 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
Reel/Frame 060160/0862 →
RELEASE OF SECURITY INTEREST AT REEL 047648 FRAME 0346 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058298/0510 →
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 Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047648/0346 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 047648/0422 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 6, 2018
From: SINGHAL, UPANSHU; ONKARAPPA, SHIVAKUMAR KUNNAL; SINGH, CHAKRAVEER; SETH, ARCHIT; PRAKASH, CHANDRA; MITTAL, PRADEEP; PRIYANKA, KUMARI; BHARDWAJ, RAHUL; PURWAR, AKANSHA; DABBURI, LALITA; MEHTA, SHILPA; CHOPRA, SHELESH; SHARMA, MANISH; KHAN, ASIF
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 046283/0623 →