IP Library Granted Patent US 10,623,500
Granted Patent B2
US 10,623,500 · App. 15/879,392 · Granted Apr 14, 2020

Remote desktop sharing and collaboration via image scanning

Inventors: Dong Wang (Beijing, CN); Haiou Jiang (Palo Alto, CA); Yunfei San (Beijing, CN); Peng Guo (Beijing, CN); Kun Shi (Beijing, CN)
Assignee: VMware, Inc.
H04L67/141G06F3/0481G06F9/452G06K7/1417H04L41/22H04L63/00H04L63/0846H04L65/403H04L67/42H04L63/0853H04W12/00522
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,623,500
App. No.
15/879,392
Granted
Apr 14, 2020
Kind
B2
Abstract

Techniques are described for virtual desktop sharing and collaboration by utilizing image scanning and a web server. Upon launch, the virtual desktop client sets up a web server on the client computing device. During a virtual desktop session, the owner of the session provides input indicating that the session should be shared. A QR code is displayed on the client device which is encoded with information identifying the web server. When the QR code is scanned by a collaborator's mobile device, a web browser is launched on the mobile device and the web browser connects to the web server on the client computing device. The connection is used to transmit the request to access the virtual desktop session by the mobile device. If the session owner approves the request, the virtual desktop GUI data is streamed by the virtual desktop client to the mobile device over the HTTP connection.

Claims (64)

1. A method for sharing a virtual desktop session via image scanning, the method comprising:

installing a virtual desktop client on a client computing device, the virtual desktop client configured to access a virtual desktop session with a virtual desktop hosted on a remote server over a network connection;

establishing a web server on the client computing device by the virtual desktop client, wherein the web server is configured to provide a web application for sharing the virtual desktop session with other devices;

detecting input indicating that the virtual desktop session is to be shared;

displaying a Quick Response (QR) code on the client computing device by the virtual desktop client, wherein the QR code is encoded with information identifying the web server established by the virtual desktop client on the client computing device;

receiving a request from a mobile device to access the virtual desktop session, wherein the request is transmitted by a web application that is launched on the web browser of the mobile device in response to the mobile device scanning the QR code displayed by the virtual desktop client; and

streaming pixel data of a graphical user interface (GUI) of the virtual desktop session received by the client computing device from the remote server to the mobile device over a web connection established between the web browser of the mobile device and the web server operating on the client computing device.

2. The method of claim 1 , wherein receiving the request from the mobile device to access the virtual desktop session further comprises:

displaying a message on the client computing device notifying of the request to access the virtual desktop session along with identification information of at least one of the mobile device or a user of the mobile device; and

receiving input on the client computing device indicating that the request to access the virtual desktop session by the mobile device is approved before starting to stream the pixel data to the mobile device.

3. The method of claim 1 , further comprising:

receiving input data captured on the mobile device from the web browser of the mobile device, the input data including at least one of touch input, keyboard or mouse events; and

transmitting the input data by the virtual desktop client to the virtual desktop hosted on the remote server.

4. The method of claim 1 , wherein the pixel data of the GUI of the virtual desktop session is displayed on a display screen of the mobile device by the web application executing in the web browser of the mobile device.

5. The method of claim 1 , further comprising:

receiving a request to terminate sharing the virtual desktop session from either the mobile device or the client computing device; and

discontinuing the streaming of the pixel data to the mobile device.

6. The method of claim 1 , further comprising:

receiving audio data from the virtual desktop session to the computing device by the virtual desktop client; and

streaming the received audio data to the mobile device over the web connection established between the web browser of the mobile device and the web server operating on the client computing device.

7. The method of claim 1 , wherein the QR code contains a one-time token that makes the QR code unavailable for future connections after the web connection is established between the web browser of the mobile device and the web server operating on the client computing device.

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:

installing a virtual desktop client on a client computing device, the virtual desktop client configured to access a virtual desktop session with a virtual desktop hosted on a remote server over a network connection;

establishing a web server on the client computing device by the virtual desktop client, wherein the web server is configured to provide a web application for sharing the virtual desktop session with other devices;

detecting input indicating that the virtual desktop session is to be shared;

displaying a Quick Response (QR) code on the client computing device by the virtual desktop client, wherein the QR code is encoded with information identifying the web server established by the virtual desktop client on the client computing device;

receiving a request from a mobile device to access the virtual desktop session, wherein the request is transmitted by a web application that is launched on the web browser of the mobile device in response to the mobile device scanning the QR code displayed by the virtual desktop client; and

streaming pixel data of a graphical user interface (GUI) of the virtual desktop session received by the client computing device from the remote server to the mobile device over a web connection established between the web browser of the mobile device and the web server operating on the client computing device.

9. The computing system of claim 8 , wherein receiving the request from the mobile device to access the virtual desktop session further comprises:

displaying a message on the client computing device notifying of the request to access the virtual desktop session along with identification information of at least one of the mobile device or a user of the mobile device; and

receiving input on the client computing device indicating that the request to access the virtual desktop session by the mobile device is approved before starting to stream the pixel data to the mobile device.

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

receiving input data captured on the mobile device from the web browser of the mobile device, the input data including at least one of touch input, keyboard or mouse events; and

transmitting the input data by the virtual desktop client to the virtual desktop hosted on the remote server.

11. The computing system of claim 8 , wherein the pixel data of the GUI of the virtual desktop session is displayed on a display screen of the mobile device by the web application executing in the web browser of the mobile device.

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

receiving a request to terminate sharing the virtual desktop session from either the mobile device or the client computing device; and

discontinuing the streaming of the pixel data to the mobile device.

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

receiving audio data from the virtual desktop session to the client computing device by the virtual desktop client; and

streaming the received audio data to the mobile device over the web connection established between the web browser of the mobile device and the web server operating on the client computing device.

14. The computing system of claim 8 , wherein the QR code contains a one-time token that makes the QR code unavailable for future connections after the web connection is established between the web browser of the mobile device and the web server operating on the client computing device.

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:

installing a virtual desktop client on a client computing device, the virtual desktop client configured to access a virtual desktop session with a virtual desktop hosted on a remote server over a network connection;

establishing a web server on the client computing device by the virtual desktop client, wherein the web server is configured to provide a web application for sharing the virtual desktop session with other devices;

detecting input indicating that the virtual desktop session is to be shared;

displaying a Quick Response (QR) code on the client computing device by the virtual desktop client, wherein the QR code is encoded with information identifying the web server established by the virtual desktop client on the client computing device;

receiving a request from a mobile device to access the virtual desktop session, wherein the request is transmitted by a web application that is launched on the web browser of the mobile device in response to the mobile device scanning the QR code displayed by the virtual desktop client; and

streaming pixel data of a graphical user interface (GUI) of the virtual desktop session received by the client computing device from the remote server to the mobile device over a web connection established between the web browser of the mobile device and the web server operating on the client computing device.

16. The non-transitory computer readable storage medium of claim 15 , wherein receiving the request from the mobile device to access the virtual desktop session further comprises:

displaying a message on the client computing device notifying of the request to access the virtual desktop session along with identification information of at least one of the mobile device or a user of the mobile device; and

receiving input on the client computing device indicating that the request to access the virtual desktop session by the mobile device is approved before starting to stream the pixel data to the mobile device.

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

receiving input data captured on the mobile device from the web browser of the mobile device, the input data including at least one of touch input, keyboard or mouse events; and

transmitting the input data by the virtual desktop client to the virtual desktop hosted on the remote server.

18. The non-transitory computer readable storage medium of claim 15 , wherein the pixel data of the GUI of the virtual desktop session is displayed on a display screen of the mobile device by the web application executing in the web browser of the mobile device.

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

receiving a request to terminate sharing the virtual desktop session from either the mobile device or the client computing device; and

discontinuing the streaming of the pixel data to the mobile device.

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

receiving audio data from the virtual desktop session to the client computing device by the virtual desktop client; and

streaming the received audio data to the mobile device over the web connection established between the web browser of the mobile device and the web server operating on the client computing device.

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 Jan 24, 2018
From: WANG, DONG; JIANG, HAIOU; SAN, YUNFEI; GUO, PENG; SHI, KUN
To: VMWARE, INC.
Reel/Frame 044722/0038 →