IP Library Granted Patent US 9,591,081
Granted Patent B2
US 9,591,081 · App. 15/011,924 · Granted Mar 7, 2017

Virtual desktop access using wireless devices

Inventor: Jacob Jared Summers (Coral Springs, FL)
Assignee: Citrix Systems, Inc.
H04L67/141G06F13/385H04L29/06H04L67/2876H04L69/08H04W4/008H04W8/005
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 9,591,081
App. No.
15/011,924
Granted
Mar 7, 2017
Kind
B2
Abstract

Aspects herein describe at least a method, system, and computer readable storage media for transmitting data from a first computing device to a second computing device. The first computing device comprises a host while the second computing device comprises a client for receiving a virtual desktop session. In one embodiment, the method comprises generating a first type of packets associated with an application. The application is executed by a processor of the first computing device. The method further comprises transmitting the generated packets using a remote display protocol from the first computing device to the second computing device. The packets are translated into a second type of packets at the second computing device and transmitted to a wireless device that is communicatively coupled to the second computing device.

Claims (116)

1. A first computing device comprising:

one or more processors;

memory storing instructions that, when executed by one of the processors, cause the first computing device to:

establish a communication session with a second computing device using a remote display protocol,

execute a virtual application configured to interact with a client application at the second computing device using the remote display protocol during the communication session,

generate, using a virtual software driver, one or more packets associated with the virtual application, the one or more packets having a first type, and

transmit the one or more packets having the first type to the client application at the second computing device using the remote display protocol during the communication session; and

wherein receipt of the one or more packets having the first type at the client application causes the client application to:

translate the one or more packets having the first type into one or more packets having a second type, and

initiate transmission of the one or more packets having the second type from the second computing device to a wireless device.

2. The first computing device of claim 1 , wherein:

the one or more packets having the first type comprise one or more Bluetooth packets; and

the one or more packets having the second type comprise one or more Universal Serial Bus (USB) packets.

3. The first computing device of claim 1 , wherein:

the one or more packets having the first type are associated with data stored at the first computing device.

4. The first computing device of claim 3 , wherein:

the data comprises media data.

5. The first computing device of claim 4 , wherein:

the media data comprises one or more of video data, slide show data, picture data, or audio data.

6. The first computing device of claim 1 , wherein:

the one or more packets having the first type are associated with one or more commands for the wireless device.

7. The first computing device of claim 6 , wherein:

the one or more commands comprise at least one of a first command associated with discovering the wireless device or a second command associated with pairing with the wireless device.

8. The first computing device of claim 1 , wherein:

the wireless device is configured to display video data.

9. A first computing device comprising:

one or more processors;

memory storing instructions that, when executed by one of the processors, cause the first computing device to:

establish a communication session with a second computing device using a remote display protocol,

execute a client application configured to interact with a virtual application at the second computing device using the remote display protocol during the communication session,

receive, from the second computing device during the communication session and using the remote display protocol, one or more packets associated with the virtual application, the one or more packets having a first type,

translate the one or more packets having the first type into one or more packets having a second type, and

initiate transmission of the one or more packets having the second type to a wireless device.

10. The first computing device of claim 9 , wherein:

the one or more packets having the first type comprise one or more Bluetooth packets; and

the one or more packets having the second type comprise one or more Universal Serial Bus (USB) packets.

11. The first computing device of claim 9 , wherein:

the one or more packets having the first type are associated with data stored at the second computing device.

12. The first computing device of claim 11 , wherein:

the data comprises media data.

13. The first computing device of claim 12 , wherein:

the media data comprises one or more of video data, slide show data, picture data, or audio data.

14. The first computing device of claim 9 , wherein:

the one or more packets having the first type are associated with one or more commands for the wireless device.

15. The first computing device of claim 14 , wherein:

the one or more commands comprise at least one of a first command associated with discovering the wireless device or a second command associated with pairing with the wireless device.

16. The first computing device of claim 9 , wherein:

the wireless device is configured to display video data.

17. A computer-implemented method comprising:

establishing, by a first computing device, a communication session with a second computing device using a remote display protocol;

executing, by the first computing device, a virtual application configured to interact with a client application at the second computing device using the remote display protocol during the communication session;

generating, by the first computing device using a virtual software driver, one or more packets associated with the virtual application, the one or more packets having a first type; and

transmitting, from the first computing device, the one or more packets having the first type to the client application at the second computing device using the remote display protocol during the communication session;

wherein receipt of the one or more packets having the first type at the client application causes the client application to:

translate the one or more packets having the first type into one or more packets having a second type, and

initiate transmission of the one or more packets having the second type from the second computing device to a wireless device.

18. The computer-implemented method of claim 17 , wherein:

the one or more packets having the first type comprise one or more Bluetooth packets; and

the one or more packets having the second type comprise one or more Universal Serial Bus (USB) packets.

19. The computer-implemented method of claim 17 , wherein:

the one or more packets having the first type are associated with data stored at the first computing device;

the data comprises media data; and

the media data comprises one or more of video data, slide show data, picture data, or audio data.

20. The computer-implemented method of claim 17 , wherein:

the one or more packets having the first type are associated with one or more commands for the wireless device; and

the one or more commands comprise at least one of a first command associated with discovering the wireless device or a second command associated with pairing with the wireless device.

21. A computer-implemented method comprising:

establishing, by a first computing device, a communication session with a second computing device using a remote display protocol;

executing, by the first computing device, a client application configured to interact with a virtual application at the second computing device using the remote display protocol during the communication session;

receiving, at the first computing device from the second computing device during the communication session and using the remote display protocol, one or more packets associated with the virtual application, the one or more packets having a first type;

translating, by the first computing device, the one or more packets having the first type into one or more packets having a second type, and

initiating, by the first computing device, transmission of the one or more packets having the second type to a wireless device.

22. The computer-implemented method of claim 21 , wherein:

the one or more packets having the first type comprise one or more Bluetooth packets; and

the one or more packets having the second type comprise one or more Universal Serial Bus (USB) packets.

23. The computer-implemented method of claim 21 , wherein:

the one or more packets having the first type are associated with data stored at the second computing device;

the data comprises media data; and

the media data comprises one or more of video data, slide show data, picture data, or audio data.

24. The computer-implemented method of claim 21 , wherein:

the one or more packets having the first type are associated with one or more commands for the wireless device; and

the one or more commands comprise at least one of a first command associated with discovering the wireless device or a second command associated with pairing with the wireless device.

25. A non-transitory computer-readable storage medium having instructions stored thereon that, when executed by a processor of a first computing device, cause the first computing device to:

establish a communication session with a second computing device using a remote display protocol;

execute a virtual application configured to interact with a client application at the second computing device using the remote display protocol during the communication session;

generate, using a virtual software driver, one or more packets associated with the virtual application, the one or more packets having a first type; and

transmit the one or more packets having the first type to the client application at the second computing device using the remote display protocol during the communication session;

wherein receipt of the one or more packets having the first type at the client application causes the client application to:

translate the one or more packets having the first type into one or more packets having a second type, and

initiate transmission of the one or more packets having the second type from the second computing device to a wireless device.

26. The non-transitory computer-readable storage medium of claim 25 , wherein:

the one or more packets having the first type comprise one or more Bluetooth packets; and

the one or more packets having the second type comprise one or more Universal Serial Bus (USB) packets.

27. The non-transitory computer-readable storage medium of claim 25 , wherein:

the one or more packets having the first type are associated with data stored at the first computing device;

the data comprises media data; and

the media data comprises one or more of video data, slide show data, picture data, or audio data.

28. The non-transitory computer-readable storage medium of claim 25 , wherein:

the one or more packets having the first type are associated with one or more commands for the wireless device; and

the one or more commands comprise at least one of a first command associated with discovering the wireless device or a second command associated with pairing with the wireless device.

29. A non-transitory computer-readable storage medium having instructions stored thereon that, when executed by a processor of a first computing device, cause the first computing device to:

establish a communication session with a second computing device using a remote display protocol;

execute a client application configured to interact with a virtual application at the second computing device using the remote display protocol during the communication session;

receive, from the second computing device during the communication session and using the remote display protocol, one or more packets associated with the virtual application, the one or more packets having a first type;

translate the one or more packets having the first type into one or more packets having a second type, and

initiate transmission of the one or more packets having the second type to a wireless device.

30. The non-transitory computer-readable storage medium of claim 29 , wherein:

the one or more packets having the first type comprise one or more Bluetooth packets; and

the one or more packets having the second type comprise one or more Universal Serial Bus (USB) packets.

31. The non-transitory computer-readable storage medium of claim 29 , wherein:

the one or more packets having the first type are associated with data stored at the second computing device;

the data comprises media data; and

the media data comprises one or more of video data, slide show data, picture data, or audio data.

32. The non-transitory computer-readable storage medium of claim 29 , wherein:

the one or more packets having the first type are associated with one or more commands for the wireless device; and

the one or more commands comprise at least one of a first command associated with discovering the wireless device or a second command associated with pairing with the wireless device.

Assignments (9)
PATENT SECURITY AGREEMENT Recorded Aug 15, 2025
From: CLOUD SOFTWARE GROUP, INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 072488/0172 →
SECURITY INTEREST Recorded May 24, 2024
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 067662/0568 →
PATENT SECURITY AGREEMENT Recorded Apr 14, 2023
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 063340/0164 →
RELEASE AND REASSIGNMENT OF SECURITY INTEREST IN PATENT (REEL/FRAME 062113/0001) Recorded Apr 14, 2023
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: CITRIX SYSTEMS, INC.; CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.)
Reel/Frame 063339/0525 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 062113/0001 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062112/0262 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 062113/0470 →
SECURITY INTEREST Recorded Sep 30, 2022
From: CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 062079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2016
From: SUMMERS, JACOB JARED
To: CITRIX SYSTEMS, INC.
Reel/Frame 037636/0351 →
Continuity (2)
Continuation 13732905 · Jan 2, 2013
Related Publication 20160150026A1 · May 26, 2016