Method and apparatus for reducing overhead on a proxied connection
First Claim
1. A computer program product for reducing overhead on a proxied connection between a client and a server, the computer program product being embodied in a computer readable medium and comprising computer instructions for:
- receiving incoming data packets from a client on a client side and from a server on a server side, wherein the incoming data packets are associated with a proxied connection between the client and the server;
processing the incoming data packets with a participating application and relaying data derived from the incoming data packets from the client side to the server side and from the server side to the client side by generating outgoing data packets;
determining that the proxied connection is a suitable connection to be unproxied;
determining that all outgoing data packets have been acknowledged; and
routing incoming data packets to a non-participating application wherein the nonparticipating application relays client originated incoming data packets from the client side to the server side and relays server originated incoming data packets from the server side to the client side.
0 Assignments
0 Petitions
Accused Products
Abstract
A system and method are disclosed for bypassing a participating application that receives data from a client connection between a proxy and a client and receives data from a server connection between a proxy and a server is disclosed. The method includes deriving a client originated packet sequence synchronization factor. The client originated packet sequence synchronization factor is derived from the difference between a last data sequence number sent by the participating application to the server and a last data acknowledgment number sent by the participating application to the client. A server originated packet sequence synchronization factor is derived from the difference between a last data sequence number sent by the participating application to the client and a last data acknowledgment number sent by the participating application to the server. A server originated data sequence number of a packet sent from the server to the client is adjusted using the server originated packet sequence synchronization factor. A client originated the data acknowledgment number of a packet sent from the client to the server is adjusted using the server originated packet sequence synchronization factor. A client originated data sequence number of a packet sent from the client to the server is adjusted using the client originated packet sequence synchronization factor. A server originated data acknowledgment number of a packet sent from the server to the client is adjusted using the client originated packet sequence synchronization factor. As a result, the data sequence and acknowledgment numbers are synchronized between the client and the server.
-
Citations
22 Claims
-
1. A computer program product for reducing overhead on a proxied connection between a client and a server, the computer program product being embodied in a computer readable medium and comprising computer instructions for:
-
receiving incoming data packets from a client on a client side and from a server on a server side, wherein the incoming data packets are associated with a proxied connection between the client and the server;
processing the incoming data packets with a participating application and relaying data derived from the incoming data packets from the client side to the server side and from the server side to the client side by generating outgoing data packets;
determining that the proxied connection is a suitable connection to be unproxied;
determining that all outgoing data packets have been acknowledged; and
routing incoming data packets to a non-participating application wherein the nonparticipating application relays client originated incoming data packets from the client side to the server side and relays server originated incoming data packets from the server side to the client side. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A system for reducing overhead on a proxied connection between a client and a server comprising:
-
a computer comprising a network interface configured to receive incoming data packets from a client on a client side and from a server on a server side, wherein the incoming data packets are associated with a proxied connection between the client and the server, the computer being configured to;
process the incoming data packets with a participating application and relay data derived from the incoming data packets from the client side to the server side and from the server side to the client side by generating outgoing data packets;
determine that the proxied connection is a suitable connection to be unproxied;
determine that all outgoing data packets have been acknowledged; and
route incoming data packets to a nonparticipating application wherein the nonparticipating application relays client originated incoming data packets from the client side to the server side and relays server originated incoming data packets from the server side to the client side. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
Specification