In-line modification of protocol handshake by protocol aware proxy
First Claim
1. A method for network communications, the method comprising the steps of:
- transmitting, by one of a client and a first proxy via a proxy protocol, a handshake request packet to a second proxy, the handshake request packet comprising one or more data blocks;
initiating, by the second proxy, a change to the handshake request packet, the change comprising one of modifying, adding and deleting a data block of the one or more data blocks;
forwarding, by the second proxy via the proxy protocol, the changed handshake request packet to one of a third proxy and a destination server;
receiving, by the second proxy via the proxy protocol, a handshake response packet representing a result from forwarding the handshake request to the destination server; and
replying, by the second proxy via the proxy protocol, to the handshake request packet sent by one of the client and the first proxy with the handshake response packet.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention relates to systems and methods for network communication between a client and server via multiple proxies. A network protocol is used to establish and control an end-to-end connection between the client and the server via a single handshake mechanism. Through the protocol and end-to-end handshake, the proxies can participate in the establishment of the end-to-end connection. The present invention also provides a method and system by which a connection from one end-point to another end-point can be independently controlled and configured by the proxies along the connection path. Furthermore, the protocol is forward-compatible so that different proxies can be upgraded to different protocol versions at different times and the end-to-end connection control continues to operate.
-
Citations
43 Claims
-
1. A method for network communications, the method comprising the steps of:
-
transmitting, by one of a client and a first proxy via a proxy protocol, a handshake request packet to a second proxy, the handshake request packet comprising one or more data blocks;
initiating, by the second proxy, a change to the handshake request packet, the change comprising one of modifying, adding and deleting a data block of the one or more data blocks;
forwarding, by the second proxy via the proxy protocol, the changed handshake request packet to one of a third proxy and a destination server;
receiving, by the second proxy via the proxy protocol, a handshake response packet representing a result from forwarding the handshake request to the destination server; and
replying, by the second proxy via the proxy protocol, to the handshake request packet sent by one of the client and the first proxy with the handshake response packet. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A method for establishing a connection between a client and a destination server via a handshake across multiple proxies, the method comprising the steps of:
-
sending, by a client via a proxy protocol to a first proxy, a connection request to connect to a destination server, the connection request comprising at least one data block;
forwarding, by the first proxy via the proxy protocol, the connection request to a second proxy;
forwarding, by the second proxy via the proxy protocol, the connection request to the destination server;
receiving, by the second proxy via the proxy protocol, a reply to the connection request from the destination server, the reply comprising at least one data block;
forwarding, by the second proxy via the proxy protocol, the reply to the first proxy; and
replying, by the first proxy via the proxy protocol, to the connection request of the client with the reply from the destination server. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A system for establishing a connection between a client and a destination server through a plurality of proxies, the system comprising:
-
a client communicating, via a proxy protocol, a connection request to establish a connection with a destination server, the connection request comprising one or more data blocks;
a first proxy, in communication with the client via the proxy protocol, receiving the connection request and forwarding the connection request;
a second proxy, in communication with the first proxy via the proxy protocol, receiving the connection request forwarded by the first proxy, the second proxy forwarding the connection request to the destination server;
the destination server, in communication with the second proxy via the proxy protocol, replying to the connection request by communicating a reply to the second proxy, the reply comprising one or more data blocks;
the second proxy receiving the reply and forwarding the reply to the first proxy;
the first proxy receiving the reply and communicating the reply to the client in response to the connection request by the client. - View Dependent Claims (31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43)
-
Specification