# US 2018/0324156 A1 · Virtual desktop client connection continuity

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2018/0324156 A1
- Document ID: US20180324156A1
- Status: Published application
- Kind: A1
- Application number: 15/588,639
- Filed: 2017-05-06
- Published: 2018-11-08
- Earliest claimed: 2017-05-06
- Assignees: VMware, Inc.
- Applicants: VMware, Inc.
- Inventors: Jian Mu; YiQun Yun; Yuping Wei; Gang Si; Ming Zhao
- Web page: https://patentgrep.com/patent/US20180324156A1

## CPC

- H04L 67/08: specially adapted for terminal emulation, e.g. Telnet
- H04L 9/0838: {Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these (network architectures or network communication protocols for key exchange in a packet data network H04L63/061)}
- H04L 63/0435: {wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption (cryptographic mechanisms or cryptographic arrangements for symmetric key encryption H04L9/06)}
- H04L 63/061: {for key exchange, e.g. in peer-to-peer networks (cryptographic mechanisms or cryptographic arrangements for key agreement H04L9/0838)}
- H04L 67/141: Setup of application sessions (admission control or resource allocation in data switching networks H04L47/70)
- H04L 67/148: Migration or transfer of sessions
- H04W 4/80: Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
- H04W 12/033: of the user plane, e.g. user's traffic
- H04W 12/041: Key generation or derivation
- H04W 12/0471: Key exchange
- G06F 9/452: {Remote windowing, e.g. X-Window System, desktop virtualisation (protocols for virtual reality H04L67/131)}
- H04L 2209/80: Wireless
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Techniques are described for enabling a client device having an established virtual desktop session to seamlessly handoff the virtual desktop session to other nearby client devices without the need for the user to manually disconnect the client and re-enter authentication information. The session transfer may be performed using a short-range wireless connectivity protocol, such as BTLE, where the client device having an established virtual desktop session operates in sender mode and broadcasts session handoff messages to nearby receiver devices within a valid range. Another client device operating in receiver mode may accept the session handoff message including session information associated with the virtual desktop session and initiate the transfer of the virtual desktop session without the need for the user to re-authenticate to the server.

## Claims

### Claim 1

A method for providing virtual desktop client connection continuity, the method comprising:
receiving a session handoff message transmitted from a first client device to a second client device over a short-range wireless connectivity protocol, the first client device operating in sender mode and having a virtual desktop session established with a virtual desktop executing on a remote server, the second client device operating in receiver mode, the session handoff message including session information associated with the virtual desktop session;
displaying to a user of the second client device, an option for transferring the virtual desktop session from the first client device to the second client device;
receiving, on the second client device, input indicating acceptance of the session handoff message; and
in response to said input, initiating a session handoff process to log the second client device into the virtual desktop using the session information received from the first client device, wherein the session handoff process is completed without requesting authentication information from the user.

### Claim 2 (depends on 1)

The method of claim 1, wherein the session handoff process further comprises:
invoking a Uniform Resource Identifier (URI) handler on the server by the second client device by passing the session information to the URI handler,

### Claim 3 (depends on 1)

The method of claim 1, wherein the session information is stored in a data structure that comprises:
a session identifier that identifies the virtual desktop session; and
a server address that identifies the server hosting the virtual desktop.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
in response to said input:
exchanging a random key between the first client device and the second client device;
generating a second key and a shared token based on the random key and exchanging the second key between the first client device and the second client device;
computing an encryption key based on the second key and employing the encryption key for symmetric data encryption and decryption for communications between the first client device and the second client device.

### Claim 5 (depends on 1)

The method of claim 1, wherein the short-range communications protocol is Bluetooth Low Energy (BTLE), wherein the first client device operates in a peripheral role of BTLE and wherein the second client device operates in a central role of BTLE.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
disconnecting the virtual desktop session on the first client device in response to completing the session handoff process.

### Claim 7 (depends on 1)

The method of claim 1, wherein receiving the session handoff message further comprises:
verifying that the first client device and the second client device are associated with the user's account or share a trusted key.

### Claim 8

A computing system, comprising:
at least one processor; and
memory including instructions that, when executed by the at least one processor, cause the computing system to perform the steps of:
receiving a session handoff message transmitted from a first client device to a second client device over a short-range wireless connectivity protocol, the first client device operating in sender mode and having a virtual desktop session established with a virtual desktop executing on a remote server, the second client device operating in receiver mode, the session handoff message including session information associated with the virtual desktop session;
displaying to a user of the second client device, an option for transferring the virtual desktop session from the first client device to the second client device;
receiving, on the second client device, input indicating acceptance of the session handoff message; and
in response to said input, initiating a session handoff process to log the second client device into the virtual desktop using the session information received from the first client device, wherein the session handoff process is completed without requesting authentication information from the user.

### Claim 9 (depends on 8)

The computing system of claim 8, wherein the session handoff process further comprises:
invoking a Uniform Resource Identifier (URI) handler on the server by the second client device by passing the session information to the URI handler,

### Claim 10 (depends on 8)

The computing system of claim 8, wherein the session information is stored in a data structure that comprises:
a session identifier that identifies the virtual desktop session; and
a server address that identifies the server hosting the virtual desktop.

### Claim 11 (depends on 8)

The computing system of claim 8, wherein the memory further includes instructions that when executed by the at least one processor, cause the computing system to perform the steps of:
in response to said input:
exchanging a random key between the first client device and the second client device;
generating a second key and a shared token based on the random key and exchanging the second key between the first client device and the second client device;
computing an encryption key based on the second key and employing the encryption key for symmetric data encryption and decryption for communications between the first client device and the second client device.

### Claim 12 (depends on 8)

The computing system of claim 8, wherein the short-range communications protocol is Bluetooth Low Energy (BTLE), wherein the first client device operates in a peripheral role of BTLE and wherein the second client device operates in a central role of BTLE.

### Claim 13 (depends on 8)

The computing system of claim 8, wherein the memory further includes instructions that when executed by the at least one processor, cause the computing system to perform the step of:
disconnecting the virtual desktop session on the first client device in response to completing the session handoff process.

### Claim 14 (depends on 8)

The computing system of claim 8, wherein receiving the session handoff message further comprises:
verifying that the first client device and the second client device are associated with the user's account or share a trusted key.

### Claim 15

A non-transitory computer readable storage medium comprising one or more sequences of instructions, the instructions when executed by one or more processors causing the one or more processors to execute the operations of:
receiving a session handoff message transmitted from a first client device to a second client device over a short-range wireless connectivity protocol, the first client device operating in sender mode and having a virtual desktop session established with a virtual desktop executing on a remote server, the second client device operating in receiver mode, the session handoff message including session information associated with the virtual desktop session;
displaying to a user of the second client device, an option for transferring the virtual desktop session from the first client device to the second client device;
receiving, on the second client device, input indicating acceptance of the session handoff message; and
in response to said input, initiating a session handoff process to log the second client device into the virtual desktop using the session information received from the first client device, wherein the session handoff process is completed without requesting authentication information from the user.

### Claim 16 (depends on 15)

The non-transitory computer readable storage medium of claim 15, wherein the session handoff process further comprises:
invoking a Uniform Resource Identifier (URI) handler on the server by the second client device by passing the session information to the URI handler,

### Claim 17 (depends on 15)

The non-transitory computer readable storage medium of claim 15, wherein the session information is stored in a data structure that comprises:
a session identifier that identifies the virtual desktop session; and
a server address that identifies the server hosting the virtual desktop.

### Claim 18 (depends on 15)

The non-transitory computer readable storage medium of claim 15, further comprising instructions that when executed by the one or more processors cause the one or more processors to execute the operations of:
in response to said input:
exchanging a random key between the first client device and the second client device;
generating a second key and a shared token based on the random key and exchanging the second key between the first client device and the second client device;
computing an encryption key based on the second key and employing the encryption key for symmetric data encryption and decryption for communications between the first client device and the second client device.

### Claim 19 (depends on 15)

The non-transitory computer readable storage medium of claim 15, further comprising instructions that when executed by the one or more processors cause the one or more processors to execute the operation of:
disconnecting the virtual desktop session on the first client device in response to completing the session handoff process.

### Claim 20 (depends on 15)

The non-transitory computer readable storage medium of claim 15, wherein receiving the session handoff message further comprises:
verifying that the first client device and the second client device are associated with the user's account or share a trusted key.
