This invention relates to data communication systems for interconnecting an end user machine with a remote server (e.g., an Internet server) for the two-way transmission of data packets. More particularly, the invention relates to wireless communication links, such as cellular packet networks, in which mobile subscriber units may be switched between base stations.
A communication system of this type typically transports a sequence of data packets over a TCP connection or the like between an end user machine coupled to the subscriber unit and a server (e.g., an Internet server) coupled to the base stations through a fixed network. In the wireless portion of such system, data packets from the server flow to the subscriber unit through the base station that registers the strongest signal strength as measured, e.g., by a beacon or pilot signal received by the subscriber unit. If a subscriber unit that is initially serviced by a first base station roams through an area where the signal strength is stronger from a second base station, the subscriber unit typically requests a change of transmission path (e.g., a “handoff”) from the first base station to the second station.
Propagation delays, data bit errors and the like are normal on wireless communication links. Such phenomena can cause loss or delay of acknowledgment signals that are successively generated by the end user machine in response to successive bytes contained in data packets received by the end user machine from the server. Each acknowledgment signal contains a first identifying portion indicative of the corresponding byte received by the end user machine and a second portion advertising the then-current size of the receive window of the end user machine.
The loss or delay of acknowledgment signals is often interpreted as congestion on the network by the applicable TCP protocols which were designed primarily for end-to-end wired networks. As a result, the server may be switched into a so-called congestion avoidance or slow-start mode, which can drastically reduce throughput of data packets on the system even when no congestion is present.
While known techniques involving, e.g., modification of the network protocols, attempt to mitigate the effects of such loss of throughput in wireless systems, they frequently add complexity such as the splitting of the TCP connection between the end user machine and the server. More importantly, the effectiveness of such techniques is greatly diminished during periods of handoff.