IP Library Granted Patent US 11,994,960
Granted Patent B2
US 11,994,960 · App. 17/201,210 · Granted May 28, 2024

Data recovery in virtual desktop infrastructure environments

Inventors: Sunil Kumar (Bangalore, IN); Prashant Pokharna (Ajmer, IN); Shivasharan Dalasanur Narayana Gowda (Kolar, IN)
Assignee: EMC IP Holding Company LLC
G06F11/1484G06F9/452G06F9/45558G06F11/1471H04L9/3213H04L9/3247G06F2009/45591G06F2009/45595
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 11,994,960
App. No.
17/201,210
Granted
May 28, 2024
Kind
B2
Abstract

An apparatus comprises a processing device configured to receive from a virtual desktop infrastructure client a request to recover data, to identify virtual desktops associated with the virtual desktop infrastructure client that are hosted on virtual machines running on virtualization infrastructure of a virtual desktop infrastructure environment, and to push a token to at least one of the virtual desktops. The processing device is further configured to authenticate the request to recover data based at least in part on validating a proof of knowledge of the token that is received from the virtual desktop infrastructure client, to receive from the virtual desktop infrastructure client a selection of at least a given one of a set of copies of the data of the virtual desktops, and to mount the given copy in at least one of the virtual desktops hosted on at least one of the virtual machines.

Claims (61)

1. An apparatus comprising:

at least one processing device comprising a processor coupled to a memory;

the at least one processing device being configured to perform steps of:

receiving, from a virtual desktop infrastructure client, a request to recover data;

identifying one or more virtual desktops, associated with the virtual desktop infrastructure client, that are hosted on one or more virtual machines running on virtualization infrastructure of a virtual desktop infrastructure environment;

pushing a token to at least one of the one or more virtual desktops hosted on at least one of the one or more virtual machines;

authenticating the request to recover data based at least in part on validating a proof of knowledge of the token, the proof of knowledge being received from the virtual desktop infrastructure client;

receiving, from the virtual desktop infrastructure client, a selection of at least a given one of a set of copies of the data of the one or more virtual desktops;

mounting, for a given period of time, the given copy in at least one of the one or more virtual desktops hosted on at least one of the one or more virtual machines, the given period of time being based at least in part on information specified in the request to recover data received from the virtual desktop infrastructure environment; and

unmounting the given copy from said at least one of the one or more virtual machines responsive to expiration of the given period of time.

2. The apparatus of claim 1 wherein the virtual desktop infrastructure client comprises a client device distinct from the one or more virtual desktops.

3. The apparatus of claim 1 wherein the request to recover data specifies a virtual desktop infrastructure identifier, and wherein identifying the one or more virtual desktops associated with the virtual desktop infrastructure client comprises querying inventory information of the virtual desktop infrastructure environment utilizing the virtual desktop infrastructure identifier specified in the request to recover data.

4. The apparatus of claim 1 wherein pushing the token to at least one of the one or more virtual desktops hosted on at least one of the one or more virtual machines comprises utilizing one or more application programming interfaces exposed by the virtualization infrastructure on which the one or more virtual machines run to save the token to a predetermined storage location in a virtual disk of the at least one virtual desktop.

5. The apparatus of claim 1 wherein the at least one processing device is further configured to perform the steps of:

determining the set of available copies of the data of the one or more virtual desktops; and

providing, to the virtual desktop infrastructure client, information specifying the set of available copies of the data of the one or more virtual desktops.

6. The apparatus of claim 5 wherein determining the set of available copies of the data of the one or more virtual desktops comprises querying a catalog of the virtual desktop infrastructure environment utilizing fully qualified domain names of the one or more virtual desktops.

7. The apparatus of claim 5 wherein the request to recover data specifies a time range for recovery, and wherein determining the set of available copies of the data of the one or more virtual desktops comprises querying a catalog of the virtual desktop infrastructure environment for point-in-time copies of the data of the one or more virtual desktops failing within the specified time range for recovery.

8. The apparatus of claim 5 wherein providing, to the virtual desktop infrastructure client, the information specifying the set of available copies of the data of the one or more virtual desktops comprises identifying virtual disk backups of the one or more virtual machines that are part of each of the set of available copies of the data of the one or more virtual desktops.

9. The apparatus of claim 1 wherein receiving, from the virtual desktop infrastructure client, the selection of the given copy of the data of the one or more virtual desktops comprises receiving a selection of a subset of virtual disks in the given copy of the data of the one or more virtual desktops comprising data to be recovered.

10. The apparatus of claim 1 wherein the information specified in the request to recover data comprises a requested amount of time for making recovered data available.

11. An apparatus comprising:

at least one processing device comprising a processor coupled to a memory;

the at least one processing device being configured to perform steps of:

receiving, from a virtual desktop infrastructure client, a request to recover data;

identifying one or more virtual desktops, associated with the virtual desktop infrastructure client, that are hosted on one or more virtual machines running on virtualization infrastructure of a virtual desktop infrastructure environment;

pushing a token to at least one of the one or more virtual desktops hosted on at least one of the one or more virtual machines;

authenticating the request to recover data based at least in part on validating a proof of knowledge of the token, the proof of knowledge being received from the virtual desktop infrastructure client;

receiving, from the virtual desktop infrastructure client, a selection of at least a given one of a set of copies of the data of the one or more virtual desktops; and

mounting the given copy in at least one of the one or more virtual desktops hosted on at least one of the one or more virtual machines;

wherein mounting the given copy in said at least one of the one or more virtual desktops hosted on said at least one of the one or more virtual machines comprises:

identifying at least one hypervisor host of the virtualization infrastructure on which said at least one of the one or more virtual machines run; and

masking the given copy to the identified at least one hypervisor host.

12. The apparatus of claim 11 wherein mounting the given copy in said at least one of the one or more virtual desktops hosted on said at least one of the one or more virtual machines further comprises:

performing a storage rescan of the identified at least one hypervisor host; and

re-signaturing the given copy to the identified at least one hypervisor host.

13. The apparatus of claim 12 wherein the given copy is associated with a first signature, and wherein re-signaturing the given copy to the identified at least one hypervisor host comprises mounting, on one or more storage devices of one or more storage systems providing physical infrastructure hosting the virtualization infrastructure of the virtual desktop infrastructure environment, a datastore comprising the given copy with a second signature different than the first signature.

14. The apparatus of claim 12 wherein mounting the given copy in said at least one of the one or more virtual desktops hosted on said at least one of the one or more virtual machines further comprises:

hot adding one or more virtual disks of the given copy in said at least one of the one or more virtual desktops hosted on said at least one of the one or more virtual machines; and

performing a storage rescan of the identified at least one hypervisor host.

15. A computer program product comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code when executed by at least one processing device causes the at least one processing device to perform steps of:

receiving, from a virtual desktop infrastructure client, a request to recover data;

identifying one or more virtual desktops, associated with the virtual desktop infrastructure client, that are hosted on one or more virtual machines running on virtualization infrastructure of a virtual desktop infrastructure environment;

pushing a token to at least one of the one or more virtual desktops hosted on at least one of the one or more virtual machines;

authenticating the request to recover data based at least in part on validating a proof of knowledge of the token, the proof of knowledge being received from the virtual desktop infrastructure client;

receiving, from the virtual desktop infrastructure client, a selection of at least a given one of a set of copies of the data of the one or more virtual desktops;

mounting, for a given period of time, the given copy in at least one of the one or more virtual desktops hosted on at least one of the one or more virtual machines, the given period of time being based at least in part on information specified in the request to recover data received from the virtual desktop infrastructure environment; and

unmounting the given copy from said at least one of the one or more virtual machines responsive to expiration of the given period of time.

16. The computer program product of claim 15 wherein pushing the token to at least one of the one or more virtual desktops hosted on at least one of the one or more virtual machines comprises utilizing one or more application programming interfaces exposed by the virtualization infrastructure on which the one or more virtual machines run to save the token to a predetermined storage location in a virtual disk of the at least one virtual desktop.

17. The computer program product of claim 15 wherein the information specified in the request to recover data comprises a requested amount of time for making recovered data available.

18. A method comprising:

receiving, from a virtual desktop infrastructure client, a request to recover data;

identifying one or more virtual desktops, associated with the virtual desktop infrastructure client, that are hosted on one or more virtual machines running on virtualization infrastructure of a virtual desktop infrastructure environment;

pushing a token to at least one of the one or more virtual desktops hosted on at least one of the one or more virtual machines;

authenticating the request to recover data based at least in part on validating a proof of knowledge of the token, the proof of knowledge being received from the virtual desktop infrastructure client;

receiving, from the virtual desktop infrastructure client, a selection of at least a given one of a set of copies of the data of the one or more virtual desktops;

mounting, for a given period of time, the given copy in at least one of the one or more virtual desktops hosted on at least one of the one or more virtual machines, the given period of time being based at least in part on information specified in the request to recover data received from the virtual desktop infrastructure environment; and

unmounting the given copy from said at least one of the one or more virtual machines responsive to expiration of the given period of time;

wherein the method is performed by at least one processing device comprising a processor coupled to a memory.

19. The method of claim 18 wherein pushing the token to at least one of the one or more virtual desktops hosted on at least one of the one or more virtual machines comprises utilizing one or more application programming interfaces exposed by the virtualization infrastructure on which the one or more virtual machines run to save the token to a predetermined storage location in a virtual disk of the at least one virtual desktop.

20. The method of claim 18 wherein the information specified in the request to recover data comprises a requested amount of time for making recovered data available.

Assignments (10)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0280) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0255 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0124) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0012 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0001) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062021/0844 →
RELEASE OF SECURITY INTEREST Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058297/0332 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0124 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0001 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0280 →
CORRECTIVE ASSIGNMENT TO CORRECT THE MISSING PATENTS THAT WERE ON THE ORIGINAL SCHEDULED SUBMITTED BUT NOT ENTERED PREVIOUSLY RECORDED AT REEL: 056250 FRAME: 0541. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 17, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 056311/0781 →
SECURITY AGREEMENT Recorded May 14, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 056250/0541 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 15, 2021
From: KUMAR, SUNIL; POKHARNA, PRASHANT; NARAYANA GOWDA, SHIVASHARAN DALASANUR
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 055589/0545 →