IP Library Granted Patent US 10,922,120
Granted Patent B2
US 10,922,120 · App. 16/047,791 · Granted Feb 16, 2021

System and method for guided system restoration

Inventors: Upanshu Singhal (Bangalore, IN); Chakraveer Singh (Bangalore, IN); Archit Seth (Bangalore, IN); Shivakumar Kunnal Onkarappa (Bangalore, IN); Rahul Bhardwaj (Udaipur, IN); Chandra Prakash (Bangalore, IN); Akansha Purwar (Bangalore, IN); Lalita Dabburi (Bangalore, IN); Shilpa Mehta (Bangalore, IN); Manish Sharma (Bangalore, IN); Shelesh Chopra (Bangalore, IN); Kumari Priyanka (Bengaluru, IN); Navneet Upadhyay (Ghaziabad, IN); Asif Khan (Bangalore, IN); Pradeep Mittal (Karnal, IN)
Assignee: EMC IP Holding Company LLC
G06F9/45558G06F11/1451G06F2009/45562G06F2009/45579G06F2009/45587G06F2201/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,922,120
App. No.
16/047,791
Granted
Feb 16, 2021
Kind
B2
Abstract

A method for managing virtual machines includes obtaining a restoration request via a first pane of a graphical user interface generated by a graphical user interface manager; in response to obtaining the restoration request: predicting a restoration load for performing the restoration of a virtual machine of the virtual machines; performing a resource availability analysis of the production hosts using the restoration load to obtain a list of production hosts for performing a restoration of the virtual machine; making a first determination that the list specifies at least one production host of the production hosts; and, in response to the first determination: modifying a second pane of the graphical user interface based on the list to obtain a modified second pane; obtaining a user selection of a restoration option displayed in the modified second pane; and restoring the virtual machine using the restoration option and backup/restoration policies.

Claims (98)

1. A remote agent for managing virtual machines, comprising:

a persistent storage that stores backup/restoration policies;

a graphical user interface manager; and

a restoration manager programmed to:

obtain a restoration request via a first pane of a graphical user interface generated by the graphical user interface manager, wherein the restoration request is for a virtual machine of the virtual machines, wherein the virtual machines are hosted by production hosts;

in response to obtaining the restoration request:

predict a restoration load for performing a restoration of the virtual machine, wherein the restoration load is based on a number of backups and on a size of each of the number of backups;

perform a resource availability analysis of the production hosts using the restoration load to obtain a list of production hosts for performing a restoration of the virtual machine;

make a first determination that the list specifies at least one production host of the production hosts; and

in response to the first determination:

modify a second pane of the graphical user interface based on the list to obtain a modified second pane;

obtain a user selection of a restoration option displayed in the modified second pane; and

restore the virtual machine using the restoration option and the backup/restoration policies,

wherein performing the resource availability analysis of the production hosts comprises:

identifying a non-restoration load for each of the production hosts, wherein the non-restoration load is identified by at least one of: tracking an amount of data stored in each of the production hosts, tracking an average amount of computing processing performed by each of the production hosts during a predetermined period of time, and tracking memory usage of each of the production hosts during the predetermined period of time;

generating future load estimates for the production hosts based on both of the restoration load and each respective non-restoration load;

identifying a portion of the production hosts that each have more computing resources than a future load estimate of the future load estimates associated with each respective production host; and

populating the list with the identified portion of the production hosts.

2. The remote agent of claim 1 , wherein the restoration manager is further programmed to:

obtain a second restoration request for a second virtual machine of the virtual machines;

in response to obtaining the second restoration request:

predict a second restoration load for performing a restoration of the second virtual machine;

perform a second resource availability analysis of the production hosts using the second restoration load to obtain a second list of production hosts for performing a second restoration of the second virtual machine;

make a second determination that the list does not specify any of the production hosts;

in response to the second determination:

disable the modified second pane of the graphic user interface to prevent the second restoration from being performed.

3. The remote agent of claim 1 , wherein modifying the second pane of the graphical user interface based on the list comprises:

identifying a plurality of restoration options available for performing the restoration;

matching a portion of the plurality of restoration options to entries of the list; and

disabling each restoration option of the portion of the plurality of restoration options.

4. The remote agent of claim 3 , wherein matching the portion of the plurality of restoration options to the entries of the list comprises:

identifying production hosts implicated by the plurality of restoration options, and

matching identifiers of the production hosts implicated by the plurality of restoration options to the entries of the list,

wherein each entry of the list comprises an identifier of a production host of the production hosts.

5. The remote agent of claim 1 , wherein the first pane of the graphic user interface is displayed before the modified second pane of the graphic user interface is displayed, wherein the graphic user interface is displayed to a user.

6. The remote agent of claim 1 , wherein restoring the virtual machine using the restoration option and the backup/restoration policies comprises:

matching the restoration option to a restoration policy of the backup/restoration policies; and

performing a restoration workflow specified by the restoration policy.

7. The remote agent of claim 6 , wherein performing the restoration workflow instantiates a copy of the virtual machine in a production host specified by the list.

8. The remote agent of claim 6 , wherein performing the restoration workflow comprises obtaining backups from a backup storage, wherein the backups are based on a backup policy of the backup/restoration policies.

9. The remote agent of claim 8 , wherein the backup storage is separate from the production hosts, wherein the remote agent is separate from the backup storage, wherein the remote agent is separate from the production hosts.

10. The remote agent of claim 1 , wherein obtaining the restoration request via the first pane of the graphical user interface generated by the graphical user interface manager comprises:

obtaining a second user selection of the virtual machine; and

obtaining a third user selection of a time for performing the restoration.

11. A method for managing virtual machines, comprising:

obtaining a restoration request via a first pane of a graphical user interface generated by a graphical user interface manager, wherein the restoration request is for a virtual machine of the virtual machines, wherein the virtual machines are hosted by production hosts;

in response to obtaining the restoration request:

predicting a restoration load for performing a restoration of the virtual machine, wherein the restoration load is based on a number of backups and on a size of each of the number of backups;

performing a resource availability analysis of the production hosts using the restoration load to obtain a list of production hosts for performing a restoration of the virtual machine;

making a first determination that the list specifies at least one production host of the production hosts; and

in response to the first determination:

modifying a second pane of the graphical user interface based on the list to obtain a modified second pane;

obtaining a user selection of a restoration option displayed in the modified second pane; and

restoring the virtual machine using the restoration option and backup/restoration policies,

wherein performing the resource availability analysis of the production hosts comprises:

identifying a non-restoration load for each of the production hosts, wherein a non-restoration load is identified by at least one of: tracking an amount of data stored in each of the production hosts, tracking an average amount of computing processing performed by each of the production hosts during a predetermined period of time, and tracking memory usage of each of the production hosts during the predetermined period of time;

generating future load estimates for the production hosts based on both of the restoration load and each respective non-restoration load;

identifying a portion of the production hosts that each have more computing resources than a future load estimate of the future load estimates associated with each respective production host and

populating the list with the identified portion of the production hosts.

12. The method of claim 11 , wherein the method further comprises:

obtaining a second restoration request for a second virtual machine of the virtual machines;

in response to obtaining the second restoration request:

predicting a second restoration load for performing a restoration of the second virtual machine;

performing a second resource availability analysis of the production hosts using the second restoration load to obtain a second list of production hosts for performing a second restoration of the second virtual machine;

making a second determination that the list does not specify any of the production hosts;

in response to the second determination:

disabling the modified second pane of the graphic user interface to prevent the second restoration from being performed.

13. The method of claim 11 , wherein modifying the second pane of the graphical user interface based on the list comprises:

identifying a plurality of restoration options available for performing the restoration;

matching a portion of the plurality of restoration options to entries of the list; and

disabling each restoration option of the portion of the plurality of restoration options.

14. 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:

obtaining a restoration request via a first pane of a graphical user interface generated by a graphical user interface manager, wherein the restoration request is for a virtual machine of the virtual machines, wherein the virtual machines are hosted by production hosts;

in response to obtaining the restoration request:

predicting a restoration load for performing a restoration of the virtual machine;

performing a resource availability analysis of the production hosts using the restoration load to obtain a list of production hosts for performing a restoration of the virtual machine;

making a first determination that the list specifies at least one production host of the production hosts; and

in response to the first determination:

modifying a second pane of the graphical user interface based on the list to obtain a modified second pane;

obtaining a user selection of a restoration option displayed in the modified second pane; and

restoring the virtual machine using the restoration option and backup/restoration policies,

wherein performing the resource availability analysis of the production hosts comprises:

identifying a non-restoration load for each of the production hosts, wherein a non-restoration load is identified by at least one of: tracking an amount of data stored in each of the production hosts, tracking an average amount of computing processing performed by each of the production hosts during a predetermined period of time, and tracking memory usage of each of the production hosts during the predetermined period of time;

generating future load estimates for the production hosts based on both of the restoration load and each respective non-restoration load;

identifying a portion of the production hosts that each have more computing resources than a future load estimate of the future load estimates associated with each respective production host and

populating the list with the identified portion of the production hosts.

15. The non-transitory computer readable medium of claim 14 , wherein the method further comprises:

obtaining a second restoration request for a second virtual machine of the virtual machines;

in response to obtaining the second restoration request:

predicting a second restoration load for performing a restoration of the second virtual machine;

performing a second resource availability analysis of the production hosts using the second restoration load to obtain a second list of production hosts for performing a second restoration of the second virtual machine;

making a second determination that the list does not specify any of the production hosts;

in response to the second determination:

disabling the modified second pane of the graphic user interface to prevent the second restoration from being performed.

16. The non-transitory computer readable medium of claim 14 , wherein modifying the second pane of the graphical user interface based on the list comprises:

identifying a plurality of restoration options available for performing the restoration;

matching a portion of the plurality of restoration options to entries of the list; and

disabling each restoration option of the portion of the plurality of restoration options.

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 30, 2018
From: SINGHAL, UPANSHU; SINGH, CHAKRAVEER; SETH, ARCHIT; ONKARAPPA, SHIVAKUMAR KUNNAL; BHARDWAJ, RAHUL; PRAKASH, CHANDRA; PURWAR, AKANSHA; DABBURI, LALITA; MEHTA, SHILPA; SHARMA, MANISH; CHOPRA, SHELESH; PRIYANKA, KUMARI; UPADHYAY, NAVNEET; KHAN, ASIF; MITTAL, PRADEEP
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 046505/0054 →
Continuity (1)
Related Publication 20200034174A1 · Jan 30, 2020