Collective TCP control for improved wireless network performance
First Claim
1. A wireless Internet accelerator comprising:
- a client program running on a mobile device;
a client agent running on the mobile device, the client agent coupled to the client program by multiple concurrent Transport-Control-Protocol (TCP) connections;
a server proxy not on the mobile device, coupled to the client agent on the mobile device by a radio link, and coupled to Internet servers by an Internet connection; and
a collective TCP pipeline, using the radio link to exchange packets between the client agent and the server proxy, for exchanging packets from the multiple concurrent TCP connections from the client program using a collective connection that is a single TCP connection between the client agent and the server proxy, whereby multiple concurrent TCP connections from the client program are combined by the client agent for transmission over the radio link using the collective connection.
2 Assignments
0 Petitions
Accused Products
Abstract
A web-enabled cell phone communicates to Internet servers over a radio link. Multiple connections for web browsing or email are combined into a single persistent connection or pipe over the radio link between a client agent running on the cell phone and a TCP proxy. Combining connections allows for better use of the available bandwidth on the radio link. Wireless acceleration cards on servers gather packet loss statistics that are sent to a collective TCP control (CTC). Losses for connections between a client-server pair are aggregated, and aggregate losses are compared to a threshold. When the aggregate losses are below the threshold, the losses are likely to be sporadic radio-link losses. When the aggregate losses are above the threshold, the losses are likely due to router congestion. TCP parameters can be better adjusted based on whether the losses are radio or router losses.
-
Citations
20 Claims
-
1. A wireless Internet accelerator comprising:
-
a client program running on a mobile device;
a client agent running on the mobile device, the client agent coupled to the client program by multiple concurrent Transport-Control-Protocol (TCP) connections;
a server proxy not on the mobile device, coupled to the client agent on the mobile device by a radio link, and coupled to Internet servers by an Internet connection; and
a collective TCP pipeline, using the radio link to exchange packets between the client agent and the server proxy, for exchanging packets from the multiple concurrent TCP connections from the client program using a collective connection that is a single TCP connection between the client agent and the server proxy, whereby multiple concurrent TCP connections from the client program are combined by the client agent for transmission over the radio link using the collective connection. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A collective connection controller comprising:
-
a plurality of wireless accelerator means, each coupled to a server, for sending and receiving packets from a mobile device connected over a wireless link;
packet-data collector means for receiving packet statistics from the plurality of accelerator means;
table means for storing the packet statistics from the packet-data collector means;
network settings calculation means, coupled to read the packet statistics from the table means, for determining a wireless-loss condition when network conditions are adversely affected by packet losses over the wireless link, and for determining a congestion-loss condition when network conditions are adversely affected by packet losses due to congestion at an intermediate router, and for adjusting network conditions to compensate for the packet losses; and
network setting means, responsive to the network settings calculation means, for sending network settings adjusted by the network settings calculation means based on the congestion-loss or wireless-loss condition, the network setting means sending the network settings to the plurality of wireless accelerator means, whereby network settings are adjusted based on packet statistics collected and are adjusted based on a determination of the congestion-loss or wireless-loss condition. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A method for adjusting network settings comprising:
-
collecting packet loss counts from a plurality of wireless accelerators;
updating connection records in a table using the packet loss counts collected;
scanning the table for connection records for connections in a cluster of connections to a mobile device;
counting a number of connections in the cluster of connections with packet losses to get an aggregate loss count;
comparing the aggregate loss count for the cluster to a threshold value;
when the aggregate loss count meets the threshold value, signaling a congestion cause for the packet losses;
when the aggregate loss count are below the threshold value but more than zero, signaling a radio cause for the packet losses;
adjusting network settings for connections in the cluster to radio-optimized settings when the radio cause is signaled; and
adjusting network settings for connections in the cluster to congestion-optimized settings when the congestion cause is signaled, whereby packet loss information is collected from wireless accelerators and used to adjust network settings for connections in a cluster. - View Dependent Claims (18, 19, 20)
-
Specification