Generic transcoding service with library attachment
First Claim
Patent Images
1. A method comprising, by a computing device:
- receiving a connection from a hypertext markup language (HTML) client, wherein the HTML client does not include functionality for a remote desktop protocol;
receiving connection information from the HTML client describing the connection;
assigning to the HTML client a unique socket;
launching by a generic client engine a remote desktop protocol (RDP) client with a generic transcoding service attached to a runtime library, wherein the runtime library is operable to intercept system calls from a specific instance of an application executing on a remote client for exporting to the HTML client, and wherein the launching is based, at least in part, on a socket specification associated with the unique socket;
defining by the generic transcoding service one or more functional primitives for import and export which allows for application extension for the HTML client, wherein the one or more functional primitives comprises HTML syntax and a stream service;
providing an interface to the HTML client with a remote desktop protocol (RDP) server via the stream service of the generic transcoding service such that the HTML client connects to an RDP server;
reconstructing, by the stream service, one or more tasks sent to and received from the RDP server;
obtaining a credential and information associated with the connection prior to launching the generic transcoding service;
providing a remote desktop client function via the stream service, wherein the remote desktop client function comprises interpreting, processing and transcoding one or more operations;
attaching the generic transcoding service to one or more device functions of the HTML client;
creating a plurality of channels, for the connection, associated with the generic transcoding service such that a plurality of independent streams of data are transported, wherein at least one of the plurality of channels is a control channel, and wherein at least one of the plurality of channels is a main channel;
establishing bidirectional communication over the control channel between the generic client engine and the generic transcoding service using a unique reference identifier for each instance of the generic transcoding service;
using the main channel to communicate between an HTML browser of the HTML client and the generic transcoding service;
communicating transcoded data via the main channel between the RDP server and the HTML browser of the client, wherein RDP server export and import of data occurs through the generic transcoding service;
managing communications of the RDP client via the generic transcoding service;
receiving a termination of the connection by the HTML client;
updating load-balancing information; and
selecting a host based, at least in part, on the load-balancing information.
14 Assignments
0 Petitions
Accused Products
Abstract
In particular embodiments, a method includes, by a computing device, receiving a connection from a client and assigning the client a unique socket. The method further includes launching a generic transcoding service attached to a runtime library, and the runtime library may be able to intercept system calls from a specific instance of an application executing on a remote client for exporting to the client. The method further includes receiving a termination of the connection by the client and updating load-balancing information.
20 Citations
20 Claims
-
1. A method comprising, by a computing device:
-
receiving a connection from a hypertext markup language (HTML) client, wherein the HTML client does not include functionality for a remote desktop protocol; receiving connection information from the HTML client describing the connection; assigning to the HTML client a unique socket; launching by a generic client engine a remote desktop protocol (RDP) client with a generic transcoding service attached to a runtime library, wherein the runtime library is operable to intercept system calls from a specific instance of an application executing on a remote client for exporting to the HTML client, and wherein the launching is based, at least in part, on a socket specification associated with the unique socket; defining by the generic transcoding service one or more functional primitives for import and export which allows for application extension for the HTML client, wherein the one or more functional primitives comprises HTML syntax and a stream service; providing an interface to the HTML client with a remote desktop protocol (RDP) server via the stream service of the generic transcoding service such that the HTML client connects to an RDP server; reconstructing, by the stream service, one or more tasks sent to and received from the RDP server; obtaining a credential and information associated with the connection prior to launching the generic transcoding service; providing a remote desktop client function via the stream service, wherein the remote desktop client function comprises interpreting, processing and transcoding one or more operations; attaching the generic transcoding service to one or more device functions of the HTML client; creating a plurality of channels, for the connection, associated with the generic transcoding service such that a plurality of independent streams of data are transported, wherein at least one of the plurality of channels is a control channel, and wherein at least one of the plurality of channels is a main channel; establishing bidirectional communication over the control channel between the generic client engine and the generic transcoding service using a unique reference identifier for each instance of the generic transcoding service; using the main channel to communicate between an HTML browser of the HTML client and the generic transcoding service; communicating transcoded data via the main channel between the RDP server and the HTML browser of the client, wherein RDP server export and import of data occurs through the generic transcoding service; managing communications of the RDP client via the generic transcoding service; receiving a termination of the connection by the HTML client; updating load-balancing information; and selecting a host based, at least in part, on the load-balancing information. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system comprising:
-
one or more processors; and a memory coupled to the processors comprising instructions executable by the processors, the processors being operable when executing the instructions to; receive a connection from a hypertext markup language (HTML) client, wherein the HTML client does not include functionality for a remote desktop protocol; receiving connection information from the HTML client describing the connection; assign to the HTML client a unique socket; launch by a generic client engine a remote desktop protocol (RDP) client with a generic transcoding service attached to a runtime library, wherein the runtime library is operable to intercept system calls from a specific instance of an application executing on a remote client for exporting to the HTML client, and wherein the launch is based, at least in part, on a socket specification associated with the unique socket; define by the generic transcoding service one or more functional primitives for import and export which allows for application extension for the HTML client, wherein the one or more functional primitives comprises HTML syntax and a stream service; provide an interface to the HTML client with a remote desktop protocol (RDP) server via the stream service of the generic transcoding service such that the HTML client connects to an RDP server; reconstructing, by the stream service, one or more tasks sent to and received from the RDP server; obtain a credential and information associated with the connection prior to launching the generic transcoding service; provide a remote desktop client function via the stream service, wherein the remote desktop client function comprises interpreting, processing and transcoding one or more operations; attach the generic transcoding service to one or more device functions of the HTML client; creating a plurality of channels, for the connection, associated with the generic transcoding service such that a plurality of independent streams of data are transported, wherein at least one of the plurality of channels is a control channel, and wherein at least one of the plurality of channels is a main channel; establishing bidirectional communication over the control channel between the generic client engine and the generic transcoding service using a unique reference identifier for each instance of the generic transcoding service; using the main channel to communicate between an HTML browser of the HTML client and the generic transcoding service; communicating transcoded data via the main channel between the RDP server and the HTML browser of the client, wherein RDP server export and import of data occurs through the generic transcoding service; managing communications of the RDP client via the generic transcoding service; receive a termination of the connection by the HTML client; update load-balancing information; and select a host based, at least in part, on the load-balancing information. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. One or more computer-readable non-transitory storage media embodying software that is operable when executed to:
-
receive a connection from a hypertext markup language (HTML) client, wherein the HTML client does not include functionality for a remote desktop protocol; receiving connection information from the HTML client describing the connection; assign to the HTML client a unique socket; launch by a generic client engine a remote desktop protocol (RDP) client with a generic transcoding service attached to a runtime library, wherein the runtime library is operable to intercept system calls from a specific instance of an application executing on a remote client for exporting to the HTML client and wherein the launch is based, at least in part, on a socket specification associated with the unique socket; define by the generic transcoding service one or more functional primitives for import and export which allows for application extension for the HTML client, wherein the one or more functional primitives comprises HTML syntax and a stream service; provide an interface to the HTML client with a remote desktop protocol (RDP) server via the stream service of the generic transcoding service such that the HTML client connects to an RDP server; reconstructing, by the stream service, one or more tasks sent to and received from the RDP server; obtain a credential and information associated with the connection prior to launching the generic transcoding service; provide a remote desktop client function via the stream service, wherein the remote desktop client function comprises interpreting, processing and transcoding one or more operations; attach the generic transcoding service to one or more device functions of the HTML client; creating a plurality of channels, for the connection, associated with the generic transcoding service such that a plurality of independent streams of data are transported, wherein at least one of the plurality of channels is a control channel, and wherein at least one of the plurality of channels is a main channel; establishing bidirectional communication over the control channel between the generic client engine and the generic transcoding service using a unique reference identifier for each instance of the generic transcoding service; using the main channel to communicate between an HTML browser of the HTML client and the generic transcoding service; communicating transcoded data via the main channel between the RDP server and the HTML browser of the client, wherein RDP server export and import of data occurs through the generic transcoding service; managing communications of the RDP client via the generic transcoding service; receive a termination of the connection by the HTML client; update load-balancing information; and select a host based, at least in part, on the load-balancing information. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification