IP Library Granted Patent US 10,776,036
Granted Patent B2
US 10,776,036 · App. 16/028,693 · Granted Sep 15, 2020

System and method for efficient restore

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,776,036
App. No.
16/028,693
Granted
Sep 15, 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 identifies a virtual machine of the virtual machines that is likely to fail and, in response to identifying the virtual machine, identifies backup data associated with the identified virtual machine; instantiates a clone of the identified virtual machine using the identified backup; exposes the clone while the identified virtual machine is exposed; and hides the virtual machine after the clone is exposed.

Claims (72)

1. An agent for managing virtual machines, comprising:

a persistent storage that stores backup/restoration policies; and

a processor programmed to:

identify a virtual machine of the virtual machines that is likely to fail;

in response to identifying the virtual machine:

identify backup data associated with the identified virtual machine;

instantiate a clone of the identified virtual machine using the identified backup;

expose the clone while the identified virtual machine is exposed; and

hide the virtual machine after the clone is exposed;

before instantiating the clone:

make a determination that the backup data is not clone-ready based on configuration data of the backup data; and

in response to the determination:

perform a collision analysis to obtain collision free configuration data, and

modify the configuration data based on the collision free configuration data.

2. The agent of claim 1 , wherein the clone and the identified virtual machine comprise same application data.

3. The agent of claim 1 , wherein the clone and the identified virtual machine comprise different configuration data.

4. The agent of claim 3 , wherein the configuration data of the identified virtual machine comprises a first uniform resource identifier, the configuration data of the clone comprises a second uniform resource identifier, and the first uniform resource identifier is different from the second uniform resource identifier.

5. The agent of claim 3 , wherein the configuration data of the identified virtual machine comprises a first media access control address, the configuration data of the clone comprises a second media access control address, and the first media access control address is different from the second media access control address.

6. The agent of claim 3 , wherein the configuration data of the identified virtual machine comprises a first internet protocol address, the configuration data of the clone comprises a second internet protocol address, and the first internet protocol address is different from the second internet protocol address.

7. The agent of claim 1 , wherein identifying the virtual machine of the virtual machines that is likely to fail comprises:

filtering the virtual machines using the backup/restoration policies to identify a provisional set of virtual machines that are failing, wherein the backup/restoration policies indicate that a backup failure has occurred during each virtual machine's most recently scheduled backup session;

for each virtual machine of the provisional set, determining a responsiveness of the respective virtual machines to backup generation session requests;

obtaining a final set of failing virtual machines by filtering the provisional set for all non-responsive virtual machines using the determined responsiveness; and

selecting any virtual machine of the final set of failing virtual machines as the identified virtual machine that is likely to fail.

8. The agent of claim 1 , wherein instantiating the clone of the identified virtual machine using the identified backup comprises:

identifying a restoration policy associated with the identified virtual machine;

instantiating a new virtual machine at a location specified by the identified restoration policy using the identified backup data; and

migrating the instantiated new virtual machine to a second location specified by the identified backup data.

9. The agent of claim 8 , wherein the location is a proxy host.

10. The agent of claim 8 , wherein the second location is a production host.

11. The agent of claim 8 , wherein the identified virtual machine is at the second location.

12. The agent of claim 1 , wherein exposing the clone commences execution of the clone.

13. The agent of claim 1 , wherein hiding the identified virtual machine suspends execution of the identified virtual machine.

14. The agent of claim 1 , wherein the processor is further programmed to:

after exposing the clone:

update the backup/restoration policies based on configuration data of the clone,

wherein the configuration data comprises an identifier selected from a group of identifiers consisting of a uniform resource identifier, a media access control address, and an internet protocol address.

15. The agent of claim 14 , wherein updating the backup/restoration policies based on configuration information of the clone comprises:

identifying a backup policy associated with the identified virtual machine; and

updating a target identifier of the backup policy to reflect the configuration data.

16. A method for managing virtual machines, comprising:

identifying a virtual machine of the virtual machines that is likely to fail;

in response to identifying the virtual machine:

identifying backup data associated with the identified virtual machine;

instantiating a clone of the identified virtual machine using the identified backup;

exposing the clone while the identified virtual machine is exposed; and

hiding the virtual machine after the clone is exposed;

before instantiating the clone:

making a determination that the backup data is not clone-ready based on configuration data of the backup data; and

in response to the determination:

performing a collision analysis to obtain collision free configuration data, and

modifying the configuration data based on the collision free configuration data.

17. The method of claim 16 , wherein instantiating a clone of the identified virtual machine using the identified backup comprises:

identifying a restoration policy associated with the identified virtual machine;

instantiating a new virtual machine at a location specified by the identified restoration policy using the identified backup data; and

migrating the instantiated new virtual machine to a second location specified by the identified backup data.

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 a virtual machine of the virtual machines that is likely to fail;

in response to identifying the virtual machine:

identifying backup data associated with the identified virtual machine;

instantiating a clone of the identified virtual machine using the identified backup;

exposing the clone while the identified virtual machine is exposed;

hiding the virtual machine after the clone is exposed;

before instantiating the clone:

making a determination that the backup data is not clone-ready based on configuration data of the backup data; and

in response to the determination:

performing a collision analysis to obtain collision free configuration data, and

modify the configuration data based on the collision free configuration data.

19. The non-transitory computer readable medium of claim 18 , wherein instantiating a clone of the identified virtual machine using the identified backup comprises:

identifying a restoration policy associated with the identified virtual machine;

instantiating a new virtual machine at a location specified by the identified restoration policy using the identified backup data; and

migrating the instantiated new virtual machine to a second location specified by the identified backup data.

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; MITTAL, PRADEEP; PRIYANKA, KUMARI; ONKARAPPA, SHIVAKUMAR KUNNAL; SINGH, CHAKRAVEER; SETH, ARCHIT; BHARDWAJ, RAHUL; PRAKASH, CHANDRA; SHARMA, MANISH; PURWAR, AKANSHA; DABBURI, LALITA; MEHTA, SHILPA; CHOPRA, SHELESH; KHAN, ASIF
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 046285/0519 →