Connection management using connection request transfer protocol
First Claim
1. A device, comprising:
- one or more processors to;
receive, from a client device, a client request associated with a first TCP connection between a server device and the client device,the client request identifying requested content;
determine connection information that identifies the first TCP connection between the server device and the client device,the connection information including at least one of a source port number associated with the first TCP connection, a destination port number associated with the first TCP connection, a packet sequence number associated with the first TCP connection, a packet acknowledgement number associated with the first TCP connection, or a TCP window size associated with the first TCP connection;
determine whether the client request is a candidate for a TCP connection transfer based on whether the connection information is identified in a routing table accessible to the device;
generate a connection transfer request to transfer the first TCP connection from the server device to a proxy server when the client request is the candidate for the TCP connection transfer,the connection transfer request identifying the connection information and the requested content,the connection transfer request being different than the client request;
transmit, to the proxy server, the connection transfer request,the connection transfer request, transmitted to the proxy server, causing the first TCP connection to be transferred by establishing a second TCP connection between the proxy server and the client device,the second TCP connection being established based on the connection information that identifies the first TCP connection and without the proxy server sending a TCP control packet to the client device;
receive, from the proxy server, an indication that the proxy server is capable of providing the requested content;
provide, from the proxy server and to the client device via the second TCP connection, a response to the client request, based on the indication; and
provide, from the proxy server and to the server device, information that causes the server device to terminate the first TCP connection, based on the indication.
1 Assignment
0 Petitions
Accused Products
Abstract
A network device receives, from a client device, a client request associated with a connection with a server device, where the client request identifies requested content. The network device determines connection information that identifies the connection with the server device, transmits, to a proxy server, a connection transfer request that identifies the connection information and the requested content, and receives, from the proxy server, an indication that the proxy server is capable of providing the requested content. Based on receiving the indication, the network device provides, from the proxy server to the client device, a response to the client request, and provides, from the proxy server and to the server device, information that causes the server device to terminate the connection. The network device may use a connection request transfer protocol to transmit the connection transfer request, and the client request may be an HTTP request.
-
Citations
20 Claims
-
1. A device, comprising:
one or more processors to; receive, from a client device, a client request associated with a first TCP connection between a server device and the client device, the client request identifying requested content; determine connection information that identifies the first TCP connection between the server device and the client device, the connection information including at least one of a source port number associated with the first TCP connection, a destination port number associated with the first TCP connection, a packet sequence number associated with the first TCP connection, a packet acknowledgement number associated with the first TCP connection, or a TCP window size associated with the first TCP connection; determine whether the client request is a candidate for a TCP connection transfer based on whether the connection information is identified in a routing table accessible to the device; generate a connection transfer request to transfer the first TCP connection from the server device to a proxy server when the client request is the candidate for the TCP connection transfer, the connection transfer request identifying the connection information and the requested content, the connection transfer request being different than the client request; transmit, to the proxy server, the connection transfer request, the connection transfer request, transmitted to the proxy server, causing the first TCP connection to be transferred by establishing a second TCP connection between the proxy server and the client device, the second TCP connection being established based on the connection information that identifies the first TCP connection and without the proxy server sending a TCP control packet to the client device; receive, from the proxy server, an indication that the proxy server is capable of providing the requested content; provide, from the proxy server and to the client device via the second TCP connection, a response to the client request, based on the indication; and provide, from the proxy server and to the server device, information that causes the server device to terminate the first TCP connection, based on the indication. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
8. A non-transitory computer-readable medium storing instructions, the instructions comprising:
one or more instructions that, when executed by a processor of a network device, cause the processor to; receive, from a client device, a client request associated with a first TCP connection between a server device and the client device, the client request identifying requested content; determine connection information, associated with the client request, that identifies the first TCP connection, the connection information including at least one of a source port number associated with the client request, a destination port number associated with the client request, a packet sequence number associated with the client request, a packet acknowledgement number associated with the client request, or a TCP window size associated with the client request; determine whether the client request is a candidate for a TCP connection transfer based on whether the connection information is identified in a routing table accessible to the network device; generate a connection transfer request to transfer the first TCP connection from the server device to a proxy server when the client request is the candidate for the TCP connection transfer, the connection transfer request identifying the connection information and the requested content, the connection transfer request being different than the client request; transmit, to the proxy server, the connection transfer request, the connection transfer request transmitted to the proxy server causing the first TCP connection to be transferred by establishing a second TCP connection between the proxy server and the client device, the second TCP connection being established based on the connection information that identifies the first TCP connection and without the proxy server sending a TCP control packet to the client device; receive, from the proxy server, an indication that the requested content is accessible by the proxy server; route, from the proxy server and to the client device via the second TCP connection, a response to the client request, based on the indication; and route, from the proxy server and to the server device, information that causes the server device to terminate the first TCP connection, based on the indication. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
15. A method, comprising:
-
receiving, by a network device and from a client device, a client request that identifies requested content; determining, by the network device, connection information that identifies a first TCP connection between the client device and a server device, the connection information including at least one of a source port number associated with the first TCP connection, a destination port number associated with the first TCP connection, a packet sequence number associated with the first TCP connection, a packet acknowledgement number associated with the first TCP connection, or a TCP window size associated with the first TCP connection; determining, by the network device, whether the client request is a candidate for a TCP connection transfer based on whether the connection information is identified in a routing table accessible to the network device; generating, by the network device, a connection transfer request to transfer the first TCP connection from the server device to a proxy server when the client request is the candidate for the TCP connection transfer, the connection transfer request identifying the connection information and the requested content, the connection transfer request being different than the client request; transmitting, by the network device and to the proxy server, the connection transfer request, the connection transfer request, transmitted to the proxy server, causing the first TCP connection to be transferred by establishing a second TCP connection between the proxy server and the client device, the second TCP connection being established based on the connection information that identifies the first TCP connection and without the proxy server sending a TCP control packet to the client device; receiving, by the network device and from the proxy server, an indication that the requested content is stored by the proxy server; routing, by the network device and from the proxy server to the client device via the second TCP connection, a response to the client request, based on the indication; and routing, by the network device and from the proxy server to the server device, information that causes the server device to terminate the first TCP connection, based on the indication. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification