Accelerating network performance by striping and parallelization of TCP connections
First Claim
1. A method for handling packet traffic in a data network comprising the steps of:
- routing outgoing network layer packet traffic associated with a network layer connection from a selected source node to a local network accelerator associated with a node which is a source of the packet traffic for a destination node, the local network accelerator running a proxy application that operates as a proxy for the node that is the source of the packet traffic;
receiving, at the proxy application, intercepted packet traffic;
opening two or more persistent Transmission Control Protocol (TCP) transport layer end-to-end connections in parallel over at least one physical layer connection between the local network accelerator and at least one remote network accelerator, at least the two or more persistent TCP transport layer connections servicing the selected source node; and
striping the transmitting of processed packet traffic to at least one remote network accelerator associated with the destination node which is a destination of the packet traffic via at least the two or more persistent TCP transport layer connections, wherein the remote network accelerator runs another proxy application operating as a proxy for the destination node.
3 Assignments
0 Petitions
Accused Products
Abstract
An architecture for optimizing network communications that utilizes a device positioned at two edges of a constrained Wide Area Network (WAN) link. The device intercepts outgoing network packets and reroutes them to a proxy application. The proxy application uses multiple, preferably persistent connections with a network accelerator device at the other end of the persistent connection. The proxy applications transmit the intercepted data. Packet mangling may involve spoofing the connection request at each end node; a proxy-to-proxy communication protocol specifies a way to forward an original address, port, and original transport protocol information end to end. The packet mangling and proxy-to-proxy communication protocol assure network layer transparency.
-
Citations
23 Claims
-
1. A method for handling packet traffic in a data network comprising the steps of:
-
routing outgoing network layer packet traffic associated with a network layer connection from a selected source node to a local network accelerator associated with a node which is a source of the packet traffic for a destination node, the local network accelerator running a proxy application that operates as a proxy for the node that is the source of the packet traffic; receiving, at the proxy application, intercepted packet traffic; opening two or more persistent Transmission Control Protocol (TCP) transport layer end-to-end connections in parallel over at least one physical layer connection between the local network accelerator and at least one remote network accelerator, at least the two or more persistent TCP transport layer connections servicing the selected source node; and striping the transmitting of processed packet traffic to at least one remote network accelerator associated with the destination node which is a destination of the packet traffic via at least the two or more persistent TCP transport layer connections, wherein the remote network accelerator runs another proxy application operating as a proxy for the destination node. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A data network routing device comprising:
-
a router, connected to receive incoming packets from a source node, the router examining the incoming packets to determine if they are addressed to a destination node which is not local to the router, and if so, routing them to a socket interface; and a proxy application, connected to receive incoming packets from the socket interface, the proxy application associated with the router, and the proxy application, acting as a proxy for the source node, also establishing multiple, persistent Transmission Control Protocol (TCP) transport layer end-to-end connections in parallel on behalf of the source node over at least one physical layer connection, the multiple, persistent TCP transport layer connections carrying packets striped in parallel to another proxy application operating as a separate proxy for the destination node. - View Dependent Claims (7, 8, 9, 10, 11)
-
-
12. A method for communicating a data stream between a source node and a destination node, comprising:
-
establishing a plurality of persistent Transmission Control Protocol (TCP) transport layer connections in parallel between a first proxy application in communication with the source node and a second proxy application in communication with the destination node, wherein the plurality of persistent TCP transport layer connections are provided between the first proxy application and the second proxy application over at least one physical layer connection; enabling the first proxy application to forward the data stream from the source node to the destination node, wherein the data stream is provided over a first TCP transport layer client connection to the first proxy application, and wherein the first proxy application stripes the data stream over the plurality of persistent TCP transport layer connections between the first proxy application and the second proxy application; and enabling the second proxy application to provide the striped data stream received over the plurality of persistent TCP transport layer connections to the destination node over a second TCP transport layer client connection. - View Dependent Claims (13, 14, 15, 16, 17, 18)
-
-
19. A system for enabling communication of a data stream between a source node and a destination node, comprising:
-
a first proxy application in communication with the source node; a second proxy application in communication with the destination node, a plurality of persistent Transmission Control Protocol (TCP) transport layer connections in parallel between the first proxy application and the second proxy application, wherein the plurality of persistent TCP transport layer connections are provided between the first proxy application and the second proxy application over at least one physical layer connection; a first TCP transport layer client connection that enables the first proxy application to forward the data stream from the source node to the destination node, wherein the first proxy application stripes the data stream over the plurality of persistent TCP transport layer connections to the second proxy application; and a second TCP transport layer client connection that enables the second proxy application to communicate the striped data stream received over the plurality of persistent TCP transport layer connections to the destination node. - View Dependent Claims (20, 21, 22, 23)
-
Specification