VIRTUAL DESKTOP ACCELERATOR WITH SUPPORT FOR DYNAMIC PROXY THREAD MANAGEMENT
First Claim
Patent Images
1. A system comprising:
- one or more processors; and
a memory coupled to the one or more processors comprising instructions executable by the one or more processors, the one or more processors being operable when executing the instructions to;
initiate a first connection between a client and a server using a first communication protocol via a private network;
establish a secure tunnel between the server and the client associated with the first connection;
perform a handshake via the secure tunnel between the client and the server, wherein the handshake allows exchange of formatting information;
receive an encrypted token from the client, wherein the encrypted token comprises an encrypted signature encrypted using a first cryptographic context;
receive a first encrypted data from the client, wherein the first encrypted data is encrypted using a second cryptographic context;
authenticate the client, wherein the authentication is based, at least in part, on the encrypted signature and the first encrypted data;
establish and maintain a second remote connection between the client and the server via a proxy using a second communication protocol that is different from the first communication protocol, wherein the second connection is an accelerated connection;
send a second encrypted data from the server to the client, wherein a cryptographic context is dynamically selected to encrypt the second encrypted data, wherein a different cryptographic context is used to encrypt a first data packet of the second encrypted data than a second data packet of the second encrypted data;
determine one or more active remote connections, wherein the one or more active remote connections comprises the second remote connection; and
determine a data flow rate of the one or more active remote connections at a proxy.
14 Assignments
0 Petitions
Accused Products
Abstract
In particular embodiments, a method includes determining a data flow rate of the active connections at a proxy, comparing the data flow rate to a first pre-determined threshold value, and, when the data flow rate exceeds the first pre-determined threshold value, creating one or more new processing threads associated with the proxy.
-
Citations
20 Claims
-
1. A system comprising:
-
one or more processors; and a memory coupled to the one or more processors comprising instructions executable by the one or more processors, the one or more processors being operable when executing the instructions to; initiate a first connection between a client and a server using a first communication protocol via a private network; establish a secure tunnel between the server and the client associated with the first connection; perform a handshake via the secure tunnel between the client and the server, wherein the handshake allows exchange of formatting information; receive an encrypted token from the client, wherein the encrypted token comprises an encrypted signature encrypted using a first cryptographic context; receive a first encrypted data from the client, wherein the first encrypted data is encrypted using a second cryptographic context; authenticate the client, wherein the authentication is based, at least in part, on the encrypted signature and the first encrypted data; establish and maintain a second remote connection between the client and the server via a proxy using a second communication protocol that is different from the first communication protocol, wherein the second connection is an accelerated connection; send a second encrypted data from the server to the client, wherein a cryptographic context is dynamically selected to encrypt the second encrypted data, wherein a different cryptographic context is used to encrypt a first data packet of the second encrypted data than a second data packet of the second encrypted data; determine one or more active remote connections, wherein the one or more active remote connections comprises the second remote connection; and determine a data flow rate of the one or more active remote connections at a proxy. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. One or more computer-readable non-transitory storage media embodying software that is operable when executed to:
-
initiate a first connection between a client and a server using a first communication protocol via a private network; establish a secure tunnel between the server and the client associated with the first connection; perform a handshake via the secure tunnel between the client and the server, wherein the handshake allows exchange of formatting information; receive an encrypted token from the client, wherein the encrypted token comprises an encrypted signature encrypted using a first cryptographic context; receive a first encrypted data from the client, wherein the first encrypted data is encrypted using a second cryptographic context; authenticate the client, wherein the authentication is based, at least in part, on the encrypted signature and the first encrypted data; establish and maintain a second remote connection between the client and the server via a proxy using a second communication protocol that is different from the first communication protocol, wherein the second connection is an accelerated connection; send a second encrypted data from the server to the client, wherein a cryptographic context is dynamically selected to encrypt the second encrypted data, wherein a different cryptographic context is used to encrypt a first data packet of the second encrypted data than a second data packet of the second encrypted data; determine one or more active remote connections, wherein the one or more active remote connections comprises the second remote connection; and determine a data flow rate of the one or more active remote connections at a proxy. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A method comprising:
-
initiating a first connection between a client and a server using a first communication protocol via a private network; establishing a secure tunnel between the server and the client associated with the first connection; performing a handshake via the secure tunnel between the client and the server, wherein the handshake allows exchange of formatting information; receiving an encrypted token from the client, wherein the encrypted token comprises an encrypted signature encrypted using a first cryptographic context; receiving a first encrypted data from the client, wherein the first encrypted data is encrypted using a second cryptographic context; authenticating the client, wherein the authentication is based, at least in part, on the encrypted signature and the first encrypted data; establishing and maintain a second remote connection between the client and the server via a proxy using a second communication protocol that is different from the first communication protocol, wherein the second connection is an accelerated connection; sending a second encrypted data from the server to the client, wherein a cryptographic context is dynamically selected to encrypt the second encrypted data, wherein a different cryptographic context is used to encrypt a first data packet of the second encrypted data than a second data packet of the second encrypted data; determining one or more active remote connections, wherein the one or more active remote connections comprises the second remote connection; and determining a data flow rate of the one or more active remote connections at a proxy. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification