IP Library Granted Patent US 10,404,797
Granted Patent B2
US 10,404,797 · App. 15/448,816 · Granted Sep 3, 2019

Supporting multiple clipboard items in a virtual desktop infrastructure environment

Inventor: Nihar Goli (Karimnagar, IN)
Assignee: Wyse Technology L.L.C.
H04L67/1095H04L67/42
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,404,797
App. No.
15/448,816
Granted
Sep 3, 2019
Kind
B2
Abstract

Multiple clipboard items are supported in a VDI environment. A client clipboard service can monitor the system clipboard to detect when a clipboard item is added to the system clipboard. The client clipboard service can copy any item added to the system clipboard to a client clipboard buffer. The client clipboard service can also interface with a client virtual channel endpoint to send items in the client clipboard buffer to a server virtual channel endpoint. A server clipboard service can then copy the received items to a server clipboard buffer to thereby synchronize the client and server clipboard buffers. The server clipboard service can function in a similar manner to copy items added to the server's system clipboard to the server clipboard buffer and then interface with the server virtual channel endpoint to cause such items to be synchronized back to the client clipboard buffer.

Claims (53)

1. A method for supporting multiple clipboard items in a virtual desktop infrastructure (VDI) environment comprising:

detecting, by a client clipboard service executing on a client, that one or more clipboard items have been added to a client clipboard;

copying the one or more clipboard items to a client clipboard buffer;

while the client has established a VDI connection with a first server to thereby cause a user interface of a desktop or an application that is executing on the first server to be displayed on the client, providing the one or more clipboard items to a client virtual channel endpoint of the VDI connection to cause the clipboard item to be sent to a server virtual channel endpoint of the VDI connection;

receiving, by a server clipboard service executing on the first server, the one or more clipboard items that were sent to the server virtual channel endpoint; and

storing the one or more clipboard items in a server clipboard buffer on the first server to thereby enable the one or more clipboard items to be copied to a server clipboard to thereby cause the one or more clipboard items to be accessible to the desktop or the application that is executing on the first server.

2. The method of claim 1 , wherein the one or more clipboard items are stored in the client and server clipboard buffers at the same time.

3. The method of claim 1 , wherein the one or more clipboard items are sent to the server virtual channel endpoint at the same time.

4. The method of claim 3 , wherein the one or more clipboard items are sent to the server virtual channel endpoint in response to the client establishing the VDI connection with the first server.

5. The method of claim 1 , wherein at least one of the one or more clipboard items is sent to the server virtual channel endpoint in response to the clipboard item being copied to the client clipboard buffer.

6. The method of claim 5 , wherein the client clipboard service notifies the client virtual channel endpoint when the at least one of the one or more clipboard items is copied to the client clipboard buffer, and the client virtual channel endpoint requests the at least one of the one or more clipboard items in response to the notification.

7. The method of claim 1 , further comprising:

detecting, by the server clipboard service, that an additional clipboard item has been added to the server clipboard;

copying the additional clipboard item to the server clipboard buffer;

providing the additional clipboard item to the server virtual channel endpoint to cause the additional clipboard item to be sent to the client virtual channel endpoint;

receiving, by the client clipboard service, the additional clipboard item; and

storing the additional clipboard item in the client clipboard buffer to thereby enable the additional clipboard item to be copied to the client clipboard to thereby cause the additional clipboard item to be accessible to a desktop or an application executing on the client.

8. The method of claim 7 , wherein the additional clipboard item is stored in the client and server clipboard buffers with the one or more clipboard items.

9. The method of claim 7 , further comprising:

sending the one or more clipboard items and the additional clipboard item to a server virtual channel endpoint on a second server;

receiving, by a server clipboard service on the second server, the one or more clipboard items and the additional clipboard item; and

storing the one or more clipboard items and the additional clipboard item in a server clipboard buffer on the second server such that the client clipboard buffer, the server clipboard buffer on the first server, and the server clipboard buffer on the second server store the one or more clipboard items and the additional clipboard item.

10. The method of claim 9 , wherein the one or more clipboard items and the additional clipboard item are sent to the server virtual channel endpoint on the second server in response to the client establishing a second VDI connection with the second server.

11. The method of claim 9 , further comprising:

in response to another clipboard item being copied to the client clipboard buffer, providing the other clipboard item to the client virtual channel endpoint to be sent to either or both of the server virtual channel endpoint on the first server or the server virtual channel endpoint on the second server.

12. The method of claim 11 , wherein the other clipboard item is copied to the client clipboard buffer in response to the other clipboard item being added to the client clipboard, and wherein the other clipboard item is sent to both the server virtual channel endpoint on the first server and the server virtual channel endpoint on the second server.

13. One or more computer storage media storing computer executable instructions which when executed implement the following components of a virtual desktop infrastructure (VDI) environment:

a client clipboard service that executes on a client and that is configured to monitor a client clipboard and copy clipboard items that are added to the client clipboard to a client clipboard buffer;

a server clipboard service that executes on a server and that is configured to monitor a server clipboard and copy clipboard items that are added to the server clipboard to a server clipboard buffer;

a client virtual channel endpoint that is configured to communicate with the client clipboard service to retrieve clipboard items that have been copied to the client clipboard buffer and to send the clipboard items that have been copied to the client clipboard buffer to a server virtual channel endpoint; and

the server virtual channel endpoint that is configured to communicate with the server clipboard service to retrieve clipboard items that have been copied to the server clipboard buffer and to send the clipboard items that have been copied to the server clipboard buffer to the client virtual channel endpoint;

wherein the client clipboard service is further configured to copy clipboard items that are received from the server virtual channel endpoint to the client clipboard buffer to thereby enable the clipboard items that are received from the server virtual channel endpoint to be copied to a client clipboard to thereby cause the clipboard items that are received from the server virtual channel endpoint to be accessible to a desktop or an application that is executing on the client, and

wherein the server clipboard service is further configured to copy clipboard items that are received from the client virtual channel endpoint to the server clipboard buffer to thereby enable the clipboard items that are received from the client virtual channel endpoint to be copied to a server clipboard to thereby cause the clipboard items that are received from the client virtual channel endpoint to be accessible to a desktop or an application that is executing on the server while a user interface of the desktop or the application that is executing on the server is displayed on the client.

14. The computer storage media of claim 13 , wherein the client virtual channel endpoint is configured to send the clipboard items that have been copied to the client clipboard buffer to a server virtual channel endpoint on more than one server.

15. The computer storage media of claim 13 , wherein the client virtual channel endpoint is configured to send the clipboard items that have been copied to the client clipboard buffer to the server virtual channel endpoint in response to the client establishing a VDI connection with the server.

16. The computer storage media of claim 13 , wherein the client virtual channel endpoint is configured to send the clipboard items that have been copied to the client clipboard buffer to the server virtual channel endpoint in response to the clipboard items being copied to the client clipboard buffer.

17. The computer storage media of claim 16 , wherein the client clipboard service notifies the client virtual channel endpoint when a clipboard item is copied to the client clipboard buffer, and the server clipboard service notifies the server virtual channel endpoint when a clipboard item is copied to the server clipboard buffer.

18. A method for supporting multiple clipboard items in a virtual desktop infrastructure (VDI) environment comprising:

detecting, by a server clipboard service executing on a first server, that a clipboard item has been added to a server clipboard;

copying the clipboard item to a server clipboard buffer;

while the first server has established a VDI connection with a client to thereby cause a user interface of a desktop or an application that is executing on the first server to be displayed on the client, providing the clipboard item to a server virtual channel endpoint of the VDI connection;

sending, by the server virtual channel endpoint, the clipboard item to a client virtual channel endpoint of the VDI connection;

receiving by a client clipboard service executing on the client, the clipboard item that was sent to the client virtual channel endpoint; and

storing the clipboard item in a client clipboard buffer on the client to thereby enable the clipboard item to be copied to a client clipboard to thereby cause the clipboard item to be accessible to a desktop or an application that is executing on the client while the user interface of the desktop or the application that is executing on the first server is also displayed on the client.

19. The method of claim 18 , further comprising:

sending, by the client virtual channel endpoint, the clipboard item to a server virtual channel endpoint on a second server with which the client has established a second VDI connection;

receiving, by a server clipboard service executing on the second server, the clipboard item; and

storing the clipboard item in a server clipboard buffer on the second server.

20. The method of claim 19 , further comprising:

detecting, by the client clipboard service, that a second clipboard item has been added to a client clipboard;

copying the second clipboard item to the client clipboard buffer;

providing the second clipboard item to the client virtual channel endpoint; and

sending the second clipboard item to the server virtual channel endpoint on the first server to cause the second clipboard item to be stored in the server clipboard buffer on the first server and to the server virtual channel endpoint on the second server to cause the second clipboard item to be stored in the server clipboard buffer on the second server.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
MERGER Recorded May 9, 2022
From: WYSE TECHNOLOGY L.L.C.
To: DELL MARKETING CORPORATION
Reel/Frame 059912/0109 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (042769/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 059803/0802 →
RELEASE OF SECURITY INTEREST AT REEL 042768 FRAME 0585 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058297/0536 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
PATENT SECURITY INTEREST (CREDIT) Recorded Jun 12, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 042768/0585 →
PATENT SECURITY INTEREST (NOTES) Recorded Jun 12, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 042769/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 3, 2017
From: GOLI, NIHAR
To: WYSE TECHNOLOGY L.L.C.
Reel/Frame 041456/0808 →
Continuity (1)
Related Publication 20180255134A1 · Sep 6, 2018
Cited By (1)
US 12,282,792