This invention relates generally to round trip time management for a transmission control protocol.
In recent years, numerous new features that have been traditionally available only at home are now becoming standards in cellular telecommunication networks. One of the most notable features is the availability of the Internet through the use of cell phones. Today, with all these available features on cell phones, there is practically no difference between computers and cell phones. To avoid confusion, a single term will be used to describe the various devices that can work with other multiple networks, such as the Internet. Specifically, a mobile station will be used to refer to any device, which may include, but is not limited to, a desktop computer, a laptop computer, a personal digital assistant, and/or a cell phone, that uses a specific network, such as a cellular network, for access to other networks.
Data packets are generally transferred through the standard transmission control protocol (“TCP”) via the Internet. The TCP, as well known in the art, tracks the transmission of data packets using a round trip time (“RTT”) that is used to set acknowledgement timers of the transmission. RTT is a measure of the time it takes for a data packet to travel from a node, across a network to another node, and back. Thus, for each data packet transmitted through the TCP, an RTT is measured to determine the current delay of the transmission of that particular data packet. Typically in a wired network, the RTT of the data packets is fairly consistent, because peaks and interruptions are less likely to occur in a wired network. This consistency, however, is not always true in a wireless network, and especially a cellular network where peaks and interruptions are almost inherent in the network itself. Because sharp increases in RTTs can cause timeouts, which are treated by the TCP as network congestion, the TCP responds by decreasing the transmission window size and reduces the throughput rate.
For example, to avoid data packets from being dropped, the link-level automatic repeat request (“ARQ”) protocols used by 3G cellular systems generally retransmit data packets, which are generally framed in protocol data units, that were lost over the radio interface. This, however, introduces large variations in delay. The TCP, in turn, views these delay variations as network congestion when in fact they are more or less part of the normal operation of the 3G cellular systems. The problem is that these delay variations can trigger the TCP's congestion control feature, which decreases the transmission window size and reduces the throughput rate. The reduction of the throughput rate, however, does not necessarily improve the delay but rather unnecessarily causes the radio bearer to be underutilized.
Most current efforts to address this problem focus on configuring or modifying the TCP to work with the characteristics of the cellular systems. These prior methods, however, deviate from the use of the standard TCP protocol, which is already widely used for Internet communications. As a result, by modifying the TCP protocol, there may be compatibility issues in cases where the device may not be able to handle the modified TCP protocol.
The above needs are at least partially met through provision of the RTT management process described in the following detailed description, particularly when studied in conjunction with the drawings, wherein:
Skilled artisans will appreciate that elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale. For example, the dimensions of some of the elements in the figures may be exaggerated relative to other elements to help improve understanding of various embodiments of the present invention. Also, common and well-understood elements that are useful or necessary in a commercially feasible embodiment are typically not depicted in order to facilitate a less obstructed view of these various embodiments of the present invention.
Generally speaking, pursuant to these various embodiments, an RTT management technique has been provided. Specifically, a received acknowledgement packet is buffered into a memory buffer, and a time delay is added to an assigned departure time of the acknowledgement packet. The acknowledgement packet is then forwarded according to this added time delay. In various embodiments the time delay, which may be based on a mean delay value and a mean variance value, substantially prevents the congestion control feature of the TCP from being triggered and/or stabilizes the RTTs on the TCP. For one specific embodiment, the time delay is assessed based on a departure time of at least one previously transmitted acknowledgement packet. In various teachings, the mean delay value and the mean variance value are assessed using a plurality of system RTTs of other acknowledgment packets in the system. In one embodiment, a variance value is assessed based on the mean variance value and a packet variance value obtained from the RTT of the acknowledgement packet. The packet variance value can be further based on a predefined target variance value, and the variance value can be further based on a filter coefficient.
In one embodiment, the arrival time of the data packet that corresponds to the acknowledgement packet is tracked and stored to a data structure. An assessment is done to verify that the acknowledgement packet has been previously received. If the acknowledgement packet has been previously received, it is forwarded. Otherwise, it is buffered since this is a new acknowledgement packet. In various teachings, the adding of the delay includes determining whether a mean delay value, which is obtained from multiple system RTTs of other acknowledgement packets, corresponds in at least a predetermined way to a predefined target delay value. When the mean delay value corresponds to the predefined target delay value, a delay value is assessed by adding the variance value to the mean delay value. Otherwise, the delay value is assessed by subtracting the variance value from the mean delay value. When the delay value is assessed by adding the variance value to the mean delay value, in various teachings, it is further determined whether the delay value corresponds in at least the predetermined way to a mean value that is based on the mean delay value and the mean variance value. If so, the delay value is further set to the mean value. With the delay value obtained, the acknowledgment is forwarded based on this delay value.
Through the embodiments of various teachings, the delay variation of the various wireless networks is controlled, which reduces the likelihood of falsely triggering the TCP's congestion control feature. As a result, the radio bearer can be used with higher utilization in addition to the TCP throughput being increased. This would positively affect common key performance indicators, such as file transfer protocol (“FTP”) download rate and hypertext transfer protocol (“HTTP”) load time. Moreover, since the various teachings modify the characteristics of the wireless network to work with existing TCP implementations, this allows fuller use of the radio bearers to connect with the TCP entities on the Internet without requiring changes to those TCP entities. As such, the implementations of these various teachings are simpler than prior methods.
Referring now to the drawings, and in particular to
Pursuant to this example, using a Universal Mobile Telecommunications System Terrestrial Radio Access Network (“UTRAN”) 12, a mobile station 14 with its own TCP receiver 16 is linked to a TCP transmitter 18 over the Internet 20. In particular, the mobile station 14 specifically communicates with the TCP transmitter 18 using a base station 20, which is controlled by a radio network controller (“RNC”) 22 in the UTRAN 12. This is an illustration of a typical communication system 10 using UTRAN 12 and the Internet 20. Any network that connects to a network using the TCP, however, is contemplated. In one embodiment, the various teachings described are implemented in the radio network controller. Depending upon the implementation of the networks and systems, other components can also be used to implement the various embodiments of the present invention. As a result, these various implementations according to the various networks and/or components of the networks are within the present scope of the invention, but as an example, the various teachings described will be based on an implementation in the RNC 22.
Turning now to
For new data packets, the comparator circuit 54 may obtain the arrival time of a data packet and/or an assigned departure time of an acknowledgement packet corresponding to that data packet and forward these values to a mean value assessor circuit 58, which keeps track of the RTT of the data packets. The acknowledgement packet is also forwarded to a memory buffer 60 that temporarily stores the acknowledgement packet before being forwarded to the output circuit 56. A time delay adder circuit 62 is operably coupled to both the mean value assessor circuit 58 and the memory buffer 60. From the output of the mean value assessor circuit 58, a time delay is assessed and added to the assigned departure time of the acknowledgment packet by the time delay adder 62. Specifically, the time delay adder circuit 62 obtains the acknowledgement packet from the memory buffer 60 and adds the time delay to the acknowledgement packet, which is then forwarded to the output circuit 56 for transmission with the delay value. In one embodiment, the added time delay is also outputted to the mean value assessor circuit 58, which uses the added time delay to assess a mean variance time value and a mean delay value. Of course, as one skilled in the art would readily appreciate, other arrangements and configurations of the controller circuit 50 are available, and they are within the scope of the various teachings described.
Turning now to
Upon receiving the acknowledgement packet, the UTRAN selectively delays 120 the acknowledgment packet to properly account for the variable delay caused by the air interface. The acknowledgement packet with the added time delay is then forwarded 122 to the TCP transmitter 18. Because of the time delay being added to the acknowledgement packet, the TCP transmitter will generate RTTs that are more stable or steady instead of sudden peaks that may result from the normal operation of the UTRAN. The RTT, as commonly known in the art, is based on a difference of the arrival time of the data packet and the arrival time of the acknowledgment packet corresponding to the data packet. In essence, the time delay added to the acknowledgement packet makes the TCP transmitter think that the UTRAN is communicating with it at a stable throughput rate, and as a result, the congestion protocol feature of the TCP would not be triggered. Moreover, because the time delay is based on mean variance and mean delay of the system RTTs of substantially all of the other acknowledgment packets, real network congestion caused by a RTT can be accounted for. Thus, when a true network congestion occurs in the UTRAN, the TCP would still be able to properly detect and respond because the mean values would be less likely to filter out a peak RTT caused by a true network congestion packet.
Referring now to
In this example, the process is initiated 152 by the RNC first determining 154 whether a data packet has been in fact received. If not, the RNC keeps checking until a data packet is received. Responsive to the receipt of a data packet, the RNC stores 156 the arrival time of the data packet in a data structure, such as a table or database. The process then reloops to keep checking for other data packets.
Turning now to
The RNC next assesses 212 a time delay for the acknowledgment packet, and the time delay is based on the departure time of at least one previously transmitted acknowledgement packet in this embodiment. For example, the time delay may be based on an immediately previously transmitted acknowledgement packet. In another embodiment, the time delay can be based on all the previously transmitted acknowledgement packets. In this embodiment, the time delay is based on a mean delay of the RTTs of the previously transmitted acknowledgement packets, which is one of the many ways to assess the time delay. One of the main points of the time delay is to substantially prevent the congestion control feature of the TCP from operating based on a false network congestion detection by creating a stabilized system of RTTs in the TCP. In fact, the number of possible ways to assess the time delay are practically limitless, but these various alternative embodiments are readily appreciated by one skilled in the art. As a result, they are within the present scope of the various teachings.
Once the time delay has been assessed 212, it is added 214 to the assigned departure time of the acknowledgement packet. The acknowledgement packet is then accordingly forwarded 216 based on the time delay. Since another acknowledgement packet has been forwarded based on a time delay, a mean delay value based or partly based on the transmitted acknowledgement packet will be assessed 218, followed by a mean variance value being assessed 220 from the change. The mean delay value and the mean variance value, in this embodiment, are obtained using the RTT of this transmitted acknowledgement packet and the RTTs of other previously transmitted acknowledgement packets.
In the prior art, the acknowledgement are simply forwarded without adding any adjustment of a time delay, which inevitably creates a delay variation that the TCP transmitter 18 accounts to network congestion. As a result, the TCP transmitter 18, in reaction to this delay variation, reduces the throughput rate of the transmission. This happens regardless of whether or not there is true network congestion. Even worse, the reduction of the throughput rate does not reduce the delay but in fact hinders the utilization of the radio bearer. The added time delay, however, is able to adjust the RTTs to give the TCP transmitter 18 an appearance of a stable transmission throughput, which effectively prevents the trigger of the congestion control feature of the TCP based on a false detection of network congestion.
Turning now to
This process begins 252 by determining 254 whether a data packet has been received by the RNC. If not, the process keeps checking for the arrival of a data packet. If, however, a data packet, which generally bears a specific sequence number (“SN”), is received 256, the arrival time of the received data packet SN is set 258 to parameter tdata, arrival(SN), which is a time of arrival record of data packet SN. The parameter tdata,arrival(SN) is stored 260 to a data structure as a record of the data packet SN's arrival time to the RNC. The process re-loops to check for the receipt of more data packets.
Referring to
If, however, SN does not equal SNack, last, the acknowledgement packet is buffered 314 for a delay value to be assessed. In particular, a variance value is calculated and set 316 based on the formula
where Var is the variance value, Vartarget is a target variance value, Varmean is a mean variance value, and α is a predefined filter coefficient. The target variance Vartarget and filter coefficient α are predefined values, and Varmean is a calculated mean value of a variance of all the RTTs, which are based on the arrival time of the data packets and the arrival time of their corresponding acknowledgement packets (without the added delay). The target variance Vartarget is used as a means for creating a stable RTT of the system. Essentially, the natural mean delay and delay variance are hidden from the TCP transmitter by substituting the target variance value Vartarget and a target delay value Delaytarget, which are predefined values in one embodiment. Any of these target values are configurable for optimal tuning of specific systems and their corresponding characteristics. The filter coefficient α, which can range from 0 and 1 in one embodiment, is used to control an “Infinite Impulse Response” (“IIR”) filter. High range values can produce a more stable output by putting more weight on the existing mean, and low values produce a mean that responds more quickly to changes in the input. The mean variance Varmean is based on the formula
Varmean=Varmean* α+Var*(1−α) (2)
Next, the variance value Var is then compared to determine 318 whether it is less than zero. If the variance value Var is less than zero, the variance value Var is set 320 to zero, since in this embodiment, the variance value Var is preferably a non-negative number. Once it is ensured that the variance value Var is a non-negative number, the RNC determines 322 whether a mean delay value Delaymean is less than a target delay value Delaytarget. The target delay value Delaytarget is a predefined value, which is specific to the implementation. The mean delay value Delaymean, on the other hand, is a calculated mean value of a time delay of the system RTTs of the data packets and their corresponding transmitted acknowledgement packets in the system. For this step, the currently received acknowledgement packet SN has not yet been accounted for in the value of the mean delay value Delaymean. If the mean delay value Delaymean is not less than the target delay value Delaytarget, a delay value Delay is set 324 according to the formula
Delay=Delaymean−Var (3)
If, on the other hand, the mean delay value Delaymean is less than the target delay value Delaytarget, the delay value Delay, instead, would be set 326 according to the formula
Delay=Delaymean+Var (4)
Once the delay value Delay is set 326, the RNC next determines 328 whether it is greater than a calculated mean value based on the formula
Delay=Delaymean+C(Varmean) (5)
where C is a constant. If so, the delay value Delay will be set 330 according to this formula. If not, multiple parameters will be set 332 according to the following formulas:
tack,departure=tdata,arrival(SN)+Delay (6)
Delaymean=Delaymean*α+Delay*(1−α) (7)
Varmean=Varmean*α+Var*(1−α) (8)
The acknowledgement packet SN is then forwarded 312 according to the new departure time, which includes the departure time previously assigned to the acknowledgement packet upon its arrival and the calculated delay value. The process than re-loops to check for more acknowledgement packets.
With these various teachings shown, a novel RTT management technique of the TCP has been provided. As a result of the various teachings shown, the delay variations, which are caused by the normal operation of the wireless network, are stabilized to prevent the TCP from triggering the congestion control feature based on false detections of network congestion. This is so because the TCP sees a stable pattern of transmission delay instead of interruptions and peaks. Since the TCP does not interpret the steady delay as network congestion, the congestion control feature will not be falsely triggered. It is important to prevent such false triggers of the congestion control feature of the TCP because not only does it not improve the delay, it also reduces the utilization of the radio bearer. As a result, the radio bearer can be used with higher utilization in addition to the TCP throughput being increased.
The various embodiments of the delay value shown, nevertheless, provide a way to account for real network congestion. In other words, true network congestion, which would benefit from the congestion control feature of the TCP, is not unnecessarily filtered and it is accounted for in the various embodiments. As a result, the various teachings are able to take advantage of the congestion control feature of the TCP while integrating seamlessly into the normal operation of the wireless network. Moreover, the implementation is both easy and unrestrictive because the characteristics of the wireless network are modified to work with the existing TCP implementations. Thus, fuller use of the radio bearers is allowed to connect with the TCP entities on the Internet without requiring changes to those TCP entities. This would positively affect common key performance indicators, such as the file transfer protocol (“FTP”) download rate and hypertext transfer protocol (“HTTP”) load time.
Those skilled in the art will recognize that a wide variety of modifications, alterations, and combinations can be made with respect to the above described embodiments without departing from the spirit and scope of the invention, and that such modifications, alterations, and combinations are to be viewed as being within the ambit of the inventive concept.