A method of handling a data packet stream at different communication protocol layer levels of a communication protocol layer stack of an umts communication device is provided. The method comprises: receiving a data packet stream at the communication device; determining whether, in case of a loss of a data packet of the data packet stream, it is possible to retransmit the lost data packet to the communication device; and immediately transmitting data packets of the data packet stream succeeding the lost data packet from a mac protocol layer level to a rlc protocol layer level if it is determined that the lost data packet cannot be retransmitted to the communication device, and otherwise storing data packets of the data packet stream succeeding the lost data packet for a third period of time at the mac protocol layer level, which third period of time is longer than the second time period.
|
1. A method of handling a data packet stream at different communication protocol layer levels of a communication protocol layer stack of an universal mobile telecommunications system (umts) communication device, the communication protocol layer stack comprising a medium access control (mac) protocol layer and a radio link control (rlc) protocol layer, the method comprising:
receiving the data packet stream at the umts communication device;
determining whether, in the event of a loss of a data packet of the data packet stream, the lost data packet can be retransmitted to the umts communication device; and
transmitting data packets of the data packet stream succeeding the lost data packet from the mac protocol layer level to the rlc protocol layer level such that a first time period between reception of a succeeding data packet at the mac protocol layer level and reception of the data packet at the rlc protocol layer level is less than a second time period between two succeeding data packets at the mac protocol layer if it is determined that the lost data packet cannot be retransmitted to the umts communication device, otherwise storing data packets of the data packet stream succeeding the lost data packet for a third period of time at the mac protocol layer level, wherein the third period of time is longer than the second time period.
12. A non-transitory computer-readable recording medium comprising stored thereupon a computer program, the computer program comprising program code portions that, when run on an universal mobile telecommunications system (umts) communication device adapted to handle a data packet stream at different communication protocol layer levels of a communication protocol layer stack, the communication protocol layer stack comprising a medium access control (mac) protocol layer and a radio link control (rlc) protocol layer, cause the umts communication device to:
receive the data packet stream at the umts communication device;
determine whether, in the event of a loss of a data packet of the data packet stream, the lost data packet can be retransmitted to the umts communication device; and
transmit data packets of the data packet stream succeeding the lost data packet from the mac protocol layer level to the rlc protocol layer level such that a first time period between reception of a succeeding data packet at the mac protocol layer level and reception of the data packet at the rlc protocol layer level is less than a second time period between two succeeding data packets at the mac protocol layer if it is determined that the lost data packet cannot be retransmitted to the umts communication device, otherwise storing data packets of the data packet stream succeeding the lost data packet for a third period of time at the mac protocol layer level, wherein the third period of time is longer than the second time period.
13. An universal mobile telecommunications system (umts) communication device comprising a communication protocol layer stack adapted to handle a data packet stream sent to the umts communication device at different communication protocol layer levels, the communication protocol layer stack comprising a medium access control (mac) protocol layer and a radio link control (rlc) protocol layer, the umts communication device comprising:
a receiving circuit adapted to receive a stream of data packets sent to the umts communication device;
a determining circuit coupled to the receiving circuit and adapted to determine whether, in case of a loss of a data packet of the data packet stream the lost data packet can be retransmitted to the umts communication device, wherein the determining circuit determines that the lost data packet can be retransmitted to the umts communication device if there is a gap in sequence numbers of data packets of the data packet stream at the mac protocol layer level, however no gap in sequence numbers of the data packets of the data packet stream at the Iub Frame protocol (FP) protocol layer level;
the communication protocol layer stack being adapted to transmit data packets of the data packet stream succeeding the lost data packet from the mac protocol layer level to the rlc protocol layer level such that a first time period between reception of a succeeding data packet at the mac protocol layer level and reception of the data packet at the rlc protocol layer level is less than a second time period between two succeeding data packets at the mac protocol layer if it is determined by the determining circuit that the lost data packet cannot be retransmitted to the umts communication device, otherwise to store data packets of the data packet stream succeeding the lost data packet for a third period of time at the mac protocol layer level, wherein the third period of time is longer than the second time period.
2. The method of
3. The method of
4. The method of
5. The method of
determining, after having determined that the lost data packet cannot be retransmitted, whether a data packet immediately succeeding the lost data packet includes only a rlc STATUS message;
waiting, if the data packet immediately succeeding the lost data packet only includes a rlc STATUS message, until a data packet including rlc payload data is received at the umts communication device; and
triggering a congestion action regarding the lost data packet after having received the data packet including the rlc payload data.
6. The method of
7. The method of
8. The method of
determining, after having determined that the lost data packet cannot be retransmitted, whether currently a retransmission process of a second lost data packet is being carried out, wherein the second lost data packet can be retransmitted to the umts communication device;
waiting, if it is determined that currently the retransmission process of the second lost data packet is being carried out, until the retransmission process of the second lost data packet has been finished or terminated; and
triggering a congestion action regarding the lost data packet which cannot be retransmitted after having finished or terminated the retransmission process of the second lost data packet.
9. The method of
10. The method of
|
This application claims the benefit of and priority to European Application Serial No. 12005088.5, filed 10 Jul. 2012. The entire contents of said European Application are incorporated herein by reference.
The present disclosure relates to a method of handling a data packet stream at different communication protocol layer levels of a communication protocol layer stack of an UMTS communication device. Further, the invention relates to an UMTS communication device.
Wireless communications networks developed according to the 3rd-Generation Partnership Project (3GPP) specifications for the Universal Mobile Telecommunications System (UMTS) are known and have been deployed. Examples include Wideband Code Division Multiple Access (“WCDMA”) UMTS communication networks, which usually comprise a plurality of Radio Network Controllers (“RNC”), each of the Radio Network Controllers being connected to a plurality of base stations (radio transceivers), also called Node Bs, via a corresponding Transport Network (“TN”). The Radio Network Controllers are connected with each other via a core network. The Node Bs communicate wirelessly with communication devices (also called User Equipment (“UE”)).
In an UMTS communication network, congestion events often occur. Congestion events are, for example, a loss of a data packet or a delay of a data packet sent from a first component of the UMTS communication network to a second component of the UMTS communication network. Congestion events must be resolved in order to ensure a high performance of the UMTS communication network.
Accordingly, is desirable to improve the efficiency of UMTS communication networks or other communication networks having similar functionality with respect to handling congestion events.
According to some embodiments of the present invention, a method of handling a data packet stream at different communication protocol layer levels of a communication protocol layer stack of an UMTS communication device is provided. The communication protocol layer stack comprises a Medium Access Control (“MAC”) protocol layer and a Radio Link Control (“RLC”) protocol layer. The method comprises receiving a data packet stream at the communication device. In the event of a loss of a data packet of the data packet stream, it is determined whether it is possible to retransmit the lost data packet to the communication device. If it is determined that the lost data packet cannot be retransmitted to the communication device, data packets of the data packet stream succeeding the lost data packet are immediately, upon receipt, transmitted from the MAC protocol layer level to a RLC protocol layer level. Otherwise, if it is determined that the lost data packet can be retransmitted to the communication device, the data packets succeeding the lost data packet of the data packet stream are stored for a predetermined period of time at the MAC protocol layer level, and then all data packets stored in the meantime are transmitted from the MAC protocol layer level to the RLC protocol layer level.
In other words, in the event of a data packet loss, it is determined whether it is possible to retransmit, i.e., to again receive the lost data packet. If this is not possible, then initiating and waiting for retransmission of the lost data packet, as implemented in current solutions, does not make any sense. As a consequence, if retransmission is not possible, such a waiting process is skipped. Skipping the waiting process means that all data packets of the data packet stream succeeding the lost data packet are immediately transmitted from the MAC protocol layer level to a RLC protocol layer level, as soon as they are received at the MAC protocol layer level. In contrast, in current solutions, all data packets of the data packet stream succeeding the lost data packet are stored at the MAC protocol layer level (e.g., in a reordering buffer of the MAC protocol layer) during a predetermined period of time, the start of which is triggered by the detection of the loss of the data packet (congestion event). By using the presently disclosed techniques, the speed of forwarding of the data packets from the MAC protocol layer level to the RLC protocol layer level can be increased, i.e., the efficiency of handling congestion events is increased.
In the context of aspects of the present invention, “immediately” transmitting a data packet from the MAC protocol layer level to the RLC protocol layer level means that the time period between reception of the data packet at the MAC protocol layer level and reception of the data packet at the RLC protocol layer level is less than the time period between reception of two succeeding data packets at the MAC protocol layer.
In order to determine whether a lost data packet can be retransmitted to the communication device, the cause or the area of the data loss may be examined. For example, if it is determined that the data packet has been lost over a Transport Network TN (“TN loss”), i.e., between a RNC and a Node B, then it may be decided that the lost data packet cannot be retransmitted to the communication device since, in current UMTS solutions, no mechanism for retransmission is available for TN loss. In contrast, for example, if it is determined that the data packet has been lost over an Uu interface (“Uu loss”), i.e., between a Node B and a UE, then it may be decided that the lost data packet can be retransmitted to the communication device since, in current UMTS solutions, a mechanism for retransmission is available for Uu loss.
To determine whether the data packet has been lost over a Transport Network (TN loss), it may be determined whether there is a gap in sequence numbers of data packets of the data packet stream at the MAC protocol layer level (i.e., a gap in sequence numbers “TSN”), and whether there is a gap in sequence numbers of the data packets of the data packet stream at a Tub Frame Protocol (FP) protocol layer level of the communication protocol layer stack. If these two conditions are fulfilled, there is a data packet loss over the Transport Network TN (TN loss). An advantage of this approach is that no additional functionality is needed since these sequence numbers are available in UMTS standard communication mechanisms.
In order to determine whether the data packet has been lost over a Uu interface, it may be determined whether there is a gap in sequence numbers of data packets of the data packet stream at the MAC protocol layer level, and whether there is not a gap in sequence numbers of the data packets of the data packet stream at the Iub FP protocol layer level. If these two conditions are fulfilled, there is a data packet loss over the Uu interface (Uu loss).
Congestion events (e.g., a data packet loss) and congestion actions (e.g., the decision to immediately forward received data packets of the data packet stream succeeding the lost data packet from the MAC protocol layer to the RLC protocol layer) related to the UMTS communication device may be monitored/controlled by an Active Queue Management (AQM)-based control mechanism, in particular by an Enhanced UpLink (EUL) AQM-based control mechanism provided within the UMTS communication device. The embodiments described above and below are particularly advantageous if AQM-based control mechanisms like EUL AQM-based control mechanisms are used.
In the event of determining that a lost data packet cannot be retransmitted (e.g., in case of a TN loss), it may be determined whether a data packet immediately succeeding the lost data packet includes only a RLC STATUS message. In this case, it may be waited until a data packet including RLC payload data (i.e., a “RLC DATA PDU” data packet) is received at the UMTS communication device before triggering a congestion action regarding the lost data packet. Determining whether a data packet immediately succeeding the lost data packet includes only a RLC STATUS message may be done at the MAC layer level. Determining whether a data packet including RLC payload data is received also may be done at the MAC layer level. In this scenario, a possible congestion action is to skip the lost data packet at the RLC layer level, i.e., to inform the RLC protocol layer that the RLC protocol layer does not have to wait for the lost data packet. In this way, it can be ensured that the skipping process at the RLC layer level works properly: In the event that a data packet immediately succeeding the lost data packet includes only a RLC STATUS message, current UMTS mechanisms may have problems in the skipping process at the RLC layer level, leading to an unnecessary waste of computational resources.
In the event of determining that a lost data packet cannot be retransmitted (e.g., in the event of a TN loss), it may be determined whether currently a retransmission process of a lost data packet which can be retransmitted to the communication device is already carried out, i.e., is ongoing. Should this be the case, it may be waited until the retransmission process has been finished or terminated before a congestion action is triggered with respect to the lost data packet that cannot be retransmitted. In this way, it can be prevented that, in the event of an ongoing retransmission process during a data packet loss, a plurality of data packets succeeding the lost data packet are lost when transmitting them from the MAC protocol layer to the RLC protocol layer, which would be the case due to current UMTS mechanisms. This approach in particular works for the case where the retransmission process is a Hybrid Automatic Repeat Request (“HARQ”) retransmission process. The congestion action may for example be to skip the lost data packet which cannot be retransmitted at the RLC layer level.
The MAC layer may for example be a MAC-es layer. The UMTS device may for example be a RNC device.
Embodiments of the present invention include a computer program product comprising program code portions for performing the steps of any one of the embodiments of the present invention when the computer program product is run on a computer system. The computer program product may be stored on a non-transitory computer-readable recording medium.
According to some embodiments of the invention, an UMTS communication device is provided, comprising a communication protocol layer stack adapted to handle a data packet stream sent to the communication device at different communication protocol layer levels. The communication protocol layer stack comprises a MAC protocol layer and a RLC protocol layer. The communication device further comprises a receiving circuit adapted to receive a stream of data packets sent to the communication device, and a determining circuit coupled to the receiving circuit and adapted to determine whether, at a MAC protocol layer level, in case of a loss of a data packet of the data packet stream it is possible to retransmit the lost data packet to the communication device. The communication protocol layer stack is adapted to immediately transmit data packets of the data packet stream succeeding the lost data packet from the MAC protocol layer level to a RLC protocol layer level if it is determined by the determining circuit that the lost data packet cannot be retransmitted to the communication device.
The communication protocol layer stack may be further adapted to store data packets succeeding the lost data packet of the data packet stream for a predetermined period of time at the MAC protocol layer level if it is determined that the lost data packet can be resent to the communication device, and to then transmit all stored data packets from the MAC protocol layer level to the RLC protocol layer level.
In the following, the present disclosure will be described in more detail with reference to exemplary embodiments illustrated in the drawings, wherein:
In the following description, for purposes of explanation and not limitation, specific details are set forth, such as specific device and system configurations and specific methods, steps and functions, in order to provide a thorough understanding of the technique presented herein. It will be appreciated that this technique may be practiced in other embodiments that depart from these specific details.
Those skilled in the art will further appreciate that the methods, steps and functions described herein may be implemented using individual hardware circuitry, using software functioning in conjunction with a programmed microprocessor or general purpose computer, using one or more Application Specific Integrated Circuits (ASICs), one or more DSPs and/or one or more Field Programmable Gate Arrays (FPGAs). It will also be appreciated that the technique disclosed herein may be embodied in a processor and a memory coupled to the processor, wherein the memory stores one or more programs that perform the methods, steps and functions de-scribed herein when executed by the processor.
With respect to the following embodiments, the same reference numerals are used to denote the same or similar components.
In WCDMA (Wideband Code Division Multiple Access) Radio Access Networks, the RNC and the Node-Bs are connected via a Transport Network (TN). In some cases, the Transport Network is a potential bottleneck, i.e., prone to TN congestion events. Without handling TN congestion events, application level throughput and delay degradation may occur. Thus, the bottleneck in the Transport Network can cause unwanted and unnecessary application level degradation. Thus, TN congestion control is necessary.
TN congestion control generally comprises a TN congestion event detection process and a congestion action process. The TN congestion event can be detected by observing a data packet flow between a RNC and Node-Bs, for example. For instance, a TN loss can be considered as a TN congestion event, which can be identified based on a gap in Tub FP sequence numbers, or based on time-stamps added to Tub FP data packets (frames). However, a delay of data packets also can be considered as a TN congestion event. The TN congestion event may also be detected by the TN itself and signaled to a RNC or to Radio Access Network (“RAN”) nodes by using e.g., an Explicit Congestion Notification (“ECN”) mechanism. Once the TN congestion event has been detected, a congestion action has to be initiated in order to resolve it.
To resolve congestion caused by the TN congestion event, the load of the congested part of the TN may be reduced, i.e., the final result of the action may be a reduced bitrate. For example, when the TCP protocol layer detects that a TCP segment (data packet) is missing (congestion event), then the TCP protocol layer may reduce (as a congestion action) a congestion window (“cwnd”), resulting in that the bitrate of the TCP protocol layer flow will be smaller (consequence of the congestion action).
The TN congestion action may be a rate-based congestion control that reacts to the congestion event directly with bitrate reduction to resolve the congestion. After having resolved the congestion, the bitrate may be gradually increased again. The bitrate may for example be modified by sending Absolute or Relative Grants to the UE. For this purpose, a shaper may be used at a transmitter side, i.e., at the UE.
According to embodiments of the present invention, application level TCP may be reused to handle TN congestion. That is, the TCP protocol layer of the communication protocol layer stack may decrease the bitrate of the TCP flow by modifying e.g., the congestion window (cwnd) TCP internal variable. The details of the congestion action may depend on the TCP version used.
As already indicated above, TN congestion may be detected based on gaps in sequence numbers of the corresponding protocol layers. After having detected a TN congestion event, the TCP protocol layer may be informed about the congestion event, in order to trigger the TCP protocol layer to carry out the congestion action (e.g., reducing the cwnd). “Informing” the TCP protocol layer of the congestion event may be done in an active way or in a passive way. Passive informing may mean that, in case that the RLC protocol layer does not do retransmission for a lost packet over TN (i.e., the RLC protocol layer “skips” the lost data packet), which results in a gap of RLC sequence numbers, the TPC protocol layer itself recognizes a resulting gap in TCP sequence numbers (i.e., the TPC protocol layer will see that an IP packet is missing).
Embodiments of the present invention can in particular prevent, in the case of using EUL, unwanted interaction between MAC-es and RLC protocol layers, which could cause performance degradation.
In the scope of the present invention, the term “data packet loss” includes both the case that a data packet which has been emitted from the UE will never arrive at the RNC, and the case that a data packet which has been emitted from the UE arrives at the RNC, however with delay. In the latter case, time-out mechanisms may be used in order to determine whether a delayed data packet is to be handled as a delayed data packet or as a lost data packet. For example, data packets arriving at the RNC with a delay larger than a particular threshold value may be regarded as time out data packets and thus be handled as lost data packets.
Using the communication device 10, the following method of handling a data packet stream 22 at different communication protocol layer levels of the communication protocol layer stack 12 may be carried out, as shown in
In the scenario shown in
The mechanism shown in
In order to avoid the drawback of the mechanism shown in
In the scenario shown in
In order to determine whether a TN loss has occurred, the following approach may be used: It is determined at time instance t1 that the Transmission Sequence Number (“TSN”) of data packet P1 is 1. At time instance t3, it is determined that that the TSN of data packet P3 is 3. Thus, it is determined that no data packet having the TSN=2 has been received. Thus, a gap in the TSNs in the data packets of the data packet stream is detected at the MAC protocol layer level. In addition, at time instance t3, it is determined whether there is a gap in sequence numbers of the data packets of the data packet stream at a Iub FP protocol layer level of the communication protocol layer stack (the Iub FP protocol layer is located below the MAC protocol layer), i.e., whether there is a gap in gap in Iub FP data packet sequence numbers. If these two conditions are fulfilled, a TN loss has occurred, i.e., data packet P2 has been lost over the Transport Network.
In the scenario shown in
Since data packet P22′ only comprises a RLC STATUS message, i.e., does not comprise a RLC DATA PDU, data packet P22′ also does not have a RLC Sequence Number. As a consequence, an ABCC mechanism responsible for carrying out the congestion action is not able to detect a gap in RLC Sequence Numbers and thus no gap in RLC DATA PDUs. However, in order to carry out the congestion action, the ABCC mechanism needs to detect a gap in RLC DATA PDUs. Thus, the following scenario occurs: as soon as the MAC protocol layer 14 detects a loss of a data packet (at time instance t22), it instructs the RLC protocol layer 16, i.e., the ABCC mechanism, to carry out a congestion action, e.g., to skip the missing data packet. However, the ABCC mechanism is not able to carry out the congestion action since there is no RLC DATA PDU to skip at time instance t22 (due to the lack of a gap in sequence numbers of RLC DATA PDUs at the RLC protocol layer level at time instance t22). That is, even if a congestion action is demanded by the MAC protocol layer 14, it cannot be executed at the RLC protocol layer 16. Thus, computational resources are unnecessarily wasted (by trying to skip a RLC DATA PDU). This is particularly true if the congestion control is an AQM-based congestion control. On the other hand, at time instance t23, data packet P23′ is received at the RLC protocol layer level. At this time instance, the RLC protocol layer 16 (the ABCC mechanism) is able to detect the gap in the RLC Sequence Numbers since data packet P23′ comprises a RLC DATA PDU which makes it possible to trigger the congestion event.
In the scenario shown in
In other words, when a MAC-es frame right after a frame lost over TN contains only RLC ACK, then an AQM-based congestion control is not able to take real congestion action (i.e., it tries to drop an application level IP packet, but there is no available packet to drop; as a consequence, computational resource are unnecessarily wasted while trying to drop the data packet). Since the congestion action cannot be carried out, there is unnecessary RLC AM retransmission (and in this way increased delay), see
This disadvantage can be avoided if the MAC protocol layer 14 waits for the next Iub FP data frame, and demands congestion action upon reception of the next Iub FP data frame instead of demanding immediate congestion action, i.e., if the MAC protocol layer 14 waits until the arrival of the next MAC-es frame containing RLC DATA PDU, see
When determining that a lost data packet cannot be retransmitted (e.g., in case of a TN loss), there may be an already ongoing retransmission process of a lost data packet which can be retransmitted to the communication device. Should this be the case, the following scenario may happen which is illustrated in
In order to avoid this disadvantage, the following approach can be chosen, as shown in
In all embodiments of the present invention, the MAC layer may for instance be a MAC-es layer. The UMTS device may for instance be a Radio Network Controller (“RNC”) device.
The approaches shown in
In
Notably, modifications and other embodiments of the disclosed invention(s) will come to mind to one skilled in the art having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understood that the invention(s) is/are not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of this disclosure. Although specific terms may be employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.
Nádas, Szilveszter, Rácz, Sándor
Patent | Priority | Assignee | Title |
11233716, | Mar 28 2018 | ARLO TECHNOLOGIES, INC | System for real-time monitoring with backward error correction |
Patent | Priority | Assignee | Title |
20020001287, | |||
20020191594, | |||
20060251007, | |||
20080209297, | |||
20080298332, | |||
20120099510, | |||
20140301223, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jul 09 2013 | Telefonaktiebolaget L M Ericsson (publ) | (assignment on the face of the patent) | / | |||
Jul 26 2013 | NADAS, SZILVESZTER | TELEFONAKTIEBOLAGET L M ERICSSON PUBL | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 031008 | /0942 | |
Jul 26 2013 | RACZ, SANDOR | TELEFONAKTIEBOLAGET L M ERICSSON PUBL | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 031008 | /0942 |
Date | Maintenance Fee Events |
Mar 15 2019 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Mar 15 2023 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Date | Maintenance Schedule |
Sep 15 2018 | 4 years fee payment window open |
Mar 15 2019 | 6 months grace period start (w surcharge) |
Sep 15 2019 | patent expiry (for year 4) |
Sep 15 2021 | 2 years to revive unintentionally abandoned end. (for year 4) |
Sep 15 2022 | 8 years fee payment window open |
Mar 15 2023 | 6 months grace period start (w surcharge) |
Sep 15 2023 | patent expiry (for year 8) |
Sep 15 2025 | 2 years to revive unintentionally abandoned end. (for year 8) |
Sep 15 2026 | 12 years fee payment window open |
Mar 15 2027 | 6 months grace period start (w surcharge) |
Sep 15 2027 | patent expiry (for year 12) |
Sep 15 2029 | 2 years to revive unintentionally abandoned end. (for year 12) |