Methods and devices for maximizing the throughput of TCP/IP data along wireless links
View Patent ↗The amount of TCP/IP packets which can be sent from an Internet network to a wireless network is maximized by modifying a receive window value of an acknowledgment (ACK) before the ACK is sent on to a source of data packets within the Internet network. The receive window value is modified to take into consideration delay and rate variations which occur in the wireless network.
1. A method for maximizing the throughput of Transmission Control Protocol/Internet Protocol (“TCP/IP”) data comprising the steps of:
receiving an acknowledgement (ACK) packet that includes a receive window value that has been modified, by an intermediate node, based on estimated delay and rate variations associated with at least one wireless link;
comparing a receive window value within the modified acknowledgement packet to a congestion window value;
selecting the lesser of the receive window value and congestion window value; and
transmitting an amount of data toward the wireless link based on the selected value.
2. The method as in claim 1 wherein the receive window value comprises a number of packets.
3. The method as in claim 2 wherein the number of packets is substantially within the range of 1 kilobyte to 64 kilobytes.
4. The method as in claim 1 further comprising:
determining whether a data buffer is substantially close to empty;
determining whether the delay and rate variations have substantially changed; and
storing one or more ACKs when said buffer is not substantially close to empty or when said variations have not substantially changed.
5. The method as in claim 4 further comprising
modifying the receive window value of an ACK packet when said buffer is substantially close to empty or when said variations have substantially changed; and
transmitting the modified ACK packet containing the modified receive window value to a source of TCP/IP data when said buffer is substantially close to empty or when said variations have substantially changed.
6. A system for maximizing the throughput of Transmission Control Protocol/Internet Protocol (“TCP/IP”) data comprising a data source for:
receiving an acknowledgement (ACK) packet that includes a receive window value that has been modified, by an intermediate node, based on estimated delay and rate variations associated with at least one wireless link;
comparing a receive window value within the modified acknowledgement packet to a congestion window value;
selecting the lesser of the receive window value and congestion window value; and
transmitting an amount of data toward the wireless link based on the selected value.
7. The system as in claim 6 wherein the receive window value comprises a number of packets.
8. The system as in claim 7 wherein the number of packets is substantially within the range of 1 kilobyte to 64 kilobytes.
9. The system as in claim 6 , further comprising a radio network controller for:
determining whether a data buffer is substantially close to empty;
determining whether the delay and rate variances have substantially changed; and
storing one or more ACKs when said buffer is not substantially close to empty or when said variations have not substantially changed.
10. The system as in claim 9 , wherein the radio network controller further:
modifies the receive window value of an ACK packet when said buffer is substantially close to empty or when said variations have substantially changed; and
transmits the modified ACK packet containing the modified receive window value to a source of TCP/IP data when said buffer is substantially close to empty or when said variations have substantially changed.