This application is related to wireless communications.
The main services and functions of the RLC layer/entity(s) 120A and 120B include:
The E-UTRAN RLC will perform SDU discard based on a notification from the PDCP layer/entity(s) above it, as opposed to having the RLC have its own SDU timer-based discard mechanism, like in the UTRAN RLC, e.g., Release 6 (R6).
Erroneous Sequence Number
Upon receiving a “status PDU” that has an erroneous sequence number (SN), the RLC 120 will initiate the RLC re-establishment procedure.
E-UTRAN may support an RLC re-establishment procedure. The phrases “RLC re-establishment” and “RLC reset” are interchangeable.
The RLC re-establishment procedure may be signaled via RLC protocol messages or via radio resource control (RRC) messages.
Currently, an inter-eNodeB handover is used as a trigger for re-establishing the RLC in E-UTRAN. The UTRAN RLC reset triggers include:
The UTRAN RLC provides a ‘move receiving window’ (MRW) procedure which is a signal sent by the sending RLC entity to request the receiving RLC entity to move its reception window, and optionally to indicate the set of discarded RLC SDUs, as a result of an RLC SDU discard in the sending RLC entity.
The ACK_SN field 215 shown in
As shown in
The SOstart fields 235 (together with the SOend fields 240) indicate the portion of the AMD PDU with an SN that is equal to the NACK_SN field 225, (for which the SOstart field 235 is related to), that has been detected as lost at the receiving side of the AM RLC entity. Specifically, the SOstart fields 235 indicate the position of the first byte of the portion of the AMD PDU in bytes within the data field of the AMD PDU.
The SOend fields 240 (together with the SOstart fields 235) indicate the portion of the AMD PDU with an SN that is equal to the NACK_SN field 225, (for which the SOend field 240 is related to), that has been detected as lost at the receiving side of the AM RLC entity. Specifically, the SOend fields 240 indicate the position of the last byte of the portion of the AMD PDU in bytes within the data field of the AMD PDU.
The RLC state variables currently agreed for E-UTRAN include:
The transmitting side of each AM RLC entity shall maintain the following state variables:
1) VT(A)—Acknowledgement state variable
This state variable holds the value of the SN of the next AMD PDU for which a positive acknowledgment is to be received in-sequence, and it serves as the lower edge of the transmitting window and the status receiving window). It is initially set to 0, and is updated whenever the AM RLC entity receives a positive acknowledgment for an AMD PDU with SN=VT(A).
2) VT(MS)—Maximum send state variable
This state variable equals VT(A)+AM_Window Size, and it serves as the higher edge of the transmitting window.
3) VT(S)—Send state variable
This state variable holds the value of the SN to be assigned for the next newly generated AMD PDU, and it serves as the higher edge of the status receiving window. It is initially set to 0, and is updated whenever the AM RLC entity delivers an AMD PDU with SN=VT(S).
The RLC supports a polling mechanism and is capable of repeating the poll after the expiration of a timer named ‘T_poll_retransmit’ as described below:
The E-UTRAN RLC should be able to first detect potential RLC protocol error cases, (e.g., due to unforeseen events). Therefore, several enhanced RLC protocol error detection mechanisms are desired. Furthermore, besides the inter-eNodeB handover trigger, additional triggers for initiating RLC re-establishment are needed to improve overall RLC and/or E-UTRAN operations.
This application is related to methods and apparatus for detecting errors or events in a WTRU and/or a base station comprising an RRC layer, a PDCP layer, an RLC layer, a MAC layer, and a PHY layer. In addition, the RRC layer may initiate an RLC re-establishment procedure upon detecting an error, or upon receiving an indication of an error or an event detected by any one of the RRC, PDCP, RLC, MAC and PHY layers.
A more detailed understanding may be had from the following description, given by way of example and to be understood in conjunction with the accompanying drawings wherein:
When referred to hereafter, the terminology “wireless transmit/receive unit (WTRU)” includes but is not limited to a user equipment (UE), a mobile station, a fixed or mobile subscriber unit, a pager, a cellular telephone, a personal digital assistant (PDA), a computer, or any other type of user device capable of operating in a wireless environment.
When referred to hereafter, the terminology “base station” includes but is not limited to a Node-B, an evolved or E-UTRAN Node-B (eNodeB), a site controller, an access point (AP), or any other type of interfacing device capable of operating in a wireless environment.
When referred to hereafter, the terminology “RLC re-establishment” is interchangeable with the terminology “RLC reset”.
The following mechanisms and conditions for detecting RLC protocol errors are presented.
Any status PDU having an “erroneous sequence number” is one that contains an ACK_SN which is outside the interval VT(A)<=ACK_SN<VT(S), or a NACK_SN which is outside the interval VT(A)<=NACK_SN<VT(S). Other variants may tweak the inequality signs, (e.g., use less than or equal, as an example), or add or subtract 1 from some of the quantities, and the like.
If an AM RLC entity receives any status PDU that includes an “erroneous Sequence Number”, it shall discard the status PDU and/or initiate the RLC re-establishment procedure.
Any status PDU having an “erroneous data range” or “erroneous segment range” is one that contains an SOstart that is greater than or equal to the length of the referenced packet, or an SOend that is greater than or equal to the length of the referenced packet, or (SOend—SOstart) is greater than or equal to the length of the referenced packet.
The referenced packet is the packet specified by the NACK_SN field. Basically, in this condition, the AM RLC entity will verify that the segment specified via the SOstart and SOend fields is a valid segment that lies within the total length of the referenced packet.
If an AM RLC entity receives any status PDU that includes an “erroneous segment range”, the status PDU is discarded and/or the RLC re-establishment procedure is initiated.
In earlier UTRAN systems, upon receiving a status PDU indicating a different status for a particular AMD PDU, the status PDU was discarded. Due to the hybrid automatic repeat request (HARQ) assisted ARQ feature of E-UTRAN, (e.g., a local HARQ NACK can be used to trigger ARQ retransmissions), it is possible that the status indicated by a received status PDU will be different than that indicated by the HARQ assistance feature/function.
Thus, when there is a conflict between the status indicated by a received status PDU and the status indicated by the HARQ assistance feature/function, the status PDU may be accepted, (i.e., not discarded), in this case, (i.e., it will supersede HARQ status). However, when there is a conflict between the status indicated by a received status PDU and the status indicated by another previously received status PDU, the new status PDU may be discarded.
A stale transmit window can be detected when VT(A) is not moving, despite repeated (re)transmissions of the SN that has VT(A). In order to detect stale transmit window (stale VT(A) condition), several procedures may be used.
In one example, the number of (re)transmissions may be counted for the PDU whose SN is represented by VT(A). Counting may start either from the moment that the PDU SN is the same as VT(A), or earlier.
Upon having the counter reach a certain threshold, while VT(A) remains stale, (i.e., has not changed), the AM RLC entity may either initiate the RLC re-establishment procedure, or initiate the RLC MRW procedure.
In another example, a timer or a counter may be utilized to detect how long VT(A) remains stale. Such timer or counter can be started upon updating VT(A). There can be a variety of ways in which such timer or counter can be updated. For example, any of the following conditions or their combinations may be used:
Upon the expiration of the timer, or having the counter reach a certain threshold, while VT(A) remains stale (i.e. has not changed), the AM RLC entity shall either initiate the RLC re-establishment procedure. Alternatively, the RLC MRW procedure may be initiated.
The number of repeated polling failures may be counted, for example via counting the number of times the poll retransmit timer expired repeatedly, and is used as a criterion for detecting RLC errors, and potentially triggering a re-establishment. A counter C_poll_retransmit may be used to count the number of polling retransmissions. The initial value of this counter is 0. The algorithm operates by incrementing the counter C_poll_retransmit if T_poll_retransmit expires, (or alternatively, if/when repeating/retransmitting the poll). If C_poll_retransmit reaches a threshold, (note: the threshold could be configurable by RRC), the AM RLC entity shall initiate the RLC re-establishment procedure. The following is an exemplary illustration of how overall poll retransmit operations can operate:
The transmitting side of an AM RLC entity shall:
Other variations of the above procedure are possible, but effectively, repeated polling failures are counted and used as a criterion to trigger RLC re-establishment.
Additional triggers may be used to start or initiate the RLC reset or re-establishment procedure, in addition to those previously described.
Currently, only the inter-eNodeB handover is used as a trigger for re-establishing the RLC in E-UTRAN. In addition to inter-eNB handover, any of the following triggers may be used to initiate the RLC re-establishment) procedure:
Furthermore, the RRC may utilize other triggers or events to initiate the RLC re-establishment procedure, in addition to the inter eNodeB handover trigger; for example, the RRC may send an indication to the RLC sublayer instructing it to perform re-establishment when at least one of the following occurs:
As shown in
The error or event may be an erroneous segment range, an excessive number of polling retransmissions or polling failures, a PDCP re-establishment or an error or event resulting from or leading to a PDCP re-establishment, a MAC reset or an error or event resulting from or leading to a MAC reset, a radio link failure or an error or event resulting from or leading to a radio link failure, or an RLC protocol error or an error or event resulting from or leading to an RLC protocol error.
The transmitting side 300 may also include a counter (not shown) that may reside in the RLC layer/entity 315, or anywhere else in the transmitting side 300. The RLC layer/entity 315 may be configured to transmit an indication that a status PDU is required and increment the counter if the status PDU is not received within a predetermined time interval. An RLC re-establishment procedure is initiated if a value indicated by the counter is equal to or greater than a predetermined threshold. A polling field of an RLC data PDU field may include the indication that a status PDU is required.
The RLC layer/entity 315 may be configured to transmit a first indication indicating that a first status PDU is required. If the first status PDU is not received within a predetermined time interval, the counter is incremented and a second indication is transmitted that conveys that a second status PDU is required. An RLC re-establishment procedure is initiated if a value indicated by the counter is equal to or greater than a predetermined threshold. A polling field of an RLC data PDU field may include the first indication that the first status PDU is required. A polling field of an RLC data PDU field may include the second indication that the second status PDU is required.
In the transmitting side 300, a status PDU may be received that includes a negative acknowledgement sequence number (NACK_SN) field, a segment offset start (SOstart) field and a segment offset end (SOend) field. The NACK_SN field indicates a sequence number of a data PDU that was not fully received.
In one procedure, a determination is made as to whether the status PDU has an erroneous segment range by comparing the value of the SOstart field to a length of the data PDU. An RLC re-establishment procedure is initiated and/or the status PDU is discarded if the value of the SOstart field is equal to or greater than the length of the data PDU.
In another procedure, a determination is made as to whether the status PDU has an erroneous segment range by comparing the value of the SOend field to a length of the data PDU. An RLC re-establishment procedure is initiated and/or the status PDU is discarded if the value of the SOend field is equal to or greater than the length of the data PDU.
In yet another procedure, a determination is made as to whether the status PDU has an erroneous segment range by comparing the difference between the SOend and SOstart fields to a length of the data PDU. An RLC re-establishment procedure if the value of the difference between the SOend and SOstart fields is equal to or greater than the length of the data PDU.
As shown in
The following methods of initiating RLC re-establishment procedures may be implemented by either the receiving side 300 or the transmitting side 400. A
On one method, a PDCP re-establishment procedure is initiated, and an RLC re-establishment procedure is initiated after the PDCP re-establishment procedure is initiated.
In another method, a MAC reset is initiated, and an RLC re-establishment procedure is initiated after the MAC reset is initiated.
In yet another method, a radio link failure is detected, and an RLC re-establishment procedure is initiated subsequent to the detection of the radio link failure.
In yet another method, at least one RLC protocol layer is detected, and an RLC re-establishment procedure is initiated subsequent to the detection of the at least one RLC protocol layer.
Although the features and elements are described in the embodiments in particular combinations, each feature or element can be used alone without the other features and elements of the embodiments or in various combinations with or without other features and elements. The methods disclosed may be implemented in a computer program, software, or firmware tangibly embodied in a computer-readable storage medium for execution by a general purpose computer or a processor. Examples of computer-readable storage mediums include a read only memory (ROM), a random access memory (RAM), a register, cache memory, semiconductor memory devices, magnetic media such as internal hard disks and removable disks, magneto-optical media, and optical media such as CD-ROM disks, and digital versatile disks (DVDs).
Suitable processors include, by way of example, a general purpose processor, a special purpose processor, a conventional processor, a digital signal processor (DSP), a plurality of microprocessors, one or more microprocessors in association with a DSP core, a controller, a microcontroller, Application Specific Integrated Circuits (ASICs), Field Programmable Gate Arrays (FPGAs) circuits, any other type of integrated circuit (IC), and/or a state machine.
A processor in association with software may be used to implement a radio frequency transceiver for use in a wireless transmit receive unit (WTRU), user equipment (UE), terminal, base station, radio network controller (RNC), or any host computer. The WTRU may be used in conjunction with modules, implemented in hardware and/or software, such as a camera, a video camera module, a videophone, a speakerphone, a vibration device, a speaker, a microphone, a television transceiver, a hands free headset, a keyboard, a Bluetooth® module, a frequency modulated (FM) radio unit, a liquid crystal display (LCD) display unit, an organic light-emitting diode (OLED) display unit, a digital music player, a media player, a video game player module, an Internet browser, and/or any wireless local area network (WLAN) module.
This application claims the benefit of U.S. Provisional Application No. 61/012,813 filed Dec. 11, 2007, which is incorporated by reference as if fully set forth.
Number | Date | Country | |
---|---|---|---|
61012813 | Dec 2007 | US |