IP Library Granted Patent US 10,511,674
Granted Patent B2
US 10,511,674 · App. 14/256,825 · Granted Dec 17, 2019

Gesture based switching of virtual desktop clients

Inventors: Lei Xiao (Beijing, CN); Yanchao Zhang (Beijing, CN)
Assignee: VMware, Inc.
H04L67/148
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,511,674
App. No.
14/256,825
Granted
Dec 17, 2019
Kind
B2
Abstract

A computer implemented method receives a switch session request from a source client device that is running a virtual desktop session. The method identifies a list of one or more potential destination client devices based on the source client device. The method then selects a desired destination client device from the list, disconnects the virtual desktop session from the source client device, and establishes a connection between the virtual desktop session and the desired destination client device.

Claims (83)

1. A method for migrating a presentation of a virtual desktop session having a state from a source client device to a desired destination client device, comprising:

receiving, by a computing device of a virtual desktop infrastructure host system that is separate from the source client device and the destination client device, a switch session request from a user of the source client device to switch a presented virtual desktop of the user running on a remotely hosted virtual machine from presentation on the source client device to presentation on another client device, the switch session request triggered in response to a user touch gesture detected on the source client device by a user of the source client device;

in response to the switch session request, identifying, by the computing device, a list of one or more potential destination client devices associated with the user based on an identity of the user of the source client device;

selecting, by the computing device, a particular destination client device from the list of potential destination client devices;

initiating, by the computing device, a launch request for the virtual desktop being switched to the particular destination client device, the launch request including user credentials and an identifier of the session of the virtual desktop running on the remotely hosted virtual machine, to be presented on the destination client device;

disconnecting, by the computing device, the virtual desktop session from the source client device; and

establishing, by the computing device, a connection between the virtual desktop session and the particular destination client device when the launch request is accepted and the credentials are received from the particular destination client device, wherein the virtual desktop session provided for presentation on the particular destination client device has the state of the virtual desktop session of the source client device.

2. The computer-implemented method of claim 1 , wherein identifying the list of potential destination client devices comprises:

identifying, by the computing device, a user identifier associated with the source client device;

querying, by the computing device, a client device database for one or more destination client devices that are associated with the user identifier; and

generating, by the computing device, the list from the one or more destination client devices.

3. The computer-implemented method of claim 1 , wherein selecting the particular destination client device comprises:

transmitting, by the computing device, the list of potential destination client devices to the source client device; and

receiving, by the computing device, a selection of the particular destination client device from the source client device, the particular destination client device being selected from the list of potential destination client devices.

4. The computer-implemented method of claim 1 , wherein establishing a connection comprises:

transmitting, by the computing device, the credentials to the particular destination client device; and

receiving, by the computing device, the credentials from the particular destination client device, wherein the credentials are used to establish the connection between the particular destination client device and the virtual desktop session.

5. The computer-implemented method of claim 4 , wherein the credentials include one or more of a user login/password, a session ID, and a desktop ID.

6. The computer-implemented method of claim 1 , wherein the list of one or more potential destination client devices is identified based on the location of the source client at the time of the gesture.

7. The computer-implemented method of claim 1 , further comprising:

transferring the state from the source client device to the particular destination client device such that an application open on the source client device remains open on the particular destination client device.

8. The computer-implemented method of claim 1 , wherein selecting the particular destination client device comprises:

transmitting, by the computing device, a launch request to each of the potential destination client devices in the list;

receiving, by the computing device, a launch notification from a potential destination client device in the list;

setting, by the computing device, the potential destination client device as the destination client device; and

transmitting, by the computing device, a cancel request to each potential destination client device in the list other than the destination client device, the cancel request being configured to cancel the launch request previously transmitted.

9. The computer-implemented method of claim 8 , wherein the launch request to each potential destination client device includes the credentials used to establish a connection between the potential destination client device and the virtual desktop session.

10. A non-transitory computer readable storage medium containing instructions, that when executed, control a computer system to be configured for:

receiving a switch session request from a user of a source client device to switch a presented virtual desktop of the user running on a remotely hosted virtual machine from presentation on the source client device to presentation on a destination client device, wherein the switch session request is received at a computing device of a virtual desktop infrastructure host system that is separate from the source client device and the destination client device;

in response to the switch session request, identifying a list of one or more potential destination client devices associated with the user based on an identity of the user of the source client device;

selecting the destination client device from the list of potential destination client devices;

initiating a launch request for the virtual desktop being switched to the destination client device, the launch request including user credentials and an identifier of the session of the virtual desktop running on the remotely hosted virtual machine, to be presented on the destination client device;

disconnecting the virtual desktop session from the source client device; and

establishing a connection between the virtual desktop session and the destination client device when the launch request is accepted and the credentials are received from the destination client device, wherein the virtual desktop session provided for presentation on the destination client device has a state of the virtual desktop session of the source client device.

11. The non-transitory computer readable storage medium of claim 10 , wherein identifying the list of potential destination client devices comprises:

identifying a user identifier associated with the source client device;

querying a client device database for one or more destination client devices that are associated with the user identifier; and

generating the list from the one or more destination client devices.

12. The non-transitory computer readable storage medium of claim 10 , wherein selecting the particular destination client device comprises:

transmitting the list of potential destination client devices to the source client device; and

receiving a selection of the destination client device from the source client device, the destination client device being selected from the list of potential destination client devices.

13. The non-transitory computer readable storage medium of claim 10 , wherein establishing a connection comprises:

transmitting the credentials to the destination client device; and

receiving the credentials from the destination client device, wherein the credentials are used to establish the connection between the destination client device and the virtual desktop session.

14. The non-transitory computer readable storage medium of claim 13 , wherein the credentials include one or more of a user login/password, a session ID, and a desktop ID.

15. The non-transitory computer readable storage medium of claim 10 , wherein selecting the particular destination client device comprises:

transmitting a launch request to each of the potential destination client devices in the list;

receiving a launch notification from a particular potential destination client device in the list;

setting the particular potential destination client device as the destination client device; and

transmitting a cancel request to each potential destination client device in the list other than the destination client device, the cancel request being configured to cancel the launch request previously transmitted.

16. The non-transitory computer readable storage medium of claim 15 , wherein the launch request to each potential destination client device includes the credential used to establish a connection between the potential destination client device and the virtual desktop session.

17. An apparatus, comprising:

one or more computer processors; and

a non-transitory computer-readable storage medium comprising instructions, that when executed, control the one or more computer processors to be configured for:

receiving a switch session request from a user of a source client device to switch a presented virtual desktop of the user running on a remotely hosted virtual machine from presentation on the source client device to presentation on a destination client device, wherein the switch session request is received at the apparatus of a virtual desktop infrastructure host system that is separate from the source client device and the destination client device;

in response to the switch session request, identifying a list of one or more potential destination client devices associated with the user based on an identity of the user of the source client device;

selecting one or more destinations client device from the list of potential destination client devices;

initiating a launch request for the virtual desktop being switched to the destination client device, the launch request including user credentials and an identifier of the session of the virtual desktop running on the remotely hosted virtual machine, to be presented on the destination client device;

disconnecting the virtual desktop session from the source client device; and

establishing a connection between the virtual desktop session and the destination client device when the launch request is accepted and the credentials are received from the destination client device, wherein the virtual desktop session provided for presentation on the destination client device has a state of the virtual desktop session of the source client device.

18. The apparatus of claim 17 , wherein identifying the list of potential destination client devices comprises:

identifying a user identifier associated with the source client device;

querying a client device database for one or more destination client devices that are associated with the user identifier; and

generating the list from the one or more destination client devices.

19. The apparatus of claim 17 , wherein selecting the particular destination client device comprises:

transmitting the list of potential destination client devices to the source client device; and

receiving a selection of the destination client device from the source client device, the destination client device being selected from the list of potential destination client devices.

20. The apparatus of claim 17 , wherein establishing a connection comprises:

transmitting the credentials to the destination client device; and

receiving the credentials from the destination client device, wherein the credential is used to establish the connection between the destination client device and the virtual desktop session.

21. The apparatus of claim 17 , wherein selecting the particular destination client device comprises:

transmitting a launch request to each of the potential destination client devices in the list;

receiving a launch notification from the particular potential destination client device in the list;

setting the particular potential destination client device as the destination client device; and

transmitting a cancel request to each potential destination client device in the list other than the destination client device, the cancel request being configured to cancel the launch request previously transmitted.

22. The apparatus of claim 21 , wherein the launch request to each potential destination client device includes the credentials used to establish a connection between the potential destination client device and the virtual desktop session.

23. The method of claim 1 , wherein identifying the list of one or more potential destination client devices associated with the user includes determining client devices having a location in proximity to the source client device.

24. The method of claim 1 , wherein identifying the list of one or more potential destination client devices associated with the user includes determining client devices that belong to the user of the source client device.

25. The method of claim 1 , wherein identifying the list of one or more potential destination client devices associated with the user includes determining client devices that are configured to access the virtual desktop.

26. The method of claim 1 , wherein initiating the launch request for the virtual desktop session comprises:

transmitting a respective launch request to each of a one or more potential destination client devices; and

upon receipt of a user acceptance from the particular destination client device, revoking the respective launch requests sent to the remainder of the potential destination client devices.

27. The method of claim 1 , wherein the presentation of the virtual desktop session changes from the source client device to the destination client device without changing a host executing the remotely hosted virtual machine.

Assignments (4)
PATENT ASSIGNMENT Recorded Aug 5, 2024
From: VMWARE LLC
To: OMNISSA, LLC
Reel/Frame 068327/0365 →
SECURITY INTEREST Recorded Jul 3, 2024
From: OMNISSA, LLC
To: UBS AG, STAMFORD BRANCH
Reel/Frame 068118/0004 →
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 18, 2014
From: XIAO, LEI; ZHANG, YANCHAO
To: VMWARE, INC.
Reel/Frame 032711/0491 →
Continuity (1)
Related Publication 20150304433A1 · Oct 22, 2015
Cited By (1)
US 12,603,932