Performance enhancing proxy and method for enhancing performance
First Claim
1. A network apparatus, comprising:
- a proxy which facilitates communication with other network entities by performing at least one performance enhancing function, the proxy communicating with the other network entities via a first type of connection and a second type of connection,wherein the proxy establishes multiple connections of the first type associated with different applications, and includesa spoofing element configured to intercept and alter a data flow within one of the connections to add to or delete from the data flow to reduce startup latency, the spoofing element only spoofing connections of the first type associated with at least one of applications with high throughput and applications for which reduced startup latency is desired, anda multiplexing element configured to selectively multiplex the spoofed connections onto a single connection of the second type.
12 Assignments
0 Petitions
Accused Products
Abstract
Method and apparatus for enhancing the performance of a network. The performance enhancing functions described are applicable to a wide variety of communication links, including both slow and fast links, high latency links, and links with low and high error rates. The performance enhancing functions, which may be implemented either singly or in combination, include selective spoofing which allows flexible configuration of which connections should be spoofed, spoofing of the conventional TCP three-way handshake, local data acknowledgement, which allows data windows to increase at local speeds, multiplexing multiple connections across a single connection, data compression/encryption, prioritization, and path selection. The performance enhancing features described are particularly useful for links with high latency and/or high bit error rates.
24 Citations
53 Claims
-
1. A network apparatus, comprising:
-
a proxy which facilitates communication with other network entities by performing at least one performance enhancing function, the proxy communicating with the other network entities via a first type of connection and a second type of connection, wherein the proxy establishes multiple connections of the first type associated with different applications, and includes a spoofing element configured to intercept and alter a data flow within one of the connections to add to or delete from the data flow to reduce startup latency, the spoofing element only spoofing connections of the first type associated with at least one of applications with high throughput and applications for which reduced startup latency is desired, and a multiplexing element configured to selectively multiplex the spoofed connections onto a single connection of the second type. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. A method for providing data communication with a plurality of network entities, comprising:
-
facilitating communication with the network entities by performing at least one performance enhancing function; communicating with the network entities via a first type of connection and a second type of connection; establishing multiple connections of the first type associated with different applications; intercepting and altering a data flow within one of the connections to add to or delete from the data flow to reduce startup latency; spoofing only connections of the first type associated with at least one of applications with high throughput and applications for which reduced startup latency is desired; and selectively multiplexing the spoofed connections onto a single connection of the second type. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51)
-
-
52. A method for providing data communication over a satellite network, the method comprising:
-
communicating with a plurality of hosts over a plurality of connections corresponding to a plurality of applications resident on the respective hosts; determining which of the plurality of connections, according to the respective applications, is to receive priority processing for transport over a backbone connection established over the satellite network; encrypting and compressing data streams associated with the priority connections based on a transmission constraint of the backbone connection; and transmitting the encrypted and compressed data streams over the backbone connection, and concurrently acknowledging the corresponding hosts. - View Dependent Claims (53)
-
Specification