Methods and systems for facilitating a remote desktop session utilizing long polling
First Claim
1. A method of facilitating a remote desktop session between a web browser of a client device and a remote machine through a transcoding server, utilizing long polling to reduce traffic to the client device, the method comprising:
- receiving, at the transcoding server, a plurality of drawing requests from the web browser at the client device, using HTTP, wherein HTTP is a pull protocol;
handling, at the transcoding server, the plurality of drawing requests as long polling requests by a long polling handler, comprises;
determining whether a drawing command is pending at the transcoding server for the web browser;
if there is no pending drawing command, then storing the plurality of drawing requests in a drawing requests queue as long polling requests; and
if there is a pending drawing command, then providing at least one of the plurality of drawing requests to an HTTP handler in the transcoding server to allow the HTTP handler to serve the pending drawing command in response to the at least one of the plurality of drawing requests;
receiving, at the transcoding server, a remote desktop drawing command from the remote machine;
notifying the long polling handler of the remote desktop drawing command;
translating, at the transcoding server, the remote desktop drawing command into a web browser drawing update, wherein the remote desktop drawing command is compatible with a push protocol, wherein the web browser drawing update is compatible with HTTP, wherein HTTP is a pull protocol; and
facilitating providing the web browser drawing update from the transcoding server to the web browser of the client device, utilizing HTTP, as a response to at least one of the plurality of drawing requests from the web browser.
16 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.
56 Citations
29 Claims
-
1. A method of facilitating a remote desktop session between a web browser of a client device and a remote machine through a transcoding server, utilizing long polling to reduce traffic to the client device, the method comprising:
-
receiving, at the transcoding server, a plurality of drawing requests from the web browser at the client device, using HTTP, wherein HTTP is a pull protocol; handling, at the transcoding server, the plurality of drawing requests as long polling requests by a long polling handler, comprises; determining whether a drawing command is pending at the transcoding server for the web browser; if there is no pending drawing command, then storing the plurality of drawing requests in a drawing requests queue as long polling requests; and if there is a pending drawing command, then providing at least one of the plurality of drawing requests to an HTTP handler in the transcoding server to allow the HTTP handler to serve the pending drawing command in response to the at least one of the plurality of drawing requests; receiving, at the transcoding server, a remote desktop drawing command from the remote machine; notifying the long polling handler of the remote desktop drawing command; translating, at the transcoding server, the remote desktop drawing command into a web browser drawing update, wherein the remote desktop drawing command is compatible with a push protocol, wherein the web browser drawing update is compatible with HTTP, wherein HTTP is a pull protocol; and facilitating providing the web browser drawing update from the transcoding server to the web browser of the client device, utilizing HTTP, as a response to at least one of the plurality of drawing requests from the web browser. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A non-transitory machine-readable storage medium encoded with instructions executable by a processing system to perform a method of facilitating a remote desktop session between a web browser of a client device and a remote machine through a transcoding server, utilizing long polling to reduce traffic to the client device, the instructions comprising code for:
-
receiving, at the transcoding server, a plurality of drawing requests from the web browser at the client device, using HTTP, wherein HTTP is a pull protocol; handling, at the transcoding server, the plurality of drawing requests as long polling requests by a long polling handler, comprises; determining whether a drawing command is pending at the transcoding server for the web browser; if there is no pending drawing command, then storing the plurality of drawing requests in a drawing requests queue as long polling requests; and if there is a pending drawing command, then providing at least one of the plurality of drawing requests to an HTTP handler in the transcoding server to allow the HTTP handler to serve the pending drawing command in response to the at least one of the plurality of drawing requests; receiving, at the transcoding server, a remote desktop drawing command from the remote machine; notifying the long polling handler of the remote desktop drawing command;
translating, at the transcoding server, the remote desktop drawing command into a web browser drawing update, wherein the remote desktop drawing command is compatible with a push protocol, wherein the web browser drawing update is compatible with HTTP, wherein HTTP is a pull protocol; andfacilitating providing the web browser drawing update from the transcoding server to the web browser of the client device, utilizing HTTP, as a response to at least one of the plurality of drawing requests from the web browser. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A system for facilitating a remote desktop session between a web browser of a client device and a remote machine through a transcoding server, utilizing long polling to reduce traffic to the client device, the system comprising:
-
a processor; and a non-transitory machine-readable storage medium encoded with instructions executable by the processor, the instruction comprising code for; receiving a plurality of drawing requests from the web browser at the client device, using HTTP, wherein HTTP is a pull protocol; handling the plurality of drawing requests as long polling requests, comprises; determining whether a drawing command is pending at the transcoding server for the web browser; storing the plurality of drawing requests in a drawing requests queue as long polling requests if there is no pending drawing command; and providing at least one of the plurality of drawing requests to an HTTP handler in the transcoding server, if there is a pending drawing command, to allow the HTTP handler to serve the pending drawing command in response to the at least one of the plurality of drawing requests; receiving a remote desktop drawing command from the remote machine; notifying a long polling handler of the remote desktop drawing command; translating the remote desktop drawing command into a web browser drawing update, wherein the remote desktop drawing command is compatible with a push protocol, wherein the web browser drawing update is compatible with HTTP, wherein HTTP is a pull protocol; and facilitating providing the web browser drawing update from the transcoding server to the web browser of the client device, utilizing HTTP, as a response to at least one of the plurality of drawing requests from the web browser. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29)
-
Specification