Systems and methods for multiplexing network channels
First Claim
1. A method for TCP multiplexing over a proxy, wherein the proxy consolidates multiple TCP requests from clients into one TCP connection between the proxy and a server, the method comprising:
- opening a persistent TCP connection between a proxy and a server;
receiving a connection request from a client at the proxy;
assigning a unique identifier to the client at the proxy;
signaling the server over the persistent TCP connection to register the unique identifier of the client;
receiving outgoing data from the client at the proxy;
prepending the unique identifier of the client to the outgoing data at the proxy;
forwarding the prepended outgoing data from the proxy to the server over the persistent TCP connection;
receiving incoming data from the server at the proxy over the persistent TCP connection, wherein the incoming data includes the unique identifier of the client;
extracting the unique identifier from the incoming data at the proxy;
identifying the client and a corresponding client connection based on the extracted unique identifier; and
sending at least some of the incoming data to the client over the corresponding client connection.
2 Assignments
0 Petitions
Accused Products
Abstract
A proxy consolidates multiple TCP requests from clients into one TCP connection between a proxy and server. A persistent TCP connection is opened between the proxy and server, and a connection request is received from a client at the proxy. A unique identifier is registered for the client, and the server is signaled over the persistent connection to register the unique identifier. A client connection is established between the client and proxy responsive to the connection request. A content request is received from the client over the client connection. The unique identifier is prepended to the content request, the prepended content request is forwarded to the server, and prepended content is received from the server. The identifier and the content are extracted from the prepended content, and a client and a client connection are identified that correspond to the extracted identifier. The extracted content is returned to the corresponding client.
-
Citations
20 Claims
-
1. A method for TCP multiplexing over a proxy, wherein the proxy consolidates multiple TCP requests from clients into one TCP connection between the proxy and a server, the method comprising:
-
opening a persistent TCP connection between a proxy and a server; receiving a connection request from a client at the proxy; assigning a unique identifier to the client at the proxy; signaling the server over the persistent TCP connection to register the unique identifier of the client; receiving outgoing data from the client at the proxy; prepending the unique identifier of the client to the outgoing data at the proxy; forwarding the prepended outgoing data from the proxy to the server over the persistent TCP connection; receiving incoming data from the server at the proxy over the persistent TCP connection, wherein the incoming data includes the unique identifier of the client; extracting the unique identifier from the incoming data at the proxy; identifying the client and a corresponding client connection based on the extracted unique identifier; and sending at least some of the incoming data to the client over the corresponding client connection. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A proxy which consolidates multiple TCP requests from clients into one TCP connection between the proxy and a server, the proxy comprising:
-
a computer-readable memory constructed to store computer-executable process steps; and a processor constructed to execute the computer-executable process steps stored in the memory; wherein the process steps stored in the memory cause the processor to perform TCP multiplexing, and wherein the process steps stored in the memory include computer-executable steps to; open a persistent TCP connection between the proxy and the server; receive a connection request from a client at the proxy, wherein the connection request comprises a request for establishment of a new connection between the client and the server; assign a unique identifier to the client; signal the server over the persistent TCP connection to register the unique identifier of the client; receive a data request from the client, wherein the data request comprises a request for data on the server; prepend the unique identifier of the client to the data request; forward the prepended data request to the server over the persistent TCP connection; receive prepended data from the server over the persistent TCP connection, wherein the prepended data includes an identifier prepended to incoming data; extract the identifier and the incoming data from the prepended data; identify a client and a client connection that correspond to the extracted identifier; and send at least some of the extracted incoming data to the client that corresponds to the extracted identifier. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. One or more computer-readable memory media on which is stored computer-executable instructions for causing one or more computing device to perform operations for TCP multiplexing over a proxy, wherein the proxy consolidates multiple TCP requests from clients into one TCP connection between the proxy and a server, the operations comprising:
-
opening a persistent TCP connection between a proxy and a server; receiving a connection request from a client at the proxy, wherein the connection request comprises a request for establishment of a connection between the client and the server; assigning a unique identifier to the client; signaling the server over the persistent TCP connection to register the unique identifier for the client; receiving outgoing data from the client at the proxy; prepending the unique identifier of the client to the outgoing data at the proxy; forwarding the prepended outgoing data from the proxy to the server over the persistent TCP connection; receiving prepended incoming data at the proxy from the server over the persistent TCP connection, wherein the prepended incoming data includes an identifier prepended to incoming data; extracting the identifier and the incoming data from the prepended incoming data; identifying a client that corresponds to the extracted identifier; and sending the extracted incoming data to the client that corresponds to the extracted identifier.
-
-
18. A method for communicating among a first information apparatus and a server device via an HTTP tunnel, the method being performed by a computing device, the method comprising:
-
establishing at least one HTTP tunnel with a server device; assigning a first identifier to a first information apparatus; sending a message to the server device over the HTTP tunnel to register the first identifier of the first information apparatus; receiving first data from the first information apparatus; prepending the first identifier to the first data; sending the first data, with the prepended first identifier, to the server device in accordance with a predetermined communication protocol within the HTTP tunnel; receiving second data from the server device over the HTTP tunnel, wherein the second data includes the first identifier of the first information apparatus; extracting the first identifier from the second data; identifying the first information apparatus and a corresponding client connection based on the extracted first identifier; and sending at least some of the second data to the first information apparatus over the corresponding client connection. - View Dependent Claims (19, 20)
-
Specification