IP Library Granted Patent US 10,387,174
Granted Patent B2
US 10,387,174 · App. 15/348,630 · Granted Aug 20, 2019

Extended desktops in virtual desktop environments

Inventors: Yanchao Zhang (Beijing, CN); Yang Liu (Beijing, CN); Michael Zhang (Beijing, CN); Helena Zhang (Beijing, CN); Lin Lv (Beijing, CN); Cherry Zhou (Beijing, CN)
Assignee: VMware, Inc.
G06F9/452G06F3/1423G09G5/38H04L67/08H04L67/141H04L67/38G06F3/1446G06F3/1454G09G5/14G09G2340/0464
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,387,174
App. No.
15/348,630
Granted
Aug 20, 2019
Kind
B2
Abstract

Systems and methods are provided for extending a remote desktop to a multi monitor configuration, with each monitor being viewable via a separate web client or native client, where the clients may further be executing on separate computing devices. After an initial remote desktop session is initiated via a first client, a second session with the remote desktop can be requested via a second client, which may be a web client or a native client executing on the same or different computing device as the first client. The remote desktop can be reconfigured to two monitor mode including a first and a second monitor. The graphical data of the first monitor can be streamed to the first client and the graphical data of the second monitor can be streamed to the second client. Consequently, the remote desktop can be extended to additional monitors in the same way.

Claims (52)

1. A method in a remote desktop environment for extending a virtual desktop hosted on a server to multiple monitors, comprising:

establishing a first session between the virtual desktop and a first client executing on a first remote computing device, the virtual desktop being configured to produce a graphical user interface (GUI) in one monitor mode, wherein the GUI is streamed to the first client via the first session;

receiving a request from a second client to initiate a second session with the virtual desktop;

reconfiguring the virtual desktop to extend the GUI to two monitor mode including a first monitor and a second monitor;

streaming graphical data of the first monitor of the GUI to the first client via the first session; and

streaming graphical data of the second monitor of the GUI to the second client via the second session.

2. The method of claim 1 , wherein:

the first client is a web client and the second client is a web client; or

the first client is a native client and the second client is a web client; or

the first client is a web client and the second client is a native client.

3. The method of claim 1 , wherein the second client executes on a second remote computing device separate from the first remote computing device.

4. The method of claim 1 , wherein the first client is a web client and the second client is a web client also executing on the first remote computing device.

5. The method of claim 1 , further comprising receiving topology information corresponding to the two monitor mode of the GUI, the topology information indicating at least the position of the first monitor and the second monitor relative to each other.

6. The method of claim 5 , wherein the topology information is gathered from inputs provided by a user.

7. The method of claim 1 , further comprising:

in response to the request from the second client to initiate the second session, requesting user input to indicate whether the second session is to steal the first session or whether the second session is to be connected as an extended monitor; and

receiving an indication from the user that the second session is to be connected as an extended monitor.

8. A computing device for extending a virtual desktop hosted on a server to multiple monitors in a remote desktop environment, comprising:

at least one processor; and

memory including instructions that, when executed by the at least one processor, cause the computing device to perform the steps of:

establishing a first session between the virtual desktop and a first client executing on a first remote computing device, the virtual desktop being configured to produce a graphical user interface (GUI) in one monitor mode, wherein the GUI is streamed to the first client via the first session;

receiving a request from a second client to initiate a second session with the virtual desktop;

reconfiguring the virtual desktop to extend the GUI to two monitor mode including a first monitor and a second monitor;

streaming graphical data of the first monitor of the GUI to the first client via the first session; and

streaming graphical data of the second monitor of the GUI to the second client via the second session.

9. The computing device of claim 8 , wherein:

the first client is a web client and the second client is a web client; or

the first client is a native client and the second client is a web client; or

the first client is a web client and the second client is a native client.

10. The computing device of claim 8 , wherein the second client executes on a second remote computing device separate from the first remote computing device.

11. The computing device of claim 8 , wherein the first client is a web client and the second client is a web client also executing on the first remote computing device.

12. The computing device of claim 8 , wherein the memory further includes instructions that when executed by the at least one processor, cause the computing device to perform the steps of:

receiving topology information corresponding to the two monitor mode of the GUI, the topology information indicating at least the position of the first monitor and the second monitor relative to each other.

13. The computing device of claim 12 , wherein the topology information is gathered from inputs provided by a user.

14. The computing device of claim 8 , wherein the memory further includes instructions that when executed by the at least one processor, cause the computing device to perform the steps of:

in response to the request from the second client to initiate the second session, requesting user input to indicate whether the second session is to steal the first session or whether the second session is to be connected as an extended monitor; and

receiving an indication from the user that the second session is to be connected as an extended monitor.

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:

establishing a first session between the virtual desktop and a first client executing on a first remote computing device, the virtual desktop being configured to produce a graphical user interface (GUI) in one monitor mode, wherein the GUI is streamed to the first client via the first session;

receiving a request from a second client to initiate a second session with the virtual desktop;

reconfiguring the virtual desktop to extend the GUI to two monitor mode including a first monitor and a second monitor;

streaming graphical data of the first monitor of the GUI to the first client via the first session; and

streaming graphical data of the second monitor of the GUI to the second client via the second session.

16. The non-transitory computer readable storage medium of claim 15 , wherein:

the first client is a web client and the second client is a web client; or

the first client is a native client and the second client is a web client; or

the first client is a web client and the second client is a native client.

17. The non-transitory computer readable storage medium of claim 15 , wherein the second client executes on a second remote computing device separate from the first remote computing device.

18. The non-transitory computer readable storage medium of claim 15 , wherein The method of claim 1 , wherein the first client is a web client and the second client is a web client also executing on the first remote computing 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 topology information corresponding to the two monitor mode of the GUI, the topology information indicating at least the position of the first monitor and the second monitor relative to each other.

20. The non-transitory computer readable storage medium of claim 19 , wherein the topology information is gathered from inputs provided by a user.

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 Nov 10, 2016
From: LIU, YANG; ZHANG, YANCHAO; ZHANG, MICHAEL; ZHANG, HELENA; LV, LIN; ZHOU, CHERRY
To: VMWARE, INC.
Reel/Frame 040280/0399 →
Continuity (1)
Related Publication 20180129510A1 · May 10, 2018