IP Library Granted Patent US 10,268,332
Granted Patent B2
US 10,268,332 · App. 14/991,737 · Granted Apr 23, 2019

Methods and systems for facilitating a remote desktop redrawing session utilizing HTML

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,268,332
App. No.
14/991,737
Granted
Apr 23, 2019
Kind
B2
Abstract

Examples of methods, systems, apparatus, and machine-readable storage media are provided to facilitate access and control of a remote desktop of a remote machine by a windows web browser of a client device through a web server without installing proprietary plug-ins or protocols on the client device. A web server may translate user input requests from a web browser into input calls compatible with a remote desktop display protocol. The web server may receive remote desktop drawing commands from the remote machine and translate the remote desktop drawing commands into web browser drawing updates compatible with the windows web browser. A web server may communicate with the windows web browser via HTTP and communicate with the remote machine via a remote desktop display protocol.

Claims (45)

1. A method of conducting a remote desktop session comprising:

receiving, at a server, a user input request from a web browser of a client device for access and control of a remote machine;

translating, at the server, the user input request into an input command to be utilized for communication with the remote machine;

receiving, at the server, a remote desktop drawing command from the remote machine in response to the input command;

translating, at the server, the remote desktop drawing command into a windows graphics drawing command by updating a portion of a windows graphics application programming interface (API) memory bitmap, wherein the windows graphics API memory bitmap represents a portion of an image of a remote desktop of the remote machine that has changed relative to a previous graphics drawing command;

extracting, at the server, and from the windows graphic drawing command, drawing coordinates of one or more drawing regions from the remote desktop client; and

providing, at the server, the drawing coordinates to a drawing commands buffer, wherein the drawing commands buffer is configured to store an off-screen image onto which drawing commands are executed and to serve as a queue of coordinates for drawing commands.

2. The method of claim 1 , further comprising providing, by the server, the windows graphics drawing command to the web browser.

3. The method of claim 1 , further comprising:

generating, at the server, coordinates for the windows graphics API memory bitmap based on the windows graphics drawing command; and

forming, at the server, an image file including an image file based on the windows graphics API memory bitmap.

4. The method of claim 3 , further comprising obtaining, at the server, drawing coordinates for the image file based on the coordinates for the windows graphics API memory bitmap.

5. The method of claim 4 , wherein the drawing coordinates are compatible with HTML5.

6. The method of claim 4 , wherein the web browser comprises client script code.

7. The method of claim 6 , further comprising receiving, at the server, drawing requests from the client script code of the web browser.

8. The method of claim 1 , further comprising receiving, at the server, asynchronous hypertext transfer protocol (HTTP) requests from the web browser, wherein the asynchronous HTTP requests comprise drawing requests.

9. A machine-readable non-transitory storage medium comprising instructions stored therein, the instructions executable by a processor, the instructions comprising code for causing the processor to:

receive a user input request from a web browser of a client device for access and control of a remote machine;

translate the user input request into an input command to be utilized for communication with the remote machine;

receive a remote desktop drawing command from the remote machine in response to the input command;

translate the remote desktop drawing command into a windows graphics drawing command by updating a portion of a windows graphics application programming interface (API) memory bitmap, wherein the windows graphics API memory bitmap represents a portion of an image of a remote desktop of the remote machine that has changed relative to a previous graphics drawing command;

extract, from the windows graphic drawing command, drawing coordinates of one or more drawing regions from the remote desktop client; and

provide the drawing coordinates to a drawing commands buffer, wherein the drawing commands buffer is configured to store an off-screen image onto which drawing commands are executed and to serve as a queue of coordinates for drawing commands.

10. The machine-readable non-transitory storage medium of claim 9 , further comprising code for causing the processor to provide the windows graphics drawing command to the web browser.

11. The machine-readable non-transitory storage medium of claim 9 , further comprising code for causing the processor to:

generate coordinates for the windows graphics API memory bitmap based on the windows graphics drawing command; and

form an image file including an image file based on the windows graphics API memory bitmap.

12. The machine-readable non-transitory storage medium of claim 11 , further comprising code for causing the processor to obtain drawing coordinates for the image file based on the coordinates for the windows graphics API memory bitmap.

13. The machine-readable non-transitory storage medium of claim 12 , wherein the drawing coordinates are compatible with HTML5.

14. The machine-readable non-transitory storage medium of claim 12 , wherein the web browser comprises client script code.

15. The machine-readable non-transitory storage medium of claim 14 , further comprising code for causing the processor to receive drawing requests from the client script code of the web browser.

16. The machine-readable non-transitory storage medium of claim 9 , further comprising code for causing the processor to receive asynchronous hypertext transfer protocol (HTTP) requests from the web browser, wherein the asynchronous HTTP requests comprise drawing requests.

17. A system for conducting a remote desktop session comprising:

a processor configured to:

receive a user input request from a web browser of a client device for access and control of a remote machine;

translate the user input request into an input command to be utilized for communication with the remote machine;

receive a remote desktop drawing command from the remote machine in response to the input command;

translate the remote desktop drawing command into a windows graphics drawing command by updating a portion of a windows graphics application programming interface (API) memory bitmap, wherein the windows graphics API memory bitmap represents a portion of an image of a remote desktop of the remote machine that has changed relative to a previous graphics drawing command;

extract, from the windows graphic drawing command, drawing coordinates of one or more drawing regions from the remote desktop client; and

provide the drawing coordinates to a drawing commands buffer, wherein the drawing commands buffer is configured to store an off-screen image onto which drawing commands are executed and to serve as a queue of coordinates for drawing commands.

18. The system of claim 17 , wherein the processor is further configured to provide the windows graphics drawing command to the web browser.

19. The system of claim 17 , wherein the processor is further configured to:

generate coordinates for the windows graphics API memory bitmap based on the windows graphics drawing command; and

form an image file including an image file based on the windows graphics API memory bitmap.

20. The system of claim 19 , wherein the processor is further configured to obtain drawing coordinates for the image file based on the coordinates for the windows graphics API memory bitmap.

Assignments (24)
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 (050724/0466) Recorded Jun 23, 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; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 060753/0486 →
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 →
MERGER Recorded May 13, 2022
From: WYSE TECHNOLOGY L.L.C.
To: DELL MARKETING CORPORATION
Reel/Frame 060064/0586 →
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: DELL USA L.P.; ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; 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 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 15, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 050724/0466 →
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 →
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 →
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 →
RELEASE OF REEL 038664 FRAME 0908 (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.; SECUREWORKS, CORP.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040027/0390 →
RELEASE OF REEL 037848 FRAME 0001 (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/0152 →
RELEASE OF REEL 037848 FRAME 0210 (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 040031/0725 →
RELEASE OF REEL 038665 FRAME 0041 (TL) Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; SECUREWORKS, CORP.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040028/0375 →
RELEASE OF REEL 037847 FRAME 0843 (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/0366 →
RELEASE OF REEL 038665 FRAME 0001 (ABL) Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; SECUREWORKS, CORP.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040021/0348 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (NOTES) Recorded May 11, 2016
From: DELL SOFTWARE INC.; WYSE TECHNOLOGY, L.L.C.; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS FIRST LIEN COLLATERAL AGENT
Reel/Frame 038664/0908 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (ABL) Recorded May 11, 2016
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; WYSE TECHNOLOGY, L.L.C.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 038665/0001 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (TERM LOAN) Recorded May 11, 2016
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; WYSE TECHNOLOGY, L.L.C.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 038665/0041 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (ABL) Recorded Feb 18, 2016
From: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 037847/0843 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (NOTES) Recorded Feb 18, 2016
From: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 037848/0210 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Feb 18, 2016
From: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037848/0001 →
CHANGE OF NAME Recorded Jan 8, 2016
From: WYSE TECHNOLOGY INC.
To: WYSE TECHNOLOGY L.L.C.
Reel/Frame 037471/0152 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 8, 2016
From: KOMINAC, STEVAN; STANLEY, JEREMY MICHAEL; SCHWEBKE, CURTIS
To: WYSE TECHNOLOGY INC.
Reel/Frame 037443/0651 →