IP Library Granted Patent US 10,015,228
Granted Patent B2
US 10,015,228 · App. 14/925,582 · Granted Jul 3, 2018

Remote desktop protocol client for a standards-based web browser

Inventors: Evren Bingol (San Francisco, CA); Curtis J. Schwebke (Los Gatos, CA)
Assignee: Dell Products L.P.
H04L67/025H04L67/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,015,228
App. No.
14/925,582
Filed
Oct 28, 2015
Granted
Jul 3, 2018
Kind
B2
Art Unit
2452
USPC
709/219
Abstract

Many challenges exist for supporting computing devices over a network where the computing devices are incompatible with one another. Instead of providing a native remote desktop protocol (RDP) client for each device, RDP client functionality may be provided by a cross-platform scripting language client or agent. A cross-platform scripting language client of an RDP client transcodes any received RDP-compatible packets to a format supported by a cross-platform or standards-based web browser of the RDP client.

Claims (41)

1. A method comprising:

receiving at a remote desktop protocol (RDP) web client a packet; sending the received packet to a cross-platform scripting language client of the RDP web client wherein the RDP web client implements an RDP protocol using the cross-platform scripting language client;

creating a non-blocking thread by the cross-platform scripting language client at the RDP web client wherein the cross-platform scripting language client implements the RDP protocol by using a non-blocking thread to process the received packet;

determining a protocol data unit (PDU) type by the cross-platform scripting language client;

transcoding the received packet by the cross-platform scripting language client based, at least in part, on the determined PDU type, wherein transcoding comprises converting the received packet to a format supported by a cross-platform web browser of the RDP web client; and

displaying content from the received packet at the RDP web client via a web browser.

2. The method of claim 1 , further comprising:

establishing a socket connection between a web-socket server and an RDP server.

3. The method of claim 2 , wherein the RDP web client receives the packet from the RDP server via the web-socket server.

4. The method of claim 1 , wherein the cross-platform scripting language client is implemented using JAVASCRIPT.

5. The method of claim 1 , wherein the cross-platform scripting language client uses JAVASCRIPT to transcode the received packet.

6. The method of claim 1 , wherein HTML5 Canvas is used to render the content.

7. The method of claim 1 , wherein the received packet is in an RDP compatible format.

8. One or more computer-readable non-transitory storage media embodying software that is operable when executed to:

receive at a remote desktop protocol (RDP) web client a packet;

send the received packet to a cross-platform scripting language client of the RDP web client wherein the RDP web client implements an RDP protocol using the cross-platform scripting language client;

create a non-blocking thread by the cross-platform scripting language client at the RDP web client wherein the cross-platform scripting language client implements the RDP protocol by using a non-blocking thread to process the received packet;

determine a protocol data unit (PDU) type by the cross-platform scripting language client;

transcode the received packet by the cross-platform scripting language client based, at least in part, on the determined PDU type, wherein transcoding comprises converting the received packet to a format supported by a cross-platform web browser of the RDP web client; and

display content from the received packet at the RDP web client via a web browser.

9. The media of claim 8 , wherein the software is further operable when executed to:

establish a socket connection between a web-socket server and an RDP server.

10. The media of claim 9 , wherein the RDP web client receives the packet from the RDP server via the web-socket server.

11. The media of claim 8 , wherein the cross-platform scripting language client is implemented using JAVASCRIPT.

12. The media of claim 8 , wherein the cross-platform scripting language client uses JAVASCRIPT to transcode the received packet.

13. The media of claim 8 , wherein HTML5 Canvas is used to render the content.

14. An information handling system comprising:

one or more processors; and

a memory coupled to the processors comprising instructions executable by the processors, the processors operable when executing the instructions to:

receive at a remote desktop protocol (RDP) web client a packet; send the received packet to a cross-platform scripting language client of the RDP web client wherein the RDP web client implements an RDP protocol using the cross-platform scripting language client;

create a non-blocking thread by the cross-platform scripting language client at the RDP web client wherein the cross-platform scripting language client implements the RDP protocol by using a non-blocking thread to process the received packet;

determine a protocol data unit (PDU) type by the cross-platform scripting language client;

transcode the received packet by the cross-platform scripting language client based, at least in part, on the determined PDU type, wherein transcoding comprises converting the received packet to a format supported by a cross-platform web browser of the RDP web client; and

display content from the received packet at the RDP web client via a web browser.

15. The information handling system of claim 14 , wherein the processors are further operable when executing the instructions to:

establish a socket connection between a web-socket server and an RDP server.

16. The information handling system of claim 15 , wherein the RDP web client receives the packet from the RDP server via the web-socket server.

17. The information handling system of claim 14 , wherein the cross-platform scripting language client is implemented using JAVASCRIPT.

18. The information handling system of claim 14 , wherein the cross-platform scripting language client uses JAVASCRIPT to transcode the received packet.

19. The information handling system of claim 14 , wherein HTML5 Canvas is used to render the content.

20. The information handling system of claim 14 , wherein the received packet is in an RDP compatible format.

Assignments (15)
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 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 30, 2017
From: BINGOL, EVREN; SCHWEBKE, CURTIS J.
To: DELL PRODUCTS L.P.
Reel/Frame 042524/0423 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
RELEASE OF REEL 037160 FRAME 0239 (TL) Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040028/0115 →
RELEASE OF REEL 037160 FRAME 0142 (NOTE) Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040027/0812 →
RELEASE OF REEL 037160 FRAME 0171 (ABL) Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040017/0253 →
SUPPLEMENTAL PATENT SECURITY AGREEMENT - TERM LOAN Recorded Nov 25, 2015
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; BOOMI, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037160/0239 →
SUPPLEMENTAL PATENT SECURITY AGREEMENT - ABL Recorded Nov 25, 2015
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; BOOMI, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 037160/0171 →
SUPPLEMENTAL PATENT SECURITY AGREEMENT - NOTES Recorded Nov 25, 2015
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; BOOMI, INC.; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS FIRST LIEN COLLATERAL AGENT
Reel/Frame 037160/0142 →
Continuity (1)
Related Publication 20170126775A1 · May 4, 2017