Front-end high availability proxy
First Claim
1. A method comprising, by one or more computing devices:
- receiving a first connection from a client at a high availability proxy, wherein one or more transcoding remote desktop client instances with generic transcoding service attachment are associated with the first connection, wherein the high availability proxy is a front-end high availability proxy;
assigning the client a unique socket;
managing, by the high availability proxy, a utilization of the one or more computing devices, wherein managing by the high availability proxy comprises;
selecting by the high availability proxy, from a plurality of execution hosts, a first execution host for the first connection based, at least in part, on load-balancing information associated with the execution hosts, wherein each execution host comprises a unique generic client engine, and wherein the generic client engine comprises one or more load-balancing services;
tracking by the generic client engine the load-balancing information;
launching a first transcoding remote desktop client instance of the one or more transcoding remote desktop client instances at the first execution host in association with the generic client engine of the first execution host based, at least in part, on the load-balancing information, wherein the launching the first transcoding remote desktop client instance begins a transcoding operation;
receiving at the generic client engine a first one or more communications from the first transcoding remote desktop client instance such that the high availability proxy is bypassed, wherein the first one or more communications are received using a first unique reference identifier associated with the first transcoding remote desktop client instance;
receiving a second connection from the client, the second connection being associated with the unique socket of the first connection;
launching a second transcoding remote desktop client instance of the one or more transcoding remote desktop client instances at the first execution host in association with the generic client engine of the first execution host based on the second connection being associated with the unique socket of the first connection;
receiving at the generic client engine a second one or more communications from the second transcoding remote desktop client instance such that the high availability proxy is bypassed, wherein the second one or more communications are received using a second unique reference identifier associated with the second transcoding remote desktop client instance;
managing by the generic client engine any connections associated with the unique socket including the first connection and the second connection; and
updating the load-balancing information, wherein updating the load-balancing information comprises tallying a total number of connections for each of the plurality of execution hosts; and
wherein receiving the first connection and the second connection comprises receiving connection information from the client comprising credentials.
14 Assignments
0 Petitions
Accused Products
Abstract
In particular embodiments, a method includes receiving a first connection from a client and assigning the client a unique socket. The method further includes selecting, from a plurality of execution hosts, a first execution host for the first connection based at least in part on load-balancing information associated with the execution hosts. Each execution host includes a unique general client engine. The method further includes launching a first transcoding remote desktop client instance at the first execution host in association with the general client engine of the first execution host. The method further includes receiving a second connection from the client, the second connection being associated with the unique socket of the first connection, launching a second transcoding remote desktop client instance at the first execution host in association with the general client engine of the first execution host, and updating the load-balancing information.
29 Citations
17 Claims
-
1. A method comprising, by one or more computing devices:
-
receiving a first connection from a client at a high availability proxy, wherein one or more transcoding remote desktop client instances with generic transcoding service attachment are associated with the first connection, wherein the high availability proxy is a front-end high availability proxy; assigning the client a unique socket; managing, by the high availability proxy, a utilization of the one or more computing devices, wherein managing by the high availability proxy comprises; selecting by the high availability proxy, from a plurality of execution hosts, a first execution host for the first connection based, at least in part, on load-balancing information associated with the execution hosts, wherein each execution host comprises a unique generic client engine, and wherein the generic client engine comprises one or more load-balancing services; tracking by the generic client engine the load-balancing information; launching a first transcoding remote desktop client instance of the one or more transcoding remote desktop client instances at the first execution host in association with the generic client engine of the first execution host based, at least in part, on the load-balancing information, wherein the launching the first transcoding remote desktop client instance begins a transcoding operation; receiving at the generic client engine a first one or more communications from the first transcoding remote desktop client instance such that the high availability proxy is bypassed, wherein the first one or more communications are received using a first unique reference identifier associated with the first transcoding remote desktop client instance; receiving a second connection from the client, the second connection being associated with the unique socket of the first connection; launching a second transcoding remote desktop client instance of the one or more transcoding remote desktop client instances at the first execution host in association with the generic client engine of the first execution host based on the second connection being associated with the unique socket of the first connection; receiving at the generic client engine a second one or more communications from the second transcoding remote desktop client instance such that the high availability proxy is bypassed, wherein the second one or more communications are received using a second unique reference identifier associated with the second transcoding remote desktop client instance;
managing by the generic client engine any connections associated with the unique socket including the first connection and the second connection; andupdating the load-balancing information, wherein updating the load-balancing information comprises tallying a total number of connections for each of the plurality of execution hosts; and wherein receiving the first connection and the second connection comprises receiving connection information from the client comprising credentials. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. 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 first connection from a client at a high availability proxy, wherein one or more transcoding remote desktop client instances with generic transcoding service attachment are associated with the first connection, wherein the high availability proxy is a front-end high availability proxy;
assign the client a unique socket;manage, by the high availability proxy, a utilization of one or more computing devices, wherein managing by the high availability proxy comprises; selecting by the high availability proxy, from a plurality of execution hosts, a first execution host for the first connection based at least in part on load-balancing information associated with the execution hosts, wherein each execution host comprises a unique generic client engine, and wherein the generic client engine comprises one or more load-balancing services; track by the generic client engine the load-balancing information; launch a first transcoding remote desktop client instance of the one or more transcoding remote desktop client instances at the first execution host in association with the generic client engine of the first execution host based, at least in part, on the load-balancing information, wherein the launch of the first transcoding remote desktop client instance begins a transcoding operation; receive at the generic client engine a first one or more communications from the first transcoding remote desktop client instance such that the high availability proxy is bypassed, wherein the first one or more communications are received using a first unique reference identifier associated with the first transcoding remote desktop client instance; receive a second connection from the client, the second connection being associated with the unique socket of the first connection; launch a second transcoding remote desktop client instance of the one or more transcoding remote desktop client instances at the first execution host in association with the generic client engine of the first execution host based on the second connection being associated with the unique socket of the first connection; receive at the generic client engine a second one or more communications from the second transcoding remote desktop client instance such that the high availability proxy is bypassed, wherein the second one or more communications are received using a second unique reference identifier associated with the second transcoding remote desktop client instance; manage by the generic client engine any connections associated with the unique socket including the first connection and the second connection; update the load-balancing information, wherein the update of the load-balancing information comprises a tally of a total number of connections for each of the plurality of execution hosts; and
wherein receiving the first connection and the second connection comprises receiving connection information from the client comprising credentials. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. One or more computer-readable non-transitory storage media embodying software that is operable when executed to:
-
receive a first connection from a client at a high availability proxy, wherein one or more transcoding remote desktop client instances with generic transcoding service attachment are associated with the first connection, wherein the high availability proxy is a front-end high availability proxy; assign the client a unique socket; manage, by the high availability proxy, a utilization of the one or more computing devices, wherein managing by the high availability proxy comprises; selecting by the high availability proxy, from a plurality of execution hosts, a first execution host for the first connection based at least in part on load-balancing information associated with the execution hosts, wherein each execution host comprises a unique generic client engine, and wherein the generic client engine comprises one or more load-balancing services; track by the generic client engine the load-balancing information; launch a first transcoding remote desktop client instance of the one or more transcoding remote desktop client instances at the first execution host in association with the generic client engine of the first execution host; receive at the generic client engine a first one or more communications from the first transcoding remote desktop client instance such that the high availability proxy is bypassed, wherein the first one or more communications are received using a first unique reference identifier associated with the first transcoding remote desktop client instance;
receive a second connection from the client, the second connection being associated with the unique socket of the first connection;launch a second transcoding remote desktop client instance of the one or more transcoding remote desktop client instances at the first execution host in association with the generic client engine of the first execution host based on the second connection being associated with the unique socket of the first connection, wherein the launch of the first transcoding remote desktop client instance begins a transcoding operation; receive at the generic client engine a second one or more communications from the second transcoding remote desktop client instance such that the high availability proxy is bypassed, wherein the second one or more communications are received using a second unique reference identifier associated with the second transcoding remote desktop client instance; manage by the generic client engine any connections associated with the unique socket including the first connection and the second connection; update the load-balancing information, wherein the update of the load-balancing information comprises a tally of a total number of connections for each of the plurality of execution hosts; and wherein receiving the first connection and the second connection comprises receiving connection information from the client comprising credentials. - View Dependent Claims (14, 15, 16, 17)
-
Specification