Methods and systems for accessing and controlling a remote desktop of a remote machine in real time by a web browser at a client device via HTTP API utilizing a transcoding server
First Claim
1. A method of facilitating accessing and controlling a remote desktop of a remote machine in real time by a web browser at a client device via a hypertext transfer protocol (HTTP) utilizing a transcoding server, the method comprising:
- receiving a connection request from the web browser;
authenticating, by the transcoding server, the connection between the remote machine and the client device;
establishing the connection between the remote machine and the client device;
rendering, by the transcoding server, the remote desktop;
transmitting the rendering to the web browser;
receiving, at the transcoding server, a remote desktop drawing command from the remote machine via the client device based on an image of the remote desktop of the remote machine, wherein the remote desktop drawing command is compatible with a remote desktop display protocol utilized by the remote machine, wherein the remote desktop drawing command comprises a pointer to a memory location where bitmap data associated with the image is located;
interfacing with the remote machine via a remote desktop client adapter of the transcoding server, wherein the remote desktop client adapter provides a common interface between the client device and a drawing commands queue, wherein the drawing commands queue stores one or more off-screen images and serves as a drawing coordinates pool;
translating, at the transcoding server, the remote desktop drawing command into a web browser drawing update that is compatible with the web browser, wherein translating the remote desktop drawing command into the web browser drawing update comprises;
translating the remote desktop drawing command into a Java graphics drawing command;
updating a portion of a Java bitmap using the Java graphics drawing command, wherein the updated portion represents a portion of an entire image of the remote desktop;
creating an image file from the Java bitmap;
generating drawing coordinates from the image file; and
generating the web browser drawing update including the image file and the drawing coordinates for the image file;
facilitating providing the web browser drawing update from the transcoding server to the web browser of the client device utilizing HTTP during a remote desktop session between the client device and the remote machine;
wherein the remote desktop display protocol is a push protocol; and
wherein HTTP is a pull protocol.
18 Assignments
0 Petitions
Accused Products
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 web browser at a client device through a transcoding server without installing proprietary plug-ins or protocols on the client device. A transcoding server may translate user input requests from a web browser into input calls compatible with a remote desktop display protocol. The transcoding 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 web browser. A transcoding server may communicate with a web browser via HTTP and communicate with a remote machine via a remote desktop display protocol. A web browser may be an HTML5 browser. A transcoding server may send drawing coordinates to the web browser via an HTTP header and may use long polling.
-
Citations
33 Claims
-
1. A method of facilitating accessing and controlling a remote desktop of a remote machine in real time by a web browser at a client device via a hypertext transfer protocol (HTTP) utilizing a transcoding server, the method comprising:
-
receiving a connection request from the web browser; authenticating, by the transcoding server, the connection between the remote machine and the client device; establishing the connection between the remote machine and the client device; rendering, by the transcoding server, the remote desktop; transmitting the rendering to the web browser; receiving, at the transcoding server, a remote desktop drawing command from the remote machine via the client device based on an image of the remote desktop of the remote machine, wherein the remote desktop drawing command is compatible with a remote desktop display protocol utilized by the remote machine, wherein the remote desktop drawing command comprises a pointer to a memory location where bitmap data associated with the image is located; interfacing with the remote machine via a remote desktop client adapter of the transcoding server, wherein the remote desktop client adapter provides a common interface between the client device and a drawing commands queue, wherein the drawing commands queue stores one or more off-screen images and serves as a drawing coordinates pool; translating, at the transcoding server, the remote desktop drawing command into a web browser drawing update that is compatible with the web browser, wherein translating the remote desktop drawing command into the web browser drawing update comprises; translating the remote desktop drawing command into a Java graphics drawing command; updating a portion of a Java bitmap using the Java graphics drawing command, wherein the updated portion represents a portion of an entire image of the remote desktop; creating an image file from the Java bitmap; generating drawing coordinates from the image file; and generating the web browser drawing update including the image file and the drawing coordinates for the image file; facilitating providing the web browser drawing update from the transcoding server to the web browser of the client device utilizing HTTP during a remote desktop session between the client device and the remote machine; wherein the remote desktop display protocol is a push protocol; and wherein HTTP is a pull protocol. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A machine-readable non-transitory storage medium encoded with instructions executable by a processing system to perform a method of facilitating accessing and controlling a remote desktop of a remote machine in real time by a web browser at a client device via a hypertext transfer protocol (HTTP) utilizing a transcoding server, the instructions comprising code for:
-
receiving a connection request from the web browser; authenticating, by the transcoding server, the connection between the remote machine and the client device; establishing the connection between the remote machine and the client device; rendering, by the transcoding server, the remote desktop; transmitting the rendering to the web browser; receiving, at the transcoding server, a remote desktop drawing command from the remote machine via the client device based on an image of the remote desktop of the remote machine, wherein the remote desktop drawing command is compatible with a remote desktop display protocol utilized by the remote machine and wherein the remote desktop drawing command comprises a pointer to a memory location where bitmap data associated with the image is located; interfacing with the remote machine via a remote desktop client adapter of the transcoding server, wherein the remote desktop client adapter provides a common interface between the client device and a drawing commands queue, wherein the drawing commands queue stores one or more off-screen images and serves as a drawing coordinates pool; translating, at the transcoding server, the remote desktop drawing command into a web browser drawing update that is compatible with the web browser, wherein translating the remote desktop drawing command into the web browser drawing update comprises; translating the remote desktop drawing command into a Java graphics drawing command; updating a portion of a Java bitmap using the Java graphics drawing command, wherein the updated portion represents a portion of an entire image of the remote desktop; creating an image file from the Java bitmap; generating drawing coordinates from the image file; and generating the web browser drawing update including the image file and the drawing coordinates for the image file; facilitating providing the web browser drawing update from the transcoding server to the web browser of the client device utilizing HTTP during a remote desktop session between the client device and the remote machine, wherein the remote desktop display protocol is a push protocol, and wherein HTTP is a pull protocol. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. An apparatus for facilitating accessing and controlling a remote desktop of a remote machine in real time by a web browser at a client device via a hypertext transfer protocol (HTTP) utilizing a transcoding server, the apparatus comprising:
-
receiving a connection request from the web browser; authenticating, by the transcoding server, the connection between the remote machine and the client device; establishing the connection between the remote machine and the client device; rendering, by the transcoding server, the remote desktop; transmitting the rendering to the web browser; means for receiving a remote desktop drawing command from the remote machine via the client device based on an image of the remote desktop of the remote machine, wherein the remote desktop drawing command is compatible with a remote desktop display protocol utilized by the remote machine, and wherein the remote desktop drawing command comprises a pointer to a memory location where bitmap data associated with the image is located; means for interfacing with the remote machine via a remote desktop client adapter of the transcoding server, wherein the remote desktop client adapter provides a common interface between the client device and a drawing commands queue, wherein the drawing commands queue stores one or more off-screen images and serves as a drawing coordinates pool; means for translating the remote desktop drawing command into a web browser drawing update that is compatible with the web browser, wherein translating the remote desktop drawing command into the web browser drawing update comprises; translating the remote desktop drawing command into a Java graphics drawing command; updating a portion of a Java bitmap using the Java graphics drawing command, wherein the updated portion represents a portion of an entire image of the remote desktop; creating an image file from the Java bitmap; generating drawing coordinates from the image file; and generating the web browser drawing update including the image file and the drawing coordinates for the image file; means for facilitating providing the web browser drawing update from the transcoding server to the web browser of the client device utilizing HTTP during a remote desktop session between the client device and the remote machine; wherein the remote desktop display protocol is a push protocol; and wherein HTTP is a pull protocol. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33)
-
Specification