CONTROLLING TIMEOUT EVENTS FOR DATA PACKET TRANSMISSIONS
20220166549 · 2022-05-26
Inventors
Cpc classification
H04W28/0284
ELECTRICITY
H04W92/04
ELECTRICITY
H04W80/06
ELECTRICITY
H04L47/283
ELECTRICITY
H04W84/02
ELECTRICITY
H04L47/27
ELECTRICITY
H04W28/084
ELECTRICITY
H04L69/163
ELECTRICITY
H04W28/0273
ELECTRICITY
International classification
Abstract
The present disclosure relates to a method of controlling a timeout event for a data packet transmission in a wireless communications network, and a node performing the method. In an aspect, a method of controlling a timeout event for a data packet transmission in a wireless communications network is provided, wherein a data packet retransmission timer initially is set to a timeout value indicating the maximum allowed round-trip time (RTT) for the data packet transmission and a timeout event occurs upon the retransmission timer expiring. The method includes observing the RTT for the data packet transmission over a connection in the network, increasing, upon the retransmission timer expiring before a measured value is available for the observed RTT, the timeout value for the retransmission timer, and determining whether a currently set timeout value for the retransmission timer is to be decreased or not.
Claims
1. A method of controlling a timeout event for a data packet transmission in a wireless communications network, wherein a data packet retransmission timer initially being set to a timeout value indicating the maximum allowed round-trip time, RTT, for the data packet transmission and a timeout event occurs upon the retransmission timer expiring, the method comprising: observing the RTT for the data packet transmission over a connection in the network; increasing, upon the retransmission timer expiring before a measured value is available for the observed RTT, the timeout value for the retransmission timer; and determining whether a currently set timeout value for the retransmission timer is to be decreased.
2. The method of claim 1, further comprising: starting an observation timer upon the timeout value for the retransmission timer being increased.
3. The method of claim 2, wherein the determining whether a currently set timeout value for the retransmission timer is to be decreased comprises: determining whether a set observation timer has expired, and if so restarting the observation timer; and decreasing the currently set timeout value after yet an observation period is determined to having expired upon a measured value being available for the observed RTT.
4. The method of claim 3, wherein the determining whether a currently set timeout value for the retransmission timer is to be decreased comprises: determining if the decreased currently set timeout value has reached the initially set timeout value, wherein the timeout value of the retransmission timer is controlled according to RFC 4960.
5. The method of claim 2, wherein when is determined that a currently set timeout value for the retransmission timer is not to be decreased, the method further comprising: decreasing the set value of the observation timer.
6. The method of claim 1, wherein the determining whether a currently set timeout value for the retransmission timer is to be decreased comprises: determining whether a size of a data packet congestion window has reached a predetermined maximum value, and if so restarting the observation timer; and decreasing the currently set timeout value after yet an observation period is determined to having expired upon a measured value being available for the observed RTT.
7. The method of claim 1, wherein the initially set timeout value is set to a minimum allowable retransmission timeout, RTO, value.
8. A node configured to control a timeout event for a data packet transmission in a wireless communications network, wherein a data packet retransmission timer initially being set to a timeout value indicating the maximum allowed round-trip time, RTT, for the data packet transmissions and a timeout event occurs upon the retransmission timer expiring, the node comprising a processing unit and a memory, said memory containing instructions executable by the processing unit, whereby to cause the node to: observe the RTT for the data packet transmission over a connection in the network; increase, upon the retransmission timer expiring before a measured value is available for the observed RTT, the timeout value for the retransmission timer; and determine whether a currently set timeout value for the retransmission timer is to be decreased.
9. The node of claim 8, further caused to: start an observation timer upon the timeout value for the retransmission timer being increased.
10. The node of claim 9, further caused to, when determining whether a currently set timeout value for the retransmission timer is to be decreased: determine whether a set observation timer has expired, and if so restart the observation timer; and decrease the currently set timeout value after yet an observation period is determined to having expired upon a measured value being available for the observed RTT.
11. The node or claim 10, further caused to, when determining whether a currently set timeout value for the retransmission timer is to be decreased: determine if the decreased currently set timeout value has reached the initially set timeout value, wherein the timeout value of the retransmission timer is controlled according to RFC 4960.
12. The node of claim 9, further caused to, when it is determined that a currently set timeout value for the retransmission timer is not to be decreased: decrease the set value of the observation timer.
13. The node of claim 8, further caused to, when determining whether a currently set timeout value for the retransmission timer is to be decreased: determine whether a size of a data packet congestion window has reached a predetermined maximum value, and if so restart the observation timer; and decrease the currently set timeout value after yet an observation period is determined to having expired upon a measured value being available for the observed RTT.
14. The node of claim 8, wherein the initially set timeout value is set to a minimum allowable retransmission timeout, RTO, value.
15. A computer storage medium storing an executable computer program that when executed, cause a node to perform a method of controlling a timeout event for a data packet transmission in a wireless communications network, a data packet retransmission timer initially being set to a timeout value indicating the maximum allowed round-trip time, RTT, for the data packet transmission and a timeout event occurs upon the retransmission timer expiring, the method comprising: observing the RTT for the data packet transmission over a connection in the network; increasing, upon the retransmission timer expiring before a measured value is available for the observed RTT, the timeout value for the retransmission timer; and determining whether a currently set timeout value for the retransmission timer is to be decreased.
16. (canceled).
17. The method of claim 2, wherein the determining whether a currently set timeout value for the retransmission timer is to be decreased comprises: determining whether a size of a data packet congestion window has reached a predetermined maximum value, and if so restarting the observation timer; and decreasing the currently set timeout value after yet an observation period is determined to having expired upon a measured value being available for the observed RTT.
18. The method of claim 2, wherein the initially set timeout value is set to a minimum allowable retransmission timeout, RTO, value.
19. The method of claim 3, wherein when is determined that a currently set timeout value for the retransmission timer is not to be decreased, the method further comprising: decreasing the set value of the observation timer.
20. The method of claim 3, wherein the determining whether a currently set timeout value for the retransmission timer is to be decreased comprises: determining whether a size of a data packet congestion window has reached a predetermined maximum value, and if so restarting the observation timer; and decreasing the currently set timeout value after yet an observation period is determined to having expired upon a measured value being available for the observed RTT.
21. The method of claim 3, wherein the initially set timeout value is set to a minimum allowable retransmission timeout, RTO, value.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0026] Aspects and embodiments are now described, by way of example, with reference to the accompanying drawings, in which:
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
DETAILED DESCRIPTION
[0036] The aspects of the present disclosure will now be described more fully hereinafter with reference to the accompanying drawings, in which certain embodiments are shown.
[0037] These aspects may, however, be embodied in many different forms and should not be construed as limiting; rather, these embodiments are provided by way of example so that this disclosure will be thorough and complete, and to fully convey the scope of all aspects of the disclosure to those skilled in the art. Like numbers refer to like elements throughout the description.
[0038] An SCTP endpoint uses a retransmission timer T3 to ensure data delivery in the absence of any feedback from its peer. The duration of this timer is referred to as retransmission timeout (RTO). A trade-off must be made when setting RTO; if a too small value is selected, there is a risk that a timeout occurs even though data indeed would have been delivered while if a too great value is detected, the data retransmission will be slow. A retransmission will not make sense if such retransmission occurs long after any lost packet should have been delivered.
[0039] For SCTP, according to RFC 4960, the rules governing the computation of smoothed round-trip time (SRTT), round-trip time variation (RTTVAR), and RTO are as follows.
[0040] C1) Until an RTT measurement has been made for a packet sent to the given destination transport address, set RTO to the protocol parameter RTO.Initial.
[0041] C2) When the first RTT measurement R is made, set
[0042] SRTT=R,
[0043] RTTVAR=R/2, and
[0044] RTO=SRTT+4*RTTVaR.
[0045] C3) When a new RTT measurement R′ is made, set
[0046] RTTVAR=(1−RTO.Beta)*RTTVAR+RTO.Beta*|SRTT−R′|, and
[0047] SRTT=(1−RTO.Alpha)*SRTT+RTO.Alpha*R′,
[0048] where the value of SRTT used in the update to RTTVAR is it value before updating SRTT itself using C3.
[0049] Thereafter, RTO is updated as RTO=SRTT+4*RTTVAR (eq. 1)
[0050] It should further be noted that RFC 4960 comprises recommended values for SCTP protocol parameters RTO.Initial, RTO.Alpha, RTO.Beta as well as for RTO.Min (being the smallest possible allowed value for RTO) and for RTO.Max (being the largest possible allowed value for RTO):
[0051] RTO.Initial=3 seconds,
[0052] RTO.Min=1 second,
[0053] RTO.Max=60 seconds,
[0054] RTO.Alpha-⅛, and
[0055] RTO.Beta-¼.
[0056] However, for a Radio Access Network (RAN) deployment, the above given values for RTO.Initial, RTO.Min and RTO.Max are too high.
[0057] For a virtualized environment where the RTT is close to zero (unless the store and deliver mechanism is applied as previously described), the computed values of RTTVAR, SRTT and RTT will consequently be very small. RFC 4960 stipulates that a computed value of RTO being less than RTO.min is rounded up to RTO.min.
[0058] Hence, for a RAN deployment, the values for RTO.Initial, RTO.Min and RTO.Max would rather be selected to:
[0059] RTO.Initial=200 milliseconds,
[0060] RTO.Min=100 millisecond, and
[0061] RTO.Max=400 milliseconds.
[0062]
[0063] As can be seen in
[0064] The wireless communication network 10 comprises a base station in the form of a veNodeB 11, operatively connected to a virtual Serving Gateway 12 (vSGW) 12, in turn operatively connected to a virtual Mobility Management Entity 13 (vMME) and a virtual Packet Data Network Gateway 14 (vPGW), which in turn is operatively connected to a virtual Policy and Charging Rules Function (vPCRF) 15. The veNodeB 11 is a radio access node that interfaces with a mobile radio terminal, e.g. a UE 16. The veNodeBs of the network forms the radio access network Evolved Universal Terrestrial Radio Access Network (E-UTRAN) for LTE communicating with the UEs over an air interface such as LTE-Uu. The core network in LTE is known as Evolved Packet Core (EPC), and the EPC together with the E-UTRAN is referred to in LTE as the Evolved Packet System (EPS). The vSGW 12 routes and forwards user data packets over the S1-U interface, whilst also acting as the mobility anchor for the user plane during inter-eNodeB handovers and as the anchor for mobility between LTE and other 3GPP technologies (terminating S4 interface and relaying the traffic between 2G/3G networks and the vPGW 14). For idle state UEs, the vSGW 12 terminates the downlink (DL) data path and triggers paging when DL data arrives for the UE 16, and further manages and stores UE contexts, e.g. parameters of the IP bearer service, network internal routing information. It also performs replication of the user traffic in case of lawful interception. The vSGW 12 communicates with the vMME 13 via interface S11 and with the vPGW 14 via the S5 interface. Further, the vSGW 12 may communicate with the UMTS radio access network UTRAN and with the GSM EDGE (“Enhanced Data rates for GSM Evolution”) Radio Access Network (GERAN) via the S12 interface.
[0065] The vMME 13 is responsible for idle mode UE tracking and paging procedure including retransmissions. It is involved in the bearer activation/deactivation process and is also responsible for choosing the vSGW 12 for a UE 16 at the initial attach and at time of intra-LTE handover involving core network node relocation. It is responsible for authenticating the user by interacting with the virtual Home Subscriber Server (vHSS) 17. The Non-Access Stratum (NAS) signaling terminates at the vMME 13 and it is also responsible for generation and allocation of temporary identities to UEs via the S1-MME interface. It checks the authorization of the UE 16 to camp on the service provider's Public Land Mobile Network (PLMN) and enforces UE roaming restrictions. The vMME 13 is the termination point in the network for ciphering/integrity protection for NAS signaling and handles the security key management. Lawful interception of signaling is also supported by the vMME. The vMME 13 also provides the control plane function for mobility between LTE and 2G/3G access networks with the S3 interface terminating at the vMME 13 from a Serving GPRS (“General Packet Radio Service”) Support Node (SGSN) 18. The vMME 13 also terminates the S6a interface towards the home vHSS 17 for roaming UEs. Further, there is an interface S10 configured for communication between vMMEs for vMME relocation and vMME-to-vMME information transfer.
[0066] The vPGW 14 provides connectivity to the UE 16 to external packet data networks 19 (PDNs) by being the point of exit and entry of traffic for the UE 16. A UE may have simultaneous connectivity with more than one vPGW for accessing multiple PDNs. The vPGW 14 performs policy enforcement, packet filtering for each user, charging support, lawful interception and packet screening. Another key role of the vPGW 14 is to act as the anchor for mobility between 3GPP and non-3GPP technologies such as WiMAX and 3GPP2 (CDMA 1X and EvDO). The interface between the vPGW 14 and the packet data network 19 is referred to as the SGi. The packet data network may be an operator external public or private packet data network or an intra operator packet data network, e.g. for provision IP Multimedia Subsystem (IMS) services.
[0067] The vPCRF 15 determines policy rules in real-time with respect to the radio terminals of the network. This may e.g. include aggregating information in real-time to and from the core network and operational support networks, etc. of the network so as to support the creation of rules and/or automatically making policy decisions for user radio terminals currently active in the network based on such rules or similar. The vPCRF 15 provides the vPGW 14 with such rules and/or policies or similar to be used by the acting vPGW as a Policy and Charging Enforcement Function (PCEF) via interface Gx. The vPCRF further communicates with the packet data network 19 via the Rx interface.
[0068] The embodiments described in the following could be implemented in any appropriate virtual node in the network 10, such as for instance in the vMME 13, where the vMME 13 could be configured to control packet data retransmission timeout based on RTT observations between UEs 16 and the veNodeB 11.
[0069]
[0070] Now, initially the CWND will be set to its minimum size, referred to as the single maximum transmission unit (MTU) size, thereby limiting the available bandwidth.
[0071] As RTT values being less than when RTO.min are continuously measured at t.sub.1, t.sub.2 and t.sub.3, i.e. the retransmission timer T3 has not reached RTO.min being the value where the timer T3 expires, the size of the CWND is increased at each measured RTT until a maximum CWND limit cwndMax is reached reflecting a maximum allowed bandwidth in the network. As is shown in
[0072] Therefore, as soon as all data being affected by the timeout are successfully transmitted, another RTT measurement is performed and the size of CWND is increased, until a second T3 timeout occurs at t.sub.6, and so on.
[0073] For a virtualized environment utilizing the store and deliver mechanism, this behaviour will occasionally cause a timeout even though no packets have been lost.
[0074]
[0075] The ground state of the state machine is referred to as Legacy state, being the prior art state of RFC 4960 where the retransmission timer T3 is set to an appropriate RTO computed according to eq. 1. If in the Legacy state T3>RTO as computed according to eq. 1, a timeout occurs. Hence, if for a connection the retransmission timer T3 expires before the RTT measurement is available for that connection, a timeout occurs since the (still not available) RTT is deemed too long.
[0076] Should no timeout occur in the Legacy state, the RTO is continuously computed according to eq. 1, as illustrated in the diagrams of
[0077]
[0078] Reference will further be made to
[0079] Again, as RTT values being less than or equal to RTO.min are continuously measured, the size of the CWND is increased until a maximum CWND limit cwndMax is reached reflecting a maximum allowed bandwidth. As is shown in
[0080] In this embodiment, when the timeout occurs, the smallest allowed value RTO.min of timer T3 is increased in step S102, and optionally an observation timer T0w is started in step S103, and the state machine moves to the Evaluate state. That is; new RTO.min=old RTO.min+stepValue, where stepValue is appropriately selected. In other words, when a timeout occurs in step S101, the currently set timeout value RTO.min of the retransmission timer T3 is increased in step S102 as: RTO.min(n)=RTO.min(n−1)+stepValue, where n is the order of the timeout occurring in a sequence of timeouts.
[0081] The observation timer T0w may be set to a value of for instance ten times the value of RTO.min(0), i.e. to 1000 ms.
[0082] In an embodiment, stepValue may for instance be selected to be 10% of the lastly calculated RTO.min, i.e. stepValue=0.1×RTO.min(n−1). In another example, stepValue=0.1×RTO.min(o).
[0083] Further, as in the prior art described with reference to RFC 4960, the CWND is reset to MTU size before again being increased to reach the maximum value cwndMax.
[0084] Reference will further be made to
[0085] As can be seen in
[0086] As can be seen in
[0087] Advantageously, the observation timer T0w facilitates avoiding a scenario where the state machine spends too long time in the Evaluate state. Should the observation timer T0w has expired in step S204, it is restarted in step S206 and the state machine moves to the Stepdown state. However, in this round it is assumed that the observation timer T0w has not expired in step S204, in which case the observation timer T0w optionally is updated in step S205 and the state machine remains in the Evaluate state.
[0088] In an embodiment, for each RTT measurement being available (i.e. as long as timeout does not occur), the updating is performed by decreasing the set observation window timer T0w in step S206. In an example, the T0w is decreased with a value corresponding to the last available RTT value. As a result, the set observation window timer T0w will continuously decrease with each available RTT measurement, thereby continuously decreasing the observation window.
[0089] As can be seen in
[0090] Advantageously, the controlling of the timeout value RTO.min(n) for the retransmission timer T3 will allow a dynamical and carefully controlled increase of the timeout value of the timer T3 to avoid unnecessary timeouts, i.e. to cause a timeout even though no packets would have been lost.
[0091] Thereafter, the state machine is again triggered by the next available measurement of the observed RTT at time t.sub.7 in step S201b, and again it is determined that T0w has not expired in step S204 whereupon the T0w is decreased in step S205.
[0092] At time t.sub.8, a so called virtual timeout occurs during the Evaluate state, in which case the observation window timer T0w may be restarted (not shown in
[0093] In a next step it is assumed that an RTT measurement is performed in Step S201a, but that the observation timer T0w is determined to having expired in step 204, wherein the state machine restarts T0w in step S206 and transits to the Stepdown state.
[0094] According to an optional second state machine condition; if the steadily increasing size of the CWND reaches it maximum value cwndMax—occurring just after time t.sub.8 in
[0095]
[0096] Reference will further be made to
[0097] Similar to
[0098] Now, if in the Stepdown state a timeout event would occur, i.e. if the retransmission timer T3 being set to the currently computed RTO.min—in this case RTO.min(2)—would expire as detected in step S301b, the currently set RTO.min(2) would be increased in step S302 (i.e. RTO.min(3)=RTO.min(2)+stepValue), and the observation timer T0w is (re)started in step S303, before the state machine moves back to the Evaluate state. However, in the example of
[0099] However, upon the measurement of the RTT occurring in step S301a at time t.sub.11, the state machine concludes in step S304 that the observation timer T0w has expired, and the currently set RTO.min(2) is decreased to RTO.min(1) (or to some other appropriate value) in step S306.
[0100] Thereafter, it is concluded in step S307 whether or not the currently set T3 retransmission timer value RTO.min(1) has reached the initially set RTO.min(0), which it in this case has not and the state machine remains in the Stepdown state.
[0101] Again, at time t.sub.13, a measurement of the observed RTT is available in step S301a, and since T0w is not determined to having expired in step S304 the T0w is decreased accordingly in step S3050, and the state machine remains in the Stepdown state.
[0102] When there is a measurement available of the observed RTT in step S301a at time t.sub.14, the state machine concludes in step S304 that the observation timer T0w has expired, and the currently set RTO.min(1) is decreased to RTO.min(0) in step S306.
[0103] Thereafter, it is concluded in step S307 whether or not the currently set T3 retransmission timer value has reached RTO.min(0), which indeed is the case and the state machine moves to the Legacy state.
[0104] Advantageously, with the embodiment constituting the Stepdown state, the controlling of the timeout value RTO.min for the retransmission timer T3 will allow a dynamical and carefully controlled decrease of the timeout value of the timer T3 to avoid too slow retransmission.
[0105] Further, for each RTT measurement being available (i.e. as long as timeout does not occur), the set observation window timer T0w may be decreased as shown in step S305. For instance, the set observation window timer T0w is decreased by the last measured RTT value. As a result, the set observation window timer T0w will continuously decrease with each available RTT measurement.
[0106] If a virtual timeout occurs during the Stepdown state, the observation window timer T0w may be restarted. Hence, any virtual timeout occurring during the Stepdown state will have the effect that a decrease of the currently computed RTO.min is delayed. Advantageously, since a virtual timeout indicates that the measured RTT is becoming greater and thus approaches the currently computed RTO.min, it is ensured that the currently computed RTO.min is not decreased too fast.
[0107] As soon as the initially set RTO.min—i.e. RTO.min(0)—is reached, the state machine moves from the Stepdown state to the Legacy state where RTO again is updated according equation (1), in line with RFC 4960. With reference to
[0108] With reference to
[0109] The aspects of the present disclosure have mainly been described above with reference to a few embodiments and examples thereof. However, as is readily appreciated by a person skilled in the art, other embodiments than the ones disclosed above are equally possible within the scope of the disclosure, as defined by the appended patent claims.