IP Library Granted Patent US 12,020,091
Granted Patent B2
US 12,020,091 · App. 18/337,401 · Granted Jun 25, 2024

Bridging virtual desktops under nested mode

Inventors: Huiyong Huo (Beijing, CN); Zhongzheng Tu (Beijing, CN); Mingsheng Zang (Beijing, CN); Weigang Huang (Beijing, CN); Jinxing Hu (Beijing, CN)
Assignee: VMware LLC
G06F9/547G06F9/452H04L67/141
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 12,020,091
App. No.
18/337,401
Granted
Jun 25, 2024
Kind
B2
Abstract

A system is described for establishing a nested bridge to improve data exchange between a client device and a second virtual desktop accessed by the client device through a first virtual desktop in a nested mode configuration. The nested bridge can be established between a virtual desktop agent of the first virtual desktop and a virtual desktop client of the second virtual desktop, both of which can run in the first virtual desktop, to enable fast and efficient exchange of data between the agent and client within the first virtual desktop. The nested bridge can be utilized in conjunction with virtual channels connecting the client device to the first virtual desktop and virtual channels connecting the first virtual desktop to the second virtual desktop for exchanging data between the client device and the second virtual desktop to enable various features.

Claims (42)

1. A method, comprising:

by a first virtual desktop client operating on a client computing device, accessing a first virtual desktop on a host server;

by a second virtual desktop client operating on the first virtual desktop, accessing a second virtual desktop;

establishing a nested bridge in the first virtual desktop by connecting a first virtual desktop agent with the second virtual desktop client for communicating data between the first virtual desktop agent and the second virtual desktop client; and

exchanging data between the first virtual desktop agent and the second virtual desktop client in the first virtual desktop using the nested bridge.

2. The method of claim 1 , wherein the data is communicated between the first virtual desktop agent and the second virtual desktop client over the nested bridge using Inter-Process Communication (IPC).

3. The method of claim 1 , further comprising using the nested bridge to send data from the first virtual desktop client to a second virtual desktop agent or to send data from the second virtual desktop agent to the first virtual desktop client.

4. The method of claim 1 , further comprising, at least one of:

conveying data from the first virtual desktop client on the client device to a second virtual desktop agent on the second virtual desktop by conveying the data from the first virtual desktop client to the first virtual desktop agent over a first virtual channel, then from the first virtual desktop agent to the second virtual desktop client using the nested bridge, and then from the second virtual desktop client to the second virtual desktop agent over a second virtual channel; or

conveying messages from the second virtual desktop agent on the second virtual desktop to the first virtual desktop client on the client device by conveying the messages from the second virtual desktop agent to the second virtual desktop client over a first virtual channel, then from the second virtual desktop client to the first virtual desktop agent using the nested bridge, and then from the first virtual desktop agent to the first virtual desktop client over a second virtual channel.

5. The method of claim 1 , wherein the messages are exchanged by a process running in the first virtual desktop agent that communicates with a process running in the second virtual desktop client via the nested bridge using IPC.

6. The method of claim 1 , wherein the messages are exchanged using the nested bridge between the first virtual desktop agent and the second virtual desktop client without passing the messages at the driver level.

7. The method of claim 1 , wherein the messages are exchanged between the first virtual desktop client and a second virtual desktop agent for utilizing one or more remote experience features in the second virtual desktop, the one or more remote experience features comprising at least one of: USB redirection, clipboard redirection, audio redirection, video redirection, or printer redirection.

8. A computing device, 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:

by a first virtual desktop client operating on a client computing device, accessing a first virtual desktop on a host server;

by a second virtual desktop client operating on the first virtual desktop, accessing a second virtual desktop;

establishing a nested bridge in the first virtual desktop by connecting a first virtual desktop agent with the second virtual desktop client for communicating data between the first virtual desktop agent and the second virtual desktop client; and

exchanging data between the first virtual desktop agent and the second virtual desktop client in the first virtual desktop using the nested bridge.

9. The computing device of claim 8 , wherein the data is communicated between the first virtual desktop agent and the second virtual desktop client over the nested bridge using Inter-Process Communication (IPC).

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

using the nested bridge to send data from the first virtual desktop client to a second virtual desktop agent or to send data from the second virtual desktop agent to the first virtual desktop client.

11. 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 at least one of:

conveying data from the first virtual desktop client on the client device to a second virtual desktop agent on the second virtual desktop by conveying the data from the first virtual desktop client to the first virtual desktop agent over a first virtual channel, then from the first virtual desktop agent to the second virtual desktop client using the nested bridge, and then from the second virtual desktop client to the second virtual desktop agent over a second virtual channel; or

conveying messages from the second virtual desktop agent on the second virtual desktop to the first virtual desktop client on the client device by conveying the messages from the second virtual desktop agent to the second virtual desktop client over a first virtual channel, then from the second virtual desktop client to the first virtual desktop agent using the nested bridge, and then from the first virtual desktop agent to the first virtual desktop client over a second virtual channel.

12. The computing device of claim 8 , wherein the messages are exchanged by a process running in the first virtual desktop agent that communicates with a process running in the second virtual desktop client via the nested bridge using IPC.

13. The computing device of claim 8 , wherein the messages are exchanged using the nested bridge between the first virtual desktop agent and the second virtual desktop client without passing the messages at the driver level.

14. The computing device of claim 8 , wherein the messages are exchanged between the first virtual desktop client and a second virtual desktop agent for utilizing one or more remote experience features in the second virtual desktop, the one or more remote experience features comprising at least one of: USB redirection, clipboard redirection, audio redirection, video redirection, or printer redirection.

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:

by a first virtual desktop client operating on a client computing device, accessing a first virtual desktop on a host server;

by a second virtual desktop client operating on the first virtual desktop, accessing a second virtual desktop;

establishing a nested bridge in the first virtual desktop by connecting a first virtual desktop agent with the second virtual desktop client for communicating data between the first virtual desktop agent and the second virtual desktop client; and

exchanging data between the first virtual desktop agent and the second virtual desktop client in the first virtual desktop using the nested bridge.

16. The non-transitory computer readable storage medium of claim 15 , wherein the data is communicated between the first virtual desktop agent and the second virtual desktop client over the nested bridge using Inter-Process Communication (IPC).

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:

using the nested bridge to send data from the first virtual desktop client to a second virtual desktop agent or to send data from the second virtual desktop agent to the first virtual desktop client.

18. 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 at least one of:

conveying data from the first virtual desktop client on the client device to a second virtual desktop agent on the second virtual desktop by conveying the data from the first virtual desktop client to the first virtual desktop agent over a first virtual channel, then from the first virtual desktop agent to the second virtual desktop client using the nested bridge, and then from the second virtual desktop client to the second virtual desktop agent over a second virtual channel; or

conveying messages from the second virtual desktop agent on the second virtual desktop to the first virtual desktop client on the client device by conveying the messages from the second virtual desktop agent to the second virtual desktop client over a first virtual channel, then from the second virtual desktop client to the first virtual desktop agent using the nested bridge, and then from the first virtual desktop agent to the first virtual desktop client over a second virtual channel.

19. The non-transitory computer readable storage medium of claim 15 , wherein the messages are exchanged by a process running in the first virtual desktop agent that communicates with a process running in the second virtual desktop client via the nested bridge using IPC.

20. The non-transitory computer readable storage medium of claim 15 , wherein the messages are exchanged using the nested bridge between the first virtual desktop agent and the second virtual desktop client without passing the messages at the driver level.

Assignments (3)
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/0242 →