IP Library Patent Application 18464697
Patent Application
App. No. 18/464,697

UNIFYING AND CONNECTING MULTIPLE VIRTUAL DESKTOPS IN A CLIENT WINDOW

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 None
App. No.
18/464,697
Filed
Sep 11, 2023
Art Unit
2179
USPC
715/740
Abstract

Systems and methods are described providing ways for unifying multiple virtual desktops accessed by a user on a client device in a client window and connecting the virtual desktops to improve efficiency and user experience when the user is working on the multiple desktops. In particular, embodiments described herein leverage a mechanism for detecting when a client device is connected to multiple virtual desktops, combining the graphical user interfaces (GUIs) of the virtual desktops in a client window, and coordinating a connection between the virtual desktops that can be used for enabling various features unifying the desktops such as clipboard redirection to enable copy/paste operations between the desktops and file redirection to allow the desktops to access each other's files and folders.

Claims (65)

1 . A method, comprising:

by a virtual desktop client operating on a client device, establishing a first virtual desktop session on a first virtual desktop and, by the virtual desktop client, establishing a second virtual desktop session on a second virtual desktop, the first virtual desktop and the second virtual desktop executing on one or more host servers;

receiving a first graphical user interface (GUI) of the first virtual desktop at the client device;

receiving a second GUI of the second virtual desktop at the client device;

determining a remote display layout corresponding to an arrangement of the first GUI and the second GUI together in a window; and

based on the determined remote display layout, presenting the first GUI and the second GUI together in the window on the client device.

2 . The method of claim 1 , wherein the virtual desktop client determines whether to send user input events to the first virtual desktop or to the second virtual desktop based on the position of a mouse cursor over the first GUI and the second GUI in the window.

3 . The method of claim 1 , further comprising:

establishing a connection between the first virtual desktop and the second virtual desktop for exchanging data between the first virtual desktop and the second virtual desktop; and

using the connection between the first virtual desktop and the second virtual desktop, performing at least one of:

redirecting a clipboard from the first virtual desktop to the second virtual desktop to enable the user to copy data from the first virtual desktop and paste it into the second virtual desktop; or

redirecting a file from the first virtual desktop to the second virtual desktop to enable applications running in the second virtual desktop to access the file located on the first virtual desktop.

4 . The method of claim 3 , wherein redirecting the file from the first virtual desktop to the second virtual desktop comprises presenting a virtual drive mounted in the second virtual desktop that is mapped to the first virtual desktop.

5 . The method of claim 1 , further comprising:

detecting by the virtual desktop client the first virtual desktop session and the second virtual desktop session are established and, in response to detecting that the multiple virtual desktop sessions are established, requesting one of the virtual desktops to establish a connection with the other virtual desktop.

6 . The method of claim 1 , further comprising:

in the first virtual desktop, detecting that a file is picked up by a mouse cursor and moved to a border of the first virtual desktop GUI without being released;

detecting on the client device, based on the remote display layout, that the mouse cursor is subsequently released in the second virtual desktop GUI; and

in response to determining that that the mouse cursor is subsequently released in the second virtual desktop GUI, pasting the file into the second virtual desktop.

7 . The method of claim 1 , further comprising:

based on the remote display layout, determining a resolution for the first GUI and requesting the first virtual desktop to set its GUI to the determined resolution for the first GUI; and

based on the remote display layout, determining a resolution for the second GUI and requesting the second virtual desktop to set its GUI to the determined resolution for the second GUI.

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 virtual desktop client operating on a client device, establishing a first virtual desktop session on a first virtual desktop and, by the virtual desktop client, establishing a second virtual desktop session on a second virtual desktop, the first virtual desktop and the second virtual desktop executing on one or more host servers;

receiving a first graphical user interface (GUI) of the first virtual desktop at the client device;

receiving a second GUI of the second virtual desktop at the client device;

determining a remote display layout corresponding to an arrangement of the first GUI and the second GUI together in a window; and

based on the determined remote display layout, presenting the first GUI and the second GUI together in the window on the client device.

9 . The computing device of claim 8 , wherein the virtual desktop client determines whether to send user input events to the first virtual desktop or to the second virtual desktop based on the position of a mouse cursor over the first GUI and the second GUI in the window.

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:

establishing a connection between the first virtual desktop and the second virtual desktop for exchanging data between the first virtual desktop and the second virtual desktop; and

using the connection between the first virtual desktop and the second virtual desktop, performing at least one of:

redirecting a clipboard from the first virtual desktop to the second virtual desktop to enable the user to copy data from the first virtual desktop and paste it into the second virtual desktop; or

redirecting a file from the first virtual desktop to the second virtual desktop to enable applications running in the second virtual desktop to access the file located on the first virtual desktop.

11 . The computing device of claim 10 , wherein redirecting the file from the first virtual desktop to the second virtual desktop comprises presenting a virtual drive mounted in the second virtual desktop that is mapped to the first virtual desktop.

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:

detecting by the virtual desktop client the first virtual desktop session and the second virtual desktop session are established and, in response to detecting that the multiple virtual desktop sessions are established, requesting one of the virtual desktops to establish a connection with the other virtual desktop.

13 . 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 the first virtual desktop, detecting that a file is picked up by a mouse cursor and moved to a border of the first virtual desktop GUI without being released;

detecting on the client device, based on the remote display layout, that the mouse cursor is subsequently released in the second virtual desktop GUI; and

in response to determining that that the mouse cursor is subsequently released in the second virtual desktop GUI, pasting the file into the second virtual desktop.

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:

based on the remote display layout, determining a resolution for the first GUI and requesting the first virtual desktop to set its GUI to the determined resolution for the first GUI; and

based on the remote display layout, determining a resolution for the second GUI and requesting the second virtual desktop to set its GUI to the determined resolution for the second GUI.

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 virtual desktop client operating on a client device, establishing a first virtual desktop session on a first virtual desktop and, by the virtual desktop client, establishing a second virtual desktop session on a second virtual desktop, the first virtual desktop and the second virtual desktop executing on one or more host servers;

receiving a first graphical user interface (GUI) of the first virtual desktop at the client device;

receiving a second GUI of the second virtual desktop at the client device;

determining a remote display layout corresponding to an arrangement of the first GUI and the second GUI together in a window; and

based on the determined remote display layout, presenting the first GUI and the second GUI together in the window on the client device.

16 . The non-transitory computer readable storage medium of claim 15 , wherein the virtual desktop client determines whether to send user input events to the first virtual desktop or to the second virtual desktop based on the position of a mouse cursor over the first GUI and the second GUI in the window.

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:

establishing a connection between the first virtual desktop and the second virtual desktop for exchanging data between the first virtual desktop and the second virtual desktop; and

using the connection between the first virtual desktop and the second virtual desktop, performing at least one of:

redirecting a clipboard from the first virtual desktop to the second virtual desktop to enable the user to copy data from the first virtual desktop and paste it into the second virtual desktop; or

redirecting a file from the first virtual desktop to the second virtual desktop to enable applications running in the second virtual desktop to access the file located on the first virtual desktop.

18 . The non-transitory computer readable storage medium of claim 17 , wherein redirecting the file from the first virtual desktop to the second virtual desktop comprises presenting a virtual drive mounted in the second virtual desktop that is mapped to the first virtual desktop.

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:

detecting by the virtual desktop client the first virtual desktop session and the second virtual desktop session are established and, in response to detecting that the multiple virtual desktop sessions are established, requesting one of the virtual desktops to establish a connection with the other virtual desktop.

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:

in the first virtual desktop, detecting that a file is picked up by a mouse cursor and moved to a border of the first virtual desktop GUI without being released;

detecting on the client device, based on the remote display layout, that the mouse cursor is subsequently released in the second virtual desktop GUI; and

in response to determining that that the mouse cursor is subsequently released in the second virtual desktop GUI, pasting the file into the second virtual desktop.

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 25, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067239/0402 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 11, 2023
From: LV, LIN; ZHANG, YANCHAO
To: VMWARE INC
Reel/Frame 064861/0689 →